agents-reverse-engineer 0.3.3 → 0.3.4

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.
Files changed (58) hide show
  1. package/dist/generation/budget/counter.d.ts +0 -8
  2. package/dist/generation/budget/counter.d.ts.map +1 -1
  3. package/dist/generation/budget/counter.js +0 -21
  4. package/dist/generation/budget/counter.js.map +1 -1
  5. package/dist/generation/budget/index.d.ts +1 -1
  6. package/dist/generation/budget/index.d.ts.map +1 -1
  7. package/dist/generation/budget/index.js +1 -1
  8. package/dist/generation/budget/index.js.map +1 -1
  9. package/dist/generation/writers/index.d.ts +0 -3
  10. package/dist/generation/writers/index.d.ts.map +1 -1
  11. package/dist/generation/writers/index.js +0 -3
  12. package/dist/generation/writers/index.js.map +1 -1
  13. package/dist/installer/operations.d.ts +3 -2
  14. package/dist/installer/operations.d.ts.map +1 -1
  15. package/dist/installer/operations.js +118 -50
  16. package/dist/installer/operations.js.map +1 -1
  17. package/dist/installer/uninstall.d.ts +3 -3
  18. package/dist/installer/uninstall.d.ts.map +1 -1
  19. package/dist/installer/uninstall.js +83 -53
  20. package/dist/installer/uninstall.js.map +1 -1
  21. package/dist/integration/generate.d.ts.map +1 -1
  22. package/dist/integration/generate.js +32 -4
  23. package/dist/integration/generate.js.map +1 -1
  24. package/dist/integration/templates.d.ts +0 -5
  25. package/dist/integration/templates.d.ts.map +1 -1
  26. package/dist/integration/templates.js +0 -46
  27. package/dist/integration/templates.js.map +1 -1
  28. package/hooks/dist/are-check-update.js +68 -0
  29. package/hooks/dist/are-session-end.js +47 -0
  30. package/package.json +4 -3
  31. package/dist/generation/writers/claude-md.d.ts +0 -17
  32. package/dist/generation/writers/claude-md.d.ts.map +0 -1
  33. package/dist/generation/writers/claude-md.js +0 -96
  34. package/dist/generation/writers/claude-md.js.map +0 -1
  35. package/dist/generation/writers/gemini-md.d.ts +0 -17
  36. package/dist/generation/writers/gemini-md.d.ts.map +0 -1
  37. package/dist/generation/writers/gemini-md.js +0 -96
  38. package/dist/generation/writers/gemini-md.js.map +0 -1
  39. package/dist/generation/writers/opencode-md.d.ts +0 -17
  40. package/dist/generation/writers/opencode-md.d.ts.map +0 -1
  41. package/dist/generation/writers/opencode-md.js +0 -96
  42. package/dist/generation/writers/opencode-md.js.map +0 -1
  43. package/dist/state/database.d.ts +0 -9
  44. package/dist/state/database.d.ts.map +0 -1
  45. package/dist/state/database.js +0 -66
  46. package/dist/state/database.js.map +0 -1
  47. package/dist/state/index.d.ts +0 -8
  48. package/dist/state/index.d.ts.map +0 -1
  49. package/dist/state/index.js +0 -7
  50. package/dist/state/index.js.map +0 -1
  51. package/dist/state/migrations.d.ts +0 -12
  52. package/dist/state/migrations.d.ts.map +0 -1
  53. package/dist/state/migrations.js +0 -39
  54. package/dist/state/migrations.js.map +0 -1
  55. package/dist/state/types.d.ts +0 -54
  56. package/dist/state/types.d.ts.map +0 -1
  57. package/dist/state/types.js +0 -2
  58. package/dist/state/types.js.map +0 -1
@@ -15,12 +15,4 @@ export declare function countTokens(content: string): number;
15
15
  * @returns true if content is within limit
16
16
  */
17
17
  export declare function isWithinLimit(content: string, limit: number): boolean;
18
- /**
19
- * Estimate prompt overhead for a given file type.
20
- * Includes template tokens + system prompt portion.
21
- *
22
- * @param fileType - Type of file being summarized
23
- * @returns Estimated overhead in tokens
24
- */
25
- export declare function estimatePromptOverhead(fileType: string): number;
26
18
  //# sourceMappingURL=counter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../../src/generation/budget/counter.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAGrE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAe/D"}
