chorus-codes 0.8.36 → 0.8.37

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/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +1 -1
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  6. package/.next/server/app/_global-error.html +1 -1
  7. package/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +2 -2
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  23. package/.next/server/app/connect/page.js +1 -1
  24. package/.next/server/app/connect/page_client-reference-manifest.js +1 -1
  25. package/.next/server/app/demo/[scenario]/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/new/page.js +1 -1
  27. package/.next/server/app/new/page_client-reference-manifest.js +1 -1
  28. package/.next/server/app/new.html +1 -1
  29. package/.next/server/app/new.rsc +3 -3
  30. package/.next/server/app/new.segments/_full.segment.rsc +3 -3
  31. package/.next/server/app/new.segments/_head.segment.rsc +1 -1
  32. package/.next/server/app/new.segments/_index.segment.rsc +2 -2
  33. package/.next/server/app/new.segments/_tree.segment.rsc +2 -2
  34. package/.next/server/app/new.segments/new/__PAGE__.segment.rsc +2 -2
  35. package/.next/server/app/new.segments/new.segment.rsc +1 -1
  36. package/.next/server/app/onboarding/page.js +1 -1
  37. package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/onboarding.html +1 -1
  39. package/.next/server/app/onboarding.rsc +3 -3
  40. package/.next/server/app/onboarding.segments/_full.segment.rsc +3 -3
  41. package/.next/server/app/onboarding.segments/_head.segment.rsc +1 -1
  42. package/.next/server/app/onboarding.segments/_index.segment.rsc +2 -2
  43. package/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
  44. package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +2 -2
  45. package/.next/server/app/onboarding.segments/onboarding.segment.rsc +1 -1
  46. package/.next/server/app/page.js +1 -1
  47. package/.next/server/app/page_client-reference-manifest.js +1 -1
  48. package/.next/server/app/personas/page_client-reference-manifest.js +1 -1
  49. package/.next/server/app/personas.html +1 -1
  50. package/.next/server/app/personas.rsc +3 -3
  51. package/.next/server/app/personas.segments/_full.segment.rsc +3 -3
  52. package/.next/server/app/personas.segments/_head.segment.rsc +1 -1
  53. package/.next/server/app/personas.segments/_index.segment.rsc +2 -2
  54. package/.next/server/app/personas.segments/_tree.segment.rsc +2 -2
  55. package/.next/server/app/personas.segments/personas/__PAGE__.segment.rsc +2 -2
  56. package/.next/server/app/personas.segments/personas.segment.rsc +1 -1
  57. package/.next/server/app/runs/[runId]/page_client-reference-manifest.js +1 -1
  58. package/.next/server/app/runs/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  60. package/.next/server/app/settings/permissions/page_client-reference-manifest.js +1 -1
  61. package/.next/server/app/settings.html +1 -1
  62. package/.next/server/app/settings.rsc +3 -3
  63. package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  64. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  65. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  66. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  67. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  68. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  69. package/.next/server/app/templates/page.js +1 -1
  70. package/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/templates.html +1 -1
  72. package/.next/server/app/templates.rsc +3 -3
  73. package/.next/server/app/templates.segments/_full.segment.rsc +3 -3
  74. package/.next/server/app/templates.segments/_head.segment.rsc +1 -1
  75. package/.next/server/app/templates.segments/_index.segment.rsc +2 -2
  76. package/.next/server/app/templates.segments/_tree.segment.rsc +2 -2
  77. package/.next/server/app/templates.segments/templates/__PAGE__.segment.rsc +2 -2
  78. package/.next/server/app/templates.segments/templates.segment.rsc +1 -1
  79. package/.next/server/app-paths-manifest.json +1 -1
  80. package/.next/server/chunks/189.js +1 -1
  81. package/.next/server/chunks/642.js +1 -1
  82. package/.next/server/chunks/681.js +1 -1
  83. package/.next/server/middleware-build-manifest.js +1 -1
  84. package/.next/server/pages/404.html +1 -1
  85. package/.next/server/pages/500.html +1 -1
  86. package/.next/server/server-reference-manifest.json +1 -1
  87. package/.next/static/chunks/{245-203bd8285e6b0858.js → 245-c081ea5ea945611e.js} +1 -1
  88. package/.next/static/chunks/{641-7e3f4fc19494c5dc.js → 641-3e7b9575770aa968.js} +1 -1
  89. package/.next/static/chunks/744-0fa71524896d2b59.js +1 -0
  90. package/.next/static/chunks/app/connect/page-ae2d68d73d1fa88a.js +1 -0
  91. package/.next/static/chunks/app/new/page-7793713d2f445862.js +1 -0
  92. package/.next/static/chunks/app/onboarding/{page-da4e2a72a0246245.js → page-0ad8dceca7279475.js} +1 -1
  93. package/.next/static/chunks/app/page-4bbcd06414430038.js +1 -0
  94. package/.next/static/chunks/app/templates/page-5ecd9b15c495b3bd.js +1 -0
  95. package/.next/static/css/b914f2b25cf933a9.css +3 -0
  96. package/.next/trace +20 -20
  97. package/.next/trace-build +1 -1
  98. package/dist/daemon/agents/index.js +13 -8
  99. package/dist/daemon/agents/index.js.map +1 -1
  100. package/dist/daemon/agents/local.js +189 -0
  101. package/dist/daemon/agents/local.js.map +1 -0
  102. package/dist/daemon/runner/fallback-registry.js +20 -6
  103. package/dist/daemon/runner/fallback-registry.js.map +1 -1
  104. package/dist/daemon/runner/reviewer-driver.js +38 -17
  105. package/dist/daemon/runner/reviewer-driver.js.map +1 -1
  106. package/dist/lib/cli-health.js +1 -0
  107. package/dist/lib/cli-health.js.map +1 -1
  108. package/dist/lib/cli-precheck.js +28 -15
  109. package/dist/lib/cli-precheck.js.map +1 -1
  110. package/dist/lib/lineage-maps.js +15 -0
  111. package/dist/lib/lineage-maps.js.map +1 -1
  112. package/dist/lib/template-schema.js +2 -2
  113. package/dist/lib/template-schema.js.map +1 -1
  114. package/package.json +1 -1
  115. package/.next/static/chunks/744-0dbe0ecdef7c2a4a.js +0 -1
  116. package/.next/static/chunks/app/connect/page-d61d0769677393ba.js +0 -1
  117. package/.next/static/chunks/app/new/page-27eb1817c252cd2e.js +0 -1
  118. package/.next/static/chunks/app/page-76efbecd45d24a1a.js +0 -1
  119. package/.next/static/chunks/app/templates/page-c712fc69b314d734.js +0 -1
  120. package/.next/static/css/31de2b5861a11b73.css +0 -3
  121. /package/.next/static/{dwStWF62ISmqJRGfdJJv5 → PLVy0iTepN1xpE0hbQBjx}/_buildManifest.js +0 -0
  122. /package/.next/static/{dwStWF62ISmqJRGfdJJv5 → PLVy0iTepN1xpE0hbQBjx}/_ssgManifest.js +0 -0
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-webpack","duration":11068847,"timestamp":7353439348464,"id":14,"parentId":1,"tags":{},"startTime":1778744809774,"traceId":"cb0991b9025931ce"},{"name":"run-typescript","duration":6192091,"timestamp":7353450421352,"id":2118,"parentId":1,"tags":{},"startTime":1778744820847,"traceId":"cb0991b9025931ce"},{"name":"static-check","duration":457544,"timestamp":7353456658386,"id":2121,"parentId":1,"tags":{},"startTime":1778744827084,"traceId":"cb0991b9025931ce"},{"name":"static-generation","duration":1478592,"timestamp":7353457288605,"id":2161,"parentId":1,"tags":{},"startTime":1778744827715,"traceId":"cb0991b9025931ce"},{"name":"collect-build-traces","duration":6428226,"timestamp":7353457116400,"id":2158,"parentId":1,"tags":{},"startTime":1778744827542,"traceId":"cb0991b9025931ce"},{"name":"telemetry-flush","duration":31,"timestamp":7353463546266,"id":2170,"parentId":1,"tags":{},"startTime":1778744833972,"traceId":"cb0991b9025931ce"},{"name":"next-build","duration":24297813,"timestamp":7353439248493,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778744809675,"traceId":"cb0991b9025931ce"}]
1
+ [{"name":"run-webpack","duration":10729807,"timestamp":7436167036531,"id":14,"parentId":1,"tags":{},"startTime":1778827537463,"traceId":"c85b94a0a21f7e0e"},{"name":"run-typescript","duration":5778829,"timestamp":7436177770477,"id":2118,"parentId":1,"tags":{},"startTime":1778827548197,"traceId":"c85b94a0a21f7e0e"},{"name":"static-check","duration":372552,"timestamp":7436183596962,"id":2121,"parentId":1,"tags":{},"startTime":1778827554023,"traceId":"c85b94a0a21f7e0e"},{"name":"static-generation","duration":1571708,"timestamp":7436184133106,"id":2161,"parentId":1,"tags":{},"startTime":1778827554559,"traceId":"c85b94a0a21f7e0e"},{"name":"collect-build-traces","duration":6382827,"timestamp":7436183969998,"id":2158,"parentId":1,"tags":{},"startTime":1778827554396,"traceId":"c85b94a0a21f7e0e"},{"name":"telemetry-flush","duration":34,"timestamp":7436190354616,"id":2170,"parentId":1,"tags":{},"startTime":1778827560781,"traceId":"c85b94a0a21f7e0e"},{"name":"next-build","duration":23422049,"timestamp":7436166932611,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778827537359,"traceId":"c85b94a0a21f7e0e"}]
@@ -5,7 +5,7 @@
5
5
  * that handles launch commands, prompt formatting, and cost estimation.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.openrouterShim = exports.kimiShim = exports.opencodeShim = exports.geminiShim = exports.codexShim = exports.claudeShim = void 0;
