agentfootprint 9.131.0 → 9.133.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 (180) hide show
  1. package/AGENTS.md +2 -2
  2. package/CAPABILITIES.md +3 -2
  3. package/ai-instructions/claude-code/SKILL.md +2 -2
  4. package/dist/core/Agent.js +5 -3
  5. package/dist/core/Agent.js.map +1 -1
  6. package/dist/core/agent/arguments/ask.js +249 -54
  7. package/dist/core/agent/arguments/ask.js.map +1 -1
  8. package/dist/core/agent/arguments/resolve.js +11 -1
  9. package/dist/core/agent/arguments/resolve.js.map +1 -1
  10. package/dist/core/agent/arguments/serve.js +227 -61
  11. package/dist/core/agent/arguments/serve.js.map +1 -1
  12. package/dist/core/agent/buildAgentChart.js +5 -4
  13. package/dist/core/agent/buildAgentChart.js.map +1 -1
  14. package/dist/core/agent/buildDynamicAgentChart.js +2 -1
  15. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  16. package/dist/core/agent/coverage/period.js +47 -2
  17. package/dist/core/agent/coverage/period.js.map +1 -1
  18. package/dist/core/agent/evidence/answerCarriers.js +91 -0
  19. package/dist/core/agent/evidence/answerCarriers.js.map +1 -0
  20. package/dist/core/agent/stages/argumentAsk.js +8 -6
  21. package/dist/core/agent/stages/argumentAsk.js.map +1 -1
  22. package/dist/core/agent/stages/route.js +7 -0
  23. package/dist/core/agent/stages/route.js.map +1 -1
  24. package/dist/core/slots/buildToolsSlot.js +4 -2
  25. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  26. package/dist/core/time/bind.js +57 -51
  27. package/dist/core/time/bind.js.map +1 -1
  28. package/dist/core/time/convert.js +111 -14
  29. package/dist/core/time/convert.js.map +1 -1
  30. package/dist/core/time/forms.js +7 -5
  31. package/dist/core/time/forms.js.map +1 -1
  32. package/dist/core/time/periodForm.js +63 -9
  33. package/dist/core/time/periodForm.js.map +1 -1
  34. package/dist/core/time/range.js +22 -1
  35. package/dist/core/time/range.js.map +1 -1
  36. package/dist/core/time/reader.js +3 -2
  37. package/dist/core/time/reader.js.map +1 -1
  38. package/dist/core/time/readers/english.js +116 -38
  39. package/dist/core/time/readers/english.js.map +1 -1
  40. package/dist/core/time/readingAsk.js +20 -5
  41. package/dist/core/time/readingAsk.js.map +1 -1
  42. package/dist/core/time/resolve.js +197 -63
  43. package/dist/core/time/resolve.js.map +1 -1
  44. package/dist/core/time/resolveRecord.js +103 -6
  45. package/dist/core/time/resolveRecord.js.map +1 -1
  46. package/dist/core/time/rows.js +7 -2
  47. package/dist/core/time/rows.js.map +1 -1
  48. package/dist/core/time/rowsBuild.js +1 -1
  49. package/dist/core/time/rowsBuild.js.map +1 -1
  50. package/dist/core/time/windows.js +131 -19
  51. package/dist/core/time/windows.js.map +1 -1
  52. package/dist/core/time/zone.js +105 -1
  53. package/dist/core/time/zone.js.map +1 -1
  54. package/dist/doors/time.js +73 -0
  55. package/dist/doors/time.js.map +1 -0
  56. package/dist/esm/core/Agent.js +5 -3
  57. package/dist/esm/core/Agent.js.map +1 -1
  58. package/dist/esm/core/agent/arguments/ask.d.ts +11 -5
  59. package/dist/esm/core/agent/arguments/ask.js +251 -56
  60. package/dist/esm/core/agent/arguments/ask.js.map +1 -1
  61. package/dist/esm/core/agent/arguments/resolve.js +12 -2
  62. package/dist/esm/core/agent/arguments/resolve.js.map +1 -1
  63. package/dist/esm/core/agent/arguments/serve.d.ts +50 -21
  64. package/dist/esm/core/agent/arguments/serve.js +225 -60
  65. package/dist/esm/core/agent/arguments/serve.js.map +1 -1
  66. package/dist/esm/core/agent/buildAgentChart.d.ts +3 -1
  67. package/dist/esm/core/agent/buildAgentChart.js +5 -4
  68. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  69. package/dist/esm/core/agent/buildDynamicAgentChart.js +2 -1
  70. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  71. package/dist/esm/core/agent/coverage/period.d.ts +6 -1
  72. package/dist/esm/core/agent/coverage/period.js +47 -2
  73. package/dist/esm/core/agent/coverage/period.js.map +1 -1
  74. package/dist/esm/core/agent/evidence/answerCarriers.d.ts +62 -0
  75. package/dist/esm/core/agent/evidence/answerCarriers.js +87 -0
  76. package/dist/esm/core/agent/evidence/answerCarriers.js.map +1 -0
  77. package/dist/esm/core/agent/stages/argumentAsk.js +8 -6
  78. package/dist/esm/core/agent/stages/argumentAsk.js.map +1 -1
  79. package/dist/esm/core/agent/stages/route.js +7 -0
  80. package/dist/esm/core/agent/stages/route.js.map +1 -1
  81. package/dist/esm/core/slots/buildToolsSlot.d.ts +15 -11
  82. package/dist/esm/core/slots/buildToolsSlot.js +4 -2
  83. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  84. package/dist/esm/core/time/bind.d.ts +11 -7
  85. package/dist/esm/core/time/bind.js +55 -52
  86. package/dist/esm/core/time/bind.js.map +1 -1
  87. package/dist/esm/core/time/convert.d.ts +45 -2
  88. package/dist/esm/core/time/convert.js +108 -16
  89. package/dist/esm/core/time/convert.js.map +1 -1
  90. package/dist/esm/core/time/forms.js +8 -6
  91. package/dist/esm/core/time/forms.js.map +1 -1
  92. package/dist/esm/core/time/periodForm.d.ts +45 -6
  93. package/dist/esm/core/time/periodForm.js +59 -8
  94. package/dist/esm/core/time/periodForm.js.map +1 -1
  95. package/dist/esm/core/time/range.d.ts +18 -0
  96. package/dist/esm/core/time/range.js +20 -0
  97. package/dist/esm/core/time/range.js.map +1 -1
  98. package/dist/esm/core/time/reader.d.ts +7 -0
  99. package/dist/esm/core/time/reader.js +3 -2
  100. package/dist/esm/core/time/reader.js.map +1 -1
  101. package/dist/esm/core/time/readers/english.d.ts +16 -12
  102. package/dist/esm/core/time/readers/english.js +116 -38
  103. package/dist/esm/core/time/readers/english.js.map +1 -1
  104. package/dist/esm/core/time/readingAsk.d.ts +7 -3
  105. package/dist/esm/core/time/readingAsk.js +20 -5
  106. package/dist/esm/core/time/readingAsk.js.map +1 -1
  107. package/dist/esm/core/time/resolve.d.ts +31 -17
  108. package/dist/esm/core/time/resolve.js +197 -65
  109. package/dist/esm/core/time/resolve.js.map +1 -1
  110. package/dist/esm/core/time/resolveRecord.d.ts +90 -5
  111. package/dist/esm/core/time/resolveRecord.js +99 -5
  112. package/dist/esm/core/time/resolveRecord.js.map +1 -1
  113. package/dist/esm/core/time/rows.d.ts +9 -3
  114. package/dist/esm/core/time/rows.js +7 -2
  115. package/dist/esm/core/time/rows.js.map +1 -1
  116. package/dist/esm/core/time/rowsBuild.js +1 -1
  117. package/dist/esm/core/time/rowsBuild.js.map +1 -1
  118. package/dist/esm/core/time/windows.d.ts +95 -14
  119. package/dist/esm/core/time/windows.js +127 -18
  120. package/dist/esm/core/time/windows.js.map +1 -1
  121. package/dist/esm/core/time/zone.d.ts +32 -0
  122. package/dist/esm/core/time/zone.js +102 -0
  123. package/dist/esm/core/time/zone.js.map +1 -1
  124. package/dist/esm/doors/time.d.ts +60 -0
  125. package/dist/esm/doors/time.js +61 -0
  126. package/dist/esm/doors/time.js.map +1 -0
  127. package/dist/esm/events/payloads.d.ts +23 -0
  128. package/dist/esm/index.d.ts +2 -2
  129. package/dist/esm/index.js.map +1 -1
  130. package/dist/index.js.map +1 -1
  131. package/dist/types/core/Agent.d.ts.map +1 -1
  132. package/dist/types/core/agent/arguments/ask.d.ts +11 -5
  133. package/dist/types/core/agent/arguments/ask.d.ts.map +1 -1
  134. package/dist/types/core/agent/arguments/resolve.d.ts.map +1 -1
  135. package/dist/types/core/agent/arguments/serve.d.ts +50 -21
  136. package/dist/types/core/agent/arguments/serve.d.ts.map +1 -1
  137. package/dist/types/core/agent/buildAgentChart.d.ts +3 -1
  138. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  139. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  140. package/dist/types/core/agent/coverage/period.d.ts +6 -1
  141. package/dist/types/core/agent/coverage/period.d.ts.map +1 -1
  142. package/dist/types/core/agent/evidence/answerCarriers.d.ts +63 -0
  143. package/dist/types/core/agent/evidence/answerCarriers.d.ts.map +1 -0
  144. package/dist/types/core/agent/stages/argumentAsk.d.ts.map +1 -1
  145. package/dist/types/core/agent/stages/route.d.ts.map +1 -1
  146. package/dist/types/core/slots/buildToolsSlot.d.ts +15 -11
  147. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  148. package/dist/types/core/time/bind.d.ts +11 -7
  149. package/dist/types/core/time/bind.d.ts.map +1 -1
  150. package/dist/types/core/time/convert.d.ts +45 -2
  151. package/dist/types/core/time/convert.d.ts.map +1 -1
  152. package/dist/types/core/time/forms.d.ts.map +1 -1
  153. package/dist/types/core/time/periodForm.d.ts +45 -6
  154. package/dist/types/core/time/periodForm.d.ts.map +1 -1
  155. package/dist/types/core/time/range.d.ts +18 -0
  156. package/dist/types/core/time/range.d.ts.map +1 -1
  157. package/dist/types/core/time/reader.d.ts +7 -0
  158. package/dist/types/core/time/reader.d.ts.map +1 -1
  159. package/dist/types/core/time/readers/english.d.ts +16 -12
  160. package/dist/types/core/time/readers/english.d.ts.map +1 -1
  161. package/dist/types/core/time/readingAsk.d.ts +7 -3
  162. package/dist/types/core/time/readingAsk.d.ts.map +1 -1
  163. package/dist/types/core/time/resolve.d.ts +31 -17
  164. package/dist/types/core/time/resolve.d.ts.map +1 -1
  165. package/dist/types/core/time/resolveRecord.d.ts +90 -5
  166. package/dist/types/core/time/resolveRecord.d.ts.map +1 -1
  167. package/dist/types/core/time/rows.d.ts +9 -3
  168. package/dist/types/core/time/rows.d.ts.map +1 -1
  169. package/dist/types/core/time/rowsBuild.d.ts.map +1 -1
  170. package/dist/types/core/time/windows.d.ts +95 -14
  171. package/dist/types/core/time/windows.d.ts.map +1 -1
  172. package/dist/types/core/time/zone.d.ts +32 -0
  173. package/dist/types/core/time/zone.d.ts.map +1 -1
  174. package/dist/types/doors/time.d.ts +61 -0
  175. package/dist/types/doors/time.d.ts.map +1 -0
  176. package/dist/types/events/payloads.d.ts +23 -0
  177. package/dist/types/events/payloads.d.ts.map +1 -1
  178. package/dist/types/index.d.ts +2 -2
  179. package/dist/types/index.d.ts.map +1 -1
  180. package/package.json +14 -1
