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.
- package/AGENTS.md +2 -2
- package/CAPABILITIES.md +3 -2
- package/ai-instructions/claude-code/SKILL.md +2 -2
- package/dist/core/Agent.js +5 -3
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/arguments/ask.js +249 -54
- package/dist/core/agent/arguments/ask.js.map +1 -1
- package/dist/core/agent/arguments/resolve.js +11 -1
- package/dist/core/agent/arguments/resolve.js.map +1 -1
- package/dist/core/agent/arguments/serve.js +227 -61
- package/dist/core/agent/arguments/serve.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +5 -4
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +2 -1
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/coverage/period.js +47 -2
- package/dist/core/agent/coverage/period.js.map +1 -1
- package/dist/core/agent/evidence/answerCarriers.js +91 -0
- package/dist/core/agent/evidence/answerCarriers.js.map +1 -0
- package/dist/core/agent/stages/argumentAsk.js +8 -6
- package/dist/core/agent/stages/argumentAsk.js.map +1 -1
- package/dist/core/agent/stages/route.js +7 -0
- package/dist/core/agent/stages/route.js.map +1 -1
- package/dist/core/slots/buildToolsSlot.js +4 -2
- package/dist/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/core/time/bind.js +57 -51
- package/dist/core/time/bind.js.map +1 -1
- package/dist/core/time/convert.js +111 -14
- package/dist/core/time/convert.js.map +1 -1
- package/dist/core/time/forms.js +7 -5
- package/dist/core/time/forms.js.map +1 -1
- package/dist/core/time/periodForm.js +63 -9
- package/dist/core/time/periodForm.js.map +1 -1
- package/dist/core/time/range.js +22 -1
- package/dist/core/time/range.js.map +1 -1
- package/dist/core/time/reader.js +3 -2
- package/dist/core/time/reader.js.map +1 -1
- package/dist/core/time/readers/english.js +116 -38
- package/dist/core/time/readers/english.js.map +1 -1
- package/dist/core/time/readingAsk.js +20 -5
- package/dist/core/time/readingAsk.js.map +1 -1
- package/dist/core/time/resolve.js +197 -63
- package/dist/core/time/resolve.js.map +1 -1
- package/dist/core/time/resolveRecord.js +103 -6
- package/dist/core/time/resolveRecord.js.map +1 -1
- package/dist/core/time/rows.js +7 -2
- package/dist/core/time/rows.js.map +1 -1
- package/dist/core/time/rowsBuild.js +1 -1
- package/dist/core/time/rowsBuild.js.map +1 -1
- package/dist/core/time/windows.js +131 -19
- package/dist/core/time/windows.js.map +1 -1
- package/dist/core/time/zone.js +105 -1
- package/dist/core/time/zone.js.map +1 -1
- package/dist/doors/time.js +73 -0
- package/dist/doors/time.js.map +1 -0
- package/dist/esm/core/Agent.js +5 -3
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/arguments/ask.d.ts +11 -5
- package/dist/esm/core/agent/arguments/ask.js +251 -56
- package/dist/esm/core/agent/arguments/ask.js.map +1 -1
- package/dist/esm/core/agent/arguments/resolve.js +12 -2
- package/dist/esm/core/agent/arguments/resolve.js.map +1 -1
- package/dist/esm/core/agent/arguments/serve.d.ts +50 -21
- package/dist/esm/core/agent/arguments/serve.js +225 -60
- package/dist/esm/core/agent/arguments/serve.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.d.ts +3 -1
- package/dist/esm/core/agent/buildAgentChart.js +5 -4
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +2 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/coverage/period.d.ts +6 -1
- package/dist/esm/core/agent/coverage/period.js +47 -2
- package/dist/esm/core/agent/coverage/period.js.map +1 -1
- package/dist/esm/core/agent/evidence/answerCarriers.d.ts +62 -0
- package/dist/esm/core/agent/evidence/answerCarriers.js +87 -0
- package/dist/esm/core/agent/evidence/answerCarriers.js.map +1 -0
- package/dist/esm/core/agent/stages/argumentAsk.js +8 -6
- package/dist/esm/core/agent/stages/argumentAsk.js.map +1 -1
- package/dist/esm/core/agent/stages/route.js +7 -0
- package/dist/esm/core/agent/stages/route.js.map +1 -1
- package/dist/esm/core/slots/buildToolsSlot.d.ts +15 -11
- package/dist/esm/core/slots/buildToolsSlot.js +4 -2
- package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/esm/core/time/bind.d.ts +11 -7
- package/dist/esm/core/time/bind.js +55 -52
- package/dist/esm/core/time/bind.js.map +1 -1
- package/dist/esm/core/time/convert.d.ts +45 -2
- package/dist/esm/core/time/convert.js +108 -16
- package/dist/esm/core/time/convert.js.map +1 -1
- package/dist/esm/core/time/forms.js +8 -6
- package/dist/esm/core/time/forms.js.map +1 -1
- package/dist/esm/core/time/periodForm.d.ts +45 -6
- package/dist/esm/core/time/periodForm.js +59 -8
- package/dist/esm/core/time/periodForm.js.map +1 -1
- package/dist/esm/core/time/range.d.ts +18 -0
- package/dist/esm/core/time/range.js +20 -0
- package/dist/esm/core/time/range.js.map +1 -1
- package/dist/esm/core/time/reader.d.ts +7 -0
- package/dist/esm/core/time/reader.js +3 -2
- package/dist/esm/core/time/reader.js.map +1 -1
- package/dist/esm/core/time/readers/english.d.ts +16 -12
- package/dist/esm/core/time/readers/english.js +116 -38
- package/dist/esm/core/time/readers/english.js.map +1 -1
- package/dist/esm/core/time/readingAsk.d.ts +7 -3
- package/dist/esm/core/time/readingAsk.js +20 -5
- package/dist/esm/core/time/readingAsk.js.map +1 -1
- package/dist/esm/core/time/resolve.d.ts +31 -17
- package/dist/esm/core/time/resolve.js +197 -65
- package/dist/esm/core/time/resolve.js.map +1 -1
- package/dist/esm/core/time/resolveRecord.d.ts +90 -5
- package/dist/esm/core/time/resolveRecord.js +99 -5
- package/dist/esm/core/time/resolveRecord.js.map +1 -1
- package/dist/esm/core/time/rows.d.ts +9 -3
- package/dist/esm/core/time/rows.js +7 -2
- package/dist/esm/core/time/rows.js.map +1 -1
- package/dist/esm/core/time/rowsBuild.js +1 -1
- package/dist/esm/core/time/rowsBuild.js.map +1 -1
- package/dist/esm/core/time/windows.d.ts +95 -14
- package/dist/esm/core/time/windows.js +127 -18
- package/dist/esm/core/time/windows.js.map +1 -1
- package/dist/esm/core/time/zone.d.ts +32 -0
- package/dist/esm/core/time/zone.js +102 -0
- package/dist/esm/core/time/zone.js.map +1 -1
- package/dist/esm/doors/time.d.ts +60 -0
- package/dist/esm/doors/time.js +61 -0
- package/dist/esm/doors/time.js.map +1 -0
- package/dist/esm/events/payloads.d.ts +23 -0
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/arguments/ask.d.ts +11 -5
- package/dist/types/core/agent/arguments/ask.d.ts.map +1 -1
- package/dist/types/core/agent/arguments/resolve.d.ts.map +1 -1
- package/dist/types/core/agent/arguments/serve.d.ts +50 -21
- package/dist/types/core/agent/arguments/serve.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts +3 -1
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/period.d.ts +6 -1
- package/dist/types/core/agent/coverage/period.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/answerCarriers.d.ts +63 -0
- package/dist/types/core/agent/evidence/answerCarriers.d.ts.map +1 -0
- package/dist/types/core/agent/stages/argumentAsk.d.ts.map +1 -1
- package/dist/types/core/agent/stages/route.d.ts.map +1 -1
- package/dist/types/core/slots/buildToolsSlot.d.ts +15 -11
- package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
- package/dist/types/core/time/bind.d.ts +11 -7
- package/dist/types/core/time/bind.d.ts.map +1 -1
- package/dist/types/core/time/convert.d.ts +45 -2
- package/dist/types/core/time/convert.d.ts.map +1 -1
- package/dist/types/core/time/forms.d.ts.map +1 -1
- package/dist/types/core/time/periodForm.d.ts +45 -6
- package/dist/types/core/time/periodForm.d.ts.map +1 -1
- package/dist/types/core/time/range.d.ts +18 -0
- package/dist/types/core/time/range.d.ts.map +1 -1
- package/dist/types/core/time/reader.d.ts +7 -0
- package/dist/types/core/time/reader.d.ts.map +1 -1
- package/dist/types/core/time/readers/english.d.ts +16 -12
- package/dist/types/core/time/readers/english.d.ts.map +1 -1
- package/dist/types/core/time/readingAsk.d.ts +7 -3
- package/dist/types/core/time/readingAsk.d.ts.map +1 -1
- package/dist/types/core/time/resolve.d.ts +31 -17
- package/dist/types/core/time/resolve.d.ts.map +1 -1
- package/dist/types/core/time/resolveRecord.d.ts +90 -5
- package/dist/types/core/time/resolveRecord.d.ts.map +1 -1
- package/dist/types/core/time/rows.d.ts +9 -3
- package/dist/types/core/time/rows.d.ts.map +1 -1
- package/dist/types/core/time/rowsBuild.d.ts.map +1 -1
- package/dist/types/core/time/windows.d.ts +95 -14
- package/dist/types/core/time/windows.d.ts.map +1 -1
- package/dist/types/core/time/zone.d.ts +32 -0
- package/dist/types/core/time/zone.d.ts.map +1 -1
- package/dist/types/doors/time.d.ts +61 -0
- package/dist/types/doors/time.d.ts.map +1 -0
- package/dist/types/events/payloads.d.ts +23 -0
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +14 -1
|
@@ -82,8 +82,8 @@ import { type InstantText } from './instant.js';
|
|
|
82
82
|
import { sameRange, type TimeRange } from './range.js';
|
|
83
83
|
export { sameRange };
|
|
84
84
|
import { type ZoneName } from './zone.js';
|
|
85
|
-
import { type PeriodFacts, type PeriodForm } from './periodForm.js';
|
|
86
|
-
export { BOUND_AS, DEFAULT_GRANULARITY_MS, FACT_UNITS, FORM_KINDS, formArguments, formIssue, isBoundValue, needsZone, parsesUnderForm, PERIOD_SPELLINGS, periodFactProblem, primaryArgument, sugarForm, sugarForms, TIME_REFUSALS, } from './periodForm.js';
|
|
85
|
+
import { type PeriodFacts, type PeriodForm, type TimeRefusal } from './periodForm.js';
|
|
86
|
+
export { BOUND_AS, DEFAULT_GRANULARITY_MS, FACT_UNITS, FORM_KINDS, formArguments, formFacts, formIssue, formMaxRange, isBoundValue, needsZone, parsesUnderForm, PERIOD_SPELLINGS, periodFactProblem, primaryArgument, sugarForm, sugarForms, TIME_REFUSALS, toolFacts, } from './periodForm.js';
|
|
87
87
|
export type { Bound, BoundAs, FormArgument, PeriodDirection, PeriodFactProblem, PeriodFacts, PeriodForm, PeriodShapes, PeriodSpelling, TimeRefusal, ToBound, ZoneArgument, } from './periodForm.js';
|
|
88
88
|
/** What a conversion knows beyond the window: the turn's clock, the zones, the tool's step. */
|
|
89
89
|
export interface ConvertContext {
|
|
@@ -139,6 +139,39 @@ export declare function convertWidened(window: WindowToConvert, forms: readonly
|
|
|
139
139
|
* day is the model's choice, not the library's.
|
|
140
140
|
*/
|
|
141
141
|
export declare function spansDaysForDayOnly(window: WindowToConvert, forms: readonly PeriodForm[], ctx: ConvertContext): boolean;
|
|
142
|
+
/** A window a tool can read — the conversion to send — or the reason it cannot, before dispatch. */
|
|
143
|
+
export type ToolConversion = {
|
|
144
|
+
/** Exact, or — when no form holds the window exactly — WIDENED (it carries `sent` and `extra`). */
|
|
145
|
+
readonly conversion: Conversion | WidenedConversion;
|
|
146
|
+
/** The window starts before the source's oldest data and ends after it: it dispatches, marked. */
|
|
147
|
+
readonly partlyBeyondRetention?: true;
|
|
148
|
+
} | {
|
|
149
|
+
readonly refused: TimeRefusal;
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Whether one tool can read one window, and how — the ONE answer every door
|
|
153
|
+
* that puts a person's window into a tool asks (the fill, the time ask's
|
|
154
|
+
* answer and its choices, the served line): the tool's facts first
|
|
155
|
+
* ({@link periodFactProblem}), then the first form that holds it exactly
|
|
156
|
+
* ({@link convertExact}), then the first that holds it by reading MORE
|
|
157
|
+
* ({@link convertWidened} — `maxRange` skips a read too wide), then `multi-day`
|
|
158
|
+
* for a `day`-only tool ({@link spansDaysForDayOnly}), and otherwise
|
|
159
|
+
* `no-form-holds`: no declared form can read it at all (a look-back ends at
|
|
160
|
+
* now, so it cannot reach a window still running; a covering look-back wider
|
|
161
|
+
* than `maxRange` is not read). Never the tool's own default in its place.
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```ts
|
|
165
|
+
* const lookbackOnly = [{ kind: 'lookback', argument: 'window', signed: false }] as const;
|
|
166
|
+
* const ctx = { now: '2026-10-09T15:40:00Z', zone: 'America/Los_Angeles', granularityMs: 60_000 };
|
|
167
|
+
* const yesterday = { from: '2026-10-08T00:00:00-07:00', to: '2026-10-09T00:00:00-07:00' };
|
|
168
|
+
* convertForTool({ range: yesterday }, lookbackOnly, {}, ctx);
|
|
169
|
+
* // { conversion: { form: 0, values: { window: '1960m' }, sent: …, extra: [ …the gap after it… ] } }
|
|
170
|
+
* convertForTool({ range: yesterday }, lookbackOnly, { maxRange: '24h' }, ctx);
|
|
171
|
+
* // { refused: 'no-form-holds' } — reaching 8 Oct from now takes a look-back wider than 24h
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
export declare function convertForTool(window: WindowToConvert, forms: readonly PeriodForm[], facts: PeriodFacts | undefined, ctx: ConvertContext): ToolConversion;
|
|
142
175
|
/**
|
|
143
176
|
* The first argument of `form` whose sent value is a wall time the zone
|
|
144
177
|
* SKIPS (a spring-forward gap) — the tool would read a time that never
|
|
@@ -148,6 +181,16 @@ export declare function spansDaysForDayOnly(window: WindowToConvert, forms: read
|
|
|
148
181
|
export declare function wallGapArgument(args: Readonly<Record<string, unknown>>, form: PeriodForm, ctx: {
|
|
149
182
|
readonly appZone?: ZoneName;
|
|
150
183
|
}): string | undefined;
|
|
184
|
+
/**
|
|
185
|
+
* Whether {@link readBack} cannot read `args` for want of a zone alone — a
|
|
186
|
+
* wall or date form whose zone argument is not in the call yet and no app
|
|
187
|
+
* zone stands in. A caller that finds every bound present and still gets no
|
|
188
|
+
* range tells "the zone is still to come" (this) from "the bounds name no
|
|
189
|
+
* window" (misspelled, a wall time the zone skips, `from` not before `to`).
|
|
190
|
+
*/
|
|
191
|
+
export declare function readBackLacksZone(args: Readonly<Record<string, unknown>>, form: PeriodForm, ctx: {
|
|
192
|
+
readonly appZone?: ZoneName;
|
|
193
|
+
}): boolean;
|
|
151
194
|
/**
|
|
152
195
|
* The half-open range the arguments of `form` name — the § 3.3 conversion back
|
|
153
196
|
* from each bound — or `undefined` when they do not name one (missing,
|
|
@@ -79,13 +79,13 @@
|
|
|
79
79
|
*/
|
|
80
80
|
import { AXIS_UNITS, durationMs, isDuration, LOOKBACK_UNITS, spellDuration, } from './duration.js';
|
|
81
81
|
import { instantOf, spellInstant, utcWallMs } from './instant.js';
|
|
82
|
-
import { lookbackRange, sameRange } from './range.js';
|
|
82
|
+
import { lookbackRange, reachMs, sameRange } from './range.js';
|
|
83
83
|
// `sameRange` moved to `range.ts` (the range owner) so the turn's windows
|
|
84
84
|
// (`windows.ts`) read it without this module; re-exported for its callers.
|
|
85
85
|
export { sameRange };
|
|
86
86
|
import { isZoneName, readWall, wallAt } from './zone.js';
|
|
87
|
-
import { dateOf, DEFAULT_GRANULARITY_MS, epochFromText, FACT_UNITS, isPlain, needsZone, wallOf, } from './periodForm.js';
|
|
88
|
-
export { BOUND_AS, DEFAULT_GRANULARITY_MS, FACT_UNITS, FORM_KINDS, formArguments, formIssue, isBoundValue, needsZone, parsesUnderForm, PERIOD_SPELLINGS, periodFactProblem, primaryArgument, sugarForm, sugarForms, TIME_REFUSALS, } from './periodForm.js';
|
|
87
|
+
import { dateOf, DEFAULT_GRANULARITY_MS, epochFromText, FACT_UNITS, formMaxRange, isPlain, needsZone, periodFactProblem, toolFacts, wallOf, } from './periodForm.js';
|
|
88
|
+
export { BOUND_AS, DEFAULT_GRANULARITY_MS, FACT_UNITS, FORM_KINDS, formArguments, formFacts, formIssue, formMaxRange, isBoundValue, needsZone, parsesUnderForm, PERIOD_SPELLINGS, periodFactProblem, primaryArgument, sugarForm, sugarForms, TIME_REFUSALS, toolFacts, } from './periodForm.js';
|
|
89
89
|
// ─── Wall times and dates as text (the parsers are periodForm.ts') ─────
|
|
90
90
|
const pad = (n, width) => String(n).padStart(width, '0');
|
|
91
91
|
function spellWall(wall, withMs) {
|
|
@@ -340,10 +340,13 @@ function lookbackWidened(window, form, ctx) {
|
|
|
340
340
|
if (window.lookback !== undefined)
|
|
341
341
|
return undefined;
|
|
342
342
|
const now = msOf(ctx.now);
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
343
|
+
// `absoluteOf` refuses an empty or inverted range, as every other form's reading does — a
|
|
344
|
+
// look-back from now "covering" a range that ends before it starts would read a confident
|
|
345
|
+
// wrong window (its `extra` outside its own `sent`).
|
|
346
|
+
const span = absoluteOf(window, ctx.now);
|
|
347
|
+
if (now === undefined || span === undefined)
|
|
346
348
|
return undefined;
|
|
349
|
+
const [from, to] = span;
|
|
347
350
|
if (to.ms >= now.ms - ctx.granularityMs)
|
|
348
351
|
return undefined;
|
|
349
352
|
const units = form.units ?? LOOKBACK_UNITS;
|
|
@@ -381,7 +384,9 @@ export function convertWidened(window, forms, ctx, widestMs) {
|
|
|
381
384
|
continue;
|
|
382
385
|
const sentFrom = msOf(done.sent.from);
|
|
383
386
|
const sentTo = msOf(done.sent.to);
|
|
384
|
-
|
|
387
|
+
// The read's reach, judged as `periodFactProblem` judges a window (`range.ts` · `reachMs`):
|
|
388
|
+
// a look-back `[now − L, now]` reaches `L`, so one exactly `maxRange` long is read at once.
|
|
389
|
+
if (widestMs !== undefined && reachMs(sentFrom.ms, sentTo.ms) > widestMs)
|
|
385
390
|
continue;
|
|
386
391
|
return { form: i, ...done };
|
|
387
392
|
}
|
|
@@ -405,6 +410,81 @@ export function spansDaysForDayOnly(window, forms, ctx) {
|
|
|
405
410
|
return spellDate(dateAt(zone, span[0].ms)) !== spellDate(dateAt(zone, span[1].ms - 1));
|
|
406
411
|
});
|
|
407
412
|
}
|
|
413
|
+
/**
|
|
414
|
+
* Whether one tool can read one window, and how — the ONE answer every door
|
|
415
|
+
* that puts a person's window into a tool asks (the fill, the time ask's
|
|
416
|
+
* answer and its choices, the served line): the tool's facts first
|
|
417
|
+
* ({@link periodFactProblem}), then the first form that holds it exactly
|
|
418
|
+
* ({@link convertExact}), then the first that holds it by reading MORE
|
|
419
|
+
* ({@link convertWidened} — `maxRange` skips a read too wide), then `multi-day`
|
|
420
|
+
* for a `day`-only tool ({@link spansDaysForDayOnly}), and otherwise
|
|
421
|
+
* `no-form-holds`: no declared form can read it at all (a look-back ends at
|
|
422
|
+
* now, so it cannot reach a window still running; a covering look-back wider
|
|
423
|
+
* than `maxRange` is not read). Never the tool's own default in its place.
|
|
424
|
+
*
|
|
425
|
+
* @example
|
|
426
|
+
* ```ts
|
|
427
|
+
* const lookbackOnly = [{ kind: 'lookback', argument: 'window', signed: false }] as const;
|
|
428
|
+
* const ctx = { now: '2026-10-09T15:40:00Z', zone: 'America/Los_Angeles', granularityMs: 60_000 };
|
|
429
|
+
* const yesterday = { from: '2026-10-08T00:00:00-07:00', to: '2026-10-09T00:00:00-07:00' };
|
|
430
|
+
* convertForTool({ range: yesterday }, lookbackOnly, {}, ctx);
|
|
431
|
+
* // { conversion: { form: 0, values: { window: '1960m' }, sent: …, extra: [ …the gap after it… ] } }
|
|
432
|
+
* convertForTool({ range: yesterday }, lookbackOnly, { maxRange: '24h' }, ctx);
|
|
433
|
+
* // { refused: 'no-form-holds' } — reaching 8 Oct from now takes a look-back wider than 24h
|
|
434
|
+
* ```
|
|
435
|
+
*/
|
|
436
|
+
export function convertForTool(window, forms, facts, ctx) {
|
|
437
|
+
// The tool's facts before a form is chosen: `maxRange` is the widest any form reads, so a window
|
|
438
|
+
// is over it only when NO form can read it (`periodForm.ts` · `toolFacts`; the period's own
|
|
439
|
+
// facts when no form declares its own `maxRange`).
|
|
440
|
+
const judged = facts === undefined ? undefined : toolFacts(forms, facts);
|
|
441
|
+
const problem = judged === undefined ? undefined : periodFactProblem(window.range, judged, ctx.now);
|
|
442
|
+
if (problem !== undefined)
|
|
443
|
+
return { refused: problem };
|
|
444
|
+
const partly = facts !== undefined && partlyBeyondRetention(window.range, facts, ctx.now)
|
|
445
|
+
? { partlyBeyondRetention: true }
|
|
446
|
+
: {};
|
|
447
|
+
const read = forms.some((f) => f.maxRange !== undefined)
|
|
448
|
+
? convertWithinFormCaps(window, forms, facts, ctx)
|
|
449
|
+
: convertExact(window, forms, ctx) ?? convertWidened(window, forms, ctx, widestMsOf(facts));
|
|
450
|
+
if (read !== undefined)
|
|
451
|
+
return { conversion: read, ...partly };
|
|
452
|
+
if (spansDaysForDayOnly(window, forms, ctx))
|
|
453
|
+
return { refused: 'multi-day' };
|
|
454
|
+
return { refused: 'no-form-holds' };
|
|
455
|
+
}
|
|
456
|
+
/**
|
|
457
|
+
* {@link convertForTool}'s exact-then-wider search when a form declares its
|
|
458
|
+
* own `maxRange`: the same order (the first form that holds the window
|
|
459
|
+
* exactly, then the first that holds it by reading more), each form held to
|
|
460
|
+
* ITS cap ({@link formMaxRange}) — an exact form the window reaches past, or a
|
|
461
|
+
* wider read past it, is skipped, and the next form is asked.
|
|
462
|
+
*/
|
|
463
|
+
function convertWithinFormCaps(window, forms, facts, ctx) {
|
|
464
|
+
const capMs = (form) => {
|
|
465
|
+
const text = formMaxRange(form, facts);
|
|
466
|
+
return text === undefined ? undefined : durationMs(text, FACT_UNITS);
|
|
467
|
+
};
|
|
468
|
+
const from = msOf(window.range.from);
|
|
469
|
+
const to = msOf(window.range.to);
|
|
470
|
+
const reach = from === undefined || to === undefined ? undefined : reachMs(from.ms, to.ms);
|
|
471
|
+
for (let i = 0; i < forms.length; i++) {
|
|
472
|
+
const form = forms[i];
|
|
473
|
+
const cap = capMs(form);
|
|
474
|
+
if (cap !== undefined && (reach === undefined || reach > cap))
|
|
475
|
+
continue;
|
|
476
|
+
const exact = convertExact(window, [form], ctx);
|
|
477
|
+
if (exact !== undefined)
|
|
478
|
+
return { ...exact, form: i };
|
|
479
|
+
}
|
|
480
|
+
for (let i = 0; i < forms.length; i++) {
|
|
481
|
+
const form = forms[i];
|
|
482
|
+
const widened = convertWidened(window, [form], ctx, capMs(form));
|
|
483
|
+
if (widened !== undefined)
|
|
484
|
+
return { ...widened, form: i };
|
|
485
|
+
}
|
|
486
|
+
return undefined;
|
|
487
|
+
}
|
|
408
488
|
/**
|
|
409
489
|
* The first argument of `form` whose sent value is a wall time the zone
|
|
410
490
|
* SKIPS (a spring-forward gap) — the tool would read a time that never
|
|
@@ -491,6 +571,24 @@ function spanRange(fromMs, toMs) {
|
|
|
491
571
|
const to = spellInstant({ ms: toMs, nanos: 0 }, 0);
|
|
492
572
|
return from === undefined || to === undefined ? undefined : { from, to };
|
|
493
573
|
}
|
|
574
|
+
/** The zone `form`'s arguments are read in: the zone argument's value when the form has one, else the app's. */
|
|
575
|
+
function readZone(args, form, ctx) {
|
|
576
|
+
const sentZone = 'zone' in form && form.zone !== undefined ? args[form.zone.argument] : undefined;
|
|
577
|
+
return formZone(form, {
|
|
578
|
+
zone: isZoneName(sentZone) ? sentZone : undefined,
|
|
579
|
+
...(ctx.appZone !== undefined && { appZone: ctx.appZone }),
|
|
580
|
+
});
|
|
581
|
+
}
|
|
582
|
+
/**
|
|
583
|
+
* Whether {@link readBack} cannot read `args` for want of a zone alone — a
|
|
584
|
+
* wall or date form whose zone argument is not in the call yet and no app
|
|
585
|
+
* zone stands in. A caller that finds every bound present and still gets no
|
|
586
|
+
* range tells "the zone is still to come" (this) from "the bounds name no
|
|
587
|
+
* window" (misspelled, a wall time the zone skips, `from` not before `to`).
|
|
588
|
+
*/
|
|
589
|
+
export function readBackLacksZone(args, form, ctx) {
|
|
590
|
+
return form.kind !== 'lookback' && needsZone(form) && readZone(args, form, ctx) === undefined;
|
|
591
|
+
}
|
|
494
592
|
/**
|
|
495
593
|
* The half-open range the arguments of `form` name — the § 3.3 conversion back
|
|
496
594
|
* from each bound — or `undefined` when they do not name one (missing,
|
|
@@ -511,15 +609,9 @@ export function readBack(args, form, ctx) {
|
|
|
511
609
|
return undefined;
|
|
512
610
|
return lookbackRange(ctx.now, length, units);
|
|
513
611
|
}
|
|
514
|
-
const
|
|
515
|
-
if (
|
|
516
|
-
|
|
517
|
-
return undefined;
|
|
518
|
-
}
|
|
519
|
-
const zone = formZone(form, {
|
|
520
|
-
zone: isZoneName(sentZone) ? sentZone : undefined,
|
|
521
|
-
appZone: ctx.appZone,
|
|
522
|
-
});
|
|
612
|
+
const zone = readZone(args, form, ctx);
|
|
613
|
+
if (needsZone(form) && zone === undefined)
|
|
614
|
+
return undefined;
|
|
523
615
|
if (form.kind === 'day') {
|
|
524
616
|
if (zone === undefined)
|
|
525
617
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../../src/core/time/convert.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../../src/core/time/convert.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
import { clockSpellings, pad2, Spellings, timeFormsOfText } from './textForms.js';
|
|
35
35
|
import { turnWindowsOf } from './windows.js';
|
|
36
36
|
import { instantOf, spellInstant } from './instant.js';
|
|
37
|
-
import { resolveMention, withZoneAnswered, } from './resolve.js';
|
|
37
|
+
import { resolveMention, widenedGrain, withZoneAnswered, } from './resolve.js';
|
|
38
38
|
import { answersOf, clockOf, readingsOf } from './rows.js';
|
|
39
39
|
import { offsetAt, wallAt } from './zone.js';
|
|
40
40
|
// FOLD · the one owner of which spellings of a time count as the person's and which the library derived
|
|
@@ -137,13 +137,15 @@ function saidPartsOf(window) {
|
|
|
137
137
|
return window.reading?.said ?? [];
|
|
138
138
|
}
|
|
139
139
|
/**
|
|
140
|
-
* The last instant of the range AS SAID — a reading
|
|
141
|
-
* grain, so `[08:00, 08:41)` at minute grain is said
|
|
142
|
-
* day `[26 Sep, 27 Sep)` as 26 Sep.
|
|
143
|
-
*
|
|
140
|
+
* The last instant of the range AS SAID — a reading whose end was widened
|
|
141
|
+
* runs to the end of its grain, so `[08:00, 08:41)` at minute grain is said
|
|
142
|
+
* as `08:40`, and a whole day `[26 Sep, 27 Sep)` as 26 Sep. An end that was
|
|
143
|
+
* not widened ("8 AM to 9 AM" → `[08:00, 09:00)`) is said as it is, `09:00`
|
|
144
|
+
* (`resolveRecord.ts` · `widenedGrain`, the one answer). A window with no
|
|
145
|
+
* reading (typed in the ask, set in a UI) ends at its own `to`, as entered.
|
|
144
146
|
*/
|
|
145
147
|
function saidEndMs(window, toMs) {
|
|
146
|
-
const grain = window.reading
|
|
148
|
+
const grain = window.reading === undefined ? undefined : widenedGrain(window.reading);
|
|
147
149
|
if (grain === undefined)
|
|
148
150
|
return toMs;
|
|
149
151
|
// A day or wider: the last millisecond is inside the last said day.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../../../../src/core/time/forms.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../../../../src/core/time/forms.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import { type DurationText } from './duration.js';
|
|
26
26
|
import { type InstantText } from './instant.js';
|
|
27
|
-
import type
|
|
27
|
+
import { type Edge, type TimeRange } from './range.js';
|
|
28
28
|
import { type WallTime } from './zone.js';
|
|
29
29
|
/** The single-argument spellings — today's three, and `wall-range` (wall times plus a zone argument). */
|
|
30
30
|
export type PeriodSpelling = 'lookback' | 'signed-lookback' | 'iso-range' | 'wall-range';
|
|
@@ -52,12 +52,19 @@ export interface ToBound extends Bound {
|
|
|
52
52
|
export interface ZoneArgument {
|
|
53
53
|
readonly argument: string;
|
|
54
54
|
}
|
|
55
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* Every shape a tool's period can take — one `TimeRange` onto one or more
|
|
57
|
+
* arguments. Any form may carry its own `maxRange` — the widest window THAT
|
|
58
|
+
* form reads at once — when the tool's forms differ (bounds capped at a day,
|
|
59
|
+
* a look-back with no cap): it overrides the period's `maxRange` for that
|
|
60
|
+
* form only ({@link formMaxRange}, the one owner).
|
|
61
|
+
*/
|
|
56
62
|
export type PeriodForm = {
|
|
57
63
|
readonly kind: 'bounds';
|
|
58
64
|
readonly from: Bound;
|
|
59
65
|
readonly to: ToBound;
|
|
60
66
|
readonly zone?: ZoneArgument;
|
|
67
|
+
readonly maxRange?: DurationText;
|
|
61
68
|
} | {
|
|
62
69
|
readonly kind: 'joined';
|
|
63
70
|
readonly argument: string;
|
|
@@ -65,6 +72,7 @@ export type PeriodForm = {
|
|
|
65
72
|
readonly joiner: '..' | '/';
|
|
66
73
|
readonly edge?: Edge;
|
|
67
74
|
readonly zone?: ZoneArgument;
|
|
75
|
+
readonly maxRange?: DurationText;
|
|
68
76
|
} | {
|
|
69
77
|
readonly kind: 'object';
|
|
70
78
|
readonly argument: string;
|
|
@@ -76,16 +84,19 @@ export type PeriodForm = {
|
|
|
76
84
|
/** Declared, never defaulted (TQ18). */
|
|
77
85
|
readonly edge: Edge;
|
|
78
86
|
readonly zone?: ZoneArgument;
|
|
87
|
+
readonly maxRange?: DurationText;
|
|
79
88
|
} | {
|
|
80
89
|
readonly kind: 'day';
|
|
81
90
|
readonly argument: string;
|
|
82
91
|
readonly zone?: ZoneArgument;
|
|
92
|
+
readonly maxRange?: DurationText;
|
|
83
93
|
} | {
|
|
84
94
|
readonly kind: 'lookback';
|
|
85
95
|
readonly argument: string;
|
|
86
96
|
readonly signed: boolean;
|
|
87
97
|
/** A unit set ⊆ `smhdw`; absent → today's `mhdw`. */
|
|
88
98
|
readonly units?: string;
|
|
99
|
+
readonly maxRange?: DurationText;
|
|
89
100
|
};
|
|
90
101
|
export declare const FORM_KINDS: readonly PeriodForm['kind'][];
|
|
91
102
|
/** Which side of now a source can hold. */
|
|
@@ -170,15 +181,43 @@ export type PeriodFactProblem = 'time-future' | 'time-past' | 'beyond-retention'
|
|
|
170
181
|
* turn's clock — or `undefined`. `past`: a range that starts after now;
|
|
171
182
|
* `future`: one that ends before now; `retention`: only a range WHOLLY older
|
|
172
183
|
* than `now − retention` (a partial overlap is the result's to judge);
|
|
173
|
-
* `maxRange`: a range
|
|
174
|
-
*
|
|
184
|
+
* `maxRange`: a range that REACHES further than it (`range.ts` · `reachMs`:
|
|
185
|
+
* first instant to last, so a look-back exactly `maxRange` long fits — an
|
|
186
|
+
* inclusive ceiling). A fact the tool does not declare is not checked.
|
|
175
187
|
*/
|
|
176
188
|
export declare function periodFactProblem(range: TimeRange, facts: PeriodFacts, now: InstantText): PeriodFactProblem | undefined;
|
|
189
|
+
/**
|
|
190
|
+
* The widest window ONE form reads at once: its own `maxRange`, else the
|
|
191
|
+
* period's — the one owner every door asks (the conversion, a sent window's
|
|
192
|
+
* check, the answer to a period argument). `undefined`: no cap for that form.
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```ts
|
|
196
|
+
* formMaxRange({ kind: 'bounds', from, to, maxRange: '24h' }, { maxRange: '7d' }); // '24h'
|
|
197
|
+
* formMaxRange({ kind: 'lookback', argument: 'w', signed: false }, { maxRange: '7d' }); // '7d'
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
export declare function formMaxRange(form: PeriodForm, facts: PeriodFacts | undefined): DurationText | undefined;
|
|
201
|
+
/** The facts ONE form is judged against: the period's, with the form's own `maxRange` in place. */
|
|
202
|
+
export declare function formFacts(form: PeriodForm, facts: PeriodFacts): PeriodFacts;
|
|
203
|
+
/**
|
|
204
|
+
* The facts the TOOL is judged against before any form is chosen (a window
|
|
205
|
+
* of the person's to fill, a time ask's choices): `maxRange` is the widest
|
|
206
|
+
* any form reads — none when one form reads with no cap — so a window is
|
|
207
|
+
* refused `over-max-range` only when NO form can read it. The period's facts
|
|
208
|
+
* as declared when no form declares its own `maxRange`.
|
|
209
|
+
*/
|
|
210
|
+
export declare function toolFacts(forms: readonly PeriodForm[], facts: PeriodFacts): PeriodFacts;
|
|
177
211
|
/**
|
|
178
212
|
* Why a call is refused before dispatch (§ 7.2, step T5b): one of the tool's
|
|
179
213
|
* facts ({@link PeriodFactProblem}), a range across days to a tool that reads
|
|
180
|
-
* one day (`multi-day`),
|
|
214
|
+
* one day (`multi-day`), a wall time the zone skips (`dst-gap`), or a window
|
|
215
|
+
* of the person's that no form the tool declares can read, exactly or by
|
|
216
|
+
* reading a wider one (`no-form-holds` — a look-back ends at now, so a window
|
|
217
|
+
* still running is out of its reach, and a covering look-back wider than
|
|
218
|
+
* `maxRange` is one the tool will not read). The tool's own rule never stands
|
|
219
|
+
* in for the person's window: its default would read a time nobody asked about.
|
|
181
220
|
*/
|
|
182
|
-
export type TimeRefusal = PeriodFactProblem | 'multi-day' | 'dst-gap';
|
|
221
|
+
export type TimeRefusal = PeriodFactProblem | 'multi-day' | 'dst-gap' | 'no-form-holds';
|
|
183
222
|
export declare const TIME_REFUSALS: readonly TimeRefusal[];
|
|
184
223
|
export {};
|