{"_id":"@agent-workspace/utils","_rev":"6-5636165baacc40f4af19b8fff6688100","name":"@agent-workspace/utils","dist-tags":{"latest":"0.9.0"},"versions":{"0.5.0":{"name":"@agent-workspace/utils","version":"0.5.0","keywords":["awp","agent","workspace","protocol","utilities"],"license":"Apache-2.0","_id":"@agent-workspace/utils@0.5.0","maintainers":[{"name":"marcoloco23","email":"marcsperzel1@googlemail.com"}],"homepage":"https://github.com/marcoloco23/awp#readme","bugs":{"url":"https://github.com/marcoloco23/awp/issues"},"dist":{"shasum":"f44a525582517e93eb3a39237c5db50b70495aac","tarball":"https://registry.npmjs.org/@agent-workspace/utils/-/utils-0.5.0.tgz","fileCount":30,"integrity":"sha512-x8bFQSCc5UoGw5lckuVDYMxGw9YYR0qobqTswU4bRDHd+AVcXDNdTBCFcIoiWYHLRB+qKK419xaDgK3QOtX1Aw==","signatures":[{"sig":"MEYCIQDeSfQJkBvWBRQwjaNP/OV2mOULnNdlVcEq6X9C7x2vywIhAKJFSAh6KnGIY5sennPBVKEjIIUCnK9IoLt47dzkbrDs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66386},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"682fafb5ceae3f805269cf7d24d372d65cd99607","scripts":{"dev":"tsc --watch","lint":"eslint src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"marcoloco23","email":"marcsperzel1@googlemail.com"},"repository":{"url":"git+https://github.com/marcoloco23/awp.git","type":"git","directory":"packages/awp-utils"},"_npmVersion":"11.4.2","description":"Shared utilities for AWP packages — validation, reputation calculations, and frontmatter parsing","directories":{},"_nodeVersion":"22.14.0","dependencies":{"gray-matter":"^4.0.3","@agent-workspace/core":"0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.5.0_1769848059940_0.637649237509947","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@agent-workspace/utils","version":"0.6.0","keywords":["awp","agent","workspace","protocol","utilities"],"license":"Apache-2.0","_id":"@agent-workspace/utils@0.6.0","maintainers":[{"name":"marcoloco23","email":"marcsperzel1@googlemail.com"}],"homepage":"https://github.com/marcoloco23/awp#readme","bugs":{"url":"https://github.com/marcoloco23/awp/issues"},"dist":{"shasum":"337040e33614ad9cf4fb6bf58dd8367ce068e332","tarball":"https://registry.npmjs.org/@agent-workspace/utils/-/utils-0.6.0.tgz","fileCount":30,"integrity":"sha512-IMP84GpN/1V9ZMRbuROf+2iOp77frBXEIqhp/knGhIo8bPxT8rud1aTkcxtAaNGPsTCvN4Fy+SpLlmFEoW2ODA==","signatures":[{"sig":"MEUCIQCuF+DriJ/9QDmPsWvm78O7frhQVZVdX3NjaSMIWVPuYQIgVZIHZERSOVu/72Cb6QChU6yAFFSRN40DMhFscok1FPs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66386},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"02489021b138aa6fec50257010f2628b9d254a56","scripts":{"dev":"tsc --watch","lint":"eslint src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"marcoloco23","email":"marcsperzel1@googlemail.com"},"repository":{"url":"git+https://github.com/marcoloco23/awp.git","type":"git","directory":"packages/awp-utils"},"_npmVersion":"11.4.2","description":"Shared utilities for AWP packages — validation, reputation calculations, and frontmatter parsing","directories":{},"_nodeVersion":"22.14.0","dependencies":{"gray-matter":"^4.0.3","@agent-workspace/core":"0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.6.0_1769850095301_0.3958573519763551","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@agent-workspace/utils","version":"0.7.0","keywords":["awp","agent","workspace","protocol","utilities"],"license":"Apache-2.0","_id":"@agent-workspace/utils@0.7.0","maintainers":[{"name":"marcoloco23","email":"marcsperzel1@googlemail.com"}],"homepage":"https://github.com/marcoloco23/awp#readme","bugs":{"url":"https://github.com/marcoloco23/awp/issues"},"dist":{"shasum":"162012d8e0a613575399a4ddf97be22035631704","tarball":"https://registry.npmjs.org/@agent-workspace/utils/-/utils-0.7.0.tgz","fileCount":30,"integrity":"sha512-rMp/AOo63kX9ZD4ud1bYngrCBiBnTZyEV9iv3Pol55k5dmf851Ls1MkPB0snZcwfzTqvRXTGhe9Ph+emG5PKxw==","signatures":[{"sig":"MEYCIQDO+gTd22J5DheokOQFOXYSIpNskgr1YlkBVIJNQEpYJAIhAK0r3thIz5fTVayOBRmJgPPbrOp2GPlVUdpC3ABzBDcw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66386},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"d90e23f32d9d313aa1cbaf381757fb8b40bae04c","scripts":{"dev":"tsc --watch","lint":"eslint src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"marcoloco23","email":"marcsperzel1@googlemail.com"},"repository":{"url":"git+https://github.com/marcoloco23/awp.git","type":"git","directory":"packages/awp-utils"},"_npmVersion":"11.4.2","description":"Shared utilities for AWP packages — validation, reputation calculations, and frontmatter parsing","directories":{},"_nodeVersion":"22.14.0","dependencies":{"gray-matter":"^4.0.3","@agent-workspace/core":"0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.7.0_1769851809035_0.20484333393090415","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@agent-workspace/utils","version":"0.8.2","keywords":["awp","agent","workspace","protocol","utilities"],"license":"Apache-2.0","_id":"@agent-workspace/utils@0.8.2","maintainers":[{"name":"marcoloco23","email":"marcsperzel1@googlemail.com"}],"homepage":"https://github.com/marcoloco23/awp#readme","bugs":{"url":"https://github.com/marcoloco23/awp/issues"},"dist":{"shasum":"6b495f84720cc5c59275a3b0596948f976b1ff27","tarball":"https://registry.npmjs.org/@agent-workspace/utils/-/utils-0.8.2.tgz","fileCount":38,"integrity":"sha512-h5ExtFfaMIG12ttCE62rP6oEMxwvWPaVTkT0UPvKIvxsIfXVjZji5enKSe6IUDfweLIXNTTwX8FBqWOJX7g2Ng==","signatures":[{"sig":"MEQCICPKZzK9nHuT3W7R/NBemBDFDGNAYVEhFFLz8D+Kb/TuAiB/3VP+4gVnYhs2lg/bkDNKQoge17YmGk36uFIuEFPpSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107521},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"bdcfa1c95c1fb44ac41f84b30d97717ed5706a0d","scripts":{"dev":"tsc --watch","lint":"eslint src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"marcoloco23","email":"marcsperzel1@googlemail.com"},"repository":{"url":"git+https://github.com/marcoloco23/awp.git","type":"git","directory":"packages/awp-utils"},"_npmVersion":"11.4.2","description":"Shared utilities for AWP packages — validation, reputation calculations, and frontmatter parsing","directories":{},"_nodeVersion":"22.14.0","dependencies":{"gray-matter":"^4.0.3","@agent-workspace/core":"0.8.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.8.2_1769860954842_0.3363959870152011","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@agent-workspace/utils","version":"0.8.3","keywords":["awp","agent","workspace","protocol","utilities"],"license":"Apache-2.0","_id":"@agent-workspace/utils@0.8.3","maintainers":[{"name":"marcoloco23","email":"marcsperzel1@googlemail.com"}],"homepage":"https://github.com/marcoloco23/awp#readme","bugs":{"url":"https://github.com/marcoloco23/awp/issues"},"dist":{"shasum":"b8d476b1d0da6285083072c396b48a8940647cee","tarball":"https://registry.npmjs.org/@agent-workspace/utils/-/utils-0.8.3.tgz","fileCount":38,"integrity":"sha512-s0fRYE9f1AMqfobIlso3pOPzj6W76e8pucEjktnjVaDrOANtX0DJXgyBLRuRuNMu7Gqx6LkKSCY7dIykVcj8KQ==","signatures":[{"sig":"MEUCIQDBj/dE4aJ6kozxi8BVWY2gi6hc0XKY7rA43AthqwoSAgIgV7Bq3kCfIU0iLvkTzTxNq38h38YLxjdjoh/leoXav4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118560},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"dcf0cbcdcfcd55df864fbe60628776fbda20a406","scripts":{"dev":"tsc --watch","lint":"eslint src/","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"marcoloco23","email":"marcsperzel1@googlemail.com"},"repository":{"url":"git+https://github.com/marcoloco23/awp.git","type":"git","directory":"packages/awp-utils"},"_npmVersion":"11.4.2","description":"Shared utilities for AWP packages — validation, reputation calculations, and frontmatter parsing","directories":{},"_nodeVersion":"22.14.0","dependencies":{"gray-matter":"^4.0.3","@agent-workspace/core":"0.8.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.8.3_1769871075454_0.9325304735928253","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@agent-workspace/utils","version":"0.9.0","description":"Shared utilities for AWP packages — validation, reputation calculations, and frontmatter parsing","license":"Apache-2.0","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/marcoloco23/awp.git","directory":"packages/awp-utils"},"homepage":"https://github.com/marcoloco23/awp#readme","keywords":["awp","agent","workspace","protocol","utilities"],"engines":{"node":">=18"},"scripts":{"build":"tsc","dev":"tsc --watch","lint":"eslint src/","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"dependencies":{"@agent-workspace/core":"*","gray-matter":"^4.0.3"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.7.0"},"_id":"@agent-workspace/utils@0.9.0","gitHead":"e90f6c73b1f90d03a5a30f00b1a16875821c4248","bugs":{"url":"https://github.com/marcoloco23/awp/issues"},"_nodeVersion":"22.14.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-JB+v/KcjkzVBdG3tjnaugeN5DV+Pgquz1UoJIHth/OYJmnLFxMKnbPKVXEZmbgZb3XEbMytpRz1Th+zwvvGaIQ==","shasum":"76cfb5e4efeed72903bfb41f2951732770f50689","tarball":"https://registry.npmjs.org/@agent-workspace/utils/-/utils-0.9.0.tgz","fileCount":38,"unpackedSize":118586,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICi3w+5L1GMLv6LyNKPl/c+MoPsX5frMINtjqea5qV2lAiB7pCJbWERC6FUFeA/kZf8ju1xsvxa8tmXKev3s5DYStQ=="}]},"_npmUser":{"name":"marcoloco23","email":"marcsperzel1@googlemail.com"},"directories":{},"maintainers":[{"name":"marcoloco23","email":"marcsperzel1@googlemail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/utils_0.9.0_1769890287580_0.044955449645412315"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-31T08:27:39.850Z","modified":"2026-01-31T20:11:27.863Z","0.5.0":"2026-01-31T08:27:40.092Z","0.6.0":"2026-01-31T09:01:35.446Z","0.7.0":"2026-01-31T09:30:09.177Z","0.8.2":"2026-01-31T12:02:34.981Z","0.8.3":"2026-01-31T14:51:15.589Z","0.9.0":"2026-01-31T20:11:27.723Z"},"bugs":{"url":"https://github.com/marcoloco23/awp/issues"},"license":"Apache-2.0","homepage":"https://github.com/marcoloco23/awp#readme","keywords":["awp","agent","workspace","protocol","utilities"],"repository":{"type":"git","url":"git+https://github.com/marcoloco23/awp.git","directory":"packages/awp-utils"},"description":"Shared utilities for AWP packages — validation, reputation calculations, and frontmatter parsing","maintainers":[{"name":"marcoloco23","email":"marcsperzel1@googlemail.com"}],"readme":"# @agent-workspace/utils\n\nShared utilities for the [Agent Workspace Protocol](https://github.com/marcoloco23/awp) packages.\n\n## Installation\n\n```bash\nnpm install @agent-workspace/utils\n```\n\n## Usage\n\n### Validation\n\n```typescript\nimport { validateSlug, sanitizeSlug, validatePath } from \"@agent-workspace/utils\";\n\n// Validate a slug\nvalidateSlug(\"my-artifact\"); // true\nvalidateSlug(\"Invalid_Slug\"); // false\n\n// Sanitize and validate (throws on invalid)\nconst slug = sanitizeSlug(\"My-Artifact\"); // \"my-artifact\"\n\n// Validate path is within root (prevents traversal)\nconst safePath = validatePath(\"/workspace\", \"artifacts/doc.md\");\n```\n\n### Reputation\n\n```typescript\nimport {\n  computeDecayedScore,\n  updateDimension,\n  computeConfidence,\n} from \"@agent-workspace/utils\";\n\n// Compute decayed score (decays toward 0.5 over time)\nconst decayed = computeDecayedScore(dimension, new Date());\n\n// Update dimension with new signal using EWMA\nconst updated = updateDimension(existingDimension, 0.9);\n\n// Compute confidence from sample size\nconst confidence = computeConfidence(10); // ~0.5\n```\n\n### Frontmatter\n\n```typescript\nimport {\n  parseWorkspaceFile,\n  writeWorkspaceFile,\n  serializeWorkspaceFile,\n} from \"@agent-workspace/utils\";\nimport type { IdentityFrontmatter } from \"@agent-workspace/core\";\n\n// Parse a workspace file\nconst identity = await parseWorkspaceFile<IdentityFrontmatter>(\"IDENTITY.md\");\nconsole.log(identity.frontmatter.name);\n\n// Modify and write back\nidentity.frontmatter.lastModified = new Date().toISOString();\nawait writeWorkspaceFile(identity);\n```\n\n## Part of AWP\n\nThis package is part of the [Agent Workspace Protocol](https://github.com/marcoloco23/awp) monorepo:\n\n| Package | Description |\n|---------|-------------|\n| [@agent-workspace/core](https://www.npmjs.com/package/@agent-workspace/core) | Types, constants, JSON schemas |\n| [@agent-workspace/cli](https://www.npmjs.com/package/@agent-workspace/cli) | CLI tool |\n| [@agent-workspace/mcp-server](https://www.npmjs.com/package/@agent-workspace/mcp-server) | MCP server |\n| **@agent-workspace/utils** | Shared utilities |\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}