dotmem 0.0.9 → 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.
- package/AGENTS.md +1 -1
- package/DOTMEM.md +538 -539
- package/MEMORY.md +4 -4
- package/PACKAGE.md +1 -1
- package/README.md +250 -199
- package/agent.cjs +13 -0
- package/agent.js +13 -0
- package/bin/cli.cjs +5 -0
- package/bin/cli.js +5 -0
- package/bin/mcp.cjs +5 -0
- package/bin/mcp.js +5 -0
- package/cli.cjs +27 -6
- package/cli.js +27 -6
- package/global.cjs +30 -5
- package/global.js +30 -5
- package/index.cjs +30 -5
- package/index.js +30 -5
- package/llms.txt +2 -2
- package/mcp.cjs +31 -6
- package/mcp.js +31 -6
- package/package.json +1 -1
package/MEMORY.md
CHANGED
|
@@ -98,7 +98,7 @@ Resolution precedence:
|
|
|
98
98
|
persisted by itself.
|
|
99
99
|
2. **User locator** — `dotmem.location.json` (location metadata only) inside the stable
|
|
100
100
|
user anchor.
|
|
101
|
-
3. **Default user-scoped storage** — the user anchor itself: `<user-home>/.
|
|
101
|
+
3. **Default user-scoped storage** — the user anchor itself: `<user-home>/.dotmem`
|
|
102
102
|
(the platform-neutral canonical form; see the OS examples below), resolved from the
|
|
103
103
|
current runtime.
|
|
104
104
|
|
|
@@ -124,14 +124,14 @@ reports completion; the locator never points at a location whose data has not be
|
|
|
124
124
|
migrated and verified. The same verification applies to `restore` before the locator is
|
|
125
125
|
removed.
|
|
126
126
|
|
|
127
|
-
**Canonical form, platform-neutral.** The user anchor is written `<user-home>/.
|
|
127
|
+
**Canonical form, platform-neutral.** The user anchor is written `<user-home>/.dotmem`
|
|
128
128
|
everywhere in this documentation. It resolves at runtime to the current OS user's home:
|
|
129
129
|
|
|
130
130
|
```text
|
|
131
131
|
Example (OS-specific, illustrative only):
|
|
132
132
|
Windows: C:\Users\<user>\.mem
|
|
133
|
-
Linux: /home/<user>/.
|
|
134
|
-
macOS: /Users/<user>/.
|
|
133
|
+
Linux: /home/<user>/.dotmem
|
|
134
|
+
macOS: /Users/<user>/.dotmem
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
The runtime resolves the actual home directory from the OS/environment; no hardcoded
|
package/PACKAGE.md
CHANGED
|
@@ -21,7 +21,7 @@ and are never bundled).
|
|
|
21
21
|
| Item | Where it lives |
|
|
22
22
|
| --- | --- |
|
|
23
23
|
| Project history | `.project/project_history.md` (inside the repository, not published) |
|
|
24
|
-
| Acquired memory (`.mem` packages) | User storage root (`DOTMEM_STORAGE_ROOT` or `<user-home>/.
|
|
24
|
+
| Acquired memory (`.mem` packages) | User storage root (`DOTMEM_STORAGE_ROOT` or `<user-home>/.dotmem`), created at runtime |
|
|
25
25
|
|
|
26
26
|
## Quick start
|
|
27
27
|
|
package/README.md
CHANGED
|
@@ -1,200 +1,251 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-

