{"_id":"@airalogy/aira-core","_rev":"4-793ac610c51d1591709667675785389c","name":"@airalogy/aira-core","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@airalogy/aira-core","version":"0.1.0","keywords":["airalogy","aira","archive","record","protocol"],"license":"Apache-2.0","_id":"@airalogy/aira-core@0.1.0","maintainers":[{"name":"yangzijie","email":"yangzijie@westlake.edu.cn"}],"homepage":"https://github.com/airalogy/airalogy/tree/main/packages/npm/aira-core#readme","bugs":{"url":"https://github.com/airalogy/airalogy/issues"},"dist":{"shasum":"a94478f43c69229e6c9234d9def757749194328a","tarball":"https://registry.npmjs.org/@airalogy/aira-core/-/aira-core-0.1.0.tgz","fileCount":5,"integrity":"sha512-TNiSSTLaaBmcbBpS1ZV/mdyVAa8mQJG3HeqYqnptbaJf/fBrCiGirdNG8XGNm+NgS/YxyCQchR7PtIMi2dMAZA==","signatures":[{"sig":"MEUCICUBAXnoj5LgHJabn56tqmmCcwFJv9DVZYJm3ER72e73AiEA2jFaUXgcvchSF45Fi4JZdNP92rtVRUzXkp81NHpRhmE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43670},"main":"./src/index.ts","type":"module","_from":"file:airalogy-aira-core-0.1.0.tgz","types":"./src/index.ts","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"dev":"vite build --watch","test":"pnpm run build && node --test ./tests/*.test.mjs","build":"vite build && pnpm run build:types","type-check":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist"},"_npmUser":{"name":"yangzijie","email":"yangzijie@westlake.edu.cn"},"_resolved":"/private/var/folders/wd/4mh5q2yn5rsd3mnz9pkk5lr40000gn/T/1cf8e246cebdffa2d4795367d663fdf5/airalogy-aira-core-0.1.0.tgz","_integrity":"sha512-TNiSSTLaaBmcbBpS1ZV/mdyVAa8mQJG3HeqYqnptbaJf/fBrCiGirdNG8XGNm+NgS/YxyCQchR7PtIMi2dMAZA==","repository":{"url":"git+https://github.com/airalogy/airalogy.git","type":"git","directory":"packages/npm/aira-core"},"_npmVersion":"10.8.2","description":"Core parser and validator for Airalogy .aira archives","directories":{},"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.3","typescript":"5.8.3","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/aira-core_0.1.0_1780904248524_0.6316849144033347","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@airalogy/aira-core","version":"0.2.0","keywords":["airalogy","aira","archive","record","protocol"],"license":"Apache-2.0","_id":"@airalogy/aira-core@0.2.0","maintainers":[{"name":"yangzijie","email":"yangzijie@westlake.edu.cn"}],"homepage":"https://github.com/airalogy/airalogy/tree/main/packages/npm/aira-core#readme","bugs":{"url":"https://github.com/airalogy/airalogy/issues"},"dist":{"shasum":"55c170bda48e6c9911dedc3ed7b7602c9fe453ea","tarball":"https://registry.npmjs.org/@airalogy/aira-core/-/aira-core-0.2.0.tgz","fileCount":7,"integrity":"sha512-/A9hWjP68LIU+7G/GeVQoXBjKLC6//wcubnk5z0epIbBv5AApYCov+oJn3MRdiT/VVdbBCbB7O2zXk4kKD2Zzw==","signatures":[{"sig":"MEYCIQCO+2132lhDwIyrwCYNUNX57273j1/1zJxa/wB2Ov25/QIhAOc6XNFs24NKW2482gdhlvjviVm5Np3OeQM1FgMYWagN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@airalogy%2faira-core@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57182},"main":"./src/index.ts","type":"module","_from":"file:airalogy-aira-core-0.2.0.tgz","types":"./src/index.ts","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"dev":"vite build --watch","test":"pnpm run build && node --test ./tests/*.test.mjs","build":"vite build && pnpm run build:types","type-check":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:90600b47-f466-488e-9dda-358359f822f6"}},"_resolved":"/tmp/8afcc9694173867e20928a865c4770c1/airalogy-aira-core-0.2.0.tgz","_integrity":"sha512-/A9hWjP68LIU+7G/GeVQoXBjKLC6//wcubnk5z0epIbBv5AApYCov+oJn3MRdiT/VVdbBCbB7O2zXk4kKD2Zzw==","repository":{"url":"git+https://github.com/airalogy/airalogy.git","type":"git","directory":"packages/npm/aira-core"},"_npmVersion":"11.13.0","description":"Core parser and validator for Airalogy .aira archives","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.3","typescript":"5.8.3","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/aira-core_0.2.0_1781404406209_0.4840052731132669","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@airalogy/aira-core","version":"0.3.0","keywords":["airalogy","aira","archive","record","protocol"],"license":"Apache-2.0","_id":"@airalogy/aira-core@0.3.0","maintainers":[{"name":"yangzijie","email":"yangzijie@westlake.edu.cn"}],"homepage":"https://github.com/airalogy/airalogy/tree/main/packages/npm/aira-core#readme","bugs":{"url":"https://github.com/airalogy/airalogy/issues"},"dist":{"shasum":"301e6b4b522d669f3c63a27a06fac485a9ef6b8a","tarball":"https://registry.npmjs.org/@airalogy/aira-core/-/aira-core-0.3.0.tgz","fileCount":7,"integrity":"sha512-K8oBIm/ZW3KdDrVtYQ8bNnWgZVzw6FmAkgMRY1G0zwukoAtPjb6qDKAvweSZZOiil+2Uw29+s4cBO+4KHflu9Q==","signatures":[{"sig":"MEUCIQDWiD01y87ikh/muNKVzDZ/VVtr9QC0g6sgntHsM9mvVQIgRh6+sZgjlq1LsWufmdRkGv5CMnquiT3nomiNuRym9/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@airalogy%2faira-core@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73318},"main":"./src/index.ts","type":"module","_from":"file:airalogy-aira-core-0.3.0.tgz","types":"./src/index.ts","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"dev":"vite build --watch","test":"pnpm run build && node --test ./tests/*.test.mjs","build":"vite build && pnpm run build:types","type-check":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:90600b47-f466-488e-9dda-358359f822f6"}},"_resolved":"/tmp/bc56f0d104a2453a1b85f7140551be59/airalogy-aira-core-0.3.0.tgz","_integrity":"sha512-K8oBIm/ZW3KdDrVtYQ8bNnWgZVzw6FmAkgMRY1G0zwukoAtPjb6qDKAvweSZZOiil+2Uw29+s4cBO+4KHflu9Q==","repository":{"url":"git+https://github.com/airalogy/airalogy.git","type":"git","directory":"packages/npm/aira-core"},"_npmVersion":"11.13.0","description":"Core parser and validator for Airalogy .aira archives","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.3","typescript":"5.8.3","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/aira-core_0.3.0_1782057917514_0.9648759233008688","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@airalogy/aira-core","type":"module","version":"0.4.0","description":"Core parser and validator for Airalogy .aira archives","license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/airalogy/airalogy.git","directory":"packages/npm/aira-core"},"bugs":{"url":"https://github.com/airalogy/airalogy/issues"},"homepage":"https://github.com/airalogy/airalogy/tree/main/packages/npm/aira-core#readme","keywords":["airalogy","aira","archive","record","protocol"],"exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"main":"./src/index.ts","types":"./src/index.ts","publishConfig":{"access":"public"},"devDependencies":{"@types/node":"^24.3.0","typescript":"5.8.3","vite":"^7.1.3"},"scripts":{"type-check":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist","build":"vite build && pnpm run build:types","dev":"vite build --watch","test":"pnpm run build && node --test ./tests/*.test.mjs"},"_id":"@airalogy/aira-core@0.4.0","_integrity":"sha512-NUudBVxsGKvJAn335kIsT6PxXb0i0Vw1HB6dWjZl90iw0fxJh36EuFUHe2ls3dGcS+55B/0nBkta/nTkSnJbbQ==","_resolved":"/tmp/934007f3389460841becf96b3bd29582/airalogy-aira-core-0.4.0.tgz","_from":"file:airalogy-aira-core-0.4.0.tgz","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-NUudBVxsGKvJAn335kIsT6PxXb0i0Vw1HB6dWjZl90iw0fxJh36EuFUHe2ls3dGcS+55B/0nBkta/nTkSnJbbQ==","shasum":"e6917b0380dac612b925b111202588982d375bb4","tarball":"https://registry.npmjs.org/@airalogy/aira-core/-/aira-core-0.4.0.tgz","fileCount":7,"unpackedSize":77376,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@airalogy%2faira-core@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE52WIcnTI5C3fWa6d46UYR4TTdQ7ue2iLpQfBqilbrnAiEAhAF87PW9BQFR9rnvNUAp2+nY239k5FSoKieu8tgac3U="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:90600b47-f466-488e-9dda-358359f822f6"}},"directories":{},"maintainers":[{"name":"yangzijie","email":"yangzijie@westlake.edu.cn"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aira-core_0.4.0_1782354277942_0.24533049662763462"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-08T07:37:28.320Z","modified":"2026-06-25T02:24:38.401Z","0.1.0":"2026-06-08T07:37:28.665Z","0.2.0":"2026-06-14T02:33:26.397Z","0.3.0":"2026-06-21T16:05:17.660Z","0.4.0":"2026-06-25T02:24:38.131Z"},"bugs":{"url":"https://github.com/airalogy/airalogy/issues"},"license":"Apache-2.0","homepage":"https://github.com/airalogy/airalogy/tree/main/packages/npm/aira-core#readme","keywords":["airalogy","aira","archive","record","protocol"],"repository":{"type":"git","url":"git+https://github.com/airalogy/airalogy.git","directory":"packages/npm/aira-core"},"description":"Core parser and validator for Airalogy .aira archives","maintainers":[{"name":"yangzijie","email":"yangzijie@westlake.edu.cn"}],"readme":"# `@airalogy/aira-core`\n\nCore TypeScript parser and validator for Airalogy `.aira` archives.\n\nIt opens `.aira` files in browser-compatible JavaScript, reads `_airalogy_archive/manifest.json`, lists archive members, loads JSON/text payloads, and validates manifest references, Record payload structure, Record hashes, Protocol file hashes, and offline blob hashes.\n\nIt can also create single-Protocol `.aira` archives in the browser. This is useful for editors that let users attach protocol-local assets such as `files/workflow-diagram.svg` and reference them from AIMD `fig` blocks.\n\nSupported archive kinds are `protocol`, `protocols`, and `records`.\n\nExample archives covering these kinds are available in `examples/aira/`.\n\nThe public manifest schema is available at `schemas/aira/manifest.v1.schema.json`; the public Record schema is available at `schemas/aira/record.v1.schema.json`.\n\n```ts\nimport { openAiraArchive } from '@airalogy/aira-core'\n\nconst archive = await openAiraArchive(file)\nconst summary = archive.summary()\nconst validation = await archive.validate()\nconst manifest = archive.manifest\n```\n\nRead an ordinary ZIP folder bundle when you do not expect an Airalogy manifest:\n\n```ts\nimport { openZipArchive } from '@airalogy/aira-core'\n\nconst zip = await openZipArchive(file)\nconst aimd = await zip.readText('protocol.aimd')\nconst image = await zip.readBytes('files/workflow-diagram.svg')\n```\n\nCreate a Protocol archive with protocol-local figure files:\n\n```ts\nimport { createProtocolAiraArchive } from '@airalogy/aira-core'\n\nconst bytes = await createProtocolAiraArchive({\n  aimd: [\n    '# Figure Protocol',\n    '',\n    '```fig',\n    'id: workflow_diagram',\n    'src: files/workflow-diagram.svg',\n    'title: Workflow Diagram',\n    '```',\n    '',\n  ].join('\\n'),\n  files: [\n    {\n      path: 'files/workflow-diagram.svg',\n      data: svgFile,\n    },\n  ],\n})\n```\n\n`.aira` archives are standard ZIP containers. The core package keeps reading independent from the full Airalogy platform, database, or execution engine.\n","readmeFilename":"README.md"}