agentfootprint 9.134.0 → 9.134.2

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 (197) hide show
  1. package/dist/adapters/llm/MockProvider.js +5 -2
  2. package/dist/adapters/llm/MockProvider.js.map +1 -1
  3. package/dist/core/Agent.js +31 -43
  4. package/dist/core/Agent.js.map +1 -1
  5. package/dist/core/agent/AgentBuilder.js +7 -2
  6. package/dist/core/agent/AgentBuilder.js.map +1 -1
  7. package/dist/core/agent/arguments/ask.js +3 -2
  8. package/dist/core/agent/arguments/ask.js.map +1 -1
  9. package/dist/core/agent/arguments/serve.js +72 -12
  10. package/dist/core/agent/arguments/serve.js.map +1 -1
  11. package/dist/core/agent/buildAgentChart.js +24 -5
  12. package/dist/core/agent/buildAgentChart.js.map +1 -1
  13. package/dist/core/agent/buildDynamicAgentChart.js +3 -3
  14. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  15. package/dist/core/agent/coverage/timeLimitFacts.js +8 -1
  16. package/dist/core/agent/coverage/timeLimitFacts.js.map +1 -1
  17. package/dist/core/agent/coverage/timeLimits.js +15 -6
  18. package/dist/core/agent/coverage/timeLimits.js.map +1 -1
  19. package/dist/core/agent/evidence/figures.js +3 -9
  20. package/dist/core/agent/evidence/figures.js.map +1 -1
  21. package/dist/core/agent/stagedRefs.js +2 -1
  22. package/dist/core/agent/stagedRefs.js.map +1 -1
  23. package/dist/core/agent/stages/argumentAsk.js +1 -0
  24. package/dist/core/agent/stages/argumentAsk.js.map +1 -1
  25. package/dist/core/agent/stages/timeLayer.js +8 -2
  26. package/dist/core/agent/stages/timeLayer.js.map +1 -1
  27. package/dist/core/slots/buildToolsSlot.js +14 -4
  28. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  29. package/dist/core/time/ask.js +1 -0
  30. package/dist/core/time/ask.js.map +1 -1
  31. package/dist/core/time/clock.js +28 -14
  32. package/dist/core/time/clock.js.map +1 -1
  33. package/dist/core/time/forms.js +4 -1
  34. package/dist/core/time/forms.js.map +1 -1
  35. package/dist/core/time/readingAsk.js +5 -1
  36. package/dist/core/time/readingAsk.js.map +1 -1
  37. package/dist/core/time/resolve.js +102 -31
  38. package/dist/core/time/resolve.js.map +1 -1
  39. package/dist/core/time/resolveRecord.js.map +1 -1
  40. package/dist/core/time/rows.js +48 -2
  41. package/dist/core/time/rows.js.map +1 -1
  42. package/dist/core/time/windows.js +1 -0
  43. package/dist/core/time/windows.js.map +1 -1
  44. package/dist/core/time/wire.js +5 -1
  45. package/dist/core/time/wire.js.map +1 -1
  46. package/dist/esm/adapters/llm/MockProvider.d.ts +4 -1
  47. package/dist/esm/adapters/llm/MockProvider.js +5 -2
  48. package/dist/esm/adapters/llm/MockProvider.js.map +1 -1
  49. package/dist/esm/core/Agent.d.ts +9 -7
  50. package/dist/esm/core/Agent.js +31 -43
  51. package/dist/esm/core/Agent.js.map +1 -1
  52. package/dist/esm/core/agent/AgentBuilder.d.ts +7 -2
  53. package/dist/esm/core/agent/AgentBuilder.js +7 -2
  54. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  55. package/dist/esm/core/agent/arguments/ask.d.ts +6 -0
  56. package/dist/esm/core/agent/arguments/ask.js +4 -3
  57. package/dist/esm/core/agent/arguments/ask.js.map +1 -1
  58. package/dist/esm/core/agent/arguments/serve.d.ts +40 -5
  59. package/dist/esm/core/agent/arguments/serve.js +71 -12
  60. package/dist/esm/core/agent/arguments/serve.js.map +1 -1
  61. package/dist/esm/core/agent/buildAgentChart.d.ts +23 -11
  62. package/dist/esm/core/agent/buildAgentChart.js +22 -4
  63. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  64. package/dist/esm/core/agent/buildDynamicAgentChart.js +4 -4
  65. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  66. package/dist/esm/core/agent/coverage/timeLimitFacts.d.ts +2 -0
  67. package/dist/esm/core/agent/coverage/timeLimitFacts.js +9 -2
  68. package/dist/esm/core/agent/coverage/timeLimitFacts.js.map +1 -1
  69. package/dist/esm/core/agent/coverage/timeLimits.d.ts +2 -0
  70. package/dist/esm/core/agent/coverage/timeLimits.js +14 -5
  71. package/dist/esm/core/agent/coverage/timeLimits.js.map +1 -1
  72. package/dist/esm/core/agent/evidence/figures.d.ts +6 -4
  73. package/dist/esm/core/agent/evidence/figures.js +6 -3
  74. package/dist/esm/core/agent/evidence/figures.js.map +1 -1
  75. package/dist/esm/core/agent/stagedRefs.js +2 -1
  76. package/dist/esm/core/agent/stagedRefs.js.map +1 -1
  77. package/dist/esm/core/agent/stages/argumentAsk.js +1 -0
  78. package/dist/esm/core/agent/stages/argumentAsk.js.map +1 -1
  79. package/dist/esm/core/agent/stages/timeLayer.d.ts +4 -1
  80. package/dist/esm/core/agent/stages/timeLayer.js +9 -3
  81. package/dist/esm/core/agent/stages/timeLayer.js.map +1 -1
  82. package/dist/esm/core/agent/types.d.ts +3 -2
  83. package/dist/esm/core/slots/buildToolsSlot.d.ts +11 -7
  84. package/dist/esm/core/slots/buildToolsSlot.js +14 -4
  85. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  86. package/dist/esm/core/time/ask.d.ts +1 -1
  87. package/dist/esm/core/time/ask.js +1 -0
  88. package/dist/esm/core/time/ask.js.map +1 -1
  89. package/dist/esm/core/time/clock.d.ts +41 -13
  90. package/dist/esm/core/time/clock.js +27 -13
  91. package/dist/esm/core/time/clock.js.map +1 -1
  92. package/dist/esm/core/time/forms.js +4 -1
  93. package/dist/esm/core/time/forms.js.map +1 -1
  94. package/dist/esm/core/time/readingAsk.js +5 -1
  95. package/dist/esm/core/time/readingAsk.js.map +1 -1
  96. package/dist/esm/core/time/resolve.d.ts +2 -1
  97. package/dist/esm/core/time/resolve.js +102 -31
  98. package/dist/esm/core/time/resolve.js.map +1 -1
  99. package/dist/esm/core/time/resolveRecord.d.ts +6 -0
  100. package/dist/esm/core/time/resolveRecord.js.map +1 -1
  101. package/dist/esm/core/time/rows.d.ts +16 -0
  102. package/dist/esm/core/time/rows.js +46 -1
  103. package/dist/esm/core/time/rows.js.map +1 -1
  104. package/dist/esm/core/time/windows.d.ts +6 -0
  105. package/dist/esm/core/time/windows.js +1 -0
  106. package/dist/esm/core/time/windows.js.map +1 -1
  107. package/dist/esm/core/time/wire.d.ts +7 -0
  108. package/dist/esm/core/time/wire.js +5 -1
  109. package/dist/esm/core/time/wire.js.map +1 -1
  110. package/dist/esm/index.d.ts +1 -1
  111. package/dist/esm/index.js +6 -2
  112. package/dist/esm/index.js.map +1 -1
  113. package/dist/esm/lib/answer-account/facts/checked.d.ts +4 -3
  114. package/dist/esm/lib/answer-account/facts/checked.js +6 -5
  115. package/dist/esm/lib/answer-account/facts/checked.js.map +1 -1
  116. package/dist/esm/lib/answer-account/facts/common.d.ts +8 -0
  117. package/dist/esm/lib/answer-account/facts/common.js +15 -0
  118. package/dist/esm/lib/answer-account/facts/common.js.map +1 -1
  119. package/dist/esm/lib/answer-account/facts/inView.d.ts +3 -2
  120. package/dist/esm/lib/answer-account/facts/inView.js +5 -6
  121. package/dist/esm/lib/answer-account/facts/inView.js.map +1 -1
  122. package/dist/esm/lib/answer-account/types.d.ts +1 -1
  123. package/dist/esm/lib/saidByPerson.d.ts +40 -5
  124. package/dist/esm/lib/saidByPerson.js +41 -5
  125. package/dist/esm/lib/saidByPerson.js.map +1 -1
  126. package/dist/esm/locales/timeAsk.d.ts +1 -0
  127. package/dist/esm/locales/timeAsk.js +2 -0
  128. package/dist/esm/locales/timeAsk.js.map +1 -1
  129. package/dist/index.js +10 -5
  130. package/dist/index.js.map +1 -1
  131. package/dist/lib/answer-account/facts/checked.js +5 -4
  132. package/dist/lib/answer-account/facts/checked.js.map +1 -1
  133. package/dist/lib/answer-account/facts/common.js +17 -1
  134. package/dist/lib/answer-account/facts/common.js.map +1 -1
  135. package/dist/lib/answer-account/facts/inView.js +4 -5
  136. package/dist/lib/answer-account/facts/inView.js.map +1 -1
  137. package/dist/lib/saidByPerson.js +42 -6
  138. package/dist/lib/saidByPerson.js.map +1 -1
  139. package/dist/locales/timeAsk.js +2 -0
  140. package/dist/locales/timeAsk.js.map +1 -1
  141. package/dist/types/adapters/llm/MockProvider.d.ts +4 -1
  142. package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -1
  143. package/dist/types/core/Agent.d.ts +9 -7
  144. package/dist/types/core/Agent.d.ts.map +1 -1
  145. package/dist/types/core/agent/AgentBuilder.d.ts +7 -2
  146. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  147. package/dist/types/core/agent/arguments/ask.d.ts +6 -0
  148. package/dist/types/core/agent/arguments/ask.d.ts.map +1 -1
  149. package/dist/types/core/agent/arguments/serve.d.ts +40 -5
  150. package/dist/types/core/agent/arguments/serve.d.ts.map +1 -1
  151. package/dist/types/core/agent/buildAgentChart.d.ts +23 -11
  152. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  153. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  154. package/dist/types/core/agent/coverage/timeLimitFacts.d.ts +2 -0
  155. package/dist/types/core/agent/coverage/timeLimitFacts.d.ts.map +1 -1
  156. package/dist/types/core/agent/coverage/timeLimits.d.ts +2 -0
  157. package/dist/types/core/agent/coverage/timeLimits.d.ts.map +1 -1
  158. package/dist/types/core/agent/evidence/figures.d.ts +6 -4
  159. package/dist/types/core/agent/evidence/figures.d.ts.map +1 -1
  160. package/dist/types/core/agent/stagedRefs.d.ts.map +1 -1
  161. package/dist/types/core/agent/stages/argumentAsk.d.ts.map +1 -1
  162. package/dist/types/core/agent/stages/timeLayer.d.ts +4 -1
  163. package/dist/types/core/agent/stages/timeLayer.d.ts.map +1 -1
  164. package/dist/types/core/agent/types.d.ts +3 -2
  165. package/dist/types/core/agent/types.d.ts.map +1 -1
  166. package/dist/types/core/slots/buildToolsSlot.d.ts +11 -7
  167. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  168. package/dist/types/core/time/ask.d.ts +1 -1
  169. package/dist/types/core/time/ask.d.ts.map +1 -1
  170. package/dist/types/core/time/clock.d.ts +41 -13
  171. package/dist/types/core/time/clock.d.ts.map +1 -1
  172. package/dist/types/core/time/readingAsk.d.ts.map +1 -1
  173. package/dist/types/core/time/resolve.d.ts +2 -1
  174. package/dist/types/core/time/resolve.d.ts.map +1 -1
  175. package/dist/types/core/time/resolveRecord.d.ts +6 -0
  176. package/dist/types/core/time/resolveRecord.d.ts.map +1 -1
  177. package/dist/types/core/time/rows.d.ts +16 -0
  178. package/dist/types/core/time/rows.d.ts.map +1 -1
  179. package/dist/types/core/time/windows.d.ts +6 -0
  180. package/dist/types/core/time/windows.d.ts.map +1 -1
  181. package/dist/types/core/time/wire.d.ts +7 -0
  182. package/dist/types/core/time/wire.d.ts.map +1 -1
  183. package/dist/types/index.d.ts +1 -1
  184. package/dist/types/index.d.ts.map +1 -1
  185. package/dist/types/lib/answer-account/facts/checked.d.ts +4 -3
  186. package/dist/types/lib/answer-account/facts/checked.d.ts.map +1 -1
  187. package/dist/types/lib/answer-account/facts/common.d.ts +8 -0
  188. package/dist/types/lib/answer-account/facts/common.d.ts.map +1 -1
  189. package/dist/types/lib/answer-account/facts/inView.d.ts +3 -2
  190. package/dist/types/lib/answer-account/facts/inView.d.ts.map +1 -1
  191. package/dist/types/lib/answer-account/types.d.ts +1 -1
  192. package/dist/types/lib/answer-account/types.d.ts.map +1 -1
  193. package/dist/types/lib/saidByPerson.d.ts +40 -5
  194. package/dist/types/lib/saidByPerson.d.ts.map +1 -1
  195. package/dist/types/locales/timeAsk.d.ts +1 -0
  196. package/dist/types/locales/timeAsk.d.ts.map +1 -1
  197. package/package.json +1 -1
