@marifold/core 0.60.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/LICENSE +674 -0
  2. package/dist/agent/AgentEvents.d.ts +106 -0
  3. package/dist/agent/AgentEvents.d.ts.map +1 -0
  4. package/dist/agent/AgentEvents.js +3 -0
  5. package/dist/agent/AgentEvents.js.map +1 -0
  6. package/dist/agent/AgentHistory.d.ts +27 -0
  7. package/dist/agent/AgentHistory.d.ts.map +1 -0
  8. package/dist/agent/AgentHistory.js +42 -0
  9. package/dist/agent/AgentHistory.js.map +1 -0
  10. package/dist/agent/AgentRunner.d.ts +149 -0
  11. package/dist/agent/AgentRunner.d.ts.map +1 -0
  12. package/dist/agent/AgentRunner.js +727 -0
  13. package/dist/agent/AgentRunner.js.map +1 -0
  14. package/dist/agent/ApprovalPolicy.d.ts +71 -0
  15. package/dist/agent/ApprovalPolicy.d.ts.map +1 -0
  16. package/dist/agent/ApprovalPolicy.js +29 -0
  17. package/dist/agent/ApprovalPolicy.js.map +1 -0
  18. package/dist/agent/ControlBlockTools.d.ts +9 -0
  19. package/dist/agent/ControlBlockTools.d.ts.map +1 -0
  20. package/dist/agent/ControlBlockTools.js +49 -0
  21. package/dist/agent/ControlBlockTools.js.map +1 -0
  22. package/dist/agent/RunWorkspace.d.ts +92 -0
  23. package/dist/agent/RunWorkspace.d.ts.map +1 -0
  24. package/dist/agent/RunWorkspace.js +328 -0
  25. package/dist/agent/RunWorkspace.js.map +1 -0
  26. package/dist/agent/ScopedProcess.d.ts +35 -0
  27. package/dist/agent/ScopedProcess.d.ts.map +1 -0
  28. package/dist/agent/ScopedProcess.js +280 -0
  29. package/dist/agent/ScopedProcess.js.map +1 -0
  30. package/dist/agent/ToolRegistry.d.ts +80 -0
  31. package/dist/agent/ToolRegistry.d.ts.map +1 -0
  32. package/dist/agent/ToolRegistry.js +45 -0
  33. package/dist/agent/ToolRegistry.js.map +1 -0
  34. package/dist/agent/UserInput.d.ts +59 -0
  35. package/dist/agent/UserInput.d.ts.map +1 -0
  36. package/dist/agent/UserInput.js +203 -0
  37. package/dist/agent/UserInput.js.map +1 -0
  38. package/dist/agent/tools/AskUserTool.d.ts +71 -0
  39. package/dist/agent/tools/AskUserTool.d.ts.map +1 -0
  40. package/dist/agent/tools/AskUserTool.js +70 -0
  41. package/dist/agent/tools/AskUserTool.js.map +1 -0
  42. package/dist/agent/tools/DelegateTool.d.ts +49 -0
  43. package/dist/agent/tools/DelegateTool.d.ts.map +1 -0
  44. package/dist/agent/tools/DelegateTool.js +62 -0
  45. package/dist/agent/tools/DelegateTool.js.map +1 -0
  46. package/dist/agent/tools/InspectAttachmentTool.d.ts +25 -0
  47. package/dist/agent/tools/InspectAttachmentTool.d.ts.map +1 -0
  48. package/dist/agent/tools/InspectAttachmentTool.js +129 -0
  49. package/dist/agent/tools/InspectAttachmentTool.js.map +1 -0
  50. package/dist/agent/tools/PythonPackageTool.d.ts +26 -0
  51. package/dist/agent/tools/PythonPackageTool.d.ts.map +1 -0
  52. package/dist/agent/tools/PythonPackageTool.js +105 -0
  53. package/dist/agent/tools/PythonPackageTool.js.map +1 -0
  54. package/dist/agent/tools/ReadFileTool.d.ts +24 -0
  55. package/dist/agent/tools/ReadFileTool.d.ts.map +1 -0
  56. package/dist/agent/tools/ReadFileTool.js +112 -0
  57. package/dist/agent/tools/ReadFileTool.js.map +1 -0
  58. package/dist/agent/tools/ShellExecTool.d.ts +23 -0
  59. package/dist/agent/tools/ShellExecTool.d.ts.map +1 -0
  60. package/dist/agent/tools/ShellExecTool.js +75 -0
  61. package/dist/agent/tools/ShellExecTool.js.map +1 -0
  62. package/dist/agent/tools/WebSearchTool.d.ts +26 -0
  63. package/dist/agent/tools/WebSearchTool.d.ts.map +1 -0
  64. package/dist/agent/tools/WebSearchTool.js +52 -0
  65. package/dist/agent/tools/WebSearchTool.js.map +1 -0
  66. package/dist/agent/tools/WriteFileTool.d.ts +30 -0
  67. package/dist/agent/tools/WriteFileTool.d.ts.map +1 -0
  68. package/dist/agent/tools/WriteFileTool.js +155 -0
  69. package/dist/agent/tools/WriteFileTool.js.map +1 -0
  70. package/dist/app/AppActionResolver.d.ts +15 -0
  71. package/dist/app/AppActionResolver.d.ts.map +1 -0
  72. package/dist/app/AppActionResolver.js +98 -0
  73. package/dist/app/AppActionResolver.js.map +1 -0
  74. package/dist/app/AppSchema.d.ts +83 -0
  75. package/dist/app/AppSchema.d.ts.map +1 -0
  76. package/dist/app/AppSchema.js +17 -0
  77. package/dist/app/AppSchema.js.map +1 -0
  78. package/dist/app/AppStore.d.ts +14 -0
  79. package/dist/app/AppStore.d.ts.map +1 -0
  80. package/dist/app/AppStore.js +146 -0
  81. package/dist/app/AppStore.js.map +1 -0
  82. package/dist/app/AppValidator.d.ts +10 -0
  83. package/dist/app/AppValidator.d.ts.map +1 -0
  84. package/dist/app/AppValidator.js +503 -0
  85. package/dist/app/AppValidator.js.map +1 -0
  86. package/dist/app/SkillAppCompiler.d.ts +5 -0
  87. package/dist/app/SkillAppCompiler.d.ts.map +1 -0
  88. package/dist/app/SkillAppCompiler.js +632 -0
  89. package/dist/app/SkillAppCompiler.js.map +1 -0
  90. package/dist/app/SkillAppDsl.d.ts +93 -0
  91. package/dist/app/SkillAppDsl.d.ts.map +1 -0
  92. package/dist/app/SkillAppDsl.js +72 -0
  93. package/dist/app/SkillAppDsl.js.map +1 -0
  94. package/dist/app/SkillAppInstanceRegistry.d.ts +25 -0
  95. package/dist/app/SkillAppInstanceRegistry.d.ts.map +1 -0
  96. package/dist/app/SkillAppInstanceRegistry.js +218 -0
  97. package/dist/app/SkillAppInstanceRegistry.js.map +1 -0
  98. package/dist/app/SkillAppResolver.d.ts +12 -0
  99. package/dist/app/SkillAppResolver.d.ts.map +1 -0
  100. package/dist/app/SkillAppResolver.js +89 -0
  101. package/dist/app/SkillAppResolver.js.map +1 -0
  102. package/dist/app/SkillAppSchema.d.ts +116 -0
  103. package/dist/app/SkillAppSchema.d.ts.map +1 -0
  104. package/dist/app/SkillAppSchema.js +5 -0
  105. package/dist/app/SkillAppSchema.js.map +1 -0
  106. package/dist/channels/TelegramBridge.d.ts +103 -0
  107. package/dist/channels/TelegramBridge.d.ts.map +1 -0
  108. package/dist/channels/TelegramBridge.js +565 -0
  109. package/dist/channels/TelegramBridge.js.map +1 -0
  110. package/dist/channels/respond.d.ts +46 -0
  111. package/dist/channels/respond.d.ts.map +1 -0
  112. package/dist/channels/respond.js +41 -0
  113. package/dist/channels/respond.js.map +1 -0
  114. package/dist/config/ChatGptTokenRefresh.d.ts +18 -0
  115. package/dist/config/ChatGptTokenRefresh.d.ts.map +1 -0
  116. package/dist/config/ChatGptTokenRefresh.js +63 -0
  117. package/dist/config/ChatGptTokenRefresh.js.map +1 -0
  118. package/dist/config/ConfigBackup.d.ts +20 -0
  119. package/dist/config/ConfigBackup.d.ts.map +1 -0
  120. package/dist/config/ConfigBackup.js +197 -0
  121. package/dist/config/ConfigBackup.js.map +1 -0
  122. package/dist/config/ConfigLoader.d.ts +28 -0
  123. package/dist/config/ConfigLoader.d.ts.map +1 -0
  124. package/dist/config/ConfigLoader.js +335 -0
  125. package/dist/config/ConfigLoader.js.map +1 -0
  126. package/dist/config/ConfigManager.d.ts +55 -0
  127. package/dist/config/ConfigManager.d.ts.map +1 -0
  128. package/dist/config/ConfigManager.js +707 -0
  129. package/dist/config/ConfigManager.js.map +1 -0
  130. package/dist/config/ConfigSchema.d.ts +231 -0
  131. package/dist/config/ConfigSchema.d.ts.map +1 -0
  132. package/dist/config/ConfigSchema.js +15 -0
  133. package/dist/config/ConfigSchema.js.map +1 -0
  134. package/dist/config/GitHubCopilotAuth.d.ts +7 -0
  135. package/dist/config/GitHubCopilotAuth.d.ts.map +1 -0
  136. package/dist/config/GitHubCopilotAuth.js +40 -0
  137. package/dist/config/GitHubCopilotAuth.js.map +1 -0
  138. package/dist/config/MarifoldOpenAICompatProvider.d.ts +39 -0
  139. package/dist/config/MarifoldOpenAICompatProvider.d.ts.map +1 -0
  140. package/dist/config/MarifoldOpenAICompatProvider.js +158 -0
  141. package/dist/config/MarifoldOpenAICompatProvider.js.map +1 -0
  142. package/dist/config/OpenAICompatUrls.d.ts +7 -0
  143. package/dist/config/OpenAICompatUrls.d.ts.map +1 -0
  144. package/dist/config/OpenAICompatUrls.js +47 -0
  145. package/dist/config/OpenAICompatUrls.js.map +1 -0
  146. package/dist/config/ProviderFactory.d.ts +12 -0
  147. package/dist/config/ProviderFactory.d.ts.map +1 -0
  148. package/dist/config/ProviderFactory.js +61 -0
  149. package/dist/config/ProviderFactory.js.map +1 -0
  150. package/dist/config/ProviderInspector.d.ts +46 -0
  151. package/dist/config/ProviderInspector.d.ts.map +1 -0
  152. package/dist/config/ProviderInspector.js +356 -0
  153. package/dist/config/ProviderInspector.js.map +1 -0
  154. package/dist/config/ProviderRegistry.d.ts +19 -0
  155. package/dist/config/ProviderRegistry.d.ts.map +1 -0
  156. package/dist/config/ProviderRegistry.js +301 -0
  157. package/dist/config/ProviderRegistry.js.map +1 -0
  158. package/dist/config/XaiTokenRefresh.d.ts +15 -0
  159. package/dist/config/XaiTokenRefresh.d.ts.map +1 -0
  160. package/dist/config/XaiTokenRefresh.js +73 -0
  161. package/dist/config/XaiTokenRefresh.js.map +1 -0
  162. package/dist/errors/MarifoldError.d.ts +34 -0
  163. package/dist/errors/MarifoldError.d.ts.map +1 -0
  164. package/dist/errors/MarifoldError.js +100 -0
  165. package/dist/errors/MarifoldError.js.map +1 -0
  166. package/dist/images/ImageOptimizer.d.ts +34 -0
  167. package/dist/images/ImageOptimizer.d.ts.map +1 -0
  168. package/dist/images/ImageOptimizer.js +225 -0
  169. package/dist/images/ImageOptimizer.js.map +1 -0
  170. package/dist/index.d.ts +96 -0
  171. package/dist/index.d.ts.map +1 -0
  172. package/dist/index.js +193 -0
  173. package/dist/index.js.map +1 -0
  174. package/dist/memory/MemoryControls.d.ts +26 -0
  175. package/dist/memory/MemoryControls.d.ts.map +1 -0
  176. package/dist/memory/MemoryControls.js +388 -0
  177. package/dist/memory/MemoryControls.js.map +1 -0
  178. package/dist/memory/MemoryStore.d.ts +122 -0
  179. package/dist/memory/MemoryStore.d.ts.map +1 -0
  180. package/dist/memory/MemoryStore.js +1096 -0
  181. package/dist/memory/MemoryStore.js.map +1 -0
  182. package/dist/profiles/ProfileManager.d.ts +139 -0
  183. package/dist/profiles/ProfileManager.d.ts.map +1 -0
  184. package/dist/profiles/ProfileManager.js +475 -0
  185. package/dist/profiles/ProfileManager.js.map +1 -0
  186. package/dist/profiles/ProfileResolver.d.ts +18 -0
  187. package/dist/profiles/ProfileResolver.d.ts.map +1 -0
  188. package/dist/profiles/ProfileResolver.js +280 -0
  189. package/dist/profiles/ProfileResolver.js.map +1 -0
  190. package/dist/runs/RunRegistry.d.ts +140 -0
  191. package/dist/runs/RunRegistry.d.ts.map +1 -0
  192. package/dist/runs/RunRegistry.js +432 -0
  193. package/dist/runs/RunRegistry.js.map +1 -0
  194. package/dist/runtime/MarifoldRuntime.d.ts +244 -0
  195. package/dist/runtime/MarifoldRuntime.d.ts.map +1 -0
  196. package/dist/runtime/MarifoldRuntime.js +1099 -0
  197. package/dist/runtime/MarifoldRuntime.js.map +1 -0
  198. package/dist/runtime/MarifoldTypes.d.ts +70 -0
  199. package/dist/runtime/MarifoldTypes.d.ts.map +1 -0
  200. package/dist/runtime/MarifoldTypes.js +3 -0
  201. package/dist/runtime/MarifoldTypes.js.map +1 -0
  202. package/dist/schedule/ScheduleStore.d.ts +60 -0
  203. package/dist/schedule/ScheduleStore.d.ts.map +1 -0
  204. package/dist/schedule/ScheduleStore.js +212 -0
  205. package/dist/schedule/ScheduleStore.js.map +1 -0
  206. package/dist/schedule/Scheduler.d.ts +28 -0
  207. package/dist/schedule/Scheduler.d.ts.map +1 -0
  208. package/dist/schedule/Scheduler.js +65 -0
  209. package/dist/schedule/Scheduler.js.map +1 -0
  210. package/dist/search/DuckDuckGoBackend.d.ts +18 -0
  211. package/dist/search/DuckDuckGoBackend.d.ts.map +1 -0
  212. package/dist/search/DuckDuckGoBackend.js +37 -0
  213. package/dist/search/DuckDuckGoBackend.js.map +1 -0
  214. package/dist/search/FirecrawlBackend.d.ts +28 -0
  215. package/dist/search/FirecrawlBackend.d.ts.map +1 -0
  216. package/dist/search/FirecrawlBackend.js +76 -0
  217. package/dist/search/FirecrawlBackend.js.map +1 -0
  218. package/dist/search/SearchBackend.d.ts +18 -0
  219. package/dist/search/SearchBackend.d.ts.map +1 -0
  220. package/dist/search/SearchBackend.js +24 -0
  221. package/dist/search/SearchBackend.js.map +1 -0
  222. package/dist/search/createSearchBackend.d.ts +16 -0
  223. package/dist/search/createSearchBackend.d.ts.map +1 -0
  224. package/dist/search/createSearchBackend.js +30 -0
  225. package/dist/search/createSearchBackend.js.map +1 -0
  226. package/dist/sessions/ResponseMetrics.d.ts +17 -0
  227. package/dist/sessions/ResponseMetrics.d.ts.map +1 -0
  228. package/dist/sessions/ResponseMetrics.js +3 -0
  229. package/dist/sessions/ResponseMetrics.js.map +1 -0
  230. package/dist/sessions/SessionResolver.d.ts +135 -0
  231. package/dist/sessions/SessionResolver.d.ts.map +1 -0
  232. package/dist/sessions/SessionResolver.js +1173 -0
  233. package/dist/sessions/SessionResolver.js.map +1 -0
  234. package/dist/skill/BuiltInSkillManager.d.ts +11 -0
  235. package/dist/skill/BuiltInSkillManager.d.ts.map +1 -0
  236. package/dist/skill/BuiltInSkillManager.js +98 -0
  237. package/dist/skill/BuiltInSkillManager.js.map +1 -0
  238. package/dist/skill/SkillInvocation.d.ts +30 -0
  239. package/dist/skill/SkillInvocation.d.ts.map +1 -0
  240. package/dist/skill/SkillInvocation.js +135 -0
  241. package/dist/skill/SkillInvocation.js.map +1 -0
  242. package/dist/skill/SkillSchema.d.ts +37 -0
  243. package/dist/skill/SkillSchema.d.ts.map +1 -0
  244. package/dist/skill/SkillSchema.js +26 -0
  245. package/dist/skill/SkillSchema.js.map +1 -0
  246. package/dist/skill/SkillStore.d.ts +41 -0
  247. package/dist/skill/SkillStore.d.ts.map +1 -0
  248. package/dist/skill/SkillStore.js +184 -0
  249. package/dist/skill/SkillStore.js.map +1 -0
  250. package/dist/skill/SkillTemplater.d.ts +19 -0
  251. package/dist/skill/SkillTemplater.d.ts.map +1 -0
  252. package/dist/skill/SkillTemplater.js +36 -0
  253. package/dist/skill/SkillTemplater.js.map +1 -0
  254. package/dist/skill/SkillValidator.d.ts +10 -0
  255. package/dist/skill/SkillValidator.d.ts.map +1 -0
  256. package/dist/skill/SkillValidator.js +131 -0
  257. package/dist/skill/SkillValidator.js.map +1 -0
  258. package/dist/skill/SkillVars.d.ts +10 -0
  259. package/dist/skill/SkillVars.d.ts.map +1 -0
  260. package/dist/skill/SkillVars.js +65 -0
  261. package/dist/skill/SkillVars.js.map +1 -0
  262. package/dist/skill/index.d.ts +10 -0
  263. package/dist/skill/index.d.ts.map +1 -0
  264. package/dist/skill/index.js +22 -0
  265. package/dist/skill/index.js.map +1 -0
  266. package/dist/skillapp/SkillAppActionResolver.d.ts +13 -0
  267. package/dist/skillapp/SkillAppActionResolver.d.ts.map +1 -0
  268. package/dist/skillapp/SkillAppActionResolver.js +95 -0
  269. package/dist/skillapp/SkillAppActionResolver.js.map +1 -0
  270. package/dist/skillapp/SkillAppSchema.d.ts +79 -0
  271. package/dist/skillapp/SkillAppSchema.d.ts.map +1 -0
  272. package/dist/skillapp/SkillAppSchema.js +20 -0
  273. package/dist/skillapp/SkillAppSchema.js.map +1 -0
  274. package/dist/skillapp/SkillAppStore.d.ts +11 -0
  275. package/dist/skillapp/SkillAppStore.d.ts.map +1 -0
  276. package/dist/skillapp/SkillAppStore.js +98 -0
  277. package/dist/skillapp/SkillAppStore.js.map +1 -0
  278. package/dist/skillapp/SkillAppValidator.d.ts +10 -0
  279. package/dist/skillapp/SkillAppValidator.d.ts.map +1 -0
  280. package/dist/skillapp/SkillAppValidator.js +522 -0
  281. package/dist/skillapp/SkillAppValidator.js.map +1 -0
  282. package/dist/tasks/TaskStore.d.ts +110 -0
  283. package/dist/tasks/TaskStore.d.ts.map +1 -0
  284. package/dist/tasks/TaskStore.js +371 -0
  285. package/dist/tasks/TaskStore.js.map +1 -0
  286. package/dist/util/fetchRetry.d.ts +11 -0
  287. package/dist/util/fetchRetry.d.ts.map +1 -0
  288. package/dist/util/fetchRetry.js +48 -0
  289. package/dist/util/fetchRetry.js.map +1 -0
  290. package/dist/util/idToken.d.ts +12 -0
  291. package/dist/util/idToken.d.ts.map +1 -0
  292. package/dist/util/idToken.js +32 -0
  293. package/dist/util/idToken.js.map +1 -0
  294. package/dist/util/proxy.d.ts +18 -0
  295. package/dist/util/proxy.d.ts.map +1 -0
  296. package/dist/util/proxy.js +28 -0
  297. package/dist/util/proxy.js.map +1 -0
  298. package/dist/workspace/Workspace.d.ts +9 -0
  299. package/dist/workspace/Workspace.d.ts.map +1 -0
  300. package/dist/workspace/Workspace.js +55 -0
  301. package/dist/workspace/Workspace.js.map +1 -0
  302. package/dist/workspace/WorkspaceInitializer.d.ts +40 -0
  303. package/dist/workspace/WorkspaceInitializer.d.ts.map +1 -0
  304. package/dist/workspace/WorkspaceInitializer.js +212 -0
  305. package/dist/workspace/WorkspaceInitializer.js.map +1 -0
  306. package/dist/workspace/WorkspacePaths.d.ts +11 -0
  307. package/dist/workspace/WorkspacePaths.d.ts.map +1 -0
  308. package/dist/workspace/WorkspacePaths.js +82 -0
  309. package/dist/workspace/WorkspacePaths.js.map +1 -0
  310. package/package.json +36 -0
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IMAGE_MAX_INPUT_PIXELS = exports.IMAGE_JPEG_QUALITY = exports.IMAGE_MAX_LONG_EDGE = exports.IMAGE_OPTIMIZE_MIN_BYTES = exports.MAX_TOTAL_SOURCE_IMAGE_BYTES = exports.MAX_IMAGES_PER_REQUEST = void 0;
7
+ exports.prepareImageInputs = prepareImageInputs;
8
+ const fs_1 = require("fs");
9
+ const sharp_1 = __importDefault(require("sharp"));
10
+ const MarifoldError_1 = require("../errors/MarifoldError");
11
+ /** Keep these limits below the service's JSON body limit after base64 overhead. */
12
+ exports.MAX_IMAGES_PER_REQUEST = 4;
13
+ exports.MAX_TOTAL_SOURCE_IMAGE_BYTES = 16 * 1024 * 1024;
14
+ exports.IMAGE_OPTIMIZE_MIN_BYTES = 300 * 1024;
15
+ exports.IMAGE_MAX_LONG_EDGE = 1600;
16
+ exports.IMAGE_JPEG_QUALITY = 85;
17
+ exports.IMAGE_MAX_INPUT_PIXELS = 8192 * 8192;
18
+ const MEDIA_TYPE_BY_FORMAT = {
19
+ gif: 'image/gif',
20
+ jpeg: 'image/jpeg',
21
+ jpg: 'image/jpeg',
22
+ png: 'image/png',
23
+ webp: 'image/webp',
24
+ };
25
+ /**
26
+ * Validate and reduce local/base64 images before Priest builds provider
27
+ * payloads. URLs remain remote references and are deliberately not fetched.
28
+ *
29
+ * PNG and other lossless inputs stay lossless (WebP) so screenshots and text
30
+ * remain crisp. JPEG uses high-quality 4:4:4 output; static WebP first tries a
31
+ * lossless resized candidate. Animated images remain byte-for-byte unchanged.
32
+ * An optimized candidate is accepted only when it is smaller than the source.
33
+ */
34
+ async function prepareImageInputs(inputs, options = {}) {
35
+ if (!inputs || inputs.length === 0)
36
+ return { images: [], summaries: [] };
37
+ if (inputs.length > exports.MAX_IMAGES_PER_REQUEST) {
38
+ throw MarifoldError_1.MarifoldError.imageInvalid(`Up to ${exports.MAX_IMAGES_PER_REQUEST} images may be attached to one request.`);
39
+ }
40
+ const images = [];
41
+ const summaries = [];
42
+ let totalSourceBytes = 0;
43
+ for (const [index, input] of inputs.entries()) {
44
+ const sourceCount = [input.path, input.url, input.data].filter(value => typeof value === 'string' && value.length > 0).length;
45
+ if (sourceCount !== 1) {
46
+ throw MarifoldError_1.MarifoldError.imageInvalid(`Image #${index + 1} must set exactly one of path, data, or url.`);
47
+ }
48
+ if (input.url) {
49
+ let protocol;
50
+ try {
51
+ protocol = new URL(input.url).protocol;
52
+ }
53
+ catch {
54
+ throw MarifoldError_1.MarifoldError.imageInvalid(`Image #${index + 1} has an invalid URL.`);
55
+ }
56
+ if (protocol !== 'http:' && protocol !== 'https:') {
57
+ throw MarifoldError_1.MarifoldError.imageInvalid(`Image #${index + 1} URL must use http or https.`);
58
+ }
59
+ images.push(input);
60
+ summaries.push({ sourceBytes: 0, sentBytes: 0, optimized: false });
61
+ continue;
62
+ }
63
+ const source = await readImageBytes(input, index, exports.MAX_TOTAL_SOURCE_IMAGE_BYTES - totalSourceBytes);
64
+ totalSourceBytes += source.length;
65
+ if (totalSourceBytes > exports.MAX_TOTAL_SOURCE_IMAGE_BYTES) {
66
+ throw MarifoldError_1.MarifoldError.imageInvalid(`Local and embedded images are limited to ${exports.MAX_TOTAL_SOURCE_IMAGE_BYTES / (1024 * 1024)} MiB per request before optimization.`);
67
+ }
68
+ const image = (0, sharp_1.default)(source, {
69
+ limitInputPixels: exports.IMAGE_MAX_INPUT_PIXELS,
70
+ sequentialRead: true,
71
+ });
72
+ let metadata;
73
+ try {
74
+ metadata = await image.metadata();
75
+ }
76
+ catch (error) {
77
+ throw MarifoldError_1.MarifoldError.imageInvalid(`Could not decode image #${index + 1}: ${errorMessage(error)}`);
78
+ }
79
+ const sourceMediaType = metadata.format ? MEDIA_TYPE_BY_FORMAT[metadata.format] : undefined;
80
+ const mustConvert = sourceMediaType === undefined;
81
+ const tooLarge = Math.max(metadata.width ?? 0, metadata.height ?? 0) > exports.IMAGE_MAX_LONG_EDGE;
82
+ const animated = (metadata.pages ?? 1) > 1;
83
+ if (options.optimize === false && mustConvert) {
84
+ throw MarifoldError_1.MarifoldError.imageInvalid(`Image #${index + 1} uses an unsupported original format; use JPEG, PNG, WebP, or GIF, or omit /attach-original so Marifold can convert it.`);
85
+ }
86
+ const largeEncoding = source.length >= exports.IMAGE_OPTIMIZE_MIN_BYTES && metadata.format !== 'webp';
87
+ const shouldOptimize = options.optimize !== false
88
+ && !animated
89
+ && (mustConvert || tooLarge || largeEncoding);
90
+ if (!shouldOptimize) {
91
+ const mediaType = sourceMediaType ?? input.mediaType;
92
+ images.push(input.path ? { path: input.path, ...(mediaType ? { mediaType } : {}) } : {
93
+ data: source.toString('base64'),
94
+ ...(mediaType ? { mediaType } : {}),
95
+ });
96
+ summaries.push({
97
+ sourceBytes: source.length,
98
+ sentBytes: source.length,
99
+ optimized: false,
100
+ sourceMediaType,
101
+ sentMediaType: mediaType,
102
+ });
103
+ continue;
104
+ }
105
+ let candidate;
106
+ let sentMediaType;
107
+ try {
108
+ const pipeline = (0, sharp_1.default)(source, {
109
+ limitInputPixels: exports.IMAGE_MAX_INPUT_PIXELS,
110
+ sequentialRead: true,
111
+ })
112
+ .autoOrient()
113
+ .resize(exports.IMAGE_MAX_LONG_EDGE, exports.IMAGE_MAX_LONG_EDGE, {
114
+ fit: 'inside',
115
+ withoutEnlargement: true,
116
+ });
117
+ // Lossless inputs remain lossless to protect screenshots, diagrams,
118
+ // transparency, and small text. JPEG/WebP sources are already lossy, so
119
+ // a high-quality re-encode is appropriate after resize/metadata removal.
120
+ if (metadata.format === 'jpeg') {
121
+ candidate = await pipeline.jpeg({
122
+ quality: exports.IMAGE_JPEG_QUALITY,
123
+ chromaSubsampling: '4:4:4',
124
+ mozjpeg: true,
125
+ }).toBuffer();
126
+ sentMediaType = 'image/jpeg';
127
+ }
128
+ else if (metadata.format === 'webp') {
129
+ const lossless = await pipeline.clone().webp({ lossless: true, effort: 4 }).toBuffer();
130
+ candidate = lossless.length < source.length
131
+ ? lossless
132
+ : await pipeline.webp({ quality: exports.IMAGE_JPEG_QUALITY, smartSubsample: true }).toBuffer();
133
+ sentMediaType = 'image/webp';
134
+ }
135
+ else {
136
+ candidate = await pipeline.webp({ lossless: true, effort: 4 }).toBuffer();
137
+ sentMediaType = 'image/webp';
138
+ }
139
+ }
140
+ catch (error) {
141
+ throw MarifoldError_1.MarifoldError.imageInvalid(`Could not optimize image #${index + 1}: ${errorMessage(error)}`);
142
+ }
143
+ if (candidate.length >= source.length && !mustConvert) {
144
+ const mediaType = sourceMediaType ?? input.mediaType;
145
+ images.push(input.path ? { path: input.path, ...(mediaType ? { mediaType } : {}) } : {
146
+ data: source.toString('base64'),
147
+ ...(mediaType ? { mediaType } : {}),
148
+ });
149
+ summaries.push({
150
+ sourceBytes: source.length,
151
+ sentBytes: source.length,
152
+ optimized: false,
153
+ sourceMediaType,
154
+ sentMediaType: mediaType,
155
+ });
156
+ continue;
157
+ }
158
+ images.push({ data: candidate.toString('base64'), mediaType: sentMediaType });
159
+ summaries.push({
160
+ sourceBytes: source.length,
161
+ sentBytes: candidate.length,
162
+ optimized: true,
163
+ sourceMediaType,
164
+ sentMediaType,
165
+ });
166
+ }
167
+ return { images, summaries };
168
+ }
169
+ async function readImageBytes(input, index, remainingBytes) {
170
+ if (input.path) {
171
+ try {
172
+ const stat = await fs_1.promises.stat(input.path);
173
+ if (!stat.isFile())
174
+ throw new Error('path is not a regular file');
175
+ if (stat.size > remainingBytes)
176
+ throw sourceLimitError();
177
+ return await fs_1.promises.readFile(input.path);
178
+ }
179
+ catch (error) {
180
+ if (error instanceof MarifoldError_1.MarifoldError)
181
+ throw error;
182
+ throw MarifoldError_1.MarifoldError.imageInvalid(`Could not read image #${index + 1} at ${input.path}: ${errorMessage(error)}`);
183
+ }
184
+ }
185
+ if (input.data) {
186
+ const data = input.data.trim();
187
+ // Reject oversized base64 before allocating the decoded Buffer.
188
+ if (data.length > Math.ceil(remainingBytes / 3) * 4 + 4)
189
+ throw sourceLimitError();
190
+ if (!isBase64(data)) {
191
+ throw MarifoldError_1.MarifoldError.imageInvalid(`Image #${index + 1} does not contain valid base64 data.`);
192
+ }
193
+ return Buffer.from(data, 'base64');
194
+ }
195
+ throw MarifoldError_1.MarifoldError.imageInvalid(`Image #${index + 1} must set exactly one of path, data, or url.`);
196
+ }
197
+ function sourceLimitError() {
198
+ return MarifoldError_1.MarifoldError.imageInvalid(`Local and embedded images are limited to ${exports.MAX_TOTAL_SOURCE_IMAGE_BYTES / (1024 * 1024)} MiB per request before optimization.`);
199
+ }
200
+ function isBase64(value) {
201
+ if (value.length === 0 || value.length % 4 !== 0)
202
+ return false;
203
+ let padding = 0;
204
+ if (value.endsWith('=='))
205
+ padding = 2;
206
+ else if (value.endsWith('='))
207
+ padding = 1;
208
+ const contentEnd = value.length - padding;
209
+ for (let index = 0; index < value.length; index += 1) {
210
+ const code = value.charCodeAt(index);
211
+ const content = index < contentEnd;
212
+ const validContent = (code >= 65 && code <= 90)
213
+ || (code >= 97 && code <= 122)
214
+ || (code >= 48 && code <= 57)
215
+ || code === 43
216
+ || code === 47;
217
+ if ((content && !validContent) || (!content && code !== 61))
218
+ return false;
219
+ }
220
+ return true;
221
+ }
222
+ function errorMessage(error) {
223
+ return error instanceof Error ? error.message : String(error);
224
+ }
225
+ //# sourceMappingURL=ImageOptimizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageOptimizer.js","sourceRoot":"","sources":["../../src/images/ImageOptimizer.ts"],"names":[],"mappings":";;;;;;;AACA,2BAAoC;AACpC,kDAA0B;AAC1B,2DAAwD;AAExD,mFAAmF;AACtE,QAAA,sBAAsB,GAAG,CAAC,CAAC;AAC3B,QAAA,4BAA4B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAChD,QAAA,wBAAwB,GAAG,GAAG,GAAG,IAAI,CAAC;AACtC,QAAA,mBAAmB,GAAG,IAAI,CAAC;AAC3B,QAAA,kBAAkB,GAAG,EAAE,CAAC;AACxB,QAAA,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,MAAM,oBAAoB,GAA2B;IACnD,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;CACnB,CAAC;AAoBF;;;;;;;;GAQG;AACI,KAAK,6BACV,MAAqB,EACrB,OAAO,GAAwB,EAAE;IAEjC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACzE,IAAI,MAAM,CAAC,MAAM,GAAG,QAAA,sBAAsB,EAAE,CAAC;QAC3C,MAAM,6BAAa,CAAC,YAAY,CAAC,SAAS,QAAA,sBAAsB,yCAAyC,CAAC,CAAC;IAC7G,CAAC;IAED,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9H,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,6BAAa,CAAC,YAAY,CAAC,UAAU,KAAK,GAAG,CAAC,8CAA8C,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,QAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,6BAAa,CAAC,YAAY,CAAC,UAAU,KAAK,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAC9E,CAAC;YACD,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClD,MAAM,6BAAa,CAAC,YAAY,CAAC,UAAU,KAAK,GAAG,CAAC,8BAA8B,CAAC,CAAC;YACtF,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,QAAA,4BAA4B,GAAG,gBAAgB,CAAC,CAAC;QACnG,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC;QAClC,IAAI,gBAAgB,GAAG,QAAA,4BAA4B,EAAE,CAAC;YACpD,MAAM,6BAAa,CAAC,YAAY,CAC9B,4CAA4C,QAAA,4BAA4B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,uCAAuC,CAChI,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,MAAM,EAAE;YAC1B,gBAAgB,EAAE,QAAA,sBAAsB;YACxC,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,6BAAa,CAAC,YAAY,CAAC,2BAA2B,KAAK,GAAG,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5F,MAAM,WAAW,GAAG,eAAe,KAAK,SAAS,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,QAAA,mBAAmB,CAAC;QAC3F,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,WAAW,EAAE,CAAC;YAC9C,MAAM,6BAAa,CAAC,YAAY,CAC9B,UAAU,KAAK,GAAG,CAAC,yHAAyH,CAC7I,CAAC;QACJ,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,IAAI,QAAA,wBAAwB,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC;QAC9F,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK;eAC5C,CAAC,QAAQ;eACT,CAAC,WAAW,IAAI,QAAQ,IAAI,aAAa,CAAC,CAAC;QAEhD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,eAAe,IAAI,KAAK,CAAC,SAAS,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnF,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC/B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC,CAAC;YACH,SAAS,CAAC,IAAI,CAAC;gBACb,WAAW,EAAE,MAAM,CAAC,MAAM;gBAC1B,SAAS,EAAE,MAAM,CAAC,MAAM;gBACxB,SAAS,EAAE,KAAK;gBAChB,eAAe;gBACf,aAAa,EAAE,SAAS;aACzB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,SAAiB,CAAC;QACtB,IAAI,aAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,eAAK,EAAC,MAAM,EAAE;gBAC7B,gBAAgB,EAAE,QAAA,sBAAsB;gBACxC,cAAc,EAAE,IAAI;aACrB,CAAC;iBACC,UAAU,EAAE;iBACZ,MAAM,CAAC,QAAA,mBAAmB,EAAE,QAAA,mBAAmB,EAAE;gBAChD,GAAG,EAAE,QAAQ;gBACb,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;YAEL,oEAAoE;YACpE,wEAAwE;YACxE,yEAAyE;YACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC/B,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;oBAC9B,OAAO,EAAE,QAAA,kBAAkB;oBAC3B,iBAAiB,EAAE,OAAO;oBAC1B,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACd,aAAa,GAAG,YAAY,CAAC;YAC/B,CAAC;iBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACvF,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;oBACzC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAA,kBAAkB,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC1F,aAAa,GAAG,YAAY,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC1E,aAAa,GAAG,YAAY,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,6BAAa,CAAC,YAAY,CAAC,6BAA6B,KAAK,GAAG,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,eAAe,IAAI,KAAK,CAAC,SAAS,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnF,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC/B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC,CAAC;YACH,SAAS,CAAC,IAAI,CAAC;gBACb,WAAW,EAAE,MAAM,CAAC,MAAM;gBAC1B,SAAS,EAAE,MAAM,CAAC,MAAM;gBACxB,SAAS,EAAE,KAAK;gBAChB,eAAe;gBACf,aAAa,EAAE,SAAS;aACzB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;QAC9E,SAAS,CAAC,IAAI,CAAC;YACb,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,SAAS,EAAE,SAAS,CAAC,MAAM;YAC3B,SAAS,EAAE,IAAI;YACf,eAAe;YACf,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,KAAiB,EAAE,KAAa,EAAE,cAAsB;IACpF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,aAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,IAAI,GAAG,cAAc;gBAAE,MAAM,gBAAgB,EAAE,CAAC;YACzD,OAAO,MAAM,aAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,6BAAa;gBAAE,MAAM,KAAK,CAAC;YAChD,MAAM,6BAAa,CAAC,YAAY,CAAC,yBAAyB,KAAK,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,gEAAgE;QAChE,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,gBAAgB,EAAE,CAAC;QAClF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,6BAAa,CAAC,YAAY,CAAC,UAAU,KAAK,GAAG,CAAC,sCAAsC,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,6BAAa,CAAC,YAAY,CAAC,UAAU,KAAK,GAAG,CAAC,8CAA8C,CAAC,CAAC;AACtG,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,6BAAa,CAAC,YAAY,CAC/B,4CAA4C,QAAA,4BAA4B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,uCAAuC,CAChI,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/D,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC,CAAC;SACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC1C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;QACnC,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;eAC1C,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC;eAC3B,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;eAC1B,IAAI,KAAK,EAAE;eACX,IAAI,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,KAAK,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,96 @@
1
+ export type { ImageInput, JSONValue as PriestJSONValue, ToolCall, ToolDefinition } from '@priest-ai/core';
2
+ export { AgentRunner } from './agent/AgentRunner';
3
+ export type { AgentEngineContext, AgentRunnerDeps, AgentRunOptions } from './agent/AgentRunner';
4
+ export type { AgentEvent, AgentUsage } from './agent/AgentEvents';
5
+ export type { UsageInfo } from '@priest-ai/core';
6
+ export { DEFAULT_AGENT_CONFIG, resolveAgentConfig, } from './agent/ApprovalPolicy';
7
+ export type { AgentApprovalConfig, AgentToolMode, ApprovalDecision, ApprovalHandler, ApprovalMode, ApprovalRequest, MarifoldAgentConfig, PartialAgentConfig, ToolKind, } from './agent/ApprovalPolicy';
8
+ export { buildControlBlockInstructions, formatControlBlockResult, parseControlBlockCalls, } from './agent/ControlBlockTools';
9
+ export { capToolOutput, ToolRegistry } from './agent/ToolRegistry';
10
+ export type { AgentToolKind, AgentTool, EffectfulAgentTool, RegisteredAgentTool, ToolExecutionContext, ToolExecutionResult, ToolRiskAssessment, UserInputAgentTool, } from './agent/ToolRegistry';
11
+ export { AskUserTool } from './agent/tools/AskUserTool';
12
+ export { InspectAttachmentTool } from './agent/tools/InspectAttachmentTool';
13
+ export { DelegateTool } from './agent/tools/DelegateTool';
14
+ export type { DelegateAskRequest, DelegateAskResult, DelegateToolDeps } from './agent/tools/DelegateTool';
15
+ export { PythonPackageTool } from './agent/tools/PythonPackageTool';
16
+ export { ReadFileTool } from './agent/tools/ReadFileTool';
17
+ export { ShellExecTool } from './agent/tools/ShellExecTool';
18
+ export { WebSearchTool } from './agent/tools/WebSearchTool';
19
+ export { isInsideWorkspace, isInsideAny, WriteFileTool } from './agent/tools/WriteFileTool';
20
+ export { MAX_USER_INPUT_CUSTOM_TEXT, MAX_USER_INPUT_OPTIONS, MAX_USER_INPUT_QUESTIONS, formatUserInputResponse, normalizeUserInputSubmission, parseUserInputRequest, resolveUserInputResponse, } from './agent/UserInput';
21
+ export type { UserInputAnswer, UserInputHandler, UserInputOption, UserInputQuestion, UserInputRequest, UserInputResponse, UserInputSubmission, UserInputSubmissionAnswer, } from './agent/UserInput';
22
+ export { MAX_RUN_INPUT_BYTES, MAX_RUN_INSPECTION_TEXT_BYTES, RUN_WORKSPACE_RETENTION_MS, createRunWorkspace, isInsideAnyRoot, stageRunImages, } from './agent/RunWorkspace';
23
+ export type { RunFileInput, RunWorkspace, StagedRunAttachment, StagedRunFile, } from './agent/RunWorkspace';
24
+ export { DuckDuckGoBackend } from './search/DuckDuckGoBackend';
25
+ export { FirecrawlBackend } from './search/FirecrawlBackend';
26
+ export type { FirecrawlBackendOptions } from './search/FirecrawlBackend';
27
+ export { createSearchBackend } from './search/createSearchBackend';
28
+ export { formatSearchContext, formatSearchResults } from './search/SearchBackend';
29
+ export type { SearchBackend, SearchResultItem } from './search/SearchBackend';
30
+ export { refreshChatGptAccessToken } from './config/ChatGptTokenRefresh';
31
+ export type { ChatGptRefreshedTokens } from './config/ChatGptTokenRefresh';
32
+ export { refreshXaiAccessToken } from './config/XaiTokenRefresh';
33
+ export type { XaiRefreshedTokens } from './config/XaiTokenRefresh';
34
+ export { DEFAULT_WEB_SEARCH_CONFIG, resolveWebSearchConfig } from './config/ConfigSchema';
35
+ export type { LoadedMarifoldConfig, MarifoldConfig, MarifoldDefaultConfig, MarifoldMemoryConfig, MarifoldPathsConfig, MarifoldProviderConfig, MarifoldServiceConfig, MarifoldWebSearchConfig, WebSearchProvider, ProfileDetail, ProfileFileSummary, ProfileMode, ProfileSettings, ProfileSummary, SessionDetail, SessionImageAttachment, ProviderType, SessionSummary, SessionTurnSummary, } from './config/ConfigSchema';
36
+ export { exportConfigBackup, importConfigBackup } from './config/ConfigBackup';
37
+ export type { ConfigBackupExportOptions, ConfigBackupExportResult, ConfigBackupImportOptions, ConfigBackupImportResult, } from './config/ConfigBackup';
38
+ export { ConfigManager, renderMarifoldConfig } from './config/ConfigManager';
39
+ export type { ConfigRemoveModelResult, ConfigRemoveProviderResult, ConfigSetResult } from './config/ConfigManager';
40
+ export { ConfigLoader } from './config/ConfigLoader';
41
+ export { exchangeGitHubTokenForCopilotToken } from './config/GitHubCopilotAuth';
42
+ export type { GitHubCopilotToken } from './config/GitHubCopilotAuth';
43
+ export { ProviderInspector } from './config/ProviderInspector';
44
+ export type { ModelValidation, ProviderModelList, ProviderStatus, ProviderSummary } from './config/ProviderInspector';
45
+ export { ProviderFactory } from './config/ProviderFactory';
46
+ export { GITHUB_COPILOT_CHAT_MODELS, GITHUB_COPILOT_RESPONSES_MODELS, getProviderRegistryEntry, isGitHubCopilotResponsesModelId, isKnownGitHubCopilotUnsupportedModelId, listProviderRegistry, providerConfigFromRegistry, } from './config/ProviderRegistry';
47
+ export type { ProviderRegistryEntry, ProviderRegistryKind } from './config/ProviderRegistry';
48
+ export { MarifoldError } from './errors/MarifoldError';
49
+ export type { MarifoldErrorCode } from './errors/MarifoldError';
50
+ export { IMAGE_JPEG_QUALITY, IMAGE_MAX_INPUT_PIXELS, IMAGE_MAX_LONG_EDGE, IMAGE_OPTIMIZE_MIN_BYTES, MAX_IMAGES_PER_REQUEST, MAX_TOTAL_SOURCE_IMAGE_BYTES, prepareImageInputs, } from './images/ImageOptimizer';
51
+ export type { PreparedImages, PreparedImageSummary, PrepareImageOptions } from './images/ImageOptimizer';
52
+ export { ensureProfileMemoryFiles, MemoryStore } from './memory/MemoryStore';
53
+ export type { MemoryEntry, MemoryKind, MemoryMutationResult, MemoryRememberOptions, MemoryRememberResult, MemorySaveInput, MemorySaveResult, MemoryScaffoldFile, MemoryScope, MemorySourceType, MemoryStatus, MemoryStability, } from './memory/MemoryStore';
54
+ export { MemoryControlStripper, buildMemoryInstructions, extractPromptForgetQueries, extractPromptMemoryInputs, isSimpleMemoryPrompt, shouldInjectMemoryInstructions, stripMemoryControls, } from './memory/MemoryControls';
55
+ export type { MemoryControlPayloads, StrippedMemoryControls } from './memory/MemoryControls';
56
+ export { ProfileManager } from './profiles/ProfileManager';
57
+ export type { ProfileDeleteResult, ProfileFileKind, ProfileInitResult, ProfileModelOverrideResult, ProfileRenameResult, } from './profiles/ProfileManager';
58
+ export { ProfileResolver } from './profiles/ProfileResolver';
59
+ export { MarifoldRuntime } from './runtime/MarifoldRuntime';
60
+ export type { MarifoldRuntimeOptions } from './runtime/MarifoldRuntime';
61
+ export { respond } from './channels/respond';
62
+ export type { RespondRequest, RespondResult } from './channels/respond';
63
+ export { RunRegistry } from './runs/RunRegistry';
64
+ export type { RunApprovalAction, RunRecord, RunRegistryOptions, RunRegistryRuntime, RunStartInput, SequencedEvent, } from './runs/RunRegistry';
65
+ export { TelegramBridge } from './channels/TelegramBridge';
66
+ export type { TelegramBridgeDeps } from './channels/TelegramBridge';
67
+ export { proxyDispatcher } from './util/proxy';
68
+ export { fetchWithTransientRetry, isTransientFetchError } from './util/fetchRetry';
69
+ export type { TransientFetchRetryOptions } from './util/fetchRetry';
70
+ export { accountIdFromIdToken } from './util/idToken';
71
+ export type { MarifoldAskResponse, MarifoldResolvedSettings, MarifoldRunError, MarifoldRunRequest, } from './runtime/MarifoldTypes';
72
+ export { SCHEDULE_SCHEMA, ScheduleStore } from './schedule/ScheduleStore';
73
+ export type { ScheduleCreateInput, ScheduleState, ScheduleUpdateInput } from './schedule/ScheduleStore';
74
+ export { Scheduler } from './schedule/Scheduler';
75
+ export type { ScheduleRunResult, SchedulerDeps } from './schedule/Scheduler';
76
+ export { SessionResolver, type SessionDbHealth, type SessionDisplayUpdate, type SessionListOptions, type SessionReplaceResult, type SessionTruncateResult, } from './sessions/SessionResolver';
77
+ export type { ResponseMetrics } from './sessions/ResponseMetrics';
78
+ export { SKILL_SCHEMA_ID, extractTemplateVariables, parseSkill, validateSkill, renderSkillPrompt, resolveSkillValues, bindSkillArgs, parseSkillInvocation, resolveSkillInvocation, resolveSkillValuesInvocation, skillUsage, tokenizeSkillArgs, SkillStore, } from './skill';
79
+ export type { MarifoldSkill, SkillMode, SkillVariable, SkillRenderResult, ParsedSkillInvocation, ResolvedSkillInvocation, SkillScope, SkillStoreOptions, } from './skill';
80
+ export { AppStore } from './app/AppStore';
81
+ export { SkillAppInstanceRegistry } from './app/SkillAppInstanceRegistry';
82
+ export type { SkillAppInstanceRuntime } from './app/SkillAppInstanceRegistry';
83
+ export { resolveSkillAppOperation } from './app/SkillAppResolver';
84
+ export type { ResolvedSkillAppOperation } from './app/SkillAppResolver';
85
+ export { compileSkillApp } from './app/SkillAppCompiler';
86
+ export { App, Button, Column, Row, Select, Spacer, State, Textarea, TextResult, defineSkillApp, registerModel, registerSkill, trigger, useSkill, } from './app/SkillAppDsl';
87
+ export type { ComponentReference, ModelReference, OperationReference, SkillAppTemplate, SkillReference, StateReference, TextResultReference, } from './app/SkillAppDsl';
88
+ export { SKILL_APP_SCHEMA } from './app/SkillAppSchema';
89
+ export type { SkillAppButtonEmphasis, SkillAppComponent, SkillAppConcurrency, SkillAppDefinition, SkillAppErrorResult, SkillAppExecution, SkillAppInstanceSnapshot, SkillAppInfo, SkillAppLayoutGap, SkillAppLayoutItem, SkillAppModelDefinition, SkillAppMutationResult, SkillAppMutationReason, SkillAppMutationStatus, SkillAppOperationDefinition, SkillAppResult, SkillAppResultMeta, SkillAppResponsiveBehavior, SkillAppSkillDefinition, SkillAppStateDefinition, SkillAppStateValue, SkillAppSuccessResult, SkillAppTextResultDefinition, SkillAppTriggerDefinition, } from './app/SkillAppSchema';
90
+ export { Workspace } from './workspace/Workspace';
91
+ export { WorkspaceInitializer } from './workspace/WorkspaceInitializer';
92
+ export type { WorkspaceInitFile, WorkspaceInitFileStatus, WorkspaceInitOptions, WorkspaceInitResult, } from './workspace/WorkspaceInitializer';
93
+ export { TASK_STATE_SCHEMA, TaskStore } from './tasks/TaskStore';
94
+ export type { TaskCreateInput, TaskEvent, TaskEventInput, TaskEventKind, TaskListOptions, TaskPlanInput, TaskPlanItem, TaskState, TaskStatus, TaskStepStatus, TaskSummary, TaskUpdateInput, } from './tasks/TaskStore';
95
+ export { defaultConfigPath, defaultAppsDir, defaultProfilesDir, defaultSessionsDb, defaultSchedulesDir, defaultSkillsDir, defaultTasksDir, expandHome, marifoldHome, resolveUserPath, } from './workspace/WorkspacePaths';
96
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GITHUB_COPILOT_RESPONSES_MODELS = exports.GITHUB_COPILOT_CHAT_MODELS = exports.ProviderFactory = exports.ProviderInspector = exports.exchangeGitHubTokenForCopilotToken = exports.ConfigLoader = exports.renderMarifoldConfig = exports.ConfigManager = exports.importConfigBackup = exports.exportConfigBackup = exports.resolveWebSearchConfig = exports.DEFAULT_WEB_SEARCH_CONFIG = exports.refreshXaiAccessToken = exports.refreshChatGptAccessToken = exports.formatSearchResults = exports.formatSearchContext = exports.createSearchBackend = exports.FirecrawlBackend = exports.DuckDuckGoBackend = exports.stageRunImages = exports.isInsideAnyRoot = exports.createRunWorkspace = exports.RUN_WORKSPACE_RETENTION_MS = exports.MAX_RUN_INSPECTION_TEXT_BYTES = exports.MAX_RUN_INPUT_BYTES = exports.resolveUserInputResponse = exports.parseUserInputRequest = exports.normalizeUserInputSubmission = exports.formatUserInputResponse = exports.MAX_USER_INPUT_QUESTIONS = exports.MAX_USER_INPUT_OPTIONS = exports.MAX_USER_INPUT_CUSTOM_TEXT = exports.WriteFileTool = exports.isInsideAny = exports.isInsideWorkspace = exports.WebSearchTool = exports.ShellExecTool = exports.ReadFileTool = exports.PythonPackageTool = exports.DelegateTool = exports.InspectAttachmentTool = exports.AskUserTool = exports.ToolRegistry = exports.capToolOutput = exports.parseControlBlockCalls = exports.formatControlBlockResult = exports.buildControlBlockInstructions = exports.resolveAgentConfig = exports.DEFAULT_AGENT_CONFIG = exports.AgentRunner = void 0;
4
+ exports.AppStore = exports.SkillStore = exports.tokenizeSkillArgs = exports.skillUsage = exports.resolveSkillValuesInvocation = exports.resolveSkillInvocation = exports.parseSkillInvocation = exports.bindSkillArgs = exports.resolveSkillValues = exports.renderSkillPrompt = exports.validateSkill = exports.parseSkill = exports.extractTemplateVariables = exports.SKILL_SCHEMA_ID = exports.SessionResolver = exports.Scheduler = exports.ScheduleStore = exports.SCHEDULE_SCHEMA = exports.accountIdFromIdToken = exports.isTransientFetchError = exports.fetchWithTransientRetry = exports.proxyDispatcher = exports.TelegramBridge = exports.RunRegistry = exports.respond = exports.MarifoldRuntime = exports.ProfileResolver = exports.ProfileManager = exports.stripMemoryControls = exports.shouldInjectMemoryInstructions = exports.isSimpleMemoryPrompt = exports.extractPromptMemoryInputs = exports.extractPromptForgetQueries = exports.buildMemoryInstructions = exports.MemoryControlStripper = exports.MemoryStore = exports.ensureProfileMemoryFiles = exports.prepareImageInputs = exports.MAX_TOTAL_SOURCE_IMAGE_BYTES = exports.MAX_IMAGES_PER_REQUEST = exports.IMAGE_OPTIMIZE_MIN_BYTES = exports.IMAGE_MAX_LONG_EDGE = exports.IMAGE_MAX_INPUT_PIXELS = exports.IMAGE_JPEG_QUALITY = exports.MarifoldError = exports.providerConfigFromRegistry = exports.listProviderRegistry = exports.isKnownGitHubCopilotUnsupportedModelId = exports.isGitHubCopilotResponsesModelId = exports.getProviderRegistryEntry = void 0;
5
+ exports.resolveUserPath = exports.marifoldHome = exports.expandHome = exports.defaultTasksDir = exports.defaultSkillsDir = exports.defaultSchedulesDir = exports.defaultSessionsDb = exports.defaultProfilesDir = exports.defaultAppsDir = exports.defaultConfigPath = exports.TaskStore = exports.TASK_STATE_SCHEMA = exports.WorkspaceInitializer = exports.Workspace = exports.SKILL_APP_SCHEMA = exports.useSkill = exports.trigger = exports.registerSkill = exports.registerModel = exports.defineSkillApp = exports.TextResult = exports.Textarea = exports.State = exports.Spacer = exports.Select = exports.Row = exports.Column = exports.Button = exports.App = exports.compileSkillApp = exports.resolveSkillAppOperation = exports.SkillAppInstanceRegistry = void 0;
6
+ var AgentRunner_1 = require("./agent/AgentRunner");
7
+ Object.defineProperty(exports, "AgentRunner", { enumerable: true, get: function () { return AgentRunner_1.AgentRunner; } });
8
+ var ApprovalPolicy_1 = require("./agent/ApprovalPolicy");
9
+ Object.defineProperty(exports, "DEFAULT_AGENT_CONFIG", { enumerable: true, get: function () { return ApprovalPolicy_1.DEFAULT_AGENT_CONFIG; } });
10
+ Object.defineProperty(exports, "resolveAgentConfig", { enumerable: true, get: function () { return ApprovalPolicy_1.resolveAgentConfig; } });
11
+ var ControlBlockTools_1 = require("./agent/ControlBlockTools");
12
+ Object.defineProperty(exports, "buildControlBlockInstructions", { enumerable: true, get: function () { return ControlBlockTools_1.buildControlBlockInstructions; } });
13
+ Object.defineProperty(exports, "formatControlBlockResult", { enumerable: true, get: function () { return ControlBlockTools_1.formatControlBlockResult; } });
14
+ Object.defineProperty(exports, "parseControlBlockCalls", { enumerable: true, get: function () { return ControlBlockTools_1.parseControlBlockCalls; } });
15
+ var ToolRegistry_1 = require("./agent/ToolRegistry");
16
+ Object.defineProperty(exports, "capToolOutput", { enumerable: true, get: function () { return ToolRegistry_1.capToolOutput; } });
17
+ Object.defineProperty(exports, "ToolRegistry", { enumerable: true, get: function () { return ToolRegistry_1.ToolRegistry; } });
18
+ var AskUserTool_1 = require("./agent/tools/AskUserTool");
19
+ Object.defineProperty(exports, "AskUserTool", { enumerable: true, get: function () { return AskUserTool_1.AskUserTool; } });
20
+ var InspectAttachmentTool_1 = require("./agent/tools/InspectAttachmentTool");
21
+ Object.defineProperty(exports, "InspectAttachmentTool", { enumerable: true, get: function () { return InspectAttachmentTool_1.InspectAttachmentTool; } });
22
+ var DelegateTool_1 = require("./agent/tools/DelegateTool");
23
+ Object.defineProperty(exports, "DelegateTool", { enumerable: true, get: function () { return DelegateTool_1.DelegateTool; } });
24
+ var PythonPackageTool_1 = require("./agent/tools/PythonPackageTool");
25
+ Object.defineProperty(exports, "PythonPackageTool", { enumerable: true, get: function () { return PythonPackageTool_1.PythonPackageTool; } });
26
+ var ReadFileTool_1 = require("./agent/tools/ReadFileTool");
27
+ Object.defineProperty(exports, "ReadFileTool", { enumerable: true, get: function () { return ReadFileTool_1.ReadFileTool; } });
28
+ var ShellExecTool_1 = require("./agent/tools/ShellExecTool");
29
+ Object.defineProperty(exports, "ShellExecTool", { enumerable: true, get: function () { return ShellExecTool_1.ShellExecTool; } });
30
+ var WebSearchTool_1 = require("./agent/tools/WebSearchTool");
31
+ Object.defineProperty(exports, "WebSearchTool", { enumerable: true, get: function () { return WebSearchTool_1.WebSearchTool; } });
32
+ var WriteFileTool_1 = require("./agent/tools/WriteFileTool");
33
+ Object.defineProperty(exports, "isInsideWorkspace", { enumerable: true, get: function () { return WriteFileTool_1.isInsideWorkspace; } });
34
+ Object.defineProperty(exports, "isInsideAny", { enumerable: true, get: function () { return WriteFileTool_1.isInsideAny; } });
35
+ Object.defineProperty(exports, "WriteFileTool", { enumerable: true, get: function () { return WriteFileTool_1.WriteFileTool; } });
36
+ var UserInput_1 = require("./agent/UserInput");
37
+ Object.defineProperty(exports, "MAX_USER_INPUT_CUSTOM_TEXT", { enumerable: true, get: function () { return UserInput_1.MAX_USER_INPUT_CUSTOM_TEXT; } });
38
+ Object.defineProperty(exports, "MAX_USER_INPUT_OPTIONS", { enumerable: true, get: function () { return UserInput_1.MAX_USER_INPUT_OPTIONS; } });
39
+ Object.defineProperty(exports, "MAX_USER_INPUT_QUESTIONS", { enumerable: true, get: function () { return UserInput_1.MAX_USER_INPUT_QUESTIONS; } });
40
+ Object.defineProperty(exports, "formatUserInputResponse", { enumerable: true, get: function () { return UserInput_1.formatUserInputResponse; } });
41
+ Object.defineProperty(exports, "normalizeUserInputSubmission", { enumerable: true, get: function () { return UserInput_1.normalizeUserInputSubmission; } });
42
+ Object.defineProperty(exports, "parseUserInputRequest", { enumerable: true, get: function () { return UserInput_1.parseUserInputRequest; } });
43
+ Object.defineProperty(exports, "resolveUserInputResponse", { enumerable: true, get: function () { return UserInput_1.resolveUserInputResponse; } });
44
+ var RunWorkspace_1 = require("./agent/RunWorkspace");
45
+ Object.defineProperty(exports, "MAX_RUN_INPUT_BYTES", { enumerable: true, get: function () { return RunWorkspace_1.MAX_RUN_INPUT_BYTES; } });
46
+ Object.defineProperty(exports, "MAX_RUN_INSPECTION_TEXT_BYTES", { enumerable: true, get: function () { return RunWorkspace_1.MAX_RUN_INSPECTION_TEXT_BYTES; } });
47
+ Object.defineProperty(exports, "RUN_WORKSPACE_RETENTION_MS", { enumerable: true, get: function () { return RunWorkspace_1.RUN_WORKSPACE_RETENTION_MS; } });
48
+ Object.defineProperty(exports, "createRunWorkspace", { enumerable: true, get: function () { return RunWorkspace_1.createRunWorkspace; } });
49
+ Object.defineProperty(exports, "isInsideAnyRoot", { enumerable: true, get: function () { return RunWorkspace_1.isInsideAnyRoot; } });
50
+ Object.defineProperty(exports, "stageRunImages", { enumerable: true, get: function () { return RunWorkspace_1.stageRunImages; } });
51
+ var DuckDuckGoBackend_1 = require("./search/DuckDuckGoBackend");
52
+ Object.defineProperty(exports, "DuckDuckGoBackend", { enumerable: true, get: function () { return DuckDuckGoBackend_1.DuckDuckGoBackend; } });
53
+ var FirecrawlBackend_1 = require("./search/FirecrawlBackend");
54
+ Object.defineProperty(exports, "FirecrawlBackend", { enumerable: true, get: function () { return FirecrawlBackend_1.FirecrawlBackend; } });
55
+ var createSearchBackend_1 = require("./search/createSearchBackend");
56
+ Object.defineProperty(exports, "createSearchBackend", { enumerable: true, get: function () { return createSearchBackend_1.createSearchBackend; } });
57
+ var SearchBackend_1 = require("./search/SearchBackend");
58
+ Object.defineProperty(exports, "formatSearchContext", { enumerable: true, get: function () { return SearchBackend_1.formatSearchContext; } });
59
+ Object.defineProperty(exports, "formatSearchResults", { enumerable: true, get: function () { return SearchBackend_1.formatSearchResults; } });
60
+ var ChatGptTokenRefresh_1 = require("./config/ChatGptTokenRefresh");
61
+ Object.defineProperty(exports, "refreshChatGptAccessToken", { enumerable: true, get: function () { return ChatGptTokenRefresh_1.refreshChatGptAccessToken; } });
62
+ var XaiTokenRefresh_1 = require("./config/XaiTokenRefresh");
63
+ Object.defineProperty(exports, "refreshXaiAccessToken", { enumerable: true, get: function () { return XaiTokenRefresh_1.refreshXaiAccessToken; } });
64
+ var ConfigSchema_1 = require("./config/ConfigSchema");
65
+ Object.defineProperty(exports, "DEFAULT_WEB_SEARCH_CONFIG", { enumerable: true, get: function () { return ConfigSchema_1.DEFAULT_WEB_SEARCH_CONFIG; } });
66
+ Object.defineProperty(exports, "resolveWebSearchConfig", { enumerable: true, get: function () { return ConfigSchema_1.resolveWebSearchConfig; } });
67
+ var ConfigBackup_1 = require("./config/ConfigBackup");
68
+ Object.defineProperty(exports, "exportConfigBackup", { enumerable: true, get: function () { return ConfigBackup_1.exportConfigBackup; } });
69
+ Object.defineProperty(exports, "importConfigBackup", { enumerable: true, get: function () { return ConfigBackup_1.importConfigBackup; } });
70
+ var ConfigManager_1 = require("./config/ConfigManager");
71
+ Object.defineProperty(exports, "ConfigManager", { enumerable: true, get: function () { return ConfigManager_1.ConfigManager; } });
72
+ Object.defineProperty(exports, "renderMarifoldConfig", { enumerable: true, get: function () { return ConfigManager_1.renderMarifoldConfig; } });
73
+ var ConfigLoader_1 = require("./config/ConfigLoader");
74
+ Object.defineProperty(exports, "ConfigLoader", { enumerable: true, get: function () { return ConfigLoader_1.ConfigLoader; } });
75
+ var GitHubCopilotAuth_1 = require("./config/GitHubCopilotAuth");
76
+ Object.defineProperty(exports, "exchangeGitHubTokenForCopilotToken", { enumerable: true, get: function () { return GitHubCopilotAuth_1.exchangeGitHubTokenForCopilotToken; } });
77
+ var ProviderInspector_1 = require("./config/ProviderInspector");
78
+ Object.defineProperty(exports, "ProviderInspector", { enumerable: true, get: function () { return ProviderInspector_1.ProviderInspector; } });
79
+ var ProviderFactory_1 = require("./config/ProviderFactory");
80
+ Object.defineProperty(exports, "ProviderFactory", { enumerable: true, get: function () { return ProviderFactory_1.ProviderFactory; } });
81
+ var ProviderRegistry_1 = require("./config/ProviderRegistry");
82
+ Object.defineProperty(exports, "GITHUB_COPILOT_CHAT_MODELS", { enumerable: true, get: function () { return ProviderRegistry_1.GITHUB_COPILOT_CHAT_MODELS; } });
83
+ Object.defineProperty(exports, "GITHUB_COPILOT_RESPONSES_MODELS", { enumerable: true, get: function () { return ProviderRegistry_1.GITHUB_COPILOT_RESPONSES_MODELS; } });
84
+ Object.defineProperty(exports, "getProviderRegistryEntry", { enumerable: true, get: function () { return ProviderRegistry_1.getProviderRegistryEntry; } });
85
+ Object.defineProperty(exports, "isGitHubCopilotResponsesModelId", { enumerable: true, get: function () { return ProviderRegistry_1.isGitHubCopilotResponsesModelId; } });
86
+ Object.defineProperty(exports, "isKnownGitHubCopilotUnsupportedModelId", { enumerable: true, get: function () { return ProviderRegistry_1.isKnownGitHubCopilotUnsupportedModelId; } });
87
+ Object.defineProperty(exports, "listProviderRegistry", { enumerable: true, get: function () { return ProviderRegistry_1.listProviderRegistry; } });
88
+ Object.defineProperty(exports, "providerConfigFromRegistry", { enumerable: true, get: function () { return ProviderRegistry_1.providerConfigFromRegistry; } });
89
+ var MarifoldError_1 = require("./errors/MarifoldError");
90
+ Object.defineProperty(exports, "MarifoldError", { enumerable: true, get: function () { return MarifoldError_1.MarifoldError; } });
91
+ var ImageOptimizer_1 = require("./images/ImageOptimizer");
92
+ Object.defineProperty(exports, "IMAGE_JPEG_QUALITY", { enumerable: true, get: function () { return ImageOptimizer_1.IMAGE_JPEG_QUALITY; } });
93
+ Object.defineProperty(exports, "IMAGE_MAX_INPUT_PIXELS", { enumerable: true, get: function () { return ImageOptimizer_1.IMAGE_MAX_INPUT_PIXELS; } });
94
+ Object.defineProperty(exports, "IMAGE_MAX_LONG_EDGE", { enumerable: true, get: function () { return ImageOptimizer_1.IMAGE_MAX_LONG_EDGE; } });
95
+ Object.defineProperty(exports, "IMAGE_OPTIMIZE_MIN_BYTES", { enumerable: true, get: function () { return ImageOptimizer_1.IMAGE_OPTIMIZE_MIN_BYTES; } });
96
+ Object.defineProperty(exports, "MAX_IMAGES_PER_REQUEST", { enumerable: true, get: function () { return ImageOptimizer_1.MAX_IMAGES_PER_REQUEST; } });
97
+ Object.defineProperty(exports, "MAX_TOTAL_SOURCE_IMAGE_BYTES", { enumerable: true, get: function () { return ImageOptimizer_1.MAX_TOTAL_SOURCE_IMAGE_BYTES; } });
98
+ Object.defineProperty(exports, "prepareImageInputs", { enumerable: true, get: function () { return ImageOptimizer_1.prepareImageInputs; } });
99
+ var MemoryStore_1 = require("./memory/MemoryStore");
100
+ Object.defineProperty(exports, "ensureProfileMemoryFiles", { enumerable: true, get: function () { return MemoryStore_1.ensureProfileMemoryFiles; } });
101
+ Object.defineProperty(exports, "MemoryStore", { enumerable: true, get: function () { return MemoryStore_1.MemoryStore; } });
102
+ var MemoryControls_1 = require("./memory/MemoryControls");
103
+ Object.defineProperty(exports, "MemoryControlStripper", { enumerable: true, get: function () { return MemoryControls_1.MemoryControlStripper; } });
104
+ Object.defineProperty(exports, "buildMemoryInstructions", { enumerable: true, get: function () { return MemoryControls_1.buildMemoryInstructions; } });
105
+ Object.defineProperty(exports, "extractPromptForgetQueries", { enumerable: true, get: function () { return MemoryControls_1.extractPromptForgetQueries; } });
106
+ Object.defineProperty(exports, "extractPromptMemoryInputs", { enumerable: true, get: function () { return MemoryControls_1.extractPromptMemoryInputs; } });
107
+ Object.defineProperty(exports, "isSimpleMemoryPrompt", { enumerable: true, get: function () { return MemoryControls_1.isSimpleMemoryPrompt; } });
108
+ Object.defineProperty(exports, "shouldInjectMemoryInstructions", { enumerable: true, get: function () { return MemoryControls_1.shouldInjectMemoryInstructions; } });
109
+ Object.defineProperty(exports, "stripMemoryControls", { enumerable: true, get: function () { return MemoryControls_1.stripMemoryControls; } });
110
+ var ProfileManager_1 = require("./profiles/ProfileManager");
111
+ Object.defineProperty(exports, "ProfileManager", { enumerable: true, get: function () { return ProfileManager_1.ProfileManager; } });
112
+ var ProfileResolver_1 = require("./profiles/ProfileResolver");
113
+ Object.defineProperty(exports, "ProfileResolver", { enumerable: true, get: function () { return ProfileResolver_1.ProfileResolver; } });
114
+ var MarifoldRuntime_1 = require("./runtime/MarifoldRuntime");
115
+ Object.defineProperty(exports, "MarifoldRuntime", { enumerable: true, get: function () { return MarifoldRuntime_1.MarifoldRuntime; } });
116
+ var respond_1 = require("./channels/respond");
117
+ Object.defineProperty(exports, "respond", { enumerable: true, get: function () { return respond_1.respond; } });
118
+ var RunRegistry_1 = require("./runs/RunRegistry");
119
+ Object.defineProperty(exports, "RunRegistry", { enumerable: true, get: function () { return RunRegistry_1.RunRegistry; } });
120
+ var TelegramBridge_1 = require("./channels/TelegramBridge");
121
+ Object.defineProperty(exports, "TelegramBridge", { enumerable: true, get: function () { return TelegramBridge_1.TelegramBridge; } });
122
+ var proxy_1 = require("./util/proxy");
123
+ Object.defineProperty(exports, "proxyDispatcher", { enumerable: true, get: function () { return proxy_1.proxyDispatcher; } });
124
+ var fetchRetry_1 = require("./util/fetchRetry");
125
+ Object.defineProperty(exports, "fetchWithTransientRetry", { enumerable: true, get: function () { return fetchRetry_1.fetchWithTransientRetry; } });
126
+ Object.defineProperty(exports, "isTransientFetchError", { enumerable: true, get: function () { return fetchRetry_1.isTransientFetchError; } });
127
+ var idToken_1 = require("./util/idToken");
128
+ Object.defineProperty(exports, "accountIdFromIdToken", { enumerable: true, get: function () { return idToken_1.accountIdFromIdToken; } });
129
+ var ScheduleStore_1 = require("./schedule/ScheduleStore");
130
+ Object.defineProperty(exports, "SCHEDULE_SCHEMA", { enumerable: true, get: function () { return ScheduleStore_1.SCHEDULE_SCHEMA; } });
131
+ Object.defineProperty(exports, "ScheduleStore", { enumerable: true, get: function () { return ScheduleStore_1.ScheduleStore; } });
132
+ var Scheduler_1 = require("./schedule/Scheduler");
133
+ Object.defineProperty(exports, "Scheduler", { enumerable: true, get: function () { return Scheduler_1.Scheduler; } });
134
+ var SessionResolver_1 = require("./sessions/SessionResolver");
135
+ Object.defineProperty(exports, "SessionResolver", { enumerable: true, get: function () { return SessionResolver_1.SessionResolver; } });
136
+ var skill_1 = require("./skill");
137
+ Object.defineProperty(exports, "SKILL_SCHEMA_ID", { enumerable: true, get: function () { return skill_1.SKILL_SCHEMA_ID; } });
138
+ Object.defineProperty(exports, "extractTemplateVariables", { enumerable: true, get: function () { return skill_1.extractTemplateVariables; } });
139
+ Object.defineProperty(exports, "parseSkill", { enumerable: true, get: function () { return skill_1.parseSkill; } });
140
+ Object.defineProperty(exports, "validateSkill", { enumerable: true, get: function () { return skill_1.validateSkill; } });
141
+ Object.defineProperty(exports, "renderSkillPrompt", { enumerable: true, get: function () { return skill_1.renderSkillPrompt; } });
142
+ Object.defineProperty(exports, "resolveSkillValues", { enumerable: true, get: function () { return skill_1.resolveSkillValues; } });
143
+ Object.defineProperty(exports, "bindSkillArgs", { enumerable: true, get: function () { return skill_1.bindSkillArgs; } });
144
+ Object.defineProperty(exports, "parseSkillInvocation", { enumerable: true, get: function () { return skill_1.parseSkillInvocation; } });
145
+ Object.defineProperty(exports, "resolveSkillInvocation", { enumerable: true, get: function () { return skill_1.resolveSkillInvocation; } });
146
+ Object.defineProperty(exports, "resolveSkillValuesInvocation", { enumerable: true, get: function () { return skill_1.resolveSkillValuesInvocation; } });
147
+ Object.defineProperty(exports, "skillUsage", { enumerable: true, get: function () { return skill_1.skillUsage; } });
148
+ Object.defineProperty(exports, "tokenizeSkillArgs", { enumerable: true, get: function () { return skill_1.tokenizeSkillArgs; } });
149
+ Object.defineProperty(exports, "SkillStore", { enumerable: true, get: function () { return skill_1.SkillStore; } });
150
+ var AppStore_1 = require("./app/AppStore");
151
+ Object.defineProperty(exports, "AppStore", { enumerable: true, get: function () { return AppStore_1.AppStore; } });
152
+ var SkillAppInstanceRegistry_1 = require("./app/SkillAppInstanceRegistry");
153
+ Object.defineProperty(exports, "SkillAppInstanceRegistry", { enumerable: true, get: function () { return SkillAppInstanceRegistry_1.SkillAppInstanceRegistry; } });
154
+ var SkillAppResolver_1 = require("./app/SkillAppResolver");
155
+ Object.defineProperty(exports, "resolveSkillAppOperation", { enumerable: true, get: function () { return SkillAppResolver_1.resolveSkillAppOperation; } });
156
+ var SkillAppCompiler_1 = require("./app/SkillAppCompiler");
157
+ Object.defineProperty(exports, "compileSkillApp", { enumerable: true, get: function () { return SkillAppCompiler_1.compileSkillApp; } });
158
+ var SkillAppDsl_1 = require("./app/SkillAppDsl");
159
+ Object.defineProperty(exports, "App", { enumerable: true, get: function () { return SkillAppDsl_1.App; } });
160
+ Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return SkillAppDsl_1.Button; } });
161
+ Object.defineProperty(exports, "Column", { enumerable: true, get: function () { return SkillAppDsl_1.Column; } });
162
+ Object.defineProperty(exports, "Row", { enumerable: true, get: function () { return SkillAppDsl_1.Row; } });
163
+ Object.defineProperty(exports, "Select", { enumerable: true, get: function () { return SkillAppDsl_1.Select; } });
164
+ Object.defineProperty(exports, "Spacer", { enumerable: true, get: function () { return SkillAppDsl_1.Spacer; } });
165
+ Object.defineProperty(exports, "State", { enumerable: true, get: function () { return SkillAppDsl_1.State; } });
166
+ Object.defineProperty(exports, "Textarea", { enumerable: true, get: function () { return SkillAppDsl_1.Textarea; } });
167
+ Object.defineProperty(exports, "TextResult", { enumerable: true, get: function () { return SkillAppDsl_1.TextResult; } });
168
+ Object.defineProperty(exports, "defineSkillApp", { enumerable: true, get: function () { return SkillAppDsl_1.defineSkillApp; } });
169
+ Object.defineProperty(exports, "registerModel", { enumerable: true, get: function () { return SkillAppDsl_1.registerModel; } });
170
+ Object.defineProperty(exports, "registerSkill", { enumerable: true, get: function () { return SkillAppDsl_1.registerSkill; } });
171
+ Object.defineProperty(exports, "trigger", { enumerable: true, get: function () { return SkillAppDsl_1.trigger; } });
172
+ Object.defineProperty(exports, "useSkill", { enumerable: true, get: function () { return SkillAppDsl_1.useSkill; } });
173
+ var SkillAppSchema_1 = require("./app/SkillAppSchema");
174
+ Object.defineProperty(exports, "SKILL_APP_SCHEMA", { enumerable: true, get: function () { return SkillAppSchema_1.SKILL_APP_SCHEMA; } });
175
+ var Workspace_1 = require("./workspace/Workspace");
176
+ Object.defineProperty(exports, "Workspace", { enumerable: true, get: function () { return Workspace_1.Workspace; } });
177
+ var WorkspaceInitializer_1 = require("./workspace/WorkspaceInitializer");
178
+ Object.defineProperty(exports, "WorkspaceInitializer", { enumerable: true, get: function () { return WorkspaceInitializer_1.WorkspaceInitializer; } });
179
+ var TaskStore_1 = require("./tasks/TaskStore");
180
+ Object.defineProperty(exports, "TASK_STATE_SCHEMA", { enumerable: true, get: function () { return TaskStore_1.TASK_STATE_SCHEMA; } });
181
+ Object.defineProperty(exports, "TaskStore", { enumerable: true, get: function () { return TaskStore_1.TaskStore; } });
182
+ var WorkspacePaths_1 = require("./workspace/WorkspacePaths");
183
+ Object.defineProperty(exports, "defaultConfigPath", { enumerable: true, get: function () { return WorkspacePaths_1.defaultConfigPath; } });
184
+ Object.defineProperty(exports, "defaultAppsDir", { enumerable: true, get: function () { return WorkspacePaths_1.defaultAppsDir; } });
185
+ Object.defineProperty(exports, "defaultProfilesDir", { enumerable: true, get: function () { return WorkspacePaths_1.defaultProfilesDir; } });
186
+ Object.defineProperty(exports, "defaultSessionsDb", { enumerable: true, get: function () { return WorkspacePaths_1.defaultSessionsDb; } });
187
+ Object.defineProperty(exports, "defaultSchedulesDir", { enumerable: true, get: function () { return WorkspacePaths_1.defaultSchedulesDir; } });
188
+ Object.defineProperty(exports, "defaultSkillsDir", { enumerable: true, get: function () { return WorkspacePaths_1.defaultSkillsDir; } });
189
+ Object.defineProperty(exports, "defaultTasksDir", { enumerable: true, get: function () { return WorkspacePaths_1.defaultTasksDir; } });
190
+ Object.defineProperty(exports, "expandHome", { enumerable: true, get: function () { return WorkspacePaths_1.expandHome; } });
191
+ Object.defineProperty(exports, "marifoldHome", { enumerable: true, get: function () { return WorkspacePaths_1.marifoldHome; } });
192
+ Object.defineProperty(exports, "resolveUserPath", { enumerable: true, get: function () { return WorkspacePaths_1.resolveUserPath; } });
193
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { MemorySaveInput } from './MemoryStore';
2
+ export interface MemoryControlPayloads {
3
+ savePayloads: string[];
4
+ forgetPayloads: string[];
5
+ }
6
+ export interface StrippedMemoryControls extends MemoryControlPayloads {
7
+ text: string;
8
+ }
9
+ export declare class MemoryControlStripper {
10
+ readonly savePayloads: string[];
11
+ readonly forgetPayloads: string[];
12
+ private buffer;
13
+ private inBlock?;
14
+ private blockContent;
15
+ feed(chunk: string): string;
16
+ flush(): string;
17
+ private drain;
18
+ private saveBlock;
19
+ }
20
+ export declare function stripMemoryControls(text: string): StrippedMemoryControls;
21
+ export declare function isSimpleMemoryPrompt(prompt: string): boolean;
22
+ export declare function shouldInjectMemoryInstructions(prompt: string): boolean;
23
+ export declare function buildMemoryInstructions(): string;
24
+ export declare function extractPromptMemoryInputs(prompt: string): MemorySaveInput[];
25
+ export declare function extractPromptForgetQueries(prompt: string): string[];
26
+ //# sourceMappingURL=MemoryControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryControls.d.ts","sourceRoot":"","sources":["../../src/memory/MemoryControls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIrD,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,IAAI,EAAE,MAAM,CAAC;CACd;AAcD,qBAAa,qBAAqB;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAM;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAM;IACvC,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,OAAO,CAAC,CAAmB;IACnC,OAAO,CAAC,YAAY,CAAgB;IAEpC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI1B;IAED,KAAK,IAAI,MAAM,CAEd;IAED,OAAO,CAAC,KAAK;IA2Db,OAAO,CAAC,SAAS;CAKlB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,CAQxE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG5D;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEtE;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAmChD;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE,CA+B3E;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAiCnE"}