enigma-memory 0.1.0 → 0.1.2
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/README.md +367 -379
- package/apps/browser-extension/manifest.json +41 -0
- package/apps/browser-extension/src/background.js +88 -0
- package/apps/browser-extension/src/content-script.js +602 -0
- package/apps/browser-extension/src/native-bridge.js +289 -0
- package/apps/cli/bin/enigma.mjs +347 -2
- package/apps/desktop/src/tray.js +231 -0
- package/docs/browser-extension-install.md +169 -0
- package/docs/developer-ecosystem.md +74 -0
- package/docs/hosted-cloud-product.md +68 -0
- package/docs/installers-and-desktop.md +76 -0
- package/docs/memory-benchmarks.md +51 -0
- package/docs/sdk-api.md +181 -0
- package/examples/ci/github-actions.yml +63 -0
- package/examples/node-basic-memory.mjs +84 -0
- package/package.json +22 -1
- package/packages/connectors/src/index.js +274 -39
- package/packages/hosted-cloud/src/index.js +538 -0
- package/packages/mcp-server/src/index.js +1 -1
- package/scripts/build-installer-assets.mjs +273 -0
- package/scripts/package-browser-extension.mjs +473 -0
- package/scripts/run-memory-benchmarks.mjs +585 -0
- package/scripts/verify-registry-install.mjs +410 -0
- package/templates/mcp-client-config.json +10 -0
package/docs/sdk-api.md
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# SDK and API guide
|
|
2
|
+
|
|
3
|
+
This guide covers the public package imports for `enigma-memory@0.1.2`. The SDK runs locally by default: vaults, passports, context packs, receipts, relay/gateway demo state, storage contracts, metering artifacts, and settlement artifacts are package-level developer surfaces. They are not evidence of hosted Enigma cloud, provider-side deletion, provider model forgetting, token ROI, invoice savings, compliance certification, or benchmark leadership.
|
|
4
|
+
|
|
5
|
+
## Install and import style
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm install enigma-memory
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Use ESM imports and explicit subpaths when you know the surface you need:
|
|
12
|
+
|
|
13
|
+
```js
|
|
14
|
+
import { createVault, remember } from 'enigma-memory/vault';
|
|
15
|
+
import { createPassport, compileContextPack } from 'enigma-memory/passport';
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Package exports
|
|
19
|
+
|
|
20
|
+
### `enigma-memory`
|
|
21
|
+
|
|
22
|
+
The package root exports the core proof helpers. Use it for canonical JSON, hashes, signatures, receipt creation, receipt-chain verification, checkpoints, Merkle sets, and deterministic memory addresses.
|
|
23
|
+
|
|
24
|
+
```js
|
|
25
|
+
import { verifyReceiptChain, receiptHash, MerkleSet } from 'enigma-memory';
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### `enigma-memory/vault`
|
|
29
|
+
|
|
30
|
+
The vault module creates local encrypted vault state and proof-carrying exports. Memory text is local input. Full `exportBundle` output can include a local import keyring, so publish only reviewed public summaries, receipt reports, roots, commitments, or keyring-stripped artifacts; do not use vault exports to claim provider-side deletion or model forgetting.
|
|
31
|
+
|
|
32
|
+
```js
|
|
33
|
+
import { createVault, remember, exportBundle, importBundle } from 'enigma-memory/vault';
|
|
34
|
+
|
|
35
|
+
const vault = createVault({ subject_id: 'demo-subject' });
|
|
36
|
+
const remembered = remember({ vault, text: 'Demo project prefers local proof bundles.' });
|
|
37
|
+
const bundle = exportBundle({ vault });
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### `enigma-memory/passport`
|
|
41
|
+
|
|
42
|
+
The passport module describes vault ownership/scope and compiles receipt-backed context packs for authorized local retrieval.
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
import { createPassport, compileContextPack, verifyContextPack } from 'enigma-memory/passport';
|
|
46
|
+
|
|
47
|
+
const passport = createPassport({ vault, display_name: 'Demo Developer' });
|
|
48
|
+
const pack = compileContextPack({ vault, passport, query: 'project preference', limit: 1 });
|
|
49
|
+
const checked = verifyContextPack({ contextPack: pack, passport, vault, publicKey: bundle.keyring.publicKey });
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### `enigma-memory/optimizer`
|
|
53
|
+
|
|
54
|
+
The optimizer module builds deterministic, local memory-selection plans and plaintext-minimized access receipts. Token and cost helpers estimate from explicit inputs only; they do not prove ROI or provider invoice savings.
|
|
55
|
+
|
|
56
|
+
```js
|
|
57
|
+
import { createMemoryOptimizationPlan, createMemoryAccessReceipt, estimateTextTokens } from 'enigma-memory/optimizer';
|
|
58
|
+
|
|
59
|
+
const plan = createMemoryOptimizationPlan({
|
|
60
|
+
candidates: [{ address: remembered.memory_addr, content: 'Demo project prefers local proof bundles.' }],
|
|
61
|
+
prompt_tokens: estimateTextTokens('Current local app context'),
|
|
62
|
+
});
|
|
63
|
+
const receipt = createMemoryAccessReceipt({ item: plan.items[0], plan });
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### `enigma-memory/connectors`
|
|
67
|
+
|
|
68
|
+
The connectors module renders and manages local MCP client config for supported clients. It uses the `enigma-mcp` command and an `ENIGMA_BUNDLE` environment variable.
|
|
69
|
+
|
|
70
|
+
```js
|
|
71
|
+
import { supportedClients, renderMcpConfig, doctorConnectors } from 'enigma-memory/connectors';
|
|
72
|
+
|
|
73
|
+
const config = renderMcpConfig({ env: { ENIGMA_BUNDLE: './enigma-bundle.json' } });
|
|
74
|
+
const report = await doctorConnectors({ clientId: 'generic-mcp' });
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### `enigma-memory/mcp-server`
|
|
78
|
+
|
|
79
|
+
The MCP server module exposes descriptors, handlers, JSON-RPC handling, and a stdio server for local MCP clients.
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
import { toolDescriptors, handlers, handleJsonRpcRequest, startStdioServer } from 'enigma-memory/mcp-server';
|
|
83
|
+
|
|
84
|
+
const initTool = toolDescriptors.find((tool) => tool.name === 'enigma_init');
|
|
85
|
+
const reply = await handleJsonRpcRequest({ jsonrpc: '2.0', id: 1, method: 'tools/list' });
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### `enigma-memory/relay`
|
|
89
|
+
|
|
90
|
+
The relay module exposes a local relay witness service API and demo state helpers. Local relay state is useful for development and review, but it is not hosted-cloud durability evidence.
|
|
91
|
+
|
|
92
|
+
```js
|
|
93
|
+
import { createRelayState, createRelayServer, runRelayDemo } from 'enigma-memory/relay';
|
|
94
|
+
|
|
95
|
+
const state = createRelayState({ role: 'relay_witness' });
|
|
96
|
+
const server = createRelayServer({ state });
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### `enigma-memory/gateway`
|
|
100
|
+
|
|
101
|
+
The gateway module exposes a local policy gateway service API and demo state helpers. Local gateway decisions are package/source evidence unless deployed and operated with production storage, monitoring, secrets, and incident-response controls.
|
|
102
|
+
|
|
103
|
+
```js
|
|
104
|
+
import { createGatewayState, handleGatewayRequest, runGatewayDemo } from 'enigma-memory/gateway';
|
|
105
|
+
|
|
106
|
+
const state = createGatewayState({ gateway_id: 'local-gateway' });
|
|
107
|
+
const demo = runGatewayDemo();
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### `enigma-memory/storage`
|
|
111
|
+
|
|
112
|
+
The storage module emits PostgreSQL migration and operation contracts for production storage. It is a contract/builder surface; applying migrations requires your own reviewed database environment.
|
|
113
|
+
|
|
114
|
+
```js
|
|
115
|
+
import { productionStorageContract, buildPostgresMigration, buildRelayRecordUpsert } from 'enigma-memory/storage';
|
|
116
|
+
|
|
117
|
+
const contract = productionStorageContract({ schema: 'enigma' });
|
|
118
|
+
const migration = buildPostgresMigration({ schema: 'enigma' });
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### `enigma-memory/metering`
|
|
122
|
+
|
|
123
|
+
The metering module creates content-minimized usage events and deterministic aggregates. Inputs are explicit counts and metadata; outputs do not prove provider discounts or ROI.
|
|
124
|
+
|
|
125
|
+
```js
|
|
126
|
+
import { createUsageEvent, aggregateUsageEvents } from 'enigma-memory/metering';
|
|
127
|
+
|
|
128
|
+
const event = createUsageEvent({
|
|
129
|
+
tenant_id: 'demo-tenant',
|
|
130
|
+
provider: 'local',
|
|
131
|
+
model: 'demo-model',
|
|
132
|
+
prompt_tokens: 800,
|
|
133
|
+
completion_tokens: 120,
|
|
134
|
+
memory_baseline_tokens: 1200,
|
|
135
|
+
memory_optimized_tokens: 800,
|
|
136
|
+
});
|
|
137
|
+
const aggregate = aggregateUsageEvents({ events: [event] });
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### `enigma-memory/settlement`
|
|
141
|
+
|
|
142
|
+
The settlement module creates hash-only memory jobs, capacity profiles, quotes, service receipts, receipt verification, and batches for permissionless access/accountability boundaries. It does not decentralize raw memory storage or inference.
|
|
143
|
+
|
|
144
|
+
```js
|
|
145
|
+
import { createPermissionlessMemoryJob, createOperatorServiceQuote, createServiceSettlementReceipt, verifyServiceSettlementReceipt } from 'enigma-memory/settlement';
|
|
146
|
+
|
|
147
|
+
const job = createPermissionlessMemoryJob({
|
|
148
|
+
tenant_id: 'demo-tenant',
|
|
149
|
+
job_type: 'context.pack',
|
|
150
|
+
memory_commitment_root: 'sha256:0000000000000000000000000000000000000000000000000000000000000000',
|
|
151
|
+
policy_hash: 'sha256:1111111111111111111111111111111111111111111111111111111111111111',
|
|
152
|
+
usage_event_hash: 'sha256:2222222222222222222222222222222222222222222222222222222222222222',
|
|
153
|
+
requested_at: '2026-01-01T00:00:00.000Z',
|
|
154
|
+
expires_at: '2026-01-02T00:00:00.000Z',
|
|
155
|
+
max_price_amount: 10,
|
|
156
|
+
payment_asset: 'CREDITS',
|
|
157
|
+
});
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Verifying exported proof
|
|
161
|
+
|
|
162
|
+
Package consumers should verify exported bundles through the CLI or MCP verifier rather than importing source-only verifier internals. Treat full bundles as private unless you have reviewed and removed local import key material before sharing:
|
|
163
|
+
|
|
164
|
+
```sh
|
|
165
|
+
enigma verify --bundle enigma-export.json
|
|
166
|
+
enigma-verify enigma-export.json
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
For in-process SDK checks, use exported public keys with core receipt verification:
|
|
170
|
+
|
|
171
|
+
```js
|
|
172
|
+
import { verifyReceiptChain } from 'enigma-memory';
|
|
173
|
+
|
|
174
|
+
const report = verifyReceiptChain({
|
|
175
|
+
receipts: bundle.receipts,
|
|
176
|
+
publicKey: bundle.keyring.publicKey,
|
|
177
|
+
expectedReceiptLogRoot: bundle.vault.receipt_log_root,
|
|
178
|
+
expectedActiveSetRoot: bundle.vault.active_set_root,
|
|
179
|
+
verifyEmbeddedReceiptLogRoot: true,
|
|
180
|
+
});
|
|
181
|
+
```
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: Enigma Memory smoke
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
pull_request:
|
|
6
|
+
push:
|
|
7
|
+
branches:
|
|
8
|
+
- main
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
enigma-memory-smoke:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
permissions:
|
|
14
|
+
contents: read
|
|
15
|
+
steps:
|
|
16
|
+
- name: Set up Node 24
|
|
17
|
+
uses: actions/setup-node@v4
|
|
18
|
+
with:
|
|
19
|
+
node-version: '24'
|
|
20
|
+
|
|
21
|
+
- name: Create disposable npm project
|
|
22
|
+
run: npm init -y
|
|
23
|
+
|
|
24
|
+
- name: Install Enigma Memory
|
|
25
|
+
run: npm install enigma-memory@0.1.1
|
|
26
|
+
|
|
27
|
+
- name: Run Enigma quickstart
|
|
28
|
+
run: npx enigma quickstart --overwrite
|
|
29
|
+
|
|
30
|
+
- name: Run Enigma doctor
|
|
31
|
+
run: npx enigma doctor
|
|
32
|
+
|
|
33
|
+
- name: Smoke test package imports
|
|
34
|
+
run: |
|
|
35
|
+
node --input-type=module <<'JS'
|
|
36
|
+
import { createVault, remember, exportBundle } from 'enigma-memory/vault';
|
|
37
|
+
import { createPassport, compileContextPack } from 'enigma-memory/passport';
|
|
38
|
+
import { verifyReceiptChain } from 'enigma-memory';
|
|
39
|
+
|
|
40
|
+
const vault = createVault({ subject_id: 'ci-demo-subject' });
|
|
41
|
+
const passport = createPassport({ vault, display_name: 'CI Demo' });
|
|
42
|
+
const remembered = remember({
|
|
43
|
+
vault,
|
|
44
|
+
text: 'CI smoke uses a generic non-private Enigma Memory fact.',
|
|
45
|
+
purpose_tags: ['ci-smoke'],
|
|
46
|
+
});
|
|
47
|
+
const pack = compileContextPack({
|
|
48
|
+
vault,
|
|
49
|
+
passport,
|
|
50
|
+
memory_addresses: [remembered.memory_addr],
|
|
51
|
+
limit: 1,
|
|
52
|
+
});
|
|
53
|
+
const bundle = exportBundle({ vault, includePlaintext: false });
|
|
54
|
+
const report = verifyReceiptChain({
|
|
55
|
+
receipts: bundle.receipts,
|
|
56
|
+
publicKey: bundle.keyring.publicKey,
|
|
57
|
+
expectedReceiptLogRoot: bundle.vault.receipt_log_root,
|
|
58
|
+
expectedActiveSetRoot: bundle.vault.active_set_root,
|
|
59
|
+
verifyEmbeddedReceiptLogRoot: true,
|
|
60
|
+
});
|
|
61
|
+
if (!report.valid) throw new Error(`receipt verification failed: ${report.errors.join('; ')}`);
|
|
62
|
+
console.log(JSON.stringify({ ok: true, memory_count: pack.memory_addresses.length, receipt_count: bundle.receipts.length }));
|
|
63
|
+
JS
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { createVault, remember, exportBundle } from 'enigma-memory/vault';
|
|
2
|
+
import { createPassport, compileContextPack, verifyContextPack } from 'enigma-memory/passport';
|
|
3
|
+
import { verifyReceiptChain } from 'enigma-memory';
|
|
4
|
+
|
|
5
|
+
const now = '2026-01-01T00:00:00.000Z';
|
|
6
|
+
|
|
7
|
+
const vault = createVault({
|
|
8
|
+
tenant_id: 'demo-tenant',
|
|
9
|
+
subject_id: 'demo-subject',
|
|
10
|
+
actor_id: 'demo-app',
|
|
11
|
+
policy_id: 'demo-local-policy',
|
|
12
|
+
now,
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
const remembered = remember({
|
|
16
|
+
vault,
|
|
17
|
+
text: 'Demo project prefers short context packs and local receipt verification.',
|
|
18
|
+
kind: 'preference',
|
|
19
|
+
sensitivity: 'normal',
|
|
20
|
+
purpose_tags: ['demo', 'local-proof'],
|
|
21
|
+
metadata: { demo_id: 'node-basic-memory' },
|
|
22
|
+
now: '2026-01-01T00:00:01.000Z',
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const passport = createPassport({
|
|
26
|
+
vault,
|
|
27
|
+
display_name: 'Demo Developer',
|
|
28
|
+
now: '2026-01-01T00:00:01.500Z',
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
const contextPack = compileContextPack({
|
|
32
|
+
vault,
|
|
33
|
+
passport,
|
|
34
|
+
query: 'How should this demo handle memory context?',
|
|
35
|
+
purpose: 'demo_context',
|
|
36
|
+
provider: 'local',
|
|
37
|
+
model: 'local-demo',
|
|
38
|
+
memory_addresses: [remembered.memory_addr],
|
|
39
|
+
limit: 1,
|
|
40
|
+
now: '2026-01-01T00:00:02.000Z',
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
const proofBundle = exportBundle({
|
|
44
|
+
vault,
|
|
45
|
+
includePlaintext: false,
|
|
46
|
+
now: '2026-01-01T00:00:03.000Z',
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
const publicKey = proofBundle.keyring.publicKey;
|
|
50
|
+
|
|
51
|
+
const contextVerification = verifyContextPack({
|
|
52
|
+
contextPack,
|
|
53
|
+
passport,
|
|
54
|
+
vault,
|
|
55
|
+
publicKey,
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
const receiptVerification = verifyReceiptChain({
|
|
59
|
+
receipts: proofBundle.receipts,
|
|
60
|
+
publicKey,
|
|
61
|
+
expectedReceiptLogRoot: proofBundle.vault.receipt_log_root,
|
|
62
|
+
expectedActiveSetRoot: proofBundle.vault.active_set_root,
|
|
63
|
+
verifyEmbeddedReceiptLogRoot: true,
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
const summary = {
|
|
67
|
+
ok: contextVerification.valid === true && receiptVerification.valid === true,
|
|
68
|
+
vault_id: proofBundle.vault.vault_id,
|
|
69
|
+
passport_id: passport.passport_id,
|
|
70
|
+
context_pack_id: contextPack.context_pack_id,
|
|
71
|
+
active_memory_count: proofBundle.active_memory_addresses.length,
|
|
72
|
+
receipt_count: proofBundle.receipts.length,
|
|
73
|
+
active_set_root: proofBundle.vault.active_set_root,
|
|
74
|
+
receipt_log_root: proofBundle.vault.receipt_log_root,
|
|
75
|
+
remembered_memory_addr: remembered.memory_addr,
|
|
76
|
+
context_pack_memory_count: contextPack.memory_addresses.length,
|
|
77
|
+
verification: {
|
|
78
|
+
context_pack_valid: contextVerification.valid,
|
|
79
|
+
receipt_chain_valid: receiptVerification.valid,
|
|
80
|
+
receipt_errors: receiptVerification.errors,
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
console.log(JSON.stringify(summary, null, 2));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "enigma-memory",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Provider-agnostic AI memory passport and offline-verifiable proof layer.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -28,6 +28,8 @@
|
|
|
28
28
|
"apps/native-host/README.md",
|
|
29
29
|
"apps/native-host/manifests/",
|
|
30
30
|
"apps/desktop/src/",
|
|
31
|
+
"apps/browser-extension/manifest.json",
|
|
32
|
+
"apps/browser-extension/src/",
|
|
31
33
|
"apps/gateway/bin/",
|
|
32
34
|
"apps/gateway/src/",
|
|
33
35
|
"apps/relay/src/",
|
|
@@ -39,6 +41,7 @@
|
|
|
39
41
|
"packages/connectors/src/",
|
|
40
42
|
"packages/core/src/",
|
|
41
43
|
"packages/enterprise/src/",
|
|
44
|
+
"packages/hosted-cloud/src/",
|
|
42
45
|
"packages/importers/src/",
|
|
43
46
|
"packages/optimizer/src/",
|
|
44
47
|
"packages/mcp-server/bin/",
|
|
@@ -56,6 +59,10 @@
|
|
|
56
59
|
"deploy/kubernetes/enigma-backend.example.yaml",
|
|
57
60
|
"scripts/check.mjs",
|
|
58
61
|
"scripts/install-enigma-local.mjs",
|
|
62
|
+
"scripts/verify-registry-install.mjs",
|
|
63
|
+
"scripts/run-memory-benchmarks.mjs",
|
|
64
|
+
"scripts/build-installer-assets.mjs",
|
|
65
|
+
"scripts/package-browser-extension.mjs",
|
|
59
66
|
"scripts/build-production-readiness-manifest.mjs",
|
|
60
67
|
"scripts/build-production-backend-env-kit.mjs",
|
|
61
68
|
"scripts/cloudflare-secret-env.mjs",
|
|
@@ -102,6 +109,14 @@
|
|
|
102
109
|
"scripts/release-provenance.mjs",
|
|
103
110
|
"scripts/build-review-packet.mjs",
|
|
104
111
|
"scripts/build-demo-assets.mjs",
|
|
112
|
+
"docs/sdk-api.md",
|
|
113
|
+
"docs/developer-ecosystem.md",
|
|
114
|
+
"docs/memory-benchmarks.md",
|
|
115
|
+
"docs/installers-and-desktop.md",
|
|
116
|
+
"docs/browser-extension-install.md",
|
|
117
|
+
"docs/hosted-cloud-product.md",
|
|
118
|
+
"examples/",
|
|
119
|
+
"templates/",
|
|
105
120
|
"specs/"
|
|
106
121
|
],
|
|
107
122
|
"bin": {
|
|
@@ -116,6 +131,7 @@
|
|
|
116
131
|
"check": "node scripts/check.mjs",
|
|
117
132
|
"test": "node --test test/*.test.mjs",
|
|
118
133
|
"install:local": "node scripts/install-enigma-local.mjs",
|
|
134
|
+
"registry:verify": "node scripts/verify-registry-install.mjs",
|
|
119
135
|
"boundary": "node harnesses/boundary-sim/boundary_harness.mjs",
|
|
120
136
|
"release:audit": "node scripts/release-audit.mjs",
|
|
121
137
|
"provenance:local": "node scripts/release-provenance.mjs",
|
|
@@ -127,6 +143,9 @@
|
|
|
127
143
|
"cloudflare:token-request": "node scripts/build-cloudflare-token-request.mjs",
|
|
128
144
|
"infrastructure:readiness": "node scripts/infrastructure-readiness.mjs",
|
|
129
145
|
"memory:benchmark": "node scripts/memory-optimization-benchmark.mjs",
|
|
146
|
+
"benchmark:memory-suite": "node scripts/run-memory-benchmarks.mjs",
|
|
147
|
+
"installer:assets": "node scripts/build-installer-assets.mjs",
|
|
148
|
+
"browser:extension:package": "node scripts/package-browser-extension.mjs",
|
|
130
149
|
"production:manifest": "node scripts/build-production-readiness-manifest.mjs",
|
|
131
150
|
"production:backend-env": "node scripts/build-production-backend-env-kit.mjs",
|
|
132
151
|
"production:storage": "node scripts/build-production-storage-migration.mjs",
|
|
@@ -179,7 +198,9 @@
|
|
|
179
198
|
"./connectors": "./packages/connectors/src/index.js",
|
|
180
199
|
"./core": "./packages/core/src/index.js",
|
|
181
200
|
"./desktop": "./apps/desktop/src/app.js",
|
|
201
|
+
"./desktop/tray": "./apps/desktop/src/tray.js",
|
|
182
202
|
"./enterprise": "./packages/enterprise/src/index.js",
|
|
203
|
+
"./hosted-cloud": "./packages/hosted-cloud/src/index.js",
|
|
183
204
|
"./gateway": "./apps/gateway/src/server.mjs",
|
|
184
205
|
"./importers": "./packages/importers/src/index.js",
|
|
185
206
|
"./mcp-server": "./packages/mcp-server/src/index.js",
|