|
|
4
|
-
|
|
5
|
-
AI memory and continuity infrastructure for agents and applications.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
- **
|
|
18
|
-
- **
|
|
19
|
-
- **
|
|
20
|
-
- **
|
|
21
|
-
- **
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
Dotmem is the active owner of memory, continuity, profiles, agents, and MCP capabilities. It is not a wrapper around an external memory service. MCP is an access interface, not the core.
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Install
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
npm i dotmem
|
|
33
|
-
# or
|
|
34
|
-
bun i dotmem
|
|
35
|
-
# or
|
|
36
|
-
pnpm i dotmem
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Requires Node.js >= 18.0.0.
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## Quick Start
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
await
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
1
|
+
# dotmem (.mem)
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
AI memory and continuity infrastructure for agents and applications.
|
|
6
|
+
|
|
7
|
+
Dotmem provides structured, queryable, policy-controlled memory for AI agents. It supports experience acquisition, bounded context projection, continuity across sessions, rule-based reasoning, and MCP integration. The memory substrate is independent of a specific model, vendor, host, or conversational client.
|
|
8
|
+
|
|
9
|
+
> **Retrieval model**: dotmem uses deterministic lexical/structured retrieval with applicability-based eligibility. It does not use embeddings, vector indexes, or semantic similarity search. The term "AI-oriented" refers to the memory lifecycle and API design (acquisition with evidence/provenance, applicability scoping, policy-gated writes, context projection for LLM consumption), not the underlying retrieval algorithm. For semantic/vector search, pair dotmem with a dedicated embedding store.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## What Dotmem is
|
|
14
|
+
|
|
15
|
+
- **Acquired experience**: evidenced, applicability-scoped claims via `discover`, `project`, and `acquire`.
|
|
16
|
+
- **Application memory**: typed key/value entries via `remember`, `recall`, `update`, `forget`, and `patch`.
|
|
17
|
+
- **Continuity**: snapshots, checkpoints, compaction, and open loops across sessions.
|
|
18
|
+
- **Policy**: separate authority domain with tiered enforcement and privileged out-of-band overrides.
|
|
19
|
+
- **Agent namespaces**: logically partitioned memory via `dotmem/agent`.
|
|
20
|
+
- **Notes and profiles**: short-lived notes and read-only built-in profiles (including the optional Joy profile).
|
|
21
|
+
- **MCP and CLI**: stdio MCP server (`dotmem-mcp`) and command-line tools.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
Dotmem is the active owner of memory, continuity, profiles, agents, and MCP capabilities. It is not a wrapper around an external memory service. MCP is an access interface, not the core.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Install
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm i dotmem
|
|
33
|
+
# or
|
|
34
|
+
bun i dotmem
|
|
35
|
+
# or
|
|
36
|
+
pnpm i dotmem
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Requires Node.js >= 18.0.0.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Quick Start (continuos chat)
|
|
44
|
+
|
|
45
|
+
### Install dotmem global
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
npm i -g dotmem memorio
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
### See MCP section or
|
|
52
|
+
|
|
53
|
+
```chat
|
|
54
|
+
npx -y -p dotmem dotmem-mcp
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Quick Start (coding)
|
|
59
|
+
|
|
60
|
+
The runtime initializes lazily on first call; no explicit `init()` is required.
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
63
|
+
import { memory } from 'dotmem'
|
|
64
|
+
|
|
65
|
+
// Discover relevant acquired experience for a situation
|
|
66
|
+
const discovery = await memory.discover('User needs a language recommendation for a new project', {
|
|
67
|
+
depth: 'current',
|
|
68
|
+
maxCandidates: 10
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
// Project a bounded context from discovered claims
|
|
72
|
+
const projection = memory.project(discovery, { maxCandidates: 5, maxCharacters: 4000 })
|
|
73
|
+
console.info(projection.text)
|
|
74
|
+
|
|
75
|
+
// Acquire durable experience (persists across restarts via .mem files)
|
|
76
|
+
await memory.acquire({
|
|
77
|
+
id: 'user.language-preference',
|
|
78
|
+
knowledge: { language: 'TypeScript' },
|
|
79
|
+
applicability: { area: 'language-selection' },
|
|
80
|
+
evidence: [{ id: 'conv-001', source: 'conversation', observedAt: new Date().toISOString() }],
|
|
81
|
+
epistemicType: 'observed'
|
|
82
|
+
})
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
For agent-namespaced memory, use the `dotmem/agent` subpath:
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
import { createAgentMemory } from 'dotmem/agent'
|
|
89
|
+
|
|
90
|
+
const agent = createAgentMemory('support-agent')
|
|
91
|
+
await agent.remember('greeting', 'Hello! How can I help?', {
|
|
92
|
+
type: 'fact',
|
|
93
|
+
confidence: 0.9,
|
|
94
|
+
scope: 'local',
|
|
95
|
+
tags: ['greeting']
|
|
96
|
+
})
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
> `remember()` with scope `durable` uses IndexedDB and is browser-only. For Node/Bun, use `memory.acquire()`. See [MEMORY.md](./MEMORY.md) for scope details.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Core capabilities
|
|
104
|
+
|
|
105
|
+
- `memory.discover`, `memory.context`, `memory.project` — retrieval and bounded context projection.
|
|
106
|
+
- `memory.acquire`, `memory.acquireStaged` — evidenced acquisition with policy evaluation.
|
|
107
|
+
- `memory.remember`, `memory.recall`, `memory.update`, `memory.forget`, `memory.patch` — application memory.
|
|
108
|
+
- `memory.journal`, `memory.note`, `memory.profile`, `memory.seed`, `memory.policy`, `memory.brain` — sub-facades.
|
|
109
|
+
- `continuity` — snapshots, checkpoints, compaction, open loops.
|
|
110
|
+
- `security`, `encryption` — RBAC/audit/consent and AES-GCM + PBKDF2 helpers.
|
|
111
|
+
- Foundation re-exports: `state`, `store`, `session`, `idb`, `dispatch`, `hlc`.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Layers
|
|
116
|
+
|
|
117
|
+
Dotmem exposes **6 user-facing layers** through its public entry points. `knowledge` and `logic` are not public runtime exports (`logic` is experimental/unverified and not exported; `knowledge` is internal). `profile` is available via `memory.profile.get(id)` and its stability depends on the package semver contract.
|
|
118
|
+
|
|
119
|
+
| Layer | Availability | Purpose |
|
|
120
|
+
|-------|--------------|---------|
|
|
121
|
+
| **memory** | `dotmem` (main) | Key/value memory, acquisition lifecycle, journal, and sub-facades |
|
|
122
|
+
| **continuity** | `dotmem` (main) | USER + PROJECT + TASK context composition, snapshots, open loops |
|
|
123
|
+
| **agent** | `dotmem/agent` (subpath) | Agent-facing memory with logical namespace partitioning |
|
|
124
|
+
| **policy** | `memory.policy` | Policy definition, authority management, three-tier enforcement |
|
|
125
|
+
| **profile** | `memory.profile.get(id)` | Identity and persona documents (read-only built-in profiles, including Joy) |
|
|
126
|
+
| **note** | `memory.note` | Short-lived notes with tags and origins |
|
|
127
|
+
|
|
128
|
+
### Internal / infrastructure
|
|
129
|
+
|
|
130
|
+
| Layer | Purpose | Notes |
|
|
131
|
+
|-------|---------|-------|
|
|
132
|
+
| **seed** | Development-only initial memory seed | `--dev` required |
|
|
133
|
+
| **llm-cache** | LLM response cache types only; no verified runtime implementation | `types/llm-cache.d.ts` |
|
|
134
|
+
|
|
135
|
+
> Dotmem re-exports foundational infrastructure: `state` (reactive state), `store` (key/value storage), `idb` (IndexedDB), and `sqlite` (SQL database integration). These are lower-level utilities, not additional AI memory layers.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Retrieval model
|
|
140
|
+
|
|
141
|
+
dotmem uses **deterministic, verifiable retrieval** without embedding-model dependencies:
|
|
142
|
+
|
|
143
|
+
- Lexical/structured matching with applicability-based eligibility.
|
|
144
|
+
- No embeddings, vector indexes, or semantic similarity search.
|
|
145
|
+
- Results are reproducible given the same store and query.
|
|
146
|
+
|
|
147
|
+
"AI-oriented" refers to the memory lifecycle and API design (acquisition with evidence/provenance, applicability scoping, policy-gated writes, context projection for LLM consumption), not the underlying retrieval algorithm. For semantic/vector search, pair dotmem with a dedicated embedding store.
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## MCP server
|
|
152
|
+
|
|
153
|
+
`dotmem-mcp` is the stdio MCP server. It runs on the operator's machine so a connected AI host and the terminal share the same store. Write access is gated by `DOTMEM_MCP_WRITE=1`.
|
|
154
|
+
|
|
155
|
+
Canonical launch command (use this form in all configurations):
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
npx -y -p dotmem-mcp
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Claude Desktop
|
|
162
|
+
|
|
163
|
+
```json
|
|
164
|
+
{
|
|
165
|
+
"mcpServers": {
|
|
166
|
+
"dotmem": {
|
|
167
|
+
"command": "npx",
|
|
168
|
+
"args": ["-y", "-p", "dotmem-mcp"],
|
|
169
|
+
"env": { "DOTMEM_MCP_WRITE": "1" }
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Claude Code
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
claude mcp add --env DOTMEM_MCP_WRITE=1 --transport stdio dotmem -- npx -y -p dotmem-mcp
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Kilo / OpenCode
|
|
182
|
+
|
|
183
|
+
```jsonc
|
|
184
|
+
"mcp": {
|
|
185
|
+
"dotmem": {
|
|
186
|
+
"type": "local",
|
|
187
|
+
"command": ["npx", "-y", "-p", "dotmem-mcp"],
|
|
188
|
+
"enabled": true,
|
|
189
|
+
"environment": { "DOTMEM_MCP_WRITE": "1" }
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Windows Command Prompt (cmd.exe)
|
|
195
|
+
|
|
196
|
+
In Windows `cmd.exe`, `npx` may not be directly executable as a command. Use `cmd /c npx`:
|
|
197
|
+
|
|
198
|
+
```json
|
|
199
|
+
{
|
|
200
|
+
"mcpServers": {
|
|
201
|
+
"dotmem": {
|
|
202
|
+
"command": "cmd",
|
|
203
|
+
"args": ["/c", "npx", "-y", "-p", "dotmem-mcp"],
|
|
204
|
+
"env": { "DOTMEM_MCP_WRITE": "1" }
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
See [MEMORY.md](./MEMORY.md) for the full tool list and write-gating details.
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Optional Joy identity
|
|
215
|
+
|
|
216
|
+
Dotmem core is model- and persona-independent. Joy/Jo is an optional agent identity and profile. See [docs/JOY.md](./JOY.md) for activation (exact phrase only), discovery order, and the optional profile.
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Documentation
|
|
221
|
+
|
|
222
|
+
| Document | Description |
|
|
223
|
+
|----------|-------------|
|
|
224
|
+
| [MEMORY.md](./MEMORY.md) | Full memory model: acquisition contract, policy language, epistemic typing, enforcement, continuity, identity |
|
|
225
|
+
| [AGENTS.md](./AGENTS.md) | AI agent working rules, activation phrases, complete `memory.*` surface |
|
|
226
|
+
| [SECURITY.md](./SECURITY.md) | Encryption, multitenancy, key management, trust model, JHF, sandbox |
|
|
227
|
+
| [JOY.md](./JOY.md) | Optional Joy identity, activation matching, discovery order |
|
|
228
|
+
| [PACKAGE.md](./PACKAGE.md) | Package contents, full quick-start, dependency graph |
|
|
229
|
+
| [LICENSE.md](./LICENSE.md) | License |
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Compatibility
|
|
234
|
+
|
|
235
|
+
**License**: MIT (SPDX: `MIT`)
|
|
236
|
+
|
|
237
|
+
**Supported runtimes**:
|
|
238
|
+
- Node.js >= 18.0.0 (declared in `package.json` engines)
|
|
239
|
+
- Bun >= 1.0 (tested in CI)
|
|
240
|
+
- Browser (ES2020+ with IndexedDB, localStorage, sessionStorage)
|
|
241
|
+
- Deno (compatible, not routinely tested)
|
|
242
|
+
|
|
243
|
+
**Tested in CI**: Node.js 20.x, 22.x; Bun 1.x
|
|
244
|
+
|
|
245
|
+
**Note**: The `durable` scope in `memory.remember()` uses IndexedDB and is browser-only. For cross-restart persistence in Node/Bun, use `memory.acquire()` which writes `.mem` package files. The `store` and `session` layers fall back to in-memory `Map`s in Node/Bun/Deno and do not survive process restarts.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## License
|
|
250
|
+
|
|
200
251
|
MIT (c) 2026 Dario Passariello.
|
package/agent.cjs
CHANGED
|
@@ -18,6 +18,18 @@ var __export = (target, all) => {
|
|
|
18
18
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
+
// suppress-idb-warning.ts
|
|
22
|
+
var orig;
|
|
23
|
+
var init_suppress_idb_warning = __esm({
|
|
24
|
+
"suppress-idb-warning.ts"() {
|
|
25
|
+
orig = console.warn.bind(console);
|
|
26
|
+
console.warn = (...args) => {
|
|
27
|
+
if (typeof args[0] === "string" && args[0].includes("IndexedDB is not available")) return;
|
|
28
|
+
orig(...args);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
|
|
21
33
|
// core/idb.ts
|
|
22
34
|
var idb;
|
|
23
35
|
var init_idb = __esm({
|
|
@@ -46,6 +58,7 @@ __export(global_exports, {
|
|
|
46
58
|
var getPlatform;
|
|
47
59
|
var init_global = __esm({
|
|
48
60
|
"core/global.ts"() {
|
|
61
|
+
init_suppress_idb_warning();
|
|
49
62
|
init_idb();
|
|
50
63
|
getPlatform = /* @__PURE__ */ __name(() => {
|
|
51
64
|
const proc = globalThis.process;
|
package/agent.js
CHANGED
|
@@ -16,6 +16,18 @@ var __export = (target, all) => {
|
|
|
16
16
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
+
// suppress-idb-warning.ts
|
|
20
|
+
var orig;
|
|
21
|
+
var init_suppress_idb_warning = __esm({
|
|
22
|
+
"suppress-idb-warning.ts"() {
|
|
23
|
+
orig = console.warn.bind(console);
|
|
24
|
+
console.warn = (...args) => {
|
|
25
|
+
if (typeof args[0] === "string" && args[0].includes("IndexedDB is not available")) return;
|
|
26
|
+
orig(...args);
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
|
|
19
31
|
// core/idb.ts
|
|
20
32
|
var idb;
|
|
21
33
|
var init_idb = __esm({
|
|
@@ -44,6 +56,7 @@ __export(global_exports, {
|
|
|
44
56
|
var getPlatform;
|
|
45
57
|
var init_global = __esm({
|
|
46
58
|
"core/global.ts"() {
|
|
59
|
+
init_suppress_idb_warning();
|
|
47
60
|
init_idb();
|
|
48
61
|
getPlatform = /* @__PURE__ */ __name(() => {
|
|
49
62
|
const proc = globalThis.process;
|
package/bin/cli.cjs
CHANGED
|
@@ -9,6 +9,11 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
9
9
|
|
|
10
10
|
var process__default = /*#__PURE__*/_interopDefault(process);
|
|
11
11
|
|
|
12
|
+
var __origWarn = console.warn.bind(console);
|
|
13
|
+
console.warn = (...args2) => {
|
|
14
|
+
if (typeof args2[0] === "string" && args2[0].includes("IndexedDB is not available")) return;
|
|
15
|
+
__origWarn(...args2);
|
|
16
|
+
};
|
|
12
17
|
var rawArgs = process__default.default.argv.slice(2);
|
|
13
18
|
var storageRootFlagIndex = rawArgs.indexOf("--storage-root");
|
|
14
19
|
var hasStorageRootFlag = storageRootFlagIndex !== -1;
|
package/bin/cli.js
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
import process from 'process';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
|
|
5
|
+
var __origWarn = console.warn.bind(console);
|
|
6
|
+
console.warn = (...args2) => {
|
|
7
|
+
if (typeof args2[0] === "string" && args2[0].includes("IndexedDB is not available")) return;
|
|
8
|
+
__origWarn(...args2);
|
|
9
|
+
};
|
|
5
10
|
var rawArgs = process.argv.slice(2);
|
|
6
11
|
var storageRootFlagIndex = rawArgs.indexOf("--storage-root");
|
|
7
12
|
var hasStorageRootFlag = storageRootFlagIndex !== -1;
|
package/bin/mcp.cjs
CHANGED
|
@@ -7,6 +7,11 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
7
7
|
|
|
8
8
|
var process__default = /*#__PURE__*/_interopDefault(process);
|
|
9
9
|
|
|
10
|
+
var __origWarn = console.warn.bind(console);
|
|
11
|
+
console.warn = (...args) => {
|
|
12
|
+
if (typeof args[0] === "string" && args[0].includes("IndexedDB is not available")) return;
|
|
13
|
+
__origWarn(...args);
|
|
14
|
+
};
|
|
10
15
|
var nodeMajorVersion = Number.parseInt(process__default.default.versions.node.split(".")[0] ?? "", 10);
|
|
11
16
|
if (!Number.isInteger(nodeMajorVersion) || nodeMajorVersion < 20) {
|
|
12
17
|
console.error("dotmem-mcp requires Node.js >=20; the normal dotmem runtime remains compatible with its declared Node.js version.");
|
package/bin/mcp.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import process from 'process';
|
|
3
3
|
|
|
4
|
+
var __origWarn = console.warn.bind(console);
|
|
5
|
+
console.warn = (...args) => {
|
|
6
|
+
if (typeof args[0] === "string" && args[0].includes("IndexedDB is not available")) return;
|
|
7
|
+
__origWarn(...args);
|
|
8
|
+
};
|
|
4
9
|
var nodeMajorVersion = Number.parseInt(process.versions.node.split(".")[0] ?? "", 10);
|
|
5
10
|
if (!Number.isInteger(nodeMajorVersion) || nodeMajorVersion < 20) {
|
|
6
11
|
console.error("dotmem-mcp requires Node.js >=20; the normal dotmem runtime remains compatible with its declared Node.js version.");
|