@@ -52,11 +52,15 @@
52
52
  * that needed it are refused.
53
53
  */
54
54
  import { applyInputResponse, InputRequestError, } from '../../inputRequest.js';
55
- import { convertExact, convertWidened, formArguments, granularityMsOf, periodFactProblem, readBack, widestMsOf, } from '../../time/convert.js';
55
+ import { convertForTool, formArguments, formFacts, granularityMsOf, periodFactProblem, readBack, readBackLacksZone, toolFacts, } from '../../time/convert.js';
56
+ import { offeredLookback, windowToConvert } from '../../time/windows.js';
57
+ import { callWindowRow } from '../../time/rowsBuild.js';
58
+ import { instantOf } from '../../time/instant.js';
56
59
  import { parseRange, spellRange } from '../../time/range.js';
57
60
  import { chooseReading, resolveMention, withZoneAnswered, } from '../../time/resolve.js';
58
61
  import { timeAskOf } from '../../time/readingAsk.js';
59
- import { timeAnswerRow } from '../../time/rows.js';
62
+ import { timeAnswerRow, } from '../../time/rows.js';
63
+ import { fixedOffsetZone, offsetAt } from '../../time/zone.js';
60
64
  import { shownArgsOf } from '../../toolShownArgs.js';
61
65
  import { validatePropertyValue } from '../toolArgsValidation.js';
