@daniel156161/prism 0.2.78 → 0.2.82

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 (204) hide show
  1. package/dist/pi/pi-env.d.ts +1 -1
  2. package/dist/pi/pi-env.js +1 -1
  3. package/dist/pi/pi-patch-interactive.js +8 -5
  4. package/dist/pi/pi-patch-interactive.js.map +1 -1
  5. package/dist/prism-extensions/integrations/ai-memory-errors.d.ts +29 -0
  6. package/dist/prism-extensions/integrations/ai-memory-errors.js +106 -0
  7. package/dist/prism-extensions/integrations/ai-memory-errors.js.map +1 -0
  8. package/dist/prism-extensions/integrations/ai-memory-http.d.ts +28 -0
  9. package/dist/prism-extensions/integrations/ai-memory-http.js +92 -0
  10. package/dist/prism-extensions/integrations/ai-memory-http.js.map +1 -0
  11. package/dist/prism-extensions/integrations/ai-memory-system.d.ts +5 -0
  12. package/dist/prism-extensions/integrations/ai-memory-system.js +205 -123
  13. package/dist/prism-extensions/integrations/ai-memory-system.js.map +1 -1
  14. package/dist/prism-extensions/integrations/ai-memory-write-preview.d.ts +36 -0
  15. package/dist/prism-extensions/integrations/ai-memory-write-preview.js +67 -0
  16. package/dist/prism-extensions/integrations/ai-memory-write-preview.js.map +1 -0
  17. package/dist/prism-extensions/integrations/research-tools.js +3 -3
  18. package/dist/prism-extensions/integrations/research-tools.js.map +1 -1
  19. package/dist/prism-extensions/integrations/youtube.d.ts +2 -2
  20. package/dist/prism-extensions/integrations/youtube.js +6 -7
  21. package/dist/prism-extensions/integrations/youtube.js.map +1 -1
  22. package/dist/prism-extensions/ui/collapsed-text-rendering.d.ts +4 -2
  23. package/dist/prism-extensions/ui/collapsed-text-rendering.js +12 -7
  24. package/dist/prism-extensions/ui/collapsed-text-rendering.js.map +1 -1
  25. package/node_modules/@earendil-works/pi-agent-core/README.md +4 -4
  26. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  27. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +5 -1
  28. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  29. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  30. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +3 -0
  31. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  32. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +6 -0
  33. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  34. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  35. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  36. package/node_modules/@earendil-works/pi-ai/README.md +8 -1
  37. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
  38. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +1 -0
  39. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
  40. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +2 -0
  41. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  42. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +2 -0
  43. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  44. package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts.map +1 -1
  45. package/node_modules/@earendil-works/pi-ai/dist/providers/all.js +2 -0
  46. package/node_modules/@earendil-works/pi-ai/dist/providers/all.js.map +1 -1
  47. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  48. package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
  49. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
  50. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  51. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-individual.json +1 -0
  52. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  53. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-individual.d.ts +3 -0
  54. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-individual.d.ts.map +1 -0
  55. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-individual.js +15 -0
  56. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-individual.js.map +1 -0
  57. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-individual.models.d.ts +4 -0
  58. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-individual.models.d.ts.map +1 -0
  59. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-individual.models.js +6 -0
  60. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-individual.models.js.map +1 -0
  61. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +1 -1
  62. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  63. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  64. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  65. package/node_modules/@earendil-works/pi-client/CHANGELOG.md +1 -1
  66. package/node_modules/@earendil-works/pi-client/package.json +2 -2
  67. package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +31 -2
  68. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts.map +1 -1
  69. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js +3 -3
  70. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js.map +1 -1
  71. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/auth-check.d.ts +19 -0
  72. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/auth-check.d.ts.map +1 -0
  73. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/auth-check.js +50 -0
  74. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/auth-check.js.map +1 -0
  75. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/auth-command.d.ts +24 -0
  76. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/auth-command.d.ts.map +1 -0
  77. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/auth-command.js +102 -0
  78. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/auth-command.js.map +1 -0
  79. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/credential-print.d.ts +4 -14
  80. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/credential-print.d.ts.map +1 -1
  81. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/credential-print.js +38 -79
  82. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/credential-print.js.map +1 -1
  83. package/node_modules/@earendil-works/pi-coding-agent/dist/cli.js +1 -1
  84. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js +11 -6
  85. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js +1 -1
  86. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +0 -5
  87. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.d.ts +10 -0
  88. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
  89. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js +79 -2
  90. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
  91. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js +1 -3
  92. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts +5 -0
  93. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
  94. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
  95. package/node_modules/@earendil-works/pi-coding-agent/dist/core/keybindings.d.ts +8 -0
  96. package/node_modules/@earendil-works/pi-coding-agent/dist/core/keybindings.d.ts.map +1 -1
  97. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
  98. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js +1 -0
  99. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
  100. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-runtime.d.ts +2 -0
  101. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-runtime.d.ts.map +1 -1
  102. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-runtime.js +3 -1
  103. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-runtime.js.map +1 -1
  104. package/node_modules/@earendil-works/pi-coding-agent/dist/core/project-trust.js +1 -1
  105. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js +1 -1
  106. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +37 -39
  107. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js +16 -20
  108. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.d.ts +4 -0
  109. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.d.ts.map +1 -1
  110. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js +6 -4
  111. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js.map +1 -1
  112. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.d.ts +4 -0
  113. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.d.ts.map +1 -1
  114. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js +11 -7
  115. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js.map +1 -1
  116. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts +4 -0
  117. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
  118. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js +5 -1
  119. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js.map +1 -1
  120. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts +4 -0
  121. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts.map +1 -1
  122. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js +5 -1
  123. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js.map +1 -1
  124. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts +4 -0
  125. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts.map +1 -1
  126. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js +5 -1
  127. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js.map +1 -1
  128. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts +4 -0
  129. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts.map +1 -1
  130. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js +6 -2
  131. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js.map +1 -1
  132. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts +4 -0
  133. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts.map +1 -1
  134. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js +6 -2
  135. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js.map +1 -1
  136. package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts.map +1 -1
  137. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +57 -21
  138. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js.map +1 -1
  139. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector.js +0 -4
  140. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +3 -0
  141. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  142. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +48 -233
  143. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  144. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  145. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js +11 -3
  146. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
  147. package/node_modules/@earendil-works/pi-coding-agent/dist/server/create-harness.d.ts +26 -0
  148. package/node_modules/@earendil-works/pi-coding-agent/dist/server/create-harness.d.ts.map +1 -0
  149. package/node_modules/@earendil-works/pi-coding-agent/dist/server/create-harness.js +104 -0
  150. package/node_modules/@earendil-works/pi-coding-agent/dist/server/create-harness.js.map +1 -0
  151. package/node_modules/@earendil-works/pi-coding-agent/docs/extensions.md +3 -2
  152. package/node_modules/@earendil-works/pi-coding-agent/docs/keybindings.md +9 -5
  153. package/node_modules/@earendil-works/pi-coding-agent/docs/providers.md +8 -1
  154. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  155. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
  156. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  157. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package-lock.json +2 -2
  158. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package.json +1 -1
  159. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package-lock.json +2 -2
  160. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
  161. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package-lock.json +2 -2
  162. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
  163. package/node_modules/@earendil-works/pi-coding-agent/package.json +7 -7
  164. package/node_modules/@earendil-works/pi-protocol/package.json +1 -1
  165. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  166. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js +1 -1
  167. package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts +10 -0
  168. package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts.map +1 -1
  169. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js +8 -0
  170. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js.map +1 -1
  171. package/node_modules/@earendil-works/pi-tui/dist/latex.d.ts.map +1 -1
  172. package/node_modules/@earendil-works/pi-tui/dist/latex.js +188 -48
  173. package/node_modules/@earendil-works/pi-tui/dist/latex.js.map +1 -1
  174. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts +12 -0
  175. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts.map +1 -1
  176. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js +146 -12
  177. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js.map +1 -1
  178. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  179. package/node_modules/@types/node/README.md +1 -1
  180. package/node_modules/@types/node/child_process.d.ts +0 -1
  181. package/node_modules/@types/node/crypto.d.ts +6 -6
  182. package/node_modules/@types/node/dns/promises.d.ts +5 -5
  183. package/node_modules/@types/node/dns.d.ts +5 -5
  184. package/node_modules/@types/node/fs.d.ts +7 -0
  185. package/node_modules/@types/node/http.d.ts +30 -0
  186. package/node_modules/@types/node/http2.d.ts +4 -4
  187. package/node_modules/@types/node/os.d.ts +30 -30
  188. package/node_modules/@types/node/package.json +2 -2
  189. package/node_modules/@types/node/perf_hooks.d.ts +2 -1
  190. package/node_modules/@types/node/process.d.ts +42 -43
  191. package/node_modules/@types/node/quic.d.ts +1049 -84
  192. package/node_modules/@types/node/sqlite.d.ts +14 -1
  193. package/node_modules/@types/node/stream/iter.d.ts +3 -2
  194. package/node_modules/@types/node/test.d.ts +61 -0
  195. package/node_modules/@types/node/v8.d.ts +20 -23
  196. package/package.json +6 -6
  197. package/src/prism-extensions/integrations/ai-memory-errors.ts +112 -0
  198. package/src/prism-extensions/integrations/ai-memory-http.ts +114 -0
  199. package/src/prism-extensions/integrations/ai-memory-system.ts +221 -132
  200. package/src/prism-extensions/integrations/ai-memory-write-preview.ts +83 -0
  201. package/src/prism-extensions/integrations/research-tools.ts +3 -3
  202. package/src/prism-extensions/integrations/youtube.ts +6 -6
  203. package/src/prism-extensions/ui/collapsed-text-rendering.ts +14 -8
  204. package/node_modules/@earendil-works/pi-coding-agent/dist/core/prism-session-db.js +0 -128
