@iowarp/clio-coder 0.4.5 → 0.4.6

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 (188) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/CONTRIBUTING.md +14 -9
  3. package/NOTICE +16 -0
  4. package/README.md +312 -685
  5. package/dist/{acp-H3CU2HBQ.js → acp-UVEVWSDL.js} +6 -6
  6. package/dist/{agents-IXQQZ7BD.js → agents-VWY37DTK.js} +31 -30
  7. package/dist/assets/codewiki.json +1 -1
  8. package/dist/{auth-R7KYF7N3.js → auth-PCV2XQDV.js} +6 -6
  9. package/dist/{builtins-CRFDQUVP.js → builtins-PD652MTK.js} +3 -3
  10. package/dist/{chunk-SDWNDICN.js → chunk-24T2YZ7A.js} +58 -56
  11. package/dist/{chunk-FSTIBAGM.js → chunk-2AKYFREM.js} +7 -7
  12. package/dist/{chunk-SE4ZKILO.js → chunk-3BJGMT2D.js} +30 -9
  13. package/dist/{chunk-GVYWZNRK.js → chunk-3HQVBIKD.js} +2 -2
  14. package/dist/{chunk-EWD5P3GK.js → chunk-3JLFK5MW.js} +4 -4
  15. package/dist/{chunk-O2RQ7LCK.js → chunk-3O2ZAUGQ.js} +2 -2
  16. package/dist/{chunk-GXCCHKN6.js → chunk-3QKXHCGS.js} +4 -4
  17. package/dist/{chunk-YEJIG7LN.js → chunk-3WBALRQH.js} +7 -7
  18. package/dist/{chunk-I7VLWRK2.js → chunk-4DU2TVI4.js} +5 -5
  19. package/dist/{chunk-TEG3RYVZ.js → chunk-4U4TKZFR.js} +3 -3
  20. package/dist/{chunk-EHCPSZJF.js → chunk-4VMV6OS6.js} +2 -2
  21. package/dist/{chunk-T7FDXNRU.js → chunk-536HXRFE.js} +4 -4
  22. package/dist/{chunk-ZMZQEBKI.js → chunk-5QRX7SLS.js} +8 -8
  23. package/dist/{chunk-RXIOCVBZ.js → chunk-6HAO6X5B.js} +4 -4
  24. package/dist/{chunk-HGSLRG33.js → chunk-6OII3LOK.js} +2 -2
  25. package/dist/{chunk-U2JOLB7O.js → chunk-6RYDAVQT.js} +32 -32
  26. package/dist/{chunk-T53XI6I7.js → chunk-6VRRJT7L.js} +2 -2
  27. package/dist/{chunk-RLTT5GVY.js → chunk-7JSSKXG2.js} +4 -4
  28. package/dist/{chunk-633EXGZA.js → chunk-ACCKVSHU.js} +3 -3
  29. package/dist/{chunk-6SYEGZI3.js → chunk-B3MOMLJ4.js} +2 -2
  30. package/dist/{chunk-UXAC2FX4.js → chunk-BLTEAUCB.js} +3 -3
  31. package/dist/{chunk-DRD2A54W.js → chunk-BT7HGDOX.js} +15 -15
  32. package/dist/{chunk-F34AR6O3.js → chunk-DXLUVUD4.js} +5 -5
  33. package/dist/{chunk-HR3HPQ76.js → chunk-E7RF4KBO.js} +2 -2
  34. package/dist/chunk-EM2WNQS2.js +93 -0
  35. package/dist/{chunk-KYKNBD4Y.js → chunk-F5Z7EWMN.js} +953 -233
  36. package/dist/{chunk-VLPTKCKT.js → chunk-GLYBJ4RQ.js} +3 -3
  37. package/dist/{chunk-KDWLXVMN.js → chunk-HPTJF6DG.js} +16 -39
  38. package/dist/{chunk-6CDNRHWH.js → chunk-HZ2T2YED.js} +2 -2
  39. package/dist/{chunk-UTUNT5QL.js → chunk-HZFBVU5X.js} +7 -7
  40. package/dist/{chunk-KF6GFW6O.js → chunk-I2K2NCZQ.js} +7 -7
  41. package/dist/{chunk-5DDOTTG4.js → chunk-IGLVVNEG.js} +2 -2
  42. package/dist/{chunk-4SVIVOMC.js → chunk-IKRWLEDA.js} +5 -5
  43. package/dist/{chunk-R6MAYTMS.js → chunk-JMPL7NUB.js} +3 -3
  44. package/dist/{chunk-5ZMXGW7P.js → chunk-KAFMW7WM.js} +4 -85
  45. package/dist/{chunk-R6MICQYU.js → chunk-LIN2K3EL.js} +4 -4
  46. package/dist/{chunk-QEQISF75.js → chunk-LK2FN5JY.js} +1 -1
  47. package/dist/{chunk-YYB3MC65.js → chunk-N2OKBREN.js} +2 -2
  48. package/dist/{chunk-XXBQKW32.js → chunk-NNWJYUNO.js} +4 -4
  49. package/dist/{chunk-TZ7MFRG4.js → chunk-P5JMBPDJ.js} +22 -20
  50. package/dist/{chunk-WFKDPU7U.js → chunk-P6M7RKMI.js} +2 -2
  51. package/dist/{chunk-MDU3C27C.js → chunk-PZN2LQY6.js} +5 -5
  52. package/dist/{chunk-S32UQ5GL.js → chunk-Q7NNUHQV.js} +15 -15
  53. package/dist/{chunk-U7VQ4NI4.js → chunk-QCOV5DFY.js} +5 -5
  54. package/dist/{chunk-MC3JSVR6.js → chunk-QJMRYTCX.js} +7 -7
  55. package/dist/{chunk-DIMRLNIC.js → chunk-QNWRHOMF.js} +3 -3
  56. package/dist/{chunk-ILJ7DWGE.js → chunk-QXFBABFJ.js} +4 -4
  57. package/dist/chunk-R2CT5YDO.js +66 -0
  58. package/dist/{chunk-E3BQTQUP.js → chunk-RGZNQ5CT.js} +3 -3
  59. package/dist/{chunk-SBZX6ARC.js → chunk-SXQKNKRA.js} +7 -7
  60. package/dist/{chunk-WLMSOT73.js → chunk-TJFDL26W.js} +3 -3
  61. package/dist/{chunk-EQEJJ53P.js → chunk-VAHLPXPY.js} +2 -2
  62. package/dist/{chunk-7TKWWPD7.js → chunk-VANN3GDP.js} +3 -23
  63. package/dist/{chunk-GNQRWTMY.js → chunk-VHMX7SXF.js} +2 -2
  64. package/dist/{chunk-UL36QJX6.js → chunk-WKUYQBCG.js} +6 -6
  65. package/dist/{chunk-FKIOX6DS.js → chunk-WNGF5AJX.js} +9 -4
  66. package/dist/{chunk-ICO4TQ2F.js → chunk-WV6TDAPN.js} +36 -20
  67. package/dist/{chunk-K6RDB7IA.js → chunk-X3BI7HTV.js} +9 -9
  68. package/dist/{chunk-NY6IWDVU.js → chunk-XWMSPJYN.js} +2 -2
  69. package/dist/{chunk-7HBHHVCK.js → chunk-YPRSNUTC.js} +2 -2
  70. package/dist/{chunk-ONRTXOZY.js → chunk-ZS43Y2FT.js} +2 -2
  71. package/dist/cli/index.js +27 -27
  72. package/dist/{clio-5I2IBFYL.js → clio-QQCMTUZE.js} +6 -6
  73. package/dist/{code-nav-YXIAEZVS.js → code-nav-GUPM6766.js} +8 -8
  74. package/dist/{config-Y2JDJ3JJ.js → config-IIM7YOD3.js} +42 -41
  75. package/dist/{configure-SML6UBZ5.js → configure-4ZM5HWJX.js} +28 -10
  76. package/dist/{context-S2EEC3EJ.js → context-44BZLJ3J.js} +12 -12
  77. package/dist/{context-P5YSEO55.js → context-AIDVQKMW.js} +34 -33
  78. package/dist/{context-QQ53HSGJ.js → context-OL5P3HEP.js} +25 -24
  79. package/dist/{context-clear-TMEQCOTH.js → context-clear-OQV76MYP.js} +34 -33
  80. package/dist/{context-working-set-CNLSQN5K.js → context-working-set-ZUW3EGLS.js} +10 -9
  81. package/dist/{detail-5572VLBO.js → detail-UXPWRANG.js} +35 -34
  82. package/dist/{dispatch-runner-FRHD6P2O.js → dispatch-runner-P3ZW6G77.js} +38 -37
  83. package/dist/{doctor-N3LCM2LG.js → doctor-JJVGPZWT.js} +18 -17
  84. package/dist/{eval-BUU3ZOUZ.js → eval-V2RTN3UH.js} +26 -25
  85. package/dist/{evidence-DTGEN456.js → evidence-35PYWGSO.js} +34 -33
  86. package/dist/{evidence-SQ5DNFEN.js → evidence-CIGGKI6J.js} +36 -35
  87. package/dist/{evolve-IJNUFZDS.js → evolve-33SM3NJP.js} +34 -33
  88. package/dist/{fleet-ZNNVSYFO.js → fleet-LFO7SIPC.js} +62 -61
  89. package/dist/{fleet-commands-5YE7NPJL.js → fleet-commands-RLK72GU3.js} +9 -9
  90. package/dist/fleet-decisions-3SBSCTCW.js +1 -1
  91. package/dist/{fleet-graph-6HHPWF5T.js → fleet-graph-JZIBCGMW.js} +11 -11
  92. package/dist/{fleet-inspect-JEYMGCGC.js → fleet-inspect-2L5YGGZJ.js} +35 -34
  93. package/dist/{fleet-validate-4PM4GDDL.js → fleet-validate-LIAVKDUU.js} +12 -12
  94. package/dist/{fleet-verify-NJDTHTO3.js → fleet-verify-JIK3OQZR.js} +34 -33
  95. package/dist/{fleet-view-UP2BWQQY.js → fleet-view-IWHYGQKK.js} +35 -34
  96. package/dist/{init-S3GZQ5ZF.js → init-NJEDOTQW.js} +46 -45
  97. package/dist/{interop-YOTGXFJM.js → interop-RVCAYECG.js} +4 -4
  98. package/dist/{inventory-K2OZ36YJ.js → inventory-74UL7UHU.js} +35 -34
  99. package/dist/{library-GJI6W6OK.js → library-CTKZA7K3.js} +10 -10
  100. package/dist/{memory-OQOXQGYD.js → memory-I76I5VUH.js} +34 -33
  101. package/dist/{models-3IK2Y5WE.js → models-D4YDIQZQ.js} +19 -18
  102. package/dist/{monitor-FTJLTKCQ.js → monitor-NKVD55HX.js} +40 -39
  103. package/dist/{orchestrator-N47O7SFD.js → orchestrator-I6OATVPK.js} +658 -1092
  104. package/dist/{preload-65U34NG6.js → preload-EJAWJEIO.js} +34 -33
  105. package/dist/{reset-MUVQDLNL.js → reset-4XMQKDNZ.js} +5 -3
  106. package/dist/{resources-LM76COAO.js → resources-TVYVXK3Q.js} +10 -10
  107. package/dist/{run-3VFZQ33N.js → run-OWQNNSJU.js} +61 -60
  108. package/dist/{share-4JUB4BL7.js → share-NPZZMUXG.js} +11 -11
  109. package/dist/{skills-S36AAJHU.js → skills-OXFEAWMT.js} +12 -12
  110. package/dist/{skills-eval-G6T57L7M.js → skills-eval-J5TCKSJA.js} +38 -37
  111. package/dist/{skills-inventory-WLM46PJH.js → skills-inventory-7II4DM57.js} +10 -10
  112. package/dist/{slash-commands-GBARG3Y7.js → slash-commands-MDSDSWYF.js} +26 -25
  113. package/dist/{targets-N5REUETU.js → targets-KILZEOCE.js} +36 -20
  114. package/dist/{tasks-6BVY5YZF.js → tasks-R6P6OV22.js} +7 -7
  115. package/dist/{terminal-lease-57UEOJKS.js → terminal-lease-LZCG2KN3.js} +2 -2
  116. package/dist/{upgrade-4HD5HAIV.js → upgrade-D2OZH6IQ.js} +9 -9
  117. package/dist/{usage-4GWM2WWP.js → usage-PIASNUS4.js} +40 -39
  118. package/dist/{verifiers-GSKWKWVG.js → verifiers-LTHUY2PX.js} +9 -9
  119. package/dist/{verify-3AS3ULCY.js → verify-HYF7KBVE.js} +7 -7
  120. package/dist/{wiki-generate-7BV7XWIY.js → wiki-generate-RK7JQ5NP.js} +51 -50
  121. package/dist/worker/entry.js +41 -39
  122. package/docs/architecture/context-engine.md +1 -1
  123. package/docs/architecture/tui-design.md +45 -30
  124. package/docs/guide/commands-and-modes.md +26 -25
  125. package/docs/guide/configuration-and-targets.md +122 -27
  126. package/docs/guide/configuration-reference.md +9 -4
  127. package/docs/guide/fleet-dispatch.md +1 -6
  128. package/docs/guide/glossary.md +1 -1
  129. package/docs/guide/installation-and-lifecycle.md +44 -11
  130. package/docs/process/development-pipeline.md +1 -1
  131. package/docs/process/documentation-coverage.md +1 -1
  132. package/docs/process/release-cut-checklist.md +18 -6
  133. package/package.json +1 -1
  134. package/src/cli/ask.ts +10 -10
  135. package/src/cli/configure-editor.ts +51 -0
  136. package/src/cli/configure-interop.ts +1 -1
  137. package/src/cli/configure-oauth.ts +1 -1
  138. package/src/cli/configure-onboarding.ts +232 -96
  139. package/src/cli/configure-prompts.ts +76 -0
  140. package/src/cli/configure-quick.ts +274 -0
  141. package/src/cli/configure-target.ts +14 -2
  142. package/src/cli/configure.ts +413 -174
  143. package/src/cli/oauth-manual-input.ts +1 -1
  144. package/src/cli/reset.ts +2 -0
  145. package/src/cli/select.ts +35 -4
  146. package/src/cli/upgrade.ts +2 -2
  147. package/src/core/config.ts +6 -1
  148. package/src/core/defaults.ts +33 -11
  149. package/src/{interactive → core}/external-editor.ts +4 -4
  150. package/src/domains/config/classify.ts +1 -1
  151. package/src/domains/config/keybindings.ts +3 -31
  152. package/src/domains/providers/probe/fingerprint.ts +13 -6
  153. package/src/domains/providers/probe/reasoning.ts +2 -0
  154. package/src/domains/providers/runtimes/common/probe-helpers.ts +23 -7
  155. package/src/domains/providers/runtimes/protocol/anthropic-compat.ts +7 -2
  156. package/src/domains/providers/runtimes/protocol/openai-compat.ts +10 -4
  157. package/src/interactive/application-controller.ts +1 -31
  158. package/src/interactive/chat-panel.ts +163 -637
  159. package/src/interactive/chat-renderer.ts +13 -30
  160. package/src/interactive/dispatch-board.ts +1 -3
  161. package/src/interactive/editor-submit.ts +8 -31
  162. package/src/interactive/footer/dashboard.ts +8 -3
  163. package/src/interactive/footer/widgets.ts +50 -91
  164. package/src/interactive/interactive-application.ts +16 -42
  165. package/src/interactive/interactive-event-projection.ts +2 -44
  166. package/src/interactive/interactive-input-runtime.ts +3 -28
  167. package/src/interactive/interactive-presentation.ts +30 -9
  168. package/src/interactive/interactive-slash-runtime.ts +3 -40
  169. package/src/interactive/layout.ts +29 -4
  170. package/src/interactive/overlay-general-openers.ts +2 -0
  171. package/src/interactive/overlay-lifecycle.ts +1 -0
  172. package/src/interactive/overlay-session-lifecycle.ts +1 -1
  173. package/src/interactive/overlays/settings.ts +9 -8
  174. package/src/interactive/renderers/preview.ts +16 -0
  175. package/src/interactive/renderers/tool-execution.ts +67 -160
  176. package/src/interactive/renderers/worker-entry.ts +57 -41
  177. package/src/interactive/slash-autocomplete.ts +1 -6
  178. package/src/interactive/slash-commands.ts +7 -39
  179. package/src/interactive/status/controller.ts +0 -5
  180. package/src/interactive/status/state-machine.ts +44 -26
  181. package/src/interactive/status/types.ts +3 -0
  182. package/src/interactive/status/verbs.ts +13 -12
  183. package/src/interactive/transcript-detail.ts +50 -112
  184. package/src/interactive/view/artifacts.ts +4 -0
  185. package/src/interactive/view/view-overlay.ts +44 -34
  186. package/src/tools/presentation.ts +1 -1
  187. package/src/tools/registry.ts +1 -1
  188. package/src/tools/verify/numeric.ts +4 -4
