@aligndottech/cli 0.67.1 → 0.68.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 (109) hide show
  1. package/README.md +28 -7
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +5 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/capture.d.ts.map +1 -1
  6. package/dist/commands/capture.js +4 -0
  7. package/dist/commands/capture.js.map +1 -1
  8. package/dist/commands/check.d.ts +1 -5
  9. package/dist/commands/check.d.ts.map +1 -1
  10. package/dist/commands/check.js +1 -33
  11. package/dist/commands/check.js.map +1 -1
  12. package/dist/commands/default-action.d.ts.map +1 -1
  13. package/dist/commands/default-action.js +18 -7
  14. package/dist/commands/default-action.js.map +1 -1
  15. package/dist/commands/mcp.d.ts.map +1 -1
  16. package/dist/commands/mcp.js +2 -0
  17. package/dist/commands/mcp.js.map +1 -1
  18. package/dist/commands/setup.d.ts.map +1 -1
  19. package/dist/commands/setup.js +22 -13
  20. package/dist/commands/setup.js.map +1 -1
  21. package/dist/lib/agent/edit-gate.d.ts +30 -0
  22. package/dist/lib/agent/edit-gate.d.ts.map +1 -0
  23. package/dist/lib/agent/edit-gate.js +67 -0
  24. package/dist/lib/agent/edit-gate.js.map +1 -0
  25. package/dist/lib/agent/edit-text.d.ts +14 -0
  26. package/dist/lib/agent/edit-text.d.ts.map +1 -0
  27. package/dist/lib/agent/edit-text.js +34 -0
  28. package/dist/lib/agent/edit-text.js.map +1 -0
  29. package/dist/lib/agent/engines/claude-code-protocol.d.ts +24 -0
  30. package/dist/lib/agent/engines/claude-code-protocol.d.ts.map +1 -0
  31. package/dist/lib/agent/engines/claude-code-protocol.js +123 -0
  32. package/dist/lib/agent/engines/claude-code-protocol.js.map +1 -0
  33. package/dist/lib/agent/engines/claude-code.d.ts +17 -0
  34. package/dist/lib/agent/engines/claude-code.d.ts.map +1 -0
  35. package/dist/lib/agent/engines/claude-code.js +122 -0
  36. package/dist/lib/agent/engines/claude-code.js.map +1 -0
  37. package/dist/lib/agent/engines/pi-models.d.ts +46 -0
  38. package/dist/lib/agent/engines/pi-models.d.ts.map +1 -0
  39. package/dist/lib/agent/engines/pi-models.js +91 -0
  40. package/dist/lib/agent/engines/pi-models.js.map +1 -0
  41. package/dist/lib/agent/engines/pi-sdk.d.ts +39 -0
  42. package/dist/lib/agent/engines/pi-sdk.d.ts.map +1 -0
  43. package/dist/lib/agent/engines/pi-sdk.js +105 -0
  44. package/dist/lib/agent/engines/pi-sdk.js.map +1 -0
  45. package/dist/lib/agent/engines/pi.d.ts +44 -0
  46. package/dist/lib/agent/engines/pi.d.ts.map +1 -0
  47. package/dist/lib/agent/engines/pi.js +185 -0
  48. package/dist/lib/agent/engines/pi.js.map +1 -0
  49. package/dist/lib/agent/graph-tools.d.ts +23 -0
  50. package/dist/lib/agent/graph-tools.d.ts.map +1 -0
  51. package/dist/lib/agent/graph-tools.js +33 -0
  52. package/dist/lib/agent/graph-tools.js.map +1 -0
  53. package/dist/lib/agent/permission-broker.d.ts +25 -0
  54. package/dist/lib/agent/permission-broker.d.ts.map +1 -0
  55. package/dist/lib/agent/permission-broker.js +47 -0
  56. package/dist/lib/agent/permission-broker.js.map +1 -0
  57. package/dist/lib/agent/run-agent-session.d.ts +44 -0
  58. package/dist/lib/agent/run-agent-session.d.ts.map +1 -0
  59. package/dist/lib/agent/run-agent-session.js +137 -0
  60. package/dist/lib/agent/run-agent-session.js.map +1 -0
  61. package/dist/lib/agent/select-engine.d.ts +28 -0
  62. package/dist/lib/agent/select-engine.d.ts.map +1 -0
  63. package/dist/lib/agent/select-engine.js +14 -0
  64. package/dist/lib/agent/select-engine.js.map +1 -0
  65. package/dist/lib/agent/tui/app.d.ts +11 -0
  66. package/dist/lib/agent/tui/app.d.ts.map +1 -0
  67. package/dist/lib/agent/tui/app.js +122 -0
  68. package/dist/lib/agent/tui/app.js.map +1 -0
  69. package/dist/lib/agent/tui/cards.d.ts +16 -0
  70. package/dist/lib/agent/tui/cards.d.ts.map +1 -0
  71. package/dist/lib/agent/tui/cards.js +46 -0
  72. package/dist/lib/agent/tui/cards.js.map +1 -0
  73. package/dist/lib/agent/tui/controller.d.ts +21 -0
  74. package/dist/lib/agent/tui/controller.d.ts.map +1 -0
  75. package/dist/lib/agent/tui/controller.js +29 -0
  76. package/dist/lib/agent/tui/controller.js.map +1 -0
  77. package/dist/lib/agent/tui/theme.d.ts +11 -0
  78. package/dist/lib/agent/tui/theme.d.ts.map +1 -0
  79. package/dist/lib/agent/tui/theme.js +13 -0
  80. package/dist/lib/agent/tui/theme.js.map +1 -0
  81. package/dist/lib/agent/types.d.ts +81 -0
  82. package/dist/lib/agent/types.d.ts.map +1 -0
  83. package/dist/lib/agent/types.js +2 -0
  84. package/dist/lib/agent/types.js.map +1 -0
  85. package/dist/lib/config.d.ts +4 -0
  86. package/dist/lib/config.d.ts.map +1 -1
  87. package/dist/lib/config.js +17 -0
  88. package/dist/lib/config.js.map +1 -1
  89. package/dist/lib/doctor.d.ts +1 -1
  90. package/dist/lib/doctor.js +2 -2
  91. package/dist/lib/launch/mcp-child-env.js +1 -1
  92. package/dist/lib/launch/mcp-child-env.js.map +1 -1
  93. package/dist/lib/personal-import.d.ts +4 -0
  94. package/dist/lib/personal-import.d.ts.map +1 -1
  95. package/dist/lib/personal-import.js +4 -0
  96. package/dist/lib/personal-import.js.map +1 -1
  97. package/dist/lib/scope-real.d.ts +12 -0
  98. package/dist/lib/scope-real.d.ts.map +1 -1
  99. package/dist/lib/sync/real-env.d.ts +12 -0
  100. package/dist/lib/sync/real-env.d.ts.map +1 -1
  101. package/dist/lib/usage-telemetry.d.ts +1 -1
  102. package/dist/lib/usage-telemetry.d.ts.map +1 -1
  103. package/dist/lib/usage-telemetry.js +20 -2
  104. package/dist/lib/usage-telemetry.js.map +1 -1
  105. package/dist/lib/write-confirm.d.ts +13 -4
  106. package/dist/lib/write-confirm.d.ts.map +1 -1
  107. package/dist/lib/write-confirm.js +29 -10
  108. package/dist/lib/write-confirm.js.map +1 -1
  109. package/package.json +5 -2
