@seanhogg/builderforce-memory-engine 2026.9.28 → 2026.9.29

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 (61) hide show
  1. package/dist/evermind/adapt.d.ts +13 -0
  2. package/dist/evermind/adapt.d.ts.map +1 -1
  3. package/dist/evermind/adapt.js +13 -1
  4. package/dist/evermind/adapt.js.map +1 -1
  5. package/dist/evermind/index.d.ts +3 -3
  6. package/dist/evermind/index.d.ts.map +1 -1
  7. package/dist/evermind/index.js +2 -2
  8. package/dist/evermind/index.js.map +1 -1
  9. package/dist/evermind/package.d.ts +16 -0
  10. package/dist/evermind/package.d.ts.map +1 -1
  11. package/dist/evermind/package.js +40 -14
  12. package/dist/evermind/package.js.map +1 -1
  13. package/dist/experience/approval.d.ts +16 -0
  14. package/dist/experience/approval.d.ts.map +1 -0
  15. package/dist/experience/approval.js +40 -0
  16. package/dist/experience/approval.js.map +1 -0
  17. package/dist/experience/corpus.d.ts +24 -0
  18. package/dist/experience/corpus.d.ts.map +1 -0
  19. package/dist/experience/corpus.js +90 -0
  20. package/dist/experience/corpus.js.map +1 -0
  21. package/dist/experience/index.d.ts +18 -0
  22. package/dist/experience/index.d.ts.map +1 -0
  23. package/dist/experience/index.js +8 -0
  24. package/dist/experience/index.js.map +1 -0
  25. package/dist/experience/overview.d.ts +52 -0
  26. package/dist/experience/overview.d.ts.map +1 -0
  27. package/dist/experience/overview.js +92 -0
  28. package/dist/experience/overview.js.map +1 -0
  29. package/dist/experience/schedule.d.ts +10 -0
  30. package/dist/experience/schedule.d.ts.map +1 -0
  31. package/dist/experience/schedule.js +22 -0
  32. package/dist/experience/schedule.js.map +1 -0
  33. package/dist/experience/store.d.ts +88 -0
  34. package/dist/experience/store.d.ts.map +1 -0
  35. package/dist/experience/store.js +128 -0
  36. package/dist/experience/store.js.map +1 -0
  37. package/dist/experience/trainOnce.d.ts +18 -0
  38. package/dist/experience/trainOnce.d.ts.map +1 -0
  39. package/dist/experience/trainOnce.js +74 -0
  40. package/dist/experience/trainOnce.js.map +1 -0
  41. package/dist/experience/types.d.ts +171 -0
  42. package/dist/experience/types.d.ts.map +1 -0
  43. package/dist/experience/types.js +22 -0
  44. package/dist/experience/types.js.map +1 -0
  45. package/dist/index.d.ts +3 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +3 -1
  48. package/dist/index.js.map +1 -1
  49. package/package.json +1 -1
  50. package/src/evermind/adapt.ts +26 -1
  51. package/src/evermind/index.ts +3 -3
  52. package/src/evermind/package.ts +39 -12
  53. package/src/experience/approval.ts +49 -0
  54. package/src/experience/corpus.ts +103 -0
  55. package/src/experience/index.ts +35 -0
  56. package/src/experience/overview.ts +143 -0
  57. package/src/experience/schedule.ts +29 -0
  58. package/src/experience/store.ts +188 -0
  59. package/src/experience/trainOnce.ts +85 -0
  60. package/src/experience/types.ts +162 -0
  61. package/src/index.ts +8 -0
