{"_id":"@abgov/nx-agent","_rev":"58-45c16ae69659f81b946999d95c3fe070","name":"@abgov/nx-agent","dist-tags":{"beta":"1.18.0-beta.4","latest":"1.30.1"},"versions":{"0.0.0":{"name":"@abgov/nx-agent","version":"0.0.0","license":"Apache-2.0","_id":"@abgov/nx-agent@0.0.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"c2621c9fa7d72cd03b5c83a58185e57694ee7f7a","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-0.0.0.tgz","fileCount":16,"integrity":"sha512-M7XP2OI+wBS11LlC9OFfvGmt9DWs7vAQGZXfxEVf3wcQWxX39DDKF5Jp30IV8m5PzMIomjjuGjLkcwSzW0P0kQ==","signatures":[{"sig":"MEYCIQCU71R5Vgt6gCLP2bxp73LGqvS5JO3VMuJtExHh+ilVbwIhAKeMkDRA42AzE9+70udAHIdu+cr5PySMub+bOZOyFh/1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19779},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"501e7e106ae628b6b2c22287141458bdce689315","scripts":{},"_npmUser":{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.8.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_0.0.0_1784740976079_0.7606611880568486","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@abgov/nx-agent","version":"1.0.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.0.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"a0a7a5ef68f489d1d62a2dc47fb6091f9bb125c5","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.0.0.tgz","fileCount":16,"integrity":"sha512-gSvkKz2KvKMqy5H+aVHmgEiq6s5W0Yp0i14UaMdIiUe/OuPH6wf3NG0uMwxlFOX3uzhgBkjChtqLsoYhqau0Kg==","signatures":[{"sig":"MEQCICKjXoPIo/YMCM8kH3Q9buB56XaYPmOh8L7qZXVkk2hdAiBLz0wVX+HXlK6JfZKNIDnV+wYuy1U8IDcLBfZB9jcowg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":19780},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"ea15b47781792bc39b58b297090ec62645b91078","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.17.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.0.0_1784742748441_0.060704405794689054","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@abgov/nx-agent","version":"1.1.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.1.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"d802a1fbad00dece54ca8556eaf37bda1e1b055d","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.1.0.tgz","fileCount":16,"integrity":"sha512-gxwzrcwuuuBQMBvdZbN/eke/z/9qcubZuvZ8h4hLCwdrE/NoEhCCkl3kJrJQgy25Mp+GVStroCajotQyCdLOqw==","signatures":[{"sig":"MEUCIQDqnpjwp8G0LdAOizC2LvhgKhOjwyvKjfu/8fj5WUKoRQIgdrpfLkMmOw4QMFG+rkPE0Rk74/6WJXWZO1pTSeFIMXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32309},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"d96992b9176acb6844496c6ae8a6e6f8b3648152","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.17.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.1.0_1784743944338_0.14900160311237998","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@abgov/nx-agent","version":"1.2.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.2.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"e2112e97dbd5a7075afa6e5758e9afedaa42d494","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.2.0.tgz","fileCount":37,"integrity":"sha512-kyWULcpgbptGGTePEsS8IRXQJouc7PZD0un8Z+S1ajHE1zcArcbgre+be4E5M9T9t/rHXNNJVAIMF67+Ey17bw==","signatures":[{"sig":"MEUCIQCyaf2mMRyNFGDzJscjtOoaZOMa26obpQQ6CP+zYw9z7wIgL9QyfkaH6WV8Kb9c0qPUFIES2ruIJHJ/Do+9lL45Xhg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54337},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"c4954efcb3c244a1f2933b1f77002f57473072a6","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.17.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.2.0_1784751676575_0.4686229621572475","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@abgov/nx-agent","version":"1.3.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.3.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"7e8fb467a27e275e529892e8f7756278618e4d42","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.3.0.tgz","fileCount":44,"integrity":"sha512-x6XAS4q3t1JQdQ7D1UQdBzzLywSRZaOZ9HlJz/yCRWL1X/YoWcNJjV65UO/Ock++hnEX9+eOfBtQoyktHzrOLQ==","signatures":[{"sig":"MEYCIQCgsiXv+cl6EEi5eDbvVf0orDFeCufly/GjCZxhJ+8KpwIhAI+FurpZMcM2TA9SaxJfRD8TH0ZM30LcjIC/mRd0p1+V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68342},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"a63270c6a2d6316e806972ff554202c9ca3f1c94","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.17.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.3.0_1784823351440_0.611126463736428","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@abgov/nx-agent","version":"1.4.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.4.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"9c8a227b63fe5f9ccd00733457ebfb0dd6aafd53","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.4.0.tgz","fileCount":44,"integrity":"sha512-EBCJ0fvJoqz0LgKg4FLKYKcV4cHR6kn9QApR3AieIAPXL5cObtorWg6wyL74vEx1C9bb6ousNuOmebObOl0wLg==","signatures":[{"sig":"MEUCIAwh3zx8PapqW/hXoInjP+Y47FBFM/TLoo58er789kITAiEAv1U9S/azZMmtg5uGcmAvrqyDF9Kz7a84kL0rY8CjE40=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68998},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"494b0a1f82c7d04c4ec50398f9442c36b8321c46","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.17.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.4.0_1784829664070_0.5735799584369032","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@abgov/nx-agent","version":"1.5.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.5.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"a25b5711fd8d74d33b91e5d037bcb9230b44b6ad","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.5.0.tgz","fileCount":44,"integrity":"sha512-CIgMHzZl8+yVdn19X0eGErrQaGad4cUB7tGd2y7LPbb69w8yky6J4bIF74w6xgNtBjEKSrjGsIyv7JxFLbWttA==","signatures":[{"sig":"MEUCIQDLAtxzw+Hdu9wDGLuOXntZjKgQHz6yRoVYIG524Oq2sgIgL8A7VGWZf0RfAkwuQESaPyszJyyTnAjPBovhC0W1DJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75825},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"eac4757027775868450036817d4200f95b62bf4a","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.17.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.5.0_1784832589814_0.24719790300967337","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@abgov/nx-agent","version":"1.6.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.6.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"e8619479b081a6bfa7a3972a7d215a56577a1b63","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.6.0.tgz","fileCount":44,"integrity":"sha512-fhB0Y+X8zst1w/6iagKzZole+QkOzZ4SZIvyIbBErKzGEFRTd1JX4aLwQsjOvdWjQIz40fC5S7E+FfEk2QhW1g==","signatures":[{"sig":"MEUCIQD4PC+nPh2uCkuhH0HHMHMSl0lX1CFiVzVmQrcEY5MX9wIgdUEerjNYmJB1UzXgte1wh3Zvil5yNmdT0JJ3aDNxvi4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":78715},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"0cb460ad1ce78cd43dd68b63e440b27bb8df4a73","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.6.0_1784834682719_0.9661433639678116","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@abgov/nx-agent","version":"1.6.1","license":"Apache-2.0","_id":"@abgov/nx-agent@1.6.1","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"add0d29b46364c23e2fbe80b2520143750df1f52","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.6.1.tgz","fileCount":44,"integrity":"sha512-d5EF4uCaK0eZ+yy/GCCCZxVwfP0DnhVThbYL+tJl6D2rEfCLZ1WTtGR3/gnhinOAT1FlUzAwOIYcVe0csVltWQ==","signatures":[{"sig":"MEUCIQCg0zZ5AbXZIFidTcUEz7O0wXneROPy6JMhzJmRPgYOUwIgai0l4f6jEaWdOHzb7csS7PjMgmK6QhQdUpoSxtCg4gk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80320},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"27c2d300018c1816f54c78fd24d5e9b3e3a6a094","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.6.1_1785170653343_0.7061530594040271","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@abgov/nx-agent","version":"1.7.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.7.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"6ed8a049bcf9e5eed4b81f18736fdc3ebbd7e63f","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.7.0.tgz","fileCount":58,"integrity":"sha512-wcGLGkSWkFKDm0r7mbI/8zp0IFCBxhfvjyAcuPVzZhjhI5rPvghuyt6DwF5qGfz8uUAhWYMbmNNzfrixgqxOdQ==","signatures":[{"sig":"MEUCIQDdE+k/wwGZoSGL/MEQT1+t193vaHeGKFIXnrfEdXCfgQIgW0AObA9LAtrId5bB96P0aRAdFro4+Yz7PHso1TcbCB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":140437},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"d8f6bec00d124c243c6eba27516ac30f416705df","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.7.0_1785195900919_0.9704224161212234","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@abgov/nx-agent","version":"1.8.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.8.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"3a2422b1efa1104e5a30bf437a2f7b7d1acdc22e","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.8.0.tgz","fileCount":79,"integrity":"sha512-GeJPi7xBgfx5s2M+1RVevrPJI2qFfEpgtaVo58ed4d/lLS+MwIvhtYqcp1HSpJclbf5ygdl+ER8eWYWE4ZUJRw==","signatures":[{"sig":"MEUCIGxsp7Lr4KUU6qKPlUJH9GFG0CTH+txVdXda4IDWxxhvAiEA1Ag6+ISjLdXoRd3VmSWovrALNM4CD1atyd2Jcnq9Asc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":185730},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"a1f54c006b1e3bc08c95390b574768a9d5e72cfe","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.8.0_1785208738497_0.6382735955874945","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"@abgov/nx-agent","version":"1.8.1","license":"Apache-2.0","_id":"@abgov/nx-agent@1.8.1","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"9be1e0ed2d1857c3ede037ed6273040e06e715f4","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.8.1.tgz","fileCount":79,"integrity":"sha512-ACBERDDfFckfQLwhQemnnOy4mwBgDD42B3TWjtU24CgL+CLYri+s7sKZ730PL/D1CHbxWT+SHDaqK0gF5EDFkA==","signatures":[{"sig":"MEQCIGklgDCDCPFm2tsEDRXYWJvIzazpiRWTN1llo8IdvQMtAiAwQ4bQstpDSa257ia7wm44utscaCFYdtzIaiv9B3Kjmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":188392},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"891383701a4896a26c893a6dfc81a5c7306c72d9","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.8.1_1785210623234_0.29082872752629285","host":"s3://npm-registry-packages-npm-production"}},"1.8.2":{"name":"@abgov/nx-agent","version":"1.8.2","license":"Apache-2.0","_id":"@abgov/nx-agent@1.8.2","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"dd1e7394328e8b3d6ddc118975dc599b1288183e","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.8.2.tgz","fileCount":79,"integrity":"sha512-271BhGLrGdWiD1R69pSoTgDhwbLxWeLJGuCOU9MQtQbnyPf8FmtyR++Hgo3Uzwz0pQY4HUGH/F1qiRi7vt6F+g==","signatures":[{"sig":"MEUCIBBY2sOS5IWmdbuuxRxnH/JWlxJfvLnVMoT6QDXDEBxVAiEA5cVQhtRMYaohMw/8L4uftdEZKZaYpWx8Nsa6/mrCapE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":189386},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"c2d96e218ff1f51dba321a93df7b5155fb39f849","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.8.2_1785259666992_0.9753256005988562","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@abgov/nx-agent","version":"1.9.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.9.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"a3570279ffb9b6342bcddc2d7949e7111dbbc9b8","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.9.0.tgz","fileCount":80,"integrity":"sha512-8EhoOpGMiIPeC2pAg6TnMmVHAWgHOytPyNOgqIhd+Nkg26jFS2zQVYpXwNprmTKsnbA1NoYUeg94SqGV4M7FmQ==","signatures":[{"sig":"MEUCIQDMh98RtU4Wctj2OELeaZTK12fJeAVEIhAx3K291KgylwIgNxYWSzDytlVFsiJ7iQG3zHJrww/AAzgW7ZhRwkNCxtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":190975},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"e482c9a20afa08f528791bb1f0625c37f0c3d488","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.9.0_1785268326664_0.5092582609594356","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@abgov/nx-agent","version":"1.10.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.10.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"631621fac8ccee77a565d32644aa38bc98c32904","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.10.0.tgz","fileCount":81,"integrity":"sha512-j5hbccaoA5KePyTcfG64K8KZmEbQAb3FOF1QEBiKhbWl9UmiFP9zzygYWolml6dMAICrvfHyhWM5QBDAoq3GxQ==","signatures":[{"sig":"MEUCICICRHawBJg0MaHnsD8n3WFOmtZofqy72FOZwXWyyXxkAiEA1cc/ZP30QFgAfA6UAsC+T4ZuGOxP/JBanqRQJBGRtIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":191878},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"417e964d928a62d2711382bd901106f4153d380f","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.10.0_1785332974142_0.20472617606805765","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@abgov/nx-agent","version":"1.11.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.11.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"c8a8d32d812ac66af676dbd346884a349b0b8220","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.11.0.tgz","fileCount":81,"integrity":"sha512-P+mVs2vXDcuaSUy1tuF37XMiZ08tNtC3hf/lmVieTRocAltvNBbDgUIaN55sFP5OSgMhHfMnsHRdnYvAqqnY5w==","signatures":[{"sig":"MEUCIF+IbN7XVWGiwKO3TOD1he78FlbgRaT/G9rW7gTkecXkAiEAkCkzfHSPfylO7RGC1S5b8BnBH6UY63gzNIkNsqpVpvw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":194313},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"75d8a23695493f2b33d8e50213d23ab444bf7e98","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.11.0_1785336730185_0.030048057765709624","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@abgov/nx-agent","version":"1.12.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.12.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"ccdfffc93c928a9b0476f750c676e3b1ba5c0185","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.12.0.tgz","fileCount":95,"integrity":"sha512-UgD68lb9I08qNO2AniTPvsVTZktul9MzeB96xjpnuuu00Y/jQAXSaxQ9aNoFw039vHD0hpAcomk5WXuXgltpfQ==","signatures":[{"sig":"MEUCIQDv5RL5j3RKRbJnA3Ivg7mzvKwDfWiC5XvTNbtjglb6TwIgRvycg+8zN6bQDxLb3Jr4iSVmQUjk/6OcGBvr/DevBd8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247068},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"7a17bee548bcbc59827cb7c91237811c16f05af4","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.12.0_1785356117086_0.9872887956678393","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"@abgov/nx-agent","version":"1.13.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.13.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"16d54a0ed48be66026719e8d687ac9c5ad645205","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.13.0.tgz","fileCount":105,"integrity":"sha512-xNo/DRkT35fsG6LC2VSCiaI70w72WvPmmSwnuq/2/OJ3HzI7sxJ9Egg3M/c6abN2f/PK30NjxLumf8PUhlLLVg==","signatures":[{"sig":"MEYCIQD/zryPs3YnOjp8iCIBcFuqwRHBJqMgBpyIejQoIu5yhwIhAKuRg4bH1lGhoA+3My+xt4lRrJjrXcjRcpLJ997xLUdM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":305962},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"602b34c53938a8524095ce3c658e2f292a0d0ba4","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.13.0_1785430137138_0.10448159999879447","host":"s3://npm-registry-packages-npm-production"}},"1.13.1":{"name":"@abgov/nx-agent","version":"1.13.1","license":"Apache-2.0","_id":"@abgov/nx-agent@1.13.1","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"1be373ec7abbb30aacb4eea86f2af3b1f45d8947","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.13.1.tgz","fileCount":105,"integrity":"sha512-jBOC7LjFg69t/oKIPa2Ee/wBMWaJ4LlWQJe1Sv8oSFWC1u2OhkoPL9knYKTxC98sHRh9Wqr6srEVfFQLImJYkw==","signatures":[{"sig":"MEQCH1AY8629bYLUcpHdEFz+Saou6ktS3qoo9QyDnZkOPT0CIQDgNWAZHfmB/XjGiMp/bHifGifd1AGvpcR4SNTO3yKdLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":314091},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"6bc8c0d322359d2197791864c514b5760699bd84","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.13.1_1785430948718_0.2668907510182934","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"@abgov/nx-agent","version":"1.14.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.14.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"ce7b9dd8698cc468200f94509fcec88971a1bb3b","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.14.0.tgz","fileCount":112,"integrity":"sha512-fll1byRL+XanilfCZoeVlQcik+K9JOBoHns0AqzGgSwy+eRQm1wCvIhMZssL/NQe7u4hRYJMNm7gHdP+51j1aw==","signatures":[{"sig":"MEUCIQDKoEGE5p6CxPGPtARATU7mf7XtxCx+PRbpGNOHVAtk/AIgEncB0pZbaTpvkrT5RAIgnQD4Zftkn0lNVjryYtpNj4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":338552},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"8fcaf45a4b6b728b01803abcb2d94075c452398d","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.14.0_1785440325825_0.5843415725383199","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"@abgov/nx-agent","version":"1.15.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.15.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"29ea6a5f6534fb8405232f6bbd1b36187e930be0","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.15.0.tgz","fileCount":112,"integrity":"sha512-UEuoOMqQCA5tTivgrUxoas7RScmJzkNA77dIMc3jC+atum2ikXtPUl3CmNdQOh+kzRh0gnckcOAPi9cdlHO95A==","signatures":[{"sig":"MEYCIQC7XuJ2kkD4n9fOrgyyXiCsV9m4QeBlFZF9d6U8i+PtAwIhAI6DGRlM5ilV6EXpRpzikZCAFTAm01W41wRueNiwSW7b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":343916},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"a0a2c4dc6483d9141b805f911ccdca008745f92b","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.15.0_1785444086631_0.775840475459546","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"@abgov/nx-agent","version":"1.16.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.16.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"e4768b8c608c0fa16d47b44b2aa08c04b968737b","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.16.0.tgz","fileCount":145,"integrity":"sha512-wITYPtQI4LFS1YV6bWwjPjjgkZxFsfKFnpMBi9PmYAgtYTqd13n5ue5jqv4BwfvCrQEWk6qq2ZtkAi94Olrkfg==","signatures":[{"sig":"MEQCICJSk46pUFOSa10l6xD59ZCdjljSOg94OZJJ6Em7FimSAiBvJTZ7R6Tj90uupMXgezBuNKZuerioLpPbWAdFWpg0aw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":480889},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"b4136cd5ddfea9ac0579f55099c8683773e589e3","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.16.0_1785471315183_0.12782716413764694","host":"s3://npm-registry-packages-npm-production"}},"1.16.1":{"name":"@abgov/nx-agent","version":"1.16.1","license":"Apache-2.0","_id":"@abgov/nx-agent@1.16.1","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"50606f93126c3d1ada200b16cef59822b9674b2a","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.16.1.tgz","fileCount":145,"integrity":"sha512-tS2MdaBn49/POOMIfgaPd3wCVG75w3+hfGiFscqRFOQNmx00IaN0Y2b/4mwd7UttC1iwSv3C1x1mChNzvyvI7w==","signatures":[{"sig":"MEUCIQCQaM/JDwPtxa21dGZkZsVu8nyEnmFmI47alp0RWp/xSQIgPgqRDAtWX2sS+Ee+75O4tNZrr+g0T4d3KFtDJBCHVBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":481466},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"460a81052561af279b5e69949b4231459a6e79ec","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.16.1_1785473636089_0.3712475708202849","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"@abgov/nx-agent","version":"1.17.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.17.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"c985027e495180d774e1ac992a2816673355081e","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.17.0.tgz","fileCount":149,"integrity":"sha512-6bUSNesBEWY8+MajDkNiYKyHeu2uPUAWZTEWA8zAhSaecgUPcv/F9w4vh7XB+1OdUSfn7Tzoa16Q5ID7mQExYg==","signatures":[{"sig":"MEUCIQC+N+yubMidvpUpYOLNI9XIKp++aS7x8ordyg3RsjBh/gIgINBiPzDdSLkIAgZIouEJ0FQDEG30HR3rgwm8Fq9TH+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527291},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"64dc0c07066f0b9a48a390b24279b7d2d742c36a","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.17.0_1785510519475_0.38653137819313677","host":"s3://npm-registry-packages-npm-production"}},"1.18.0-beta.1":{"name":"@abgov/nx-agent","version":"1.18.0-beta.1","license":"Apache-2.0","_id":"@abgov/nx-agent@1.18.0-beta.1","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"2e3d2802ae36d95777f95658202facee3e48757e","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.18.0-beta.1.tgz","fileCount":149,"integrity":"sha512-UNPdCVfavU4g/qE3a0JPn15fU/ugVM+evbUc9mCLqsraDtVGHjQQukTfM8hoGm0r+rsp0vOerA9IBgri9mEMTw==","signatures":[{"sig":"MEUCIDk6tkCIvvMdjzQPcTAvjDmSmT5eJssiYcI4TrqCB6iyAiEAhr03msSyj+/BvO8XZZ3m1KuJ2miAaHa0ChQda8Fjibw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.18.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":530847},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"7b0f84d429f2ae928f51c1495ffcd715016f3b7e","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.18.0-beta.1_1785688280353_0.5867343089476829","host":"s3://npm-registry-packages-npm-production"}},"1.18.0-beta.2":{"name":"@abgov/nx-agent","version":"1.18.0-beta.2","license":"Apache-2.0","_id":"@abgov/nx-agent@1.18.0-beta.2","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"afe8196742a252e111ab45106fcbf6a99943dae8","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.18.0-beta.2.tgz","fileCount":149,"integrity":"sha512-8GSwgkcmU03qbnQl9O8XFfsub/W7OZ79GkZZq0mGPuFOQUa177kVYNUj1iBYQg0I6B+ERduTFHWUnNeptLaYZg==","signatures":[{"sig":"MEQCICb2UJoCnLka+g9hdqaBW6oyygpoCU4yNswyvf+Bn4U1AiBL5H7dwKxjRFtkD7a9uELOG74uhVe1FnaEndxC0oT5bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.18.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":529084},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"d9b6b70131fba9c4826b64e97a0715b5d64f21ba","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.18.0-beta.2_1785693340242_0.6654617858372833","host":"s3://npm-registry-packages-npm-production"}},"1.18.0-beta.3":{"name":"@abgov/nx-agent","version":"1.18.0-beta.3","license":"Apache-2.0","_id":"@abgov/nx-agent@1.18.0-beta.3","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"4819a9f74e4323621c344d26c3d5d7edb037ed6b","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.18.0-beta.3.tgz","fileCount":150,"integrity":"sha512-acmfvbLerChFDWvuxwzv5d1c16B37DlmTApnPvpBtdN5RCv/M+Z0OWPexRvK7yISssV5zXU/F8XweVsQFiznpg==","signatures":[{"sig":"MEUCIQC5XjTGT5K87CgAAYl3TEoGrYgQ7nfoh/kg1jr9bh4iAgIgZynu+rA576Eu5Ni0WlL9dsgthjWEqBEy2E62khKRm5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.18.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":534897},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"c1f37bff69eee3639b51c9e11b6a053a8e3ff358","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.18.0-beta.3_1785772508019_0.5540388534987783","host":"s3://npm-registry-packages-npm-production"}},"1.18.0-beta.4":{"name":"@abgov/nx-agent","version":"1.18.0-beta.4","license":"Apache-2.0","_id":"@abgov/nx-agent@1.18.0-beta.4","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"c4b9b07ae24cb472da150774ec52cb0a0538b53a","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.18.0-beta.4.tgz","fileCount":150,"integrity":"sha512-32t+x4UvjtlkYkAkIt/p2NivFfWM9f8so9UrHwLc1Z1ud7pdZO9y0rxnz+CI/Yd6JDc7Z7pFNzvDWoTj5roZwQ==","signatures":[{"sig":"MEQCIAUZRYnFIFxox0IakAu0sKu9d6knEBRiTl6JvRQPBT0qAiA214OpRnr/QG7Y5O7oVZlsnPCOAgGxg10hOfAMh0ifcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.18.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":534897},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"a593f66ba0693ef9574a69eff0fb26ddff0b547b","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.18.0-beta.4_1785777123346_0.26555643215586966","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"@abgov/nx-agent","version":"1.18.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.18.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"7eacbad443c36db196367a9ba0b1b40b8366d206","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.18.0.tgz","fileCount":150,"integrity":"sha512-z95wBEtq0ccM1I4kO21IJZKFHBKntzLsSdNyHmfRTKUV2erLlwZUyKSPfY7gbuzt6C64rA1OLfp5vb8mCyYxpw==","signatures":[{"sig":"MEUCIQCjp+mNgt2JNRXycyPlTiCykexvEiveOfC3EObo/GZV5gIgLjTk2iOh2sxVBnreOvj5Ff8VQ51pXQCUWESoq3qawSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":534890},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"c07613212a9f50da2cf87bfe8caad1316e54dafe","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.18.0_1785800541776_0.7086656888260288","host":"s3://npm-registry-packages-npm-production"}},"1.19.0":{"name":"@abgov/nx-agent","version":"1.19.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.19.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"72408aed40e709a38767839327b6fea91c387639","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.19.0.tgz","fileCount":150,"integrity":"sha512-0pqJkF2W1Oz0DMqK0dAPj5qg7aIHPYLxQz1DOba5yx5je+R3QeAFgknIZGaeDjI+AfykwbIt8f7CEjz/gkQc+Q==","signatures":[{"sig":"MEUCIBt1fxfq3J9y6vq3PspZ9u2hUoQZBt+a3QnkNDrupbtNAiEAoICsAyfhhd7ZM4+Q6IG57dcmx9K6WQpb5I24JNruRzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":574500},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"d89986eeca4d9867f18c2aae8b15a2b2eeeecdcd","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.19.0_1785861667315_0.15893668389327198","host":"s3://npm-registry-packages-npm-production"}},"1.19.1":{"name":"@abgov/nx-agent","version":"1.19.1","license":"Apache-2.0","_id":"@abgov/nx-agent@1.19.1","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"cc562240515394e346f00c5d6f98caccc2fb1580","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.19.1.tgz","fileCount":150,"integrity":"sha512-+mhZ8i3/yTguezOdLEDxlNvL+bYCIrYjDbNWS3fQxGphHrFT/QDk5dm0rmqV1aAp33U0U4JR0i9IBH93dM+PTg==","signatures":[{"sig":"MEUCIQCiwPFJKJ5BkqdAjBl689ihmEajnoVvclLtLm5/II3lzQIgNA05PHXcdfZhSKgz6EZ/qA1k6LYBMIqtU42rGPfzK/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":576257},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"2b9ec2b5775d418465006fc42df34e6772cea52b","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.19.1_1785867928772_0.7920986599969135","host":"s3://npm-registry-packages-npm-production"}},"1.20.0":{"name":"@abgov/nx-agent","version":"1.20.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.20.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"fa6fe7bc211e91255180d589b998ce539189bb86","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.20.0.tgz","fileCount":150,"integrity":"sha512-5ji/Y8Wv7c3KSBXd3OP0I8FNQtHYOzfTbgr7DurR//MCNITfDwjc9uiIxng2GBRKrv2W5995abczgLcdpHJp0g==","signatures":[{"sig":"MEQCIBV1jjbkMgiOLmA1CHdSqRjL6Xt0NwWyxz8VhMzl46/JAiA1qCOPDdBA/D5pfMHdOSCz8J+e/Qb8toXdYG+yzPkmvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":576722},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"12421ec49ec73044a6bcf57b1f316c0f04cea627","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.20.0_1785869506872_0.783733303759959","host":"s3://npm-registry-packages-npm-production"}},"1.21.0":{"name":"@abgov/nx-agent","version":"1.21.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.21.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"9b236d6dc9582b360eba711dd8257b7f6083815e","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.21.0.tgz","fileCount":157,"integrity":"sha512-yYymdpSMdm8KVcQAaZjdGg1AdWpYXK7DbElg2CFzfuCv5bNDP/5xvFP7TBz44yn9CpzyUQyZ7FCDtVJnXP4f6A==","signatures":[{"sig":"MEUCIQCkOFkKddCzq5yRz0PdPHhohvmXK6Ts5r1EPFGpxL9jvAIgc4/j8kdQj1V9811CwCyWQAVLh8Iy3fduKZkt66Mnt5I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":605086},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"e87473b4b549518e046bd4053acc95fc6a4c19ea","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.21.0_1785874852706_0.9470243799899907","host":"s3://npm-registry-packages-npm-production"}},"1.22.0":{"name":"@abgov/nx-agent","version":"1.22.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.22.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"0253fd5e5952bc04f163e14401d7a44ad6a220ec","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.22.0.tgz","fileCount":169,"integrity":"sha512-0cJvbf1a99lsulHoiVGSok4aKmH60rWKpqVP2GOBmnZU0J+RW27DVThdxJZto39lPlAk4KgtSAX4cfvVQPfELw==","signatures":[{"sig":"MEYCIQDP6bdEA3FV8KFGkzwfdsl6WvorIGCgz+TLLgW3Yf9pkAIhAIY6wERHXkRva9fG7ntSyzoZ4OSAhA7knCPDu854OYng","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":632960},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"69409264e9b42782f77a3c320ac2e51cf886626f","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.22.0_1785943567413_0.2988316895348362","host":"s3://npm-registry-packages-npm-production"}},"1.22.1":{"name":"@abgov/nx-agent","version":"1.22.1","license":"Apache-2.0","_id":"@abgov/nx-agent@1.22.1","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"17b18b9e21cecce836e1edb20f58a4eef5711eb1","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.22.1.tgz","fileCount":169,"integrity":"sha512-dNknErPlaXZOwm1CYc/T4V0l6+2aoiH/c6QuLjrQ99jDSic0sVVocUTp1lacvpO2ZZNGB3hlMNqIfDjAfN37ig==","signatures":[{"sig":"MEQCIExO/FPS4yZ9dFJw10JkFmnu5xA3cj0zHbvlg6jx0HTaAiB+8eZ8hYPNqBf3wIIxvEjGzvOirid1tuQlv4RVVDE/yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.22.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":633093},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"b9c98508212295623f93591cb62b5fee22027933","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.22.1_1785952401167_0.13000853036739168","host":"s3://npm-registry-packages-npm-production"}},"1.22.2":{"name":"@abgov/nx-agent","version":"1.22.2","license":"Apache-2.0","_id":"@abgov/nx-agent@1.22.2","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"bba827129ddbd22499469ccf4e28c4483261960d","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.22.2.tgz","fileCount":169,"integrity":"sha512-l00MKGaJA2gDVwwUPX5rojjZfPcfbTnIT8dJ0W1WyBPYh4xO00SxlJPs4B1PiuBIt30TXQPq0+HI7kNe+/N+iQ==","signatures":[{"sig":"MEUCIAKjppMGc/fgYpUWD+qiHGu9luaflElZyHW5NgAl+ZBRAiEAoirPyOeeQYX/vgchFwS1HDnAXj4MVtFWVhPewPNlay8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.22.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":635216},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"c251e55d74eb3f308cb6c028879732d5944e1e49","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.22.2_1785955570401_0.44900551138767253","host":"s3://npm-registry-packages-npm-production"}},"1.23.0":{"name":"@abgov/nx-agent","version":"1.23.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.23.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"bcce5cccc43cf5bd1ffc1a1cfd6d9ee59e719a73","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.23.0.tgz","fileCount":169,"integrity":"sha512-ExDbLi1CG6XMfXle80H3ZRgVHBu9Ym/Whqisc9io8HAWV6CuyiBfjQQKtw1PD9T8JGP2V60QIi91vW4FEPgDJA==","signatures":[{"sig":"MEUCIQCVBdORqQ4iVgl/nUp67nWKkvAFW8bNzLcJVGDMbsOgMwIgH+BJCoSdQML3j7w22zSkV++TyXX6qDpxsTKyyv2rOLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":635216},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"90d5879096ba3634950e4a025ae9c413046c713b","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.23.0_1786066056738_0.46427076602817285","host":"s3://npm-registry-packages-npm-production"}},"1.23.1":{"name":"@abgov/nx-agent","version":"1.23.1","license":"Apache-2.0","_id":"@abgov/nx-agent@1.23.1","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"aeb76e152dda74baf5e9c7e8fe38a668e88d9736","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.23.1.tgz","fileCount":169,"integrity":"sha512-tGnFPUrOCraSdUiqalqZ1mpWKLqDK4BZYRk8Uzne6Ny7tOye7asdH7SBR61aT4GGlTKde0M/IOxuCsOz2rslAQ==","signatures":[{"sig":"MEUCIBa8uTk1va26wBa75UpKIj3XdLgKLfDSIjCIkFl1gdTzAiEAjZVXDiqxRycAJzod//q3xhNKXIa/p1WMIgrjY6IdcG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.23.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":635216},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"5116c40cfa30700e02172e45bdc29bc105f8f6d0","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.18.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.23.1_1786075932303_0.741835471906289","host":"s3://npm-registry-packages-npm-production"}},"1.23.2":{"name":"@abgov/nx-agent","version":"1.23.2","license":"Apache-2.0","_id":"@abgov/nx-agent@1.23.2","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"9050f3a420c6870cb6985dadcd55cf6afebbc8ed","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.23.2.tgz","fileCount":169,"integrity":"sha512-Rm94mVYDksa5EBIh3pAkITEFOnjv59PeJVwI5qMFMTTqMHMgdHliz3xDfL3xnftKgRnxhJkhonweiiiWNQadfQ==","signatures":[{"sig":"MEUCIAnAIy5q0FSVo8HuLUvdDYFGdZzKSVOUFcEfeoU/U+blAiEA2HweWykrb783n2IyhCDVFkAjxn9cPTZQFiHkltsu9CA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.23.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":635216},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"e9fa16d1247aad3fb658d92ba1e6b8bef42de7bb","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.23.2_1786985788115_0.9217375577991402","host":"s3://npm-registry-packages-npm-production"}},"1.24.0":{"name":"@abgov/nx-agent","version":"1.24.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.24.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"2a3e43b0ba412a80e9666a8dccf0cda401f4872e","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.24.0.tgz","fileCount":170,"integrity":"sha512-moLPnWj4rXL7d/qjiQfeCebwKP51UGtS6Mv3iDX/ysusT7HOyTfluv9VatNuPyoopb+suS/sz2E3x8Yi4yliCg==","signatures":[{"sig":"MEUCIAqnZdUzPIEsXoQi+pa0NquJaJLtEsSHT0Hpr+Sxa5TpAiEAt17flH+VNDoaMs4Cd6d3+T0rgUkvZa0Y+0QFPzQspXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":640529},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"235dcd4873138e9bd0e304ec452fed0cda3380bb","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.24.0_1787004618996_0.38325215859849204","host":"s3://npm-registry-packages-npm-production"}},"1.24.1":{"name":"@abgov/nx-agent","version":"1.24.1","license":"Apache-2.0","_id":"@abgov/nx-agent@1.24.1","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"4619883d9d14c9e355a4485fd5243f443526e184","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.24.1.tgz","fileCount":170,"integrity":"sha512-hlqdqT2ahgSGJP/1ZPFiUNHpWrRW68+SvijPiEKeOqBjiGKUjOW9qvMamG55ct6mtCULLQ22fWjKDe14/VPI2w==","signatures":[{"sig":"MEQCIH8mfOztdFj6eK9QGXbKGUdknyLgK0AOo4d0VrERrXj2AiAgiiDOZgrGBMzhMqtMSGMzkRqkaqcuJ2L/ab9Ckmjjig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.24.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":641132},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"73b80b55425581cef09999572998e73b35bca264","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.24.1_1787076815725_0.5517346741151012","host":"s3://npm-registry-packages-npm-production"}},"1.24.2":{"name":"@abgov/nx-agent","version":"1.24.2","license":"Apache-2.0","_id":"@abgov/nx-agent@1.24.2","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"8e9ee282fd31095a4c89d74416eb066d9206476b","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.24.2.tgz","fileCount":170,"integrity":"sha512-dohWe0gnsVCWYfD55/I3BewVOiZl32IRdgLK9zwp3ekb2tInCtUPT2AqQxgznahx0XtSFfXIyH9HW9gnjX3PFQ==","signatures":[{"sig":"MEYCIQDFgfN9k8ibZYwOnXGhRj38oJoL1tbmnWqjTdafZs+VQwIhAJxnU9OSWCEHW9I5Z7QyOag7Xq3Qq5sSQC4lMFG6Qey8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.24.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":641247},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"8305976b8b16ea97fe16e4263d89493fb23a874a","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.24.2_1787083460881_0.2041477844754016","host":"s3://npm-registry-packages-npm-production"}},"1.24.3":{"name":"@abgov/nx-agent","version":"1.24.3","license":"Apache-2.0","_id":"@abgov/nx-agent@1.24.3","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"6469c7e9749501b59aaeacbc4d022b259491b0b8","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.24.3.tgz","fileCount":170,"integrity":"sha512-akFBIIAtVhPC6Kh33Ip3WzhUbdGJDQLwdy8+FEksDOdPrlQOfRhWvfOqFaTvh54e1ikr80loewGbH4c6QYbbdw==","signatures":[{"sig":"MEQCICclSZNB3Yh+EYQDr7nFgWQYP0gvfgkFqfooCdVP/fxAAiA5BkCizR6oo4kglbQITTjooUDbhInoF0+B75r2499LUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.24.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":641254},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"75936417abc0126eb8d10b34eafc24b939860aa3","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.24.3_1787161464839_0.41385733818348847","host":"s3://npm-registry-packages-npm-production"}},"1.24.4":{"name":"@abgov/nx-agent","version":"1.24.4","license":"Apache-2.0","_id":"@abgov/nx-agent@1.24.4","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"71ab3a0560a653fd5c17d2b9722eeaa1cf515036","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.24.4.tgz","fileCount":170,"integrity":"sha512-Jjj4h3sYTifrLtk6gQdRXNzSgCjpXG2qCGvnUJl8JBWYmdQTbRUN3N3/fK70KL6PiqM6g/pVmCI/0bqN/d9fHw==","signatures":[{"sig":"MEUCIQDhuTeYGizyqwhf0gRJZKKkluNEq591m8qfrvr3hCaEdAIgErrK5pgltqG9+i+3ZjMkfPQdPTFj9rB3S/1EK0Yi/d8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.24.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":641152},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"f79e9e6cb916fc1a43cc45e929deb88da06b874e","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.24.4_1787164480950_0.8892601678255241","host":"s3://npm-registry-packages-npm-production"}},"1.25.0":{"name":"@abgov/nx-agent","version":"1.25.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.25.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"d53d7635e8c09c6fd99b95fbff9c13788c3ffcb7","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.25.0.tgz","fileCount":170,"integrity":"sha512-sd8w0dqtTzdsTf7mcw7F2R1YdMmrp5chnruSnJ6mD7NRhnz2g5ja79IiVGJVfBf3AIKP//xyKLE72UDoRngrZA==","signatures":[{"sig":"MEYCIQCDcysQOij5nb4byt9KvFfvrHTz+QP+I7wON+C/yzyQagIhAKxrFqJf0pH+SswYOunJMa+D8wsO+CvOCHn6H+xD6RBN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":641152},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"058646344064a513dc34ed451ec269df426762d8","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.25.0_1787247468172_0.11816625248458745","host":"s3://npm-registry-packages-npm-production"}},"1.26.0":{"name":"@abgov/nx-agent","version":"1.26.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.26.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"32e6d93f60a284e6d742193dc34c456d932fb5c2","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.26.0.tgz","fileCount":170,"integrity":"sha512-Z/4/f0WGbv33J5bcG8KV+j12R+1Zj1Wr5seq2MOSC+nz9yU1/GWFeg2Db8js5t+6cm7lpjf6uWdlzIycJcNsjg==","signatures":[{"sig":"MEUCIQD9orw+hXFZMwC733ty/Bxg6+xl3bCk4k87igUFmo/3NgIgEf9R6+P5yR72mOExr6am8dIpjiX6HLyTjJLLrRzgHq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":642333},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"b5a7cb1ad6cb12ac707b88166d05c4a038c6f279","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.26.0_1787322512408_0.19372148277785306","host":"s3://npm-registry-packages-npm-production"}},"1.26.1":{"name":"@abgov/nx-agent","version":"1.26.1","license":"Apache-2.0","_id":"@abgov/nx-agent@1.26.1","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"1fef907db0e4eee14d24193e1511d33e424fc749","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.26.1.tgz","fileCount":170,"integrity":"sha512-e7SQWxhF0V6j6497CrEAMFdMARlmPsgmUHMEWx7t7qnrLqkqxI+b3AWL3idLz2ODNX8dPcibzY8/L20tMEJPDw==","signatures":[{"sig":"MEYCIQCxBHzEWv5zVMz++5WVC/ewbIUqwu8Ofs1lGEqQrh7W7QIhALEEqUWidKlAkN+MNOzthuOYy29ryvQOIUB7dO2LZv/3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.26.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":645443},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"06fce02f8c6b3f3704965b3ef4e8315e54b59ebb","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.26.1_1787323304746_0.7563387488351636","host":"s3://npm-registry-packages-npm-production"}},"1.26.2":{"name":"@abgov/nx-agent","version":"1.26.2","license":"Apache-2.0","_id":"@abgov/nx-agent@1.26.2","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"6eedbf798bd7342c8d31774574102917d2b1b71d","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.26.2.tgz","fileCount":170,"integrity":"sha512-5XCwgnU+fdcErJ1MM46wuw+wR965X1zgwH7NpvG95fGeja12MX5KDevnv9CPl/1EMoI0rjpNH8NVcYg9ZGd7dg==","signatures":[{"sig":"MEQCIBGpGGK/3XgYATBt7Q7oh1phGbrTNL2gTCXjqvf/QIZ3AiB2+MW8OB7UmJSNec0q57bqP2909fimQX9SvPdEEf4X6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.26.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":645712},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"bb4633d61a7a16efab5bdcbe43b19185b08f431a","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.26.2_1787586940804_0.32942887401161425","host":"s3://npm-registry-packages-npm-production"}},"1.27.0":{"name":"@abgov/nx-agent","version":"1.27.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.27.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"00dd6781329a8119f292d7d4e402e40ef43f4b46","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.27.0.tgz","fileCount":170,"integrity":"sha512-V4jcxS+TkGZFLFEuHElYH+LPr++b7V8gunMGQAdWB9kM/O/zdAqCK/resNsaNhgOxcPx3OE5RpS0AF3LfhJ5pw==","signatures":[{"sig":"MEUCIQDFyzYrqGzEsbGZ6cBw8e5e+vYU4q+pS4YKEQdAhz8uAAIgKlFqrqYHgwBlsKa1dZkftbzRHdDvgEi/GF7i2uqKTNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.27.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":647860},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"478df7180eba4c0ddff4dd35a042332b9e3cd1ca","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.27.0_1787587742806_0.6074436875476832","host":"s3://npm-registry-packages-npm-production"}},"1.27.1":{"name":"@abgov/nx-agent","version":"1.27.1","license":"Apache-2.0","_id":"@abgov/nx-agent@1.27.1","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"8c81063312b6aa3523fcb0554118753ba78f7dbc","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.27.1.tgz","fileCount":170,"integrity":"sha512-hPlCxbM5zdmTEdI/lfl0O8BGcw0ogYI3OmjOoweO+ivuYzdNyNOADuthW48HeO5UBbyBSRnWxga8DEI6tihN+A==","signatures":[{"sig":"MEUCIQC95ihlnKKwLzZL11E5tieZ3gdoKbcNsmDXlD4D6amEqwIgMEmUt+/AaAVZawncCAlbVzC+pSTzehgxZK2YCod8qHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.27.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":647860},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"13e4f78fe039a660760cffe21e2396bebc9e39f4","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.27.1_1787601197957_0.23620077429617203","host":"s3://npm-registry-packages-npm-production"}},"1.27.2":{"name":"@abgov/nx-agent","version":"1.27.2","license":"Apache-2.0","_id":"@abgov/nx-agent@1.27.2","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"ff06f034894abea0286a9aa7d024fd413eb46305","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.27.2.tgz","fileCount":170,"integrity":"sha512-kRQaJ+vjT1o76dqpqiCERSVu6S5emSMRXGhaF5DHTxoMzsZTLjM6gturvWnD1NLydmVduYWrx15WbGTOc/fILA==","signatures":[{"sig":"MEUCIQCfXS/IghkuHT6xvdJ/YEYSpsUjLDykKnbrCsCcs4ATNAIgD2qMPDrgVIiKkLw1Hthduhru8sQh+pMrIDp1SsKaims=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.27.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":648336},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"2eead9401b781f119f8d118f0e94c1913e5e8913","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.27.2_1787672395945_0.5538061405869827","host":"s3://npm-registry-packages-npm-production"}},"1.27.3":{"name":"@abgov/nx-agent","version":"1.27.3","license":"Apache-2.0","_id":"@abgov/nx-agent@1.27.3","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"22a6e0b98c9ed96f7d56a3c468ca2738074058e4","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.27.3.tgz","fileCount":170,"integrity":"sha512-CF518Ms/kEw4hNz9/l9OBhDf3qwYgkzxKSS7di7YKQdm0yXaaEwdSvu+yoJPyk0n7nbDcCIIs3QODQo1WnFHXw==","signatures":[{"sig":"MEQCIGoFav2BbTyeHZVGJoNNCTL1rdB/tBnAm2nnWCo4ekpkAiBKMvotsj2TiNsfUo7E5KFqxIOFJnmHYnNOAjr3tSolqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.27.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":664298},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"cb7c5246b3e1d254b5e6387793f410ba2ad06784","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.27.3_1787693076750_0.8418711795005558","host":"s3://npm-registry-packages-npm-production"}},"1.27.4":{"name":"@abgov/nx-agent","version":"1.27.4","license":"Apache-2.0","_id":"@abgov/nx-agent@1.27.4","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"6b354715a98c669af73adc4fc3dc3e1df4d46046","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.27.4.tgz","fileCount":171,"integrity":"sha512-GGiXh1taPCj87O7zaTm8kiiZxyVvuIL+cxjgRDUuQDywhjedPvfxbkx1YH09QJzRa4ca24oPu8BgVOxjaTXcnw==","signatures":[{"sig":"MEQCIHT0bS3u4PtlD6XVnSJwd6jHSQpql7u8CG3M6GTG8cISAiATqGtpes45L/6yNmUNG2Aa3U/+orZ7wtEaHg7FvvRdEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.27.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":665699},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"57f8d66556199d01478a9b25a7ad536a316697be","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.27.4_1787929966957_0.27663307410034377","host":"s3://npm-registry-packages-npm-production"}},"1.28.0":{"name":"@abgov/nx-agent","version":"1.28.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.28.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"6e76e5b07215709d5fbb009c48d232157d203a1b","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.28.0.tgz","fileCount":171,"integrity":"sha512-veadQ1fhntQ+8RYG3NR4ahqOAFy+ilZE7WEl5bnFah6Of77iX2HJ9LTAlG0KOUgcLNg774Lo/YwJMpRuVQQBuw==","signatures":[{"sig":"MEYCIQCF/jSAc24Bngwg1dLjtMclkephv1zPIlXF3iCahhfK0wIhAPOIaGEM7+Bi4ntWG7gQ0Ir4c8QqKVbplWblV1Co0L7z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.28.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":665699},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"5462d5258ec95224ea073454def728270bbbbfd2","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.28.0_1788193132888_0.23256297620651267","host":"s3://npm-registry-packages-npm-production"}},"1.28.1":{"name":"@abgov/nx-agent","version":"1.28.1","license":"Apache-2.0","_id":"@abgov/nx-agent@1.28.1","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"3e5b0c70182f476a86f7edb16f4ae860dcc5e878","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.28.1.tgz","fileCount":171,"integrity":"sha512-A5l2R2lzR5sCtjylsqlLAR3X5A1cp6LU1GyvFRBp76g9PjXvYjB81buAnO/ZfhnD+Riofjy6ka52NuIAlPXeRA==","signatures":[{"sig":"MEQCICEbPMLPOTDzxUwDuPv0VI4u9NaSmMq6UmSe0ZfsgNTjAiAQL+AUvBSbo+vxpP1w2ITfy7hjFhiTpQAlWT7Knl2xdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.28.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":665699},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"a44f0913a86471a5d020ac2383f95325b9cf53a7","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.28.1_1788359242821_0.11360589807235777","host":"s3://npm-registry-packages-npm-production"}},"1.29.0":{"name":"@abgov/nx-agent","version":"1.29.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.29.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"d369f310108f5d66556bbe111ad6fcb6fb925799","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.29.0.tgz","fileCount":171,"integrity":"sha512-INCLsD4E6aInGG7eDGq0OkyiDbX74YcluPpKlr+OLDOBGJjlhw/rwrbdIkcV+ljc0tDnB8r+MlbHs8Tz20Z6Uw==","signatures":[{"sig":"MEUCIQCzsVazwXq2KEt5b21tmP5qrwRZ4iNRHSProKVnJBCtfAIgdxdbnbAy3lVpyFFKvt23s797U0+V5wb4PeswUsfZbUc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.29.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":665699},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"4bbfd654cee70b1cd2edf0128d803ffb0b86ca3f","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.29.0_1788363957358_0.07880025274544566","host":"s3://npm-registry-packages-npm-production"}},"1.30.0":{"name":"@abgov/nx-agent","version":"1.30.0","license":"Apache-2.0","_id":"@abgov/nx-agent@1.30.0","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"homepage":"https://github.com/GovAlta/nx-tools#readme","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"dist":{"shasum":"18e2079c1fe8974918e704e6458ee34a8a6e95cd","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.30.0.tgz","fileCount":177,"integrity":"sha512-/eONrBJEKvl34rMd/nsXIIy1+xe676wwRNrXzEs679ED/4OIE502NFTChRd4CEFkmoSfKdXAdQOCrh+s3bCnfg==","signatures":[{"sig":"MEQCIDIR1HMnvdysAtBXil288x/aNcVGtPFhPUyrHR6Cwm2wAiBq+cXjDQcdy8BP3I15CHIoQz9AA8aipXakkyyx+uPRng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.30.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":789480},"main":"src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"74e0d8bf97d3274f55e7bac3ce72f65c520dd058","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/GovAlta/nx-tools.git","type":"git","directory":"packages/nx-agent"},"_npmVersion":"11.19.0","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"yaml":"~2.9.0","marked":"~15.0.12","mermaid":"~11.16.0"},"nx-migrations":{"migrations":"./migrations.json"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.0.0","@nx/devkit":"^23.0.0","@abgov/nx-oc":"^13.0.0-0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nx-agent_1.30.0_1788544072939_0.2635657950223236","host":"s3://npm-registry-packages-npm-production"}},"1.30.1":{"name":"@abgov/nx-agent","version":"1.30.1","license":"Apache-2.0","main":"src/index.js","description":"Government of Alberta - Nx plugin for AI-agent development tooling.","repository":{"type":"git","url":"git+https://github.com/GovAlta/nx-tools.git","directory":"packages/nx-agent"},"dependencies":{"marked":"~15.0.12","mermaid":"~11.16.0","yaml":"~2.9.0"},"peerDependencies":{"@abgov/nx-oc":"^13.0.0-0","@nx/devkit":"^23.0.0","tslib":"^2.0.0"},"peerDependenciesMeta":{"@abgov/nx-oc":{"optional":true}},"generators":"./generators.json","nx-migrations":{"migrations":"./migrations.json"},"scripts":{},"types":"./src/index.d.ts","type":"commonjs","gitHead":"0791a30bd3c9f0cd011afa1f336d32a0e0aa2e3c","_id":"@abgov/nx-agent@1.30.1","bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"homepage":"https://github.com/GovAlta/nx-tools#readme","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-zD7D6731CyZs1dlk6/F7Cadkvmcbc4doCCNkD/XBlwhq1W5Eu3nkfWfJfPnF9XGpJRv40zOh86cR4dai1dvlZw==","shasum":"f7634afe01ba0cab040b453cae1a36805bf520db","tarball":"https://registry.npmjs.org/@abgov/nx-agent/-/nx-agent-1.30.1.tgz","fileCount":177,"unpackedSize":789480,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abgov%2fnx-agent@1.30.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDVbrYs5u8Ze4rU2kz/ISExM6zEFyA3bqJ4c3FuCPAtVwIhANhVIypqB/PWM9bCdHUf6SYJ8hA7CEW7g1tO4K6iM5Gh"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6de0e8a5-0f33-4a93-8ce7-7d45106178fd"}},"directories":{},"maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nx-agent_1.30.1_1789085829938_0.751524720492446"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-22T17:22:55.947Z","modified":"2026-09-11T00:17:10.462Z","0.0.0":"2026-07-22T17:22:56.233Z","1.0.0":"2026-07-22T17:52:28.589Z","1.1.0":"2026-07-22T18:12:24.476Z","1.2.0":"2026-07-22T20:21:16.813Z","1.3.0":"2026-07-23T16:15:51.581Z","1.4.0":"2026-07-23T18:01:04.225Z","1.5.0":"2026-07-23T18:49:49.963Z","1.6.0":"2026-07-23T19:24:42.840Z","1.6.1":"2026-07-27T16:44:13.510Z","1.7.0":"2026-07-27T23:45:01.135Z","1.8.0":"2026-07-28T03:18:58.648Z","1.8.1":"2026-07-28T03:50:23.396Z","1.8.2":"2026-07-28T17:27:47.150Z","1.9.0":"2026-07-28T19:52:06.800Z","1.10.0":"2026-07-29T13:49:34.268Z","1.11.0":"2026-07-29T14:52:10.344Z","1.12.0":"2026-07-29T20:15:17.249Z","1.13.0":"2026-07-30T16:48:57.304Z","1.13.1":"2026-07-30T17:02:28.888Z","1.14.0":"2026-07-30T19:38:45.999Z","1.15.0":"2026-07-30T20:41:26.783Z","1.16.0":"2026-07-31T04:15:15.327Z","1.16.1":"2026-07-31T04:53:56.239Z","1.17.0":"2026-07-31T15:08:39.662Z","1.18.0-beta.1":"2026-08-02T16:31:20.507Z","1.18.0-beta.2":"2026-08-02T17:55:40.423Z","1.18.0-beta.3":"2026-08-03T15:55:08.216Z","1.18.0-beta.4":"2026-08-03T17:12:03.492Z","1.18.0":"2026-08-03T23:42:21.954Z","1.19.0":"2026-08-04T16:41:07.461Z","1.19.1":"2026-08-04T18:25:28.943Z","1.20.0":"2026-08-04T18:51:47.020Z","1.21.0":"2026-08-04T20:20:52.857Z","1.22.0":"2026-08-05T15:26:07.553Z","1.22.1":"2026-08-05T17:53:21.339Z","1.22.2":"2026-08-05T18:46:10.584Z","1.23.0":"2026-08-07T01:27:36.941Z","1.23.1":"2026-08-07T04:12:12.562Z","1.23.2":"2026-08-17T16:56:28.286Z","1.24.0":"2026-08-17T22:10:19.171Z","1.24.1":"2026-08-18T18:13:35.873Z","1.24.2":"2026-08-18T20:04:21.032Z","1.24.3":"2026-08-19T17:44:25.013Z","1.24.4":"2026-08-19T18:34:41.105Z","1.25.0":"2026-08-20T17:37:48.359Z","1.26.0":"2026-08-21T14:28:32.573Z","1.26.1":"2026-08-21T14:41:44.935Z","1.26.2":"2026-08-24T15:55:41.026Z","1.27.0":"2026-08-24T16:09:02.997Z","1.27.1":"2026-08-24T19:53:18.144Z","1.27.2":"2026-08-25T15:39:56.096Z","1.27.3":"2026-08-25T21:24:36.940Z","1.27.4":"2026-08-28T15:12:47.110Z","1.28.0":"2026-08-31T16:18:53.039Z","1.28.1":"2026-09-02T14:27:22.969Z","1.29.0":"2026-09-02T15:45:57.482Z","1.30.0":"2026-09-04T17:47:53.127Z","1.30.1":"2026-09-11T00:17:10.090Z"},"bugs":{"url":"https://github.com/GovAlta/nx-tools/issues"},"license":"Apache-2.0","homepage":"https://github.com/GovAlta/nx-tools#readme","repository":{"type":"git","url":"git+https://github.com/GovAlta/nx-tools.git","directory":"packages/nx-agent"},"description":"Government of Alberta - Nx plugin for AI-agent development tooling.","maintainers":[{"name":"dio.ting.zuge","email":"ting.zuge@gov.ab.ca"},{"name":"dustin.nielsen","email":"dustin.nielsen@gov.ab.ca"},{"name":"abgov-chris-olsen","email":"chris.olsen@gov.ab.ca"}],"readme":"# @abgov/nx-agent\n\nNx plugin for AI-agent development tooling — capabilities that steer a coding agent's day-to-day\nwork, as opposed to `@abgov/nx-adsp`/`@abgov/nx-oc`'s scaffolding and deployment concerns.\n\n## TLDR\n\n```bash\n# 1. Install\nnpm i -D @abgov/nx-agent\n\n# 2. Set up recommended AI-agent tooling for this workspace\nnpx nx g @abgov/nx-agent:init\n```\n\n## `init`\n\nA single, prescriptive entry point — run once per workspace. It's expected to grow as more\ncapabilities are added; running it again after an upgrade re-applies whatever's new without\ndisturbing anything it already set up.\n\nCurrently sets up:\n\n1. **A Husky pre-commit hook** (`.husky/pre-commit`) that runs `nx affected` lint/test/build\n   against your _staged_ changes before every commit:\n\n   ```sh\n   git diff --cached --name-only --diff-filter=ACMR | npx nx affected -t lint,test,build --stdin\n   ```\n\n   Adds `husky` as a devDependency and a `\"prepare\": \"husky\"` script if not already present.\n\n2. **A secret-scanning hook block**, appended to the same `.husky/pre-commit`, scanning staged\n   files for committed credentials with [secretlint](https://github.com/secretlint/secretlint):\n\n   ```sh\n   secretlint_files=$(git diff --cached --name-only --diff-filter=ACMR)\n   if [ -n \"$secretlint_files\" ]; then\n     echo \"$secretlint_files\" | xargs npx secretlint || exit 1\n   fi\n   ```\n\n   Adds `secretlint` and `@secretlint/secretlint-rule-preset-recommend` as devDependencies, and a\n   `.secretlintrc.json` if one doesn't already exist (never overwritten once created — rules are\n   the kind of thing a team tunes, unlike the AGENTS.md guidance below).\n\n3. **Baseline `.gitignore` entries** for common local-credential filenames — `.env.local`,\n   `.env.*.local`, `*.pem`, `*.key`, `id_rsa`, `id_ed25519`, `credentials.json` — added only if\n   missing, appended alongside whatever's already there. Deliberately excludes bare `.env`: it's\n   dual-purpose (plain workspace config as well as secrets), so a blanket rule would be a false\n   positive on legitimate use. This is preventive rather than detective — once a pattern is in\n   `.gitignore`, git itself refuses to stage a matching file via `git add .`/`git add -A`, so no\n   separate pre-commit check is needed on top of it. It does nothing for a file that was already\n   tracked before `init` ran; gitignore never retroactively untracks anything.\n\n4. **One consolidated `AGENTS.md` section**, `## Working with a coding agent`, organized into six\n   `###` groups — ordered roughly by stakes, highest first — each holding several related `**`\n   items rather than one flat, ever-growing list of top-level headings:\n   - **Security and safety** — secrets, PII/sensitive data, destructive operations, untrusted\n     content and instructions, trust boundaries.\n   - **Dependency hygiene** — choosing a dependency (existence/currency/license, and checking\n     whether an existing dependency already covers the need before adding another one).\n   - **Verifying your work** — the pre-commit-check habit above, plus respecting whatever\n     style/format/complexity tooling a project already has configured.\n   - **Version control practices** — atomic Conventional Commits, GitHub Flow, linear history.\n   - **Conventions and consistency** — ubiquitous language (domain vocabulary), matching this\n     project's own established patterns, following framework/library idioms, and checking a\n     connected MCP server before recalling a platform/design-system API from memory.\n   - **Code quality** — scope discipline, comments (why, not what), reuse before reinventing,\n     error handling, TODO transparency, test quality.\n\n   The whole section is centrally maintained: re-running `init` refreshes it in place rather than\n   leaving it frozen at first-generation wording, assembled from `guidance/<group>/<item>.md`\n   files (one file per item, grouped into folders matching the six groups above) so the content\n   previews as plain markdown rather than escaped TypeScript string literals. `init` is also\n   self-migrating — if it finds section markers from an older, pre-consolidation version, it\n   removes them and writes the current structure in their place, so simply re-running `init` is\n   enough to pick up changes; no separate migration step.\n\n   Also ensures `CLAUDE.md` imports it (`@AGENTS.md`, appended if missing) — Claude Code reads\n   `CLAUDE.md` natively, not `AGENTS.md` directly, so without this the guidance above never\n   reaches a Claude Code session. Same one-line convention nx-adsp's own generators already use.\n\n5. **A Claude Code deny-list** (`.claude/settings.json`), hard-blocking shell patterns with no\n   legitimate agent-initiated use case — `rm -rf` rooted at `/`/`~`/`$HOME`, `sudo`, `mkfs`,\n   `chmod -R 777 /`, system shutdown/reboot, history-rewriting/reflog-destroying git commands,\n   and whole-namespace OpenShift/Kubernetes deletion — absolute per Claude Code's own permission\n   model, holding even under `--dangerously-skip-permissions`. Merges into an existing file\n   rather than overwriting it. No equivalent exists yet for other tools (checked GitHub Copilot\n   CLI specifically — its absolute deny mechanism is CLI-flag-only, with no repo-committed file\n   to seed).\n\n### Options\n\n| Option    | Default           | Description                                                                                                                               |\n| --------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |\n| `targets` | `lint,test,build` | Targets run by both the pre-commit hook and the AGENTS.md guidance's self-check command                                                   |\n| `base`    | `main`            | Base branch used only in the AGENTS.md guidance's self-check command (not the pre-commit hook, which always diffs against staged changes) |\n\n```bash\nnpx nx g @abgov/nx-agent:init --targets=lint,test --base=develop\n```\n\n## `feature`\n\nHow new work enters the DDDD workflow — a raw capability request, written the way it was actually\nasked for. This is the root artifact Discover decomposes into a `service-description`/`requirement`;\nit replaces committing an ad hoc file by hand with no defined shape:\n\n```bash\nnpx nx g @abgov/nx-agent:feature \"Submit Minor Collision Report\"\n```\n\nCreates `project-docs/features/submit-minor-collision-report.md`:\n\n```markdown\n---\ntitle: Submit Minor Collision Report\nproject-docs-ancestors: []\nresolves: []\n---\n\n<!-- What capability is wanted, and why. This is the raw request Discover decomposes into a\n     service-description/requirement -- write it the way it was actually asked for. -->\n```\n\n### Options\n\n| Option                 | Default                  | Description                                                                                                                                                                                                           |\n| ---------------------- | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `title`                | — (required, positional) | The canonical name of the feature                                                                                                                                                                                     |\n| `project`              | workspace root           | Scope the feature to a specific project's `project-docs/features/` instead — prefer this whenever it already has a natural code home                                                                                  |\n| `projectDocsAncestors` | none                     | Paths to existing `project-docs/` artifacts this feature relates to — repeatable; typically an existing service-description if this extends an initiative that already exists                                         |\n| `resolves`             | none                     | Paths to existing `open-question`/`blocker` artifacts this feature resolves — repeatable; also added to `project-docs-ancestors`, but recorded distinctly so `project-docs-lineage` can report the resolution as such |\n\nRe-adding a feature that already exists throws rather than silently overwriting or duplicating it. A\n`--project-docs-ancestors` path that doesn't resolve to an existing artifact throws the same way,\nbefore anything is written.\n\n## `bug`\n\nSomething already built not behaving as designed, reported from outside the workflow. Unlike\n`blocker`, a bug doesn't assume the design is wrong — most bugs are pure implementation defects — and\nit doesn't always know which artifact (if any) is at fault yet, so `projectDocsAncestors` is\ngenuinely optional:\n\n```bash\nnpx nx g @abgov/nx-agent:bug \"Submit Button Does Nothing On Slow Connections\"\n```\n\nCreates `project-docs/bugs/submit-button-does-nothing-on-slow-connections.md`:\n\n```markdown\n---\nproject-docs-ancestors: []\nresolves: []\n---\n\n<!-- Observed vs. expected behavior. -->\n```\n\n### Options\n\n| Option                 | Default                  | Description                                                                                                                  |\n| ---------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |\n| `description`          | — (required, positional) | A short slug for what's wrong                                                                                                |\n| `project`              | workspace root           | Scope the bug to a specific project's `project-docs/bugs/` instead — prefer this whenever it already has a natural code home |\n| `projectDocsAncestors` | none                     | Paths to existing `project-docs/` artifacts this bug relates to, if already known — often genuinely empty until triaged      |\n\nA bug tracks open/resolved status the same generic way as `open-question`/`blocker`\n(`status.resolution.open`/`.resolved`), but resolves differently — see `develop/SKILL.md`'s bug-fixing\nsection in the `agent-delivery` output below. Investigating a bug and finding the _spec_ itself was\nwrong escalates to a real `blocker` against the implicated artifact; filing that blocker does not\nitself resolve the bug — only an `iteration-retrospective --resolves` naming the bug's own path does.\n\n## `domain-term`\n\nAdds one domain term — the ubiquitous language `init`'s guidance asks the agent to use, but gives\nit nowhere to check or record. Unlike `init`, this is repeatable — run it once per term, whenever\none needs adding, not once per workspace:\n\n```bash\nnpx nx g @abgov/nx-agent:domain-term Case\n```\n\nCreates `project-docs/domain-terms/case.md`:\n\n```markdown\n---\nterm: Case\naliases: []\nnot_confused_with: []\nproject-docs-ancestors: []\nresolves: []\n---\n\n<!-- Definition: describe this term in the domain's own language. -->\n```\n\n- `term` — the canonical name, matching the filename.\n- `aliases` — other words that mean the same thing.\n- `not_confused_with` — similar-sounding terms this one is deliberately distinct from, and why.\n- `project-docs-ancestors` — other `project-docs/` artifacts this term derives from (see\n  `project-docs-lineage` below) — set via `--project-docs-ancestors`, never by hand.\n- `resolves` — which of those ancestors (typically an `open-question`/`blocker`) this term\n  specifically _resolves_, not just builds on — set via `--resolves`, a distinct flag from\n  `--project-docs-ancestors` even though the same ref also lands there.\n\nOne file per term rather than a single flat glossary, so frontmatter (a per-file construct in\nevery tool that uses the term) is meaningful, and so listing the folder — cheap, just filenames —\nis enough to check the existing vocabulary before coining a new name.\n\nAlso bootstraps `project-docs/domain-terms/README.md` on first use, explaining the convention to\nwhoever (human or agent) opens the folder next. That file has no value on its own — it exists only\nto explain the convention for the term about to be added — so there's no separate \"set up the\nglossary\" generator; `domain-term` composes it as an internal step.\n\n### Options\n\n| Option                 | Default                  | Description                                                                                                                                                                                                        |\n| ---------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `term`                 | — (required, positional) | The canonical domain term, as domain experts use it                                                                                                                                                                |\n| `project`              | workspace root           | Scope the term to a specific project's `project-docs/domain-terms/` instead — prefer this whenever the term already has a natural code home (usually a domain library), not just workspace root by default         |\n| `projectDocsAncestors` | none                     | Paths to existing `project-docs/` artifacts this term derives from — repeatable; resolved into `project-docs-ancestors` (see below)                                                                                |\n| `resolves`             | none                     | Paths to existing `open-question`/`blocker` artifacts this term resolves — repeatable; also added to `project-docs-ancestors`, but recorded distinctly so `project-docs-lineage` can report the resolution as such |\n\n```bash\nnpx nx g @abgov/nx-agent:domain-term Case --project=domain-lib\nnpx nx g @abgov/nx-agent:domain-term \"Collision Report\" --project-docs-ancestors=project-docs/bounded-contexts/collision-reporting.md\n```\n\nRe-adding a term that already exists throws rather than silently overwriting or duplicating it —\nedit the file directly instead. A `--project-docs-ancestors` path that doesn't resolve to an existing\nartifact throws the same way, before anything is written.\n\n## `bounded-context`\n\nA domain term's meaning only holds within a bounded context — the boundary past which the same word\ncan mean something else entirely. Adds one:\n\n```bash\nnpx nx g @abgov/nx-agent:bounded-context \"Collision Reporting\"\n```\n\nCreates `project-docs/bounded-contexts/collision-reporting.md`:\n\n```markdown\n---\nname: Collision Reporting\naliases: []\nnot_confused_with: []\nproject-docs-ancestors: []\nresolves: []\n---\n\n<!-- Definition: describe what's inside this boundary, and what's explicitly outside it. -->\n```\n\n### Options\n\n| Option                 | Default                  | Description                                                                                                                                                                                                           |\n| ---------------------- | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `name`                 | — (required, positional) | The canonical name of the bounded context                                                                                                                                                                             |\n| `project`              | workspace root           | Scope the context to a specific project's `project-docs/bounded-contexts/` instead — prefer this whenever the context already has a natural code home (usually a domain library), not just workspace root by default  |\n| `projectDocsAncestors` | none                     | Paths to existing `project-docs/` artifacts this context derives from — repeatable; resolved into `project-docs-ancestors`                                                                                            |\n| `resolves`             | none                     | Paths to existing `open-question`/`blocker` artifacts this context resolves — repeatable; also added to `project-docs-ancestors`, but recorded distinctly so `project-docs-lineage` can report the resolution as such |\n\n```bash\nnpx nx g @abgov/nx-agent:bounded-context \"Collision Reporting\" --project=domain-lib\n```\n\nRe-adding a context that already exists throws rather than silently overwriting or duplicating it.\n\n## `domain-model`\n\nThe actual design — aggregates, entities, invariants — built from a bounded context and the domain\nterms it's composed from:\n\n```bash\nnpx nx g @abgov/nx-agent:domain-model \"Collision Report Lifecycle\" \\\n  --project-docs-ancestors=project-docs/bounded-contexts/collision-reporting.md \\\n  --project-docs-ancestors=project-docs/domain-terms/collision-report.md\n```\n\nCreates `project-docs/domain-models/collision-report-lifecycle.md`:\n\n```markdown\n---\nname: Collision Report Lifecycle\nproject-docs-ancestors: [bounded-contexts:collision-reporting, domain-terms:collision-report]\nresolves: []\n---\n\n<!-- Design: describe the aggregates, entities, value objects, and invariants here. -->\n```\n\n### Options\n\n| Option                 | Default                  | Description                                                                                                                                                                                                         |\n| ---------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `name`                 | — (required, positional) | The canonical name of the domain model                                                                                                                                                                              |\n| `project`              | workspace root           | Scope the model to a specific project's `project-docs/domain-models/` instead — prefer this whenever the model already has a natural code home (usually a domain library), not just workspace root by default       |\n| `projectDocsAncestors` | none                     | Paths to existing `project-docs/` artifacts this model derives from — repeatable; normally the bounded context it belongs to plus the domain terms it's composed from                                               |\n| `resolves`             | none                     | Paths to existing `open-question`/`blocker` artifacts this model resolves — repeatable; also added to `project-docs-ancestors`, but recorded distinctly so `project-docs-lineage` can report the resolution as such |\n\nRe-adding a model that already exists throws rather than silently overwriting or duplicating it. A\n`--project-docs-ancestors` path that doesn't resolve to an existing artifact throws the same way,\nbefore anything is written.\n\n## `open-question`\n\nSomething undecided that can't be guessed at — needs input, a decision, or more information before\nwork depending on it can proceed:\n\n```bash\nnpx nx g @abgov/nx-agent:open-question \"Reviewer Authorization\" \\\n  --project-docs-ancestors=project-docs/requirements/reviewer-role.md\n```\n\nCreates `project-docs/open-questions/reviewer-authorization.md`:\n\n```markdown\n---\nproject-docs-ancestors: [requirements:reviewer-role]\nresolves: []\n---\n\n<!-- What's undecided, and why it can't be guessed at. -->\n```\n\n### Options\n\n| Option                 | Default                  | Description                                                                                                                                 |\n| ---------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |\n| `question`             | — (required, positional) | A short slug for what's undecided                                                                                                           |\n| `project`              | workspace root           | Scope the question to a specific project's `project-docs/open-questions/` instead — prefer this whenever it already has a natural code home |\n| `projectDocsAncestors` | none                     | Paths to existing `project-docs/` artifacts this question grounds on — repeatable; an open question can ground on any artifact kind         |\n\nA question is never marked resolved by editing its own file — some other artifact resolves it via\nits own `--resolves` flag (see `domain-term`/`bounded-context`/`domain-model` above). Re-adding a\nquestion that already exists throws rather than silently overwriting or duplicating it.\n\n## `blocker`\n\nAn existing artifact that needs revision — something already established but wrong, incomplete, or\nin conflict with something discovered later:\n\n```bash\nnpx nx g @abgov/nx-agent:blocker \"Cant Ship Payment Flow\" \\\n  --project-docs-ancestors=project-docs/domain-models/collision-report-lifecycle.md\n```\n\nCreates `project-docs/blockers/cant-ship-payment-flow.md`:\n\n```markdown\n---\nproject-docs-ancestors: [domain-models:collision-report-lifecycle]\nresolves: []\n---\n\n<!-- What needs fixing, and why it is blocking. -->\n```\n\n### Options\n\n| Option                 | Default                  | Description                                                                                                                          |\n| ---------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |\n| `description`          | — (required, positional) | A short slug for what needs fixing                                                                                                   |\n| `project`              | workspace root           | Scope the blocker to a specific project's `project-docs/blockers/` instead — prefer this whenever it already has a natural code home |\n| `projectDocsAncestors` | none                     | Paths to existing `project-docs/` artifacts this blocker relates to — repeatable; typically the artifact that needs revision         |\n\nSame resolution model as `open-question`: never mark it resolved by editing its own file — the\nartifact that actually revises the thing it's blocking resolves it via `--resolves`.\n\n## `iteration-retrospective`\n\nA close-out record for a single iteration's pass — what it did, what was found and fixed along the\nway, and an explicit status when \"deployment succeeded\" and \"verified working end-to-end\" diverge:\n\n```bash\nnpx nx g @abgov/nx-agent:iteration-retrospective \"Submit Minor Collision Report\" \\\n  --project-docs-ancestors=project-docs/requirements/submit-minor-collision-report.md \\\n  --resolves=project-docs/blockers/no-write-packages-credential-for-ghcr-sandbox-push.md\n```\n\nCreates `project-docs/iteration-retrospectives/submit-minor-collision-report.md`:\n\n```markdown\n---\ntitle: Submit Minor Collision Report\nproject-docs-ancestors: [requirements:submit-minor-collision-report, blockers:no-write-packages-credential-for-ghcr-sandbox-push]\nresolves: [blockers:no-write-packages-credential-for-ghcr-sandbox-push]\n---\n\n<!-- Free-text body: what this pass did, what was found and fixed along the way, and an\n     explicit status when \"deployment succeeded\" and \"verified working end-to-end\" diverge. -->\n```\n\n### Options\n\n| Option                 | Default                  | Description                                                                                                                                                                                                                        |\n| ---------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `title`                | — (required, positional) | A short title for this iteration's pass                                                                                                                                                                                            |\n| `project`              | workspace root           | Scope the retrospective to a specific project's `project-docs/iteration-retrospectives/` instead — prefer this whenever the iteration already has a natural code home                                                              |\n| `projectDocsAncestors` | none                     | Paths to existing `project-docs/` artifacts this pass covered — repeatable; every requirement, domain model, or design substantively created, revised, or touched this iteration, not just the requirement it nominally closes out |\n| `resolves`             | none                     | Paths to existing `open-question`/`blocker` artifacts this iteration resolved — repeatable; also added to `project-docs-ancestors`, but recorded distinctly so `project-docs-lineage` can report the resolution as such            |\n\nSelf-registers its own `project-docs/artifact-schema.json` entry as `terminal: true` (see\n`project-docs-lineage` below) — a correctly-closed-out retrospective has zero descendants by design,\nso it's excluded from the `unreferenced` report rather than flagged alongside a genuine dead-end. Re-adding a\nretrospective that already exists throws rather than silently overwriting or duplicating it.\n\n## `pin-ancestors`\n\n```bash\nnpx nx g @abgov/nx-agent:pin-ancestors                              # whole workspace\nnpx nx g @abgov/nx-agent:pin-ancestors --ancestor=domain-terms:case  # just this ancestor's descendants\nnpx nx g @abgov/nx-agent:pin-ancestors --artifact=domain-models:x    # just this artifact's references\n```\n\nRecords each resolved ancestor's current body digest on the `project-docs-ancestors` reference that\nnames it, so `project-docs-lineage` can later report `status.stale`. Handles both YAML sequence\nstyles the generators emit (block lists and flow lists) and **warns rather than skipping** on a\nform it can't rewrite — a silently unpinned reference is indistinguishable from a deliberately\nunpinned one, and would report nothing forever. A reference that doesn't resolve is left alone;\nthat's a broken reference, and `project-docs-lineage` reports it as one.\n\n**Run it by hand. Never from a hook, a CI step, or a clean-run path.** A pin asserts _\"I have read\nthis ancestor as it stands\"_ — a claim only a person can make. A blind bulk re-pin bakes in whatever\ndrift already exists and then reports it as the floor. It's a separate generator rather than a\n`--repin` flag on `project-docs-lineage` for the same reason: that command reads and reports, and a\nmutation living next to `--strict` is how the check ends up silently dead in a workflow.\n\nPrefer `--ancestor`. \"I revised one term, re-pin its descendants\" is an act you can justify in a\ncommit message; re-pinning the workspace is only ever \"make the report stop.\" Because digests live\nin the committed artifact, either way the re-pin shows up in your own diff — which is what makes it\nreviewable, unlike a central baseline that re-seals where nobody looks.\n\n`resolves` lists are untouched: resolving an open question isn't a derivation, so the question's\ncontent moving doesn't invalidate the resolver.\n\n## `project-docs-lineage`\n\nScans the whole workspace for `project-docs/` artifacts and `project-docs-ancestors` references —\nacross both doc frontmatter and code comments — and writes the resulting graph to\n`.nx-agent/lineage.json` (gitignored automatically; it's fully derived from other files, so\ncommitting it would just create a second, driftable source of truth). Every violation it finds is\n**recorded in the output rather than aborting the write** — the consumer that acts on one is a\nscript reading that file (`agent-delivery`'s task-identification), not a human reading this\nconsole, so aborting would take every unrelated fact in the graph down over one dangling reference\nand disable the very mechanism that reports it.\n\nFindings are split on a property intrinsic to the graph rather than on severity: **is the defect\n_in_ the graph, or is it a fact the graph is correctly reporting?**\n\n`integrity` means the graph can't be trusted as a graph. `--strict` fails on any of it, and that\nisn't configurable — a consumer asking \"was this graph even constructible\" isn't expressing a\npreference.\n\n| `integrity`       | What it is                                                             |\n| ----------------- | ---------------------------------------------------------------------- |\n| `brokenRefs`      | a declared edge whose endpoint doesn't exist                           |\n| `unparseableRefs` | a token that doesn't fit the `<type>[:<id>]` grammar at all            |\n| `yamlErrors`      | a node whose frontmatter couldn't be read, so its edges are unknown    |\n| `cycles`          | artifacts deriving from each other, so the ancestry is not a hierarchy |\n| `schemaErrors`    | an `artifact-schema.json` entry that can never do what it says         |\n\n`status` means the graph is sound and is telling you where the work stands. None of it fails\n`--strict`; gating on any of it is a project policy and belongs to you.\n\n| `status`       | What it is                                                            |\n| -------------- | --------------------------------------------------------------------- |\n| `resolution`   | `{ open, resolved }` — which `tracksResolution` artifacts are settled |\n| `unreferenced` | nothing derives from it yet (no inbound edges)                        |\n| `unscoped`     | every edge resolves, but an expected ancestor type is missing         |\n| `stale`        | a pinned ancestor was revised after this artifact derived from it     |\n\n`cycles` matters because `project-docs-ancestors` is a _derivation_ relation — two artifacts each\ndeclaring the other is contradictory, since neither can precede the other. Traversal always\nterminated safely on one; what it never did was say so, so `getAncestors(…, Infinity)` returned a\ncorrect-looking finite set that quietly omitted the fact that the ancestry wasn't a hierarchy.\n\n`schemaErrors` covers both declarations in `artifact-schema.json` that can never do what they say,\nand it is deliberately narrow about which it will claim.\n\nFor `expectedAncestorTypes`: a type is a literal `project-docs/` subfolder name with no\nauthoritative list of valid ones, so an _unknown_ type is ambiguous — `requirements` expecting\n`product-briefs` before the first product brief exists looks identical to a misspelling, and\nflagging it would fail `--strict` on a correct schema. What is decidable is a value differing from a\nreal type only by pluralization or case, which is the slip that actually happens (every type name is\nplural, so `bounded-context` is one keystroke from `bounded-contexts`). Those are reported with the\ntype they meant, and are the only ones dropped from the `unscoped` check — one bad value would\notherwise report every artifact of its type as unscoped, forever, pointing at artifacts that are\ncorrect.\n\nFor `digestFields`, the same two failures appear one property over, and both are otherwise silent:\n\n- a **structural field** (`project-docs-ancestors`, `resolves`) is excluded from `metadata` by\n  design, so declaring it contributes nothing and the digest quietly ignores it. Always wrong, so\n  always reported.\n- a **misspelled field** contributes `null` for every artifact, leaving the digest stable while it\n  stops tracking the field that was meant. Checked against the fields artifacts of that type\n  actually carry, and reported only on the same pluralization-or-case basis — a field nothing\n  carries yet is indistinguishable from one that will, and a substitution typo from a deliberate\n  choice.\n\n`stale` is the ancestor-digest mechanism. A reference may optionally record the ancestor's body\ndigest at the time it was written — `domain-terms:case@a3f9c2e1b004` — and three states follow:\n\n| digest           | meaning                                             | report     |\n| ---------------- | --------------------------------------------------- | ---------- |\n| absent           | hand-authored, or predates adoption                 | **silent** |\n| present, matches | current                                             | silent     |\n| present, differs | the ancestor was revised after this derived from it | reported   |\n\nThe silent first state is what makes it adoptable: turning this on reports nothing until something\nis deliberately pinned. Pin with `nx g @abgov/nx-agent:pin-ancestors`.\n\n**The digest covers the body only**, not frontmatter, and that isn't a shortcut. Recording a pin\nedits `project-docs-ancestors`, so a whole-file hash would make re-pinning a content change — one\nedit to a root would cascade staleness through the entire transitive descendancy in waves, each\nwave's fix triggering the next. A body digest stops at depth 1, and propagates one hop further\nexactly when a re-pin came _with_ a real revision, which is when descendants should look. It also\nkeeps the hash independent of where a digest is stored, and avoids canonicalising a parsed YAML\nobject to keep it stable.\n\nThe cost is permanent rather than a wart to fix later: **a type that keeps its meaning in\nfrontmatter is not covered at all.** `requirements` is that type — its `rules` _are_ the artifact —\nand they live there deliberately so a real YAML parser can read them (`check-example-mapping.mjs`\nhad two regex-parsing bugs before the move). For those, a material change is a different artifact,\nnot an edit.\n\nThe body is normalised for line endings, trailing whitespace, and the blank line Prettier inserts\nafter the frontmatter delimiter — that last one matters, since `formatFiles()` runs at the end of\nevery generator and would otherwise invalidate a pin immediately after writing it.\n\n`status` is computed from **structure only** — edges and schema expectations. Status an artifact\ndeclares about itself in frontmatter (a `questions` list, a `status:` field) deliberately stays in\n`metadata`, passed through verbatim for you to interpret. The moment this computed a finding from\none of those, it would have taken a position on your workflow, and being workflow-agnostic is what\nmakes it consumable from outside.\n\n```bash\nnpx nx g @abgov/nx-agent:project-docs-lineage\nnpx nx g @abgov/nx-agent:project-docs-lineage --dry-run   # compute and report, write nothing\nnpx nx g @abgov/nx-agent:project-docs-lineage --strict     # non-zero exit on a violation, for a gate\nnpx nx g @abgov/nx-agent:project-docs-lineage --json --quiet   # print the graph to stdout\n```\n\n`--strict` on its own is a gate, not a way to build the graph: Nx rolls a generator's staged write\nback when it throws, so a failing `--strict` run deliberately produces no `lineage.json` at all.\n\n`--json` prints the same object to stdout instead of the human-readable summary — and because\nstdout isn't subject to that rollback, **`--json --strict` is the one invocation that yields both\nthe graph and a failing exit code in a single run**. Pair it with `--quiet`, or Nx's own\n`NX Generating ...` banner lands on stdout ahead of the document.\n\n### The consumed shape\n\n`schemaVersion` versions the paths below, and only those. Everything else in the file is\nimplementation detail and may change without a bump.\n\n| Path                          | Shape                                                                                          |\n| ----------------------------- | ---------------------------------------------------------------------------------------------- |\n| `schemaVersion`               | number — `1` today                                                                             |\n| `registry[<ref>]`             | `{ path, bodyDigest, ancestorRefs[], resolves[], metadata }`                                   |\n| `index[<ref>][]`              | `{ file, type?, metadata? }` — `type` only when the descendant is itself a registered artifact |\n| `integrity.brokenRefs[]`      | `{ ref, referencedFrom }`                                                                      |\n| `integrity.unparseableRefs[]` | `{ ref, foundIn }`                                                                             |\n| `integrity.yamlErrors[]`      | `{ path, error }`                                                                              |\n| `integrity.cycles[]`          | arrays of ref strings — one cycle each, first node not repeated                                |\n| `integrity.schemaErrors[]`    | `{ type, property, value, problem, didYouMean? }`                                              |\n| `status.resolution`           | `{ open[], resolved[] }`                                                                       |\n| `status.unreferenced[]`       | ref strings                                                                                    |\n| `status.unscoped[]`           | ref strings                                                                                    |\n| `status.stale[]`              | `{ artifact, ancestor, pinnedDigest, currentDigest }`                                          |\n| `violations`                  | **deprecated** — see below                                                                     |\n\nThis records what is already load-bearing rather than adding a new promise. `agent-delivery`'s\n`task-identification.mjs` reads every one of those `violations` keys plus `registry[].ancestorRefs`,\n`registry[].path` and `index[].type`; the `design` and `develop` skills read `index` entries, and\n`discover` reads `status.resolution`. All of them are generated **write-if-missing**, so a\nworkspace keeps its own copy and re-running the generator cannot repair a shape change — only a\nmigration can. So pin `schemaVersion` and fail on an unexpected value rather than reading around a\nfield that may have been renamed — `task-identification.mjs` does exactly that, and names both\nversions when they disagree.\n\n`violations` is a **deprecated** flat view of both containers, kept because those generated files\ncan't be repaired by re-running the generator. It's assembled from the very same arrays as\n`integrity` and `status`, so it can't drift from them, and it will be removed at `schemaVersion` 2.\nRead the two containers instead.\n\nThe `project-docs-ancestors` convention itself: a directive used identically in frontmatter (a YAML\nlist) and code comments (comma-separated on one line), shaped `<type>[:<id>][#fragment]`. `type` is\nthe literal `project-docs/` subfolder name — no singular/plural guessing, so a new artifact kind\nworks immediately with no schema to update. `id` is the filename minus extension, present only for\na collection artifact (many instances, one file each, inside a type-named folder); a singular\nartifact (exactly one file directly under `project-docs/`, no subfolder) is referenced by its bare\ntype, no id — e.g. `domain-terms:case` for a term, `architecture-overview` alone for a one-off doc.\nAn optional project qualifier (`<project>/type:id`) scopes the reference to that project's own\n`project-docs/` instead of the workspace root's — never implicit, even from within that same\nproject, so a reference's meaning never depends on where it's found.\n\nNot yet wired into the pre-commit hook or an Nx inferred plugin — run it yourself after adding or\nchanging a reference, and `--strict` it in your own CI if you want a broken reference to fail the\nbuild (`--dry-run` alone reports without affecting the exit code).\n\nAlso reports which `open-question`/`blocker` artifacts are still open versus resolved — see\n`status.resolution` below.\n\n### `project-docs/artifact-schema.json`\n\nAn artifact-producing generator (`domain-term`, `bounded-context`, `domain-model`, `open-question`,\n`blocker`) self-registers its own entry here on first use, declaring what ancestor type its kind\nnormally expects — e.g. `domain-terms` expects a `bounded-contexts` ancestor — and, separately,\nwhether its kind has a resolution lifecycle at all:\n\n```json\n{\n  \"bounded-contexts\": { \"expectedAncestorTypes\": [] },\n  \"domain-terms\": { \"expectedAncestorTypes\": [\"bounded-contexts\"] },\n  \"domain-models\": { \"expectedAncestorTypes\": [\"bounded-contexts\", \"domain-terms\"] },\n  \"open-questions\": { \"expectedAncestorTypes\": [], \"tracksResolution\": true },\n  \"blockers\": { \"expectedAncestorTypes\": [], \"tracksResolution\": true },\n  \"iteration-retrospectives\": { \"expectedAncestorTypes\": [], \"terminal\": true },\n  \"requirements\": {\n    \"expectedAncestorTypes\": [\"product-briefs\"],\n    \"digestFields\": [\"rules\"]\n  }\n}\n```\n\n`digestFields` names the frontmatter fields that carry a type's **content** rather than its\nbookkeeping, so they count toward its digest alongside the body (see `stale` above). It's a\nstructural fact about where a type keeps its meaning, not a switch for whether the check runs.\n\n`requirements` is the only type that needs it, and measurably so: every other artifact kind has a\n639–6857 character body, while requirements have **none** — their `rules` _are_ the artifact, and\nthey live in frontmatter deliberately so a real YAML parser can read them. So a change to `rules`\nmarks descendants stale, while a `title` fix or an answered `question` does not. Absent or empty\nmeans body-only, which is right for every type that explains itself in prose, and a type with no\n`digestFields` keeps exactly the digest it had before this existed.\n\nOne consequence worth knowing: because declared fields are hashed _alongside_ the body rather than\ninstead of it, editing a requirement's rationale prose also marks its descendants stale. That\nover-fires slightly — rationale is explanatory, not contractual — but rationale is written once at\ncreation, a requirement has few descendants, and the alternative (declared fields _replacing_ the\nbody) would silently drop body coverage for any type that has meaningful content in both.\n\n`project-docs-lineage` reads this generically — it has no knowledge of any specific type baked in, so\na hand-added entry for a custom artifact kind gets the same checks for free. `expectedAncestorTypes` is\nan all-of list, not any-of: `domain-models` above requires an ancestor of _both_ `bounded-contexts`\nand `domain-terms`, not either — a model with only one is still missing part of the vocabulary it\nshould be built from. An artifact whose type has an entry here but is missing an ancestor of one of\nthe expected types is reported (not thrown, since this is a convention nudge rather than a hard rule)\nas `unscoped` in `.nx-agent/lineage.json`'s `status`.\n\n`tracksResolution: true` is what makes `open-questions`/`blockers` show up in `status.resolution`\n(below) — a custom artifact kind with the same lifecycle (something that starts undecided/blocking\nand gets settled by another artifact) gets the same open/resolved report for free by declaring it.\n\n`terminal: true` marks a type where zero descendants is what correct looks like, not a sign of\nneglect — a close-out/retrospective artifact, working exactly as intended, still has nothing ever\nbuilt on top of it. See `unreferenced` below.\n\n### `unreferenced`\n\n`status.unreferenced` lists every registered artifact nothing in the workspace references — the\n\"nothing derives from it yet\" case, distinct from `unscoped` (missing an _expected_ ancestor,\nthe opposite direction).\n\nNamed for the mechanism rather than called `orphans`, which inverted the metaphor: references are\nbackward-only, so this is an artifact with no _descendants_, while an orphan conventionally has no\nparents. In the direction derivation flows it's a leaf, minus the `terminal` types. The parentless\ncase is `unscoped`.\n\nTwo things feed correctly into what counts as \"referenced\":\n\n- A reference counts whether it's a plain `project-docs-ancestors` citation or a `resolves` one —\n  a resolution is a real reference too, even when it's the only field naming the target (the normal\n  shape for a hand-authored artifact, before its type earns a generator with a `--resolves` flag\n  that would otherwise duplicate the ref into `project-docs-ancestors` for you).\n- A type with `terminal: true` is excluded from `unreferenced` entirely, regardless of descendant count.\n\n### `status.resolution`\n\n`status.resolution` in `.nx-agent/lineage.json` splits every artifact whose type has\n`tracksResolution: true` into `open` and `resolved`:\n\n```json\n{ \"open\": [\"open-questions:reviewer-authorization\"], \"resolved\": [\"blockers:cant-ship-payment-flow\"] }\n```\n\n\"Resolved\" means some artifact's own `resolves` field names this key — not merely that something\nreferences it via `project-docs-ancestors`. That distinction matters: a `blocker` or another\n`open-question` citing an existing one _because_ it's still unresolved would, under a looser\n\"anything references it\" test, get misread as having resolved it. A deferral (explicitly punted, not\ndecided) isn't a third computed bucket — it stays `open`, with the _why_ left to the artifact's own\nprose, same as `unreferenced` doesn't try to distinguish \"temporary\" from \"abandoned.\"\n\n### Programmatic access\n\n`@abgov/nx-agent` also exports two read functions — its first public, importable API; everything\nelse in the package is consumed only via `nx g @abgov/nx-agent:x`. Meant for a caller that needs a\nstable contract in JS — an ESLint rule, or a build step resolving context for a file it's about to\ntouch — not one that wants to parse `.nx-agent/lineage.json` directly, since that file's exact\nshape stays an internal implementation detail, free to change as long as these signatures don't.\n\nAn **agent** is not that caller, deliberately: the generated `design`, `develop` and `discover`\nskills all instruct the agent to run the generator and read `lineage.json`'s `index` and\n`violations` instead, on the grounds that calling a JS API isn't something an agent does mid-task.\nSo the split is agents read the file, JS callers use these functions, gates use `--strict`.\n\n```typescript\nimport { getAncestors, getDescendants } from '@abgov/nx-agent';\n\ngetAncestors(tree, 'apps/my-service/src/routes/collision-reports.ts');\n// => [{ type: 'domain-terms', id: 'collision-report' }]\n\ngetDescendants(tree, 'domain-terms:collision-report');\n// => [{ file: 'apps/my-service/src/routes/collision-reports.ts' }]\n```\n\nThe two directions have genuinely different costs, which the API makes explicit rather than\nhiding: `getAncestors` reads just the one file you ask about (the reference is embedded in it), so\nit's always cheap. `getDescendants` has no such shortcut — nothing an artifact stores on itself\nsays who points at it, since references are backward-only by design — so answering it means\nchecking every file in the workspace. It rebuilds fresh on every call rather than trusting a\npersisted cache that could go stale the moment something changes without `project-docs-lineage`\nre-running (measured on this ~14k-file workspace: about 50ms end to end, which is why that's an\nacceptable default rather than something worth caching).\n\nBoth take an optional `depth` (default `1`, direct parents/children only — pass `Infinity` for the\nfull ancestry/descendancy). `depth` doesn't change the cost model above, it just decides whether to\npay it: at `depth` 1, `getAncestors` still touches only the one file and `getDescendants` still\ndoes its one full-workspace scan. Beyond that, each function builds the graph once — not once per\nhop — and walks it in memory, so asking for `depth: 5` costs the same one-time build as `depth: 2`.\nA cycle in the references (two artifacts deriving from each other) terminates correctly rather than\nlooping forever.\n\n```typescript\ngetAncestors(tree, 'apps/my-service/src/routes/collision-reports.ts', Infinity);\n// everything this file derives from, transitively\n```\n\n## `project-docs-report`\n\nBuilds a single, self-contained HTML status report from the same data `project-docs-lineage`\ncomputes — a lineage graph (rendered with [Mermaid](https://mermaid.js.org/), inlined so the report\nneeds nothing from `node_modules` to open), a status summary (counts per type, open vs. resolved,\nunreferenced artifacts, broken references), and a per-artifact table. Not committed — like `lineage.json`, it's\n100% derived from other files, so it's gitignored automatically at wherever it's actually written.\n\n```bash\nnpx nx g @abgov/nx-agent:project-docs-report\nnpx nx g @abgov/nx-agent:project-docs-report --project my-service   # scope to one project\nnpx nx g @abgov/nx-agent:project-docs-report --noSynthesis          # skip the LLM synthesis cascade\n```\n\nWritten to `project-docs/report.html` — under the workspace root by default, or under the scoped\nproject's own root when `--project` is given, so the report always lands next to the artifacts it's\nactually reporting on rather than in a new top-level directory. `--outputPath` overrides this.\n\nUnlike `project-docs-lineage`, this never throws on a broken reference — surfacing exactly that kind\nof bad news is the point of a status report, not something to gate on.\n\nGraph nodes and table rows are colored by status — resolved, open, unreferenced, or (a distinct style,\nwith a \"Closed out\" badge and a `✓` in the graph) a `terminal`-typed artifact like an\n`iteration-retrospective`, so a permanently-zero-descendant close-out reads as done rather than\nlooking like ordinarily unreferenced.\n\nEach artifact's own markdown body — rendered to real HTML via [marked](https://marked.js.org/), not\nshown as raw source — is one click away: both its table row and its graph node link to an in-page\ndetail panel (`#artifact-<key>`), shown via plain CSS `:target` rather than any script, so it stays\npart of the same single file.\n\n### `--project` scoping\n\n`registry`/`index`/`violations` are always computed over the full workspace first, unconditionally —\nan artifact's unreferenced/resolved status is a workspace-wide fact, and building the index from only one\nproject's files would misclassify anything referenced across a project boundary (a cross-project\nreference is real, not a mistake). `--project` filters what's _rendered_, not what's computed: the\nsummary/counts/table include only that project's own artifacts; the graph additionally shows each\nin-scope artifact's direct ancestors even when they're workspace-level or in another project — as\ndimmed context nodes, so edges never dangle, but excluded from the table and counts. Descendants\noutside the project aren't pulled in.\n\n### Synthesis\n\nA prose summary of project status, generated by shelling out to whichever already-authenticated\ncoding-agent CLI is available — no new dependency, no separate API key to provision. Cascades\nthrough `claude -p` (Claude Code, if on `PATH`), then `gh copilot -p` (checked via the `copilot`\nbinary directly, not `gh`, so an absent Copilot CLI is never silently auto-downloaded just to check),\nfalling back to a deterministic summary computed straight from the same counts shown elsewhere in\nthe report when neither is available or `--noSynthesis` is passed. The report always states plainly\nwhich path produced its summary, rather than varying silently between environments.\n\n## `agent-delivery`\n\nSets up the Discover/Design/Develop/Deploy (DDDD) workflow: copies the four skill files into\n`.claude/skills/`, plus the `check-example-mapping.mjs` gate script Discover's own skill relies on,\nand appends a short guidance section to `AGENTS.md` pointing at them.\n\n```bash\nnpx nx g @abgov/nx-agent:agent-delivery\nnpx nx g @abgov/nx-agent:agent-delivery --githubActions   # + a self-dispatching iteration loop\n```\n\nEvery copied file is write-if-missing — a team's own edits to a skill file, or to the workflow,\nsurvive a re-run. Re-running after an upgrade only adds files that weren't there before; it never\noverwrites what's already present.\n\n### Options\n\n| Option                                                                                                                        | Default | Description                                                                                                                                                                                                                                                                                                                                |\n| ----------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `githubActions`                                                                                                               | `false` | Additionally scaffold a self-dispatching GitHub Actions iteration loop — `.github/workflows/agent-delivery-iteration.yml`, its harness/task-identification scripts, and a `learnings.md` header — for driving the same skills autonomously across many iterations, instead of a human or an orchestrating tool driving them one at a time. |\n| `provisionSecrets`                                                                                                            | `false` | Best-effort, non-interactive provisioning of the scaffolded workflow's own GitHub repo secrets/variables — see below. No effect unless `githubActions` is also `true`. Requires `@abgov/nx-oc`.                                                                                                                                            |\n| `project`                                                                                                                     | —       | Scope `provisionSecrets`'s project-derived values to one project's own `sandbox` target/tags. Auto-detected across the workspace when omitted.                                                                                                                                                                                             |\n| `openshiftServer`, `openshiftToken`, `openshiftNamespace`, `adspEnv`, `adspTenantName`, `adspTenantRealm`, `adspClientSecret` | —       | Explicit value for the correspondingly-named secret/variable — used verbatim by `provisionSecrets`, skipping derivation entirely for that one. No `adspClientId` option: it's always the fixed `adsp-cli-ci` client ID.                                                                                                                    |\n| `maxIterations`                                                                                                               | —       | Explicit `MAX_ITERATIONS` value for `provisionSecrets` to write. Optional either way — the workflow already defaults to `6` when unset.                                                                                                                                                                                                    |\n| `accessToken`                                                                                                                 | —       | Pre-obtained ADSP admin-scoped access token for `provisionSecrets`'s ADSP lookups — skips any `adsp-cli` login attempt, matching every `nx-adsp` app/service generator's own `--accessToken`.                                                                                                                                              |\n| `overwriteExisting`                                                                                                           | `false` | Let `provisionSecrets` overwrite a secret/variable that already exists on the repo. Default is to always leave an existing one unchanged.                                                                                                                                                                                                  |\n\n### `--githubActions` setup\n\nThe scaffolded workflow needs repo secrets and variables it doesn't set itself: secrets\n`OPENSHIFT_SERVER`, `OPENSHIFT_TOKEN`, `ADSP_CLIENT_ID`, `ADSP_CLIENT_SECRET`; variables `ADSP_ENV`,\n`ADSP_TENANT_NAME`, `ADSP_TENANT_REALM`, `OPENSHIFT_NAMESPACE`, and optionally `MAX_ITERATIONS`\n(defaults to `6`).\n\n`--provisionSecrets` automates most of this on a best-effort basis, once at least one app/service\nhas been scaffolded (and, for `OPENSHIFT_*`, sandboxed):\n\n```bash\nnpx nx g @abgov/nx-agent:agent-delivery --githubActions --provisionSecrets\n```\n\nIt derives `OPENSHIFT_NAMESPACE` from a project's own `sandbox` target, `ADSP_ENV`/\n`ADSP_TENANT_NAME` from the tags every app/service generator already writes, `ADSP_TENANT_REALM`\nfrom a live (re-)resolution of the tenant name, `ADSP_CLIENT_ID` as the fixed `adsp-cli-ci`\nconstant, and `ADSP_CLIENT_SECRET` via a Keycloak admin lookup — using an `oc`/`gh` login already\nactive on this machine, or an explicit option/`--accessToken` in place of any of them. It **never**\noverwrites a secret/variable that already exists on the repo unless `--overwriteExisting` is also\npassed, and reports anything it couldn't determine as a warning with the exact next step. There's\nno requirement to run this before or after any other generator — see the generator's own\n`provision-github-secrets.ts` header for exactly how each value degrades when the state it'd\notherwise read doesn't exist yet.\n\nTwo things it deliberately never automates, reported as warnings with exact manual steps instead:\n\n- **The tenant's `adsp-cli-ci` Keycloak client being disabled.** It's bootstrapped disabled at\n  tenant creation — a tenant admin has to enable it and generate its secret via the Keycloak admin\n  console (Clients → `adsp-cli-ci` → Settings → enable → Credentials tab → regenerate). This is a\n  real tenant-level decision, not something a generator should do on anyone's behalf.\n- **The org-level Copilot CLI billing policy** — a GitHub org admin console setting, not a repo\n  secret or variable, needed for the workflow's own `copilot-requests: write` permission to\n  actually authenticate.\n","readmeFilename":"README.md"}