@@ -5,6 +5,9 @@ export interface PlannedWrite {
5
5
  file: string;
6
6
  display: string;
7
7
  action: 'create' | 'modify';
8
+ /** 'user' is a file outside the project that every project on this machine reads
9
+ * (an agent's own config or user-level hook file). Listed under its own heading. Absent = project. */
10
+ scope?: 'project' | 'user';
8
11
  }
9
12
  /**
10
13
  * A path under home as `~/...` with forward slashes on every OS, so the list reads the same as the
@@ -27,7 +30,10 @@ export declare function planSetupWrites(opts: {
27
30
  * (agent-rules.ts, mcp-setup.ts), so it cannot be asked ahead of time without a second copy of the rule.
28
31
  */
29
32
  export declare const WRITE_PLAN_HEADING = "Align may create or change these files:";
30
- /** The list, one file per line. Plain text so the same lines print on a terminal and in a log. */
33
+ /** a change outside the project is said to be one, so nobody finds it later by surprise. */
34
+ export declare const USER_WIDE_HEADING = "Outside this project (user-wide, read by every project on this machine):";
35
+ /** The list, one file per line, project files first and user-wide files under their own heading.
36
+ * Plain text so the same lines print on a terminal and in a log. */
31
37
  export declare function renderWritePlan(files: PlannedWrite[]): string;
32
38
  /**
33
39
  * Shown with the list, before the question. `align use --undo` replays the write manifest, which
@@ -36,11 +42,14 @@ export declare function renderWritePlan(files: PlannedWrite[]): string;
36
42
  */
37
43
  export declare const WRITE_UNDO_LINE = "The first copy of any file that already exists is kept. Undo any time: align use --undo (it covers every file listed, project and agent config alike)";
38
44
  export declare const WRITE_CONFIRM_QUESTION = "Continue?";