1
+ {"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../../src/generation/budget/counter.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAGrE"}
@@ -21,25 +21,4 @@ export function isWithinLimit(content, limit) {
21
21
  // checkLimit returns token count if within limit, false if exceeded
22
22
  return checkLimit(content, limit) !== false;
23
23
  }
24
- /**
25
- * Estimate prompt overhead for a given file type.
26
- * Includes template tokens + system prompt portion.
27
- *
28
- * @param fileType - Type of file being summarized
29
- * @returns Estimated overhead in tokens
30
- */
31
- export function estimatePromptOverhead(fileType) {
32
- // Base overhead for all prompts (system instructions, formatting)
33
- const BASE_OVERHEAD = 500;
34
- // Additional overhead by file type (templates vary in size)
35
- const TYPE_OVERHEAD = {
36
- component: 200,
37
- service: 150,
38
- api: 180,
39
- model: 120,
40
- schema: 100,
41
- generic: 100,
42
- };
43
- return BASE_OVERHEAD + (TYPE_OVERHEAD[fileType] ?? 100);
44
- }
45
24
  //# sourceMappingURL=counter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"counter.js","sourceRoot":"","sources":["../../../src/generation/budget/counter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,KAAa;IAC1D,oEAAoE;IACpE,OAAO,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,KAAK,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,kEAAkE;IAClE,MAAM,aAAa,GAAG,GAAG,CAAC;IAE1B,4DAA4D;IAC5D,MAAM,aAAa,GAA2B;QAC5C,SAAS,EAAE,GAAG;QACd,OAAO,EAAE,GAAG;QACZ,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,GAAG;KACb,CAAC;IAEF,OAAO,aAAa,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"counter.js","sourceRoot":"","sources":["../../../src/generation/budget/counter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,KAAa;IAC1D,oEAAoE;IACpE,OAAO,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,KAAK,CAAC;AAC9C,CAAC"}
@@ -1,4 +1,4 @@
1
- export { countTokens, isWithinLimit, estimatePromptOverhead } from './counter.js';
1
+ export { countTokens, isWithinLimit } from './counter.js';
2
2
  export { BudgetTracker, type BudgetReport, type FileEstimate } from './tracker.js';
3
3
  export { chunkFile, needsChunking, getTotalChunkTokens, type Chunk, type ChunkOptions } from './chunker.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generation/budget/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generation/budget/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC"}
@@ -1,4 +1,4 @@
1
- export { countTokens, isWithinLimit, estimatePromptOverhead } from './counter.js';
1
+ export { countTokens, isWithinLimit } from './counter.js';
2
2
  export { BudgetTracker } from './tracker.js';
3
3
  export { chunkFile, needsChunking, getTotalChunkTokens } from './chunker.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generation/budget/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,aAAa,EAAwC,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAiC,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generation/budget/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAwC,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAiC,MAAM,cAAc,CAAC"}
@@ -1,7 +1,4 @@
1
1
  export { writeSumFile, readSumFile, getSumPath, sumFileExists, type SumFileContent, } from './sum.js';
2
2
  export { writeAgentsMd, buildAgentsMd, buildDirectoryDoc, type DirectoryDoc, type FileGroup, type FileRef, type SubdirSummary, } from './agents-md.js';
3
- export { writeClaudeMd, getClaudeMdContent, } from './claude-md.js';
4
- export { writeGeminiMd, getGeminiMdContent, } from './gemini-md.js';
5
- export { writeOpencodeMd, getOpencodeMdContent, } from './opencode-md.js';
6
3
  export { writeArchitectureMd, writeStackMd, writeStructureMd, writeConventionsMd, writeTestingMd, writeIntegrationsMd, writeConcernsMd, buildArchitectureMd, buildStackMd, buildStructureMd, buildConventionsMd, buildTestingMd, buildIntegrationsMd, buildConcernsMd, analyzePackageJson, analyzeStructure, analyzeConventions, analyzeTestingSetup, analyzeIntegrations, analyzeConcerns, type SupplementaryConfig, type StackInfo, type StructureInfo, type ConventionsInfo, type TestingInfo, type IntegrationsInfo, type ConcernsInfo, } from './supplementary.js';
