@gyoungwe/research-suite 0.1.5 → 0.1.7

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 (145) hide show
  1. package/build-manifest.json +2 -2
  2. package/node_modules/@gyoungwe/pi-core/build-manifest.json +2 -2
  3. package/node_modules/@gyoungwe/pi-core/dist/index.mjs +391 -10
  4. package/node_modules/@gyoungwe/pi-core/package.json +1 -1
  5. package/node_modules/@gyoungwe/pi-knowledge/build-manifest.json +68 -3
  6. package/node_modules/@gyoungwe/pi-knowledge/dist/core/capability-discovery.d.ts +7 -0
  7. package/node_modules/@gyoungwe/pi-knowledge/dist/core/capability-discovery.d.ts.map +1 -0
  8. package/node_modules/@gyoungwe/pi-knowledge/dist/core/claim-conflicts.d.ts +30 -0
  9. package/node_modules/@gyoungwe/pi-knowledge/dist/core/claim-conflicts.d.ts.map +1 -0
  10. package/node_modules/@gyoungwe/pi-knowledge/dist/core/config.d.ts +55 -0
  11. package/node_modules/@gyoungwe/pi-knowledge/dist/core/config.d.ts.map +1 -0
  12. package/node_modules/@gyoungwe/pi-knowledge/dist/core/daily-discovery-prompt.d.ts +11 -0
  13. package/node_modules/@gyoungwe/pi-knowledge/dist/core/daily-discovery-prompt.d.ts.map +1 -0
  14. package/node_modules/@gyoungwe/pi-knowledge/dist/core/daily-discovery.d.ts +26 -0
  15. package/node_modules/@gyoungwe/pi-knowledge/dist/core/daily-discovery.d.ts.map +1 -0
  16. package/node_modules/@gyoungwe/pi-knowledge/dist/core/deliverable-review.d.ts +127 -0
  17. package/node_modules/@gyoungwe/pi-knowledge/dist/core/deliverable-review.d.ts.map +1 -0
  18. package/node_modules/@gyoungwe/pi-knowledge/dist/core/evolution.d.ts +39 -0
  19. package/node_modules/@gyoungwe/pi-knowledge/dist/core/evolution.d.ts.map +1 -0
  20. package/node_modules/@gyoungwe/pi-knowledge/dist/core/experience-store.d.ts +290 -0
  21. package/node_modules/@gyoungwe/pi-knowledge/dist/core/experience-store.d.ts.map +1 -0
  22. package/node_modules/@gyoungwe/pi-knowledge/dist/core/extension-helpers.d.ts +38 -0
  23. package/node_modules/@gyoungwe/pi-knowledge/dist/core/extension-helpers.d.ts.map +1 -0
  24. package/node_modules/@gyoungwe/pi-knowledge/dist/core/files.d.ts +39 -0
  25. package/node_modules/@gyoungwe/pi-knowledge/dist/core/files.d.ts.map +1 -0
  26. package/node_modules/@gyoungwe/pi-knowledge/dist/core/flow-cards.d.ts +77 -0
  27. package/node_modules/@gyoungwe/pi-knowledge/dist/core/flow-cards.d.ts.map +1 -0
  28. package/node_modules/@gyoungwe/pi-knowledge/dist/core/graph-cache.d.ts +14 -0
  29. package/node_modules/@gyoungwe/pi-knowledge/dist/core/graph-cache.d.ts.map +1 -0
  30. package/node_modules/@gyoungwe/pi-knowledge/dist/core/graph-retrieval.d.ts +44 -0
  31. package/node_modules/@gyoungwe/pi-knowledge/dist/core/graph-retrieval.d.ts.map +1 -0
  32. package/node_modules/@gyoungwe/pi-knowledge/dist/core/host.d.ts +9 -0
  33. package/node_modules/@gyoungwe/pi-knowledge/dist/core/host.d.ts.map +1 -0
  34. package/node_modules/@gyoungwe/pi-knowledge/dist/core/index.d.ts +46 -0
  35. package/node_modules/@gyoungwe/pi-knowledge/dist/core/index.d.ts.map +1 -0
  36. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ingest-frontmatter.d.ts +125 -0
  37. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ingest-frontmatter.d.ts.map +1 -0
  38. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ingest-identity.d.ts +93 -0
  39. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ingest-identity.d.ts.map +1 -0
  40. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ingest-policy.d.ts +63 -0
  41. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ingest-policy.d.ts.map +1 -0
  42. package/node_modules/@gyoungwe/pi-knowledge/dist/core/layout.d.ts +47 -0
  43. package/node_modules/@gyoungwe/pi-knowledge/dist/core/layout.d.ts.map +1 -0
  44. package/node_modules/@gyoungwe/pi-knowledge/dist/core/maintenance.d.ts +16 -0
  45. package/node_modules/@gyoungwe/pi-knowledge/dist/core/maintenance.d.ts.map +1 -0
  46. package/node_modules/@gyoungwe/pi-knowledge/dist/core/memory-note.d.ts +14 -0
  47. package/node_modules/@gyoungwe/pi-knowledge/dist/core/memory-note.d.ts.map +1 -0
  48. package/node_modules/@gyoungwe/pi-knowledge/dist/core/metacognitive-policy.d.ts +116 -0
  49. package/node_modules/@gyoungwe/pi-knowledge/dist/core/metacognitive-policy.d.ts.map +1 -0
  50. package/node_modules/@gyoungwe/pi-knowledge/dist/core/note-title.d.ts +8 -0
  51. package/node_modules/@gyoungwe/pi-knowledge/dist/core/note-title.d.ts.map +1 -0
  52. package/node_modules/@gyoungwe/pi-knowledge/dist/core/orchestration-policy.d.ts +84 -0
  53. package/node_modules/@gyoungwe/pi-knowledge/dist/core/orchestration-policy.d.ts.map +1 -0
  54. package/node_modules/@gyoungwe/pi-knowledge/dist/core/project-identity.d.ts +70 -0
  55. package/node_modules/@gyoungwe/pi-knowledge/dist/core/project-identity.d.ts.map +1 -0
  56. package/node_modules/@gyoungwe/pi-knowledge/dist/core/publication-policy.d.ts +39 -0
  57. package/node_modules/@gyoungwe/pi-knowledge/dist/core/publication-policy.d.ts.map +1 -0
  58. package/node_modules/@gyoungwe/pi-knowledge/dist/core/publication.d.ts +24 -0
  59. package/node_modules/@gyoungwe/pi-knowledge/dist/core/publication.d.ts.map +1 -0
  60. package/node_modules/@gyoungwe/pi-knowledge/dist/core/recent-by-category.d.ts +15 -0
  61. package/node_modules/@gyoungwe/pi-knowledge/dist/core/recent-by-category.d.ts.map +1 -0
  62. package/node_modules/@gyoungwe/pi-knowledge/dist/core/related-notes.d.ts +4 -0
  63. package/node_modules/@gyoungwe/pi-knowledge/dist/core/related-notes.d.ts.map +1 -0
  64. package/node_modules/@gyoungwe/pi-knowledge/dist/core/reuse.d.ts +124 -0
  65. package/node_modules/@gyoungwe/pi-knowledge/dist/core/reuse.d.ts.map +1 -0
  66. package/node_modules/@gyoungwe/pi-knowledge/dist/core/review-policy.d.ts +12 -0
  67. package/node_modules/@gyoungwe/pi-knowledge/dist/core/review-policy.d.ts.map +1 -0
  68. package/node_modules/@gyoungwe/pi-knowledge/dist/core/runtime-host.d.ts +98 -0
  69. package/node_modules/@gyoungwe/pi-knowledge/dist/core/runtime-host.d.ts.map +1 -0
  70. package/node_modules/@gyoungwe/pi-knowledge/dist/core/search-policy.d.ts +14 -0
  71. package/node_modules/@gyoungwe/pi-knowledge/dist/core/search-policy.d.ts.map +1 -0
  72. package/node_modules/@gyoungwe/pi-knowledge/dist/core/semantic-model.d.ts +85 -0
  73. package/node_modules/@gyoungwe/pi-knowledge/dist/core/semantic-model.d.ts.map +1 -0
  74. package/node_modules/@gyoungwe/pi-knowledge/dist/core/semantic-provider.d.ts +41 -0
  75. package/node_modules/@gyoungwe/pi-knowledge/dist/core/semantic-provider.d.ts.map +1 -0
  76. package/node_modules/@gyoungwe/pi-knowledge/dist/core/semantic-settings.d.ts +30 -0
  77. package/node_modules/@gyoungwe/pi-knowledge/dist/core/semantic-settings.d.ts.map +1 -0
  78. package/node_modules/@gyoungwe/pi-knowledge/dist/core/service.d.ts +171 -0
  79. package/node_modules/@gyoungwe/pi-knowledge/dist/core/service.d.ts.map +1 -0
  80. package/node_modules/@gyoungwe/pi-knowledge/dist/core/source-links.d.ts +13 -0
  81. package/node_modules/@gyoungwe/pi-knowledge/dist/core/source-links.d.ts.map +1 -0
  82. package/node_modules/@gyoungwe/pi-knowledge/dist/core/specialist-delivery.d.ts +8 -0
  83. package/node_modules/@gyoungwe/pi-knowledge/dist/core/specialist-delivery.d.ts.map +1 -0
  84. package/node_modules/@gyoungwe/pi-knowledge/dist/core/specialist-host.d.ts +61 -0
  85. package/node_modules/@gyoungwe/pi-knowledge/dist/core/specialist-host.d.ts.map +1 -0
  86. package/node_modules/@gyoungwe/pi-knowledge/dist/core/specialists.d.ts +55 -0
  87. package/node_modules/@gyoungwe/pi-knowledge/dist/core/specialists.d.ts.map +1 -0
  88. package/node_modules/@gyoungwe/pi-knowledge/dist/core/task-feedback.d.ts +57 -0
  89. package/node_modules/@gyoungwe/pi-knowledge/dist/core/task-feedback.d.ts.map +1 -0
  90. package/node_modules/@gyoungwe/pi-knowledge/dist/core/tool-budget.d.ts +24 -0
  91. package/node_modules/@gyoungwe/pi-knowledge/dist/core/tool-budget.d.ts.map +1 -0
  92. package/node_modules/@gyoungwe/pi-knowledge/dist/core/topic-candidate.d.ts +22 -0
  93. package/node_modules/@gyoungwe/pi-knowledge/dist/core/topic-candidate.d.ts.map +1 -0
  94. package/node_modules/@gyoungwe/pi-knowledge/dist/core/topic-memory.d.ts +79 -0
  95. package/node_modules/@gyoungwe/pi-knowledge/dist/core/topic-memory.d.ts.map +1 -0
  96. package/node_modules/@gyoungwe/pi-knowledge/dist/core/topic-probe.d.ts +2 -0
  97. package/node_modules/@gyoungwe/pi-knowledge/dist/core/topic-probe.d.ts.map +1 -0
  98. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ui-service.d.ts +360 -0
  99. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ui-service.d.ts.map +1 -0
  100. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ui-state.d.ts +28 -0
  101. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ui-state.d.ts.map +1 -0
  102. package/node_modules/@gyoungwe/pi-knowledge/dist/core/wiki-model-review.d.ts +167 -0
  103. package/node_modules/@gyoungwe/pi-knowledge/dist/core/wiki-model-review.d.ts.map +1 -0
  104. package/node_modules/@gyoungwe/pi-knowledge/dist/core/wiki-policy.d.ts +34 -0
  105. package/node_modules/@gyoungwe/pi-knowledge/dist/core/wiki-policy.d.ts.map +1 -0
  106. package/node_modules/@gyoungwe/pi-knowledge/dist/core/wiki-review.d.ts +74 -0
  107. package/node_modules/@gyoungwe/pi-knowledge/dist/core/wiki-review.d.ts.map +1 -0
  108. package/node_modules/@gyoungwe/pi-knowledge/dist/core/worker.d.ts +2 -0
  109. package/node_modules/@gyoungwe/pi-knowledge/dist/core/worker.d.ts.map +1 -0
  110. package/node_modules/@gyoungwe/pi-knowledge/dist/extension/internal-knowledge-extension.d.ts +42 -0
  111. package/node_modules/@gyoungwe/pi-knowledge/dist/extension/internal-knowledge-extension.d.ts.map +1 -0
  112. package/node_modules/@gyoungwe/pi-knowledge/dist/extension/knowledge-extension.d.ts +5 -0
  113. package/node_modules/@gyoungwe/pi-knowledge/dist/extension/knowledge-extension.d.ts.map +1 -0
  114. package/node_modules/@gyoungwe/pi-knowledge/dist/extension/knowledge-worker.d.ts +6 -0
  115. package/node_modules/@gyoungwe/pi-knowledge/dist/extension/knowledge-worker.d.ts.map +1 -0
  116. package/node_modules/@gyoungwe/pi-knowledge/dist/host.d.ts +7 -0
  117. package/node_modules/@gyoungwe/pi-knowledge/dist/host.d.ts.map +1 -0
  118. package/node_modules/@gyoungwe/pi-knowledge/dist/host.mjs +11638 -0
  119. package/node_modules/@gyoungwe/pi-knowledge/dist/index.d.ts +6 -0
  120. package/node_modules/@gyoungwe/pi-knowledge/dist/index.d.ts.map +1 -0
  121. package/node_modules/@gyoungwe/pi-knowledge/dist/index.mjs +4728 -10301
  122. package/node_modules/@gyoungwe/pi-knowledge/dist/maintenance/plan.d.ts +41 -0
  123. package/node_modules/@gyoungwe/pi-knowledge/dist/maintenance/plan.d.ts.map +1 -0
  124. package/node_modules/@gyoungwe/pi-knowledge/dist/maintenance/prompts.d.ts +10 -0
  125. package/node_modules/@gyoungwe/pi-knowledge/dist/maintenance/prompts.d.ts.map +1 -0
  126. package/node_modules/@gyoungwe/pi-knowledge/dist/maintenance/run.d.ts +31 -0
  127. package/node_modules/@gyoungwe/pi-knowledge/dist/maintenance/run.d.ts.map +1 -0
  128. package/node_modules/@gyoungwe/pi-knowledge/lib/knowledge/runtime/.knowledge-worker-manifest.json +9 -0
  129. package/node_modules/@gyoungwe/pi-knowledge/lib/knowledge/runtime/worker.mjs +142 -12
  130. package/node_modules/@gyoungwe/pi-knowledge/package.json +21 -3
  131. package/node_modules/@gyoungwe/pi-knowledge/plugin.manifest.json +23 -1
  132. package/node_modules/@gyoungwe/pi-research/build-manifest.json +2 -2
  133. package/node_modules/@gyoungwe/pi-research/dist/index.mjs +3141 -613
  134. package/node_modules/@gyoungwe/pi-research/package.json +1 -1
  135. package/node_modules/@gyoungwe/plugin-api/dist/index.d.ts +101 -0
  136. package/node_modules/@gyoungwe/plugin-api/dist/index.d.ts.map +1 -1
  137. package/node_modules/@gyoungwe/plugin-api/dist/index.js +124 -0
  138. package/node_modules/@gyoungwe/plugin-api/dist/index.js.map +1 -1
  139. package/node_modules/@gyoungwe/plugin-api/dist/knowledge.d.ts +486 -0
  140. package/node_modules/@gyoungwe/plugin-api/dist/knowledge.d.ts.map +1 -0
  141. package/node_modules/@gyoungwe/plugin-api/dist/knowledge.js +251 -0
  142. package/node_modules/@gyoungwe/plugin-api/dist/knowledge.js.map +1 -0
  143. package/node_modules/@gyoungwe/plugin-api/package.json +6 -1
  144. package/package.json +6 -6
  145. package/plugin.manifest.json +39 -3
