@ironbee-ai/cli 0.12.0 → 0.13.0

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 (138) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +3 -2
  3. package/dist/assets/banner.txt +1 -1
  4. package/dist/clients/claude/hooks/session-status.d.ts.map +1 -1
  5. package/dist/clients/claude/hooks/session-status.js +8 -2
  6. package/dist/clients/claude/hooks/session-status.js.map +1 -1
  7. package/dist/clients/claude/index.d.ts.map +1 -1
  8. package/dist/clients/claude/index.js +5 -0
  9. package/dist/clients/claude/index.js.map +1 -1
  10. package/dist/clients/cursor/index.d.ts.map +1 -1
  11. package/dist/clients/cursor/index.js +6 -0
  12. package/dist/clients/cursor/index.js.map +1 -1
  13. package/dist/clients/registry.d.ts +8 -9
  14. package/dist/clients/registry.d.ts.map +1 -1
  15. package/dist/clients/registry.js +13 -11
  16. package/dist/clients/registry.js.map +1 -1
  17. package/dist/commands/install.d.ts.map +1 -1
  18. package/dist/commands/install.js +4 -5
  19. package/dist/commands/install.js.map +1 -1
  20. package/dist/commands/register.d.ts +0 -1
  21. package/dist/commands/register.d.ts.map +1 -1
  22. package/dist/commands/register.js +7 -27
  23. package/dist/commands/register.js.map +1 -1
  24. package/dist/commands/uninstall.d.ts +2 -3
  25. package/dist/commands/uninstall.d.ts.map +1 -1
  26. package/dist/commands/uninstall.js +3 -4
  27. package/dist/commands/uninstall.js.map +1 -1
  28. package/dist/commands/unregister.d.ts +0 -1
  29. package/dist/commands/unregister.d.ts.map +1 -1
  30. package/dist/commands/unregister.js +3 -24
  31. package/dist/commands/unregister.js.map +1 -1
  32. package/dist/index.js +33 -15
  33. package/dist/index.js.map +1 -1
  34. package/dist/lib/fs-prune.d.ts +20 -0
  35. package/dist/lib/fs-prune.d.ts.map +1 -0
  36. package/dist/lib/fs-prune.js +72 -0
  37. package/dist/lib/fs-prune.js.map +1 -0
  38. package/dist/lib/projects-registry.d.ts +6 -13
  39. package/dist/lib/projects-registry.d.ts.map +1 -1
  40. package/dist/lib/projects-registry.js +11 -46
  41. package/dist/lib/projects-registry.js.map +1 -1
  42. package/dist/tui/command.d.ts +18 -0
  43. package/dist/tui/command.d.ts.map +1 -0
  44. package/dist/tui/command.js +87 -0
  45. package/dist/tui/command.js.map +1 -0
  46. package/dist/tui/config/area.d.ts +6 -0
  47. package/dist/tui/config/area.d.ts.map +1 -0
  48. package/dist/tui/config/area.js +16 -0
  49. package/dist/tui/config/area.js.map +1 -0
  50. package/dist/tui/config/docs.d.ts +28 -0
  51. package/dist/tui/config/docs.d.ts.map +1 -0
  52. package/dist/tui/config/docs.js +68 -0
  53. package/dist/tui/config/docs.js.map +1 -0
  54. package/dist/tui/config/edit.d.ts +36 -0
  55. package/dist/tui/config/edit.d.ts.map +1 -0
  56. package/dist/tui/config/edit.js +69 -0
  57. package/dist/tui/config/edit.js.map +1 -0
  58. package/dist/tui/config/introspect.d.ts +58 -0
  59. package/dist/tui/config/introspect.d.ts.map +1 -0
  60. package/dist/tui/config/introspect.js +93 -0
  61. package/dist/tui/config/introspect.js.map +1 -0
  62. package/dist/tui/config/schema.d.ts +81 -0
  63. package/dist/tui/config/schema.d.ts.map +1 -0
  64. package/dist/tui/config/schema.js +534 -0
  65. package/dist/tui/config/schema.js.map +1 -0
  66. package/dist/tui/config/tree.d.ts +39 -0
  67. package/dist/tui/config/tree.d.ts.map +1 -0
  68. package/dist/tui/config/tree.js +59 -0
  69. package/dist/tui/config/tree.js.map +1 -0
  70. package/dist/tui/config/value.d.ts +75 -0
  71. package/dist/tui/config/value.d.ts.map +1 -0
  72. package/dist/tui/config/value.js +228 -0
  73. package/dist/tui/config/value.js.map +1 -0
  74. package/dist/tui/config/view.d.ts +13 -0
  75. package/dist/tui/config/view.d.ts.map +1 -0
  76. package/dist/tui/config/view.js +423 -0
  77. package/dist/tui/config/view.js.map +1 -0
  78. package/dist/tui/import/area.d.ts +11 -0
  79. package/dist/tui/import/area.d.ts.map +1 -0
  80. package/dist/tui/import/area.js +202 -0
  81. package/dist/tui/import/area.js.map +1 -0
  82. package/dist/tui/index.d.ts +9 -0
  83. package/dist/tui/index.d.ts.map +1 -0
  84. package/dist/tui/index.js +14 -0
  85. package/dist/tui/index.js.map +1 -0
  86. package/dist/tui/platforms/area.d.ts +12 -0
  87. package/dist/tui/platforms/area.d.ts.map +1 -0
  88. package/dist/tui/platforms/area.js +228 -0
  89. package/dist/tui/platforms/area.js.map +1 -0
  90. package/dist/tui/projects/area.d.ts +26 -0
  91. package/dist/tui/projects/area.d.ts.map +1 -0
  92. package/dist/tui/projects/area.js +588 -0
  93. package/dist/tui/projects/area.js.map +1 -0
  94. package/dist/tui/queue/area.d.ts +11 -0
  95. package/dist/tui/queue/area.d.ts.map +1 -0
  96. package/dist/tui/queue/area.js +338 -0
  97. package/dist/tui/queue/area.js.map +1 -0
  98. package/dist/tui/queue/read.d.ts +49 -0
  99. package/dist/tui/queue/read.d.ts.map +1 -0
  100. package/dist/tui/queue/read.js +261 -0
  101. package/dist/tui/queue/read.js.map +1 -0
  102. package/dist/tui/sessions/area.d.ts +10 -0
  103. package/dist/tui/sessions/area.d.ts.map +1 -0
  104. package/dist/tui/sessions/area.js +266 -0
  105. package/dist/tui/sessions/area.js.map +1 -0
  106. package/dist/tui/sessions/read.d.ts +79 -0
  107. package/dist/tui/sessions/read.d.ts.map +1 -0
  108. package/dist/tui/sessions/read.js +202 -0
  109. package/dist/tui/sessions/read.js.map +1 -0
  110. package/dist/tui/shell/area.d.ts +47 -0
  111. package/dist/tui/shell/area.d.ts.map +1 -0
  112. package/dist/tui/shell/area.js +13 -0
  113. package/dist/tui/shell/area.js.map +1 -0
  114. package/dist/tui/shell/frame.d.ts +23 -0
  115. package/dist/tui/shell/frame.d.ts.map +1 -0
  116. package/dist/tui/shell/frame.js +91 -0
  117. package/dist/tui/shell/frame.js.map +1 -0
  118. package/dist/tui/shell/registry.d.ts +11 -0
  119. package/dist/tui/shell/registry.d.ts.map +1 -0
  120. package/dist/tui/shell/registry.js +29 -0
  121. package/dist/tui/shell/registry.js.map +1 -0
  122. package/dist/tui/shell/rerender.d.ts +16 -0
  123. package/dist/tui/shell/rerender.d.ts.map +1 -0
  124. package/dist/tui/shell/rerender.js +34 -0
  125. package/dist/tui/shell/rerender.js.map +1 -0
  126. package/dist/tui/shell/session.d.ts +75 -0
  127. package/dist/tui/shell/session.d.ts.map +1 -0
  128. package/dist/tui/shell/session.js +333 -0
  129. package/dist/tui/shell/session.js.map +1 -0
  130. package/dist/tui/shell/shell.d.ts +16 -0
  131. package/dist/tui/shell/shell.d.ts.map +1 -0
  132. package/dist/tui/shell/shell.js +213 -0
  133. package/dist/tui/shell/shell.js.map +1 -0
  134. package/dist/tui/shell/util.d.ts +18 -0
  135. package/dist/tui/shell/util.d.ts.map +1 -0
  136. package/dist/tui/shell/util.js +31 -0
  137. package/dist/tui/shell/util.js.map +1 -0
  138. package/package.json +3 -1