@@ -1,20 +1,24 @@
1
1
  import { Type } from "typebox";
2
2
  import { readSettings } from "../core/shared-config.js";
3
+ import { formatDegradedNotice } from "./ai-memory-errors.js";
4
+ import { aiMemoryBaseUrl, aiMemoryInjectCacheTtlMs, aiMemoryInjectTimeoutMs, aiMemoryRequestTimeoutMs, aiMemoryStatusTimeoutMs, deleteJson, getJson, methodJson, postJson, putJson, } from "./ai-memory-http.js";
5
+ import { isAiMemoryWriteTool, renderAiMemoryWriteResult } from "./ai-memory-write-preview.js";
3
6
  import { renderCollapsibleTextResult } from "../ui/collapsed-text-rendering.js";
4
- import { formatBracketedToolCall, renderSingleLineToolCall } from "../ui/tool-call-rendering.js";
5
- const DEFAULT_BASE_URL = "http://127.0.0.1:8765";
7
+ import { obsidianOpenUrl } from "./obsidian-memory.js";
8
+ import { ansiHyperlink, formatBracketedToolCall, renderSingleLineToolCall } from "../ui/tool-call-rendering.js";
6
9
  const DEFAULT_LIMIT = 8;
7
10
  const DEFAULT_CONTEXT_LIMIT = 5;
