dsh-daoing-memory 0.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 (80) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +91 -0
  3. package/README.zh-CN.md +91 -0
  4. package/cordis.patch.yml +22 -0
  5. package/lib/client.js +10339 -0
  6. package/lib/client.js.map +1 -0
  7. package/lib/index.js +3138 -0
  8. package/lib/invariant.js +33 -0
  9. package/lib/tools.js +1472 -0
  10. package/lib/typert.host.d.ts +3 -0
  11. package/lib/typert.host.js +4058 -0
  12. package/lib/typert.remote-client.d.ts +149 -0
  13. package/lib/typert.remote-client.d.ts.map +1 -0
  14. package/lib/typert.remote-client.js +3167 -0
  15. package/lib/types/client/ExperiencePage.d.ts +15 -0
  16. package/lib/types/client/ExperiencePage.d.ts.map +1 -0
  17. package/lib/types/client/ExperiencePage.js +117 -0
  18. package/lib/types/client/ExperiencePage.js.map +1 -0
  19. package/lib/types/client/FactDiaryPage.d.ts +17 -0
  20. package/lib/types/client/FactDiaryPage.d.ts.map +1 -0
  21. package/lib/types/client/FactDiaryPage.js +155 -0
  22. package/lib/types/client/FactDiaryPage.js.map +1 -0
  23. package/lib/types/client/HumanOpsPage.d.ts +16 -0
  24. package/lib/types/client/HumanOpsPage.d.ts.map +1 -0
  25. package/lib/types/client/HumanOpsPage.js +208 -0
  26. package/lib/types/client/HumanOpsPage.js.map +1 -0
  27. package/lib/types/client/LedgerPage.d.ts +13 -0
  28. package/lib/types/client/LedgerPage.d.ts.map +1 -0
  29. package/lib/types/client/LedgerPage.js +113 -0
  30. package/lib/types/client/LedgerPage.js.map +1 -0
  31. package/lib/types/client/MemoryNavSection.d.ts +20 -0
  32. package/lib/types/client/MemoryNavSection.d.ts.map +1 -0
  33. package/lib/types/client/MemoryNavSection.js +23 -0
  34. package/lib/types/client/MemoryNavSection.js.map +1 -0
  35. package/lib/types/client/Workbench.d.ts +23 -0
  36. package/lib/types/client/Workbench.d.ts.map +1 -0
  37. package/lib/types/client/Workbench.js +140 -0
  38. package/lib/types/client/Workbench.js.map +1 -0
  39. package/lib/types/client/actions.d.ts +165 -0
  40. package/lib/types/client/actions.d.ts.map +1 -0
  41. package/lib/types/client/actions.js +51 -0
  42. package/lib/types/client/actions.js.map +1 -0
  43. package/lib/types/client/index.d.ts +24 -0
  44. package/lib/types/client/index.d.ts.map +1 -0
  45. package/lib/types/client/index.js +103 -0
  46. package/lib/types/client/index.js.map +1 -0
  47. package/lib/types/client/navStore.d.ts +45 -0
  48. package/lib/types/client/navStore.d.ts.map +1 -0
  49. package/lib/types/client/navStore.js +36 -0
  50. package/lib/types/client/navStore.js.map +1 -0
  51. package/lib/types/core.d.ts +195 -0
  52. package/lib/types/core.d.ts.map +1 -0
  53. package/lib/types/core.js +1304 -0
  54. package/lib/types/core.js.map +1 -0
  55. package/lib/types/index.d.ts +71 -0
  56. package/lib/types/index.d.ts.map +1 -0
  57. package/lib/types/index.js +97 -0
  58. package/lib/types/index.js.map +1 -0
  59. package/lib/types/invariant.d.ts +21 -0
  60. package/lib/types/invariant.d.ts.map +1 -0
  61. package/lib/types/invariant.js +33 -0
  62. package/lib/types/invariant.js.map +1 -0
  63. package/lib/types/service.d.ts +130 -0
  64. package/lib/types/service.d.ts.map +1 -0
  65. package/lib/types/service.js +417 -0
  66. package/lib/types/service.js.map +1 -0
  67. package/lib/types/store.d.ts +244 -0
  68. package/lib/types/store.d.ts.map +1 -0
  69. package/lib/types/store.js +864 -0
  70. package/lib/types/store.js.map +1 -0
  71. package/lib/types/tools.d.ts +25 -0
  72. package/lib/types/tools.d.ts.map +1 -0
  73. package/lib/types/tools.js +1144 -0
  74. package/lib/types/tools.js.map +1 -0
  75. package/lib/types/types.d.ts +836 -0
  76. package/lib/types/types.d.ts.map +1 -0
  77. package/lib/types/types.js +8 -0
  78. package/lib/types/types.js.map +1 -0
  79. package/package.json +106 -0
  80. package/skill/memory-extraction.md +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navStore.js","sourceRoot":"","sources":["../../../src/client/navStore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,WAAW,EAA0B,MAAM,wCAAwC,CAAA;AAE5F,uCAAuC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;IACrC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/B,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;IAC9B,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;CACvB,CAAA;AAkBV;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,GAAmB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC9D,OAAO,EAAE;YACP,MAAM,EAAE,CAAC,CAAC,EAAE,IAAkB,EAAE,EAAE;gBAChC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAA;gBACb,CAAC,CAAC,SAAS,GAAG,KAAK,CAAA;YACrB,CAAC;YACD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAA,CAAC,CAAC;YAC/B,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA,CAAC,CAAC;SACvD;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Memory core: the 生·用·修·记 mechanisms over the durable store. Pure and