45
+ /** printed instead of writing when nobody could be asked (no terminal) and nobody passed the flag. */
46
+ export declare const WRITE_NOT_APPROVED_LINE = "Nothing written: there is no terminal to ask in. Run align in a terminal, or pass --approve to allow these files.";
39
47
  /**
40
48
  * Show the list, then ask. The list prints on EVERY run, so a scripted run leaves a record of
41
- * what it touched. The question is asked only with a person at a terminal and without
42
- * --approve; otherwise the run goes ahead, as it did before the prompt existed.
43
- * Returns false only when the person says no (or cancels).
49
+ * what it touched. With a person at a terminal the question is asked; --approve is the yes for a
50
+ * scripted run. With no terminal and no --approve nobody said yes, so nothing is written
51
+ * (an agent running align in its own shell must not edit agent config unasked).
52
+ * Returns false when the person says no, cancels, or could not be asked.
44
53
  */
45
54
  export declare function confirmWrites(opts: {
46
55
  files: PlannedWrite[];
@@ -1 +1 @@
1
- {"version":3,"file":"write-confirm.d.ts","sourceRoot":"","sources":["../../src/lib/write-confirm.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAEnE,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,EAAE,CAgB7G;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,4CAA4C,CAAC;AAE5E,kGAAkG;AAClG,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAG7D;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,0JAA0J,CAAC;AAEvL,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAElD;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,qFAAqF;IACrF,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;CACxD,GAAG,OAAO,CAAC,OAAO,CAAC,CAKnB"}
1
+ {"version":3,"file":"write-confirm.d.ts","sourceRoot":"","sources":["../../src/lib/write-confirm.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAEnE,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B;2GACuG;IACvG,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,EAAE,CAsB7G;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,4CAA4C,CAAC;AAE5E,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,6EAA6E,CAAC;AAE5G;qEACqE;AACrE,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAM7D;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,0JAA0J,CAAC;AAEvL,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAElD,sGAAsG;AACtG,eAAO,MAAM,uBAAuB,sHAAsH,CAAC;AAE3J;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,qFAAqF;IACrF,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;CACxD,GAAG,OAAO,CAAC,OAAO,CAAC,CASnB"}
@@ -20,17 +20,23 @@ export function planSetupWrites(opts) {
20
20
  const home = opts.home ?? os.homedir();
21
21
  const out = [];
22
22
  const seen = new Set();
23
- const add = (abs, display, action) => {
23
+ const add = (abs, display, action, scope) => {
24
24
  if (seen.has(abs))
25
25
  return;
26
26
  seen.add(abs);
27
- out.push({ file: abs, display, action });
27
+ out.push({ file: abs, display, action, scope });
28
28
  };
29
+ const inProject = (abs) => {
30
+ const rel = path.relative(opts.cwd, abs);
31
+ return rel !== '..' && !rel.startsWith(`..${path.sep}`) && !path.isAbsolute(rel);
32
+ };
33
+ // Run from home itself, every agent's own config sits "inside" the cwd and is still user-wide.
34
+ const atHome = path.resolve(opts.cwd) === path.resolve(home);
29
35
  for (const { file, action } of planAgentAlignment(opts.cwd))
30
- add(path.join(opts.cwd, file), file, action);
36
+ add(path.join(opts.cwd, file), file, action, 'project');
31
37
  for (const editor of opts.editors) {
32
38
  for (const file of mcpConfigFiles(editor)) {
33
- add(file, homeDisplay(file, home), existsSync(file) ? 'modify' : 'create');
39
+ add(file, homeDisplay(file, home), existsSync(file) ? 'modify' : 'create', !atHome && inProject(file) ? 'project' : 'user');
34
40
  }
35
41
  }
36
42
  return out;
@@ -41,10 +47,16 @@ export function planSetupWrites(opts) {
41
47
  * (agent-rules.ts, mcp-setup.ts), so it cannot be asked ahead of time without a second copy of the rule.
42
48
  */
43
49
  export const WRITE_PLAN_HEADING = 'Align may create or change these files:';
44
- /** The list, one file per line. Plain text so the same lines print on a terminal and in a log. */
50
+ /** a change outside the project is said to be one, so nobody finds it later by surprise. */
51
+ export const USER_WIDE_HEADING = 'Outside this project (user-wide, read by every project on this machine):';
52
+ /** The list, one file per line, project files first and user-wide files under their own heading.
53
+ * Plain text so the same lines print on a terminal and in a log. */
45
54
  export function renderWritePlan(files) {
46
55
  const width = Math.max(...files.map((f) => f.action.length));
47
- return [WRITE_PLAN_HEADING, ...files.map((f) => ` ${f.action.padEnd(width)} ${f.display}`)].join('\n');
56
+ const line = (f) => ` ${f.action.padEnd(width)} ${f.display}`;
57
+ const project = files.filter((f) => f.scope !== 'user');
58
+ const user = files.filter((f) => f.scope === 'user');
59
+ return [WRITE_PLAN_HEADING, ...project.map(line), ...(user.length ? [USER_WIDE_HEADING, ...user.map(line)] : [])].join('\n');
48
60
  }
49
61
  /**
50
62
  * Shown with the list, before the question. `align use --undo` replays the write manifest, which
@@ -53,18 +65,25 @@ export function renderWritePlan(files) {
53
65
  */
54
66
  export const WRITE_UNDO_LINE = 'The first copy of any file that already exists is kept. Undo any time: align use --undo (it covers every file listed, project and agent config alike)';
55
67
  export const WRITE_CONFIRM_QUESTION = 'Continue?';
68
+ /** printed instead of writing when nobody could be asked (no terminal) and nobody passed the flag. */
69
+ export const WRITE_NOT_APPROVED_LINE = 'Nothing written: there is no terminal to ask in. Run align in a terminal, or pass --approve to allow these files.';
56
70
  /**
57
71
  * Show the list, then ask. The list prints on EVERY run, so a scripted run leaves a record of
58
- * what it touched. The question is asked only with a person at a terminal and without
59
- * --approve; otherwise the run goes ahead, as it did before the prompt existed.
60
- * Returns false only when the person says no (or cancels).
72
+ * what it touched. With a person at a terminal the question is asked; --approve is the yes for a
73
+ * scripted run. With no terminal and no --approve nobody said yes, so nothing is written
74
+ * (an agent running align in its own shell must not edit agent config unasked).
75
+ * Returns false when the person says no, cancels, or could not be asked.
61
76
  */
62
77
  export async function confirmWrites(opts) {
63
78
  if (opts.files.length === 0)
64
79
  return true;
65
80
  opts.print(`${renderWritePlan(opts.files)}\n${WRITE_UNDO_LINE}`);
66
- if (!opts.interactive || opts.approve)
81
+ if (opts.approve)
67
82
  return true;
83
+ if (!opts.interactive) {
84
+ opts.print(WRITE_NOT_APPROVED_LINE);
85
+ return false;
86
+ }
68
87
  return (await opts.ask(WRITE_CONFIRM_QUESTION)) === true;
69
88
  }
70
89
  //# sourceMappingURL=write-confirm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-confirm.js","sourceRoot":"","sources":["../../src/lib/write-confirm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAqB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUnE;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,IAAY;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAA6D;IAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACvC,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,OAAe,EAAE,MAA2B,EAAE,EAAE;QACxE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1G,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,yCAAyC,CAAC;AAE5E,kGAAkG;AAClG,MAAM,UAAU,eAAe,CAAC,KAAqB;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,kBAAkB,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3G,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,uJAAuJ,CAAC;AAEvL,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAOnC;IACC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,eAAe,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,IAAI,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"write-confirm.js","sourceRoot":"","sources":["../../src/lib/write-confirm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aligndottech/cli",
3
- "version": "0.67.1",
3
+ "version": "0.68.0",
4
4
  "mcpName": "io.github.aligndottech/cli",
5
5
  "type": "module",
6
6
  "description": "Align CLI - capture decisions, check alignment, and manage connectors",
@@ -37,6 +37,7 @@
37
37
  "dependencies": {
38
38
  "@aligndottech/connector-core": "^0.10.1",
39
39
  "@clack/prompts": "^1.7.0",
40
+ "@earendil-works/pi-tui": "1.5.0",
40
41
  "@huggingface/tokenizers": "0.2.0",
41
42
  "@modelcontextprotocol/sdk": "^1.29.0",
42
43
  "chalk": "^5.3.0",
@@ -53,6 +54,8 @@
53
54
  "uqr": "0.1.3"
54
55
  },
55
56
  "devDependencies": {
57
+ "@earendil-works/pi-ai": "1.5.0",
58
+ "@earendil-works/pi-coding-agent": "1.5.0",
56
59
  "@eslint/js": "^9.0.0",
57
60
  "@huggingface/transformers": "^4.2.0",
58
61
  "@types/eventsource": "^1.1.15",
@@ -80,7 +83,7 @@
80
83
  "onnxruntime-node": "1.30.0"
81
84
  },
82
85
  "engines": {
83
- "node": ">=22.16"
86
+ "node": ">=22.19"
84
87
  },
85
88
  "publishConfig": {
86
89
  "access": "public"