8
11
  const DEFAULT_CONTEXT_SCORE_THRESHOLD = 0.15;
9
- const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
10
- const DEFAULT_STATUS_TIMEOUT_MS = 1_500;
11
- const DEFAULT_INJECT_TIMEOUT_MS = 1_200;
12
- const DEFAULT_INJECT_CACHE_TTL_MS = 60_000;
13
12
  const DEFAULT_ALWAYS_CONTEXT_CACHE_TTL_MS = 60_000;
14
13
  const injectCache = new Map();
15
14
  const alwaysContextCache = { expiresAt: 0, content: "" };
16
- function aiMemoryBaseUrl(env = process.env) {
17
- return (env.PRISM_AI_MEMORY_BASE_URL || env.AI_MEMORY_BASE_URL || DEFAULT_BASE_URL).replace(/\/+$/, "");
15
+ const reportedBackgroundFailures = new Set();
16
+ /** Test hook: drop injection caches and one-shot failure notices. */
17
+ export function resetAiMemoryCaches() {
18
+ injectCache.clear();
19
+ alwaysContextCache.expiresAt = 0;
20
+ alwaysContextCache.content = "";
21
+ reportedBackgroundFailures.clear();
18
22
  }
19
23
  function clampLimit(value, fallback = DEFAULT_LIMIT) {
20
24
  const parsed = Number(value);
@@ -63,24 +67,6 @@ function aiMemoryContextScoreThreshold(env = process.env) {
63
67
  const parsed = Number(env.PRISM_AI_MEMORY_CONTEXT_SCORE_THRESHOLD ?? env.PI_AI_MEMORY_CONTEXT_SCORE_THRESHOLD);
64
68
  return Number.isFinite(parsed) ? Math.max(0, parsed) : DEFAULT_CONTEXT_SCORE_THRESHOLD;
65
69
  }
66
- function positiveIntegerSetting(value, fallback) {
67
- const parsed = Number(value);
68
- if (!Number.isFinite(parsed))
69
- return fallback;
70
- return Math.max(1, Math.trunc(parsed));
71
- }
72
- function aiMemoryRequestTimeoutMs(env = process.env) {
73
- return positiveIntegerSetting(env.PRISM_AI_MEMORY_TIMEOUT_MS ?? env.PI_AI_MEMORY_TIMEOUT_MS, DEFAULT_REQUEST_TIMEOUT_MS);
74
- }
75
- function aiMemoryStatusTimeoutMs(env = process.env) {
76
- return positiveIntegerSetting(env.PRISM_AI_MEMORY_STATUS_TIMEOUT_MS ?? env.PI_AI_MEMORY_STATUS_TIMEOUT_MS, DEFAULT_STATUS_TIMEOUT_MS);
77
- }
78
- function aiMemoryInjectTimeoutMs(env = process.env) {
79
- return positiveIntegerSetting(env.PRISM_AI_MEMORY_INJECT_TIMEOUT_MS ?? env.PI_AI_MEMORY_INJECT_TIMEOUT_MS, DEFAULT_INJECT_TIMEOUT_MS);
80
- }
81
- function aiMemoryInjectCacheTtlMs(env = process.env) {
82
- return positiveIntegerSetting(env.PRISM_AI_MEMORY_INJECT_CACHE_TTL_MS ?? env.PI_AI_MEMORY_INJECT_CACHE_TTL_MS, DEFAULT_INJECT_CACHE_TTL_MS);
83
- }
84
70
  function cleanFilters(params) {
85
71
  const filters = {};
86
72
  for (const key of ["source", "project", "type", "status", "tag", "path"]) {
@@ -90,69 +76,6 @@ function cleanFilters(params) {
90
76
  }
91
77
  return filters;
92
78
  }
93
- async function postJson(path, body, timeoutMs = aiMemoryRequestTimeoutMs()) {
94
- const baseUrl = aiMemoryBaseUrl();
95
- const response = await fetch(`${baseUrl}${path}`, {
96
- method: "POST",
97
- headers: { "content-type": "application/json; charset=utf-8", accept: "application/json" },
98
- body: JSON.stringify(body),
99
- signal: AbortSignal.timeout(timeoutMs),
100
- });
101
- const text = await response.text();
102
- if (!response.ok)
103
- throw new Error(`AI Memory request failed: HTTP ${response.status} ${text.slice(0, 500)}`);
104
- return JSON.parse(text);
105
- }
106
- async function putJson(path, body, timeoutMs = aiMemoryRequestTimeoutMs()) {
107
- const baseUrl = aiMemoryBaseUrl();
108
- const response = await fetch(`${baseUrl}${path}`, {
109
- method: "PUT",
110
- headers: { "content-type": "application/json; charset=utf-8", accept: "application/json" },
111
- body: JSON.stringify(body),
112
- signal: AbortSignal.timeout(timeoutMs),
113
- });
114
- const text = await response.text();
115
- if (!response.ok)
116
- throw new Error(`AI Memory request failed: HTTP ${response.status} ${text.slice(0, 500)}`);
117
- return JSON.parse(text);
118
- }
119
- async function deleteJson(path, body, timeoutMs = aiMemoryRequestTimeoutMs()) {
120
- const baseUrl = aiMemoryBaseUrl();
121
- const response = await fetch(`${baseUrl}${path}`, {
122
- method: "DELETE",
123
- headers: { "content-type": "application/json; charset=utf-8", accept: "application/json" },
124
- body: JSON.stringify(body),
125
- signal: AbortSignal.timeout(timeoutMs),
126
- });
127
- const text = await response.text();
128
- if (!response.ok)
129
- throw new Error(`AI Memory request failed: HTTP ${response.status} ${text.slice(0, 500)}`);
130
- return JSON.parse(text);
131
- }
132
- async function methodJson(method, path, timeoutMs = aiMemoryRequestTimeoutMs(), body) {
133
- const baseUrl = aiMemoryBaseUrl();
134
- const response = await fetch(`${baseUrl}${path}`, {
135
- method,
136
- headers: { accept: "application/json", ...(body === undefined ? {} : { "content-type": "application/json; charset=utf-8" }) },
137
- body: body === undefined ? undefined : JSON.stringify(body),
138
- signal: AbortSignal.timeout(timeoutMs),
139
- });
140
- const text = await response.text();
141
- if (!response.ok)
142
- throw new Error(`AI Memory request failed: HTTP ${response.status} ${text.slice(0, 500)}`);
143
- return JSON.parse(text);
144
- }
145
- async function getJson(path, timeoutMs = aiMemoryStatusTimeoutMs()) {
146
- const baseUrl = aiMemoryBaseUrl();
147
- const response = await fetch(`${baseUrl}${path}`, {
148
- headers: { accept: "application/json" },
149
- signal: AbortSignal.timeout(timeoutMs),
150
- });
151
- const text = await response.text();
152
- if (!response.ok)
153
- throw new Error(`AI Memory request failed: HTTP ${response.status} ${text.slice(0, 500)}`);
154
- return JSON.parse(text);
155
- }
156
79
  function formatSearchResults(results) {
157
80
  if (!Array.isArray(results) || results.length === 0)
158
81
  return "No AI Memory results found. Is the index built?";
@@ -163,10 +86,17 @@ function formatSearchResults(results) {
163
86
  const lexical = Number(row.lexical_score ?? 0).toFixed(4);
164
87
  const graph = Number(row.graph_score ?? 0).toFixed(1);
165
88
  const fact = Number(row.fact_score ?? 0).toFixed(1);
89
+ const feedback = Number(row.feedback_score ?? 0).toFixed(2);
90
+ const stale = Number(row.stale_score ?? 0).toFixed(2);
166
91
  const excerpt = String(row.text ?? "").replace(/\s+/g, " ").trim().slice(0, 700);
167
- return `${index + 1}. score=${score} vector=${vector} keyword=${keyword} lexical=${lexical} graph=${graph} fact=${fact}\nsource=${row.source}:${row.path} > ${row.heading}\n${excerpt}`;
92
+ return `${index + 1}. score=${score} vector=${vector} keyword=${keyword} lexical=${lexical} graph=${graph} fact=${fact} feedback=${feedback} stale=${stale}\nsource=${row.source}:${row.path} > ${row.heading}\n${excerpt}`;
168
93
  }).join("\n\n");
169
94
  }
95
+ export function formatSearchResponse(data) {
96
+ const results = Array.isArray(data?.results) ? data.results : [];
97
+ const notices = [formatDegradedNotice(data?.degraded), String(data?.hint ?? "").trim()].filter(Boolean);
98
+ return [...notices, formatSearchResults(results)].join("\n\n");
99
+ }
170
100
  function formatReadResult(data) {
171
101
  const source = String(data?.source ?? "unknown");
172
102
  const path = String(data?.path ?? "unknown");
@@ -251,9 +181,36 @@ function renderAiMemoryResult(result, options = {}, theme) {
251
181
  lines: (text) => String(text ?? "").split(/\r?\n/).filter(Boolean),
252
182
  });
253
183
  }
254
- function formatAiMemoryToolCall(toolName, args, theme) {
184
+ export function formatAiMemoryToolCall(toolName, args, theme) {
255
185
  const label = toolName.replace(/^ai_memory_/, "ai memory ").replace(/_/g, " ");
256
- return formatBracketedToolCall(label, args?.query || args?.id || args?.path || args?.session || "", theme);
186
+ const rawValue = args?.query || args?.id || args?.path || args?.session || "";
187
+ const value = typeof rawValue === "string" && rawValue.trim() ? rawValue.trim() : "...";
188
+ const linksToVaultNote = isAiMemoryWriteTool(toolName) || toolName === "ai_memory_vault_delete";
189
+ if (linksToVaultNote && value !== "...") {
190
+ return `${theme.fg("toolTitle", theme.bold(label))} ${theme.fg("accent", ansiHyperlink(obsidianOpenUrl(value), value))}`;
191
+ }
192
+ return formatBracketedToolCall(label, value, theme);
193
+ }
194
+ /**
195
+ * Surface background (non-tool) failures once per distinct reason. The dedupe key
196
+ * ignores the per-turn query so a broken API does not warn on every prompt.
197
+ */
198
+ function reportBackgroundFailure(ctx, label, error) {
199
+ const message = `AI Memory ${label} failed: ${error instanceof Error ? error.message : String(error)}`;
200
+ const key = `${label}|${message.split(" | query=")[0]}`;
201
+ if (reportedBackgroundFailures.has(key))
202
+ return;
203
+ reportedBackgroundFailures.add(key);
204
+ ctx?.ui?.notify?.(message, "warning");
205
+ }
206
+ function formatVaultWriteResult(action, params, responsePath) {
207
+ const path = String(responsePath ?? params.path ?? "");
208
+ const frontmatter = params.frontmatter === undefined ? "" : String(params.frontmatter).trim();
209
+ const heading = action === "Edited" ? `# ${String(params.heading ?? "").trim()}` : "";
210
+ const body = String(params.body ?? "");
211
+ const writtenContent = [frontmatter, heading, body].filter(Boolean).join("\n\n") || "(empty)";
212
+ const status = action === "Wrote" ? `Wrote: ${path}\n\n` : "";
213
+ return `${status}Write content:\n${writtenContent}`;
257
214
  }
258
215
  export default function aiMemorySystemExtension(pi) {
259
216
  if (!shouldEnableAiMemory())
@@ -283,7 +240,7 @@ export default function aiMemorySystemExtension(pi) {
283
240
  limit: clampLimit(params.limit),
284
241
  filters: cleanFilters(params),
285
242
  });
286
- return { content: [{ type: "text", text: formatSearchResults(data.results) }], details: { count: data.results?.length ?? 0, results: data.results } };
243
+ return { content: [{ type: "text", text: formatSearchResponse(data) }], details: { count: data.results?.length ?? 0, results: data.results, degraded: data.degraded, hint: data.hint } };
287
244
  },
288
245
  renderCall(args, theme, context) {
289
246
  return renderSingleLineToolCall(formatAiMemoryToolCall("ai_memory_search", args, theme), context);
@@ -339,6 +296,129 @@ export default function aiMemorySystemExtension(pi) {
339
296
  return renderSingleLineToolCall(formatAiMemoryToolCall("ai_memory_status", args, theme), context);
340
297
  },
341
298
  });