@@ -2,7 +2,7 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  discoverDeclaredChecksAtRoot,
4
4
  discoverDeclaredProjectEntriesAtRoot
5
- } from "./chunk-HGSLRG33.js";
5
+ } from "./chunk-6OII3LOK.js";
6
6
  import {
7
7
  printError
8
8
  } from "./chunk-3T4DXWP6.js";
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-L4N3DWNW.js";
14
14
  import {
15
15
  packageDeclaredCheck
16
- } from "./chunk-MDU3C27C.js";
16
+ } from "./chunk-PZN2LQY6.js";
17
17
  import {
18
18
  CLIO_PROJECT_DIR
19
19
  } from "./chunk-NTTS3O53.js";
@@ -393,4 +393,4 @@ export {
393
393
  acceptanceFromTaskFlags,
394
394
  runTasksCommand
395
395
  };
396
- //# sourceMappingURL=chunk-VLPTKCKT.js.map
396
+ //# sourceMappingURL=chunk-GLYBJ4RQ.js.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  createWorkerProgressFold
4
- } from "./chunk-O2RQ7LCK.js";
4
+ } from "./chunk-3O2ZAUGQ.js";
5
5
  import {
6
6
  PANES_PRESETS,
7
7
  PANES_PRESET_IDS,
@@ -10,17 +10,17 @@ import {
10
10
  import {
11
11
  acceptanceFromTaskFlags,
12
12
  formatUserTaskHandoff
13
- } from "./chunk-VLPTKCKT.js";
13
+ } from "./chunk-GLYBJ4RQ.js";
14
14
  import {
15
15
  SKILL_SURFACE_CLEAR_ARG,
16
16
  parseSkillCommand
17
- } from "./chunk-T7FDXNRU.js";
17
+ } from "./chunk-536HXRFE.js";
18
18
  import {
19
19
  AdmissionCanceledError,
20
20
  WORKER_OUTPUT_MAX_BYTES,
21
21
  activeDecisionRefs,
22
22
  decisionRationale
23
- } from "./chunk-5DDOTTG4.js";
23
+ } from "./chunk-IGLVVNEG.js";
24
24
  import {
25
25
  TOOL_PROFILE_NAMES,
26
26
  isToolProfileName
@@ -32,18 +32,18 @@ import {
32
32
  parseCouncilReport,
33
33
  parseOracleResult
34
34
  } from "./chunk-OQM5IVJY.js";
35
+ import {
36
+ resolveModelReference
37
+ } from "./chunk-4U4TKZFR.js";
35
38
  import {
36
39
  truncateUtf8
37
40
  } from "./chunk-MYI32N4R.js";
38
- import {
39
- resolveModelReference
40
- } from "./chunk-TEG3RYVZ.js";
41
41
  import {
42
42
  BusChannels
43
43
  } from "./chunk-HL26ADLH.js";
44
44
  import {
45
45
  THINKING_LEVELS
46
- } from "./chunk-SE4ZKILO.js";
46
+ } from "./chunk-3BJGMT2D.js";
47
47
  import {
48
48
  init_esm_shims
49
49
  } from "./chunk-ECBHH7LU.js";
