{"_id":"@edv4h/spire-core","name":"@edv4h/spire-core","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@edv4h/spire-core","version":"0.1.0","type":"module","description":"Spire Map Format types, validation, progression state machine and plugin kernel","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"source":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js"}},"dependencies":{"zod":"4.4.3"},"devDependencies":{"fast-check":"4.4.0","typescript":"7.0.2","vitest":"4.1.11"},"publishConfig":{"access":"public"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/EdV4H/spire.git","directory":"packages/core"},"homepage":"https://github.com/EdV4H/spire#readme","bugs":{"url":"https://github.com/EdV4H/spire/issues"},"scripts":{"build":"tsc -p tsconfig.build.json","typecheck":"tsc -p tsconfig.json --noEmit","test":"vitest run --passWithNoTests","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""},"_id":"@edv4h/spire-core@0.1.0","_integrity":"sha512-KfGYS6nHqU5X9QYvsxedHylyw1HVJMMxoNTI0IC8c9teyJH8dl7ihS8HFejoe1ky3zK0xZbft5FNlOz/eBnSmQ==","_resolved":"/private/var/folders/kk/49kmw6n10s3f_vj3y1_rjd2h0000gn/T/b5ccf6029cc9d36cedb92b0bb9fae8fe/edv4h-spire-core-0.1.0.tgz","_from":"file:edv4h-spire-core-0.1.0.tgz","_nodeVersion":"26.3.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-KfGYS6nHqU5X9QYvsxedHylyw1HVJMMxoNTI0IC8c9teyJH8dl7ihS8HFejoe1ky3zK0xZbft5FNlOz/eBnSmQ==","shasum":"4d65d87a5f40e1ee6cd6d24a842aa35dde121ebd","tarball":"https://registry.npmjs.org/@edv4h/spire-core/-/spire-core-0.1.0.tgz","fileCount":107,"unpackedSize":181585,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICjhDXM+kIRKV/ERGkiNIBLU6+jH3KN3qy6+/RpMyJO0AiAtJCy1vmAW5IEHQ/xXBZsKEILlTtGkGKwL/DG9Acm/gw=="}]},"_npmUser":{"name":"myuske","email":"circlemountain.ym@gmail.com"},"directories":{},"maintainers":[{"name":"myuske","email":"circlemountain.ym@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/spire-core_0.1.0_1788760684280_0.05480443967351878"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-07T05:58:04.004Z","0.1.0":"2026-09-07T05:58:04.407Z","modified":"2026-09-07T05:58:04.688Z"},"maintainers":[{"name":"myuske","email":"circlemountain.ym@gmail.com"}],"description":"Spire Map Format types, validation, progression state machine and plugin kernel","homepage":"https://github.com/EdV4H/spire#readme","repository":{"type":"git","url":"git+https://github.com/EdV4H/spire.git","directory":"packages/core"},"bugs":{"url":"https://github.com/EdV4H/spire/issues"},"license":"MIT","readme":"# @edv4h/spire-core\n\nSpire Map Format、バリデータ、進行ステートマシン、グラフ操作、プラグインカーネル。\n\nDOM・React・Node API に依存しない。ランタイム依存は `zod` のみ。\n\n## 主なエクスポート\n\n```ts\n// 検証\nvalidateMap(doc: unknown, spire?: Spire): Result<MapDocument, ValidationError[]>\nvalidateState(doc: unknown, map: MapDocument): Result<StateDocument, ValidationError[]>\ncheckInvariants(map: MapDocument): ValidationError[]\n\n// 進行（すべて純関数）\ngetNodeStatus(map, state, nodeId): \"completed\" | \"reachable\" | \"locked\"\ngetProgress(map, state): Progress\ncomplete(map, state, nodeId, options?): Result<StateDocument, RuleViolation>\nuncomplete(state, nodeId): StateDocument\nmergeStates(a, b): StateDocument        // 可換・結合的・冪等\n\n// グラフ（すべて新ドキュメントを返し、不変条件を再検査する）\naddNode / removeNode / addEdge / removeEdge / moveNode / updateNodeData / setNodeType\npaths(map, { limit }): { paths: NodeId[][]; truncated: boolean }\nbuildIndex(map): MapIndex\n\n// プラグイン\ncreateSpire({ plugins }): Promise<Result<Spire, PluginError[]>>\ncreateRegistry<T>(kind): InternalRegistry<T>\ndefineService<T>(key): ServiceHandle<T>\n\n// 決定性\ncreateRng(seed): Rng\n```\n\nエラーは投げない。想定される失敗はすべて `Result` で返り、SDK はログを出さない。\n\n詳細は [`docs/smf-0.1.md`](../../docs/smf-0.1.md) と [`docs/plugin-system.md`](../../docs/plugin-system.md)。\n","readmeFilename":"README.md","_rev":"1-2f5f81b87532d22f0f499d8f3964d7af"}