7
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generation/writers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,KAAK,cAAc,GACpB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,EACf,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generation/writers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,KAAK,cAAc,GACpB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC"}
@@ -1,7 +1,4 @@
1
1
  export { writeSumFile, readSumFile, getSumPath, sumFileExists, } from './sum.js';
2
2
  export { writeAgentsMd, buildAgentsMd, buildDirectoryDoc, } from './agents-md.js';
3
- export { writeClaudeMd, getClaudeMdContent, } from './claude-md.js';
4
- export { writeGeminiMd, getGeminiMdContent, } from './gemini-md.js';
5
- export { writeOpencodeMd, getOpencodeMdContent, } from './opencode-md.js';
6
3
  export { writeArchitectureMd, writeStackMd, writeStructureMd, writeConventionsMd, writeTestingMd, writeIntegrationsMd, writeConcernsMd, buildArchitectureMd, buildStackMd, buildStructureMd, buildConventionsMd, buildTestingMd, buildIntegrationsMd, buildConcernsMd, analyzePackageJson, analyzeStructure, analyzeConventions, analyzeTestingSetup, analyzeIntegrations, analyzeConcerns, } from './supplementary.js';
7
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generation/writers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,GAEd,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,aAAa,EACb,aAAa,EACb,iBAAiB,GAKlB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,EACf,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAQhB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generation/writers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,GAEd,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,aAAa,EACb,aAAa,EACb,iBAAiB,GAKlB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAQhB,MAAM,oBAAoB,CAAC"}
@@ -37,15 +37,16 @@ export declare function verifyInstallation(files: string[]): {
37
37
  missing: string[];
38
38
  };
39
39
  /**
40
- * Register session-end hook in settings.json
40
+ * Register ARE hooks in settings.json
41
41
  *
42
+ * Registers both SessionStart (update check) and SessionEnd (auto-update) hooks.
42
43
  * Supports both Claude Code and Gemini CLI formats.
43
44
  * Merges with existing hooks, doesn't overwrite.
44
45
  *
45
46
  * @param basePath - Base installation path (e.g., ~/.claude or ~/.gemini)
46
47
  * @param runtime - Target runtime (claude or gemini)
47
48
  * @param dryRun - If true, don't write changes
48
- * @returns true if hook was added, false if already existed
49
+ * @returns true if any hook was added, false if all already existed
49
50
  */
50
51
  export declare function registerHooks(basePath: string, runtime: Exclude<Runtime, 'all'>, dryRun: boolean): boolean;
51
52
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/installer/operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AASrE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;CACjB;AA+BD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,cAAc,GACtB,eAAe,EAAE,CAKnB;AAoGD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAM3F;AAyCD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAChC,MAAM,EAAE,OAAO,GACd,OAAO,CAgBT;AAoED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAyClF;AAoDD;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAc1C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAUxE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,CA2BrE"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/installer/operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQrE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;CACjB;AA8DD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,cAAc,GACtB,eAAe,EAAE,CAKnB;AAyHD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAM3F;AAyDD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAChC,MAAM,EAAE,OAAO,GACd,OAAO,CAcT;AA6ED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAyClF;AA6DD;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAc1C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAUxE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,CA2BrE"}
@@ -8,7 +8,7 @@ import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'node:fs';
8
8
  import * as path from 'node:path';
9
9
  import { fileURLToPath } from 'node:url';
10
10
  import { resolveInstallPath, getAllRuntimes } from './paths.js';
