dotmem 0.0.7 → 0.0.8
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 +66 -16
- package/DOTMEM.md +539 -41
- package/LICENSE.md +4 -16
- package/MEMORY.md +99 -11
- package/PACKAGE.md +1 -3
- package/README.md +417 -347
- package/SECURITY.md +12 -9
- package/agent.cjs +16 -4
- package/agent.js +16 -4
- package/cli.cjs +3995 -4671
- package/cli.js +3653 -4263
- package/env.cjs +6 -0
- package/env.js +4 -0
- package/global.cjs +49 -44
- package/global.d.ts +13 -14
- package/global.js +41 -25
- package/index.cjs +1465 -21195
- package/index.js +1437 -21176
- package/llms.txt +42 -36
- package/mcp.cjs +1747 -36854
- package/mcp.js +1730 -36833
- package/package.json +5 -7
- package/types/exports.d.ts +297 -304
- package/COPYRIGHT.md +0 -4
- package/types/bun-sqlite.d.ts +0 -14
package/SECURITY.md
CHANGED
|
@@ -8,7 +8,7 @@ This document covers dotmem's optional encryption layer, client-side multitenanc
|
|
|
8
8
|
|
|
9
9
|
This applies to every layer: `state`, `store`, `session`, `idb`, `memory`, `sqlite`. Treat browser storage as client-controlled unless you explicitly opt in.
|
|
10
10
|
|
|
11
|
-
Core
|
|
11
|
+
Core declares no production dependencies in package.json. `memorio` is listed under devDependencies, but the built ESM/CJS output imports it as an external runtime module; a published install therefore needs `memorio` available unless packaging changes. No `eval`, no dynamic code execution, no bundled telemetry, sanitized keys, validated inputs, bounded journal entries, UUID-based session identifiers. Independently checkable via Socket.dev / Snyk. (The optional MCP stdio entrypoint is the one declared-dependency surface: `zod` and `@modelcontextprotocol/server`.)
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -191,9 +191,12 @@ machine.
|
|
|
191
191
|
|
|
192
192
|
- `dotmem_acquire` is registered only when the server environment sets
|
|
193
193
|
`DOTMEM_MCP_WRITE=1`.
|
|
194
|
-
-
|
|
195
|
-
`
|
|
196
|
-
|
|
194
|
+
- `dotmem_continuity` write actions (`checkpoint`, `add-open-loop`,
|
|
195
|
+
`resolve-open-loop`) require `DOTMEM_MCP_WRITE=1`. Read actions
|
|
196
|
+
(`status`, `summaries`, `open-loops`, `evaluate`) are always available.
|
|
197
|
+
- Without the flag, the server exposes `dotmem_context`, `dotmem_rules`,
|
|
198
|
+
and `dotmem_continuity` (read actions only). The write tools are not in
|
|
199
|
+
`tools/list`, and calling them by name answers `Tool <name> not found`.
|
|
197
200
|
- The flag is read once, when the server starts. Changing it requires
|
|
198
201
|
restarting the server.
|
|
199
202
|
- The library API (`memory.acquire()`) and the CLI (`npx dotmem acquire`)
|
|
@@ -289,7 +292,7 @@ relaxation *attributable*, not undetectable-by-absence.
|
|
|
289
292
|
|
|
290
293
|
## Supply chain
|
|
291
294
|
|
|
292
|
-
-
|
|
295
|
+
- Declared production dependencies: none in the root package.json; `memorio` is a devDependency. The built output imports `memorio` as an external runtime module, so it must be available to a published install unless packaging changes. Do not infer zero runtime dependencies from package.json alone.
|
|
293
296
|
- Dev dependencies are audited periodically (`npm audit` and equivalent).
|
|
294
297
|
- Package integrity is checkable independently via Socket.dev / Snyk before you adopt a given version.
|
|
295
298
|
|
|
@@ -469,10 +472,10 @@ npx dotmem handshake --bind-hi "<user name>" --scope "<scope>"
|
|
|
469
472
|
### Identity fusion protection
|
|
470
473
|
|
|
471
474
|
dotmem detects attempts to fuse an identity with implementation metadata into
|
|
472
|
-
pseudo-identities (e.g. `Joy`, `HI`, `Jo-profile`). The
|
|
473
|
-
canonical identity is preserved; fused forms
|
|
474
|
-
Host, provider, runtime, and model names are
|
|
475
|
-
become the conversational identity or authority.
|
|
475
|
+
pseudo-identities (e.g. `Joy-profile`, `HI`, `Jo-profile`). The
|
|
476
|
+
canonical identity (`Joy`/`Jo` from the canonical profile) is preserved; fused forms
|
|
477
|
+
are never accepted as an identity. Host, provider, runtime, and model names are
|
|
478
|
+
implementation metadata and never become the conversational identity or authority.
|
|
476
479
|
|
|
477
480
|
### JHF remediation principles
|
|
478
481
|
|
package/agent.cjs
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('memorio/global');
|
|
4
3
|
var memorio = require('memorio');
|
|
5
4
|
|
|
6
5
|
var __defProp = Object.defineProperty;
|
|
@@ -19,15 +18,27 @@ var __export = (target, all) => {
|
|
|
19
18
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
20
19
|
};
|
|
21
20
|
|
|
21
|
+
// core/idb.ts
|
|
22
|
+
var idb;
|
|
23
|
+
var init_idb = __esm({
|
|
24
|
+
"core/idb.ts"() {
|
|
25
|
+
idb = {
|
|
26
|
+
db: {},
|
|
27
|
+
table: {},
|
|
28
|
+
data: {},
|
|
29
|
+
_disabled: true,
|
|
30
|
+
_warning: "IndexedDB is not available in this environment. Use dotmem store or session for persistence."
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
|
|
22
35
|
// core/global.ts
|
|
23
36
|
var global_exports = {};
|
|
24
37
|
__export(global_exports, {
|
|
25
|
-
DEV: () => memorio.DEV,
|
|
26
|
-
PROD: () => memorio.PROD,
|
|
27
38
|
dispatch: () => memorio.dispatch,
|
|
28
39
|
getPlatform: () => getPlatform,
|
|
29
40
|
hlc: () => memorio.hlc,
|
|
30
|
-
idb: () =>
|
|
41
|
+
idb: () => idb,
|
|
31
42
|
session: () => memorio.session,
|
|
32
43
|
state: () => memorio.state,
|
|
33
44
|
store: () => memorio.store
|
|
@@ -35,6 +46,7 @@ __export(global_exports, {
|
|
|
35
46
|
var getPlatform;
|
|
36
47
|
var init_global = __esm({
|
|
37
48
|
"core/global.ts"() {
|
|
49
|
+
init_idb();
|
|
38
50
|
getPlatform = /* @__PURE__ */ __name(() => {
|
|
39
51
|
const proc = globalThis.process;
|
|
40
52
|
if (proc) {
|
package/agent.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import 'memorio
|
|
2
|
-
import { store, state, session, idb, hlc, dispatch, PROD, DEV } from 'memorio';
|
|
1
|
+
import { store, state, session, hlc, dispatch } from 'memorio';
|
|
3
2
|
|
|
4
3
|
var __defProp = Object.defineProperty;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -17,11 +16,23 @@ var __export = (target, all) => {
|
|
|
17
16
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
18
17
|
};
|
|
19
18
|
|
|
19
|
+
// core/idb.ts
|
|
20
|
+
var idb;
|
|
21
|
+
var init_idb = __esm({
|
|
22
|
+
"core/idb.ts"() {
|
|
23
|
+
idb = {
|
|
24
|
+
db: {},
|
|
25
|
+
table: {},
|
|
26
|
+
data: {},
|
|
27
|
+
_disabled: true,
|
|
28
|
+
_warning: "IndexedDB is not available in this environment. Use dotmem store or session for persistence."
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
|
|
20
33
|
// core/global.ts
|
|
21
34
|
var global_exports = {};
|
|
22
35
|
__export(global_exports, {
|
|
23
|
-
DEV: () => DEV,
|
|
24
|
-
PROD: () => PROD,
|
|
25
36
|
dispatch: () => dispatch,
|
|
26
37
|
getPlatform: () => getPlatform,
|
|
27
38
|
hlc: () => hlc,
|
|
@@ -33,6 +44,7 @@ __export(global_exports, {
|
|
|
33
44
|
var getPlatform;
|
|
34
45
|
var init_global = __esm({
|
|
35
46
|
"core/global.ts"() {
|
|
47
|
+
init_idb();
|
|
36
48
|
getPlatform = /* @__PURE__ */ __name(() => {
|
|
37
49
|
const proc = globalThis.process;
|
|
38
50
|
if (proc) {
|