@namzu/cli 14.2.0 → 14.3.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 (88) hide show
  1. package/README.md +31 -7
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +7 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/login.d.ts +21 -3
  6. package/dist/commands/login.d.ts.map +1 -1
  7. package/dist/commands/login.js +33 -21
  8. package/dist/commands/login.js.map +1 -1
  9. package/dist/commands/prior-messages.d.ts.map +1 -1
  10. package/dist/commands/prior-messages.js +13 -4
  11. package/dist/commands/prior-messages.js.map +1 -1
  12. package/dist/commands/upgrade.d.ts +25 -0
  13. package/dist/commands/upgrade.d.ts.map +1 -0
  14. package/dist/commands/upgrade.js +182 -0
  15. package/dist/commands/upgrade.js.map +1 -0
  16. package/dist/context/runtime-message.d.ts +4 -0
  17. package/dist/context/runtime-message.d.ts.map +1 -0
  18. package/dist/context/runtime-message.js +20 -0
  19. package/dist/context/runtime-message.js.map +1 -0
  20. package/dist/integrations/providers/identity.d.ts +16 -21
  21. package/dist/integrations/providers/identity.d.ts.map +1 -1
  22. package/dist/integrations/providers/identity.js +16 -21
  23. package/dist/integrations/providers/identity.js.map +1 -1
  24. package/dist/integrations/providers/index.d.ts +1 -1
  25. package/dist/integrations/providers/index.d.ts.map +1 -1
  26. package/dist/integrations/providers/index.js +1 -1
  27. package/dist/integrations/providers/index.js.map +1 -1
  28. package/dist/integrations/providers/subscription-login.d.ts +7 -41
  29. package/dist/integrations/providers/subscription-login.d.ts.map +1 -1
  30. package/dist/integrations/providers/subscription-login.js +16 -143
  31. package/dist/integrations/providers/subscription-login.js.map +1 -1
  32. package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
  33. package/dist/integrations/sessions/transcript-export.js +10 -1
  34. package/dist/integrations/sessions/transcript-export.js.map +1 -1
  35. package/dist/integrations/sessions/turn-evidence.d.ts.map +1 -1
  36. package/dist/integrations/sessions/turn-evidence.js +9 -1
  37. package/dist/integrations/sessions/turn-evidence.js.map +1 -1
  38. package/dist/integrations/updates.d.ts +7 -1
  39. package/dist/integrations/updates.d.ts.map +1 -1
  40. package/dist/integrations/updates.js +59 -21
  41. package/dist/integrations/updates.js.map +1 -1
  42. package/dist/tui/App.d.ts +3 -1
  43. package/dist/tui/App.d.ts.map +1 -1
  44. package/dist/tui/App.js +287 -96
  45. package/dist/tui/App.js.map +1 -1
  46. package/dist/tui/Composer.d.ts +15 -5
  47. package/dist/tui/Composer.d.ts.map +1 -1
  48. package/dist/tui/Composer.js +73 -8
  49. package/dist/tui/Composer.js.map +1 -1
  50. package/dist/tui/LiveActivity.d.ts +3 -0
  51. package/dist/tui/LiveActivity.d.ts.map +1 -1
  52. package/dist/tui/LiveActivity.js +4 -1
  53. package/dist/tui/LiveActivity.js.map +1 -1
  54. package/dist/tui/Picker.d.ts +4 -2
  55. package/dist/tui/Picker.d.ts.map +1 -1
  56. package/dist/tui/Picker.js +136 -16
  57. package/dist/tui/Picker.js.map +1 -1
  58. package/dist/tui/StatusBar.d.ts +1 -1
  59. package/dist/tui/StatusBar.d.ts.map +1 -1
  60. package/dist/tui/StatusBar.js +8 -5
  61. package/dist/tui/StatusBar.js.map +1 -1
  62. package/dist/tui/Transcript.d.ts +3 -1
  63. package/dist/tui/Transcript.d.ts.map +1 -1
  64. package/dist/tui/Transcript.js +2 -2
  65. package/dist/tui/Transcript.js.map +1 -1
  66. package/dist/tui/agent.d.ts +15 -0
  67. package/dist/tui/agent.d.ts.map +1 -1
  68. package/dist/tui/agent.js +17 -0
  69. package/dist/tui/agent.js.map +1 -1
  70. package/dist/tui/exit-summary.d.ts +6 -0
  71. package/dist/tui/exit-summary.d.ts.map +1 -0
  72. package/dist/tui/exit-summary.js +8 -0
  73. package/dist/tui/exit-summary.js.map +1 -0
  74. package/dist/tui/index.d.ts.map +1 -1
  75. package/dist/tui/index.js +15 -6
  76. package/dist/tui/index.js.map +1 -1
  77. package/dist/tui/log-pane.d.ts +13 -8
  78. package/dist/tui/log-pane.d.ts.map +1 -1
  79. package/dist/tui/log-pane.js +23 -29
  80. package/dist/tui/log-pane.js.map +1 -1
  81. package/dist/tui/login-prompt.d.ts +0 -1
  82. package/dist/tui/login-prompt.d.ts.map +1 -1
  83. package/dist/tui/login-prompt.js +1 -6
  84. package/dist/tui/login-prompt.js.map +1 -1
  85. package/dist/tui/open-browser.d.ts.map +1 -1
  86. package/dist/tui/open-browser.js +27 -9
  87. package/dist/tui/open-browser.js.map +1 -1
  88. package/package.json +7 -7
@@ -21,22 +21,40 @@
21
21
  * start and this says so, which is the case the paste path exists for.
22
22
  */
23
23
  import { spawn } from 'node:child_process';