11
- import { getClaudeTemplates, getOpenCodeTemplates, getGeminiTemplates, getHookTemplate, } from '../integration/templates.js';
11
+ import { getClaudeTemplates, getOpenCodeTemplates, getGeminiTemplates, } from '../integration/templates.js';
12
12
  /**
13
13
  * Ensure directory exists for a file path
14
14
  *
@@ -20,6 +20,35 @@ function ensureDir(filePath) {
20
20
  mkdirSync(dir, { recursive: true });
21
21
  }
22
22
  }
23
+ /**
24
+ * Get the path to a bundled hook file
25
+ *
26
+ * Hooks are bundled in hooks/dist/ during npm prepublishOnly.
27
+ *
28
+ * @param hookName - Name of the hook file (e.g., 'are-session-end.js')
29
+ * @returns Absolute path to the bundled hook file
30
+ */
31
+ function getBundledHookPath(hookName) {
32
+ // Navigate from dist/installer/operations.js to hooks/dist/
33
+ const __filename = fileURLToPath(import.meta.url);
34
+ const __dirname = path.dirname(__filename);
35
+ // From dist/installer/ go up two levels to project root, then to hooks/dist/
36
+ return path.join(__dirname, '..', '..', 'hooks', 'dist', hookName);
37
+ }
38
+ /**
39
+ * Read bundled hook content
40
+ *
41
+ * @param hookName - Name of the hook file
42
+ * @returns Hook file content as string
43
+ * @throws Error if hook file not found
44
+ */
45
+ function readBundledHook(hookName) {
46
+ const hookPath = getBundledHookPath(hookName);
47
+ if (!existsSync(hookPath)) {
48
+ throw new Error(`Bundled hook not found: ${hookPath}`);
49
+ }
50
+ return readFileSync(hookPath, 'utf-8');
51
+ }
23
52
  /**
24
53
  * Get templates for a specific runtime
25
54
  *
@@ -93,28 +122,50 @@ function installFilesForRuntime(runtime, location, options) {
93
122
  filesCreated.push(fullPath);
94
123
  }
95
124
  }
96
- // For Claude and Gemini runtimes, also install the session hook
125
+ // For Claude and Gemini runtimes, also install the session hooks
97
126
  let hookRegistered = false;
98
127
  if (runtime === 'claude' || runtime === 'gemini') {
99
- const hookPath = path.join(basePath, 'hooks', 'are-session-end.js');
100
- if (existsSync(hookPath) && !options.force) {
101
- filesSkipped.push(hookPath);
128
+ // Install session-end hook (triggers update on session close)
129
+ const sessionEndHookPath = path.join(basePath, 'hooks', 'are-session-end.js');
130
+ if (existsSync(sessionEndHookPath) && !options.force) {
131
+ filesSkipped.push(sessionEndHookPath);
102
132
  }
103
133
  else {
104
134
  if (!options.dryRun) {
105
135
  try {
106
- ensureDir(hookPath);
107
- writeFileSync(hookPath, getHookTemplate(), 'utf-8');
136
+ ensureDir(sessionEndHookPath);
137
+ const hookContent = readBundledHook('are-session-end.js');
138
+ writeFileSync(sessionEndHookPath, hookContent, 'utf-8');
108
139
  }
109
140
  catch (err) {
110
- errors.push(`Failed to write hook ${hookPath}: ${err}`);
141
+ errors.push(`Failed to write hook ${sessionEndHookPath}: ${err}`);
111
142
  }
112
143
  }
113
- if (!errors.some((e) => e.includes(hookPath))) {
114
- filesCreated.push(hookPath);
144
+ if (!errors.some((e) => e.includes(sessionEndHookPath))) {
145
+ filesCreated.push(sessionEndHookPath);
115
146
  }
116
147
  }
117
- // Register hook in settings.json
148
+ // Install check-update hook (checks for updates on session start)
149
+ const checkUpdateHookPath = path.join(basePath, 'hooks', 'are-check-update.js');
150
+ if (existsSync(checkUpdateHookPath) && !options.force) {
151
+ filesSkipped.push(checkUpdateHookPath);
152
+ }
153
+ else {
154
+ if (!options.dryRun) {
155
+ try {
156
+ ensureDir(checkUpdateHookPath);
157
+ const hookContent = readBundledHook('are-check-update.js');
158
+ writeFileSync(checkUpdateHookPath, hookContent, 'utf-8');
159
+ }
160
+ catch (err) {
161
+ errors.push(`Failed to write hook ${checkUpdateHookPath}: ${err}`);
162
+ }
163
+ }
164
+ if (!errors.some((e) => e.includes(checkUpdateHookPath))) {
165
+ filesCreated.push(checkUpdateHookPath);
166
+ }
167
+ }
168
+ // Register hooks in settings.json
118
169
  hookRegistered = registerHooks(basePath, runtime, options.dryRun);
119
170
  // Register permissions for Claude (reduces friction for users)
120
171
  if (runtime === 'claude') {
@@ -157,16 +208,21 @@ export function verifyInstallation(files) {
157
208
  missing,
158
209
  };
159
210
  }
211
+ const ARE_HOOKS = [
212
+ { event: 'SessionStart', filename: 'are-check-update.js', name: 'are-check-update' },
213
+ { event: 'SessionEnd', filename: 'are-session-end.js', name: 'are-session-end' },
214
+ ];
160
215
  /**
161
- * Register session-end hook in settings.json
216
+ * Register ARE hooks in settings.json
162
217
  *
218
+ * Registers both SessionStart (update check) and SessionEnd (auto-update) hooks.
163
219
  * Supports both Claude Code and Gemini CLI formats.
164
220
  * Merges with existing hooks, doesn't overwrite.
165
221
  *
166
222
  * @param basePath - Base installation path (e.g., ~/.claude or ~/.gemini)
167
223
  * @param runtime - Target runtime (claude or gemini)
168
224
  * @param dryRun - If true, don't write changes
169
- * @returns true if hook was added, false if already existed
225
+ * @returns true if any hook was added, false if all already existed
170
226
  */
