@undefineds.co/linx 0.2.19 → 0.2.24

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 (125) hide show
  1. package/README.md +23 -21
  2. package/dist/index.js +93 -142
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/ai-command.js +34 -30
  5. package/dist/lib/ai-command.js.map +1 -1
  6. package/dist/lib/auto-mode/archive.js +235 -0
  7. package/dist/lib/auto-mode/archive.js.map +1 -0
  8. package/dist/lib/{watch → auto-mode}/auth.js +6 -6
  9. package/dist/lib/auto-mode/auth.js.map +1 -0
  10. package/dist/lib/{watch → auto-mode}/codex-composer.js +1 -1
  11. package/dist/lib/auto-mode/codex-composer.js.map +1 -0
  12. package/dist/lib/auto-mode/codex-footer.js.map +1 -0
  13. package/dist/lib/auto-mode/codex-overlay.js.map +1 -0
  14. package/dist/lib/{watch → auto-mode}/codex-request-form.js +2 -2
  15. package/dist/lib/auto-mode/codex-request-form.js.map +1 -0
  16. package/dist/lib/auto-mode/codex-request-input.js.map +1 -0
  17. package/dist/lib/{watch → auto-mode}/display.js +63 -57
  18. package/dist/lib/auto-mode/display.js.map +1 -0
  19. package/dist/lib/{watch → auto-mode}/format.js +24 -16
  20. package/dist/lib/auto-mode/format.js.map +1 -0
  21. package/dist/lib/{watch → auto-mode}/hooks/claude.js +3 -2
  22. package/dist/lib/auto-mode/hooks/claude.js.map +1 -0
  23. package/dist/lib/{watch → auto-mode}/hooks/codebuddy.js +3 -2
  24. package/dist/lib/auto-mode/hooks/codebuddy.js.map +1 -0
  25. package/dist/lib/auto-mode/hooks/codex.js +18 -0
  26. package/dist/lib/auto-mode/hooks/codex.js.map +1 -0
  27. package/dist/lib/auto-mode/hooks/index.js +27 -0
  28. package/dist/lib/auto-mode/hooks/index.js.map +1 -0
  29. package/dist/lib/auto-mode/hooks/shared.js.map +1 -0
  30. package/dist/lib/auto-mode/index.js.map +1 -0
  31. package/dist/lib/auto-mode/pod-ai.js +116 -0
  32. package/dist/lib/auto-mode/pod-ai.js.map +1 -0
  33. package/dist/lib/{watch → auto-mode}/pod-approval.js +495 -325
  34. package/dist/lib/auto-mode/pod-approval.js.map +1 -0
  35. package/dist/lib/auto-mode/pod-persistence.js +412 -0
  36. package/dist/lib/auto-mode/pod-persistence.js.map +1 -0
  37. package/dist/lib/{watch → auto-mode}/runner.js +280 -193
  38. package/dist/lib/auto-mode/runner.js.map +1 -0
  39. package/dist/lib/{watch → auto-mode}/secretary.js +8 -8
  40. package/dist/lib/auto-mode/secretary.js.map +1 -0
  41. package/dist/lib/{watch → auto-mode}/types.js.map +1 -1
  42. package/dist/lib/auto-mode-command.js +114 -0
  43. package/dist/lib/auto-mode-command.js.map +1 -0
  44. package/dist/lib/codex-plugin/bridge.js +11 -12
  45. package/dist/lib/codex-plugin/bridge.js.map +1 -1
  46. package/dist/lib/codex-plugin/codex-native-proxy.js +11 -12
  47. package/dist/lib/codex-plugin/codex-native-proxy.js.map +1 -1
  48. package/dist/lib/linx-tui-contract.js +26 -0
  49. package/dist/lib/linx-tui-contract.js.map +1 -0
  50. package/dist/lib/login-command.js +9 -3
  51. package/dist/lib/login-command.js.map +1 -1
  52. package/dist/lib/models.js +2 -2
  53. package/dist/lib/models.js.map +1 -1
  54. package/dist/lib/oidc-auth.js +83 -104
  55. package/dist/lib/oidc-auth.js.map +1 -1
  56. package/dist/lib/oidc-session-storage.js +7 -1
  57. package/dist/lib/oidc-session-storage.js.map +1 -1
  58. package/dist/lib/pi-adapter/auth.js +9 -15
  59. package/dist/lib/pi-adapter/auth.js.map +1 -1
  60. package/dist/lib/pi-adapter/branding.js +14 -44
  61. package/dist/lib/pi-adapter/branding.js.map +1 -1
  62. package/dist/lib/pi-adapter/interactive.js +19 -23
  63. package/dist/lib/pi-adapter/interactive.js.map +1 -1
  64. package/dist/lib/pi-adapter/pod-approval.js +239 -1
  65. package/dist/lib/pi-adapter/pod-approval.js.map +1 -1
  66. package/dist/lib/pi-adapter/pod-mirror.js +64 -59
  67. package/dist/lib/pi-adapter/pod-mirror.js.map +1 -1
  68. package/dist/lib/pi-adapter/pod-native.js +479 -0
  69. package/dist/lib/pi-adapter/pod-native.js.map +1 -0
  70. package/dist/lib/pi-adapter/pod-tools.js +76 -40
  71. package/dist/lib/pi-adapter/pod-tools.js.map +1 -1
  72. package/dist/lib/pi-adapter/runtime.js +11 -66
  73. package/dist/lib/pi-adapter/runtime.js.map +1 -1
  74. package/dist/lib/pi-adapter/session.js +276 -33
  75. package/dist/lib/pi-adapter/session.js.map +1 -1
  76. package/dist/lib/pi-adapter/stream.js.map +1 -1
  77. package/dist/lib/pi-adapter/web-fetch.js +47 -30
  78. package/dist/lib/pi-adapter/web-fetch.js.map +1 -1
  79. package/dist/lib/pod-chat-store.js +36 -38
  80. package/dist/lib/pod-chat-store.js.map +1 -1
  81. package/dist/lib/pod-data-session.js +97 -30
  82. package/dist/lib/pod-data-session.js.map +1 -1
  83. package/package.json +3 -3
  84. package/vendor/agent-runtime/dist/auto-mode.d.ts +287 -0
  85. package/vendor/agent-runtime/dist/auto-mode.js +1498 -0
  86. package/vendor/agent-runtime/dist/index.d.ts +2 -0
  87. package/vendor/agent-runtime/dist/index.js +2 -0
  88. package/vendor/agent-runtime/dist/runtime.d.ts +47 -0
  89. package/vendor/agent-runtime/dist/runtime.js +36 -0
  90. package/vendor/agent-runtime/dist/turn-controller.d.ts +4 -4
  91. package/vendor/agent-runtime/dist/turn-controller.js +7 -7
  92. package/vendor/agent-runtime/package.json +2 -0
  93. package/dist/lib/watch/archive.js +0 -110
  94. package/dist/lib/watch/archive.js.map +0 -1
  95. package/dist/lib/watch/auth.js.map +0 -1
  96. package/dist/lib/watch/codex-composer.js.map +0 -1
  97. package/dist/lib/watch/codex-footer.js.map +0 -1
  98. package/dist/lib/watch/codex-overlay.js.map +0 -1
  99. package/dist/lib/watch/codex-request-form.js.map +0 -1
  100. package/dist/lib/watch/codex-request-input.js.map +0 -1
  101. package/dist/lib/watch/display.js.map +0 -1
  102. package/dist/lib/watch/format.js.map +0 -1
  103. package/dist/lib/watch/hooks/claude.js.map +0 -1
  104. package/dist/lib/watch/hooks/codebuddy.js.map +0 -1
  105. package/dist/lib/watch/hooks/codex.js +0 -17
  106. package/dist/lib/watch/hooks/codex.js.map +0 -1
  107. package/dist/lib/watch/hooks/index.js +0 -24
  108. package/dist/lib/watch/hooks/index.js.map +0 -1
  109. package/dist/lib/watch/hooks/shared.js.map +0 -1
  110. package/dist/lib/watch/index.js.map +0 -1
  111. package/dist/lib/watch/pod-ai.js +0 -160
  112. package/dist/lib/watch/pod-ai.js.map +0 -1
  113. package/dist/lib/watch/pod-approval.js.map +0 -1
  114. package/dist/lib/watch/pod-persistence.js +0 -334
  115. package/dist/lib/watch/pod-persistence.js.map +0 -1
  116. package/dist/lib/watch/runner.js.map +0 -1
  117. package/dist/lib/watch/secretary.js.map +0 -1
  118. package/dist/watch-cli.js +0 -116
  119. package/dist/watch-cli.js.map +0 -1
  120. /package/dist/lib/{watch → auto-mode}/codex-footer.js +0 -0
  121. /package/dist/lib/{watch → auto-mode}/codex-overlay.js +0 -0
  122. /package/dist/lib/{watch → auto-mode}/codex-request-input.js +0 -0
  123. /package/dist/lib/{watch → auto-mode}/hooks/shared.js +0 -0
  124. /package/dist/lib/{watch → auto-mode}/index.js +0 -0
  125. /package/dist/lib/{watch → auto-mode}/types.js +0 -0