@@ -30,37 +30,17 @@ async function runRegister(options) {
30
30
  output_1.log.error(`Directory not found: ${projectDir}`);
31
31
  process.exit(1);
32
32
  }
33
- let clients;
34
- if (options.client === "all") {
35
- clients = registry_1.REGISTERED_CLIENTS;
36
- }
37
- else if (options.client !== undefined) {
38
- const found = (0, registry_1.findClient)(options.client);
39
- if (found === undefined) {
40
- output_1.log.error(`Unknown client: '${options.client}'. Available: ${(0, registry_1.clientNames)()}.`);
41
- process.exit(1);
42
- }
43
- clients = [found];
44
- }
45
- else {
46
- clients = (0, registry_1.detectClients)(projectDir);
47
- if (clients.length === 0) {
48
- // Unlike `install`, register does NOT fall back to the first
49
- // registered client — that would mark the project as having a
50
- // client it doesn't actually have. Force the user to pick.
51
- output_1.log.error(`No client detected in ${projectDir}. Use --client <name> to register explicitly (${(0, registry_1.clientNames)()}).`);
52
- process.exit(1);
53
- }
54
- }
55
- const names = clients.map((c) => c.name);
56
- (0, projects_registry_1.upsertProject)(projectDir, names);
57
- output_1.log.success(`Registered ${output_1.pc.bold(names.join(", "))} for ${output_1.pc.dim(projectDir)}.`);
58
- await (0, telemetry_1.trackRegister)(names, projectDir);
33
+ // The registry is a set of project paths; we no longer record per-client
34
+ // info (client decisions follow live detection). Detected clients are
35
+ // passed to telemetry for signal only — not stored.
36
+ const detected = (0, registry_1.detectClients)(projectDir).map((c) => c.name);
37
+ (0, projects_registry_1.upsertProject)(projectDir);
38
+ output_1.log.success(`Registered ${output_1.pc.dim(projectDir)}.`);
39
+ await (0, telemetry_1.trackRegister)(detected, projectDir);
59
40
  }
60
41
  exports.registerCommand = new commander_1.Command("register")