@@ -0,0 +1,7 @@
1
+ import type { CapabilitySourceReceipt, ContractParentRef } from "@gyoungwe/plugin-api/knowledge";
2
+ /** Narrow knowledge boundary consumed by capability discovery. It cannot write or execute. */
3
+ export interface CapabilityKnowledgeSourcePort {
4
+ readSource(ref: ContractParentRef): Promise<CapabilitySourceReceipt | undefined>;
5
+ }
6
+ export declare function readCapabilitySources(port: CapabilityKnowledgeSourcePort, refs: readonly ContractParentRef[]): Promise<readonly CapabilitySourceReceipt[]>;
7
+ //# sourceMappingURL=capability-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-discovery.d.ts","sourceRoot":"","sources":["../../src/core/capability-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEjG,8FAA8F;AAC9F,MAAM,WAAW,6BAA6B;IAC7C,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC;CACjF;AAED,wBAAsB,qBAAqB,CAC1C,IAAI,EAAE,6BAA6B,EACnC,IAAI,EAAE,SAAS,iBAAiB,EAAE,GAChC,OAAO,CAAC,SAAS,uBAAuB,EAAE,CAAC,CAG7C"}
@@ -0,0 +1,30 @@
1
+ export interface KnowledgeClaim {
2
+ claim?: string;
3
+ subject?: string;
4
+ predicate?: string;
5
+ value?: string;
6
+ organism?: string;
7
+ tissue?: string;
8
+ stage?: string;
9
+ method?: string;
10
+ relation?: string;
11
+ [key: string]: unknown;
12
+ }
13
+ export type ClaimComparison = {
14
+ relation: "supports" | "contradicts" | "unresolved";
15
+ confidence: "low" | "medium" | "high";
16
+ reason: string;
17
+ blocking: boolean;
18
+ };
19
+ export type ClaimSetComparison = ClaimComparison & {
20
+ previous: KnowledgeClaim;
21
+ incoming: KnowledgeClaim;
22
+ };
23
+ /**
24
+ * Compare a newly supplied claim with the prior claim for one topic.
25
+ * Missing or non-comparable conditions stay unresolved; only same-condition
26
+ * opposite observations can block a write.
27
+ */
28
+ export declare function compareClaims(previous: KnowledgeClaim | null | undefined, incoming: KnowledgeClaim | null | undefined): ClaimComparison;
29
+ export declare function compareClaimSets(previousClaims?: readonly KnowledgeClaim[], incomingClaims?: readonly KnowledgeClaim[]): ClaimSetComparison[];
30
+ //# sourceMappingURL=claim-conflicts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-conflicts.d.ts","sourceRoot":"","sources":["../../src/core/claim-conflicts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,UAAU,GAAG,aAAa,GAAG,YAAY,CAAC;IACpD,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IAClD,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;CACzB,CAAC;AA4CF;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EAC3C,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GACzC,eAAe,CA2DjB;AAED,wBAAgB,gBAAgB,CAC/B,cAAc,GAAE,SAAS,cAAc,EAAO,EAC9C,cAAc,GAAE,SAAS,cAAc,EAAO,GAC5C,kBAAkB,EAAE,CAStB"}
@@ -0,0 +1,55 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ export type KnowledgeProfile = "project" | "literature" | "hybrid";
3
+ export type KnowledgeDepositMode = "run-only" | "verified" | "rich";
4
+ export type KnowledgeSubagentPolicy = "none" | "read-local";
5
+ export interface KnowledgeBinding {
6
+ version: 1;
7
+ vault: string;
8
+ vaultId: string;
9
+ revision: number;
10
+ profile: KnowledgeProfile;
11
+ depositMode: KnowledgeDepositMode;
12
+ subagentPolicy: KnowledgeSubagentPolicy;
13
+ updatedAt: string;
14
+ }
15
+ export interface KnowledgeBindingInput {
16
+ vault: string;
17
+ profile: KnowledgeProfile;
18
+ depositMode: KnowledgeDepositMode;
19
+ subagentPolicy: KnowledgeSubagentPolicy;
20
+ }
21
+ export interface ReadKnowledgeBindingOptions {
22
+ fresh?: boolean;
23
+ }
24
+ type BindingOperation<T> = () => T | Promise<T>;
25
+ /**
26
+ * Mutable state owned by one knowledge host runtime.
27
+ *
28
+ * The package-level convenience exports below use a private default state for
29
+ * ordinary backend callers. Runtime adapters should use
30
+ * `createKnowledgeConfigApi()` with a host-owned state so two Pi hosts never
31
+ * share binding context or save queues.
32
+ */
33
+ export interface KnowledgeConfigState {
34
+ local: AsyncLocalStorage<KnowledgeBinding>;
35
+ queues: Map<string, Promise<unknown>>;
36
+ }
37
+ export interface KnowledgeConfigApi {
38
+ knowledgeDirectory: typeof knowledgeDirectory;
39
+ projectIdentity: typeof projectIdentity;
40
+ readKnowledgeBinding: typeof readKnowledgeBinding;
41
+ saveKnowledgeBinding: typeof saveKnowledgeBinding;
42
+ withKnowledgeBinding: typeof withKnowledgeBinding;
43
+ }
44
+ export declare function createKnowledgeConfigState(): KnowledgeConfigState;
45
+ /** Resolve the host-owned application directory without silently falling back to a project path. */
46
+ export declare function knowledgeDirectory(): string | null;
47
+ /** Derive a stable, filesystem-safe project identity when the workspace has no configured slug. */
48
+ export declare function projectIdentity(cwd: string, configured?: unknown): string;
49
+ export declare function readKnowledgeBinding(options?: ReadKnowledgeBindingOptions): Promise<KnowledgeBinding | null>;
50
+ export declare function saveKnowledgeBinding(input: KnowledgeBindingInput, expectedRevision?: number | null): Promise<KnowledgeBinding>;
51
+ export declare function withKnowledgeBinding<T>(binding: KnowledgeBinding, operation: BindingOperation<T>): Promise<T>;
52
+ /** Build bindings backed by a host-owned state object. */
53
+ export declare function createKnowledgeConfigApi(state?: KnowledgeConfigState): KnowledgeConfigApi;
54
+ export {};
55
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AACpE,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,YAAY,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,oBAAoB,CAAC;IAClC,cAAc,EAAE,uBAAuB,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,oBAAoB,CAAC;IAClC,cAAc,EAAE,uBAAuB,CAAC;CACxC;AAED,MAAM,WAAW,2BAA2B;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,KAAK,gBAAgB,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IAClC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;CAClD;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE;AAQD,oGAAoG;AACpG,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAKlD;AAED,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAUzE;AAyCD,wBAAsB,oBAAoB,CACzC,OAAO,GAAE,2BAAgC,GACvC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAElC;AA4CD,wBAAsB,oBAAoB,CACzC,KAAK,EAAE,qBAAqB,EAC5B,gBAAgB,GAAE,MAAM,GAAG,IAAW,GACpC,OAAO,CAAC,gBAAgB,CAAC,CAE3B;AAeD,wBAAsB,oBAAoB,CAAC,CAAC,EAC3C,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,0DAA0D;AAC1D,wBAAgB,wBAAwB,CACvC,KAAK,GAAE,oBAAmD,GACxD,kBAAkB,CASpB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * 每日发现的提示词与解析(只由宿主 backend 使用;与读 Vault 的 daily-discovery.ts 分开,
3
+ * 避免把解析逻辑带进扩展的类型图)。
4
+ */
5
+ import { type DailyIdea, type DiscoveryNote } from "./daily-discovery.js";
6
+ export declare const DAILY_DISCOVERY_SYSTEM: string;
7
+ /** 拼出用户消息:NEW 与 OLD 两组笔记,均为截断后的原文 */
8
+ export declare function buildDailyDiscoveryMessage(fresh: DiscoveryNote[], related: DiscoveryNote[]): string;
9
+ /** 解析并校验:依据必须是本次提供的笔记路径,且至少引用一篇 NEW 笔记;最多 3 条 */
10
+ export declare function parseDailyIdeas(text: string, allowedPaths: Iterable<string>, freshPaths: Iterable<string>): DailyIdea[];
11
+ //# sourceMappingURL=daily-discovery-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daily-discovery-prompt.d.ts","sourceRoot":"","sources":["../../src/core/daily-discovery-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAA0B,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAElG,eAAO,MAAM,sBAAsB,QAOvB,CAAC;AAEb,qCAAqC;AACrC,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CASnG;AAaD,iDAAiD;AACjD,wBAAgB,eAAe,CAC9B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC9B,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,SAAS,EAAE,CA0Bb"}
@@ -0,0 +1,26 @@
1
+ export declare const DAILY_DISCOVERY_LIMITS: {
2
+ readonly maxScannedFiles: 4000;
3
+ readonly maxNoteBytes: number;
4
+ readonly maxNewNotes: 8;
5
+ readonly maxRelatedNotes: 10;
6
+ readonly maxNoteChars: 2400;
7
+ readonly maxIdeas: 3;
8
+ };
9
+ export interface DiscoveryNote {
10
+ path: string;
11
+ title: string;
12
+ text: string;
13
+ mtime: number;
14
+ }
15
+ export interface DailyIdea {
16
+ title: string;
17
+ idea: string;
18
+ basis: string[];
19
+ test: string;
20
+ whyOverlooked: string;
21
+ }
22
+ /** 上次运行后修改过的笔记(最新的优先,有数量与大小上限) */
23
+ export declare function collectRecentNotes(vault: string, sinceMs: number): Promise<DiscoveryNote[]>;
24
+ /** 保存为想法笔记的 Markdown 正文(标注为推测,带依据与验证方式) */
25
+ export declare function ideaNoteMarkdown(idea: DailyIdea, createdAt: Date): string;
26
+ //# sourceMappingURL=daily-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daily-discovery.d.ts","sourceRoot":"","sources":["../../src/core/daily-discovery.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,sBAAsB;;;;;;;CAOzB,CAAC;AAOX,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACtB;AAOD,kCAAkC;AAClC,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAoCjG;AAED,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,CAuBzE"}
@@ -0,0 +1,127 @@
1
+ import type { MetacognitiveArtifactNumber, MetacognitiveSnapshot } from "./metacognitive-policy.js";
2
+ export type ReviewerSeverity = "low" | "medium" | "high";
3
+ export type ReviewerTrigger = "deliverable-write" | "milestone-complete" | "publication-projection";
4
+ export interface DeliverableReviewLocation {
5
+ kind: "body" | "paragraph" | "line" | "artifact";
6
+ paragraph?: number;
7
+ line?: number;
8
+ artifactId?: string;
9
+ path?: string;
10
+ }
11
+ export interface DeliverableReviewFinding {
12
+ id: string;
13
+ code: "untraceable-number" | "figure-code-mismatch" | "citation-without-receipt" | "review-timeout" | "review-budget-exhausted";
14
+ severity: ReviewerSeverity;
15
+ location: DeliverableReviewLocation;
16
+ detail: string;
17
+ suggestion: string;
18
+ handled: boolean;
19
+ independent?: boolean;
20
+ nonIndependentReason?: string;
21
+ }
22
+ export interface ReviewDeliverableRecord {
23
+ id: string;
24
+ path?: string;
25
+ kind?: string;
26
+ sha256?: string;
27
+ attemptId?: string;
28
+ receiptId?: string;
29
+ }
30
+ export interface ReviewAttemptRecord {
31
+ id: string;
32
+ artifactIds?: readonly string[];
33
+ startedAt?: string;
34
+ finishedAt?: string;
35
+ /** Latest output hashes keyed by artifact id. */
36
+ outputs?: readonly {
37
+ artifactId: string;
38
+ sha256: string;
39
+ }[];
40
+ /** Compatibility shape used by inquiry/compute adapters. */
41
+ artifactSha256?: Readonly<Record<string, string>>;
42
+ }
43
+ export interface ReviewReadReceipt {
44
+ path: string;
45
+ hash?: string;
46
+ receiptRef?: string;
47
+ text?: string;
48
+ numbers?: readonly MetacognitiveArtifactNumber[];
49
+ }
50
+ export interface DeliverableReviewSnapshot extends MetacognitiveSnapshot {
51
+ /** Public answer/deliverable body. `answer` is accepted as a compatibility alias. */
52
+ body?: string;
53
+ answer?: string;
54
+ deliverables?: readonly ReviewDeliverableRecord[];
55
+ attempts?: readonly ReviewAttemptRecord[];
56
+ readReceipts?: readonly ReviewReadReceipt[];
57
+ /** Optional explicit citations when the body is not available. */
58
+ citations?: readonly string[];
59
+ }
60
+ export interface DeliverableReviewResult {
61
+ contentHash: string;
62
+ findings: readonly DeliverableReviewFinding[];
63
+ }
64
+ export interface ReviewerModelProvider {
65
+ provider: string;
66
+ model?: string;
67
+ }
68
+ export interface ReviewerProviderSelection {
69
+ provider: string;
70
+ model?: string;
71
+ independent: boolean;
72
+ nonIndependentReason?: string;
73
+ }
74
+ export interface BackgroundReviewerOptions {
75
+ timeoutMs?: number;
76
+ maxPerSession?: number;
77
+ review?: (snapshot: DeliverableReviewSnapshot) => DeliverableReviewFinding[] | Promise<DeliverableReviewFinding[]>;
78
+ /** Optional model-backed pass; the host selects the provider by provider id. */
79
+ modelReview?: (snapshot: DeliverableReviewSnapshot, selection: ReviewerProviderSelection) => DeliverableReviewFinding[] | Promise<DeliverableReviewFinding[]>;
80
+ mainProvider?: string;
81
+ providers?: readonly ReviewerModelProvider[];
82
+ getProviders?: () => readonly ReviewerModelProvider[] | Promise<readonly ReviewerModelProvider[]>;
83
+ useModel?: () => boolean | Promise<boolean>;
84
+ onResult?: (sessionId: string, result: DeliverableReviewResult, trigger: ReviewerTrigger) => void | Promise<void>;
85
+ now?: () => number;
86
+ }
87
+ export interface BackgroundReviewerBridge {
88
+ schedule(request: BackgroundReviewRequest): void;
89
+ getCached?(sessionId: string, snapshot: DeliverableReviewSnapshot): DeliverableReviewResult | undefined;
90
+ getFindings?(sessionId: string): readonly DeliverableReviewFinding[];
91
+ clearSession?(sessionId: string): void;
92
+ }
93
+ export interface BackgroundReviewRequest {
94
+ sessionId: string;
95
+ snapshot: DeliverableReviewSnapshot;
96
+ trigger: ReviewerTrigger;
97
+ mainProvider?: string;
98
+ }
99
+ export declare function reviewDeliverable(snapshot: DeliverableReviewSnapshot): DeliverableReviewResult;
100
+ export declare function selectReviewerProvider(mainProvider: string | undefined, providers: readonly ReviewerModelProvider[]): ReviewerProviderSelection | null;
101
+ export declare class BackgroundReviewer {
102
+ private readonly timeoutMs;
103
+ private readonly maxPerSession;
104
+ private readonly review;
105
+ private readonly modelReview?;
106
+ private readonly mainProvider?;
107
+ private readonly providers;
108
+ private readonly getProviders?;
109
+ private readonly useModel?;
110
+ private readonly onResult?;
111
+ private readonly now;
112
+ private readonly cache;
113
+ private readonly results;
114
+ private readonly counts;
115
+ private readonly emitted;
116
+ private readonly latest;
117
+ private disposed;
118
+ constructor(options?: BackgroundReviewerOptions);
119
+ private timeoutFinding;
120
+ reviewOnce(request: BackgroundReviewRequest): Promise<DeliverableReviewResult>;
121
+ getCached(sessionId: string, snapshot: DeliverableReviewSnapshot): DeliverableReviewResult | undefined;
122
+ schedule(request: BackgroundReviewRequest): void;
123
+ getFindings(sessionId: string): readonly DeliverableReviewFinding[];
124
+ clearSession(sessionId: string): void;
125
+ dispose(): void;
126
+ }
127
+ //# sourceMappingURL=deliverable-review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deliverable-review.d.ts","sourceRoot":"","sources":["../../src/core/deliverable-review.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { createEvolutionCandidate, createKnowledgeReuseDecision, type EvolutionCandidate, type KnowledgeReuseDecisionRecord, type ContractParentRef } from "@gyoungwe/plugin-api/knowledge";
2
+ export interface EvolutionIndexStore {
3
+ read(): Promise<{
4
+ readonly candidates: readonly EvolutionCandidate[];
5
+ readonly decisions: readonly KnowledgeReuseDecisionRecord[];
6
+ }>;
7
+ write(value: {
8
+ readonly candidates: readonly EvolutionCandidate[];
9
+ readonly decisions: readonly KnowledgeReuseDecisionRecord[];
10
+ }): Promise<void>;
11
+ }
12
+ /**
13
+ * Durable host-neutral index for knowledge reuse and evolution proposals.
14
+ * JsonStore is injected by the backend; this package only owns lifecycle and
15
+ * fail-closed approval rules.
16
+ */
17
+ export declare class EvolutionIndex {
18
+ private readonly store?;
19
+ private readonly candidates;
20
+ private readonly decisions;
21
+ private writeQueue;
22
+ constructor(store?: EvolutionIndexStore | undefined);
23
+ load(): Promise<void>;
24
+ propose(input: Parameters<typeof createEvolutionCandidate>[0]): Promise<EvolutionCandidate>;
25
+ getCandidate(id: string): EvolutionCandidate | undefined;
26
+ listCandidates(): readonly EvolutionCandidate[];
27
+ approveCandidate(id: string, approvalRef: ContractParentRef, now: string): Promise<EvolutionCandidate>;
28
+ supersedeCandidate(id: string, supersedingRef: ContractParentRef, now: string): Promise<EvolutionCandidate>;
29
+ revokeCandidate(id: string, revokedByRef: ContractParentRef, reason: string, now: string): Promise<EvolutionCandidate>;
30
+ recordReuseDecision(input: Parameters<typeof createKnowledgeReuseDecision>[0]): Promise<KnowledgeReuseDecisionRecord>;
31
+ getReuseDecision(id: string): KnowledgeReuseDecisionRecord | undefined;
32
+ listReuseDecisions(): readonly KnowledgeReuseDecisionRecord[];
33
+ approveReuse(id: string, approvalRef: ContractParentRef, now: string): Promise<KnowledgeReuseDecisionRecord>;
34
+ revokeReuse(id: string, revokedByRef: ContractParentRef, now: string): Promise<KnowledgeReuseDecisionRecord>;
35
+ private requireCandidate;
36
+ private requireDecision;
37
+ private persist;
38
+ }
39
+ //# sourceMappingURL=evolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evolution.d.ts","sourceRoot":"","sources":["../../src/core/evolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,wBAAwB,EACxB,4BAA4B,EAI5B,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,mBAAmB;IACnC,IAAI,IAAI,OAAO,CAAC;QACf,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;QACnD,QAAQ,CAAC,SAAS,EAAE,SAAS,4BAA4B,EAAE,CAAC;KAC5D,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE;QACZ,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;QACnD,QAAQ,CAAC,SAAS,EAAE,SAAS,4BAA4B,EAAE,CAAC;KAC5D,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAKd,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAJnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IACpE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAC7E,OAAO,CAAC,UAAU,CAAoC;gBAEzB,KAAK,CAAC,EAAE,mBAAmB,YAAA;IAElD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQjG,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAIxD,cAAc,IAAI,SAAS,kBAAkB,EAAE;IAIzC,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQtG,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQ3G,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQtH,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAQ3H,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS;IAItE,kBAAkB,IAAI,SAAS,4BAA4B,EAAE;IAIvD,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAQ5G,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAQlH,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,eAAe;YAMT,OAAO;CAUrB"}
@@ -0,0 +1,290 @@
1
+ /** Durable format for terminal-job experience. It is intentionally separate from evidence and instructions. */
2
+ export declare const EXPERIENCE_VERSION = 1;
3
+ export declare const EXPERIENCE_LIMITS: Readonly<{
4
+ maxRecords: 128;
5
+ maxFileBytes: number;
6
+ maxSummaryChars: 1200;
7
+ maxReasonChars: 600;
8
+ maxTags: 16;
9
+ maxArtifacts: 16;
10
+ maxSources: 16;
11
+ maxObservationIds: 8;
12
+ maxJobIds: 8;
13
+ maxWorkflowSpecDiffs: 16;
14
+ maxQcMetrics: 24;
15
+ maxQcValues: 128;
16
+ maxModelSummaryChars: 500;
17
+ maxSearchResults: 24;
18
+ maxHostIdChars: 64;
19
+ maxProjectChars: 96;
20
+ maxWorkflowChars: 180;
21
+ maxSchedulerChars: 32;
22
+ maxRevisionChars: 180;
23
+ maxSchedulerJobIdChars: 180;
24
+ maxQueryChars: 200;
25
+ }>;
26
+ export type ExperienceStatus = "observed" | "verified";
27
+ export type ExperienceOutcome = "success" | "failure" | "blocked" | "unknown";
28
+ export interface ExperienceBinding {
29
+ vaultId: string;
30
+ }
31
+ export interface ExperienceArtifact {
32
+ path?: string;
33
+ sha256: string;
34
+ bytes?: number;
35
+ }
36
+ /** Host-observed execution facts copied from a terminal compute completion. */
37
+ export interface ExperienceExecutionFacts {
38
+ contractHash?: string | null;
39
+ workflow?: string | null;
40
+ workflowRevision?: string | null;
41
+ scheduler?: string | null;
42
+ schedulerJobId?: string | null;
43
+ artifactRefs?: readonly ExperienceArtifact[] | null;
44
+ }
45
+ export interface ExperienceRepair {
46
+ succeeded: boolean;
47
+ summary?: string | null;
48
+ observationId?: string | null;
49
+ }
50
+ export type WorkflowSpecDiffValue = string | number | boolean | null;
51
+ export interface WorkflowSpecDiff {
52
+ path: string;
53
+ before?: WorkflowSpecDiffValue;
54
+ after?: WorkflowSpecDiffValue;
55
+ }
56
+ export interface ExperienceResourceUse {
57
+ [key: string]: number;
58
+ }
59
+ export interface ExperienceQcDistribution {
60
+ [key: string]: number | undefined;
61
+ min?: number;
62
+ max?: number;
63
+ mean?: number;
64
+ median?: number;
65
+ p95?: number;
66
+ count?: number;
67
+ }
68
+ export interface ExperienceQcMetric {
69
+ name: string;
70
+ unit?: string | null;
71
+ value?: number | null;
72
+ count?: number | null;
73
+ distribution?: ExperienceQcDistribution;
74
+ values?: number[];
75
+ }
76
+ export interface ExperienceProvenance {
77
+ runId?: string | null;
78
+ observationId?: string | null;
79
+ receiptId?: string | null;
80
+ manifestSha256?: string | null;
81
+ artifactHashes?: readonly ExperienceArtifact[];
82
+ }
83
+ export interface ExperienceObservation {
84
+ id: string;
85
+ outcome: ExperienceOutcome;
86
+ observedAt?: string;
87
+ exitCode?: number | null;
88
+ featureKey?: string;
89
+ repairSucceeded?: boolean;
90
+ failureSignature?: string | null;
91
+ failedStep?: string | null;
92
+ step?: string | null;
93
+ repair?: ExperienceRepair | null;
94
+ workflowSpecDiff?: readonly WorkflowSpecDiff[] | null;
95
+ resourceUse?: ExperienceResourceUse | null;
96
+ qcMetrics?: readonly ExperienceQcMetric[] | null;
97
+ qc?: readonly ExperienceQcMetric[] | null;
98
+ modelSummary?: string | null;
99
+ contractHash?: string | null;
100
+ workflow?: string | null;
101
+ workflowRevision?: string | null;
102
+ scheduler?: string | null;
103
+ schedulerJobId?: string | null;
104
+ artifactRefs?: readonly ExperienceArtifact[] | null;
105
+ provenance?: ExperienceProvenance;
106
+ }
107
+ export interface TerminalJobExperienceInput {
108
+ jobId: string;
109
+ featureKey?: string;
110
+ summary: string;
111
+ outcome: ExperienceOutcome;
112
+ exitCode?: number | null;
113
+ step?: string | null;
114
+ failureSignature?: string | null;
115
+ repairSucceeded?: boolean;
116
+ failedStep?: string | null;
117
+ repair?: ExperienceRepair | null;
118
+ workflowSpecDiff?: readonly WorkflowSpecDiff[] | null;
119
+ resourceUse?: ExperienceResourceUse | null;
120
+ qcMetrics?: readonly ExperienceQcMetric[] | null;
121
+ qc?: readonly ExperienceQcMetric[] | null;
122
+ modelSummary?: string | null;
123
+ /** Immutable task/compute contract and exact workflow facts observed by the host. */
124
+ contractHash?: string | null;
125
+ workflow?: string | null;
126
+ workflowRevision?: string | null;
127
+ scheduler?: string | null;
128
+ schedulerJobId?: string | null;
129
+ artifactRefs?: readonly ExperienceArtifact[] | null;
130
+ observationId: string;
131
+ observedAt?: string;
132
+ topicId?: string | null;
133
+ provenance: ExperienceProvenance;
134
+ tags?: readonly string[];
135
+ sourceRefs?: readonly string[];
136
+ }
137
+ export interface ExperienceStorePort {
138
+ record(input: ExperienceInput, expectedRevision?: number): Promise<{
139
+ classification: string;
140
+ record: ExperienceRecord;
141
+ revision: number;
142
+ }>;
143
+ }
144
+ export interface ExperienceInput {
145
+ /** Stable job identifier from the terminal runner. */
146
+ jobId?: string;
147
+ /** A stable semantic pattern key. Different observations of this key can verify an experience. */
148
+ featureKey?: string;
149
+ summary: string;
150
+ observation?: ExperienceObservation;
151
+ hostObservation?: ExperienceObservation;
152
+ provenance?: ExperienceProvenance;
153
+ topicId?: string | null;
154
+ reason?: string | null;
155
+ tags?: readonly string[];
156
+ sourceRefs?: readonly string[];
157
+ exitCode?: number | null;
158
+ failureSignature?: string | null;
159
+ failedStep?: string | null;
160
+ repairSucceeded?: boolean;
161
+ step?: string | null;
162
+ repair?: ExperienceRepair | null;
163
+ workflowSpecDiff?: readonly WorkflowSpecDiff[] | null;
164
+ resourceUse?: ExperienceResourceUse | null;
165
+ qcMetrics?: readonly ExperienceQcMetric[] | null;
166
+ qc?: readonly ExperienceQcMetric[] | null;
167
+ /** Compatibility alias for qcMetrics at the adapter boundary. */
168
+ modelSummary?: string | null;
169
+ contractHash?: string | null;
170
+ workflow?: string | null;
171
+ workflowRevision?: string | null;
172
+ scheduler?: string | null;
173
+ schedulerJobId?: string | null;
174
+ artifactRefs?: readonly ExperienceArtifact[] | null;
175
+ /** Accepted for compatibility at the adapter boundary but intentionally never persisted. */
176
+ command?: unknown;
177
+ output?: unknown;
178
+ credentials?: unknown;
179
+ }
180
+ export interface ExperienceRecord {
181
+ id: string;
182
+ version: 1;
183
+ vaultId: string;
184
+ project: string;
185
+ hostId: string;
186
+ jobId: string;
187
+ featureKey: string;
188
+ topicId: string | null;
189
+ summary: string;
190
+ reason: string | null;
191
+ outcome: ExperienceOutcome;
192
+ status: ExperienceStatus;
193
+ observedAt: string;
194
+ observationIds: string[];
195
+ observationCount: number;
196
+ jobIds: string[];
197
+ jobCount: number;
198
+ failureSignature: string | null;
199
+ exitCode: number | null;
200
+ failedStep: string | null;
201
+ repair: ExperienceRepair | null;
202
+ workflowSpecDiff: WorkflowSpecDiff[];
203
+ resourceUse: ExperienceResourceUse;
204
+ qcMetrics: ExperienceQcMetric[];
205
+ modelSummary: string | null;
206
+ modelGenerated: boolean;
207
+ contractHash: string | null;
208
+ workflow: string | null;
209
+ workflowRevision: string | null;
210
+ scheduler: string | null;
211
+ schedulerJobId: string | null;
212
+ artifactRefs: ExperienceArtifact[];
213
+ provenance: ExperienceProvenance;
214
+ tags: string[];
215
+ sourceRefs: string[];
216
+ navigationOnly: true;
217
+ evidenceEligible: false;
218
+ instructionEligible: false;
219
+ createdAt: string;
220
+ updatedAt: string;
221
+ }
222
+ export interface ExperienceDocument {
223
+ version: 1;
224
+ vaultId: string;
225
+ project: string;
226
+ hostId: string;
227
+ revision: number;
228
+ updatedAt: string;
229
+ records: ExperienceRecord[];
230
+ }
231
+ export interface ExperienceSearchHit {
232
+ score: number;
233
+ record: ExperienceRecord;
234
+ }
235
+ export interface ExperienceSearchResult {
236
+ revision: number;
237
+ query: string;
238
+ records: ExperienceSearchHit[];
239
+ navigationOnly: true;
240
+ evidenceEligible: false;
241
+ instructionEligible: false;
242
+ }
243
+ export interface ExperienceStoreOptions {
244
+ binding: ExperienceBinding;
245
+ project: string;
246
+ hostId: string;
247
+ directory?: string | null;
248
+ }
249
+ export interface ExperienceStore {
250
+ path: string;
251
+ scope: {
252
+ vaultId: string;
253
+ project: string;
254
+ hostId: string;
255
+ };
256
+ read: () => Promise<ExperienceDocument>;
257
+ record: (input: ExperienceInput, expectedRevision?: number) => Promise<{
258
+ classification: "new" | "updated" | "duplicate";
259
+ revision: number;
260
+ record: ExperienceRecord;
261
+ }>;
262
+ search: (query?: string, options?: {
263
+ limit?: number;
264
+ includeObserved?: boolean;
265
+ workflow?: string;
266
+ hostId?: string;
267
+ failureSignature?: string;
268
+ }) => Promise<ExperienceSearchResult>;
269
+ }
270
+ /** Convert a stable B1/B3 terminal-job observation into the redacted Experience input.
271
+ * The adapter accepts only host-observed fields and provenance pointers; runner output and commands stay out.
272
+ */
273
+ export declare function experienceInputFromTerminalJob(input: TerminalJobExperienceInput): ExperienceInput;
274
+ export declare const terminalJobExperienceInput: typeof experienceInputFromTerminalJob;
275
+ export declare function recordTerminalJobExperience(store: ExperienceStorePort, input: TerminalJobExperienceInput, expectedRevision?: number): Promise<{
276
+ classification: string;
277
+ record: ExperienceRecord;
278
+ revision: number;
279
+ }>;
280
+ /** Build a bounded, host-isolated experience log backed by atomic JSON and revision CAS. */
281
+ export declare function createExperienceStore(options: ExperienceStoreOptions): ExperienceStore;
282
+ export declare function searchExperiences(options: ExperienceStoreOptions & {
283
+ query?: string;
284
+ limit?: number;
285
+ includeObserved?: boolean;
286
+ workflow?: string;
287
+ failureSignature?: string;
288
+ hostFilter?: string;
289
+ }): Promise<ExperienceSearchResult>;
290
+ //# sourceMappingURL=experience-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experience-store.d.ts","sourceRoot":"","sources":["../../src/core/experience-store.ts"],"names":[],"mappings":"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"}