crbro-memory 2.9.1 → 2.11.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 (197) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +256 -456
  3. package/SECURITY.md +135 -8
  4. package/bin/crbro.mjs +555 -299
  5. package/dist/build-id.json +10 -0
  6. package/dist/cli/common.js +211 -0
  7. package/dist/cli/export.js +522 -0
  8. package/dist/cli/import.js +683 -0
  9. package/dist/cli/markdown.js +313 -0
  10. package/dist/cli/mcpclient.js +107 -0
  11. package/dist/cli/serve.js +453 -0
  12. package/dist/cli/view.js +358 -0
  13. package/dist/cli/viewer-page.js +378 -0
  14. package/dist/daemon/daemon.js +119 -11
  15. package/dist/daemon/endpoint.js +222 -21
  16. package/dist/daemon/lines.js +102 -13
  17. package/dist/daemon/proxy.js +480 -125
  18. package/dist/daemon/surface.js +116 -0
  19. package/dist/daemon/trace.js +73 -0
  20. package/dist/engine/atrest.js +132 -0
  21. package/dist/engine/backup.js +143 -19
  22. package/dist/engine/brain.js +22 -6
  23. package/dist/engine/codexconfig.js +476 -0
  24. package/dist/engine/cortex.js +762 -311
  25. package/dist/engine/doctor.js +676 -0
  26. package/dist/engine/evidence.js +171 -0
  27. package/dist/engine/heat.js +81 -37
  28. package/dist/engine/hippocampus.js +50 -36
  29. package/dist/engine/hookrefresh.js +296 -0
  30. package/dist/engine/hookverify.js +15 -3
  31. package/dist/engine/installer.js +1022 -0
  32. package/dist/engine/installio.js +279 -0
  33. package/dist/engine/keychain.js +735 -144
  34. package/dist/engine/maintenance.js +355 -87
  35. package/dist/engine/modinstall.js +98 -45
  36. package/dist/engine/prefrontal.js +126 -69
  37. package/dist/engine/projects.js +80 -0
  38. package/dist/engine/quarantine.js +204 -0
  39. package/dist/engine/secrets.js +41 -5
  40. package/dist/engine/shelf.js +34 -11
  41. package/dist/engine/synapses.js +183 -80
  42. package/dist/engine/triggers.js +141 -11
  43. package/dist/index.js +37 -3
  44. package/dist/mcp-surface.json +1 -0
  45. package/dist/miner/extractor.js +64 -17
  46. package/dist/miner/scheduler.js +144 -68
  47. package/dist/search/index.js +810 -176
  48. package/dist/search/quality.js +31 -0
  49. package/dist/search/semantic.js +208 -18
  50. package/dist/search/tokenize.js +44 -0
  51. package/dist/server.js +649 -343
  52. package/dist/sync/git.js +203 -72
  53. package/dist/sync/materialize.js +33 -8
  54. package/dist/sync/space.js +286 -101
  55. package/dist/sync/validate.js +204 -0
  56. package/dist/utils/budget.js +15 -2
  57. package/dist/utils/fs.js +40 -6
  58. package/dist/utils/ids.js +128 -14
  59. package/dist/utils/lock.js +219 -52
  60. package/hooks/crbro-codex.mjs +284 -0
  61. package/hooks/crbro-guard.mjs +281 -173
  62. package/hooks/crbro-hooks.shipped.json +20 -0
  63. package/hooks/crbro-lifecycle.mjs +16 -4
  64. package/hooks/crbro-subagent.mjs +180 -180
  65. package/package.json +12 -8
  66. package/dist/daemon/daemon.d.ts +0 -25
  67. package/dist/daemon/daemon.d.ts.map +0 -1
  68. package/dist/daemon/daemon.js.map +0 -1
  69. package/dist/daemon/endpoint.d.ts +0 -66
  70. package/dist/daemon/endpoint.d.ts.map +0 -1
  71. package/dist/daemon/endpoint.js.map +0 -1
  72. package/dist/daemon/lines.d.ts +0 -55
  73. package/dist/daemon/lines.d.ts.map +0 -1
  74. package/dist/daemon/lines.js.map +0 -1
  75. package/dist/daemon/proxy.d.ts +0 -55
  76. package/dist/daemon/proxy.d.ts.map +0 -1
  77. package/dist/daemon/proxy.js.map +0 -1
  78. package/dist/engine/backup.d.ts +0 -68
  79. package/dist/engine/backup.d.ts.map +0 -1
  80. package/dist/engine/backup.js.map +0 -1
  81. package/dist/engine/brain.d.ts +0 -79
  82. package/dist/engine/brain.d.ts.map +0 -1
  83. package/dist/engine/brain.js.map +0 -1
  84. package/dist/engine/cortex.d.ts +0 -670
  85. package/dist/engine/cortex.d.ts.map +0 -1
  86. package/dist/engine/cortex.js.map +0 -1
  87. package/dist/engine/dates.d.ts +0 -28
  88. package/dist/engine/dates.d.ts.map +0 -1
  89. package/dist/engine/dates.js.map +0 -1
  90. package/dist/engine/heat.d.ts +0 -28
  91. package/dist/engine/heat.d.ts.map +0 -1
  92. package/dist/engine/heat.js.map +0 -1
  93. package/dist/engine/hippocampus.d.ts +0 -60
  94. package/dist/engine/hippocampus.d.ts.map +0 -1
  95. package/dist/engine/hippocampus.js.map +0 -1
  96. package/dist/engine/hookverify.d.ts +0 -42
  97. package/dist/engine/hookverify.d.ts.map +0 -1
  98. package/dist/engine/hookverify.js.map +0 -1
  99. package/dist/engine/keychain.d.ts +0 -32
  100. package/dist/engine/keychain.d.ts.map +0 -1
  101. package/dist/engine/keychain.js.map +0 -1
  102. package/dist/engine/maintenance.d.ts +0 -218
  103. package/dist/engine/maintenance.d.ts.map +0 -1
  104. package/dist/engine/maintenance.js.map +0 -1
  105. package/dist/engine/modinstall.d.ts +0 -215
  106. package/dist/engine/modinstall.d.ts.map +0 -1
  107. package/dist/engine/modinstall.js.map +0 -1
  108. package/dist/engine/postmortem.d.ts +0 -81
  109. package/dist/engine/postmortem.d.ts.map +0 -1
  110. package/dist/engine/postmortem.js.map +0 -1
  111. package/dist/engine/prefrontal.d.ts +0 -61
  112. package/dist/engine/prefrontal.d.ts.map +0 -1
  113. package/dist/engine/prefrontal.js.map +0 -1
  114. package/dist/engine/secrets.d.ts +0 -30
  115. package/dist/engine/secrets.d.ts.map +0 -1
  116. package/dist/engine/secrets.js.map +0 -1
  117. package/dist/engine/shelf.d.ts +0 -156
  118. package/dist/engine/shelf.d.ts.map +0 -1
  119. package/dist/engine/shelf.js.map +0 -1
  120. package/dist/engine/source.d.ts +0 -6
  121. package/dist/engine/source.d.ts.map +0 -1
  122. package/dist/engine/source.js.map +0 -1
  123. package/dist/engine/synapses.d.ts +0 -82
  124. package/dist/engine/synapses.d.ts.map +0 -1
  125. package/dist/engine/synapses.js.map +0 -1
  126. package/dist/engine/triggers.d.ts +0 -53
  127. package/dist/engine/triggers.d.ts.map +0 -1
  128. package/dist/engine/triggers.js.map +0 -1
  129. package/dist/engine/usage.d.ts +0 -61
  130. package/dist/engine/usage.d.ts.map +0 -1
  131. package/dist/engine/usage.js.map +0 -1
  132. package/dist/index.d.ts +0 -2
  133. package/dist/index.d.ts.map +0 -1
  134. package/dist/index.js.map +0 -1
  135. package/dist/miner/extractor.d.ts +0 -12
  136. package/dist/miner/extractor.d.ts.map +0 -1
  137. package/dist/miner/extractor.js.map +0 -1
  138. package/dist/miner/index.d.ts +0 -61
  139. package/dist/miner/index.d.ts.map +0 -1
  140. package/dist/miner/index.js.map +0 -1
  141. package/dist/miner/scheduler.d.ts +0 -30
  142. package/dist/miner/scheduler.d.ts.map +0 -1
  143. package/dist/miner/scheduler.js.map +0 -1
  144. package/dist/miner/types.d.ts +0 -11
  145. package/dist/miner/types.d.ts.map +0 -1
  146. package/dist/miner/types.js.map +0 -1
  147. package/dist/search/index.d.ts +0 -323
  148. package/dist/search/index.d.ts.map +0 -1
  149. package/dist/search/index.js.map +0 -1
  150. package/dist/search/semantic.d.ts +0 -80
  151. package/dist/search/semantic.d.ts.map +0 -1
  152. package/dist/search/semantic.js.map +0 -1
  153. package/dist/search/synonyms.d.ts +0 -2
  154. package/dist/search/synonyms.d.ts.map +0 -1
  155. package/dist/search/synonyms.js.map +0 -1
  156. package/dist/search/tokenize.d.ts +0 -39
  157. package/dist/search/tokenize.d.ts.map +0 -1
  158. package/dist/search/tokenize.js.map +0 -1
  159. package/dist/server.d.ts +0 -41
  160. package/dist/server.d.ts.map +0 -1
  161. package/dist/server.js.map +0 -1
  162. package/dist/sync/git.d.ts +0 -36
  163. package/dist/sync/git.d.ts.map +0 -1
  164. package/dist/sync/git.js.map +0 -1
  165. package/dist/sync/materialize.d.ts +0 -35
  166. package/dist/sync/materialize.d.ts.map +0 -1
  167. package/dist/sync/materialize.js.map +0 -1
  168. package/dist/sync/ops.d.ts +0 -142
  169. package/dist/sync/ops.d.ts.map +0 -1
  170. package/dist/sync/ops.js.map +0 -1
  171. package/dist/sync/space.d.ts +0 -116
  172. package/dist/sync/space.d.ts.map +0 -1
  173. package/dist/sync/space.js.map +0 -1
  174. package/dist/types/index.d.ts +0 -346
  175. package/dist/types/index.d.ts.map +0 -1
  176. package/dist/types/index.js.map +0 -1
  177. package/dist/utils/budget.d.ts +0 -44
  178. package/dist/utils/budget.d.ts.map +0 -1
  179. package/dist/utils/budget.js.map +0 -1
  180. package/dist/utils/fs.d.ts +0 -59
  181. package/dist/utils/fs.d.ts.map +0 -1
  182. package/dist/utils/fs.js.map +0 -1
  183. package/dist/utils/hash.d.ts +0 -20
  184. package/dist/utils/hash.d.ts.map +0 -1
  185. package/dist/utils/hash.js.map +0 -1
  186. package/dist/utils/ids.d.ts +0 -47
  187. package/dist/utils/ids.d.ts.map +0 -1
  188. package/dist/utils/ids.js.map +0 -1
  189. package/dist/utils/lock.d.ts +0 -11
  190. package/dist/utils/lock.d.ts.map +0 -1
  191. package/dist/utils/lock.js.map +0 -1
  192. package/dist/utils/transcripts.d.ts +0 -63
  193. package/dist/utils/transcripts.d.ts.map +0 -1
  194. package/dist/utils/transcripts.js.map +0 -1
  195. package/dist/version.d.ts +0 -26
  196. package/dist/version.d.ts.map +0 -1
  197. package/dist/version.js.map +0 -1
