{"_id":"@agenteer/registry","_rev":"2-97ab640e3ca93b1be38df81da74eb412","name":"@agenteer/registry","dist-tags":{"latest":"1.0.0-rc.2"},"versions":{"1.0.0-rc.1":{"name":"@agenteer/registry","version":"1.0.0-rc.1","keywords":["agenteer","agent","registry","npm","publish","install","ajv","json-schema","manifest"],"author":{"url":"https://github.com/salehsquared","name":"salehsquared"},"license":"MIT","_id":"@agenteer/registry@1.0.0-rc.1","maintainers":[{"name":"salehsquared","email":"salehmostafamain@gmail.com"}],"homepage":"https://github.com/salehsquared/agenteer#readme","bugs":{"url":"https://github.com/salehsquared/agenteer/issues"},"dist":{"shasum":"40e85f2ba19737f17986c81ddc568a0862f2f4ca","tarball":"https://registry.npmjs.org/@agenteer/registry/-/registry-1.0.0-rc.1.tgz","fileCount":58,"integrity":"sha512-CzRGaHDfKl3Oy7Opl3Ckk2zT5HH8mu93Wd/q1w0pEU2ub7Ks1hHQP4ieBrkk1xlk/WopS9VBBM6q80P7KZKd1A==","signatures":[{"sig":"MEUCIQDGTnyllUTyiXcVsaM0eZVNIApCAkhHywPYSgkxaxYzTAIgXc5fi4h+mG7FOimrm0doiv+pgzLQy5A4bklMIm69Pss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213580},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"3cbe3b072857a24a3a496b120c69c4d01cc9a488","scripts":{"test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit"},"_npmUser":{"name":"salehsquared","email":"salehmostafamain@gmail.com"},"repository":{"url":"git+https://github.com/salehsquared/agenteer.git","type":"git","directory":"packages/registry"},"_npmVersion":"10.8.2","description":"Agenteer registry: publish, install, search, and pin Agenteer-shaped node packages via npm.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ajv":"^8.17.1","zod":"^4.3.6","yaml":"^2.8.2","ajv-formats":"^3.0.1","@agenteer/core":"1.0.0-rc.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/registry_1.0.0-rc.1_1776180477638_0.39228656412041585","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.2":{"name":"@agenteer/registry","version":"1.0.0-rc.2","description":"Agenteer registry: publish, install, search, and pin Agenteer-shaped node packages via npm.","keywords":["agenteer","agent","registry","npm","publish","install","ajv","json-schema","manifest"],"author":{"name":"salehsquared","url":"https://github.com/salehsquared"},"license":"MIT","homepage":"https://github.com/salehsquared/agenteer#readme","bugs":{"url":"https://github.com/salehsquared/agenteer/issues"},"repository":{"type":"git","url":"git+https://github.com/salehsquared/agenteer.git","directory":"packages/registry"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"engines":{"node":">=20"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc -b","typecheck":"tsc --noEmit","test":"vitest run"},"dependencies":{"@agenteer/core":"1.0.0-rc.2","ajv":"^8.17.1","ajv-formats":"^3.0.1","yaml":"^2.8.2","zod":"^4.3.6"},"devDependencies":{"@types/node":"^22.0.0","vitest":"^3.2.4"},"_id":"@agenteer/registry@1.0.0-rc.2","gitHead":"ee68c161faabbe38bd1f8c1118b3046dbb06ee55","_nodeVersion":"20.17.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-dvnOmWTGRdTlBYC/smBNb9WJjnjiJdsE6JDVYysdmYNDOhBETZprEE9EqTEZ4KeKLlbdvzi6IHJHDEH8glTBtg==","shasum":"bf7551b679ba60e44378bd58c265d57e5d889df8","tarball":"https://registry.npmjs.org/@agenteer/registry/-/registry-1.0.0-rc.2.tgz","fileCount":47,"unpackedSize":100935,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDwTFf8TbgQJH4vz70jvXPawHnclJQ8ZTc18WKjslXwbAIgRjV6Tm4tAASwr4sh31eraQxxNLeke2qqzwpPRPxoMFM="}]},"_npmUser":{"name":"salehsquared","email":"salehmostafamain@gmail.com"},"directories":{},"maintainers":[{"name":"salehsquared","email":"salehmostafamain@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/registry_1.0.0-rc.2_1776223124665_0.6947211636930626"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-14T15:27:57.530Z","modified":"2026-04-15T03:18:44.956Z","1.0.0-rc.1":"2026-04-14T15:27:57.773Z","1.0.0-rc.2":"2026-04-15T03:18:44.817Z"},"bugs":{"url":"https://github.com/salehsquared/agenteer/issues"},"author":{"name":"salehsquared","url":"https://github.com/salehsquared"},"license":"MIT","homepage":"https://github.com/salehsquared/agenteer#readme","keywords":["agenteer","agent","registry","npm","publish","install","ajv","json-schema","manifest"],"repository":{"type":"git","url":"git+https://github.com/salehsquared/agenteer.git","directory":"packages/registry"},"description":"Agenteer registry: publish, install, search, and pin Agenteer-shaped node packages via npm.","maintainers":[{"name":"salehsquared","email":"salehmostafamain@gmail.com"}],"readme":"# @agenteer/registry\n\nPublish/install/search helpers for [Agenteer](https://github.com/salehsquared/agenteer) node packages. The registry layer wraps npm directly and adds manifest validation, capability-diff prompts, provenance reporting, and `framework.lock` management.\n\n## Install\n\n```bash\nnpm install @agenteer/registry @agenteer/core zod\n```\n\nRequires **Node >= 20**.\n\n## What it does\n\n- **`publishNode(opts)`** — validates `framework.json`, enforces the package-name convention, and runs `npm publish`.\n- **`installNode(opts)`** — installs a node package into a workflow, validates it, computes the capability diff, records the install in `framework.workflow.yaml`, and pins the manifest hash in `framework.lock`.\n- **`searchNodes(opts)`** — keyword search over npm with curated-index annotations when available.\n- **`validateNodePackage(dir)`** — standalone validator with issue codes like `bad_package_name`, `missing_framework_keyword`, `id_mismatch`, and `manifest_load_failed`.\n- **`jsonSchemaToZod(schema)` / `compileNodeSchemas(manifest)`** — AJV-backed bridge for published JSON Schema manifests.\n\n## Naming convention\n\nNode packages must use the enforced scope/short-name convention:\n\n```\n@<scope>/node-<name>\n```\n\nExample: `@agenteer/node-file-read` or `@acme/node-bug-triage`.\n\n## Publish flow\n\n```ts\nimport { DefaultNpmRunner, publishNode } from \"@agenteer/registry\";\n\nconst result = await publishNode({\n  pkgDir: \"./my-node\",\n  npm: new DefaultNpmRunner(),\n  dryRun: true,\n});\n\nif (!result.ok) {\n  console.error(result.validation.issues);\n} else {\n  console.log(result.manifest_id, result.manifest_hash);\n}\n```\n\n`PublishResult` reports the validated manifest id, package version, manifest hash, provenance status, and whether the run was a dry-run.\n\n## Install flow\n\n```ts\nimport { DefaultNpmRunner, installNode } from \"@agenteer/registry\";\n\nconst result = await installNode({\n  spec: \"@acme/node-bug-triage\",\n  workflowDir: \"./my-workflow\",\n  npm: new DefaultNpmRunner(),\n  autoApprove: false,\n  confirm: async ({ summary_text }) => {\n    console.log(summary_text);\n    return true;\n  },\n});\n\nif (!result.ok) {\n  console.error(result.reason);\n}\n```\n\nA third-party package with `dynamic_actions: true` ignores `autoApprove` and requires an explicit confirmation callback response.\n\n## License\n\nMIT — see LICENSE.\n","readmeFilename":"README.md"}