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
|
@@ -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
|
|
@@ -69,34 +78,69 @@
|
|
|
69
78
|
*/
|
|
70
79
|
import { daysInMonth, instantOf, spellInstant, utcWallMs } from './instant.js';
|
|
71
80
|
import { isTimeRange, lookbackRange } from './range.js';
|
|
72
|
-
import { isWallTime, isZoneName, offsetAt, readWall, wallAt, wallToInstant, } from './zone.js';
|
|
73
|
-
import { PART_ORDER, } from './resolveRecord.js';
|
|
74
|
-
export { candidateIsWellFormed, choiceIsWellFormed, DEFAULT_TIME_POLICY, readPolicy, } from './resolveRecord.js';
|
|
75
|
-
/**
|
|
76
|
-
const
|
|
77
|
-
|
|
81
|
+
import { fixedOffsetZone, isWallTime, isZoneName, offsetAt, readWall, wallAt, wallToInstant, zoneOfPlace, } from './zone.js';
|
|
82
|
+
import { offsetOfToken, PART_ORDER, } from './resolveRecord.js';
|
|
83
|
+
export { candidateIsWellFormed, choiceIsWellFormed, DEFAULT_TIME_POLICY, readPolicy, shownGrain, widenedGrain, } from './resolveRecord.js';
|
|
84
|
+
/** `London time`, `New York time` — a place named with the word `time` (the reader keeps it as written). */
|
|
85
|
+
const PLACE_TIME = /^(.+?)\s+time$/i;
|
|
86
|
+
/**
|
|
87
|
+
* The app's entry for an abbreviation token — looked up by OWN key only. A
|
|
88
|
+
* token is whatever a reader returned (a `model` or custom reader may pass
|
|
89
|
+
* `constructor` or `__proto__` straight from the message), and the map is a
|
|
90
|
+
* plain object, so an inherited member must read as "not in the map" — the
|
|
91
|
+
* zone is then asked, never thrown on.
|
|
92
|
+
*/
|
|
93
|
+
function abbreviationOf(policy, token) {
|
|
94
|
+
const map = policy?.abbreviations;
|
|
95
|
+
return map !== undefined && Object.prototype.hasOwnProperty.call(map, token)
|
|
96
|
+
? map[token]
|
|
97
|
+
: undefined;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Every zone reading of a token — one, or TWO for an abbreviation in the
|
|
101
|
+
* app's map (its zone, then its literal offset) — or `undefined` when the
|
|
102
|
+
* token names no zone this layer can read, so the zone is ASKED. The one
|
|
103
|
+
* owner of which words become a zone (§ 5.3): an IANA name and a numeric
|
|
104
|
+
* offset as said; a place named with `time` only when the tz database has
|
|
105
|
+
* exactly one zone for it (`zone.ts` · `zoneOfPlace`); an abbreviation only
|
|
106
|
+
* through the app's map. Nothing else — never a hand word list.
|
|
107
|
+
*/
|
|
108
|
+
function zoneReadsOf(token, clockZone, policy) {
|
|
78
109
|
if (token === undefined)
|
|
79
|
-
return { kind: 'iana', zone: clockZone, said: false };
|
|
110
|
+
return [{ kind: 'iana', zone: clockZone, said: false }];
|
|
80
111
|
if (isZoneName(token))
|
|
81
|
-
return { kind: 'iana', zone: token, said: true };
|
|
112
|
+
return [{ kind: 'iana', zone: token, said: true }];
|
|
82
113
|
if (token === 'Z')
|
|
83
|
-
return { kind: 'offset', minutes: 0, spelled: 'Z' };
|
|
84
|
-
const
|
|
85
|
-
if (
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
114
|
+
return [{ kind: 'offset', minutes: 0, spelled: 'Z' }];
|
|
115
|
+
const offset = offsetOfToken(token);
|
|
116
|
+
if (offset !== undefined)
|
|
117
|
+
return [{ kind: 'offset', ...offset }];
|
|
118
|
+
const mapped = abbreviationOf(policy, token);
|
|
119
|
+
if (mapped !== undefined) {
|
|
120
|
+
const literal = offsetOfToken(mapped.offset);
|
|
121
|
+
const reads = [
|
|
122
|
+
{ kind: 'iana', zone: mapped.zone, said: true, via: { token, as: 'abbreviation' } },
|
|
123
|
+
];
|
|
124
|
+
if (literal !== undefined) {
|
|
125
|
+
const via = { token, as: 'abbreviation-literal' };
|
|
126
|
+
const fixed = fixedOffsetZone(literal.minutes);
|
|
127
|
+
reads.push(fixed !== undefined
|
|
128
|
+
? { kind: 'iana', zone: fixed, said: true, via }
|
|
129
|
+
: { kind: 'offset', ...literal, via, shownIn: mapped.zone });
|
|
92
130
|
}
|
|
131
|
+
return reads;
|
|
93
132
|
}
|
|
94
|
-
|
|
133
|
+
const place = PLACE_TIME.exec(token);
|
|
134
|
+
const zone = place === null ? undefined : zoneOfPlace(place[1]);
|
|
135
|
+
if (zone !== undefined)
|
|
136
|
+
return [{ kind: 'iana', zone, said: true, via: { token, as: 'place' } }];
|
|
137
|
+
return undefined;
|
|
95
138
|
}
|
|
96
139
|
/**
|
|
97
|
-
* The parts with every zone token this layer cannot read (an abbreviation
|
|
98
|
-
*
|
|
99
|
-
* whole mention's and each range side's. A token it
|
|
140
|
+
* The parts with every zone token this layer cannot read (an abbreviation
|
|
141
|
+
* outside the app's map, `India time`) replaced by the zone the PERSON named
|
|
142
|
+
* when asked (§ 6.3) — the whole mention's and each range side's. A token it
|
|
143
|
+
* can read is kept.
|
|
100
144
|
*
|
|
101
145
|
* @example
|
|
102
146
|
* ```ts
|
|
@@ -104,8 +148,8 @@ function zoneOf(token, clockZone) {
|
|
|
104
148
|
* // [{ wall: { h: 8, meridiem: 'am' }, zoneToken: 'America/Los_Angeles' }]
|
|
105
149
|
* ```
|
|
106
150
|
*/
|
|
107
|
-
export function withZoneAnswered(parses, zone) {
|
|
108
|
-
const fix = (parts) => parts.zoneToken !== undefined &&
|
|
151
|
+
export function withZoneAnswered(parses, zone, policy) {
|
|
152
|
+
const fix = (parts) => parts.zoneToken !== undefined && zoneReadsOf(parts.zoneToken, zone, policy) === undefined
|
|
109
153
|
? { ...parts, zoneToken: zone }
|
|
110
154
|
: parts;
|
|
111
155
|
return parses.map((parts) => {
|
|
@@ -139,8 +183,6 @@ function instantsOf(wall, zone) {
|
|
|
139
183
|
const utc = utcWallMs(wall.year, wall.month, wall.day, wall.hour, wall.minute, wall.second ?? 0);
|
|
140
184
|
if (zone.kind === 'offset')
|
|
141
185
|
return [{ ms: utc - zone.minutes * 60_000 }];
|
|
142
|
-
if (zone.kind !== 'iana')
|
|
143
|
-
return [];
|
|
144
186
|
const reading = readWall(wall, zone.zone);
|
|
145
187
|
if (reading.kind === 'unique')
|
|
146
188
|
return [{ ms: reading.ms }];
|
|
@@ -157,8 +199,6 @@ function dayStart(y, m, d, zone) {
|
|
|
157
199
|
return undefined;
|
|
158
200
|
if (zone.kind === 'offset')
|
|
159
201
|
return utcWallMs(y, m, d, 0, 0, 0) - zone.minutes * 60_000;
|
|
160
|
-
if (zone.kind !== 'iana')
|
|
161
|
-
return undefined;
|
|
162
202
|
return wallToInstant(wall, zone.zone, 'compatible');
|
|
163
203
|
}
|
|
164
204
|
/** The calendar day `days` after `y-m-d`. */
|
|
@@ -300,14 +340,18 @@ function datesOf(parts, today) {
|
|
|
300
340
|
];
|
|
301
341
|
}
|
|
302
342
|
// ─── Clock times ─────────────────────────────────────────────────────────
|
|
303
|
-
/**
|
|
343
|
+
/**
|
|
344
|
+
* The 24-hour readings of a clock time: one, or am and pm when no meridiem
|
|
345
|
+
* settles an hour 1–12 — unless the text's form is a 24-hour clock (an ISO
|
|
346
|
+
* instant, `clock: '24h'`), which says the hour as written.
|
|
347
|
+
*/
|
|
304
348
|
function hoursOf(wall) {
|
|
305
349
|
if (wall.meridiem !== undefined) {
|
|
306
350
|
if (wall.h < 1 || wall.h > 12)
|
|
307
351
|
return [];
|
|
308
352
|
return [{ h: (wall.h % 12) + (wall.meridiem === 'pm' ? 12 : 0) }];
|
|
309
353
|
}
|
|
310
|
-
if (wall.h >= 1 && wall.h <= 12) {
|
|
354
|
+
if (wall.clock !== '24h' && wall.h >= 1 && wall.h <= 12) {
|
|
311
355
|
return [
|
|
312
356
|
{ h: wall.h % 12, meridiem: 'am' },
|
|
313
357
|
{ h: (wall.h % 12) + 12, meridiem: 'pm' },
|
|
@@ -320,20 +364,45 @@ const GRAIN_MS = {
|
|
|
320
364
|
minute: 60_000,
|
|
321
365
|
second: 1_000,
|
|
322
366
|
};
|
|
323
|
-
function pointsOf(parts, clock, nowMs) {
|
|
367
|
+
function pointsOf(parts, clock, nowMs, policy) {
|
|
324
368
|
if (parts.partOfDay !== undefined)
|
|
325
369
|
return { unsupported: 'a part of the day' };
|
|
326
370
|
if (parts.anchor !== undefined)
|
|
327
371
|
return { unsupported: 'a window anchored on the previous one' };
|
|
328
|
-
const
|
|
329
|
-
if (
|
|
372
|
+
const zones = zoneReadsOf(parts.zoneToken, clock.zone, policy);
|
|
373
|
+
if (zones === undefined)
|
|
330
374
|
return { needsZone: true };
|
|
375
|
+
const out = [];
|
|
376
|
+
for (const zone of zones) {
|
|
377
|
+
const points = pointsIn(parts, zone, nowMs);
|
|
378
|
+
if (!Array.isArray(points))
|
|
379
|
+
return points;
|
|
380
|
+
out.push(...points);
|
|
381
|
+
}
|
|
382
|
+
return out;
|
|
383
|
+
}
|
|
384
|
+
/** What a zone read adds to a point: the note naming the words, and the abbreviation's reading tag. */
|
|
385
|
+
function viaOf(zone) {
|
|
386
|
+
if (zone.kind === 'offset' && zone.via === undefined) {
|
|
387
|
+
return { notes: [{ kind: 'offset-said', offset: zone.spelled }], tags: {} };
|
|
388
|
+
}
|
|
389
|
+
const via = zone.via;
|
|
390
|
+
if (via === undefined)
|
|
391
|
+
return { notes: [], tags: {} };
|
|
392
|
+
const note = { kind: 'zone-read', token: via.token, as: via.as };
|
|
393
|
+
if (via.as === 'place')
|
|
394
|
+
return { notes: [note], tags: {} };
|
|
395
|
+
return { notes: [note], tags: { abbreviation: via.as === 'abbreviation' ? 'zone' : 'literal' } };
|
|
396
|
+
}
|
|
397
|
+
/** The points of the parts under ONE zone read. */
|
|
398
|
+
function pointsIn(parts, zone, nowMs) {
|
|
331
399
|
const dates = datesOf(parts, wallIn(zone, nowMs));
|
|
332
400
|
if (!Array.isArray(dates))
|
|
333
401
|
return dates;
|
|
334
402
|
const zoneSaid = parts.zoneToken !== undefined ? ['zone'] : [];
|
|
335
403
|
const zoneImplied = parts.zoneToken !== undefined ? [] : ['zone'];
|
|
336
|
-
const
|
|
404
|
+
const via = viaOf(zone);
|
|
405
|
+
const offsetNote = via.notes;
|
|
337
406
|
const out = [];
|
|
338
407
|
for (const date of dates) {
|
|
339
408
|
const base = {
|
|
@@ -354,7 +423,7 @@ function pointsOf(parts, clock, nowMs) {
|
|
|
354
423
|
fromMs: from,
|
|
355
424
|
toMs: to,
|
|
356
425
|
grain: 'day',
|
|
357
|
-
tags: date.tags,
|
|
426
|
+
tags: { ...date.tags, ...via.tags },
|
|
358
427
|
notes: [...date.notes, ...offsetNote],
|
|
359
428
|
});
|
|
360
429
|
continue;
|
|
@@ -382,7 +451,11 @@ function pointsOf(parts, clock, nowMs) {
|
|
|
382
451
|
fromMs: instant.ms,
|
|
383
452
|
toMs: instant.ms + GRAIN_MS[grain],
|
|
384
453
|
grain,
|
|
385
|
-
tags: {
|
|
454
|
+
tags: {
|
|
455
|
+
...date.tags,
|
|
456
|
+
...(hour.meridiem !== undefined && { meridiem: hour.meridiem }),
|
|
457
|
+
...via.tags,
|
|
458
|
+
},
|
|
386
459
|
notes: [...date.notes, ...offsetNote],
|
|
387
460
|
...(instant.dst !== undefined && { dst: instant.dst }),
|
|
388
461
|
});
|
|
@@ -417,7 +490,7 @@ function spell(ms, zone) {
|
|
|
417
490
|
return spellInstant({ ms, nanos: 0 }, offsetFor(zone, ms));
|
|
418
491
|
}
|
|
419
492
|
function windowZone(zone, clock) {
|
|
420
|
-
return zone.kind === 'iana' ? zone.zone : clock.zone;
|
|
493
|
+
return zone.kind === 'iana' ? zone.zone : zone.shownIn ?? clock.zone;
|
|
421
494
|
}
|
|
422
495
|
function fromPoint(point, clock) {
|
|
423
496
|
const from = spell(point.fromMs, point.zone);
|
|
@@ -441,13 +514,23 @@ function fromPoint(point, clock) {
|
|
|
441
514
|
}
|
|
442
515
|
function agrees(a, b) {
|
|
443
516
|
const same = (x, y) => x === undefined || y === undefined || x === y;
|
|
444
|
-
return same(a.dateOrder, b.dateOrder) && same(a.year, b.year);
|
|
517
|
+
return (same(a.dateOrder, b.dateOrder) && same(a.year, b.year) && same(a.abbreviation, b.abbreviation));
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Where a range's END side ends (§ 3.3): an o'clock hour ("to 9 AM") is a
|
|
521
|
+
* boundary on the clock face and ends AT that instant; any other end — a
|
|
522
|
+
* minute ("to 8:40" → `08:41`), a second, a whole day — runs to the end of
|
|
523
|
+
* its grain. `widened` says which, for the `end-of-grain` note.
|
|
524
|
+
*/
|
|
525
|
+
function endOf(r) {
|
|
526
|
+
return r.grain === 'hour' ? { ms: r.fromMs, widened: false } : { ms: r.toMs, widened: true };
|
|
445
527
|
}
|
|
446
528
|
function fromSides(l, r, clock) {
|
|
447
|
-
|
|
529
|
+
const end = endOf(r);
|
|
530
|
+
if (!agrees(l.tags, r.tags) || !(l.fromMs < end.ms))
|
|
448
531
|
return undefined;
|
|
449
532
|
const from = spell(l.fromMs, l.zone);
|
|
450
|
-
const to = spell(
|
|
533
|
+
const to = spell(end.ms, r.zone);
|
|
451
534
|
if (from === undefined || to === undefined)
|
|
452
535
|
return undefined;
|
|
453
536
|
const range = { from, to };
|
|
@@ -458,6 +541,9 @@ function fromSides(l, r, clock) {
|
|
|
458
541
|
...(l.tags.meridiem !== undefined && { meridiem: l.tags.meridiem }),
|
|
459
542
|
...(r.tags.meridiem !== undefined && { endMeridiem: r.tags.meridiem }),
|
|
460
543
|
...((l.tags.year ?? r.tags.year) !== undefined && { year: l.tags.year ?? r.tags.year }),
|
|
544
|
+
...((l.tags.abbreviation ?? r.tags.abbreviation) !== undefined && {
|
|
545
|
+
abbreviation: l.tags.abbreviation ?? r.tags.abbreviation,
|
|
546
|
+
}),
|
|
461
547
|
};
|
|
462
548
|
return {
|
|
463
549
|
said: [...l.said, ...r.said],
|
|
@@ -473,7 +559,7 @@ function fromSides(l, r, clock) {
|
|
|
473
559
|
...r.notes,
|
|
474
560
|
...dstNote(l.dst, 'from'),
|
|
475
561
|
...dstNote(r.dst, 'to'),
|
|
476
|
-
{ kind: 'end-of-grain' },
|
|
562
|
+
...(end.widened ? [{ kind: 'end-of-grain' }] : []),
|
|
477
563
|
]),
|
|
478
564
|
reading: tags,
|
|
479
565
|
},
|
|
@@ -529,12 +615,62 @@ function sideOf(side, outer, other) {
|
|
|
529
615
|
...(zoneToken !== undefined && { zoneToken }),
|
|
530
616
|
};
|
|
531
617
|
}
|
|
532
|
-
|
|
618
|
+
/**
|
|
619
|
+
* A literal-offset reading that names the same window as the zone reading is
|
|
620
|
+
* no second reading: `PST` in January IS America/Los_Angeles's −08:00.
|
|
621
|
+
*/
|
|
622
|
+
function withoutAgreeingLiterals(built) {
|
|
623
|
+
const key = (b) => {
|
|
624
|
+
const from = instantOf(b.candidate.range.from, 'strict')?.ms;
|
|
625
|
+
const to = instantOf(b.candidate.range.to, 'strict')?.ms;
|
|
626
|
+
const r = b.candidate.reading;
|
|
627
|
+
return JSON.stringify([from, to, r.dateOrder, r.year, r.meridiem, r.endMeridiem]);
|
|
628
|
+
};
|
|
629
|
+
const zoneWindows = new Set(built.filter((b) => b.candidate.reading.abbreviation === 'zone').map(key));
|
|
630
|
+
return built.filter((b) => b.candidate.reading.abbreviation !== 'literal' || !zoneWindows.has(key(b)));
|
|
631
|
+
}
|
|
632
|
+
/**
|
|
633
|
+
* The combinations of a range's sides that run forward. A first side said
|
|
634
|
+
* with no meridiem takes the second side's said one ("8 to 9 PM" is 8 PM –
|
|
635
|
+
* 9 PM, English's own rule), falling back to the other only when that does
|
|
636
|
+
* not run forward ("11 to 1 PM" → 11 AM).
|
|
637
|
+
*/
|
|
638
|
+
function rangeCombinations(lp, rp, inherits, clock) {
|
|
639
|
+
const all = [];
|
|
640
|
+
for (const a of lp) {
|
|
641
|
+
for (const b of rp) {
|
|
642
|
+
const built = fromSides(a, b, clock);
|
|
643
|
+
if (built !== undefined)
|
|
644
|
+
all.push({ built, left: a });
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
if (inherits !== undefined) {
|
|
648
|
+
const same = all.filter((x) => x.left.tags.meridiem === inherits);
|
|
649
|
+
if (same.length > 0)
|
|
650
|
+
return same.map((x) => x.built);
|
|
651
|
+
}
|
|
652
|
+
return all.map((x) => x.built);
|
|
653
|
+
}
|
|
654
|
+
/** The meridiem a first side said with none takes from the second side, when the second said one. */
|
|
655
|
+
function inheritedMeridiem(l, r) {
|
|
656
|
+
const lw = l.wall;
|
|
657
|
+
const rw = r.wall;
|
|
658
|
+
if (lw === undefined || rw?.meridiem === undefined)
|
|
659
|
+
return undefined;
|
|
660
|
+
if (lw.meridiem !== undefined || lw.clock === '24h' || lw.h < 1 || lw.h > 12)
|
|
661
|
+
return undefined;
|
|
662
|
+
return rw.meridiem;
|
|
663
|
+
}
|
|
664
|
+
function builtOf(parts, clock, nowMs, policy) {
|
|
665
|
+
const built = builtOfAll(parts, clock, nowMs, policy);
|
|
666
|
+
return Array.isArray(built) ? withoutAgreeingLiterals(built) : built;
|
|
667
|
+
}
|
|
668
|
+
function builtOfAll(parts, clock, nowMs, policy) {
|
|
533
669
|
const lookback = lookbackBuilt(parts, clock);
|
|
534
670
|
if (lookback !== undefined)
|
|
535
671
|
return 'candidate' in lookback ? [lookback] : lookback;
|
|
536
672
|
if (parts.rangeOf === undefined) {
|
|
537
|
-
const points = pointsOf(parts, clock, nowMs);
|
|
673
|
+
const points = pointsOf(parts, clock, nowMs, policy);
|
|
538
674
|
if (!Array.isArray(points))
|
|
539
675
|
return points;
|
|
540
676
|
return points.map((p) => fromPoint(p, clock)).filter((b) => b !== undefined);
|
|
@@ -548,28 +684,22 @@ function builtOf(parts, clock, nowMs) {
|
|
|
548
684
|
if (lookbackBuilt(left, clock) !== undefined || lookbackBuilt(right, clock) !== undefined) {
|
|
549
685
|
return { unsupported: 'a look-back as a range side' };
|
|
550
686
|
}
|
|
551
|
-
const lp = pointsOf(left, clock, nowMs);
|
|
687
|
+
const lp = pointsOf(left, clock, nowMs, policy);
|
|
552
688
|
if (!Array.isArray(lp))
|
|
553
689
|
return lp;
|
|
554
|
-
const rp = pointsOf(right, clock, nowMs);
|
|
690
|
+
const rp = pointsOf(right, clock, nowMs, policy);
|
|
555
691
|
if (!Array.isArray(rp))
|
|
556
692
|
return rp;
|
|
557
|
-
|
|
558
|
-
for (const a of lp) {
|
|
559
|
-
for (const b of rp) {
|
|
560
|
-
const built = fromSides(a, b, clock);
|
|
561
|
-
if (built !== undefined)
|
|
562
|
-
out.push(built);
|
|
563
|
-
}
|
|
564
|
-
}
|
|
565
|
-
return out;
|
|
693
|
+
return rangeCombinations(lp, rp, inheritedMeridiem(l, r), clock);
|
|
566
694
|
}
|
|
567
695
|
/**
|
|
568
696
|
* Every candidate window of one mention's parses, resolved against the
|
|
569
697
|
* clock. A reading the person must confirm (`confirm: true` — every reading
|
|
570
698
|
* the record files, TQ29; a `model` reader's by default) carries `said: []`.
|
|
699
|
+
* `policy` is read for its abbreviation map only (`dateOrder` and `year`
|
|
700
|
+
* are {@link chooseReading}'s): absent, no abbreviation names a zone.
|
|
571
701
|
*/
|
|
572
|
-
export function resolveMention(parses, clock, reader, confirm = reader.kind === 'model') {
|
|
702
|
+
export function resolveMention(parses, clock, reader, confirm = reader.kind === 'model', policy) {
|
|
573
703
|
const now = instantOf(clock.now, 'strict');
|
|
574
704
|
if (now === undefined || !isZoneName(clock.zone)) {
|
|
575
705
|
throw new TypeError('resolveMention: the clock must carry a strict instant and an IANA zone name.');
|
|
@@ -578,7 +708,7 @@ export function resolveMention(parses, clock, reader, confirm = reader.kind ===
|
|
|
578
708
|
const unsupported = [];
|
|
579
709
|
let needsZone = false;
|
|
580
710
|
parses.forEach((parts, parse) => {
|
|
581
|
-
const built = builtOf(parts, clock, now.ms);
|
|
711
|
+
const built = builtOf(parts, clock, now.ms, policy);
|
|
582
712
|
if (!Array.isArray(built)) {
|
|
583
713
|
if ('needsZone' in built)
|
|
584
714
|
needsZone = true;
|
|
@@ -612,6 +742,8 @@ function openQuestions(candidates, confirm) {
|
|
|
612
742
|
open.push('year');
|
|
613
743
|
if (differs((c) => [c.reading.meridiem, c.reading.endMeridiem]))
|
|
614
744
|
open.push('meridiem');
|
|
745
|
+
if (differs((c) => c.reading.abbreviation))
|
|
746
|
+
open.push('abbreviation');
|
|
615
747
|
if (differs((c) => c.notes.filter((n) => n.kind === 'dst-overlap' || n.kind === 'dst-gap'))) {
|
|
616
748
|
open.push('dst');
|
|
617
749
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/core/time/resolve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/core/time/resolve.ts"],"names":[],"mappings":"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"}
|