@intentic/sandbox-contract 1.330.0 → 1.332.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/README.md +15 -0
  2. package/dist/chores/probes.d.ts.map +1 -1
  3. package/dist/chores/probes.js.map +1 -1
  4. package/dist/contracts/accounts.contract.d.ts +15 -0
  5. package/dist/contracts/accounts.contract.d.ts.map +1 -1
  6. package/dist/contracts/agent.contract.d.ts +38 -0
  7. package/dist/contracts/agent.contract.d.ts.map +1 -1
  8. package/dist/contracts/agent.contract.js +14 -3
  9. package/dist/contracts/agent.contract.js.map +1 -1
  10. package/dist/contracts/agents.contract.d.ts +29 -0
  11. package/dist/contracts/agents.contract.d.ts.map +1 -1
  12. package/dist/contracts/automations.contract.d.ts +2 -0
  13. package/dist/contracts/automations.contract.d.ts.map +1 -1
  14. package/dist/contracts/device.contract.d.ts +7 -0
  15. package/dist/contracts/device.contract.d.ts.map +1 -1
  16. package/dist/contracts/git.contract.d.ts +2 -0
  17. package/dist/contracts/git.contract.d.ts.map +1 -1
  18. package/dist/contracts/logs.contract.d.ts +10 -0
  19. package/dist/contracts/logs.contract.d.ts.map +1 -1
  20. package/dist/contracts/needs.contract.d.ts +7 -0
  21. package/dist/contracts/needs.contract.d.ts.map +1 -1
  22. package/dist/contracts/offload.contract.d.ts +70 -0
  23. package/dist/contracts/offload.contract.d.ts.map +1 -1
  24. package/dist/contracts/offload.contract.js +10 -1
  25. package/dist/contracts/offload.contract.js.map +1 -1
  26. package/dist/contracts/privacy.contract.d.ts +14 -0
  27. package/dist/contracts/privacy.contract.d.ts.map +1 -1
  28. package/dist/contracts/privacy.contract.js +11 -1
  29. package/dist/contracts/privacy.contract.js.map +1 -1
  30. package/dist/contracts/providers.contract.d.ts +3 -0
  31. package/dist/contracts/providers.contract.d.ts.map +1 -1
  32. package/dist/contracts/runner.contract.d.ts +106 -2
  33. package/dist/contracts/runner.contract.d.ts.map +1 -1
  34. package/dist/contracts/sessions.contract.d.ts +1 -0
  35. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  36. package/dist/contracts/settings.contract.d.ts +74 -94
  37. package/dist/contracts/settings.contract.d.ts.map +1 -1
  38. package/dist/contracts/settings.contract.js +19 -1
  39. package/dist/contracts/settings.contract.js.map +1 -1
  40. package/dist/contracts/system.contract.d.ts +20 -0
  41. package/dist/contracts/system.contract.d.ts.map +1 -1
  42. package/dist/contracts/translator.contract.d.ts +8 -0
  43. package/dist/contracts/translator.contract.d.ts.map +1 -1
  44. package/dist/events/agent-events.d.ts +47 -0
  45. package/dist/events/agent-events.d.ts.map +1 -1
  46. package/dist/events/agent-events.js +6 -0
  47. package/dist/events/agent-events.js.map +1 -1
  48. package/dist/events/agent-words.d.ts.map +1 -1
  49. package/dist/events/agent-words.js +1 -1
  50. package/dist/events/agent-words.js.map +1 -1
  51. package/dist/events/resume.d.ts +3 -0
  52. package/dist/events/resume.d.ts.map +1 -1
  53. package/dist/events/resume.js +17 -2
  54. package/dist/events/resume.js.map +1 -1
  55. package/dist/events/sandbox-notice.d.ts +18 -0
  56. package/dist/events/sandbox-notice.d.ts.map +1 -1
  57. package/dist/events/sandbox-notice.js +27 -1
  58. package/dist/events/sandbox-notice.js.map +1 -1
  59. package/dist/events/system-events.d.ts +4 -0
  60. package/dist/events/system-events.d.ts.map +1 -1
  61. package/dist/events/transcript.d.ts +64 -0
  62. package/dist/events/transcript.d.ts.map +1 -1
  63. package/dist/events/transcript.js +17 -1
  64. package/dist/events/transcript.js.map +1 -1
  65. package/dist/index.d.ts +327 -124
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +5 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/models/agent-catalog.d.ts.map +1 -1
  70. package/dist/models/agent-catalog.js +8 -7
  71. package/dist/models/agent-catalog.js.map +1 -1
  72. package/dist/models/agent-runtimes.d.ts +3 -1
  73. package/dist/models/agent-runtimes.d.ts.map +1 -1
  74. package/dist/models/agent-runtimes.js +10 -0
  75. package/dist/models/agent-runtimes.js.map +1 -1
  76. package/dist/models/model-order.d.ts +1 -0
  77. package/dist/models/model-order.d.ts.map +1 -1
  78. package/dist/models/model-order.js +9 -0
  79. package/dist/models/model-order.js.map +1 -1
  80. package/dist/models/model-pins.d.ts.map +1 -1
  81. package/dist/models/model-pins.js.map +1 -1
  82. package/dist/models/model-roles.d.ts +32 -17
  83. package/dist/models/model-roles.d.ts.map +1 -1
  84. package/dist/models/model-roles.js +30 -26
  85. package/dist/models/model-roles.js.map +1 -1
  86. package/dist/models/model-setups.d.ts +46 -0
  87. package/dist/models/model-setups.d.ts.map +1 -0
  88. package/dist/models/model-setups.js +86 -0
  89. package/dist/models/model-setups.js.map +1 -0
  90. package/dist/models/plan-pools.d.ts +5 -1
  91. package/dist/models/plan-pools.d.ts.map +1 -1
  92. package/dist/models/plan-pools.js +41 -13
  93. package/dist/models/plan-pools.js.map +1 -1
  94. package/dist/models/provider-specs.d.ts +20 -0
  95. package/dist/models/provider-specs.d.ts.map +1 -1
  96. package/dist/models/provider-specs.js +13 -1
  97. package/dist/models/provider-specs.js.map +1 -1
  98. package/dist/policy/command-classes.d.ts.map +1 -1
  99. package/dist/policy/command-classes.js +26 -3
  100. package/dist/policy/command-classes.js.map +1 -1
  101. package/dist/policy/credential-material.d.ts +6 -0
  102. package/dist/policy/credential-material.d.ts.map +1 -1
  103. package/dist/policy/credential-material.js +37 -15
  104. package/dist/policy/credential-material.js.map +1 -1
  105. package/dist/policy/search-globs.d.ts +3 -0
  106. package/dist/policy/search-globs.d.ts.map +1 -1
  107. package/dist/policy/search-globs.js +118 -0
  108. package/dist/policy/search-globs.js.map +1 -1
  109. package/dist/policy/secret-hosts.d.ts +1 -0
  110. package/dist/policy/secret-hosts.d.ts.map +1 -1
  111. package/dist/policy/secret-hosts.js +1 -0
  112. package/dist/policy/secret-hosts.js.map +1 -1
  113. package/dist/policy/turned-away.d.ts.map +1 -1
  114. package/dist/policy/turned-away.js +1 -0
  115. package/dist/policy/turned-away.js.map +1 -1
  116. package/dist/protocol/doors/runner-protocol.d.ts +9 -0
  117. package/dist/protocol/doors/runner-protocol.d.ts.map +1 -1
  118. package/dist/protocol/doors/runner-protocol.js +5 -0
  119. package/dist/protocol/doors/runner-protocol.js.map +1 -1
  120. package/dist/protocol/pairing-redeem.d.ts +23 -0
  121. package/dist/protocol/pairing-redeem.d.ts.map +1 -0
  122. package/dist/protocol/pairing-redeem.js +44 -0
  123. package/dist/protocol/pairing-redeem.js.map +1 -0
  124. package/dist/protocol/peer-mcp-server.d.ts.map +1 -1
  125. package/dist/protocol/peer-mcp-server.js +1 -1
  126. package/dist/protocol/peer-mcp-server.js.map +1 -1
  127. package/dist/protocol/raw/raw-json-routes.d.ts +16 -0
  128. package/dist/protocol/raw/raw-json-routes.d.ts.map +1 -1
  129. package/dist/protocol/raw/raw-json-routes.js +2 -0
  130. package/dist/protocol/raw/raw-json-routes.js.map +1 -1
  131. package/dist/protocol/raw/raw-routes.d.ts +8 -0
  132. package/dist/protocol/raw/raw-routes.d.ts.map +1 -1
  133. package/dist/protocol/raw/raw-routes.js +2 -0
  134. package/dist/protocol/raw/raw-routes.js.map +1 -1
  135. package/dist/protocol/sse.d.ts +20 -1
  136. package/dist/protocol/sse.d.ts.map +1 -1
  137. package/dist/protocol/sse.js +112 -17
  138. package/dist/protocol/sse.js.map +1 -1
  139. package/dist/schemas/agent.d.ts +35 -0
  140. package/dist/schemas/agent.d.ts.map +1 -1
  141. package/dist/schemas/agent.js +12 -1
  142. package/dist/schemas/agent.js.map +1 -1
  143. package/dist/schemas/automations.d.ts +6 -0
  144. package/dist/schemas/automations.d.ts.map +1 -1
  145. package/dist/schemas/automations.js +3 -1
  146. package/dist/schemas/automations.js.map +1 -1
  147. package/dist/schemas/devices.d.ts +17 -0
  148. package/dist/schemas/devices.d.ts.map +1 -1
  149. package/dist/schemas/devices.js +2 -1
  150. package/dist/schemas/devices.js.map +1 -1
  151. package/dist/schemas/engines.d.ts +8 -1
  152. package/dist/schemas/engines.d.ts.map +1 -1
  153. package/dist/schemas/engines.js +1 -1
  154. package/dist/schemas/engines.js.map +1 -1
  155. package/dist/schemas/environment.d.ts +30 -0
  156. package/dist/schemas/environment.d.ts.map +1 -1
  157. package/dist/schemas/environment.js +13 -0
  158. package/dist/schemas/environment.js.map +1 -1
  159. package/dist/schemas/git/git-scope.d.ts +20 -0
  160. package/dist/schemas/git/git-scope.d.ts.map +1 -0
  161. package/dist/schemas/git/git-scope.js +37 -0
  162. package/dist/schemas/git/git-scope.js.map +1 -0
  163. package/dist/schemas/git/git.d.ts +1 -0
  164. package/dist/schemas/git/git.d.ts.map +1 -1
  165. package/dist/schemas/git/git.js +9 -1
  166. package/dist/schemas/git/git.js.map +1 -1
  167. package/dist/schemas/hosts.d.ts +42 -0
  168. package/dist/schemas/hosts.d.ts.map +1 -1
  169. package/dist/schemas/hosts.js +3 -0
  170. package/dist/schemas/hosts.js.map +1 -1
  171. package/dist/schemas/keep-warm.d.ts +1 -0
  172. package/dist/schemas/keep-warm.d.ts.map +1 -1
  173. package/dist/schemas/keep-warm.js +1 -1
  174. package/dist/schemas/keep-warm.js.map +1 -1
  175. package/dist/schemas/logs.d.ts +21 -0
  176. package/dist/schemas/logs.d.ts.map +1 -1
  177. package/dist/schemas/logs.js +19 -0
  178. package/dist/schemas/logs.js.map +1 -1
  179. package/dist/schemas/metrics.d.ts +12 -0
  180. package/dist/schemas/metrics.d.ts.map +1 -1
  181. package/dist/schemas/metrics.js +26 -8
  182. package/dist/schemas/metrics.js.map +1 -1
  183. package/dist/schemas/needs.d.ts +19 -0
  184. package/dist/schemas/needs.d.ts.map +1 -1
  185. package/dist/schemas/needs.js +17 -3
  186. package/dist/schemas/needs.js.map +1 -1
  187. package/dist/schemas/offload.d.ts +154 -0
  188. package/dist/schemas/offload.d.ts.map +1 -1
  189. package/dist/schemas/offload.js +34 -0
  190. package/dist/schemas/offload.js.map +1 -1
  191. package/dist/schemas/privacy.d.ts +19 -0
  192. package/dist/schemas/privacy.d.ts.map +1 -1
  193. package/dist/schemas/privacy.js +17 -2
  194. package/dist/schemas/privacy.js.map +1 -1
  195. package/dist/schemas/project-bring-back.d.ts +172 -0
  196. package/dist/schemas/project-bring-back.d.ts.map +1 -0
  197. package/dist/schemas/project-bring-back.js +39 -0
  198. package/dist/schemas/project-bring-back.js.map +1 -0
  199. package/dist/schemas/providers/handoff.d.ts +77 -0
  200. package/dist/schemas/providers/handoff.d.ts.map +1 -0
  201. package/dist/schemas/providers/handoff.js +85 -0
  202. package/dist/schemas/providers/handoff.js.map +1 -0
  203. package/dist/schemas/providers/plan-limits.d.ts +34 -0
  204. package/dist/schemas/providers/plan-limits.d.ts.map +1 -1
  205. package/dist/schemas/providers/plan-limits.js +13 -2
  206. package/dist/schemas/providers/plan-limits.js.map +1 -1
  207. package/dist/schemas/providers/provider-oauth.d.ts +8 -0
  208. package/dist/schemas/providers/provider-oauth.d.ts.map +1 -1
  209. package/dist/schemas/providers/usage.d.ts +3 -1
  210. package/dist/schemas/providers/usage.d.ts.map +1 -1
  211. package/dist/schemas/providers/usage.js +7 -2
  212. package/dist/schemas/providers/usage.js.map +1 -1
  213. package/dist/schemas/run-targets.d.ts.map +1 -1
  214. package/dist/schemas/run-targets.js +5 -2
  215. package/dist/schemas/run-targets.js.map +1 -1
  216. package/dist/schemas/settings-history.d.ts +6 -1
  217. package/dist/schemas/settings-history.d.ts.map +1 -1
  218. package/dist/schemas/settings-history.js +25 -1
  219. package/dist/schemas/settings-history.js.map +1 -1
  220. package/dist/schemas/settings.d.ts +69 -100
  221. package/dist/schemas/settings.d.ts.map +1 -1
  222. package/dist/schemas/settings.js +41 -24
  223. package/dist/schemas/settings.js.map +1 -1
  224. package/dist/schemas/short-codes.d.ts +31 -0
  225. package/dist/schemas/short-codes.d.ts.map +1 -0
  226. package/dist/schemas/short-codes.js +28 -0
  227. package/dist/schemas/short-codes.js.map +1 -0
  228. package/dist/schemas/system.d.ts +130 -0
  229. package/dist/schemas/system.d.ts.map +1 -1
  230. package/dist/schemas/system.js +37 -1
  231. package/dist/schemas/system.js.map +1 -1
  232. package/dist/state/definition.d.ts +64 -40
  233. package/dist/state/definition.d.ts.map +1 -1
  234. package/dist/state/history-state.d.ts.map +1 -1
  235. package/dist/state/history-state.js +1 -0
  236. package/dist/state/history-state.js.map +1 -1
  237. package/dist/state/runtime-state.d.ts +3 -0
  238. package/dist/state/runtime-state.d.ts.map +1 -1
  239. package/dist/state/runtime-state.js +1 -0
  240. package/dist/state/runtime-state.js.map +1 -1
  241. package/dist/state/versions.d.ts +6 -0
  242. package/dist/state/versions.d.ts.map +1 -1
  243. package/dist/state/versions.js +47 -0
  244. package/dist/state/versions.js.map +1 -1
  245. package/dist/text/embed.d.ts +2 -1
  246. package/dist/text/embed.d.ts.map +1 -1
  247. package/dist/text/embed.js +10 -5
  248. package/dist/text/embed.js.map +1 -1
  249. package/dist/text/title.d.ts.map +1 -1
  250. package/dist/text/title.js +4 -7
  251. package/dist/text/title.js.map +1 -1
  252. package/dist/text/transcript-fold.d.ts +2 -1
  253. package/dist/text/transcript-fold.d.ts.map +1 -1
  254. package/dist/text/transcript-fold.js +21 -6
  255. package/dist/text/transcript-fold.js.map +1 -1
  256. package/package.json +28 -6
  257. package/src/chores/probes.ts +3 -1
  258. package/src/contracts/agent.contract.ts +24 -3
  259. package/src/contracts/offload.contract.ts +21 -1
  260. package/src/contracts/privacy.contract.ts +13 -0
  261. package/src/contracts/settings.contract.ts +23 -0
  262. package/src/events/agent-events.ts +13 -0
  263. package/src/events/agent-words.ts +2 -3
  264. package/src/events/resume.test.ts +14 -2
  265. package/src/events/resume.ts +32 -3
  266. package/src/events/sandbox-notice.ts +31 -1
  267. package/src/events/transcript.ts +27 -2
  268. package/src/index.ts +5 -0
  269. package/src/models/agent-catalog.test.ts +4 -3
  270. package/src/models/agent-catalog.ts +10 -7
  271. package/src/models/agent-runtimes.ts +30 -1
  272. package/src/models/capability-ledger.test.ts +4 -0
  273. package/src/models/model-order.ts +13 -0
  274. package/src/models/model-pins.ts +5 -4
  275. package/src/models/model-roles.test.ts +9 -31
  276. package/src/models/model-roles.ts +42 -49
  277. package/src/models/model-setups.test.ts +100 -0
  278. package/src/models/model-setups.ts +151 -0
  279. package/src/models/plan-pools.test.ts +85 -0
  280. package/src/models/plan-pools.ts +76 -17
  281. package/src/models/provider-specs.ts +20 -2
  282. package/src/policy/command-classes.ts +34 -3
  283. package/src/policy/credential-material.ts +58 -16
  284. package/src/policy/search-globs.ts +135 -0
  285. package/src/policy/secret-hosts.ts +7 -0
  286. package/src/policy/tests/command-classes.test.ts +35 -0
  287. package/src/policy/tests/credential-material.test.ts +20 -0
  288. package/src/policy/tests/search-globs.test.ts +46 -1
  289. package/src/policy/tests/secret-hosts.test.ts +17 -1
  290. package/src/policy/turned-away.ts +2 -0
  291. package/src/protocol/doors/runner-protocol.ts +14 -1
  292. package/src/protocol/pairing-redeem.test.ts +86 -0
  293. package/src/protocol/pairing-redeem.ts +79 -0
  294. package/src/protocol/peer-mcp-server.ts +1 -2
  295. package/src/protocol/raw/raw-json-routes.ts +3 -0
  296. package/src/protocol/raw/raw-routes.ts +5 -0
  297. package/src/protocol/sse.test.ts +50 -1
  298. package/src/protocol/sse.ts +172 -26
  299. package/src/schemas/agent.ts +23 -2
  300. package/src/schemas/automations.ts +6 -2
  301. package/src/schemas/daemon-health.test.ts +28 -0
  302. package/src/schemas/devices.ts +11 -2
  303. package/src/schemas/engines.ts +1 -1
  304. package/src/schemas/environment.ts +25 -0
  305. package/src/schemas/git/git-scope.test.ts +91 -0
  306. package/src/schemas/git/git-scope.ts +71 -0
  307. package/src/schemas/git/git.ts +15 -1
  308. package/src/schemas/hosts.ts +7 -0
  309. package/src/schemas/keep-warm.ts +2 -1
  310. package/src/schemas/logs.ts +25 -0
  311. package/src/schemas/metrics.test.ts +80 -0
  312. package/src/schemas/metrics.ts +31 -9
  313. package/src/schemas/needs.ts +29 -3
  314. package/src/schemas/offload.ts +76 -0
  315. package/src/schemas/privacy.ts +27 -3
  316. package/src/schemas/project-bring-back.test.ts +15 -0
  317. package/src/schemas/project-bring-back.ts +78 -0
  318. package/src/schemas/providers/handoff.test.ts +42 -0
  319. package/src/schemas/providers/handoff.ts +128 -0
  320. package/src/schemas/providers/plan-limits.ts +23 -2
  321. package/src/schemas/providers/usage.ts +13 -7
  322. package/src/schemas/run-targets.ts +5 -2
  323. package/src/schemas/settings-history.ts +43 -1
  324. package/src/schemas/settings.test.ts +84 -6
  325. package/src/schemas/settings.ts +74 -44
  326. package/src/schemas/short-codes.ts +48 -0
  327. package/src/schemas/system.ts +63 -1
  328. package/src/state/history-state.ts +4 -0
  329. package/src/state/runtime-state.test.ts +4 -0
  330. package/src/state/runtime-state.ts +4 -0
  331. package/src/state/versions.test.ts +30 -1
  332. package/src/state/versions.ts +68 -0
  333. package/src/text/embed.test.ts +14 -0
  334. package/src/text/embed.ts +19 -10
  335. package/src/text/title.ts +5 -9
  336. package/src/text/transcript-fold.test.ts +61 -0
  337. package/src/text/transcript-fold.ts +31 -6