8
+ exports.localShim = exports.openrouterShim = exports.kimiShim = exports.opencodeShim = exports.geminiShim = exports.codexShim = exports.claudeShim = void 0;
9
9
  exports.pickShimForVoice = pickShimForVoice;
10
10
  exports.isHttpDispatchedShim = isHttpDispatchedShim;
11
11
  const claude_js_1 = require("./claude.js");
@@ -20,6 +20,8 @@ const kimi_js_1 = require("./kimi.js");
20
20
  Object.defineProperty(exports, "kimiShim", { enumerable: true, get: function () { return kimi_js_1.kimiShim; } });
21
21
  const openrouter_js_1 = require("./openrouter.js");
22
22
  Object.defineProperty(exports, "openrouterShim", { enumerable: true, get: function () { return openrouter_js_1.openrouterShim; } });
23
+ const local_js_1 = require("./local.js");
24
+ Object.defineProperty(exports, "localShim", { enumerable: true, get: function () { return local_js_1.localShim; } });
23
25
  const SHIMS = {
24
26
  anthropic: claude_js_1.claudeShim,
25
27
  openai: codex_js_1.codexShim,
@@ -27,6 +29,7 @@ const SHIMS = {
27
29
  opencode: opencode_js_1.opencodeShim,
28
30
  moonshot: kimi_js_1.kimiShim,
29
31
  openrouter: openrouter_js_1.openrouterShim,
32
+ local: local_js_1.localShim,
30
33
  any: claude_js_1.claudeShim, // Fallback to Claude
31
34
  };
32
35
  const registry = {
@@ -38,22 +41,24 @@ const registry = {
38
41
  },
39
42
  };
40
43
  /**
41
- * Pick a shim taking the model id into account. When the model has the
42
- * `openrouter:` prefix, dispatch goes through the HTTP shim regardless of
43
- * the slot's declared lineage the lineage is preserved on the voice row
44
- * for diversity scoring, but the actual transport is OpenRouter's
45
- * chat-completions API.
44
+ * Pick a shim taking the model id into account.
45
+ *
46
+ * - `openrouter:*` model ids openrouterShim (HTTP, regardless of lineage)
47
+ * - `local:*` model ids localShim (HTTP, regardless of lineage)
48
+ * - everything else → registry lookup by lineage
46
49
  *
47
50
  * Callers that have a model hint (runner doer + reviewer dispatch) should
48
- * use this; callers that don't (legacy paths) can keep using `registry.pickShim`.
51
+ * use this; callers that don't (legacy paths) can keep using registry.pickShim.
49
52
  */
50
53
  function pickShimForVoice(lineage, model) {
51
54
  if (model && model.startsWith('openrouter:'))
52
55
  return openrouter_js_1.openrouterShim;
56
+ if (model && model.startsWith('local:'))
57
+ return local_js_1.localShim;
53
58
  return registry.pickShim(lineage);
54
59
  }
55
60
  /** True when this voice should bypass CLI-credential precheck (HTTP-auth instead). */
56
61
  function isHttpDispatchedShim(shim) {
57
- return shim === openrouter_js_1.openrouterShim;
62
+ return shim === openrouter_js_1.openrouterShim || shim === local_js_1.localShim;
58
63
  }
59
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/daemon/agents/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAwCH,4CAGC;AAGD,oDAEC;AA7CD,2CAAyC;AAgDhC,2FAhDA,sBAAU,OAgDA;AA/CnB,yCAAuC;AA+ClB,0FA/CZ,oBAAS,OA+CY;AA9C9B,2CAAyC;AA8CT,2FA9CvB,sBAAU,OA8CuB;AA7C1C,+CAA6C;AA6CD,6FA7CnC,0BAAY,OA6CmC;AA5CxD,uCAAqC;AA4CqB,yFA5CjD,kBAAQ,OA4CiD;AA3ClE,mDAAiD;AA2CmB,+FA3C3D,8BAAc,OA2C2D;AAzClF,MAAM,KAAK,GAA+B;IACxC,SAAS,EAAE,sBAAU;IACrB,MAAM,EAAE,oBAAS;IACjB,MAAM,EAAE,sBAAU;IAClB,QAAQ,EAAE,0BAAY;IACtB,QAAQ,EAAE,kBAAQ;IAClB,UAAU,EAAE,8BAAc;IAC1B,GAAG,EAAE,sBAAU,EAAE,qBAAqB;CACvC,CAAC;AAEF,MAAM,QAAQ,GAAkB;IAC9B,QAAQ,CAAC,OAAgB;QACvB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;IACrC,CAAC;IAED,aAAa;QACX,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC;AAEF;;;;;;;;;GASG;AACH,SAAgB,gBAAgB,CAAC,OAAgB,EAAE,KAAc;IAC/D,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,8BAAc,CAAC;IACpE,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,sFAAsF;AACtF,SAAgB,oBAAoB,CAAC,IAAe;IAClD,OAAO,IAAI,KAAK,8BAAc,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/daemon/agents/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA0CH,4CAIC;AAGD,oDAEC;AAhDD,2CAAyC;AAmDhC,2FAnDA,sBAAU,OAmDA;AAlDnB,yCAAuC;AAkDlB,0FAlDZ,oBAAS,OAkDY;AAjD9B,2CAAyC;AAiDT,2FAjDvB,sBAAU,OAiDuB;AAhD1C,+CAA6C;AAgDD,6FAhDnC,0BAAY,OAgDmC;AA/CxD,uCAAqC;AA+CqB,yFA/CjD,kBAAQ,OA+CiD;AA9ClE,mDAAiD;AA8CmB,+FA9C3D,8BAAc,OA8C2D;AA7ClF,yCAAuC;AA6C6C,0FA7C3E,oBAAS,OA6C2E;AA3C7F,MAAM,KAAK,GAA+B;IACxC,SAAS,EAAE,sBAAU;IACrB,MAAM,EAAE,oBAAS;IACjB,MAAM,EAAE,sBAAU;IAClB,QAAQ,EAAE,0BAAY;IACtB,QAAQ,EAAE,kBAAQ;IAClB,UAAU,EAAE,8BAAc;IAC1B,KAAK,EAAE,oBAAS;IAChB,GAAG,EAAE,sBAAU,EAAE,qBAAqB;CACvC,CAAC;AAEF,MAAM,QAAQ,GAAkB;IAC9B,QAAQ,CAAC,OAAgB;QACvB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;IACrC,CAAC;IAED,aAAa;QACX,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC;AAEF;;;;;;;;;GASG;AACH,SAAgB,gBAAgB,CAAC,OAAgB,EAAE,KAAc;IAC/D,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,8BAAc,CAAC;IACpE,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,oBAAS,CAAC;IAC1D,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,sFAAsF;AACtF,SAAgB,oBAAoB,CAAC,IAAe;IAClD,OAAO,IAAI,KAAK,8BAAc,IAAI,IAAI,KAAK,oBAAS,CAAC;AACvD,CAAC"}
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ /**
3
+ * Local LLM HTTP shim — dispatches chat completions to any OpenAI-compatible
4
+ * endpoint (ollama, llama-swap, LM Studio, vLLM, etc.) with `stream=true` and
5
+ * parses the resulting SSE into AgentEvents.
6
+ *
7
+ * This is the v1.0 roadmap item: "Local-LLM adapter (Ollama / LM Studio / vLLM
8
+ * via OpenAI-compatible base URL)". No external subscription or CLI binary
9
+ * required — only a running local inference server.
10
+ *
11
+ * Configured via the 'local' secret in the secrets table.
12
+ * Secret format: JSON with `base_url` (required) and optional `api_key`.
13
+ * Example: {"base_url": "http://127.0.0.1:11434/v1", "api_key": ""}
14
+ *
15
+ * When no secret is saved, falls back to DEFAULT_BASE (Ollama default port).
16
+ *
17
+ * Lineage tag is 'local'. Dispatch: see pickShimForVoice in agents/index.ts.
18
+ * When the model id starts with 'local:', this shim is selected regardless of
19
+ * the slot's declared lineage. Precheck (CLI credential) is skipped — auth is
20
+ * the base_url + api_key in the secrets table.
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.localShim = void 0;
24
+ const index_js_1 = require("../../lib/db/index.js");
25
+ const cli_health_js_1 = require("../../lib/cli-health.js");
26
+ const index_js_2 = require("./parsers/index.js");
27
+ const DEFAULT_BASE = 'http://127.0.0.1:11434/v1';
28
+ const DEFAULT_TIMEOUT_MS = 10 * 60 * 1000;
29
+ exports.localShim = {
30
+ lineage: 'local',
31
+ name: 'local',
32
+ buildLaunchCommand(_opts) {
33
+ throw new Error('localShim has no tmux launch path — runner must use runHeadless');
34
+ },
35
+ formatPrompt(_opts) {
36
+ throw new Error('localShim does not use file-based prompt nudging — runHeadless ' +
37
+ 'passes promptText into the request body directly');
38
+ },
39
+ runHeadless(opts) {
40
+ return runLocalStream(opts);
41
+ },
42
+ estimateCostUsd(_input, _output, _model) {
43
+ return 0; // Local inference has no API cost.
44
+ },
45
+ };
46
+ async function* runLocalStream(opts) {
47
+ const stored = await index_js_1.secrets.get('local');
48
+ // Guard JSON.parse — a malformed secret (truncated write, manual edit)
49
+ // would otherwise throw synchronously inside the async generator and
50
+ // surface as an opaque "threw" with no structured event in the run log.
51
+ // Yield a typed error so the cockpit can show "fix your Local LLM
52
+ // settings" instead.
53
+ let config = {};
54
+ if (stored) {
55
+ try {
56
+ config = JSON.parse(stored.value);
57
+ }
58
+ catch {
59
+ yield {
60
+ type: 'error',
61
+ kind: 'config_parse',
62
+ message: 'Local LLM secret is not valid JSON. Re-save the endpoint on Settings → Local LLM.',
63
+ };
64
+ return;
65
+ }
66
+ }
67
+ const base = config.base_url ?? DEFAULT_BASE;
68
+ const apiKey = config.api_key ?? '';
69
+ const rawModel = opts.model;
70
+ if (!rawModel) {
71
+ yield { type: 'error', kind: 'validation', message: 'Local dispatch requires an explicit model — none supplied.' };
72
+ return;
73
+ }
74
+ const model = rawModel.startsWith('local:') ? rawModel.slice('local:'.length) : rawModel;
75
+ const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
76
+ const timeoutCtl = new AbortController();
77
+ const timeoutHandle = setTimeout(() => timeoutCtl.abort('timeout'), timeoutMs);
78
+ const signals = [timeoutCtl.signal];
79
+ if (opts.abortSignal)
80
+ signals.push(opts.abortSignal);
81
+ const composed = AbortSignal.any(signals);
82
+ let accumulated = '';
83
+ let finishedNaturally = false;
84
+ try {
85
+ const headers = { 'Content-Type': 'application/json' };
86
+ if (apiKey)
87
+ headers['Authorization'] = `Bearer ${apiKey}`;
88
+ const res = await fetch(`${base}/chat/completions`, {
89
+ method: 'POST',
90
+ headers,
91
+ body: JSON.stringify({
92
+ model,
93
+ messages: [{ role: 'user', content: opts.promptText }],
94
+ stream: true,
95
+ }),
96
+ signal: composed,
97
+ });
98
+ if (!res.ok) {
99
+ let errMessage = `Local endpoint returned ${res.status}`;
100
+ let rawBody = '';
101
+ try {
102
+ rawBody = await res.text();
103
+ const parsed = JSON.parse(rawBody);
104
+ if (parsed.error?.message)
105
+ errMessage = parsed.error.message;
106
+ else if (rawBody.length > 0 && rawBody.length < 500)
107
+ errMessage = rawBody;
108
+ }
109
+ catch { /* keep status-code message */ }
110
+ console.warn(`[local] dispatch failed model=${model} status=${res.status} message=${errMessage}`);
111
+ yield { type: 'error', kind: `local_${res.status}`, message: errMessage };
112
+ return;
113
+ }
114
+ if (!res.body) {
115
+ yield { type: 'error', kind: 'local_no_body', message: 'Local response had no body.' };
116
+ return;
117
+ }
118
+ const reader = res.body.getReader();
119
+ const decoder = new TextDecoder();
120
+ let buffer = '';
121
+ while (true) {
122
+ const { value, done } = await reader.read();
123
+ if (done)
124
+ break;
125
+ buffer += decoder.decode(value, { stream: true });
126
+ let boundary;
127
+ while ((boundary = findEventBoundary(buffer)) !== -1) {
128
+ const rawEvent = buffer.slice(0, boundary);
129
+ buffer = buffer.slice(boundary).replace(/^[\r\n]+/, '');
130
+ const dataLines = rawEvent
131
+ .split('\n')
132
+ .filter((l) => l.startsWith('data:'))
133
+ .map((l) => l.slice('data:'.length).replace(/^ /, ''));
134
+ const payload = dataLines.join('\n');
135
+ if (payload.length === 0)
136
+ continue;
137
+ for (const ev of (0, index_js_2.parseOpenRouterSSE)(payload)) {
138
+ if (ev.type === 'text_delta') {
139
+ accumulated += ev.text;
140
+ yield ev;
141
+ }
142
+ else if (ev.type === 'message_done') {
143
+ // Usage-bearing chunk — swallow, emit consolidated message_done at end.
144
+ }
145
+ else if (ev.type === 'error') {
146
+ yield ev;
147
+ return;
148
+ }
149
+ else {
150
+ yield ev;
151
+ }
152
+ }
153
+ }
154
+ }
155
+ finishedNaturally = true;
156
+ }
157
+ catch (err) {
158
+ const aborted = composed.aborted;
159
+ const reason = composed.aborted ? composed.reason : undefined;
160
+ if (aborted && reason === 'timeout') {
161
+ yield { type: 'error', kind: 'timeout', message: `Local dispatch exceeded ${Math.round(timeoutMs / 1000)}s.` };
162
+ }
163
+ else if (aborted) {
164
+ yield { type: 'error', kind: 'aborted', message: 'Local dispatch was cancelled.' };
165
+ }
166
+ else {
167
+ const message = err instanceof Error ? err.message : String(err);
168
+ yield { type: 'error', kind: 'local_fetch_failed', message: `Network error: ${message}` };
169
+ }
170
+ return;
171
+ }
172
+ finally {
173
+ clearTimeout(timeoutHandle);
174
+ }
175
+ if (finishedNaturally) {
176
+ (0, cli_health_js_1.recordHealth)({ lineage: 'local', status: 'healthy' }).catch(() => { });
177
+ yield { type: 'message_done', finalText: accumulated };
178
+ }
179
+ }
180
+ function findEventBoundary(buf) {
181
+ const lf = buf.indexOf('\n\n');
182
+ const crlf = buf.indexOf('\r\n\r\n');
183
+ if (lf === -1)
184
+ return crlf;
185
+ if (crlf === -1)
186
+ return lf;
187
+ return Math.min(lf, crlf);
188
+ }
189
+ //# sourceMappingURL=local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/daemon/agents/local.ts"],"names":[],"mappings":"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"}
@@ -16,14 +16,28 @@
16
16
  *