@@ -1,116 +0,0 @@
1
- import { type MergeReport } from './materialize.js';
2
- import { type Op } from './ops.js';
3
- import { type GitResult } from './git.js';
4
- import type { Brain } from '../engine/brain.js';
5
- import type { Cortex } from '../engine/cortex.js';
6
- export interface Identity {
7
- author: string;
8
- device: string;
9
- }
10
- export interface SpaceConfig {
11
- v: number;
12
- name: string;
13
- created_by: string;
14
- created: string;
15
- branch: string;
16
- }
17
- export interface ShareReport {
18
- dry_run: boolean;
19
- neuron_id: string;
20
- space: string;
21
- ops_to_emit: number;
22
- blocked: Array<{
23
- where: string;
24
- kind: string;
25
- }>;
26
- skipped_preferences: number;
27
- confirm_token?: string;
28
- }
29
- export interface SyncReport {
30
- space: string;
31
- state: 'ok' | 'offline' | 'no_git' | 'auth' | 'conflict' | 'not_joined';
32
- neurons_touched: string[];
33
- merged: MergeReport[];
34
- pushed: boolean;
35
- message: string;
36
- }
37
- /**
38
- * Who this machine is. Not a security claim — anyone with push access to the
39
- * repository can write any name — just a label so a fact says where it came
40
- * from. Never leaves the machine except inside the notes it signs.
41
- */
42
- export declare function getIdentity(brain: Brain, author?: string): Promise<Identity>;
43
- export declare function spaceDir(brain: Brain, name: string): string;
44
- export declare function readSpace(brain: Brain, name: string): Promise<SpaceConfig | null>;
45
- export declare function listSpaces(brain: Brain): Promise<string[]>;
46
- export declare function createSpace(brain: Brain, name: string, remote: string, author: string, branch?: string): Promise<{
47
- ok: boolean;
48
- message: string;
49
- detail?: string;
50
- }>;
51
- export declare function joinSpace(brain: Brain, name: string, remote: string, author: string, branch?: string): Promise<{
52
- ok: boolean;
53
- message: string;
54
- detail?: string;
55
- }>;
56
- /**
57
- * Look at what would be sent. Credentials block the share outright rather than
58
- * being redacted: silently sending someone a mangled version of a fact is
59
- * worse than refusing and saying where the problem is.
60
- */
61
- export declare function prepareShare(brain: Brain, cortex: Cortex, neuronRef: string, spaceName: string): Promise<ShareReport | {
62
- error: string;
63
- }>;
64
- export declare function commitShare(brain: Brain, cortex: Cortex, neuronRef: string, spaceName: string, token: string): Promise<{
65
- ok: boolean;
66
- message: string;
67
- ops?: number;
68
- }>;
69
- interface SharedMap {
70
- [neuronId: string]: string;
71
- }
72
- export declare function sharedMap(brain: Brain): Promise<SharedMap>;
73
- export declare function markShared(brain: Brain, neuronId: string, space: string): Promise<void>;
74
- /** Neuron ids this machine stopped following. */
75
- export declare function unsharedList(brain: Brain): Promise<string[]>;
76
- /**
77
- * Stop following a neuron in its space. Local only: no more notes go out and
78
- * the next sync ignores its directory. What was already sent stays in the
79
- * remote and in every teammate's brain — a log is append-only by design.
80
- * The ref falls back to the literal string as an id, so a neuron that has
81
- * already been forgotten can still be unshared.
82
- */
83
- export declare function unshareNeuron(brain: Brain, cortex: Cortex, neuronRef: string): Promise<{
84
- ok: boolean;
85
- neuron_id: string | null;
86
- space: string | null;
87
- message: string;
88
- }>;
89
- /**
90
- * Leave a space: one last sync so pending notes go out, then the local copy
91
- * of the space is removed and its neurons stop being followed. The local
92
- * neurons and the remote repository are untouched. The ids are NOT
93
- * tombstoned — re-joining should follow them again.
94
- */
95
- export declare function leaveSpace(brain: Brain, cortex: Cortex, name: string): Promise<{
96
- ok: boolean;
97
- message: string;
98
- synced_before_leaving: SyncReport['state'] | 'skipped';
99
- neurons_unshared: number;
100
- }>;
101
- /** Append one note for a neuron that is already shared. Silent if it is not. */
102
- export declare function emitOps(brain: Brain, neuronId: string, make: (id: Identity) => Op[]): Promise<void>;
103
- export declare function syncSpaceNow(brain: Brain, cortex: Cortex, spaceName: string, timeoutMs?: number): Promise<SyncReport>;
104
- /** Sync every space. Used at boot and at consolidation, with a short budget. */
105
- export declare function syncAll(brain: Brain, cortex: Cortex, timeoutMs?: number): Promise<SyncReport[]>;
106
- /**
107
- * Wire a Cortex so writes to shared neurons reach the team log.
108
- *
109
- * Exported as one function on purpose. The indexer had exactly this shape and
110
- * was wired only inside the MCP server, so the miner — which builds its own
111
- * Cortex — silently never indexed anything. One entry point means the next
112
- * caller cannot forget.
113
- */
114
- export declare function attachSync(brain: Brain, cortex: Cortex): void;
115
- export type { GitResult };
116
- //# sourceMappingURL=space.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../src/sync/space.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"space.js","sourceRoot":"","sources":["../../src/sync/space.ts"],"names":[],"mappings":"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"}
@@ -1,346 +0,0 @@
1
- /**
2
- * A fact's lifecycle.
3
- * - `active` — current truth (the default; absent means active).
4
- * - `superseded` — there is a newer fact that replaces this one.
5
- * - `retracted` — it was never true. Different from superseded on purpose:
6
- * "the price changed" and "I got the price wrong" are not
7
- * the same thing, and the distinction costs nothing.
8
- */
9
- export type FactStatus = 'active' | 'superseded' | 'retracted';
10
- export interface Fact {
11
- text: string;
12
- confidence: number;
13
- added: string;
14
- source: string;
15
- id?: string;
16
- status?: FactStatus;
17
- supersedes?: string[];
18
- superseded_by?: string;
19
- revised?: string;
20
- revision_note?: string;
21
- /**
22
- * Aliases a future question may use that the text does not contain:
23
- * synonyms, the other language, the generic name of the product named.
24
- * Written by the caller at save time (a language model knows them),
25
- * indexed with the line, never displayed. The cheapest fix there is for
26
- * vocabulary gaps, and the one no embedding model replaces.
27
- */
28
- keys?: string[];
29
- /**
30
- * How many times this exact line was learned: 1 when written, +1 each time
31
- * a session stores the same text again (the exact-duplicate branch of
32
- * learn). Absent means 1, so a fact written before 2.7 is valid as it is.
33
- * Local only: it never travels as a sync op. The miner does not count —
34
- * re-reading the same file is not a second witness.
35
- */
36
- confirmations?: number;
37
- /**
38
- * ISO instant of the last time this line was checked against its source
39
- * and still held (shelf life): crbro_revise status=verified, or the same text
40
- * learned again by a session (never by the miner). Absent === never
41
- * re-checked: the shelf-life clock runs from `added`. Reading is not
42
- * checking — recall and inspect never touch it.
43
- */
44
- verified?: string;
45
- /**
46
- * How fast this kind of value goes stale, ONLY when someone said so (shelf life).
47
- * Absent === inferred at read time from the text (src/engine/shelf.ts), so
48
- * a better detector improves old facts too, and nothing is stored that was
49
- * not decided by someone.
50
- */
51
- shelf_life?: ShelfLife;
52
- }
53
- /** volatile 90 d · normal 365 d · durable 730 d · permanent never (defaults; CRBRO_SHELF_DAYS changes them). */
54
- export type ShelfLife = 'volatile' | 'normal' | 'durable' | 'permanent';
55
- export interface Decision {
56
- text: string;
57
- date: string;
58
- rationale: string;
59
- /** Content hash, so the same decision from two people lines up. */
60
- id?: string;
61
- /** Who recorded it, when it arrived from a teammate. */
62
- by?: string;
63
- }
64
- export type NeuronType = 'project' | 'tech' | 'lang' | 'person' | 'domain' | 'process' | 'protocol';
65
- /**
66
- * Retirement of a decision, pattern, error or debt. Only the non-active
67
- * states exist here: an entry that is active has no record at all.
68
- */
69
- export type EntryStatus = 'superseded' | 'retracted';
70
- export interface EntryRetirement {
71
- status: EntryStatus;
72
- revised: string;
73
- note?: string;
74
- }
75
- export interface Neuron {
76
- id: string;
77
- name: string;
78
- domain: string;
79
- type: NeuronType;
80
- created: string;
81
- last_accessed: string;
82
- access_count: number;
83
- heat: number;
84
- summary: string;
85
- facts: Fact[];
86
- decisions: Decision[];
87
- patterns: string[];
88
- preferences: string[];
89
- connections: string[];
90
- tags: string[];
91
- /**
92
- * Mistakes made working on this topic, each with how it was corrected.
93
- * A separate ledger from patterns so "check my known errors before doing
94
- * this again" is a real question the brain can answer.
95
- */
96
- errors?: string[];
97
- /**
98
- * Deliberate deferrals: what was NOT done on purpose, its ceiling, and
99
- * the condition under which to revisit. The twin of errors — an error is
100
- * "did X wrong, fixed it so"; a debt is "skipped X on purpose, revisit
101
- * when Y". The graveyard of the unbuilt: when someone re-proposes a dead
102
- * idea, recall serves the decision with its date and its trigger.
103
- */
104
- debts?: string[];
105
- /**
106
- * When each pattern, preference, error and debt was recorded, keyed by
107
- * entryId(text) — the same content hash the sync purge ops already use.
108
- * A sidecar on purpose, not a change of element type: every reader of
109
- * those arrays keeps working, the ops format is untouched, and a brain
110
- * written before 1.13 is still valid — its entries simply carry no date.
111
- * Before this, recall answered `matched_added: ""` for every error and
112
- * debt, so "prefer the more recent" could not apply to the error ledger.
113
- */
114
- entry_dates?: Record<string, string>;
115
- /**
116
- * Retired decisions, patterns, errors and debts, keyed by entryId(text) —
117
- * the same hash as entry_dates and the sync purge ops. Absent key === active.
118
- * A sidecar for the same reason entry_dates is one: the element type of
119
- * those arrays never changes, every reader keeps working, and a pre-2.0
120
- * brain is valid as it is. A retired entry stays in the file but leaves
121
- * recall exactly like a superseded fact does; `crbro_revise status=active`
122
- * deletes the key and brings it back. The sidecar never travels as a sync
123
- * op — it survives a sync only because applyOps copies and prunes it.
124
- */
125
- entry_status?: Record<string, EntryRetirement>;
126
- /**
127
- * Where a decision, pattern, error or debt came from when it was not this
128
- * machine's own session, keyed by entryId(text) like entry_dates: the same
129
- * values Fact.source takes — 'team:<author>' (arrived through a shared
130
- * space) or 'miner' (any other non-session source a caller passes). Absent key === written here. A sidecar for
131
- * the same reason as the other two (2.7): the arrays keep their type and a
132
- * brain without it is valid as it is. Read by recall to say, only when it
133
- * is not the user's own, where a line came from.
134
- */
135
- entry_source?: Record<string, string>;
136
- /**
137
- * Last verification of decisions and patterns (shelf life), keyed by
138
- * entryId(text) like the other sidecars: the arrays keep their element
139
- * type and every reader keeps working. Absent key === never re-checked;
140
- * the clock runs from the entry's date.
141
- */
142
- entry_verified?: Record<string, string>;
143
- /**
144
- * The living map of the system: where it lives, what serves what, which
145
- * pieces talk to each other, the traps. One document, replaced whole on
146
- * every update — never appended — so it cannot drift into versions.
147
- */
148
- map?: NeuronMap;
149
- }
150
- export interface NeuronMap {
151
- text: string;
152
- updated: string;
153
- by?: string;
154
- }
155
- export type SynapseType = 'dependency' | 'causal' | 'temporal' | 'conceptual' | 'hierarchy' | 'alternative';
156
- export interface Synapse {
157
- id: string;
158
- nodes: [string, string];
159
- strength: number;
160
- type: SynapseType;
161
- context: string;
162
- co_access_count: number;
163
- last_co_access: string;
164
- }
165
- export interface SessionLog {
166
- session_id: string;
167
- date: string;
168
- duration_estimate: string;
169
- topics_touched: string[];
170
- summary: string;
171
- key_facts_added: number;
172
- decisions_made: number;
173
- new_neurons_created: number;
174
- synapses_updated: number;
175
- }
176
- /**
177
- * A pending item. Addressed by short id because resolving by exact string
178
- * match was unusable: real pending notes run to hundreds of characters with
179
- * quotes and paths inside, and no caller ever reproduced one byte-for-byte.
180
- */
181
- export interface PendingTask {
182
- id: string;
183
- text: string;
184
- added: string;
185
- closed?: string;
186
- }
187
- export interface ActiveContext {
188
- last_session: string;
189
- active_topics: string[];
190
- /** Open items. Strings are still accepted on read for v1 brains. */
191
- pending_tasks: Array<PendingTask | string>;
192
- /** Recently resolved items, newest first. Capped — this is a reminder, not a log. */
193
- recently_closed?: PendingTask[];
194
- last_updated: string;
195
- }
196
- export interface HotTopic {
197
- id: string;
198
- name: string;
199
- heat: number;
200
- last_access: string;
201
- domain: string;
202
- }
203
- export interface HotTopics {
204
- topics: HotTopic[];
205
- last_recalculated: string;
206
- }
207
- export interface Cluster {
208
- name: string;
209
- nodes: string[];
210
- summary: string;
211
- heat: number;
212
- }
213
- export interface Bridge {
214
- from: string;
215
- to: string;
216
- via: string[];
217
- context: string;
218
- }
219
- export interface GlobalMap {
220
- last_rebuilt: string;
221
- clusters: Cluster[];
222
- bridges: Bridge[];
223
- }
224
- export interface Manifest {
225
- version: string;
226
- created: string;
227
- owner: string;
228
- brain_path: string;
229
- total_neurons: number;
230
- total_synapses: number;
231
- total_sessions: number;
232
- last_boot: string | null;
233
- last_consolidation: string | null;
234
- /**
235
- * First boot of a CRBRO that knows shelf life. Facts that were never
236
- * verified, have no explicit shelf_life and predate it start their clock
237
- * near here instead, so an old brain does not turn "possibly stale" on
238
- * upgrade day. Inferred-volatile facts get that grace only when the brain
239
- * itself predates the stamp (`created` well before it: 2.9.1); a brain
240
- * born stamped flags them at once.
241
- */
242
- staleness_since?: string;
243
- }
244
- export interface ProtocolDirective {
245
- id: string;
246
- name: string;
247
- priority: number;
248
- instructions: string;
249
- source: string;
250
- }
251
- export interface BootResult {
252
- status: 'ok' | 'initialized' | 'error';
253
- total_neurons: number;
254
- total_synapses: number;
255
- total_sessions: number;
256
- hot_topics: HotTopic[];
257
- last_session: string | null;
258
- active_context: ActiveContext | null;
259
- active_protocols: ProtocolDirective[];
260
- /** Open items, so a fresh session does not have to rediscover them. */
261
- open_items?: PendingTask[];
262
- /** Items closed recently, so a stale to-do list is not repeated back. */
263
- recently_closed?: PendingTask[];
264
- /**
265
- * Tools removed in 2.0 → what replaces each one. Filled by the server,
266
- * not by Brain.boot(), and served on every boot for the whole 2.x line so
267
- * a client with an older card can find its way.
268
- */
269
- retired_tools?: Record<string, string>;
270
- /** The last few session logs, newest first. Filled by the server. */
271
- recent_sessions?: SessionLog[];
272
- message: string;
273
- }
274
- export interface SearchResult {
275
- neuron_id: string;
276
- name: string;
277
- domain: string;
278
- relevance_score: number;
279
- /** The chunk that actually matched — not the neuron summary. */
280
- matching_content: string;
281
- /** What kind of chunk matched: header | fact | decision | pattern | preference | error | map. */
282
- matched_kind?: string;
283
- /** When that chunk was recorded, so callers can prefer recent knowledge. */
284
- matched_added?: string;
285
- /**
286
- * The handle for "read this one in full": the same hash the neuron index
287
- * (crbro_inspect view=neuron) and the retirement sidecars use, so a hit
288
- * becomes `entries=[entry_id]` instead of a whole-neuron dump. Absent for
289
- * the header chunk, which is identity, not an entry.
290
- */
291
- entry_id?: string;
292
- heat: number;
293
- /** The neuron keeps a system map — read it with crbro_map before working on this system. */
294
- has_map?: boolean;
295
- /** How many of the query's terms the matching chunk covered, out of how many. */
296
- matched_terms?: number;
297
- query_terms?: number;
298
- /**
299
- * strong = the chunk covers at least half the query (two terms or more when
300
- * the query has several); weak = a thin overlap that may well be unrelated.
301
- * A keyword memory returns *something* for most questions; this says how
302
- * much to trust it.
303
- */
304
- confidence?: 'strong' | 'weak';
305
- /** Cosine similarity from the opt-in semantic layer, when it saw this chunk. */
306
- semantic_score?: number;
307
- /**
308
- * The next best live chunks of the same neuron, for the top results only —
309
- * one neuron can answer with more than one line, and the line you need is
310
- * not always the one that scored highest.
311
- */
312
- also_matched?: Array<{
313
- entry_id?: string;
314
- kind: string;
315
- added: string;
316
- preview: string;
317
- chars: number;
318
- origin?: string;
319
- by?: string;
320
- stale_days?: number;
321
- }>;
322
- /**
323
- * How the winning entry stands against its shelf life. Filled by the
324
- * search engine when staleness is on; the server moves a row whose entry
325
- * is past its window to `possibly_stale` and strips this field from every
326
- * row, so it never reaches a client as such.
327
- */
328
- staleness?: {
329
- stale: boolean;
330
- age_days: number;
331
- last_verified: string;
332
- shelf_life: ShelfLife;
333
- shelf_inferred: boolean;
334
- shelf_reason?: string;
335
- age_from?: string;
336
- };
337
- /**
338
- * Where the matching entry came from, set ONLY when it is not the user's
339
- * own (2.7): 'team:<space>' for a line a teammate wrote, 'miner' for the
340
- * background miner ('import' only if a caller passes that source; no shipped writer does). Absent === own.
341
- */
342
- origin?: string;
343
- /** With origin team:…, the teammate who wrote it, when known. */
344
- by?: string;
345
- }
346
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW,CAAC;AAE/D,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAGf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,gHAAgH;AAChH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAExE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAGlB,mEAAmE;IACnE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAEpG;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC/C;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;;OAIG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAID,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,GAAG,aAAa,CAAC;AAE5G,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACxB;AAID,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAID;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,oEAAoE;IACpE,aAAa,EAAE,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;IAC3C,qFAAqF;IACrF,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAID,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,IAAI,GAAG,aAAa,GAAG,OAAO,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,uEAAuE;IACvE,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,yEAAyE;IACzE,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;IAChC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,qEAAqE;IACrE,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,gBAAgB,EAAE,MAAM,CAAC;IACzB,iGAAiG;IACjG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC/B,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5J;;;;;OAKG;IACH,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,SAAS,CAAC;QACtB,cAAc,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,8CAA8C"}
@@ -1,44 +0,0 @@
1
- /** What was cut, always reported inside the payload itself. */
2
- export interface BudgetReport {
3
- reason: string;
4
- budget_chars: number;
5
- original_chars: number;
6
- returned_chars: number;
7
- /** Long strings shortened, by path — each keeps its first `string_cap` chars. */
8
- texts_shortened?: Record<string, {
9
- returned: number;
10
- total: number;
11
- }>;
12
- /** Arrays cut short, by path. */
13
- entries_dropped?: Record<string, {
14
- returned: number;
15
- total: number;
16
- }>;
17
- how_to_get_more?: string;
18
- }
19
- export interface BudgetOptions {
20
- /** Ceiling for the serialized payload, in characters. */
21
- budget?: number;
22
- /** Strings longer than this are shortened first. */
23
- stringCap?: number;
24
- /** Told to the caller verbatim: the call that returns what was cut. */
25
- howToGetMore?: string;
26
- /** Keys never shortened or dropped, whatever the size (protocol blocks). */
27
- keep?: string[];
28
- }
29
- export declare const DEFAULT_BUDGET_CHARS = 24000;
30
- export declare const DEFAULT_STRING_CAP = 1200;
31
- /**
32
- * Shorten a payload until it fits, describing every cut.
33
- *
34
- * Two passes, cheapest first:
35
- * 1. long strings (a session summary, a fact body) keep their opening and
36
- * say how much was left behind — the opening is where the headline is;
37
- * 2. if that is not enough, arrays lose entries from the end, newest kept,
38
- * never below one entry, largest array first.
39
- *
40
- * Returns the same object when it already fits, so the common path costs
41
- * one JSON.stringify and nothing else.
42
- */
43
- export declare function fitToBudget<T>(payload: T, opts?: BudgetOptions): T;
44
- //# sourceMappingURL=budget.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../src/utils/budget.ts"],"names":[],"mappings":"AAkBA,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,iCAAiC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAC3C,eAAO,MAAM,kBAAkB,OAAQ,CAAC;AAaxC;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,GAAE,aAAkB,GAAG,CAAC,CA8EtE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/utils/budget.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- /**
2
- * Safely read and parse a JSON file. Returns null if file doesn't exist.
3
- * Never throws on missing file — only on corrupted JSON.
4
- */
5
- export declare function readJSON<T>(filePath: string): Promise<T | null>;
6
- /**
7
- * Write JSON to file atomically (write to temp, then rename).
8
- * Creates parent directories if they don't exist.
9
- */
10
- export declare function writeJSON<T>(filePath: string, data: T, options?: {
11
- pretty?: boolean;
12
- }): Promise<void>;
13
- /**
14
- * Check if a file exists.
15
- */
16
- export declare function fileExists(filePath: string): Promise<boolean>;
17
- /**
18
- * Read a JSON file, let the caller change it, and write it back — all while
19
- * holding the file's lock, so a concurrent writer cannot slip in between the
20
- * read and the write.
21
- *
22
- * This is the fix for silent data loss: every mutation used to read the whole
23
- * neuron, edit it in memory and save it, so with two editors open the later
24
- * save erased whatever the other one had added. Measured before the lock: 80
25
- * facts requested across two processes, 42 survived, no errors reported.
26
- *
27
- * The mutator returns the value to write, or null to leave the file alone.
28
- */
29
- export declare function updateJSON<T>(filePath: string, mutate: (current: T | null) => Promise<T | null> | T | null): Promise<T | null>;
30
- /**
31
- * Last modification time of a file, in milliseconds. 0 if it does not exist.
32
- */
33
- export declare function fileMtime(filePath: string): Promise<number>;
34
- /**
35
- * Most recent modification time among the files of a directory, in
36
- * milliseconds. Used to tell whether a derived file has fallen behind.
37
- */
38
- export declare function newestMtime(dirPath: string): Promise<number>;
39
- /**
40
- * List all JSON files in a directory. Returns filenames without extension.
41
- */
42
- export declare function listJSONFiles(dirPath: string): Promise<string[]>;
43
- /**
44
- * Delete a JSON file. Returns true if deleted, false if didn't exist.
45
- */
46
- export declare function deleteJSON(filePath: string): Promise<boolean>;
47
- /**
48
- * Move a file from one location to another.
49
- */
50
- export declare function moveFile(from: string, to: string): Promise<void>;
51
- /**
52
- * Get the current date as ISO string (date only).
53
- */
54
- export declare function today(): string;
55
- /**
56
- * Get the current datetime as ISO string.
57
- */
58
- export declare function now(): string;
59
- //# sourceMappingURL=fs.d.ts.map