@@ -1,5 +1,8 @@
1
1
  import { z } from "zod";
2
- import { at, drop, dropAll, fold, isJsonObject, mapValue, retype } from "../documents/conversions.js";
2
+ import { at, drop, dropAll, fold, isJsonObject, mapValue, retype, transform } from "../documents/conversions.js";
3
+ import { ModelRoleSchema } from "../models/model-roles.js";
4
+ import { setupsFromRoleLists } from "../models/model-setups.js";
5
+ import { ModelPinSchema } from "./agent.js";
3
6
  const RETIRED_MOMENTS = new Set(["push.starting"]);
4
7
  const RETIRED_ACTIONS = new Set(["instruct"]);
5
8
  const RETIRED_BUILTINS = new Set(["verify-edits", "verify-removals", "verify-tests"]);
@@ -42,6 +45,24 @@ const keepWarmObject = fold("folds keepWarm, keepWarmHours, keepWarmMinTokens an
42
45
  return folded;
43
46
  },
44
47
  });
48
+ const holdsChoresWithoutRefactors = (roles) => !Object.hasOwn(roles, "refactor-run") && Array.isArray(roles["maintenance-chore"]) && roles["maintenance-chore"].length > 0;
49
+ const refactorsFromChores = transform("gives the new Refactors job the Maintenance chores list", holdsChoresWithoutRefactors, (roles) => ({ ...roles, "refactor-run": roles["maintenance-chore"] }));
50
+ const PinList = z.array(ModelPinSchema);
51
+ const holdsRoleLists = (settings) => Object.hasOwn(settings, "modelRoles") || Object.hasOwn(settings, "modelDefault");
52
+ const roleListsIntoSetups = transform("folds modelRoles and modelDefault into setups (modelSetups, roleSetups)", holdsRoleLists, (settings) => {
53
+ const { modelRoles, modelDefault, ...rest } = settings;
54
+ const fallback = PinList.safeParse(modelDefault);
55
+ const lists = {};
56
+ for (const role of ModelRoleSchema.options) {
57
+ const own = isJsonObject(modelRoles) ? PinList.safeParse(modelRoles[role]) : undefined;
58
+ const list = own?.success === true ? own.data : fallback.success && fallback.data.length > 0 ? fallback.data : undefined;
59
+ if (list !== undefined) {
60
+ lists[role] = list;
61
+ }
62
+ }
63
+ const { modelSetups, roleSetups } = setupsFromRoleLists(lists);
64
+ return { ...rest, modelSetups, roleSetups };
65
+ });
45
66
  export const SETTINGS_HISTORY = [
46
67
  ...dropAll([
47
68
  "agentRunEffort",
@@ -73,5 +94,8 @@ export const SETTINGS_HISTORY = [
73
94
  at("offload", drop("landCheck")),
74
95
  at("modelRoles", drop("pre-push-fix")),
75
96
  ...dropAll(["leanGuidance", "leanGuidanceHoldout"]),
97
+ ...dropAll(["toolResultClearing", "toolResultClearingHoldout"]),
98
+ at("modelRoles", refactorsFromChores),
99
+ roleListsIntoSetups,
76
100
  ];
77
101
  //# sourceMappingURL=settings-history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings-history.js","sourceRoot":"","sources":["../../src/schemas/settings-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAUtG,MAAM,eAAe,GAAyB,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AACzE,MAAM,eAAe,GAAyB,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACpE,MAAM,gBAAgB,GAAyB,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;AAE5G,MAAM,aAAa,GAAG,CAAC,IAAa,EAAW,EAAE;IAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAChK,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA+B,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAK5H,MAAM,WAAW,GAAG,CAAC,IAAa,EAAW,EAAE,CAC3C,YAAY,CAAC,IAAI,CAAC;IAClB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,aAAa,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC;AAEjK,MAAM,cAAc,GAAG,CAAC,KAAc,EAA+B,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAIxH,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,CAAU,CAAC;AACtG,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,+FAA+F,EAAE;IACzH,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChJ,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,EAA6B,EAAE;QACpG,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QAC9B,CAAC;QACD,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAI5B,GAAG,OAAO,CAAC;QACP,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,UAAU;QACV,mBAAmB;QACnB,oBAAoB;QACpB,cAAc;QACd,cAAc;QACd,qBAAqB;QACrB,iBAAiB;QACjB,WAAW;QACX,kBAAkB;QAClB,gBAAgB;QAChB,YAAY;QACZ,kBAAkB;QAClB,mBAAmB;QACnB,UAAU;QACV,cAAc;QACd,aAAa;QACb,oBAAoB;KACvB,CAAC;IACF,MAAM,CACF,OAAO,EACP,gBAAgB,EAEhB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAiC,EACvF,+GAA+G,CAClH;IAED,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrE,MAAM,CACF,OAAO,EACP,cAAc,EACd,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAiC,EACrF,qGAAqG,CACxG;IACD,cAAc;IAEd,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAEhC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAEtC,GAAG,OAAO,CAAC,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;CAC7C,CAAC"}
1
+ {"version":3,"file":"settings-history.js","sourceRoot":"","sources":["../../src/schemas/settings-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAmB,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAClI,OAAO,EAAkB,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAU3D,MAAM,eAAe,GAAyB,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AACzE,MAAM,eAAe,GAAyB,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACpE,MAAM,gBAAgB,GAAyB,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;AAE5G,MAAM,aAAa,GAAG,CAAC,IAAa,EAAW,EAAE;IAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAChK,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA+B,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAK5H,MAAM,WAAW,GAAG,CAAC,IAAa,EAAW,EAAE,CAC3C,YAAY,CAAC,IAAI,CAAC;IAClB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,aAAa,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC;AAEjK,MAAM,cAAc,GAAG,CAAC,KAAc,EAA+B,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAIxH,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,CAAU,CAAC;AACtG,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,+FAA+F,EAAE;IACzH,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChJ,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,EAA6B,EAAE;QACpG,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QAC9B,CAAC;QACD,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAC,CAAC;AAOH,MAAM,2BAA2B,GAAG,CAAC,KAAiB,EAA4B,EAAE,CAChF,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAChI,MAAM,mBAAmB,GAAG,SAAS,CACjC,yDAAyD,EACzD,2BAA2B,EAC3B,CAAC,KAAK,EAAc,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CACpF,CAAC;AAOF,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AACxC,MAAM,cAAc,GAAG,CAAC,QAAoB,EAA0B,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AAC1J,MAAM,mBAAmB,GAAG,SAAS,CAAC,yEAAyE,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAc,EAAE;IACtJ,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,KAAK,GAA2C,EAAE,CAAC;IACzD,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,MAAM,IAAI,GAAG,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACzH,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACvB,CAAC;IACL,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC/D,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAI5B,GAAG,OAAO,CAAC;QACP,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,UAAU;QACV,mBAAmB;QACnB,oBAAoB;QACpB,cAAc;QACd,cAAc;QACd,qBAAqB;QACrB,iBAAiB;QACjB,WAAW;QACX,kBAAkB;QAClB,gBAAgB;QAChB,YAAY;QACZ,kBAAkB;QAClB,mBAAmB;QACnB,UAAU;QACV,cAAc;QACd,aAAa;QACb,oBAAoB;KACvB,CAAC;IACF,MAAM,CACF,OAAO,EACP,gBAAgB,EAEhB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAiC,EACvF,+GAA+G,CAClH;IAED,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrE,MAAM,CACF,OAAO,EACP,cAAc,EACd,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAiC,EACrF,qGAAqG,CACxG;IACD,cAAc;IAEd,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAEhC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAEtC,GAAG,OAAO,CAAC,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;IAEnD,GAAG,OAAO,CAAC,CAAC,oBAAoB,EAAE,2BAA2B,CAAC,CAAC;IAC/D,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;IACrC,mBAAmB;CACb,CAAC"}
@@ -221,8 +221,6 @@ export declare const SandboxSettingsSchema: z.ZodObject<{
221
221
  intentic: "intentic";
222
222
  }>>;
223
223
  systemPrompt: z.ZodDefault<z.ZodString>;
224
- toolResultClearing: z.ZodDefault<z.ZodBoolean>;
225
- toolResultClearingHoldout: z.ZodDefault<z.ZodNumber>;
226
224
  iqSearch: z.ZodDefault<z.ZodBoolean>;
227
225
  iqSearchHoldout: z.ZodDefault<z.ZodNumber>;
228
226
  workspaceMap: z.ZodDefault<z.ZodBoolean>;
@@ -232,31 +230,38 @@ export declare const SandboxSettingsSchema: z.ZodObject<{
232
230
  fieldNotesHoldout: z.ZodDefault<z.ZodNumber>;
233
231
  outputCleaners: z.ZodDefault<z.ZodString>;
234
232
  outputHoldout: z.ZodDefault<z.ZodNumber>;
235
- modelRoles: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
233
+ modelSetups: z.ZodDefault<z.ZodArray<z.ZodObject<{
234
+ id: z.ZodString;
235
+ name: z.ZodOptional<z.ZodString>;
236
+ pins: z.ZodOptional<z.ZodArray<z.ZodObject<{
237
+ provider: z.ZodString;
238
+ model: z.ZodString;
239
+ effort: z.ZodOptional<z.ZodString>;
240
+ thinking: z.ZodOptional<z.ZodBoolean>;
241
+ fast: z.ZodOptional<z.ZodBoolean>;
242
+ harness: z.ZodOptional<z.ZodEnum<{
243
+ "claude-code": "claude-code";
244
+ native: "native";
245
+ }>>;
246
+ }, z.core.$strip>>>;
247
+ }, z.core.$strip>>>;
248
+ roleSetups: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
236
249
  "acceptance-run": "acceptance-run";
237
250
  "approval-queue": "approval-queue";
238
251
  "commit-message": "commit-message";
239
252
  "deployment-fix": "deployment-fix";
240
253
  "documentation-run": "documentation-run";
241
254
  "extension-review": "extension-review";
255
+ "handoff-summary": "handoff-summary";
242
256
  "loop-iteration": "loop-iteration";
243
257
  "loop-verdict": "loop-verdict";
244
258
  "maintenance-chore": "maintenance-chore";
245
259
  "model-router": "model-router";
246
260
  "pipeline-fix": "pipeline-fix";
261
+ "refactor-run": "refactor-run";
247
262
  "safety-judge": "safety-judge";
248
263
  "session-title": "session-title";
249
- }> & z.core.$partial, z.ZodArray<z.ZodObject<{
250
- provider: z.ZodString;
251
- model: z.ZodString;
252
- effort: z.ZodOptional<z.ZodString>;
253
- thinking: z.ZodOptional<z.ZodBoolean>;
254
- fast: z.ZodOptional<z.ZodBoolean>;
255
- harness: z.ZodOptional<z.ZodEnum<{
256
- "claude-code": "claude-code";
257
- native: "native";
258
- }>>;
259
- }, z.core.$strip>>>>;
264
+ }> & z.core.$partial, z.ZodString>>;
260
265
  autoModelGuidance: z.ZodDefault<z.ZodString>;
261
266
  changelogRepos: z.ZodDefault<z.ZodArray<z.ZodString>>;
262
267
  agentRetentionDays: z.ZodDefault<z.ZodNumber>;
@@ -277,7 +282,14 @@ export declare const SandboxSettingsSchema: z.ZodObject<{
277
282
  resend: "resend";
278
283
  wait: "wait";
279
284
  }>>;
285
+ limitHandoff: z.ZodDefault<z.ZodEnum<{
286
+ carry: "carry";
287
+ suggested: "suggested";
288
+ summary: "summary";
289
+ trim: "trim";
290
+ }>>;
280
291
  limitMoveCarryUnder: z.ZodDefault<z.ZodNumber>;
292
+ handoffSummaryOver: z.ZodDefault<z.ZodNumber>;
281
293
  keepWarm: z.ZodPrefault<z.ZodObject<{
282
294
  auto: z.ZodDefault<z.ZodBoolean>;
283
295
  hours: z.ZodDefault<z.ZodNumber>;
@@ -288,6 +300,11 @@ export declare const SandboxSettingsSchema: z.ZodObject<{
288
300
  followOrigin: z.ZodDefault<z.ZodBoolean>;
289
301
  offload: z.ZodDefault<z.ZodObject<{
290
302
  commands: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
303
+ sessions: z.ZodDefault<z.ZodEnum<{
304
+ auto: "auto";
305
+ off: "off";
306
+ suggest: "suggest";
307
+ }>>;
291
308
  }, z.core.$strip>>;
292
309
  continueWhenNeedMet: z.ZodDefault<z.ZodBoolean>;
293
310
  autoResumeOnRestart: z.ZodDefault<z.ZodBoolean>;
@@ -401,8 +418,6 @@ export declare const SandboxSettingsWriteSchema: z.ZodObject<{
401
418
  intentic: "intentic";
402
419
  }>>;
403
420
  systemPrompt: z.ZodDefault<z.ZodString>;
404
- toolResultClearing: z.ZodDefault<z.ZodBoolean>;
405
- toolResultClearingHoldout: z.ZodDefault<z.ZodNumber>;
406
421
  iqSearch: z.ZodDefault<z.ZodBoolean>;
407
422
  iqSearchHoldout: z.ZodDefault<z.ZodNumber>;
408
423
  workspaceMap: z.ZodDefault<z.ZodBoolean>;
@@ -412,31 +427,38 @@ export declare const SandboxSettingsWriteSchema: z.ZodObject<{
412
427
  fieldNotesHoldout: z.ZodDefault<z.ZodNumber>;
413
428
  outputCleaners: z.ZodDefault<z.ZodString>;
414
429
  outputHoldout: z.ZodDefault<z.ZodNumber>;
415
- modelRoles: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
430
+ modelSetups: z.ZodDefault<z.ZodArray<z.ZodObject<{
431
+ id: z.ZodString;
432
+ name: z.ZodOptional<z.ZodString>;
433
+ pins: z.ZodOptional<z.ZodArray<z.ZodObject<{
434
+ provider: z.ZodString;
435
+ model: z.ZodString;
436
+ effort: z.ZodOptional<z.ZodString>;
437
+ thinking: z.ZodOptional<z.ZodBoolean>;
438
+ fast: z.ZodOptional<z.ZodBoolean>;
439
+ harness: z.ZodOptional<z.ZodEnum<{
440
+ "claude-code": "claude-code";
441
+ native: "native";
442
+ }>>;
443
+ }, z.core.$strip>>>;
444
+ }, z.core.$strip>>>;
445
+ roleSetups: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
416
446
  "acceptance-run": "acceptance-run";
417
447
  "approval-queue": "approval-queue";
418
448
  "commit-message": "commit-message";
419
449
  "deployment-fix": "deployment-fix";
420
450
  "documentation-run": "documentation-run";
421
451
  "extension-review": "extension-review";
452
+ "handoff-summary": "handoff-summary";
422
453
  "loop-iteration": "loop-iteration";
423
454
  "loop-verdict": "loop-verdict";
424
455
  "maintenance-chore": "maintenance-chore";
425
456
  "model-router": "model-router";
426
457
  "pipeline-fix": "pipeline-fix";
458
+ "refactor-run": "refactor-run";
427
459
  "safety-judge": "safety-judge";
428
460
  "session-title": "session-title";
429
- }> & z.core.$partial, z.ZodArray<z.ZodObject<{
430
- provider: z.ZodString;
431
- model: z.ZodString;
432
- effort: z.ZodOptional<z.ZodString>;
433
- thinking: z.ZodOptional<z.ZodBoolean>;
434
- fast: z.ZodOptional<z.ZodBoolean>;
435
- harness: z.ZodOptional<z.ZodEnum<{
436
- "claude-code": "claude-code";
437
- native: "native";
438
- }>>;
439
- }, z.core.$strip>>>>;
461
+ }> & z.core.$partial, z.ZodString>>;
440
462
  autoModelGuidance: z.ZodDefault<z.ZodString>;
441
463
  changelogRepos: z.ZodDefault<z.ZodArray<z.ZodString>>;
442
464
  agentRetentionDays: z.ZodDefault<z.ZodNumber>;
@@ -457,7 +479,14 @@ export declare const SandboxSettingsWriteSchema: z.ZodObject<{
457
479
  resend: "resend";
458
480
  wait: "wait";
459
481
  }>>;
482
+ limitHandoff: z.ZodDefault<z.ZodEnum<{
483
+ carry: "carry";
484
+ suggested: "suggested";
485
+ summary: "summary";
486
+ trim: "trim";
487
+ }>>;
460
488
  limitMoveCarryUnder: z.ZodDefault<z.ZodNumber>;
489
+ handoffSummaryOver: z.ZodDefault<z.ZodNumber>;
461
490
  keepWarm: z.ZodPrefault<z.ZodObject<{
462
491
  auto: z.ZodDefault<z.ZodBoolean>;
463
492
  hours: z.ZodDefault<z.ZodNumber>;
@@ -468,6 +497,11 @@ export declare const SandboxSettingsWriteSchema: z.ZodObject<{
468
497
  followOrigin: z.ZodDefault<z.ZodBoolean>;
469
498
  offload: z.ZodDefault<z.ZodObject<{
470
499
  commands: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
500
+ sessions: z.ZodDefault<z.ZodEnum<{
501
+ auto: "auto";
502
+ off: "off";
503
+ suggest: "suggest";
504
+ }>>;
471
505
  }, z.core.$strip>>;
472
506
  continueWhenNeedMet: z.ZodDefault<z.ZodBoolean>;
473
507
  autoResumeOnRestart: z.ZodDefault<z.ZodBoolean>;
@@ -583,6 +617,11 @@ export declare const AudienceStateSchema: z.ZodObject<{
583
617
  adopted: z.ZodBoolean;
584
618
  }, z.core.$strip>;
585
619
  export type AudienceState = z.infer<typeof AudienceStateSchema>;
620
+ export declare const GettingStartedSchema: z.ZodObject<{
621
+ hidden: z.ZodOptional<z.ZodBoolean>;
622
+ skipped: z.ZodOptional<z.ZodArray<z.ZodString>>;
623
+ }, z.core.$strip>;
624
+ export type GettingStarted = z.infer<typeof GettingStartedSchema>;
586
625
  export declare const TimezoneOfferSchema: z.ZodObject<{
587
626
  timezone: z.ZodString & z.ZodType<import("../time/zone.js").Zone, string, z.core.$ZodTypeInternals<import("../time/zone.js").Zone, string>>;
588
627
  }, z.core.$strip>;
@@ -632,11 +671,9 @@ export declare const SavingsArmSchema: z.ZodObject<{
632
671
  export declare const TurnMetricReadingSchema: z.ZodObject<{
633
672
  metric: z.ZodEnum<{
634
673
  callsBeforeTarget: "callsBeforeTarget";
635
- contextPerCall: "contextPerCall";
636
674
  failedCalls: "failedCalls";
637
675
  openingListings: "openingListings";
638
676
  openingSearches: "openingSearches";
639
- roundTrips: "roundTrips";
640
677
  searchCalls: "searchCalls";
641
678
  }>;
642
679
  on: z.ZodObject<{
@@ -657,11 +694,9 @@ export declare const TurnExperimentSchema: z.ZodObject<{
657
694
  metrics: z.ZodTuple<[z.ZodObject<{
658
695
  metric: z.ZodEnum<{
659
696
  callsBeforeTarget: "callsBeforeTarget";
660
- contextPerCall: "contextPerCall";
661
697
  failedCalls: "failedCalls";
662
698
  openingListings: "openingListings";
663
699
  openingSearches: "openingSearches";
664
- roundTrips: "roundTrips";
665
700
  searchCalls: "searchCalls";
666
701
  }>;
667
702
  on: z.ZodObject<{
@@ -679,11 +714,9 @@ export declare const TurnExperimentSchema: z.ZodObject<{
679
714
  }, z.core.$strip>], z.ZodObject<{
680
715
  metric: z.ZodEnum<{
681
716
  callsBeforeTarget: "callsBeforeTarget";
682
- contextPerCall: "contextPerCall";
683
717
  failedCalls: "failedCalls";
684
718
  openingListings: "openingListings";
685
719
  openingSearches: "openingSearches";
686
- roundTrips: "roundTrips";
687
720
  searchCalls: "searchCalls";
688
721
  }>;
689
722
  on: z.ZodObject<{
@@ -750,11 +783,9 @@ export declare const SavingsReportSchema: z.ZodObject<{
750
783
  metrics: z.ZodTuple<[z.ZodObject<{
751
784
  metric: z.ZodEnum<{
752
785
  callsBeforeTarget: "callsBeforeTarget";
753
- contextPerCall: "contextPerCall";
754
786
  failedCalls: "failedCalls";
755
787
  openingListings: "openingListings";
756
788
  openingSearches: "openingSearches";
757
- roundTrips: "roundTrips";
758
789
  searchCalls: "searchCalls";
759
790
  }>;
760
791
  on: z.ZodObject<{
@@ -772,11 +803,9 @@ export declare const SavingsReportSchema: z.ZodObject<{
772
803
  }, z.core.$strip>], z.ZodObject<{
773
804
  metric: z.ZodEnum<{
774
805
  callsBeforeTarget: "callsBeforeTarget";
775
- contextPerCall: "contextPerCall";
776
806
  failedCalls: "failedCalls";
777
807
  openingListings: "openingListings";
778
808
  openingSearches: "openingSearches";
779
- roundTrips: "roundTrips";
780
809
  searchCalls: "searchCalls";
781
810
  }>;
782
811
  on: z.ZodObject<{
@@ -804,11 +833,9 @@ export declare const SavingsReportSchema: z.ZodObject<{
804
833
  metrics: z.ZodTuple<[z.ZodObject<{
805
834
  metric: z.ZodEnum<{
806
835
  callsBeforeTarget: "callsBeforeTarget";
807
- contextPerCall: "contextPerCall";
808
836
  failedCalls: "failedCalls";
809
837
  openingListings: "openingListings";
810
838
  openingSearches: "openingSearches";
811
- roundTrips: "roundTrips";
812
839
  searchCalls: "searchCalls";
813
840
  }>;
814
841
  on: z.ZodObject<{
@@ -826,11 +853,9 @@ export declare const SavingsReportSchema: z.ZodObject<{
826
853
  }, z.core.$strip>], z.ZodObject<{
827
854
  metric: z.ZodEnum<{
828
855
  callsBeforeTarget: "callsBeforeTarget";
829
- contextPerCall: "contextPerCall";
830
856
  failedCalls: "failedCalls";
831
857
  openingListings: "openingListings";
832
858
  openingSearches: "openingSearches";
833
- roundTrips: "roundTrips";
834
859
  searchCalls: "searchCalls";
835
860
  }>;
836
861
  on: z.ZodObject<{
@@ -858,65 +883,9 @@ export declare const SavingsReportSchema: z.ZodObject<{
858
883
  metrics: z.ZodTuple<[z.ZodObject<{
859
884
  metric: z.ZodEnum<{
860
885
  callsBeforeTarget: "callsBeforeTarget";
861
- contextPerCall: "contextPerCall";
862
- failedCalls: "failedCalls";
863
- openingListings: "openingListings";
864
- openingSearches: "openingSearches";
865
- roundTrips: "roundTrips";
866
- searchCalls: "searchCalls";
867
- }>;
868
- on: z.ZodObject<{
869
- turns: z.ZodNumber;
870
- mean: z.ZodNumber;
871
- }, z.core.$strip>;
872
- off: z.ZodObject<{
873
- turns: z.ZodNumber;
874
- mean: z.ZodNumber;
875
- }, z.core.$strip>;
876
- controlTurnsNeeded: z.ZodOptional<z.ZodNumber>;
877
- marginPct: z.ZodOptional<z.ZodNumber>;
878
- deltaPct: z.ZodOptional<z.ZodNumber>;
879
- saved: z.ZodOptional<z.ZodNumber>;
880
- }, z.core.$strip>], z.ZodObject<{
881
- metric: z.ZodEnum<{
882
- callsBeforeTarget: "callsBeforeTarget";
883
- contextPerCall: "contextPerCall";
884
- failedCalls: "failedCalls";
885
- openingListings: "openingListings";
886
- openingSearches: "openingSearches";
887
- roundTrips: "roundTrips";
888
- searchCalls: "searchCalls";
889
- }>;
890
- on: z.ZodObject<{
891
- turns: z.ZodNumber;
892
- mean: z.ZodNumber;
893
- }, z.core.$strip>;
894
- off: z.ZodObject<{
895
- turns: z.ZodNumber;
896
- mean: z.ZodNumber;
897
- }, z.core.$strip>;
898
- controlTurnsNeeded: z.ZodOptional<z.ZodNumber>;
899
- marginPct: z.ZodOptional<z.ZodNumber>;
900
- deltaPct: z.ZodOptional<z.ZodNumber>;
901
- saved: z.ZodOptional<z.ZodNumber>;
902
- }, z.core.$strip>>;
903
- minTurns: z.ZodNumber;
904
- sampleUnit: z.ZodOptional<z.ZodEnum<{
905
- conversations: "conversations";
906
- "opening turns": "opening turns";
907
- turns: "turns";
908
- }>>;
909
- cohort: z.ZodOptional<z.ZodString>;
910
- }, z.core.$strip>>;
911
- clearing: z.ZodOptional<z.ZodObject<{
912
- metrics: z.ZodTuple<[z.ZodObject<{
913
- metric: z.ZodEnum<{
914
- callsBeforeTarget: "callsBeforeTarget";
915
- contextPerCall: "contextPerCall";
916
886
  failedCalls: "failedCalls";
917
887
  openingListings: "openingListings";
918
888
  openingSearches: "openingSearches";
919
- roundTrips: "roundTrips";
920
889
  searchCalls: "searchCalls";
921
890
  }>;
922
891
  on: z.ZodObject<{
@@ -934,11 +903,9 @@ export declare const SavingsReportSchema: z.ZodObject<{
934
903
  }, z.core.$strip>], z.ZodObject<{
935
904
  metric: z.ZodEnum<{
936
905
  callsBeforeTarget: "callsBeforeTarget";
937
- contextPerCall: "contextPerCall";
938
906
  failedCalls: "failedCalls";
939
907
  openingListings: "openingListings";
940
908
  openingSearches: "openingSearches";
941
- roundTrips: "roundTrips";
942
909
  searchCalls: "searchCalls";
943
910
  }>;
944
911
  on: z.ZodObject<{
@@ -1014,6 +981,7 @@ export declare const RepoChecksSummarySchema: z.ZodObject<{
1014
981
  fired: z.ZodArray<z.ZodNullable<z.ZodNumber>>;
1015
982
  adopted: z.ZodBoolean;
1016
983
  changed: z.ZodBoolean;
984
+ held: z.ZodOptional<z.ZodArray<z.ZodBoolean>>;
1017
985
  error: z.ZodOptional<z.ZodString>;
1018
986
  }, z.core.$strip>;
1019
987
  export type RepoChecksSummary = z.infer<typeof RepoChecksSummarySchema>;
@@ -1035,6 +1003,7 @@ export declare const RepoChecksListSchema: z.ZodObject<{
1035
1003
  fired: z.ZodArray<z.ZodNullable<z.ZodNumber>>;
1036
1004
  adopted: z.ZodBoolean;
1037
1005
  changed: z.ZodBoolean;
1006
+ held: z.ZodOptional<z.ZodArray<z.ZodBoolean>>;
1038
1007
  error: z.ZodOptional<z.ZodString>;
1039
1008
  }, z.core.$strip>>;
1040
1009
  }, z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/schemas/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/schemas/settings.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,10 @@ import { STATE_DIR } from "@intentic/constants";
2
2
  import { z } from "zod";
3
3
  import { CommandJudgeModeSchema, ProjectInstallModeSchema } from "../policy/safety-policy.js";
4
4
  import { ModelRoleSchema } from "../models/model-roles.js";
5
- import { AdmissionPolicySchema, AdmissionRuleSchema, ModelPinSchema } from "./agent.js";
5
+ import { MODEL_SETUP_ID, ModelSetupSchema } from "../models/model-setups.js";
6
+ import { AdmissionPolicySchema, AdmissionRuleSchema } from "./agent.js";
7
+ import { LimitHandoffSchema } from "./providers/handoff.js";
8
+ import { SessionsPlacementSchema } from "./offload.js";
6
9
  import { LimitPolicySchema, RetryPolicySchema, RoomPolicySchema } from "./turn-break.js";
7
10
  import { ZoneSchema } from "../time/zone.js";
8
11
  export const AgentDomainSchema = z.enum(["root", "unprivileged"]);
@@ -165,16 +168,6 @@ export const SandboxSettingsSchema = z.object({
165
168
  .max(SYSTEM_PROMPT_MAX)
166
169
  .default("")
167
170
  .describe("Your own instructions, used only when the mode above says custom. Then it is the whole of them: both built-in bases go, and so does everything this product would otherwise add, including the guidance the chat's own cards are driven by. That is the price of total control."),
168
- toolResultClearing: z
169
- .boolean()
170
- .default(false)
171
- .describe("Replace old tool results from a Claude conversation once it grows long, a large chunk at a time, keeping the most recent ones whole. The agent sees a short placeholder where each one was and can run the tool again. Smaller prompts cost less and answer sooner, at the risk of the agent re-reading what it already saw."),
172
- toolResultClearingHoldout: z
173
- .number()
174
- .min(0)
175
- .max(1)
176
- .default(0.5)
177
- .describe("What share of conversations keep every tool result, so the two can be compared. Whole conversations rather than individual turns, because what was dropped stays dropped for the rest of the session."),
178
171
  iqSearch: z
179
172
  .boolean()
180
173
  .default(false)
@@ -188,13 +181,13 @@ export const SandboxSettingsSchema = z.object({
188
181
  workspaceMap: z
189
182
  .boolean()
190
183
  .default(false)
191
- .describe("Open every conversation with a map of the project it starts in: the parts recent work touched and what each is for, the rest by name, where the agent is standing, and which folders the last three weeks of commits landed in. Worked out fresh each time from the tree and its history rather than written down anywhere, because a written layout is wrong within a fortnight. Off by default, since it spends tokens on the first message of every conversation."),
184
+ .describe("Open every conversation with a map of the project it starts in: what is in it, what each part is for, and where the agent is standing. Worked out fresh each time rather than written down anywhere, because a written layout is wrong within a fortnight. Off by default, since it spends tokens on the first message of every conversation."),
192
185
  workspaceMapHoldout: z
193
186
  .number()
194
187
  .min(0)
195
188
  .max(1)
196
189
  .default(0)
197
- .describe("What share of conversations to open with the full map instead, every area with its size, so the two forms can be compared. Whole conversations rather than individual turns, because the map is sent once and stays in the conversation's history afterwards."),
190
+ .describe("What share of conversations to open without the map, so the two can be compared. Whole conversations rather than individual turns, because the map is sent once and stays in the conversation's history afterwards."),
198
191
  fieldNotes: z
199
192
  .boolean()
200
193
  .default(false)
@@ -222,10 +215,15 @@ export const SandboxSettingsSchema = z.object({
222
215
  .max(1)
223
216
  .default(0)
224
217
  .describe("What share of commands to leave untrimmed, so the saving can be measured against a real comparison rather than estimated."),
225
- modelRoles: z
226
- .partialRecord(ModelRoleSchema, z.array(ModelPinSchema).max(10))
218
+ modelSetups: z
219
+ .array(ModelSetupSchema)
220
+ .max(20)
221
+ .default([])
222
+ .describe("The model setups jobs run on: Low, Medium and High, which every sandbox has, and any you make. Each is an ordered list of models, tried in order so one spent account does not take its jobs down. A preset left out of this list, or listed without models, is worked out from the accounts you have connected. A setup runs only the jobs put on it (`roleSetups`)."),
223
+ roleSetups: z
224
+ .partialRecord(ModelRoleSchema, z.string().regex(MODEL_SETUP_ID))
227
225
  .default({})
228
- .describe("Which models do which job, one ordered list per job: commit messages, session titles, the safety judge, pipeline fixes, and every other place this sandbox picks a model for you. Tried in order, so one spent account does not take a job down. Nothing is chosen for you: a one-shot job with no list does not run, and a whole session with no list opens on whatever your own chat is set to."),
226
+ .describe("Which setup each job runs on: commit messages, session titles, the safety judge, pipeline fixes and every other place this sandbox picks a model for you. Nothing is chosen for you: a job left out, or on a setup with no models, has none, so a one-shot job does not run and a whole session opens on whatever your own chat is set to."),
229
227
  autoModelGuidance: z
230
228
  .string()
231
229
  .max(AUTO_MODEL_GUIDANCE_MAX)
@@ -246,12 +244,19 @@ export const SandboxSettingsSchema = z.object({
246
244
  outagePolicy: RetryPolicySchema.default("wait").describe("What happens to a turn the model provider's own failure killed. `wait` holds it for a press. `retry` re-runs it on the shared per-provider breaker, backing off between attempts. The sandbox-wide default; any one conversation can say otherwise. Worth `retry` for a sandbox whose work mostly happens with nobody in the room."),
247
245
  stopPolicy: RetryPolicySchema.default("wait").describe("What happens to a turn that stopped short with nothing to repair — a hung runtime, a crashed harness. `wait` holds it for a press. `retry` re-runs the held turn on a short ladder, standing down after three tries that got nowhere rather than looping forever."),
248
246
  memoryPolicy: RoomPolicySchema.default("resend").describe("What happens to a message the sandbox held because it was short of memory: nothing ran, so nothing was spent. `resend` sends it by itself once memory has stayed free for a while, one held conversation at a time. `wait` holds it until somebody presses Send anyway. The sandbox-wide default; any one conversation can say otherwise."),
247
+ limitHandoff: LimitHandoffSchema.default("suggested").describe("How a turn a spent usage limit held continues, on this account at the reset or on another: `carry` resumes the session as it is (the model keeps everything and re-reads all of it), `trim` resumes a copy with older tool output cleared (every message and tool call stays), `summary` opens a fresh session with a smaller model's summary and the last exchanges word for word. `suggested` picks by the conversation's size, using the two thresholds beside this. The chat's card preselects it and lets you pick another for that turn."),
249
248
  limitMoveCarryUnder: z
250
249
  .number()
251
250
  .int()
252
251
  .min(0)
253
- .default(100_000)
254
- .describe("When a spent usage limit moves a turn to another account, carry the provider session (the model keeps everything, and re-reads all of it once on the other account) while the conversation's context is under this many tokens; at or above it, start a fresh session with the sandbox's measured brief instead. Zero always starts fresh."),
252
+ .default(150_000)
253
+ .describe("For the suggested hand-off: carry the session as it is while the conversation's context is under this many tokens; at or above it, trim it (or summarise it, past the next threshold). Zero never suggests carrying."),
254
+ handoffSummaryOver: z
255
+ .number()
256
+ .int()
257
+ .min(0)
258
+ .default(700_000)
259
+ .describe("For the suggested hand-off: at or above this many tokens of context, suggest a summary rather than a trimmed session, where a model is set for hand-off summaries."),
255
260
  keepWarm: KeepWarmSettingsSchema.prefault({}).describe("Keeping an idle conversation's prompt cache warm, so coming back to it hours later costs a cache read instead of re-sending everything. Any one conversation can be kept warm or let cool by hand whatever `auto` says."),
256
261
  autoRepair: z
257
262
  .boolean()
@@ -264,9 +269,10 @@ export const SandboxSettingsSchema = z.object({
264
269
  offload: z
265
270
  .object({
266
271
  commands: z.record(z.string().min(1), z.string().min(1)).default({}),
272
+ sessions: SessionsPlacementSchema.default("suggest"),
267
273
  })
268
- .default({ commands: {} })
269
- .describe("Which heavy work runs on a runner on one of your machines instead of this sandbox: agents' commands by the kind the heavy-command rules sort them into (tests, typechecks, verify…). The code travels as it stands, uncommitted work included; the output streams back, and any file the command changed comes back with it. A machine that is offline, outdated or busy hands the work back to this sandbox, and the output says so."),
274
+ .default({ commands: {}, sessions: "suggest" })
275
+ .describe("Which work runs on a runner on one of your machines instead of this sandbox. `commands`: agents' heavy commands by the kind the heavy-command rules sort them into (tests, typechecks, verify…); the code travels as it stands, uncommitted work included, the output streams back, and any file the command changed comes back with it, while a machine that is offline, outdated or busy hands the work back to this sandbox, and the output says so. `sessions`: what happens to a new conversation while this machine is busy and one of your runners has room: `suggest` offers that machine above the composer, `auto` starts it there unless you keep it here, `off` says nothing."),
270
276
  continueWhenNeedMet: z
271
277
  .boolean()
272
278
  .default(true)
@@ -278,7 +284,7 @@ export const SandboxSettingsSchema = z.object({
278
284
  adoptedChecks: z
279
285
  .record(z.string(), z.string())
280
286
  .default({})
281
- .describe("Which repositories may run the checks they declare for themselves, and exactly which version of those checks you agreed to. A repository's declaration does nothing until it appears here, the same rule git keeps for hooks, which are never cloned; and a declaration that changes afterwards is held until you look at it again."),
287
+ .describe("Which repositories may run the checks they declare for themselves, and exactly which version of those checks you agreed to. A repository's declaration does nothing until it appears here, the same rule git keeps for hooks, which are never cloned; and a check it adds or rewrites afterwards waits until you look at it again, while the ones you agreed to keep running."),
282
288
  rules: z
283
289
  .array(RuleSchema)
284
290
  .max(50)
@@ -324,6 +330,14 @@ export const AudienceStateSchema = z.object({
324
330
  audience: AudienceSchema.describe("The words this sandbox's editor now uses."),
325
331
  adopted: z.boolean().describe("Whether this call set it. False means an offer met an answer already kept, which stands."),
326
332
  });
333
+ export const GettingStartedSchema = z.object({
334
+ hidden: z.boolean().optional().describe("Whether this person put the checklist away. Absent until they have."),
335
+ skipped: z
336
+ .array(z.string().min(1).max(40))
337
+ .max(20)
338
+ .optional()
339
+ .describe("The checklist steps this person passed over, by the editor's own step names."),
340
+ });
327
341
  export const TimezoneOfferSchema = z.object({
328
342
  timezone: ZoneSchema.describe("The zone the offering machine is in, as an IANA name like Europe/Warsaw."),
329
343
  });
@@ -345,7 +359,7 @@ export const InputSavingsSchema = z.object({
345
359
  });
346
360
  export const SavingsArmSchema = z.object({ turns: z.number(), mean: z.number() });
347
361
  export const TurnMetricReadingSchema = z.object({
348
- metric: z.enum(["searchCalls", "openingSearches", "openingListings", "callsBeforeTarget", "failedCalls", "roundTrips", "contextPerCall"]),
362
+ metric: z.enum(["searchCalls", "openingSearches", "openingListings", "callsBeforeTarget", "failedCalls"]),
349
363
  on: SavingsArmSchema,
350
364
  off: SavingsArmSchema,
351
365
  controlTurnsNeeded: z.number().optional(),
@@ -374,7 +388,6 @@ export const SavingsReportSchema = z.object({
374
388
  search: TurnExperimentSchema.optional(),
375
389
  map: TurnExperimentSchema.optional(),
376
390
  notes: TurnExperimentSchema.optional(),
377
- clearing: TurnExperimentSchema.optional(),
378
391
  });
379
392
  export const REPO_CHECKS_FILE = `${STATE_DIR}/checks.json`;
380
393
  export const RepoCheckMomentSchema = z.enum(["edit", "turn", "land"]);
@@ -407,7 +420,11 @@ export const RepoChecksSummarySchema = z.object({
407
420
  .describe("Whether these are running. False means declared and inert: nothing a repository writes runs until the owner switches it on."),
408
421
  changed: z
409
422
  .boolean()
410
- .describe("Whether the declaration changed since it was adopted, which holds it until the owner looks again. True only for a repository that was adopted before."),
423
+ .describe("Whether the declaration gained or rewrote a check since it was adopted. What changed waits until the owner looks again; the checks the owner already agreed to, word for word, keep running (`held` says which is which). True only for a repository that was adopted before."),
424
+ held: z
425
+ .array(z.boolean())
426
+ .optional()
427
+ .describe("For a changed declaration, which of its checks wait for the owner, in the file's order: true for one that is new or rewritten since they agreed, false for one still running as agreed, or retired. Absent when nothing changed, and from a sandbox that holds a changed declaration whole."),
411
428
  error: z.string().optional().describe("Why the file could not be read, when it exists but does not parse. The checks list is empty in that case."),
412
429
  });
413
430
  export const RepoChecksListSchema = z.object({