@namzu/sdk 54.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.
Files changed (325) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/agents/QueryAgent.d.ts.map +1 -1
  3. package/dist/agents/QueryAgent.js +1 -0
  4. package/dist/agents/QueryAgent.js.map +1 -1
  5. package/dist/compaction/extractor.d.ts.map +1 -1
  6. package/dist/compaction/extractor.js +5 -1
  7. package/dist/compaction/extractor.js.map +1 -1
  8. package/dist/compaction/managers/structured.d.ts.map +1 -1
  9. package/dist/compaction/managers/structured.js +5 -0
  10. package/dist/compaction/managers/structured.js.map +1 -1
  11. package/dist/compaction/manual.d.ts.map +1 -1
  12. package/dist/compaction/manual.js +6 -0
  13. package/dist/compaction/manual.js.map +1 -1
  14. package/dist/compaction/serializer.d.ts +6 -0
  15. package/dist/compaction/serializer.d.ts.map +1 -1
  16. package/dist/compaction/serializer.js +21 -3
  17. package/dist/compaction/serializer.js.map +1 -1
  18. package/dist/compaction/verifier.d.ts.map +1 -1
  19. package/dist/compaction/verifier.js +27 -6
  20. package/dist/compaction/verifier.js.map +1 -1
  21. package/dist/constants/compaction/index.d.ts +1 -0
  22. package/dist/constants/compaction/index.d.ts.map +1 -1
  23. package/dist/constants/compaction/index.js +1 -0
  24. package/dist/constants/compaction/index.js.map +1 -1
  25. package/dist/{manager/resident/learning-cycle.d.ts → learning/cycle.d.ts} +45 -36
  26. package/dist/learning/cycle.d.ts.map +1 -0
  27. package/dist/{manager/resident/learning-cycle.js → learning/cycle.js} +52 -20
  28. package/dist/learning/cycle.js.map +1 -0
  29. package/dist/learning/deprecated.d.ts +86 -0
  30. package/dist/learning/deprecated.d.ts.map +1 -0
  31. package/dist/learning/deprecated.js +22 -0
  32. package/dist/learning/deprecated.js.map +1 -0
  33. package/dist/learning/experience-store.d.ts +35 -0
  34. package/dist/learning/experience-store.d.ts.map +1 -0
  35. package/dist/learning/experience-store.js +143 -0
  36. package/dist/learning/experience-store.js.map +1 -0
  37. package/dist/learning/experience.d.ts +150 -0
  38. package/dist/learning/experience.d.ts.map +1 -0
  39. package/dist/learning/experience.js +146 -0
  40. package/dist/learning/experience.js.map +1 -0
  41. package/dist/learning/generator.d.ts +118 -0
  42. package/dist/learning/generator.d.ts.map +1 -0
  43. package/dist/learning/generator.js +275 -0
  44. package/dist/learning/generator.js.map +1 -0
  45. package/dist/learning/leak-tripwire.d.ts +66 -0
  46. package/dist/learning/leak-tripwire.d.ts.map +1 -0
  47. package/dist/learning/leak-tripwire.js +208 -0
  48. package/dist/learning/leak-tripwire.js.map +1 -0
  49. package/dist/{manager/resident/learning-observation.d.ts → learning/observation.d.ts} +4 -4
  50. package/dist/learning/observation.d.ts.map +1 -0
  51. package/dist/{manager/resident/learning-observation.js → learning/observation.js} +3 -3
  52. package/dist/learning/observation.js.map +1 -0
  53. package/dist/{manager/resident/learning.d.ts → learning/skill.d.ts} +29 -29
  54. package/dist/learning/skill.d.ts.map +1 -0
  55. package/dist/{manager/resident/learning.js → learning/skill.js} +27 -27
  56. package/dist/learning/skill.js.map +1 -0
  57. package/dist/{manager/resident/learning-store.d.ts → learning/store.d.ts} +38 -31
  58. package/dist/learning/store.d.ts.map +1 -0
  59. package/dist/{manager/resident/learning-store.js → learning/store.js} +52 -20
  60. package/dist/learning/store.js.map +1 -0
  61. package/dist/manager/resident/activity.d.ts +30 -6
  62. package/dist/manager/resident/activity.d.ts.map +1 -1
  63. package/dist/manager/resident/activity.js.map +1 -1
  64. package/dist/manager/resident/agenda.d.ts +42 -12
  65. package/dist/manager/resident/agenda.d.ts.map +1 -1
  66. package/dist/manager/resident/agenda.js +9 -7
  67. package/dist/manager/resident/agenda.js.map +1 -1
  68. package/dist/manager/resident/consumption.d.ts +27 -5
  69. package/dist/manager/resident/consumption.d.ts.map +1 -1
  70. package/dist/manager/resident/consumption.js +2 -0
  71. package/dist/manager/resident/consumption.js.map +1 -1
  72. package/dist/manager/resident/delivery-window.d.ts +7 -1
  73. package/dist/manager/resident/delivery-window.d.ts.map +1 -1
  74. package/dist/manager/resident/delivery-window.js +2 -0
  75. package/dist/manager/resident/delivery-window.js.map +1 -1
  76. package/dist/manager/resident/evidence-recall.d.ts +7 -1
  77. package/dist/manager/resident/evidence-recall.d.ts.map +1 -1
  78. package/dist/manager/resident/evidence-recall.js +2 -0
  79. package/dist/manager/resident/evidence-recall.js.map +1 -1
  80. package/dist/manager/resident/history.d.ts +45 -9
  81. package/dist/manager/resident/history.d.ts.map +1 -1
  82. package/dist/manager/resident/history.js.map +1 -1
  83. package/dist/manager/resident/host.d.ts +44 -10
  84. package/dist/manager/resident/host.d.ts.map +1 -1
  85. package/dist/manager/resident/host.js +4 -2
  86. package/dist/manager/resident/host.js.map +1 -1
  87. package/dist/manager/resident/initiative.d.ts +32 -6
  88. package/dist/manager/resident/initiative.d.ts.map +1 -1
  89. package/dist/manager/resident/initiative.js +2 -0
  90. package/dist/manager/resident/initiative.js.map +1 -1
  91. package/dist/manager/resident/loop.d.ts +22 -4
  92. package/dist/manager/resident/loop.d.ts.map +1 -1
  93. package/dist/manager/resident/loop.js +7 -1
  94. package/dist/manager/resident/loop.js.map +1 -1
  95. package/dist/manager/resident/outbox.d.ts +42 -8
  96. package/dist/manager/resident/outbox.d.ts.map +1 -1
  97. package/dist/manager/resident/outbox.js +2 -0
  98. package/dist/manager/resident/outbox.js.map +1 -1
  99. package/dist/manager/resident/proposal.d.ts +19 -5
  100. package/dist/manager/resident/proposal.d.ts.map +1 -1
  101. package/dist/manager/resident/proposal.js +2 -0
  102. package/dist/manager/resident/proposal.js.map +1 -1
  103. package/dist/manager/resident/store.d.ts +31 -9
  104. package/dist/manager/resident/store.d.ts.map +1 -1
  105. package/dist/manager/resident/store.js +7 -1
  106. package/dist/manager/resident/store.js.map +1 -1
  107. package/dist/manager/resident/tool-evidence.d.ts +45 -9
  108. package/dist/manager/resident/tool-evidence.d.ts.map +1 -1
  109. package/dist/manager/resident/tool-evidence.js +5 -1
  110. package/dist/manager/resident/tool-evidence.js.map +1 -1
  111. package/dist/prompt/coding-agent-doctrine.d.ts +3 -3
  112. package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
  113. package/dist/prompt/coding-agent-doctrine.js +18 -20
  114. package/dist/prompt/coding-agent-doctrine.js.map +1 -1
  115. package/dist/prompt/resident-learning.d.ts +12 -2
  116. package/dist/prompt/resident-learning.d.ts.map +1 -1
  117. package/dist/prompt/resident-learning.js +6 -5
  118. package/dist/prompt/resident-learning.js.map +1 -1
  119. package/dist/prompt/resident-step.d.ts +10 -4
  120. package/dist/prompt/resident-step.d.ts.map +1 -1
  121. package/dist/prompt/resident-step.js +6 -4
  122. package/dist/prompt/resident-step.js.map +1 -1
  123. package/dist/public-runtime.d.ts +10 -4
  124. package/dist/public-runtime.d.ts.map +1 -1
  125. package/dist/public-runtime.js +11 -4
  126. package/dist/public-runtime.js.map +1 -1
  127. package/dist/public-types.d.ts +9 -4
  128. package/dist/public-types.d.ts.map +1 -1
  129. package/dist/runtime/query/checkpoint.d.ts +12 -2
  130. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  131. package/dist/runtime/query/checkpoint.js +42 -8
  132. package/dist/runtime/query/checkpoint.js.map +1 -1
  133. package/dist/runtime/query/executor.d.ts +39 -1
  134. package/dist/runtime/query/executor.d.ts.map +1 -1
  135. package/dist/runtime/query/executor.js +115 -7
  136. package/dist/runtime/query/executor.js.map +1 -1
  137. package/dist/runtime/query/index.d.ts +18 -0
  138. package/dist/runtime/query/index.d.ts.map +1 -1
  139. package/dist/runtime/query/index.js +20 -1
  140. package/dist/runtime/query/index.js.map +1 -1
  141. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  142. package/dist/runtime/query/iteration/index.js +17 -8
  143. package/dist/runtime/query/iteration/index.js.map +1 -1
  144. package/dist/runtime/query/iteration/phases/context.d.ts +24 -2
  145. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  146. package/dist/runtime/query/iteration/phases/context.js +22 -22
  147. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  148. package/dist/runtime/query/iteration/phases/per-call-review.d.ts +87 -0
  149. package/dist/runtime/query/iteration/phases/per-call-review.d.ts.map +1 -0
  150. package/dist/runtime/query/iteration/phases/per-call-review.js +513 -0
  151. package/dist/runtime/query/iteration/phases/per-call-review.js.map +1 -0
  152. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  153. package/dist/runtime/query/iteration/phases/tool-review.js +129 -62
  154. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  155. package/dist/runtime/query/iteration/step-context.d.ts +14 -0
  156. package/dist/runtime/query/iteration/step-context.d.ts.map +1 -1
  157. package/dist/runtime/query/iteration/step-context.js +29 -0
  158. package/dist/runtime/query/iteration/step-context.js.map +1 -1
  159. package/dist/runtime/query/iteration/step-shaping.d.ts.map +1 -1
  160. package/dist/runtime/query/iteration/step-shaping.js +6 -2
  161. package/dist/runtime/query/iteration/step-shaping.js.map +1 -1
  162. package/dist/runtime/query/prepare-turn.d.ts.map +1 -1
  163. package/dist/runtime/query/prepare-turn.js +16 -3
  164. package/dist/runtime/query/prepare-turn.js.map +1 -1
  165. package/dist/runtime/query/project-instructions.d.ts +24 -5
  166. package/dist/runtime/query/project-instructions.d.ts.map +1 -1
  167. package/dist/runtime/query/project-instructions.js +107 -35
  168. package/dist/runtime/query/project-instructions.js.map +1 -1
  169. package/dist/runtime/query/prompt.d.ts +6 -0
  170. package/dist/runtime/query/prompt.d.ts.map +1 -1
  171. package/dist/runtime/query/prompt.js +10 -49
  172. package/dist/runtime/query/prompt.js.map +1 -1
  173. package/dist/runtime/query/resume-pending.d.ts +8 -0
  174. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  175. package/dist/runtime/query/resume-pending.js +101 -0
  176. package/dist/runtime/query/resume-pending.js.map +1 -1
  177. package/dist/runtime/query/review-policy.d.ts +18 -0
  178. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  179. package/dist/runtime/query/review-policy.js +10 -0
  180. package/dist/runtime/query/review-policy.js.map +1 -1
  181. package/dist/runtime/query/steering.d.ts +55 -56
  182. package/dist/runtime/query/steering.d.ts.map +1 -1
  183. package/dist/runtime/query/steering.js +78 -72
  184. package/dist/runtime/query/steering.js.map +1 -1
  185. package/dist/tools/builtins/bash.d.ts +8 -0
  186. package/dist/tools/builtins/bash.d.ts.map +1 -1
  187. package/dist/tools/builtins/bash.js +13 -18
  188. package/dist/tools/builtins/bash.js.map +1 -1
  189. package/dist/tools/builtins/browser.d.ts.map +1 -1
  190. package/dist/tools/builtins/browser.js +38 -12
  191. package/dist/tools/builtins/browser.js.map +1 -1
  192. package/dist/tools/builtins/edit.js +4 -4
  193. package/dist/tools/builtins/edit.js.map +1 -1
  194. package/dist/tools/builtins/job.js +1 -1
  195. package/dist/tools/builtins/job.js.map +1 -1
  196. package/dist/tools/builtins/skill.js +1 -1
  197. package/dist/tools/builtins/skill.js.map +1 -1
  198. package/dist/tools/builtins/structuredOutput.js +1 -1
  199. package/dist/tools/builtins/structuredOutput.js.map +1 -1
  200. package/dist/tools/builtins/verify-outputs.js +1 -1
  201. package/dist/tools/builtins/verify-outputs.js.map +1 -1
  202. package/dist/tools/builtins/write-file.js +4 -4
  203. package/dist/tools/builtins/write-file.js.map +1 -1
  204. package/dist/tools/coordinator/ask-user-question.d.ts +6 -0
  205. package/dist/tools/coordinator/ask-user-question.d.ts.map +1 -1
  206. package/dist/tools/coordinator/ask-user-question.js +6 -1
  207. package/dist/tools/coordinator/ask-user-question.js.map +1 -1
  208. package/dist/tools/coordinator/index.d.ts.map +1 -1
  209. package/dist/tools/coordinator/index.js +10 -3
  210. package/dist/tools/coordinator/index.js.map +1 -1
  211. package/dist/tools/resident-history.d.ts +2 -0
  212. package/dist/tools/resident-history.d.ts.map +1 -1
  213. package/dist/tools/resident-history.js +2 -0
  214. package/dist/tools/resident-history.js.map +1 -1
  215. package/dist/tools/resident-tool-evidence.d.ts +5 -1
  216. package/dist/tools/resident-tool-evidence.d.ts.map +1 -1
  217. package/dist/tools/resident-tool-evidence.js +5 -1
  218. package/dist/tools/resident-tool-evidence.js.map +1 -1
  219. package/dist/tools/schedules/loop-tool.d.ts.map +1 -1
  220. package/dist/tools/schedules/loop-tool.js +4 -2
  221. package/dist/tools/schedules/loop-tool.js.map +1 -1
  222. package/dist/tools/schedules/schedule-tool.js +2 -2
  223. package/dist/tools/schedules/schedule-tool.js.map +1 -1
  224. package/dist/tools/task/create.js +1 -1
  225. package/dist/tools/task/create.js.map +1 -1
  226. package/dist/tools/untrusted-envelope.js +1 -1
  227. package/dist/tools/untrusted-envelope.js.map +1 -1
  228. package/dist/turn/evidence-query.d.ts.map +1 -1
  229. package/dist/turn/evidence-query.js +16 -1
  230. package/dist/turn/evidence-query.js.map +1 -1
  231. package/dist/turn/evidence-recall.js +1 -1
  232. package/dist/turn/evidence-recall.js.map +1 -1
  233. package/dist/types/agent/base.d.ts +7 -0
  234. package/dist/types/agent/base.d.ts.map +1 -1
  235. package/dist/types/hitl/index.d.ts +66 -0
  236. package/dist/types/hitl/index.d.ts.map +1 -1
  237. package/dist/types/hitl/index.js.map +1 -1
  238. package/dist/types/message/index.d.ts +8 -0
  239. package/dist/types/message/index.d.ts.map +1 -1
  240. package/dist/types/message/index.js +12 -2
  241. package/dist/types/message/index.js.map +1 -1
  242. package/dist/types/message/notice-frame.d.ts +41 -0
  243. package/dist/types/message/notice-frame.d.ts.map +1 -0
  244. package/dist/types/message/notice-frame.js +65 -0
  245. package/dist/types/message/notice-frame.js.map +1 -0
  246. package/package.json +1 -1
  247. package/src/agents/QueryAgent.ts +1 -0
  248. package/src/compaction/extractor.ts +8 -1
  249. package/src/compaction/managers/structured.ts +3 -0
  250. package/src/compaction/manual.ts +5 -0
  251. package/src/compaction/serializer.ts +28 -3
  252. package/src/compaction/verifier.ts +32 -6
  253. package/src/constants/compaction/index.ts +1 -0
  254. package/src/{manager/resident/learning-cycle.ts → learning/cycle.ts} +130 -78
  255. package/src/learning/deprecated.ts +124 -0
  256. package/src/learning/experience-store.ts +202 -0
  257. package/src/learning/experience.ts +238 -0
  258. package/src/learning/generator.ts +388 -0
  259. package/src/learning/leak-tripwire.ts +280 -0
  260. package/src/{manager/resident/learning-observation.ts → learning/observation.ts} +5 -5
  261. package/src/{manager/resident/learning.ts → learning/skill.ts} +64 -67
  262. package/src/{manager/resident/learning-store.ts → learning/store.ts} +97 -67
  263. package/src/manager/resident/activity.ts +30 -6
  264. package/src/manager/resident/agenda.ts +63 -33
  265. package/src/manager/resident/consumption.ts +27 -5
  266. package/src/manager/resident/delivery-window.ts +7 -1
  267. package/src/manager/resident/evidence-recall.ts +7 -1
  268. package/src/manager/resident/history.ts +45 -9
  269. package/src/manager/resident/host.ts +45 -11
  270. package/src/manager/resident/initiative.ts +32 -6
  271. package/src/manager/resident/loop.ts +22 -4
  272. package/src/manager/resident/outbox.ts +42 -8
  273. package/src/manager/resident/proposal.ts +17 -3
  274. package/src/manager/resident/store.ts +27 -5
  275. package/src/manager/resident/tool-evidence.ts +45 -9
  276. package/src/prompt/coding-agent-doctrine.ts +18 -20
  277. package/src/prompt/resident-learning.ts +16 -7
  278. package/src/prompt/resident-step.ts +19 -13
  279. package/src/public-runtime.ts +36 -5
  280. package/src/public-types.ts +96 -34
  281. package/src/runtime/query/checkpoint.ts +49 -8
  282. package/src/runtime/query/executor.ts +165 -15
  283. package/src/runtime/query/index.ts +45 -1
  284. package/src/runtime/query/iteration/index.ts +19 -6
  285. package/src/runtime/query/iteration/phases/context.ts +37 -11
  286. package/src/runtime/query/iteration/phases/per-call-review.ts +617 -0
  287. package/src/runtime/query/iteration/phases/tool-review.ts +168 -83
  288. package/src/runtime/query/iteration/step-context.ts +29 -0
  289. package/src/runtime/query/iteration/step-shaping.ts +6 -2
  290. package/src/runtime/query/prepare-turn.ts +18 -1
  291. package/src/runtime/query/project-instructions.ts +119 -38
  292. package/src/runtime/query/prompt.ts +11 -54
  293. package/src/runtime/query/resume-pending.ts +131 -0
  294. package/src/runtime/query/review-policy.ts +28 -0
  295. package/src/runtime/query/steering.ts +100 -96
  296. package/src/tools/builtins/bash.ts +13 -19
  297. package/src/tools/builtins/browser.ts +38 -12
  298. package/src/tools/builtins/edit.ts +4 -4
  299. package/src/tools/builtins/job.ts +1 -1
  300. package/src/tools/builtins/skill.ts +1 -1
  301. package/src/tools/builtins/structuredOutput.ts +1 -1
  302. package/src/tools/builtins/verify-outputs.ts +1 -1
  303. package/src/tools/builtins/write-file.ts +4 -4
  304. package/src/tools/coordinator/ask-user-question.ts +12 -1
  305. package/src/tools/coordinator/index.ts +10 -3
  306. package/src/tools/resident-history.ts +2 -0
  307. package/src/tools/resident-tool-evidence.ts +5 -1
  308. package/src/tools/schedules/loop-tool.ts +4 -2
  309. package/src/tools/schedules/schedule-tool.ts +2 -2
  310. package/src/tools/task/create.ts +1 -1
  311. package/src/tools/untrusted-envelope.ts +1 -1
  312. package/src/turn/evidence-query.ts +19 -1
  313. package/src/turn/evidence-recall.ts +1 -1
  314. package/src/types/agent/base.ts +8 -0
  315. package/src/types/hitl/index.ts +67 -0
  316. package/src/types/message/index.ts +20 -2
  317. package/src/types/message/notice-frame.ts +88 -0
  318. package/dist/manager/resident/learning-cycle.d.ts.map +0 -1
  319. package/dist/manager/resident/learning-cycle.js.map +0 -1
  320. package/dist/manager/resident/learning-observation.d.ts.map +0 -1
  321. package/dist/manager/resident/learning-observation.js.map +0 -1
  322. package/dist/manager/resident/learning-store.d.ts.map +0 -1
  323. package/dist/manager/resident/learning-store.js.map +0 -1
  324. package/dist/manager/resident/learning.d.ts.map +0 -1
  325. package/dist/manager/resident/learning.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