package/README.md CHANGED
@@ -38,13 +38,14 @@ yarn workspace @undefineds.co/linx dev
38
38
  # 继续最近一次 thread
39
39
  yarn workspace @undefineds.co/linx dev chat --continue
40
40
 
41
- # 本地 watch(多轮 REPL + 结构化留档)
42
- yarn workspace @undefineds.co/linx dev watch run codex
43
- yarn workspace @undefineds.co/linx dev watch run claude "先总结这个目录的职责"
44
- yarn workspace @undefineds.co/linx dev watch run codebuddy -- --tools Read,Edit
45
- yarn workspace @undefineds.co/linx dev watch backends
46
- yarn workspace @undefineds.co/linx dev watch sessions
47
- yarn workspace @undefineds.co/linx dev watch show <sessionId>
41
+ # 选择外部 agent backend 后进入多轮控制界面
42
+ yarn workspace @undefineds.co/linx dev --backend codex
43
+ yarn workspace @undefineds.co/linx dev --backend claude "先总结这个目录的职责"
44
+ yarn workspace @undefineds.co/linx dev --backend codebuddy -- --tools Read,Edit
45
+ yarn workspace @undefineds.co/linx dev --backend codex --auto
46
+ yarn workspace @undefineds.co/linx dev --list-backends
47
+ yarn workspace @undefineds.co/linx dev --sessions
48
+ yarn workspace @undefineds.co/linx dev --show <sessionId>
48
49
  ```
49
50
 
50
51
  ## Slash Commands
@@ -62,27 +63,28 @@ yarn workspace @undefineds.co/linx dev watch show <sessionId>
62
63
 
63
64
  1. `~/.linx/config.json` + `~/.linx/secrets.json`
64
65
 
65
- ## Local Watch Notes
66
+ ## Backend Control Notes
66
67
 
67
- - `watch run` 当前直接依赖本机已经安装好的 `codex` / `claude` / `codebuddy`
68
- - 如果当前终端对全屏重绘支持不好,可加 `--plain`(等价于 `LINX_WATCH_PLAIN=1`)关闭全屏 TUI,改用线性输出
69
- - LinX 负责统一 `manual | smart | auto` 模式,并把会话元数据写到 `~/.linx/watch/sessions/`
70
- - `--credential-source local|cloud|auto` 只决定凭据来源;`watch` 当前运行时始终是本地,不会因为选 cloud credential source 就切成 cloud runtime
71
- - `--credential-source cloud` 当前可显式用于 `codex` / `claude` / `codebuddy`,前提是对应 API key 已写进 Pod
72
- - 单本地会话时,approval 主路径是在当前 watch TUI 内直接处理;不会依赖额外的 approval inbox
73
- - 默认人工审批同时支持当前本地 watch Pod 远端控制面,谁先决策谁生效;低上下文的 CLI approval inbox 命令已移除,远端审批队列由 App/Inbox 承载
68
+ - Design contract: see [`docs/backend-pod-contract.md`](../../docs/backend-pod-contract.md)
69
+ - `--backend <backend>` 当前直接依赖本机已经安装好的 `codex` / `claude` / `codebuddy`
70
+ - 如果当前终端对全屏重绘支持不好,可加 `--plain`(等价于 `LINX_BACKEND_PLAIN=1`)关闭全屏 TUI,改用线性输出
71
+ - LinX 负责统一 `manual | smart | auto` 审批模式,并把会话元数据写到 `~/.linx/backend/sessions/`
72
+ - 进入默认是 `manual`;可用 `--auto` 直接启用自动审批,或进入后用 `/manual`、`/smart`、`/auto` 切换
73
+ - backend 凭据只从 Pod AI 配置读取;本地只保存 LinX/Solid auth,不提供 `credential-source` 选择
74
+ - 单本地会话时,approval 主路径是在当前 backend 控制界面内直接处理;不会依赖额外的 approval inbox
75
+ - 默认人工审批同时支持当前本地 backend 控制界面和 Pod 远端控制面,谁先决策谁生效;低上下文的 CLI approval inbox 命令已移除,远端审批队列由 App/Inbox 承载
74
76
  - 如果本地已 `linx login`,LinX 会把 pending approval 写进 Pod 的 `approval / audit / inbox_notification`,供 App/Inbox 读取和处理
75
77
  - 当前是最小多轮版:本地 REPL、统一 ACP 会话、归档结构化事件
76
- - 在交互式 TTY 里,`watch run` 会默认进入全屏 TUI;非 TTY / 管道输出会自动降级到 plain mode
77
- - `linx watch show <sessionId>` 现在会回放归档 timeline,而不是直接输出 `session.json`
78
+ - 在交互式 TTY 里,`--backend ...` 会默认进入全屏 TUI;非 TTY / 管道输出会自动降级到 plain mode
79
+ - `linx --show <sessionId>` 现在会回放归档 timeline,而不是直接输出 `session.json`
78
80
  - `codex` 走 `codex-acp`,`claude` 走 `claude-code-acp`,`codebuddy` 走内置 `--acp --acp-transport stdio`
79
- - 当前 `linx watch run codex` 的前台仍是 LinX watch TUI,不是 Codex 原生 TUI;真正执行任务与工具调用的是 `codex-acp`
80
- - Codex 原生壳相关集成不放在 LinX watch 壳里维护;后台桥接能力位于 `apps/cli/src/lib/codex-plugin/*`,按 plugin/sidecar 语义组织
81
+ - 当前 `linx --backend codex` 的前台是 Codex 控制界面;真正执行任务与工具调用的是 `codex-acp`
82
+ - Codex 原生壳相关集成不放在 backend 控制界面里维护;后台桥接能力位于 `apps/cli/src/lib/codex-plugin/*`,按 plugin/sidecar 语义组织
81
83
  - LinX 不再维护各家 native / 非 ACP JSON 输出兼容层,统一按 ACP 处理多轮会话、权限请求和结构化输入
82
- - 仓库内 `yarn workspace @undefineds.co/linx dev watch ...` 不再依赖 `tsx`,会直接编译并运行独立 watch 入口
84
+ - 仓库内 `yarn workspace @undefineds.co/linx dev --backend ...` 不再依赖 `tsx`,会直接编译并运行主 CLI 入口
83
85
  - `--` 后面的参数会原样透传给对应后端 CLI
84
86
  - 当前只支持 `local runtime + remote approval`;不支持本地 runtime 退出后由云端接管执行
85
87
 
86
88
  ## TODO
87
89
 
88
- - blocked by xpod: `watch --runtime cloud`
90
+ - blocked by xpod: cloud-hosted backend runtime
package/dist/index.js CHANGED
@@ -9,16 +9,17 @@ import { loadCredentials } from './lib/credentials-store.js';
9
9
  import { loginCommand, logoutCommand, whoamiCommand } from './lib/login-command.js';
10
10
  import { DefaultPackageManager, SettingsManager, runPrintMode } from '@mariozechner/pi-coding-agent';
11
11
  import { promptText } from './lib/prompt.js';
12
+ import { buildAutoModeOptions, isAutoModeRequest, runAutoModeCommand, } from './lib/auto-mode-command.js';
13
+ import { formatAutoModeSessionSummary, listArchivedAutoModeSessions, loadArchivedAutoModeSession, resumeAutoModeSession, } from './lib/auto-mode/index.js';
12
14
  import { resolveRuntimeTarget } from './lib/runtime-target.js';
13
15
  import { createCodexNativeProxy } from './lib/codex-plugin/index.js';
14
16
  import { bootstrapPiInteractiveMode, createPiRuntimeAdapter, resolveLinxInteractiveLoginReason, resolveLinxStartupLoginPromptDecision } from './lib/pi-adapter/index.js';
15
17
  import { isOidcLoginExpiredError } from './lib/oidc-auth.js';
16
18
  import { createPodDataSession } from './lib/pod-data-session.js';
17
19
  import { DEFAULT_LINX_CLOUD_MODEL_ID, FALLBACK_LINX_CLOUD_MODEL_IDS } from './lib/default-model.js';
18
- import { createLinxPiSessionManager, formatLinxPiSessionSummary, listLinxPiSessions, } from './lib/pi-adapter/session.js';
20
+ import { createLinxPiSessionManager, formatLinxPiSessionSummary, listLinxPiSessions, resolveLinxPiSession, } from './lib/pi-adapter/session.js';
19
21
  import { LinxPiPodMirror } from './lib/pi-adapter/pod-mirror.js';
20
22
  import { LINX_AGENT_DIR } from './lib/pi-adapter/branding.js';
21
- import { formatArchivedWatchSession, formatWatchSessionSummary, loadArchivedWatchEvents, listArchivedWatchSessions, listSupportedWatchBackends, loadArchivedWatchSession, runWatch, } from './lib/watch/index.js';
22
23
  function readPackageVersion() {
23
24
  try {
24
25
  const raw = readFileSync(new URL('../package.json', import.meta.url), 'utf-8');
@@ -258,7 +259,16 @@ function printConfiguredLinxPackages(packageManager) {
258
259
  printGroup('Project packages', configuredPackages.filter((pkg) => pkg.scope === 'project'));
259
260
  }
260
261
  async function runPiCommand(argv) {
261
- const backend = argv.backend ?? 'cloud';
262
+ const firstPromptToken = Array.isArray(argv.prompt) ? argv.prompt[0] : undefined;
263
+ // Reject old command aliases explicitly; auto-mode is only selected through flags.
264
+ if (firstPromptToken === 'automode' || firstPromptToken === 'watch') {
265
+ throw new Error(`Unknown command: ${firstPromptToken}`);
266
+ }
267
+ if (isAutoModeRequest(argv)) {
268
+ await runAutoModeCommand(argv);
269
+ return;
270
+ }
271
+ const backend = 'cloud';
262
272
  const startupLoginPrompt = await resolveLinxStartupLoginPromptDecision({
263
273
  backend,
264
274
  print: argv.print,
@@ -345,8 +355,78 @@ async function runPiCommand(argv) {
345
355
  await adapter.close();
346
356
  }
347
357
  }
358
+ async function runResumeCommand(argv) {
359
+ const cwd = typeof argv.cwd === 'string' ? argv.cwd : process.cwd();
360
+ const session = typeof argv.session === 'string' ? argv.session : undefined;
361
+ const piSessions = await listLinxPiSessions(cwd, LINX_AGENT_DIR);
362
+ const autoModeSessions = listArchivedAutoModeSessions();
363
+ if (!session && !argv.last) {
364
+ if (piSessions.length === 0 && autoModeSessions.length === 0) {
365
+ process.stdout.write('No LinX sessions found.\n');
366
+ return;
367
+ }
368
+ if (piSessions.length > 0) {
369
+ process.stdout.write('LinX sessions:\n');
370
+ process.stdout.write(`${piSessions.map((item) => ` ${formatLinxPiSessionSummary(item)}`).join('\n')}\n`);
371
+ }
372
+ if (autoModeSessions.length > 0) {
373
+ process.stdout.write('Auto-mode sessions:\n');
374
+ process.stdout.write(`${autoModeSessions.map((item) => ` ${formatAutoModeSessionSummary(item)}`).join('\n')}\n`);
375
+ }
376
+ return;
377
+ }
378
+ if (argv.last && !session) {
379
+ const latestPi = piSessions[0];
380
+ const latestAutoMode = autoModeSessions[0];
381
+ const latestPiTime = latestPi?.modified.getTime() ?? 0;
382
+ const latestAutoModeTime = latestAutoMode ? Date.parse(latestAutoMode.endedAt ?? latestAutoMode.startedAt) : 0;
383
+ if (latestAutoMode && latestAutoModeTime > latestPiTime) {
384
+ const exitCode = await resumeAutoModeSession(latestAutoMode, {
385
+ cwd,
386
+ model: argv.model,
387
+ });
388
+ if (exitCode !== 0) {
389
+ process.exitCode = exitCode;
390
+ }
391
+ return;
392
+ }
393
+ }
394
+ if (session) {
395
+ try {
396
+ await resolveLinxPiSession(session, cwd, undefined);
397
+ await runPiCommand({
398
+ cwd,
399
+ model: typeof argv.model === 'string' ? argv.model : undefined,
400
+ 'runtime-url': typeof argv['runtime-url'] === 'string' ? argv['runtime-url'] : undefined,
401
+ session,
402
+ last: false,
403
+ });
404
+ return;
405
+ }
406
+ catch {
407
+ const autoModeSession = loadArchivedAutoModeSession(session);
408
+ if (autoModeSession) {
409
+ const exitCode = await resumeAutoModeSession(autoModeSession, {
410
+ cwd,
411
+ model: argv.model,
412
+ });
413
+ if (exitCode !== 0) {
414
+ process.exitCode = exitCode;
415
+ }
416
+ return;
417
+ }
418
+ }
419
+ }
420
+ await runPiCommand({
421
+ cwd,
422
+ model: typeof argv.model === 'string' ? argv.model : undefined,
423
+ 'runtime-url': typeof argv['runtime-url'] === 'string' ? argv['runtime-url'] : undefined,
424
+ session,
425
+ last: Boolean(argv.last) || !session,
426
+ });
427
+ }
348
428
  function buildPiCommand(command) {
349
- const configured = command
429
+ const configured = buildAutoModeOptions(command)
350
430
  .option('cwd', {
351
431
  type: 'string',
352
432
  describe: 'Workspace path for the Pi session',
@@ -354,17 +434,6 @@ function buildPiCommand(command) {
354
434
  .option('model', {
355
435
  type: 'string',
356
436
  describe: 'Model id to expose through the Pi runtime adapter; defaults to the last LinX selection',
357
- })
358
- .option('backend', {
359
- type: 'string',
360
- default: 'cloud',
361
- choices: ['cloud', 'native'],
362
- describe: 'Backend mode. Default is cloud; native keeps the local Codex proxy for debugging only.',
363
- })
364
- .option('port', {
365
- type: 'number',
366
- default: 8787,
367
- describe: 'Local websocket port used only when --backend native',
368
437
  })
369
438
  .option('runtime-url', {
370
439
  type: 'string',
@@ -394,7 +463,7 @@ function buildPiCommand(command) {
394
463
  }
395
464
  const defaultPiCommand = {
396
465
  command: '$0 [prompt..]',
397
- describe: 'Run the native Pi TUI on top of the LinX cloud auth + Pod storage backend',
466
+ describe: 'Run LinX, or control an external agent backend with --backend',
398
467
  builder: buildPiCommand,
399
468
  handler: runPiCommand,
400
469
  };
@@ -498,37 +567,18 @@ const cli = yargs(hideBin(process.argv))
498
567
  }
499
568
  await ctx.podSession.close();
500
569
  })
501
- .command('resume [session]', 'Resume a previous interactive LinX session', (command) => command
570
+ .command('resume [session]', 'Resume a previous LinX or auto-mode session', (command) => command
502
571
  .positional('session', { type: 'string', describe: 'Session id/prefix or JSONL file to resume' })
503
- .option('last', { type: 'boolean', default: false, describe: 'Resume the most recent local session for this workspace' })
572
+ .option('last', { type: 'boolean', default: false, describe: 'Resume the most recent LinX or auto-mode session' })
504
573
  .option('cwd', { type: 'string', describe: 'Workspace path for the resumed session' })
505
574
  .option('model', { type: 'string', describe: 'Model id to expose through the Pi runtime adapter' })
506
- .option('backend', {
507
- type: 'string',
508
- default: 'cloud',
509
- choices: ['cloud', 'native'],
510
- describe: 'Backend mode. Default is cloud; native keeps the local Codex proxy for debugging only.',
511
- })
512
- .option('port', { type: 'number', default: 8787, describe: 'Local websocket port used only when --backend native' })
513
575
  .option('runtime-url', { type: 'string', default: 'https://api.undefineds.co/v1', describe: 'Cloud runtime API base URL' }), async (argv) => {
514
- const session = typeof argv.session === 'string' ? argv.session : undefined;
515
- if (!session && !argv.last) {
516
- const sessions = await listLinxPiSessions(argv.cwd || process.cwd(), LINX_AGENT_DIR);
517
- if (sessions.length === 0) {
518
- process.stdout.write('No LinX sessions found.\n');
519
- return;
520
- }
521
- process.stdout.write(`${sessions.map(formatLinxPiSessionSummary).join('\n')}\n`);
522
- return;
523
- }
524
- await runPiCommand({
525
- cwd: argv.cwd,
526
- model: argv.model,
527
- backend: argv.backend,
528
- port: argv.port,
529
- 'runtime-url': argv['runtime-url'],
530
- session,
531
- last: argv.last || !session,
576
+ await runResumeCommand({
577
+ cwd: typeof argv.cwd === 'string' ? argv.cwd : undefined,
578
+ model: typeof argv.model === 'string' ? argv.model : undefined,
579
+ 'runtime-url': typeof argv['runtime-url'] === 'string' ? argv['runtime-url'] : undefined,
580
+ session: typeof argv.session === 'string' ? argv.session : undefined,
581
+ last: Boolean(argv.last),
532
582
  });
533
583
  })
534
584
  .command('fork [thread]', 'Fork a previous interactive session', (command) => command
@@ -571,105 +621,6 @@ const cli = yargs(hideBin(process.argv))
571
621
  void shutdown();
572
622
  });
573
623
  await new Promise(() => { });
574
- })
575
- .command('watch <action> [backend] [prompt..]', 'Run or inspect local watch backends', (command) => command
576
- .positional('action', {
577
- type: 'string',
578
- choices: ['run', 'backends', 'sessions', 'show', 'codex', 'claude', 'codebuddy'],
579
- })
580
- .positional('backend', {
581
- type: 'string',
582
- describe: 'Watch backend for `run` or session id for `show`',
583
- })
584
- .option('mode', {
585
- type: 'string',
586
- default: 'smart',
587
- choices: ['manual', 'smart', 'auto'],
588
- describe: 'Unified autonomy mode',
589
- })
590
- .option('model', {
591
- type: 'string',
592
- describe: 'Backend-native model override',
593
- })
594
- .option('cwd', {
595
- type: 'string',
596
- describe: 'Working directory for local backend execution',
597
- })
598
- .option('plain', {
599
- type: 'boolean',
600
- default: false,
601
- describe: 'Disable full-screen TUI and use plain streaming output',
602
- })
603
- .option('credential-source', {
604
- type: 'string',
605
- default: 'auto',
606
- choices: ['auto', 'local', 'cloud'],
607
- describe: 'Resolve credentials only: local CLI login, LinX cloud config, or auto fallback. Runtime still runs locally.',
608
- })
609
- .option('approval-source', {
610
- type: 'string',
611
- default: 'hybrid',
612
- choices: ['local', 'remote', 'hybrid'],
613
- describe: 'Resolve backend approval requests locally, through Pod remote approvals, or whichever answers first.',
614
- }), async (argv) => {
615
- const rawAction = String(argv.action);
616
- const directBackend = ['codex', 'claude', 'codebuddy'].includes(rawAction);
617
- const action = directBackend ? 'run' : rawAction;
618
- if (action === 'backends') {
619
- const backends = listSupportedWatchBackends();
620
- for (const backend of backends) {
621
- process.stdout.write(`- ${backend.backend} (${backend.label})\n`);
622
- process.stdout.write(` ${backend.description}\n`);
623
- process.stdout.write(` manual: ${backend.modes.manual}\n`);
624
- process.stdout.write(` smart: ${backend.modes.smart}\n`);
625
- process.stdout.write(` auto: ${backend.modes.auto}\n`);
626
- }
627
- return;
628
- }
629
- if (action === 'sessions') {
630
- const sessions = listArchivedWatchSessions();
631
- if (sessions.length === 0) {
632
- process.stdout.write('No watch sessions found.\n');
633
- return;
634
- }
635
- process.stdout.write(`${sessions.map(formatWatchSessionSummary).join('\n')}\n`);
636
- return;
637
- }
638
- if (action === 'show') {
639
- const sessionId = argv.backend ? String(argv.backend) : '';
640
- if (!sessionId) {
641
- throw new Error('Usage: linx watch show <sessionId>');
642
- }
643
- const session = loadArchivedWatchSession(sessionId);
644
- if (!session) {
645
- throw new Error(`Watch session not found: ${sessionId}`);
646
- }
647
- process.stdout.write(formatArchivedWatchSession(session, loadArchivedWatchEvents(sessionId)));
648
- return;
649
- }
650
- const backend = (directBackend ? rawAction : argv.backend);
651
- if (!backend || !['codex', 'claude', 'codebuddy'].includes(backend)) {
652
- throw new Error('Usage: linx watch run <codex|claude|codebuddy> <prompt> [-- backend args]\n or: linx watch <codex|claude|codebuddy> <prompt>');
653
- }
654
- const plain = Boolean(argv.plain);
655
- const prompt = ((directBackend ? [argv.backend, ...(argv.prompt ?? [])] : argv.prompt) ?? [])
656
- .filter((item) => typeof item === 'string')
657
- .join(' ')
658
- .trim() || undefined;
659
- const exitCode = await runWatch({
660
- backend,
661
- mode: argv.mode,
662
- cwd: argv.cwd || process.cwd(),
663
- plain,
664
- model: argv.model,
665
- prompt,
666
- passthroughArgs: (argv['--'] ?? []).map(String),
667
- credentialSource: argv['credential-source'],
668
- approvalSource: argv['approval-source'],
669
- });
670
- if (exitCode !== 0) {
671
- process.exitCode = exitCode;
672
- }
673
624
  })
674
625
  .strict()
675
626
  .help()
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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"}
@@ -1,5 +1,5 @@
1
1
  import { resolveLinxPodUrl } from '@undefineds.co/models/client';
2
- import { aiModelTable, aiProviderTable, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, credentialTable, drizzle, getAIConfigProviderMetadata, initSolidTables, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, solidSchema, } from './models.js';
2
+ import { aiConfigProviderRef, aiModelResource, aiProviderResource, buildAIConfigDisconnectPlan, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, credentialResource, drizzle, getAIConfigProviderMetadata, normalizeAIConfigProviderId, normalizeAIConfigResourceId, solidResources, } from './models.js';
3
3
  import { getClientCredentialId, getClientCredentialKey, getClientCredentials, loadCredentials } from './credentials-store.js';
4
4
  import { loadAccountSession } from './account-session.js';
5
5
  import { authenticatedFetch, getAccessToken } from './solid-auth.js';
@@ -9,12 +9,13 @@ let aiRuntimePromise = null;
9
9
  async function loadAiRuntime() {
10
10
  if (!aiRuntimePromise) {
11
11
  aiRuntimePromise = Promise.resolve({
12
+ buildAIConfigDisconnectPlan,
12
13
  buildAIConfigMutationPlan,
13
14
  buildAIConfigProviderStateMap,
15
+ aiConfigProviderRef,
14
16
  getAIConfigProviderMetadata,
15
17
  normalizeAIConfigProviderId,
16
18
  normalizeAIConfigResourceId,
17
- sameAIConfigProviderFamily,
18
19
  });
19
20
  }
20
21
  return aiRuntimePromise;
@@ -74,30 +75,30 @@ function createAiConfigDb(context) {
74
75
  return drizzle(solidSession, {
75
76
  logger: false,
76
77
  disableInteropDiscovery: true,
77
- schema: solidSchema,
78
+ resourcePreparation: 'best-effort',
79
+ schema: solidResources,
78
80
  });
79
81
  }
80
82
  async function loadAiConfigRows(db) {
81
- await initSolidTables(db, [credentialTable, aiProviderTable, aiModelTable]);
82
83
  const [credentialRows, providerRows, modelRows] = await Promise.all([
83
- db.select().from(credentialTable).execute(),
84
- db.select().from(aiProviderTable).execute(),
85
- db.select().from(aiModelTable).execute(),
84
+ db.select().from(credentialResource).execute(),
85
+ db.select().from(aiProviderResource).execute(),
86
+ db.select().from(aiModelResource).execute(),
86
87
  ]);
87
88
  return { credentialRows, providerRows, modelRows };
88
89
  }
89
- async function upsertByLocator(db, table, locator, insert, update) {
90
- const existing = await db.findByLocator(table, locator);
90
+ async function upsertById(db, resource, id, insert, update) {
91
+ const existing = await db.findById(resource, id);
91
92
  if (!existing) {
92
- await db.insert(table).values(insert).execute();
93
+ await db.insert(resource).values(insert).execute();
93
94
  return;
94
95
  }
95
- await db.updateByLocator(table, locator, update);
96
+ await db.updateById(resource, id, update);
96
97
  }
97
- async function deleteByLocatorIfExists(db, table, locator) {
98
- const existing = await db.findByLocator(table, locator);
98
+ async function deleteByIdIfExists(db, resource, id) {
99
+ const existing = await db.findById(resource, id);
99
100
  if (existing) {
100
- await db.deleteByLocator(table, locator);
101
+ await db.deleteById(resource, id);
101
102
  }
102
103
  }
103
104
  function requestInputToUrl(input) {
@@ -116,8 +117,8 @@ export async function runAiCommand(argv, dependencies = {}) {
116
117
  const db = (dependencies.createDb ?? createAiConfigDb)(podContext);
117
118
  const { credentialRows, providerRows, modelRows } = await (dependencies.loadAiConfigRows ?? loadAiConfigRows)(db);
118
119
  const write = dependencies.write ?? ((chunk) => process.stdout.write(chunk));
119
- const upsert = dependencies.upsertByLocator ?? upsertByLocator;
120
- const deleteIfExists = dependencies.deleteByLocatorIfExists ?? deleteByLocatorIfExists;
120
+ const upsert = dependencies.upsertById ?? upsertById;
121
+ const deleteIfExists = dependencies.deleteByIdIfExists ?? deleteByIdIfExists;
121
122
  const getApiKey = dependencies.requireApiKey ?? requireApiKey;
122
123
  if (action === 'status') {
123
124
  const states = aiRuntime.buildAIConfigProviderStateMap({
@@ -131,7 +132,7 @@ export async function runAiCommand(argv, dependencies = {}) {
131
132
  return false;
132
133
  if (!argv.provider)
133
134
  return true;
134
- return aiRuntime.sameAIConfigProviderFamily(argv.provider, state.id);
135
+ return aiRuntime.normalizeAIConfigProviderId(argv.provider) === state.id;
135
136
  });
136
137
  if (filtered.length === 0) {
137
138
  write('No LinX cloud AI credentials found.\n');
@@ -157,14 +158,14 @@ export async function runAiCommand(argv, dependencies = {}) {
157
158
  }
158
159
  const provider = aiRuntime.normalizeAIConfigProviderId(providerArg);
159
160
  if (action === 'disconnect') {
160
- for (const row of credentialRows) {
161
- const rowProvider = typeof row.provider === 'string' ? row.provider : row.id;
162
- if (!aiRuntime.sameAIConfigProviderFamily(rowProvider, provider)) {
163
- continue;
164
- }
165
- await deleteIfExists(db, credentialTable, { id: row.id });
161
+ const plan = aiRuntime.buildAIConfigDisconnectPlan({
162
+ providerId: provider,
163
+ currentCredentialRows: credentialRows,
164
+ });
165
+ for (const credentialId of plan.credentialDeleteIds) {
166
+ await deleteIfExists(db, credentialResource, credentialId);
166
167
  }
167
- write(`Disconnected AI provider: ${provider}\n`);
168
+ write(`Disconnected AI provider: ${plan.providerId}\n`);
168
169
  return;
169
170
  }
170
171
  const apiKey = await getApiKey(argv);
@@ -189,7 +190,7 @@ export async function runAiCommand(argv, dependencies = {}) {
189
190
  },
190
191
  });
191
192
  if (plan.providerPayload?.id) {
192
- await upsert(db, aiProviderTable, { id: plan.providerPayload.id }, plan.providerPayload, {
193
+ await upsert(db, aiProviderResource, plan.providerPayload.id, plan.providerPayload, {
193
194
  baseUrl: plan.providerPayload.baseUrl,
194
195
  proxyUrl: plan.providerPayload.proxyUrl,
195
196
  hasModel: plan.providerPayload.hasModel,
@@ -199,7 +200,7 @@ export async function runAiCommand(argv, dependencies = {}) {
199
200
  && plan.credentialPayload.provider
200
201
  && plan.credentialPayload.service
201
202
  && plan.credentialPayload.status) {
202
- await upsert(db, credentialTable, { id: plan.credentialPayload.id }, plan.credentialPayload, {
203
+ await upsert(db, credentialResource, plan.credentialPayload.id, plan.credentialPayload, {
203
204
  provider: plan.credentialPayload.provider,
204
205
  service: plan.credentialPayload.service,
205
206
  status: plan.credentialPayload.status,
@@ -212,10 +213,11 @@ export async function runAiCommand(argv, dependencies = {}) {
212
213
  if (!modelPayload.id || !modelPayload.isProvidedBy || !modelPayload.createdAt || !modelPayload.updatedAt) {
213
214
  continue;
214
215
  }
215
- await upsert(db, aiModelTable, {
216
+ const modelResourceId = db.resolveLocatorId(aiModelResource, {
216
217
  id: modelPayload.id,
217
218
  isProvidedBy: modelPayload.isProvidedBy,
218
- }, modelPayload, {
219
+ });
220
+ await upsert(db, aiModelResource, modelResourceId, modelPayload, {
219
221
  displayName: modelPayload.displayName,
220
222
  modelType: modelPayload.modelType,
221
223
  isProvidedBy: modelPayload.isProvidedBy,
@@ -224,10 +226,12 @@ export async function runAiCommand(argv, dependencies = {}) {
224
226
  });
225
227
  }
226
228
  for (const modelIdToDelete of plan.modelDeleteIds) {
227
- await deleteIfExists(db, aiModelTable, {
229
+ const providerRef = aiRuntime.aiConfigProviderRef(plan.providerId);
230
+ const modelResourceId = db.resolveLocatorId(aiModelResource, {
228
231
  id: modelIdToDelete,
229
- isProvidedBy: plan.providerId,
232
+ isProvidedBy: providerRef,
230
233
  });
234
+ await deleteIfExists(db, aiModelResource, modelResourceId);
231
235
  }
232
236
  const metadata = aiRuntime.getAIConfigProviderMetadata(provider);
233
237
  write(`Connected AI provider: ${metadata.id}\n`);