{"_id":"chapterhouse","_rev":"94-feb224f18dc750811dc5cd2c79efc80e","name":"chapterhouse","dist-tags":{"latest":"0.28.0"},"versions":{"0.1.1":{"name":"chapterhouse","version":"0.1.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.1.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"a03825132ba779424a72caaebb27851abbc56cb8","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.1.1.tgz","fileCount":119,"integrity":"sha512-xTPMFkBDy/6VqRuwoXt6JMnjUdQaCwenAsk+VtIJKiW03BheB3/Z+ye/QmIccPIRY8rwJ+TfjfMCwZDG/5oV4A==","signatures":[{"sig":"MEUCIQCPxzOgKs7TofpjRnQtTgi7hBrXh5A0SJBzT81AxvAbGQIgFSWn02YnGBNJX+/dygrX7K+ppCNSFOfX0X6mY4l1IJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9237507},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"a3229f572382f5f277db4bb38e3c637c24fe2797","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","build:server":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"bketelsen","email":"bketelsen@gmail.com"},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.1.1_1778247540031_0.4097185618328991","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"chapterhouse","version":"0.1.5","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.1.5","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"f39731a670d2028ac3f2b53c84fb756bd4f9deda","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.1.5.tgz","fileCount":119,"integrity":"sha512-VB6N3o7L++QhGCJiIH/ZKR8P6eXEJbdo1FBnw1F52ZgqsCBbcGJkjToySRSxDfYvkRdlgtXp/5AGL85yf8QZLw==","signatures":[{"sig":"MEUCIF1c0NZSIy1Mo9cTIT3LIKF5XVwspaaxvFT/T0hW+NIvAiEA5CYBDYvTvZSfSD1Xfcb8RMNLCTxW7yNqKdepxwtuOz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9249351},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"0a9d6e5272415bd1884866ed96f2ca8f1c27d33e","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","build:server":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.1.5_1778255698508_0.06782453243645081","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"chapterhouse","version":"0.2.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.2.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"2be6a84cddabbebf7ca3dcdccebf22c0aae2fbbb","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.2.0.tgz","fileCount":123,"integrity":"sha512-zzHLekgQCJ87hVqlQjsqNLebpkigIEnwTlx0vmJLGjMt8OErkqtaPuHKfQQu90FVkwtP8Xc9urpooeCQSPyexw==","signatures":[{"sig":"MEQCIDI4y5SXb+SrYwDTcGqFLdwvb4Apn/tHBqovwIN8rhUYAiA24vZUmNOvJnVOEs1mtDQwadExJ0vkrczsel2OtE7PIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9315216},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"1ff395f8229e74e2dd53d50c51b13505d7dc253f","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","build:server":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.2.0_1778261791321_0.3495622593749528","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"chapterhouse","version":"0.3.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"98d127364adc27b435c8a4aa20a0b1bd36da7611","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.0.tgz","fileCount":125,"integrity":"sha512-2abyQGqmdHXbMNt3iTQRSzvs8+9Sepexv3W/hUyjviee45NJ5AZJ/T5fsO1gpfkPJj/VECCdvCHF+1YoB+HSOA==","signatures":[{"sig":"MEYCIQD02+XasnSZkEyWPPyS/HvVNfJqUaCuTsWFM5CfDa8CAwIhAPQsRJaJUZqyvHMr3kpWgb1x+79EGHr0yebYxKRUFFuK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9349741},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"89f161c5a7a9dfff62a42ff0bfcd3ef1a9c4df44","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.0_1778268156884_0.17621635221120746","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"chapterhouse","version":"0.3.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"485c6f1a3c83d47b0f3d3a36cdef14eab6a973f6","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.1.tgz","fileCount":125,"integrity":"sha512-6AEjl7UnjdouASoY4Fp4yX/wQm5974Vj9flsIlKRIHPokW/W2+W+soe2WaWPr+VKQ3jGXiGc4k2wFVQJcHb3CQ==","signatures":[{"sig":"MEYCIQD3v8SZDIZ62yjP21YVYYutMWk7BTJs6ZYh8OG8nPrenAIhAPgm8GYrEOLD10VsaVez86qIdEL94CA7lMIWGsXZMiSa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9357129},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"2c94adab1a484a6ceac3c0a6b0e519e5cf5e17bf","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.1_1778270482001_0.4248549509568189","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"chapterhouse","version":"0.3.2","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.2","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"89a6b96a711fafc57dc4ae97e674b20ff6b37c8d","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.2.tgz","fileCount":131,"integrity":"sha512-Gkd0g48ziPRw6HtWN0dIDt3gACLopGFNU0O5QfAHMTe0ZJO8h3qFrK7i9+WP1i0LRp+hV1cbk1+CohM09fjQgg==","signatures":[{"sig":"MEUCIHCHG62WmAUuOymX6/MmVK5uzengIUVNAzdp4Ifm/P7GAiEA05spjgRflsM0mt9UaXYcarC4LxPduUnAc+qbqVcs3n0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9944228},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"99274aea6631c1c1cd52809e1522a55e12acced3","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.2_1778282037792_0.6672249089153659","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"chapterhouse","version":"0.3.3","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.3","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"0f2a9f395fcb505e3516ec788fa3adfe68e007f6","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.3.tgz","fileCount":133,"integrity":"sha512-F0LgKHxhA05Dbp+awvWB151WhIh0r0FHrjvDd5acdu6N2Wrxe5rfz9rgkhnxk0jSy4AHMWT2e6bgx/8IBU968w==","signatures":[{"sig":"MEYCIQD69MKWs6o5wO2GqvGrTisB477eVLyMJB85u8E62+ygtAIhALWrMXB4KW0emVUl3iaVggiOqh9oLT9iv8ZmtRaU2upy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10003968},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"5767aa423e5e0c4d672369d76baa0a1f6988b4f8","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.3_1778288220630_0.13073780113413558","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"chapterhouse","version":"0.3.4","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.4","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"5f8cc791f1c5026fb5836dcf43ec856205761a89","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.4.tgz","fileCount":133,"integrity":"sha512-9bAzr8M1sX1TU+gYinJTuwwCkqxk/DWmj/XKBdDdjF4lT9U9nhSzRXReztzSihiTSkeMHRA5uVWu0lcojhVXrA==","signatures":[{"sig":"MEYCIQDxfO/Gllb3Lot7ss924vAuzVMgA4nelrYwzPzqfmfreQIhAJH3nwLSTtzDy+ErFQ87uDUPEndkeYFqQbzwaCrwgg0W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10007850},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"9c1e3bd84f60155679ae298dec9e567d5c6b20c2","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.4_1778289085287_0.416918507444193","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"chapterhouse","version":"0.3.5","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.5","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"1a7f1fda962938acba0c06ac67131aba79629709","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.5.tgz","fileCount":133,"integrity":"sha512-f0TqN1/6iKJwlLlXRE+GyxskNvGlyvRpsAeAWDS6FNK+yIMQTnnw1q+g4dAD/BSNLYo7FOolZJCitYmvTDKa5g==","signatures":[{"sig":"MEUCIQCRBQKQLr4Uw93U4alKwdPMf+LZOlz0BwyUprU68Z2T0wIgCqbJ56Ah92kmtiT5uX+kfUAzZA1YNvzzGnG2rfBlmBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10008105},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"ae9f9a180c78204330101475023cc75f93fbb3d0","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.5_1778289889704_0.9766346631347773","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"chapterhouse","version":"0.3.6","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.6","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"f2b9b69c56ef4a5fec6ce2125dece2699aa27fdb","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.6.tgz","fileCount":133,"integrity":"sha512-wQqOb5phLs4r3mYvreJoErOTWvfEljOMJ/fNIJ3ywwMN7TwNkDpkIFmQicyYPjAnIzn1J/b5tFLzxhoU9tR8iA==","signatures":[{"sig":"MEUCIQCGpXdMUfriIZbXE0EUfgegq6rUcfpBSBQoqCJV5JRbzAIgTBjA4xXX6di0+ftLwwRNYyokDJEIpqiEScoR4APpfcc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10022632},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"e97e10908a86cba20665b115fea3d1bee50e62b5","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.6_1778293070454_0.3713196605034226","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"chapterhouse","version":"0.3.7","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.7","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"78d875a6f4cc123d23e5531017800aea69c5c819","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.7.tgz","fileCount":133,"integrity":"sha512-gkxd0/PPSy2+Y3Eiz3ASkHow8dyOpGI6/AHaEppcGc24NBezg1Ta8GTS0U84bUzrDM7CJWchz6/++G+S2YT/hQ==","signatures":[{"sig":"MEYCIQC8vIwNvQ7ZLE0ra0AZGfHEWN0/N1pWbKw4ZhHOLgoaggIhANHKghnmK5jU8DzM15l6fR6sB9OJLA1BI5uK91Nu8M6R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10022696},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"5660fa1607fd46baf1aaa5dcef67f941e4f58c25","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.7_1778296476700_0.6167084219795402","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"chapterhouse","version":"0.3.8","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.8","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"a0053acfab1c5bc9f82af28a652063c8f527c231","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.8.tgz","fileCount":138,"integrity":"sha512-ADb5rADY7U5PYuPSn8ux3ynGaGvNS1YO7KFkWZEHaSJDgCi/7mxqDSH/pytHPhpxsnO8QIg+f0P6lUHObgVtvA==","signatures":[{"sig":"MEUCIA9uyL3AdXC/Yo6wOFihb/qE2tlkBgb/jePuBPKCFlcEAiEAlQKop/Gfp51QMCeYtascixs9+WRlACX8AxcUAMFKli0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10103717},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"0592f20dda820059d74b7bf6c2180b630dff9110","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.8_1778299270963_0.07395094000858538","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"chapterhouse","version":"0.3.9","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.9","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"6bedf45aebb894437ae65d89184a4e5a96e8a0a6","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.9.tgz","fileCount":140,"integrity":"sha512-atQPFEE+L2NpTzayNnvelIhN0LVke/2tppgCvz2nCkRjdhBQqn8d9f7Jc2NXreDrMej1c4Vy7J/tU6mT7FXKaw==","signatures":[{"sig":"MEUCIQD5xBgkF8wM8giVITXDOCL+R+oxKJHIE7Gl/h7yaYAyZAIgcUZZhVeE22IRmDYDsaWjlkf1P5kWWKXHITctH7yHgxs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10151785},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"948c05aa7ae34e3de3714a13b2ebdb064517605a","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.9_1778320234732_0.955707487319631","host":"s3://npm-registry-packages-npm-production"}},"0.3.10":{"name":"chapterhouse","version":"0.3.10","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.10","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"fc5df8864187e38ba2bde6ca8a88b45e380b8b98","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.10.tgz","fileCount":146,"integrity":"sha512-HitC46yyyaGUhwQjBrNJEZs7Bj/Uj7FQ8RzqZyXdlVGGfxkVYg+b7uXGoCPsQTo0c04pAAfLFK+xvTZgvOSCjg==","signatures":[{"sig":"MEUCIHJtVAGSUl7xvNe3v7w7/BmoI+QVJhUh376qa/MgJMO9AiEA29meWZQeScdkz+rCGOOAvaEswtakJTIoUQgdyqPakQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10269657},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"74ca813f7b8766dbb02bcb590c280a409294e733","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.10_1778330456037_0.5347778614546614","host":"s3://npm-registry-packages-npm-production"}},"0.3.11":{"name":"chapterhouse","version":"0.3.11","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.11","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"fc6b9c743b00b71947fdd192bf17fe5eb2db93e0","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.11.tgz","fileCount":146,"integrity":"sha512-MFqrLr8232IHQCwQr9PvyBoeU0xY01ybbhSkx7IGd+phsDMSWuetpiXeDXEIDvej9wOR3lrGfVLDTN/VHjNQoA==","signatures":[{"sig":"MEUCIFqxqYoXJqk8fU3hlvCE2eqElXUBgnwiXONytb99K+xAAiEAvCKASieVqw+f4yx77fYe0QaJthKWEm8jW3NhrP1ZUk0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10270983},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"488a83cbfb0008c3f6fd90e407a17f6f98bea2b7","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.11_1778336063643_0.3762915146646002","host":"s3://npm-registry-packages-npm-production"}},"0.3.12":{"name":"chapterhouse","version":"0.3.12","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.12","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"0b0018094060a439ac9206f0f6798d55bbcabf83","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.12.tgz","fileCount":146,"integrity":"sha512-lunseGpgDO0pqRxTW2+Fmk3PCE+JDQZQ0BUa8ukmIOszROk4N516jT8kYsl6J/V4UnCAN+30etA6TVIXvZRB0A==","signatures":[{"sig":"MEUCIGTqy8wvmHPQW97aQRIJniftEoBdS0cyZpOGsU4J5/cwAiEArYaXHIB4raroGvcOQjvXNQ0xLXot87gAI2TIokzphXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10271113},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"949acd20666e39975c8a7230025dfb377e7568f4","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.12_1778347217910_0.5560754672779415","host":"s3://npm-registry-packages-npm-production"}},"0.3.13":{"name":"chapterhouse","version":"0.3.13","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.13","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"6e6b0f52c7ace1f65eb7bd0c55964099d7a0ad3f","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.13.tgz","fileCount":146,"integrity":"sha512-5uAcwrHn1u5SjoYML7Lxah6ZIAOMf3stphmthqc3ifYQrmfbmYMSz6AMaLL1MNtXn9KOyUVVfeU7dP3gbfUyaA==","signatures":[{"sig":"MEYCIQCjj2o0T0Tg73ABqX6lFoC5jFCg7KlNFrKelEOz4LNdEAIhAME+nJ3L/6Rs7kAcq+9duFPfaU5iK9rqxz2CrNDAXJxr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10276425},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"c65ba09d320b8a123324e24819d5a7105a989a25","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@bradygaster/squad-sdk":"0.9.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@bradygaster/squad-cli":"^0.9.4","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.13_1778349321729_0.12176245316414369","host":"s3://npm-registry-packages-npm-production"}},"0.3.14":{"name":"chapterhouse","version":"0.3.14","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.14","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"dea164857cb246659f399fc71dadb7aca722cee5","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.14.tgz","fileCount":119,"integrity":"sha512-Yxa/PiKbUN83Z+OshK8YmO2nH2ZiTJx50IsJm3BufzF5eeefH2UPespMdz0+VHOy+Znf4pfzdmChSSy6Nlar9A==","signatures":[{"sig":"MEYCIQDiYaBfUU+hbdSz3aXPpGihR+x6IKBs3H1JoctYy5QOPQIhAMCQyWwYYVYRsEvKziPo/Hiu2HZ/rXy+2/vZZKs7oq8X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9957324},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"1a2e040a1e71726ee6b3e03a8b56eed189c3ecc4","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.14_1778598900892_0.2488868603778136","host":"s3://npm-registry-packages-npm-production"}},"0.3.15":{"name":"chapterhouse","version":"0.3.15","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.15","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"6f2e46630475b6ed93cded6f6807d2c1e1138c34","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.15.tgz","fileCount":123,"integrity":"sha512-vHzs5QabCkE9OTJftvY/fXFbMRq1/mK5nCpOcjGCrfXq0yAvtklghx/l4Ftv24UP0u1gRR88tlFSs3PSx7i/Qg==","signatures":[{"sig":"MEYCIQDHnAqQsntBQwdSpX7KSq2hZgCrPpkS5CZNHOBUyQ9EPgIhAIIlk3M1p8CigvTdfePxiMrcDkJdqus5jwP9GLOMGEVE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9988742},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"d6e5872de9f8d597bdedeaffbcd52429b52bd94c","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.15_1778603608241_0.9618562415668532","host":"s3://npm-registry-packages-npm-production"}},"0.3.16":{"name":"chapterhouse","version":"0.3.16","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.16","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"4f71e5533f44e830d08e6bf9fdbaa27ac537e46a","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.16.tgz","fileCount":131,"integrity":"sha512-2D95u8DGd70Glt7J865Y4ebdfql+HzGIex4WRkiIQyacSDpYrfoPAajyTWEnxp/Nh/5t5nqyxSIsTg4sDNsVaA==","signatures":[{"sig":"MEYCIQDzlYuiFSYRoIGklRwwfBM1mfprWVGJQln/K4EP+ac7DwIhAN6cU7Fv9J+G66d+VgwvwIBT91d9+2janeR4iWN+shKA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10041304},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"d16d9646466177506ace47ac7c583d3ccd946743","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.16_1778616077094_0.6216708931748571","host":"s3://npm-registry-packages-npm-production"}},"0.3.17":{"name":"chapterhouse","version":"0.3.17","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.17","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"ed3454869febcd479c5c8e5bde59b30cfbd83ed8","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.17.tgz","fileCount":134,"integrity":"sha512-Prw20P5NjWKgi/yKCy3cGQgXd/GdXNqBByZKCy0D4IzaEkGIvgTQjQpIAc6EU9Cn9x1UmKwnp3ITvixZFUibwA==","signatures":[{"sig":"MEUCIQDbnUGhqh3oAKFrIV57y3r7ZosVBnsuH7uynoTXpdgtVwIgZgEPc8DpwcPPAumH3tnuUMh8FoA3gS/Kapb4ZhNDt3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10050825},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"acab8381550a7d383919611209b4f7fa37b6c7bc","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.17_1778624687947_0.23460922771230064","host":"s3://npm-registry-packages-npm-production"}},"0.3.18":{"name":"chapterhouse","version":"0.3.18","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.18","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"e860d99d9622961f91783a8a36435ad5976edbec","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.18.tgz","fileCount":134,"integrity":"sha512-5c4VKMp1xpLPkoNjECN14KbzKhfsL6KZ9cvOWTUdbBtNz/WSr6cXAUH7dzu2EYULwGjmTAD1xmG63DOHpBYeYQ==","signatures":[{"sig":"MEUCIQCuIWYtGC34tbbGU+joth1AUZ/CZ3T2VWQsw1JEj1WOyAIgfLLfEJl1vFSXTXOXu6Y3a2KluuYtrx9hXhbmyA+xykA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10059724},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"1eef3621c4e3b0c581489ec407c51591b93ab0d7","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.18_1778633308893_0.8831101544672648","host":"s3://npm-registry-packages-npm-production"}},"0.3.19":{"name":"chapterhouse","version":"0.3.19","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.19","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"3067da3395b904480e1e6ef1b46d034dc8e47902","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.19.tgz","fileCount":135,"integrity":"sha512-cGWAEOTh8z5yqX2JmXK/VjRvNr6Ttfyw8k4suRf/8uSKSNF5VY7gidMAgXF8alwAJOWKhxLEB7F3KhsAz0IVSw==","signatures":[{"sig":"MEYCIQC9ziSmannRCYwkJY86BmR5MxB1h2xBvEE/Ppm4f3+gNAIhAJX4joHSolMdlIc4pkHJHqICAk57QNWj7JdUilEf0UPN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10080118},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"554c538d63194b462e8d14db70c89cc55603d479","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.19_1778635945265_0.9420551102300507","host":"s3://npm-registry-packages-npm-production"}},"0.3.20":{"name":"chapterhouse","version":"0.3.20","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.20","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"f28d564a8e9d5dcb3f4a9ffeba343c63417f210f","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.20.tgz","fileCount":135,"integrity":"sha512-bRdu7wt7IaqJDabu7L+3A8erNT5jLcADkhxGGG0f8oA+J25ZaM4bT56GqdIjVx4XLX37aIq8z6PKLyCWUjJs8w==","signatures":[{"sig":"MEQCICsT2uBME4+z2IDfekAlEp/QsLBsObIC8M+pRdB6gR1LAiA2bJquSjaY32mLN5V953z3xxRGL7PEjcexO+xFhlvHLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10084443},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"b56b544a8b8897371e1ab82cad7653796ae20e24","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.20_1778636559870_0.06746696317010126","host":"s3://npm-registry-packages-npm-production"}},"0.3.21":{"name":"chapterhouse","version":"0.3.21","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.21","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"1cf23d178312493196ebd74195cc8db0e5d3e8d9","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.21.tgz","fileCount":146,"integrity":"sha512-co4u9PjIFiIuL7Q0eUHpq3RVpvpwgtfzeDAOOnc7auQ5bITTTbdxLmA99sZtDC5o1QLGQpyw9tDu2kL8yzYmuA==","signatures":[{"sig":"MEUCIQD2nFW2is782mCOIavjk6vzbEhNWpwxJbt/dKm8gU/i8AIgELCrG0Rb5B+8K4ADFR5ltqoHPzVttal3MOoKj3aOGgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10200734},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"c6b041fa7f04cac970070ca1d6698d8f64c29b3e","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.21_1778646288160_0.9226008232719338","host":"s3://npm-registry-packages-npm-production"}},"0.3.22":{"name":"chapterhouse","version":"0.3.22","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.22","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"44631d5416879d1d1961aee8ca0d9b7aa7f404bc","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.22.tgz","fileCount":146,"integrity":"sha512-wNApuQV3hvMRUXWuQDVCmjJpPACqxbdx/rW+GEZH5YqJUekiZZjwGFhIJX82fY3lR4X2vpgeE4AtojmpmOCAiA==","signatures":[{"sig":"MEYCIQC7Xb5RWioZYe+XlmGFNL3kMrRDA+w4Sx5OkMb3k9kBOQIhAIzQVKAkke+L77J0aoPyf3xxVmkjqqJ+oEMTUodW98jC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10235592},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"c40e2c8438683aeade9a15ffdb69387916ac698e","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.22_1778655652801_0.7886551972200591","host":"s3://npm-registry-packages-npm-production"}},"0.3.23":{"name":"chapterhouse","version":"0.3.23","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.23","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"ef90cb60bd19b39f5d543c6bec830f9e2c5c5325","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.23.tgz","fileCount":147,"integrity":"sha512-d8vwvZsUsLtDSRHIEMHPVWUtqEdR8Sq7yM6DWmHEriYrTgQLrqQirV9YCKO9Fr5dyJWlk0ySOoUKF5Rso5+n4g==","signatures":[{"sig":"MEUCIQCbHhp/hiUcGczbo6xMFpa7PtqBRc32dojLJ6s9LvqWbQIgeKPkjX91di2WiUAWBFFNP74uf+bSnhSX+HNLyISpr7I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10263799},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"aefee6b6f515ff17dff10eecb95207b4d68128e4","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.23_1778657846322_0.6957197796683683","host":"s3://npm-registry-packages-npm-production"}},"0.3.24":{"name":"chapterhouse","version":"0.3.24","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.24","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"2752e6177fd1bdc69a808d2498febf6b24145905","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.24.tgz","fileCount":147,"integrity":"sha512-Q5qeSWhWg7xC5t/mlqorOX1huCQtTsejfmajAQBYhllkvLvjx7pHyzJrZRkesEtmj/9NgNEbGqT3d432AYg7kQ==","signatures":[{"sig":"MEUCIQCplovjGD+Fq+2wvGqFvs3abvy0Nm2Qz9mXGolK2KxRLwIgU508kvaZ0X0HADune4rcpHjmWHTlx4IRTzHuijnYUCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10263314},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"a308dbeff414f960ad137593ff887fa00743ad8e","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.24_1778670156482_0.5949903220802255","host":"s3://npm-registry-packages-npm-production"}},"0.3.25":{"name":"chapterhouse","version":"0.3.25","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.25","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"c191f649e7067e03f5e77c0ef64c92f05cb6c9a7","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.25.tgz","fileCount":147,"integrity":"sha512-6Uur/siYy0M+TbwORsJaqLXONTZ3u7KWU85+x/qC2T4lJyWIVa4x412KilrFm/27w2y9HaM7vTgOYLb9D7G6zA==","signatures":[{"sig":"MEQCIEZz9b0d3hhUYaQRC3+ubfpPlgMlXbxkgUFENTEvujF8AiBtbCBx5pWELQ7BDD68tej9eBpanYp9h/pyjLTMXdhwIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10285577},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"ce817d6b6e86157faba1396c6632d69c5336fff6","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.25_1778679713429_0.4610394812045988","host":"s3://npm-registry-packages-npm-production"}},"0.3.26":{"name":"chapterhouse","version":"0.3.26","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.3.26","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"00f1503e3c84edd5269591fe0f92546b1d0ac63e","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.3.26.tgz","fileCount":150,"integrity":"sha512-WYtdzju2RAeeN6/lXDELJc98Mxe8dih8D2xRjuKWwJ73mRpww/9IlJgXCPCxrdLjJFenLxYcjTOHiC+LmAwFTQ==","signatures":[{"sig":"MEUCIG9uEgQeZcALdQD1fhloFH4Mgl6fJXaUdxzHLOxcqe4JAiEAmiyjOG/gNmOj8YL2Xm8/UtveMGTu5gIZ2xJszg1oDKI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.3.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10290279},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"f5a1c2ebfa52cbb97d8d53dedc191c179296e555","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.3.26_1778691547497_0.6287004290267912","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"chapterhouse","version":"0.4.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.4.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"eb2ca9212a696d372469ea5bf318f38e425d507b","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.4.0.tgz","fileCount":178,"integrity":"sha512-SQyV2Hb9PdG4PvmwlZM1fIjQSDCPeOx0GiPChi+nvM0+BU4rQPyIXh+EapfhiV61QsAF978eMwtaywNm1JOzsw==","signatures":[{"sig":"MEQCIHGNG25Y4CoajJYEhiNwYwtrG7ZuNMd2ZZd7j7vT1mFXAiBBvKaERYTo0mad1G1W6jWAXrtnbrphHinAOO8jA7PTgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10549288},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"c64bb91d32c2e30cb35bbd0555b05042202518bd","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.4.0_1778702646867_0.4262910685185226","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"chapterhouse","version":"0.4.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.4.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"25a0d888b6d9da6593f49fadc4232900f44a176a","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.4.1.tgz","fileCount":179,"integrity":"sha512-MVPmx/j2VQK/svJh80nG5RtMt0g3B8Pe9wwIzC8PyiSVRYiVg8r9AICeEtjBGq1QIhx7Xfz/KkjL/qofKfNUeg==","signatures":[{"sig":"MEQCIFSzXYowI4Iq59PHnTwPYty5qavLT8atCQztYY3UFehWAiBonalF6+02J/yp52ncWjvISZi9fypj/bCTnlAmQX26bA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10557604},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"3c0890447909e9088b3fe09f8ca256a969b3e595","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.4.1_1778705978127_0.18122959528748783","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"chapterhouse","version":"0.4.2","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.4.2","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"9d9a9d135b9e8e8b1cc2f40d97f71ff69ed59ce1","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.4.2.tgz","fileCount":179,"integrity":"sha512-Erk/Au6IQd1eHj4RXsBBcG6PsgYjAFolBwPNFXKq0OKkUmypG0R4Xfi4cpx4/Tsn1Okj9vJxhEY0juf1HF9FxA==","signatures":[{"sig":"MEYCIQCRZ2ne9gt/ATomSUvuLhGIFSBltuXYP2ym+fear8asKAIhALWcrN8EONckA+w7WWq0J0HBO2O/D+fqR5RXvNahsPAJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10602957},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"285710b59fadf55ccef7cf33f44027d4f392ddad","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.4.2_1778719739842_0.23886145472716436","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"chapterhouse","version":"0.4.3","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.4.3","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"aa542ef7e31477174f2042c4a1c4b161eb635985","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.4.3.tgz","fileCount":183,"integrity":"sha512-dFZvHSbRV2LLsPiUgt3PA1VqZ7QQROF+0JfPcFri+I9GPPYEcMbEj54sTQKRQNpG0tlq6cUbdyUVKV+iXYzZ5A==","signatures":[{"sig":"MEQCIBJxuOJVBSpunuKaG9zGeBHmG6P1qNxBlLf7rRxjp5EHAiAksYwWqOUAix9pjMoxBapaqsQV77HAJW+TsG3tsx3VqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10667958},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"1d7684fc2a741599aac4e833bd33867698ed9d8f","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.4.3_1778725510100_0.27078116419238696","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"chapterhouse","version":"0.5.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.5.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"647afe8b1a59f79199efa6b6f8ce7903d98756c1","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.5.0.tgz","fileCount":185,"integrity":"sha512-TxD3Z7yWXZEw8LLwOI6q1Katm0zSYaIIlXO0UXzrHWHZ1uAPL6NL8MraZFQ8hlKFiWqG0Z9m+D0k5kSHx7aZjw==","signatures":[{"sig":"MEUCIHPx4JKieQmuTSFRwTqZGO0CbjzJO2hjoMpe+++HidF/AiEAnho2+zeywztIaVxTCD7zDIFJnbQE3qCfGa2DMc5Icek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10720734},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"3d1f9ffd7d75cf3389250c91de61246bb7cc8b2a","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.5.0_1778731460933_0.1727821450902638","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"chapterhouse","version":"0.5.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.5.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"6fba997358961fb5bca250b3dab9330850f36bc6","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.5.1.tgz","fileCount":183,"integrity":"sha512-b2vqaINjOxaG1uyTwvFQ12mPDatgnWa07kMWIbByh6C8n1iLLlHIS62jeCuim2RchFeznoj5C5ejY9oPO2kJxQ==","signatures":[{"sig":"MEUCIQDI/Q7sRK6LBeZ2vX8VHn5OScUvC2lenLnwHy+fSbssvQIgWUFsf67En/w92Mwn+Isw8ze4Z3ofk/O/Z1fL2lmc+Sk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10745599},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"21d4ee77024dbde2c7fed272103ed6f206f1b691","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.5.1_1778766619145_0.3243781912487602","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"chapterhouse","version":"0.5.2","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.5.2","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"3e1716425e04ce75e887261ef6adfd78c8d4ef6e","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.5.2.tgz","fileCount":188,"integrity":"sha512-3GzE/2DNovCpCwayU+D0z8PpmBZuori5gmU02umBrk/V2v1dVi7YFusi76kYfpkFx7ufieFFr1PgXajdKx2IjQ==","signatures":[{"sig":"MEQCIHxjx9XEfYUfEfiHatxJJz0AMRhglMnfR6pta+Y45XJnAiBsrdTnWK4es7IE88961rlXZ5C1FHlVvTfnuajvBfcmzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10808055},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"5dbd2514654ae42774089c7aa074ff558d2291da","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.5.2_1778774839076_0.5824820237692794","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"chapterhouse","version":"0.6.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.6.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"5e1f74984f1962a64586f4f2d74c285bcd5f59bd","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.6.0.tgz","fileCount":197,"integrity":"sha512-7E4cBzhZo28mhlsocGkEUYWqd7HMySumk4TtZ+XDwxtWzkBfg85ZXk6RyAyycH5DXM99PGwKrPcM8A9aZA1kEQ==","signatures":[{"sig":"MEQCIBgxW8CYj4mIjQXTl1agWsBraG/PvoEkzrrza3o7MohaAiAUDje98UY6SoypeOQVQCI71JyQfRC0HCwQP2b/pCm5iQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10899435},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"3c9deb005bd2c8325c240a1d7a796e6d2c564a9d","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.6.0_1778784643406_0.6605471161521956","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"chapterhouse","version":"0.7.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.7.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"3748eb7cb961dc5ab8d0a3e95e8492492d27e8d9","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.7.0.tgz","fileCount":201,"integrity":"sha512-WhCR5WfSIbVcOsxqhexFeBt3DI5zZTGIKRAut5iHnhDb1XZLdbu58b/2Oge7Xi4V+xGKS34bKqmStRf1gwtdwQ==","signatures":[{"sig":"MEQCIHV21XOoZGdv+jb8nA95XSFhr83tc113mf3k3KacTuBxAiBxghWZtmxgzdWLJkOeErRc3Dob1mHk9pnKdU8tsAqX4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10995263},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"da78f50498855982afe565dbf4a3261e06d7762f","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.7.0_1778804890805_0.13499700447297158","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"chapterhouse","version":"0.8.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.8.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"6b4216e65170f3f6ab46dfb8de6937bb2286a067","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.8.0.tgz","fileCount":225,"integrity":"sha512-LqCd1wYJylJAsvi7Po4UH7moywBcEsLQqW3esEv9rSr6/2Pg5GP0Sn9ztJbxYatYD85ImiD6mO/YX1b3HoL77A==","signatures":[{"sig":"MEYCIQD8amAlK4CFUEQsWJo7wQcspYRhyWsqVFVryZJAqi9ISwIhAIcY5R/PwUSjaUwFOZ8pPxLk38ZFEUv5bfPbwiTBWn2M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11434448},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"5631b1a7b549213012675fa34f86864f2a45aaf3","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.8.0_1778837429867_0.47919473858407824","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"chapterhouse","version":"0.8.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.8.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"fac94be20217662dd1775224ab40102381cd0909","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.8.1.tgz","fileCount":227,"integrity":"sha512-PVrnfrPJFWrbhpncHwq9kJQgNgvE83ubHRk+pYwhz8j7ayDCSTvqgGpJkXn+Xn4ebFkR222Iz0kcYpwgb50q3A==","signatures":[{"sig":"MEUCIBU8s2+FZ8ru3fgMsP+fB5lgrnImuSMhMmOlYNUusmNeAiEA8v4pNLy0es1kc5k9p0PQ4X37Xi2kZdI4JnwSYL9danA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11465496},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"28904c2775952e78ceb7570ac81da5f3457c609b","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.8.1_1778841708901_0.6726232652042428","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"chapterhouse","version":"0.8.2","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.8.2","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"dcf7a8a7814cbc05f4a23018f5b440a20f8fc072","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.8.2.tgz","fileCount":227,"integrity":"sha512-JoBrKopWMw2DYGRJD7k7SxH/IiqawJp3Aea/EefwHjLo7XatymtRsKXJu2km5/R3+gTYPZBzR8UcJL+IC97GWQ==","signatures":[{"sig":"MEUCIHmbmUxIlYXGAv3Dtzw6EpCACSQSm8nrgpyWfPcJAX3aAiEAhmqhJPR5RWfAt/oYsGVfwenwZj5ibaG3OuQauFiAv1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11478792},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"a7b55c3b4d3d7c792aa34c36b9d49cdc61d9f088","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.11.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.8.2_1778844815707_0.948118655261998","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"chapterhouse","version":"0.9.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.9.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"3aef72534e241fd020c949b343a2cecf76893603","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.9.0.tgz","fileCount":229,"integrity":"sha512-119X2rCXz27MFKjCUUIljKmb7J8m+jpBcnhohBBlQk1M8I1aLNon3l75yUlDqpiZycEIGntE+y3SDSqKH8jZqg==","signatures":[{"sig":"MEYCIQDG+iTxbSwEzmp1LgIKLGJuRPO2nDhMyaja31PvHqMdHAIhAK3QnhbZ7oIqTdgkPU5ACywuqlYYSS8tTT942yWZn2cH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11993738},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"c3bdff56c6bb9352ec333c9052030b84c41e19eb","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.9.0_1778855038096_0.14230024014608778","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"chapterhouse","version":"0.9.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.9.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"d942a628a1c3fb701bf207f6eb4fcefefab680e0","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.9.1.tgz","fileCount":228,"integrity":"sha512-I0HYxl0aOnhJr2BiF+ZSwqmqPwANuWzcUp/dmdDUBoMwhpRoApNzA0vnbhmVaDL9wn1qkw3Yb+4ZNRiTg0cUrQ==","signatures":[{"sig":"MEYCIQDKVcJi8lbU1QnrytRVpG/UDw+b3GJ7knSXcjknA3G7tgIhAOEkC/ydu2pDF4KVigtzBLaXmfdwPeLHQg1rq1QRiDzQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11986871},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"8b0d24870377183cf094d412c330f91fd3a499fb","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.9.1_1778859678570_0.5148950259349652","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"chapterhouse","version":"0.9.2","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.9.2","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"05de194e6ef7ae146b3f386d0b029a229af3f098","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.9.2.tgz","fileCount":228,"integrity":"sha512-rYW45ERbliN6scTHVRFhCCBEWc+66XSnLHFq2kjA4e2nTSaDSiFTyiVm1lz1GH7giRqwCMW67EBDD+b8tzCmSQ==","signatures":[{"sig":"MEYCIQDb8lB4dL4uRGdGyD+LDmXvQ6u9699Uddu7tx1M/+/K7QIhAKP2CB31bSuQ8gfM6UC0P/1O+yBy8izwPwL9lpIHgCfJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12013012},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"95194471648b39bbb727a38a5949d031245aad22","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.9.2_1778865849012_0.8909594627958737","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"chapterhouse","version":"0.10.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.10.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"4dac2588a955effb6b1e2a6523451fa4449f5c64","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.10.0.tgz","fileCount":260,"integrity":"sha512-XMZ4kDajGGXE5MyquiUI0JgBYy/hCyrQiQEHZ1FRGW4Szy8gofvsbqZxapT2jKxM1REye9jp1GlVNYpE0fAYjQ==","signatures":[{"sig":"MEUCIQDYm23Re4YLs/Tk5EUpfBJGKpB5wf1kuy9mTc7iKz6zygIgVYWBIUpbeoPZk/oPZUNZr/BorDkpnZi+eUttQrhi5eE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12128906},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"c432dd0860c96f5a15b93928bee35e020a69a181","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.10.0_1778895619357_0.28034091897184843","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"chapterhouse","version":"0.11.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.11.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"ef1cfc762070f3604a70296f2f6e262bbb177c3c","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.11.0.tgz","fileCount":268,"integrity":"sha512-erJlvHFcOmKOkxduHem1s9YJzkbd052o3Au2FcV+EblwJAzkZAxpClsA84IcVeTdXyZq5ZB2JLeUee0t6Fc1Yg==","signatures":[{"sig":"MEUCIB9k33LIrEN2bXkT80/+ZWfhvtsXlejVBIxkSD+p9fYkAiEAxyn/vy62CXB70BOgK/9SCslpqs27D2RSc+t/zCoQs3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13267760},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"62d57a4461c248c9ea8a4482f2839c831d885ce2","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.11.0_1778898838699_0.3629389956918392","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"chapterhouse","version":"0.11.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.11.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"b75ee369b37d9aa808363312e3ab2bb2f693adab","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.11.1.tgz","fileCount":268,"integrity":"sha512-Ypm4C1Efay2aV4AcNxlBo/8VWCzzPgVXzq2ZoCOk+KA81cykzXT6kEkwR+R9aC5Clbf+OsmB15Wp4l4yNabv5Q==","signatures":[{"sig":"MEQCIB6gZnIqHCM6UZWONVar+Ycl2ePVO4XiMoLotxOwVtvkAiA8cqyfkeGiFIooc1Vd+rgM1MoWo2fX8HJ5me5TbmJMKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13267743},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"99ea2d35e69ee27706442a54ea4c8b3e73c859b5","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.11.1_1778900544476_0.6868214817808211","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"chapterhouse","version":"0.11.2","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.11.2","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"eecb4fcf015e1204c8fecf1b856ac09f7642e231","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.11.2.tgz","fileCount":268,"integrity":"sha512-TBHXGQ3HePX+wFD3MuVppyt90lJnl4Pcj0btV+uMUglq7+8pG/Y4w0oAWF8vRH1veesj34gnjTQjBD+507bs+w==","signatures":[{"sig":"MEYCIQCwDgX5FNGVGtp3/tkzVDVN1bp8mIg5gVGwg99bfXAUnQIhALT6tx1737Z5nPOSsNlwbC3jTkKNfIlzyA0XZoomzQi8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13272767},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"2e0f6fd7d295940c0ab996a7139b2fa4a92feb43","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.11.2_1778935826381_0.7964958997792513","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"chapterhouse","version":"0.11.3","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.11.3","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"f079613325a0e14f665016d9812c24d06b7fcfcf","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.11.3.tgz","fileCount":269,"integrity":"sha512-XbwQS61StF7jsXY5qjdVYLMnyYxwniSqF1VRCyVkPaE6muoh2S85JYzQjmHcobqkscXn/nhinkxoMHUA4adR9w==","signatures":[{"sig":"MEYCIQDiBWnioifUwkV4++FkvzTjiTW60KxJzFWcc7Ghlue6XwIhAKppiAEbL3LYVtFuEwzju3niI4nx5Jy6D56uZ/e6rRhh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13282317},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"62a4b7881661c9e622e0f3c9db396b1a96ce335b","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.11.3_1778950979020_0.16344812354920135","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"chapterhouse","version":"0.11.4","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.11.4","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"8901d57220ba348445a10b7bb9feccacae4a8a46","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.11.4.tgz","fileCount":270,"integrity":"sha512-0jKtGNwtdBjjhTle7Kk+41xce3SrUpkmFXikcTSzGeoGDoRuH+C/KA4Q3MByIYUND35bZKBS5///nyZ0UUCM0g==","signatures":[{"sig":"MEUCIHIpFomzID7HZpV1bDY4nLKNriai09Noz3pjsAWyMdACAiEAs8nw5aBd4OLySK0fTDk79zF019XyuopoVwi1+ZbLlMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.11.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13301338},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"7ac6537e15699039290f0ff55b66f141e0bdaaa1","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.11.4_1778980984055_0.22963075322888282","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"chapterhouse","version":"0.12.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.12.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"23ad3bb4a1838a1f2b62f652620b72a114a77cd4","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.12.0.tgz","fileCount":271,"integrity":"sha512-4lBv8zfDQ27t5Wa9GWEJikJFD3Ow1d4XgVuH4WV4RyWs2oamFWtLPY/Obk6TxzqdoIiukNfiuRrCrmL29fpQNw==","signatures":[{"sig":"MEUCIQDkG0EkimsfsKaVOzrGDkAmUOS6gYa9bNl607FoQLYRpAIgXltwG5drZJ13dERWBti4UtxTFjIl3yu7+qWQi+DPe+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13303791},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"eff2c4fa9a3b4ca03c35ec4853ba76dc635058e3","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.12.0_1779152202981_0.46467778704265106","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"chapterhouse","version":"0.13.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.13.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"072be44010340a6e02a17764a9c8a6bea9429ede","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.13.0.tgz","fileCount":271,"integrity":"sha512-x2GK9ezlGk4MAuu9aOYG5JAFhAJGFCDKNgt5GXyD+k0NciiH042XeStchRTIvXpsjNvl5B2LyfdVYjaG3Fiwiw==","signatures":[{"sig":"MEUCIQDFycy+3sNSVoLKwiJY/jIkAiXX5kjIfGrdYVIvzds6oQIgDeRdzznnHrHMd+2p81/c8FwnnUSJnAU64ef5vK1UEck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13311240},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"18d8c866a8706b471d0cb89d31ef6fb98e4d7d40","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.13.0_1779154876825_0.9148771736725321","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"chapterhouse","version":"0.13.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.13.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"7a5b24800b0b12ba0fb17eb706928ea8311ab9ea","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.13.1.tgz","fileCount":271,"integrity":"sha512-4a6R0AJCtV7iNZeUJ58Y8e2xC5qzgFtIsJcEZJSDvbw1biKEC2wyGtfWuh11w8RQukbYB4kfFteLY5lo+2Ahkg==","signatures":[{"sig":"MEUCIQCficOKQuSF8fKBIRu6NZZ47F2dCvj06vlJWo+aZIdc/AIgJuUmag/x2YssgHh8hp3ye3iozzyeyyNG5AfL6y7jzzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13314475},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"8b59b5d0b1b4f3faaf67b7f0199f97a510614961","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.13.1_1779158425670_0.1461904683301274","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"chapterhouse","version":"0.14.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.14.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"7e7d5b72f646bcca7099f816fafa4dbaf4edf844","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.14.0.tgz","fileCount":271,"integrity":"sha512-xeHRJQqvh83UfSe+59fKOc/y2OgdHF9nDr/MlSgnrqizZQbZWrgDDQ1Hq74ZULfdUpBtvdm//etD+sdePpEyZQ==","signatures":[{"sig":"MEUCIQCk5pRRGDRw452OJz+4Hz+ErKo2Qa+bPnnoYn8cZQCZzgIgXzZFcqW1fq92dCuA6U3jX3MGBpXKKMIcnpzTgKrivZE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12887390},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"dd4bfcd29dfe885e5842af853a2d1a8dea1d5033","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.14.0_1779184645992_0.4209515405908071","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"chapterhouse","version":"0.14.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.14.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"1306c25071a3a4f01bc2ed4b6443f823f25748d9","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.14.1.tgz","fileCount":287,"integrity":"sha512-BWLIrllfGNdtJd2Yga/2lzCnM6aE6vJ4rfXP4+7Eqz1paTFuzlzY1TrczGkgY6RAtG+rJ9Grjp0or7MIfsGbmg==","signatures":[{"sig":"MEUCIQCs1bkYQg6JrGfSnCxi4xCOmcJXbReEW30RKFyR2Z0oQQIgLQk6/CSuzNfBUNtfcVzCO4J6dEDSY6BGI2ZXmrkfol4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12907307},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"20a11ec07bd295d320b139e1c6911fbc6f979808","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.14.1_1779186713338_0.10029181967547784","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"chapterhouse","version":"0.14.2","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.14.2","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"979dd6f6cc4f43f4c52aa31bc0060932ee39978a","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.14.2.tgz","fileCount":287,"integrity":"sha512-bhIw+YUk8sxWU6BqzQnPdFAYrp8LFd5kq7F+/95u8xKZqJKGTB9Kd8L4yUqUvsOJZLYkYtqpd8iiLNUl6HmNDw==","signatures":[{"sig":"MEUCIQC2k6tpG7qNdJXeMy47MxX+TF7PQxmrnQ15z7QuV589JQIgcOV9AHQkGwbbBh05VfPVUxJC/ayBqrnONrUdLgmhe18=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.14.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12909032},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"8b0c29a7d75e345416bbd59f37c128ab93076a49","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.14.2_1779191586603_0.5433463713945739","host":"s3://npm-registry-packages-npm-production"}},"0.14.3":{"name":"chapterhouse","version":"0.14.3","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.14.3","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"52ba52faa1ecbf2e0d3d530eff22a1a7376c9724","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.14.3.tgz","fileCount":287,"integrity":"sha512-vOWaNjzfJLMVZZFoKbPH05IlWST3NZUh95kXprAEefyx85BZRbtEZkmFeeSldgu9SWq4SGievEc4uUybgv5trg==","signatures":[{"sig":"MEYCIQCAvUmDyXVjq2s21PdcGp5HrWHK9bl1l25+49FTluA4SwIhAJn/hC6RcRaUp1J7Zh7UCf5slmfWJUz5iG+Of+KWddGu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.14.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12909984},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"73d78f993db78fe796249b31fdc79eb1cab6713c","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.14.3_1779192346053_0.13563412520225615","host":"s3://npm-registry-packages-npm-production"}},"0.14.5":{"name":"chapterhouse","version":"0.14.5","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.14.5","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"f3cc4dab3c410cb7161ef7b11fa60148fbc153aa","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.14.5.tgz","fileCount":287,"integrity":"sha512-ogE/hl8zHwZMrQbNtyITYK8NBH54lUi98YWAX1sxqcpIDjXW2lIuJ1CPPoYAn02fTbuxRmhMJbk31QLVZAyJMQ==","signatures":[{"sig":"MEUCIQCxWkQBgWBtUGC6kUVOXSN6WBeUXN7RvQ0ypyBQH5Rv2QIgQNhlDz14GaiBsXGKDSADbmA/qIcpIi/S6i/gdmLVLd0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.14.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12910786},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"8f79633edbc905d5f258e7343cf095431bf41733","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.14.5_1779199152491_0.5685833735667636","host":"s3://npm-registry-packages-npm-production"}},"0.14.6":{"name":"chapterhouse","version":"0.14.6","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.14.6","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"e6d02c8c2cf05a0d54d66d79f72c69edf6bcaf13","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.14.6.tgz","fileCount":287,"integrity":"sha512-aaEeCo0oMGyX9YPVX0ThYay6NU/mO1hU/tlaitONVvwqLW8sNBBcXJ91fMx28PXB9rTMYfzkY6z62/xzlnpqSQ==","signatures":[{"sig":"MEUCIC04L5clIynquE55YiYDmZdzfAW/49WyeaHZSwr00LY3AiEAzjDbaoNVja333KGrYjvrQ3rw/DOTBTZRnsYvZ+Fvfx8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.14.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12913279},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"11671e2769c85b5139bff8112053aef090969b01","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.14.6_1779202925113_0.19017437455752084","host":"s3://npm-registry-packages-npm-production"}},"0.14.7":{"name":"chapterhouse","version":"0.14.7","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.14.7","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"2b0fda924db7cfcc77377aa7ca78c7c6653b7205","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.14.7.tgz","fileCount":293,"integrity":"sha512-iI/wOTIIuSg2GWHopTkzKjbSB3FjBF2bJFO17iSj7oskr2PgVFLTNmqE2Fwow2upa83UJ4rygly+uqAuHM248Q==","signatures":[{"sig":"MEYCIQDOaYh5o4LKP0L3M+wjfMlkYNRy/tnJXklfgLmWXAXDWQIhAKAZDBxIch8AK2uTljl8YZp4YbOToGtdLiRCKOuPWT6l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.14.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12928350},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"f0f35fb4ce8663a57b14b4c3395f19ea424540e3","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.14.7_1779208942146_0.45878611061898167","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"chapterhouse","version":"0.15.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.15.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"52d9468bd921335a21aa6ef532ef5f6a733be57a","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.15.0.tgz","fileCount":294,"integrity":"sha512-upKea1Id4jS9XmXIiwEht6eDEp7ETRLwkBYhWXhEMe/mCBfpFZcjV8RzPVWM7ccyeHJZD/ilB9S4o61bD4voWw==","signatures":[{"sig":"MEUCIQCdhWJqPlpIfQz5HIwFGJcA30xCDlKmKd7eKPVIOgKgsgIgLZ+wLsREhpVBRPVF3BxhuFSra9tsgfA+NwaaJydEHsY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12960977},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"34a8f3318275c1ebe2366e9186525a7d88f95061","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.15.0_1779217527668_0.7548984622386374","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"chapterhouse","version":"0.15.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.15.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"d7b99e76b0d985f45a2f3d2e78b0317521cb3a8c","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.15.1.tgz","fileCount":294,"integrity":"sha512-Az2BW5XzAgQpi/9k+XsK/1jOQntzH8FIf81P79rF++IJ2VJTH/5R4+3jmKUajiXF1NMd8TM0hFBu/K02G8TuZQ==","signatures":[{"sig":"MEYCIQDuWCsWVpt3ODUAGVFMVpdpGMeGop3nkHMz/tuWxzE/vgIhANgrO/HvVTWkFpd/hsZTT17woTV1UZdzF/dT91aLsU1Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12962862},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"f2ba6ce77ae8997f4bb62050d88adb242539b7b7","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.15.1_1779241433399_0.3837321401121392","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"chapterhouse","version":"0.15.2","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.15.2","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"4f6218fccfadc4403091df16ef3e94ee5a69b39d","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.15.2.tgz","fileCount":294,"integrity":"sha512-UnKPk5paQqo4Mg9llt+ud8NymPLaEKYFYZzND8tsPwXbuPA6eexkPQMHRFbQj0I87MgrifwgdacYRES3aHcYew==","signatures":[{"sig":"MEUCIQCv9LZ7bu4XCjKyNQIg/r6n0gQ9G62rRfpwGvh0V4Z6lwIgMuvOltjMuGNQ7tV/R7uY4ycvyhjvqh1WUvx7IMQHX/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12965388},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"1322b5e091d3342c09d42d2d1361e43153c63178","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.15.2_1779243256299_0.3556141486363469","host":"s3://npm-registry-packages-npm-production"}},"0.15.3":{"name":"chapterhouse","version":"0.15.3","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.15.3","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"027f4972ccbb41fed725a8badbb8aa6c94590a0f","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.15.3.tgz","fileCount":294,"integrity":"sha512-fAtNuJdwquqdGPlCglND7C+5kc7qPNwf6jYy+AhPSt9LTdHmYgKqKAcBUGIqQb77331XtMlF/NWwSWawkDZwJg==","signatures":[{"sig":"MEQCIF7QDylwhC7d8/F9b3NOXgncdEHCrgxwosxcMljAZll2AiB+Egk5EpCPa7+mVRcDnc0D9h8FsxdauzWZGqMqr12xmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.15.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12967440},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"c17f169d10c1a54f16f963935326066d6fb83393","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.15.3_1779244413083_0.24630607192700693","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"chapterhouse","version":"0.16.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.16.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"29103d78bbe3eac6c40c2ff8e286974f3f026432","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.16.0.tgz","fileCount":299,"integrity":"sha512-egAQ1A/DQPaJeI9a8ZeclvzCpNCbBWT/iStM7yS9weqdqSEsvTOjMqFwOF0R+C9eWs+0bb5zt7QGVdMzFOqP0A==","signatures":[{"sig":"MEUCIHWLlWrBFa6jDmptFAMLvcRTi+0kybLGFzfV/Pw6GVjHAiEA8JB16J3ofAzv9bnkJQrfeYUx12QeK1MAE8ScvirhX8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12992615},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"2325092dea2090f37c6c16612882b2c98343ceaa","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.16.0_1779380070231_0.852986032106102","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"chapterhouse","version":"0.16.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.16.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"c350b56426a18773d1e6526c3d00e6a1ffa3d908","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.16.1.tgz","fileCount":299,"integrity":"sha512-TcMj9gMDg/7C7ZO5AA0rTeHrLkJYgMM7nKrUGbHWBAfHDUtLKc1QDLoNGMCZPHAeMEDmiKY9va2NS1GyoUtVmw==","signatures":[{"sig":"MEYCIQCfxijoz4V3vK4ohmT260y7IKMdUOQU5JVyGdq6whP57QIhAKdrT7nq3HrdLi92fWD6KlCAjwL7blocCWcHe9RR/pSv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12995595},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"89d0077e5fa42cbaba14bb33b84fc8ef9149fa7f","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.16.1_1779383087805_0.27080253992699643","host":"s3://npm-registry-packages-npm-production"}},"0.16.2":{"name":"chapterhouse","version":"0.16.2","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.16.2","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"371751f588e9a9e8f356a1c9ea57fcb1924ffad9","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.16.2.tgz","fileCount":299,"integrity":"sha512-bejYu0QpIiBhb0sd+akjeI7w1K5vum66C/49KWe+lZxGOxd/UVsVEa2EUc2zr7sE92VKmd3CE131vWt6pttbqw==","signatures":[{"sig":"MEUCIQD0BQiGpwPaLL3I2nQXugWmBic4GPgDl8YSN2UL9zkntgIga2KUz76mEZaIx+s6LAUZv6/6ac9xTqoXEmGqUZUx2WM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.16.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12995671},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"874fbc6ce4eff22bcbe3fb4a790a817f9cde5ba5","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.16.2_1779385228049_0.3326027129454807","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"chapterhouse","version":"0.17.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.17.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"10eb98f5962304f3ae2118c4503fe3da771cc0bb","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.17.0.tgz","fileCount":302,"integrity":"sha512-dB36vs7dmbcEResfYVkH9xX6yi4vk3JDvR7maiHnj6suvqTxJz27QzA5dk4gF7nN1cAlRovkOC+Yz2x7I0KdxA==","signatures":[{"sig":"MEQCIFUsUEBthPseO10YH1YWsYjFVZJkr9OXOXnuS7BpTd+ZAiAHQybMLwtWwLUeK3HhqCnZk8oJTUX9sM3r9aAJXNAt7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13035734},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"05bb7ed036825d4713d4be283be940a323903154","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.17.0_1779388245850_0.9182881662297138","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"chapterhouse","version":"0.18.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.18.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"b140a7bdce05ff095ad896d8030001dc8810e3c1","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.18.0.tgz","fileCount":299,"integrity":"sha512-4HVwvDnIjeBjyghSVc+cVAi0AhisZLKNaQsNC57h5D/T64hm0Jc++NNF2RfMxvpl0gCU3uJjYp6C9X7tdMg6Iw==","signatures":[{"sig":"MEUCIAUGkjqpqycgz7/oatkw9J0bvDcnlhxHg54dwIj1xm4NAiEAvkHtiv3Zn9QeUKH45OhUBxtWG1zXrIplxQjZ3B838cE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12966174},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"e6a10b6f37f3bd6ffee806cafb29cf4c77e81e8e","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.18.0_1779392963979_0.5661021514272777","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"chapterhouse","version":"0.19.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.19.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"d28a40669a0c95003b8de67c21fb38e050ed0863","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.19.0.tgz","fileCount":300,"integrity":"sha512-c6pkRh8qZycwbAdIG6u25VBC7rU3VfWLR9RNEYWNJsu6hyeFQGWuYL74yD9/gVP8L2uW50dMr2mSrVqAkeUPqw==","signatures":[{"sig":"MEQCIEmrWZemfwtOlXMXQ3eSJ7drreNh/2ZkgGru3dkiV8UmAiAVNx3QrA8Fi9RQVi6EGHXT05xt7qKqL8njt00UJZld5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12976493},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"8227c5ee582da966ea0b397402c8782cf9167a4e","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.19.0_1779395208586_0.25609124365001046","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"chapterhouse","version":"0.20.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.20.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"9b7f04a40b302bad018555e7f663773b85a21eb8","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.20.0.tgz","fileCount":310,"integrity":"sha512-rRaEk/12BtBgQeVdBJbOexvEuvCVdDxuHHWbbn/2WvfdFVy6m2ctimi/IXNu+qXYUbAAWUp3TLrLWgAL0Id2BQ==","signatures":[{"sig":"MEUCIQDLBUYegL0s1Xo3GaX16a6SMpgQc1SNTl7k8CKleQKtsgIgEjI/vMb4by5RFwHs8UGT9+RNfO0pzDqUWVJEfMnZyCg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13072645},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"0a424dab9b4868b6ad57a65011114151249c109f","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.20.0_1779419780154_0.24926069681488117","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"chapterhouse","version":"0.21.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.21.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"ca5a0540b8ba6466a36cb9002b1387033d1c36dd","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.21.0.tgz","fileCount":310,"integrity":"sha512-EkuFByRjT0jLPBzwWpLX3RSM26p6NsBbpitcwiU243U2xI6VvrHPvILhg0JksZDSnTHGL9r9xo4bIEB+EZtcrA==","signatures":[{"sig":"MEYCIQCLZsfnAa7lKGs5753XdrY7ytpj3OVNjUXibU4UWU0H5AIhAIEh4K5eVJh6EXMhzKm21aCPQPfmXIkuKoMVYnrjrH8q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13084951},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"dada1086d7551a6040655c8a15ceb0df95c65ffb","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.21.0_1779421959453_0.09405857985628008","host":"s3://npm-registry-packages-npm-production"}},"0.21.1":{"name":"chapterhouse","version":"0.21.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.21.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"d2d8a8c0aa6362e1e63d5d022224bfda5cbae321","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.21.1.tgz","fileCount":310,"integrity":"sha512-5CnQ7jruUDNOi9F4wKnITSBGDwqxM99y1dnK80dzMjzZ9Fxr7rEwCsnV0Q08/lujQ4ZXd8oxSOTFJYVrcUxHcw==","signatures":[{"sig":"MEQCIH+pVEdRqgGrNBoxGJnS3QHcEJomubYraMNT5+Rdae6OAiBR7YI0sHXZEPaMoLK5KafU48lZgGv1aGdTEi6m9VjD1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.21.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13085275},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"251352707eb21710a6b2c5edb863d171ac8f01ab","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.21.1_1779433324592_0.8169831795462685","host":"s3://npm-registry-packages-npm-production"}},"0.21.2":{"name":"chapterhouse","version":"0.21.2","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.21.2","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"acee811dd7b18c1fef23fe3fe0f6b107f52ad7ca","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.21.2.tgz","fileCount":914,"integrity":"sha512-njjQq26CByawJvsgt5VJQL+GL76GSm6+1nauwbWavnN7dpjgbzDAHNDszmGgit56wiiSgSZ0LArC5fnRwtp6zg==","signatures":[{"sig":"MEUCIQC1nTLHtgjhAyIp1MXQQo6w9jnvBgVaX+xpUT8SLz/V7AIgEXMsV8MfIPQ60LpCn7BlpKRyiX+4swZxoVQ8QEee8S4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.21.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35513126},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"dbd28a42af0ebae26cf759b609d2e6d919ba12f2","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.21.2_1779456308737_0.9144723322228578","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"chapterhouse","version":"0.22.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.22.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"e2445dbcf2339ff98a180b825afb9f2ea979f862","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.22.0.tgz","fileCount":914,"integrity":"sha512-Xy/UBeT2IHLlIG6caYJk4ge8SnTEUn/yTiaMp6ZwbvtRdsVg4Fjt65hmCp2DN0VQr0vMIeJUGrHs2aFGjCYEgQ==","signatures":[{"sig":"MEUCIGsIVbyPlE4xqA/liM68k2gxGrjYvld4tsbBUe3DiccPAiEA00BSl3HYoJblJydqZ89NRQROyqzWJ60vb3fjwLXLtwA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35515361},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"9acfa116207dedd9e9806437d8394d6792f9b97a","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.22.0_1779461665176_0.8494261550808395","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"chapterhouse","version":"0.23.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.23.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"24ca5b34de8be7a2ff5d36c810da65aff5cfb69d","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.23.0.tgz","fileCount":914,"integrity":"sha512-DXWha+A1U71vTFXJyrf53MyU4RYroI9wrKnX/mmjQjstYvBbikPpE0gUvd3qy+7nRonluGIswUxySKxyIWuv0A==","signatures":[{"sig":"MEUCIG1hIch9gfvbZzlCuA/X7k4Nb93gKks0/gnmiPzmQ56UAiEA+pJ6rIFtkYDEQTC2bGqPO/bDoPp0geYoUcVM0ncvox0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35536088},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"00ef12ec078ae71733691b0a658b28ab282a6b15","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.23.0_1779464689735_0.72807827839548","host":"s3://npm-registry-packages-npm-production"}},"0.23.1":{"name":"chapterhouse","version":"0.23.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.23.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"97b7f1b62f390ce547eef1e2a46b7a776746c3e6","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.23.1.tgz","fileCount":914,"integrity":"sha512-Dxw4QpDs5fprins8IEMR2v4JqXEkw4cEds8kJUi//enssVpq83g93ykFgDPVhgtjS1I//Z8NjcTP5PcPIf01Ww==","signatures":[{"sig":"MEUCIFwUrzbCwPyNbQjNKh58J97G01GDNUZSTS2XV9RDUxHqAiEAyGmtOjraw0IVW13M7/17mCwBMO5d4Nc7Xhw66cNXgKo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.23.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35536129},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"47ab601ed5240112cfa6f7e4b7717262605ece86","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.23.1_1779465241513_0.6086026044439767","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"chapterhouse","version":"0.24.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.24.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"ddcddf5cc713bf108517456fa3245c8b91de41fa","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.24.0.tgz","fileCount":917,"integrity":"sha512-4mMKVTYCiBqUws2/M0kdMi7Oa0MAy7/fQXyOh2aAYVnutNuztdBUTz1mMyBk8eUEvzvVrwCyR7G/8pzsIV3nuA==","signatures":[{"sig":"MEUCIQCV4YulNuQ1LsRf69/AJjvKEQjsnaLLDNQoOoLXxQg8DAIgH4Od/pdW65R+SGGkMAq4jAsyW7k5QMkHdfuoLlTunwo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35602459},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"b7dc95d8c0fcf2de7c445104e85b20d2a7cd61d2","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.24.0_1779471281024_0.477836772222769","host":"s3://npm-registry-packages-npm-production"}},"0.24.1":{"name":"chapterhouse","version":"0.24.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.24.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"70bcdde449967f9e03f34ce3cf0d9a10959d58db","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.24.1.tgz","fileCount":917,"integrity":"sha512-kvMxTk8O1rzucPwkPtO13qaDFnss+wImzqmJTItH7rF/Y5DRGtpoVDlM6NvX+Lu46/ugDhpyYhjxaTdv4A0oNA==","signatures":[{"sig":"MEUCIDsHcxwmFU4z3TIpV8c6h6b+vuUzoo0H8brxVM8EUlpiAiEA6vDVLhRVN7vq895fR50HQJbJtkbTuR3sLbu6fsI0QGg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.24.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35610560},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"6025e02292348515b755cf8f783ed667d70d43c8","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.24.1_1779476240195_0.24327965316351463","host":"s3://npm-registry-packages-npm-production"}},"0.24.2":{"name":"chapterhouse","version":"0.24.2","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.24.2","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"fcf6dc4c145560bbe5ad7dbf79ddbb6620f83da5","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.24.2.tgz","fileCount":917,"integrity":"sha512-OcTMps7i/sczU6q40QRiB9zflYFvNXKbX5XAAFBju5UkgfEqy1+32sn2/CT2lhjCWec6VExIg3Zqp1H1OWvDFw==","signatures":[{"sig":"MEYCIQDr2qJmxkJA9jjsvA8xCtwOd83JZCBHH/HsTSdPhac+XgIhAMwYvhhmyZ4IXD138rHSCOgjyi++0ZuAsT6VWIkOtclK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.24.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35611474},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"94a736e2cc493d4113a6e7cf1a14313028fc3a90","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.24.2_1779480669122_0.6749787742181255","host":"s3://npm-registry-packages-npm-production"}},"0.24.3":{"name":"chapterhouse","version":"0.24.3","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.24.3","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"67f29459d201489b21505f2100fc3c5e211f84bd","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.24.3.tgz","fileCount":952,"integrity":"sha512-mbKkTnT+XAYeWYemvYfQJbiOzPAoq660UNcmAILZKxqi+r626gfQzOQNgvVc+P5cHH3pi5uzSSWkM/thOHej0g==","signatures":[{"sig":"MEUCIQCf4jsmlAasx1OLpJyqI8ojqgPqdSJxXTZQWbEzgNFggAIgZmjD2XVBibAO1n1jhsmauh3uqtFW4ydWTAI59lDdUAo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.24.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35619140},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"716a7e394ccec753bb8233e143ffc5f34efe0950","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.24.3_1779483089058_0.8723860966191541","host":"s3://npm-registry-packages-npm-production"}},"0.24.4":{"name":"chapterhouse","version":"0.24.4","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.24.4","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"85ec10d776cb20bcf33f75c20670ba8523baaefb","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.24.4.tgz","fileCount":953,"integrity":"sha512-J45ekOG/uyObHkfX6+KFg6ZBalC5dkaJf8WuImprf/Sbs0T01epM0NxqwJ76dRFuz51H23Iz8rIIDxoLFYTlRQ==","signatures":[{"sig":"MEYCIQCF/d/Q12iied9sRQypTKkIB19kg0Raaj/UU6nyC8VIBQIhALngfeNrIshdNYVkSegcaF9q9v9fUNysyOsS0edVtkTH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.24.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35646872},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"ff2bd61dbd2248912d2404477b0cbc7b52c125bd","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.24.4_1779491537041_0.27676009765723397","host":"s3://npm-registry-packages-npm-production"}},"0.24.5":{"name":"chapterhouse","version":"0.24.5","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.24.5","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"dc31560e066aee3ee9e54572e69711a5f56ea953","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.24.5.tgz","fileCount":953,"integrity":"sha512-vg3Y5OwTmgL4a0iMb1VpBJNK3ws0sjHJlRaSY6F7IQm5KE2IlNNCq12dhQ1BE08oR+mDDoJwzjSy0vwLQcKP9w==","signatures":[{"sig":"MEUCIQC8yGcduhsnlj7LFPWxuY/41By5A4GLqgZeaNAYfz5/fAIgK9uZQMRdD1Qm6GAeuqBgMjkOxMH0gtX5AXq0+KQvaNI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.24.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35646872},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"d1bcb4bcf6144ea355e254455f2e00b2eeda0711","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.24.5_1779498743799_0.6554151654740479","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"chapterhouse","version":"0.25.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.25.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"3014861fba26914599a305d181d59f825231f898","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.25.0.tgz","fileCount":953,"integrity":"sha512-vBq+Oir8A0fwFzRbXvq0WmHW245GsMZGUiWxRFL0JQ12dUmGmGEM6/kHkKoKzJpaeV2rLEd+ucSs1bxEVbSXNg==","signatures":[{"sig":"MEQCIDPl9+PHZ4+fCkikz8GrzLqXsPagIMW+bzGZc5+gyUZNAiBM2y2xqagDhMOC8ivHcs77xEqVO345p0hNktpsbJSiXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35658469},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"b13b565ed3050f2f2881cfe658543ee9d595722f","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.25.0_1779503029688_0.40734052788566166","host":"s3://npm-registry-packages-npm-production"}},"0.25.1":{"name":"chapterhouse","version":"0.25.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.25.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"fb153372b5ad28e98b64032fa3601a396e4e5905","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.25.1.tgz","fileCount":951,"integrity":"sha512-j8n0I9bSzKHo/QBoc7i+WJbJNEfBDx6UtLkb3cfqtW+ULlzzaS1dwr9xSNZIxuX5+wixIXud5r2sSevmOR8m1w==","signatures":[{"sig":"MEQCIDWlPmQIDt7I/2TN/ozgn7UIkrLJT/NImO5Y7Pd/H502AiBBsJ3QpHZKo3PSfVeGRPtQZ4W+yK9QkjVmy0DnzFxrOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.25.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35649420},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"c0193e3e3381f17cf7635e5cc82882f9b6244987","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.25.1_1779506003016_0.9720591417726108","host":"s3://npm-registry-packages-npm-production"}},"0.25.2":{"name":"chapterhouse","version":"0.25.2","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.25.2","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"0039791e7ac788cb76bc480a786c2f48549d719e","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.25.2.tgz","fileCount":951,"integrity":"sha512-UID6YVonk1yowSycM+BcJVEZCHyWnKBmalnNgacybN5oHy+Fyr59oZlbTyh713O0ixyhVtdG/0IcsbB9HjCqfA==","signatures":[{"sig":"MEUCIEoCiR2DNCGVKDiANgSO9KcQeYh8KxmuhfpU/t89DpGvAiEAy1L2430jAHXrsBFPtAuUF2E8+y3d9qXj0zCxsQn2p1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.25.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35660552},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"114cdd408d70be20799d3e098cae606ac6c2f063","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.25.2_1779577853608_0.3925502414693176","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"chapterhouse","version":"0.26.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.26.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"dbfc6aa1a270998ea3268a9e0b093e668cbff10a","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.26.0.tgz","fileCount":956,"integrity":"sha512-aLDCRlHxpLUzUHEJBHkatie5uOXVTeSRc5dnmMmK6mH89QyZZDT60OTspLd2dkwcPenu0VdOoEp9KC8UXi2sqA==","signatures":[{"sig":"MEUCIGXRe9mcP2qYHauTo16z3RHGIpoNgRp5I28RHoxva1hpAiEAxOnXQmxNxpXjkZuR+RnNd8rY1plj/N0/Wb2kxUgqKcA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35669116},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"fb5e2cb7c85bf3b3061a04ba378e0074cf01911d","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.26.0_1779587962628_0.6484297746683092","host":"s3://npm-registry-packages-npm-production"}},"0.26.1":{"name":"chapterhouse","version":"0.26.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.26.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"221b43a97fb55981810f284385f4d2e1310cc59a","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.26.1.tgz","fileCount":956,"integrity":"sha512-i7EHrT0x4wkkjonKluvvMLCnTAKHgiRAPvBO5LWKOHH2HRgt8d/JSFv85zn90lUy/6cBXF1jw2cwlJIuPoGrTA==","signatures":[{"sig":"MEQCIHh/E4jhT8THwQ80Vt9NvaEoP93U5Xme68vpfIcxRmLUAiBaPu5lJXEfv9X/+jXCzrbxNUDMaRtjGbtJh0Bs7l/BzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.26.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35669508},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"070299a985d856eec409c6876308f41d46f8a2e0","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.26.1_1779591074967_0.43844917716452936","host":"s3://npm-registry-packages-npm-production"}},"0.26.2":{"name":"chapterhouse","version":"0.26.2","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.26.2","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"b2ac0ebbce9a1bd04ed6eeecc1dc264d3ddfcdce","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.26.2.tgz","fileCount":966,"integrity":"sha512-8ClIGTM9wG4C6K5ItUeDOtMuRakCGRCZ4Ub4/48goTw2T2cA4ao3BAonDDTF8yrsimVFKHSGcS+Xs4AJpgmfrg==","signatures":[{"sig":"MEYCIQCrCuUOYdbZI5lo6Vnm9qq8uwztLNqCJH2B3TTaaFHjlAIhAMZJP5xCKNYD6TlQwGchmG2Iycd6ZGjsbLXmMGO/gLB2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.26.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35674404},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"f5edda946c48817d9ee6d8f624726ae13fc3e568","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.26.2_1779605209740_0.8100401624805857","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"chapterhouse","version":"0.27.0","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.27.0","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"2dbffdd2bdf8f88d65fae3473fe2c7c41f292a0f","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.27.0.tgz","fileCount":1003,"integrity":"sha512-rFXYB6YzbR54CD8VTXm37dhSxATd0P/mqahXHEOU/XqWUHYSlc5Tb48mTCFDDQlbR/o7pRfMPW4ag8KIaZE4Kw==","signatures":[{"sig":"MEUCIE8IXQqsLjcZ7vZ+YpRjAygrfgMfPsfH4Or6OsD2uZz5AiEAgQWbj9ztdyouN2PM6DUTry2Je25AfWouaUFuz0DrToA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.27.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35865447},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"2848ef78f1182912867a13cb063dc18942a7756c","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-agent-core":"^0.75.5","@earendil-works/pi-coding-agent":"^0.75.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.27.0_1779713219957_0.8810735106480101","host":"s3://npm-registry-packages-npm-production"}},"0.27.1":{"name":"chapterhouse","version":"0.27.1","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.27.1","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"a48fd221f74d0572b2755b6ba2f941aabefb7eb6","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.27.1.tgz","fileCount":1003,"integrity":"sha512-pL+3h5tZELLL94OwfDivgU9doNpFu2IDsfPqeBea2y6kVkJP0HooK4aG+avp9MFQMaR51i2GPPnSvl2oQr6msg==","signatures":[{"sig":"MEUCIQCOjuMQvVLd2XSaV472gIyblQHc0GaEQLxPbD6BOaIp/wIgDNSPxYhf786farbxS4SXyw9M1ztpAyMTatmGzbU/4wc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.27.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35868298},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"445db7c9a6c8e652b04fd69e12cf0c9f0f07d09b","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-agent-core":"^0.75.5","@earendil-works/pi-coding-agent":"^0.75.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.27.1_1779716468499_0.5191535706406907","host":"s3://npm-registry-packages-npm-production"}},"0.27.3":{"name":"chapterhouse","version":"0.27.3","keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","_id":"chapterhouse@0.27.3","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"bin":{"chapterhouse":"dist/cli.js"},"dist":{"shasum":"ff0d76b07d34299ace85386bd85e2d76ecf67df1","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.27.3.tgz","fileCount":1005,"integrity":"sha512-ehjqkoiRfwTfpR/5W4KiIKiYxCOmevuZL/xXRDHMd0X4YdSm2+MJ9gxzxPgAx2TXJvPIycT61l7b2LKRy3E3kA==","signatures":[{"sig":"MEUCIEIe/JDg3EzRyCVC08h5fzgq5bZpyM+z/2d+vmFDO0DwAiEA7SHl3QxK+/uwG77ta8mObq5ItqePUAglKIHdwXLlPw8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.27.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35889322},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"127e4abe0278505ba90e3fc88dd87c09fe1c4b00","scripts":{"dev":"tsx --watch src/daemon.ts","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","build":"tsc && npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:web":"npm --prefix web run dev","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","prepare":"husky","build:web":"npm --prefix web run build","dev:server":"tsx --watch src/daemon.ts","preversion":"npm run release:check","build:server":"tsc","sprint:merge":"tsx src/sprint-merge.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","pr:title:check":"tsx scripts/validate-pr-title.ts","prepublishOnly":"npm run build","threat-model:check":"tsx scripts/check-threat-model.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"repository":{"url":"git+https://github.com/bketelsen/chapterhouse.git","type":"git"},"_npmVersion":"11.12.1","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","pino":"^10.3.1","shiki":"^4.1.0","dotenv":"^17.3.1","helmet":"^8.1.0","express":"^5.2.1","js-yaml":"^4.1.1","chokidar":"^5.0.0","jwks-rsa":"^4.0.1","jsonwebtoken":"^9.0.3","better-sqlite3":"^12.6.2","@github/copilot-sdk":"^0.3.0","azure-devops-node-api":"^15.1.2","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-agent-core":"^0.75.5","@earendil-works/pi-coding-agent":"^0.75.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.1.7","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","@types/jsonwebtoken":"^9.0.10","@types/better-sqlite3":"^7.6.13","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chapterhouse_0.27.3_1779734218906_0.5888922697242491","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"chapterhouse","version":"0.28.0","description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","bin":{"chapterhouse":"dist/cli.js"},"scripts":{"build":"tsc && npm --prefix web run build","build:server":"tsc","build:web":"npm --prefix web run build","clean":"rm -rf dist","daemon":"tsx src/daemon.ts","dev:server":"tsx --watch src/daemon.ts","dev:web":"npm --prefix web run dev","dev":"tsx --watch src/daemon.ts","sprint:merge":"tsx src/sprint-merge.ts","lint:md":"markdownlint-cli2 'README.md' 'CHANGELOG.md' 'docs/**/*.md' '.github/**/*.md'","pr:title:check":"tsx scripts/validate-pr-title.ts","threat-model:check":"tsx scripts/check-threat-model.ts","release:check":"if [ -n \"$(git status --porcelain)\" ]; then echo '❌ Working tree is not clean. Stage or stash changes before running npm version.'; git status --short; exit 1; fi","preversion":"npm run release:check","prepare":"husky","test":"npm run clean && npm run build:server && node --experimental-test-module-mocks --import ./dist/test/setup-env.js --test 'dist/**/*.test.js'","prepublishOnly":"npm run build"},"engines":{"node":">=22.5.0"},"keywords":["copilot","orchestrator","ai","cli","web"],"author":{"name":"Brian Ketelsen"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/bketelsen/chapterhouse.git"},"homepage":"https://github.com/bketelsen/chapterhouse#readme","bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"type":"module","dependencies":{"@earendil-works/pi-agent-core":"^0.75.5","@earendil-works/pi-coding-agent":"^0.75.5","@github/copilot-sdk":"^0.3.0","@modelcontextprotocol/sdk":"^1.29.0","azure-devops-node-api":"^15.1.2","better-sqlite3":"^12.6.2","chokidar":"^5.0.0","cors":"^2.8.6","dotenv":"^17.3.1","express":"^5.2.1","helmet":"^8.1.0","js-yaml":"^4.1.1","jsonwebtoken":"^9.0.3","jwks-rsa":"^4.0.1","pino":"^10.3.1","shiki":"^4.1.0","zod":"^4.3.6"},"devDependencies":{"@commitlint/cli":"^21.0.0","@commitlint/config-conventional":"^21.0.0","@types/better-sqlite3":"^7.6.13","@types/cors":"^2.8.19","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/jsonwebtoken":"^9.0.10","@types/node":"^25.6.0","concurrently":"^9.2.1","husky":"^9.1.7","markdownlint-cli2":"^0.22.1","ts-node":"^10.9.2","tsx":"^4.21.0","typescript":"^5.9.3"},"gitHead":"9ecd885a2b9a15292aa8cd82ed9976bd668387bd","_id":"chapterhouse@0.28.0","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-/OkIwkJuKbjJ/98AAHV8SHeR+5ZQw3GbgjPR49q8hcoGSMVdcArNM8k2OAw2Z7ClrtA3WhjN/FUgwKOsYO1xhg==","shasum":"c62a0a332bf6bf6eb1b2702f44170093348a442c","tarball":"https://registry.npmjs.org/chapterhouse/-/chapterhouse-0.28.0.tgz","fileCount":965,"unpackedSize":35528354,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chapterhouse@0.28.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDt3nQhvFh+KEMWOjXJDFLXgTO3zjudC3KEHVxpr59pewIgDuyzWbmj7I9n+H38rJt9OLfasVD/V/AHW9AmFEsFcDk="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60865116-4af7-4e4a-9995-c225747ba51a"}},"directories":{},"maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chapterhouse_0.28.0_1779741848646_0.559344911274299"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-08T13:39:00.030Z","modified":"2026-05-25T20:44:09.214Z","0.1.1":"2026-05-08T13:39:00.362Z","0.1.5":"2026-05-08T15:54:58.771Z","0.2.0":"2026-05-08T17:36:31.626Z","0.3.0":"2026-05-08T19:22:37.244Z","0.3.1":"2026-05-08T20:01:22.240Z","0.3.2":"2026-05-08T23:13:58.088Z","0.3.3":"2026-05-09T00:57:00.915Z","0.3.4":"2026-05-09T01:11:25.549Z","0.3.5":"2026-05-09T01:24:50.035Z","0.3.6":"2026-05-09T02:17:50.748Z","0.3.7":"2026-05-09T03:14:37.030Z","0.3.8":"2026-05-09T04:01:11.308Z","0.3.9":"2026-05-09T09:50:35.068Z","0.3.10":"2026-05-09T12:40:56.339Z","0.3.11":"2026-05-09T14:14:23.980Z","0.3.12":"2026-05-09T17:20:18.293Z","0.3.13":"2026-05-09T17:55:22.046Z","0.3.14":"2026-05-12T15:15:01.222Z","0.3.15":"2026-05-12T16:33:28.539Z","0.3.16":"2026-05-12T20:01:17.470Z","0.3.17":"2026-05-12T22:24:48.200Z","0.3.18":"2026-05-13T00:48:29.255Z","0.3.19":"2026-05-13T01:32:25.622Z","0.3.20":"2026-05-13T01:42:40.133Z","0.3.21":"2026-05-13T04:24:48.437Z","0.3.22":"2026-05-13T07:00:53.116Z","0.3.23":"2026-05-13T07:37:26.646Z","0.3.24":"2026-05-13T11:02:36.875Z","0.3.25":"2026-05-13T13:41:53.845Z","0.3.26":"2026-05-13T16:59:07.795Z","0.4.0":"2026-05-13T20:04:07.154Z","0.4.1":"2026-05-13T20:59:38.442Z","0.4.2":"2026-05-14T00:49:00.097Z","0.4.3":"2026-05-14T02:25:10.408Z","0.5.0":"2026-05-14T04:04:21.211Z","0.5.1":"2026-05-14T13:50:19.423Z","0.5.2":"2026-05-14T16:07:19.423Z","0.6.0":"2026-05-14T18:50:43.722Z","0.7.0":"2026-05-15T00:28:11.149Z","0.8.0":"2026-05-15T09:30:30.239Z","0.8.1":"2026-05-15T10:41:49.199Z","0.8.2":"2026-05-15T11:33:36.020Z","0.9.0":"2026-05-15T14:23:58.427Z","0.9.1":"2026-05-15T15:41:18.883Z","0.9.2":"2026-05-15T17:24:09.273Z","0.10.0":"2026-05-16T01:40:19.643Z","0.11.0":"2026-05-16T02:33:59.023Z","0.11.1":"2026-05-16T03:02:24.811Z","0.11.2":"2026-05-16T12:50:26.723Z","0.11.3":"2026-05-16T17:02:59.318Z","0.11.4":"2026-05-17T01:23:04.364Z","0.12.0":"2026-05-19T00:56:43.317Z","0.13.0":"2026-05-19T01:41:17.195Z","0.13.1":"2026-05-19T02:40:26.037Z","0.14.0":"2026-05-19T09:57:26.337Z","0.14.1":"2026-05-19T10:31:53.639Z","0.14.2":"2026-05-19T11:53:06.934Z","0.14.3":"2026-05-19T12:05:46.377Z","0.14.5":"2026-05-19T13:59:12.849Z","0.14.6":"2026-05-19T15:02:05.459Z","0.14.7":"2026-05-19T16:42:22.414Z","0.15.0":"2026-05-19T19:05:27.949Z","0.15.1":"2026-05-20T01:43:53.636Z","0.15.2":"2026-05-20T02:14:16.531Z","0.15.3":"2026-05-20T02:33:33.359Z","0.16.0":"2026-05-21T16:14:30.479Z","0.16.1":"2026-05-21T17:04:48.030Z","0.16.2":"2026-05-21T17:40:28.370Z","0.17.0":"2026-05-21T18:30:46.081Z","0.18.0":"2026-05-21T19:49:24.214Z","0.19.0":"2026-05-21T20:26:48.927Z","0.20.0":"2026-05-22T03:16:20.443Z","0.21.0":"2026-05-22T03:52:39.774Z","0.21.1":"2026-05-22T07:02:04.885Z","0.21.2":"2026-05-22T13:25:09.139Z","0.22.0":"2026-05-22T14:54:25.503Z","0.23.0":"2026-05-22T15:44:50.116Z","0.23.1":"2026-05-22T15:54:01.849Z","0.24.0":"2026-05-22T17:34:41.292Z","0.24.1":"2026-05-22T18:57:20.538Z","0.24.2":"2026-05-22T20:11:09.650Z","0.24.3":"2026-05-22T20:51:29.400Z","0.24.4":"2026-05-22T23:12:17.419Z","0.24.5":"2026-05-23T01:12:24.080Z","0.25.0":"2026-05-23T02:23:50.013Z","0.25.1":"2026-05-23T03:13:23.410Z","0.25.2":"2026-05-23T23:10:55.968Z","0.26.0":"2026-05-24T01:59:22.957Z","0.26.1":"2026-05-24T02:51:15.461Z","0.26.2":"2026-05-24T06:46:50.153Z","0.27.0":"2026-05-25T12:47:00.332Z","0.27.1":"2026-05-25T13:41:08.776Z","0.27.3":"2026-05-25T18:36:59.272Z","0.28.0":"2026-05-25T20:44:08.934Z"},"bugs":{"url":"https://github.com/bketelsen/chapterhouse/issues"},"author":{"name":"Brian Ketelsen"},"license":"MIT","homepage":"https://github.com/bketelsen/chapterhouse#readme","keywords":["copilot","orchestrator","ai","cli","web"],"repository":{"type":"git","url":"git+https://github.com/bketelsen/chapterhouse.git"},"description":"Chapterhouse — a team-level AI assistant for engineering teams, built on the GitHub Copilot SDK. Web UI only.","maintainers":[{"name":"bketelsen","email":"bketelsen@gmail.com"}],"readme":"# Chapterhouse\n\nTeam-level AI orchestrator for engineering teams, powered by [Copilot SDK](https://github.com/github/copilot-sdk) — a daemon you run on your machine, controlled entirely from a web UI in your browser.\n\n## Attribution\n\nChapterhouse is built on [Max](https://github.com/burkeholland/max) by [Burke Holland](https://github.com/burkeholland). The original Max codebase provided the foundation for this project.\n\n## Highlights\n\n- **Always running** — persistent local daemon with a browser frontend at `http://localhost:7788`.\n- **Co-work mode (v0.20.0)** — persistent, project-aware three-pane coding sessions with a file tree, live code viewer, and dedicated Norma chat.\n- **Slash command menu (v0.21.0)** — type `/` in chat to discover commands and autocomplete installed skills.\n- **Gate scripts (v0.22.0)** — projects now use one `gate_script` in place of separate `test_command`, `build_command`, and `lint_command` settings.\n- **Mobile/PWA support (v0.24.0)** — the web UI is installable and responsive for phone and tablet workflows.\n- **Mobile agent switcher (v0.25.0)** — tap the agent name in mobile chat to open a bottom sheet and switch between available agent channels without leaving the conversation.\n- **Builds team memory without leaking personal context** — every Chapterhouse instance keeps a private local wiki at `~/.chapterhouse/wiki/`, while shared team pages live on the authoritative Team Chapterhouse deployment and sync down read-only to personal instances. That gives each engineer a place for personal notes and conversation history without turning OKRs, KPIs, and team docs into conflicting local forks.\n- **Codes while you're away** — spins up real Copilot CLI worker sessions in any directory and reports back when they're done. The Workers tab in the web UI shows what's running.\n- **Learns any skill** — pulls from [skills.sh](https://skills.sh) or builds new skills on demand.\n- **Your Copilot subscription** — works with any model your subscription includes (Claude, GPT, Gemini, …). Auto-routing picks a tier per message.\n\nSee [CHANGELOG.md](CHANGELOG.md) for recent changes and feature history.\n\n## Installation\n\n**Requires Node.js 22.5 or later**.\n\nInstall globally via npm:\n\n```bash\nnpm install -g chapterhouse@latest\n```\n\nAfter installing, run first-time setup:\n\n```bash\nchapterhouse setup\n```\n\nSetup walks you through:\n\n1. **GitHub token** — Chapterhouse uses the Copilot CLI under the hood. Run `copilot login` (or `gh auth login --scopes copilot`) to authenticate before starting.\n2. **Config file** — Setup writes `~/.chapterhouse/.env`. You can edit it at any time. Key variables:\n\n```bash\n# Required\nCOPILOT_MODEL=claude-sonnet-4-5          # default model; overridable per session\n\n# Optional — API token auth (simpler, single-user)\nAPI_TOKEN=your-secret-token\n\n# Optional — Microsoft Entra ID auth (team deployments)\nENTRA_AUTH_ENABLED=true\nENTRA_TENANT_ID=your-tenant-id\nENTRA_CLIENT_ID=your-client-id\n\n# Optional — Azure DevOps OKR integration\nADO_ORG=https://dev.azure.com/your-org\nADO_PROJECT=your-project\nADO_PAT=your-ado-pat-here\n\n# Optional — logging\nLOG_LEVEL=info   # trace | debug | info | warn | error | fatal | silent (default: info)\n                 # Set to \"debug\" to see chat message content and routing decisions.\n                 # Logs are structured JSON (Pino). For human-readable output:\n                 #   chapterhouse start 2>&1 | npx pino-pretty\n```\n\nThen start the daemon:\n\n```bash\nchapterhouse start\n```\n\nOpen `http://localhost:7788` in your browser.\n\n## Install\n\n### Windows\n\n```powershell\nirm https://raw.githubusercontent.com/bketelsen/chapterhouse/main/install.ps1 | iex\n```\n\n### macOS / Linux\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/bketelsen/chapterhouse/main/install.sh | bash\n```\n\nOr clone and build manually:\n\n```bash\ngit clone https://github.com/bketelsen/chapterhouse.git ~/.chapterhouse/src\ncd ~/.chapterhouse/src\nnpm install && npm run build && npm link\n```\n\nIf you're opening a sprint PR from the repo, validate the title first:\n\n```bash\nnpm run pr:title:check -- \"chore: add PR title preflight validation\"\n```\n\n## Upgrading\n\n```bash\nchapterhouse update\n```\n\n`chapterhouse update` is npm-registry-aware. It detects how Chapterhouse was installed and routes accordingly:\n\n| Install source | Update action |\n| -------------- | ------------- |\n| **npm global** (`npm install -g chapterhouse`) | Runs `npm install -g chapterhouse@latest` |\n| **git/legacy** (`~/.chapterhouse/src`) | Git pull + rebuild (with deprecation notice) |\n| **dev** (source working tree) | No-op — use `git pull` manually |\n\n### Update flags\n\n| Flag | Description |\n| ---- | ----------- |\n| `--check-only` | Print current/latest version and exit without updating |\n| `--ref <version>` | Install a specific version, e.g. `--ref 0.1.5` |\n| `--force` | Bypass the `chapterhouse update` precondition check for Node 24 / npm 11.5.1. The general Chapterhouse runtime requirement remains Node 22.5+. |\n\n**Legacy users:** if you previously installed via git clone, switch to the registry path once:\n\n```bash\nnpm install -g chapterhouse@latest\n```\n\nYour `~/.chapterhouse/` config carries forward automatically.\n\n## Quick Start\n\n### 1. Run setup (one time)\n\n```bash\nchapterhouse setup\n```\n\nPicks a default model and writes `~/.chapterhouse/.env`. Past versions also configured Telegram — that's gone in v2; the web UI is the only client.\n\nIf you plan to use the Azure DevOps OKR integration, also set these in `~/.chapterhouse/.env`:\n\n```bash\nADO_ORG=https://dev.azure.com/your-org\nADO_PROJECT=your-project\nADO_PAT=your-ado-pat-here\n```\n\n`ADO_ORG` and `ADO_PROJECT` are no longer baked into the app and must match your Azure DevOps tenant.\n\n### 2. Make sure Copilot CLI is authenticated\n\n```bash\ncopilot login\n```\n\n### 3. Start Chapterhouse\n\n```bash\nchapterhouse start\n```\n\nOr `chapterhouse start --open` to also pop a browser tab.\n\n### 4. Talk to Chapterhouse\n\nOpen `http://localhost:7788` in your browser and start typing. Examples:\n\n- \"Start working on the auth bug in /full/path/to/myapp\"\n- \"What sessions are running?\"\n- \"Check on the api-tests session\"\n- \"What's the capital of France?\"\n\n## Authentication modes\n\nChapterhouse currently supports two server auth modes:\n\n1. **Legacy API token** — set `API_TOKEN` (or persist a token at `~/.chapterhouse/api-token`). The loopback-only `/api/bootstrap` endpoint hands that token to the local SPA, which then sends it as `Authorization: Bearer ...` on API and SSE requests.\n2. **Microsoft Entra ID** — set `ENTRA_AUTH_ENABLED=true`, `ENTRA_TENANT_ID`, and `ENTRA_CLIENT_ID`. The web UI uses MSAL in the browser, signs the user in with Microsoft, and sends the **ID token** to the backend. The backend verifies that token against the tenant JWKS endpoint and treats the token's `roles` claim as the source of truth for app-role authorization.\n\nOptional Entra settings:\n\n- `ENTRA_REQUIRED_ROLE` — if set, the signed-in user must have this app role in the token's `roles` claim. This replaced the older group-based check.\n- `ENTRA_TEAM_LEAD_ID` — optional for regular engineers, who can omit it entirely. Set it only for the one person who should be treated as `team-lead` for managerial functions such as `/api/team/report` and protected OKR/KPI/team wiki writes. Without it, the signed-in user is treated as `engineer`, which is the correct role for normal team members.\n\n### WorkIQ MCP server (Entra only)\n\nWhen `ENTRA_AUTH_ENABLED=true`, Chapterhouse automatically adds a `workiq` entry to `~/.copilot/mcp-config.json` at daemon startup. This gives the orchestrator access to Microsoft 365 tools (Teams, Outlook, Calendar, etc.) via the `@microsoft/workiq` MCP server without any manual configuration.\n\nThe entry uses `npx -y @microsoft/workiq` so no global npm install is required — npx fetches the server on first use.\n\n| Behaviour | Detail |\n|-----------|--------|\n| **Trigger** | `ENTRA_AUTH_ENABLED=true` + `ENTRA_TENANT_ID` set |\n| **Idempotent** | Safe to restart; entry is only written if `workiq` key is absent |\n| **Opt-out** | Set `CHAPTERHOUSE_WORKIQ_AUTO_INSTALL=false` to disable |\n| **Failure-safe** | If the write fails (permissions, read-only FS), a structured warning is logged and the daemon continues |\n\n**`CHAPTERHOUSE_WORKIQ_AUTO_INSTALL`** — `true` (default) or `false`. Set to `false` to manage the workiq MCP entry manually.\n\n## Docker (Personal)\n\nFor a single-user local deployment, use the personal compose file. It binds port `7788`, runs the daemon as the non-root `node` user, and persists state in `CHAPTERHOUSE_HOME` (default: `$HOME/.chapterhouse` on macOS/Linux).\n\n**Authentication is required for Docker deployments.** Set either `API_TOKEN` or a working Entra config in `.env` before starting the container. For Entra, that means `ENTRA_AUTH_ENABLED=true`, `ENTRA_TENANT_ID`, and `ENTRA_CLIENT_ID`; add `ENTRA_REQUIRED_ROLE` if you want app-role gating. `ENTRA_TEAM_LEAD_ID` is optional for regular engineers and should only be set for the one person who needs team-lead/managerial permissions. If it is omitted, the user is treated as `engineer`. The process binds to `0.0.0.0` inside the container so Docker can publish port `7788`, and Chapterhouse refuses to start if neither auth mode is configured.\n\n```bash\ncp .env.example .env  # or create .env with your settings\ndocker compose -f docker-compose.personal.yml up --build -d\n```\n\n`docker-compose.personal.yml` mounts `CHAPTERHOUSE_HOME` to `/home/node/.chapterhouse`, `COPILOT_HOME` to `/home/node/.copilot`, `GH_CONFIG_HOME` to `/home/node/.config/gh` (read-only), and loads `.env`, so you can provide `API_HOST`, `API_TOKEN`, any `ENTRA_*` settings, `TEAM_CHAPTERHOUSE_*` sync settings, and optional Copilot token overrides there.\n\nBy default, the compose file falls back to `$HOME/.chapterhouse`, `$HOME/.copilot`, and `$HOME/.config/gh`. On Windows, set the host paths explicitly before starting the stack:\n\n```powershell\n$env:CHAPTERHOUSE_HOME = \"$env:USERPROFILE\\.chapterhouse\"\n$env:COPILOT_HOME = \"$env:USERPROFILE\\.copilot\"\n$env:GH_CONFIG_HOME = \"$env:USERPROFILE\\.config\\gh\"\ndocker compose -f docker-compose.personal.yml up --build -d\n```\n\nYou can also put those variables in a local `.env` file next to `docker-compose.personal.yml` if you prefer not to export them in your shell.\n\n### Docker Authentication\n\nChapterhouse uses the Copilot SDK's default logged-in-user auth flow unless you set an explicit token. In Docker, the recommended setup is:\n\n1. Authenticate on the host with `gh auth login`.\n2. Start the personal compose stack. The container reuses host GitHub CLI auth through the read-only `GH_CONFIG_HOME` mount.\n3. If you prefer an explicit token, set `COPILOT_TOKEN` in `.env` (or `GITHUB_TOKEN` as a fallback). Chapterhouse passes that token to the Copilot SDK directly. Classic `ghp_` personal access tokens are not supported by Copilot.\n\nIf auth expires or you want to authenticate from inside the container, run:\n\n```bash\ndocker compose -f docker-compose.personal.yml run --rm -it chapterhouse copilot login\n```\n\nThat login is persisted in `COPILOT_HOME`, so you only need to repeat it when the Copilot session expires or you want to switch accounts.\n\n## Team Deployment\n\nFor an Azure Container Apps deployment with Azure Container Registry, Azure Files-backed wiki storage, Key Vault, and a managed identity, see [deploy/README.md](deploy/README.md).\n\nThe deployment assets for the shared instance set Entra auth and `CHAPTERHOUSE_MODE=team`. In team mode, Chapterhouse seeds the shared wiki on first start so the initial OKR, KPI, team, and shared pages exist immediately.\n\n## CLI Commands\n\n| Command                        | Description                                       |\n| ------------------------------ | ------------------------------------------------- |\n| `chapterhouse start`           | Start the Chapterhouse daemon (web UI + HTTP API) |\n| `chapterhouse start --open`    | Same, plus open the browser                       |\n| `chapterhouse setup`           | Interactive first-run configuration               |\n| `chapterhouse update`              | Check for and install updates (npm registry for global installs) |\n| `chapterhouse update --check-only` | Print current/latest version without updating                    |\n| `chapterhouse update --ref <ver>`  | Install a specific version                                       |\n| `chapterhouse daemon <sub>`    | Manage the persistent background service          |\n| `chapterhouse help`            | Show available commands                           |\n\n### Flags\n\n| Flag          | Description                                                                      |\n| ------------- | -------------------------------------------------------------------------------- |\n| `--self-edit` | Allow Chapterhouse to modify its own source code (use with `chapterhouse start`) |\n| `--open`      | Open the web UI in your default browser when the daemon is ready                 |\n\n### Daemon Management (macOS / Linux)\n\nChapterhouse can run as a persistent user-level background service that starts on login and restarts automatically on crash — no root required.\n\n#### Install\n\n```sh\nchapterhouse daemon install\n```\n\nThis writes and loads the appropriate unit file for your OS:\n\n| Platform | Unit file                                                               |\n| -------- | ----------------------------------------------------------------------- |\n| macOS    | `~/Library/LaunchAgents/com.bketelsen.chapterhouse.plist` (launchd)     |\n| Linux    | `~/.config/systemd/user/chapterhouse.service` (systemd `--user`)        |\n| Windows  | Not supported — run `chapterhouse start` manually or use Task Scheduler |\n\n#### Manage\n\n```sh\nchapterhouse daemon status    # is it running? what PID? where are the logs?\nchapterhouse daemon stop      # stop without uninstalling\nchapterhouse daemon start     # start without re-installing\nchapterhouse daemon restart   # restart in place\nchapterhouse daemon logs      # tail live logs (Ctrl+C to exit)\nchapterhouse daemon uninstall # stop, disable, and remove the unit file\n```\n\n#### Log locations\n\n| Platform | Location                                                    |\n| -------- | ----------------------------------------------------------- |\n| macOS    | `~/Library/Logs/chapterhouse.log`                           |\n| Linux    | `journalctl --user -u chapterhouse` (no extra config needed) |\n\n#### Timing contract\n\nChapterhouse enforces a **3-layer timing contract** so in-flight LLM streams can finish cleanly before the process is killed:\n\n| Layer | What it controls | Config | Default |\n|-------|-----------------|--------|---------|\n| 1 — Orchestrator turn | How long the orchestrator waits per LLM turn | `CHAPTERHOUSE_ORCHESTRATOR_TIMEOUT_MS` | `1800000` (30 min) |\n| 2 — Daemon shutdown grace | How long the daemon waits for in-flight work before force-exiting | `CHAPTERHOUSE_SHUTDOWN_TIMEOUT_MS` | `60000` (60 s) |\n| 3 — systemd kill window | How long systemd waits after SIGTERM before sending SIGKILL | `TimeoutStopSec` in generated unit | `90 s` (fixed) |\n\n**Rule:** each layer must exceed the one above it. Do not tighten `CHAPTERHOUSE_SHUTDOWN_TIMEOUT_MS` below `CHAPTERHOUSE_ORCHESTRATOR_TIMEOUT_MS`, and do not reduce `TimeoutStopSec` below `CHAPTERHOUSE_SHUTDOWN_TIMEOUT_MS`.\n\n#### Session lifecycle\n\nEach conversation window (browser tab, terminal session) maps to a separate `SessionManager` with its own queue and SDK session. Two env vars control how long sessions live:\n\n| Config | What it controls | Default |\n|--------|-----------------|---------|\n| `CHAPTERHOUSE_SESSION_IDLE_TTL_MS` | How long an idle session (no in-flight turn, empty queue) is kept before being disconnected | `1800000` (30 min) |\n| `CHAPTERHOUSE_SESSION_MAX_ACTIVE` | Maximum number of simultaneously active sessions; when reached, the least-recently-used *idle* session is evicted to make room | `20` |\n\nBusy sessions (processing a turn or with items queued) are never evicted by either mechanism.\n\n#### Daemon PATH\n\nThe generated systemd unit and launchd plist compose a rich `PATH` that includes:\n\n- The installing shell's `$PATH` (captured at install time)\n- The binary's own directory\n- Linuxbrew (`/home/linuxbrew/.linuxbrew/bin`), Homebrew (`/opt/homebrew/bin`, `/usr/local/bin`)\n- `~/.cargo/bin`, `~/.bun/bin`, `~/.volta/bin`, `~/.local/bin`\n- Standard system paths\n\nThis ensures sub-agents and spawned tools can find CLI dependencies even in a headless service context.\n\n## Web UI\n\nThe browser app at `http://localhost:7788` is split into a few views:\n\n- **Chat** — streaming markdown chat with the orchestrator. Type `/help` to see slash commands (`/cancel`, `/copy`, `/clear`, `/restart`, plus shortcuts to other tabs).\n- **Workers** — list of running and recent agent tasks. Click one to inspect its description, status, and final output.\n- **Co-work** — persistent, project-aware three-pane sessions: file tree (left), live code viewer (center), dedicated Norma chat (right).\n- **Wiki** — browse and edit local wiki pages under `~/.chapterhouse/wiki/pages/`. On personal instances, reads of team-scoped paths go through the team wiki sync layer instead of editing the shared source directly.\n- **History** — daily conversation summaries written to your personal wiki under `pages/conversations/`.\n- **Skills** — list of installed skills, broken out by source (bundled / local / global). Local skills can be uninstalled in place.\n- **Settings** — model picker, auto-routing toggle, restart button.\n\n## How it Works\n\n```text\nBrowser ──HTTP / SSE──► Chapterhouse Daemon\n                            │\n                      Orchestrator Session (Copilot SDK)\n                            │\n                ┌───────────┼───────────┐\n             Worker 1    Worker 2    Worker N\n```\n\n- **Daemon** (`chapterhouse start`) — persistent service running Copilot SDK + HTTP API + SPA static server.\n- **Web UI** — Vite-built React SPA, served by the daemon out of `web/dist/`.\n- **Orchestrator** — long-running Copilot session with custom tools for session management.\n- **Workers** — child Copilot sessions for specific coding tasks.\n\n### Two-Tier Wiki Architecture\n\nChapterhouse uses two wiki layers on purpose: **personal memory stays local**, while **team knowledge has one authoritative home**. That split is what lets an engineer save private notes and conversation history freely without turning shared planning documents into a pile of unsynchronized copies.\n\n#### Personal Wiki (private, local)\n\nYour personal wiki lives at `~/.chapterhouse/wiki/`.\n\n- It stores your local preferences, conversation history, personal notes, and the cached copies of team pages fetched from the team deployment.\n- It is never shared or synced back to Team Chapterhouse.\n- Your local instance can write to it freely, which makes it the right place for agent memory, scratch knowledge, and anything that should not become team policy just because one assistant session mentioned it.\n\nThe personal-memory tools still work against this local wiki:\n\n- **`remember`** — save a fact, preference, project note, or decision into your private wiki\n- **`recall`** / **`wiki_search`** / **`wiki_read`** — search the local wiki index, then open specific pages\n- **`forget`** — remove lines, revise sections, or delete a local page\n- **Index-first context** — Chapterhouse injects a ranked wiki summary into prompts so agents see what they already know without loading the full wiki every turn\n- **Episodic memory** — daily conversation summaries are written asynchronously to `pages/conversations/YYYY-MM-DD.md`\n\n#### Team Wiki (shared, authoritative on Team Chapterhouse)\n\nThe team wiki lives on the **Team Chapterhouse** instance and is the authoritative source for shared operating knowledge. Personal instances sync from it read-only so there is one place to manage OKRs, KPIs, team membership, and shared runbooks.\n\nThis is why the more sensitive namespaces are restricted: quarterly targets, KPI definitions, and official team roster data should not drift because several personal instances edited different copies at the same time. Shared notes stay collaborative, but the canonical planning data stays controlled.\n\nOn Entra-backed deployments, `ENTRA_TEAM_LEAD_ID` is optional for regular engineers. When it is set, Chapterhouse marks the signed-in user as `team-lead` when their token's `oid` matches that value. If it is omitted or the `oid` does not match, the authenticated user is treated as an `engineer`, which is the correct role for normal team members.\n\n**Page namespaces and write permissions:**\n\n| Path | Who can write | Purpose |\n|------|--------------|---------|\n| `pages/okrs/` | Team lead only | OKR definitions and quarterly targets |\n| `pages/kpis/` | Team lead only | Team KPI tracking |\n| `pages/team/` | Team lead only | Team member profiles, onboarding |\n| `pages/shared/` | Any team member | Notes, decisions, runbooks, shared knowledge |\n\nOn a fresh team deployment, Chapterhouse seeds the wiki with starter pages for:\n\n- `pages/okrs/2026-Q2.md`\n- `pages/kpis/team.md`\n- `pages/team/index.md`\n- `pages/team/onboarding.md`\n- `pages/shared/README.md`\n\n#### Sync behavior on personal instances\n\nSet `TEAM_CHAPTERHOUSE_URL` on a personal instance to enable team wiki sync. Once enabled:\n\n- Requests to the team instance reuse the current browser session's `Authorization` header automatically; `TEAM_CHAPTERHOUSE_TOKEN` is an optional fallback for non-browser or pre-authenticated flows\n- Team pages are fetched from the Team Chapterhouse API on demand\n- Cached pages are stored locally at `~/.chapterhouse/wiki/.team-cache/`\n- Cache freshness is controlled by `TEAM_WIKI_CACHE_TTL_MINUTES` (default: `60`)\n- If Team Chapterhouse is unreachable, Chapterhouse serves stale cached content instead of failing hard\n- Synced namespaces come from `TEAM_WIKI_PATHS` (default: `pages/team,pages/okrs,pages/kpis,pages/shared`)\n- Listing wiki pages in the personal UI triggers a full sync and indexes the fetched team pages locally so they are discoverable in the wiki browser and prompt context\n\nRelevant personal-instance settings:\n\n```bash\nTEAM_CHAPTERHOUSE_URL=https://your-team-chapterhouse-url.azurecontainerapps.io\nTEAM_CHAPTERHOUSE_TOKEN=\nTEAM_WIKI_CACHE_TTL_MINUTES=60\nTEAM_WIKI_PATHS=pages/team,pages/okrs,pages/kpis,pages/shared\n```\n\nThat cache is there for reliability as much as speed: engineers can keep reading the last known team state even when the shared deployment is temporarily unavailable.\n\n#### Team wiki API (Team Chapterhouse)\n\nThe shared deployment exposes these wiki endpoints:\n\n- `GET /api/team/wiki` — list all team wiki pages under the configured synced namespaces\n- `GET /api/team/wiki/:path` — read a page (any team member)\n- `PUT /api/team/wiki/:path` — write a page (subject to namespace permissions)\n\n#### Tools available from personal Chapterhouse\n\nPersonal instances can work with the team wiki through dedicated tools instead of editing the shared source by hand:\n\n- **`write_team_wiki`** — write shared notes to `pages/shared/` from any personal instance\n- **`get_my_okrs`** — fetch the key results currently owned by the signed-in user from the team wiki\n\n## Development\n\n```bash\n# Clone and install\ngit clone https://github.com/bketelsen/chapterhouse.git\ncd chapterhouse\nnpm install\nnpm --prefix web install\n\n# Watch mode (server)\nnpm run dev\n\n# Watch mode (web UI, in a second terminal — proxies to the daemon on 7788)\nnpm run dev:web\n\n# Build everything\nnpm run build\n\n# Run tests\nnpm test\n\n# Lint user-facing markdown (README, CHANGELOG, docs/, .github/)\nnpm run lint:md\n```\n\nThe web UI lives in `web/`. Production builds emit to `web/dist/`, which the Express server serves out of in `src/api/server.ts`.\n\n### Releasing a new version\n\nThe release flow is: bump version → commit → tag → push (tag triggers npm publish via CI).\n\n```bash\n# 1. Bump the version in package.json\nnpm version patch   # or minor / major\n\n# 2. Push the commit and the tag\ngit push origin main --follow-tags\n```\n\n`npm version` handles the commit and tag automatically. `prepublishOnly` runs `npm run build` before publish so the tarball always contains a fresh build. If you don't have CI set up, publish manually with `npm publish` after the tag push.\n\n> **Pre-release gate:** `preversion` runs `npm run release:check` automatically before any `npm version` call. The script aborts with a clear error if the git working tree is dirty. Stash or commit all changes before bumping the version.\n\n### Commit message convention\n\nAll commits on this repository follow **[Conventional Commits v1.0.0](https://www.conventionalcommits.org/en/v1.0.0/)**. The format is `<type>(<scope>): <subject>` (e.g. `feat(api): add session export endpoint`). Allowed types: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `chore`, `build`, `ci`, `revert`, `release`.\n\nThis is automatically enforced:\n\n- **Locally:** `husky` installs a `commit-msg` git hook on `npm install` that runs `commitlint` against every commit message. Bad messages are rejected before the commit lands.\n- **On PRs:** A GitHub Action (`lint-pr-title.yml`) validates the PR title on every open/edit. This matters because squash-merges use the PR title as the commit message on `main`.\n","readmeFilename":"README.md"}