@@ -23,6 +23,7 @@
23
23
  */
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.mock = exports.MockProvider = void 0;
26
+ const saidByPerson_js_1 = require("../../lib/saidByPerson.js");
26
27
  const sleep_js_1 = require("../../lib/sleep.js");
27
28
  /**
28
29
  * Which roles this wire carries inside `messages`.
@@ -60,8 +61,10 @@ class MockProvider {
60
61
  this.respond =
61
62
  options.respond ??
62
63
  ((req) => {
63
- const lastUser = [...req.messages].reverse().find((m) => m.role === 'user');
64
- return lastUser ? `echo: ${lastUser.content}` : '';
64
+ // The person's words, not the last user-role line: the library serves its own late
65
+ // lines (`lib/saidByPerson.ts` · `LIBRARY_AUTHORED_PREFIXES`) last on a request (G17).
66
+ const said = [...req.messages].reverse().find((m) => (0, saidByPerson_js_1.isSaidByPerson)(m));
67
+ return said ? `echo: ${said.content}` : '';
65
68
  });
66
69
  // `delayMs` is kept as an alias of `thinkingMs` for back-compat.
67
70
  this.thinkingMs = options.thinkingMs ?? options.delayMs ?? 0;
@@ -1 +1 @@
1
- {"version":3,"file":"MockProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/MockProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MockProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/MockProvider.ts"],"names":[],"mappings":"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"}
@@ -371,8 +371,8 @@ class Agent extends RunnerBase_js_1.RunnerBase {
371
371
  * Undefined on every agent that did not ask — then no clock is read, no
372
372
  * time row is filed and `time` on a run is refused. */
