@daniel156161/prism 0.2.92 → 0.2.97

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 (66) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +386 -181
  3. package/dist/pi/pi-context-files.d.ts +6 -0
  4. package/dist/pi/pi-context-files.js +17 -0
  5. package/dist/pi/pi-context-files.js.map +1 -0
  6. package/dist/pi/pi-extensions.d.ts +0 -1
  7. package/dist/pi/pi-extensions.js +7 -22
  8. package/dist/pi/pi-extensions.js.map +1 -1
  9. package/dist/pi/pi-npm-extension-entry.d.ts +2 -0
  10. package/dist/pi/pi-npm-extension-entry.js +74 -0
  11. package/dist/pi/pi-npm-extension-entry.js.map +1 -0
  12. package/dist/pi/pi-package.js +4 -0
  13. package/dist/pi/pi-package.js.map +1 -1
  14. package/dist/pi/pi-patch-context-files.d.ts +12 -0
  15. package/dist/pi/pi-patch-context-files.js +46 -0
  16. package/dist/pi/pi-patch-context-files.js.map +1 -0
  17. package/dist/pi/pi-patch-interactive.js +5 -1
  18. package/dist/pi/pi-patch-interactive.js.map +1 -1
  19. package/dist/pi/plan-mode-tools.d.ts +13 -0
  20. package/dist/pi/plan-mode-tools.js +54 -0
  21. package/dist/pi/plan-mode-tools.js.map +1 -0
  22. package/dist/prism-extensions/core/mex-anchor.d.ts +9 -0
  23. package/dist/prism-extensions/core/mex-anchor.js +29 -0
  24. package/dist/prism-extensions/core/mex-anchor.js.map +1 -0
  25. package/dist/prism-extensions/core/mex-cli.d.ts +68 -0
  26. package/dist/prism-extensions/core/mex-cli.js +183 -0
  27. package/dist/prism-extensions/core/mex-cli.js.map +1 -0
  28. package/dist/prism-extensions/core/mex-graph-db.d.ts +26 -0
  29. package/dist/prism-extensions/core/mex-graph-db.js +69 -0
  30. package/dist/prism-extensions/core/mex-graph-db.js.map +1 -0
  31. package/dist/prism-extensions/integrations/ai-memory-system.js +27 -6
  32. package/dist/prism-extensions/integrations/ai-memory-system.js.map +1 -1
  33. package/dist/prism-extensions/integrations/mex-memory.d.ts +21 -0
  34. package/dist/prism-extensions/integrations/mex-memory.js +231 -0
  35. package/dist/prism-extensions/integrations/mex-memory.js.map +1 -0
  36. package/dist/prism-extensions/tools/builtin-tools.js +2 -0
  37. package/dist/prism-extensions/tools/builtin-tools.js.map +1 -1
  38. package/dist/prism-extensions/tools/mex-tools.d.ts +2 -0
  39. package/dist/prism-extensions/tools/mex-tools.js +78 -0
  40. package/dist/prism-extensions/tools/mex-tools.js.map +1 -0
  41. package/dist/prism-extensions/tools/prism-diagnostic-tools.js +10 -10
  42. package/dist/prism-extensions/tools/prism-diagnostic-tools.js.map +1 -1
  43. package/dist/prism-extensions/tools/toolbox.js +1 -1
  44. package/dist/prism-extensions/tools/toolbox.js.map +1 -1
  45. package/dist/prism-extensions/ui/toolbar.d.ts +2 -0
  46. package/dist/prism-extensions/ui/toolbar.js +10 -1
  47. package/dist/prism-extensions/ui/toolbar.js.map +1 -1
  48. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js +15 -0
  49. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +6 -6
  50. package/package.json +17 -4
  51. package/src/prism-extensions/README.md +10 -1
  52. package/src/prism-extensions/core/mex-anchor.ts +29 -0
  53. package/src/prism-extensions/core/mex-cli.ts +217 -0
  54. package/src/prism-extensions/core/mex-graph-db.ts +76 -0
  55. package/src/prism-extensions/integrations/ai-memory-system.ts +30 -6
  56. package/src/prism-extensions/integrations/mex-memory.ts +264 -0
  57. package/src/prism-extensions/tools/builtin-tools.ts +2 -0
  58. package/src/prism-extensions/tools/mex-tools.ts +93 -0
  59. package/src/prism-extensions/tools/prism-diagnostic-tools.ts +10 -10
  60. package/src/prism-extensions/tools/toolbox.ts +1 -1
  61. package/src/prism-extensions/ui/toolbar.ts +10 -1
  62. package/src/prism-extensions/commands/voice-command.ts +0 -49
  63. package/src/prism-extensions/core/voice-runtime.ts +0 -322
  64. package/src/prism-extensions/core/voicebox-client.ts +0 -205
  65. package/src/prism-extensions/core/voicebox-service.ts +0 -137
  66. package/src/prism-extensions/integrations/honcho-memory.ts +0 -299
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Files Prism hands to pi as additional context files. They are listed under "Context" at startup
3
+ * and injected into the system prompt exactly like AGENTS.md / CLAUDE.md.
4
+ */
5
+ export declare function prismExtraContextFiles(env?: NodeJS.ProcessEnv, cwd?: string): string[];
6
+ export declare function prismExtraContextFilesEnvValue(env?: NodeJS.ProcessEnv, cwd?: string): string;
@@ -0,0 +1,17 @@
1
+ import { mexAnchorContextFile } from "../prism-extensions/core/mex-anchor.js";
2
+ import { PRISM_EXTRA_CONTEXT_FILES_SEPARATOR } from "./pi-patch-context-files.js";
3
+ /**
4
+ * Files Prism hands to pi as additional context files. They are listed under "Context" at startup
5
+ * and injected into the system prompt exactly like AGENTS.md / CLAUDE.md.
6
+ */
7
+ export function prismExtraContextFiles(env = process.env, cwd = process.cwd()) {
8
+ const files = [];
9
+ const mexAnchor = mexAnchorContextFile(cwd, env);
10
+ if (mexAnchor)
11
+ files.push(mexAnchor);
12
+ return files;
13
+ }
14
+ export function prismExtraContextFilesEnvValue(env = process.env, cwd = process.cwd()) {
15
+ return prismExtraContextFiles(env, cwd).join(PRISM_EXTRA_CONTEXT_FILES_SEPARATOR);
16
+ }
17
+ //# sourceMappingURL=pi-context-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-context-files.js","sourceRoot":"","sources":["../../src/pi/pi-context-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC7E,OAAO,EAAE,mCAAmC,EAAE,MAAM,6BAA6B,CAAA;AAEjF;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC9F,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAChD,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACpC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACtG,OAAO,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;AACnF,CAAC"}
@@ -1,7 +1,6 @@
1
1
  export declare const PRISM_BUILTIN_EXTENSION_FILES: string[];