@@ -2150,35 +2150,6 @@ usage: /files [open|close|pick]`);
2150
2150
  ctx.render();
2151
2151
  }
2152
2152
  },
2153
- {
2154
- name: "output",
2155
- description: "Set transcript detail to minimal, default, or verbose",
2156
- group: "Configure",
2157
- kinds: ["output-set", "output-picker"],
2158
- args: { positionals: [{ name: "verbosity", required: false }] },
2159
- fromArgs(parsed) {
2160
- if (parsed.error) return { kind: "usage-error", command: "output", reason: parsed.error };
2161
- const verbosity = parsed.positionals[0];
2162
- return verbosity ? { kind: "output-set", verbosity } : { kind: "output-picker" };
2163
- },
2164
- handle(command, ctx) {
2165
- if (command.kind === "output-picker") {
2166
- if (ctx.openOutputPicker) ctx.openOutputPicker();
2167
- else ctx.notice("error", "output picker is not wired in this session");
2168
- return;
2169
- }
2170
- if (command.kind !== "output-set") return;
2171
- const result = ctx.setOutputVerbosity?.(command.verbosity) ?? { status: "unavailable" };
2172
- if (result.status === "applied") {
2173
- ctx.notice("success", `output detail: ${result.verbosity}`);
2174
- } else if (result.status === "unsupported") {
2175
- ctx.notice("error", `output detail "${result.verbosity}" is not one of ${result.supported.join(", ")}`);
2176
- } else {
2177
- ctx.notice("error", "output detail cannot be set right now");
2178
- }
2179
- ctx.render();
2180
- }
2181
- },
2182
2153
  {
2183
2154
  name: "model",
2184
2155
  description: "Open model selector or set a model",
@@ -2378,6 +2349,13 @@ function reloadExtensionsCommand(ctx) {
2378
2349
  function parseSlashCommand(input) {
2379
2350
  const trimmed = input.trim();
2380
2351
  if (trimmed.length === 0) return { kind: "empty" };
2352
+ if (/^\/output(?:\s|$)/u.test(trimmed)) {
2353
+ return {
2354
+ kind: "usage-error",
2355
+ command: "output",
2356
+ reason: "Use Alt+O to cycle Output style, or /settings interface to save a default. Use /view for full details"
2357
+ };
2358
+ }
2381
2359
  if (trimmed.startsWith(COMMAND_ESCAPE)) return { kind: "unknown", text: trimmed.slice(1) };
2382
2360
  for (const entry of BUILTIN_SLASH_COMMANDS) {
2383
2361
  const match = entry.match ? entry.match(trimmed) : matchFromSpec(entry, trimmed);
@@ -2439,7 +2417,6 @@ var COMMAND_ORDER = [
2439
2417
  "help",
2440
2418
  "model",
2441
2419
  "thinking",
2442
- "output",
2443
2420
  "settings",
2444
2421
  "new",
2445
2422
  "resume",
@@ -2485,4 +2462,4 @@ export {
2485
2462
  dispatchSlashCommand,
2486
2463
  commandReference
2487
2464
  };
2488
- //# sourceMappingURL=chunk-KDWLXVMN.js.map
2465
+ //# sourceMappingURL=chunk-HPTJF6DG.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-LY4N4TTL.js";
10
10
  import {
11
11
  readSettings
12
- } from "./chunk-FKIOX6DS.js";
12
+ } from "./chunk-WNGF5AJX.js";
13
13
  import {
14
14
  readClioVersion,
15
15
  resolvePackageRoot
@@ -1684,4 +1684,4 @@ export {
1684
1684
  EvalTaskFileError,
1685
1685
  loadFragments
1686
1686
  };
1687
- //# sourceMappingURL=chunk-6CDNRHWH.js.map
1687
+ //# sourceMappingURL=chunk-HZ2T2YED.js.map
@@ -2,25 +2,25 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  canonicalJson,
4
4
  sha256
5
- } from "./chunk-6CDNRHWH.js";
5
+ } from "./chunk-HZ2T2YED.js";
6
6
  import {
7
7
  addResponseModelIdObservationCount,
8
8
  emptyResponseModelIdObservationCounts,
9
9
  responseModelIdObservationFromRecord
10
- } from "./chunk-F34AR6O3.js";
10
+ } from "./chunk-DXLUVUD4.js";
11
11
  import {
12
12
  uncachedPrefillTokens
13
13
  } from "./chunk-QH3ZTUOA.js";
14
- import {
15
- ToolNames
16
- } from "./chunk-EHOSNVVM.js";
17
14
  import {
18
15
  ceilChars,
19
16
  extractReasoningTokens
20
17
  } from "./chunk-77CZRFTE.js";
21
18
  import {
22
19
  settingsPath
23
- } from "./chunk-FKIOX6DS.js";
20
+ } from "./chunk-WNGF5AJX.js";
21
+ import {
22
+ ToolNames
23
+ } from "./chunk-EHOSNVVM.js";
24
24
  import {
25
25
  isEngineContextOverflow
26
26
  } from "./chunk-5CMARGPF.js";
@@ -663,4 +663,4 @@ export {
663
663
  projectHeadlessJsonEvent,
664
664
  projectDispatchJsonEvent
665
665
  };
666
- //# sourceMappingURL=chunk-UTUNT5QL.js.map
666
+ //# sourceMappingURL=chunk-HZFBVU5X.js.map
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-M6TAYK66.js";
8
8
  import {
9
9
  PROJECT_VERIFIER_CATALOG_RELATIVE_PATH
10
- } from "./chunk-MDU3C27C.js";
10
+ } from "./chunk-PZN2LQY6.js";
11
11
  import {
12
12
  asDirectoryPathBoundary,
13
13
  pathBoundaryEntryCovers,
@@ -647,13 +647,13 @@ export {
647
647
  createLoopState,
648
648
  hashToolCall,
649
649
  observe,
650
- DEFAULT_RECENT_ENTRY_LIMIT,
651
- assessFinishContract,
652
- recentEntries,
653
- typedValidationSummary,
654
650
  isSubset,
655
651
  READONLY_SCOPE,
656
652
  WORKSPACE_SCOPE,
657
- CONFIRMED_SCOPE
653
+ CONFIRMED_SCOPE,
654
+ DEFAULT_RECENT_ENTRY_LIMIT,
655
+ assessFinishContract,
656
+ recentEntries,
657
+ typedValidationSummary
658
658
  };
659
- //# sourceMappingURL=chunk-KF6GFW6O.js.map
659
+ //# sourceMappingURL=chunk-I2K2NCZQ.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-OQM5IVJY.js";
5
5
  import {
6
6
  decisionRef
7
- } from "./chunk-5ZMXGW7P.js";
7
+ } from "./chunk-KAFMW7WM.js";
8
8
  import {
9
9
  truncateUtf8
10
10
  } from "./chunk-MYI32N4R.js";
@@ -399,4 +399,4 @@ export {
399
399
  createDecisionBoardStore,
400
400
  decisionRationale
401
401
  };
402
- //# sourceMappingURL=chunk-5DDOTTG4.js.map
402
+ //# sourceMappingURL=chunk-IGLVVNEG.js.map
@@ -20,7 +20,7 @@ import {
20
20
  } from "./chunk-KQ6IDQIB.js";
21
21
  import {
22
22
  loadProjectVerifierCatalog
23
- } from "./chunk-MDU3C27C.js";
23
+ } from "./chunk-PZN2LQY6.js";
24
24
  import {
25
25
  pathBoundaryCovers,
26
26
  resolvePathBoundary
@@ -28,12 +28,12 @@ import {
28
28
  import {
29
29
  artifactDefaultPath
30
30
  } from "./chunk-NTTS3O53.js";
31
- import {
32
- ToolNames
33
- } from "./chunk-EHOSNVVM.js";
34
31
  import {
35
32
  foreignAgentDirs
36
33
  } from "./chunk-5CY4Q6QI.js";
34
+ import {
35
+ ToolNames
36
+ } from "./chunk-EHOSNVVM.js";
37
37
  import {
38
38
  resolvePackageRoot
39
39
  } from "./chunk-E3LEPLQ2.js";
@@ -1564,4 +1564,4 @@ export {
1564
1564
  WRITE_ROOT_REFUSED_TOOLS,
1565
1565
  createSafetyPolicyEngine
1566
1566
  };
1567
- //# sourceMappingURL=chunk-4SVIVOMC.js.map
1567
+ //# sourceMappingURL=chunk-IKRWLEDA.js.map
@@ -6,10 +6,10 @@ import {
6
6
  EVIDENCE_TAGS,
7
7
  listEvidenceOverviews,
8
8
  loadEvidenceTrustStatus
9
- } from "./chunk-SDWNDICN.js";
9
+ } from "./chunk-24T2YZ7A.js";
10
10
  import {
11
11
  trustVerdict
12
- } from "./chunk-6CDNRHWH.js";
12
+ } from "./chunk-HZ2T2YED.js";
13
13
  import {
14
14
  sanitizeCallTargetText
15
15
  } from "./chunk-2GPGAE5W.js";
@@ -105,4 +105,4 @@ export {
105
105
  EVIDENCE_INVENTORY_MAX_IDS,
106
106
  evidenceInventorySnapshot
107
107
  };
108
- //# sourceMappingURL=chunk-R6MAYTMS.js.map
108
+ //# sourceMappingURL=chunk-JMPL7NUB.js.map
@@ -1,4 +1,7 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ AUTONOMY_EXPOSURES
4
+ } from "./chunk-EM2WNQS2.js";
2
5
  import {
3
6
  init_esm_shims
4
7
  } from "./chunk-ECBHH7LU.js";
@@ -112,82 +115,6 @@ function isSkillActivation(value) {
112
115
  return typeof record.name === "string" && typeof record.filePath === "string" && typeof record.hash === "string" && typeof record.source === "string" && (record.sourceOrigin === void 0 || typeof record.sourceOrigin === "string") && (record.triggeredBy === "slash-command" || record.triggeredBy === "tool") && (record.turnId === void 0 || typeof record.turnId === "string") && (record.runId === void 0 || typeof record.runId === "string");
113
116
  }
114
117
 
115
- // src/domains/safety/autonomy.ts
116
- init_esm_shims();
117
- var AUTONOMY_LEVELS = ["read-only", "suggest", "auto-edit", "full-auto"];
118
- var DEFAULT_AUTONOMY_LEVEL = "auto-edit";
119
- function isAutonomyLevel(value) {
120
- return typeof value === "string" && AUTONOMY_LEVELS.includes(value);
121
- }
122
- var AUTONOMY_EXPOSURES = ["local", "outward"];
123
- var DEFAULT_AUTONOMY_EXPOSURE = "local";
124
- function modelMayActivateSkills(level) {
125
- return level === "auto-edit" || level === "full-auto";
126
- }
127
- function mapAutonomy(level, actionClass, options = {}) {
128
- if (actionClass === "git_destructive") return "deny";
129
- if ((level === "auto-edit" || level === "suggest") && options.exposure === "outward") return "ask";
130
- if (actionClass === "read") return "allow";
131
- if (level === "read-only") return "deny";
132
- if (level === "suggest") return "ask";
133
- switch (actionClass) {
134
- case "write":
135
- return "allow";
136
- case "dispatch":
137
- if (options.dispatchPlanScale === true && level !== "full-auto") return "ask";
138
- return "allow";
139
- case "execute": {
140
- if (options.executeRecognized !== false) return "allow";
141
- return level === "full-auto" ? "allow" : "ask";
142
- }
143
- case "unknown":
144
- return "ask";
145
- default:
146
- return "ask";
147
- }
148
- }
149
- function autonomyDenyRejection(level, tool, actionClass) {
150
- return {
151
- short: `${tool} denied: autonomy level is ${level}`,
152
- detail: `Clio is at autonomy ${level}: ${actionClass} actions are denied without prompting. Describe the change you would make instead, so the operator can apply it or raise the autonomy level.`,
153
- hints: [
154
- ...level === "read-only" && actionClass === "execute" ? [
155
- "For independent permitted inspection, use the native read, grep, find, or ls tools when available. Do not use them to reproduce the denied execution or write; each call still follows its safety policy."
156
- ] : [],
157
- "Propose the exact edit or command as text.",
158
- "The operator can change the level in interactive /settings or start a new headless run with clio-coder run --autonomy <level>."
159
- ]
160
- };
161
- }
162
- function autonomyAskRejection(level, tool, actionClass, exposure = DEFAULT_AUTONOMY_EXPOSURE) {
163
- if (exposure === "outward") {
164
- return {
165
- short: `${tool} needs approval: outward-facing gate at autonomy ${level}`,
166
- detail: `The call declared exposure=outward, so answering it publishes or sends something outside the workspace. Autonomy ${level} auto-answers local gates and parks outward-facing ones for the operator.`,
167
- hints: [
168
- "Approving resumes only this call.",
169
- "Autonomy full-auto answers outward gates too; the safety net still applies there."
170
- ]
171
- };
172
- }
173
- return {
174
- short: `${tool} needs approval (${actionClass}) at autonomy ${level}`,
175
- detail: `Autonomy ${level} routes ${actionClass} actions through operator approval. The call is parked until the operator approves it once or cancels it.`,
176
- hints: [
177
- "Approving resumes only this call.",
178
- "Recognized commands can be added to .clio-coder/safety.yaml.",
179
- // The sanctioned pivots for a gated shell command: typed verification
180
- // and read-class observe tools run without approval at this level,
181
- // and models otherwise stall retrying denied bash for checks or
182
- // directory listings.
183
- ...actionClass === "execute" ? [
184
- 'A declared package or project-catalog check runs without approval through the verify tool: verify(check="<id>").',
185
- "Read-only inspection runs without approval through the ls, read, grep, and find tools."
186
- ] : []
187
- ]
188
- };
189
- }
190
-
191
118
  // src/domains/session/entries.ts
192
119
  init_esm_shims();
193
120
  import { createHash } from "node:crypto";
@@ -446,14 +373,6 @@ export {
446
373
  agentSkillToolPolicy,
447
374
  skillActivationFromToolDetails,
448
375
  isSkillActivation,
449
- AUTONOMY_LEVELS,
450
- DEFAULT_AUTONOMY_LEVEL,
451
- isAutonomyLevel,
452
- DEFAULT_AUTONOMY_EXPOSURE,
453
- modelMayActivateSkills,
454
- mapAutonomy,
455
- autonomyDenyRejection,
456
- autonomyAskRejection,
457
376
  SKILL_CONTEXT_STATE,
458
377
  skillContextContentHash,
459
378
  verifiedSkillContextCheckpoint,
@@ -464,4 +383,4 @@ export {
464
383
  isSessionHeader,
465
384
  isSessionEntry
466
385
  };
467
- //# sourceMappingURL=chunk-5ZMXGW7P.js.map
386
+ //# sourceMappingURL=chunk-KAFMW7WM.js.map
@@ -1,13 +1,13 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  runPending
4
- } from "./chunk-EWD5P3GK.js";
4
+ } from "./chunk-3JLFK5MW.js";
5
5
  import {
6
6
  runDoctor
7
- } from "./chunk-K6RDB7IA.js";
7
+ } from "./chunk-X3BI7HTV.js";
8
8
  import {
9
9
  readStateInfo
10
- } from "./chunk-E3BQTQUP.js";
10
+ } from "./chunk-RGZNQ5CT.js";
11
11
  import {
12
12
  getVersionInfo
13
13
  } from "./chunk-GD55RTIW.js";
@@ -63,4 +63,4 @@ export {
63
63
  describeUpgradeNotice,
64
64
  LifecycleDomainModule
65
65
  };
66
- //# sourceMappingURL=chunk-R6MICQYU.js.map
66
+ //# sourceMappingURL=chunk-LIN2K3EL.js.map
@@ -97,4 +97,4 @@ export {
97
97
  createDelayedManualCodeInput,
98
98
  promptOAuthSelection
99
99
  };
100
- //# sourceMappingURL=chunk-QEQISF75.js.map
100
+ //# sourceMappingURL=chunk-LK2FN5JY.js.map
@@ -9,7 +9,7 @@ import {
9
9
  settingsPath,
10
10
  updateSavedSettingsDocument,
11
11
  validateSettings
12
- } from "./chunk-FKIOX6DS.js";
12
+ } from "./chunk-WNGF5AJX.js";
13
13
  import {
14
14
  require_dist
15
15
  } from "./chunk-B5GGDIHT.js";
@@ -240,4 +240,4 @@ export {
240
240
  updateLayeredSettings,
241
241
  settingsSourceFor
242
242
  };
243
- //# sourceMappingURL=chunk-YYB3MC65.js.map
243
+ //# sourceMappingURL=chunk-N2OKBREN.js.map
@@ -7,14 +7,14 @@ import {
7
7
  import {
8
8
  openLedger,
9
9
  readFleetRun
10
- } from "./chunk-SDWNDICN.js";
10
+ } from "./chunk-24T2YZ7A.js";
11
11
  import {
12
12
  WRITE_BOUNDARY_VIOLATION_REASON
13
- } from "./chunk-GNQRWTMY.js";
13
+ } from "./chunk-VHMX7SXF.js";
14
14
  import {
15
15
  formatTrustSummaryLine,
16
16
  inspectRunReceiptTrustStatus
17
- } from "./chunk-6CDNRHWH.js";
17
+ } from "./chunk-HZ2T2YED.js";
18
18
  import {
19
19
  readRunEventJournal,
20
20
  runEventJournalPath
@@ -570,4 +570,4 @@ export {
570
570
  loadFleetRunViewModel,
571
571
  runFleetView
572
572
  };
573
- //# sourceMappingURL=chunk-XXBQKW32.js.map
573
+ //# sourceMappingURL=chunk-NNWJYUNO.js.map
@@ -1,8 +1,4 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
- import {
3
- hashToolCall,
4
- typedValidationSummary
5
- } from "./chunk-KF6GFW6O.js";
6
2
  import {
7
3
  ROUTE_POLICY_VERSION,
8
4
  isRouteDecisionAgentSelection,
@@ -39,7 +35,7 @@ import {
39
35
  toolResultDigestFor,
40
36
  truncateHead,
41
37
  truncateTail
42
- } from "./chunk-RLTT5GVY.js";
38
+ } from "./chunk-7JSSKXG2.js";
43
39
  import {
44
40
  formatSize
45
41
  } from "./chunk-KECNXMDE.js";
@@ -65,6 +61,23 @@ import {
65
61
  agentSpecFingerprint,
66
62
  parseResultSummaryMaxBytes
67
63
  } from "./chunk-OQM5IVJY.js";
64
+ import {
65
+ isDispatchIntent,
66
+ resolveDispatchPathScope
67
+ } from "./chunk-L4N3DWNW.js";
68
+ import {
69
+ typebox_exports
70
+ } from "./chunk-GH5ZR6JP.js";
71
+ import {
72
+ evaluateSkillToolSurface
73
+ } from "./chunk-KAFMW7WM.js";
74
+ import {
75
+ hashToolCall,
76
+ typedValidationSummary
77
+ } from "./chunk-I2K2NCZQ.js";
78
+ import {
79
+ ceilChars
80
+ } from "./chunk-77CZRFTE.js";
68
81
  import {
69
82
  classify,
70
83
  webFetchIsOutward
@@ -76,27 +89,19 @@ import {
76
89
  extractCommandWriteTargets,
77
90
  toolMutationPaths
78
91
  } from "./chunk-M6TAYK66.js";
79
- import {
80
- isDispatchIntent,
81
- resolveDispatchPathScope
82
- } from "./chunk-L4N3DWNW.js";
83
92
  import {
84
93
  asDirectoryPathBoundary,
85
94
  pathBoundaryCovers,
86
95
  resolvePathBoundary
87
96
  } from "./chunk-R2P2U3ZS.js";
88
- import {
89
- typebox_exports
90
- } from "./chunk-GH5ZR6JP.js";
91
97
  import {
92
98
  DEFAULT_AUTONOMY_EXPOSURE,
93
99
  DEFAULT_AUTONOMY_LEVEL,
94
100
  autonomyAskRejection,
95
101
  autonomyDenyRejection,
96
- evaluateSkillToolSurface,
97
102
  isAutonomyLevel,
98
103
  mapAutonomy
99
- } from "./chunk-5ZMXGW7P.js";
104
+ } from "./chunk-EM2WNQS2.js";
100
105
  import {
101
106
  byteLength,
102
107
  truncateUtf8
@@ -104,9 +109,6 @@ import {
104
109
  import {
105
110
  ToolNames
106
111
  } from "./chunk-EHOSNVVM.js";
107
- import {
108
- ceilChars
109
- } from "./chunk-77CZRFTE.js";
110
112
  import {
111
113
  BASH_HARD_CAP_BYTES,
112
114
  combineBashOutput,
@@ -114,10 +116,10 @@ import {
114
116
  } from "./chunk-5A6XR3RJ.js";
115
117
  import {
116
118
  boundedExternalDiagnostic
117
- } from "./chunk-ICO4TQ2F.js";
119
+ } from "./chunk-WV6TDAPN.js";
118
120
  import {
119
121
  THINKING_LEVELS
120
- } from "./chunk-SE4ZKILO.js";
122
+ } from "./chunk-3BJGMT2D.js";
121
123
  import {
122
124
  GUARDRAIL_DEFAULTS,
123
125
  isWorkerToolCallCapExceededReason,
@@ -7187,4 +7189,4 @@ export {
7187
7189
  taskMemoryBankDelta,
7188
7190
  parseTaskMemoryTelemetryRecord
7189
7191
  };
7190
- //# sourceMappingURL=chunk-TZ7MFRG4.js.map
7192
+ //# sourceMappingURL=chunk-P5JMBPDJ.js.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  compileExecutionPlan
4
- } from "./chunk-ONRTXOZY.js";
4
+ } from "./chunk-ZS43Y2FT.js";
5
5
  import {
6
6
  deriveExecutionRole
7
7
  } from "./chunk-LY4N4TTL.js";
@@ -94,4 +94,4 @@ function compileScoutTransition(input) {
94
94
  export {
95
95
  compileScoutTransition
96
96
  };
97
- //# sourceMappingURL=chunk-WFKDPU7U.js.map
97
+ //# sourceMappingURL=chunk-P6M7RKMI.js.map
@@ -77,15 +77,15 @@ function parseNumericPayload(text, label) {
77
77
  const keys = Object.keys(record);
78
78
  if (keys.length > NUMERIC_PAYLOAD_CAPS.keys)
79
79
  return new Error(`${label} exceeds the ${NUMERIC_PAYLOAD_CAPS.keys}-key cap`);
80
- const payload = {};
80
+ const entries = [];
81
81
  let elements = 0;
82
82
  for (const key of keys) {
83
83
  const value = record[key];
84
84
  if (typeof value === "number") {
85
- payload[key] = value;
85
+ entries.push([key, value]);
86
86
  elements += 1;
87
87
  } else if (Array.isArray(value) && value.every((entry) => typeof entry === "number")) {
88
- payload[key] = [...value];
88
+ entries.push([key, [...value]]);
89
89
  elements += value.length;
90
90
  } else {
91
91
  return new Error(`${label}.${key} must be a number or an array of numbers`);
@@ -94,7 +94,7 @@ function parseNumericPayload(text, label) {
94
94
  return new Error(`${label} exceeds the ${NUMERIC_PAYLOAD_CAPS.elements}-element cap`);
95
95
  }
96
96
  }
97
- return payload;
97
+ return Object.fromEntries(entries);
98
98
  }
99
99
  function deviation(actual, expected, index) {
100
100
  const finite = Number.isFinite(actual) && Number.isFinite(expected);
@@ -671,4 +671,4 @@ export {
671
671
  parseProjectVerifierCatalogText,
672
672
  packageDeclaredCheck
673
673
  };
674
- //# sourceMappingURL=chunk-MDU3C27C.js.map
674
+ //# sourceMappingURL=chunk-PZN2LQY6.js.map