17
17
  * Semantics:
18
18
  * - `tryClaim(chatId, round, lineage, model)` — true on first claim,
19
- * false if another slot in the same chat/round is already running
20
- * this exact (lineage, model). Idempotent guard, never throws.
21
- * - `release(...)` — called by the same slot when its attempt
22
- * finishes (success, null, throw — all paths). Other slots can now
23
- * claim. Idempotent.
19
+ * false if another slot in the same chat/round has ALREADY run or
20
+ * IS running this exact (lineage, model). Idempotent guard.
21
+ * - `release(...)` — called by the slot ONLY when its attempt FAILED
22
+ * (returned null or threw). On success, the claim is held through
23
+ * the round so a later sequential slot can't re-run the same
24
+ * (lineage, model) and produce a duplicate output. Idempotent.
24
25
  * - `resetRound(chatId, round)` — drops all claims for a chat/round.
25
26
  * Called from runner on phase_done so a multi-round chat starts
26
- * each round with a clean registry.
27
+ * each round with a clean registry. This is the only path that
28
+ * releases successful claims.
29
+ *
30
+ * Why hold on success (and not just in-flight):
31
+ * With the daemon-wide CLI semaphore (chorus-102), reviewer slots
32
+ * often run sequentially, not in parallel. If we released the claim
33
+ * on success, slot A could finish a fallback target, release, and
34
+ * then slot B (whose chain reaches the same target) would re-claim
35
+ * it — two reviewers both running anthropic/claude-sonnet-4-6 on
36
+ * the same round, defeating lineage diversity. Holding the claim
37
+ * for the whole round forces B to advance to the next chain entry.
38
+ * On failure, we release so B can still try the same target — if it
39
+ * failed for A, that's a model-state failure, not a "model already
40
+ * covered" condition.
27
41
  *
