looply-cli 0.5.3 → 0.5.5

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 (122) hide show
  1. package/dist/.src-hash +1 -1
  2. package/dist/agent-exec.d.ts +10 -5
  3. package/dist/agent-exec.d.ts.map +1 -1
  4. package/dist/agent-exec.js.map +1 -1
  5. package/dist/autonomy-controller.d.ts +14 -1
  6. package/dist/autonomy-controller.d.ts.map +1 -1
  7. package/dist/autonomy-controller.js +55 -2
  8. package/dist/autonomy-controller.js.map +1 -1
  9. package/dist/autonomy-store.d.ts +35 -2
  10. package/dist/autonomy-store.d.ts.map +1 -1
  11. package/dist/autonomy-store.js +27 -2
  12. package/dist/autonomy-store.js.map +1 -1
  13. package/dist/autonomy-tick.d.ts +25 -2
  14. package/dist/autonomy-tick.d.ts.map +1 -1
  15. package/dist/autonomy-tick.js +145 -4
  16. package/dist/autonomy-tick.js.map +1 -1
  17. package/dist/bin.d.ts.map +1 -1
  18. package/dist/bin.js +112 -82
  19. package/dist/bin.js.map +1 -1
  20. package/dist/checkout-carry.d.ts.map +1 -1
  21. package/dist/checkout-carry.js +12 -0
  22. package/dist/checkout-carry.js.map +1 -1
  23. package/dist/config.d.ts +41 -0
  24. package/dist/config.d.ts.map +1 -1
  25. package/dist/config.js +64 -8
  26. package/dist/config.js.map +1 -1
  27. package/dist/coordinator-state.d.ts +14 -0
  28. package/dist/coordinator-state.d.ts.map +1 -1
  29. package/dist/coordinator-state.js +29 -0
  30. package/dist/coordinator-state.js.map +1 -1
  31. package/dist/daemon-cmd.d.ts +1 -1
  32. package/dist/daemon-cmd.d.ts.map +1 -1
  33. package/dist/daemon-cmd.js +69 -33
  34. package/dist/daemon-cmd.js.map +1 -1
  35. package/dist/daemon.d.ts +15 -1
  36. package/dist/daemon.d.ts.map +1 -1
  37. package/dist/daemon.js +21 -3
  38. package/dist/daemon.js.map +1 -1
  39. package/dist/git-driver.d.ts +6 -0
  40. package/dist/git-driver.d.ts.map +1 -1
  41. package/dist/git-driver.js +12 -0
  42. package/dist/git-driver.js.map +1 -1
  43. package/dist/index-for-head.js +1 -1
  44. package/dist/index-for-head.js.map +1 -1
  45. package/dist/init-detect.d.ts.map +1 -1
  46. package/dist/init-detect.js +1 -1
  47. package/dist/init-detect.js.map +1 -1
  48. package/dist/machine-run-slots.d.ts +59 -0
  49. package/dist/machine-run-slots.d.ts.map +1 -0
  50. package/dist/machine-run-slots.js +140 -0
  51. package/dist/machine-run-slots.js.map +1 -0
  52. package/dist/model-routing.d.ts +52 -7
  53. package/dist/model-routing.d.ts.map +1 -1
  54. package/dist/model-routing.js +84 -14
  55. package/dist/model-routing.js.map +1 -1
  56. package/dist/model-settings.d.ts +67 -0
  57. package/dist/model-settings.d.ts.map +1 -0
  58. package/dist/model-settings.js +177 -0
  59. package/dist/model-settings.js.map +1 -0
  60. package/dist/model-transport.d.ts +8 -0
  61. package/dist/model-transport.d.ts.map +1 -1
  62. package/dist/model-transport.js +6 -3
  63. package/dist/model-transport.js.map +1 -1
  64. package/dist/programme-mode.d.ts +6 -0
  65. package/dist/programme-mode.d.ts.map +1 -1
  66. package/dist/programme-mode.js +23 -0
  67. package/dist/programme-mode.js.map +1 -1
  68. package/dist/project-index-store.d.ts +19 -1
  69. package/dist/project-index-store.d.ts.map +1 -1
  70. package/dist/project-index-store.js +40 -5
  71. package/dist/project-index-store.js.map +1 -1
  72. package/dist/project-terminal.d.ts +25 -0
  73. package/dist/project-terminal.d.ts.map +1 -0
  74. package/dist/project-terminal.js +46 -0
  75. package/dist/project-terminal.js.map +1 -0
  76. package/dist/provider-cmd.d.ts +13 -4
  77. package/dist/provider-cmd.d.ts.map +1 -1
  78. package/dist/provider-cmd.js +111 -11
  79. package/dist/provider-cmd.js.map +1 -1
  80. package/dist/provider-ready.d.ts +15 -2
  81. package/dist/provider-ready.d.ts.map +1 -1
  82. package/dist/provider-ready.js +46 -2
  83. package/dist/provider-ready.js.map +1 -1
  84. package/dist/providers.d.ts.map +1 -1
  85. package/dist/providers.js +4 -0
  86. package/dist/providers.js.map +1 -1
  87. package/dist/pursuit-ending.d.ts +57 -0
  88. package/dist/pursuit-ending.d.ts.map +1 -0
  89. package/dist/pursuit-ending.js +128 -0
  90. package/dist/pursuit-ending.js.map +1 -0
  91. package/dist/run-base.d.ts +84 -0
  92. package/dist/run-base.d.ts.map +1 -0
  93. package/dist/run-base.js +142 -0
  94. package/dist/run-base.js.map +1 -0
  95. package/dist/run-cmd.d.ts.map +1 -1
  96. package/dist/run-cmd.js +46 -5
  97. package/dist/run-cmd.js.map +1 -1
  98. package/dist/run-ended.d.ts +16 -0
  99. package/dist/run-ended.d.ts.map +1 -1
  100. package/dist/run-ended.js +30 -0
  101. package/dist/run-ended.js.map +1 -1
  102. package/dist/run-ending-locator.d.ts +10 -0
  103. package/dist/run-ending-locator.d.ts.map +1 -1
  104. package/dist/run-ending-locator.js +45 -0
  105. package/dist/run-ending-locator.js.map +1 -1
  106. package/dist/run-launcher.d.ts +30 -1
  107. package/dist/run-launcher.d.ts.map +1 -1
  108. package/dist/run-launcher.js +60 -2
  109. package/dist/run-launcher.js.map +1 -1
  110. package/dist/server-client.d.ts +16 -2
  111. package/dist/server-client.d.ts.map +1 -1
  112. package/dist/server-client.js +9 -0
  113. package/dist/server-client.js.map +1 -1
  114. package/dist/setup.d.ts.map +1 -1
  115. package/dist/setup.js +17 -0
  116. package/dist/setup.js.map +1 -1
  117. package/dist/workspace-provisioner.d.ts +2 -0
  118. package/dist/workspace-provisioner.d.ts.map +1 -1
  119. package/dist/workspace-provisioner.js +27 -1
  120. package/dist/workspace-provisioner.js.map +1 -1
  121. package/package.json +54 -54
  122. package/win/HandleProbe.cs +116 -116