2
2
  export declare const PRISM_BUILTIN_NPM_EXTENSION_PACKAGES: string[];
3
3
  export declare function isManifestProviderAvailable(env?: NodeJS.ProcessEnv): boolean;
4
- export declare function isHonchoMemoryAvailable(env?: NodeJS.ProcessEnv): boolean;
5
4
  export declare function getOllamaApiBaseUrl(env?: NodeJS.ProcessEnv): string;
6
5
  export declare function isOllamaProviderAvailable(env?: NodeJS.ProcessEnv): boolean;
7
6
  export declare function prismBuiltinExtensionPaths(env?: NodeJS.ProcessEnv): string[];
@@ -1,8 +1,9 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as path from "node:path";
3
3
  import { spawnSync } from "node:child_process";
4
- import { fileURLToPath } from "node:url";
5
4
  import { getPrismAgentDir, repoRoot } from "./pi-env.js";
5
+ import { resolveNpmExtensionEntry } from "./pi-npm-extension-entry.js";
6
+ import { isMexAvailable } from "../prism-extensions/core/mex-cli.js";
6
7
  export const PRISM_BUILTIN_EXTENSION_FILES = [
7
8
  "commands/caveman-mode.ts",
8
9
  "commands/clear-session.ts",
@@ -11,14 +12,13 @@ export const PRISM_BUILTIN_EXTENSION_FILES = [
11
12
  "commands/plan-command.ts",
12
13
  "commands/prompt-review-command.ts",
13
14
  "commands/self-improve-command.ts",
14
- "commands/voice-command.ts",
15
15
  "commands/vote-command.ts",
16
16
  "integrations/obsidian-memory.ts",
17
17
  "integrations/logseq-memory.ts",
18
- "integrations/honcho-memory.ts",
19
18
  "integrations/research-tools.ts",
20
19
  "integrations/ai-memory-system.ts",
21
20
  "integrations/rp-memory.ts",
21
+ "integrations/mex-memory.ts",
22
22
  "providers/manifest-provider.ts",
23
23
  "providers/ollama-provider.ts",
24
24
  "tools/toolbox.ts",
@@ -35,7 +35,6 @@ const ALWAYS_ON_EXTENSION_RELATIVE_PATHS = [
35
35
  "commands/plan-command.ts",
36
36
  "commands/prompt-review-command.ts",
37
37
  "commands/self-improve-command.ts",
38
- "commands/voice-command.ts",
39
38
  "commands/vote-command.ts",
40
39
  "integrations/obsidian-memory.ts",
41
40
  "integrations/logseq-memory.ts",
@@ -48,10 +47,10 @@ const ALWAYS_ON_EXTENSION_RELATIVE_PATHS = [
48
47
  "ui/prism-status.ts",
49
48
  "ui/toolbar.ts",
50
49
  ];
51
- export const PRISM_BUILTIN_NPM_EXTENSION_PACKAGES = ["pi-mcp-adapter"];
50
+ export const PRISM_BUILTIN_NPM_EXTENSION_PACKAGES = ["pi-mcp-adapter", "@juicesharp/rpiv-voice", "@juicesharp/rpiv-todo"];
52
51
  const OLLAMA_PROVIDER_RELATIVE_PATH = path.join("providers", "ollama-provider.ts");
53
52
  const MANIFEST_PROVIDER_RELATIVE_PATH = path.join("providers", "manifest-provider.ts");
54
- const HONCHO_MEMORY_RELATIVE_PATH = path.join("integrations", "honcho-memory.ts");
53
+ const MEX_MEMORY_RELATIVE_PATH = path.join("integrations", "mex-memory.ts");
55
54
  function nonEmptyString(value) {
56
55
  return typeof value === "string" && value.trim() ? value.trim() : undefined;
57
56
  }
@@ -68,11 +67,6 @@ export function isManifestProviderAvailable(env = process.env) {
68
67
  const manifest = settings?.manifestProvider ?? settings?.manifest ?? settings?.providers?.manifest ?? {};
69
68
  return !!(nonEmptyString(env.PRISM_MANIFEST_BASE_URL) ?? nonEmptyString(env.MANIFEST_BASE_URL) ?? nonEmptyString(manifest?.baseUrl) ?? nonEmptyString(manifest?.baseURL));
70
69
  }
71
- export function isHonchoMemoryAvailable(env = process.env) {
72
- const settings = readPrismSettings(env);
73
- const honcho = settings?.honchoMemory ?? settings?.honcho ?? settings?.integrations?.honcho ?? settings?.memory?.honcho ?? {};
74
- return !!(nonEmptyString(env.PRISM_HONCHO_BASE_URL) ?? nonEmptyString(env.HONCHO_BASE_URL) ?? nonEmptyString(honcho?.baseUrl) ?? nonEmptyString(honcho?.baseURL) ?? nonEmptyString(honcho?.url));
75
- }
76
70
  export function getOllamaApiBaseUrl(env = process.env) {
77
71
  const raw = nonEmptyString(env.PRISM_OLLAMA_BASE_URL) ?? nonEmptyString(env.OLLAMA_BASE_URL) ?? "http://localhost:11434/v1";
78
72
  const base = raw.replace(/\/+$/, "");
@@ -102,24 +96,15 @@ export function isOllamaProviderAvailable(env = process.env) {
102
96
  return false;
103
97
  }
104
98
  }
105
- function resolveNpmExtensionEntry(packageName) {
106
- try {
107
- const resolved = import.meta.resolve(packageName);
108
- return resolved.startsWith("file:") ? fileURLToPath(resolved) : resolved;
109
- }
110
- catch {
111
- return undefined;
112
- }
113
- }
114
99
  export function prismBuiltinExtensionPaths(env = process.env) {
115
100
  const dir = path.join(repoRoot(), "src", "prism-extensions");
116
101
  const relativePaths = [...ALWAYS_ON_EXTENSION_RELATIVE_PATHS];
117
- if (isHonchoMemoryAvailable(env))
118
- relativePaths.push(HONCHO_MEMORY_RELATIVE_PATH);
119
102
  if (isOllamaProviderAvailable(env))
120
103
  relativePaths.push(OLLAMA_PROVIDER_RELATIVE_PATH);
121
104
  if (isManifestProviderAvailable(env))
122
105
  relativePaths.push(MANIFEST_PROVIDER_RELATIVE_PATH);
106
+ if (isMexAvailable(env))
107
+ relativePaths.push(MEX_MEMORY_RELATIVE_PATH);
123
108
  const sourceExtensions = relativePaths
124
109
  .map((file) => path.join(dir, file))
125
110
  .filter((file) => fs.existsSync(file));
@@ -1 +1 @@
1
- {"version":3,"file":"pi-extensions.js","sourceRoot":"","sources":["../../src/pi/pi-extensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi-extensions.js","sourceRoot":"","sources":["../../src/pi/pi-extensions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function resolveNpmPackageDir(packageName: string): string | undefined;
2
+ export declare function resolveNpmExtensionEntry(packageName: string): string | undefined;
@@ -0,0 +1,74 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import { createRequire } from "node:module";
4
+ import { fileURLToPath } from "node:url";
5
+ import { repoRoot } from "./pi-env.js";
6
+ /**
7
+ * Resolves the extension entry file of an npm package that ships a pi extension.
8
+ *
9
+ * Two shapes are supported:
10
+ * - packages with an `exports`/`main` entry that already points at the extension file
11
+ * (e.g. `pi-mcp-adapter`)
12
+ * - packages that only declare their entry in the pi manifest (`pi.extensions` in
13
+ * package.json), which Node cannot resolve on its own (e.g. `@juicesharp/rpiv-voice`)
14
+ */
15
+ function toFilePath(specifier) {
16
+ if (specifier.startsWith("file:"))
17
+ return fileURLToPath(specifier);
18
+ return specifier.startsWith("/") ? specifier : undefined;
19
+ }
20
+ function resolveModuleEntry(packageName) {
21
+ try {
22
+ return toFilePath(import.meta.resolve(packageName));
23
+ }
24
+ catch {
25
+ return undefined;
26
+ }
27
+ }
28
+ export function resolveNpmPackageDir(packageName) {
29
+ try {
30
+ const manifest = toFilePath(import.meta.resolve(`${packageName}/package.json`));
31
+ if (manifest && fs.existsSync(manifest))
32
+ return path.dirname(manifest);
33
+ }
34
+ catch {
35
+ // package.json is not exported, fall through to the manual lookups below
36
+ }
37
+ const require = createRequire(import.meta.url);
38
+ for (const base of [path.dirname(fileURLToPath(import.meta.url)), repoRoot(), process.cwd()]) {
39
+ for (const root of require.resolve.paths(packageName) ?? [path.join(base, "node_modules")]) {
40
+ const candidate = path.join(root, ...packageName.split("/"));
41
+ if (fs.existsSync(path.join(candidate, "package.json")))
42
+ return candidate;
43
+ }
44
+ }
45
+ return undefined;
46
+ }
47
+ function resolveManifestEntry(packageName) {
48
+ const dir = resolveNpmPackageDir(packageName);
49
+ if (!dir)
50
+ return undefined;
51
+ let manifest;
52
+ try {
53
+ manifest = JSON.parse(fs.readFileSync(path.join(dir, "package.json"), "utf-8"));
54
+ }
55
+ catch {
56
+ return undefined;
57
+ }
58
+ const entries = Array.isArray(manifest?.pi?.extensions) ? manifest.pi.extensions : [];
59
+ for (const entry of entries) {
60
+ if (typeof entry !== "string" || !entry.trim())
61
+ continue;
62
+ const file = path.resolve(dir, entry);
63
+ if (fs.existsSync(file))
64
+ return file;
65
+ }
66
+ return undefined;
67
+ }
68
+ export function resolveNpmExtensionEntry(packageName) {
69
+ const moduleEntry = resolveModuleEntry(packageName);
70
+ if (moduleEntry && fs.existsSync(moduleEntry))
71
+ return moduleEntry;
72
+ return resolveManifestEntry(packageName);
73
+ }
74
+ //# sourceMappingURL=pi-npm-extension-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-npm-extension-entry.js","sourceRoot":"","sources":["../../src/pi/pi-npm-extension-entry.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ import { assertSupportedPiPackageVersion, getPrismAgentDir, repoRoot, resolvePiC
4
4
  import { getPrismPackageVersion } from "./pi-branding.js";
5
5
  import { patchPrismAuthStorage } from "./pi-patch-auth.js";
6
6
  import { patchPrismAutocomplete } from "./pi-patch-autocomplete.js";
7
+ import { patchPrismContextFiles, PRISM_EXTRA_CONTEXT_FILES_ENV } from "./pi-patch-context-files.js";
8
+ import { prismExtraContextFilesEnvValue } from "./pi-context-files.js";
7
9
  import { patchPrismExtensionLoader } from "./pi-patch-extension-loader.js";
8
10
  import { patchPrismBranding } from "./pi-patch-interactive.js";
9
11
  import { patchPrismSessionPersistence } from "./pi-patch-session.js";
@@ -45,6 +47,7 @@ export function createPiEnv(env = process.env, cwd = process.cwd()) {
45
47
  PI_AUTH_PATH: authPath,
46
48
  PI_PACKAGE_DIR: ensurePrismPackageDir(prismDir, cwd, env),
47
49
  PI_SKIP_VERSION_CHECK: env.PI_SKIP_VERSION_CHECK ?? "1",
50
+ [PRISM_EXTRA_CONTEXT_FILES_ENV]: prismExtraContextFilesEnvValue(env, cwd),
48
51
  OLLAMA_API_KEY: env.OLLAMA_API_KEY ?? "prism-local-ollama",
49
52
  };
50
53
  }
@@ -60,6 +63,7 @@ export function ensurePrismPackageDir(prismDir = getPrismAgentDir(), cwd = proce
60
63
  patchPrismSessionPersistence(piPackageDir);
61
64
  patchPrismExtensionLoader(piPackageDir);
62
65
  patchPrismAutocomplete(piPackageDir);
66
+ patchPrismContextFiles(piPackageDir);
63
67
  // Prism runtime pi-package dir: piConfig package.json + lightweight links to bundled pi assets.
64
68
  // pi itself points users at `${PI_PACKAGE_DIR}/docs/...` in help/error messages. Use symlinks
65
69
  // instead of copying docs/examples so the runtime package stays small and up to date.
@@ -1 +1 @@
1
- {"version":3,"file":"pi-package.js","sourceRoot":"","sources":["../../src/pi/pi-package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi-package.js","sourceRoot":"","sources":["../../src/pi/pi-package.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Newline-separated absolute paths that pi should treat like AGENTS.md/CLAUDE.md.
3
+ * Newline is used instead of `path.delimiter` so the patched pi code needs no extra imports.
4
+ */
5
+ export declare const PRISM_EXTRA_CONTEXT_FILES_ENV = "PRISM_EXTRA_CONTEXT_FILES";
6
+ export declare const PRISM_EXTRA_CONTEXT_FILES_SEPARATOR = "\n";
7
+ export declare function patchPrismContextFilesSource(source: string): string;
8
+ export declare function patchPrismContextFiles(runtimeDir: string): void;
9
+ export declare const __testContextFilesPatchFragments: {
10
+ search: string;
11
+ replacement: string;
12
+ };
@@ -0,0 +1,46 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import { replaceRequired } from "./pi-env.js";
4
+ /**
5
+ * Newline-separated absolute paths that pi should treat like AGENTS.md/CLAUDE.md.
6
+ * Newline is used instead of `path.delimiter` so the patched pi code needs no extra imports.
7
+ */
8
+ export const PRISM_EXTRA_CONTEXT_FILES_ENV = "PRISM_EXTRA_CONTEXT_FILES";
9
+ export const PRISM_EXTRA_CONTEXT_FILES_SEPARATOR = "\n";
10
+ const SEARCH = " contextFiles.push(...ancestorContextFiles);\n return contextFiles;";
11
+ const REPLACEMENT = ` contextFiles.push(...ancestorContextFiles);
12
+ // prism: extra context files (e.g. .mex/AGENTS.md) load like AGENTS.md so they appear under "Context".
13
+ for (const extraContextEntry of (process.env.${PRISM_EXTRA_CONTEXT_FILES_ENV} ?? "").split("\\n")) {
14
+ const extraContextPath = extraContextEntry.trim();
15
+ if (!extraContextPath || seenPaths.has(extraContextPath))
16
+ continue;
17
+ try {
18
+ if (!statSync(extraContextPath).isFile())
19
+ continue;
20
+ contextFiles.push({ path: extraContextPath, content: readFileSync(extraContextPath, "utf-8") });
21
+ seenPaths.add(extraContextPath);
22
+ }
23
+ catch {
24
+ // Unreadable extra context file: ignore, it is optional by design.
25
+ }
26
+ }
27
+ return contextFiles;`;
28
+ export function patchPrismContextFilesSource(source) {
29
+ if (source.includes(PRISM_EXTRA_CONTEXT_FILES_ENV))
30
+ return source;
31
+ // A silent no-op would drop the "Context" listing without any signal, so fail loudly instead.
32
+ if (!source.includes(SEARCH))
33
+ throw new Error("Unable to patch pi resource-loader.js: loadProjectContextFiles fragment not found");
34
+ return replaceRequired(source, SEARCH, REPLACEMENT, "extra-context-files");
35
+ }
36
+ export function patchPrismContextFiles(runtimeDir) {
37
+ const resourceLoaderFile = path.join(runtimeDir, "dist", "core", "resource-loader.js");
38
+ if (!fs.existsSync(resourceLoaderFile))
39
+ throw new Error(`Unable to patch pi context files: ${resourceLoaderFile} not found`);
40
+ const source = fs.readFileSync(resourceLoaderFile, "utf-8");
41
+ const patched = patchPrismContextFilesSource(source);
42
+ if (patched !== source)
43
+ fs.writeFileSync(resourceLoaderFile, patched, "utf-8");
44
+ }
45
+ export const __testContextFilesPatchFragments = { search: SEARCH, replacement: REPLACEMENT };
46
+ //# sourceMappingURL=pi-patch-context-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-patch-context-files.js","sourceRoot":"","sources":["../../src/pi/pi-patch-context-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,2BAA2B,CAAA;AAExE,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAA;AAEvD,MAAM,MAAM,GAAG,2EAA2E,CAAA;AAE1F,MAAM,WAAW,GAAG;;mDAE+B,6BAA6B;;;;;;;;;;;;;;yBAcvD,CAAA;AAEzB,MAAM,UAAU,4BAA4B,CAAC,MAAc;IACzD,IAAI,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAAE,OAAO,MAAM,CAAA;IACjE,8FAA8F;IAC9F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAA;IAClI,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAA;IACtF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,kBAAkB,YAAY,CAAC,CAAA;IAE5H,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAA;IACpD,IAAI,OAAO,KAAK,MAAM;QAAE,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA"}
@@ -4,6 +4,7 @@ import { rainbowPrismVersion } from "./pi-branding.js";
4
4
  import { replaceRequired } from "./pi-env.js";
5
5
  import { PRISM_BUILTIN_EXTENSION_FILES, PRISM_BUILTIN_NPM_EXTENSION_PACKAGES } from "./pi-extensions.js";
6
6
  import { patchPrismSystemPromptSource } from "./pi-patch-system-prompt.js";
7
+ import { prismPlanReadOnlyToolSetDeclaration, refreshPrismPlanReadOnlyToolSet } from "./plan-mode-tools.js";
7
8
  // Single source of truth: derive the internal-extension basenames from the
8
9
  // built-in extension files so both lists can never drift apart.
9
10
  export const PRISM_INTERNAL_EXTENSION_FILES = [
@@ -98,6 +99,9 @@ export function patchPrismBranding(runtimeDir, piHarnessVersion) {
98
99
  patched = replaceRequired(patched, "if (text === \"/reload\") {", "if (text === \"/plan\" || text.startsWith(\"/plan \")) {\n const task = text.startsWith(\"/plan \") ? text.slice(6).trim() : \"\";\n this.editor.setText(\"\");\n await this.startPrismPlanMode(task);\n return;\n }\n if (text === \"/plan:approve\") {\n this.editor.setText(\"\");\n await this.approvePrismPlan();\n return;\n }\n if (text === \"/plan:reject\") {\n this.editor.setText(\"\");\n this.rejectPrismPlan();\n return;\n }\n if (text === \"/plan:cancel\") {\n this.editor.setText(\"\");\n this.cancelPrismPlan();\n return;\n }\n if (text === \"/reload\") {", "plan-commands");
99
100
  patched = replaceRequired(patched, "text.startsWith(\"/plan \") ? text.slice(6).trim() :", "text.startsWith(\"/plan \") ? text.slice(6).trim() :", "plan-search-noop");
100
101
  patched = replaceRequired(patched, " case \"agent_settled\":\n await this.checkShutdownRequested();\n break;", " case \"agent_settled\":\n await this.checkShutdownRequested();\n void this.maybeShowUsageLimitRecoveryMenu(event);\n void this.maybeShowPrismPlanApprovalMenu(event);\n break;", "usage-limit-check");
102
+ // Keep an already patched runtime in sync before the injection below, otherwise a
103
+ // changed allowlist would no longer match and the whole method block gets injected twice.
104
+ patched = refreshPrismPlanReadOnlyToolSet(patched);
101
105
  patched = replaceRequired(patched, " /** Extract text content from a user message */", ` formatUsageLimitDuration(ms) {
102
106
  const totalMinutes = Math.ceil(ms / 60000);
103
107
  const hours = Math.floor(totalMinutes / 60);
@@ -202,7 +206,7 @@ export function patchPrismBranding(runtimeDir, piHarnessVersion) {
202
206
  });
203
207
  }
204
208
  getPrismReadOnlyToolNames() {
205
- const readOnly = new Set(["read", "grep", "find", "ls", "obsidian_memory_read", "obsidian_memory_search", "obsidian_memory_list", "web_search", "web_fetch"]);
209
+ ${prismPlanReadOnlyToolSetDeclaration()}
206
210
  return this.session.getActiveToolNames().filter((name) => readOnly.has(name));
207
211
  }
208
212
  setPrismPlanStatus(enabled) {
@@ -1 +1 @@
1
- {"version":3,"file":"pi-patch-interactive.js","sourceRoot":"","sources":["../../src/pi/pi-patch-interactive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi-patch-interactive.js","sourceRoot":"","sources":["../../src/pi/pi-patch-interactive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Tools the agent may keep while Prism plan mode is active.
3
+ *
4
+ * Plan mode is read-only: `startPrismPlanMode()` narrows the session to the
5
+ * intersection of the active tools and this allowlist, and restores the previous
6
+ * tool set when the plan is approved, rejected or cancelled.
7
+ *
8
+ * Only add tools that cannot mutate the repo, the vault or any remote state.
9
+ */
10
+ export declare const PRISM_PLAN_MODE_READ_ONLY_TOOLS: string[];
11
+ export declare function prismPlanReadOnlyToolSetDeclaration(variableName?: string): string;
12
+ /** Keeps an already patched runtime in sync when the allowlist changes. */
13
+ export declare function refreshPrismPlanReadOnlyToolSet(source: string): string;
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Tools the agent may keep while Prism plan mode is active.
3
+ *
4
+ * Plan mode is read-only: `startPrismPlanMode()` narrows the session to the
5
+ * intersection of the active tools and this allowlist, and restores the previous
6
+ * tool set when the plan is approved, rejected or cancelled.
7
+ *
8
+ * Only add tools that cannot mutate the repo, the vault or any remote state.
9
+ */
10
+ export const PRISM_PLAN_MODE_READ_ONLY_TOOLS = [
11
+ // pi built-ins
12
+ "read",
13
+ "grep",
14
+ "find",
15
+ "ls",
16
+ // research
17
+ "web_search",
18
+ "web_fetch",
19
+ // Obsidian / Logseq memory reads (append stays disabled)
20
+ "obsidian_memory_read",
21
+ "obsidian_memory_search",
22
+ "obsidian_memory_list",
23
+ "logseq_read",
24
+ "logseq_search",
25
+ "logseq_list",
26
+ // AI Memory System reads (rate/propose/approve and vault writes stay disabled)
27
+ "ai_memory_search",
28
+ "ai_memory_read",
29
+ "ai_memory_status",
30
+ "ai_memory_vault_list",
31
+ // mex code graph reads. These can build a missing .mex/graph.db, which is a derived
32
+ // index and never project source. PRISM_DISABLE_MEX_AUTO_GRAPH=1 turns that off.
33
+ "mex_scope",
34
+ "mex_get",
35
+ "mex_query",
36
+ "mex_impact",
37
+ // role-play context reads (rp_update stays disabled)
38
+ "rp_state",
39
+ "rp_search",
40
+ // discovery and history without execution (toolbox_execute stays disabled)
41
+ "toolbox_search",
42
+ "self_improvement_list",
43
+ // Session-scoped task list: no disk writes, keeps the plan's steps visible.
44
+ "todo",
45
+ ];
46
+ export function prismPlanReadOnlyToolSetDeclaration(variableName = "readOnly") {
47
+ const values = PRISM_PLAN_MODE_READ_ONLY_TOOLS.map((tool) => JSON.stringify(tool)).join(", ");
48
+ return `const ${variableName} = new Set([${values}]);`;
49
+ }
50
+ /** Keeps an already patched runtime in sync when the allowlist changes. */
51
+ export function refreshPrismPlanReadOnlyToolSet(source) {
52
+ return source.replace(/const readOnly = new Set\(\[[^\]]*\]\);\n(\s*)return this\.session\.getActiveToolNames\(\)/g, `${prismPlanReadOnlyToolSetDeclaration()}\n$1return this.session.getActiveToolNames()`);
53
+ }
54
+ //# sourceMappingURL=plan-mode-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-mode-tools.js","sourceRoot":"","sources":["../../src/pi/plan-mode-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,eAAe;IACf,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IAEJ,WAAW;IACX,YAAY;IACZ,WAAW;IAEX,yDAAyD;IACzD,sBAAsB;IACtB,wBAAwB;IACxB,sBAAsB;IACtB,aAAa;IACb,eAAe;IACf,aAAa;IAEb,+EAA+E;IAC/E,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IAEtB,oFAAoF;IACpF,iFAAiF;IACjF,WAAW;IACX,SAAS;IACT,WAAW;IACX,YAAY;IAEZ,qDAAqD;IACrD,UAAU;IACV,WAAW;IAEX,2EAA2E;IAC3E,gBAAgB;IAChB,uBAAuB;IAEvB,4EAA4E;IAC5E,MAAM;CACP,CAAA;AAED,MAAM,UAAU,mCAAmC,CAAC,YAAY,GAAG,UAAU;IAC3E,MAAM,MAAM,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7F,OAAO,SAAS,YAAY,eAAe,MAAM,KAAK,CAAA;AACxD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,+BAA+B,CAAC,MAAc;IAC5D,OAAO,MAAM,CAAC,OAAO,CACnB,6FAA6F,EAC7F,GAAG,mCAAmC,EAAE,8CAA8C,CACvF,CAAA;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ /** Anchor file every mex scaffold exposes as its always-loaded entry point. */
2
+ export declare const MEX_ANCHOR_FILE = "AGENTS.md";
3
+ export declare function mexAnchorPath(cwd?: string): string;
4
+ export declare function isMexAnchorEnabled(env?: NodeJS.ProcessEnv): boolean;
5
+ /**
6
+ * Absolute path of `.mex/AGENTS.md` when it should be loaded as a pi context file,
7
+ * i.e. the mex CLI plus scaffold are available and the anchor is not disabled.
8
+ */
9
+ export declare function mexAnchorContextFile(cwd?: string, env?: NodeJS.ProcessEnv): string | undefined;
@@ -0,0 +1,29 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import { isMexAvailable, mexScaffoldDir } from "./mex-cli.js";
4
+ /** Anchor file every mex scaffold exposes as its always-loaded entry point. */
5
+ export const MEX_ANCHOR_FILE = "AGENTS.md";
6
+ export function mexAnchorPath(cwd = process.cwd()) {
7
+ return path.join(mexScaffoldDir(cwd), MEX_ANCHOR_FILE);
8
+ }
9
+ export function isMexAnchorEnabled(env = process.env) {
10
+ return env.PRISM_DISABLE_MEX_ANCHOR !== "1";
11
+ }
12
+ /**
13
+ * Absolute path of `.mex/AGENTS.md` when it should be loaded as a pi context file,
14
+ * i.e. the mex CLI plus scaffold are available and the anchor is not disabled.
15
+ */
16
+ export function mexAnchorContextFile(cwd = process.cwd(), env = process.env) {
17
+ if (!isMexAnchorEnabled(env))
18
+ return undefined;
19
+ if (!isMexAvailable(env, cwd))
20
+ return undefined;
21
+ const anchor = mexAnchorPath(cwd);
22
+ try {
23
+ return fs.statSync(anchor).isFile() ? anchor : undefined;
24
+ }
25
+ catch {
26
+ return undefined;
27
+ }
28
+ }
29
+ //# sourceMappingURL=mex-anchor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mex-anchor.js","sourceRoot":"","sources":["../../../src/prism-extensions/core/mex-anchor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7D,+EAA+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAA;AAE1C,MAAM,UAAU,aAAa,CAAC,GAAG,GAAW,OAAO,CAAC,GAAG,EAAE;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IACrE,OAAO,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAA;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAG,GAAW,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG;IACpG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;IAC9C,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { execFile, spawnSync } from "node:child_process";
2
+ declare const execFileAsync: typeof execFile.__promisify__;
3
+ export type MexExecRunner = typeof execFileAsync;
4
+ export type MexDetail = "minimal" | "standard" | "source";
5
+ export type MexRelation = "who-calls" | "what-calls" | "where-defined";
6
+ export type MexLogType = "decision" | "note" | "risk" | "todo";
7
+ export declare const MEX_DETAIL_LEVELS: MexDetail[];
8
+ export declare const MEX_RELATIONS: MexRelation[];
9
+ export declare const MEX_LOG_TYPES: MexLogType[];
10
+ export declare const MEX_SCAFFOLD_DIR = ".mex";
11
+ export declare const DEFAULT_MEX_TIMEOUT_MS = 60000;
12
+ export declare function mexBinary(env?: NodeJS.ProcessEnv): string;
13
+ /** mex telemetry is opt-out; Prism keeps it off unless explicitly enabled. */
14
+ export declare function mexEnv(env?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
15
+ export declare function isMexCliInstalled(env?: NodeJS.ProcessEnv, runSync?: typeof spawnSync): boolean;
16
+ export declare function mexScaffoldDir(cwd?: string): string;
17
+ export declare function hasMexScaffold(cwd?: string): boolean;
18
+ /** Tools only make sense when the CLI exists and the repo is scaffolded (or forced). */
19
+ export declare function isMexAvailable(env?: NodeJS.ProcessEnv, cwd?: string, runSync?: typeof spawnSync): boolean;
20
+ export type MexRetrievalOptions = {
21
+ detail?: unknown;
22
+ maxNodes?: unknown;
23
+ maxOutputTokens?: unknown;
24
+ maxSourceLines?: unknown;
25
+ };
26
+ export declare function mexDetail(value: unknown, fallback?: MexDetail): MexDetail;
27
+ export declare function buildScopeArgs(task: unknown, options?: MexRetrievalOptions & {
28
+ fingerprint?: unknown;
29
+ }): string[];
30
+ export declare function buildGetArgs(ids: unknown, options?: Pick<MexRetrievalOptions, "maxOutputTokens" | "maxSourceLines">): string[];
31
+ export declare function buildQueryArgs(relation: unknown, target: unknown, options?: MexRetrievalOptions): string[];
32
+ export declare function buildImpactArgs(target: unknown, options?: MexRetrievalOptions & {
33
+ depth?: unknown;
34
+ }): string[];
35
+ export declare function buildGraphArgs(options?: {
36
+ json?: unknown;
37
+ root?: unknown;
38
+ }): string[];
39
+ export declare function buildCheckArgs(options?: {
40
+ json?: unknown;
41
+ quiet?: unknown;
42
+ }): string[];
43
+ export declare function buildTimelineArgs(options?: {
44
+ json?: unknown;
45
+ since?: unknown;
46
+ type?: unknown;
47
+ limit?: unknown;
48
+ }): string[];
49
+ export declare function buildLogArgs(message: unknown, options?: {
50
+ type?: unknown;
51
+ files?: unknown;
52
+ source?: unknown;
53
+ status?: unknown;
54
+ }): string[];
55
+ export type MexRunResult = {
56
+ ok: boolean;
57
+ exitCode: number;
58
+ output: string;
59
+ };
60
+ export type MexRunOptions = {
61
+ cwd?: string;
62
+ env?: NodeJS.ProcessEnv;
63
+ timeoutMs?: number;
64
+ maxBuffer?: number;
65
+ runner?: MexExecRunner;
66
+ };
67
+ export declare function runMex(args: string[], options?: MexRunOptions): Promise<MexRunResult>;
68
+ export {};