61
42
  .description("Add this project to the user-home inventory (~/.ironbee/projects.json) without writing any client artifacts. `ironbee install` already auto-registers; use this to retrofit an already-configured project into the inventory.")
62
43
  .option("-p, --project <dir>", "Project directory to register (default: cwd).")
63
- .option("--client <name>", `Client to register (${(0, registry_1.clientNames)()}), or "all". Default: detected clients.`)
64
44
  .action(async (options) => {
65
45
  await runRegister(options);
66
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAgBH,kCAqCC;AAnDD,yCAAoC;AACpC,2BAAgC;AAChC,+BAA+B;AAE/B,kDAAiG;AACjG,0CAAwC;AACxC,gEAAyD;AACzD,gDAAiD;AAO1C,KAAK,UAAU,WAAW,CAAC,OAAwB;IACtD,MAAM,UAAU,GAAW,IAAA,cAAO,EAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IAE3D,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,YAAG,CAAC,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,OAAkB,CAAC;IAEvB,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC3B,OAAO,GAAG,6BAAkB,CAAC;IACjC,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAwB,IAAA,qBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,YAAG,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,MAAM,iBAAiB,IAAA,sBAAW,GAAE,GAAG,CAAC,CAAC;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACJ,OAAO,GAAG,IAAA,wBAAa,EAAC,UAAU,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,6DAA6D;YAC7D,8DAA8D;YAC9D,2DAA2D;YAC3D,YAAG,CAAC,KAAK,CACL,yBAAyB,UAAU,iDAAiD,IAAA,sBAAW,GAAE,IAAI,CACxG,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAa,OAAO,CAAC,GAAG,CAAC,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpE,IAAA,iCAAa,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAEjC,YAAG,CAAC,OAAO,CAAC,cAAc,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,WAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAClF,MAAM,IAAA,yBAAa,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAEY,QAAA,eAAe,GAAY,IAAI,mBAAO,CAAC,UAAU,CAAC;KAC1D,WAAW,CAAC,+NAA+N,CAAC;KAC5O,MAAM,CAAC,qBAAqB,EAAE,+CAA+C,CAAC;KAC9E,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,IAAA,sBAAW,GAAE,yCAAyC,CAAC;KACxG,MAAM,CAAC,KAAK,EAAE,OAAwB,EAAiB,EAAE;IACtD,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAeH,kCAgBC;AA7BD,yCAAoC;AACpC,2BAAgC;AAChC,+BAA+B;AAE/B,kDAAoD;AACpD,0CAAwC;AACxC,gEAAyD;AACzD,gDAAiD;AAM1C,KAAK,UAAU,WAAW,CAAC,OAAwB;IACtD,MAAM,UAAU,GAAW,IAAA,cAAO,EAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IAE3D,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,YAAG,CAAC,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,yEAAyE;IACzE,sEAAsE;IACtE,oDAAoD;IACpD,MAAM,QAAQ,GAAa,IAAA,wBAAa,EAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzF,IAAA,iCAAa,EAAC,UAAU,CAAC,CAAC;IAE1B,YAAG,CAAC,OAAO,CAAC,cAAc,WAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,IAAA,yBAAa,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAEY,QAAA,eAAe,GAAY,IAAI,mBAAO,CAAC,UAAU,CAAC;KAC1D,WAAW,CAAC,+NAA+N,CAAC;KAC5O,MAAM,CAAC,qBAAqB,EAAE,+CAA+C,CAAC;KAC9E,MAAM,CAAC,KAAK,EAAE,OAAwB,EAAiB,EAAE;IACtD,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC"}
@@ -6,9 +6,8 @@ import { Command } from "commander";
6
6
  * dropped from the registry.
7
7
  *
8
8
  * Per-project: runs `uninstall()` on every REGISTERED_CLIENT (each call
9
- * is idempotent, only deletes files that exist). This makes the batch
10
- * insensitive to drift between `entry.clients` and disk state — if the
11
- * user manually moved between Claude and Cursor, both get cleaned.
9
+ * is idempotent, only deletes files that exist) so whichever client(s)
10
+ * are actually on disk get cleaned, regardless of detection.
12
11
  */
13
12
  export declare function runUninstallAll(opts: {
14
13
  client?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2DpC;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA2F5H;AAED,eAAO,MAAM,gBAAgB,EAAE,OA2DzB,CAAC"}
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2DpC;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA2F5H;AAED,eAAO,MAAM,gBAAgB,EAAE,OA2DzB,CAAC"}
@@ -25,7 +25,7 @@ function uninstallOne(projectDir, clients) {
25
25
  client.uninstall(projectDir);
26
26
  }
27
27
  const names = clients.map((c) => c.name);
28
- (0, projects_registry_1.removeProject)(projectDir, names);
28
+ (0, projects_registry_1.removeProject)(projectDir);
29
29
  const ironbeeDir = (0, path_1.join)(projectDir, ".ironbee");
30
30
  if ((0, fs_1.existsSync)(ironbeeDir)) {
31
31
  (0, fs_1.rmSync)(ironbeeDir, { recursive: true, force: true });
@@ -55,9 +55,8 @@ function resolveClientsForUninstall(clientOpt) {
55
55
  * dropped from the registry.
56
56
  *
57
57
  * Per-project: runs `uninstall()` on every REGISTERED_CLIENT (each call
58
- * is idempotent, only deletes files that exist). This makes the batch
59
- * insensitive to drift between `entry.clients` and disk state — if the
60
- * user manually moved between Claude and Cursor, both get cleaned.
58
+ * is idempotent, only deletes files that exist) so whichever client(s)
59
+ * are actually on disk get cleaned, regardless of detection.
61
60
  */
62
61
  async function runUninstallAll(opts) {
63
62
  const allEntries = (0, projects_registry_1.listProjects)();
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,6 @@
15
15
  import { Command } from "commander";
16
16
  interface UnregisterOptions {
17
17
  project?: string;
18
- client?: string;
19
18
  }
20
19
  export declare function runUnregister(options: UnregisterOptions): Promise<void>;
21
20
  export declare const unregisterCommand: Command;
@@ -1 +1 @@
1
- {"version":3,"file":"unregister.d.ts","sourceRoot":"","sources":["../../src/commands/unregister.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,UAAU,iBAAiB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC7E;AAED,eAAO,MAAM,iBAAiB,EAAE,OAM1B,CAAC"}
1
+ {"version":3,"file":"unregister.d.ts","sourceRoot":"","sources":["../../src/commands/unregister.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,UAAU,iBAAiB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB7E;AAED,eAAO,MAAM,iBAAiB,EAAE,OAK1B,CAAC"}
@@ -18,7 +18,6 @@ exports.unregisterCommand = void 0;
18
18
  exports.runUnregister = runUnregister;
19
19
  const commander_1 = require("commander");
20
20
  const path_1 = require("path");
21
- const registry_1 = require("../clients/registry");
22
21
  const output_1 = require("../lib/output");
23
22
  const projects_registry_1 = require("../lib/projects-registry");
24
23
  const telemetry_1 = require("../lib/telemetry");
@@ -26,41 +25,21 @@ async function runUnregister(options) {
26
25
  // Don't require existsSync — unregister's whole point is removing
27
26
  // entries for paths that may have been deleted.
28
27
  const projectDir = (0, path_1.resolve)(options.project ?? ".");
29
- let clients;
30
- if (options.client === "all") {
31
- clients = registry_1.REGISTERED_CLIENTS.map((c) => c.name);
32
- }
33
- else if (options.client !== undefined) {
34
- const found = (0, registry_1.findClient)(options.client);
35
- if (found === undefined) {
36
- output_1.log.error(`Unknown client: '${options.client}'. Available: ${(0, registry_1.clientNames)()}.`);
37
- process.exit(1);
38
- }
39
- clients = [found.name];
40
- }
41
- // Default (no --client): drop the entry entirely regardless of clients.
42
- // Matches the user's mental model of "stop tracking this project."
43
28
  // Use removeProject's boolean return as the "did anything happen?"
44
29
  // signal — that path uses `pathMatches` (with realpath fallback), so
45
30
  // legacy non-canonical entries get caught here even when our
46
31
  // `resolve()`'d lookup key wouldn't match by string equality.
47
- const removed = (0, projects_registry_1.removeProject)(projectDir, clients);
32
+ const removed = (0, projects_registry_1.removeProject)(projectDir);
48
33
  if (!removed) {
49
34
  output_1.log.info(`No registry entry for ${output_1.pc.dim(projectDir)}. Nothing to remove.`);
50
35
  return;
51
36
  }
52
- if (clients === undefined) {
53
- output_1.log.success(`Unregistered ${output_1.pc.dim(projectDir)} from the inventory.`);
54
- }
55
- else {
56
- output_1.log.success(`Unregistered ${output_1.pc.bold(clients.join(", "))} for ${output_1.pc.dim(projectDir)}.`);
57
- }
58
- await (0, telemetry_1.trackUnregister)(clients ?? [], projectDir);
37
+ output_1.log.success(`Unregistered ${output_1.pc.dim(projectDir)} from the inventory.`);
38
+ await (0, telemetry_1.trackUnregister)([], projectDir);
59
39
  }
60
40
  exports.unregisterCommand = new commander_1.Command("unregister")
61
41
  .description("Remove this project from the user-home inventory (~/.ironbee/projects.json) without uninstalling anything. `ironbee uninstall` already auto-unregisters; use this when the project dir is already gone or you want to drop the inventory entry only.")
62
42
  .option("-p, --project <dir>", "Project directory to unregister (default: cwd).")
63
- .option("--client <name>", `Drop only this client from the entry (${(0, registry_1.clientNames)()}), or "all". Default: drop the whole entry.`)
64
43
  .action(async (options) => {
65
44
  await runUnregister(options);
66
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"unregister.js","sourceRoot":"","sources":["../../src/commands/unregister.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAeH,sCAoCC;AAjDD,yCAAoC;AACpC,+BAA+B;AAE/B,kDAAkF;AAClF,0CAAwC;AACxC,gEAAyD;AACzD,gDAAmD;AAO5C,KAAK,UAAU,aAAa,CAAC,OAA0B;IAC1D,kEAAkE;IAClE,gDAAgD;IAChD,MAAM,UAAU,GAAW,IAAA,cAAO,EAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IAE3D,IAAI,OAA6B,CAAC;IAClC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC3B,OAAO,GAAG,6BAAkB,CAAC,GAAG,CAAC,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAwB,IAAA,qBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,YAAG,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,MAAM,iBAAiB,IAAA,sBAAW,GAAE,GAAG,CAAC,CAAC;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,wEAAwE;IACxE,mEAAmE;IAEnE,mEAAmE;IACnE,qEAAqE;IACrE,6DAA6D;IAC7D,8DAA8D;IAC9D,MAAM,OAAO,GAAY,IAAA,iCAAa,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,YAAG,CAAC,IAAI,CAAC,yBAAyB,WAAE,CAAC,GAAG,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAC5E,OAAO;IACX,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,YAAG,CAAC,OAAO,CAAC,gBAAgB,WAAE,CAAC,GAAG,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACJ,YAAG,CAAC,OAAO,CAAC,gBAAgB,WAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,WAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,IAAA,2BAAe,EAAC,OAAO,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;AACrD,CAAC;AAEY,QAAA,iBAAiB,GAAY,IAAI,mBAAO,CAAC,YAAY,CAAC;KAC9D,WAAW,CAAC,sPAAsP,CAAC;KACnQ,MAAM,CAAC,qBAAqB,EAAE,iDAAiD,CAAC;KAChF,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,IAAA,sBAAW,GAAE,6CAA6C,CAAC;KAC9H,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAiB,EAAE;IACxD,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"unregister.js","sourceRoot":"","sources":["../../src/commands/unregister.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAYH,sCAkBC;AA5BD,yCAAoC;AACpC,+BAA+B;AAC/B,0CAAwC;AACxC,gEAAyD;AACzD,gDAAmD;AAM5C,KAAK,UAAU,aAAa,CAAC,OAA0B;IAC1D,kEAAkE;IAClE,gDAAgD;IAChD,MAAM,UAAU,GAAW,IAAA,cAAO,EAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IAE3D,mEAAmE;IACnE,qEAAqE;IACrE,6DAA6D;IAC7D,8DAA8D;IAC9D,MAAM,OAAO,GAAY,IAAA,iCAAa,EAAC,UAAU,CAAC,CAAC;IAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,YAAG,CAAC,IAAI,CAAC,yBAAyB,WAAE,CAAC,GAAG,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAC5E,OAAO;IACX,CAAC;IAED,YAAG,CAAC,OAAO,CAAC,gBAAgB,WAAE,CAAC,GAAG,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACtE,MAAM,IAAA,2BAAe,EAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AAC1C,CAAC;AAEY,QAAA,iBAAiB,GAAY,IAAI,mBAAO,CAAC,YAAY,CAAC;KAC9D,WAAW,CAAC,sPAAsP,CAAC;KACnQ,MAAM,CAAC,qBAAqB,EAAE,iDAAiD,CAAC;KAChF,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAiB,EAAE;IACxD,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC"}
package/dist/index.js CHANGED
@@ -21,6 +21,7 @@ const verification_1 = require("./commands/verification");
21
21
  const telemetry_1 = require("./commands/telemetry");
22
22
  const statusline_1 = require("./commands/statusline");
23
23
  const config_1 = require("./commands/config");
24
+ const tui_1 = require("./tui");
24
25
  const register_1 = require("./commands/register");
25
26
  const unregister_1 = require("./commands/unregister");
26
27
  const import_1 = require("./commands/import");
@@ -54,6 +55,7 @@ program.addCommand(verification_1.verificationCommand);
54
55
  program.addCommand(telemetry_1.telemetryCommand);
55
56
  program.addCommand(statusline_1.statuslineCommand);
56
57
  program.addCommand(config_1.configCommand);
58
+ program.addCommand(tui_1.tuiCommand);
57
59
  program.addCommand(register_1.registerCommand);
58
60
  program.addCommand(unregister_1.unregisterCommand);
59
61
  program.addCommand(import_1.importCommand);
@@ -73,21 +75,37 @@ if (process.argv.length === 2) {
73
75
  console.log(` ${output_1.pc.bold(output_1.pc.cyan("Usage:"))} ${output_1.pc.green("ironbee")} ${output_1.pc.dim("<command> [options]")}`);
74
76
  console.log();
75
77
  console.log(` ${output_1.pc.bold(output_1.pc.cyan("Commands:"))}`);
76
- console.log(` ${output_1.pc.green("install")} ${output_1.pc.dim("[project-dir]")} Install hooks and guidance files`);
77
- console.log(` ${output_1.pc.green("uninstall")} ${output_1.pc.dim("[project-dir]")} Remove hooks, guidance files, and .ironbee/ (use --all to wipe every registered project)`);
78
- console.log(` ${output_1.pc.green("update")} Update to the latest version`);
79
- console.log(` ${output_1.pc.green("status")} ${output_1.pc.dim("[project-dir]")} Show verification status for sessions`);
80
- console.log(` ${output_1.pc.green("verify")} ${output_1.pc.dim("[session-id]")} Dry-run verdict validation`);
81
- console.log(` ${output_1.pc.green("analyze")} ${output_1.pc.dim("[session-id]")} Analyze session metrics (or all sessions)`);
82
- console.log(` ${output_1.pc.green("browser")} ${output_1.pc.dim("<enable|disable>")} Manage the browser verification cycle (default-on; bdt_* tools via browser-devtools)`);
83
- console.log(` ${output_1.pc.green("node")} ${output_1.pc.dim("<enable|disable>")} Manage the Node.js runtime debug cycle (V8 inspector probes via node-devtools)`);
84
- console.log(` ${output_1.pc.green("backend")} ${output_1.pc.dim("<enable|disable>")} Manage the runtime-agnostic backend protocol cycle (HTTP/gRPC/GraphQL/WS via backend-devtools)`);
85
- console.log(` ${output_1.pc.green("verification")} ${output_1.pc.dim("<enable|disable>")} Master verification toggle (enable = enforce; disable = monitoring-only)`);
86
- console.log(` ${output_1.pc.green("telemetry")} ${output_1.pc.dim("<enable|disable>")} Anonymous PostHog telemetry toggle (off-switch also kills the ironbee-devtools side)`);
87
- console.log(` ${output_1.pc.green("config")} ${output_1.pc.dim("<get|set|unset|list|path>")} Read or write project / global config (auto re-renders artifacts)`);
88
- console.log(` ${output_1.pc.green("register")} ${output_1.pc.dim("[--client <n>]")} Add this project to the user-home inventory (no artifact writes)`);
89
- console.log(` ${output_1.pc.green("unregister")} ${output_1.pc.dim("[--client <n>]")} Remove this project from the user-home inventory (no artifact writes)`);
90
- console.log(` ${output_1.pc.green("import")} Import historical Claude sessions to the IronBee Collector`);
78
+ // Rows are { name, args, desc }; the name+args term column is padded to a
79
+ // common width computed from VISIBLE length (pc.* injects ANSI codes that
80
+ // would otherwise throw alignment off), so descriptions line up regardless
81
+ // of name length.
82
+ const rows = [
83
+ { name: "install", args: "[project-dir]", desc: "Install hooks + guidance files into a project (--all: every registered project)" },
84
+ { name: "uninstall", args: "[project-dir]", desc: "Remove IronBee from a project (--all: every registered project)" },
85
+ { name: "update", args: "", desc: "Update IronBee CLI to the latest version" },
86
+ { name: "tui", args: "[area]", desc: "Interactive full-screen UI (config · platforms · projects · sessions · queue · import)" },
87
+ { name: "status", args: "[project-dir]", desc: "Show verification status for active sessions" },
88
+ { name: "verify", args: "[session-id]", desc: "Dry-run verdict validation" },
89
+ { name: "analyze", args: "[session-id]", desc: "Analyze session metrics (single or all)" },
90
+ { name: "browser", args: "<enable|disable>", desc: "Toggle the browser verification cycle (default-on)" },
91
+ { name: "node", args: "<enable|disable>", desc: "Toggle the Node.js runtime debug cycle (opt-in)" },
92
+ { name: "backend", args: "<enable|disable>", desc: "Toggle the backend protocol cycle (opt-in)" },
93
+ { name: "verification", args: "<enable|disable>", desc: "Master toggle (enable = enforce; disable = monitoring-only)" },
94
+ { name: "telemetry", args: "<enable|disable>", desc: "Anonymous PostHog telemetry toggle" },
95
+ { name: "statusline", args: "<enable|disable>", desc: "Claude statusline integration (Claude-only)" },
96
+ { name: "config", args: "<get|set|unset|list>", desc: "Read or write project / global / local config" },
97
+ { name: "register", args: "[-p <dir>]", desc: "Add a project to the user-home inventory (no artifact writes)" },
98
+ { name: "unregister", args: "[-p <dir>]", desc: "Remove a project from the inventory (no artifact writes)" },
99
+ { name: "queue", args: "<status|drain|…>", desc: "Inspect / drain the background job queue" },
100
+ { name: "import", args: "", desc: "Import historical Claude sessions to the collector" },
101
+ ];
102
+ const term = (r) => (r.args.length > 0 ? `${r.name} ${r.args}` : r.name);
103
+ const termWidth = Math.max(...rows.map((r) => term(r).length));
104
+ for (const r of rows) {
105
+ const colored = r.args.length > 0 ? `${output_1.pc.green(r.name)} ${output_1.pc.dim(r.args)}` : output_1.pc.green(r.name);
106
+ const pad = " ".repeat(termWidth - term(r).length);
107
+ console.log(` ${colored}${pad} ${r.desc}`);
108
+ }
91
109
  console.log();
92
110
  console.log(` ${output_1.pc.dim("Run")} ${output_1.pc.cyan("ironbee <command> --help")} ${output_1.pc.dim("for more info on a command.")}`);
93
111
  console.log();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * IronBee — empty-directory pruning.
3
+ *
4
+ * Used by client `uninstall` to clean up directories ironbee owned once their
5
+ * files are gone: e.g. `.claude/commands`, `.claude/rules`, `.claude/skills`
6
+ * (and Cursor's nested `.cursor/skills/ironbee-analyze/`), then the `.claude` /
7
+ * `.cursor` root itself when nothing else remains. A dangling empty `.claude` /
8
+ * `.cursor` also makes `IClient.detect` (which checks for the dir) report the
9
+ * project as still present — pruning keeps detection honest.
10
+ */
11
+ /**
12
+ * Recursively remove empty directories within (and including) `baseDir`,
13
+ * bottom-up. A directory is removed ONLY when it has zero entries after its
14
+ * empty children are pruned — so any directory still holding a file (user
15
+ * content) survives, and so does `baseDir` itself if it isn't fully empty.
16
+ * No-op when `baseDir` is missing or not a directory. Best-effort: I/O errors
17
+ * are swallowed. Returns `true` when `baseDir` itself was removed.
18
+ */
19
+ export declare function pruneEmptyDirs(baseDir: string): boolean;
20
+ //# sourceMappingURL=fs-prune.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-prune.d.ts","sourceRoot":"","sources":["../../src/lib/fs-prune.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CA6CvD"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ /**
3
+ * IronBee — empty-directory pruning.
4
+ *
5
+ * Used by client `uninstall` to clean up directories ironbee owned once their
6
+ * files are gone: e.g. `.claude/commands`, `.claude/rules`, `.claude/skills`
7
+ * (and Cursor's nested `.cursor/skills/ironbee-analyze/`), then the `.claude` /
8
+ * `.cursor` root itself when nothing else remains. A dangling empty `.claude` /
9
+ * `.cursor` also makes `IClient.detect` (which checks for the dir) report the
10
+ * project as still present — pruning keeps detection honest.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.pruneEmptyDirs = pruneEmptyDirs;
14
+ const fs_1 = require("fs");
15
+ const path_1 = require("path");
16
+ /**
17
+ * Recursively remove empty directories within (and including) `baseDir`,
18
+ * bottom-up. A directory is removed ONLY when it has zero entries after its
19
+ * empty children are pruned — so any directory still holding a file (user
20
+ * content) survives, and so does `baseDir` itself if it isn't fully empty.
21
+ * No-op when `baseDir` is missing or not a directory. Best-effort: I/O errors
22
+ * are swallowed. Returns `true` when `baseDir` itself was removed.
23
+ */
24
+ function pruneEmptyDirs(baseDir) {
25
+ if (!(0, fs_1.existsSync)(baseDir)) {
26
+ return false;
27
+ }
28
+ try {
29
+ if (!(0, fs_1.statSync)(baseDir).isDirectory()) {
30
+ return false;
31
+ }
32
+ }
33
+ catch {
34
+ return false;
35
+ }
36
+ let entries;
37
+ try {
38
+ entries = (0, fs_1.readdirSync)(baseDir);
39
+ }
40
+ catch {
41
+ return false;
42
+ }
43
+ for (const name of entries) {
44
+ const child = (0, path_1.join)(baseDir, name);
45
+ try {
46
+ if ((0, fs_1.statSync)(child).isDirectory()) {
47
+ pruneEmptyDirs(child);
48
+ }
49
+ }
50
+ catch {
51
+ // unreadable child — leave it, don't risk a throw
52
+ }
53
+ }
54
+ let remaining;
55
+ try {
56
+ remaining = (0, fs_1.readdirSync)(baseDir);
57
+ }
58
+ catch {
59
+ return false;
60
+ }
61
+ if (remaining.length > 0) {
62
+ return false;
63
+ }
64
+ try {
65
+ (0, fs_1.rmdirSync)(baseDir);
66
+ return true;
67
+ }
68
+ catch {
69
+ return false;
70
+ }
71
+ }
72
+ //# sourceMappingURL=fs-prune.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-prune.js","sourceRoot":"","sources":["../../src/lib/fs-prune.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AAaH,wCA6CC;AAxDD,2BAAkE;AAClE,+BAA4B;AAE5B;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,OAAe;IAC1C,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,CAAC;QACD,IAAI,CAAC,IAAA,aAAQ,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACD,OAAO,GAAG,IAAA,gBAAW,EAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,KAAK,GAAW,IAAA,WAAI,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC;YACD,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,kDAAkD;QACtD,CAAC;IACL,CAAC;IAED,IAAI,SAAmB,CAAC;IACxB,IAAI,CAAC;QACD,SAAS,GAAG,IAAA,gBAAW,EAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,CAAC;QACD,IAAA,cAAS,EAAC,OAAO,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
@@ -39,8 +39,6 @@
39
39
  export interface ProjectEntry {
40
40
  /** Absolute, realpath-canonicalized project directory. Identity key. */
41
41
  path: string;
42
- /** Client names (claude, cursor, …) installed into this project. */
43
- clients: string[];
44
42
  /** ISO 8601 timestamp of the first install. */
45
43
  installedAt: string;
46
44
  }
@@ -79,19 +77,14 @@ export declare function canonicalizePath(projectDir: string): string;
79
77
  * Failures are swallowed and logged — registry maintenance must not break
80
78
  * the user-visible `install` / `register` flow.
81
79
  */
82
- export declare function upsertProject(projectDir: string, clients: string[]): void;
80
+ export declare function upsertProject(projectDir: string): void;
83
81
  /**
84
- * Remove `clients` from a project entry. When the resulting `clients` list
85
- * is empty (every client uninstalled), the entry itself is dropped. When
86
- * `clients` is omitted, the entry is removed regardless of which clients
87
- * are recorded used by ad-hoc cleanup paths.
88
- *
89
- * Idempotent. Returns `true` when something was actually removed (entry
90
- * dropped or clients trimmed); `false` when there was nothing matching to
91
- * change. Lets callers like `ironbee unregister` distinguish "removed
92
- * vs. nothing-to-remove" without re-implementing the `pathMatches` lookup.
82
+ * Remove a project entry from the inventory entirely. Idempotent — returns
83
+ * `true` when an entry was removed, `false` when there was no matching entry.
84
+ * Lets callers like `ironbee unregister` distinguish "removed vs nothing to
85
+ * remove" without re-implementing the `pathMatches` lookup.
93
86
  */
94
- export declare function removeProject(projectDir: string, clients?: string[]): boolean;
87
+ export declare function removeProject(projectDir: string): boolean;
95
88
  /**
96
89
  * Return every registered project, raw (no staleness filtering). Callers
97
90
  * that want pruned results compose this with their own active-check —
@@ -1 +1 @@
1
- {"version":3,"file":"projects-registry.d.ts","sourceRoot":"","sources":["../../src/lib/projects-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AASH,MAAM,WAAW,YAAY;IACzB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC5B;AAMD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAMD;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,YAAY,CAsC3C;AAsCD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAO3D;AAoBD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CA4BzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAgC7E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,YAAY,EAAE,CAE7C"}
1
+ {"version":3,"file":"projects-registry.d.ts","sourceRoot":"","sources":["../../src/lib/projects-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AASH,MAAM,WAAW,YAAY;IACzB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC5B;AAMD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAMD;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,YAAY,CAqC3C;AAsCD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAO3D;AAoBD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAqBtD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAezD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,YAAY,EAAE,CAE7C"}
@@ -89,11 +89,10 @@ function loadRegistry() {
89
89
  }
90
90
  const projects = obj.projects
91
91
  .filter((p) => p !== null && typeof p === "object")
92
+ // A legacy `clients` field on disk is ignored — the registry is now a
93
+ // set of project paths; client decisions follow live detection.
92
94
  .map((p) => ({
93
95
  path: typeof p.path === "string" ? p.path : "",
94
- clients: Array.isArray(p.clients)
95
- ? p.clients.filter((c) => typeof c === "string")
96
- : [],
97
96
  installedAt: typeof p.installedAt === "string" ? p.installedAt : "",
98
97
  }))
99
98
  .filter((p) => p.path.length > 0);
@@ -190,27 +189,20 @@ function pathMatches(stored, canonical) {
190
189
  * Failures are swallowed and logged — registry maintenance must not break
191
190
  * the user-visible `install` / `register` flow.
192
191
  */
193
- function upsertProject(projectDir, clients) {
194
- if (clients.length === 0) {
195
- return;
196
- }
192
+ function upsertProject(projectDir) {
197
193
  try {
198
194
  const canonical = canonicalizePath(projectDir);
199
195
  const file = loadRegistry();
200
196
  const now = new Date().toISOString();
201
197
  const idx = file.projects.findIndex((p) => pathMatches(p.path, canonical));
202
198
  if (idx === -1) {
203
- file.projects.push({
204
- path: canonical,
205
- clients: dedupe(clients),
206
- installedAt: now,
207
- });
199
+ file.projects.push({ path: canonical, installedAt: now });
208
200
  }
209
201
  else {
202
+ // Rewrite canonical (legacy paths get canonicalized on re-touch); keep installedAt.
210
203
  const existing = file.projects[idx];
211
204
  file.projects[idx] = {
212
205
  path: canonical,
213
- clients: dedupe([...existing.clients, ...clients]),
214
206
  installedAt: existing.installedAt.length > 0 ? existing.installedAt : now,
215
207
  };
216
208
  }
@@ -221,17 +213,12 @@ function upsertProject(projectDir, clients) {
221
213
  }
222
214
  }
223
215
  /**
224
- * Remove `clients` from a project entry. When the resulting `clients` list
225
- * is empty (every client uninstalled), the entry itself is dropped. When
226
- * `clients` is omitted, the entry is removed regardless of which clients
227
- * are recorded used by ad-hoc cleanup paths.
228
- *
229
- * Idempotent. Returns `true` when something was actually removed (entry
230
- * dropped or clients trimmed); `false` when there was nothing matching to
231
- * change. Lets callers like `ironbee unregister` distinguish "removed
232
- * vs. nothing-to-remove" without re-implementing the `pathMatches` lookup.
216
+ * Remove a project entry from the inventory entirely. Idempotent — returns
217
+ * `true` when an entry was removed, `false` when there was no matching entry.
218
+ * Lets callers like `ironbee unregister` distinguish "removed vs nothing to
219
+ * remove" without re-implementing the `pathMatches` lookup.
233
220
  */
234
- function removeProject(projectDir, clients) {
221
+ function removeProject(projectDir) {
235
222
  try {
236
223
  const canonical = canonicalizePath(projectDir);
237
224
  const file = loadRegistry();
@@ -239,26 +226,7 @@ function removeProject(projectDir, clients) {
239
226
  if (idx === -1) {
240
227
  return false;
241
228
  }
242
- if (clients === undefined || clients.length === 0) {
243
- file.projects.splice(idx, 1);
244
- }
245
- else {
246
- const existing = file.projects[idx];
247
- const remaining = existing.clients.filter((c) => !clients.includes(c));
248
- if (remaining.length === existing.clients.length) {
249
- // None of the requested clients were in the entry — nothing changed.
250
- return false;
251
- }
252
- if (remaining.length === 0) {
253
- file.projects.splice(idx, 1);
254
- }
255
- else {
256
- file.projects[idx] = {
257
- ...existing,
258
- clients: remaining,
259
- };
260
- }
261
- }
229
+ file.projects.splice(idx, 1);
262
230
  writeRegistry(file);
263
231
  return true;
264
232
  }
@@ -276,7 +244,4 @@ function removeProject(projectDir, clients) {
276
244
  function listProjects() {
277
245
  return loadRegistry().projects;
278
246
  }
279
- function dedupe(items) {
280
- return Array.from(new Set(items));
281
- }
282
247
  //# sourceMappingURL=projects-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"projects-registry.js","sourceRoot":"","sources":["../../src/lib/projects-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects-registry.js","sourceRoot":"","sources":["../../src/lib/projects-registry.ts"],"names":[],"mappings":"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"}