{"_id":"@42ch/spoke-operations","_rev":"21-f6df4532d7b402c21003559d22f09b87","name":"@42ch/spoke-operations","dist-tags":{"alpha":"0.1.0-alpha.2","latest":"0.11.1"},"versions":{"0.1.0-alpha.2":{"name":"@42ch/spoke-operations","version":"0.1.0-alpha.2","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.1.0-alpha.2","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"28fd86aa29353092278992785034170e42e8867f","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.1.0-alpha.2.tgz","fileCount":45,"integrity":"sha512-Qt9if8dEW1aATl39hB9hrngGRd9HoWKeqzS3MrylE7L8qyNccwxqsBeAQc9rB11AP2iipImR0aGnx0rbaxRqXA==","signatures":[{"sig":"MEUCIDkcTzakxzjgpcWnzpcB47bnPJh0DHKhOeRhhOCI6WyEAiEA4ui7TmpQgBSSbiA56hZwFjxvOx8KjR65kH/3/Yj2+m0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63700},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.1.0-alpha.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"btspoony","email":"tech@btang.cn"},"_resolved":"/private/var/folders/dk/z51lzs650xs34237m36sh0d80000gn/T/c0009e914f1d898a90c0656382dc2578/42ch-spoke-operations-0.1.0-alpha.2.tgz","_integrity":"sha512-Qt9if8dEW1aATl39hB9hrngGRd9HoWKeqzS3MrylE7L8qyNccwxqsBeAQc9rB11AP2iipImR0aGnx0rbaxRqXA==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.1.0-alpha.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.1.0-alpha.2_1784984438199_0.9854111639174046","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@42ch/spoke-operations","version":"0.1.0","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.1.0","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"f96d3fe4908b27c843205a8898f5a9ecb8b6ea56","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.1.0.tgz","fileCount":45,"integrity":"sha512-EWDHkx+tNWTGqQkR7/7MnMxjbyjrRm3Elw/KjLOiep5s1vz5KyYewa24eNTLL3P9qIi+Iv/vTOx3Xs/8I9ZiIA==","signatures":[{"sig":"MEUCIQDshM3N0MsdiEMuD6Jj6HAdRFzklXE59uuHl7ZDMhQmxgIgATXgipkw+mG3Mw8cANmGdBd1w+AS6yp9wVeLbsTEqzo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":63678},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.1.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.1.0.tgz","_integrity":"sha512-EWDHkx+tNWTGqQkR7/7MnMxjbyjrRm3Elw/KjLOiep5s1vz5KyYewa24eNTLL3P9qIi+Iv/vTOx3Xs/8I9ZiIA==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.1.0_1784993990037_0.6984812596690213","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@42ch/spoke-operations","version":"0.1.1","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.1.1","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"899913f2c5ec2baad5d95ea80edc17147595326b","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.1.1.tgz","fileCount":45,"integrity":"sha512-/RrcKNJGNVBZsKUIVM1Cu2JIWwvtffVClqzIYSBVBbOJ3TNFU4BVu+oJTfBI+SsyTDTbqXplXQuHWBf52arjmQ==","signatures":[{"sig":"MEUCIBZMM+8K48nZ3AsTTwLvFmMH8ix+GhCNAvM6npiQZdycAiEA7L/cbKCGnsROncdN44v2zae5Dt/zpv5pICRcb1KF6iE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":64323},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.1.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.1.1.tgz","_integrity":"sha512-/RrcKNJGNVBZsKUIVM1Cu2JIWwvtffVClqzIYSBVBbOJ3TNFU4BVu+oJTfBI+SsyTDTbqXplXQuHWBf52arjmQ==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.1.1_1784996766055_0.02010153268366266","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@42ch/spoke-operations","version":"0.2.0","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.2.0","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"dc855e2b0f6185e1c9878862b1131323b684dfb6","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.2.0.tgz","fileCount":48,"integrity":"sha512-/Ncomz7c8fzEOsbLfmei4kI3o4Sv8LIJ3NZHEo3S2yamwVj7mtxiX8xSBanP2Af7I2nwbPidKeYWATSWbl3irg==","signatures":[{"sig":"MEQCIAKHWhp9G1orlooqgWbjid4tISYKXatSzGUa7Ock/663AiAgi8nhQLB7rcLsRm/Z0hlctliQO1Vzc0RtVLl01D0u+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68318},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.2.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.2.0.tgz","_integrity":"sha512-/Ncomz7c8fzEOsbLfmei4kI3o4Sv8LIJ3NZHEo3S2yamwVj7mtxiX8xSBanP2Af7I2nwbPidKeYWATSWbl3irg==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.2.0_1785045679326_0.6708608498918465","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@42ch/spoke-operations","version":"0.3.0","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.3.0","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"635c172c5e48f631d59587e9bee437a75baae608","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.3.0.tgz","fileCount":54,"integrity":"sha512-Or/+SZOxsYKwxoT4fDURgb9f5rfUawdsR0lxRjINVvxiMaGT+R8bk0MKPzd4Y+WOTLAhI8UkgaT/RtW/MjDh1A==","signatures":[{"sig":"MEYCIQD2hoCgALrcF/IJ1jr0nu/ciUNE9c/xBKjZsQNM81cQ3wIhAN65GjX5KNR/xrO4iUDyKw//ZaRvU6JJTQb/WBl9rnsp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":93899},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.3.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.3.0.tgz","_integrity":"sha512-Or/+SZOxsYKwxoT4fDURgb9f5rfUawdsR0lxRjINVvxiMaGT+R8bk0MKPzd4Y+WOTLAhI8UkgaT/RtW/MjDh1A==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.3.0_1785149377510_0.9360393120739223","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@42ch/spoke-operations","version":"0.4.0","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.4.0","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"d7655bb9fadcfcdb9a33ad27c93671f58106dbe9","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.4.0.tgz","fileCount":54,"integrity":"sha512-XJGJ/yLL5SiVwhaJfFkB1g+D9v6doqaC7UOQmKbyMrnyWQawPagXjAbVL6d6JUQ1Vyy3QRDmSoyvjDlEEECzOw==","signatures":[{"sig":"MEUCIQD2F3b9LocU4Ev+REP22sABl81RyetdwgPmwSuzGaN46gIgGYWpm0i+0KjY66MDY9bCs5nQK/ft25SAqKUtfzUhywg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":94577},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.4.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.4.0.tgz","_integrity":"sha512-XJGJ/yLL5SiVwhaJfFkB1g+D9v6doqaC7UOQmKbyMrnyWQawPagXjAbVL6d6JUQ1Vyy3QRDmSoyvjDlEEECzOw==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.4.0_1785165878580_0.29682069075475304","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@42ch/spoke-operations","version":"0.4.1","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.4.1","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"b5037795074a3692f9f6bc89ddce28c3081da62c","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.4.1.tgz","fileCount":57,"integrity":"sha512-zxHSAo7UbX3T7tsY82gHQpjQlgUNFI7ZsQj9fJOk6hZajS7w4pF6gAf2ehSL9CPW/osB9Md7ecwAO5XAvatbLw==","signatures":[{"sig":"MEYCIQDQBKF68laai2EQzy51zA4hSntQ05YKp/hD2wMcq2zHdgIhAI34mtE9/citZk1gcGB+kM2CsHAKYwPPHiMEqTOrKmqE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":104561},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.4.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.4.1.tgz","_integrity":"sha512-zxHSAo7UbX3T7tsY82gHQpjQlgUNFI7ZsQj9fJOk6hZajS7w4pF6gAf2ehSL9CPW/osB9Md7ecwAO5XAvatbLw==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.4.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.4.1_1785206179359_0.11197638666965437","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@42ch/spoke-operations","version":"0.5.0","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.5.0","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"22d629adeef15bb8afeaa93b337ea29811ce6f52","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.5.0.tgz","fileCount":57,"integrity":"sha512-JgfkIYy3utpNtnaDQVRaeBV/GFtJuVGo4AP9R7BPM6baask6Z6xaU0E3cQSNA8XSG5QnAzeOkB2mVu2760LdRg==","signatures":[{"sig":"MEYCIQCNt2XVzTMmqCN6pVUX2JaS6s3z1zJfcCDfGYSHplvHSQIhAKOQjj0OBxsNWdFi9DZ4eyLOcDPJBtr7Gs6jLrAbqmzC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":109704},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.5.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.5.0.tgz","_integrity":"sha512-JgfkIYy3utpNtnaDQVRaeBV/GFtJuVGo4AP9R7BPM6baask6Z6xaU0E3cQSNA8XSG5QnAzeOkB2mVu2760LdRg==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.5.0_1785286089710_0.2781288956295156","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@42ch/spoke-operations","version":"0.6.0","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.6.0","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"5d5cb1e300089adc60857fcaad67433fc6ea350f","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.6.0.tgz","fileCount":57,"integrity":"sha512-N5KhcwORdaJpHU11IqhpPO10MU8fYDiyPjJTkipctVjowFtjsmHmPhBCmUCBminOoDVVjuORdEHVbHXAf9oF+A==","signatures":[{"sig":"MEQCIHuiNP7e/QuH7iFG5AW3X/taViShaffZGS7V1l1adoJHAiAorXrYM3wqmQk/zLsC9L1sIxxh0KIOOoE1VOduSmwp+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111901},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.6.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.6.0.tgz","_integrity":"sha512-N5KhcwORdaJpHU11IqhpPO10MU8fYDiyPjJTkipctVjowFtjsmHmPhBCmUCBminOoDVVjuORdEHVbHXAf9oF+A==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.6.0_1785386535701_0.971410474715783","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@42ch/spoke-operations","version":"0.6.1","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.6.1","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"7de9d03503f786dc470b2d8eadee454a43f7ef0c","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.6.1.tgz","fileCount":57,"integrity":"sha512-rWdaOdgmI1KPpARcZjJkKGsldJEL8Vu2Wu0Gs2DqxM3+TxikduCzf34AOwfD7bnRZCJ4JccUyJwBn3RXmzqGKw==","signatures":[{"sig":"MEYCIQC6XVl9LsWO5E+vg0itxeaBW5kaMGFbTjaNoWvI1/Le2AIhAPgdHfHtMh84eMTVJGuZJZitA92FmHTs88/+cv59Yf6k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112430},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.6.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.6.1.tgz","_integrity":"sha512-rWdaOdgmI1KPpARcZjJkKGsldJEL8Vu2Wu0Gs2DqxM3+TxikduCzf34AOwfD7bnRZCJ4JccUyJwBn3RXmzqGKw==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.6.1_1785407828041_0.38516725279608743","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@42ch/spoke-operations","version":"0.7.0","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.7.0","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"bcccc8c0090ff6677ec7dacadfee0fbec2b88207","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.7.0.tgz","fileCount":57,"integrity":"sha512-wirX4ab4/jme7zwlK+3GizMTpVlP+aleXf53t4H+Uq54O0b8/JKx8GRCpvpQYwT8hBSqFAcwLDYEsUbvwr0iiw==","signatures":[{"sig":"MEUCIDJbzC5qSGTFQRH8UMCfaa1517OUxq0b8nmXYKq+xXWbAiEA6R9tQVchTaoFGAoA+PA03Dtapfifouy7uEopYFQAFUE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112430},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.7.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.7.0.tgz","_integrity":"sha512-wirX4ab4/jme7zwlK+3GizMTpVlP+aleXf53t4H+Uq54O0b8/JKx8GRCpvpQYwT8hBSqFAcwLDYEsUbvwr0iiw==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.7.0_1785729820289_0.9620781845137965","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@42ch/spoke-operations","version":"0.7.1","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.7.1","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"796db8f3530ed6679340fc94e45cca3672d44331","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.7.1.tgz","fileCount":57,"integrity":"sha512-gz4LzEUHaAvdMqg48egxxBMno0bkwwfokUuFQvGk+hMSV1LgxrR5srdEzSt7/gV5HlfNITdD2Z5U1ePtM3KHvw==","signatures":[{"sig":"MEUCIDC9RaB+LrsYs/9RtkBlVZ0OmPQ4Lw4HRlwCaQ0NRMcUAiEA+E0AShyRXEjv8zYQooXnMktt3k1TMrB3rz7r4DVOmac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112430},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.7.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.7.1.tgz","_integrity":"sha512-gz4LzEUHaAvdMqg48egxxBMno0bkwwfokUuFQvGk+hMSV1LgxrR5srdEzSt7/gV5HlfNITdD2Z5U1ePtM3KHvw==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.7.1_1785735880426_0.6647547203245834","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@42ch/spoke-operations","version":"0.8.0","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.8.0","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"ad60430868f88189d0ff3211ec47bbc7423d6f29","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.8.0.tgz","fileCount":57,"integrity":"sha512-5502tSZtkea+UXe5uZhf797eCUUDSpMhPhasxMqquAcDK0z22WOJ7rWz9zuSTGR29VGJ1Av7dO6iagFfwU3xpQ==","signatures":[{"sig":"MEUCIA/SKcLGw4pX6d7fI9VGIUu7oo011BbJi2+UqNmgbX6aAiEApxCvrUQNfS8WVBDG4LytyU+X9pnuPm7Fz6f55k3SmHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112430},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.8.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.8.0.tgz","_integrity":"sha512-5502tSZtkea+UXe5uZhf797eCUUDSpMhPhasxMqquAcDK0z22WOJ7rWz9zuSTGR29VGJ1Av7dO6iagFfwU3xpQ==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.8.0_1785768358850_0.5936225268729995","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@42ch/spoke-operations","version":"0.8.1","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.8.1","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"5e095be04d7c1c70a24a3f1b5d4d06f04355cdfd","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.8.1.tgz","fileCount":57,"integrity":"sha512-98a8nwhvzL9WgG/UamtobwszeSCCCNqchWi7mZOCzmrjH814wnwSEoTHI8w2Wx9w7sCwUBDzYq4zNLAwRkwIqg==","signatures":[{"sig":"MEYCIQC8RdAzW0XlavNMqQ0MtgiAyTSpQ6Op/30oO5z8tBrevgIhAPTI1q7OP6/lKvBH70rF1kcxO43WoJsG8hiWngiWbyy4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112430},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.8.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.8.1.tgz","_integrity":"sha512-98a8nwhvzL9WgG/UamtobwszeSCCCNqchWi7mZOCzmrjH814wnwSEoTHI8w2Wx9w7sCwUBDzYq4zNLAwRkwIqg==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.8.1_1785772683840_0.41935844139385847","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@42ch/spoke-operations","version":"0.8.2","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.8.2","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"ba720a137e5a2da7674f5033b781d1a49849df6e","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.8.2.tgz","fileCount":57,"integrity":"sha512-V5YCatALAK3rsaufaMysqI8u5PBCNrJxhRolRmUrab7owMPXd5tp7Km8kW/HabWYVOruVPZ1BvGOykphHrLMVw==","signatures":[{"sig":"MEUCIE2pOYkXGyL9bQ4jDpsNDzzigfgrHjfH9ZJ1QWfaFRfAAiEAlvSypqv/i59vNfcV/CEsHKfh7wEGGlb7ofqqhkgRCbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112430},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.8.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.8.2.tgz","_integrity":"sha512-V5YCatALAK3rsaufaMysqI8u5PBCNrJxhRolRmUrab7owMPXd5tp7Km8kW/HabWYVOruVPZ1BvGOykphHrLMVw==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.8.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.8.2_1785776804353_0.05351786536506986","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@42ch/spoke-operations","version":"0.9.0","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.9.0","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"fce9a77b55ed524e3cc6d7f7fa7a0d27984e9725","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.9.0.tgz","fileCount":57,"integrity":"sha512-AMQfW5PygNGnSatChry2FCG/zaW1fqgmQ3iHis7uM6TSFMP5xzUpcFgf4zNqDfIFDlpKPtAOY3BfPSD3JizD+w==","signatures":[{"sig":"MEYCIQC5D9LAdU36+JpweIMRxdpsyqxcrn0zixCz9DPumokSfgIhAKZBwZEuQLjQ9p6n5Z2uEFinuoFshRHu0UeaMSjOPnjo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":113326},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.9.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.9.0.tgz","_integrity":"sha512-AMQfW5PygNGnSatChry2FCG/zaW1fqgmQ3iHis7uM6TSFMP5xzUpcFgf4zNqDfIFDlpKPtAOY3BfPSD3JizD+w==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.9.0_1786008966283_0.32477051004738455","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@42ch/spoke-operations","version":"0.9.1","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.9.1","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"1a87e8fdac9c6b89d096a25273a404616b3efe08","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.9.1.tgz","fileCount":57,"integrity":"sha512-FUpGNf7kdYm4hlT7BJpyQ7Ien6wtAvBEPv/s/Zuf8tImaR1dB5kx3uYjDFEqh+9zu5RG2IUPEj941mgcH/sikw==","signatures":[{"sig":"MEUCIDClmBIzuRaGvVOdVnO6jpqq57bNP3sFvwzrMonGUE2bAiEAoVTBN4TO19N92QgJfr8UptbV8XrlqnEgNx8CW38sfJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":113326},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.9.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.9.1.tgz","_integrity":"sha512-FUpGNf7kdYm4hlT7BJpyQ7Ien6wtAvBEPv/s/Zuf8tImaR1dB5kx3uYjDFEqh+9zu5RG2IUPEj941mgcH/sikw==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.9.1_1786026021430_0.08930047002489094","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@42ch/spoke-operations","version":"0.9.2","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.9.2","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"3105c191c8ee6eee2107f0da2e4f719ece996679","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.9.2.tgz","fileCount":57,"integrity":"sha512-VQheaUXgVoijmkryicFFSsvsE2EKMhmB+KS4kJVzTyA3tLB2kpZ/64XzVkOMSNmyhdqA+vnLoWMg/5x/kyh+gw==","signatures":[{"sig":"MEQCICG9FQ1/7+PViT6UembN+umeUee98ugNma8Ngh+0Zep2AiBSLAJw3Y6m5nipFi6qEJccaN+5nRnBz4hBMWRRgPwxQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":113326},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.9.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.9.2.tgz","_integrity":"sha512-VQheaUXgVoijmkryicFFSsvsE2EKMhmB+KS4kJVzTyA3tLB2kpZ/64XzVkOMSNmyhdqA+vnLoWMg/5x/kyh+gw==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.9.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.9.2_1786105150728_0.22212220951407957","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@42ch/spoke-operations","version":"0.10.0","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.10.0","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"affaded449e8f3895abdc84961c9b07c12f30621","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.10.0.tgz","fileCount":60,"integrity":"sha512-4mnotmwW2qLwbVYC1MhCNGk1TEe+dHyECv78MQK86a8PLUxq0wVYfxI4jQ5j9JEG/zGHz0VuP26N3cMAvj41KQ==","signatures":[{"sig":"MEUCIQCDvGRjRpwQkkVNrRqJqX9F/iyJgK9s57i4RhtUXTPrhAIgAuJBcSKSnCSejzFQbQOE9aRf1BnlLUWCf103c1gBOzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":119749},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.10.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.10.0.tgz","_integrity":"sha512-4mnotmwW2qLwbVYC1MhCNGk1TEe+dHyECv78MQK86a8PLUxq0wVYfxI4jQ5j9JEG/zGHz0VuP26N3cMAvj41KQ==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.16.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@42ch/spoke-schemas":"0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.10.0_1786684873364_0.5091083450552227","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@42ch/spoke-operations","version":"0.11.0","keywords":["spoke","knowledge-entry","operations"],"license":"Apache-2.0","_id":"@42ch/spoke-operations@0.11.0","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"homepage":"https://github.com/42ch-dev/spoke#readme","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"dist":{"shasum":"0b2cbb5286ce92a4f6c739ef01f330a52871f673","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.11.0.tgz","fileCount":69,"integrity":"sha512-lyuz+KkapSG2zGn/0T1QAZs2wOlgJ/5fqe7N9nZt97M61uLzzsFu9M5LdMoHhbko9MGug1rN7AqPKXImmQQATw==","signatures":[{"sig":"MEYCIQDgTInTCdV4enlqJ7W6dG1lagvzU8Rlb5ksca4OVOup6AIhAJ+XCvzqFdOtPeaitbCuJBDuLXeQsun0pK8YnJs771Ww","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":141043},"main":"./dist/index.js","type":"module","_from":"file:42ch-spoke-operations-0.11.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.11.0.tgz","_integrity":"sha512-lyuz+KkapSG2zGn/0T1QAZs2wOlgJ/5fqe7N9nZt97M61uLzzsFu9M5LdMoHhbko9MGug1rN7AqPKXImmQQATw==","repository":{"url":"git+https://github.com/42ch-dev/spoke.git","type":"git","directory":"packages/spoke-operations"},"_npmVersion":"11.17.0","description":"SPOKE lifecycle operations — pure helpers over wire types","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@42ch/spoke-schemas":"0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spoke-operations_0.11.0_1787044843226_0.39252308557510096","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@42ch/spoke-operations","version":"0.11.1","description":"SPOKE lifecycle operations — pure helpers over wire types","license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/42ch-dev/spoke.git","directory":"packages/spoke-operations"},"publishConfig":{"access":"public"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"dependencies":{"@42ch/spoke-schemas":"0.11.1"},"devDependencies":{"typescript":"^5.3.0","vitest":"^3.0.0"},"keywords":["spoke","knowledge-entry","operations"],"scripts":{"build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test":"vitest run","test:watch":"vitest","clean":"rm -rf dist"},"_id":"@42ch/spoke-operations@0.11.1","bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"homepage":"https://github.com/42ch-dev/spoke#readme","_integrity":"sha512-ZDfqFg/dwhZB5BSU5I5LrADhVrX9tcetjvkPiZM1eGnpWvumlHg2orVo2O9KVh2lx5VR0rDNFXaq3G3xaaWGgA==","_resolved":"/home/runner/work/spoke/spoke/packages/spoke-operations/42ch-spoke-operations-0.11.1.tgz","_from":"file:42ch-spoke-operations-0.11.1.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-ZDfqFg/dwhZB5BSU5I5LrADhVrX9tcetjvkPiZM1eGnpWvumlHg2orVo2O9KVh2lx5VR0rDNFXaq3G3xaaWGgA==","shasum":"465e9e51fc331a50d43a3025c7d41a31fc7d427d","tarball":"https://registry.npmjs.org/@42ch/spoke-operations/-/spoke-operations-0.11.1.tgz","fileCount":69,"unpackedSize":141043,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@42ch%2fspoke-operations@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDbIKiyrP98xyo3z78cq5IYbpVNPeuVExSRUbDeimx5HgIhAJ9GJ2Tm3uORF0dJxjeZjIzHMSTIdRUcQ9outbp8FYlH"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dac03ecb-ea0d-4e84-8685-da2d62aacb53"}},"directories":{},"maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/spoke-operations_0.11.1_1787046434001_0.8995141317562729"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-25T13:00:38.016Z","modified":"2026-08-18T09:47:14.450Z","0.1.0-alpha.2":"2026-07-25T13:00:38.346Z","0.1.0":"2026-07-25T15:39:50.173Z","0.1.1":"2026-07-25T16:26:06.188Z","0.2.0":"2026-07-26T06:01:19.483Z","0.3.0":"2026-07-27T10:49:37.671Z","0.4.0":"2026-07-27T15:24:38.805Z","0.4.1":"2026-07-28T02:36:19.506Z","0.5.0":"2026-07-29T00:48:09.872Z","0.6.0":"2026-07-30T04:42:15.841Z","0.6.1":"2026-07-30T10:37:08.199Z","0.7.0":"2026-08-03T04:03:40.440Z","0.7.1":"2026-08-03T05:44:40.562Z","0.8.0":"2026-08-03T14:45:58.988Z","0.8.1":"2026-08-03T15:58:03.991Z","0.8.2":"2026-08-03T17:06:44.522Z","0.9.0":"2026-08-06T09:36:06.422Z","0.9.1":"2026-08-06T14:20:21.628Z","0.9.2":"2026-08-07T12:19:10.875Z","0.10.0":"2026-08-14T05:21:13.507Z","0.11.0":"2026-08-18T09:20:43.370Z","0.11.1":"2026-08-18T09:47:14.124Z"},"bugs":{"url":"https://github.com/42ch-dev/spoke/issues"},"license":"Apache-2.0","homepage":"https://github.com/42ch-dev/spoke#readme","keywords":["spoke","knowledge-entry","operations"],"repository":{"type":"git","url":"git+https://github.com/42ch-dev/spoke.git","directory":"packages/spoke-operations"},"description":"SPOKE lifecycle operations — pure helpers over wire types","maintainers":[{"name":"btspoony","email":"tech@btang.cn"}],"readme":"# @42ch/spoke-operations\n\nHand-written TypeScript lifecycle helpers for [SPOKE](https://github.com/42ch-dev/spoke): extension merge/preserve, Finding status transitions, promote acceptance gates, Scope/upsert/relate validators, `body.attributes` read helpers, timeline sequence helpers, `AssemblePacket` builders, **capability-sliced adapter ports**, and **injection orchestration**.\n\nDepends on [`@42ch/spoke-schemas`](https://www.npmjs.com/package/@42ch/spoke-schemas) for wire types. Behavioral parity with the Rust crate [`spoke-operations`](https://crates.io/crates/spoke-operations).\n\n## Install\n\n```bash\npnpm add @42ch/spoke-schemas @42ch/spoke-operations\n# Pin both to the same lockstep SemVer (e.g. @X.Y.Z)\n```\n\nPin both packages to the same lockstep SemVer.\n\n## Usage — pure helpers\n\n```ts\nimport type { PromoteRequest } from \"@42ch/spoke-schemas\";\nimport {\n  validatePromoteRequest,\n  applyPromoteAcceptance,\n  buildAssemblePacket,\n  transitionFindingStatus,\n  mergeExtensionMaps,\n  SpokeRejectCode,\n} from \"@42ch/spoke-operations\";\n\nconst request: PromoteRequest = { candidate /* KnowledgeEntry */ };\nconst gate = validatePromoteRequest(request);\n\nif (gate.ok) {\n  const accepted = applyPromoteAcceptance(request);\n  // Persist via your product adapter\n} else {\n  console.error(gate.code, gate.message); // e.g. SpokeRejectCode.CANDIDATE_NOT_PROVISIONAL\n}\n```\n\n## Usage — adapter ports and orchestration\n\nImplement capability-sliced ports (`KnowledgeEntryPort`, `RelationPort`, `ScopeQueryPort`, `FindingPort`, `RuleQueryPort`, `HostManifestPort`, plus optional `ComputablePort` / `ForkTimelineQueryPort`) on one adapter type. Ergonomic composed-port aliases (`BaselineAdapter`, `ComputableAdapter`, `ForkAdapter`, `FullAdapter`) name the same intersections as `BaselinePorts`, `ComputablePorts`, `ForkPorts`, and `FullPorts`. Then call the matching orchestrator:\n\n```ts\nimport type { CheckRequest, UpsertRequest } from \"@42ch/spoke-schemas\";\nimport {\n  orchestrateUpsert,\n  orchestrateCheck,\n  spokeOk,\n  type BaselinePorts,\n  type CheckRunInput,\n} from \"@42ch/spoke-operations\";\n\ndeclare const ports: BaselinePorts;\ndeclare const upsertRequest: UpsertRequest;\ndeclare const checkRequest: CheckRequest;\n\nasync function runBaseline() {\n  const upserted = await orchestrateUpsert(ports, upsertRequest);\n\n  const checked = await orchestrateCheck(ports, checkRequest, (_input: CheckRunInput) => {\n    // Product-owned checker; library loads scope data and persists findings via ports\n    return spokeOk([]);\n  });\n}\n```\n\nOptional capabilities use the composed port types (`ComputablePorts`, `ForkPorts`) with `orchestrateProject` / `orchestrateCompute` and `orchestrateForkCheck` / `orchestrateForkAssemble`.\n\n**Integrator notes**\n\n- Adapters own **transaction boundaries** for multi-entry upsert and other multi-write sequences.\n- Active-uniqueness helpers take **caller-supplied peer sets**. Orchestration supplies batch-local peers; pass a store-wide snapshot when product uniqueness must span the whole store.\n- Absent optional ports at a dynamic boundary surface `SpokeRejectCode.CAPABILITY_PORT_MISSING`. `HostManifestPort` is baseline-required — not gated behind that code.\n\n## Helper families\n\n- `SpokeResult` / `SpokeReject` / `SpokeRejectCode` — unified reject envelope (stable code strings shared with Rust)\n- `mergeExtensionMaps`, `preserveExtensionMaps`\n- `isValidFindingStatusTransition`, `transitionFindingStatus`\n- `validatePromoteRequest`, `applyPromoteAcceptance`\n- `knowledgeEntryToAssembleEntry`, `buildAssemblePacket`\n- Scope matchers, OCC revision assert, KnowledgeEntry status/uniqueness, upsert/relate gates, computable validators, `validateMindState` (wire-shape gate for the optional `l5-mind` capability)\n- `listBodyAttributes`, `filterBodyAttributesByTraitType`, `findBodyAttribute` — read/filter `body.attributes` by `trait_type`\n- `filterTimelineEventsByMomentScale`, `orderTimelineEventsByIds`, `orderTimelineEventsByPrecedes` — filter and order moment-scale TimelineEvents from caller-supplied sets\n- Adapter ports + orchestration: `KnowledgeEntryPort` … `HostManifestPort` … `FullAdapter`, `CheckRunInput`, `orchestrateUpsert` … `orchestrateForkAssemble`\n\nReference **FullAdapter** implementation: [`fixtures/toy-world/`](https://github.com/42ch-dev/spoke/tree/main/fixtures/toy-world) (`ToyWorldAdapter` in TypeScript `src/adapter/`).\n\nHelpers and orchestrators are pure relative to host I/O — all reads and writes go through injected ports. Normative behavior: [spoke-operations.md](https://github.com/42ch-dev/spoke/blob/main/.mstar/specs/spoke-operations.md).\n","readmeFilename":"README.md"}