@namzu/sdk 38.1.0 → 38.2.1
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 +58 -0
- package/dist/manager/resident/agenda.d.ts +125 -0
- package/dist/manager/resident/agenda.d.ts.map +1 -0
- package/dist/manager/resident/agenda.js +551 -0
- package/dist/manager/resident/agenda.js.map +1 -0
- package/dist/manager/resident/delivery-window.d.ts +22 -0
- package/dist/manager/resident/delivery-window.d.ts.map +1 -0
- package/dist/manager/resident/delivery-window.js +78 -0
- package/dist/manager/resident/delivery-window.js.map +1 -0
- package/dist/manager/resident/host.d.ts +78 -0
- package/dist/manager/resident/host.d.ts.map +1 -0
- package/dist/manager/resident/host.js +252 -0
- package/dist/manager/resident/host.js.map +1 -0
- package/dist/manager/resident/initiative.d.ts +111 -0
- package/dist/manager/resident/initiative.d.ts.map +1 -0
- package/dist/manager/resident/initiative.js +121 -0
- package/dist/manager/resident/initiative.js.map +1 -0
- package/dist/manager/resident/learning.d.ts +483 -0
- package/dist/manager/resident/learning.d.ts.map +1 -0
- package/dist/manager/resident/learning.js +263 -0
- package/dist/manager/resident/learning.js.map +1 -0
- package/dist/manager/resident/loop.d.ts +31 -0
- package/dist/manager/resident/loop.d.ts.map +1 -0
- package/dist/manager/resident/loop.js +69 -0
- package/dist/manager/resident/loop.js.map +1 -0
- package/dist/manager/resident/outbox.d.ts +180 -0
- package/dist/manager/resident/outbox.d.ts.map +1 -0
- package/dist/manager/resident/outbox.js +214 -0
- package/dist/manager/resident/outbox.js.map +1 -0
- package/dist/manager/resident/proposal.d.ts +91 -0
- package/dist/manager/resident/proposal.d.ts.map +1 -0
- package/dist/manager/resident/proposal.js +75 -0
- package/dist/manager/resident/proposal.js.map +1 -0
- package/dist/manager/resident/store.d.ts +149 -0
- package/dist/manager/resident/store.d.ts.map +1 -0
- package/dist/manager/resident/store.js +175 -0
- package/dist/manager/resident/store.js.map +1 -0
- package/dist/prompt/contributions.d.ts +5 -2
- package/dist/prompt/contributions.d.ts.map +1 -1
- package/dist/prompt/contributions.js.map +1 -1
- package/dist/prompt/index.d.ts +2 -0
- package/dist/prompt/index.d.ts.map +1 -1
- package/dist/prompt/index.js +1 -0
- package/dist/prompt/index.js.map +1 -1
- package/dist/prompt/resident-step.d.ts +29 -0
- package/dist/prompt/resident-step.d.ts.map +1 -0
- package/dist/prompt/resident-step.js +74 -0
- package/dist/prompt/resident-step.js.map +1 -0
- package/dist/public-runtime.d.ts +10 -1
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +10 -1
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-types.d.ts +16 -2
- package/dist/public-types.d.ts.map +1 -1
- package/dist/registry/index.d.ts +1 -1
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/tool/execute.d.ts +18 -0
- package/dist/registry/tool/execute.d.ts.map +1 -1
- package/dist/registry/tool/execute.js +43 -6
- package/dist/registry/tool/execute.js.map +1 -1
- package/dist/runtime/query/events.d.ts +6 -1
- package/dist/runtime/query/events.d.ts.map +1 -1
- package/dist/runtime/query/events.js +21 -12
- package/dist/runtime/query/events.js.map +1 -1
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +1 -1
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/prompt-cache.d.ts.map +1 -1
- package/dist/runtime/query/prompt-cache.js +21 -42
- package/dist/runtime/query/prompt-cache.js.map +1 -1
- package/package.json +1 -1
- package/src/manager/resident/agenda.ts +853 -0
- package/src/manager/resident/delivery-window.ts +93 -0
- package/src/manager/resident/host.ts +356 -0
- package/src/manager/resident/initiative.ts +195 -0
- package/src/manager/resident/learning.ts +369 -0
- package/src/manager/resident/loop.ts +101 -0
- package/src/manager/resident/outbox.ts +307 -0
- package/src/manager/resident/proposal.ts +105 -0
- package/src/manager/resident/store.ts +229 -0
- package/src/prompt/contributions.ts +5 -2
- package/src/prompt/index.ts +2 -0
- package/src/prompt/resident-step.ts +96 -0
- package/src/public-runtime.ts +14 -0
- package/src/public-types.ts +67 -0
- package/src/registry/index.ts +1 -1
- package/src/registry/tool/execute.ts +56 -9
- package/src/runtime/query/events.ts +24 -14
- package/src/runtime/query/index.ts +1 -2
- package/src/runtime/query/prompt-cache.ts +24 -47
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
const boundedText = z.string().trim().min(1).max(256);
|
|
3
|
+
const cost = z.number().finite().nonnegative();
|
|
4
|
+
export const residentObservationSchema = z.object({
|
|
5
|
+
evidenceKey: boundedText,
|
|
6
|
+
source: boundedText,
|
|
7
|
+
progress: z.number().finite().min(0).max(1),
|
|
8
|
+
/** All observations and policy costs use the same host-defined resource unit. */
|
|
9
|
+
costUnits: cost.nullable(),
|
|
10
|
+
});
|
|
11
|
+
export const residentFeedbackSchema = z.object({
|
|
12
|
+
bestProgress: z.number().finite().min(0).max(1),
|
|
13
|
+
hasUnobservedSteps: z.boolean().default(false),
|
|
14
|
+
stagnantSteps: z.number().int().nonnegative().safe(),
|
|
15
|
+
observations: z
|
|
16
|
+
.array(residentObservationSchema.extend({
|
|
17
|
+
gain: z.number().finite().min(0).max(1),
|
|
18
|
+
step: z.number().int().positive().safe(),
|
|
19
|
+
}))
|
|
20
|
+
.min(1)
|
|
21
|
+
.max(8),
|
|
22
|
+
});
|
|
23
|
+
export function observeResidentStep(previous, input, step) {
|
|
24
|
+
const observation = residentObservationSchema.parse(input);
|
|
25
|
+
const best = previous?.bestProgress ?? 0;
|
|
26
|
+
const duplicate = previous?.observations.some((item) => item.evidenceKey === observation.evidenceKey);
|
|
27
|
+
// Rewording evidence, regression and recovery to an old best earn no credit.
|
|
28
|
+
const gain = duplicate ? 0 : Math.max(0, observation.progress - best);
|
|
29
|
+
return freezeResidentFeedback(residentFeedbackSchema.parse({
|
|
30
|
+
bestProgress: best + gain,
|
|
31
|
+
hasUnobservedSteps: (previous?.hasUnobservedSteps ?? false) ||
|
|
32
|
+
step !== (previous?.observations.at(-1)?.step ?? 0) + 1,
|
|
33
|
+
stagnantSteps: gain > 0 ? 0 : (previous?.stagnantSteps ?? 0) + 1,
|
|
34
|
+
observations: [...(previous?.observations ?? []), { ...observation, gain, step }].slice(-8),
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
export function freezeResidentFeedback(value) {
|
|
38
|
+
return Object.freeze({
|
|
39
|
+
...value,
|
|
40
|
+
observations: Object.freeze(value.observations.map((item) => Object.freeze({ ...item }))),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @experimental Cost-aware continuation with an explicit abstention choice.
|
|
45
|
+
* This is a measured-progress heuristic, not Bayesian value of computation.
|
|
46
|
+
* A finite bootstrap allowance permits delayed payoffs but may stop too early.
|
|
47
|
+
*/
|
|
48
|
+
export function createResidentSelector(config) {
|
|
49
|
+
const policy = z
|
|
50
|
+
.object({
|
|
51
|
+
progressValue: z.number().finite().positive(),
|
|
52
|
+
initialExpectedProgress: z.number().finite().positive().max(1),
|
|
53
|
+
initialExpectedCost: cost,
|
|
54
|
+
maxStagnantSteps: z.number().int().min(1).max(32).default(2),
|
|
55
|
+
})
|
|
56
|
+
.parse(config);
|
|
57
|
+
return (agenda, now) => {
|
|
58
|
+
z.number().int().nonnegative().safe().parse(now);
|
|
59
|
+
const finish = (pursuitId, reason, candidates) => Object.freeze({
|
|
60
|
+
agendaRevision: agenda.revision,
|
|
61
|
+
pursuitId,
|
|
62
|
+
reason,
|
|
63
|
+
candidates: Object.freeze(candidates.map((candidate) => Object.freeze(candidate))),
|
|
64
|
+
});
|
|
65
|
+
if (agenda.paused)
|
|
66
|
+
return finish(null, 'paused', []);
|
|
67
|
+
if (agenda.pursuits.some((p) => p.state.phase === 'running'))
|
|
68
|
+
return finish(null, 'unresolved', []);
|
|
69
|
+
const candidates = agenda.pursuits.map((p) => {
|
|
70
|
+
const reject = (reason) => ({
|
|
71
|
+
pursuitId: p.id,
|
|
72
|
+
reason,
|
|
73
|
+
expectedGain: null,
|
|
74
|
+
expectedCost: null,
|
|
75
|
+
score: null,
|
|
76
|
+
});
|
|
77
|
+
if (p.state.phase !== 'waiting' || p.state.wakeAt === null || p.state.wakeAt > now)
|
|
78
|
+
return reject('not-due');
|
|
79
|
+
if (p.state.stepsAdmitted > 0 &&
|
|
80
|
+
(!p.feedback ||
|
|
81
|
+
p.feedback.hasUnobservedSteps ||
|
|
82
|
+
p.feedback.observations.at(-1)?.step !== p.state.stepsAdmitted))
|
|
83
|
+
return reject('missing-observation');
|
|
84
|
+
const feedback = p.feedback;
|
|
85
|
+
if (feedback && feedback.stagnantSteps >= policy.maxStagnantSteps)
|
|
86
|
+
return reject('stalled');
|
|
87
|
+
if (feedback?.observations.some((item) => item.costUnits === null))
|
|
88
|
+
return reject('unknown-cost');
|
|
89
|
+
const recent = feedback?.observations ?? [];
|
|
90
|
+
const totalGain = recent.reduce((total, item) => total + item.gain, 0);
|
|
91
|
+
const bootstrap = p.state.stepsAdmitted < policy.maxStagnantSteps && totalGain === 0;
|
|
92
|
+
const expectedGain = recent.length === 0 || bootstrap
|
|
93
|
+
? policy.initialExpectedProgress
|
|
94
|
+
: (totalGain + policy.initialExpectedProgress) / (recent.length + 1);
|
|
95
|
+
const expectedCost = recent.length === 0
|
|
96
|
+
? policy.initialExpectedCost
|
|
97
|
+
: recent.reduce((total, item) => total + (item.costUnits ?? 0), 0) / recent.length;
|
|
98
|
+
const score = policy.progressValue * expectedGain - expectedCost;
|
|
99
|
+
return {
|
|
100
|
+
pursuitId: p.id,
|
|
101
|
+
reason: score > 0 ? 'eligible' : 'nonpositive-value',
|
|
102
|
+
expectedGain,
|
|
103
|
+
expectedCost,
|
|
104
|
+
score,
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
const eligible = candidates.filter((candidate) => candidate.reason === 'eligible');
|
|
108
|
+
eligible.sort((a, b) => {
|
|
109
|
+
const left = agenda.pursuits.find((p) => p.id === a.pursuitId);
|
|
110
|
+
const right = agenda.pursuits.find((p) => p.id === b.pursuitId);
|
|
111
|
+
if (!left || !right)
|
|
112
|
+
throw new Error('Resident candidate is missing.');
|
|
113
|
+
return ((b.score ?? 0) - (a.score ?? 0) ||
|
|
114
|
+
left.state.stepsAdmitted - right.state.stepsAdmitted ||
|
|
115
|
+
(left.state.wakeAt ?? 0) - (right.state.wakeAt ?? 0) ||
|
|
116
|
+
a.pursuitId.localeCompare(b.pursuitId));
|
|
117
|
+
});
|
|
118
|
+
return finish(eligible[0]?.pursuitId ?? null, eligible.length ? 'selected' : 'no-useful-work', candidates);
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=initiative.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initiative.js","sourceRoot":"","sources":["../../../src/manager/resident/initiative.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type HarnessVerificationBatch } from '../../eval/harness-verification.js';
|
|
3
|
+
export declare const residentLearningEvidenceSchema: z.ZodObject<{
|
|
4
|
+
key: z.ZodString;
|
|
5
|
+
source: z.ZodString;
|
|
6
|
+
reason: z.ZodString;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
source: string;
|
|
9
|
+
key: string;
|
|
10
|
+
reason: string;
|
|
11
|
+
}, {
|
|
12
|
+
source: string;
|
|
13
|
+
key: string;
|
|
14
|
+
reason: string;
|
|
15
|
+
}>;
|
|
16
|
+
/** @experimental Host provenance for a correction, evaluated activation or rollback. */
|
|
17
|
+
export type ResidentLearningEvidence = Readonly<z.infer<typeof residentLearningEvidenceSchema>>;
|
|
18
|
+
declare const candidateSchema: z.ZodObject<{
|
|
19
|
+
name: z.ZodString;
|
|
20
|
+
description: z.ZodString;
|
|
21
|
+
body: z.ZodString;
|
|
22
|
+
}, "strip", z.ZodTypeAny, {
|
|
23
|
+
name: string;
|
|
24
|
+
description: string;
|
|
25
|
+
body: string;
|
|
26
|
+
}, {
|
|
27
|
+
name: string;
|
|
28
|
+
description: string;
|
|
29
|
+
body: string;
|
|
30
|
+
}>;
|
|
31
|
+
/** @experimental Instructional guidance only; never executable assets or tool permissions. */
|
|
32
|
+
export type ResidentSkillCandidate = Readonly<z.infer<typeof candidateSchema>>;
|
|
33
|
+
declare const learnedSkillSchema: z.ZodObject<{
|
|
34
|
+
name: z.ZodString;
|
|
35
|
+
description: z.ZodString;
|
|
36
|
+
body: z.ZodString;
|
|
37
|
+
} & {
|
|
38
|
+
hash: z.ZodString;
|
|
39
|
+
evidence: z.ZodObject<{
|
|
40
|
+
key: z.ZodString;
|
|
41
|
+
source: z.ZodString;
|
|
42
|
+
reason: z.ZodString;
|
|
43
|
+
}, "strip", z.ZodTypeAny, {
|
|
44
|
+
source: string;
|
|
45
|
+
key: string;
|
|
46
|
+
reason: string;
|
|
47
|
+
}, {
|
|
48
|
+
source: string;
|
|
49
|
+
key: string;
|
|
50
|
+
reason: string;
|
|
51
|
+
}>;
|
|
52
|
+
verification: z.ZodObject<{
|
|
53
|
+
baselineHash: z.ZodUnion<[z.ZodString, z.ZodLiteral<"none">]>;
|
|
54
|
+
candidateHash: z.ZodString;
|
|
55
|
+
evidenceDigest: z.ZodString;
|
|
56
|
+
verificationTasks: z.ZodNumber;
|
|
57
|
+
confirmationTasks: z.ZodNumber;
|
|
58
|
+
}, "strip", z.ZodTypeAny, {
|
|
59
|
+
baselineHash: string;
|
|
60
|
+
candidateHash: string;
|
|
61
|
+
evidenceDigest: string;
|
|
62
|
+
verificationTasks: number;
|
|
63
|
+
confirmationTasks: number;
|
|
64
|
+
}, {
|
|
65
|
+
baselineHash: string;
|
|
66
|
+
candidateHash: string;
|
|
67
|
+
evidenceDigest: string;
|
|
68
|
+
verificationTasks: number;
|
|
69
|
+
confirmationTasks: number;
|
|
70
|
+
}>;
|
|
71
|
+
}, "strip", z.ZodTypeAny, {
|
|
72
|
+
name: string;
|
|
73
|
+
description: string;
|
|
74
|
+
verification: {
|
|
75
|
+
baselineHash: string;
|
|
76
|
+
candidateHash: string;
|
|
77
|
+
evidenceDigest: string;
|
|
78
|
+
verificationTasks: number;
|
|
79
|
+
confirmationTasks: number;
|
|
80
|
+
};
|
|
81
|
+
body: string;
|
|
82
|
+
hash: string;
|
|
83
|
+
evidence: {
|
|
84
|
+
source: string;
|
|
85
|
+
key: string;
|
|
86
|
+
reason: string;
|
|
87
|
+
};
|
|
88
|
+
}, {
|
|
89
|
+
name: string;
|
|
90
|
+
description: string;
|
|
91
|
+
verification: {
|
|
92
|
+
baselineHash: string;
|
|
93
|
+
candidateHash: string;
|
|
94
|
+
evidenceDigest: string;
|
|
95
|
+
verificationTasks: number;
|
|
96
|
+
confirmationTasks: number;
|
|
97
|
+
};
|
|
98
|
+
body: string;
|
|
99
|
+
hash: string;
|
|
100
|
+
evidence: {
|
|
101
|
+
source: string;
|
|
102
|
+
key: string;
|
|
103
|
+
reason: string;
|
|
104
|
+
};
|
|
105
|
+
}>;
|
|
106
|
+
/** @experimental Immutable evaluated content and evidence identity. */
|
|
107
|
+
export type ResidentLearnedSkill = Readonly<z.infer<typeof learnedSkillSchema>>;
|
|
108
|
+
export declare const residentLearningSchema: z.ZodEffects<z.ZodObject<{
|
|
109
|
+
revision: z.ZodNumber;
|
|
110
|
+
identity: z.ZodOptional<z.ZodObject<{
|
|
111
|
+
text: z.ZodString;
|
|
112
|
+
evidence: z.ZodObject<{
|
|
113
|
+
key: z.ZodString;
|
|
114
|
+
source: z.ZodString;
|
|
115
|
+
reason: z.ZodString;
|
|
116
|
+
}, "strip", z.ZodTypeAny, {
|
|
117
|
+
source: string;
|
|
118
|
+
key: string;
|
|
119
|
+
reason: string;
|
|
120
|
+
}, {
|
|
121
|
+
source: string;
|
|
122
|
+
key: string;
|
|
123
|
+
reason: string;
|
|
124
|
+
}>;
|
|
125
|
+
}, "strip", z.ZodTypeAny, {
|
|
126
|
+
text: string;
|
|
127
|
+
evidence: {
|
|
128
|
+
source: string;
|
|
129
|
+
key: string;
|
|
130
|
+
reason: string;
|
|
131
|
+
};
|
|
132
|
+
}, {
|
|
133
|
+
text: string;
|
|
134
|
+
evidence: {
|
|
135
|
+
source: string;
|
|
136
|
+
key: string;
|
|
137
|
+
reason: string;
|
|
138
|
+
};
|
|
139
|
+
}>>;
|
|
140
|
+
preferences: z.ZodArray<z.ZodObject<{
|
|
141
|
+
key: z.ZodString;
|
|
142
|
+
value: z.ZodString;
|
|
143
|
+
evidence: z.ZodObject<{
|
|
144
|
+
key: z.ZodString;
|
|
145
|
+
source: z.ZodString;
|
|
146
|
+
reason: z.ZodString;
|
|
147
|
+
}, "strip", z.ZodTypeAny, {
|
|
148
|
+
source: string;
|
|
149
|
+
key: string;
|
|
150
|
+
reason: string;
|
|
151
|
+
}, {
|
|
152
|
+
source: string;
|
|
153
|
+
key: string;
|
|
154
|
+
reason: string;
|
|
155
|
+
}>;
|
|
156
|
+
}, "strip", z.ZodTypeAny, {
|
|
157
|
+
key: string;
|
|
158
|
+
value: string;
|
|
159
|
+
evidence: {
|
|
160
|
+
source: string;
|
|
161
|
+
key: string;
|
|
162
|
+
reason: string;
|
|
163
|
+
};
|
|
164
|
+
}, {
|
|
165
|
+
key: string;
|
|
166
|
+
value: string;
|
|
167
|
+
evidence: {
|
|
168
|
+
source: string;
|
|
169
|
+
key: string;
|
|
170
|
+
reason: string;
|
|
171
|
+
};
|
|
172
|
+
}>, "many">;
|
|
173
|
+
skills: z.ZodArray<z.ZodObject<{
|
|
174
|
+
name: z.ZodString;
|
|
175
|
+
description: z.ZodString;
|
|
176
|
+
body: z.ZodString;
|
|
177
|
+
} & {
|
|
178
|
+
hash: z.ZodString;
|
|
179
|
+
evidence: z.ZodObject<{
|
|
180
|
+
key: z.ZodString;
|
|
181
|
+
source: z.ZodString;
|
|
182
|
+
reason: z.ZodString;
|
|
183
|
+
}, "strip", z.ZodTypeAny, {
|
|
184
|
+
source: string;
|
|
185
|
+
key: string;
|
|
186
|
+
reason: string;
|
|
187
|
+
}, {
|
|
188
|
+
source: string;
|
|
189
|
+
key: string;
|
|
190
|
+
reason: string;
|
|
191
|
+
}>;
|
|
192
|
+
verification: z.ZodObject<{
|
|
193
|
+
baselineHash: z.ZodUnion<[z.ZodString, z.ZodLiteral<"none">]>;
|
|
194
|
+
candidateHash: z.ZodString;
|
|
195
|
+
evidenceDigest: z.ZodString;
|
|
196
|
+
verificationTasks: z.ZodNumber;
|
|
197
|
+
confirmationTasks: z.ZodNumber;
|
|
198
|
+
}, "strip", z.ZodTypeAny, {
|
|
199
|
+
baselineHash: string;
|
|
200
|
+
candidateHash: string;
|
|
201
|
+
evidenceDigest: string;
|
|
202
|
+
verificationTasks: number;
|
|
203
|
+
confirmationTasks: number;
|
|
204
|
+
}, {
|
|
205
|
+
baselineHash: string;
|
|
206
|
+
candidateHash: string;
|
|
207
|
+
evidenceDigest: string;
|
|
208
|
+
verificationTasks: number;
|
|
209
|
+
confirmationTasks: number;
|
|
210
|
+
}>;
|
|
211
|
+
}, "strip", z.ZodTypeAny, {
|
|
212
|
+
name: string;
|
|
213
|
+
description: string;
|
|
214
|
+
verification: {
|
|
215
|
+
baselineHash: string;
|
|
216
|
+
candidateHash: string;
|
|
217
|
+
evidenceDigest: string;
|
|
218
|
+
verificationTasks: number;
|
|
219
|
+
confirmationTasks: number;
|
|
220
|
+
};
|
|
221
|
+
body: string;
|
|
222
|
+
hash: string;
|
|
223
|
+
evidence: {
|
|
224
|
+
source: string;
|
|
225
|
+
key: string;
|
|
226
|
+
reason: string;
|
|
227
|
+
};
|
|
228
|
+
}, {
|
|
229
|
+
name: string;
|
|
230
|
+
description: string;
|
|
231
|
+
verification: {
|
|
232
|
+
baselineHash: string;
|
|
233
|
+
candidateHash: string;
|
|
234
|
+
evidenceDigest: string;
|
|
235
|
+
verificationTasks: number;
|
|
236
|
+
confirmationTasks: number;
|
|
237
|
+
};
|
|
238
|
+
body: string;
|
|
239
|
+
hash: string;
|
|
240
|
+
evidence: {
|
|
241
|
+
source: string;
|
|
242
|
+
key: string;
|
|
243
|
+
reason: string;
|
|
244
|
+
};
|
|
245
|
+
}>, "many">;
|
|
246
|
+
lastChange: z.ZodObject<{
|
|
247
|
+
key: z.ZodString;
|
|
248
|
+
source: z.ZodString;
|
|
249
|
+
reason: z.ZodString;
|
|
250
|
+
}, "strip", z.ZodTypeAny, {
|
|
251
|
+
source: string;
|
|
252
|
+
key: string;
|
|
253
|
+
reason: string;
|
|
254
|
+
}, {
|
|
255
|
+
source: string;
|
|
256
|
+
key: string;
|
|
257
|
+
reason: string;
|
|
258
|
+
}>;
|
|
259
|
+
}, "strip", z.ZodTypeAny, {
|
|
260
|
+
skills: {
|
|
261
|
+
name: string;
|
|
262
|
+
description: string;
|
|
263
|
+
verification: {
|
|
264
|
+
baselineHash: string;
|
|
265
|
+
candidateHash: string;
|
|
266
|
+
evidenceDigest: string;
|
|
267
|
+
verificationTasks: number;
|
|
268
|
+
confirmationTasks: number;
|
|
269
|
+
};
|
|
270
|
+
body: string;
|
|
271
|
+
hash: string;
|
|
272
|
+
evidence: {
|
|
273
|
+
source: string;
|
|
274
|
+
key: string;
|
|
275
|
+
reason: string;
|
|
276
|
+
};
|
|
277
|
+
}[];
|
|
278
|
+
revision: number;
|
|
279
|
+
preferences: {
|
|
280
|
+
key: string;
|
|
281
|
+
value: string;
|
|
282
|
+
evidence: {
|
|
283
|
+
source: string;
|
|
284
|
+
key: string;
|
|
285
|
+
reason: string;
|
|
286
|
+
};
|
|
287
|
+
}[];
|
|
288
|
+
lastChange: {
|
|
289
|
+
source: string;
|
|
290
|
+
key: string;
|
|
291
|
+
reason: string;
|
|
292
|
+
};
|
|
293
|
+
identity?: {
|
|
294
|
+
text: string;
|
|
295
|
+
evidence: {
|
|
296
|
+
source: string;
|
|
297
|
+
key: string;
|
|
298
|
+
reason: string;
|
|
299
|
+
};
|
|
300
|
+
} | undefined;
|
|
301
|
+
}, {
|
|
302
|
+
skills: {
|
|
303
|
+
name: string;
|
|
304
|
+
description: string;
|
|
305
|
+
verification: {
|
|
306
|
+
baselineHash: string;
|
|
307
|
+
candidateHash: string;
|
|
308
|
+
evidenceDigest: string;
|
|
309
|
+
verificationTasks: number;
|
|
310
|
+
confirmationTasks: number;
|
|
311
|
+
};
|
|
312
|
+
body: string;
|
|
313
|
+
hash: string;
|
|
314
|
+
evidence: {
|
|
315
|
+
source: string;
|
|
316
|
+
key: string;
|
|
317
|
+
reason: string;
|
|
318
|
+
};
|
|
319
|
+
}[];
|
|
320
|
+
revision: number;
|
|
321
|
+
preferences: {
|
|
322
|
+
key: string;
|
|
323
|
+
value: string;
|
|
324
|
+
evidence: {
|
|
325
|
+
source: string;
|
|
326
|
+
key: string;
|
|
327
|
+
reason: string;
|
|
328
|
+
};
|
|
329
|
+
}[];
|
|
330
|
+
lastChange: {
|
|
331
|
+
source: string;
|
|
332
|
+
key: string;
|
|
333
|
+
reason: string;
|
|
334
|
+
};
|
|
335
|
+
identity?: {
|
|
336
|
+
text: string;
|
|
337
|
+
evidence: {
|
|
338
|
+
source: string;
|
|
339
|
+
key: string;
|
|
340
|
+
reason: string;
|
|
341
|
+
};
|
|
342
|
+
} | undefined;
|
|
343
|
+
}>, {
|
|
344
|
+
skills: {
|
|
345
|
+
name: string;
|
|
346
|
+
description: string;
|
|
347
|
+
verification: {
|
|
348
|
+
baselineHash: string;
|
|
349
|
+
candidateHash: string;
|
|
350
|
+
evidenceDigest: string;
|
|
351
|
+
verificationTasks: number;
|
|
352
|
+
confirmationTasks: number;
|
|
353
|
+
};
|
|
354
|
+
body: string;
|
|
355
|
+
hash: string;
|
|
356
|
+
evidence: {
|
|
357
|
+
source: string;
|
|
358
|
+
key: string;
|
|
359
|
+
reason: string;
|
|
360
|
+
};
|
|
361
|
+
}[];
|
|
362
|
+
revision: number;
|
|
363
|
+
preferences: {
|
|
364
|
+
key: string;
|
|
365
|
+
value: string;
|
|
366
|
+
evidence: {
|
|
367
|
+
source: string;
|
|
368
|
+
key: string;
|
|
369
|
+
reason: string;
|
|
370
|
+
};
|
|
371
|
+
}[];
|
|
372
|
+
lastChange: {
|
|
373
|
+
source: string;
|
|
374
|
+
key: string;
|
|
375
|
+
reason: string;
|
|
376
|
+
};
|
|
377
|
+
identity?: {
|
|
378
|
+
text: string;
|
|
379
|
+
evidence: {
|
|
380
|
+
source: string;
|
|
381
|
+
key: string;
|
|
382
|
+
reason: string;
|
|
383
|
+
};
|
|
384
|
+
} | undefined;
|
|
385
|
+
}, {
|
|
386
|
+
skills: {
|
|
387
|
+
name: string;
|
|
388
|
+
description: string;
|
|
389
|
+
verification: {
|
|
390
|
+
baselineHash: string;
|
|
391
|
+
candidateHash: string;
|
|
392
|
+
evidenceDigest: string;
|
|
393
|
+
verificationTasks: number;
|
|
394
|
+
confirmationTasks: number;
|
|
395
|
+
};
|
|
396
|
+
body: string;
|
|
397
|
+
hash: string;
|
|
398
|
+
evidence: {
|
|
399
|
+
source: string;
|
|
400
|
+
key: string;
|
|
401
|
+
reason: string;
|
|
402
|
+
};
|
|
403
|
+
}[];
|
|
404
|
+
revision: number;
|
|
405
|
+
preferences: {
|
|
406
|
+
key: string;
|
|
407
|
+
value: string;
|
|
408
|
+
evidence: {
|
|
409
|
+
source: string;
|
|
410
|
+
key: string;
|
|
411
|
+
reason: string;
|
|
412
|
+
};
|
|
413
|
+
}[];
|
|
414
|
+
lastChange: {
|
|
415
|
+
source: string;
|
|
416
|
+
key: string;
|
|
417
|
+
reason: string;
|
|
418
|
+
};
|
|
419
|
+
identity?: {
|
|
420
|
+
text: string;
|
|
421
|
+
evidence: {
|
|
422
|
+
source: string;
|
|
423
|
+
key: string;
|
|
424
|
+
reason: string;
|
|
425
|
+
};
|
|
426
|
+
} | undefined;
|
|
427
|
+
}>;
|
|
428
|
+
/** @experimental Versioned behavioral overlay; the original resident mandate remains unchanged. */
|
|
429
|
+
export interface ResidentLearningState {
|
|
430
|
+
readonly revision: number;
|
|
431
|
+
readonly identity?: {
|
|
432
|
+
readonly text: string;
|
|
433
|
+
readonly evidence: ResidentLearningEvidence;
|
|
434
|
+
};
|
|
435
|
+
readonly preferences: readonly {
|
|
436
|
+
readonly key: string;
|
|
437
|
+
readonly value: string;
|
|
438
|
+
readonly evidence: ResidentLearningEvidence;
|
|
439
|
+
}[];
|
|
440
|
+
readonly skills: readonly ResidentLearnedSkill[];
|
|
441
|
+
readonly lastChange: ResidentLearningEvidence;
|
|
442
|
+
}
|
|
443
|
+
/** @experimental Corrections name the current preference evidence they supersede. */
|
|
444
|
+
export interface ResidentProfileUpdate {
|
|
445
|
+
readonly identity?: string;
|
|
446
|
+
readonly preferences?: readonly {
|
|
447
|
+
readonly key: string;
|
|
448
|
+
readonly value: string;
|
|
449
|
+
readonly supersedes: string | null;
|
|
450
|
+
}[];
|
|
451
|
+
readonly evidence: ResidentLearningEvidence;
|
|
452
|
+
}
|
|
453
|
+
/** @experimental Recorded paired runs; hosts own execution, scoring and independent attribution. */
|
|
454
|
+
export interface ResidentSkillEvaluation {
|
|
455
|
+
readonly verification: HarnessVerificationBatch;
|
|
456
|
+
readonly confirmation?: HarnessVerificationBatch;
|
|
457
|
+
}
|
|
458
|
+
/** Internal immutable snapshot used by storage and admitted context. */
|
|
459
|
+
export declare function freezeResidentLearning(input: ResidentLearningState): ResidentLearningState;
|
|
460
|
+
/** Internal pure profile transition; storage owns exact agenda CAS and idle admission. */
|
|
461
|
+
export declare function reviseResidentProfile(current: ResidentLearningState | undefined, input: ResidentProfileUpdate): ResidentLearningState;
|
|
462
|
+
/** @experimental Bind evaluation to the exact normalized name, description and body. */
|
|
463
|
+
export declare function hashResidentSkill(input: ResidentSkillCandidate): string;
|
|
464
|
+
/** Internal pure activation; reuse the kernel's conservative two-round verification gate. */
|
|
465
|
+
export declare function promoteResidentSkill(current: ResidentLearningState | undefined, input: ResidentSkillCandidate, evaluation: ResidentSkillEvaluation, inputEvidence: ResidentLearningEvidence): ResidentLearningState;
|
|
466
|
+
/** Internal rollback appends a new learning version while preserving current profile values. */
|
|
467
|
+
export declare function restoreResidentSkill(current: ResidentLearningState | undefined, historical: ResidentLearningState | undefined, skillName: string, inputEvidence: ResidentLearningEvidence): ResidentLearningState;
|
|
468
|
+
/** @experimental Exact skill selection and a character cap, independent of provider token budgets. */
|
|
469
|
+
export interface ResidentLearningProjectionOptions {
|
|
470
|
+
readonly maxChars: number;
|
|
471
|
+
readonly skillNames: readonly string[];
|
|
472
|
+
}
|
|
473
|
+
/** @experimental Omitted entries are counted; no partial skill instruction is emitted. */
|
|
474
|
+
export interface ResidentLearningProjection {
|
|
475
|
+
readonly text: string;
|
|
476
|
+
readonly revision: number | null;
|
|
477
|
+
readonly includedSkills: readonly string[];
|
|
478
|
+
readonly omitted: number;
|
|
479
|
+
}
|
|
480
|
+
/** @experimental Bounded context data; never registers tools, loads files or executes a skill. */
|
|
481
|
+
export declare function projectResidentLearning(current: ResidentLearningState | undefined, options: ResidentLearningProjectionOptions): ResidentLearningProjection;
|
|
482
|
+
export {};
|
|
483
|
+
//# sourceMappingURL=learning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning.d.ts","sourceRoot":"","sources":["../../../src/manager/resident/learning.ts"],"names":[],"mappings":"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"}
|