@agentshouse/mdruntime 0.1.0-cd507e16e5fc0 → 0.1.0-cd71aba4d0215
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/README.md +8 -8
- package/dist/acceptance.d.ts +0 -3
- package/dist/acceptance.d.ts.map +1 -1
- package/dist/acceptance.js +74 -145
- package/dist/act-lanes.d.ts +33 -0
- package/dist/act-lanes.d.ts.map +1 -0
- package/dist/act-lanes.js +177 -0
- package/dist/actions.d.ts +7 -2
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +40 -30
- package/dist/adapter.d.ts +27 -45
- package/dist/adapter.d.ts.map +1 -1
- package/dist/bootstrap.d.ts +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +6 -19
- package/dist/change-set.d.ts +4 -0
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +6 -0
- package/dist/change.d.ts.map +1 -1
- package/dist/change.js +4 -2
- package/dist/client.d.ts +7 -12
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +29 -14
- package/dist/collection.d.ts +22 -4
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +12 -2
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +15 -21
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +26 -16
- package/dist/conversation-live.d.ts +8 -6
- package/dist/conversation-live.d.ts.map +1 -1
- package/dist/conversation-live.js +7 -6
- package/dist/conversation.d.ts +23 -10
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +127 -102
- package/dist/declaration.d.ts +10 -0
- package/dist/declaration.d.ts.map +1 -0
- package/dist/declaration.js +24 -0
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +18 -40
- package/dist/durability.d.ts +3 -0
- package/dist/durability.d.ts.map +1 -1
- package/dist/expectation.d.ts +4 -2
- package/dist/expectation.d.ts.map +1 -1
- package/dist/expectation.js +33 -11
- package/dist/failure.d.ts +3 -0
- package/dist/failure.d.ts.map +1 -1
- package/dist/failure.js +6 -0
- package/dist/host.d.ts +17 -2
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +39 -9
- package/dist/index.d.ts +9 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/install.d.ts +1 -3
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +48 -65
- package/dist/lifecycle.d.ts +1 -1
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +38 -27
- package/dist/listing.d.ts +6 -11
- package/dist/listing.d.ts.map +1 -1
- package/dist/listing.js +25 -62
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +3 -3
- package/dist/locks.d.ts +2 -4
- package/dist/locks.d.ts.map +1 -1
- package/dist/locks.js +10 -38
- package/dist/lost.d.ts.map +1 -1
- package/dist/lost.js +10 -21
- package/dist/media.d.ts +1 -1
- package/dist/media.d.ts.map +1 -1
- package/dist/media.js +4 -4
- package/dist/memory.d.ts +4 -2
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +38 -21
- package/dist/messages.d.ts +0 -3
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +13 -31
- package/dist/model.d.ts +0 -1
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +0 -5
- package/dist/models.d.ts +4 -8
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +97 -136
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +12 -17
- package/dist/opened.d.ts +1 -1
- package/dist/opened.d.ts.map +1 -1
- package/dist/opened.js +5 -5
- package/dist/opening.d.ts.map +1 -1
- package/dist/opening.js +6 -4
- package/dist/outcome.d.ts +3 -0
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +15 -0
- package/dist/overlay.d.ts +2 -1
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +32 -21
- package/dist/page-metadata.d.ts +8 -0
- package/dist/page-metadata.d.ts.map +1 -0
- package/dist/page-metadata.js +19 -0
- package/dist/parts.d.ts +3 -51
- package/dist/parts.d.ts.map +1 -1
- package/dist/parts.js +14 -111
- package/dist/preparation.d.ts.map +1 -1
- package/dist/preparation.js +22 -15
- package/dist/presence.d.ts +52 -0
- package/dist/presence.d.ts.map +1 -0
- package/dist/presence.js +220 -0
- package/dist/queries.d.ts +1 -1
- package/dist/queries.d.ts.map +1 -1
- package/dist/queries.js +5 -7
- package/dist/query.d.ts +0 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/questions.js +1 -1
- package/dist/queue.d.ts +40 -0
- package/dist/queue.d.ts.map +1 -0
- package/dist/queue.js +455 -0
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +27 -8
- package/dist/react.d.ts +11 -0
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +15 -1
- package/dist/reads.d.ts +3 -1
- package/dist/reads.d.ts.map +1 -1
- package/dist/reads.js +9 -2
- package/dist/recovery.d.ts +3 -1
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +29 -7
- package/dist/refresh.js +2 -2
- package/dist/refusal.d.ts.map +1 -1
- package/dist/refusal.js +5 -4
- package/dist/replica.d.ts +5 -11
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +13 -15
- package/dist/retried.d.ts +30 -0
- package/dist/retried.d.ts.map +1 -0
- package/dist/retried.js +72 -0
- package/dist/room-draft.d.ts +4 -6
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +36 -52
- package/dist/room-drafts.d.ts.map +1 -1
- package/dist/room-drafts.js +17 -16
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +3 -4
- package/dist/runtime.d.ts +9 -16
- package/dist/runtime.d.ts.map +1 -1
- package/dist/save.d.ts +41 -90
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +233 -116
- package/dist/saves.d.ts +2 -40
- package/dist/saves.d.ts.map +1 -1
- package/dist/saves.js +107 -702
- package/dist/seed.d.ts.map +1 -1
- package/dist/seed.js +2 -3
- package/dist/shared.d.ts +0 -5
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +4 -90
- package/dist/shown.d.ts +4 -3
- package/dist/shown.d.ts.map +1 -1
- package/dist/shown.js +26 -31
- package/dist/socket/lanes.d.ts +2 -1
- package/dist/socket/lanes.d.ts.map +1 -1
- package/dist/socket/lanes.js +5 -2
- package/dist/socket/session.d.ts +0 -1
- package/dist/socket/session.d.ts.map +1 -1
- package/dist/socket.d.ts +2 -4
- package/dist/socket.d.ts.map +1 -1
- package/dist/socket.js +4 -8
- package/dist/source.d.ts.map +1 -1
- package/dist/source.js +5 -4
- package/dist/store/records.d.ts +3 -3
- package/dist/store/records.d.ts.map +1 -1
- package/dist/store/records.js +4 -5
- package/dist/store/space.d.ts +1 -1
- package/dist/store/space.d.ts.map +1 -1
- package/dist/store/space.js +0 -2
- package/dist/store/watchers.js +1 -2
- package/dist/store.d.ts +10 -5
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +38 -13
- package/dist/stored.d.ts +1 -1
- package/dist/stored.d.ts.map +1 -1
- package/dist/stored.js +6 -6
- package/dist/surface.d.ts.map +1 -1
- package/dist/surface.js +8 -8
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +86 -78
- package/dist/tables.d.ts +0 -5
- package/dist/tables.d.ts.map +1 -1
- package/dist/tables.js +8 -11
- package/dist/tallies.js +5 -5
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +2 -2
- package/dist/wire.d.ts +40 -4
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +12 -3
- package/package.json +3 -2
- package/dist/attempt.d.ts +0 -16
- package/dist/attempt.d.ts.map +0 -1
- package/dist/attempt.js +0 -70
- package/dist/job.d.ts +0 -33
- package/dist/job.d.ts.map +0 -1
- package/dist/job.js +0 -54
- package/dist/socket/rooms.d.ts +0 -44
- package/dist/socket/rooms.d.ts.map +0 -1
- package/dist/socket/rooms.js +0 -90
- package/dist/store/fences.d.ts +0 -16
- package/dist/store/fences.d.ts.map +0 -1
- package/dist/store/fences.js +0 -26
package/dist/wire.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export type RuntimePort = {
|
|
|
7
7
|
}) => void): void;
|
|
8
8
|
start(): void;
|
|
9
9
|
};
|
|
10
|
-
export type WireReach = 'within' | 'app' | 'runtime' | '
|
|
10
|
+
export type WireReach = 'within' | 'app' | 'runtime' | 'whole';
|
|
11
11
|
export type WireEffect = 'read' | 'write' | 'action';
|
|
12
12
|
export type WireCall = {
|
|
13
13
|
readonly reach: WireReach;
|
|
@@ -67,7 +67,7 @@ declare const MEMBERS: {
|
|
|
67
67
|
readonly effect: 'read';
|
|
68
68
|
};
|
|
69
69
|
readonly call: {
|
|
70
|
-
readonly reach: '
|
|
70
|
+
readonly reach: 'within';
|
|
71
71
|
readonly effect: 'action';
|
|
72
72
|
};
|
|
73
73
|
readonly reached: {
|
|
@@ -166,6 +166,42 @@ declare const MEMBERS: {
|
|
|
166
166
|
readonly reach: 'within';
|
|
167
167
|
readonly effect: 'action';
|
|
168
168
|
};
|
|
169
|
+
readonly 'conversation.takeOut': {
|
|
170
|
+
readonly reach: 'within';
|
|
171
|
+
readonly effect: 'action';
|
|
172
|
+
};
|
|
173
|
+
readonly 'conversation.decide': {
|
|
174
|
+
readonly reach: 'within';
|
|
175
|
+
readonly effect: 'action';
|
|
176
|
+
};
|
|
177
|
+
readonly 'conversation.rename': {
|
|
178
|
+
readonly reach: 'within';
|
|
179
|
+
readonly effect: 'action';
|
|
180
|
+
};
|
|
181
|
+
readonly 'conversation.option': {
|
|
182
|
+
readonly reach: 'within';
|
|
183
|
+
readonly effect: 'action';
|
|
184
|
+
};
|
|
185
|
+
readonly 'conversation.retry': {
|
|
186
|
+
readonly reach: 'within';
|
|
187
|
+
readonly effect: 'action';
|
|
188
|
+
};
|
|
189
|
+
readonly 'conversation.pins': {
|
|
190
|
+
readonly reach: 'within';
|
|
191
|
+
readonly effect: 'read';
|
|
192
|
+
};
|
|
193
|
+
readonly 'conversation.pin': {
|
|
194
|
+
readonly reach: 'within';
|
|
195
|
+
readonly effect: 'write';
|
|
196
|
+
};
|
|
197
|
+
readonly 'conversation.openedTurns': {
|
|
198
|
+
readonly reach: 'within';
|
|
199
|
+
readonly effect: 'read';
|
|
200
|
+
};
|
|
201
|
+
readonly 'conversation.openTurn': {
|
|
202
|
+
readonly reach: 'within';
|
|
203
|
+
readonly effect: 'write';
|
|
204
|
+
};
|
|
169
205
|
readonly 'chatDraft.write': {
|
|
170
206
|
readonly reach: 'within';
|
|
171
207
|
readonly effect: 'write';
|
|
@@ -245,7 +281,7 @@ export declare function unanswered(call: {
|
|
|
245
281
|
}): WireAnswer | null;
|
|
246
282
|
export declare const AUTHORIZATION_ENDED = "the host authorization ended";
|
|
247
283
|
export declare const PORT_CLOSED = "the port closed";
|
|
248
|
-
export declare function
|
|
249
|
-
export declare function
|
|
284
|
+
export declare function wireRequest(message: unknown): WireRequest | null;
|
|
285
|
+
export declare function wireAnswer(message: unknown): WireAnswer | null;
|
|
250
286
|
export {};
|
|
251
287
|
//# sourceMappingURL=wire.d.ts.map
|
package/dist/wire.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IACjG,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
|
package/dist/wire.js
CHANGED
|
@@ -13,7 +13,7 @@ const MEMBERS = {
|
|
|
13
13
|
'binaryFile.show': { reach: 'within', effect: 'read' },
|
|
14
14
|
'binaryFile.attach': { reach: 'within', effect: 'action' },
|
|
15
15
|
'binaryFile.part': { reach: 'within', effect: 'read' },
|
|
16
|
-
call: { reach: '
|
|
16
|
+
call: { reach: 'within', effect: 'action' },
|
|
17
17
|
reached: { reach: 'within', effect: 'read' },
|
|
18
18
|
log: { reach: 'whole', effect: 'read' },
|
|
19
19
|
cleanUp: { reach: 'whole', effect: 'write' },
|
|
@@ -38,6 +38,15 @@ const MEMBERS = {
|
|
|
38
38
|
'conversation.interrupt': { reach: 'within', effect: 'action' },
|
|
39
39
|
'conversation.kill': { reach: 'within', effect: 'action' },
|
|
40
40
|
'conversation.delete': { reach: 'within', effect: 'action' },
|
|
41
|
+
'conversation.takeOut': { reach: 'within', effect: 'action' },
|
|
42
|
+
'conversation.decide': { reach: 'within', effect: 'action' },
|
|
43
|
+
'conversation.rename': { reach: 'within', effect: 'action' },
|
|
44
|
+
'conversation.option': { reach: 'within', effect: 'action' },
|
|
45
|
+
'conversation.retry': { reach: 'within', effect: 'action' },
|
|
46
|
+
'conversation.pins': { reach: 'within', effect: 'read' },
|
|
47
|
+
'conversation.pin': { reach: 'within', effect: 'write' },
|
|
48
|
+
'conversation.openedTurns': { reach: 'within', effect: 'read' },
|
|
49
|
+
'conversation.openTurn': { reach: 'within', effect: 'write' },
|
|
41
50
|
'chatDraft.write': { reach: 'within', effect: 'write' },
|
|
42
51
|
'chatDraft.prepend': { reach: 'within', effect: 'write' },
|
|
43
52
|
'chatDraft.discard': { reach: 'within', effect: 'write' },
|
|
@@ -86,7 +95,7 @@ function body(message) {
|
|
|
86
95
|
const record = message;
|
|
87
96
|
return { kind: record.kind, id: record.id };
|
|
88
97
|
}
|
|
89
|
-
export function
|
|
98
|
+
export function wireRequest(message) {
|
|
90
99
|
const shape = body(message);
|
|
91
100
|
if (shape === null)
|
|
92
101
|
return null;
|
|
@@ -121,7 +130,7 @@ export function request(message) {
|
|
|
121
130
|
}
|
|
122
131
|
return null;
|
|
123
132
|
}
|
|
124
|
-
export function
|
|
133
|
+
export function wireAnswer(message) {
|
|
125
134
|
const shape = body(message);
|
|
126
135
|
if (shape === null)
|
|
127
136
|
return null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentshouse/mdruntime",
|
|
3
|
-
"version": "0.1.0-
|
|
3
|
+
"version": "0.1.0-cd71aba4d0215",
|
|
4
4
|
"description": "The headless core of MD App",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -54,7 +54,8 @@
|
|
|
54
54
|
"LICENSE"
|
|
55
55
|
],
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@agentshouse/mdmodel": "0.1.0-
|
|
57
|
+
"@agentshouse/mdmodel": "0.1.0-cd5ace6e0b27a",
|
|
58
|
+
"@agentshouse/session-content": "0.1.0-cad437697294e"
|
|
58
59
|
},
|
|
59
60
|
"peerDependencies": {
|
|
60
61
|
"react": ">=18"
|
package/dist/attempt.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export type Answered = 'accepted' | 'refused' | 'unanswered' | 'offline';
|
|
2
|
-
export type Identities = {
|
|
3
|
-
of(intent: string): string;
|
|
4
|
-
settle(answered: Answered): void;
|
|
5
|
-
};
|
|
6
|
-
export declare function identities(mint?: () => string): Identities;
|
|
7
|
-
export declare function intentOf(name: string, about: unknown): string;
|
|
8
|
-
export type Attempt = {
|
|
9
|
-
identity(intent: string): string;
|
|
10
|
-
settle(answered: Answered, drop: (act: number) => void): void;
|
|
11
|
-
};
|
|
12
|
-
export type Attempts = {
|
|
13
|
-
begin(act: number): Attempt;
|
|
14
|
-
};
|
|
15
|
-
export declare function attempts(mint?: () => string): Attempts;
|
|
16
|
-
//# sourceMappingURL=attempt.d.ts.map
|
package/dist/attempt.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attempt.d.ts","sourceRoot":"","sources":["../src/attempt.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;AAEzE,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAM,MAAoC,GAAG,UAAU,CAmBvF;AAID,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAa7D;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B,CAAC;AAEF,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,MAAM,GAAG,QAAQ,CAyBtD"}
|
package/dist/attempt.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { changeBatchIdentity } from './identity.js';
|
|
2
|
-
export function identities(mint = () => changeBatchIdentity()) {
|
|
3
|
-
const kept = new Map();
|
|
4
|
-
let used = new Map();
|
|
5
|
-
return {
|
|
6
|
-
of(intent) {
|
|
7
|
-
const one = used.get(intent) ?? kept.get(intent) ?? mint();
|
|
8
|
-
used.set(intent, one);
|
|
9
|
-
return one;
|
|
10
|
-
},
|
|
11
|
-
settle(answered) {
|
|
12
|
-
if (answered !== 'offline') {
|
|
13
|
-
for (const [intent, one] of used) {
|
|
14
|
-
if (answered === 'unanswered')
|
|
15
|
-
kept.set(intent, one);
|
|
16
|
-
else
|
|
17
|
-
kept.delete(intent);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
used = new Map();
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
const blobs = new WeakMap();
|
|
25
|
-
export function intentOf(name, about) {
|
|
26
|
-
const carried = [];
|
|
27
|
-
const json = JSON.stringify(about, (_key, value) => {
|
|
28
|
-
if (!(value instanceof Blob))
|
|
29
|
-
return value;
|
|
30
|
-
let identity = blobs.get(value);
|
|
31
|
-
if (identity === undefined) {
|
|
32
|
-
identity = changeBatchIdentity();
|
|
33
|
-
blobs.set(value, identity);
|
|
34
|
-
}
|
|
35
|
-
carried.push(identity);
|
|
36
|
-
return null;
|
|
37
|
-
});
|
|
38
|
-
return `${name}\u0000${json}\u0000${carried.join(',')}`;
|
|
39
|
-
}
|
|
40
|
-
export function attempts(mint) {
|
|
41
|
-
const numbers = identities(mint);
|
|
42
|
-
const waiting = new Map();
|
|
43
|
-
return {
|
|
44
|
-
begin(act) {
|
|
45
|
-
const intents = [];
|
|
46
|
-
return {
|
|
47
|
-
identity(intent) {
|
|
48
|
-
intents.push(intent);
|
|
49
|
-
return numbers.of(intent);
|
|
50
|
-
},
|
|
51
|
-
settle(answered, drop) {
|
|
52
|
-
numbers.settle(answered);
|
|
53
|
-
if (answered === 'refused' || answered === 'offline')
|
|
54
|
-
drop(act);
|
|
55
|
-
if (answered === 'offline')
|
|
56
|
-
return;
|
|
57
|
-
for (const intent of intents) {
|
|
58
|
-
const earlier = waiting.get(intent);
|
|
59
|
-
if (earlier !== undefined && earlier !== act)
|
|
60
|
-
drop(earlier);
|
|
61
|
-
if (answered === 'unanswered')
|
|
62
|
-
waiting.set(intent, act);
|
|
63
|
-
else
|
|
64
|
-
waiting.delete(intent);
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
};
|
|
68
|
-
},
|
|
69
|
-
};
|
|
70
|
-
}
|
package/dist/job.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
type Job = {
|
|
2
|
-
readonly label: string;
|
|
3
|
-
readonly kind: 'started' | 'scheduled' | 'ended';
|
|
4
|
-
readonly state: string;
|
|
5
|
-
readonly next: string | null;
|
|
6
|
-
};
|
|
7
|
-
export type RunningJob = {
|
|
8
|
-
readonly name: string;
|
|
9
|
-
readonly running_since: string;
|
|
10
|
-
};
|
|
11
|
-
export type JobMarker = {
|
|
12
|
-
readonly said: string;
|
|
13
|
-
readonly at: string;
|
|
14
|
-
};
|
|
15
|
-
export type OpenJob<At = string | null> = {
|
|
16
|
-
readonly name: string;
|
|
17
|
-
readonly started: At;
|
|
18
|
-
};
|
|
19
|
-
export declare function jobOf(said: string): Job;
|
|
20
|
-
export declare function closeLast(open: {
|
|
21
|
-
readonly key: string;
|
|
22
|
-
}[], key: string): void;
|
|
23
|
-
export declare function markerMoved<Kept extends {
|
|
24
|
-
readonly key: string;
|
|
25
|
-
}>(open: Kept[], said: string, opened: (job: Job, key: string) => Kept | null): void;
|
|
26
|
-
export declare function openJobs<At>(markers: readonly {
|
|
27
|
-
readonly said: string;
|
|
28
|
-
readonly at: At;
|
|
29
|
-
}[]): readonly OpenJob<At>[];
|
|
30
|
-
export declare function jobsRunning(jobs: readonly RunningJob[], now: number): string[];
|
|
31
|
-
export declare function sessionEnded(jobs: readonly RunningJob[], now: number): string;
|
|
32
|
-
export {};
|
|
33
|
-
//# sourceMappingURL=job.d.ts.map
|
package/dist/job.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"AAAA,KAAK,GAAG,GAAG;IACT,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,MAAM,MAAM,OAAO,CAAC,EAAE,GAAG,MAAM,GAAG,IAAI,IAAI;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAA;CAAE,CAAC;AAQ1F,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CASvC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAG7E;AAED,wBAAgB,WAAW,CAAC,IAAI,SAAS;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAC/D,IAAI,EAAE,IAAI,EAAE,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,GAC7C,IAAI,CASN;AAED,wBAAgB,QAAQ,CAAC,EAAE,EACzB,OAAO,EAAE,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;CAAE,EAAE,GAC7D,SAAS,OAAO,CAAC,EAAE,CAAC,EAAE,CAQxB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAM9E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAI7E"}
|
package/dist/job.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
const NEXT_RUN = 'next run ';
|
|
2
|
-
const MINUTE = 60_000;
|
|
3
|
-
const ENDED = 'Session ended.';
|
|
4
|
-
export function jobOf(said) {
|
|
5
|
-
const at = said.lastIndexOf(': ');
|
|
6
|
-
const label = at === -1 ? said : said.slice(0, at);
|
|
7
|
-
const state = at === -1 ? '' : said.slice(at + 2);
|
|
8
|
-
if (state === 'running')
|
|
9
|
-
return { label, kind: 'started', state, next: null };
|
|
10
|
-
if (state === 'scheduled')
|
|
11
|
-
return { label, kind: 'scheduled', state, next: null };
|
|
12
|
-
return state.startsWith(NEXT_RUN)
|
|
13
|
-
? { label, kind: 'scheduled', state, next: state.slice(NEXT_RUN.length) }
|
|
14
|
-
: { label, kind: 'ended', state, next: null };
|
|
15
|
-
}
|
|
16
|
-
export function closeLast(open, key) {
|
|
17
|
-
const at = open.map((one) => one.key).lastIndexOf(key);
|
|
18
|
-
if (at !== -1)
|
|
19
|
-
open.splice(at, 1);
|
|
20
|
-
}
|
|
21
|
-
export function markerMoved(open, said, opened) {
|
|
22
|
-
const job = jobOf(said);
|
|
23
|
-
const started = `job\u0000${job.label}`;
|
|
24
|
-
const schedule = `schedule\u0000${job.label}`;
|
|
25
|
-
if (job.kind === 'ended')
|
|
26
|
-
closeLast(open, started);
|
|
27
|
-
if (job.kind !== 'started')
|
|
28
|
-
closeLast(open, schedule);
|
|
29
|
-
if (job.kind === 'ended')
|
|
30
|
-
return;
|
|
31
|
-
const kept = opened(job, job.kind === 'started' ? started : schedule);
|
|
32
|
-
if (kept !== null)
|
|
33
|
-
open.push(kept);
|
|
34
|
-
}
|
|
35
|
-
export function openJobs(markers) {
|
|
36
|
-
const open = [];
|
|
37
|
-
for (const { said, at } of markers) {
|
|
38
|
-
markerMoved(open, said, (job, key) => job.kind === 'started' ? { key, name: job.label, started: at } : null);
|
|
39
|
-
}
|
|
40
|
-
return open.map(({ name, started }) => ({ name, started }));
|
|
41
|
-
}
|
|
42
|
-
export function jobsRunning(jobs, now) {
|
|
43
|
-
return jobs.map((job) => {
|
|
44
|
-
const since = Date.parse(job.running_since);
|
|
45
|
-
const ran = Number.isNaN(since) ? 0 : Math.floor((now - since) / MINUTE);
|
|
46
|
-
return ran >= 1 ? `${job.name} (${ran} min)` : job.name;
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
export function sessionEnded(jobs, now) {
|
|
50
|
-
if (jobs.length === 0)
|
|
51
|
-
return ENDED;
|
|
52
|
-
const counted = jobs.length === 1 ? '1 background job' : `${jobs.length} background jobs`;
|
|
53
|
-
return `${ENDED} ${counted} stopped: ${jobsRunning(jobs, now).join(', ')}`;
|
|
54
|
-
}
|
package/dist/socket/rooms.d.ts
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import type { DiscoveredRoom, ProviderRefusal, TypedSelection } from '../adapter.js';
|
|
2
|
-
import type { ModelState } from '../model.js';
|
|
3
|
-
export type RoomDeclaration = Omit<DiscoveredRoom, 'roomVersion' | 'typedSelection'> & {
|
|
4
|
-
typedSelection?: TypedSelection | null;
|
|
5
|
-
};
|
|
6
|
-
export type Declared = {
|
|
7
|
-
readonly room: RoomDeclaration | null;
|
|
8
|
-
readonly available: boolean;
|
|
9
|
-
};
|
|
10
|
-
type RoomStanding = {
|
|
11
|
-
readonly unreadable: boolean;
|
|
12
|
-
readonly refusal: ProviderRefusal | null;
|
|
13
|
-
readonly unheldModel: ModelState | null;
|
|
14
|
-
readonly stale: boolean;
|
|
15
|
-
readonly repairable: {
|
|
16
|
-
readonly reset: string | undefined;
|
|
17
|
-
} | null;
|
|
18
|
-
readonly repairing: boolean;
|
|
19
|
-
readonly reloadDue: boolean;
|
|
20
|
-
readonly confirmed: boolean;
|
|
21
|
-
readonly unpreparable: boolean;
|
|
22
|
-
};
|
|
23
|
-
export type Rooms = {
|
|
24
|
-
declare(locator: string, declared: Declared): void;
|
|
25
|
-
declared(locator: string): Declared | undefined;
|
|
26
|
-
declarations(): ReadonlyMap<string, Declared>;
|
|
27
|
-
discover(room: DiscoveredRoom): void;
|
|
28
|
-
discovered(locator: string): DiscoveredRoom | undefined;
|
|
29
|
-
discoveredRooms(): readonly DiscoveredRoom[];
|
|
30
|
-
undiscoverAll(): void;
|
|
31
|
-
standing(locator: string): RoomStanding;
|
|
32
|
-
stand(locator: string, change: Partial<RoomStanding>): void;
|
|
33
|
-
standingWhere(held: (room: RoomStanding) => boolean): readonly string[];
|
|
34
|
-
standAll(change: Partial<RoomStanding>): void;
|
|
35
|
-
forget(locator: string): void;
|
|
36
|
-
askAgain(locator: string, ask: () => void): void;
|
|
37
|
-
readied(locator: string): void;
|
|
38
|
-
unreadied(): void;
|
|
39
|
-
connectionLost(lapsed: () => void): void;
|
|
40
|
-
connectionLive(): void;
|
|
41
|
-
};
|
|
42
|
-
export declare function createRooms(): Rooms;
|
|
43
|
-
export {};
|
|
44
|
-
//# sourceMappingURL=rooms.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rooms.d.ts","sourceRoot":"","sources":["../../src/socket/rooms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,GAAG,gBAAgB,CAAC,GAAG;IACrF,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9F,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,UAAU,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC;IACnE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC,CAAC;AAcF,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,YAAY,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IACxD,eAAe,IAAI,SAAS,cAAc,EAAE,CAAC;IAC7C,aAAa,IAAI,IAAI,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC;IACxC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC5D,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,GAAG,SAAS,MAAM,EAAE,CAAC;IACxE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACjD,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,IAAI,IAAI,CAAC;IAClB,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACzC,cAAc,IAAI,IAAI,CAAC;CACxB,CAAC;AAQF,wBAAgB,WAAW,IAAI,KAAK,CAsEnC"}
|
package/dist/socket/rooms.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
const STANDING = {
|
|
2
|
-
unreadable: false,
|
|
3
|
-
refusal: null,
|
|
4
|
-
unheldModel: null,
|
|
5
|
-
stale: false,
|
|
6
|
-
repairable: null,
|
|
7
|
-
repairing: false,
|
|
8
|
-
reloadDue: false,
|
|
9
|
-
confirmed: false,
|
|
10
|
-
unpreparable: false,
|
|
11
|
-
};
|
|
12
|
-
// A Room the Provider answers not ready is asked again after these waits, the last repeating, so a chunk build that catches up within seconds installs at once and a long one is asked every 15 seconds.
|
|
13
|
-
const NOT_READY_MS = [1_000, 2_000, 3_000, 5_000, 8_000, 11_000, 15_000];
|
|
14
|
-
// A Room that locks offline stays readable this long after the connection drops, so a laptop waking or changing network keeps working while a disconnected device locks soon after.
|
|
15
|
-
const LOCK_GRACE_MS = 120_000;
|
|
16
|
-
export function createRooms() {
|
|
17
|
-
const declared = new Map();
|
|
18
|
-
const discovered = new Map();
|
|
19
|
-
const standings = new Map();
|
|
20
|
-
const unready = new Map();
|
|
21
|
-
let lockGrace = null;
|
|
22
|
-
function readied(locator) {
|
|
23
|
-
const held = unready.get(locator);
|
|
24
|
-
if (held === undefined)
|
|
25
|
-
return;
|
|
26
|
-
if (held.timer !== null)
|
|
27
|
-
clearTimeout(held.timer);
|
|
28
|
-
unready.delete(locator);
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
declare(locator, room) {
|
|
32
|
-
declared.set(locator, room);
|
|
33
|
-
},
|
|
34
|
-
declared: (locator) => declared.get(locator),
|
|
35
|
-
declarations: () => declared,
|
|
36
|
-
discover(room) {
|
|
37
|
-
discovered.set(room.locator, room);
|
|
38
|
-
},
|
|
39
|
-
discovered: (locator) => discovered.get(locator),
|
|
40
|
-
discoveredRooms: () => [...discovered.values()],
|
|
41
|
-
undiscoverAll() {
|
|
42
|
-
discovered.clear();
|
|
43
|
-
},
|
|
44
|
-
standing: (locator) => standings.get(locator) ?? STANDING,
|
|
45
|
-
stand(locator, change) {
|
|
46
|
-
standings.set(locator, { ...(standings.get(locator) ?? STANDING), ...change });
|
|
47
|
-
},
|
|
48
|
-
standingWhere: (held) => [...standings].filter(([, room]) => held(room)).map(([locator]) => locator),
|
|
49
|
-
standAll(change) {
|
|
50
|
-
for (const [locator, room] of standings)
|
|
51
|
-
standings.set(locator, { ...room, ...change });
|
|
52
|
-
},
|
|
53
|
-
forget(locator) {
|
|
54
|
-
declared.delete(locator);
|
|
55
|
-
discovered.delete(locator);
|
|
56
|
-
const { repairing, reloadDue } = standings.get(locator) ?? STANDING;
|
|
57
|
-
standings.set(locator, { ...STANDING, repairing, reloadDue });
|
|
58
|
-
},
|
|
59
|
-
askAgain(locator, ask) {
|
|
60
|
-
const held = unready.get(locator) ?? { tries: 0, timer: null };
|
|
61
|
-
unready.set(locator, held);
|
|
62
|
-
if (held.timer !== null)
|
|
63
|
-
return;
|
|
64
|
-
const wait = NOT_READY_MS[Math.min(held.tries, NOT_READY_MS.length - 1)];
|
|
65
|
-
held.tries += 1;
|
|
66
|
-
held.timer = setTimeout(() => {
|
|
67
|
-
held.timer = null;
|
|
68
|
-
ask();
|
|
69
|
-
}, wait);
|
|
70
|
-
},
|
|
71
|
-
readied,
|
|
72
|
-
unreadied() {
|
|
73
|
-
for (const locator of [...unready.keys()])
|
|
74
|
-
readied(locator);
|
|
75
|
-
},
|
|
76
|
-
connectionLost(lapsed) {
|
|
77
|
-
if (lockGrace !== null)
|
|
78
|
-
return;
|
|
79
|
-
lockGrace = setTimeout(() => {
|
|
80
|
-
lockGrace = null;
|
|
81
|
-
lapsed();
|
|
82
|
-
}, LOCK_GRACE_MS);
|
|
83
|
-
},
|
|
84
|
-
connectionLive() {
|
|
85
|
-
if (lockGrace !== null)
|
|
86
|
-
clearTimeout(lockGrace);
|
|
87
|
-
lockGrace = null;
|
|
88
|
-
},
|
|
89
|
-
};
|
|
90
|
-
}
|
package/dist/store/fences.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
type Fence = {
|
|
2
|
-
readonly at: number;
|
|
3
|
-
readonly written: boolean;
|
|
4
|
-
};
|
|
5
|
-
export type Fences = {
|
|
6
|
-
has(locator: string): boolean;
|
|
7
|
-
of(locator: string): Fence | undefined;
|
|
8
|
-
raise(locator: string, at: number): boolean;
|
|
9
|
-
mark(locator: string, written: boolean): void;
|
|
10
|
-
lift(locator: string): void;
|
|
11
|
-
count(): number;
|
|
12
|
-
since(locator: string, count: number): boolean;
|
|
13
|
-
};
|
|
14
|
-
export declare function createFences(): Fences;
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=fences.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fences.d.ts","sourceRoot":"","sources":["../../src/store/fences.ts"],"names":[],"mappings":"AAAA,KAAK,KAAK,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhE,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IACvC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,IAAI,MAAM,CAAC;IAChB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAChD,CAAC;AAEF,wBAAgB,YAAY,IAAI,MAAM,CAwBrC"}
|
package/dist/store/fences.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export function createFences() {
|
|
2
|
-
const fencedAt = new Map();
|
|
3
|
-
let fencings = 0;
|
|
4
|
-
const lastFenced = new Map();
|
|
5
|
-
return {
|
|
6
|
-
has: (locator) => fencedAt.has(locator),
|
|
7
|
-
of: (locator) => fencedAt.get(locator),
|
|
8
|
-
raise(locator, at) {
|
|
9
|
-
if (fencedAt.has(locator))
|
|
10
|
-
return false;
|
|
11
|
-
fencedAt.set(locator, { at, written: false });
|
|
12
|
-
lastFenced.set(locator, ++fencings);
|
|
13
|
-
return true;
|
|
14
|
-
},
|
|
15
|
-
mark(locator, written) {
|
|
16
|
-
const fence = fencedAt.get(locator);
|
|
17
|
-
if (fence !== undefined)
|
|
18
|
-
fencedAt.set(locator, { ...fence, written });
|
|
19
|
-
},
|
|
20
|
-
lift(locator) {
|
|
21
|
-
fencedAt.delete(locator);
|
|
22
|
-
},
|
|
23
|
-
count: () => fencings,
|
|
24
|
-
since: (locator, count) => fencedAt.has(locator) || (lastFenced.get(locator) ?? 0) > count,
|
|
25
|
-
};
|
|
26
|
-
}
|