299
+ pi.registerTool({
300
+ name: "ai_memory_rate_result",
301
+ label: "AI Memory Rate Result",
302
+ description: "Rate one retrieved memory result so future ranking learns from it.",
303
+ promptSnippet: "Use ai_memory_rate_result when a retrieved memory was clearly helpful, irrelevant, outdated, or wrong.",
304
+ promptGuidelines: [
305
+ "Rate the path exactly as returned by ai_memory_search.",
306
+ "Use 'outdated' or 'wrong' when the user corrects information that came from memory.",
307
+ "This changes ranking only; it never writes or deletes a note.",
308
+ ],
309
+ parameters: Type.Object({
310
+ path: Type.String({ description: "Path of the rated result, e.g. 02 Projekte/Memory.md" }),
311
+ rating: Type.String({ description: "helpful, irrelevant, outdated, or wrong" }),
312
+ query: Type.Optional(Type.String({ description: "Search query that produced the result" })),
313
+ reason: Type.Optional(Type.String({ description: "Short reason in German" })),
314
+ source: Type.Optional(Type.String({ description: "obsidian or prism_session" })),
315
+ chunk_id: Type.Optional(Type.String({ description: "Exact chunk id if known" })),
316
+ session_id: Type.Optional(Type.String({ description: "Originating session id" })),
317
+ }),
318
+ async execute(_id, params) {
319
+ const data = await postJson("/retrieval-feedback", {
320
+ path: String(params.path ?? ""),
321
+ rating: String(params.rating ?? ""),
322
+ query: String(params.query ?? ""),
323
+ reason: String(params.reason ?? ""),
324
+ source: String(params.source ?? ""),
325
+ chunk_id: String(params.chunk_id ?? ""),
326
+ session_id: String(params.session_id ?? ""),
327
+ });
328
+ return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], details: data };
329
+ },
330
+ renderCall(args, theme, context) {
331
+ return renderSingleLineToolCall(formatAiMemoryToolCall("ai_memory_rate_result", args, theme), context);
332
+ },
333
+ });
334
+ pi.registerTool({
335
+ name: "ai_memory_session_review",
336
+ label: "AI Memory Session Review",
337
+ description: "Review a Prism session for outcome evidence and human-approved durable lesson proposals.",
338
+ promptSnippet: "Review a completed session and return pending lessons; this does not approve them.",
339
+ parameters: Type.Object({
340
+ session: Type.Optional(Type.String({ description: "Session path/id or latest" })),
341
+ force: Type.Optional(Type.Boolean({ description: "Review an unchanged session again" })),
342
+ }),
343
+ async execute(_id, params) {
344
+ const data = await postJson("/session-review", {
345
+ session: typeof params.session === "string" ? params.session : "latest",
346
+ force: params.force === true,
347
+ });
348
+ return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], details: data };
349
+ },
350
+ renderCall(args, theme, context) {
351
+ return renderSingleLineToolCall(formatAiMemoryToolCall("ai_memory_session_review", args, theme), context);
352
+ },
353
+ });
354
+ pi.registerTool({
355
+ name: "ai_memory_propose_lesson",
356
+ label: "AI Memory Propose Lesson",
357
+ description: "Create a pending durable lesson proposal. User approval is still required before writing memory.",
358
+ promptSnippet: "Propose a lesson from explicit user feedback without promoting it automatically.",
359
+ parameters: Type.Object({
360
+ category: Type.String({ description: "correction, decision, preference, workflow, or quality" }),
361
+ title: Type.String({ description: "Short German title" }),
362
+ rule: Type.String({ description: "Proposed durable rule in German" }),
363
+ rationale: Type.Optional(Type.String({ description: "Why the rule matters" })),
364
+ evidence: Type.String({ description: "Exact user feedback supporting the proposal" }),
365
+ session_id: Type.Optional(Type.String({ description: "Originating session id" })),
366
+ confidence: Type.Optional(Type.Number({ description: "Confidence from 0 to 1" })),
367
+ }),
368
+ async execute(_id, params) {
369
+ const data = await postJson("/lessons", {
370
+ category: String(params.category ?? ""),
371
+ title: String(params.title ?? ""),
372
+ rule: String(params.rule ?? ""),
373
+ rationale: String(params.rationale ?? ""),
374
+ evidence: String(params.evidence ?? ""),
375
+ session_id: String(params.session_id ?? "manual"),
376
+ confidence: params.confidence === undefined ? 0.8 : Number(params.confidence),
377
+ });
378
+ return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], details: data };
379
+ },
380
+ renderCall(args, theme, context) {
381
+ return renderSingleLineToolCall(formatAiMemoryToolCall("ai_memory_propose_lesson", args, theme), context);
382
+ },
383
+ });
384
+ pi.registerTool({
385
+ name: "ai_memory_feedback",
386
+ label: "AI Memory Feedback",
387
+ description: "List pending lessons or approve/reject one proposal. Approval writes durable memory.",
388
+ promptSnippet: "Use only after explicit user approval to approve a proposed durable lesson.",
389
+ promptGuidelines: ["Never approve a lesson without explicit user approval in the current conversation."],
390
+ parameters: Type.Object({
391
+ action: Type.Optional(Type.String({ description: "list (default), approve, or reject" })),
392
+ proposal_id: Type.Optional(Type.String({ description: "Required for approve/reject" })),
393
+ status: Type.Optional(Type.String({ description: "List filter: pending, approved, or rejected" })),
394
+ session_id: Type.Optional(Type.String({ description: "Optional session filter for listing" })),
395
+ }),
396
+ async execute(_id, params) {
397
+ const action = String(params.action ?? "list");
398
+ let data;
399
+ if (action === "list") {
400
+ const query = new URLSearchParams();
401
+ if (params.status)
402
+ query.set("status", String(params.status));
403
+ if (params.session_id)
404
+ query.set("session_id", String(params.session_id));
405
+ data = await getJson(`/lessons${query.size ? `?${query}` : ""}`, aiMemoryRequestTimeoutMs());
406
+ }
407
+ else {
408
+ if (!["approve", "reject"].includes(action) || !params.proposal_id) {
409
+ throw new Error("action must be list, approve, or reject; proposal_id is required for decisions");
410
+ }
411
+ data = await methodJson("DECISION", "/lessons", aiMemoryRequestTimeoutMs(), {
412
+ proposal_id: String(params.proposal_id),
413
+ decision: action,
414
+ });
415
+ }
416
+ return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], details: data };
417
+ },
418
+ renderCall(args, theme, context) {
419
+ return renderSingleLineToolCall(formatAiMemoryToolCall("ai_memory_feedback", args, theme), context);
420
+ },
421
+ });
342
422
  // ── File-backed vault ops (write/edit/list/delete) ──