24
+ import { constants, accessSync } from 'node:fs';
24
25
  import { platform } from 'node:os';
25
- import { join } from 'node:path';
26
+ import { delimiter, isAbsolute, join } from 'node:path';
27
+ /** Resolve a launcher before claiming that one started. */
28
+ function executableOnPath(name) {
29
+ for (const directory of (process.env.PATH ?? '').split(delimiter)) {
30
+ // An empty or relative PATH member delegates executable authority to the
31
+ // project cwd. Opening an OAuth URL must never run a project-owned helper.
32
+ if (!directory || !isAbsolute(directory))
33
+ continue;
34
+ const candidate = join(directory, name);
35
+ try {
36
+ accessSync(candidate, constants.X_OK);
37
+ return candidate;
38
+ }
39
+ catch {
40
+ // Keep looking. PATH order remains the operator's host policy.
41
+ }
42
+ }
43
+ return null;
44
+ }
26
45
  export function openInBrowser(url) {
27
46
  // Refuse anything that is not a web address. This is handed to the
28
47
  // machine's protocol handler, and `file:` or a custom scheme reaching it
29
48
  // would be this function opening something nobody named.
30
49
  if (!/^https?:\/\//i.test(url))
31
50
  return false;
32
- const [command, args] = platform() === 'darwin'
33
- ? ['open', [url]]
34
- : platform() === 'win32'
35
- ? [
36
- join(process.env.SystemRoot ?? 'C:\\Windows', 'System32', 'rundll32.exe'),
37
- ['url.dll,FileProtocolHandler', url],
38
- ]
39
- : ['xdg-open', [url]];
51
+ const currentPlatform = platform();
52
+ const command = currentPlatform === 'win32'
53
+ ? join(process.env.SystemRoot ?? 'C:\\Windows', 'System32', 'rundll32.exe')
54
+ : executableOnPath(currentPlatform === 'darwin' ? 'open' : 'xdg-open');
55
+ if (!command)
56
+ return false;
57
+ const args = currentPlatform === 'win32' ? ['url.dll,FileProtocolHandler', url] : [url];
40
58
  try {
41
59
  const child = spawn(command, args, {
42
60
  stdio: 'ignore',
@@ -1 +1 @@
1
- {"version":3,"file":"open-browser.js","sourceRoot":"","sources":["../../src/tui/open-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,UAAU,aAAa,CAAC,GAAW;IACxC,mEAAmE;IACnE,yEAAyE;IACzE,yDAAyD;IACzD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAE5C,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GACpB,QAAQ,EAAE,KAAK,QAAQ;QACtB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC,CAAC,QAAQ,EAAE,KAAK,OAAO;YACvB,CAAC,CAAC;gBACA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC;gBACzE,CAAC,6BAA6B,EAAE,GAAG,CAAC;aACpC;YACF,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IAExB,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,KAAK,CAAC,OAAiB,EAAE,IAAgB,EAAE;YACxD,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,IAAI;SACd,CAAC,CAAA;QACF,oEAAoE;QACpE,sEAAsE;QACtE,uEAAuE;QACvE,+DAA+D;QAC/D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC3B,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,OAAO,IAAI,CAAA;IACZ,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"open-browser.js","sourceRoot":"","sources":["../../src/tui/open-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEvD,2DAA2D;AAC3D,SAAS,gBAAgB,CAAC,IAAY;IACrC,KAAK,MAAM,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACnE,yEAAyE;QACzE,2EAA2E;QAC3E,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAQ;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC;YACJ,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;YACrC,OAAO,SAAS,CAAA;QACjB,CAAC;QAAC,MAAM,CAAC;YACR,+DAA+D;QAChE,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW;IACxC,mEAAmE;IACnE,yEAAyE;IACzE,yDAAyD;IACzD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAE5C,MAAM,eAAe,GAAG,QAAQ,EAAE,CAAA;IAClC,MAAM,OAAO,GACZ,eAAe,KAAK,OAAO;QAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC;QAC3E,CAAC,CAAC,gBAAgB,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IACxE,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAC1B,MAAM,IAAI,GAAG,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAEvF,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YAClC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,IAAI;SACd,CAAC,CAAA;QACF,oEAAoE;QACpE,sEAAsE;QACtE,uEAAuE;QACvE,+DAA+D;QAC/D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC3B,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,OAAO,IAAI,CAAA;IACZ,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namzu/cli",
3
- "version": "14.2.0",
3
+ "version": "14.3.0",
4
4
  "description": "Interactive and headless terminal agent for Namzu, with provider discovery, durable sessions, tools and diagnostics.",
5
5
  "keywords": [
6
6
  "namzu",
@@ -41,16 +41,16 @@
41
41
  ],
42
42
  "dependencies": {
43
43
  "commander": "^14.0.3",
44
- "ink": "^7.0.3",
45
- "react": "^19.2.6",
44
+ "ink": "7.0.3",
45
+ "react": "19.2.6",
46
46
  "yaml": "^2.9.0",
47
- "@namzu/anthropic": "4.0.0",
48
- "@namzu/files": "1.1.0",
47
+ "@namzu/deepseek": "^1.1.0",
49
48
  "@namzu/ollama": "2.2.1",
49
+ "@namzu/files": "1.1.0",
50
50
  "@namzu/openai": "1.5.0",
51
- "@namzu/deepseek": "^1.1.0",
51
+ "@namzu/anthropic": "4.0.1",
52
52
  "@namzu/openrouter": "2.3.1",
53
- "@namzu/sdk": "^31.1.0"
53
+ "@namzu/sdk": "^32.0.0"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@biomejs/biome": "^1.9.4",