373
373
  timeOptions;
374
- /** The clock the CURRENT `run()`'s seed stamps — set by `run()` (refusing a
375
- * run with no zone), read by seed through `SeedStageDeps.timeClock`, and
374
+ /** The clock the CURRENT `run()`'s seed stamps — set by `run()` (a run with
375
+ * no zone gets an unknown one, never the server's), read by seed through `SeedStageDeps.timeClock`, and
376
376
  * cleared when `run()` ends, so a later turn this agent did not start (its
377
377
  * chart mounted in a composition) never stamps a clock nobody declared for
378
378
  * it (`seedClockDraft`). */
@@ -1522,7 +1522,8 @@ class Agent extends RunnerBase_js_1.RunnerBase {
1522
1522
  (0, callerIdentity_js_1.assertIdentityShape)(runInput.identity, 'Agent.run');
1523
1523
  (0, callerIdentity_js_1.assertIdentityShape)(options?.identity, 'Agent.run');
1524
1524
  // The run's clock (the time layer): read or refused HERE, before the turn
1525
- // starts — a run with no zone anywhere never runs on the server's zone.
1525
+ // starts — a run with no zone anywhere runs with its zone UNKNOWN (G15),
1526
+ // never on the server's zone.
1526
1527
  const clockDraft = this.clockDraftFor(runInput.time ?? options?.time, 'Agent.run');
1527
1528
  const engineOptions = withoutTime(options);
1528
1529
  // Timing next, and before the executor exists: both of these refuse a call
@@ -1887,9 +1888,11 @@ class Agent extends RunnerBase_js_1.RunnerBase {
1887
1888
  }
1888
1889
  /**
1889
1890
  * A run's `time`, read into the turn's clock draft (the time layer) — or
1890
- * refused, before the turn starts: `time` on an agent without `.time()`, a
1891
- * malformed value, or no zone anywhere (the run's, else the builder's).
1892
- * `undefined` on an agent without the layer.
1891
+ * refused, before the turn starts: `time` on an agent without `.time()` or
1892
+ * a malformed value. No zone anywhere (the run's, else the builder's) is no
1893
+ * refusal: the zone is UNKNOWN (`zoneSource: 'unknown'`, G15) — never the
1894
+ * server's, never guessed; the person is asked it before any time they
1895
+ * wrote is read. `undefined` on an agent without the layer.
1893
1896
  *
1894
1897
  * @internal
1895
1898
  */
@@ -1897,17 +1900,7 @@ class Agent extends RunnerBase_js_1.RunnerBase {
1897
1900
  const passed = this.passedTimeFor(time, runner);
1898
1901
  if (this.timeOptions === undefined)
1899
1902
  return undefined;
1900
- const draft = (0, clock_js_1.draftClock)(passed, this.timeOptions);
1901
- if (draft === 'no-zone') {
1902
- throw new runInput_js_1.InvalidRunInputError({
1903
- runner,
1904
- received: 'a run with no time zone',
1905
- hint: "this agent's time layer needs the person's zone — pass run({ message, time: { zone: " +
1906
- "'America/Los_Angeles' } }) or declare a fallback with .time({ zone }); the server's " +
1907
- 'zone is never used',
1908
- });
1909
- }
1910
- return draft;
1903
+ return (0, clock_js_1.draftClock)(passed, this.timeOptions);
1911
1904
  }
1912
1905
  /**
1913
1906
  * The clock draft seed stamps (the time layer): the one `run()` read — or,
@@ -1915,25 +1908,15 @@ class Agent extends RunnerBase_js_1.RunnerBase {
1915
1908
  * composition, which passes no `time`), the builder's fallback zone with
1916
1909
  * the turn's start as `now` (`zoneSource: 'builder'`, `nowSource:
1917
1910
  * 'default'` — the same record a `run()` with no `time` files). With no
1918
- * fallback zone that turn is refused, as `run()` refuses it: the server's
1919
- * zone is never used.
1911
+ * fallback zone that turn's zone is unknown, as a `run()`'s is (G15): the
1912
+ * server's zone is never used.
1920
1913
  *
1921
1914
  * @internal
1922
1915
  */
1923
1916
  seedClockDraft() {
1924
1917
  if (this.runClockDraft !== undefined)
1925
1918
  return this.runClockDraft;
1926
- const draft = (0, clock_js_1.draftClock)(undefined, this.timeOptions ?? {});
1927
- if (draft === 'no-zone') {
1928
- throw new runInput_js_1.InvalidRunInputError({
1929
- runner: 'Agent (mounted in a composition)',
1930
- received: 'a turn with no time zone',
1931
- hint: "this agent's time layer needs the person's zone, and a composition passes no time to " +
1932
- "the agents it mounts — declare a fallback with .time({ zone: 'America/Los_Angeles' }); " +
1933
- "the server's zone is never used",
1934
- });
1935
- }
1936
- return draft;
1919
+ return (0, clock_js_1.draftClock)(undefined, this.timeOptions ?? {});
1937
1920
  }
1938
1921
  /**
1939
1922
  * A `time` passed to a run or a resume, read — or refused by name: passed to
@@ -2384,7 +2367,9 @@ class Agent extends RunnerBase_js_1.RunnerBase {
2384
2367
  if (this.timeOptions === undefined)
2385
2368
  return undefined;
2386
2369
  const ledger = state?.findingsLedger;
2387
- const zone = (0, rows_js_1.clockOf)(Array.isArray(ledger) ? ledger : undefined)?.zone;
2370
+ const clock = (0, rows_js_1.clockOf)(Array.isArray(ledger) ? ledger : undefined);
2371
+ // An unknown zone (G15) judges no wall time: `zone` is then only the UTC spelling.
2372
+ const zone = clock?.zoneSource === 'unknown' ? undefined : clock?.zone;
2388
2373
  const messages = this.timeOptions.messages;
2389
2374
  return {
2390
2375
  ...(zone !== undefined && { zone }),
@@ -4315,14 +4300,16 @@ class Agent extends RunnerBase_js_1.RunnerBase {
4315
4300
  // The inputs layer (honesty layer 2): the same site decorates a ruled
4316
4301
  // tool's schema first — value-conditional, the same grammar.
4317
4302
  ...(inputsArmed && { inputsLayer: true }),
4318
- // …and, under `.time()`, the ONE served time line on each tool that declares a period: the
4319
- // windows the reader settled this turn (`.time({ reader })`, step T6b) and the window the
4320
- // person set in the app's time control (`time.window`), in that tool's form.
4321
- ...(inputsArmed &&
4322
- this.timeOptions !== undefined && {
4303
+ // …and, under `.time()`, the ONE served time line: the windows the reader settled this turn
4304
+ // (`.time({ reader })`, step T6b) in each served period tool's form — and the window the
4305
+ // person set in the app's time control (`time.window`), a fact about the person's turn,
4306
+ // served on every request whether or not a served tool declares a period (G14), so it
4307
+ // needs no inputs layer. `reader` (write the line every composition) only beside the
4308
+ // inputs layer, the one place a reading is asked and served.
4309
+ ...(this.timeOptions !== undefined && {
4323
4310
  timeWindows: {
4324
4311
  ...(this.timeOptions.zone !== undefined && { appZone: this.timeOptions.zone }),
4325
- ...(this.timeOptions.reader !== undefined && { reader: true }),
4312
+ ...(inputsArmed && this.timeOptions.reader !== undefined && { reader: true }),
4326
4313
  },
4327
4314
  }),
4328
4315
  // …and, under `.time()` (step T8), the turn's time limits in the same line.
@@ -4378,10 +4365,10 @@ class Agent extends RunnerBase_js_1.RunnerBase {
4378
4365
  // constant on every call, under the one gate — an unarmed agent reads
4379
4366
  // no new key.
4380
4367
  ...(this.ontology !== undefined && { ontology: true }),
4381
- // The time layer's served line (step T6b): read only where the Tools
4382
- // mount can compose it — the `timeReader` arm of the chart deps.
4383
- // Step T8 widens it to `.time()`: the same line then carries the turn's time limits.
4384
- ...(inputsArmed && this.timeOptions !== undefined && { timeLine: true }),
4368
+ // The time layer's served line (step T6b): read wherever the Tools mount
4369
+ // composes it — under `.time()` (G14: the control window needs no inputs
4370
+ // layer). Step T8: the same line carries the turn's time limits.
4371
+ ...(this.timeOptions !== undefined && { timeLine: true }),
4385
4372
  // The receipt's salt (9.88.0) — read per call, like seed's own accessor.
4386
4373
  getRunId: () => this.currentRunContext?.runId,
4387
4374
  // …and its off switch. Value-conditional, so an agent on the default
@@ -4917,8 +4904,9 @@ class Agent extends RunnerBase_js_1.RunnerBase {
4917
4904
  // The time layer: the prose limits block renders its `Period:` lines in
4918
4905
  // the run's clock zone. Absent → the final stage it always mounted.
4919
4906
  ...(this.timeOptions !== undefined && { timeLayer: true }),
4920
- // The reader (step T6b): the Tools mount hands the slot the turn's settled windows.
4921
- ...(inputsArmed && this.timeOptions?.reader !== undefined && { timeReader: true }),
4907
+ // The Tools mount hands the slot the turn's windows — the reader's (step T6b) and the
4908
+ // app's control window (G14) — under `.time()`.
4909
+ ...(this.timeOptions !== undefined && { timeWindows: true }),
4922
4910
  ...(inputsArmed && this.timeOptions !== undefined && { timeLimits: true }),
4923
4911
  ...(this.answerValidationConfig !== undefined && { hasAnswerValidation: true }),
4924
4912
  // The out-of-budget wrap-up branch (9.56.0) — the conditional-mount law