@@ -37,4 +37,17 @@ export interface AdaptOptions {
37
37
  * Throws when `pkg` is not an `evermind-lm` (as `loadLM` does).
38
38
  */
39
39
  export declare function adaptAndDiff(pkg: EvermindModelPackage, tokenizer: AdaptTokenizer, text: string, opts?: AdaptOptions): AdaptResult | null;
40
+ /** The outcome of {@link adaptPackage}: the adapted package itself. */
41
+ export interface AdaptedPackage {
42
+ pkg: EvermindModelPackage;
43
+ loss: number;
44
+ sequences: number;
45
+ }
46
+ /**
47
+ * The same recipe for a PRIVATE Evermind — a single local writer that keeps its own
48
+ * update instead of shipping it. The update is the exact diff {@link adaptAndDiff}
49
+ * would send, applied to the version it was fitted on, so a person's local model moves
50
+ * by the same step a shared writer would have taken from the same text.
51
+ */
52
+ export declare function adaptPackage(pkg: EvermindModelPackage, tokenizer: AdaptTokenizer, text: string, version: string, opts?: AdaptOptions): AdaptedPackage | null;
40
53
  //# sourceMappingURL=adapt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapt.d.ts","sourceRoot":"","sources":["../../src/evermind/adapt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAKzD,gDAAgD;AAChD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,gEAAgE;AAChE,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,yFAAyF;AACzF,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAChC;AAED,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,IAAI,EAAE,WAAW,CAAC;IAClB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,oBAAoB,EACzB,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,YAAiB,GACtB,WAAW,GAAG,IAAI,CASpB"}
1
+ {"version":3,"file":"adapt.d.ts","sourceRoot":"","sources":["../../src/evermind/adapt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAKzD,gDAAgD;AAChD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,gEAAgE;AAChE,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,yFAAyF;AACzF,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAChC;AAED,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,IAAI,EAAE,WAAW,CAAC;IAClB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,oBAAoB,EACzB,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,YAAiB,GACtB,WAAW,GAAG,IAAI,CASpB;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,oBAAoB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,oBAAoB,EACzB,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,YAAiB,GACtB,cAAc,GAAG,IAAI,CAIvB"}
@@ -1,5 +1,5 @@
1
1
  import { EvermindLMTrainer } from "../lm/evermind_lm.js";
2
- import { diffCheckpoints } from "../utils/delta.js";
2
+ import { applyCheckpointDiff, diffCheckpoints } from "../utils/delta.js";
3
3
  import { tokenWindows } from "../bench/adaptation.js";
4
4
  /** Chars of text fed to one adaptation pass. */
5
5
  export const EVERMIND_ADAPT_MAX_CHARS = 4000;
@@ -22,4 +22,16 @@ export function adaptAndDiff(pkg, tokenizer, text, opts = {}) {
22
22
  const loss = history.length > 0 ? history[history.length - 1] : 0;
23
23
  return { diff: diffCheckpoints(pkg.checkpoint, lm.exportWeights()), loss, sequences: seqs.length };
24
24
  }
25
+ /**
26
+ * The same recipe for a PRIVATE Evermind — a single local writer that keeps its own
27
+ * update instead of shipping it. The update is the exact diff {@link adaptAndDiff}
28
+ * would send, applied to the version it was fitted on, so a person's local model moves
29
+ * by the same step a shared writer would have taken from the same text.
30
+ */
31
+ export function adaptPackage(pkg, tokenizer, text, version, opts = {}) {
32
+ const r = adaptAndDiff(pkg, tokenizer, text, opts);
33
+ if (!r)
34
+ return null;
35
+ return { pkg: pkg.withCheckpoint(applyCheckpointDiff(pkg.checkpoint, r.diff), version), loss: r.loss, sequences: r.sequences };
36
+ }
25
37
  //# sourceMappingURL=adapt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapt.js","sourceRoot":"","sources":["../../src/evermind/adapt.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,gDAAgD;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAC7C,gEAAgE;AAChE,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAuB/C;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAyB,EACzB,SAAyB,EACzB,IAAY,EACZ,OAAqB,EAAE;IAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,wBAAwB,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,4BAA4B,CAAC;IACvE,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACnF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AACrG,CAAC"}
1
+ {"version":3,"file":"adapt.js","sourceRoot":"","sources":["../../src/evermind/adapt.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,gDAAgD;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAC7C,gEAAgE;AAChE,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAuB/C;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAyB,EACzB,SAAyB,EACzB,IAAY,EACZ,OAAqB,EAAE;IAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,wBAAwB,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,4BAA4B,CAAC;IACvE,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACnF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AACrG,CAAC;AASD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAyB,EACzB,SAAyB,EACzB,IAAY,EACZ,OAAe,EACf,OAAqB,EAAE;IAEvB,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;AACjI,CAAC"}
@@ -3,10 +3,10 @@
3
3
  * artifact plus the learning pipeline every learner shares (adapt, diff wire
4
4
  * contract, FedAvg merge, pre/post-merge eval).
5
5
  */
6
- export { EvermindModelPackage } from "./package.js";
6
+ export { EvermindModelPackage, PACKAGE_HEADER_BYTES } from "./package.js";
7
7
  export type { EvermindModelManifest, EvermindModelCard, EvermindModelType, EvermindModality, PackageMeta, ValidationResult, } from "./package.js";
8
- export { adaptAndDiff, EVERMIND_ADAPT_MAX_CHARS } from "./adapt.js";
9
- export type { AdaptResult, AdaptOptions, AdaptTokenizer } from "./adapt.js";
8
+ export { adaptAndDiff, adaptPackage, EVERMIND_ADAPT_MAX_CHARS } from "./adapt.js";
9
+ export type { AdaptResult, AdaptedPackage, AdaptOptions, AdaptTokenizer } from "./adapt.js";
10
10
  export { parseDeltaLearnPayload, buildDeltaLearnPayload, decodeDeltaPayload, deltaUnusableReason, MAX_DELTA_B64_CHARS, } from "./delta_wire.js";
11
11
  export type { DeltaLearnPayload, DeltaParseResult } from "./delta_wire.js";
12
12
  export { mergeCheckpointDiffs } from "./merge.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evermind/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACpE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evermind/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAClF,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5F,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
@@ -3,8 +3,8 @@
3
3
  * artifact plus the learning pipeline every learner shares (adapt, diff wire
4
4
  * contract, FedAvg merge, pre/post-merge eval).
5
5
  */
6
- export { EvermindModelPackage } from "./package.js";
7
- export { adaptAndDiff, EVERMIND_ADAPT_MAX_CHARS } from "./adapt.js";
6
+ export { EvermindModelPackage, PACKAGE_HEADER_BYTES } from "./package.js";
7
+ export { adaptAndDiff, adaptPackage, EVERMIND_ADAPT_MAX_CHARS } from "./adapt.js";
8
8
  export { parseDeltaLearnPayload, buildDeltaLearnPayload, decodeDeltaPayload, deltaUnusableReason, MAX_DELTA_B64_CHARS, } from "./delta_wire.js";
9
9
  export { mergeCheckpointDiffs } from "./merge.js";
10
10
  export { meanEvalLoss } from "./eval.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evermind/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAUpD,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGpE,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evermind/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAU1E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGlF,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
@@ -14,6 +14,8 @@ import { SharedExpertMoE } from "../moe/moe_model.js";
14
14
  import { EvermindLM } from "../lm/evermind_lm.js";
15
15
  import { VideoRVQCodec } from "../codec/video_rvq.js";
16
16
  import { BPETokenizer } from "../tokenizer/bpe.js";
17
+ /** magic, format version, manifest length — three u32s ahead of the manifest. */
18
+ export declare const PACKAGE_HEADER_BYTES = 12;
17
19
  /** The kinds of model an `.evermind` package can carry. */
18
20
  export type EvermindModelType = "shared-expert-moe" | "evermind-lm";
19
21
  /** Output modality. `text` (default) needs no codec; `video`/`image` bundle a VRQ codec. */
@@ -137,7 +139,21 @@ export declare class EvermindModelPackage {
137
139
  * another section follows it, so the reader never has to guess where one ends.
138
140
  */
139
141
  toBlob(): ArrayBuffer;
142
+ /**
143
+ * This package carrying a new checkpoint of the same model (an adapted copy): the
144
+ * checksum and the checkpoint's section length are recomputed, config, codec and
145
+ * tokenizer are kept, so the result validates and round-trips like the original.
146
+ */
147
+ withCheckpoint(checkpoint: ArrayBuffer, version?: string): EvermindModelPackage;
140
148
  /** Parse a `.evermind` blob. Throws on bad magic / truncation. */
149
+ /**
150
+ * How many leading bytes of a package hold its header and manifest, from its first
151
+ * {@link PACKAGE_HEADER_BYTES}. With {@link readManifest}, a host reads a model's
152
+ * identity (version, checksum) without loading the checkpoint. Throws on bad magic.
153
+ */
154
+ static manifestEnd(header: ArrayBuffer): number;
155
+ /** The manifest of a package, from a prefix at least {@link manifestEnd} bytes long. */
156
+ static readManifest(prefix: ArrayBuffer): EvermindModelManifest;
141
157
  static fromBlob(buffer: ArrayBuffer): EvermindModelPackage;
142
158
  /** Verify integrity + structural sanity before trusting a downloaded package. */
143
159
  validate(): ValidationResult;
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../src/evermind/package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../src/evermind/package.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ import { VideoRVQCodec } from "../codec/video_rvq.js";
16
16
  import { BPETokenizer } from "../tokenizer/bpe.js";
17
17
  /** First 4 bytes of a serialised package: "EVM1". */
18
18
  const PKG_MAGIC = 0x45564d31;
19
+ /** magic, format version, manifest length — three u32s ahead of the manifest. */
20
+ export const PACKAGE_HEADER_BYTES = 12;
19
21
  const PKG_VERSION = 1;
20
22
  /** 32-bit FNV-1a hash — dependency-free integrity check over the checkpoint. */
21
23
  function fnv1a(bytes) {
@@ -157,7 +159,7 @@ export class EvermindModelPackage {
157
159
  */
158
160
  toBlob() {
159
161
  const manifestBytes = new TextEncoder().encode(JSON.stringify(this.manifest));
160
- const headerBytes = 12; // magic, version, manifestLen
162
+ const headerBytes = PACKAGE_HEADER_BYTES;
161
163
  const codecBytes = this.codec?.byteLength ?? 0;
162
164
  const tokBytes = this.tokenizer?.byteLength ?? 0;
163
165
  const out = new ArrayBuffer(headerBytes + manifestBytes.byteLength + this.checkpoint.byteLength + codecBytes + tokBytes);
@@ -178,21 +180,45 @@ export class EvermindModelPackage {
178
180
  new Uint8Array(out, o, tokBytes).set(new Uint8Array(this.tokenizer));
179
181
  return out;
180
182
  }
183
+ /**
184
+ * This package carrying a new checkpoint of the same model (an adapted copy): the
185
+ * checksum and the checkpoint's section length are recomputed, config, codec and
186
+ * tokenizer are kept, so the result validates and round-trips like the original.
187
+ */
188
+ withCheckpoint(checkpoint, version = this.manifest.version) {
189
+ const manifest = {
190
+ ...this.manifest,
191
+ version,
192
+ ...(this.manifest.checkpointBytes !== undefined ? { checkpointBytes: checkpoint.byteLength } : {}),
193
+ checksum: fnv1a(new Uint8Array(checkpoint)),
194
+ };
195
+ return new EvermindModelPackage(manifest, checkpoint, this.codec, this.tokenizer);
196
+ }
181
197
  /** Parse a `.evermind` blob. Throws on bad magic / truncation. */
182
- static fromBlob(buffer) {
183
- if (buffer.byteLength < 12)
184
- throw new Error("EvermindModelPackage.fromBlob: truncated (no header)");
185
- const head = new Uint32Array(buffer, 0, 3);
198
+ /**
199
+ * How many leading bytes of a package hold its header and manifest, from its first
200
+ * {@link PACKAGE_HEADER_BYTES}. With {@link readManifest}, a host reads a model's
201
+ * identity (version, checksum) without loading the checkpoint. Throws on bad magic.
202
+ */
203
+ static manifestEnd(header) {
204
+ if (header.byteLength < PACKAGE_HEADER_BYTES)
205
+ throw new Error("EvermindModelPackage: truncated (no header)");
206
+ const head = new Uint32Array(header, 0, 3);
186
207
  if (head[0] !== PKG_MAGIC)
187
- throw new Error("EvermindModelPackage.fromBlob: bad magic (not an .evermind package)");
188
- const manifestLen = head[2];
189
- const headerBytes = 12;
190
- if (headerBytes + manifestLen > buffer.byteLength) {
191
- throw new Error("EvermindModelPackage.fromBlob: truncated (manifest length exceeds blob)");
192
- }
193
- const manifestBytes = new Uint8Array(buffer, headerBytes, manifestLen);
194
- const manifest = JSON.parse(new TextDecoder().decode(manifestBytes));
195
- const bodyStart = headerBytes + manifestLen;
208
+ throw new Error("EvermindModelPackage: bad magic (not an .evermind package)");
209
+ return PACKAGE_HEADER_BYTES + head[2];
210
+ }
211
+ /** The manifest of a package, from a prefix at least {@link manifestEnd} bytes long. */
212
+ static readManifest(prefix) {
213
+ const end = EvermindModelPackage.manifestEnd(prefix);
214
+ if (end > prefix.byteLength)
215
+ throw new Error("EvermindModelPackage: truncated (manifest length exceeds blob)");
216
+ const bytes = new Uint8Array(prefix, PACKAGE_HEADER_BYTES, end - PACKAGE_HEADER_BYTES);
217
+ return JSON.parse(new TextDecoder().decode(bytes));
218
+ }
219
+ static fromBlob(buffer) {
220
+ const manifest = EvermindModelPackage.readManifest(buffer);
221
+ const bodyStart = EvermindModelPackage.manifestEnd(buffer);
196
222
  // Sections run checkpoint -> codec -> tokenizer, each present only when the
197
223
  // manifest says so. A section's length is explicit whenever another follows it;
198
224
  // the last section runs to end-of-blob. That keeps every package written before
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/evermind/package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/evermind/package.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * experience/approval.ts — which learned steps pause for the person: the ones that
3
+ * cannot be taken back. A click on "Send", "Pay", "Delete" or "Submit" is where a replay
4
+ * that drifted does real damage, so the gate is on by default there. Review can still
5
+ * turn it on or off per step.
6
+ */
7
+ import type { Action } from './types.js';
8
+ export declare function isIrreversibleLabel(label: string): boolean;
9
+ /** The label a person would use for an element: its name, else its automation id. */
10
+ export declare function elementLabel(target: {
11
+ name: string;
12
+ automationId: string;
13
+ } | null | undefined): string;
14
+ /** The default approval gate for a recorded action. */
15
+ export declare function needsApproval(action: Action): boolean;
16
+ //# sourceMappingURL=approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../src/experience/approval.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAkBzC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI1D;AAED,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGtG;AAED,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAWrD"}
@@ -0,0 +1,40 @@
1
+ /** Words, in the five product languages, that name an action with consequences outside the app. */
2
+ const IRREVERSIBLE = new Set([
3
+ // en
4
+ 'send', 'submit', 'pay', 'purchase', 'buy', 'order', 'checkout', 'delete', 'remove', 'confirm', 'transfer',
5
+ 'publish', 'post', 'sign', 'approve', 'book', 'cancel', 'erase', 'wipe', 'format', 'uninstall',
6
+ // de
7
+ 'senden', 'absenden', 'bezahlen', 'kaufen', 'bestellen', 'löschen', 'entfernen', 'bestätigen', 'überweisen', 'veröffentlichen',
8
+ // es
9
+ 'enviar', 'pagar', 'comprar', 'pedido', 'eliminar', 'borrar', 'confirmar', 'transferir', 'publicar',
10
+ // fr
11
+ 'envoyer', 'payer', 'acheter', 'commander', 'supprimer', 'confirmer', 'virement', 'publier',
12
+ ]);
13
+ /** CJK has no word boundaries, so these are matched as substrings. */
14
+ const IRREVERSIBLE_CJK = ['发送', '提交', '支付', '付款', '购买', '下单', '删除', '确认', '转账', '发布'];
15
+ export function isIrreversibleLabel(label) {
16
+ const lower = label.toLowerCase();
17
+ if (IRREVERSIBLE_CJK.some((w) => lower.includes(w)))
18
+ return true;
19
+ return lower.split(/[^\p{L}\p{N}]+/u).some((w) => w.length > 0 && IRREVERSIBLE.has(w));
20
+ }
21
+ /** The label a person would use for an element: its name, else its automation id. */
22
+ export function elementLabel(target) {
23
+ if (!target)
24
+ return '';
25
+ return target.name.trim() || target.automationId.trim();
26
+ }
27
+ /** The default approval gate for a recorded action. */
28
+ export function needsApproval(action) {
29
+ switch (action.kind) {
30
+ case 'click':
31
+ return isIrreversibleLabel(elementLabel(action.target));
32
+ case 'keys':
33
+ // Enter can submit the form it is pressed in, but which button fires is not in the
34
+ // recording — so it is gated only when the element itself is labelled irreversible.
35
+ return action.keys.toLowerCase() === 'enter' && isIrreversibleLabel(elementLabel(action.target));
36
+ case 'setValue':
37
+ return false;
38
+ }
39
+ }
40
+ //# sourceMappingURL=approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/experience/approval.ts"],"names":[],"mappings":"AAQA,mGAAmG;AACnG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,KAAK;IACL,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU;IAC1G,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW;IAC9F,KAAK;IACL,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB;IAC9H,KAAK;IACL,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU;IACnG,KAAK;IACL,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS;CAC5F,CAAC,CAAC;AAEH,sEAAsE;AACtE,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEtF,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,OAAO,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,MAAiE;IAC5F,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,OAAO;YACV,OAAO,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,KAAK,MAAM;YACT,mFAAmF;YACnF,oFAAoF;YACpF,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACnG,KAAK,UAAU;YACb,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { Episode, Skill } from './types.js';
2
+ /** A skill as a written procedure (parameters as placeholders, approvals marked). */
3
+ export declare function skillText(skill: Skill): string;
4
+ /** A raw demonstration as a written procedure. */
5
+ export declare function episodeText(episode: Episode): string;
6
+ /**
7
+ * The corpus to learn from: every skill as a procedure, plus demonstrations that have
8
+ * not been compiled into one yet (a compiled skill supersedes its raw episode — the
9
+ * reviewed version is the one worth learning).
10
+ */
11
+ export declare function experienceCorpus(episodes: Episode[], skills: Skill[]): string;
12
+ /** One learnable procedure and the experience item it came from. */
13
+ export interface ExperienceDocument {
14
+ id: string;
15
+ text: string;
16
+ }
17
+ /** The corpus as separate procedures, each tagged with its source item's id. */
18
+ export declare function experienceDocuments(episodes: Episode[], skills: Skill[]): ExperienceDocument[];
19
+ /**
20
+ * Pack procedures into passes of at most `maxChars` (one adaptation pass reads that
21
+ * much), never splitting a procedure — one longer than a pass gets a pass of its own.
22
+ */
23
+ export declare function packDocuments(docs: ExperienceDocument[], maxChars: number): ExperienceDocument[][];
24
+ //# sourceMappingURL=corpus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corpus.d.ts","sourceRoot":"","sources":["../../src/experience/corpus.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAU,OAAO,EAAE,KAAK,EAAe,MAAM,YAAY,CAAC;AA2BtE,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAI9C;AAED,kDAAkD;AAClD,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAIpD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAI7E;AAED,oEAAoE;AACpE,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,EAAE,CAM9F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,EAAE,CAmBlG"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * experience/corpus.ts — experience as text Evermind can learn from.
3
+ *
4
+ * Evermind already learns from text through ONE recipe (`evermind/adapt.ts`
5
+ * `adaptAndDiff`: fit a private copy of a version, diff it). Rather than a second,
6
+ * trajectory-shaped training path, each demonstration is rendered as the procedure a
7
+ * person would write down — the task, then numbered steps — and handed to that recipe.
8
+ * Values that became parameters are written as `<name>` placeholders, so the model
9
+ * learns the procedure rather than one day's numbers. Secrets never appear: a secret
10
+ * field's value was never recorded.
11
+ */
12
+ import { elementLabel } from './approval.js';
13
+ function where(a) {
14
+ const w = 'target' in a && a.target ? a.target.windowTitle : '';
15
+ return w ? ` in “${w}”` : '';
16
+ }
17
+ function stepSentence(a) {
18
+ switch (a.kind) {
19
+ case 'click':
20
+ return `Click “${elementLabel(a.target)}”${where(a)}.`;
21
+ case 'keys':
22
+ return a.target ? `Press ${a.keys} in “${elementLabel(a.target)}”${where(a)}.` : `Press ${a.keys}.`;
23
+ case 'setValue': {
24
+ const field = `“${elementLabel(a.target)}”`;
25
+ if (typeof a.value === 'string') {
26
+ return 'secret' in a && a.secret ? `Enter the secret for ${field}${where(a)}.` : `Set ${field} to “${a.value}”${where(a)}.`;
27
+ }
28
+ return a.value.from === 'param' ? `Set ${field} to <${a.value.name}>${where(a)}.` : `Set ${field} to “${a.value.text}”${where(a)}.`;
29
+ }
30
+ }
31
+ }
32
+ function programName(program) {
33
+ return program.split(/[\\/]/).pop() ?? program;
34
+ }
35
+ /** A skill as a written procedure (parameters as placeholders, approvals marked). */
36
+ export function skillText(skill) {
37
+ const lines = [`Task: ${skill.name} (${programName(skill.program)})`];
38
+ skill.steps.forEach((s, i) => lines.push(`${i + 1}. ${stepSentence(s.action)}${s.requiresApproval ? ' Ask before doing this.' : ''}`));
39
+ return lines.join('\n');
40
+ }
41
+ /** A raw demonstration as a written procedure. */
42
+ export function episodeText(episode) {
43
+ const lines = [`Task: ${episode.name} (${programName(episode.program)})`];
44
+ episode.steps.forEach((s, i) => lines.push(`${i + 1}. ${stepSentence(s.action)}`));
45
+ return lines.join('\n');
46
+ }
47
+ /**
48
+ * The corpus to learn from: every skill as a procedure, plus demonstrations that have
49
+ * not been compiled into one yet (a compiled skill supersedes its raw episode — the
50
+ * reviewed version is the one worth learning).
51
+ */
52
+ export function experienceCorpus(episodes, skills) {
53
+ return experienceDocuments(episodes, skills)
54
+ .map((d) => d.text)
55
+ .join('\n\n');
56
+ }
57
+ /** The corpus as separate procedures, each tagged with its source item's id. */
58
+ export function experienceDocuments(episodes, skills) {
59
+ const compiled = new Set(skills.map((s) => s.sourceEpisode));
60
+ return [
61
+ ...skills.map((s) => ({ id: s.id, text: skillText(s) })),
62
+ ...episodes.filter((e) => !compiled.has(e.id)).map((e) => ({ id: e.id, text: episodeText(e) })),
63
+ ];
64
+ }
65
+ /**
66
+ * Pack procedures into passes of at most `maxChars` (one adaptation pass reads that
67
+ * much), never splitting a procedure — one longer than a pass gets a pass of its own.
68
+ */
69
+ export function packDocuments(docs, maxChars) {
70
+ const passes = [];
71
+ let cur = [];
72
+ let len = 0;
73
+ for (const d of docs) {
74
+ const add = cur.length ? d.text.length + 2 : d.text.length;
75
+ if (cur.length && len + add > maxChars) {
76
+ passes.push(cur);
77
+ cur = [];
78
+ len = 0;
79
+ cur.push(d);
80
+ len = d.text.length;
81
+ continue;
82
+ }
83
+ cur.push(d);
84
+ len += add;
85
+ }
86
+ if (cur.length)
87
+ passes.push(cur);
88
+ return passes;
89
+ }
90
+ //# sourceMappingURL=corpus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corpus.js","sourceRoot":"","sources":["../../src/experience/corpus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Experience — the learned items that are not facts or weights: demonstrations
3
+ * (episodes), the skills Train Once compiles from them, and the runs of those skills.
4
+ * Pure and storage-agnostic, like the rest of the engine.
5
+ */
6
+ export type { ElementRef, Action, RecordedStep, Episode, EpisodeSummary, SkillParam, SkillValue, SkillAction, SkillStep, Schedule, SkillRoutine, Skill, RunStatus, StepOutcome, RunStepLog, Run, Adaptation, } from './types.js';
7
+ export { newExperienceId } from './types.js';
8
+ export { isIrreversibleLabel, elementLabel, needsApproval } from './approval.js';
9
+ export { trainOnce, slug } from './trainOnce.js';
10
+ export type { ReviewEdits } from './trainOnce.js';
11
+ export { isDue, dueSkills } from './schedule.js';
12
+ export { experienceCorpus, experienceDocuments, packDocuments } from './corpus.js';
13
+ export type { ExperienceDocument } from './corpus.js';
14
+ export { experienceOverview } from './overview.js';
15
+ export type { ExperienceOverview, ExperienceRegion, ExperienceEvent, ExperienceDay, OverviewOptions } from './overview.js';
16
+ export { EXPERIENCE_SCHEMA, MAX_RUNS, MAX_ADAPTATIONS, emptySnapshot, parseSnapshot, InMemoryExperienceStore } from './store.js';
17
+ export type { ExperienceSnapshot, ExperienceStore } from './store.js';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/experience/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,EACV,UAAU,EACV,MAAM,EACN,YAAY,EACZ,OAAO,EACP,cAAc,EACd,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,SAAS,EACT,WAAW,EACX,UAAU,EACV,GAAG,EACH,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnF,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC3H,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACjI,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { newExperienceId } from './types.js';
2
+ export { isIrreversibleLabel, elementLabel, needsApproval } from './approval.js';
3
+ export { trainOnce, slug } from './trainOnce.js';
4
+ export { isDue, dueSkills } from './schedule.js';
5
+ export { experienceCorpus, experienceDocuments, packDocuments } from './corpus.js';
6
+ export { experienceOverview } from './overview.js';
7
+ export { EXPERIENCE_SCHEMA, MAX_RUNS, MAX_ADAPTATIONS, emptySnapshot, parseSnapshot, InMemoryExperienceStore } from './store.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/experience/index.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { ExperienceSnapshot } from './store.js';
2
+ import type { Adaptation, RunStatus } from './types.js';
3
+ export type ExperienceRegion = 'hippocampus' | 'basalGanglia' | 'amygdala' | 'hypothalamus' | 'neocortex';
4
+ /** One thing that happened, placed in the region it landed in. */
5
+ export interface ExperienceEvent {
6
+ region: ExperienceRegion;
7
+ kind: 'demonstration' | 'skill' | 'run' | 'approval' | 'adaptation';
8
+ /** The episode, skill, run or model version it concerns. */
9
+ id: string;
10
+ name: string;
11
+ at: number;
12
+ /** Run status, approval outcome, or the adaptation's loss — what happened. */
13
+ detail?: string;
14
+ }
15
+ export interface ExperienceDay {
16
+ /** Local calendar day, `YYYY-MM-DD`. */
17
+ day: string;
18
+ demonstrations: number;
19
+ skills: number;
20
+ runs: number;
21
+ learned: number;
22
+ }
23
+ export interface ExperienceOverview {
24
+ regions: Record<ExperienceRegion, number>;
25
+ /** Procedures the model at `modelIndex` has learned, and those it has not yet. */
26
+ learned: number;
27
+ pending: number;
28
+ runs: Record<RunStatus, number>;
29
+ approvals: {
30
+ approved: number;
31
+ denied: number;
32
+ };
33
+ /** Oldest first — the order a chart reads. */
34
+ adaptations: Adaptation[];
35
+ /** One entry per day of the window, oldest first, empty days included. */
36
+ days: ExperienceDay[];
37
+ /** Newest first. */
38
+ recent: ExperienceEvent[];
39
+ }
40
+ export interface OverviewOptions {
41
+ /** N of the loaded model's `+expN` version (0 for a base model or none). */
42
+ modelIndex: number;
43
+ now: number;
44
+ /** Local minus UTC, in minutes. */
45
+ utcOffsetMinutes: number;
46
+ /** Days of activity to chart. Default 30. */
47
+ days?: number;
48
+ /** Events to list. Default 40. */
49
+ recent?: number;
50
+ }
51
+ export declare function experienceOverview(snap: ExperienceSnapshot, opts: OverviewOptions): ExperienceOverview;
52
+ //# sourceMappingURL=overview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../../src/experience/overview.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,WAAW,CAAC;AAE1G,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,eAAe,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,YAAY,CAAC;IACpE,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC1C,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,8CAA8C;IAC9C,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,0EAA0E;IAC1E,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,oBAAoB;IACpB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAID,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,mCAAmC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,GAAG,kBAAkB,CAqEtG"}