343
423
  pi.registerTool({
344
424
  name: "ai_memory_vault_list",
@@ -364,7 +444,7 @@ export default function aiMemorySystemExtension(pi) {
364
444
  name: "ai_memory_vault_write",
365
445
  label: "AI Memory Vault Write",
366
446
  description: "Create/overwrite a Markdown file in the configured Obsidian vault.",
367
- promptSnippet: "Write vault file [path + body/frontmatter]",
447
+ promptSnippet: "Write vault file [show path and written body/frontmatter]",
368
448
  parameters: Type.Object({
369
449
  path: Type.String({ description: "Vault-relative path, e.g. 02 Projekte/Test.md" }),
370
450
  frontmatter: Type.Optional(Type.String({ description: "Optional YAML frontmatter including leading/trailing --- lines" })),
@@ -376,17 +456,20 @@ export default function aiMemorySystemExtension(pi) {
376
456
  frontmatter: params.frontmatter !== undefined ? String(params.frontmatter) : null,
377
457
  body: String(params.body ?? ""),
378
458
  });
379
- return { content: [{ type: "text", text: `Wrote: ${data.path ?? params.path}` }], details: data };
459
+ return { content: [{ type: "text", text: formatVaultWriteResult("Wrote", params, data.path) }], details: data };
380
460
  },
381
461
  renderCall(args, theme, context) {
382
462
  return renderSingleLineToolCall(formatAiMemoryToolCall("ai_memory_vault_write", args, theme), context);
383
463
  },
464
+ renderResult(result, options, theme, context) {
465
+ return renderAiMemoryWriteResult("ai_memory_vault_write", result, options, theme, context);
466
+ },
384
467
  });
385
468
  pi.registerTool({
386
469
  name: "ai_memory_vault_edit",
387
470
  label: "AI Memory Vault Edit",
388
471
  description: "Replace the content block under a given heading in a Markdown file (or append if missing).",
389
- promptSnippet: "Edit vault file section by heading",
472
+ promptSnippet: "Edit vault file section [show path, heading, and written body/frontmatter]",
390
473
  parameters: Type.Object({
391
474
  path: Type.String({ description: "Vault-relative path" }),
392
475
  heading: Type.String({ description: "Heading text without leading #, e.g. 'Update 2026-01-01 — Thema'" }),
@@ -400,11 +483,14 @@ export default function aiMemorySystemExtension(pi) {
400
483
  frontmatter: params.frontmatter !== undefined ? String(params.frontmatter) : null,
401
484
  body: String(params.body ?? ""),
402
485
  });
403
- return { content: [{ type: "text", text: `Edited: ${data.path ?? params.path}` }], details: data };
486
+ return { content: [{ type: "text", text: formatVaultWriteResult("Edited", params, data.path) }], details: data };
404
487
  },
405
488
  renderCall(args, theme, context) {
406
489
  return renderSingleLineToolCall(formatAiMemoryToolCall("ai_memory_vault_edit", args, theme), context);
407
490
  },
491
+ renderResult(result, options, theme, context) {
492
+ return renderAiMemoryWriteResult("ai_memory_vault_edit", result, options, theme, context);
493
+ },
408
494
  });
409
495
  pi.registerTool({
410
496
  name: "ai_memory_vault_delete",
@@ -446,39 +532,35 @@ export default function aiMemorySystemExtension(pi) {
446
532
  .then((active) => ctx.ui.setStatus?.("ai-memory", active === true ? "🧠 local" : undefined))
447
533
  .catch(() => ctx.ui.setStatus?.("ai-memory", undefined));
448
534
  });
449
- pi.on?.("before_agent_start", async (event) => {
535
+ pi.on?.("before_agent_start", async (event, ctx) => {
536
+ const patch = {};
450
537
  // Always-loaded durable context (mapped from 00 Kontext) is injected as a
451
538
  // system-prompt chunk so it remains in the cached prefix.
452
- let alwaysBlock;
453
539
  try {
454
- const alwaysContent = await loadAlwaysContext();
455
- const alwaysMessage = buildAlwaysContextMessage(alwaysContent);
456
- alwaysBlock = alwaysMessage?.content;
457
- }
458
- catch {
459
- // Ignore — always-context is best-effort.
540
+ const alwaysBlock = buildAlwaysContextMessage(await loadAlwaysContext())?.content?.trim();
541
+ if (alwaysBlock) {
542
+ const prev = String(event?.systemPrompt ?? "");
543
+ patch.systemPrompt = `${prev}${prev ? "\n\n" : ""}${alwaysBlock}`;
544
+ }
460
545
  }
461
- const prev = String(event?.systemPrompt ?? "");
462
- if (alwaysBlock && alwaysBlock.trim()) {
463
- const block = alwaysBlock.trim();
464
- return { systemPrompt: `${prev}${prev ? "\n\n" : ""}${block}` };
546
+ catch (error) {
547
+ // Best-effort, but never silent: a broken API would otherwise drop durable
548
+ // context without anyone noticing.
549
+ reportBackgroundFailure(ctx, "always-context injection", error);
465
550
  }
466
- // Query-specific candidates
467
- if (!shouldInjectAiMemoryCandidates())
468
- return;
551
+ // Query-specific candidates (independent of the always-context block).
469
552
  const query = String(event?.prompt ?? "").trim();
470
- if (!query)
471
- return;
472
- try {
473
- const results = await loadAiMemoryInjectResults(query);
474
- const message = buildAiMemoryContextMessage(results);
475
- return message ? { message } : undefined;
476
- }
477
- catch {
478
- // Candidate injection is opportunistic. The explicit ai_memory_search tool
479
- // remains available and will surface API errors when the model calls it.
480
- return undefined;
553
+ if (shouldInjectAiMemoryCandidates() && query) {
554
+ try {
555
+ const message = buildAiMemoryContextMessage(await loadAiMemoryInjectResults(query));
556
+ if (message)
557
+ patch.message = message;
558
+ }
559
+ catch (error) {
560
+ reportBackgroundFailure(ctx, "candidate injection", error);
561
+ }
481
562
  }
563
+ return patch.systemPrompt === undefined && patch.message === undefined ? undefined : patch;
482
564
  });
483
565
  }
484
566
  //# sourceMappingURL=ai-memory-system.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-memory-system.js","sourceRoot":"","sources":["../../../src/prism-extensions/integrations/ai-memory-system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-memory-system.js","sourceRoot":"","sources":["../../../src/prism-extensions/integrations/ai-memory-system.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Live preview and rendering of memory writes.
3
+ *
4
+ * Vault writes used to be invisible until the tool finished: the call row only
5
+ * showed the path and the result slot said "Searching AI Memory...". This module
6
+ * formats the *partially streamed* arguments so the note content is readable
7
+ * while the model is still producing it, and keeps the row expandable with
8
+ * Ctrl+O / Strg+O (`app.tools.expand`) in both states.
9
+ */
10
+ import { type ThemeLike } from "../ui/tool-call-rendering.js";
11
+ /** Collapsed height while arguments stream in; the newest lines stay visible. */
12
+ export declare const WRITE_STREAM_COLLAPSED_LINES = 16;
13
+ /** Collapsed height of a finished write result. */
14
+ export declare const WRITE_RESULT_COLLAPSED_LINES = 24;
15
+ export declare function isAiMemoryWriteTool(toolName: string): boolean;
16
+ export declare function formatAiMemoryWriteTarget(toolName: string, args: any): string;
17
+ /**
18
+ * @param args partially streamed tool arguments (may miss fields entirely)
19
+ * @param streaming true while arguments are still arriving
20
+ */
21
+ export declare function buildAiMemoryWritePreview(toolName: string, args: any, streaming?: boolean): {
22
+ header: string;
23
+ content: string;
24
+ };
25
+ export declare function formatAiMemoryWritePreview(toolName: string, args: any, streaming?: boolean): string;
26
+ /**
27
+ * Result slot for vault writes: streams the note content while the model writes,
28
+ * shows the confirmed content afterwards. Both states honour `expanded`, so
29
+ * Ctrl+O / Strg+O toggles between the collapsed excerpt and the full text.
30
+ */
31
+ export declare function renderAiMemoryWriteResult(toolName: string, result: any, options: {
32
+ expanded?: boolean;
33
+ isPartial?: boolean;
34
+ } | undefined, theme: ThemeLike, context?: any): {
35
+ render(width: number): string[];
36
+ };