@joshuaswarren/openclaw-engram 9.2.6 → 9.3.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 (52) hide show
  1. package/dist/access-cli.js +1 -222
  2. package/dist/index.js +3 -15127
  3. package/openclaw.plugin.json +2 -2
  4. package/package.json +33 -82
  5. package/LICENSE +0 -21
  6. package/README.md +0 -656
  7. package/dist/access-cli.js.map +0 -1
  8. package/dist/admin-console/public/app.js +0 -721
  9. package/dist/admin-console/public/index.html +0 -470
  10. package/dist/calibration-5ZKC4PGR.js +0 -236
  11. package/dist/calibration-5ZKC4PGR.js.map +0 -1
  12. package/dist/causal-chain-NTQJJLVN.js +0 -23
  13. package/dist/causal-chain-NTQJJLVN.js.map +0 -1
  14. package/dist/causal-consolidation-K2R5TEG7.js +0 -206
  15. package/dist/causal-consolidation-K2R5TEG7.js.map +0 -1
  16. package/dist/causal-retrieval-BMM45BSR.js +0 -183
  17. package/dist/causal-retrieval-BMM45BSR.js.map +0 -1
  18. package/dist/causal-trajectory-graph-RXHMHGG3.js +0 -60
  19. package/dist/causal-trajectory-graph-RXHMHGG3.js.map +0 -1
  20. package/dist/chunk-6KX4XLQJ.js +0 -343
  21. package/dist/chunk-6KX4XLQJ.js.map +0 -1
  22. package/dist/chunk-DEIBZP3O.js +0 -49
  23. package/dist/chunk-DEIBZP3O.js.map +0 -1
  24. package/dist/chunk-GKUNOUQI.js +0 -562
  25. package/dist/chunk-GKUNOUQI.js.map +0 -1
  26. package/dist/chunk-IMMYYNXG.js +0 -160
  27. package/dist/chunk-IMMYYNXG.js.map +0 -1
  28. package/dist/chunk-MKM2BCQH.js +0 -436
  29. package/dist/chunk-MKM2BCQH.js.map +0 -1
  30. package/dist/chunk-NEJTYWAH.js +0 -280
  31. package/dist/chunk-NEJTYWAH.js.map +0 -1
  32. package/dist/chunk-OVWP47NO.js +0 -1849
  33. package/dist/chunk-OVWP47NO.js.map +0 -1
  34. package/dist/chunk-PKKCGNF2.js +0 -15
  35. package/dist/chunk-PKKCGNF2.js.map +0 -1
  36. package/dist/chunk-SSIIJJKA.js +0 -44
  37. package/dist/chunk-SSIIJJKA.js.map +0 -1
  38. package/dist/chunk-TUH5NNZ2.js +0 -4244
  39. package/dist/chunk-TUH5NNZ2.js.map +0 -1
  40. package/dist/chunk-V2QDCXYP.js +0 -33700
  41. package/dist/chunk-V2QDCXYP.js.map +0 -1
  42. package/dist/engine-GUURUH4W.js +0 -12
  43. package/dist/engine-GUURUH4W.js.map +0 -1
  44. package/dist/fallback-llm-KSO34MOM.js +0 -9
  45. package/dist/fallback-llm-KSO34MOM.js.map +0 -1
  46. package/dist/index.js.map +0 -1
  47. package/dist/legacy-hook-compat-722BG5XG.js +0 -36
  48. package/dist/legacy-hook-compat-722BG5XG.js.map +0 -1
  49. package/dist/logger-KPTKTANX.js +0 -10
  50. package/dist/logger-KPTKTANX.js.map +0 -1
  51. package/dist/storage-LOT4RKCT.js +0 -17
  52. package/dist/storage-LOT4RKCT.js.map +0 -1