62
66
  import { convertSpelling, isRefused, periodFactsOf, periodFormsOf, rulesOf, } from './declare.js';
@@ -86,21 +90,50 @@ export const ARGUMENT_ASK_QUESTION = 'Before the next step can run, a few values
86
90
  /** The question of a re-ask, after an answer that did not fit the tool's own schema. */
87
91
  export const ARGUMENT_REASK_QUESTION = 'One answer did not fit what the tool accepts. Please answer that field again.';
88
92
  /**
89
- * The indexes of the choices EVERY member tool's declared facts allow (§ 6.3:
90
- * "some readings inside the tool's `direction` → the ones inside as choices")
91
- * — `undefined` when none is left (several tools that disagree: every choice
92
- * is offered, and the answer is judged against each tool's facts).
93
+ * Why one member tool cannot read a window the ask would put into it — the
94
+ * one owner's answer (`core/time/convert.ts` · `convertForTool`: a fact it
95
+ * breaks, `multi-day`, or `no-form-holds`) — or `undefined` when it can. A
96
+ * tool whose rules cannot be read has nothing to say here.
93
97
  */
94
- function allowedChoices(choices, members, toolOf, now) {
95
- const factsOf = [...new Set(members.map((m) => m.toolName))].map((name) => {
96
- const rules = rulesOf(toolOf(name));
97
- return rules === undefined || isRefused(rules) ? {} : periodFactsOf(rules.period);
98
+ function unreadableBy(toolName, range, zone, toolOf, time) {
99
+ const rules = rulesOf(toolOf(toolName));
100
+ if (rules === undefined || isRefused(rules))
101
+ return undefined;
102
+ const facts = periodFactsOf(rules.period);
103
+ const at = zone ?? time.zone;
104
+ if (at === undefined) {
105
+ // No form chosen yet: the tool's facts, `maxRange` the widest any form reads (`toolFacts`).
106
+ const judged = toolFacts(periodFormsOf(rules.period), facts);
107
+ const problem = periodFactProblem(range, judged, time.now);
108
+ return problem === undefined ? undefined : { refused: problem, facts: judged };
109
+ }
110
+ const read = convertForTool({ range }, periodFormsOf(rules.period), facts, {
111
+ now: time.now,
112
+ zone: at,
113
+ ...(time.appZone !== undefined && { appZone: time.appZone }),
114
+ granularityMs: granularityMsOf(facts),
98
115
  });
116
+ return 'refused' in read
117
+ ? { refused: read.refused, facts: toolFacts(periodFormsOf(rules.period), facts) }
118
+ : undefined;
119
+ }
120
+ /**
121
+ * The indexes of the choices EVERY member tool can read (§ 6.3: "some
122
+ * readings inside the tool's `direction` → the ones inside as choices" — and,
123
+ * by the same law, a reading no form of the tool can hold is not offered) —
124
+ * `undefined` when none is left (several tools that disagree: every choice
125
+ * is offered, and the answer is judged against each tool).
126
+ */
127
+ function allowedChoices(choices, zones, members, toolOf, time) {
128
+ const names = [...new Set(members.map((m) => m.toolName))];
99
129
  const kept = choices.flatMap((value, i) => {
100
130
  const range = parseRange(value);
101
131
  if (range === undefined)
102
132
  return [];
103
- return factsOf.every((facts) => periodFactProblem(range, facts, now) === undefined) ? [i] : [];
133
+ const zone = zones?.[i];
134
+ return names.every((name) => unreadableBy(name, range, zone, toolOf, time) === undefined)
135
+ ? [i]
136
+ : [];
104
137
  });
105
138
  return kept.length > 0 ? kept : undefined;
106
139
  }
@@ -269,7 +302,7 @@ export function planAskFields(asks, calls, toolOf, windowPlan) {
269
302
  const window = windowFieldOf(windowPlan, windowMembers);
270
303
  const kept = window.choices === undefined
271
304
  ? undefined
272
- : allowedChoices(window.choices, window.members, toolOf, windowPlan.now);
305
+ : allowedChoices(window.choices, windowPlan.zones, window.members, toolOf, windowPlan);
273
306
  return [narrowed(window, kept), ...fields];
274
307
  }
275
308
  /** The ONE window field: the open mention's question, bound to every call's period arguments. */
@@ -532,23 +565,118 @@ function factBroken(toolOf, member, value, time) {
532
565
  const rules = rulesOf(toolOf(member.toolName));
533
566
  if (rules === undefined || isRefused(rules))
534
567
  return undefined;
535
- const facts = periodFactsOf(rules.period);
536
- if (facts.direction === undefined &&
537
- facts.retention === undefined &&
538
- facts.maxRange === undefined) {
568
+ const declared = periodFactsOf(rules.period);
569
+ const forms = periodFormsOf(rules.period);
570
+ if (!declaresFacts(declared, forms))
539
571
  return undefined;
540
- }
541
- for (const form of periodFormsOf(rules.period)) {
572
+ for (const form of forms) {
542
573
  if (form.kind === 'bounds' || form.kind === 'object' || form.argument !== member.argument)
543
574
  continue;
544
575
  const range = readBack({ [member.argument]: value }, form, time);
545
576
  if (range === undefined)
546
577
  continue;
578
+ // Read back through THIS form, so held to this form's own `maxRange` (`formFacts`).
579
+ const facts = formFacts(form, declared);
547
580
  const problem = periodFactProblem(range, facts, time.now);
548
581
  return problem === undefined ? undefined : { problem, facts };
549
582
  }
550
583
  return undefined;
551
584
  }
585
+ /** Whether a tool declares any fact a range can break — a period fact, or a form's own `maxRange`. */
586
+ function declaresFacts(facts, forms) {
587
+ return (facts.direction !== undefined ||
588
+ facts.retention !== undefined ||
589
+ facts.maxRange !== undefined ||
590
+ forms.some((f) => f.maxRange !== undefined));
591
+ }
592
+ /**
593
+ * The period fields whose answers break a tool's fact only TOGETHER — one
594
+ * bound of two (`start_time`, `end_time`) is no window, so {@link checkAnswer}
595
+ * cannot judge it alone (`factBroken` reads single-argument forms only). Per
596
+ * call, the answers this pass carries and the ones an earlier round bound are
597
+ * written over the call's own arguments; every `bounds` / `object` form whose
598
+ * arguments are then all present is read back (`convert.ts` · `readBack`) and
599
+ * judged against `direction`, `retention` and `maxRange` at the turn's clock
600
+ * (`periodFactProblem`). A pair that breaks one sends each of its fields
601
+ * asked in this pass back to be asked again, naming the fact; a pair whose
602
+ * bounds are all present yet name no window (the end given before the start)
603
+ * goes back the same way, naming the window form — the same
604
+ * bounded re-ask a single argument gets, so a future start and end the
605
+ * person gave never reach a tool whose source holds only the past, with or
606
+ * without the reader.
607
+ */
608
+ function pairsBroken(state, values, byId, toolOf, time) {
609
+ const broken = new Map();
610
+ const waiting = state.waiting;
611
+ if (time === undefined || waiting === undefined)
612
+ return broken;
613
+ const now = new Map(waiting.fieldIndexes.map((index, k) => [index, values[`f${k + 1}`]]));
614
+ // Per call: its tool, and each period argument's answer with the field it came from.
615
+ const perCall = new Map();
616
+ state.fields.forEach((field, index) => {
617
+ if (field.window !== undefined)
618
+ return;
619
+ const answer = now.has(index) ? now.get(index) : state.progress[index]?.answer;
620
+ if (answer === undefined)
621
+ return;
622
+ for (const member of field.members) {
623
+ if (member.period !== true)
624
+ continue;
625
+ const value = memberValue(field, member, answer);
626
+ if (value === undefined)
627
+ continue;
628
+ for (const id of member.toolCallIds) {
629
+ const entry = perCall.get(id) ?? { toolName: member.toolName, answers: new Map() };
630
+ entry.answers.set(member.argument, { value, field: index });
631
+ perCall.set(id, entry);
632
+ }
633
+ }
634
+ });
635
+ for (const [id, { toolName, answers }] of perCall) {
636
+ const call = byId.get(id);
637
+ const rules = rulesOf(toolOf(toolName));
638
+ if (call === undefined || rules === undefined || isRefused(rules))
639
+ continue;
640
+ const declared = periodFactsOf(rules.period);
641
+ if (!declaresFacts(declared, periodFormsOf(rules.period)))
642
+ continue;
643
+ const args = { ...call.args };
644
+ for (const [argument, { value }] of answers)
645
+ args[argument] = value;
646
+ for (const form of periodFormsOf(rules.period)) {
647
+ if (form.kind !== 'bounds' && form.kind !== 'object')
648
+ continue;
649
+ // A zone argument the rule assumes is not in the call yet; `readBack` answers without one.
650
+ const names = formArguments(form).map((a) => a.argument);
651
+ const bounds = formArguments(form).filter((a) => a.role !== 'zone');
652
+ const asked = names.filter((a) => answers.has(a));
653
+ if (asked.length === 0 || bounds.some((a) => args[a.argument] === undefined))
654
+ continue;
655
+ const range = readBack(args, form, time);
656
+ // Every bound is present: no range means the pair names no window (a start not before its
657
+ // end, a misspelled bound) — never "no problem", or it reaches the tool unjudged. Only a
658
+ // zone still to come leaves the pair for the zone's own ask.
659
+ const facts = formFacts(form, declared);
660
+ const expectation = range !== undefined
661
+ ? pairExpectation(periodFactProblem(range, facts, time.now), facts)
662
+ : readBackLacksZone(args, form, time)
663
+ ? undefined
664
+ : WINDOW_FORM_EXPECTATION;
665
+ if (expectation === undefined)
666
+ continue;
667
+ for (const a of asked) {
668
+ const field = answers.get(a).field;
669
+ if (now.has(field) && !broken.has(field))
670
+ broken.set(field, expectation);
671
+ }
672
+ }
673
+ }
674
+ return broken;
675
+ }
676
+ /** A pair's fact problem in the refusal's words — `undefined` when the pair breaks none. */
677
+ function pairExpectation(problem, facts) {
678
+ return problem === undefined ? undefined : factExpectation(problem, facts);
679
+ }
552
680
  // LENS · tool-result · persistent-history (through `serve.ts` · `unansweredRefusal`)
553
681
  // reads: the tool's declared fact the person's answers kept breaking, and its declared value
554
682
  // law: names the rule, never the answer; a fact about the source, in the present tense of the source.
@@ -584,6 +712,7 @@ export function bindAnswer(state, values, calls, toolOf, stamp, time) {
584
712
  const byId = new Map(calls.map((c) => [c.id, c]));
585
713
  const progress = [...state.progress];
586
714
  const rows = [];
715
+ const pairs = pairsBroken(state, values, byId, toolOf, time);
587
716
  const fields = [...state.fields];
588
717
  waiting.fieldIndexes.forEach((index, k) => {
589
718
  const field = state.fields[index];
@@ -601,6 +730,12 @@ export function bindAnswer(state, values, calls, toolOf, stamp, time) {
601
730
  rows.push(...windowAnsweredRows(field, bound.fills, byId, toolOf, stamp));
602
731
  // The person's window for the mention — the only door a window of words becomes theirs.
603
732
  rows.push(timeAnswerRow({ mention: field.window.mention, ...bound.answered }, stamp));
733
+ // Each filled call's window, as it will run: the person's answer, exactly or WIDER (the
734
+ // covering look-back's `sent` and `extra`) — the call's latest `call-window` row, so the
735
+ // clock at dispatch, `ctx.time` and the result checks read the window the call carries.
736
+ for (const [toolCallId, { toolName, decision }] of Object.entries(bound.filled)) {
737
+ rows.push(callWindowRow({ toolCallId, toolName }, decision, stamp));
738
+ }
604
739
  return;
605
740
  }
606
741
  if ('outside' in bound) {
@@ -615,7 +750,10 @@ export function bindAnswer(state, values, calls, toolOf, stamp, time) {
615
750
  rows.push(...memberCalls(field).map((who) => askedRowOf(who, stamp, 'invalid-answer')));
616
751
  return;
617
752
  }
618
- const check = answer === undefined ? { fits: false } : checkAnswer(field, answer, toolOf, time);
753
+ const alone = answer === undefined ? { fits: false } : checkAnswer(field, answer, toolOf, time);
754
+ // An answer that fits alone can still break a fact with the other bound of its window.
755
+ const pair = pairs.get(index);
756
+ const check = alone.fits && pair !== undefined ? { fits: false, expected: pair } : alone;
619
757
  if (answer !== undefined && check.fits) {
620
758
  progress[index] = { rounds: was.rounds, answer };
621
759
  rows.push(...answeredRows(field, answer, byId, toolOf, stamp));
@@ -660,7 +798,7 @@ function bindWindowAnswer(field, answer, byId, toolOf, time) {
660
798
  }
661
799
  const row = reading.row;
662
800
  // The re-read stays a PROPOSAL: the zone was the person's, the window is still words.
663
- const resolution = resolveMention(withZoneAnswered(row.parses ?? [], answer), { now: time.now, zone: time.zone }, row.reader, true);
801
+ const resolution = resolveMention(withZoneAnswered(row.parses ?? [], answer, reading.policy), { now: time.now, zone: time.zone }, row.reader, true, reading.policy);
664
802
  const choice = chooseReading(resolution, reading.policy, row.reader.kind, undefined, true);
665
803
  if (choice.by === 'open') {
666
804
  const ask = timeAskOf({ ...row, candidates: resolution.candidates, choice }, reading.messages);
@@ -680,10 +818,10 @@ function bindWindowAnswer(field, answer, byId, toolOf, time) {
680
818
  },
681
819
  };
682
820
  const choices = (ask.field.enum ?? []);
683
- const kept = allowedChoices(choices, field.members, toolOf, time.now);
821
+ const kept = allowedChoices(choices, zones, field.members, toolOf, time);
684
822
  if (kept === undefined && field.members.length > 0) {
685
- // Every reading breaks a member tool's facts: nothing is asked (§ 6.3) — the reason.
686
- const outside = factOutside(choices, field.members, toolOf, time.now);
823
+ // A member tool can read no reading: nothing is asked (§ 6.3) — the reason.
824
+ const outside = readingsOutside(choices, zones, field.members, toolOf, time);
687
825
  if (outside !== undefined)
688
826
  return { outside };
689
827
  }
@@ -695,57 +833,109 @@ function bindWindowAnswer(field, answer, byId, toolOf, time) {
695
833
  if (range === undefined)
696
834
  return { expected: WINDOW_FORM_EXPECTATION };
697
835
  const at = field.choices?.indexOf(answer) ?? -1;
698
- const zone = (at >= 0 ? window.zones?.[at] : undefined) ?? time.zone;
836
+ const zone = at >= 0 ? window.zones?.[at] ?? time.zone : editedZone(range, window.zones, time.zone);
699
837
  if (zone === undefined)
700
838
  return { expected: WINDOW_FORM_EXPECTATION };
701
839
  const bound = windowFills(field, range, zone, byId, toolOf, time);
702
840
  if (!('fills' in bound))
703
841
  return bound;
704
- return { fills: bound.fills, answered: { range, zone, how: at >= 0 ? 'confirmed' : 'edited' } };
842
+ return {
843
+ fills: bound.fills,
844
+ filled: bound.filled,
845
+ answered: { range, zone, how: at >= 0 ? 'confirmed' : 'edited' },
846
+ };
847
+ }
848
+ /**
849
+ * The zone a window the person TYPED is recorded in: the first of the
850
+ * offered readings' zones — then the app's — whose offsets at both ends are
851
+ * the ones typed; else the fixed-offset zone the typed offsets spell
852
+ * (`Etc/GMT-1` for `+01:00`, `zone.ts` · `fixedOffsetZone`); else the app's.
853
+ * A London day typed with `+01:00` under an app in Los Angeles is recorded
854
+ * in Europe/London (the zone the mention named), never in the app's zone.
855
+ */
856
+ function editedZone(range, offered, appZone) {
857
+ const from = instantOf(range.from, 'lenient');
858
+ const to = instantOf(range.to, 'lenient');
859
+ if (from === undefined || to === undefined)
860
+ return appZone;
861
+ const shows = (zone) => offsetAt(zone, from.ms) === from.offsetMinutes && offsetAt(zone, to.ms) === to.offsetMinutes;
862
+ const zones = [...(offered ?? []), ...(appZone !== undefined ? [appZone] : [])];
863
+ const match = zones.find(shows);
864
+ if (match !== undefined)
865
+ return match;
866
+ const fixed = from.offsetMinutes === to.offsetMinutes ? fixedOffsetZone(from.offsetMinutes) : undefined;
867
+ return fixed ?? appZone;
705
868
  }
706
- /** What the first reading breaks, when EVERY reading breaks one member tool's facts — the refusal's words. */
707
- function factOutside(choices, members, toolOf, now) {
869
+ /** Why the first reading cannot be read, when ONE member tool can read no reading at all — the refusal's words. */
870
+ function readingsOutside(choices, zones, members, toolOf, time) {
708
871
  for (const name of new Set(members.map((m) => m.toolName))) {
709
- const rules = rulesOf(toolOf(name));
710
- if (rules === undefined || isRefused(rules))
711
- continue;
712
- const facts = periodFactsOf(rules.period);
713
- const problems = choices.map((value) => {
872
+ const reasons = choices.map((value, i) => {
714
873
  const range = parseRange(value);
715
- return range === undefined ? undefined : periodFactProblem(range, facts, now);
874
+ return range === undefined ? undefined : unreadableBy(name, range, zones[i], toolOf, time);
716
875
  });
717
- const first = problems[0];
718
- if (first !== undefined && problems.every((p) => p !== undefined)) {
719
- return factExpectation(first, facts);
876
+ const first = reasons[0];
877
+ if (first !== undefined && reasons.every((r) => r !== undefined)) {
878
+ return refusalExpectation(first.refused, first.facts);
720
879
  }
721
880
  }
722
881
  return undefined;
723
882
  }
724
- /** The window written into every member call's forms, after each tool's facts — or what it failed. */
883
+ /** What an answer must be, in the refusal's words, when a tool cannot read it: its fact, else a form that holds it. */
884
+ function refusalExpectation(refused, facts) {
885
+ return refused === 'time-future' ||
886
+ refused === 'time-past' ||
887
+ refused === 'beyond-retention' ||
888
+ refused === 'over-max-range'
889
+ ? factExpectation(refused, facts)
890
+ : WINDOW_FORM_EXPECTATION;
891
+ }
892
+ /**
893
+ * The window written into every member call's forms — the one owner's answer
894
+ * per tool (`core/time/convert.ts` · `convertForTool`: exactly, else wider,
895
+ * after the tool's facts) — or what it failed. Each fill also carries the
896
+ * decision its `call-window` row records (`filled`, the person's ANSWERED
897
+ * window, with the wider read's `sent` and `extra`).
898
+ */
725
899
  function windowFills(field, range, zone, byId, toolOf, time) {
726
900
  const fills = {};
901
+ const filled = {};
902
+ // The offered look-back, picked as offered, stays a look-back from now — the same window the
903
+ // served line and a later call's fill convert (`windows.ts` · `windowToConvert`), so the value
904
+ // this call is handed and the value the model is told are one spelling.
905
+ const lookback = offeredLookback(time.reading?.row, range);
906
+ const answered = {
907
+ source: 'answered',
908
+ mention: field.window.mention,
909
+ range,
910
+ ...(lookback !== undefined && { lookback }),
911
+ zone,
912
+ };
727
913
  for (const member of field.members) {
728
914
  const rules = rulesOf(toolOf(member.toolName));
729
915
  if (rules === undefined || isRefused(rules))
730
916
  return { expected: WINDOW_FORM_EXPECTATION };
731
917
  const forms = periodFormsOf(rules.period);
732
918
  const facts = periodFactsOf(rules.period);
733
- const problem = periodFactProblem(range, facts, time.now);
734
- if (problem !== undefined)
735
- return { expected: factExpectation(problem, facts) };
919
+ const read = convertForTool(windowToConvert(answered), forms, facts, {
920
+ now: time.now,
921
+ zone,
922
+ ...(time.appZone !== undefined && { appZone: time.appZone }),
923
+ granularityMs: granularityMsOf(facts),
924
+ });
925
+ // Refused before any form was chosen: the reason names the TOOL's facts (`toolFacts` — the
926
+ // widest any form reads), as every other door that judges a window before a form does.
927
+ if ('refused' in read) {
928
+ return { expected: refusalExpectation(read.refused, toolFacts(forms, facts)) };
929
+ }
930
+ const conversion = read.conversion;
931
+ const wider = 'sent' in conversion
932
+ ? facts.filtersToAsked === true
933
+ ? 'tool-trims'
934
+ : 'reads-more'
935
+ : undefined;
736
936
  for (const id of member.toolCallIds) {
737
937
  if (fills[id] !== undefined || !byId.has(id))
738
938
  continue;
739
- const ctx = {
740
- now: time.now,
741
- zone,
742
- ...(time.appZone !== undefined && { appZone: time.appZone }),
743
- granularityMs: granularityMsOf(facts),
744
- };
745
- const exact = convertExact({ range }, forms, ctx);
746
- const conversion = exact ?? convertWidened({ range }, forms, ctx, widestMsOf(facts));
747
- if (conversion === undefined)
748
- return { expected: WINDOW_FORM_EXPECTATION };
749
939
  for (const [argument, value] of Object.entries(conversion.values)) {
750
940
  if (typeof value === 'object')
751
941
  continue;
@@ -755,15 +945,20 @@ function windowFills(field, range, zone, byId, toolOf, time) {
755
945
  return { expected: expected ?? WINDOW_FORM_EXPECTATION };
756
946
  }
757
947
  }
758
- fills[id] = {
759
- values: conversion.values,
760
- ...(exact === undefined && {
761
- wider: facts.filtersToAsked === true ? 'tool-trims' : 'reads-more',
762
- }),
948
+ fills[id] = { values: conversion.values, ...(wider !== undefined && { wider }) };
949
+ filled[id] = {
950
+ toolName: member.toolName,
951
+ decision: {
952
+ how: 'filled',
953
+ window: answered,
954
+ conversion,
955
+ ...(wider === 'tool-trims' && { trimmedByTool: true }),
956
+ ...(read.partlyBeyondRetention === true && { partlyBeyondRetention: true }),
957
+ },
763
958
  };
764
959
  }
765
960
  }
766
- return { fills };
961
+ return { fills, filled };
767
962
  }
768
963
  /** The `answered` rows of a bound window: one per (call, argument) the window filled, in the tool's own view. */
769
964
  function windowAnsweredRows(field, fills, byId, toolOf, stamp) {
@@ -1 +1 @@
1
- {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../../../../src/core/agent/arguments/ask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../../../../src/core/agent/arguments/ask.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,7 @@
58
58
  * and never repaired.
59
59
  */
60
60
  import { callWindowOf, } from '../../time/bind.js';
61
- import { formArguments, granularityMsOf } from '../../time/convert.js';
61
+ import { formArguments, formFacts, granularityMsOf, toolFacts, } from '../../time/convert.js';
62
62
  import { callWindowRow } from '../../time/rowsBuild.js';
63
63
  import { shownArgsOf } from '../../toolShownArgs.js';
64
64
  import { validatePropertyValue } from '../toolArgsValidation.js';
@@ -321,6 +321,16 @@ function checkUnderWindow(check, decision) {
321
321
  // that differs both run as sent; neither is raised to the person's words.
322
322
  return { check, runs: decision?.how === 'model-chosen' || decision?.how === 'bound' };
323
323
  }
324
+ /**
325
+ * The facts a refusal's reason names: the sent form's own (its `maxRange` in place) when the
326
+ * refused window was sent in one form, else the tool's (`maxRange` the widest any form reads).
327
+ */
328
+ function refusalFactsOf(period, form) {
329
+ const facts = periodFactsOf(period);
330
+ const forms = periodFormsOf(period);
331
+ const sentIn = form === undefined ? undefined : forms[form];
332
+ return sentIn !== undefined ? formFacts(sentIn, facts) : toolFacts(forms, facts);
333
+ }
324
334
  /**
325
335
  * Where each ruled value of each planned call came from, by the table above.
326
336
  * Unarmed (no `sources`), a present value either IS the declared default (an
@@ -634,7 +644,7 @@ export function resolutionsOf(plan, checked, toolOf, iteration, kept, sources, d
634
644
  resolutions.push({
635
645
  toolCallId: planned.toolCallId,
636
646
  iteration,
637
- refused: timeRefusal(planned.toolName, decision.refused, periodFactsOf(readableRules(toolOf, planned.toolName)?.period), decision.argument),
647
+ refused: timeRefusal(planned.toolName, decision.refused, refusalFactsOf(readableRules(toolOf, planned.toolName)?.period, decision.form), decision.argument),
638
648
  });
639
649
  continue;
640
650
  }