{"_id":"@agentproto/app-kit","_rev":"14-0999e315ed24a7560a952803ea847e7f","name":"@agentproto/app-kit","dist-tags":{"latest":"1.2.0"},"versions":{"0.2.0":{"name":"@agentproto/app-kit","version":"0.2.0","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"license":"Apache-2.0","_id":"@agentproto/app-kit@0.2.0","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"homepage":"https://agentproto.sh/docs/aip-42","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"08ebe08252965df4790282a01cde40bbd1aea2d7","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-0.2.0.tgz","fileCount":15,"integrity":"sha512-Dp/TvmFZzJ8l4Vm/eYYTJK6DedA91rKda2eJtow5GkhLL3f2PqXcebOJwcMt1EbDfWXGbTqyIdR68B3ErLeN5A==","signatures":[{"sig":"MEYCIQCteb/RFGXynu2VEsiotizGAoBoLNl10fN+4H89KrrULQIhAJbPEwWQINV8ODPfvlU311dunRWL02u/uilb4geW2hxm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59829},"main":"dist/index.mjs","type":"module","_from":"file:agentproto-app-kit-0.2.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"_resolved":"/tmp/e60bd0853c26fd29ed997f39cd0e6874/agentproto-app-kit-0.2.0.tgz","_integrity":"sha512-Dp/TvmFZzJ8l4Vm/eYYTJK6DedA91rKda2eJtow5GkhLL3f2PqXcebOJwcMt1EbDfWXGbTqyIdR68B3ErLeN5A==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.1","@agentproto/mastra":"0.2.2","@agentproto/workflow":"0.1.0","@agentproto/workspace":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.6.2","@mastra/core":"1.32.1","@agentproto/tooling":"0.1.0-alpha.0","@agentproto/workflow-loader":"0.1.0"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-kit_0.2.0_1784471953967_0.8864491570769084","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@agentproto/app-kit","version":"0.3.0","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"license":"Apache-2.0","_id":"@agentproto/app-kit@0.3.0","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"homepage":"https://agentproto.sh/docs/aip-42","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"fca9a138247a484ce845de6faa54f1004920b008","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-0.3.0.tgz","fileCount":15,"integrity":"sha512-e5wlKfDtH0S3U2/wuA8bKOsOtR0XSm+6cJukONc8mTyfzJPySLqkxmqoXpIYXLrzR4jyNlH7UeFc3SyfdJCwYQ==","signatures":[{"sig":"MEUCIQCuT1piN4PsHcOS30ONV0bAR0AVR1Gy7WdyHIfYB1whBAIgRCoVuoWl14gEx4c+ueBn4KvlyixUvyckG51wL1KmxSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59829},"main":"dist/index.mjs","type":"module","_from":"file:agentproto-app-kit-0.3.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"_resolved":"/tmp/42dafa85f472d1acbc73e082e6a9f893/agentproto-app-kit-0.3.0.tgz","_integrity":"sha512-e5wlKfDtH0S3U2/wuA8bKOsOtR0XSm+6cJukONc8mTyfzJPySLqkxmqoXpIYXLrzR4jyNlH7UeFc3SyfdJCwYQ==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.1","@agentproto/mastra":"0.2.2","@agentproto/workflow":"0.1.0","@agentproto/workspace":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.6.2","@mastra/core":"1.32.1","@agentproto/tooling":"0.1.0-alpha.0","@agentproto/workflow-loader":"0.1.1"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-kit_0.3.0_1784494680491_0.3603423191410735","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@agentproto/app-kit","version":"0.3.1","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"license":"Apache-2.0","_id":"@agentproto/app-kit@0.3.1","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"homepage":"https://agentproto.sh/docs/aip-42","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"b84dd929ef3b0c5f2545f998c92103b678e437e0","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-0.3.1.tgz","fileCount":15,"integrity":"sha512-uifV0xKqziwoe4ezcF7HiA6xM+ruCn4NSl/GzSayCXPiEIUFtBz6ghfpnkhX7KJ60BsBiDOSnhcDJ3B+A3utzw==","signatures":[{"sig":"MEUCIAYXUoY2H6rKBrhWb4cyZCfbKwgZzZxf1VtnmteV4sOQAiEAsWHBju47pO874uX1Wmsp6H7y5eIgPLkO+u4YrYdzCEY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59829},"main":"dist/index.mjs","type":"module","_from":"file:agentproto-app-kit-0.3.1.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"_resolved":"/tmp/61059b37f16679a04dadc3d3af94fa33/agentproto-app-kit-0.3.1.tgz","_integrity":"sha512-uifV0xKqziwoe4ezcF7HiA6xM+ruCn4NSl/GzSayCXPiEIUFtBz6ghfpnkhX7KJ60BsBiDOSnhcDJ3B+A3utzw==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.1","@agentproto/mastra":"0.2.3","@agentproto/workflow":"0.1.1","@agentproto/workspace":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.6.2","@mastra/core":"1.52.1","@agentproto/tooling":"0.1.0-alpha.0","@agentproto/workflow-loader":"0.1.2"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-kit_0.3.1_1785153660803_0.8223697640736425","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@agentproto/app-kit","version":"0.3.2","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"license":"Apache-2.0","_id":"@agentproto/app-kit@0.3.2","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"homepage":"https://agentproto.sh/docs/aip-42","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"0161d37e9e343c8e9bc8fc31695644fcaf5dc74e","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-0.3.2.tgz","fileCount":15,"integrity":"sha512-Jr5hBJOyvn3ZgNrF3F6xyv4rmpZYnYFKoMuX8Lh0HY/734S42fJqOw99oYJA5Kuqr2XAs13x82igJY2XDpYA0A==","signatures":[{"sig":"MEQCIEgmbeLN5OivNmFddp2Yu7/ZyslXBMPkyvewvQGzGMAVAiBLV3ShtGMqAF2AUeHuZ4P+Mpe9IVWTxiS1F/loo7Nr8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59829},"main":"dist/index.mjs","type":"module","_from":"file:agentproto-app-kit-0.3.2.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"_resolved":"/tmp/34eef89ac35c417a29ce0de7ff59f145/agentproto-app-kit-0.3.2.tgz","_integrity":"sha512-Jr5hBJOyvn3ZgNrF3F6xyv4rmpZYnYFKoMuX8Lh0HY/734S42fJqOw99oYJA5Kuqr2XAs13x82igJY2XDpYA0A==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.1","@agentproto/mastra":"0.2.4","@agentproto/workflow":"0.1.1","@agentproto/workspace":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.6.2","@mastra/core":"1.55.0","@agentproto/tooling":"0.1.0-alpha.0","@agentproto/workflow-loader":"0.1.2"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-kit_0.3.2_1785977198540_0.8091554976384081","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@agentproto/app-kit","version":"0.4.0","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"license":"Apache-2.0","_id":"@agentproto/app-kit@0.4.0","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"homepage":"https://agentproto.sh/docs/aip-42","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"c57ebc02501996889d51644ebfba6351d80348a9","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-0.4.0.tgz","fileCount":17,"integrity":"sha512-elTS9/3uu11HndJkygVp3QrygagrgBi41ESZ8QQDsK+SuZUz+ZSUYcmt4n/JmLT/pLlYJL3qsUU7oN8XTPxSMg==","signatures":[{"sig":"MEYCIQDnxSR1hEX3x4ii5cDC+XP0xuvrEIYc/+NK6uhtYhkyDAIhAIVQyI9iGCWdds30t9rqYBsB1ZraCXt3xU1ga01eQLda","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89029},"main":"dist/index.mjs","type":"module","_from":"file:agentproto-app-kit-0.4.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"_resolved":"/tmp/a7bbb29df3613d796eaaa94ba48844e8/agentproto-app-kit-0.4.0.tgz","_integrity":"sha512-elTS9/3uu11HndJkygVp3QrygagrgBi41ESZ8QQDsK+SuZUz+ZSUYcmt4n/JmLT/pLlYJL3qsUU7oN8XTPxSMg==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.1","@agentproto/mastra":"0.2.5","@agentproto/workflow":"0.2.0","@agentproto/workspace":"0.1.0","@agentproto/workflow-loader":"0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.6.2","@mastra/core":"1.55.0","@agentproto/tooling":"0.1.0-alpha.0"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-kit_0.4.0_1786157415343_0.8561038908519143","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@agentproto/app-kit","version":"0.5.0","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"license":"Apache-2.0","_id":"@agentproto/app-kit@0.5.0","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"homepage":"https://agentproto.sh/docs/aip-42","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"6f7c07d08b33f0a0ca12380e12582f1e3f7dca2f","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-0.5.0.tgz","fileCount":17,"integrity":"sha512-3+rhs+Zz3SD4zGxjvMYa3EhIARQmiSGb2viTPFEYEYrGTrs+hamwhNmXR0uLZBejYZXB6BN7xkX0Wt9TM/+F6A==","signatures":[{"sig":"MEUCIQCXzgaHUsX6VQqAFdAy54poxldOY3bjRn+xLON510KVyQIgPGzK4aUccUA2r4NSnzvF/knEjTSAbhZyvza6bc11FGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":102526},"main":"dist/index.mjs","type":"module","_from":"file:agentproto-app-kit-0.5.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"_resolved":"/tmp/515b880f14553065289fbffae6c1e8ac/agentproto-app-kit-0.5.0.tgz","_integrity":"sha512-3+rhs+Zz3SD4zGxjvMYa3EhIARQmiSGb2viTPFEYEYrGTrs+hamwhNmXR0uLZBejYZXB6BN7xkX0Wt9TM/+F6A==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.1","@agentproto/mastra":"0.2.5","@agentproto/workflow":"0.2.0","@agentproto/workspace":"0.1.0","@agentproto/workflow-loader":"0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.6.2","@mastra/core":"1.55.0","@agentproto/tooling":"0.1.0-alpha.0"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-kit_0.5.0_1786318696624_0.6926766582805144","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@agentproto/app-kit","version":"0.5.1","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"license":"Apache-2.0","_id":"@agentproto/app-kit@0.5.1","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"homepage":"https://agentproto.sh/docs/aip-42","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"62c711bf3a4341d3c2c3d696dfef4e49eee22dc7","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-0.5.1.tgz","fileCount":17,"integrity":"sha512-8TX6i3sfN5vMlDsfcKDuiFb1BU9MublNF+EzI3O9ZKY6NuOL3CwFZmMTTI/0eLfwylnpatP6XtQMqJLzTn98qQ==","signatures":[{"sig":"MEUCICGekeifZbbvx+6K9YGjDDrNZA7RXSkQiQTGPvrnVm+7AiEAtg95lBzXgY7IwJKza1ovWTMkSQz2D1oLzPeskc3bOP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":103990},"main":"dist/index.mjs","type":"module","_from":"file:agentproto-app-kit-0.5.1.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"_resolved":"/tmp/ebf71a2db8647307502abb12664d65e3/agentproto-app-kit-0.5.1.tgz","_integrity":"sha512-8TX6i3sfN5vMlDsfcKDuiFb1BU9MublNF+EzI3O9ZKY6NuOL3CwFZmMTTI/0eLfwylnpatP6XtQMqJLzTn98qQ==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.1","@agentproto/mastra":"0.2.6","@agentproto/workflow":"0.2.0","@agentproto/workspace":"0.1.0","@agentproto/workflow-loader":"0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.6.2","@mastra/core":"1.57.0","@agentproto/tooling":"0.1.0-alpha.0"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-kit_0.5.1_1786378971652_0.46286587753122976","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@agentproto/app-kit","version":"0.6.0","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"license":"Apache-2.0","_id":"@agentproto/app-kit@0.6.0","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"homepage":"https://agentproto.sh/docs/aip-42","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"7c296b8ad8dec7baa8ac78f730364ff292b02a78","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-0.6.0.tgz","fileCount":17,"integrity":"sha512-ymtd4S8RnUUAjw9p8/QRpLjMMNhVX8t8crFUoXqeHB7QXzwdFiPCvXyuBkHOfCNxk49mROWOzjaYTTI7jCWdPw==","signatures":[{"sig":"MEYCIQCqDBvUdnSawLiMwC9noc6GsweptU2ttgfec/4PMGumUgIhAOkjmHkmkqqPwaNnLD5SI5CuE6zB6f7J9bdW97yuY2lq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":119312},"main":"dist/index.mjs","type":"module","_from":"file:agentproto-app-kit-0.6.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"_resolved":"/tmp/d0a0af44310dbb8b527fa436fd3b4273/agentproto-app-kit-0.6.0.tgz","_integrity":"sha512-ymtd4S8RnUUAjw9p8/QRpLjMMNhVX8t8crFUoXqeHB7QXzwdFiPCvXyuBkHOfCNxk49mROWOzjaYTTI7jCWdPw==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"_nodeVersion":"22.23.2","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.1","@agentproto/mastra":"0.2.7","@agentproto/workflow":"0.2.0","@agentproto/workspace":"0.1.0","@agentproto/workflow-loader":"0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.6.2","@mastra/core":"1.57.0","@agentproto/tooling":"0.1.0-alpha.0"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-kit_0.6.0_1786492010893_0.1154091416092553","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@agentproto/app-kit","version":"0.6.1","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"license":"Apache-2.0","_id":"@agentproto/app-kit@0.6.1","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"homepage":"https://agentproto.sh/docs/aip-42","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"1b2b48cb7c8531192c6c28fe8a6bf9f08dd5e00e","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-0.6.1.tgz","fileCount":17,"integrity":"sha512-6JmixoeBDA5BllHLSHrhJBZ6LMWh2uSXWXJL6w6bdZ5tybxWTKUnmq9pqyH76gxfGk6evVQg6Dfm/JNWR78e5Q==","signatures":[{"sig":"MEUCIQC7uSXiVwa8GkbQKwgNhmcSNZ9xd/d7Kh0C77CXUoSJlgIgBPl+WBucLti7sZ4Y5hFbSH9kjpt619gKuHSMlCRb12k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120019},"main":"dist/index.mjs","type":"module","_from":"file:agentproto-app-kit-0.6.1.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"_resolved":"/tmp/ad41ce3f3f59598d2b9e92eafc4a6537/agentproto-app-kit-0.6.1.tgz","_integrity":"sha512-6JmixoeBDA5BllHLSHrhJBZ6LMWh2uSXWXJL6w6bdZ5tybxWTKUnmq9pqyH76gxfGk6evVQg6Dfm/JNWR78e5Q==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.1","@agentproto/mastra":"0.2.7","@agentproto/workflow":"0.2.0","@agentproto/workspace":"0.1.0","@agentproto/workflow-loader":"0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.6.2","@mastra/core":"1.57.0","@agentproto/tooling":"0.1.0-alpha.0"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-kit_0.6.1_1786671155580_0.13042060275431666","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@agentproto/app-kit","version":"0.7.1","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"license":"Apache-2.0","_id":"@agentproto/app-kit@0.7.1","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"homepage":"https://agentproto.sh/docs/aip-42","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"9c8a4e9343440902a0a866d204d6c6ced2ee8645","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-0.7.1.tgz","fileCount":17,"integrity":"sha512-XFG14zJTdOmgvWZCe/4P03ZYFDUdVrxl78BMPrqCdu2DpSMrrrz2hAHvgeIy8h9ohtp5TPgWPwzHAFWZwsCTiQ==","signatures":[{"sig":"MEUCIQCDOLUuGwQ0gLngUUjSeOre5VcYQy1CC7ij6ZMQdyvsTAIgYQ30ETu+6D1urYdsJkqd8LrGAHQq+CC2KR8qvGuga/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":123613},"main":"dist/index.mjs","type":"module","_from":"file:agentproto-app-kit-0.7.1.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"_resolved":"/tmp/e9ef7f08f5a85062546c4dd3d5d15160/agentproto-app-kit-0.7.1.tgz","_integrity":"sha512-XFG14zJTdOmgvWZCe/4P03ZYFDUdVrxl78BMPrqCdu2DpSMrrrz2hAHvgeIy8h9ohtp5TPgWPwzHAFWZwsCTiQ==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"_nodeVersion":"22.23.2","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.2","@agentproto/mastra":"0.2.9","@agentproto/workflow":"0.3.1","@agentproto/workspace":"0.1.1","@agentproto/workflow-loader":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.6.2","@mastra/core":"1.61.0","@agentproto/tooling":"0.1.0-alpha.0"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-kit_0.7.1_1788280173473_0.4509474002110545","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@agentproto/app-kit","version":"0.8.0","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"license":"Apache-2.0","_id":"@agentproto/app-kit@0.8.0","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"homepage":"https://agentproto.sh/docs/aip-42","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"f7af89d0616735d5a97f87af0f720fa584c52226","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-0.8.0.tgz","fileCount":17,"integrity":"sha512-+gUxTDcqcBP9gVGetrwvF5WgqrW/C9GbICaoHIyXC4I98p2EUCKHISJhIxNrvFLto0rQ5xyA9+ghSuZ8rsWYPQ==","signatures":[{"sig":"MEUCIQCqFU2MPNpR486A4xgivxgtCGi8g/oHFPQh9exppU89gAIgPwcm4uEhksUbVA9cpfh12hLQeZ1mh6svdAVgYMsxGK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":129822},"main":"dist/index.mjs","type":"module","_from":"file:agentproto-app-kit-0.8.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"_resolved":"/tmp/454ce9e7519665956272bdf7163d62b5/agentproto-app-kit-0.8.0.tgz","_integrity":"sha512-+gUxTDcqcBP9gVGetrwvF5WgqrW/C9GbICaoHIyXC4I98p2EUCKHISJhIxNrvFLto0rQ5xyA9+ghSuZ8rsWYPQ==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"_nodeVersion":"22.23.2","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.2","@agentproto/mastra":"0.2.10","@agentproto/workflow":"0.3.1","@agentproto/workspace":"0.1.1","@agentproto/workflow-loader":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.6.2","@mastra/core":"1.61.0","@agentproto/tooling":"0.1.0-alpha.0"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-kit_0.8.0_1788358991772_0.44697978679509376","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@agentproto/app-kit","version":"1.0.0","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"license":"Apache-2.0","_id":"@agentproto/app-kit@1.0.0","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"homepage":"https://agentproto.sh/docs/aip-42","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"e3cd34fe77a4a32a58a36ff08fba2b5369557a6f","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-1.0.0.tgz","fileCount":17,"integrity":"sha512-nSoThJ+dpI+b/yvPd9H/nwJDvBA8i63pixt5jRj0wF9c4VjM7MQMakUOzq99o+Of/eQrB8leGXz4Y+G0f76yJQ==","signatures":[{"sig":"MEQCIGGr7IFyqPKcWjbNj7uivtWyoru7i7bYltF2/XPg3C6PAiAJCTEZumKACI1g9hpvICKxlyL/APJ/FR58L4SAKA137A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132435},"main":"dist/index.mjs","type":"module","_from":"file:agentproto-app-kit-1.0.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"_resolved":"/tmp/ea4fd7757ff2b982a8c67d8b79950358/agentproto-app-kit-1.0.0.tgz","_integrity":"sha512-nSoThJ+dpI+b/yvPd9H/nwJDvBA8i63pixt5jRj0wF9c4VjM7MQMakUOzq99o+Of/eQrB8leGXz4Y+G0f76yJQ==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"_nodeVersion":"22.23.2","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.2","@agentproto/mastra":"0.2.11","@agentproto/workflow":"0.4.0","@agentproto/workspace":"0.1.1","@agentproto/workflow-loader":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.6.2","@mastra/core":"1.61.0","@agentproto/tooling":"0.1.0"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-kit_1.0.0_1788654507623_0.7456808119709559","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@agentproto/app-kit","version":"1.1.1","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"license":"Apache-2.0","_id":"@agentproto/app-kit@1.1.1","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"homepage":"https://agentproto.sh/docs/aip-42","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"5e912bf16272c9766a51534f5f40c4efaa8848c7","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-1.1.1.tgz","fileCount":17,"integrity":"sha512-pwXL1kef9gs/mZXmAz02VqVdO/YxMyu02HVx8CpmivDFj30EP5x508TDmX82pOPZU8CwBXzMTKvhi9nsyz7vcQ==","signatures":[{"sig":"MEUCIQCIcJTtOxlFgdBDF7/OgEZNTRl01a0PflfDB2HZNkyjBgIgMjZ1nMMJEYckvMkL4kqjZ++E4i5RB/1JsDo1KJBc0PM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":135118},"main":"dist/index.mjs","type":"module","_from":"file:agentproto-app-kit-1.1.1.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"_resolved":"/tmp/f247b1ba8f380c8b17aad0c215d2e748/agentproto-app-kit-1.1.1.tgz","_integrity":"sha512-pwXL1kef9gs/mZXmAz02VqVdO/YxMyu02HVx8CpmivDFj30EP5x508TDmX82pOPZU8CwBXzMTKvhi9nsyz7vcQ==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"_nodeVersion":"22.23.2","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.3","@agentproto/mastra":"0.2.13","@agentproto/workflow":"0.6.0","@agentproto/workspace":"0.1.2","@agentproto/workflow-loader":"0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.7","typescript":"^5.9.3","@types/node":"^25.9.5","@mastra/core":"1.64.0","@agentproto/tooling":"0.1.0"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-kit_1.1.1_1788960688026_0.4845648453730329","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"_id":"@agentproto/app-kit@1.2.0","bugs":{"url":"https://github.com/agentproto/ts/issues"},"dist":{"shasum":"226d2adc4dfdf64fd1381c6725834191f047960b","tarball":"https://registry.npmjs.org/@agentproto/app-kit/-/app-kit-1.2.0.tgz","fileCount":17,"integrity":"sha512-b/3x8bKlS5EF44MpbQYM5LLG1qNGDkH3Y3D9T5eUaVecymDqbUWIfaVXwfUsTb/+AhySkzyw5bfJKjNQJmJRUw==","signatures":[{"sig":"MEYCIQDhFG5D8+imWIFjgUAFUnHP5pXB1JS6E8bF/ivew0690AIhAIsI3hAbBrtUNz+FYqr1h7CqcjvU2m0l3INgqRu+SNJF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHgIPfmWCrWs6hweVP9v9T91BvPWx9L+AW19Seqogh2EAiEA5LdxwI92FLclzBrymA88imvwotMvq4JKJ8RBUaAA2/w="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentproto%2fapp-kit@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":139463},"main":"dist/index.mjs","name":"@agentproto/app-kit","type":"module","_from":"file:agentproto-app-kit-1.2.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"license":"Apache-2.0","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:watch":"vitest","check-types":"tsc --noEmit"},"version":"1.2.0","_npmUser":{"name":"agentiknet","email":"jeremy@agentik.net"},"homepage":"https://agentproto.sh/docs/aip-42","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"_resolved":"/tmp/6774dc1c5be38c25d2d07991c9986a35/agentproto-app-kit-1.2.0.tgz","_integrity":"sha512-b/3x8bKlS5EF44MpbQYM5LLG1qNGDkH3Y3D9T5eUaVecymDqbUWIfaVXwfUsTb/+AhySkzyw5bfJKjNQJmJRUw==","repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"_npmVersion":"10.9.8","description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","directories":{},"maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"_nodeVersion":"22.23.2","dependencies":{"gray-matter":"^4.0.3","@agentproto/agent":"0.2.3","@agentproto/mastra":"0.2.13","@agentproto/workflow":"0.6.0","@agentproto/workspace":"0.1.2","@agentproto/workflow-loader":"0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.7","typescript":"^5.9.3","@types/node":"^25.9.5","@mastra/core":"1.64.0","@agentproto/tooling":"0.1.0"},"peerDependencies":{"@mastra/core":">=1.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/app-kit_1.2.0_1789249497737_0.04867532593940593"}}},"time":{"created":"2026-07-19T14:39:13.861Z","modified":"2026-09-12T21:44:58.168Z","0.2.0":"2026-07-19T14:39:14.094Z","0.3.0":"2026-07-19T20:58:00.637Z","0.3.1":"2026-07-27T12:01:00.947Z","0.3.2":"2026-08-06T00:46:38.682Z","0.4.0":"2026-08-08T02:50:15.483Z","0.5.0":"2026-08-09T23:38:16.762Z","0.5.1":"2026-08-10T16:22:51.807Z","0.6.0":"2026-08-11T23:46:51.033Z","0.6.1":"2026-08-14T01:32:35.755Z","0.7.1":"2026-09-01T16:29:33.604Z","0.8.0":"2026-09-02T14:23:11.905Z","1.0.0":"2026-09-06T00:28:27.784Z","1.1.1":"2026-09-09T13:31:28.171Z","1.2.0":"2026-09-12T21:44:57.857Z"},"bugs":{"url":"https://github.com/agentproto/ts/issues"},"license":"Apache-2.0","homepage":"https://agentproto.sh/docs/aip-42","keywords":["agentproto","aip-42","aip-15","defineApp","agent","workflow","open-standard"],"repository":{"url":"git+https://github.com/agentproto/ts.git","type":"git","directory":"packages/app-kit"},"description":"@agentproto/app-kit — declare an agent (with its system prompt) and its workflows in one TypeScript module and import them anywhere. A thin umbrella over AIP-42 defineAgent + AIP-15 defineWorkflow: defineApp cross-links the two (every workflow agent-step ","maintainers":[{"name":"agentiknet","email":"jeremy@agentik.net"}],"readme":"# @agentproto/app-kit\n\nDeclare one or more **agents** (with their system prompts) and the **workflows**\nthey run in one TypeScript module, then import them anywhere.\n\nA thin umbrella over AIP-42 [`defineAgent`](../agent) + AIP-15\n[`defineWorkflow`](../workflow). It doesn't re-validate their fields — those ran\nwhen you built the handles — it validates the *coupling* and gives you two ways\nto consume the bundle: runnable Mastra agents, or emitted `.md` manifests.\n\n```ts\nimport { defineApp } from \"@agentproto/app-kit\"\nimport { defineAgent } from \"@agentproto/agent\"\nimport { defineWorkflow } from \"@agentproto/workflow\"\n\nexport const reviewApp = defineApp({\n  agents: [\n    {\n      agent: defineAgent({\n        schema: \"agent/v1\",\n        id: \"@agentik/reviewer\",\n        description: \"Reviews a PR diff and reports findings.\",\n        model: \"claude-sonnet-5\",\n        boundaries: [\"Never run gh pr merge\"],\n        workflows: [{ ref: \"review-and-fix\" }], // ← must match a bundled workflow\n      }),\n      body: `You are a rigorous PR reviewer. Report findings; change nothing.`,\n    },\n    // body optional — omit it and the prompt composes from the agent's\n    // persona / boundaries / traits.\n    { agent: defineAgent({ schema: \"agent/v1\", id: \"fixer\", description: \"Applies fixes.\", model: \"claude-sonnet-5\", workflows: [{ ref: \"review-and-fix\" }] }) },\n  ],\n  workflows: [\n    defineWorkflow({\n      id: \"review-and-fix\",\n      name: \"Review and fix\",\n      description: \"Read the diff, report findings.\",\n      version: \"0.1.0\",\n      inputs: {},\n      outputs: {},\n      steps: [{ id: \"review\", kind: \"tool\", tool: \"read_diff\" }],\n    }),\n  ],\n  attach: [ /* any AIP handle: AIP-6 company, AIP-25 persona, AIP-47 role, policy… */ ],\n  workspace: {                          // ← optional home workspace (AIP-34)\n    id: \"@acme/reviewers\",\n    name: \"Acme Reviewers\",\n    owner: { type: \"guild\", id: \"guild_123\", slug: \"acme\" }, // = the tenant\n    // storage defaults to { inline: { provider: \"local-fs\", config: {} } }\n  },\n})\n```\n\n## The tenant + local storage — it's the workspace, not a folder\n\nAn app can declare a home **`workspace`** (AIP-34 `WORKSPACE.md`). Reuse it\ninstead of inventing tenant folders, because AIP-34/35 already model both axes:\n\n- **Tenant** = the workspace's `owner` — `{ type: \"guild\" | \"user\" | \"org\", id, slug }`.\n  Not a `tenants/<t>/` path segment; an identity on the manifest.\n- **Local storage** = the AIP-35 `storage` block — `provider: \"local-fs\"` (also\n  `dev-local`, `local-ide`, `github`, `mastra-s3`, …). Defaults to `local-fs`.\n\nPass either a `{ id, name, owner, storage? }` **shorthand** (completed with a\nlocal-fs default + validated by `defineWorkspace`) or a pre-built\n[`defineWorkspace`](../workspace) handle. This is the same workspace model Guilde\nalready uses — a guild's `system` workspace mounted at `/.guilde` holding its\noperator / role / skill definitions.\n\n## Where is the system prompt? — it's the `body`\n\nThere is **no `systemPrompt` field anywhere in AIP**. An AGENT.md is\n*frontmatter (metadata) + body (the prompt)*, and the frontmatter schema is\n`.strict()` — so `defineAgent` structurally cannot hold prose. The prompt is the\n**body**, and it's optional: omit it and the prompt composes from the agent's\n`persona` (AIP-25), `boundaries`, and `traits` — the same way Guilde assembles an\noperator's prompt from AIP-47 role instructions + persona rather than a stored\nstring. `composeInstructions` (in [`@agentproto/mastra`](../mastra)) is the\nassembler.\n\n## The attachment invariant\n\n`defineApp` enforces the coupling: agent ids are unique; every `agent.workflows[]`\nref must resolve to a bundled workflow; every bundled workflow must be referenced\nby at least one agent. A dangling ref or an orphan workflow throws\n`AppDefinitionError`. `attach` carries any other AIP handle verbatim (structural\n`{ id }`), so a company, persona, or role rides along without app-kit depending\non each doctype package.\n\nAn app may also declare `requires: [\"@acme/shared\", ...]` — app ids that must be\napplied to the same scope before this one can run. The runtime validates the\ngraph when mounting apps via `app_apply`.\n\n## UI surfaces, artifacts, dev-launch, and the artifact surface\n\nBeyond agents and workflows, an app can declare four optional surfaces that\nround-trip through `emit` and `loadAppHandle` and are integrated into the\nruntime app registry:\n\n- **`ui`** — an HTML dashboard/panel. `html` is written to\n  `.agentproto/ui/index.html`; `APP.md` frontmatter carries the relative path\n  plus optional `title`, `description`, `tools`, and `csp`.\n- **`artifact`** — a persistent HTML dashboard (Cowork artifact). The app\n  provides a path to an HTML file on disk; `emit` copies it to\n  `.agentproto/artifact/index.html`. The daemon never writes the host manifest\n  — it exposes the content via `app_artifact_get`, and the host agent (Cowork)\n  calls its own `create_artifact` to register it.\n- **`skill`** — a Cowork skill directory. The app provides a path to a\n  directory containing `SKILL.md` (AIP-42); `emit` copies the entire directory\n  to `.agentproto/skill/`. The daemon exposes the content via `app_skill_get`,\n  and the host agent (Cowork) calls `save_skill` to register it. Install-time\n- **`artifacts`** — a list of artifact types the app's agents may produce,\n  declared for discovery.\n- **`dev`** — one or more local launch recipes (`name`, `runtimeExecutable`,\n  `runtimeArgs`, `port`, `url`) for running the app in development.\n- **`data`** — `{ dir }`, the app's default **data dir** hint, relative to the\n  app dir (`\"data\"` ⇒ `<appDir>/data`, which is also the daemon's default when\n  the hint is absent). This is where the `app_data_*` plane reads and writes —\n  kept distinct from the source dir so generated output can live elsewhere. It\n  is only a hint: `app_install { dataDir }` / `agentproto app install\n  --data-dir` override it, and the resolved absolute path is persisted on the\n  installed-app record. Reserved for later: a `store.sqlite` inside that dir\n  behind an `app_data_query` tool.\n\nAn app can also be **UI-only**: omit `agents` (or pass `agents: []`) when the\napp is a pure UI panel with no agent behavior of its own. In that case `ui`\nbecomes required — `defineApp` throws if both `agents` and `ui` are absent,\nsince an app with neither has nothing to do. A UI-only app still emits a\nnormal `APP.md` (with `agents: []`) and round-trips through `loadAppHandle`\nthe same way; `toMastraAgent`/`toMastraAgents` simply have nothing to build.\n\nThe three surfaces form the app's public contract:\n\n| Surface   | Type            | Emitted path                    | Daemon tool                     | Host side                     |\n|-----------|-----------------|---------------------------------|---------------------------------|-------------------------------|\n| `ui`      | MCP App panel   | `.agentproto/ui/index.html`     | `app_ui_<slug>` (MCP tool)      | Renders the panel in-app      |\n| `artifact`| Cowork artifact | `.agentproto/artifact/index.html`| `app_artifact_get`              | `create_artifact` (Cowork)    |\n| `skill`   | AIP-42 skill     | (future)                        | (future)                        | (future)                      |\n\n### Artifact surface flow\n\n1. The app declares `artifact: { path: \"/abs/path/to/dashboard.html\", title?, description? }`\n   in `defineApp`. `emit` copies the file to `.agentproto/artifact/index.html`.\n2. `app_install` reads the `artifact` block from `APP.md` frontmatter, resolves\n   the path, and persists it in the app registry.\n3. The host agent (Cowork) calls **`app_artifact_get`** with the `appId` — the\n   daemon reads the HTML file from disk at call time and returns `{ appId,\n   title?, description?, html }`.\n4. The host agent then calls its own **`create_artifact`** (host API) with the\n   returned HTML, registering the artifact in Claude/Cowork. The daemon never\nThe four surfaces form the app's public contract:\n\n| Surface    | Type            | Emitted path                        | Daemon tool                     | Host side                     |\n|------------|-----------------|-------------------------------------|---------------------------------|-------------------------------|\n| `ui`       | MCP App panel   | `.agentproto/ui/index.html`         | `app_ui_<slug>` (MCP tool)      | Renders the panel in-app      |\n| `skill`    | Cowork skill    | `.agentproto/skill/` (dir)          | `app_skill_get`                 | `save_skill` (Cowork)         |\n| `artifact` | Cowork artifact | `.agentproto/artifact/index.html`   | `app_artifact_get`              | `create_artifact` (Cowork)    |\n| `artifacts`| Decl types      | inline in APP.md frontmatter        | —                               | Discovery                     |\n\n### UI bridge API\n\nA `ui` panel runs inside an MCP Apps host (or standalone via `agentproto app\nserve`) and receives a `window.McpApp` bridge:\n\n- `callTool(name, args)` — invoke an MCP tool exposed by the host.\n- `sendMessage(content)` — push a user message up to the chat host.\n- `updateModelContext({ content?, structuredContent? })` — replace the model\n  context the host sees for this panel.\n- `openLink(url)` — ask the host to open a URL.\n- `onTeardown(cb)` — register a cleanup callback fired when the host tears down\n  the panel.\n\nIn a standalone browser tab, `callTool` proxies to the daemon's `/mcp` endpoint,\nwhile `sendMessage` and `updateModelContext` reject (there is no chat host).\n\n### Skill surface flow\n\n1. The app declares `skill: { path: \"/abs/path/to/skill-dir\", title?, description? }`\n   in `defineApp`. `emit` copies the entire directory to `.agentproto/skill/`.\n2. `app_install` reads the `skill` block from `APP.md` frontmatter, resolves\n   the path, validates the `SKILL.md` frontmatter (must have `name` and\n   `description`), and persists the record.\n3. The host agent (Cowork) calls **`app_skill_get`** with the `appId` — the\n   daemon reads the skill directory from disk at call time and returns\n   `{ appId, name, description, files: [{ path, content }] }`. Binary files\n   are skipped with a warning in the response.\n4. The host agent then calls its own **`save_skill`** (host API) with the\n   writes the host manifest directly.\n\n```ts\nexport const dashboardApp = defineApp({\n  id: \"@acme/dashboard\",\n  name: \"Operations Dashboard\",\n  agents: [/* … */],\n  workflows: [/* … */],\n  ui: {\n    html: \"<!doctype html><html>…</html>\",\n    title: \"Ops Dashboard\",\n    tools: [\"terminal_start\", \"agent_start\"],\n  },\n  artifact: {\n    path: \"/path/to/dashboard.html\",\n    title: \"Ops Dashboard\",\n    description: \"Live operations dashboard.\",\n  skill: {\n    path: \"/path/to/skill-dir\",\n    title: \"Dashboard Skill\",\n  },\n  artifacts: [\n    { type: \"image/png\", description: \"Generated cover illustration\" },\n  ],\n  dev: {\n    launch: [\n      { name: \"web\", runtimeExecutable: \"npm\", runtimeArgs: [\"run\", \"dev\"], port: 3000 },\n    ],\n  },\n})\n```\n\n## Consuming a bundle\n\n### `handle.toMastraAgents(resolvers)` — run them\n\nBuilds every agent, keyed by id, turning each `body` into a **real Mastra\n`instructions` field** via [`@agentproto/mastra`](../mastra). You supply the\nresolvers (model, tools, memory…).\n\n```ts\nconst built = await reviewApp.toMastraAgents({ resolveModel: (ref) => registry.resolve(ref) })\nbuilt[\"@agentik/reviewer\"].agent   // a runnable Mastra Agent\n```\n\n**Use just some of a team.** Pass `only` to build a subset instead of the whole\napp — so a host doesn't pay to build agents it won't run. Unknown ids throw.\n\n```ts\nconst built = await reviewApp.toMastraAgents({ resolveModel }, [\"@agentik/reviewer\"])\nconst [reviewer] = reviewApp.pick([\"@agentik/reviewer\"]) // select without building\n```\n\n`handle.toMastraAgent(resolvers)` is a convenience for single-agent apps (throws\nif the app has more than one). `@mastra/core` is a **peer dependency** — install\nit in the host if you call either. `emit` has no Mastra dependency.\n\n### `handle.emit(dir)` — ship them\n\nWrites the manifests under an **agentproto-owned base** — it doesn't squat the\nshared root `.agents/` convention:\n\n```\n<dir>/WORKSPACE.md                                      (AIP-34 root manifest — only when the app has a workspace)\n<dir>/.agentproto/APP.md                                (root index — always written)\n<dir>/.agentproto/agents/reviewer/AGENT.md\n<dir>/.agentproto/agents/fixer/AGENT.md\n<dir>/.agentproto/workflows/review-and-fix/WORKFLOW.md   (shared — a workflow may be run by several agents)\n<dir>/.agentproto/ui/index.html                         (only when the app declares a `ui` surface)\n<dir>/.agentproto/artifact/index.html                     (only when the app declares an `artifact` surface)\n```\n\nThe daemon's state root is migrating toward a `tenants/<t>/…` segment\n(AIP-46 / DESIGN.md §9); app-kit will add that segment once the daemon's tenant\nlayer lands, rather than inventing the shape ahead of it.\n\nAll manifests are plain markdown: frontmatter = the validated handle, body = the\nagent's `body` (AGENT.md) / the workflow description (WORKFLOW.md) / the app\ndescription (APP.md). Because a `defineWorkflow` handle is pure data, the\n`WORKFLOW.md` needs no `entry:` module — the manifest *is* the workflow, so\n`loadWorkflowHandle` returns it directly.\n\n### `APP.md` — the root index, and `loadAppHandle(dir)`\n\n`emit` always writes `<dir>/.agentproto/APP.md`: a `schema: \"app/v1\"` manifest\nwhose frontmatter lists every agent + workflow the app bundles as `{ id, path }`\nrefs (relative to `dir`), plus the app's own optional `id` / `name` / `version`\n(defaults to `\"0.1.0\"` when `id` is set) / `description`, an optional `requires`\narray of app ids it depends on, and, when the app has a home workspace, that\nworkspace's `id`. When declared, `ui` metadata, `artifacts`, `dev` launch\nconfigs, and the `data: { dir }` data-dir hint are also carried in the\nfrontmatter (the `ui.html` document is written next to `APP.md` and referenced\nby path). Nothing reads `AGENT.md`/`WORKFLOW.md`\nfiles on their own today — `APP.md` is the thing a future daemon `app_install`\ndiscovers and consumes.\n\n`loadAppHandle(dir)` is the inverse: it reads `APP.md`, loads each referenced\n`AGENT.md` / `WORKFLOW.md` (and `WORKSPACE.md`, if declared) with their own\npackage's loader, and re-runs `defineApp` on the result — so the attachment\ninvariant re-validates exactly as it did at authoring time.\n\n```ts\nimport { loadAppHandle } from \"@agentproto/app-kit\"\n\nconst app = await loadAppHandle(\"/path/to/emitted/app\")\napp.agents.map((e) => e.agent.id) // [\"@agentik/reviewer\", \"fixer\"]\n```\n\n## Runtime note\n\n`toMastraAgents` is the path where a `body` becomes a **true** model\n`instructions` field, because that wiring lives in the mastra adapter. The\ngeneric daemon session-spawn has no system-prompt field today (instructions ride\nin as prepended prompt text for CLI adapters), so an emitted AGENT.md reaches the\nmodel as a real system prompt only through a mastra-family runtime.\n","readmeFilename":"README.md"}