@@ -1,223 +1,2 @@
1
- // openclaw-engram: Local-first memory plugin
2
- import {
3
- EngramAccessService,
4
- Orchestrator,
5
- parseConfig
6
- } from "./chunk-V2QDCXYP.js";
7
- import "./chunk-OVWP47NO.js";
8
- import "./chunk-IMMYYNXG.js";
9
- import "./chunk-TUH5NNZ2.js";
10
- import "./chunk-6KX4XLQJ.js";
11
- import {
12
- readEnvVar,
13
- resolveHomeDir
14
- } from "./chunk-GKUNOUQI.js";
15
- import "./chunk-MKM2BCQH.js";
16
- import "./chunk-DEIBZP3O.js";
17
- import "./chunk-SSIIJJKA.js";
18
-
19
1
  // src/access-cli.ts
20
- import fs from "fs";
21
- import path from "path";
22
- var UsageError = class extends Error {
23
- constructor(kind, optionName) {
24
- super("invalid access-cli arguments");
25
- this.kind = kind;
26
- this.optionName = optionName;
27
- }
28
- kind;
29
- optionName;
30
- };
31
- function formatUsageError(error) {
32
- switch (error.kind) {
33
- case "unsupported-command":
34
- return "unsupported command";
35
- case "unexpected-positional":
36
- return "unexpected positional argument";
37
- case "missing-option":
38
- return `missing required option: --${error.optionName ?? "unknown"}`;
39
- case "missing-content":
40
- return "missing required option: --content or --content-file";
41
- case "invalid-integer":
42
- return `invalid integer for --${error.optionName ?? "unknown"}`;
43
- case "invalid-number":
44
- return `invalid number for --${error.optionName ?? "unknown"}`;
45
- }
46
- }
47
- function writeCliOutput(text = "") {
48
- process.stdout.write(`${text}
49
- `);
50
- }
51
- function usage() {
52
- return [
53
- "Usage:",
54
- " engram-access browse [options]",
55
- " engram-access store [options]",
56
- "",
57
- "Browse options:",
58
- " --namespace <name>",
59
- " --query <text>",
60
- " --category <name>",
61
- " --status <name>",
62
- " --sort <updated_desc|updated_asc|created_desc|created_asc>",
63
- " --limit <n>",
64
- " --offset <n>",
65
- "",
66
- "Store options:",
67
- " --namespace <name>",
68
- " --session-key <key>",
69
- " --principal <principal>",
70
- " --content <text> | --content-file <path>",
71
- " --category <name>",
72
- " --confidence <0-1>",
73
- " --tag <tag> (repeatable)",
74
- " --entity-ref <ref>",
75
- " --ttl <duration>",
76
- " --source-reason <text>",
77
- " --idempotency-key <key>",
78
- " --dry-run"
79
- ].join("\n");
80
- }
81
- function parseArgs(argv) {
82
- const [commandRaw, ...rest] = argv;
83
- if (commandRaw !== "browse" && commandRaw !== "store") {
84
- throw new UsageError("unsupported-command");
85
- }
86
- const options = {};
87
- const flags = /* @__PURE__ */ new Set();
88
- for (let i = 0; i < rest.length; i += 1) {
89
- const token = rest[i];
90
- if (!token.startsWith("--")) {
91
- throw new UsageError("unexpected-positional");
92
- }
93
- const key = token.slice(2);
94
- const next = rest[i + 1];
95
- if (!next || next.startsWith("--")) {
96
- flags.add(key);
97
- continue;
98
- }
99
- if (!options[key]) {
100
- options[key] = [];
101
- }
102
- options[key].push(next);
103
- i += 1;
104
- }
105
- return {
106
- command: commandRaw,
107
- options,
108
- flags
109
- };
110
- }
111
- function getLastOption(args, name) {
112
- const values = args.options[name];
113
- if (!values || values.length === 0) return void 0;
114
- return values[values.length - 1];
115
- }
116
- function getAllOptions(args, name) {
117
- return args.options[name] ?? [];
118
- }
119
- function requireOption(args, name) {
120
- const value = getLastOption(args, name);
121
- if (!value || value.trim().length === 0) {
122
- throw new UsageError("missing-option", name);
123
- }
124
- return value;
125
- }
126
- function parseIntegerOption(args, name) {
127
- const raw = getLastOption(args, name);
128
- if (!raw) return void 0;
129
- const value = parseInt(raw, 10);
130
- if (!Number.isFinite(value)) {
131
- throw new UsageError("invalid-integer", name);
132
- }
133
- return value;
134
- }
135
- function parseFloatOption(args, name) {
136
- const raw = getLastOption(args, name);
137
- if (!raw) return void 0;
138
- const value = Number.parseFloat(raw);
139
- if (!Number.isFinite(value)) {
140
- throw new UsageError("invalid-number", name);
141
- }
142
- return value;
143
- }
144
- function loadPluginConfig() {
145
- const configPath = readEnvVar("OPENCLAW_ENGRAM_CONFIG_PATH") || readEnvVar("OPENCLAW_CONFIG_PATH") || path.join(resolveHomeDir(), ".openclaw", "openclaw.json");
146
- const raw = JSON.parse(fs.readFileSync(configPath, "utf8"));
147
- return raw?.plugins?.entries?.["openclaw-engram"]?.config ?? {};
148
- }
149
- function buildRuntime() {
150
- const config = parseConfig(loadPluginConfig());
151
- return {
152
- config,
153
- service: new EngramAccessService(new Orchestrator(config))
154
- };
155
- }
156
- async function runBrowse(args) {
157
- const { service } = buildRuntime();
158
- const result = await service.memoryBrowse({
159
- namespace: getLastOption(args, "namespace"),
160
- query: getLastOption(args, "query"),
161
- category: getLastOption(args, "category"),
162
- status: getLastOption(args, "status"),
163
- sort: getLastOption(args, "sort"),
164
- limit: parseIntegerOption(args, "limit"),
165
- offset: parseIntegerOption(args, "offset")
166
- });
167
- console.log(JSON.stringify(result, null, 2));
168
- }
169
- async function runStore(args) {
170
- const { config, service } = buildRuntime();
171
- const contentFile = getLastOption(args, "content-file");
172
- const inlineContent = getLastOption(args, "content");
173
- const content = contentFile ? fs.readFileSync(contentFile, "utf8") : inlineContent;
174
- if (!content || content.trim().length === 0) {
175
- throw new UsageError("missing-content");
176
- }
177
- const result = await service.memoryStore({
178
- namespace: getLastOption(args, "namespace"),
179
- sessionKey: getLastOption(args, "session-key"),
180
- authenticatedPrincipal: getLastOption(args, "principal") ?? config.agentAccessHttp.principal,
181
- content,
182
- category: requireOption(args, "category"),
183
- confidence: parseFloatOption(args, "confidence"),
184
- tags: getAllOptions(args, "tag"),
185
- entityRef: getLastOption(args, "entity-ref"),
186
- ttl: getLastOption(args, "ttl"),
187
- sourceReason: getLastOption(args, "source-reason"),
188
- idempotencyKey: getLastOption(args, "idempotency-key"),
189
- dryRun: args.flags.has("dry-run")
190
- });
191
- console.log(JSON.stringify(result, null, 2));
192
- }
193
- async function main(argv = process.argv.slice(2)) {
194
- const args = parseArgs(argv);
195
- if (args.command === "browse") {
196
- await runBrowse(args);
197
- return;
198
- }
199
- await runStore(args);
200
- }
201
- function printUsage() {
202
- writeCliOutput(usage());
203
- }
204
- async function runCli(argv = process.argv.slice(2)) {
205
- try {
206
- await main(argv);
207
- } catch (error) {
208
- if (error instanceof UsageError) {
209
- writeCliOutput(formatUsageError(error));
210
- writeCliOutput();
211
- printUsage();
212
- process.exit(1);
213
- }
214
- console.error("access-cli failed");
215
- process.exit(1);
216
- }
217
- }
218
- export {
219
- main,
220
- printUsage,
221
- runCli
222
- };
223
- //# sourceMappingURL=access-cli.js.map
2
+ export * from "@remnic/core/access-cli";