171
227
  export function registerHooks(basePath, runtime, dryRun) {
172
228
  // Only for Claude and Gemini installations
@@ -174,18 +230,16 @@ export function registerHooks(basePath, runtime, dryRun) {
174
230
  return false;
175
231
  }
176
232
  const settingsPath = path.join(basePath, 'settings.json');
177
- // Use full path from project root (e.g., .claude/hooks/are-session-end.js)
178
233
  const runtimeDir = runtime === 'claude' ? '.claude' : '.gemini';
179
- const hookCommand = `node ${runtimeDir}/hooks/are-session-end.js`;
180
234
  if (runtime === 'gemini') {
181
- return registerGeminiHook(settingsPath, hookCommand, dryRun);
235
+ return registerGeminiHooks(settingsPath, runtimeDir, dryRun);
182
236
  }
183
- return registerClaudeHook(settingsPath, hookCommand, dryRun);
237
+ return registerClaudeHooks(settingsPath, runtimeDir, dryRun);
184
238
  }
185
239
  /**
186
- * Register hook in Claude Code settings.json format
240
+ * Register ARE hooks in Claude Code settings.json format
187
241
  */
188
- function registerClaudeHook(settingsPath, hookCommand, dryRun) {
242
+ function registerClaudeHooks(settingsPath, runtimeDir, dryRun) {
189
243
  // Load or create settings
190
244
  let settings = {};
191
245
  if (existsSync(settingsPath)) {
@@ -202,25 +256,32 @@ function registerClaudeHook(settingsPath, hookCommand, dryRun) {
202
256
  if (!settings.hooks) {
203
257
  settings.hooks = {};
204
258
  }
205
- if (!settings.hooks.SessionEnd) {
206
- settings.hooks.SessionEnd = [];
259
+ let addedAny = false;
260
+ for (const hookDef of ARE_HOOKS) {
261
+ const hookCommand = `node ${runtimeDir}/hooks/${hookDef.filename}`;
262
+ // Ensure event array exists
263
+ if (!settings.hooks[hookDef.event]) {
264
+ settings.hooks[hookDef.event] = [];
265
+ }
266
+ // Check if hook already exists (by command string match)
267
+ const hookExists = settings.hooks[hookDef.event].some((event) => event.hooks?.some((h) => h.command === hookCommand));
268
+ if (!hookExists) {
269
+ // Define our hook (Claude format: nested hooks array)
270
+ const newHook = {
271
+ hooks: [
272
+ {
273
+ type: 'command',
274
+ command: hookCommand,
275
+ },
276
+ ],
277
+ };
278
+ settings.hooks[hookDef.event].push(newHook);
279
+ addedAny = true;
280
+ }
207
281
  }
208
- // Define our hook (Claude format: nested hooks array)
209
- const newHook = {
210
- hooks: [
211
- {
212
- type: 'command',
213
- command: hookCommand,
214
- },
215
- ],
216
- };
217
- // Check if hook already exists (by command string match)
218
- const hookExists = settings.hooks.SessionEnd.some((event) => event.hooks?.some((h) => h.command === hookCommand));
219
- if (hookExists) {
282
+ if (!addedAny) {
220
283
  return false;
221
284
  }
222
- // Add the hook
223
- settings.hooks.SessionEnd.push(newHook);
224
285
  // Write settings if not dry run
225
286
  if (!dryRun) {
226
287
  ensureDir(settingsPath);
@@ -286,9 +347,9 @@ export function registerPermissions(settingsPath, dryRun) {
286
347
  return true;
287
348
  }
288
349
  /**
289
- * Register hook in Gemini CLI settings.json format
350
+ * Register ARE hooks in Gemini CLI settings.json format
290
351
  */
291
- function registerGeminiHook(settingsPath, hookCommand, dryRun) {
352
+ function registerGeminiHooks(settingsPath, runtimeDir, dryRun) {
292
353
  // Load or create settings
293
354
  let settings = {};
294
355
  if (existsSync(settingsPath)) {
@@ -305,22 +366,29 @@ function registerGeminiHook(settingsPath, hookCommand, dryRun) {
305
366
  if (!settings.hooks) {
306
367
  settings.hooks = {};
307
368
  }
308
- if (!settings.hooks.SessionEnd) {
309
- settings.hooks.SessionEnd = [];
369
+ let addedAny = false;
370
+ for (const hookDef of ARE_HOOKS) {
371
+ const hookCommand = `node ${runtimeDir}/hooks/${hookDef.filename}`;
372
+ // Ensure event array exists
373
+ if (!settings.hooks[hookDef.event]) {
374
+ settings.hooks[hookDef.event] = [];
375
+ }
376
+ // Check if hook already exists (by command string match)
377
+ const hookExists = settings.hooks[hookDef.event].some((h) => h.command === hookCommand);
378
+ if (!hookExists) {
379
+ // Define our hook (Gemini format: flat object with name)
380
+ const newHook = {
381
+ name: hookDef.name,
382
+ type: 'command',
383
+ command: hookCommand,
384
+ };
385
+ settings.hooks[hookDef.event].push(newHook);
386
+ addedAny = true;
387
+ }
310
388
  }
311
- // Define our hook (Gemini format: flat object with name)
312
- const newHook = {
313
- name: 'are-session-end',
314
- type: 'command',
315
- command: hookCommand,
316
- };
317
- // Check if hook already exists (by command string match)
318
- const hookExists = settings.hooks.SessionEnd.some((h) => h.command === hookCommand);
319
- if (hookExists) {
389
+ if (!addedAny) {
320
390
  return false;
321
391
  }
322
- // Add the hook
323
- settings.hooks.SessionEnd.push(newHook);
324
392
  // Write settings if not dry run
325
393
  if (!dryRun) {
326
394
  ensureDir(settingsPath);
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/installer/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/installer/operations.ts"],"names":[],"mappings":"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"}
@@ -18,15 +18,15 @@ import type { Runtime, Location, InstallerResult } from './types.js';
18
18
  */
19
19
  export declare function uninstallFiles(runtime: Runtime, location: Location, dryRun?: boolean): InstallerResult[];
20
20
  /**
21
- * Unregister session-end hook from settings.json
21
+ * Unregister ARE hooks from settings.json
22
22
  *
23
- * Removes the ARE hook entry from the SessionEnd hooks array.
23
+ * Removes all ARE hook entries from SessionStart and SessionEnd arrays.
24
24
  * Cleans up empty hooks structures. Handles both old and new hook paths.
25
25
  *
26
26
  * @param basePath - Base installation path (e.g., ~/.claude or ~/.gemini)
27
27
  * @param runtime - Target runtime (claude or gemini)
28
28
  * @param dryRun - If true, don't write changes
29
- * @returns true if hook was removed, false if not found
29
+ * @returns true if any hook was removed, false if none found
30
30
  */
31
31
  export declare function unregisterHooks(basePath: string, runtime: Exclude<Runtime, 'all'>, dryRun: boolean): boolean;
32
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/installer/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA4DrE;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,GAAE,OAAe,GACtB,eAAe,EAAE,CAKnB;AAsID;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAChC,MAAM,EAAE,OAAO,GACd,OAAO,CAKT;AA4DD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAiDhF;AA+HD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAqB/E"}
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/installer/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAyErE;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,GAAE,OAAe,GACtB,eAAe,EAAE,CAKnB;AA0ID;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAChC,MAAM,EAAE,OAAO,GACd,OAAO,CAKT;AAkFD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAiDhF;AAuID;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAqB/E"}