poe-code 3.0.311 → 3.0.312
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/dist/cli/commands/memory-mcp.js +8 -1
- package/dist/cli/commands/memory-mcp.js.map +1 -1
- package/dist/cli/commands/memory.js +42 -12
- package/dist/cli/commands/memory.js.map +1 -1
- package/dist/index.js +156 -69
- package/dist/index.js.map +4 -4
- package/dist/metafile.json +1 -1
- package/package.json +1 -1
- package/packages/memory/dist/agent-response.d.ts +2 -0
- package/packages/memory/dist/agent-response.js +38 -0
- package/packages/memory/dist/cache.js +13 -9
- package/packages/memory/dist/explain.js +2 -25
- package/packages/memory/dist/frontmatter.js +5 -1
- package/packages/memory/dist/index.js +92 -55
- package/packages/memory/dist/index.js.map +4 -4
- package/packages/memory/dist/install.js +12 -4
- package/packages/memory/dist/paths.js +15 -0
- package/packages/memory/dist/query.js +2 -25
- package/packages/memory/dist/search.js +2 -2
- package/packages/memory/dist/write.js +14 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { openMemory, printMcpConfig, resolveConfiguredMemoryRoot, startMemoryMcpServer } from "@poe-code/memory";
|
|
2
|
+
import { mcpWritesAllowed } from "@poe-code/poe-code-config";
|
|
2
3
|
export function registerMemoryMcpCommand(program, container) {
|
|
3
4
|
program
|
|
4
5
|
.command("memory-mcp")
|
|
@@ -18,7 +19,13 @@ export function registerMemoryMcpCommand(program, container) {
|
|
|
18
19
|
projectConfigPath: container.env.projectConfigPath
|
|
19
20
|
});
|
|
20
21
|
const handle = openMemory({ root });
|
|
21
|
-
const
|
|
22
|
+
const allowWrites = options.allowWrites === true ||
|
|
23
|
+
(await mcpWritesAllowed({
|
|
24
|
+
fs: container.fs,
|
|
25
|
+
filePath: container.env.configPath,
|
|
26
|
+
projectFilePath: container.env.projectConfigPath
|
|
27
|
+
}));
|
|
28
|
+
const { server } = await startMemoryMcpServer(handle, { allowWrites });
|
|
22
29
|
await server.listen();
|
|
23
30
|
});
|
|
24
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/memory-mcp.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,cAAc,EACd,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/memory-mcp.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,cAAc,EACd,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,MAAM,UAAU,wBAAwB,CAAC,OAAgB,EAAE,SAAuB;IAChF,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;SACzD,MAAM,CAAC,oBAAoB,EAAE,yCAAyC,CAAC;SACvE,MAAM,CAAC,KAAK,EAAE,OAA4D,EAAE,EAAE;QAC7E,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,cAAc,EAAE,IAAI,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,2BAA2B,CAAC;YAC7C,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG;YACtB,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS;YAC5B,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,UAAU;YACpC,iBAAiB,EAAE,SAAS,CAAC,GAAG,CAAC,iBAAiB;SACnD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,WAAW,GACf,OAAO,CAAC,WAAW,KAAK,IAAI;YAC5B,CAAC,MAAM,gBAAgB,CAAC;gBACtB,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,UAAU;gBAClC,eAAe,EAAE,SAAS,CAAC,GAAG,CAAC,iBAAiB;aACjD,CAAC,CAAC,CAAC;QACN,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACvE,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -71,6 +71,28 @@ async function queryBudget(container, value) {
|
|
|
71
71
|
projectFilePath: container.env.projectConfigPath
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
|
+
function parseDecimalNonNegativeInteger(value, label) {
|
|
75
|
+
if (value === undefined) {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
if (!isDecimalNonNegativeIntegerText(value)) {
|
|
79
|
+
throw new ValidationError(`${label} must be a decimal non-negative integer.`);
|
|
80
|
+
}
|
|
81
|
+
const parsed = Number(value);
|
|
82
|
+
if (!Number.isSafeInteger(parsed)) {
|
|
83
|
+
throw new ValidationError(`${label} must be a decimal non-negative integer.`);
|
|
84
|
+
}
|
|
85
|
+
return parsed;
|
|
86
|
+
}
|
|
87
|
+
function isDecimalNonNegativeIntegerText(value) {
|
|
88
|
+
if (value.length === 0) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
if (value.length > 1 && value[0] === "0") {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
return [...value].every((char) => char >= "0" && char <= "9");
|
|
95
|
+
}
|
|
74
96
|
async function readCommandContent(content) {
|
|
75
97
|
if (content !== undefined) {
|
|
76
98
|
return content;
|
|
@@ -241,6 +263,8 @@ export function registerMemoryCommand(program, container) {
|
|
|
241
263
|
.action(async (pagePath, options) => {
|
|
242
264
|
const flags = resolveCommandFlags(program);
|
|
243
265
|
const root = await resolveRoot(container);
|
|
266
|
+
const mem = openMemory({ root });
|
|
267
|
+
await assertInitialized(mem);
|
|
244
268
|
const relPath = resolvePageRelPath(pagePath);
|
|
245
269
|
const editor = resolveEditor(container);
|
|
246
270
|
if (flags.dryRun) {
|
|
@@ -268,10 +292,7 @@ export function registerMemoryCommand(program, container) {
|
|
|
268
292
|
const root = await resolveRoot(container);
|
|
269
293
|
const mem = openMemory({ root });
|
|
270
294
|
await assertInitialized(mem);
|
|
271
|
-
const timeoutMs = options.timeoutMs
|
|
272
|
-
if (timeoutMs !== undefined && (!Number.isFinite(timeoutMs) || timeoutMs < 0)) {
|
|
273
|
-
throw new ValidationError("Timeout must be a finite non-negative number.");
|
|
274
|
-
}
|
|
295
|
+
const timeoutMs = parseDecimalNonNegativeInteger(options.timeoutMs, "Timeout");
|
|
275
296
|
const result = await mem.ingest({
|
|
276
297
|
source: resolveIngestSource(container.env.cwd, source),
|
|
277
298
|
agent: options.agent,
|
|
@@ -286,11 +307,7 @@ export function registerMemoryCommand(program, container) {
|
|
|
286
307
|
memory
|
|
287
308
|
.command("lint")
|
|
288
309
|
.description("Audit memory confidence and provenance claims.")
|
|
289
|
-
.
|
|
290
|
-
.action(async (options) => {
|
|
291
|
-
if (options.fix) {
|
|
292
|
-
throw new ValidationError("Automated memory lint repair is not available yet.");
|
|
293
|
-
}
|
|
310
|
+
.action(async () => {
|
|
294
311
|
const root = await resolveRoot(container);
|
|
295
312
|
const mem = openMemory({ root });
|
|
296
313
|
await assertInitialized(mem);
|
|
@@ -312,12 +329,18 @@ export function registerMemoryCommand(program, container) {
|
|
|
312
329
|
.option("--budget <tokens>", "Token budget")
|
|
313
330
|
.option("--agent <agent>", "Agent override")
|
|
314
331
|
.action(async (question, options) => {
|
|
332
|
+
const flags = resolveCommandFlags(program);
|
|
315
333
|
const root = await resolveRoot(container);
|
|
316
334
|
const mem = openMemory({ root });
|
|
317
335
|
await assertInitialized(mem);
|
|
336
|
+
const budget = await queryBudget(container, options.budget);
|
|
337
|
+
if (flags.dryRun) {
|
|
338
|
+
createExecutionResources(container, flags, "memory:query").logger.dryRun(`Would query memory with budget ${budget}.`);
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
318
341
|
const result = await mem.query({
|
|
319
342
|
question,
|
|
320
|
-
budget
|
|
343
|
+
budget,
|
|
321
344
|
agent: options.agent
|
|
322
345
|
});
|
|
323
346
|
process.stdout.write(`${result.answer}\n`);
|
|
@@ -329,12 +352,19 @@ export function registerMemoryCommand(program, container) {
|
|
|
329
352
|
.option("--budget <tokens>", "Token budget")
|
|
330
353
|
.option("--agent <agent>", "Agent override")
|
|
331
354
|
.action(async (pagePath, options) => {
|
|
355
|
+
const flags = resolveCommandFlags(program);
|
|
332
356
|
const root = await resolveRoot(container);
|
|
333
357
|
const mem = openMemory({ root });
|
|
334
358
|
await assertInitialized(mem);
|
|
359
|
+
const relPath = resolvePageRelPath(pagePath);
|
|
360
|
+
const budget = await queryBudget(container, options.budget);
|
|
361
|
+
if (flags.dryRun) {
|
|
362
|
+
createExecutionResources(container, flags, "memory:explain").logger.dryRun(`Would explain ${relPath} with budget ${budget}.`);
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
335
365
|
const result = await mem.explainPage({
|
|
336
|
-
relPath
|
|
337
|
-
budget
|
|
366
|
+
relPath,
|
|
367
|
+
budget,
|
|
338
368
|
agent: options.agent
|
|
339
369
|
});
|
|
340
370
|
process.stdout.write(`${result.answer}\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/cli/commands/memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/cli/commands/memory.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16932,6 +16932,9 @@ async function configuredTimeout(options) {
|
|
|
16932
16932
|
async function cacheEnabled(options) {
|
|
16933
16933
|
return (await resolveMemoryConfig(options)).cacheEnabled;
|
|
16934
16934
|
}
|
|
16935
|
+
async function mcpWritesAllowed(options) {
|
|
16936
|
+
return (await resolveMemoryConfig(options)).mcpWritesAllowed;
|
|
16937
|
+
}
|
|
16935
16938
|
async function defaultQueryBudget(options) {
|
|
16936
16939
|
return (await resolveMemoryConfig(options)).defaultQueryBudget;
|
|
16937
16940
|
}
|
|
@@ -100415,6 +100418,9 @@ async function assertMemoryRootIsNotSymlink(root) {
|
|
|
100415
100418
|
try {
|
|
100416
100419
|
const stat33 = await fs12.lstat(currentPath);
|
|
100417
100420
|
if (stat33.isSymbolicLink()) {
|
|
100421
|
+
if (await isAllowedMacSystemAlias(currentPath)) {
|
|
100422
|
+
continue;
|
|
100423
|
+
}
|
|
100418
100424
|
throw new MemoryPathError(`Memory root "${root}" cannot be a symbolic link.`);
|
|
100419
100425
|
}
|
|
100420
100426
|
} catch (error3) {
|
|
@@ -100425,6 +100431,17 @@ async function assertMemoryRootIsNotSymlink(root) {
|
|
|
100425
100431
|
}
|
|
100426
100432
|
}
|
|
100427
100433
|
}
|
|
100434
|
+
async function isAllowedMacSystemAlias(currentPath) {
|
|
100435
|
+
if (currentPath !== "/var") {
|
|
100436
|
+
return false;
|
|
100437
|
+
}
|
|
100438
|
+
try {
|
|
100439
|
+
const target = await fs12.readlink(currentPath);
|
|
100440
|
+
return target === "/private/var" || target === "private/var";
|
|
100441
|
+
} catch {
|
|
100442
|
+
return false;
|
|
100443
|
+
}
|
|
100444
|
+
}
|
|
100428
100445
|
function isMissing(error3) {
|
|
100429
100446
|
return hasOwnErrorCode27(error3, "ENOENT");
|
|
100430
100447
|
}
|
|
@@ -100574,7 +100591,11 @@ function serializeFrontmatter(frontmatter, body) {
|
|
|
100574
100591
|
return stringifyFrontmatter(serialized, body);
|
|
100575
100592
|
}
|
|
100576
100593
|
function parseSourceRef(serialized) {
|
|
100577
|
-
const
|
|
100594
|
+
const parts = serialized.split("#");
|
|
100595
|
+
if (parts.length > 2) {
|
|
100596
|
+
throw new Error(`Invalid source ref "${serialized}".`);
|
|
100597
|
+
}
|
|
100598
|
+
const [rawPath, rawAnchor] = parts;
|
|
100578
100599
|
const normalizedPath = rawPath?.trim();
|
|
100579
100600
|
if (normalizedPath === void 0 || normalizedPath.length === 0) {
|
|
100580
100601
|
throw new Error(`Invalid source ref "${serialized}".`);
|
|
@@ -100828,7 +100849,7 @@ async function searchMemory(root, query) {
|
|
|
100828
100849
|
if (normalizedQuery.length === 0) {
|
|
100829
100850
|
throw new Error("Search query cannot be empty.");
|
|
100830
100851
|
}
|
|
100831
|
-
const relPaths = await collectMarkdownRelPaths(root);
|
|
100852
|
+
const relPaths = await collectMarkdownRelPaths(root, MEMORY_PAGES_DIR_RELPATH);
|
|
100832
100853
|
const hits = [];
|
|
100833
100854
|
for (const relPath of relPaths) {
|
|
100834
100855
|
await assertNoSymlinkSegments(root, relPath);
|
|
@@ -101351,7 +101372,7 @@ async function appendToPage(root, relPath, content, opts) {
|
|
|
101351
101372
|
const before = await snapshot(root);
|
|
101352
101373
|
await fs19.mkdir(path158.dirname(pagePath), { recursive: true });
|
|
101353
101374
|
await assertNoSymlinkSegments(root, pageRelPath);
|
|
101354
|
-
const parsed = originalPage
|
|
101375
|
+
const parsed = parseAppendTarget(originalPage, pageRelPath);
|
|
101355
101376
|
try {
|
|
101356
101377
|
await writeFileAtomically7(
|
|
101357
101378
|
pagePath,
|
|
@@ -101363,6 +101384,18 @@ async function appendToPage(root, relPath, content, opts) {
|
|
|
101363
101384
|
throw error3;
|
|
101364
101385
|
}
|
|
101365
101386
|
}
|
|
101387
|
+
function parseAppendTarget(originalPage, relPath) {
|
|
101388
|
+
if (originalPage === void 0) {
|
|
101389
|
+
return { frontmatter: {}, body: "" };
|
|
101390
|
+
}
|
|
101391
|
+
try {
|
|
101392
|
+
return parseFrontmatter4(originalPage);
|
|
101393
|
+
} catch (error3) {
|
|
101394
|
+
const message2 = error3 instanceof Error ? error3.message : String(error3);
|
|
101395
|
+
console.warn(`Failed to parse frontmatter for "${relPath}": ${message2}`);
|
|
101396
|
+
return { frontmatter: {}, body: originalPage };
|
|
101397
|
+
}
|
|
101398
|
+
}
|
|
101366
101399
|
async function clearMemory(root) {
|
|
101367
101400
|
await assertMemoryRootIsNotSymlink(root);
|
|
101368
101401
|
const stagedRoot = `${root}.clear-${randomUUID43()}`;
|
|
@@ -101728,17 +101761,21 @@ async function clearCache(root, opts = {}) {
|
|
|
101728
101761
|
async function assertIngestCachePathIsNotSymlink(root) {
|
|
101729
101762
|
await assertNoSymlinkSegments(root, MEMORY_INGEST_CACHE_DIR_RELPATH);
|
|
101730
101763
|
}
|
|
101731
|
-
function parseCacheEntry(value,
|
|
101764
|
+
function parseCacheEntry(value, requestedKey) {
|
|
101732
101765
|
const object = expectRecord2(value);
|
|
101766
|
+
const key2 = expectString2(getOwnEntry36(object, "key"), "key");
|
|
101767
|
+
if (key2 !== requestedKey) {
|
|
101768
|
+
throw new Error(`Cache entry key "${key2}" does not match requested key "${requestedKey}".`);
|
|
101769
|
+
}
|
|
101733
101770
|
return {
|
|
101734
|
-
key:
|
|
101771
|
+
key: key2,
|
|
101735
101772
|
ingestedAt: expectString2(getOwnEntry36(object, "ingestedAt"), "ingestedAt"),
|
|
101736
101773
|
sourceLabel: expectString2(getOwnEntry36(object, "sourceLabel"), "sourceLabel"),
|
|
101737
101774
|
diff: parseMemoryDiff(getOwnEntry36(object, "diff")),
|
|
101738
|
-
exitCode:
|
|
101739
|
-
durationMs:
|
|
101740
|
-
memoryTokens:
|
|
101741
|
-
sourceTokens:
|
|
101775
|
+
exitCode: expectNonNegativeInteger2(getOwnEntry36(object, "exitCode"), "exitCode"),
|
|
101776
|
+
durationMs: expectNonNegativeInteger2(getOwnEntry36(object, "durationMs"), "durationMs"),
|
|
101777
|
+
memoryTokens: expectNonNegativeInteger2(getOwnEntry36(object, "memoryTokens"), "memoryTokens"),
|
|
101778
|
+
sourceTokens: expectNonNegativeInteger2(getOwnEntry36(object, "sourceTokens"), "sourceTokens"),
|
|
101742
101779
|
promptTemplateVersion: expectString2(
|
|
101743
101780
|
getOwnEntry36(object, "promptTemplateVersion"),
|
|
101744
101781
|
"promptTemplateVersion"
|
|
@@ -101766,9 +101803,9 @@ function expectString2(value, field) {
|
|
|
101766
101803
|
}
|
|
101767
101804
|
return value;
|
|
101768
101805
|
}
|
|
101769
|
-
function
|
|
101770
|
-
if (typeof value !== "number" || Number.
|
|
101771
|
-
throw new Error(`Expected
|
|
101806
|
+
function expectNonNegativeInteger2(value, field) {
|
|
101807
|
+
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 0) {
|
|
101808
|
+
throw new Error(`Expected non-negative integer at "${field}".`);
|
|
101772
101809
|
}
|
|
101773
101810
|
return value;
|
|
101774
101811
|
}
|
|
@@ -102427,7 +102464,7 @@ async function installMemory(options) {
|
|
|
102427
102464
|
}
|
|
102428
102465
|
throw error3;
|
|
102429
102466
|
}
|
|
102430
|
-
mcpConfigPath = options.agent
|
|
102467
|
+
mcpConfigPath = resolveMcpConfigPath(options.agent, options.homeDir, options.platform);
|
|
102431
102468
|
}
|
|
102432
102469
|
return {
|
|
102433
102470
|
skillInstalled: !options.mcpOnly,
|
|
@@ -102436,6 +102473,14 @@ async function installMemory(options) {
|
|
|
102436
102473
|
mcpConfigPath
|
|
102437
102474
|
};
|
|
102438
102475
|
}
|
|
102476
|
+
function resolveMcpConfigPath(agent3, homeDir, platform) {
|
|
102477
|
+
const support = resolveAgentSupport3(agent3);
|
|
102478
|
+
if (support.status !== "supported" || support.config === void 0) {
|
|
102479
|
+
throw new Error(`Unsupported agent: ${agent3}`);
|
|
102480
|
+
}
|
|
102481
|
+
const configFile = typeof support.config.configFile === "function" ? support.config.configFile(platform) : support.config.configFile;
|
|
102482
|
+
return configFile.startsWith("~/") ? path164.join(homeDir, configFile.slice(2)) : configFile;
|
|
102483
|
+
}
|
|
102439
102484
|
async function removeInstalledSkill(options, skillPath) {
|
|
102440
102485
|
const baseDir = options.scope === "global" ? options.homeDir : options.cwd;
|
|
102441
102486
|
const displayPath = skillPath.startsWith("~/") ? skillPath.slice(2) : skillPath;
|
|
@@ -102456,6 +102501,45 @@ var init_install3 = __esm({
|
|
|
102456
102501
|
}
|
|
102457
102502
|
});
|
|
102458
102503
|
|
|
102504
|
+
// packages/memory/src/agent-response.ts
|
|
102505
|
+
function parseMemoryAgentResponse(stdout) {
|
|
102506
|
+
let value;
|
|
102507
|
+
try {
|
|
102508
|
+
value = JSON.parse(stdout);
|
|
102509
|
+
} catch {
|
|
102510
|
+
throw new Error("Memory agent returned invalid JSON output.");
|
|
102511
|
+
}
|
|
102512
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
102513
|
+
throw new Error("Memory agent returned an invalid result payload.");
|
|
102514
|
+
}
|
|
102515
|
+
const result = value;
|
|
102516
|
+
if (typeof result.answer !== "string" || !Array.isArray(result.citations) || !isNonNegativeInteger(result.tokensUsed) || !result.citations.every(isQueryCitation)) {
|
|
102517
|
+
throw new Error("Memory agent returned an invalid result payload.");
|
|
102518
|
+
}
|
|
102519
|
+
return {
|
|
102520
|
+
answer: result.answer,
|
|
102521
|
+
citations: result.citations,
|
|
102522
|
+
tokensUsed: result.tokensUsed
|
|
102523
|
+
};
|
|
102524
|
+
}
|
|
102525
|
+
function isQueryCitation(value) {
|
|
102526
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
102527
|
+
return false;
|
|
102528
|
+
}
|
|
102529
|
+
const citation = value;
|
|
102530
|
+
return typeof citation.relPath === "string" && (citation.section === void 0 || typeof citation.section === "string") && typeof citation.confidence === "string" && validCitationConfidences.has(citation.confidence);
|
|
102531
|
+
}
|
|
102532
|
+
function isNonNegativeInteger(value) {
|
|
102533
|
+
return typeof value === "number" && Number.isSafeInteger(value) && value >= 0;
|
|
102534
|
+
}
|
|
102535
|
+
var validCitationConfidences;
|
|
102536
|
+
var init_agent_response = __esm({
|
|
102537
|
+
"packages/memory/src/agent-response.ts"() {
|
|
102538
|
+
"use strict";
|
|
102539
|
+
validCitationConfidences = /* @__PURE__ */ new Set(["extracted", "inferred", "ambiguous"]);
|
|
102540
|
+
}
|
|
102541
|
+
});
|
|
102542
|
+
|
|
102459
102543
|
// packages/memory/src/query.ts
|
|
102460
102544
|
import * as fs25 from "node:fs/promises";
|
|
102461
102545
|
import path165 from "node:path";
|
|
@@ -102478,7 +102562,7 @@ async function queryMemory(root, options) {
|
|
|
102478
102562
|
const agentId = await resolveAgent(configOptions, options.agent ?? null) ?? options.agent ?? "claude-code";
|
|
102479
102563
|
const context = await selectQueryContext(root, options.question, options.budget);
|
|
102480
102564
|
const spawned = await spawn5(agentId, { prompt: context.prompt });
|
|
102481
|
-
const result =
|
|
102565
|
+
const result = parseMemoryAgentResponse(spawned.stdout);
|
|
102482
102566
|
return {
|
|
102483
102567
|
answer: result.answer,
|
|
102484
102568
|
citations: result.citations,
|
|
@@ -102487,26 +102571,6 @@ async function queryMemory(root, options) {
|
|
|
102487
102571
|
exitCode: spawned.exitCode
|
|
102488
102572
|
};
|
|
102489
102573
|
}
|
|
102490
|
-
function parseQueryResponse(stdout) {
|
|
102491
|
-
let value;
|
|
102492
|
-
try {
|
|
102493
|
-
value = JSON.parse(stdout);
|
|
102494
|
-
} catch {
|
|
102495
|
-
throw new Error("Memory agent returned invalid JSON output.");
|
|
102496
|
-
}
|
|
102497
|
-
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
102498
|
-
throw new Error("Memory agent returned an invalid result payload.");
|
|
102499
|
-
}
|
|
102500
|
-
const result = value;
|
|
102501
|
-
if (typeof result.answer !== "string" || !Array.isArray(result.citations) || typeof result.tokensUsed !== "number" || !Number.isFinite(result.tokensUsed)) {
|
|
102502
|
-
throw new Error("Memory agent returned an invalid result payload.");
|
|
102503
|
-
}
|
|
102504
|
-
return {
|
|
102505
|
-
answer: result.answer,
|
|
102506
|
-
citations: result.citations,
|
|
102507
|
-
tokensUsed: result.tokensUsed
|
|
102508
|
-
};
|
|
102509
|
-
}
|
|
102510
102574
|
async function selectQueryContext(root, question, budget) {
|
|
102511
102575
|
if (!Number.isFinite(budget) || budget < 0) {
|
|
102512
102576
|
throw new Error("budget must be a finite non-negative number");
|
|
@@ -102599,6 +102663,7 @@ var init_query = __esm({
|
|
|
102599
102663
|
init_src44();
|
|
102600
102664
|
init_src17();
|
|
102601
102665
|
init_src9();
|
|
102666
|
+
init_agent_response();
|
|
102602
102667
|
init_pages();
|
|
102603
102668
|
init_paths2();
|
|
102604
102669
|
}
|
|
@@ -102634,7 +102699,7 @@ async function explainPage(root, options) {
|
|
|
102634
102699
|
};
|
|
102635
102700
|
const agentId = await resolveAgent(configOptions, options.agent ?? null) ?? options.agent ?? "claude-code";
|
|
102636
102701
|
const spawned = await spawn5(agentId, { prompt });
|
|
102637
|
-
const response =
|
|
102702
|
+
const response = parseMemoryAgentResponse(spawned.stdout);
|
|
102638
102703
|
return {
|
|
102639
102704
|
answer: response.answer,
|
|
102640
102705
|
citations: response.citations,
|
|
@@ -102645,26 +102710,6 @@ async function explainPage(root, options) {
|
|
|
102645
102710
|
outboundSources: targetPage.frontmatter.sources ?? []
|
|
102646
102711
|
};
|
|
102647
102712
|
}
|
|
102648
|
-
function parseExplainResponse(stdout) {
|
|
102649
|
-
let value;
|
|
102650
|
-
try {
|
|
102651
|
-
value = JSON.parse(stdout);
|
|
102652
|
-
} catch {
|
|
102653
|
-
throw new Error("Memory agent returned invalid JSON output.");
|
|
102654
|
-
}
|
|
102655
|
-
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
102656
|
-
throw new Error("Memory agent returned an invalid result payload.");
|
|
102657
|
-
}
|
|
102658
|
-
const response = value;
|
|
102659
|
-
if (typeof response.answer !== "string" || !Array.isArray(response.citations) || typeof response.tokensUsed !== "number" || !Number.isFinite(response.tokensUsed)) {
|
|
102660
|
-
throw new Error("Memory agent returned an invalid result payload.");
|
|
102661
|
-
}
|
|
102662
|
-
return {
|
|
102663
|
-
answer: response.answer,
|
|
102664
|
-
citations: response.citations,
|
|
102665
|
-
tokensUsed: response.tokensUsed
|
|
102666
|
-
};
|
|
102667
|
-
}
|
|
102668
102713
|
function collectRelatedPages(pages, targetRelPath, outboundSources) {
|
|
102669
102714
|
const memorySourcePaths = new Set(outboundSources.map((source) => source.path));
|
|
102670
102715
|
return pages.filter((page) => {
|
|
@@ -102708,6 +102753,7 @@ var init_explain = __esm({
|
|
|
102708
102753
|
init_src44();
|
|
102709
102754
|
init_src17();
|
|
102710
102755
|
init_src9();
|
|
102756
|
+
init_agent_response();
|
|
102711
102757
|
init_errors7();
|
|
102712
102758
|
init_pages();
|
|
102713
102759
|
init_query();
|
|
@@ -102802,7 +102848,7 @@ var init_src45 = __esm({
|
|
|
102802
102848
|
var SKILL_memory_default;
|
|
102803
102849
|
var init_SKILL_memory = __esm({
|
|
102804
102850
|
"packages/memory/src/templates/SKILL_memory.md"() {
|
|
102805
|
-
SKILL_memory_default = '## CLI \u2014 `poe-code memory <subcommand>`\n| Command | Purpose (when the agent should reach for it) |\n|---|---|\n| `init` | create `.poe-code/memory/` if missing; safe before first write |\n| `ls` | list pages + one-line descriptions; first step for recall questions |\n| `show <path>` | print one page verbatim after `ls` identifies a candidate |\n| `search <query>` | ripgrep over memory when the page is not obvious from `ls` |\n| `write <path> --reason <text>` | replace a page from stdin when authoring or rewriting |\n| `append <path>` | append stdin to a page; intended for `LOG.md`-style updates |\n| `edit <path>` | open `$EDITOR`; avoid from agents, prefer `write`/`append` |\n| `ingest <source>` | spawn an ingest agent to fold a file or URL into memory |\n| `query "<question>"` | answer a question from memory only, with citations |\n| `explain <path>` | summarize a page plus its inbound/outbound links |\n| `lint
|
|
102851
|
+
SKILL_memory_default = '## CLI \u2014 `poe-code memory <subcommand>`\n| Command | Purpose (when the agent should reach for it) |\n|---|---|\n| `init` | create `.poe-code/memory/` if missing; safe before first write |\n| `ls` | list pages + one-line descriptions; first step for recall questions |\n| `show <path>` | print one page verbatim after `ls` identifies a candidate |\n| `search <query>` | ripgrep over memory when the page is not obvious from `ls` |\n| `write <path> --reason <text>` | replace a page from stdin when authoring or rewriting |\n| `append <path>` | append stdin to a page; intended for `LOG.md`-style updates |\n| `edit <path>` | open `$EDITOR`; avoid from agents, prefer `write`/`append` |\n| `ingest <source>` | spawn an ingest agent to fold a file or URL into memory |\n| `query "<question>"` | answer a question from memory only, with citations |\n| `explain <path>` | summarize a page plus its inbound/outbound links |\n| `lint` | find stale citations, untagged claims, contradictions |\n| `status [--no-tokens]` | show counts, bytes, and token-reduction ratio |\n| `cache status` / `cache clear` | inspect or clear the ingest cache |\n| `clear --yes` | wipe memory; destructive, user-request only |\n| `install` | install this skill and register the `poe-code-memory` MCP server |\n\n## MCP \u2014 `poe-code-memory` server\n| Tool | Purpose |\n|---|---|\n| `list_pages` | enumerate pages (preferred over shelling out to `memory ls`) |\n| `read_page` | read one page (preferred over `memory show`) |\n| `search_memory` | search memory text (preferred over `memory search`) |\n| `append_to_page` | append to a page when writes are enabled |\n| `status` | read counts and token ratio |\n\n- Prefer MCP tools over shell commands when both surfaces are available.\n- Confidence-tag non-trivial claims with `extracted`, `inferred`, or `ambiguous`.\n- Keep memory edits focused; update the minimal relevant pages.\n- Never call `memory clear` without explicit user request.\n';
|
|
102806
102852
|
}
|
|
102807
102853
|
});
|
|
102808
102854
|
|
|
@@ -102874,6 +102920,28 @@ async function queryBudget(container, value) {
|
|
|
102874
102920
|
projectFilePath: container.env.projectConfigPath
|
|
102875
102921
|
});
|
|
102876
102922
|
}
|
|
102923
|
+
function parseDecimalNonNegativeInteger(value, label) {
|
|
102924
|
+
if (value === void 0) {
|
|
102925
|
+
return void 0;
|
|
102926
|
+
}
|
|
102927
|
+
if (!isDecimalNonNegativeIntegerText(value)) {
|
|
102928
|
+
throw new ValidationError(`${label} must be a decimal non-negative integer.`);
|
|
102929
|
+
}
|
|
102930
|
+
const parsed = Number(value);
|
|
102931
|
+
if (!Number.isSafeInteger(parsed)) {
|
|
102932
|
+
throw new ValidationError(`${label} must be a decimal non-negative integer.`);
|
|
102933
|
+
}
|
|
102934
|
+
return parsed;
|
|
102935
|
+
}
|
|
102936
|
+
function isDecimalNonNegativeIntegerText(value) {
|
|
102937
|
+
if (value.length === 0) {
|
|
102938
|
+
return false;
|
|
102939
|
+
}
|
|
102940
|
+
if (value.length > 1 && value[0] === "0") {
|
|
102941
|
+
return false;
|
|
102942
|
+
}
|
|
102943
|
+
return [...value].every((char) => char >= "0" && char <= "9");
|
|
102944
|
+
}
|
|
102877
102945
|
async function readCommandContent(content) {
|
|
102878
102946
|
if (content !== void 0) {
|
|
102879
102947
|
return content;
|
|
@@ -103012,6 +103080,8 @@ function registerMemoryCommand(program, container) {
|
|
|
103012
103080
|
memory.command("edit").description("Open a page in $EDITOR.").argument("<path>", "Page path (relative to memory pages/)").option("--reason <text>", "Reason for the memory update", "edit").action(async (pagePath, options) => {
|
|
103013
103081
|
const flags = resolveCommandFlags(program);
|
|
103014
103082
|
const root = await resolveRoot(container);
|
|
103083
|
+
const mem = openMemory({ root });
|
|
103084
|
+
await assertInitialized(mem);
|
|
103015
103085
|
const relPath = resolvePageRelPath(pagePath);
|
|
103016
103086
|
const editor = resolveEditor4(container);
|
|
103017
103087
|
if (flags.dryRun) {
|
|
@@ -103030,10 +103100,7 @@ function registerMemoryCommand(program, container) {
|
|
|
103030
103100
|
const root = await resolveRoot(container);
|
|
103031
103101
|
const mem = openMemory({ root });
|
|
103032
103102
|
await assertInitialized(mem);
|
|
103033
|
-
const timeoutMs = options.timeoutMs
|
|
103034
|
-
if (timeoutMs !== void 0 && (!Number.isFinite(timeoutMs) || timeoutMs < 0)) {
|
|
103035
|
-
throw new ValidationError("Timeout must be a finite non-negative number.");
|
|
103036
|
-
}
|
|
103103
|
+
const timeoutMs = parseDecimalNonNegativeInteger(options.timeoutMs, "Timeout");
|
|
103037
103104
|
const result = await mem.ingest({
|
|
103038
103105
|
source: resolveIngestSource(container.env.cwd, source),
|
|
103039
103106
|
agent: options.agent,
|
|
@@ -103046,10 +103113,7 @@ function registerMemoryCommand(program, container) {
|
|
|
103046
103113
|
process.stdout.write(`${result.cacheHit ? "Cache hit" : "Ingested"}: ${result.diff.created.length} created, ${result.diff.updated.length} updated, ${result.diff.deleted.length} deleted.
|
|
103047
103114
|
`);
|
|
103048
103115
|
});
|
|
103049
|
-
memory.command("lint").description("Audit memory confidence and provenance claims.").
|
|
103050
|
-
if (options.fix) {
|
|
103051
|
-
throw new ValidationError("Automated memory lint repair is not available yet.");
|
|
103052
|
-
}
|
|
103116
|
+
memory.command("lint").description("Audit memory confidence and provenance claims.").action(async () => {
|
|
103053
103117
|
const root = await resolveRoot(container);
|
|
103054
103118
|
const mem = openMemory({ root });
|
|
103055
103119
|
await assertInitialized(mem);
|
|
@@ -103066,24 +103130,41 @@ function registerMemoryCommand(program, container) {
|
|
|
103066
103130
|
}
|
|
103067
103131
|
});
|
|
103068
103132
|
memory.command("query").description("Answer a question using memory-only context.").argument("<question>", "Question").option("--budget <tokens>", "Token budget").option("--agent <agent>", "Agent override").action(async (question, options) => {
|
|
103133
|
+
const flags = resolveCommandFlags(program);
|
|
103069
103134
|
const root = await resolveRoot(container);
|
|
103070
103135
|
const mem = openMemory({ root });
|
|
103071
103136
|
await assertInitialized(mem);
|
|
103137
|
+
const budget = await queryBudget(container, options.budget);
|
|
103138
|
+
if (flags.dryRun) {
|
|
103139
|
+
createExecutionResources(container, flags, "memory:query").logger.dryRun(
|
|
103140
|
+
`Would query memory with budget ${budget}.`
|
|
103141
|
+
);
|
|
103142
|
+
return;
|
|
103143
|
+
}
|
|
103072
103144
|
const result = await mem.query({
|
|
103073
103145
|
question,
|
|
103074
|
-
budget
|
|
103146
|
+
budget,
|
|
103075
103147
|
agent: options.agent
|
|
103076
103148
|
});
|
|
103077
103149
|
process.stdout.write(`${result.answer}
|
|
103078
103150
|
`);
|
|
103079
103151
|
});
|
|
103080
103152
|
memory.command("explain").description("Summarize a memory page and its relationships.").argument("<path>", "Page path (relative to memory pages/)").option("--budget <tokens>", "Token budget").option("--agent <agent>", "Agent override").action(async (pagePath, options) => {
|
|
103153
|
+
const flags = resolveCommandFlags(program);
|
|
103081
103154
|
const root = await resolveRoot(container);
|
|
103082
103155
|
const mem = openMemory({ root });
|
|
103083
103156
|
await assertInitialized(mem);
|
|
103157
|
+
const relPath = resolvePageRelPath(pagePath);
|
|
103158
|
+
const budget = await queryBudget(container, options.budget);
|
|
103159
|
+
if (flags.dryRun) {
|
|
103160
|
+
createExecutionResources(container, flags, "memory:explain").logger.dryRun(
|
|
103161
|
+
`Would explain ${relPath} with budget ${budget}.`
|
|
103162
|
+
);
|
|
103163
|
+
return;
|
|
103164
|
+
}
|
|
103084
103165
|
const result = await mem.explainPage({
|
|
103085
|
-
relPath
|
|
103086
|
-
budget
|
|
103166
|
+
relPath,
|
|
103167
|
+
budget,
|
|
103087
103168
|
agent: options.agent
|
|
103088
103169
|
});
|
|
103089
103170
|
process.stdout.write(`${result.answer}
|
|
@@ -103217,7 +103298,12 @@ function registerMemoryMcpCommand(program, container) {
|
|
|
103217
103298
|
projectConfigPath: container.env.projectConfigPath
|
|
103218
103299
|
});
|
|
103219
103300
|
const handle = openMemory({ root });
|
|
103220
|
-
const
|
|
103301
|
+
const allowWrites = options.allowWrites === true || await mcpWritesAllowed({
|
|
103302
|
+
fs: container.fs,
|
|
103303
|
+
filePath: container.env.configPath,
|
|
103304
|
+
projectFilePath: container.env.projectConfigPath
|
|
103305
|
+
});
|
|
103306
|
+
const { server } = await startMemoryMcpServer(handle, { allowWrites });
|
|
103221
103307
|
await server.listen();
|
|
103222
103308
|
});
|
|
103223
103309
|
}
|
|
@@ -103225,6 +103311,7 @@ var init_memory_mcp = __esm({
|
|
|
103225
103311
|
"src/cli/commands/memory-mcp.ts"() {
|
|
103226
103312
|
"use strict";
|
|
103227
103313
|
init_src45();
|
|
103314
|
+
init_src9();
|
|
103228
103315
|
}
|
|
103229
103316
|
});
|
|
103230
103317
|
|
|
@@ -137375,7 +137462,7 @@ var init_package2 = __esm({
|
|
|
137375
137462
|
"package.json"() {
|
|
137376
137463
|
package_default2 = {
|
|
137377
137464
|
name: "poe-code",
|
|
137378
|
-
version: "3.0.
|
|
137465
|
+
version: "3.0.312",
|
|
137379
137466
|
description: "CLI tool to configure Poe API for developer workflows.",
|
|
137380
137467
|
type: "module",
|
|
137381
137468
|
main: "./dist/index.js",
|