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
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* Pattern: Strategy behind the `TimeReader` port (`../reader.ts`). It
|
|
7
7
|
* TOKENIZES only: it returns the parts it sees and the verbatim
|
|
8
8
|
* quote. It never resolves an instant, never applies a date order,
|
|
9
|
-
* never maps a zone abbreviation
|
|
9
|
+
* never maps a zone token (an abbreviation, a place) to a zone and
|
|
10
|
+
* never refuses a future date —
|
|
10
11
|
* all of that is `resolve.ts`'s, the policy's or the ask's.
|
|
11
12
|
* Role: core/ leaf (the time layer). Imports only the port's types. Armed
|
|
12
13
|
* by the app: `.time({ reader: englishTimeReader() })` — there is no
|
|
@@ -17,25 +18,28 @@
|
|
|
17
18
|
*
|
|
18
19
|
* | Phrase | Example | Parts |
|
|
19
20
|
* |--------|---------|-------|
|
|
20
|
-
* | an ISO date or instant | `2026-10-09`, `2026-10-09T08:00-07:00` | `date: fixed`, `wall
|
|
21
|
+
* | an ISO date or instant | `2026-10-09`, `2026-10-09T08:00-07:00` | `date: fixed`, `wall` (marked `clock: '24h'` — never also pm), `zoneToken` |
|
|
21
22
|
* | a numeric date | `10/09/26`, `10/9` | `date: numeric` — the ORDER is not decided here |
|
|
22
23
|
* | a clock time | `8 AM`, `8:40`, `20:40`, `8:40 p.m.` | `wall` (a bare `8` is a time only as a range's first side: `8 to 9 AM`) |
|
|
23
|
-
* | a range between two of the above | `8 AM to 8:40 AM`, `08:00–08:40`, `between 8 and 9 AM` | `rangeOf` (a day or zone said once for both sides is the whole mention's) |
|
|
24
|
-
* | a zone after a time
|
|
24
|
+
* | a range between two of the above | `8 AM to 8:40 AM`, `08:00–08:40`, `between 8 and 9 AM`, `today between 1 pm and 2 pm` | `rangeOf` (a day or zone said once for both sides is the whole mention's) |
|
|
25
|
+
* | a zone after a time, a date or a day word | `America/Los_Angeles`, `UTC-07:00`, `London time`, `PST` | `zoneToken`, as written — `resolve.ts` maps it (a place the tz database names once; an abbreviation only through the app's map; else ASKED) |
|
|
26
|
+
* | a named-month date | `11 September`, `Sept 29`, `September 29, 2026`, `the 29th of Sep` | `date: fixed` — no `year` unless written (the policy's or the person's, as for `10/9`) |
|
|
25
27
|
* | a day word | today, yesterday, tomorrow | `relative: { unit: 'day', offset }` |
|
|
26
|
-
* | a relative span from now | last 40 minutes, past 2 hours, the last hour, the past week | `relative: { unit, count }` — a look-back in minutes, hours, days or weeks |
|
|
28
|
+
* | a relative span from now | last 40 minutes, past 2 hours, last 24h, past 6h, the last hour, the past week | `relative: { unit, count }` — a look-back in minutes, hours, days or weeks, spelled out or compact (`m`, `h`, `d`, `w`) |
|
|
27
29
|
*
|
|
28
30
|
* ## What it says "unreadable" for — never a partial reading
|
|
29
31
|
*
|
|
30
|
-
* Parts of the day (`yesterday morning`, `tonight`, `noon`
|
|
31
|
-
*
|
|
32
|
-
* `
|
|
33
|
-
*
|
|
32
|
+
* Parts of the day (`yesterday morning`, `tonight`, `noon` — a greeting, `Good morning`, is
|
|
33
|
+
* no time and reads no mention), calendar spans
|
|
34
|
+
* (`last week`, `this month`), week days and a month named alone (`Friday`,
|
|
35
|
+
* `in September`), `N hours ago`, spans in words (`last two hours`), in a unit it
|
|
36
|
+
* does not read (`last 30 seconds`, `last 30s`, `last 3 months`) or said with `previous`
|
|
34
37
|
* (`previous 7 days` — often relative to another window), a look-ahead (`next 2 hours`), an
|
|
35
38
|
* ordinal day (`the 9th`), `8 o'clock`, and any v1 phrase a modifier changes
|
|
36
39
|
* (`since 8 AM`, `before yesterday`, `around 8:40`, `earlier today`,
|
|
37
|
-
* `8 AM to now`, `past 8 PM`, `8 AM-ish`, `from 3 PM yesterday` with no `to`)
|
|
38
|
-
*
|
|
40
|
+
* `8 AM to now`, `past 8 PM`, `8 AM-ish`, `from 3 PM yesterday` with no `to`), a
|
|
41
|
+
* bare first side whose far side says no meridiem (`8 to 9:30` — `9:30` alone
|
|
42
|
+
* would drop the start) and a meridiem the number contradicts (`13:00 PM`). Such a phrase is ONE mention
|
|
39
43
|
* with `problem: 'unreadable'`, quoting the whole phrase: reading `yesterday`
|
|
40
44
|
* out of `yesterday morning` would silently widen what the person said.
|
|
41
45
|
*
|
|
@@ -74,7 +78,7 @@ import { type TimeReader } from '../reader.js';
|
|
|
74
78
|
/** The reader's recorded identity — on every `time-reading` row with its version. */
|
|
75
79
|
export declare const ENGLISH_TIME_READER_ID = "agentfootprint/english";
|
|
76
80
|
/** Raised whenever what the reader returns for some text changes. */
|
|
77
|
-
export declare const ENGLISH_TIME_READER_VERSION = "1.
|
|
81
|
+
export declare const ENGLISH_TIME_READER_VERSION = "1.2.0";
|
|
78
82
|
/** Options for {@link englishTimeReader}. */
|
|
79
83
|
export interface EnglishTimeReaderOptions {
|
|
80
84
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"english.d.ts","sourceRoot":"","sources":["../../../../../src/core/time/readers/english.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"english.d.ts","sourceRoot":"","sources":["../../../../../src/core/time/readers/english.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AAEH,OAAO,EAML,KAAK,UAAU,EAIhB,MAAM,cAAc,CAAC;AAItB,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAC/D,qEAAqE;AACrE,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAsoBnD,6CAA6C;AAC7C,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,UAAU,CAQpF"}
|
|
@@ -38,9 +38,13 @@ export interface TimeAsk {
|
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* The ask a `time-reading` row needs, or `undefined` when its reading is
|
|
41
|
-
* settled (`only`, `policy`) or
|
|
42
|
-
*
|
|
43
|
-
*
|
|
41
|
+
* settled (`only`, `policy`) or is no person's words (a refused mention).
|
|
42
|
+
* Words the library holds NO reading of (`none`: unreadable, no candidate)
|
|
43
|
+
* are asked too — which time the person meant, free entry, nothing
|
|
44
|
+
* pre-filled (`ask.which`, `format: 'time-range'`): the person wrote a time,
|
|
45
|
+
* and a tool's default never stands in for it. `messages` is the whole
|
|
46
|
+
* catalog (the caller composes the app's overrides over
|
|
47
|
+
* `defaultTimeAskMessages`); `id` names the field.
|
|
44
48
|
*/
|
|
45
49
|
export declare function timeAskOf(row: TimeReadingRow, messages: TimeAskMessages, id?: string): TimeAsk | undefined;
|
|
46
50
|
//# sourceMappingURL=readingAsk.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readingAsk.d.ts","sourceRoot":"","sources":["../../../../src/core/time/readingAsk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAuB,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"readingAsk.d.ts","sourceRoot":"","sources":["../../../../src/core/time/readingAsk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAuB,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAMhD,uGAAuG;AACvG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,kEAAkE;AAClE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAWD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,eAAe,EACzB,EAAE,SAAS,GACV,OAAO,GAAG,SAAS,CAwDrB"}
|
|
@@ -25,22 +25,31 @@
|
|
|
25
25
|
* | a numeric date of two fields `10/09` | `MDY` and `DMY`, each for the clock's year and the one before |
|
|
26
26
|
* | a date with no year | the clock's year (`current`) and the one before (`previous`) |
|
|
27
27
|
* | a two-digit year `26` | the clock's century, noted `century-implied` |
|
|
28
|
-
* | a clock time with no meridiem, hour 1–12 (`8:40`) | am and pm |
|
|
28
|
+
* | a clock time with no meridiem, hour 1–12 (`8:40`) | am and pm — one when the form is a 24-hour clock (`clock: '24h'`, an ISO instant) |
|
|
29
29
|
* | a wall time the clocks go back through (`01:30`) | both instants, each noted `dst-overlap` |
|
|
30
30
|
* | a wall time the clocks skip (`02:30`) | both readings Temporal names, each noted `dst-gap` |
|
|
31
31
|
* | a day word (`{ day, offset: -1 }`) | the calendar day in the zone, anchored on the clock |
|
|
32
32
|
* | a span (`{ minute, count: 40 }`) | a look-back until the clock's `now` |
|
|
33
|
-
* | a range | one per combination of its sides that agree on date order and
|
|
33
|
+
* | a range | one per combination of its sides that agree on date order, year and abbreviation reading, `from` before `to`; a first side with no meridiem takes the second's (`8 to 9 PM` → 8 PM) unless that runs backwards (`11 to 1 PM` → 11 AM) |
|
|
34
|
+
* | a place named with `time` (`London time`) | the ONE zone the tz database has for it (`zone.ts` · `zoneOfPlace`), noted `zone-read`; none or several → the zone is asked |
|
|
35
|
+
* | an abbreviation in the app's map (`PST`) | its zone's reading AND its literal offset's, when they name different windows — tagged `abbreviation`, noted `zone-read` |
|
|
34
36
|
*
|
|
35
37
|
* The fixed laws: a time is read to the END OF ITS GRAIN ("to 8:40" is
|
|
36
|
-
* `[08:00, 08:41)`,
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
38
|
+
* `[08:00, 08:41)`, a lone "9 AM" is `[09:00, 10:00)`, a day ends at the next
|
|
39
|
+
* midnight — each noted `end-of-grain`) EXCEPT a range end said as an
|
|
40
|
+
* o'clock hour, which is a boundary on the clock face and ends AT that
|
|
41
|
+
* instant ("8 AM to 9 AM" is `[08:00, 09:00)`, no note — `endOf`); whether
|
|
42
|
+
* an end was widened is asked of `widenedGrain`, never of `grain`. A day
|
|
43
|
+
* starts at its first instant (Temporal's `startOfDay`: a midnight the
|
|
44
|
+
* clocks skip starts the day at the first wall time that exists); a zone the
|
|
45
|
+
* person did not say is the clock's; a zone they said is an IANA name, a
|
|
46
|
+
* numeric offset, a place named with `time` that the tz database names
|
|
47
|
+
* exactly once, or an abbreviation in the APP's map (`policy.abbreviations`)
|
|
48
|
+
* — any other token (`PST` with no map, `India time`, `Pacific time`)
|
|
49
|
+
* resolves nothing and is ASKED (`zoneReadsOf`, the one owner). Parts v1
|
|
50
|
+
* does not resolve — a part of the day, a calendar span other than a day, a
|
|
51
|
+
* window anchored on the previous one — are named `unsupported`, never
|
|
52
|
+
* guessed.
|
|
44
53
|
*
|
|
45
54
|
* {@link chooseReading} then applies the app's policy (`dateOrder`, `year`)
|
|
46
55
|
* and names what is left: one window (`only`, or `policy` when the policy
|
|
@@ -70,12 +79,15 @@
|
|
|
70
79
|
import { type ZoneName } from './zone.js';
|
|
71
80
|
import type { TimeParts } from './reader.js';
|
|
72
81
|
import { type MentionResolution, type ReadingChoice, type ResolveClock, type TimePolicy } from './resolveRecord.js';
|
|
73
|
-
export { candidateIsWellFormed, choiceIsWellFormed, DEFAULT_TIME_POLICY, readPolicy, } from './resolveRecord.js';
|
|
74
|
-
export type { MentionResolution, OpenQuestion, ReadingChoice, ReadingTags, ResolveClock, ResolvedWindow, TimeCandidate, TimeNote, TimePart, TimePolicy, TimeWindow, } from './resolveRecord.js';
|
|
82
|
+
export { candidateIsWellFormed, choiceIsWellFormed, DEFAULT_TIME_POLICY, readPolicy, shownGrain, widenedGrain, } from './resolveRecord.js';
|
|
83
|
+
export type { MentionResolution, OpenQuestion, ReadingChoice, ReadingTags, ResolveClock, ResolvedWindow, TimeCandidate, TimeNote, TimePart, TimePolicy, TimeWindow, ZoneAbbreviation, } from './resolveRecord.js';
|
|
84
|
+
/** The policy half the resolver reads: the app's abbreviation map. */
|
|
85
|
+
type ZonePolicy = Pick<TimePolicy, 'abbreviations'>;
|
|
75
86
|
/**
|
|
76
|
-
* The parts with every zone token this layer cannot read (an abbreviation
|
|
77
|
-
*
|
|
78
|
-
* whole mention's and each range side's. A token it
|
|
87
|
+
* The parts with every zone token this layer cannot read (an abbreviation
|
|
88
|
+
* outside the app's map, `India time`) replaced by the zone the PERSON named
|
|
89
|
+
* when asked (§ 6.3) — the whole mention's and each range side's. A token it
|
|
90
|
+
* can read is kept.
|
|
79
91
|
*
|
|
80
92
|
* @example
|
|
81
93
|
* ```ts
|
|
@@ -83,16 +95,18 @@ export type { MentionResolution, OpenQuestion, ReadingChoice, ReadingTags, Resol
|
|
|
83
95
|
* // [{ wall: { h: 8, meridiem: 'am' }, zoneToken: 'America/Los_Angeles' }]
|
|
84
96
|
* ```
|
|
85
97
|
*/
|
|
86
|
-
export declare function withZoneAnswered(parses: readonly TimeParts[], zone: ZoneName): TimeParts[];
|
|
98
|
+
export declare function withZoneAnswered(parses: readonly TimeParts[], zone: ZoneName, policy?: ZonePolicy): TimeParts[];
|
|
87
99
|
/**
|
|
88
100
|
* Every candidate window of one mention's parses, resolved against the
|
|
89
101
|
* clock. A reading the person must confirm (`confirm: true` — every reading
|
|
90
102
|
* the record files, TQ29; a `model` reader's by default) carries `said: []`.
|
|
103
|
+
* `policy` is read for its abbreviation map only (`dateOrder` and `year`
|
|
104
|
+
* are {@link chooseReading}'s): absent, no abbreviation names a zone.
|
|
91
105
|
*/
|
|
92
106
|
export declare function resolveMention(parses: readonly TimeParts[], clock: ResolveClock, reader: {
|
|
93
107
|
readonly id: string;
|
|
94
108
|
readonly kind: 'rule' | 'model';
|
|
95
|
-
}, confirm?: boolean): MentionResolution;
|
|
109
|
+
}, confirm?: boolean, policy?: ZonePolicy): MentionResolution;
|
|
96
110
|
/**
|
|
97
111
|
* How one mention settles under the app's policy (§ 5.1, § 11). The policy
|
|
98
112
|
* only removes readings; it never adds one. A DST choice, a meridiem, a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../src/core/time/resolve.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../src/core/time/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AAIH,OAAO,EAUL,KAAK,QAAQ,EACd,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,aAAa,CAAC;AACvD,OAAO,EAGL,KAAK,iBAAiB,EAEtB,KAAK,aAAa,EAElB,KAAK,YAAY,EAIjB,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AA6B5B,sEAAsE;AACtE,KAAK,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AA6DpD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,IAAI,EAAE,QAAQ,EACd,MAAM,CAAC,EAAE,UAAU,GAClB,SAAS,EAAE,CAWb;AAqmBD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAChE,OAAO,GAAE,OAAiC,EAC1C,MAAM,CAAC,EAAE,UAAU,GAClB,iBAAiB,CA4BnB;AAyCD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,OAAO,CAAC,EAAE,YAAY,EACtB,OAAO,GAAE,OAA0B,GAClC,aAAa,CAsCf"}
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
* @example
|
|
18
18
|
* ```ts
|
|
19
19
|
* readPolicy({ dateOrder: 'DMY' }); // { dateOrder: 'DMY', year: 'ask' }
|
|
20
|
+
* readPolicy({ abbreviations: { PST: { zone: 'America/Los_Angeles', offset: '-08:00' } } });
|
|
21
|
+
* // { dateOrder: 'ask', year: 'ask', abbreviations: { PST: { zone: 'America/Los_Angeles', offset: '-08:00' } } }
|
|
20
22
|
* candidateIsWellFormed({ kind: 'range', range: { from: 'x', to: 'y' } }); // false
|
|
21
23
|
* ```
|
|
22
24
|
*/
|
|
@@ -39,7 +41,12 @@ export type TimeWindow = {
|
|
|
39
41
|
};
|
|
40
42
|
/** A library-written note on how a window was read. */
|
|
41
43
|
export type TimeNote =
|
|
42
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* The window's END was widened to the end of its last said grain: "to 8:40"
|
|
46
|
+
* → `08:41`, a day → the next midnight, a lone "9 AM" → `[09:00, 10:00)`.
|
|
47
|
+
* Never on a range end said as an o'clock hour ("8 AM to 9 AM" ends AT
|
|
48
|
+
* `09:00`, § 3.3). Ask {@link widenedGrain}, never `grain` alone.
|
|
49
|
+
*/
|
|
43
50
|
{
|
|
44
51
|
readonly kind: 'end-of-grain';
|
|
45
52
|
}
|
|
@@ -64,6 +71,19 @@ export type TimeNote =
|
|
|
64
71
|
| {
|
|
65
72
|
readonly kind: 'century-implied';
|
|
66
73
|
readonly century: number;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* The person named the zone in words that are no zone name (`London time`,
|
|
77
|
+
* `PST`): `token` as written, and how the library read it — the one IANA
|
|
78
|
+
* zone the place names (`place`), the app's abbreviation map's zone
|
|
79
|
+
* (`abbreviation`), or the fixed offset the abbreviation spells
|
|
80
|
+
* (`abbreviation-literal`). A proposal like every reading: the person
|
|
81
|
+
* confirms the zone with the window.
|
|
82
|
+
*/
|
|
83
|
+
| {
|
|
84
|
+
readonly kind: 'zone-read';
|
|
85
|
+
readonly token: string;
|
|
86
|
+
readonly as: 'place' | 'abbreviation' | 'abbreviation-literal';
|
|
67
87
|
};
|
|
68
88
|
/** Which reading of the PARTS produced a candidate, so a policy — or an ask — can choose among them. */
|
|
69
89
|
export interface ReadingTags {
|
|
@@ -73,6 +93,8 @@ export interface ReadingTags {
|
|
|
73
93
|
/** The same, for the `to` end of a range. */
|
|
74
94
|
readonly endMeridiem?: 'am' | 'pm';
|
|
75
95
|
readonly year?: 'said' | 'current' | 'previous';
|
|
96
|
+
/** An abbreviation in the app's map: read as its zone (`zone`) or as its literal offset (`literal`). */
|
|
97
|
+
readonly abbreviation?: 'zone' | 'literal';
|
|
76
98
|
}
|
|
77
99
|
/** A window read from words, resolved against the clock (§ 3.2). */
|
|
78
100
|
export interface ResolvedWindow {
|
|
@@ -100,12 +122,32 @@ export interface TimeCandidate extends ResolvedWindow {
|
|
|
100
122
|
/** Which of the mention's parses it came from. */
|
|
101
123
|
readonly parse: number;
|
|
102
124
|
}
|
|
103
|
-
/**
|
|
125
|
+
/**
|
|
126
|
+
* One zone abbreviation the app's people write, as data (§ 11): the zone it
|
|
127
|
+
* stands for, and the fixed offset it literally spells. `PST` in October is
|
|
128
|
+
* both `America/Los_Angeles` (−07:00, what a person on the US west coast
|
|
129
|
+
* usually means) and −08:00 (what the letters say) — so a mismatch offers
|
|
130
|
+
* BOTH readings, never corrects one into the other.
|
|
131
|
+
*/
|
|
132
|
+
export interface ZoneAbbreviation {
|
|
133
|
+
readonly zone: ZoneName;
|
|
134
|
+
/** `±HH:MM` (or `±HH`, `±HHMM`). */
|
|
135
|
+
readonly offset: string;
|
|
136
|
+
}
|
|
137
|
+
/** The v1 policy (§ 11): the switches with careful answers. */
|
|
104
138
|
export interface TimePolicy {
|
|
105
139
|
/** `'ask'`: a numeric date's readings become choices. Or the one order this app's people write. */
|
|
106
140
|
readonly dateOrder: 'ask' | 'MDY' | 'DMY' | 'YMD';
|
|
107
141
|
/** `'ask'`: a date said without a year is asked. `'current'`: the clock's year, recorded as assumed. */
|
|
108
142
|
readonly year: 'ask' | 'current';
|
|
143
|
+
/**
|
|
144
|
+
* Absent (the default): no abbreviation maps to a zone — `PST` is ASKED as
|
|
145
|
+
* a zone. Present: the abbreviations this app's people write, each read as
|
|
146
|
+
* its zone AND as its literal offset when the two disagree at the instant
|
|
147
|
+
* (both offered in the one confirmation, noted `zone-read`). An
|
|
148
|
+
* abbreviation missing from the map is still asked. No map ships.
|
|
149
|
+
*/
|
|
150
|
+
readonly abbreviations?: Readonly<Record<string, ZoneAbbreviation>>;
|
|
109
151
|
}
|
|
110
152
|
/** No silent MDY, no guessed year. */
|
|
111
153
|
export declare const DEFAULT_TIME_POLICY: TimePolicy;
|
|
@@ -122,8 +164,8 @@ export interface MentionResolution {
|
|
|
122
164
|
/** Parts v1 does not resolve, named. */
|
|
123
165
|
readonly unsupported: readonly string[];
|
|
124
166
|
}
|
|
125
|
-
/** A question only the person can settle. */
|
|
126
|
-
export type OpenQuestion = 'date-order' | 'year' | 'meridiem' | 'dst' | 'zone' | 'parse' | 'confirm';
|
|
167
|
+
/** A question only the person can settle. `abbreviation`: the app's map's zone, or the letters' offset. */
|
|
168
|
+
export type OpenQuestion = 'date-order' | 'year' | 'meridiem' | 'dst' | 'zone' | 'abbreviation' | 'parse' | 'confirm';
|
|
127
169
|
/** How a mention's reading settled — recorded on its `time-reading` row. */
|
|
128
170
|
export type ReadingChoice =
|
|
129
171
|
/** Every candidate left names the same window. */
|
|
@@ -147,11 +189,54 @@ export type ReadingChoice =
|
|
|
147
189
|
readonly by: 'none';
|
|
148
190
|
readonly why: 'unreadable' | 'unsupported' | 'no-candidate' | 'excluded-by-policy';
|
|
149
191
|
};
|
|
192
|
+
/**
|
|
193
|
+
* A numeric offset as written (`-07`, `-0700`, `-07:00`) → minutes east of
|
|
194
|
+
* UTC and its `±HH:MM` spelling, or `undefined`. The one reader of an offset
|
|
195
|
+
* token: `resolve.ts` · `zoneReadsOf` (a said offset) and {@link readPolicy} (an
|
|
196
|
+
* abbreviation's literal offset) both ask it.
|
|
197
|
+
*/
|
|
198
|
+
export declare function offsetOfToken(token: string): {
|
|
199
|
+
readonly minutes: number;
|
|
200
|
+
readonly spelled: string;
|
|
201
|
+
} | undefined;
|
|
150
202
|
/**
|
|
151
203
|
* The app's `policy`, read with the v1 defaults filled in — or a problem in
|
|
152
|
-
* words (an unknown key, a value outside its switch).
|
|
204
|
+
* words (an unknown key, a value outside its switch). `abbreviations` is kept
|
|
205
|
+
* only when given, so a policy without it reads byte-identical to v1's.
|
|
153
206
|
*/
|
|
154
207
|
export declare function readPolicy(value: unknown): TimePolicy | string;
|
|
208
|
+
/**
|
|
209
|
+
* The grain a candidate's END was widened to, or `undefined` when its `to`
|
|
210
|
+
* is exact — the one answer to "was the end widened?" (§ 3.3). A label
|
|
211
|
+
* renders the end as said only then (`readingAsk.ts` · `timeAskOf`), and
|
|
212
|
+
* the said end is `to − 1 grain` only then (`forms.ts` · `saidEndMs`).
|
|
213
|
+
* `grain` alone is not the answer: "8 AM to 9 AM" is grain `hour` and ends
|
|
214
|
+
* AT `09:00`; a look-back is grain `hour` and ends at the clock's now.
|
|
215
|
+
*
|
|
216
|
+
* @example
|
|
217
|
+
* ```ts
|
|
218
|
+
* widenedGrain({ grain: 'minute', notes: [{ kind: 'end-of-grain' }] }); // 'minute' — [08:00, 08:41)
|
|
219
|
+
* widenedGrain({ grain: 'hour', notes: [] }); // undefined — [08:00, 09:00)
|
|
220
|
+
* ```
|
|
221
|
+
*/
|
|
222
|
+
export declare function widenedGrain(candidate: Pick<TimeCandidate, 'notes' | 'grain'>): Grain | undefined;
|
|
223
|
+
/**
|
|
224
|
+
* The grain a candidate's LABEL shows its end at (`readingAsk.ts` ·
|
|
225
|
+
* `timeAskOf`), or `undefined` to show the range as it is. A widened end is
|
|
226
|
+
* shown as said ({@link widenedGrain}). A look-back is the other kept-inside
|
|
227
|
+
* end: `[now − L, now + 1 ms)` holds the clock's now, so its label ends AT now,
|
|
228
|
+
* at the grain the person counted in — "last 40 minutes" is `8:00 – 8:40 AM`,
|
|
229
|
+
* never `8:40:00.001`. Only the label asks this: a look-back's end was not
|
|
230
|
+
* widened to a grain, so the said end (`forms.ts` · `saidEndMs`) keeps asking
|
|
231
|
+
* {@link widenedGrain}.
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* ```ts
|
|
235
|
+
* shownGrain({ window: { kind: 'lookback', duration: '40m' }, grain: 'minute', notes: [] }); // 'minute'
|
|
236
|
+
* shownGrain({ window: { kind: 'range', range }, grain: 'hour', notes: [] }); // undefined — "8 AM to 9 AM"
|
|
237
|
+
* ```
|
|
238
|
+
*/
|
|
239
|
+
export declare function shownGrain(candidate: Pick<TimeCandidate, 'notes' | 'grain' | 'window'>): Grain | undefined;
|
|
155
240
|
/** The parts a candidate can name, in the order a record lists them. */
|
|
156
241
|
export declare const PART_ORDER: readonly TimePart[];
|
|
157
242
|
/** Whether `value` is a candidate this module would have written. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRecord.d.ts","sourceRoot":"","sources":["../../../../src/core/time/resolveRecord.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resolveRecord.d.ts","sourceRoot":"","sources":["../../../../src/core/time/resolveRecord.ts"],"names":[],"mappings":"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"}
|
|
@@ -161,7 +161,7 @@ export interface PersonWindow extends TimeRange {
|
|
|
161
161
|
}
|
|
162
162
|
/**
|
|
163
163
|
* Which window one call to a tool that declares period forms carries (time
|
|
164
|
-
* design § 7.3) — one row per such call, filed by the inputs layer beside the
|
|
164
|
+
* design § 7.3) — one row per such call (two when the time ask filled it, below), filed by the inputs layer beside the
|
|
165
165
|
* call's `argument` rows, before the call dispatches.
|
|
166
166
|
*
|
|
167
167
|
* | `how` | Means |
|
|
@@ -171,8 +171,8 @@ export interface PersonWindow extends TimeRange {
|
|
|
171
171
|
* | `model-chosen` | the sent window (`asked`) differs from the person's (`person`, when one window is theirs): it ran as sent (the v1 law) |
|
|
172
172
|
* | `model` | the sent window, and no window of the person's this turn |
|
|
173
173
|
* | `unread` | a period argument was sent and no form reads the call back as a range |
|
|
174
|
-
* | `not-filled` | the period was left out and nothing was filled (`why`) — the tool's own rule applied |
|
|
175
|
-
* | `refused` | refused before dispatch (`refused`: a fact the window breaks, `multi-day`, `dst-gap` with its `argument
|
|
174
|
+
* | `not-filled` | the period was left out and nothing was filled (`why`) — the tool's own rule applied (`no-exact-form` is no longer filed: a window no form holds is refused, `no-form-holds`; the word is kept so an older record reads) |
|
|
175
|
+
* | `refused` | refused before dispatch (`refused`: a fact the window breaks, `multi-day`, `no-form-holds`, `dst-gap` with its `argument`; no range at all when an open reading was refused in every reading) — the call did not run |
|
|
176
176
|
*
|
|
177
177
|
* `asked` is the half-open range the call asks for: the person's on a fill,
|
|
178
178
|
* the sent value read back otherwise — what `ctx.time.asked` hands the tool.
|
|
@@ -181,6 +181,12 @@ export interface PersonWindow extends TimeRange {
|
|
|
181
181
|
* not asked — `period-differs-from-asked`) or `trimmedByTool` (the tool
|
|
182
182
|
* declares `filtersToAsked`). `partlyBeyondRetention` marks a window that
|
|
183
183
|
* starts before the source's oldest data and ends after it: it dispatched.
|
|
184
|
+
*
|
|
185
|
+
* A call the time ask filled (the person confirmed or gave the window when
|
|
186
|
+
* asked what their words meant) has TWO rows: `not-filled` / `open-reading`
|
|
187
|
+
* before the ask, then `filled` with `person.source: 'answered'` when the
|
|
188
|
+
* answer is bound (`arguments/ask.ts` · `bindAnswer`). The LATEST row of a
|
|
189
|
+
* call is the window it runs with (`callWindowOfCall`).
|
|
184
190
|
*/
|
|
185
191
|
export interface CallWindowRow {
|
|
186
192
|
readonly kind: 'call-window';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../../../src/core/time/rows.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../../../src/core/time/rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowsBuild.d.ts","sourceRoot":"","sources":["../../../../src/core/time/rowsBuild.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,WAAW,CAAC;AACxD,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,KAAK,EACV,SAAS,EACT,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,QAAQ,EAER,eAAe,EACf,cAAc,EACf,MAAM,WAAW,CAAC;AAInB,oCAAoC;AACpC,wBAAgB,QAAQ,CACtB,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACzD,MAAM,CAAC,EAAE,SAAS,GACjB,QAAQ,CAaV;AAED;;;GAGG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAChE,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACzD,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,SAAS,GAChB,OAAO,CAUT;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,QAAQ,EACd,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxD,gBAAgB,GAAG,SAAS,CAc9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACpE,GAAG,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"rowsBuild.d.ts","sourceRoot":"","sources":["../../../../src/core/time/rowsBuild.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,WAAW,CAAC;AACxD,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,KAAK,EACV,SAAS,EACT,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,QAAQ,EAER,eAAe,EACf,cAAc,EACf,MAAM,WAAW,CAAC;AAInB,oCAAoC;AACpC,wBAAgB,QAAQ,CACtB,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACzD,MAAM,CAAC,EAAE,SAAS,GACjB,QAAQ,CAaV;AAED;;;GAGG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAChE,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACzD,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,SAAS,GAChB,OAAO,CAUT;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,QAAQ,EACd,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxD,gBAAgB,GAAG,SAAS,CAc9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACpE,GAAG,cAAc,EAAE,CA8BnB;AASD,kFAAkF;AAClF,wBAAgB,aAAa,CAC3B,IAAI,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAChE,QAAQ,EAAE,UAAU,EACpB,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxD,aAAa,CAgEf"}
|
|
@@ -23,9 +23,11 @@
|
|
|
23
23
|
* // { now: '2026-10-09T15:40:00Z', windows: [{ source: 'answered', quote: 'yesterday', … }] }
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
|
+
import type { WindowToConvert } from './convert.js';
|
|
26
27
|
import type { DurationText } from './duration.js';
|
|
27
28
|
import type { InstantText } from './instant.js';
|
|
28
29
|
import { type TimeRange } from './range.js';
|
|
30
|
+
import type { TimeRefusal } from './periodForm.js';
|
|
29
31
|
import { type ClockRow, type TimeAnswerRow, type TimeReadingRow } from './rows.js';
|
|
30
32
|
import type { ZoneName } from './zone.js';
|
|
31
33
|
/**
|
|
@@ -57,26 +59,69 @@ export interface TurnWindows {
|
|
|
57
59
|
/** Every mention with a quote, plus the `control` window — the "exactly one" count. */
|
|
58
60
|
readonly mentions: number;
|
|
59
61
|
/**
|
|
60
|
-
* Per mention still OPEN
|
|
61
|
-
* readings left — what a tool's facts can already rule out
|
|
62
|
-
* reading outside a tool's `direction` → nothing is asked, the
|
|
63
|
-
* refused).
|
|
62
|
+
* Per mention still OPEN for the person (they have not answered it), the
|
|
63
|
+
* ranges of the readings left — what a tool's facts can already rule out
|
|
64
|
+
* (§ 6.3: every reading outside a tool's `direction` → nothing is asked, the
|
|
65
|
+
* call is refused). EMPTY for a mention the library holds no reading of yet
|
|
66
|
+
* — a zone to name first (`open` on `zone`), or words it could not read
|
|
67
|
+
* (`by: 'none'`): nothing to rule out, and the person is still asked
|
|
68
|
+
* (`isOpenForPerson`). Absent when no mention is open.
|
|
64
69
|
*/
|
|
65
70
|
readonly open?: readonly (readonly TimeRange[])[];
|
|
66
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* The look-back the library OFFERED for a reading, when the person's answer is
|
|
74
|
+
* exactly it (`last 2 hours` confirmed as offered) — the window then stays a
|
|
75
|
+
* look-back from now. `undefined` for any other answer (an edit, a range).
|
|
76
|
+
*/
|
|
77
|
+
export declare function offeredLookback(row: TimeReadingRow | undefined, range: TimeRange): DurationText | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* What a turn window hands the conversion — its range and, when it was said
|
|
80
|
+
* (and answered) as a look-back, that look-back. THE one input every door
|
|
81
|
+
* that writes a window into a tool's arguments builds (the fill, the time
|
|
82
|
+
* ask's answer, the served line), so the value served to the model and the
|
|
83
|
+
* value the tool is handed are one spelling (time follow-ups, packet "gaps":
|
|
84
|
+
* the served line spelled `15:59:59Z` where the ask's fill handed `16:00:00Z`).
|
|
85
|
+
*/
|
|
86
|
+
export declare function windowToConvert(window: {
|
|
87
|
+
readonly range: TimeRange;
|
|
88
|
+
readonly lookback?: DurationText;
|
|
89
|
+
}): WindowToConvert;
|
|
90
|
+
/**
|
|
91
|
+
* Whether a mention the person has not answered still waits on THEM — the
|
|
92
|
+
* one owner of "a time the person wrote that the library holds no settled
|
|
93
|
+
* window for" (the lazy ask, the served line's pending half and the window
|
|
94
|
+
* plan all ask it): a reading still `open` (readings to confirm, a zone to
|
|
95
|
+
* name), and words the library holds NO reading of (`by: 'none'` — words the
|
|
96
|
+
* reader could not read, or no candidate). The person said a time either way,
|
|
97
|
+
* so a tool's default never stands in for it (time follow-ups, packet "gaps":
|
|
98
|
+
* an unreadable phrase to a tool whose rule assumed its period ran that
|
|
99
|
+
* default silently). A `model` reading's one window is not open: it fills as
|
|
100
|
+
* a reading. A refused mention (its quote was not in the text) is not the
|
|
101
|
+
* person's words.
|
|
102
|
+
*/
|
|
103
|
+
export declare function isOpenForPerson(row: TimeReadingRow): boolean;
|
|
67
104
|
/**
|
|
68
105
|
* This turn's windows, read from the record: per mention, the window the
|
|
69
106
|
* person settled in the time ask (`answered`, its latest `time-answer` row),
|
|
70
107
|
* else a `model` reader's one window waiting for confirmation
|
|
71
108
|
* (`derived-from-reading`); and the clock's `control` window. A `rule`
|
|
72
|
-
* reading the person has not answered
|
|
109
|
+
* reading the person has not answered, and words the library could not read,
|
|
110
|
+
* are counted and are OPEN ({@link isOpenForPerson}).
|
|
73
111
|
*/
|
|
74
112
|
export declare function turnWindowsOf(readings: readonly TimeReadingRow[], clock: ClockRow | undefined, answers?: readonly TimeAnswerRow[]): TurnWindows;
|
|
75
113
|
/** The windows of the person's words this turn, with the turn's clock — what the served sentence names. */
|
|
76
114
|
export interface ReaderWindows {
|
|
77
115
|
readonly now: InstantText;
|
|
78
|
-
/** Each settled mention's window (`answered`, or a `model`
|
|
116
|
+
/** Each settled mention's window (`answered`, or a `model` reader's), in mention order — never the `control` window. */
|
|
79
117
|
readonly windows: readonly TurnWindow[];
|
|
118
|
+
/**
|
|
119
|
+
* The window the person set in the app's time control this turn (the run's
|
|
120
|
+
* `time.window`, recorded on the `clock` row, `source: 'control'`) — served
|
|
121
|
+
* on its own sentence, so an app never writes its own prompt text for it.
|
|
122
|
+
* Absent when the run set none.
|
|
123
|
+
*/
|
|
124
|
+
readonly control?: TurnWindow;
|
|
80
125
|
/**
|
|
81
126
|
* The quote of each mention the library holds only as a PROPOSAL — a `rule`
|
|
82
127
|
* reading the person has not answered yet (its choice still `open`: a zone
|
|
@@ -86,6 +131,21 @@ export interface ReaderWindows {
|
|
|
86
131
|
* `bench/time/`). Absent when none is pending.
|
|
87
132
|
*/
|
|
88
133
|
readonly pending?: readonly string[];
|
|
134
|
+
/**
|
|
135
|
+
* The quotes in `pending` the library holds NO reading of yet: the words
|
|
136
|
+
* name a zone it cannot resolve (an abbreviation outside the app's map), so
|
|
137
|
+
* the time ask asks for the zone and pre-fills nothing (the choice `open`
|
|
138
|
+
* on `zone`, no candidates). The served line says so instead of promising a
|
|
139
|
+
* form that shows a reading (T6b paid run: `field-pst`). Absent when none.
|
|
140
|
+
*/
|
|
141
|
+
readonly pendingZones?: readonly string[];
|
|
142
|
+
/**
|
|
143
|
+
* The quotes in `pending` the library could not READ at all (`by: 'none'`:
|
|
144
|
+
* words outside the reader's set, or no candidate): the time ask asks the
|
|
145
|
+
* person which time they meant, with nothing pre-filled. The served line
|
|
146
|
+
* says so instead of promising a reading. Absent when none.
|
|
147
|
+
*/
|
|
148
|
+
readonly pendingUnread?: readonly string[];
|
|
89
149
|
/**
|
|
90
150
|
* A mention is pending AND a call of this turn already ran on a window the
|
|
91
151
|
* model wrote into it (a `call-window` row `how: 'model'` — § 7.3: it runs
|
|
@@ -94,21 +154,42 @@ export interface ReaderWindows {
|
|
|
94
154
|
* otherwise.
|
|
95
155
|
*/
|
|
96
156
|
readonly ranUnconfirmed?: true;
|
|
157
|
+
/**
|
|
158
|
+
* The person's windows a tool REFUSED this turn, before dispatch (a
|
|
159
|
+
* `call-window` row `how: 'refused'`): the quote, the tool and the reason
|
|
160
|
+
* code — a window of the person's the call carried (`person.mention`), or
|
|
161
|
+
* the turn's one open reading, refused in every reading (a row with no
|
|
162
|
+
* range). The served line turns each into the conclusion an answer states,
|
|
163
|
+
* so a refused window is never asked for again as though a call could read
|
|
164
|
+
* it. A window the model wrote is not the person's and is not named. Absent
|
|
165
|
+
* when none was refused.
|
|
166
|
+
*/
|
|
167
|
+
readonly refused?: readonly RefusedWindow[];
|
|
168
|
+
}
|
|
169
|
+
/** One window of the person's a tool refused before dispatch — what the served line concludes. */
|
|
170
|
+
export interface RefusedWindow {
|
|
171
|
+
readonly quote: string;
|
|
172
|
+
readonly toolName: string;
|
|
173
|
+
readonly refused: TimeRefusal;
|
|
174
|
+
/** On a `dst-gap`: the argument whose wall time the zone skips. */
|
|
175
|
+
readonly argument?: string;
|
|
97
176
|
}
|
|
98
177
|
/**
|
|
99
|
-
* The quotes of this turn's mentions still waiting on the person
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
178
|
+
* The quotes of this turn's mentions still waiting on the person
|
|
179
|
+
* ({@link isOpenForPerson}), not answered in the time ask: a reading to
|
|
180
|
+
* confirm, a zone to name, or words the library could not read (asked with
|
|
181
|
+
* nothing pre-filled). A `model` reading's one window is served as a reading;
|
|
182
|
+
* a refused mention is not the person's words.
|
|
103
183
|
*/
|
|
104
184
|
export declare function pendingQuotesOf(readings: readonly TimeReadingRow[], answers?: readonly TimeAnswerRow[]): readonly string[];
|
|
105
185
|
/**
|
|
106
186
|
* The latest turn's windows of the person's words, read off the ledger (its
|
|
107
187
|
* last `clock` row and that turn's `time-reading` and `time-answer` rows) —
|
|
108
|
-
* `undefined` when the turn has no clock, no settled mention
|
|
109
|
-
*
|
|
110
|
-
* answered it in the time ask; before that its quote is
|
|
111
|
-
* `control` window is
|
|
188
|
+
* `undefined` when the turn has no clock, no settled mention, none pending
|
|
189
|
+
* and no `control` window. A `rule` reading is named as a window only once
|
|
190
|
+
* the person answered it in the time ask; before that its quote is
|
|
191
|
+
* `pending`. The `control` window is no reading: it rides `control`, never
|
|
192
|
+
* `windows`.
|
|
112
193
|
*/
|
|
113
194
|
export declare function readerWindowsOf(ledger: readonly unknown[] | undefined): ReaderWindows | undefined;
|
|
114
195
|
//# sourceMappingURL=windows.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../../../../src/core/time/windows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,
|
|
1
|
+
{"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../../../../src/core/time/windows.ts"],"names":[],"mappings":"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"}
|