3
+ * ctx-free. Implements 005's P0/P1 semantics:
4
+ *
5
+ * - 生 refine: complexity gate + information-gain gate + mandatory evidence
6
+ * pointers; positive and negative candidates symmetric.
7
+ * - 用 recall: recall → adjudication (limits vs situation conflicts,
8
+ * direct/reference/clue/not-applicable) → injection budget → explicit
9
+ * negative channel.
10
+ * - 用·验 report: Beta posterior (alpha+1)/(alpha+beta+2) with recency
11
+ * weighting; four-way attribution with objective-evidence priority and
12
+ * no-count on insufficient signal; idempotent reports.
13
+ * - 修 revise: challenged quarantine (immediately out of recall), draft
14
+ * proposal, adoption only after one successful use or shadow replay,
15
+ * superseded read-only index with rollback.
16
+ * - 记 diary/facts: append-only diary, cadence-driven extraction with source
17
+ * pointers, bi-temporal facts with conflict arbitration and human gates.
18
+ * - Ledger: append-only hash-chained event sourcing for every mutation,
19
+ * including every human operation.
20
+ *
21
+ * @module dsh-daoing-memory/core
22
+ */
23
+ import type { ConcernTree, ConsolidateRequest, ConsolidateResult, DiaryAppendRequest, DiaryAppendResult, DiaryEntry, ExperienceListFilter, ExperienceSnapshot, ExtractionRecord, ExtractFactsRequest, ExtractFactsResult, FactEntry, HumanAddExperienceRequest, HumanAddFactRequest, HumanAckDiaryRequest, HumanConfirmFactRequest, HumanDeleteConcernRequest, HumanDeleteExperienceRequest, HumanDeleteFactRequest, HumanEditExperienceRequest, HumanEditFactRequest, HumanPinRequest, HumanSetConcernStatusRequest, HumanReleaseColdRequest, IngestRequest, IngestResult, LedgerIntegrityResult, LedgerQueryRequest, MemoryExport, MemoryStats, RecallExperiencesRequest, RecallExperiencesResult, RefineExperienceRequest, RefineExperienceResult, ReportUseRequest, ReportUseResult, ReviseExperienceRequest, RollbackExperienceRequest, VerifyShadowRequest, VerifyShadowResult } from './types.ts';
24
+ import { MemoryStore } from './store.ts';
25
+ /** Tunable mechanism parameters, all overridable from the plugin config. */
26
+ export interface MemoryCoreConfig {
27
+ /** Diary entries that trigger one extraction run. */
28
+ diaryExtractEvery: number;
29
+ /** Minimum hours between extraction runs. */
30
+ diaryExtractIntervalHours: number;
31
+ /** Default recall candidate count. */
32
+ recallTopK: number;
33
+ /** Injection budget in estimated tokens (≈5% of a typical context). */
34
+ injectionBudgetTokens: number;
35
+ /** Consecutive experience-attributed failures that quarantine a live experience. */
36
+ challengeConsecutiveFails: number;
37
+ /** Window size for the failure-rate challenge rule. */
38
+ challengeWindow: number;
39
+ /** Failure rate within the window that challenges a live experience. */
40
+ challengeWindowFailRate: number;
41
+ /** Live-revision cap per family tag (capacity budget). */
42
+ familyLiveCap: number;
43
+ /** Complexity gate: token threshold. */
44
+ complexityTokenGate: number;
45
+ /** Complexity gate: step threshold. */
46
+ complexityStepGate: number;
47
+ /** Information-gain gate: overlap at/above this rejects a near-duplicate. */
48
+ duplicateOverlapGate: number;
49
+ /** Minimum relevance score for injection. */
50
+ recallFloorScore: number;
51
+ /** Shadow replay agreement required to adopt a draft. */
52
+ shadowPassRate: number;
53
+ /** Trust floor for human-injected experiences (Beta alpha/beta). */
54
+ humanFloorAlpha: number;
55
+ /** Trust floor for human-injected experiences (Beta alpha/beta). */
56
+ humanFloorBeta: number;
57
+ /** Trust floor kept for pinned experiences. */
58
+ pinnedTrustFloor: number;
59
+ /** Candidate probe channel: max trials offered per recall (006 §3.1). */
60
+ candidateTrialTopK: number;
61
+ /** Candidate probe channel: minimum relevance to offer a trial (006 §3.1). */
62
+ candidateTrialFloorScore: number;
63
+ /** Consolidation: minimum NEW experiences since the last consolidation before one is due (008 §1). */
64
+ consolidateEveryNew: number;
65
+ /** Consolidation: minimum HOURS elapsed since the last consolidation (interval, not a fixed clock point) (008 §1). */
66
+ consolidateIntervalHours: number;
67
+ }
68
+ /** The mechanism defaults (005 mapping documented in the README). */
69
+ export declare const DEFAULT_CORE_CONFIG: MemoryCoreConfig;
70
+ /** One actor label for the ledger. */
71
+ export type MemoryActor = string;
72
+ /** The memory core: stateless over the injected store. */
73
+ export declare class MemoryCore {
74
+ private readonly store;
75
+ readonly config: MemoryCoreConfig;
76
+ /** @param store - the durable SQLite store. */
77
+ /** @param config - resolved mechanism parameters. */
78
+ constructor(store: MemoryStore, config: MemoryCoreConfig);
79
+ private ledger;
80
+ /** 生: refine one completed trajectory into a candidate (dual gate). */
81
+ refine(request: RefineExperienceRequest, actor: MemoryActor): RefineExperienceResult;
82
+ /**
83
+ * 摄取归一: source-agnostic intake. Every extracted draft becomes an earned
84
+ * candidate carrying provenance (sourceType + sourceRef), the source-authority
85
+ * prior, and the declared context scope. Candidates never recall until verified.
86
+ */
87
+ ingest(request: IngestRequest, actor: MemoryActor): IngestResult;
88
+ /** 用: recall → scope → adjudicate → budget → inject, plus the candidate probe channel. */
89
+ recall(request: RecallExperiencesRequest, actor: MemoryActor): RecallExperiencesResult;
90
+ /** 用·验: one use outcome → Beta update, attribution, quarantine, gates. */
91
+ report(request: ReportUseRequest, actor: MemoryActor): ReportUseResult;
92
+ /** Windowed challenge rule: consecutive fails or window failure rate. */
93
+ private shouldChallenge;
94
+ /** Close the parent revision as superseded after a draft adoption. */
95
+ private supersedeParent;
96
+ /** Capacity budget: archive the lowest economic value when a family overflows. */
97
+ private enforceFamilyCap;
98
+ /** 修: propose a revised draft for a challenged experience. */
99
+ revise(request: ReviseExperienceRequest, actor: MemoryActor): ExperienceSnapshot;
100
+ /** V1 controlled re-enactment: replay historical samples against a draft. */
101
+ verifyShadow(request: VerifyShadowRequest, actor: MemoryActor): VerifyShadowResult;
102
+ /** Roll the family back to a superseded revision. */
103
+ rollback(request: RollbackExperienceRequest, actor: MemoryActor): ExperienceSnapshot;
104
+ /** One experience revision. */
105
+ get(id: string, revision?: number): ExperienceSnapshot | undefined;
106
+ /** Experience revisions by filter. */
107
+ list(filter: ExperienceListFilter): ExperienceSnapshot[];
108
+ /** Every revision of one family (the rollback picker's data). */
109
+ family(id: string): ExperienceSnapshot[];
110
+ /** 记: append one diary entry; signals when the extraction cadence is due. */
111
+ appendDiary(request: DiaryAppendRequest, actor: MemoryActor): DiaryAppendResult;
112
+ /** 上升通道: apply extracted facts over the pending diary window. */
113
+ extract(request: ExtractFactsRequest, actor: MemoryActor, trigger?: 'cadence' | 'manual'): ExtractFactsResult;
114
+ /** Validate one proposal's shape and source pointers. */
115
+ private validateProposal;
116
+ /** Diary entries for the workbench timeline. */
117
+ listDiary(limit: number, offset: number, onlyUnextracted: boolean): DiaryEntry[];
118
+ /** Several diary entries by id (008 Path A: fact→diary provenance). */
119
+ getDiaryByIds(ids: string[]): DiaryEntry[];
120
+ /** Fact versions for the workbench (008 §3: server-side pagination). */
121
+ listFacts(category: string | undefined, includeHistory: boolean, limit: number, offset: number): FactEntry[];
122
+ /** Count of facts matching the workbench filter (008 §3: pagination total). */
123
+ listFactsCount(category: string | undefined, includeHistory: boolean): number;
124
+ /** 关心事项 (007 §2 / 010 §D): top-level concerns + loop, kind/status filter + pagination. */
125
+ listConcerns(kind: string | undefined, status: string | undefined, limit?: number, offset?: number): ConcernTree[];
126
+ /** Count of top-level concerns matching the workbench filter (010 §D: pagination total). */
127
+ listConcernsCount(kind: string | undefined, status: string | undefined): number;
128
+ /**
129
+ * 010 §F: a compact runtime snapshot for the AI's context — the profile (the
130
+ * AI's perception of the user) plus still-open concern memos it may remind
131
+ * the user about. Empty string when there is nothing yet.
132
+ */
133
+ profileSnapshot(): string;
134
+ /** Extraction runs, newest first (008 §3: server-side pagination). */
135
+ extractionLog(limit: number, offset: number): ExtractionRecord[];
136
+ /** Total extraction runs (008 §3: pagination total). */
137
+ extractionLogCount(): number;
138
+ /**
139
+ * Whether a consolidation run is due. The period is measured as a DURATION
140
+ * since the last consolidation (interval), not a fixed clock time: a run is
141
+ * due once (a) enough NEW experiences have accumulated since the last run
142
+ * AND (b) enough hours have elapsed since it.
143
+ */
144
+ consolidationDue(): {
145
+ due: boolean;
146
+ lastTs: number;
147
+ newSince: number;
148
+ hoursSince: number;
149
+ };
150
+ /**
151
+ * Apply a consolidation run: for each merge, create one consolidated
152
+ * experience and archive the sources (they leave recall but stay recoverable
153
+ * — consolidation never hard-deletes). Every step is ledgered.
154
+ */
155
+ consolidate(request: ConsolidateRequest, actor: string): ConsolidateResult;
156
+ /** Human pin/unpin: pinned cards keep the trust floor and escape budgets. */
157
+ humanPin(request: HumanPinRequest, actor: MemoryActor): ExperienceSnapshot;
158
+ /** Human delete: tombstone the family; the ledger keeps the fingerprint. */
159
+ humanDeleteExperience(request: HumanDeleteExperienceRequest, actor: MemoryActor): void;
160
+ /** Human edit: rewrite fields of the active revision in place. */
161
+ humanEditExperience(request: HumanEditExperienceRequest, actor: MemoryActor): ExperienceSnapshot;
162
+ /** Human injection: fixed format, source=human, trust floor, directly live. */
163
+ humanAddExperience(request: HumanAddExperienceRequest, actor: MemoryActor): ExperienceSnapshot;
164
+ /** Human authority (V2): promote a candidate straight to live. */
165
+ humanPromote(id: string, reason: string, actor: MemoryActor): ExperienceSnapshot;
166
+ /** Human re-release (006 §3.2): move a cold-palace revision back to candidate. */
167
+ humanReleaseCold(request: HumanReleaseColdRequest, actor: MemoryActor): ExperienceSnapshot;
168
+ /** Human acknowledgement of a pending diary entry: reviewed, no fact extracted. */
169
+ humanAckDiary(request: HumanAckDiaryRequest, actor: MemoryActor): DiaryEntry;
170
+ /** Human lifecycle change of a top-level concern (007 §2.4, audited). */
171
+ humanSetConcernStatus(request: HumanSetConcernStatusRequest, actor: MemoryActor): void;
172
+ /** Human delete of a concern subtree (007 §2.4, tombstone, audited). */
173
+ humanDeleteConcern(request: HumanDeleteConcernRequest, actor: MemoryActor): void;
174
+ /** Human fact add: origin=human, locked by default. */
175
+ humanAddFact(request: HumanAddFactRequest, actor: MemoryActor): FactEntry;
176
+ /** Human fact edit: supersedes the current version with a locked one. */
177
+ humanEditFact(request: HumanEditFactRequest, actor: MemoryActor): FactEntry;
178
+ /** Human fact delete: tombstone the current version. */
179
+ humanDeleteFact(request: HumanDeleteFactRequest, actor: MemoryActor): void;
180
+ /** Human fact confirmation: lock or unlock the current version. */
181
+ humanConfirmFact(request: HumanConfirmFactRequest, actor: MemoryActor): FactEntry;
182
+ /** Human rollback (same gate, human actor). */
183
+ humanRollback(request: RollbackExperienceRequest, actor: MemoryActor): ExperienceSnapshot;
184
+ /** Aggregated library statistics. */
185
+ stats(): MemoryStats;
186
+ /** Verify the ledger hash chain end to end. */
187
+ verifyLedger(): LedgerIntegrityResult;
188
+ /** Ledger query for the workbench and the model tool. */
189
+ ledgerQuery(request: LedgerQueryRequest): ReturnType<MemoryStore['ledgerQuery']>;
190
+ /** Count ledger blocks matching a filter (007 §2 pagination). */
191
+ ledgerQueryCount(request: LedgerQueryRequest): number;
192
+ /** Full library export (experiments + migration). */
193
+ exportLibrary(): MemoryExport;
194
+ }
195
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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"}