- import { type HarnessProtectionPlan } from '../../eval/harness-protection.js';
3
- import { type HarnessVerificationBatch } from '../../eval/harness-verification.js';
4
- export declare const residentLearningEvidenceSchema: z.ZodObject<{
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 ResidentLearningEvidence = Readonly<z.infer<typeof residentLearningEvidenceSchema>>;
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 ResidentLearningSource = Readonly<z.infer<typeof sourceSchema>>;
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 ResidentSkillCandidate = Readonly<Omit<z.infer<typeof candidateSchema>, 'sources'>> & {
81
- readonly sources?: readonly ResidentLearningSource[];
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 normalizeResidentSkill(input: ResidentSkillCandidate): ResidentSkillCandidate;
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 ResidentLearnedSkill = Readonly<Omit<z.infer<typeof learnedSkillSchema>, 'sources'>> & {
229
- readonly sources?: readonly ResidentLearningSource[];
228
+ export type LearnedSkill = Readonly<Omit<z.infer<typeof learnedSkillSchema>, 'sources'>> & {
229
+ readonly sources?: readonly LearningSource[];
230
230
  };
231
- export declare const residentLearningSchema: z.ZodEffects<z.ZodObject<{
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 ResidentLearningState {
661
+ export interface LearningState {
662
662
  readonly revision: number;
663
663
  readonly identity?: {
664
664
  readonly text: string;
665
- readonly evidence: ResidentLearningEvidence;
665
+ readonly evidence: LearningEvidence;
666
666
  };
667
667
  readonly preferences: readonly {
668
668
  readonly key: string;
669
669
  readonly value: string;
670
- readonly evidence: ResidentLearningEvidence;
670
+ readonly evidence: LearningEvidence;
671
671
  }[];
672
- readonly skills: readonly ResidentLearnedSkill[];
673
- readonly lastChange: ResidentLearningEvidence;
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 ResidentProfileUpdate {
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: ResidentLearningEvidence;
683
+ readonly evidence: LearningEvidence;
684
684
  }
685
685
  /** @experimental Recorded paired runs; hosts own execution, scoring and independent attribution. */
686
- export interface ResidentSkillEvaluation {
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 freezeResidentLearning(input: ResidentLearningState): ResidentLearningState;
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 reviseResidentProfile(current: ResidentLearningState | undefined, input: ResidentProfileUpdate): ResidentLearningState;
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 hashResidentSkill(input: ResidentSkillCandidate): string;
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 promoteResidentSkill(current: ResidentLearningState | undefined, input: ResidentSkillCandidate, evaluation: ResidentSkillEvaluation, inputEvidence: ResidentLearningEvidence): ResidentLearningState;
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 restoreResidentSkill(current: ResidentLearningState | undefined, historical: ResidentLearningState | undefined, skillName: string, inputEvidence: ResidentLearningEvidence): ResidentLearningState;
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 ResidentLearningProjectionOptions {
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 ResidentLearningSource[];
709
+ readonly sources?: readonly LearningSource[];
710
710
  }
711
711
  /** @experimental Omitted entries are counted; no partial skill instruction is emitted. */
712
- export interface ResidentLearningProjection {
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 projectResidentLearning(current: ResidentLearningState | undefined, options: ResidentLearningProjectionOptions): ResidentLearningProjection;
724
+ export declare function projectLearning(current: LearningState | undefined, options: LearningProjectionOptions): LearningProjection;
725
725
  export {};
726
- //# sourceMappingURL=learning.d.ts.map
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 '../../eval/harness-protection.js';
4
- import { reviewHarnessCandidate, } from '../../eval/harness-verification.js';
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 residentLearningEvidenceSchema = z.object({
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 normalizeResidentSkill(input) {
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: residentLearningEvidenceSchema,
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 residentLearningSchema = z
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: residentLearningEvidenceSchema,
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: residentLearningEvidenceSchema,
74
+ evidence: learningEvidenceSchema,
75
75
  }))
76
76
  .max(32),
77
77
  skills: z.array(learnedSkillSchema).max(16),
78
- lastChange: residentLearningEvidenceSchema,
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 !== hashResidentSkill(skill) ||
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 freezeResidentLearning(input) {
92
- const state = residentLearningSchema.parse(input);
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 = residentLearningEvidenceSchema.parse(input);
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 ? freezeResidentLearning(current) : undefined;
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 reviseResidentProfile(current, input) {
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: residentLearningEvidenceSchema,
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 freezeResidentLearning({
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 hashResidentSkill(input) {
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 promoteResidentSkill(current, input, evaluation, inputEvidence) {
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 = hashResidentSkill(candidate);
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 freezeResidentLearning({
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 restoreResidentSkill(current, historical, skillName, inputEvidence) {
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
- ? freezeResidentLearning(historical).skills.find((s) => s.name === skillName)
257
+ ? freezeLearning(historical).skills.find((s) => s.name === skillName)
258
258
  : undefined;
259
- return freezeResidentLearning({
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 projectResidentLearning(current, options) {
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 = freezeResidentLearning(current);
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=learning.js.map
353
+ //# sourceMappingURL=skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/learning/skill.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,21 @@
1
- import type { ProjectId, TenantId } from '../../types/ids/index.js';
2
- import { type ResidentLearningCycleEvent, type ResidentLearningCycleOptions, type ResidentLearningCycleResult } from './learning-cycle.js';
3
- import { type ResidentLearningObservation, type ResidentLearningObservationRecord, type ResidentLearningTarget } from './learning-observation.js';
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 RESIDENT_LEARNING_STORE_VERSION = 3;
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 ResidentLearningStoreVersionError extends Error {
12
- readonly name = "ResidentLearningStoreVersionError";
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 SqliteResidentLearningStoreOptions {
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 ResidentLearningArtifact {
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 ResidentLearningRecordedUsage {
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 ResidentLearningCycleSummary {
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: ResidentLearningCycleResult['status'] | 'running' | 'activation-pending';
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: ResidentLearningCycleResult | null;
54
- readonly recordedUsage: ResidentLearningRecordedUsage;
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 SqliteResidentLearningStore {
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: SqliteResidentLearningStoreOptions);
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: ResidentLearningObservation): Promise<void>;
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 ResidentLearningObservationRecord[]>;
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 ResidentLearningTarget[]): Promise<ResidentLearningObservationRecord | null>;
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: ResidentLearningCycleEvent): Promise<void>;
84
- get(cycleId: string): Promise<ResidentLearningCycleSummary | null>;
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 ResidentLearningCycleSummary[]>;
95
+ }): Promise<readonly LearningCycleSummary[]>;
89
96
  events(cycleId: string, options?: {
90
97
  readonly after?: number;
91
98
  readonly limit?: number;
92
- }): Promise<readonly ResidentLearningCycleEvent[]>;
93
- artifacts(cycleId: string): Promise<readonly ResidentLearningArtifact[]>;
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<ResidentLearningArtifact>;
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 runStoredResidentLearningCycle(store: SqliteResidentLearningStore, options: Omit<ResidentLearningCycleOptions, 'record'>): Promise<ResidentLearningCycleResult>;
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 ResidentLearningDiscoveryOptions extends Omit<ResidentLearningCycleOptions, 'record' | 'failure' | 'skillName'> {
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 ResidentLearningDiscoveryResult {
109
- readonly observation: ResidentLearningObservationRecord | null;
110
- readonly cycle: ResidentLearningCycleResult | null;
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 runStoredResidentLearningFromObservations(store: SqliteResidentLearningStore, options: ResidentLearningDiscoveryOptions): Promise<ResidentLearningDiscoveryResult>;
119
- //# sourceMappingURL=learning-store.d.ts.map
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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"}