@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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { type HarnessProtectionPlan } from '
|
|
3
|
-
import { type HarnessVerificationBatch } from '
|
|
4
|
-
export declare const
|
|
2
|
+
import { type HarnessProtectionPlan } from '../eval/harness-protection.js';
|
|
3
|
+
import { type HarnessVerificationBatch } from '../eval/harness-verification.js';
|
|
4
|
+
export declare const learningEvidenceSchema: z.ZodObject<{
|
|
5
5
|
key: z.ZodString;
|
|
6
6
|
source: z.ZodString;
|
|
7
7
|
reason: z.ZodString;
|
|
@@ -15,7 +15,7 @@ export declare const residentLearningEvidenceSchema: z.ZodObject<{
|
|
|
15
15
|
source: string;
|
|
16
16
|
}>;
|
|
17
17
|
/** @experimental Host provenance for a correction, evaluated activation or rollback. */
|
|
18
|
-
export type
|
|
18
|
+
export type LearningEvidence = Readonly<z.infer<typeof learningEvidenceSchema>>;
|
|
19
19
|
declare const sourceSchema: z.ZodObject<{
|
|
20
20
|
key: z.ZodString;
|
|
21
21
|
revision: z.ZodString;
|
|
@@ -27,7 +27,7 @@ declare const sourceSchema: z.ZodObject<{
|
|
|
27
27
|
revision: string;
|
|
28
28
|
}>;
|
|
29
29
|
/** @experimental Host-owned source identity and revision; neither is a model assertion. */
|
|
30
|
-
export type
|
|
30
|
+
export type LearningSource = Readonly<z.infer<typeof sourceSchema>>;
|
|
31
31
|
declare const candidateSchema: z.ZodObject<{
|
|
32
32
|
name: z.ZodString;
|
|
33
33
|
/** Omitted means ordinary task guidance; exploration policies require explicit projection. */
|
|
@@ -77,11 +77,11 @@ declare const candidateSchema: z.ZodObject<{
|
|
|
77
77
|
}[] | undefined;
|
|
78
78
|
}>;
|
|
79
79
|
/** @experimental Instructional guidance only; never executable assets or tool permissions. */
|
|
80
|
-
export type
|
|
81
|
-
readonly sources?: readonly
|
|
80
|
+
export type LearningSkillCandidate = Readonly<Omit<z.infer<typeof candidateSchema>, 'sources'>> & {
|
|
81
|
+
readonly sources?: readonly LearningSource[];
|
|
82
82
|
};
|
|
83
83
|
/** Internal canonical snapshot, including immutable source bindings. */
|
|
84
|
-
export declare function
|
|
84
|
+
export declare function normalizeLearningSkill(input: LearningSkillCandidate): LearningSkillCandidate;
|
|
85
85
|
declare const learnedSkillSchema: z.ZodObject<{
|
|
86
86
|
name: z.ZodString;
|
|
87
87
|
/** Omitted means ordinary task guidance; exploration policies require explicit projection. */
|
|
@@ -225,10 +225,10 @@ declare const learnedSkillSchema: z.ZodObject<{
|
|
|
225
225
|
}[] | undefined;
|
|
226
226
|
}>;
|
|
227
227
|
/** @experimental Immutable evaluated content and evidence identity. */
|
|
228
|
-
export type
|
|
229
|
-
readonly sources?: readonly
|
|
228
|
+
export type LearnedSkill = Readonly<Omit<z.infer<typeof learnedSkillSchema>, 'sources'>> & {
|
|
229
|
+
readonly sources?: readonly LearningSource[];
|
|
230
230
|
};
|
|
231
|
-
export declare const
|
|
231
|
+
export declare const learningSchema: z.ZodEffects<z.ZodObject<{
|
|
232
232
|
revision: z.ZodNumber;
|
|
233
233
|
identity: z.ZodOptional<z.ZodObject<{
|
|
234
234
|
text: z.ZodString;
|
|
@@ -658,58 +658,58 @@ export declare const residentLearningSchema: z.ZodEffects<z.ZodObject<{
|
|
|
658
658
|
} | undefined;
|
|
659
659
|
}>;
|
|
660
660
|
/** @experimental Versioned behavioral overlay; the original resident mandate remains unchanged. */
|
|
661
|
-
export interface
|
|
661
|
+
export interface LearningState {
|
|
662
662
|
readonly revision: number;
|
|
663
663
|
readonly identity?: {
|
|
664
664
|
readonly text: string;
|
|
665
|
-
readonly evidence:
|
|
665
|
+
readonly evidence: LearningEvidence;
|
|
666
666
|
};
|
|
667
667
|
readonly preferences: readonly {
|
|
668
668
|
readonly key: string;
|
|
669
669
|
readonly value: string;
|
|
670
|
-
readonly evidence:
|
|
670
|
+
readonly evidence: LearningEvidence;
|
|
671
671
|
}[];
|
|
672
|
-
readonly skills: readonly
|
|
673
|
-
readonly lastChange:
|
|
672
|
+
readonly skills: readonly LearnedSkill[];
|
|
673
|
+
readonly lastChange: LearningEvidence;
|
|
674
674
|
}
|
|
675
675
|
/** @experimental Corrections name the current preference evidence they supersede. */
|
|
676
|
-
export interface
|
|
676
|
+
export interface LearningProfileUpdate {
|
|
677
677
|
readonly identity?: string;
|
|
678
678
|
readonly preferences?: readonly {
|
|
679
679
|
readonly key: string;
|
|
680
680
|
readonly value: string;
|
|
681
681
|
readonly supersedes: string | null;
|
|
682
682
|
}[];
|
|
683
|
-
readonly evidence:
|
|
683
|
+
readonly evidence: LearningEvidence;
|
|
684
684
|
}
|
|
685
685
|
/** @experimental Recorded paired runs; hosts own execution, scoring and independent attribution. */
|
|
686
|
-
export interface
|
|
686
|
+
export interface LearningSkillEvaluation {
|
|
687
687
|
/** Host-owned task selection fixed before generating the candidate. */
|
|
688
688
|
readonly protection: HarnessProtectionPlan;
|
|
689
689
|
readonly verification: HarnessVerificationBatch;
|
|
690
690
|
readonly confirmation?: HarnessVerificationBatch;
|
|
691
691
|
}
|
|
692
692
|
/** Internal immutable snapshot used by storage and admitted context. */
|
|
693
|
-
export declare function
|
|
693
|
+
export declare function freezeLearning(input: LearningState): LearningState;
|
|
694
694
|
/** Internal pure profile transition; storage owns exact agenda CAS and idle admission. */
|
|
695
|
-
export declare function
|
|
695
|
+
export declare function reviseLearningProfile(current: LearningState | undefined, input: LearningProfileUpdate): LearningState;
|
|
696
696
|
/** @experimental Bind evaluation to normalized content and any declared source dependencies. */
|
|
697
|
-
export declare function
|
|
697
|
+
export declare function hashLearningSkill(input: LearningSkillCandidate): string;
|
|
698
698
|
/** Internal pure activation; reuse the kernel's conservative two-round verification gate. */
|
|
699
|
-
export declare function
|
|
699
|
+
export declare function promoteLearningSkill(current: LearningState | undefined, input: LearningSkillCandidate, evaluation: LearningSkillEvaluation, inputEvidence: LearningEvidence): LearningState;
|
|
700
700
|
/** Internal rollback appends a new learning version while preserving current profile values. */
|
|
701
|
-
export declare function
|
|
701
|
+
export declare function restoreLearningSkill(current: LearningState | undefined, historical: LearningState | undefined, skillName: string, inputEvidence: LearningEvidence): LearningState;
|
|
702
702
|
/** @experimental Exact skill selection and a character cap, independent of provider token budgets. */
|
|
703
|
-
export interface
|
|
703
|
+
export interface LearningProjectionOptions {
|
|
704
704
|
readonly maxChars: number;
|
|
705
705
|
readonly skillNames: readonly string[];
|
|
706
706
|
/** Defaults to task guidance. Exploration policies never enter ordinary task context. */
|
|
707
707
|
readonly purpose?: 'task' | 'exploration';
|
|
708
708
|
/** Fresh host observations for this projection; absent/mismatched dependencies withhold guidance. */
|
|
709
|
-
readonly sources?: readonly
|
|
709
|
+
readonly sources?: readonly LearningSource[];
|
|
710
710
|
}
|
|
711
711
|
/** @experimental Omitted entries are counted; no partial skill instruction is emitted. */
|
|
712
|
-
export interface
|
|
712
|
+
export interface LearningProjection {
|
|
713
713
|
readonly text: string;
|
|
714
714
|
readonly revision: number | null;
|
|
715
715
|
readonly includedSkills: readonly string[];
|
|
@@ -721,6 +721,6 @@ export interface ResidentLearningProjection {
|
|
|
721
721
|
}[];
|
|
722
722
|
}
|
|
723
723
|
/** @experimental Bounded context data; never registers tools, loads files or executes a skill. */
|
|
724
|
-
export declare function
|
|
724
|
+
export declare function projectLearning(current: LearningState | undefined, options: LearningProjectionOptions): LearningProjection;
|
|
725
725
|
export {};
|
|
726
|
-
//# sourceMappingURL=
|
|
726
|
+
//# sourceMappingURL=skill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/learning/skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { normalizeHarnessProtection, } from '
|
|
4
|
-
import { reviewHarnessCandidate, } from '
|
|
3
|
+
import { normalizeHarnessProtection, } from '../eval/harness-protection.js';
|
|
4
|
+
import { reviewHarnessCandidate, } from '../eval/harness-verification.js';
|
|
5
5
|
const label = z.string().trim().min(1).max(256);
|
|
6
6
|
const name = z.string().regex(/^[a-z0-9][a-z0-9_-]{0,63}$/);
|
|
7
7
|
const digest = z.string().regex(/^[a-f0-9]{64}$/);
|
|
8
|
-
export const
|
|
8
|
+
export const learningEvidenceSchema = z.object({
|
|
9
9
|
key: label,
|
|
10
10
|
source: label,
|
|
11
11
|
reason: z.string().trim().min(1).max(1_000),
|
|
@@ -30,7 +30,7 @@ const candidateSchema = z.object({
|
|
|
30
30
|
sources: sourcesSchema.optional(),
|
|
31
31
|
});
|
|
32
32
|
/** Internal canonical snapshot, including immutable source bindings. */
|
|
33
|
-
export function
|
|
33
|
+
export function normalizeLearningSkill(input) {
|
|
34
34
|
const candidate = candidateSchema.parse(input);
|
|
35
35
|
return Object.freeze({
|
|
36
36
|
...candidate,
|
|
@@ -41,7 +41,7 @@ export function normalizeResidentSkill(input) {
|
|
|
41
41
|
}
|
|
42
42
|
const learnedSkillSchema = candidateSchema.extend({
|
|
43
43
|
hash: digest,
|
|
44
|
-
evidence:
|
|
44
|
+
evidence: learningEvidenceSchema,
|
|
45
45
|
verification: z.object({
|
|
46
46
|
baselineHash: z.union([digest, z.literal('none')]),
|
|
47
47
|
candidateHash: digest,
|
|
@@ -58,29 +58,29 @@ const learnedSkillSchema = candidateSchema.extend({
|
|
|
58
58
|
.optional(),
|
|
59
59
|
}),
|
|
60
60
|
});
|
|
61
|
-
export const
|
|
61
|
+
export const learningSchema = z
|
|
62
62
|
.object({
|
|
63
63
|
revision: z.number().int().positive().safe(),
|
|
64
64
|
identity: z
|
|
65
65
|
.object({
|
|
66
66
|
text: z.string().trim().min(1).max(4_000),
|
|
67
|
-
evidence:
|
|
67
|
+
evidence: learningEvidenceSchema,
|
|
68
68
|
})
|
|
69
69
|
.optional(),
|
|
70
70
|
preferences: z
|
|
71
71
|
.array(z.object({
|
|
72
72
|
key: name,
|
|
73
73
|
value: z.string().trim().min(1).max(1_000),
|
|
74
|
-
evidence:
|
|
74
|
+
evidence: learningEvidenceSchema,
|
|
75
75
|
}))
|
|
76
76
|
.max(32),
|
|
77
77
|
skills: z.array(learnedSkillSchema).max(16),
|
|
78
|
-
lastChange:
|
|
78
|
+
lastChange: learningEvidenceSchema,
|
|
79
79
|
})
|
|
80
80
|
.superRefine((state, context) => {
|
|
81
81
|
if (new Set(state.preferences.map((p) => p.key)).size !== state.preferences.length ||
|
|
82
82
|
new Set(state.skills.map((s) => s.name)).size !== state.skills.length ||
|
|
83
|
-
state.skills.some((skill) => skill.hash !==
|
|
83
|
+
state.skills.some((skill) => skill.hash !== hashLearningSkill(skill) ||
|
|
84
84
|
skill.verification.candidateHash !== skill.hash))
|
|
85
85
|
context.addIssue({
|
|
86
86
|
code: z.ZodIssueCode.custom,
|
|
@@ -88,8 +88,8 @@ export const residentLearningSchema = z
|
|
|
88
88
|
});
|
|
89
89
|
});
|
|
90
90
|
/** Internal immutable snapshot used by storage and admitted context. */
|
|
91
|
-
export function
|
|
92
|
-
const state =
|
|
91
|
+
export function freezeLearning(input) {
|
|
92
|
+
const state = learningSchema.parse(input);
|
|
93
93
|
return Object.freeze({
|
|
94
94
|
...state,
|
|
95
95
|
...(state.identity
|
|
@@ -118,7 +118,7 @@ export function freezeResidentLearning(input) {
|
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
120
|
function evidenceFor(current, input) {
|
|
121
|
-
const evidence =
|
|
121
|
+
const evidence = learningEvidenceSchema.parse(input);
|
|
122
122
|
const used = [
|
|
123
123
|
current?.lastChange,
|
|
124
124
|
current?.identity?.evidence,
|
|
@@ -130,7 +130,7 @@ function evidenceFor(current, input) {
|
|
|
130
130
|
return evidence;
|
|
131
131
|
}
|
|
132
132
|
function base(current, evidence) {
|
|
133
|
-
const checked = current ?
|
|
133
|
+
const checked = current ? freezeLearning(current) : undefined;
|
|
134
134
|
return {
|
|
135
135
|
...checked,
|
|
136
136
|
revision: (checked?.revision ?? 0) + 1,
|
|
@@ -140,7 +140,7 @@ function base(current, evidence) {
|
|
|
140
140
|
};
|
|
141
141
|
}
|
|
142
142
|
/** Internal pure profile transition; storage owns exact agenda CAS and idle admission. */
|
|
143
|
-
export function
|
|
143
|
+
export function reviseLearningProfile(current, input) {
|
|
144
144
|
const checked = z
|
|
145
145
|
.object({
|
|
146
146
|
identity: z.string().trim().min(1).max(4_000).optional(),
|
|
@@ -152,7 +152,7 @@ export function reviseResidentProfile(current, input) {
|
|
|
152
152
|
}))
|
|
153
153
|
.max(32)
|
|
154
154
|
.optional(),
|
|
155
|
-
evidence:
|
|
155
|
+
evidence: learningEvidenceSchema,
|
|
156
156
|
})
|
|
157
157
|
.parse(input);
|
|
158
158
|
if (checked.identity === undefined && !checked.preferences?.length)
|
|
@@ -174,14 +174,14 @@ export function reviseResidentProfile(current, input) {
|
|
|
174
174
|
else
|
|
175
175
|
preferences[index] = updated;
|
|
176
176
|
}
|
|
177
|
-
return
|
|
177
|
+
return freezeLearning({
|
|
178
178
|
...next,
|
|
179
179
|
preferences,
|
|
180
180
|
...(checked.identity !== undefined ? { identity: { text: checked.identity, evidence } } : {}),
|
|
181
181
|
});
|
|
182
182
|
}
|
|
183
183
|
/** @experimental Bind evaluation to normalized content and any declared source dependencies. */
|
|
184
|
-
export function
|
|
184
|
+
export function hashLearningSkill(input) {
|
|
185
185
|
const candidate = candidateSchema.parse(input);
|
|
186
186
|
return createHash('sha256')
|
|
187
187
|
.update(JSON.stringify([
|
|
@@ -194,10 +194,10 @@ export function hashResidentSkill(input) {
|
|
|
194
194
|
.digest('hex');
|
|
195
195
|
}
|
|
196
196
|
/** Internal pure activation; reuse the kernel's conservative two-round verification gate. */
|
|
197
|
-
export function
|
|
197
|
+
export function promoteLearningSkill(current, input, evaluation, inputEvidence) {
|
|
198
198
|
const protection = normalizeHarnessProtection(evaluation.protection);
|
|
199
199
|
const candidate = candidateSchema.parse(input);
|
|
200
|
-
const hash =
|
|
200
|
+
const hash = hashLearningSkill(candidate);
|
|
201
201
|
const baseline = current?.skills.find((s) => s.name === candidate.name);
|
|
202
202
|
if (baseline && (baseline.purpose ?? 'task') !== (candidate.purpose ?? 'task'))
|
|
203
203
|
throw new Error('A skill cannot change learning purpose; use a distinct skill name.');
|
|
@@ -242,27 +242,27 @@ export function promoteResidentSkill(current, input, evaluation, inputEvidence)
|
|
|
242
242
|
},
|
|
243
243
|
};
|
|
244
244
|
const next = base(current, evidence);
|
|
245
|
-
return
|
|
245
|
+
return freezeLearning({
|
|
246
246
|
...next,
|
|
247
247
|
skills: [...next.skills.filter((s) => s.name !== candidate.name), skill],
|
|
248
248
|
});
|
|
249
249
|
}
|
|
250
250
|
/** Internal rollback appends a new learning version while preserving current profile values. */
|
|
251
|
-
export function
|
|
251
|
+
export function restoreLearningSkill(current, historical, skillName, inputEvidence) {
|
|
252
252
|
name.parse(skillName);
|
|
253
253
|
if (!current?.skills.some((s) => s.name === skillName))
|
|
254
254
|
throw new Error('No active resident skill to roll back.');
|
|
255
255
|
const next = base(current, evidenceFor(current, inputEvidence));
|
|
256
256
|
const previous = historical
|
|
257
|
-
?
|
|
257
|
+
? freezeLearning(historical).skills.find((s) => s.name === skillName)
|
|
258
258
|
: undefined;
|
|
259
|
-
return
|
|
259
|
+
return freezeLearning({
|
|
260
260
|
...next,
|
|
261
261
|
skills: [...next.skills.filter((s) => s.name !== skillName), ...(previous ? [previous] : [])],
|
|
262
262
|
});
|
|
263
263
|
}
|
|
264
264
|
/** @experimental Bounded context data; never registers tools, loads files or executes a skill. */
|
|
265
|
-
export function
|
|
265
|
+
export function projectLearning(current, options) {
|
|
266
266
|
if (!Number.isSafeInteger(options.maxChars) || options.maxChars < 0 || options.maxChars > 64_000)
|
|
267
267
|
throw new TypeError('Resident learning context requires maxChars between 0 and 64000.');
|
|
268
268
|
const selected = z.array(name).max(16).parse(options.skillNames);
|
|
@@ -284,7 +284,7 @@ export function projectResidentLearning(current, options) {
|
|
|
284
284
|
omitted: selected.length,
|
|
285
285
|
withheldSkills: Object.freeze([]),
|
|
286
286
|
});
|
|
287
|
-
const state =
|
|
287
|
+
const state = freezeLearning(current);
|
|
288
288
|
const pieces = [];
|
|
289
289
|
const includedSkills = [];
|
|
290
290
|
const withheldSkills = [];
|
|
@@ -350,4 +350,4 @@ export function projectResidentLearning(current, options) {
|
|
|
350
350
|
withheldSkills: Object.freeze(withheldSkills),
|
|
351
351
|
});
|
|
352
352
|
}
|
|
353
|
-
//# sourceMappingURL=
|
|
353
|
+
//# sourceMappingURL=skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/learning/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAEN,0BAA0B,GAC1B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAEN,sBAAsB,GACtB,MAAM,iCAAiC,CAAA;AAExC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC/C,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;AAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;CAC3C,CAAC,CAAA;AAKF,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;AAI9D,MAAM,aAAa,GAAG,CAAC;KACrB,KAAK,CAAC,YAAY,CAAC;KACnB,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,CAAC,CAAC;KACN,WAAW,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACjC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;QACvE,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAA;AAC/F,CAAC,CAAC;KACD,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE9F,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,IAAI;IACJ,8FAA8F;IAC9F,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACzC,gFAAgF;IAChF,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAA;AAOF,wEAAwE;AACxE,MAAM,UAAU,sBAAsB,CAAC,KAA6B;IACnE,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,GAAG,SAAS;QACZ,GAAG,CAAC,SAAS,CAAC,OAAO;YACpB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACtF,CAAC,CAAC,EAAE,CAAC;KACN,CAAC,CAAA;AACH,CAAC;AAED,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,sBAAsB;IAChC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,aAAa,EAAE,MAAM;QACrB,cAAc,EAAE,MAAM;QACtB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,iFAAiF;QACjF,UAAU,EAAE,CAAC;aACX,MAAM,CAAC;YACP,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAClD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAClD,UAAU,EAAE,MAAM;SAClB,CAAC;aACD,QAAQ,EAAE;KACZ,CAAC;CACF,CAAC,CAAA;AAOF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC7B,MAAM,CAAC;IACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;IAC5C,QAAQ,EAAE,CAAC;SACT,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QACzC,QAAQ,EAAE,sBAAsB;KAChC,CAAC;SACD,QAAQ,EAAE;IACZ,WAAW,EAAE,CAAC;SACZ,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;QACR,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QAC1C,QAAQ,EAAE,sBAAsB;KAChC,CAAC,CACF;SACA,GAAG,CAAC,EAAE,CAAC;IACT,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3C,UAAU,EAAE,sBAAsB;CAClC,CAAC;KACD,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,IACC,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC,MAAM;QAC9E,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM;QACrE,KAAK,CAAC,MAAM,CAAC,IAAI,CAChB,CAAC,KAAK,EAAE,EAAE,CACT,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,KAAK,CAAC;YACvC,KAAK,CAAC,YAAY,CAAC,aAAa,KAAK,KAAK,CAAC,IAAI,CAChD;QAED,OAAO,CAAC,QAAQ,CAAC;YAChB,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,uDAAuD;SAChE,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAkCH,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAAC,KAAoB;IAClD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,GAAG,KAAK;QACR,GAAG,CAAC,KAAK,CAAC,QAAQ;YACjB,CAAC,CAAC;gBACA,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;oBACvB,GAAG,KAAK,CAAC,QAAQ;oBACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBAChD,CAAC;aACF;YACF,CAAC,CAAC,EAAE,CAAC;QACN,WAAW,EAAE,MAAM,CAAC,MAAM,CACzB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAC1F;QACD,MAAM,EAAE,MAAM,CAAC,MAAM,CACpB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,MAAM,CAAC,MAAM,CAAC;YACb,GAAG,KAAK;YACR,GAAG,CAAC,KAAK,CAAC,OAAO;gBAChB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAClF,CAAC,CAAC,EAAE,CAAC;YACN,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;YACvC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;gBAC3B,GAAG,KAAK,CAAC,YAAY;gBACrB,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU;oBAChC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;oBAC9D,CAAC,CAAC,EAAE,CAAC;aACN,CAAC;SACF,CAAC,CACF,CACD;QACD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;KAC3C,CAAC,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CACnB,OAAkC,EAClC,KAAuB;IAEvB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACpD,MAAM,IAAI,GAAG;QACZ,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,QAAQ,EAAE,QAAQ;QAC3B,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtD,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACjD,CAAA;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACpE,OAAO,QAAQ,CAAA;AAChB,CAAC;AAED,SAAS,IAAI,CAAC,OAAkC,EAAE,QAA0B;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7D,OAAO;QACN,GAAG,OAAO;QACV,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;QACtC,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,EAAE;QACvC,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE;QAC7B,UAAU,EAAE,QAAQ;KACpB,CAAA;AACF,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,qBAAqB,CACpC,OAAkC,EAClC,KAA4B;IAE5B,MAAM,OAAO,GAAG,CAAC;SACf,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;QACxD,WAAW,EAAE,CAAC;aACZ,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;YACR,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YAC1C,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE;SAC5B,CAAC,CACF;aACA,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;QACZ,QAAQ,EAAE,sBAAsB;KAChC,CAAC;SACD,KAAK,CAAC,KAAK,CAAC,CAAA;IACd,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM;QACjE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACzE,IACC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,EAAE,MAAM;QACpF,OAAO,CAAC,WAAW,KAAK,SAAS;QAEjC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACrE,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACpC,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;IACzC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAA;QAChE,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5D,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAI,IAAI,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;QAClF,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;QAClE,IAAI,KAAK,GAAG,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;;YACnC,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;IAClC,CAAC;IACD,OAAO,cAAc,CAAC;QACrB,GAAG,IAAI;QACP,WAAW;QACX,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7F,CAAC,CAAA;AACH,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC9D,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC9C,OAAO,UAAU,CAAC,QAAQ,CAAC;SACzB,MAAM,CACN,IAAI,CAAC,SAAS,CAAC;QACd,SAAS,CAAC,IAAI;QACd,SAAS,CAAC,WAAW;QACrB,SAAS,CAAC,IAAI;QACd,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAChF,CAAC,CACF;SACA,MAAM,CAAC,KAAK,CAAC,CAAA;AAChB,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,oBAAoB,CACnC,OAAkC,EAClC,KAA6B,EAC7B,UAAmC,EACnC,aAA+B;IAE/B,MAAM,UAAU,GAAG,0BAA0B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IACpE,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACzC,MAAM,QAAQ,GAAG,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAA;IACvE,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;IACtF,MAAM,YAAY,GAAG,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAA;IAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IACpD,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,KAAK;YAAE,SAAQ;QACpB,IAAI,KAAK,CAAC,gBAAgB,KAAK,YAAY,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI;YAC9E,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAA;QAC9F,IACC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG;YAC3B,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG;YAC5B,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG;YAE/B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAC/E,kFAAkF;QAClF,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,IACC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;gBAC1D,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEtE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACpE,CAAC;IACF,CAAC;IACD,MAAM,MAAM,GAAG,sBAAsB,CACpC,UAAU,CAAC,YAAY,EACvB,UAAU,CAAC,YAAY,EACvB,UAAU,CACV,CAAA;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAC/B,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IACjF,MAAM,KAAK,GAAiB;QAC3B,GAAG,SAAS;QACZ,IAAI;QACJ,QAAQ;QACR,YAAY,EAAE;YACb,YAAY;YACZ,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC;iBAClC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;iBACrD,MAAM,CAAC,KAAK,CAAC;YACf,iBAAiB,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM;YACnD,iBAAiB,EAAE,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;YACzD,UAAU,EAAE;gBACX,iBAAiB,EAAE,UAAU,CAAC,YAAY,CAAC,MAAM;gBACjD,iBAAiB,EAAE,UAAU,CAAC,YAAY,CAAC,MAAM;gBACjD,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aACjF;SACD;KACD,CAAA;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACpC,OAAO,cAAc,CAAC;QACrB,GAAG,IAAI;QACP,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;KACxE,CAAC,CAAA;AACH,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,oBAAoB,CACnC,OAAkC,EAClC,UAAqC,EACrC,SAAiB,EACjB,aAA+B;IAE/B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACrB,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;IAC/D,MAAM,QAAQ,GAAG,UAAU;QAC1B,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;QACrE,CAAC,CAAC,SAAS,CAAA;IACZ,OAAO,cAAc,CAAC;QACrB,GAAG,IAAI;QACP,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC7F,CAAC,CAAA;AACH,CAAC;AAyBD,kGAAkG;AAClG,MAAM,UAAU,eAAe,CAC9B,OAAkC,EAClC,OAAkC;IAElC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,MAAM;QAC/F,MAAM,IAAI,SAAS,CAAC,kEAAkE,CAAC,CAAA;IACxF,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAChE,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,CAAA;IAChF,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IAClG,MAAM,OAAO,GAAG,CAAC;SACf,KAAK,CAAC,YAAY,CAAC;SACnB,GAAG,CAAC,GAAG,CAAC;SACR,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IAC9B,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;QACvE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAChF,IAAI,CAAC,OAAO;QACX,OAAO,MAAM,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,IAAI;YACd,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,QAAQ,CAAC,MAAM;YACxB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;SACjC,CAAC,CAAA;IACH,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,cAAc,GAAa,EAAE,CAAA;IACnC,MAAM,cAAc,GAAmD,EAAE,CAAA;IACzE,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,MAAM,GAAG,GAAG,CAAC,KAAc,EAAW,EAAE;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO,EAAE,CAAA;YACT,OAAO,KAAK,CAAA;QACb,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjB,MAAM,IAAI,IAAI,CAAA;QACd,OAAO,IAAI,CAAA;IACZ,CAAC,CAAA;IACD,IAAI,KAAK,CAAC,QAAQ;QAAE,GAAG,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IACxE,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW;QAAE,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC,CAAA;IACtF,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,EAAE,CAAA;YACT,SAAQ;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC;YAC3C,OAAO,EAAE,CAAA;YACT,cAAc,CAAC,IAAI,CAClB,MAAM,CAAC,MAAM,CAAC;gBACb,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,mBAAmB;gBAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;aAC7B,CAAC,CACF,CAAA;YACD,SAAQ;QACT,CAAC;QACD,MAAM,UAAU,GACf,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACtF,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAA;YACT,cAAc,CAAC,IAAI,CAClB,MAAM,CAAC,MAAM,CAAC;gBACb,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC5D,CAAC,CAAC,gBAAgB;oBAClB,CAAC,CAAC,mBAAmB;gBACtB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACjE,CAAC,CACF,CAAA;YACD,SAAQ;QACT,CAAC;QACD,IACC,GAAG,CAAC;YACH,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACxB,CAAC;YAEF,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;QAC7C,OAAO;QACP,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;KAC7C,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import type { ProjectId, TenantId } from '
|
|
2
|
-
import { type
|
|
3
|
-
import { type
|
|
1
|
+
import type { ProjectId, TenantId } from '../types/ids/index.js';
|
|
2
|
+
import { type LearningCycleEvent, type LearningCycleOptions, type LearningCycleResult } from './cycle.js';
|
|
3
|
+
import { type LearningObservation, type LearningObservationRecord, type LearningTarget } from './observation.js';
|
|
4
4
|
/**
|
|
5
5
|
* The schema this store writes and reads. Versions 1 and 2 keyed observations
|
|
6
6
|
* and receipts by a turn id; a database at either (or any other version) is
|
|
7
7
|
* refused, never migrated — its rows name executions that no longer exist.
|
|
8
8
|
*/
|
|
9
|
-
export declare const
|
|
9
|
+
export declare const LEARNING_STORE_VERSION = 3;
|
|
10
10
|
/** A learning database this version of the store does not read. */
|
|
11
|
-
export declare class
|
|
12
|
-
readonly name = "
|
|
11
|
+
export declare class LearningStoreVersionError extends Error {
|
|
12
|
+
readonly name = "LearningStoreVersionError";
|
|
13
13
|
readonly found: number;
|
|
14
14
|
readonly expected: number;
|
|
15
15
|
constructor(databasePath: string, found: number);
|
|
16
16
|
}
|
|
17
17
|
/** @experimental Private parent directories and backup policy remain host responsibilities. */
|
|
18
|
-
export interface
|
|
18
|
+
export interface SqliteLearningStoreOptions {
|
|
19
19
|
readonly databasePath: string;
|
|
20
20
|
readonly artifactsPath: string;
|
|
21
21
|
readonly scope: {
|
|
@@ -26,13 +26,13 @@ export interface SqliteResidentLearningStoreOptions {
|
|
|
26
26
|
readonly readOnly?: boolean;
|
|
27
27
|
}
|
|
28
28
|
/** @experimental A content-addressed immutable JSON artifact, scoped through its owning cycle. */
|
|
29
|
-
export interface
|
|
29
|
+
export interface LearningArtifact {
|
|
30
30
|
readonly name: string;
|
|
31
31
|
readonly hash: string;
|
|
32
32
|
readonly bytes: number;
|
|
33
33
|
}
|
|
34
34
|
/** @experimental Recorded lower bounds; absence of a final result means completeness is unknown. */
|
|
35
|
-
export interface
|
|
35
|
+
export interface LearningRecordedUsage {
|
|
36
36
|
readonly tokens: number;
|
|
37
37
|
readonly costUsd: number;
|
|
38
38
|
readonly receipts: number;
|
|
@@ -40,18 +40,18 @@ export interface ResidentLearningRecordedUsage {
|
|
|
40
40
|
readonly unknownCosts: number;
|
|
41
41
|
}
|
|
42
42
|
/** @experimental Running/pending records require inspection; neither implies a live executor. */
|
|
43
|
-
export interface
|
|
43
|
+
export interface LearningCycleSummary {
|
|
44
44
|
readonly cycleId: string;
|
|
45
45
|
readonly ordinal: number;
|
|
46
46
|
readonly parentCycleId: string | null;
|
|
47
47
|
readonly skillName: string | null;
|
|
48
|
-
readonly status:
|
|
48
|
+
readonly status: LearningCycleResult['status'] | 'running' | 'activation-pending';
|
|
49
49
|
readonly sequence: number;
|
|
50
50
|
readonly startedAt: number;
|
|
51
51
|
readonly updatedAt: number;
|
|
52
52
|
readonly candidateRevision: string | null;
|
|
53
|
-
readonly result:
|
|
54
|
-
readonly recordedUsage:
|
|
53
|
+
readonly result: LearningCycleResult | null;
|
|
54
|
+
readonly recordedUsage: LearningRecordedUsage;
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
57
|
* @experimental Authoritative experiment journal and query index in one transaction.
|
|
@@ -59,55 +59,62 @@ export interface ResidentLearningCycleSummary {
|
|
|
59
59
|
* No database transaction spans an await, model request or artifact write. JSONL
|
|
60
60
|
* exports are observations, never a second writable authority or a replay queue.
|
|
61
61
|
*/
|
|
62
|
-
export declare class
|
|
62
|
+
export declare class SqliteLearningStore {
|
|
63
63
|
readonly databasePath: string;
|
|
64
64
|
readonly artifactsPath: string;
|
|
65
65
|
private readonly scope;
|
|
66
66
|
private readonly readOnly;
|
|
67
|
-
constructor(options:
|
|
67
|
+
constructor(options: SqliteLearningStoreOptions);
|
|
68
68
|
private use;
|
|
69
69
|
private owned;
|
|
70
70
|
/** Immutable, idempotent observations. Regrading requires a different evaluator revision. */
|
|
71
|
-
observe(input:
|
|
71
|
+
observe(input: LearningObservation): Promise<void>;
|
|
72
72
|
private observationsQuery;
|
|
73
73
|
private observationRecord;
|
|
74
74
|
/** Ordered inspection; summaries are host observations, not inferred task completion. */
|
|
75
75
|
observations(options?: {
|
|
76
76
|
readonly after?: number;
|
|
77
77
|
readonly limit?: number;
|
|
78
|
-
}): Promise<readonly
|
|
78
|
+
}): Promise<readonly LearningObservationRecord[]>;
|
|
79
|
+
/**
|
|
80
|
+
* Drop unclaimed observations the host no longer wants to keep (retention). An
|
|
81
|
+
* observation a cycle has claimed is never dropped, so no experiment loses its
|
|
82
|
+
* source. Returns how many were removed; the store keeps no clock, so the host
|
|
83
|
+
* decides from the record (for example the age of its session).
|
|
84
|
+
*/
|
|
85
|
+
pruneObservations(shouldDrop: (record: LearningObservationRecord) => boolean): Promise<number>;
|
|
79
86
|
/** Oldest eligible unattempted task across current targets; no model call or claim is made. */
|
|
80
|
-
selectObservation(input: readonly
|
|
87
|
+
selectObservation(input: readonly LearningTarget[]): Promise<LearningObservationRecord | null>;
|
|
81
88
|
private claimObservation;
|
|
82
89
|
/** Identical event retries are idempotent. Different content at the same sequence is refused. */
|
|
83
|
-
append(input:
|
|
84
|
-
get(cycleId: string): Promise<
|
|
90
|
+
append(input: LearningCycleEvent): Promise<void>;
|
|
91
|
+
get(cycleId: string): Promise<LearningCycleSummary | null>;
|
|
85
92
|
list(options?: {
|
|
86
93
|
readonly before?: number;
|
|
87
94
|
readonly limit?: number;
|
|
88
|
-
}): Promise<readonly
|
|
95
|
+
}): Promise<readonly LearningCycleSummary[]>;
|
|
89
96
|
events(cycleId: string, options?: {
|
|
90
97
|
readonly after?: number;
|
|
91
98
|
readonly limit?: number;
|
|
92
|
-
}): Promise<readonly
|
|
93
|
-
artifacts(cycleId: string): Promise<readonly
|
|
99
|
+
}): Promise<readonly LearningCycleEvent[]>;
|
|
100
|
+
artifacts(cycleId: string): Promise<readonly LearningArtifact[]>;
|
|
94
101
|
/** Complete immutable bytes precede the reference; an interrupted publication may leave an unreferenced blob. */
|
|
95
|
-
putArtifact(cycleId: string, name: string, value: unknown): Promise<
|
|
102
|
+
putArtifact(cycleId: string, name: string, value: unknown): Promise<LearningArtifact>;
|
|
96
103
|
readArtifact(cycleId: string, name: string): Promise<unknown>;
|
|
97
104
|
}
|
|
98
105
|
/** @experimental Supply normal host callbacks; the store retains journal events and full paired batches. */
|
|
99
|
-
export declare function
|
|
106
|
+
export declare function runStoredLearningCycle(store: SqliteLearningStore, options: Omit<LearningCycleOptions, 'record'>): Promise<LearningCycleResult>;
|
|
100
107
|
/** @experimental Host authorizes evaluators; the SDK selects a retained failure against the active skill. */
|
|
101
|
-
export interface
|
|
108
|
+
export interface LearningDiscoveryOptions extends Omit<LearningCycleOptions, 'record' | 'failure' | 'skillName'> {
|
|
102
109
|
readonly evaluators: readonly {
|
|
103
110
|
readonly skillName: string;
|
|
104
111
|
readonly evaluatorRevision: string;
|
|
105
112
|
}[];
|
|
106
113
|
}
|
|
107
114
|
/** @experimental Null cycle means no eligible work. A failed claimed cycle is never silently replayed. */
|
|
108
|
-
export interface
|
|
109
|
-
readonly observation:
|
|
110
|
-
readonly cycle:
|
|
115
|
+
export interface LearningDiscoveryResult {
|
|
116
|
+
readonly observation: LearningObservationRecord | null;
|
|
117
|
+
readonly cycle: LearningCycleResult | null;
|
|
111
118
|
}
|
|
112
119
|
/**
|
|
113
120
|
* @experimental Admit at most one experiment from host-scored observations.
|
|
@@ -115,5 +122,5 @@ export interface ResidentLearningDiscoveryResult {
|
|
|
115
122
|
* Claim and start are one SQLite transaction; concurrent selectors cannot run
|
|
116
123
|
* the same task/evaluator/baseline twice, even after a crash or reopened process.
|
|
117
124
|
*/
|
|
118
|
-
export declare function
|
|
119
|
-
//# sourceMappingURL=
|
|
125
|
+
export declare function runStoredLearningFromObservations(store: SqliteLearningStore, options: LearningDiscoveryOptions): Promise<LearningDiscoveryResult>;
|
|
126
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/learning/store.ts"],"names":[],"mappings":"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"}
|