sandstream-kit 1.4.2 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/agent-config.d.ts +25 -1
- package/dist/agent-config.js +75 -2
- package/dist/agent-config.js.map +1 -1
- package/dist/check-security.js +17 -12
- package/dist/check-security.js.map +1 -1
- package/dist/cli.js +62 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/memory.js +6 -1
- package/dist/commands/memory.js.map +1 -1
- package/dist/memory/install.d.ts +1 -0
- package/dist/memory/install.js +35 -12
- package/dist/memory/install.js.map +1 -1
- package/dist/recommended.d.ts +22 -0
- package/dist/recommended.js +36 -0
- package/dist/recommended.js.map +1 -0
- package/dist/toml-generator.d.ts +8 -0
- package/dist/toml-generator.js +26 -2
- package/dist/toml-generator.js.map +1 -1
- package/dist/utils/resolveTool.d.ts +15 -0
- package/dist/utils/resolveTool.js +31 -0
- package/dist/utils/resolveTool.js.map +1 -0
- package/package.json +1 -1
package/dist/commands/memory.js
CHANGED
|
@@ -308,12 +308,17 @@ async function memHook() {
|
|
|
308
308
|
return false;
|
|
309
309
|
}
|
|
310
310
|
async function memInstall() {
|
|
311
|
-
const { added, alreadyPresent } = installMemoryHooks();
|
|
311
|
+
const { added, alreadyPresent, resolved } = installMemoryHooks();
|
|
312
312
|
for (const e of added)
|
|
313
313
|
console.log(`${c.green}✓${c.reset} installed ${e} hook`);
|
|
314
314
|
for (const e of alreadyPresent)
|
|
315
315
|
console.log(`${c.dim}• ${e} hook already present${c.reset}`);
|
|
316
316
|
console.log(`${c.dim}settings: ${getClaudeSettingsPath()}${c.reset}`);
|
|
317
|
+
if (!resolved) {
|
|
318
|
+
console.log(`${c.yellow}!${c.reset} Could not resolve kit's absolute path — hooks use a bare \`kit\`, ` +
|
|
319
|
+
`which only fires if kit is on the hook shell's PATH (often not the case). ` +
|
|
320
|
+
`Reinstall kit globally and re-run, or edit the commands in ${getClaudeSettingsPath()} to an absolute path.`);
|
|
321
|
+
}
|
|
317
322
|
return true;
|
|
318
323
|
}
|
|
319
324
|
async function memUninstall() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,yEAAyE;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,aAAa,GAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACvG,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,EACT,aAAa,EACb,kBAAkB,GAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,GACd,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,OAAO,EAAE,CAAC;IACpF,qEAAqE;IACrE,iFAAiF;IACjF,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,OAAO,EAAE,CAAC;IAErF,gFAAgF;IAChF,gFAAgF;IAChF,MAAM,QAAQ,GAA2C;QACvD,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ,EAAE,gCAAgC;QAClD,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,YAAY;QACvB,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE,MAAM;KACZ,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,OAAO;QAAE,OAAO,OAAO,EAAE,CAAC;IAE9B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,8BAA8B,UAAU,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5E,OAAO,CAAC,KAAK,CACX,4EAA4E,CAC7E,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAClF,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,IAAI,CAAC;QACH,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC;gBAC7C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACrC,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,uBAAuB,CAAC,CAAC;YACvE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACxF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CACX,GAAG,CAAC,CAAC,GAAG,iHAAiH,CAAC,CAAC,KAAK,EAAE,CACnI,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,kEAAkE;YAClE,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC1D,IAAI,KAA8B,CAAC;YACnC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC;gBACpE,KAAK,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAChG,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,KAAK,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAClD,CAAC;YACD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE;gBACpB,KAAK;gBACL,KAAK;gBACL,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC;aAC/E,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,kCAAkC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACnE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,CAAC,GAAG,CACT,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;gBACb,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,WAAW,EAAE,EAAE;gBACtC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAC1D,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,2CAA2C,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5E,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,CAAC,GAAG,CACT,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC;gBACrB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,YAAY,EAAE,QAAQ,IAAI,GAAG;gBACpD,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,aAAa,CAAC,CAAC,KAAK,EAAE,CACxC,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,eAAe,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CACrG,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,QAAQ,iCAAiC,CAAC,CAAC;YAC3F,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,uBAAuB,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACL,CAAC;AAED,KAAK,UAAU,OAAO;IAClB,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,kHAAkH,CAAC,CAAC;IAChI,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,SAAS,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IAC3B,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC;QACvB,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC;QACvB,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;QACjB,OAAO,IAAI,CAAC,CAAC,YAAY,CAAC;IAC5B,CAAC;IACD,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,IAAI,GAAG,QAAQ,GAAG,CAAC,CAAC,KAAK,eAAe,QAAQ,mBAAmB,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,CAC7L,CAAC;IACF,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,GAAG,GAAG,OAAO,KAAK,CAAC,CAAC,QAAQ,UAAU,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CACnI,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ;IACnB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,oDAAoD,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACrF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,QAAQ,gBAAgB,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,GAAG,QAAQ,UAAU,GAAG,CAAC,CAAC,KAAK,EAAE,CAChN,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAI,GAAa,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvB,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,yEAAyE;IACzE,oCAAoC;IACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CACX,GAAG,CAAC,CAAC,GAAG,6EAA6E,CAAC,CAAC,KAAK,EAAE,CAC/F,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC;QACnD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IACtE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/D,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;IACjG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,mBAAmB,KAAK,KAAK,WAAW,IAAI,UAAU,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,cAAc,KAAK,EAAE,CAAC,CAAC;IACpE,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,KAAK,OAAO,EAAE,CACrG,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,OAAO;IAClB,mEAAmE;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,oBAAoB,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,wBAAwB,EAAE,CAAC;QACxC,IAAI,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;QAC5B,kBAAkB,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;QACpC,IAAI,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,uBAAuB,KAAK,IAAI,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,UAAU;IACrB,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,cAAc,CAAC,OAAO,CAAC,CAAC;IAChF,KAAK,MAAM,CAAC,IAAI,cAAc;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,qBAAqB,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,qEAAqE;YACzF,4EAA4E;YAC5E,8DAA8D,qBAAqB,EAAE,uBAAuB,CAC/G,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,YAAY;IACvB,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC3C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;IAClF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,qCAAqC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ;IACnB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAe,CAAC;IACzE,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CACX,GAAG,CAAC,CAAC,GAAG,sIAAsI,CAAC,CAAC,KAAK,EAAE,CACxJ,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,UAAU,CAClB,IAAI,EACJ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EACnD,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAC;QACF,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CACxI,CAAC;QACF,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,CAAC,GAAG,oFAAoF,CAAC,CAAC,KAAK,EAAE,CACtG,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAI,GAAa,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,sDAAsD,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,0BAA0B,CAAC,CAAC;IAC1E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAClH,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,gCAAgC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,CAAC;IACzD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,8BAA8B,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,QAAQ,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1H,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACtC,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,8CAA8C,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7E,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACjG,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CACvG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,6BAA6B,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,wEAAwE,CAAC,CAAC,KAAK,EAAE,CAC7G,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,MAAM,yEAAyE,CAAC,CAAC,KAAK,EAAE,CAChH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,iDAAiD;AAC/E,CAAC;AAED,KAAK,UAAU,SAAS;IACpB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC1F,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,+DAA+D,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAChG,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CACX,GAAG,CAAC,CAAC,GAAG,wEAAwE,CAAC,CAAC,KAAK,EAAE,CAC1F,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAI,GAAa,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,uBAAuB,GAAG,IAAI,CAAC,CAAC,GAAG,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACxG,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,UAAU;IACrB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC1F,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,2DAA2D,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5F,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,8CAA8C,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;IAClE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,sCAAsC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,sDAAsD,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,eAAe,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,OAAO;IAClB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACvF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,iDAAiD,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAC;IACrC,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,eAAe,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACrG,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,wBAAwB,IAAI,wCAAwC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACrG,OAAO,KAAK,CAAC;IACf,CAAC;IACD,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/G,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;IAC5F,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9C,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,oBAAoB,WAAW,CAAC,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,qBAAqB,KAAK,GAAG,CAAC,CAAC;IAC5E,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,+CAA+C,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,SAAS;IACpB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,yCAAyC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;IAC5F,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,MAAM,CAAC,GAAG,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAClD,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,qBAAqB,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,SAAS;IACpB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACvF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,kCAAkC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAClC,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACpG,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
package/dist/memory/install.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export declare function getClaudeSettingsPath(): string;
|
|
|
2
2
|
export declare function installMemoryHooks(path?: string): {
|
|
3
3
|
added: string[];
|
|
4
4
|
alreadyPresent: string[];
|
|
5
|
+
resolved: boolean;
|
|
5
6
|
};
|
|
6
7
|
export declare function uninstallMemoryHooks(path?: string): {
|
|
7
8
|
removed: string[];
|
package/dist/memory/install.js
CHANGED
|
@@ -7,11 +7,28 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
|
|
9
9
|
import { homedir } from "node:os";
|
|
10
|
-
import { join, dirname } from "node:path";
|
|
10
|
+
import { join, dirname, resolve } from "node:path";
|
|
11
|
+
/**
|
|
12
|
+
* Absolute invocation of kit for use inside a Claude Code hook. Hooks run in a
|
|
13
|
+
* non-login `/bin/sh` whose PATH usually does NOT include the npm global bin
|
|
14
|
+
* (`~/.npm-global/bin`, nvm/volta/pnpm shims, etc.). A bare `kit` there fails
|
|
15
|
+
* with "command not found" and SILENTLY breaks memory capture — the worst
|
|
16
|
+
* failure mode, because the store looks installed but records nothing. So we
|
|
17
|
+
* pin an absolute `<node> <cli.js>` resolved from the running process.
|
|
18
|
+
*/
|
|
19
|
+
function kitHookInvocation() {
|
|
20
|
+
const entry = process.argv[1];
|
|
21
|
+
if (entry)
|
|
22
|
+
return `${process.execPath} ${resolve(entry)}`;
|
|
23
|
+
return "kit"; // last resort — relies on PATH (and will warn at the call site)
|
|
24
|
+
}
|
|
25
|
+
/** A kit memory hook is identified by this stable suffix, regardless of how
|
|
26
|
+
* kit was invoked — lets us dedupe + clean up old bare-`kit` entries. */
|
|
27
|
+
const hookSuffix = (sub) => `memory hook ${sub}`;
|
|
11
28
|
const MEMORY_HOOKS = [
|
|
12
|
-
{ event: "UserPromptSubmit",
|
|
13
|
-
{ event: "SessionEnd",
|
|
14
|
-
{ event: "SessionStart",
|
|
29
|
+
{ event: "UserPromptSubmit", sub: "user-prompt-submit" },
|
|
30
|
+
{ event: "SessionEnd", sub: "session-end" },
|
|
31
|
+
{ event: "SessionStart", sub: "session-start" },
|
|
15
32
|
];
|
|
16
33
|
export function getClaudeSettingsPath() {
|
|
17
34
|
return process.env.KIT_CLAUDE_SETTINGS ?? join(homedir(), ".claude", "settings.json");
|
|
@@ -30,37 +47,43 @@ function writeSettings(path, s) {
|
|
|
30
47
|
mkdirSync(dirname(path), { recursive: true });
|
|
31
48
|
writeFileSync(path, JSON.stringify(s, null, 2) + "\n");
|
|
32
49
|
}
|
|
33
|
-
|
|
34
|
-
|
|
50
|
+
/** True if any hook command in these groups is a kit memory hook for `sub`
|
|
51
|
+
* (matches by suffix, so a bare-`kit` or absolute-path entry both count). */
|
|
52
|
+
function groupsHaveHook(groups, sub) {
|
|
53
|
+
const suffix = hookSuffix(sub);
|
|
54
|
+
return groups.some((g) => g.hooks?.some((h) => h.command.endsWith(suffix)));
|
|
35
55
|
}
|
|
36
56
|
export function installMemoryHooks(path = getClaudeSettingsPath()) {
|
|
37
57
|
const s = readSettings(path);
|
|
38
58
|
const hooks = (s.hooks ??= {});
|
|
59
|
+
const prefix = kitHookInvocation();
|
|
60
|
+
const resolved = prefix !== "kit";
|
|
39
61
|
const added = [];
|
|
40
62
|
const alreadyPresent = [];
|
|
41
|
-
for (const { event,
|
|
63
|
+
for (const { event, sub } of MEMORY_HOOKS) {
|
|
42
64
|
const groups = (hooks[event] ??= []);
|
|
43
|
-
if (
|
|
65
|
+
if (groupsHaveHook(groups, sub)) {
|
|
44
66
|
alreadyPresent.push(event);
|
|
45
67
|
continue;
|
|
46
68
|
}
|
|
47
|
-
groups.push({ hooks: [{ type: "command", command }] });
|
|
69
|
+
groups.push({ hooks: [{ type: "command", command: `${prefix} ${hookSuffix(sub)}` }] });
|
|
48
70
|
added.push(event);
|
|
49
71
|
}
|
|
50
72
|
if (added.length)
|
|
51
73
|
writeSettings(path, s);
|
|
52
|
-
return { added, alreadyPresent };
|
|
74
|
+
return { added, alreadyPresent, resolved };
|
|
53
75
|
}
|
|
54
76
|
export function uninstallMemoryHooks(path = getClaudeSettingsPath()) {
|
|
55
77
|
const s = readSettings(path);
|
|
56
78
|
if (!s.hooks)
|
|
57
79
|
return { removed: [] };
|
|
58
80
|
const removed = [];
|
|
59
|
-
for (const { event,
|
|
81
|
+
for (const { event, sub } of MEMORY_HOOKS) {
|
|
60
82
|
const groups = s.hooks[event];
|
|
61
83
|
if (!Array.isArray(groups))
|
|
62
84
|
continue;
|
|
63
|
-
const
|
|
85
|
+
const suffix = hookSuffix(sub);
|
|
86
|
+
const filtered = groups.filter((g) => !g.hooks?.some((h) => h.command.endsWith(suffix)));
|
|
64
87
|
if (filtered.length !== groups.length) {
|
|
65
88
|
s.hooks[event] = filtered;
|
|
66
89
|
removed.push(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/memory/install.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/memory/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { kitConfig } from "./config.js";
|
|
2
|
+
import { type HookInstallResult } from "./hooks.js";
|
|
3
|
+
export interface RecommendedResult {
|
|
4
|
+
memory: {
|
|
5
|
+
added: string[];
|
|
6
|
+
alreadyPresent: string[];
|
|
7
|
+
resolved: boolean;
|
|
8
|
+
};
|
|
9
|
+
hooks: HookInstallResult[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The opinionated "recommended" hardening layered on top of `kit setup`:
|
|
13
|
+
* - cross-harness memory capture (the Claude Code hooks)
|
|
14
|
+
* - a pre-commit secret-scan gate
|
|
15
|
+
* - a pre-push context-check gate (only when `[context]` is declared)
|
|
16
|
+
*
|
|
17
|
+
* Each piece is idempotent and uses the already-hardened installers
|
|
18
|
+
* (absolute-path memory hooks; hooksPath-aware, no-clobber git hooks). It
|
|
19
|
+
* touches GLOBAL `~/.claude` (memory hooks) and the repo's git hooks, so the
|
|
20
|
+
* caller must surface that to the user first.
|
|
21
|
+
*/
|
|
22
|
+
export declare function applyRecommendedHardening(config: kitConfig, gitDir?: string): Promise<RecommendedResult>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { resolve } from "node:path";
|
|
2
|
+
import { installMemoryHooks } from "./memory/install.js";
|
|
3
|
+
import { installHooks } from "./hooks.js";
|
|
4
|
+
/**
|
|
5
|
+
* Absolute self-invocation of kit for embedding in a generated git hook —
|
|
6
|
+
* same reasoning as the memory-hook installer: git hooks may run in a shell
|
|
7
|
+
* whose PATH lacks the npm global bin, so a bare `kit` can fail. Resolved from
|
|
8
|
+
* the running process (`node <cli.js>`); falls back to bare `kit`.
|
|
9
|
+
*/
|
|
10
|
+
function kitInvocation() {
|
|
11
|
+
const entry = process.argv[1];
|
|
12
|
+
return entry ? `${process.execPath} ${resolve(entry)}` : "kit";
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The opinionated "recommended" hardening layered on top of `kit setup`:
|
|
16
|
+
* - cross-harness memory capture (the Claude Code hooks)
|
|
17
|
+
* - a pre-commit secret-scan gate
|
|
18
|
+
* - a pre-push context-check gate (only when `[context]` is declared)
|
|
19
|
+
*
|
|
20
|
+
* Each piece is idempotent and uses the already-hardened installers
|
|
21
|
+
* (absolute-path memory hooks; hooksPath-aware, no-clobber git hooks). It
|
|
22
|
+
* touches GLOBAL `~/.claude` (memory hooks) and the repo's git hooks, so the
|
|
23
|
+
* caller must surface that to the user first.
|
|
24
|
+
*/
|
|
25
|
+
export async function applyRecommendedHardening(config, gitDir = ".git") {
|
|
26
|
+
const memory = installMemoryHooks();
|
|
27
|
+
const kit = kitInvocation();
|
|
28
|
+
const hookConfig = { "pre-commit": [`${kit} security scan-staged`] };
|
|
29
|
+
// The context-check gate only makes sense once a context is declared.
|
|
30
|
+
if (config.context) {
|
|
31
|
+
hookConfig["pre-push"] = [`${kit} context check`];
|
|
32
|
+
}
|
|
33
|
+
const hooks = await installHooks(hookConfig, gitDir);
|
|
34
|
+
return { memory, hooks };
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=recommended.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recommended.js","sourceRoot":"","sources":["../src/recommended.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAA0B,MAAM,YAAY,CAAC;AAOlE;;;;;GAKG;AACH,SAAS,aAAa;IACpB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACjE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAiB,EACjB,MAAM,GAAG,MAAM;IAEf,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAgB,EAAE,YAAY,EAAE,CAAC,GAAG,GAAG,uBAAuB,CAAC,EAAE,CAAC;IAClF,sEAAsE;IACtE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,gBAAgB,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAErD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC"}
|
package/dist/toml-generator.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import type { DetectedStack } from "./stack-detector.js";
|
|
2
|
+
/**
|
|
3
|
+
* Security scanners kit installs by default, keyed by mise tool ref → version.
|
|
4
|
+
* `semgrep` resolves through mise's registry to `pipx:semgrep`; socket has no
|
|
5
|
+
* registry shortname, so it uses the npm backend ref directly. Both are looked
|
|
6
|
+
* up at check time by `resolveToolBin` (mise-first), so they run even though
|
|
7
|
+
* mise shims aren't on kit's PATH.
|
|
8
|
+
*/
|
|
9
|
+
export declare const DEFAULT_SECURITY_SCANNERS: Record<string, string>;
|
|
2
10
|
export type SecretsStore = "1password" | "infisical" | "bitwarden" | "doppler" | "vault" | "aws-sm" | "gcp-sm" | "azure-kv" | "env";
|
|
3
11
|
/**
|
|
4
12
|
* Generate a .kit.toml string from a detected stack profile.
|
package/dist/toml-generator.js
CHANGED
|
@@ -93,14 +93,30 @@ const FRAMEWORK_SETUP = {
|
|
|
93
93
|
laravel: { install: "composer install", migrate: "php artisan migrate", verify: "php artisan test" },
|
|
94
94
|
symfony: { install: "composer install", verify: "php bin/console lint:all" },
|
|
95
95
|
};
|
|
96
|
+
/**
|
|
97
|
+
* Security scanners kit installs by default, keyed by mise tool ref → version.
|
|
98
|
+
* `semgrep` resolves through mise's registry to `pipx:semgrep`; socket has no
|
|
99
|
+
* registry shortname, so it uses the npm backend ref directly. Both are looked
|
|
100
|
+
* up at check time by `resolveToolBin` (mise-first), so they run even though
|
|
101
|
+
* mise shims aren't on kit's PATH.
|
|
102
|
+
*/
|
|
103
|
+
export const DEFAULT_SECURITY_SCANNERS = {
|
|
104
|
+
semgrep: "latest",
|
|
105
|
+
"npm:@socketsecurity/cli": "latest",
|
|
106
|
+
};
|
|
96
107
|
function lines(...parts) {
|
|
97
108
|
return parts.filter(Boolean).join("\n");
|
|
98
109
|
}
|
|
110
|
+
/** TOML bare keys are [A-Za-z0-9_-]; anything else (e.g. a mise backend ref
|
|
111
|
+
* like `npm:@socketsecurity/cli`) must be quoted. */
|
|
112
|
+
function tomlKey(k) {
|
|
113
|
+
return /^[A-Za-z0-9_-]+$/.test(k) ? k : `"${k}"`;
|
|
114
|
+
}
|
|
99
115
|
function toolsSection(tools) {
|
|
100
116
|
if (Object.keys(tools).length === 0)
|
|
101
117
|
return "";
|
|
102
118
|
const entries = Object.entries(tools)
|
|
103
|
-
.map(([k, v]) => `${k} = "${v}"`)
|
|
119
|
+
.map(([k, v]) => `${tomlKey(k)} = "${v}"`)
|
|
104
120
|
.join("\n");
|
|
105
121
|
return `[tools]\n${entries}\n`;
|
|
106
122
|
}
|
|
@@ -210,9 +226,17 @@ export function generateToml(stack, options = {}) {
|
|
|
210
226
|
tools[tmpl.tool] = "latest";
|
|
211
227
|
}
|
|
212
228
|
}
|
|
229
|
+
// Default security scanners — mise-provisioned and on by default, so
|
|
230
|
+
// `kit check` runs them out of the box (kit orchestrates scanners; it
|
|
231
|
+
// shouldn't just warn they're missing). semgrep = SAST (your code);
|
|
232
|
+
// socket = supply-chain (your deps). Remove from [tools] to opt out.
|
|
233
|
+
for (const [tool, ref] of Object.entries(DEFAULT_SECURITY_SCANNERS)) {
|
|
234
|
+
if (!tools[tool])
|
|
235
|
+
tools[tool] = ref;
|
|
236
|
+
}
|
|
213
237
|
const header = lines(`# .kit.toml — generated by kit init`, stack.framework
|
|
214
238
|
? `# Detected: ${stack.language} / ${stack.framework}${stack.services.length ? ` + ${stack.services.join(", ")}` : ""}`
|
|
215
|
-
: `# Detected: ${stack.language}${stack.services.length ? ` + ${stack.services.join(", ")}` : ""}`, ``);
|
|
239
|
+
: `# Detected: ${stack.language}${stack.services.length ? ` + ${stack.services.join(", ")}` : ""}`, `# Includes default security scanners (semgrep, socket) installed via mise.`, ``);
|
|
216
240
|
const toolsSec = toolsSection(tools);
|
|
217
241
|
const servicesSec = servicesSection(stack.services, tools);
|
|
218
242
|
const secretsSec = secretsSection(stack.services, options.secretsStore ?? "1password");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toml-generator.js","sourceRoot":"","sources":["../src/toml-generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"toml-generator.js","sourceRoot":"","sources":["../src/toml-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a tool's executable to an absolute path — mise-first, then PATH.
|
|
3
|
+
*
|
|
4
|
+
* kit installs tools via mise, but mise shims are only on a shell's PATH when
|
|
5
|
+
* mise is *activated* there. kit's own process (and the hooks it writes) run
|
|
6
|
+
* without that activation, so a bare `execFileNoThrow("semgrep")` can't find a
|
|
7
|
+
* mise-installed scanner even though it's installed. `mise which <tool>` returns
|
|
8
|
+
* the real binary path regardless of shim activation; we fall back to the
|
|
9
|
+
* system PATH (`which`) for tools installed outside mise. Returns null if the
|
|
10
|
+
* tool can't be found either way.
|
|
11
|
+
*
|
|
12
|
+
* Args are always passed as an array (no shell string) per the exec security
|
|
13
|
+
* invariant, so a tool name can't inject.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveToolBin(tool: string): Promise<string | null>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { execFileNoThrow } from "./execFileNoThrow.js";
|
|
2
|
+
/**
|
|
3
|
+
* Resolve a tool's executable to an absolute path — mise-first, then PATH.
|
|
4
|
+
*
|
|
5
|
+
* kit installs tools via mise, but mise shims are only on a shell's PATH when
|
|
6
|
+
* mise is *activated* there. kit's own process (and the hooks it writes) run
|
|
7
|
+
* without that activation, so a bare `execFileNoThrow("semgrep")` can't find a
|
|
8
|
+
* mise-installed scanner even though it's installed. `mise which <tool>` returns
|
|
9
|
+
* the real binary path regardless of shim activation; we fall back to the
|
|
10
|
+
* system PATH (`which`) for tools installed outside mise. Returns null if the
|
|
11
|
+
* tool can't be found either way.
|
|
12
|
+
*
|
|
13
|
+
* Args are always passed as an array (no shell string) per the exec security
|
|
14
|
+
* invariant, so a tool name can't inject.
|
|
15
|
+
*/
|
|
16
|
+
export async function resolveToolBin(tool) {
|
|
17
|
+
const viaMise = await execFileNoThrow("mise", ["which", tool], { timeout: 8_000 });
|
|
18
|
+
if (viaMise.ok) {
|
|
19
|
+
const p = viaMise.stdout.trim().split("\n")[0]?.trim();
|
|
20
|
+
if (p)
|
|
21
|
+
return p;
|
|
22
|
+
}
|
|
23
|
+
const viaPath = await execFileNoThrow("which", [tool], { timeout: 5_000 });
|
|
24
|
+
if (viaPath.ok) {
|
|
25
|
+
const p = viaPath.stdout.trim().split("\n")[0]?.trim();
|
|
26
|
+
if (p)
|
|
27
|
+
return p;
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=resolveTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveTool.js","sourceRoot":"","sources":["../../src/utils/resolveTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY;IAC/C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED