@namzu/sdk 55.0.0 → 55.1.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/CHANGELOG.md +11 -0
- package/dist/{manager/resident/learning-cycle.d.ts → learning/cycle.d.ts} +45 -36
- package/dist/learning/cycle.d.ts.map +1 -0
- package/dist/{manager/resident/learning-cycle.js → learning/cycle.js} +52 -20
- package/dist/learning/cycle.js.map +1 -0
- package/dist/learning/deprecated.d.ts +86 -0
- package/dist/learning/deprecated.d.ts.map +1 -0
- package/dist/learning/deprecated.js +22 -0
- package/dist/learning/deprecated.js.map +1 -0
- package/dist/learning/experience-store.d.ts +35 -0
- package/dist/learning/experience-store.d.ts.map +1 -0
- package/dist/learning/experience-store.js +143 -0
- package/dist/learning/experience-store.js.map +1 -0
- package/dist/learning/experience.d.ts +150 -0
- package/dist/learning/experience.d.ts.map +1 -0
- package/dist/learning/experience.js +146 -0
- package/dist/learning/experience.js.map +1 -0
- package/dist/learning/generator.d.ts +118 -0
- package/dist/learning/generator.d.ts.map +1 -0
- package/dist/learning/generator.js +275 -0
- package/dist/learning/generator.js.map +1 -0
- package/dist/learning/leak-tripwire.d.ts +66 -0
- package/dist/learning/leak-tripwire.d.ts.map +1 -0
- package/dist/learning/leak-tripwire.js +208 -0
- package/dist/learning/leak-tripwire.js.map +1 -0
- package/dist/{manager/resident/learning-observation.d.ts → learning/observation.d.ts} +4 -4
- package/dist/learning/observation.d.ts.map +1 -0
- package/dist/{manager/resident/learning-observation.js → learning/observation.js} +3 -3
- package/dist/learning/observation.js.map +1 -0
- package/dist/{manager/resident/learning.d.ts → learning/skill.d.ts} +29 -29
- package/dist/learning/skill.d.ts.map +1 -0
- package/dist/{manager/resident/learning.js → learning/skill.js} +27 -27
- package/dist/learning/skill.js.map +1 -0
- package/dist/{manager/resident/learning-store.d.ts → learning/store.d.ts} +38 -31
- package/dist/learning/store.d.ts.map +1 -0
- package/dist/{manager/resident/learning-store.js → learning/store.js} +52 -20
- package/dist/learning/store.js.map +1 -0
- package/dist/manager/resident/activity.d.ts +30 -6
- package/dist/manager/resident/activity.d.ts.map +1 -1
- package/dist/manager/resident/activity.js.map +1 -1
- package/dist/manager/resident/agenda.d.ts +42 -12
- package/dist/manager/resident/agenda.d.ts.map +1 -1
- package/dist/manager/resident/agenda.js +9 -7
- package/dist/manager/resident/agenda.js.map +1 -1
- package/dist/manager/resident/consumption.d.ts +27 -5
- package/dist/manager/resident/consumption.d.ts.map +1 -1
- package/dist/manager/resident/consumption.js +2 -0
- package/dist/manager/resident/consumption.js.map +1 -1
- package/dist/manager/resident/delivery-window.d.ts +7 -1
- package/dist/manager/resident/delivery-window.d.ts.map +1 -1
- package/dist/manager/resident/delivery-window.js +2 -0
- package/dist/manager/resident/delivery-window.js.map +1 -1
- package/dist/manager/resident/evidence-recall.d.ts +7 -1
- package/dist/manager/resident/evidence-recall.d.ts.map +1 -1
- package/dist/manager/resident/evidence-recall.js +2 -0
- package/dist/manager/resident/evidence-recall.js.map +1 -1
- package/dist/manager/resident/history.d.ts +45 -9
- package/dist/manager/resident/history.d.ts.map +1 -1
- package/dist/manager/resident/history.js.map +1 -1
- package/dist/manager/resident/host.d.ts +44 -10
- package/dist/manager/resident/host.d.ts.map +1 -1
- package/dist/manager/resident/host.js +4 -2
- package/dist/manager/resident/host.js.map +1 -1
- package/dist/manager/resident/initiative.d.ts +32 -6
- package/dist/manager/resident/initiative.d.ts.map +1 -1
- package/dist/manager/resident/initiative.js +2 -0
- package/dist/manager/resident/initiative.js.map +1 -1
- package/dist/manager/resident/loop.d.ts +22 -4
- package/dist/manager/resident/loop.d.ts.map +1 -1
- package/dist/manager/resident/loop.js +7 -1
- package/dist/manager/resident/loop.js.map +1 -1
- package/dist/manager/resident/outbox.d.ts +42 -8
- package/dist/manager/resident/outbox.d.ts.map +1 -1
- package/dist/manager/resident/outbox.js +2 -0
- package/dist/manager/resident/outbox.js.map +1 -1
- package/dist/manager/resident/proposal.d.ts +17 -3
- package/dist/manager/resident/proposal.d.ts.map +1 -1
- package/dist/manager/resident/proposal.js +2 -0
- package/dist/manager/resident/proposal.js.map +1 -1
- package/dist/manager/resident/store.d.ts +27 -5
- package/dist/manager/resident/store.d.ts.map +1 -1
- package/dist/manager/resident/store.js +7 -1
- package/dist/manager/resident/store.js.map +1 -1
- package/dist/manager/resident/tool-evidence.d.ts +45 -9
- package/dist/manager/resident/tool-evidence.d.ts.map +1 -1
- package/dist/manager/resident/tool-evidence.js +5 -1
- package/dist/manager/resident/tool-evidence.js.map +1 -1
- package/dist/prompt/resident-learning.d.ts +12 -2
- package/dist/prompt/resident-learning.d.ts.map +1 -1
- package/dist/prompt/resident-learning.js +6 -5
- package/dist/prompt/resident-learning.js.map +1 -1
- package/dist/prompt/resident-step.d.ts +10 -4
- package/dist/prompt/resident-step.d.ts.map +1 -1
- package/dist/prompt/resident-step.js +6 -4
- package/dist/prompt/resident-step.js.map +1 -1
- package/dist/public-runtime.d.ts +9 -3
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +10 -3
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-types.d.ts +9 -4
- package/dist/public-types.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/per-call-review.d.ts +9 -0
- package/dist/runtime/query/iteration/phases/per-call-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/per-call-review.js +19 -0
- package/dist/runtime/query/iteration/phases/per-call-review.js.map +1 -1
- package/dist/tools/resident-history.d.ts +2 -0
- package/dist/tools/resident-history.d.ts.map +1 -1
- package/dist/tools/resident-history.js +2 -0
- package/dist/tools/resident-history.js.map +1 -1
- package/dist/tools/resident-tool-evidence.d.ts +5 -1
- package/dist/tools/resident-tool-evidence.d.ts.map +1 -1
- package/dist/tools/resident-tool-evidence.js +5 -1
- package/dist/tools/resident-tool-evidence.js.map +1 -1
- package/package.json +1 -1
- package/src/{manager/resident/learning-cycle.ts → learning/cycle.ts} +130 -78
- package/src/learning/deprecated.ts +124 -0
- package/src/learning/experience-store.ts +202 -0
- package/src/learning/experience.ts +238 -0
- package/src/learning/generator.ts +388 -0
- package/src/learning/leak-tripwire.ts +280 -0
- package/src/{manager/resident/learning-observation.ts → learning/observation.ts} +5 -5
- package/src/{manager/resident/learning.ts → learning/skill.ts} +64 -67
- package/src/{manager/resident/learning-store.ts → learning/store.ts} +97 -67
- package/src/manager/resident/activity.ts +30 -6
- package/src/manager/resident/agenda.ts +63 -33
- package/src/manager/resident/consumption.ts +27 -5
- package/src/manager/resident/delivery-window.ts +7 -1
- package/src/manager/resident/evidence-recall.ts +7 -1
- package/src/manager/resident/history.ts +45 -9
- package/src/manager/resident/host.ts +45 -11
- package/src/manager/resident/initiative.ts +32 -6
- package/src/manager/resident/loop.ts +22 -4
- package/src/manager/resident/outbox.ts +42 -8
- package/src/manager/resident/proposal.ts +17 -3
- package/src/manager/resident/store.ts +27 -5
- package/src/manager/resident/tool-evidence.ts +45 -9
- package/src/prompt/resident-learning.ts +16 -7
- package/src/prompt/resident-step.ts +19 -13
- package/src/public-runtime.ts +35 -5
- package/src/public-types.ts +96 -34
- package/src/runtime/query/iteration/phases/per-call-review.ts +19 -0
- package/src/tools/resident-history.ts +2 -0
- package/src/tools/resident-tool-evidence.ts +5 -1
- package/dist/manager/resident/learning-cycle.d.ts.map +0 -1
- package/dist/manager/resident/learning-cycle.js.map +0 -1
- package/dist/manager/resident/learning-observation.d.ts.map +0 -1
- package/dist/manager/resident/learning-observation.js.map +0 -1
- package/dist/manager/resident/learning-store.d.ts.map +0 -1
- package/dist/manager/resident/learning-store.js.map +0 -1
- package/dist/manager/resident/learning.d.ts.map +0 -1
- package/dist/manager/resident/learning.js.map +0 -1
|
@@ -3,10 +3,10 @@ import { closeSync, existsSync, fsyncSync, linkSync, lstatSync, mkdirSync, openS
|
|
|
3
3
|
import { createRequire } from 'node:module';
|
|
4
4
|
import { dirname, join, resolve } from 'node:path';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
import { asProjectId, asTenantId } from '
|
|
7
|
-
import {
|
|
8
|
-
import { learningObservationSchema, learningTargetSchema, } from './
|
|
9
|
-
import {
|
|
6
|
+
import { asProjectId, asTenantId } from '../utils/id.js';
|
|
7
|
+
import { runLearningCycle, } from './cycle.js';
|
|
8
|
+
import { learningObservationSchema, learningTargetSchema, } from './observation.js';
|
|
9
|
+
import { hashLearningSkill } from './skill.js';
|
|
10
10
|
const uuid = z
|
|
11
11
|
.string()
|
|
12
12
|
.uuid()
|
|
@@ -78,16 +78,16 @@ CREATE TABLE usage_receipts (
|
|
|
78
78
|
* and receipts by a turn id; a database at either (or any other version) is
|
|
79
79
|
* refused, never migrated — its rows name executions that no longer exist.
|
|
80
80
|
*/
|
|
81
|
-
export const
|
|
81
|
+
export const LEARNING_STORE_VERSION = 3;
|
|
82
82
|
/** A learning database this version of the store does not read. */
|
|
83
|
-
export class
|
|
84
|
-
name = '
|
|
83
|
+
export class LearningStoreVersionError extends Error {
|
|
84
|
+
name = 'LearningStoreVersionError';
|
|
85
85
|
found;
|
|
86
86
|
expected;
|
|
87
87
|
constructor(databasePath, found) {
|
|
88
|
-
super(`Learning database ${databasePath} is at schema version ${found}; this store reads version ${
|
|
88
|
+
super(`Learning database ${databasePath} is at schema version ${found}; this store reads version ${LEARNING_STORE_VERSION} only. Databases before version 3 are not read: move the file aside and start a new learning database.`);
|
|
89
89
|
this.found = found;
|
|
90
|
-
this.expected =
|
|
90
|
+
this.expected = LEARNING_STORE_VERSION;
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
const summary = (row) => ({
|
|
@@ -115,7 +115,7 @@ const summary = (row) => ({
|
|
|
115
115
|
* No database transaction spans an await, model request or artifact write. JSONL
|
|
116
116
|
* exports are observations, never a second writable authority or a replay queue.
|
|
117
117
|
*/
|
|
118
|
-
export class
|
|
118
|
+
export class SqliteLearningStore {
|
|
119
119
|
databasePath;
|
|
120
120
|
artifactsPath;
|
|
121
121
|
scope;
|
|
@@ -142,7 +142,7 @@ export class SqliteResidentLearningStore {
|
|
|
142
142
|
.DatabaseSync;
|
|
143
143
|
}
|
|
144
144
|
catch (error) {
|
|
145
|
-
throw new Error('
|
|
145
|
+
throw new Error('SqliteLearningStore requires Node.js 22.13 or newer.', {
|
|
146
146
|
cause: error,
|
|
147
147
|
});
|
|
148
148
|
}
|
|
@@ -161,12 +161,12 @@ export class SqliteResidentLearningStore {
|
|
|
161
161
|
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%' LIMIT 1")
|
|
162
162
|
.get())
|
|
163
163
|
throw new Error('Refusing to initialize a nonempty learning database.');
|
|
164
|
-
db.exec(`${SCHEMA} ${OBSERVATIONS_SCHEMA} PRAGMA user_version = ${
|
|
164
|
+
db.exec(`${SCHEMA} ${OBSERVATIONS_SCHEMA} PRAGMA user_version = ${LEARNING_STORE_VERSION};`);
|
|
165
165
|
}
|
|
166
166
|
else if (version === 0)
|
|
167
167
|
throw new Error('Learning database is not initialized; open it for writing first.');
|
|
168
|
-
else if (version !==
|
|
169
|
-
throw new
|
|
168
|
+
else if (version !== LEARNING_STORE_VERSION)
|
|
169
|
+
throw new LearningStoreVersionError(this.databasePath, version);
|
|
170
170
|
const value = operation(db);
|
|
171
171
|
db.exec('COMMIT');
|
|
172
172
|
return value;
|
|
@@ -251,6 +251,38 @@ export class SqliteResidentLearningStore {
|
|
|
251
251
|
return rows.map((row) => this.observationRecord(row));
|
|
252
252
|
});
|
|
253
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* Drop unclaimed observations the host no longer wants to keep (retention). An
|
|
256
|
+
* observation a cycle has claimed is never dropped, so no experiment loses its
|
|
257
|
+
* source. Returns how many were removed; the store keeps no clock, so the host
|
|
258
|
+
* decides from the record (for example the age of its session).
|
|
259
|
+
*/
|
|
260
|
+
async pruneObservations(shouldDrop) {
|
|
261
|
+
if (this.readOnly)
|
|
262
|
+
throw new Error('Learning database is read-only.');
|
|
263
|
+
if (!existsSync(this.databasePath))
|
|
264
|
+
return 0;
|
|
265
|
+
const doomed = [];
|
|
266
|
+
for (let after = 0;;) {
|
|
267
|
+
const page = await this.observations({ after, limit: 100 });
|
|
268
|
+
if (page.length === 0)
|
|
269
|
+
break;
|
|
270
|
+
for (const record of page)
|
|
271
|
+
if (record.attemptedCycleId === null && shouldDrop(record))
|
|
272
|
+
doomed.push(record.ordinal);
|
|
273
|
+
after = page[page.length - 1]?.ordinal ?? after;
|
|
274
|
+
}
|
|
275
|
+
if (doomed.length === 0)
|
|
276
|
+
return 0;
|
|
277
|
+
return this.use(true, (db) => {
|
|
278
|
+
const remove = db.prepare('DELETE FROM observations WHERE ordinal=? AND tenant_id=? AND project_id=? AND agent_key=?');
|
|
279
|
+
let removed = 0;
|
|
280
|
+
for (const ordinal of doomed)
|
|
281
|
+
removed += Number(remove.run(ordinal, this.scope.tenantId, this.scope.projectId, this.scope.agentKey)
|
|
282
|
+
.changes);
|
|
283
|
+
return removed;
|
|
284
|
+
});
|
|
285
|
+
}
|
|
254
286
|
/** Oldest eligible unattempted task across current targets; no model call or claim is made. */
|
|
255
287
|
async selectObservation(input) {
|
|
256
288
|
const targets = z.array(learningTargetSchema).min(1).max(16).parse(input);
|
|
@@ -569,8 +601,8 @@ export class SqliteResidentLearningStore {
|
|
|
569
601
|
}
|
|
570
602
|
}
|
|
571
603
|
/** @experimental Supply normal host callbacks; the store retains journal events and full paired batches. */
|
|
572
|
-
export async function
|
|
573
|
-
return
|
|
604
|
+
export async function runStoredLearningCycle(store, options) {
|
|
605
|
+
return runLearningCycle({
|
|
574
606
|
...options,
|
|
575
607
|
record: (event) => store.append(event),
|
|
576
608
|
evaluate: async (context) => {
|
|
@@ -586,20 +618,20 @@ export async function runStoredResidentLearningCycle(store, options) {
|
|
|
586
618
|
* Claim and start are one SQLite transaction; concurrent selectors cannot run
|
|
587
619
|
* the same task/evaluator/baseline twice, even after a crash or reopened process.
|
|
588
620
|
*/
|
|
589
|
-
export async function
|
|
621
|
+
export async function runStoredLearningFromObservations(store, options) {
|
|
590
622
|
options.signal.throwIfAborted();
|
|
591
623
|
const agenda = await options.agenda.read();
|
|
592
624
|
if (!agenda || agenda.paused || agenda.pursuits.some((p) => p.state.phase === 'running'))
|
|
593
625
|
throw new Error('Learning discovery requires an unpaused agenda without running pursuits.');
|
|
594
626
|
const targets = options.evaluators.map((target) => {
|
|
595
627
|
const skill = agenda.learning?.skills.find((s) => s.name === target.skillName);
|
|
596
|
-
return { ...target, baselineRevision: skill ?
|
|
628
|
+
return { ...target, baselineRevision: skill ? hashLearningSkill(skill) : 'none' };
|
|
597
629
|
});
|
|
598
630
|
const observation = await store.selectObservation(targets);
|
|
599
631
|
options.signal.throwIfAborted();
|
|
600
632
|
if (!observation)
|
|
601
633
|
return { observation: null, cycle: null };
|
|
602
|
-
const cycle = await
|
|
634
|
+
const cycle = await runLearningCycle({
|
|
603
635
|
...options,
|
|
604
636
|
skillName: observation.skillName,
|
|
605
637
|
failure: { evidence: observation.evidence, trace: observation.trace },
|
|
@@ -614,4 +646,4 @@ export async function runStoredResidentLearningFromObservations(store, options)
|
|
|
614
646
|
});
|
|
615
647
|
return { observation, cycle };
|
|
616
648
|
}
|
|
617
|
-
//# sourceMappingURL=
|
|
649
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/learning/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EACN,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,aAAa,GACb,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAElD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAIN,gBAAgB,GAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EAIN,yBAAyB,EACzB,oBAAoB,GACpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,IAAI,GAAG,CAAC;KACZ,MAAM,EAAE;KACR,IAAI,EAAE;KACN,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;AACrC,MAAM,MAAM,GAAG,CAAC,IAAqB,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACzF,MAAM,eAAe,GAAG,GAAG,GAAG,IAAI,CAAA;AAClC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAC1C,MAAM,UAAU,GAAG,IAAI,CAAA;AACvB,MAAM,aAAa,GAAG,GAAG,CAAA;AACzB,MAAM,aAAa,GAAG;;;;;;EAMpB,CAAA;AACF,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuB3B,CAAA;AACD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBd,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAEvC,mEAAmE;AACnE,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACjC,IAAI,GAAG,2BAA2B,CAAA;IAC3C,KAAK,CAAQ;IACb,QAAQ,CAAQ;IAEzB,YAAY,YAAoB,EAAE,KAAa;QAC9C,KAAK,CACJ,qBAAqB,YAAY,yBAAyB,KAAK,8BAA8B,sBAAsB,wGAAwG,CAC3N,CAAA;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAA;IACvC,CAAC;CACD;AAkED,MAAM,OAAO,GAAG,CAAC,GAAa,EAAwB,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,GAAG,CAAC,EAAE;IACf,OAAO,EAAE,GAAG,CAAC,OAAO;IACpB,aAAa,EAAE,GAAG,CAAC,SAAS;IAC5B,SAAS,EAAE,GAAG,CAAC,UAAU;IACzB,MAAM,EAAE,GAAG,CAAC,MAAM;IAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;IACtB,SAAS,EAAE,GAAG,CAAC,UAAU;IACzB,SAAS,EAAE,GAAG,CAAC,UAAU;IACzB,iBAAiB,EAAE,GAAG,CAAC,cAAc;IACrC,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;IAC3D,aAAa,EAAE;QACd,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,YAAY,EAAE,GAAG,CAAC,aAAa;KAC/B;CACD,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IACtB,YAAY,CAAQ;IACpB,aAAa,CAAQ;IACb,KAAK,CAAqC;IAC1C,QAAQ,CAAS;IAElC,YAAY,OAAmC;QAC9C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACjD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QACnD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1B,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1D,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC7D,QAAQ,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,KAAK,CAAC,4BAA4B,CAAC;iBACnC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC/B,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAA;IAC1C,CAAC;IAEO,GAAG,CAAI,KAAc,EAAE,SAAkC;QAChE,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAC9E,IAAI,QAA6B,CAAA;QACjC,IAAI,CAAC;YACJ,QAAQ,GAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAkC;iBACxF,YAAY,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,sDAAsD,EAAE;gBACvE,KAAK,EAAE,KAAK;aACZ,CAAC,CAAA;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC3F,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QACvE,IAAI,CAAC;YACJ,EAAE,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;YAChE,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,EAAE,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;YACvF,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;YAC5C,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAA;gBAC7E,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;oBAC5B,IACC,EAAE;yBACA,OAAO,CACP,wFAAwF,CACxF;yBACA,GAAG,EAAE;wBAEP,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;oBACxE,EAAE,CAAC,IAAI,CACN,GAAG,MAAM,IAAI,mBAAmB,0BAA0B,sBAAsB,GAAG,CACnF,CAAA;gBACF,CAAC;qBAAM,IAAI,OAAO,KAAK,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;qBAC/E,IAAI,OAAO,KAAK,sBAAsB;oBAC1C,MAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;gBAChE,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;gBAC3B,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACjB,OAAO,KAAK,CAAA;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACnB,MAAM,KAAK,CAAA;YACZ,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,EAAE,CAAC,KAAK,EAAE,CAAA;QACX,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,EAAgB,EAAE,EAAU;QACzC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAyB,CAAA;QAC3F,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QACrB,IACC,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ;YACrC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS;YACvC,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ;YAErC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAA;QACxF,OAAO,GAAG,CAAA;IACX,CAAC;IAED,6FAA6F;IAC7F,KAAK,CAAC,OAAO,CAAC,KAA0B;QACvC,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC9E,MAAM,QAAQ,GAAG,EAAE;iBACjB,OAAO,CACP,2JAA2J,CAC3J;iBACA,GAAG,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;YACxF,IAAI,QAAQ,EAAE,CAAC;gBACd,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;oBACzB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;gBACvE,OAAM;YACP,CAAC;YACD,EAAE,CAAC,OAAO,CAAC;;6CAE+B,CAAC,CAAC,GAAG,CAC9C,GAAG,KAAK,EACR,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,OAAO,EACb,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC,EACzD,IAAI,CACJ,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAEO,iBAAiB;QACxB,OAAO;;;;;4DAKmD,CAAA;IAC3D,CAAC;IAEO,iBAAiB,CAAC,GAIzB;QACA,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QACnE,OAAO,MAAM,CAAC,MAAM,CAAC;YACpB,GAAG,KAAK;YACR,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;YACvC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;SACtC,CAAC,CAAA;IACH,CAAC;IAED,yFAAyF;IACzF,KAAK,CAAC,YAAY,CACjB,UAAgE,EAAE;QAElE,MAAM,KAAK,GAAG,CAAC;aACb,MAAM,EAAE;aACR,GAAG,EAAE;aACL,WAAW,EAAE;aACb,IAAI,EAAE;aACN,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,CAAC;aACb,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;YAAE,OAAO,EAAE,CAAA;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;YAC7B,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAA;YAClF,MAAM,IAAI,GAAG,EAAE;iBACb,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,6CAA6C,CAAC;iBACjF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YACnF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACvB,IAAI,CAAC,iBAAiB,CACrB,GAAyE,CACzE,CACD,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CACtB,UAA0D;QAE1D,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;YAAE,OAAO,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,IAAM,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;YAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAK;YAC5B,KAAK,MAAM,MAAM,IAAI,IAAI;gBACxB,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACxF,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI,KAAK,CAAA;QAChD,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CACxB,2FAA2F,CAC3F,CAAA;YACD,IAAI,OAAO,GAAG,CAAC,CAAA;YACf,KAAK,MAAM,OAAO,IAAI,MAAM;gBAC3B,OAAO,IAAI,MAAM,CAChB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;qBACjF,OAAO,CACT,CAAA;YACF,OAAO,OAAO,CAAA;QACf,CAAC,CAAC,CAAA;IACH,CAAC;IAED,+FAA+F;IAC/F,KAAK,CAAC,iBAAiB,CACtB,KAAgC;QAEhC,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACzE,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;YACnE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;QAChF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAA;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;YAC7B,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YACpF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACvC,MAAM,GAAG,GAAG,EAAE;qBACZ,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE;;kCAEP,aAAa,6BAA6B,CAAC;qBACvE,GAAG,CACH,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,IAAI,CAAC,KAAK,CAAC,SAAS,EACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,gBAAgB,CACvB,CAAA;gBACF,OAAO,GAAG;oBACT,CAAC,CAAC;wBACA,IAAI,CAAC,iBAAiB,CACrB,GAAyE,CACzE;qBACD;oBACF,CAAC,CAAC,EAAE,CAAA;YACN,CAAC,CAAC,CAAA;YACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QAC7D,CAAC,CAAC,CAAA;IACH,CAAC;IAEO,gBAAgB,CAAC,EAAgB,EAAE,KAAyB;QACnE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,OAAM;QAC5E,MAAM,QAAQ,GAAG,CAAC;aAChB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;aACvD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC/B,MAAM,GAAG,GAAG,EAAE;aACZ,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,aAAa,EAAE,CAAC;aAC3E,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QACvF,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;QACzF,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CACnC,GAAyE,CACzE,CAAA;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,gBAAgB;YAC/E,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;QACrF,IACC,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YACxC,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB;YACtD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;gBACjC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAEjE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAA;QAC/F,EAAE,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAC,GAAG,CACjF,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,IAAI,CAAC,KAAK,CAAC,SAAS,EACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,CACb,CAAA;IACF,CAAC;IAED,iGAAiG;IACjG,KAAK,CAAC,MAAM,CAAC,KAAyB;QACrC,MAAM,KAAK,GAAG,CAAC;aACb,MAAM,CAAC;YACP,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;YACjD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;gBACZ,SAAS;gBACT,eAAe;gBACf,gBAAgB;gBAChB,OAAO;gBACP,aAAa;gBACb,WAAW;gBACX,YAAY;gBACZ,sBAAsB;gBACtB,UAAU;aACV,CAAC;YACF,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE;YACjF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC3B,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,CAAA;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe;YAC5C,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAA;QACxF,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;YACrB,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,GAAG,EAAE,CAAC;gBACT,MAAM,QAAQ,GAAG,EAAE;qBACjB,OAAO,CAAC,6DAA6D,CAAC;qBACtE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACpC,IAAI,QAAQ,EAAE,CAAC;oBACd,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;wBACzB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;oBAC1E,OAAM;gBACP,CAAC;gBACD,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,GAAG,CAAC;oBAC7D,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;YAC5E,CAAC;iBAAM,CAAC;gBACP,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBACxE,MAAM,IAAI,KAAK,CACd,2EAA2E,CAC3E,CAAA;gBACF,IACC,KAAK,CAAC,IAAI,KAAK,SAAS;oBACxB,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ;wBAC3C,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAE7C,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;gBACrE,MAAM,MAAM,GACX,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;gBACrF,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC;oBACpC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;gBACxE,MAAM,SAAS,GACd,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS;oBACjC,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,CAAC;yBACA,MAAM,EAAE;yBACR,KAAK,CAAC,4BAA4B,CAAC;yBACnC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBACtB,EAAE,CAAC,OAAO,CACT,kKAAkK,CAClK,CAAC,GAAG,CACJ,KAAK,CAAC,OAAO,EACb,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,IAAI,CAAC,KAAK,CAAC,SAAS,EACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,MAAM,EACN,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,CACH,CAAA;gBACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAa,CAAA;YAChD,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAChC,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;YACvB,IAAI,MAAM,GAAkB,IAAI,CAAA;YAChC,IAAI,IAAI,GAAG,GAAG,CAAC,cAAc,CAAA;YAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,CAAC;qBACf,MAAM,CAAC;oBACP,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;oBACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBACrD,CAAC;qBACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC3B,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;gBAC7E,IACC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;oBACzD,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;oBAEvD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;gBAClD,EAAE,CAAC,OAAO,CACT,6EAA6E,CAC7E,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;gBACvD,EAAE,CAAC,OAAO,CACT,8KAA8K,CAC9K,CAAC,GAAG,CACJ,OAAO,CAAC,MAAM,IAAI,CAAC,EACnB,OAAO,CAAC,OAAO,IAAI,CAAC,EACpB,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,EAC/B,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,EAChC,KAAK,CAAC,OAAO,CACb,CAAA;YACF,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;gBAC7B,IAAI,GAAG,CAAC;qBACN,MAAM,EAAE;qBACR,KAAK,CAAC,gBAAgB,CAAC;qBACvB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YACtC,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB;gBAAE,MAAM,GAAG,oBAAoB,CAAA;YACxE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAA6B,CAAA;gBACtD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,OAAO;oBACxD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;gBACtE,MAAM,GAAG,CAAC;qBACR,IAAI,CAAC;oBACL,WAAW;oBACX,UAAU;oBACV,cAAc;oBACd,UAAU;oBACV,WAAW;oBACX,QAAQ;oBACR,oBAAoB;iBACpB,CAAC;qBACD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACrB,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAClE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;gBACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAA;gBAC3C,KAAK,MAAM,GAAG,IAAI;oBACjB,QAAQ;oBACR,SAAS;oBACT,UAAU;oBACV,eAAe;oBACf,cAAc;iBACL,EAAE,CAAC;oBACZ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC;wBAC7C,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;gBACnF,CAAC;gBACD,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAC/B,CAAC;YACD,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAC1F,EAAE,CAAC,OAAO,CACT,yGAAyG,CACzG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAe;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACjC,CAAC,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CACT,UAAiE,EAAE;QAEnE,MAAM,KAAK,GAAG,CAAC;aACb,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QAC5B,MAAM,MAAM,GAAG,CAAC;aACd,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,IAAI,EAAE;aACN,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAClD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAE5B,EAAE;aACA,OAAO,CACP,6HAA6H,CAC7H;aACA,GAAG,CACH,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,IAAI,CAAC,KAAK,CAAC,SAAS,EACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,MAAM,EACN,KAAK,CAEP,CAAC,GAAG,CAAC,OAAO,CAAC,CACd,CAAA;IACF,CAAC;IAED,KAAK,CAAC,MAAM,CACX,OAAe,EACf,UAAgE,EAAE;QAElE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,CAAC;aACb,MAAM,EAAE;aACR,GAAG,EAAE;aACL,WAAW,EAAE;aACb,GAAG,CAAC,UAAU,CAAC;aACf,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,CAAC;aACb,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,GAAG,CAAC,GAAG,CAAC;aACR,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;gBAAE,OAAO,EAAE,CAAA;YAClC,OAAO,EAAE;iBACP,OAAO,CACP,uFAAuF,CACvF;iBACA,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC;iBACrB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;gBAAE,OAAO,EAAE,CAAA;YAClC,OAAO,EAAE;iBACP,OAAO,CAAC,0EAA0E,CAAC;iBACnF,GAAG,CAAC,EAAE,CAAkC,CAAA;QAC3C,CAAC,CAAC,CAAA;IACH,CAAC;IAED,iHAAiH;IACjH,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,IAAY,EAAE,KAAc;QAC9D,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACrE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC9B,CAAC,CAAC,MAAM,EAAE;aACR,KAAK,CAAC,8BAA8B,CAAC;aACrC,KAAK,CAAC,IAAI,CAAC,CAAA;QACb,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,kBAAkB;YACrE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QAChE,MAAM,QAAQ,GAAG;YAChB,IAAI;YACJ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;SAC9B,CAAA;QACD,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAA;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,UAAU,EAAE,EAAE,CAAC,CAAA;QACxE,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC3C,IAAI,CAAC;YACJ,IAAI,CAAC;gBACJ,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;gBACvB,SAAS,CAAC,EAAE,CAAC,CAAA;YACd,CAAC;oBAAS,CAAC;gBACV,SAAS,CAAC,EAAE,CAAC,CAAA;YACd,CAAC;YACD,IAAI,CAAC;gBACJ,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,KAAK,CAAA;YACpE,CAAC;YACD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;YAC/B,IACC,CAAC,KAAK,CAAC,MAAM,EAAE;gBACf,KAAK,CAAC,cAAc,EAAE;gBACtB,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK;gBAC7B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI;gBAE9C,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QACvE,CAAC;gBAAS,CAAC;YACV,UAAU,CAAC,SAAS,CAAC,CAAA;QACtB,CAAC;QACD,2EAA2E;QAC3E,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;YACnD,IAAI,CAAC;gBACJ,SAAS,CAAC,SAAS,CAAC,CAAA;YACrB,CAAC;oBAAS,CAAC;gBACV,SAAS,CAAC,SAAS,CAAC,CAAA;YACrB,CAAC;QACF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;YACvE,MAAM,QAAQ,GAAG,EAAE;iBACjB,OAAO,CAAC,4DAA4D,CAAC;iBACrE,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACf,IAAI,QAAQ,EAAE,CAAC;gBACd,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;oBAClC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;gBAChF,OAAM;YACP,CAAC;YACD,IACC,MAAM,CACL,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CACvF,IAAI,aAAa;gBAElB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;YAC3D,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAC1D,EAAE,EACF,IAAI,EACJ,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,KAAK,CACd,CAAA;QACF,CAAC,CAAC,CAAA;QACF,OAAO,QAAQ,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,IAAY;QAC/C,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QACnF,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QAClF,CAAC,CAAC,MAAM,EAAE;aACR,KAAK,CAAC,gBAAgB,CAAC;aACvB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAA;QAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAC7B,IACC,CAAC,KAAK,CAAC,MAAM,EAAE;YACf,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK;YAC7B,KAAK,CAAC,IAAI,GAAG,kBAAkB;YAE/B,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;QACjF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACvF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IACzC,CAAC;CACD;AAED,4GAA4G;AAC5G,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,KAA0B,EAC1B,OAA6C;IAE7C,OAAO,gBAAgB,CAAC;QACvB,GAAG,OAAO;QACV,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC7C,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;YACpE,OAAO,KAAK,CAAA;QACb,CAAC;KACD,CAAC,CAAA;AACH,CAAC;AAcD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACtD,KAA0B,EAC1B,OAAiC;IAEjC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAC1C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAA;IAC5F,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,CAAA;QAC9E,OAAO,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;IAClF,CAAC,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAC1D,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;IAC/B,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IAC3D,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;QACpC,GAAG,OAAO;QACV,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE;QACrE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK,CAAC,MAAM,CACX,KAAK,CAAC,IAAI,KAAK,SAAS;YACvB,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE;YACtF,CAAC,CAAC,KAAK,CACR;QACF,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC7C,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;YACpE,OAAO,KAAK,CAAA;QACb,CAAC;KACD,CAAC,CAAA;IACF,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;AAC9B,CAAC"}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import type { ResidentAgendaState } from './agenda.js';
|
|
2
2
|
import { type ResidentHistoryReadBudget } from './history-disk.js';
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* @experimental An immutable upper boundary; new work requires a new source.
|
|
5
|
+
*
|
|
6
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
7
|
+
*/
|
|
4
8
|
export interface ResidentActivityScope {
|
|
5
9
|
readonly tenantId: string;
|
|
6
10
|
readonly agentKey: string;
|
|
7
11
|
readonly throughRevision: number;
|
|
8
12
|
}
|
|
9
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* @experimental Admission is authority to inspect an attempt, not proof that it executed.
|
|
15
|
+
*
|
|
16
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
17
|
+
*/
|
|
10
18
|
export interface ResidentAdmission {
|
|
11
19
|
readonly revision: number;
|
|
12
20
|
readonly pursuitRevision: number;
|
|
@@ -15,20 +23,32 @@ export interface ResidentAdmission {
|
|
|
15
23
|
readonly step: number;
|
|
16
24
|
readonly objective: string;
|
|
17
25
|
}
|
|
18
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* @experimental Settlement is an agenda decision, not proof of verification or delivery.
|
|
28
|
+
*
|
|
29
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
30
|
+
*/
|
|
19
31
|
export interface ResidentSettlement {
|
|
20
32
|
readonly revision: number;
|
|
21
33
|
readonly pursuitId: string;
|
|
22
34
|
readonly claimId: string;
|
|
23
35
|
readonly outcome: 'wait' | 'complete' | 'blocked';
|
|
24
36
|
}
|
|
25
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* @experimental Forward pages; cursor is the next revision to inspect, initially 1.
|
|
39
|
+
*
|
|
40
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
41
|
+
*/
|
|
26
42
|
export interface ResidentActivityOptions {
|
|
27
43
|
readonly cursor?: number;
|
|
28
44
|
readonly maxRevisions?: number;
|
|
29
45
|
readonly maxReadBytes?: number;
|
|
30
46
|
}
|
|
31
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* @experimental Gaps stay explicit; counts cover only the scanned revision range.
|
|
49
|
+
*
|
|
50
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
51
|
+
*/
|
|
32
52
|
export interface ResidentActivityPage {
|
|
33
53
|
readonly scope: ResidentActivityScope;
|
|
34
54
|
readonly fromRevision: number;
|
|
@@ -40,7 +60,11 @@ export interface ResidentActivityPage {
|
|
|
40
60
|
readonly settlements: readonly ResidentSettlement[];
|
|
41
61
|
readonly archivedPursuits: readonly string[];
|
|
42
62
|
}
|
|
43
|
-
/**
|
|
63
|
+
/**
|
|
64
|
+
* @experimental A backend must enforce scope, cancellation and read bounds.
|
|
65
|
+
*
|
|
66
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
67
|
+
*/
|
|
44
68
|
export interface ResidentActivitySource {
|
|
45
69
|
readonly scope: ResidentActivityScope;
|
|
46
70
|
read(options?: ResidentActivityOptions, signal?: AbortSignal): Promise<ResidentActivityPage>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../src/manager/resident/activity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAA4B,KAAK,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAE5F
|
|
1
|
+
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../src/manager/resident/activity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAA4B,KAAK,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAE5F;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;CACjD;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAA;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAA;IAChD,QAAQ,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAA;IACjD,QAAQ,CAAC,WAAW,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACnD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5C;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAA;IACrC,IAAI,CAAC,OAAO,CAAC,EAAE,uBAAuB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;CAC5F;AAED,sDAAsD;AACtD,wBAAgB,4BAA4B,CAC3C,UAAU,EAAE,qBAAqB,EACjC,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,KAAK,OAAO,CAAC,mBAAmB,CAAC,GACzF,sBAAsB,CA+HxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../src/manager/resident/activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,wBAAwB,EAAkC,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../src/manager/resident/activity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import type { TenantId } from '../../types/ids/index.js';
|
|
2
2
|
import { type ResidentDecision, type ResidentExecutionStore, type ResidentState } from './store.js';
|
|
3
|
+
import { type LearningEvidence, type LearningProfileUpdate, type LearningSkillCandidate, type LearningSkillEvaluation, type LearningState } from '../../learning/skill.js';
|
|
3
4
|
import { type ResidentActivitySource } from './activity.js';
|
|
4
5
|
import { type ResidentHistorySource } from './history.js';
|
|
5
6
|
import { type ResidentFeedback, type ResidentObservation } from './initiative.js';
|
|
6
|
-
import { type ResidentLearningEvidence, type ResidentLearningState, type ResidentProfileUpdate, type ResidentSkillCandidate, type ResidentSkillEvaluation } from './learning.js';
|
|
7
7
|
import { type ResidentDeliveryOutcome, type ResidentMessageInput, type ResidentOutboxMessage } from './outbox.js';
|
|
8
8
|
import { type ResidentProposal, type ResidentProposalLimits, type ResidentProposalOrigin } from './proposal.js';
|
|
9
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* @experimental One pursuit shares its agent's identity, but has its own lifecycle.
|
|
11
|
+
*
|
|
12
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
13
|
+
*/
|
|
10
14
|
export interface ResidentPursuit {
|
|
11
15
|
readonly id: string;
|
|
12
16
|
readonly state: ResidentState;
|
|
@@ -15,7 +19,11 @@ export interface ResidentPursuit {
|
|
|
15
19
|
/** Archived direct children still consume the parent's lifetime admission bound. */
|
|
16
20
|
readonly retiredChildren?: number;
|
|
17
21
|
}
|
|
18
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* @experimental Bounded shared admission record; at most one pursuit may be running.
|
|
24
|
+
*
|
|
25
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
26
|
+
*/
|
|
19
27
|
export interface ResidentAgendaState {
|
|
20
28
|
readonly tenantId: string;
|
|
21
29
|
readonly agentKey: string;
|
|
@@ -27,31 +35,51 @@ export interface ResidentAgendaState {
|
|
|
27
35
|
readonly pursuits: readonly ResidentPursuit[];
|
|
28
36
|
readonly outbox?: readonly ResidentOutboxMessage[];
|
|
29
37
|
readonly archiveHead?: number;
|
|
30
|
-
readonly learning?:
|
|
38
|
+
readonly learning?: LearningState;
|
|
31
39
|
}
|
|
32
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* @experimental Explicit terminal entries to retire from active capacity together.
|
|
42
|
+
*
|
|
43
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
44
|
+
*/
|
|
33
45
|
export interface ResidentArchiveRequest {
|
|
34
46
|
readonly pursuitIds?: readonly string[];
|
|
35
47
|
readonly messageIds?: readonly string[];
|
|
36
48
|
}
|
|
37
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* @experimental A committed removal, whose immutable predecessor preserves the full records.
|
|
51
|
+
*
|
|
52
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
53
|
+
*/
|
|
38
54
|
export interface ResidentArchiveEntry {
|
|
39
55
|
readonly revision: number;
|
|
40
56
|
readonly pursuits: readonly ResidentPursuit[];
|
|
41
57
|
readonly messages: readonly ResidentOutboxMessage[];
|
|
42
58
|
}
|
|
43
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* @experimental Pages count archive events; each event contains at most 32 pursuits and 128 messages.
|
|
61
|
+
*
|
|
62
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
63
|
+
*/
|
|
44
64
|
export interface ResidentArchivePage {
|
|
45
65
|
readonly entries: readonly ResidentArchiveEntry[];
|
|
46
66
|
readonly nextBeforeRevision: number | null;
|
|
47
67
|
}
|
|
48
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* @experimental The cursor is the next archive-event revision returned by a previous page.
|
|
70
|
+
*
|
|
71
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
72
|
+
*/
|
|
49
73
|
export interface ResidentArchiveListOptions {
|
|
50
74
|
readonly beforeRevision?: number;
|
|
51
75
|
/** Number of archive events to inspect; defaults to 8 and cannot exceed 32. */
|
|
52
76
|
readonly limit?: number;
|
|
53
77
|
}
|
|
54
|
-
/**
|
|
78
|
+
/**
|
|
79
|
+
* @experimental Atomic whole-agent admission plus independently addressable pursuits.
|
|
80
|
+
*
|
|
81
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
82
|
+
*/
|
|
55
83
|
export interface ResidentAgendaStore {
|
|
56
84
|
read(): Promise<ResidentAgendaState | null>;
|
|
57
85
|
create(identity: string): Promise<ResidentAgendaState>;
|
|
@@ -73,6 +101,8 @@ export interface ResidentAgendaStore {
|
|
|
73
101
|
* @experimental One immutable revision contains identity, pause state and all
|
|
74
102
|
* pursuits. Admission therefore serializes this agent even across processes
|
|
75
103
|
* choosing different pursuits. Trusted local filesystems only; no lease expiry.
|
|
104
|
+
*
|
|
105
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
76
106
|
*/
|
|
77
107
|
export declare class DiskResidentAgenda implements ResidentAgendaStore {
|
|
78
108
|
private readonly records;
|
|
@@ -115,11 +145,11 @@ export declare class DiskResidentAgenda implements ResidentAgendaStore {
|
|
|
115
145
|
setPaused(expected: ResidentAgendaState, paused: boolean): Promise<ResidentAgendaState>;
|
|
116
146
|
private learn;
|
|
117
147
|
/** Append a host-evidenced correction only while pursuit admission is idle. */
|
|
118
|
-
updateProfile(expected: ResidentAgendaState, input:
|
|
148
|
+
updateProfile(expected: ResidentAgendaState, input: LearningProfileUpdate): Promise<ResidentAgendaState>;
|
|
119
149
|
/** Bind evaluated guidance to the current learning version and an idle agenda. */
|
|
120
|
-
promoteSkill(expected: ResidentAgendaState, candidate:
|
|
150
|
+
promoteSkill(expected: ResidentAgendaState, candidate: LearningSkillCandidate, evaluation: LearningSkillEvaluation, evidence: LearningEvidence): Promise<ResidentAgendaState>;
|
|
121
151
|
/** Restore one skill from an immutable agenda revision while retaining the current profile. */
|
|
122
|
-
rollbackSkill(expected: ResidentAgendaState, name: string, fromRevision: number, evidence:
|
|
152
|
+
rollbackSkill(expected: ResidentAgendaState, name: string, fromRevision: number, evidence: LearningEvidence): Promise<ResidentAgendaState>;
|
|
123
153
|
private updatePursuit;
|
|
124
154
|
wake(id: string, expected: ResidentState, reason: string, now: number): Promise<ResidentState>;
|
|
125
155
|
settleObserved(id: string, expected: ResidentState, decision: ResidentDecision, observation: ResidentObservation, now: number): Promise<ResidentState>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agenda.d.ts","sourceRoot":"","sources":["../../../src/manager/resident/agenda.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAEN,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAOlB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,KAAK,sBAAsB,EAAgC,MAAM,eAAe,CAAA;AAEzF,OAAO,EAAE,KAAK,qBAAqB,EAA+B,MAAM,cAAc,CAAA;AACtF,OAAO,EACN,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAKxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACN,KAAK,
|
|
1
|
+
{"version":3,"file":"agenda.d.ts","sourceRoot":"","sources":["../../../src/manager/resident/agenda.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,11 +7,11 @@ import { DiskRevisionRecordStore } from '../../store/kv/revision-record-store.js
|
|
|
7
7
|
import { defineSchema, migrate } from '../../store/schema.js';
|
|
8
8
|
import { asTenantId } from '../../utils/id.js';
|
|
9
9
|
import { ResidentConflictError, claimResidentState, residentDecisionSchema, residentKeySegment, residentStateSchema, settleResidentState, wakeResidentState, } from './store.js';
|
|
10
|
+
import { freezeLearning, learningEvidenceSchema, learningSchema, promoteLearningSkill, restoreLearningSkill, reviseLearningProfile, } from '../../learning/skill.js';
|
|
10
11
|
import { createResidentActivitySource } from './activity.js';
|
|
11
12
|
import { readResidentHistoryRecord } from './history-disk.js';
|
|
12
13
|
import { createResidentHistorySource } from './history.js';
|
|
13
14
|
import { freezeResidentFeedback, observeResidentStep, residentFeedbackSchema, residentObservationSchema, } from './initiative.js';
|
|
14
|
-
import { freezeResidentLearning, promoteResidentSkill, residentLearningEvidenceSchema, residentLearningSchema, restoreResidentSkill, reviseResidentProfile, } from './learning.js';
|
|
15
15
|
import { appendResidentMessage, claimResidentOutboxMessage, residentDeliveryOutcomeSchema, residentMessageInputSchema, residentOutboxMessageSchema, settleResidentOutboxMessage, } from './outbox.js';
|
|
16
16
|
import { residentProposalLimitsSchema, residentProposalOriginSchema, residentProposalSchema, validateResidentProposal, } from './proposal.js';
|
|
17
17
|
const agendaSchema = z
|
|
@@ -23,7 +23,7 @@ const agendaSchema = z
|
|
|
23
23
|
paused: z.boolean(),
|
|
24
24
|
pauseGeneration: z.number().int().nonnegative().safe().optional(),
|
|
25
25
|
archiveHead: z.number().int().min(2).safe().optional(),
|
|
26
|
-
learning:
|
|
26
|
+
learning: learningSchema.optional(),
|
|
27
27
|
outbox: z.array(residentOutboxMessageSchema).max(128).optional(),
|
|
28
28
|
pursuits: z
|
|
29
29
|
.array(z.object({
|
|
@@ -87,6 +87,8 @@ const archiveRequestSchema = z.object({
|
|
|
87
87
|
* @experimental One immutable revision contains identity, pause state and all
|
|
88
88
|
* pursuits. Admission therefore serializes this agent even across processes
|
|
89
89
|
* choosing different pursuits. Trusted local filesystems only; no lease expiry.
|
|
90
|
+
*
|
|
91
|
+
* @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
|
|
90
92
|
*/
|
|
91
93
|
export class DiskResidentAgenda {
|
|
92
94
|
records = new DiskRevisionRecordStore(agendaRecordSchema, 'resident agenda', (record) => record.revision);
|
|
@@ -114,7 +116,7 @@ export class DiskResidentAgenda {
|
|
|
114
116
|
throw new Error('Agenda does not match the bound tenant and agent.');
|
|
115
117
|
return Object.freeze({
|
|
116
118
|
...agenda,
|
|
117
|
-
...(agenda.learning ? { learning:
|
|
119
|
+
...(agenda.learning ? { learning: freezeLearning(agenda.learning) } : {}),
|
|
118
120
|
...(agenda.outbox
|
|
119
121
|
? { outbox: Object.freeze(agenda.outbox.map((message) => Object.freeze(message))) }
|
|
120
122
|
: {}),
|
|
@@ -375,19 +377,19 @@ export class DiskResidentAgenda {
|
|
|
375
377
|
/** Append a host-evidenced correction only while pursuit admission is idle. */
|
|
376
378
|
async updateProfile(expected, input) {
|
|
377
379
|
const snapshot = this.checked(expected);
|
|
378
|
-
const learning =
|
|
380
|
+
const learning = reviseLearningProfile(snapshot.learning, input);
|
|
379
381
|
return this.learn(snapshot, learning);
|
|
380
382
|
}
|
|
381
383
|
/** Bind evaluated guidance to the current learning version and an idle agenda. */
|
|
382
384
|
async promoteSkill(expected, candidate, evaluation, evidence) {
|
|
383
385
|
const snapshot = this.checked(expected);
|
|
384
|
-
const learning =
|
|
386
|
+
const learning = promoteLearningSkill(snapshot.learning, candidate, evaluation, evidence);
|
|
385
387
|
return this.learn(snapshot, learning);
|
|
386
388
|
}
|
|
387
389
|
/** Restore one skill from an immutable agenda revision while retaining the current profile. */
|
|
388
390
|
async rollbackSkill(expected, name, fromRevision, evidence) {
|
|
389
391
|
const snapshot = this.checked(expected);
|
|
390
|
-
const checkedEvidence =
|
|
392
|
+
const checkedEvidence = learningEvidenceSchema.parse(evidence);
|
|
391
393
|
z.number().int().positive().safe().max(snapshot.revision).parse(fromRevision);
|
|
392
394
|
z.string()
|
|
393
395
|
.regex(/^[a-z0-9][a-z0-9_-]{0,63}$/)
|
|
@@ -395,7 +397,7 @@ export class DiskResidentAgenda {
|
|
|
395
397
|
const historical = await this.readRevision(fromRevision);
|
|
396
398
|
if (!historical)
|
|
397
399
|
throw new Error('Resident skill rollback revision is missing.');
|
|
398
|
-
const learning =
|
|
400
|
+
const learning = restoreLearningSkill(snapshot.learning, historical.learning, name, checkedEvidence);
|
|
399
401
|
return this.learn(snapshot, learning);
|
|
400
402
|
}
|
|
401
403
|
async updatePursuit(id, expected, update, admission = false, expectedAgendaRevision, observation, message) {
|