28
42
  * Why per-round, not per-chat:
29
43
  * Round 2 reviewers are a fresh fan-out; their fallback targets
@@ -1 +1 @@
1
- {"version":3,"file":"fallback-registry.js","sourceRoot":"","sources":["../../../src/daemon/runner/fallback-registry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;;;AAgBH,4BAgBC;AAED,0BAgBC;AAED,gCAEC;AAOD,4BAMC;AAjED,MAAM,QAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC;AAErD,SAAS,QAAQ,CAAC,MAAc,EAAE,KAAa;IAC7C,OAAO,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,KAAyB;IAC1D,8DAA8D;IAC9D,mEAAmE;IACnE,kEAAkE;IAClE,4DAA4D;IAC5D,OAAO,GAAG,OAAO,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;AAC9C,CAAC;AAED,SAAgB,QAAQ,CACtB,MAAc,EACd,KAAa,EACb,OAAe,EACf,KAAyB;IAEzB,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,OAAO,CACrB,MAAc,EACd,KAAa,EACb,OAAe,EACf,KAAyB;IAEzB,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACrC,sEAAsE;IACtE,oEAAoE;IACpE,iEAAiE;IACjE,mEAAmE;IACnE,6DAA6D;IAC7D,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;QAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,UAAU,CAAC,MAAc,EAAE,KAAa;IACtD,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAgB,QAAQ;IACtB,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAEY,QAAA,QAAQ,GAAG;IACtB,KAAK,EAAE,GAAS,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"fallback-registry.js","sourceRoot":"","sources":["../../../src/daemon/runner/fallback-registry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;;;AAgBH,4BAgBC;AAED,0BAgBC;AAED,gCAEC;AAOD,4BAMC;AAjED,MAAM,QAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC;AAErD,SAAS,QAAQ,CAAC,MAAc,EAAE,KAAa;IAC7C,OAAO,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,KAAyB;IAC1D,8DAA8D;IAC9D,mEAAmE;IACnE,kEAAkE;IAClE,4DAA4D;IAC5D,OAAO,GAAG,OAAO,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;AAC9C,CAAC;AAED,SAAgB,QAAQ,CACtB,MAAc,EACd,KAAa,EACb,OAAe,EACf,KAAyB;IAEzB,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,OAAO,CACrB,MAAc,EACd,KAAa,EACb,OAAe,EACf,KAAyB;IAEzB,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACrC,sEAAsE;IACtE,oEAAoE;IACpE,iEAAiE;IACjE,mEAAmE;IACnE,6DAA6D;IAC7D,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;QAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,UAAU,CAAC,MAAc,EAAE,KAAa;IACtD,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAgB,QAAQ;IACtB,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAEY,QAAA,QAAQ,GAAG;IACtB,KAAK,EAAE,GAAS,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF,CAAC"}
@@ -185,10 +185,19 @@ async function runReviewers(chatDir, chatId, phase, phaseIdx, round, doerOutput,
185
185
  // chorus-085 (see memory `feedback_let_all_reviewers_finish`),
186
186
  // unchanged by this PR. We're only swapping the worker-pool
187
187
  // implementation for a daemon-wide semaphore.
188
- await Promise.all([
189
- ...localCandidateIdxs.map((i) => runOne(i)),
190
- ...httpCandidateIdxs.map((i) => runOne(i)),
191
- ]);
188
+ try {
189
+ await Promise.all([
190
+ ...localCandidateIdxs.map((i) => runOne(i)),
191
+ ...httpCandidateIdxs.map((i) => runOne(i)),
192
+ ]);
193
+ }
194
+ finally {
195
+ // Drop any fallback claims that succeeded in this round so the next
196
+ // round (and a long-lived daemon) doesn't accumulate held targets.
197
+ // Failed claims were released inline; successful ones are dropped
198
+ // here. Safe to call when there are no claims — no-op.
199
+ (0, fallback_registry_js_1.resetRound)(chatId, round);
200
+ }
192
201
  const agreedCount = reviews.filter((r) => r.outcome === 'agreed').length;
193
202
  const failedCount = reviews.filter((r) => r.outcome === 'failed').length;
194
203
  const agreed = agreedCount >= required;
@@ -412,16 +421,18 @@ async function runReviewer(chatDir, chatId, phase, phaseIdx, round, reviewerIdx,
412
421
  });
413
422
  return null;
414
423
  }
424
+ // Cross-lineage swap: when the entry's lineage differs from the
425
+ // slot's primary, re-resolve the shim. The slot's identity
426
+ // (agentName, reviewerDir, participant key) stays bound to the
427
+ // primary lineage so the cockpit card doesn't re-key mid-run —
428
+ // the cli_warning below tells the UI a swap happened.
429
+ const entryShim = entry.lineage === candidate.lineage
430
+ ? shim
431
+ : (0, index_js_2.pickShimForVoice)(entry.lineage, entry.model);
432
+ let result;
433
+ let threw = false;
415
434
  try {
416
- // Cross-lineage swap: when the entry's lineage differs from the
417
- // slot's primary, re-resolve the shim. The slot's identity
418
- // (agentName, reviewerDir, participant key) stays bound to the
419
- // primary lineage so the cockpit card doesn't re-key mid-run —
420
- // the cli_warning below tells the UI a swap happened.
421
- const entryShim = entry.lineage === candidate.lineage
422
- ? shim
423
- : (0, index_js_2.pickShimForVoice)(entry.lineage, entry.model);
424
- return await (0, reviewer_js_1.runReviewerHeadless)({
435
+ result = await (0, reviewer_js_1.runReviewerHeadless)({
425
436
  shim: entryShim,
426
437
  chatId,
427
438
  phase,
@@ -436,12 +447,22 @@ async function runReviewer(chatDir, chatId, phase, phaseIdx, round, reviewerIdx,
436
447
  abortSignal: handle.signal,
437
448
  onEvent,
438
449
  });
450
+ return result;
451
+ }
452
+ catch (err) {
453
+ threw = true;
454
+ throw err;
439
455
  }
440
456
  finally {
441
- // Release whether the attempt succeeded, returned null, or
442
- // threwthe slot is no longer running this target, so
443
- // another slot's chain advance can claim it next.
444
- (0, fallback_registry_js_1.release)(chatId, round, entry.lineage, entry.model);
457
+ // Hold the claim through the round when the attempt
458
+ // succeededanother slot reaching the same fallback
459
+ // target should advance instead of producing a duplicate
460
+ // output. Release only on failure (null or throw) so the
461
+ // next slot can still try this target. resetRound on
462
+ // phase_done clears successful claims for the next round.
463
+ if (threw || result === null) {
464
+ (0, fallback_registry_js_1.release)(chatId, round, entry.lineage, entry.model);
465
+ }
445
466
  }
446
467
  }, (from, to, fromIdx) => {
447
468
  const sameLineage = from.lineage === to.lineage;
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer-driver.js","sourceRoot":"","sources":["../../../src/daemon/runner/reviewer-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewer-driver.js","sourceRoot":"","sources":["../../../src/daemon/runner/reviewer-driver.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ const ALL_LINEAGES = [
25
25
  'opencode',
26
26
  'moonshot',
27
27
  'openrouter',
28
+ 'local',
28
29
  ];
29
30
  async function recordHealth(input) {
30
31
  const payload = {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-health.js","sourceRoot":"","sources":["../../src/lib/cli-health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-health.js","sourceRoot":"","sources":["../../src/lib/cli-health.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,9 @@ const CRED_PATHS = {
72
72
  // the secrets table. The shim itself returns auth_missing when the
73
73
  // key is unset, which surfaces the same UX without a file probe.
74
74
  openrouter: () => [],
75
+ // Local LLM has no credential file — the base_url lives in the secrets
76
+ // table. The shim errors with auth_missing when base_url is unset.
77
+ local: () => [],
75
78
  };
76
79
  const LOGIN_HINT = {
77
80
  anthropic: 'Run `claude login` in a terminal.',
@@ -80,31 +83,41 @@ const LOGIN_HINT = {
80
83
  opencode: 'Run `opencode auth login` in a terminal.',
81
84
  moonshot: 'Run `kimi` once interactively, or set up opencode if you use the kimi-via-opencode transport.',
82
85
  openrouter: 'Save an OpenRouter API key on the Connect page.',
86
+ local: 'Set a Local LLM base URL on the Connect page.',
83
87
  };
84
88
  /**
85
89
  * Claude Code v2+ stores OAuth credentials in the macOS Keychain instead of a
86
90
  * file on disk. Probe the Keychain for existence only (no `-w` flag — avoids
87
91
  * ACL prompts in headless contexts). Returns false on non-macOS platforms.
92
+ *
93
+ * Claude Code uses TWO different Keychain services depending on the auth flow
94
+ * (issue #38):
95
+ * - `Claude Code-credentials` — Pro/Max OAuth via `claude login`
96
+ * - `Claude Code` (no suffix) — API-key auth and some Console-account flows
97
+ * Either entry means the user is authenticated; probe both.
88
98
  */
89
99
  const KEYCHAIN_SERVICES = {
90
- anthropic: 'Claude Code-credentials',
100
+ anthropic: ['Claude Code-credentials', 'Claude Code'],
91
101
  };
92
102
  function hasKeychainEntry(lineage) {
93
103
  if (process.platform !== 'darwin')
94
104
  return false;
95
- const service = KEYCHAIN_SERVICES[lineage];
96
- if (!service)
97
- return false;
98
- try {
99
- (0, node_child_process_1.execFileSync)('security', ['find-generic-password', '-s', service], {
100
- stdio: 'ignore',
101
- timeout: 5000,
102
- });
103
- return true;
104
- }
105
- catch {
105
+ const services = KEYCHAIN_SERVICES[lineage];
106
+ if (!services || services.length === 0)
106
107
  return false;
108
+ for (const service of services) {
109
+ try {
110
+ (0, node_child_process_1.execFileSync)('security', ['find-generic-password', '-s', service], {
111
+ stdio: 'ignore',
112
+ timeout: 5000,
113
+ });
114
+ return true;
115
+ }
116
+ catch {
117
+ /* try next candidate */
118
+ }
107
119
  }
120
+ return false;
108
121
  }
109
122
  /**
110
123
  * Check whether at least one of the candidate credential paths for `lineage`
@@ -147,9 +160,9 @@ async function precheckLineage(lineage) {
147
160
  // resetAt missing or already past — fall through and let the spawn try.
148
161
  // Stale health markers self-clear when a successful run records 'healthy'.
149
162
  }
150
- // OpenRouter has no on-disk creds — the shim itself errors with
151
- // auth_missing when the secrets-table key is absent. Skip the file probe.
152
- if (lineage === 'openrouter') {
163
+ // OpenRouter and local LLM have no on-disk creds — the shim itself errors
164
+ // with auth_missing when the secrets-table key/url is absent. Skip file probe.
165
+ if (lineage === 'openrouter' || lineage === 'local') {
153
166
  return { ok: true };
154
167
  }
155
168
  // Layer 2: credential file presence. Cheap, catches "logged out" without
@@ -1 +1 @@
1
- {"version":3,"file":"cli-precheck.js","sourceRoot":"","sources":["../../src/lib/cli-precheck.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-precheck.js","sourceRoot":"","sources":["../../src/lib/cli-precheck.ts"],"names":[],"mappings":"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"}