@@ -5,7 +5,9 @@ import { type ProviderAuthState } from './provider-state';
5
5
  * `looply provider` — IS CLAUDE CODE READY ON THIS MACHINE, AND IF NOT, FIX IT.
6
6
  *
7
7
  * looply provider [status] where Claude Code was found, and whether Looply's profile is logged in
8
- * looply provider install [--yes] install Claude Code (`npm i -g @anthropic-ai/claude-code`)
8
+ * looply provider install [--yes] install Claude Code (`npm i -g @anthropic-ai/claude-code@latest`)
9
+ * looply provider update [--yes] update Claude Code (the same npm command) — an outdated one
10
+ * refuses the models Looply asks for (`MIN_CLAUDE_CODE_VERSION`)
9
11
  * looply provider login sign Looply's own Claude Code profile in
10
12
  *
11
13
  * `looply connect` runs the same check up front (`ensureProviderReady`), so a
@@ -18,7 +20,10 @@ import { type ProviderAuthState } from './provider-state';
18
20
  * Looply ready, which is exactly what tripped the first real user.
19
21
  */
20
22
  export declare const PROVIDER_USAGE: string;
21
- export declare const INSTALL_COMMAND = "npm i -g @anthropic-ai/claude-code";
23
+ /** `@latest`, so an install never lands a version too old for the configured models. */
24
+ export declare const INSTALL_COMMAND = "npm i -g @anthropic-ai/claude-code@latest";
25
+ /** An update is the same command: npm replaces the global install with the latest. */
26
+ export declare const UPDATE_COMMAND = "npm i -g @anthropic-ai/claude-code@latest";
22
27
  export interface ProviderDeps {
23
28
  readonly platform: NodeJS.Platform;
24
29
  readonly interactive: boolean;
@@ -27,14 +32,16 @@ export interface ProviderDeps {
27
32
  readonly profile: string;
28
33
  discover(): ProviderDiscovery;
29
34
  checkAuth(executable: string): ProviderAuthState;
30
- /** Run the npm install in the foreground; its exit code. */
35
+ /** `<exe> --version`'s first `x.y.z`, or null when it cannot be read (never treated as outdated). */
36
+ version(executable: string): string | null;
37
+ /** Run the npm install (also the update) in the foreground; its exit code. */
31
38
  install(): Promise<number>;
32
39
  /** Run `<exe> auth login` in the foreground with CLAUDE_CONFIG_DIR=<profile>; its exit code. */
33
40
  login(executable: string): Promise<number>;
34
41
  out(line: string): void;
35
42
  err(line: string): void;
36
43
  }
37
- export declare function readinessOf(deps: Pick<ProviderDeps, 'discover' | 'checkAuth'>): ProviderReadiness;
44
+ export declare function readinessOf(deps: Pick<ProviderDeps, 'discover' | 'checkAuth' | 'version'>): ProviderReadiness;
38
45
  /** The exact command a person types to log Looply's profile in, in their own shell. */
39
46
  export declare function loginCommandLine(executable: string, profile: string, platform: NodeJS.Platform): string;
40
47
  /**
@@ -43,6 +50,8 @@ export declare function loginCommandLine(executable: string, profile: string, pl
43
50
  *
44
51
  * - Not installed: explain, then install — asking y/N on a terminal, without
45
52
  * asking under `yes`, and otherwise printing the exact command.
53
+ * - Outdated (older than `MIN_CLAUDE_CODE_VERSION`): explain, then update —
54
+ * asked, automatic or printed exactly as for an install — and check again.
46
55
  * - Not logged in: run the login on a terminal; otherwise print the command.
47
56
  */
48
57
  export declare function ensureProviderReady(deps: ProviderDeps, opts: {
@@ -1 +1 @@
1
- {"version":3,"file":"provider-cmd.d.ts","sourceRoot":"","sources":["../src/provider-cmd.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkC,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAyC,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGjG;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,cAAc,QAIf,CAAC;AAEb,eAAO,MAAM,eAAe,uCAAuC,CAAC;AAEpE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,IAAI,iBAAiB,CAAC;IAC9B,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACjD,4DAA4D;IAC5D,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,gGAAgG;IAChG,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG,iBAAiB,CAIjG;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAIvG;AAYD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiEhH;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAwDlG;AAgDD,wBAAgB,gBAAgB,CAAC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CAAO,GAAG,YAAY,CAuB5H"}
1
+ {"version":3,"file":"provider-cmd.d.ts","sourceRoot":"","sources":["../src/provider-cmd.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkC,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAuC,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAyC,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGjG;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,cAAc,QAKf,CAAC;AAEb,wFAAwF;AACxF,eAAO,MAAM,eAAe,8CAA8C,CAAC;AAC3E,sFAAsF;AACtF,eAAO,MAAM,cAAc,8CAAkB,CAAC;AAK9C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,IAAI,iBAAiB,CAAC;IAC9B,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACjD,qGAAqG;IACrG,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3C,8EAA8E;IAC9E,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,gGAAgG;IAChG,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC,GAAG,iBAAiB,CAK7G;AAgCD,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAIvG;AAaD;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuFhH;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA0ElG;AAgDD,wBAAgB,gBAAgB,CAAC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CAAO,GAAG,YAAY,CAuC5H"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.INSTALL_COMMAND = exports.PROVIDER_USAGE = void 0;
3
+ exports.UPDATE_COMMAND = exports.INSTALL_COMMAND = exports.PROVIDER_USAGE = void 0;
4
4
  exports.readinessOf = readinessOf;
5
5
  exports.loginCommandLine = loginCommandLine;
6
6
  exports.ensureProviderReady = ensureProviderReady;
@@ -20,7 +20,9 @@ const setup_prompt_1 = require("./setup-prompt");
20
20
  * `looply provider` — IS CLAUDE CODE READY ON THIS MACHINE, AND IF NOT, FIX IT.
21
21
  *
22
22
  * looply provider [status] where Claude Code was found, and whether Looply's profile is logged in
23
- * looply provider install [--yes] install Claude Code (`npm i -g @anthropic-ai/claude-code`)
23
+ * looply provider install [--yes] install Claude Code (`npm i -g @anthropic-ai/claude-code@latest`)
24
+ * looply provider update [--yes] update Claude Code (the same npm command) — an outdated one
25
+ * refuses the models Looply asks for (`MIN_CLAUDE_CODE_VERSION`)
24
26
  * looply provider login sign Looply's own Claude Code profile in
25
27
  *
26
28
  * `looply connect` runs the same check up front (`ensureProviderReady`), so a
@@ -34,14 +36,47 @@ const setup_prompt_1 = require("./setup-prompt");
34
36
  */
35
37
  exports.PROVIDER_USAGE = [
36
38
  'looply provider [status] where Claude Code was found, and whether Looply is signed in to it',
37
- 'looply provider install [--yes] install Claude Code (npm i -g @anthropic-ai/claude-code)',
39
+ 'looply provider install [--yes] install Claude Code (npm i -g @anthropic-ai/claude-code@latest)',
40
+ 'looply provider update [--yes] update Claude Code to the latest version (the same npm command)',
38
41
  'looply provider login sign Looply’s own Claude Code profile in (opens your browser)',
39
42
  ].join('\n');
40
- exports.INSTALL_COMMAND = 'npm i -g @anthropic-ai/claude-code';
43
+ /** `@latest`, so an install never lands a version too old for the configured models. */
44
+ exports.INSTALL_COMMAND = 'npm i -g @anthropic-ai/claude-code@latest';
45
+ /** An update is the same command: npm replaces the global install with the latest. */
46
+ exports.UPDATE_COMMAND = exports.INSTALL_COMMAND;
47
+ /** Windows: npm cannot replace claude.exe while any Claude Code process holds it open. */
48
+ const UPDATE_FAILED_HINT = 'close any running Claude Code windows and run `looply provider update` again';
41
49
  function readinessOf(deps) {
42
50
  const discovery = deps.discover();
43
- const auth = discovery.found === null ? null : deps.checkAuth(discovery.found.executable);
44
- return (0, provider_ready_1.readinessFrom)(discovery, auth);
51
+ if (discovery.found === null)
52
+ return (0, provider_ready_1.readinessFrom)(discovery, null);
53
+ const exe = discovery.found.executable;
54
+ return (0, provider_ready_1.readinessFrom)(discovery, deps.checkAuth(exe), deps.version(exe));
55
+ }
56
+ /**
57
+ * Run the npm update in the foreground and check again. Null when it did not
58
+ * finish — and then it has said why, and what to do.
59
+ */
60
+ async function runUpdate(deps) {
61
+ deps.out(`provider: updating — ${exports.UPDATE_COMMAND}`);
62
+ const code = await deps.install().catch((e) => {
63
+ deps.err(`provider: the update could not start — ${e.message}`);
64
+ return 1;
65
+ });
66
+ if (code !== 0) {
67
+ deps.err(`provider: the update did not finish (exit ${code}). ` +
68
+ (deps.platform === 'win32'
69
+ ? `Claude Code cannot be replaced while it is running: ${UPDATE_FAILED_HINT}.`
70
+ : 'Run `looply provider update` again.'));
71
+ deps.err(` (or run it yourself: ${exports.UPDATE_COMMAND})`);
72
+ return null;
73
+ }
74
+ const r = readinessOf(deps);
75
+ if (r.reason === 'outdated') {
76
+ deps.err(`provider: updated, but the Claude Code Looply finds is still outdated — ${r.detail}. ` +
77
+ 'Another, older copy may come first; `looply provider status` shows which one Looply uses.');
78
+ }
79
+ return r;
45
80
  }
46
81
  /** The exact command a person types to log Looply's profile in, in their own shell. */
47
82
  function loginCommandLine(executable, profile, platform) {
@@ -49,10 +84,12 @@ function loginCommandLine(executable, profile, platform) {
49
84
  ? `$env:CLAUDE_CONFIG_DIR="${profile}"; & "${executable}" auth login`
50
85
  : `CLAUDE_CONFIG_DIR="${profile}" "${executable}" auth login`;
51
86
  }
52
- function describe(r, deps) {
87
+ function describe(r, deps, version) {
53
88
  if (r.executable !== null && r.source !== null) {
54
89
  deps.out(`provider: Claude Code found at ${r.executable}`);
55
90
  deps.out(` (from ${provider_discovery_1.SOURCE_WORDS[r.source]})`);
91
+ if (version !== undefined)
92
+ deps.out(` version: ${version ?? 'could not be read'}`);
56
93
  }
57
94
  deps.out(` Looply's profile: ${deps.profile}`);
58
95
  if (r.ready)
@@ -66,6 +103,8 @@ function describe(r, deps) {
66
103
  *
67
104
  * - Not installed: explain, then install — asking y/N on a terminal, without
68
105
  * asking under `yes`, and otherwise printing the exact command.
106
+ * - Outdated (older than `MIN_CLAUDE_CODE_VERSION`): explain, then update —
107
+ * asked, automatic or printed exactly as for an install — and check again.
69
108
  * - Not logged in: run the login on a terminal; otherwise print the command.
70
109
  */
71
110
  async function ensureProviderReady(deps, opts) {
@@ -105,6 +144,29 @@ async function ensureProviderReady(deps, opts) {
105
144
  return r;
106
145
  }
107
146
  }
147
+ if (r.reason === 'outdated') {
148
+ deps.out(`provider: ${r.detail}. Every call Looply makes to it would be refused —`);
149
+ deps.out(' without an update, work you start fails on this machine.');
150
+ let go = opts.yes;
151
+ if (!go && deps.interactive && deps.ask) {
152
+ const answer = await deps.ask(`Update it now with \`${exports.UPDATE_COMMAND}\`? [y/N] `);
153
+ go = /^(y|yes)$/i.test(answer.trim());
154
+ }
155
+ if (!go) {
156
+ deps.out(` To update it later: ${exports.UPDATE_COMMAND} (or: looply provider update)`);
157
+ return r;
158
+ }
159
+ const after = await runUpdate(deps);
160
+ if (after === null)
161
+ return readinessOf(deps);
162
+ r = after;
163
+ if (r.reason === 'outdated')
164
+ return r;
165
+ if (r.ready) {
166
+ deps.out(`provider: updated — Claude Code is ready (${r.executable}).`);
167
+ return r;
168
+ }
169
+ }
108
170
  if (r.reason === 'not_logged_in' && r.executable !== null) {
109
171
  deps.out("provider: Claude Code is installed, but Looply's own profile is not signed in to your Claude account.");
110
172
  if (!deps.interactive) {
@@ -141,14 +203,15 @@ async function providerCommand(argv, deps) {
141
203
  switch (verb) {
142
204
  case 'status': {
143
205
  const discovery = deps.discover();
144
- const auth = discovery.found === null ? null : deps.checkAuth(discovery.found.executable);
145
- const r = (0, provider_ready_1.readinessFrom)(discovery, auth);
206
+ const exe = discovery.found?.executable ?? null;
207
+ const version = exe === null ? null : deps.version(exe);
208
+ const r = (0, provider_ready_1.readinessFrom)(discovery, exe === null ? null : deps.checkAuth(exe), version);
146
209
  if (discovery.found === null) {
147
210
  deps.out('provider: Claude Code was not found. Looked in:');
148
211
  for (const s of discovery.searched)
149
212
  deps.out(` ${s}`);
150
213
  }
151
- describe(r, deps);
214
+ describe(r, deps, version);
152
215
  if (!r.ready)
153
216
  deps.out(` to fix: ${(0, provider_ready_1.fixFor)(r.reason)}`);
154
217
  return r.ready ? 0 : 1;
@@ -168,6 +231,25 @@ async function providerCommand(argv, deps) {
168
231
  const r = await ensureProviderReady(deps, { yes });
169
232
  return r.reason === 'not_installed' ? 1 : 0;
170
233
  }
234
+ case 'update': {
235
+ const before = readinessOf(deps);
236
+ if (before.reason === 'not_installed') {
237
+ deps.err('looply provider update: Claude Code is not installed yet — run `looply provider install`.');
238
+ return 1;
239
+ }
240
+ if (!yes && !deps.interactive) {
241
+ deps.err(`looply provider update: there is no terminal to confirm on. Re-run with --yes, or run: ${exports.UPDATE_COMMAND}`);
242
+ return 1;
243
+ }
244
+ // Run even when it is new enough: the person asked for the latest.
245
+ const after = await runUpdate(deps);
246
+ if (after === null)
247
+ return 1;
248
+ describe(after, deps, after.executable === null ? null : deps.version(after.executable));
249
+ if (!after.ready && after.reason !== 'outdated')
250
+ deps.out(` to fix: ${(0, provider_ready_1.fixFor)(after.reason)}`);
251
+ return after.reason === 'outdated' ? 1 : 0;
252
+ }
171
253
  case 'login': {
172
254
  const r = readinessOf(deps);
173
255
  if (r.reason === 'not_installed' || r.executable === null) {
@@ -246,11 +328,29 @@ function nodeProviderDeps(opts = {}) {
246
328
  const env = { ...(0, exec_domains_1.buildProviderEnv)((0, model_transport_1.providerSessionDir)((0, node_os_1.homedir)(), 'implementer')), CLAUDE_CONFIG_DIR: profile };
247
329
  return (0, provider_state_1.checkProviderAuth)(exe, env);
248
330
  },
331
+ version: (exe) => {
332
+ // Local and cheap: prints e.g. `2.1.197 (Claude Code)`, costs no model turn.
333
+ try {
334
+ const res = (0, node_child_process_1.spawnSync)(exe, ['--version'], {
335
+ encoding: 'utf8',
336
+ timeout: 15_000,
337
+ stdio: ['ignore', 'pipe', 'pipe'],
338
+ windowsHide: true,
339
+ });
340
+ if (res.error || res.status !== 0)
341
+ return null;
342
+ const v = (0, provider_ready_1.parseVersion)(`${res.stdout ?? ''}`);
343
+ return v === null ? null : v.join('.');
344
+ }
345
+ catch {
346
+ return null;
347
+ }
348
+ },
249
349
  install: async () => {
250
350
  const cli = npmCli();
251
351
  if (cli === null)
252
352
  throw new Error(`npm was not found beside ${process.execPath}`);
253
- return foreground(process.execPath, [cli, 'i', '-g', '@anthropic-ai/claude-code'], process.env);
353
+ return foreground(process.execPath, [cli, 'i', '-g', '@anthropic-ai/claude-code@latest'], process.env);
254
354
  },
255
355
  login: (exe) => foreground(exe, ['auth', 'login'], { ...process.env, CLAUDE_CONFIG_DIR: profile }),
256
356
  out: (line) => process.stdout.write(`${line}\n`),
@@ -1 +1 @@
1
- {"version":3,"file":"provider-cmd.js","sourceRoot":"","sources":["../src/provider-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-cmd.js","sourceRoot":"","sources":["../src/provider-cmd.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,20 @@ import type { ProviderAuthState } from './provider-state';
16
16
  * local command that costs no model turn.
17
17
  */
18
18
  /** The closed set the server stores. */
19
- export type ProviderNotReadyReason = 'not_installed' | 'not_logged_in' | 'unknown';
19
+ export type ProviderNotReadyReason = 'not_installed' | 'outdated' | 'not_logged_in' | 'unknown';
20
+ /**
21
+ * The oldest Claude Code that accepts the models Looply passes (`--model`, from
22
+ * `agent-settings.ts`). MEASURED 2026-10-15: 2.1.197 answers every call with
23
+ * "API Error: 400 … version 2.1.280 or newer is required" — every brain and
24
+ * implementer call fails and goals burn tries. So an older one is NOT READY.
25
+ */
26
+ export declare const MIN_CLAUDE_CODE_VERSION = "2.1.280";
27
+ /** The first `x.y.z` in a version line (`2.1.197 (Claude Code)`), or null. */
28
+ export declare function parseVersion(text: string | null | undefined): [number, number, number] | null;
29
+ /** Compare two `x.y.z` versions numerically: <0, 0, >0. Null when either cannot be read. */
30
+ export declare function compareVersions(a: string, b: string): number | null;
31
+ /** True only when the version is KNOWN and older than the minimum; an unreadable one is not outdated. */
32
+ export declare function isOutdated(version: string | null | undefined, min?: string): boolean;
20
33
  export interface ProviderReadiness {
21
34
  readonly ready: boolean;
22
35
  readonly reason: ProviderNotReadyReason | null;
@@ -30,7 +43,7 @@ export interface ProviderReadiness {
30
43
  export declare function isBuiltInProvider(command: string): boolean;
31
44
  export declare function fixFor(reason: ProviderNotReadyReason | null): string;
32
45
  /** Fold a discovery and (when there was something to ask) an `auth status` into one answer. */
33
- export declare function readinessFrom(discovery: ProviderDiscovery, auth: ProviderAuthState | null): ProviderReadiness;
46
+ export declare function readinessFrom(discovery: ProviderDiscovery, auth: ProviderAuthState | null, version?: string | null): ProviderReadiness;
34
47
  export interface ReadinessMonitorDeps {
35
48
  check(): ProviderReadiness;
36
49
  now(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"provider-ready.d.ts","sourceRoot":"","sources":["../src/provider-ready.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AAEH,wCAAwC;AACxC,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,eAAe,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC/C,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC;AAED,oEAAoE;AACpE,sHAAsH;AACtH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,GAAG,MAAM,CAWpE;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,GAAG,iBAAiB,CAoB7G;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,IAAI,iBAAiB,CAAC;IAC3B,GAAG,IAAI,MAAM,CAAC;IACd,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,QAAa,CAAC;AACvC,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC;;;;;;GAMG;AACH,qBAAa,wBAAwB;IAIvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,IAAI,CAAkC;IAC9C,OAAO,CAAC,SAAS,CAAK;gBAEO,IAAI,EAAE,oBAAoB;IAEvD,OAAO,IAAI,iBAAiB;IAS5B,kEAAkE;IAClE,OAAO,IAAI,iBAAiB;IA2B5B,kCAAkC;IAClC,MAAM,IAAI;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAA;KAAE;CAIpE"}
1
+ {"version":3,"file":"provider-ready.d.ts","sourceRoot":"","sources":["../src/provider-ready.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AAEH,wCAAwC;AACxC,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,UAAU,GAAG,eAAe,GAAG,SAAS,CAAC;AAEhG;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,YAAY,CAAC;AAEjD,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAG7F;AAED,4FAA4F;AAC5F,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMnE;AAED,yGAAyG;AACzG,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,GAAE,MAAgC,GAAG,OAAO,CAI7G;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC/C,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC;AAED,oEAAoE;AACpE,sHAAsH;AACtH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,GAAG,MAAM,CAapE;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,CAC3B,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE,iBAAiB,GAAG,IAAI,EAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,iBAAiB,CA6BnB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,IAAI,iBAAiB,CAAC;IAC3B,GAAG,IAAI,MAAM,CAAC;IACd,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,QAAa,CAAC;AACvC,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC;;;;;;GAMG;AACH,qBAAa,wBAAwB;IAIvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,IAAI,CAAkC;IAC9C,OAAO,CAAC,SAAS,CAAK;gBAEO,IAAI,EAAE,oBAAoB;IAEvD,OAAO,IAAI,iBAAiB;IAS5B,kEAAkE;IAClE,OAAO,IAAI,iBAAiB;IA2B5B,kCAAkC;IAClC,MAAM,IAAI;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAA;KAAE;CAIpE"}
@@ -1,10 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProviderReadinessMonitor = exports.NOT_READY_TTL_MS = exports.READY_TTL_MS = void 0;
3
+ exports.ProviderReadinessMonitor = exports.NOT_READY_TTL_MS = exports.READY_TTL_MS = exports.MIN_CLAUDE_CODE_VERSION = void 0;
4
+ exports.parseVersion = parseVersion;
5
+ exports.compareVersions = compareVersions;
6
+ exports.isOutdated = isOutdated;
4
7
  exports.isBuiltInProvider = isBuiltInProvider;
5
8
  exports.fixFor = fixFor;
6
9
  exports.readinessFrom = readinessFrom;
7
10
  const agent_exec_1 = require("./agent-exec");
11
+ /**
12
+ * The oldest Claude Code that accepts the models Looply passes (`--model`, from
13
+ * `agent-settings.ts`). MEASURED 2026-10-15: 2.1.197 answers every call with
14
+ * "API Error: 400 … version 2.1.280 or newer is required" — every brain and
15
+ * implementer call fails and goals burn tries. So an older one is NOT READY.
16
+ */
17
+ exports.MIN_CLAUDE_CODE_VERSION = '2.1.280';
18
+ /** The first `x.y.z` in a version line (`2.1.197 (Claude Code)`), or null. */
19
+ function parseVersion(text) {
20
+ const m = /(\d+)\.(\d+)\.(\d+)/.exec(text ?? '');
21
+ return m === null ? null : [Number(m[1]), Number(m[2]), Number(m[3])];
22
+ }
23
+ /** Compare two `x.y.z` versions numerically: <0, 0, >0. Null when either cannot be read. */
24
+ function compareVersions(a, b) {
25
+ const x = parseVersion(a);
26
+ const y = parseVersion(b);
27
+ if (x === null || y === null)
28
+ return null;
29
+ for (let i = 0; i < 3; i++)
30
+ if (x[i] !== y[i])
31
+ return x[i] - y[i];
32
+ return 0;
33
+ }
34
+ /** True only when the version is KNOWN and older than the minimum; an unreadable one is not outdated. */
35
+ function isOutdated(version, min = exports.MIN_CLAUDE_CODE_VERSION) {
36
+ if (version === null || version === undefined)
37
+ return false;
38
+ const c = compareVersions(version, min);
39
+ return c !== null && c < 0;
40
+ }
8
41
  /** The fix, in words a person who is not a developer can follow. */
9
42
  /** Whether an agent command is the built-in provider (Claude Code), the only one whose readiness Looply can check. */
10
43
  function isBuiltInProvider(command) {
@@ -14,6 +47,8 @@ function fixFor(reason) {
14
47
  switch (reason) {
15
48
  case 'not_installed':
16
49
  return 'run `looply provider install` (it installs Claude Code with npm)';
50
+ case 'outdated':
51
+ return 'run `looply provider update` (it updates Claude Code with npm)';
17
52
  case 'not_logged_in':
18
53
  return 'run `looply provider login` and sign in to your Claude account';
19
54
  case 'unknown':
@@ -23,7 +58,7 @@ function fixFor(reason) {
23
58
  }
24
59
  }
25
60
  /** Fold a discovery and (when there was something to ask) an `auth status` into one answer. */
26
- function readinessFrom(discovery, auth) {
61
+ function readinessFrom(discovery, auth, version) {
27
62
  const found = discovery.found;
28
63
  if (found === null) {
29
64
  return {
@@ -38,6 +73,15 @@ function readinessFrom(discovery, auth) {
38
73
  if (auth === null || (!auth.ok && auth.reason === 'no_executable')) {
39
74
  return { ready: false, reason: 'not_installed', detail: `no Claude Code executable at ${found.executable}`, ...at };
40
75
  }
76
+ // Before auth: signing in an outdated one does not help — its every call is refused.
77
+ if (isOutdated(version)) {
78
+ return {
79
+ ready: false,
80
+ reason: 'outdated',
81
+ detail: `Claude Code ${parseVersion(version).join('.')} is older than ${exports.MIN_CLAUDE_CODE_VERSION}, which the configured models need`,
82
+ ...at,
83
+ };
84
+ }
41
85
  if (auth.ok)
42
86
  return { ready: true, reason: null, detail: `logged in (${auth.method})`, ...at };
43
87
  if (auth.reason === 'unauthenticated') {
@@ -1 +1 @@
1
- {"version":3,"file":"provider-ready.js","sourceRoot":"","sources":["../src/provider-ready.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-ready.js","sourceRoot":"","sources":["../src/provider-ready.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,wCAAwC;AACxC,MAAM,MAAM,aAAa;AACvB;;;;;;GAMG;AACD,OAAO;AACT,mEAAmE;GACjE,UAAU,CAAC;AAEf;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,aAAa,EAAc,CAAC;AAE7E,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAwCrD,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEjE;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,GAAG,SAAS,GAAG,UAAU,CA2EzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAOzF"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,wCAAwC;AACxC,MAAM,MAAM,aAAa;AACvB;;;;;;GAMG;AACD,OAAO;AACT,mEAAmE;GACjE,UAAU,CAAC;AAEf;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,aAAa,EAAc,CAAC;AAE7E,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAwCrD,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEjE;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,GAAG,SAAS,GAAG,UAAU,CA+EzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAOzF"}
package/dist/providers.js CHANGED
@@ -128,6 +128,10 @@ function resolveProvider(input) {
128
128
  ...(input.spec.runtime?.length ? { runtime: input.spec.runtime } : {}),
129
129
  ...(input.spec.env?.length ? { env: input.spec.env } : {}),
130
130
  ...(input.spec.noHostTools?.length ? { noHostTools: input.spec.noHostTools } : {}),
131
+ // Model routing survives a preset too. It is read only on the built-in
132
+ // branch, so carrying it to a configured binary changes nothing there.
133
+ ...(input.spec.models === undefined ? {} : { models: input.spec.models }),
134
+ ...(input.spec.effort === undefined ? {} : { effort: input.spec.effort }),
131
135
  ...(input.spec.declared === undefined ? {} : { declared: input.spec.declared }),
132
136
  },
133
137
  preset,
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { type GoalAutonomyState, type PursuitEndCode } from '@looply/core';
2
+ /**
3
+ * WHY A PURSUIT ENDED, SAID TO A PERSON WHO IS NOT A DEVELOPER.
4
+ *
5
+ * The controller decides THAT a pursuit is over and which branch ended it (the
6
+ * `end` code on its terminal action). What it hands over is a sentence for a
7
+ * log — "Start 1 was attempted 3 times and never began" — and until this file
8
+ * the server, and through it a customer's ticket, got even less: "this pursuit
9
+ * ended as human_required". A ticket that says it needs a person must say WHY,
10
+ * plainly, and what was tried.
11
+ *
12
+ * So this turns the code, the controller's own sentence and whatever else this
13
+ * machine remembers (what the launcher said, what the last run said on its way
14
+ * out, whether the safety brake or the AI tool was holding it) into one plain
15
+ * paragraph. It decides nothing: every input is already a conclusion.
16
+ *
17
+ * The words a run or a launcher said are QUOTED, never interpreted — except the
18
+ * two compile notes below, which are this repository's own fixed phrases
19
+ * (exported so `run-cmd` writes exactly what is matched here).
20
+ */
21
+ /** What `run-cmd` notes when the planner produced no steps at all. */
22
+ export declare const COMPILE_EMPTY_NOTE = "compile: the plan came back empty";
23
+ /** The start of what `run-cmd` notes when every planned step was refused. */
24
+ export declare const COMPILE_REFUSED_NOTE = "compile: every step was refused";
25
+ /** Everything known about the ending, beside the controller's own words. */
26
+ export interface EndingContext {
27
+ /** The state the pursuit ends in. */
28
+ state: GoalAutonomyState;
29
+ /** Which branch ended it, from the controller. */
30
+ end: PursuitEndCode;
31
+ /** The controller's own sentence. */
32
+ because: string;
33
+ /** This machine's name, as a person would recognise it. */
34
+ machine: string;
35
+ /** How many Starts the grant allowed. */
36
+ maxStarts: number;
37
+ /** For a Start that never began: how many tries were spent. */
38
+ attempts?: number;
39
+ /** The run's own refusal, verbatim, when the ending is a refusal. */
40
+ refusal?: string;
41
+ /** What the last finished Start said on its way out. */
42
+ lastRunNote?: string;
43
+ /** Why the last try to start a Start did not, when the launcher said. */
44
+ lastLaunchNote?: string;
45
+ /** The safety brake's reason, when it was holding the pursuit. */
46
+ safetyBrake?: string;
47
+ /** Why the AI tool was not ready, when it was not. */
48
+ providerNotReady?: string;
49
+ }
50
+ export interface PursuitEnding {
51
+ code: PursuitEndCode;
52
+ /** One plain paragraph, at most `PURSUIT_END_REASON_MAX` characters, scrubbed. */
53
+ because: string;
54
+ }
55
+ /** The sentence and code for an ending. Pure. */
56
+ export declare function describePursuitEnding(ctx: EndingContext): PursuitEnding;
57
+ //# sourceMappingURL=pursuit-ending.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pursuit-ending.d.ts","sourceRoot":"","sources":["../src/pursuit-ending.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAElG;;;;;;;;;;;;;;;;;;GAkBG;AAEH,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,sCAAsC,CAAC;AACtE,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,oCAAoC,CAAC;AAEtE,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,KAAK,EAAE,iBAAiB,CAAC;IACzB,kDAAkD;IAClD,GAAG,EAAE,cAAc,CAAC;IACpB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;CACjB;AA8BD,iDAAiD;AACjD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa,CAsFvE"}