@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 @@
1
+ {"version":3,"file":"ConfigManager.js","sourceRoot":"","sources":["../../src/config/ConfigManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,231 @@
1
+ import type { MarifoldAgentConfig, PartialAgentConfig } from '../agent/ApprovalPolicy';
2
+ import type { ResponseMetrics } from '../sessions/ResponseMetrics';
3
+ export type ProviderType = 'ollama' | 'openai-compatible' | 'anthropic';
4
+ export interface MarifoldDefaultConfig {
5
+ provider?: string;
6
+ model?: string;
7
+ profile: string;
8
+ timeoutSeconds?: number;
9
+ maxOutputTokens?: number;
10
+ maxSystemChars?: number;
11
+ /** Conversation-context budget in tokens. Enables session compaction when set (unset = off). */
12
+ maxContextTokens?: number;
13
+ /** Recent turns kept verbatim when compacting; older turns fold into the summary. */
14
+ compactionKeepTurns?: number;
15
+ /** Hard cap on recent session turns replayed to the model (undefined = all). Per-profile overridable. */
16
+ sessionContextTurns?: number;
17
+ think: boolean;
18
+ }
19
+ export interface MarifoldPathsConfig {
20
+ profilesDir: string;
21
+ sessionsDb: string;
22
+ tasksDir: string;
23
+ /** Defaults to ~/.marifold/schedules when omitted in older configs. */
24
+ schedulesDir?: string;
25
+ /** Defaults to ~/.marifold/skills when omitted in older configs. */
26
+ skillsDir?: string;
27
+ /** Defaults to ~/.marifold/apps when omitted in older configs. */
28
+ appsDir?: string;
29
+ }
30
+ export interface MarifoldModelsConfig {
31
+ options: string[];
32
+ }
33
+ export interface MarifoldMemoryConfig {
34
+ sizeLimit: number;
35
+ contextLimit: number;
36
+ }
37
+ export type WebSearchProvider = 'duckduckgo' | 'firecrawl';
38
+ export interface MarifoldWebSearchConfig {
39
+ /** Master switch for the model-initiated web_search tool, in both chat and
40
+ * agent mode — the model decides when to search. Agent calls additionally
41
+ * honor the `network` approval policy. */
42
+ enabled: boolean;
43
+ maxResults: number;
44
+ /** Active search backend. Defaults to the keyless DuckDuckGo floor;
45
+ * `firecrawl` adds AI-ready scraped results (BYOK). */
46
+ provider: WebSearchProvider;
47
+ /** Env var holding the provider's API key. Preferred over `apiKey` so the
48
+ * secret stays out of config.toml. */
49
+ apiKeyEnv?: string;
50
+ /** API key stored directly in config (BYOK). Prefer `apiKeyEnv`. */
51
+ apiKey?: string;
52
+ /** Firecrawl only: scrape each result into LLM-ready markdown (costs more
53
+ * per the provider; off by default). */
54
+ scrape?: boolean;
55
+ /** HTTP proxy for the search backend, e.g. "http://127.0.0.1:7890".
56
+ * Falls back to the HTTPS_PROXY/https_proxy environment variables. */
57
+ proxy?: string;
58
+ }
59
+ export declare const DEFAULT_WEB_SEARCH_CONFIG: MarifoldWebSearchConfig;
60
+ export declare function resolveWebSearchConfig(partial?: Partial<MarifoldWebSearchConfig>): MarifoldWebSearchConfig;
61
+ export interface MarifoldProviderConfig {
62
+ type: ProviderType;
63
+ baseUrl?: string;
64
+ apiKeyEnv?: string;
65
+ apiKey?: string;
66
+ oauthToken?: string;
67
+ apiKeyExpiresAt?: number;
68
+ /** Optional HTTP proxy for this provider's outbound calls (chat, token
69
+ * refresh), e.g. "http://127.0.0.1:7890". Set per provider so proxied
70
+ * providers (e.g. xai behind the GFW) route through it while local/direct
71
+ * providers (ollama, Chinese providers) stay direct. Falls back to the
72
+ * HTTPS_PROXY env var when unset. */
73
+ proxy?: string;
74
+ /** ChatGPT subscription account id, sent as the `chatgpt-account-id` header
75
+ * on Codex-backend requests. Set during ChatGPT OAuth sign-in. */
76
+ accountId?: string;
77
+ }
78
+ export interface MarifoldConfig {
79
+ default: MarifoldDefaultConfig;
80
+ models: MarifoldModelsConfig;
81
+ memory: MarifoldMemoryConfig;
82
+ paths: MarifoldPathsConfig;
83
+ providers: Record<string, MarifoldProviderConfig>;
84
+ /** Normalized [agent] section. Absent when the config file has none; use
85
+ * resolveAgentConfig() for effective defaults. */
86
+ agent?: MarifoldAgentConfig;
87
+ /** Normalized [web_search] section. Absent when the config file has none;
88
+ * use resolveWebSearchConfig() for effective defaults. */
89
+ webSearch?: MarifoldWebSearchConfig;
90
+ /** Normalized [channel.*] sections (messaging bridges). Absent when none. */
91
+ channels?: MarifoldChannelsConfig;
92
+ /** Normalized [service] section (local HTTP API). Absent when the config
93
+ * file has none; the service falls back to tokenless loopback defaults. */
94
+ service?: MarifoldServiceConfig;
95
+ }
96
+ /** Settings for the local `marifold service` HTTP API. */
97
+ export interface MarifoldServiceConfig {
98
+ /** Env var holding the bearer token clients must send. Preferred over
99
+ * `token` so the secret stays out of config.toml. */
100
+ tokenEnv?: string;
101
+ /** Bearer token stored directly in config. Prefer `tokenEnv`. */
102
+ token?: string;
103
+ /** Browser origins allowed to call the API (exact match, e.g.
104
+ * "http://127.0.0.1:5173"). Empty = no cross-origin browser access. */
105
+ corsOrigins: string[];
106
+ /** Directory of built Web UI assets the service hosts at / (SPA fallback
107
+ * to its index.html). Unset = no static hosting, API-only. */
108
+ webDir?: string;
109
+ }
110
+ export interface MarifoldChannelsConfig {
111
+ telegram?: TelegramChannelConfig;
112
+ }
113
+ /** A messaging bridge that runs a profile in-process over Telegram. */
114
+ export interface TelegramChannelConfig {
115
+ /** When false, the bridge refuses to start even if configured. Defaults true. */
116
+ enabled?: boolean;
117
+ /** Env var holding the bot token. Preferred over `botToken` so the secret
118
+ * stays out of config.toml. */
119
+ botTokenEnv?: string;
120
+ /** Bot token stored directly in config. Prefer `botTokenEnv`. */
121
+ botToken?: string;
122
+ /** Telegram user ids allowed to talk to the bot. Empty = nobody (locked). */
123
+ allowlist: number[];
124
+ /** Profile whose model + permissions the bot runs under. */
125
+ profile: string;
126
+ /** Default interaction mode for a new chat (`/chat` `/agent` switch per chat). */
127
+ defaultMode: ProfileMode;
128
+ }
129
+ export interface LoadedMarifoldConfig {
130
+ config: MarifoldConfig;
131
+ configPath: string;
132
+ foundConfig: boolean;
133
+ }
134
+ /** A profile's default interaction mode for the TUI: autonomous `agent` (the
135
+ * global default) or single-turn `chat`. */
136
+ export type ProfileMode = 'agent' | 'chat';
137
+ export interface ProfileSettings {
138
+ /** Optional human-readable label. Clients fall back to the profile name. */
139
+ displayName?: string;
140
+ provider?: string;
141
+ model?: string;
142
+ memories: boolean;
143
+ /** Default TUI mode for this profile; undefined falls back to `agent`. */
144
+ mode?: ProfileMode;
145
+ /** Per-profile conversation-context budget in tokens; falls back to default.maxContextTokens. */
146
+ maxContextTokens?: number;
147
+ /** Per-profile cap on recent session turns replayed to the model (undefined = all);
148
+ * falls back to default.sessionContextTurns. */
149
+ sessionContextTurns?: number;
150
+ /** Per-profile thinking default; undefined falls back to default.think (off). */
151
+ think?: boolean;
152
+ /** Per-profile agent overrides (approval/permissions, tool mode, iterations).
153
+ * Merged over the global `[agent]`; undefined keys inherit global/defaults. */
154
+ agent?: PartialAgentConfig;
155
+ }
156
+ export interface ProfileSummary {
157
+ name: string;
158
+ /** Human-readable label resolved from display_name, or name when unset. */
159
+ displayName: string;
160
+ source: 'directory' | 'json' | 'built-in';
161
+ path?: string;
162
+ /** Sidebar-only display state, stored separately from profile instructions. */
163
+ pinned?: boolean;
164
+ /** Most recent session activity for contact-style sorting. */
165
+ updatedAt?: string;
166
+ /** First non-empty line of the most recent session's latest response. */
167
+ preview?: string;
168
+ /** Present when the profile has a stored avatar image (served at
169
+ * GET /v1/profiles/:name/avatar). */
170
+ avatar?: {
171
+ mediaType: string;
172
+ };
173
+ }
174
+ export interface ProfileFileSummary {
175
+ path?: string;
176
+ content: string;
177
+ }
178
+ export interface ProfileDetail extends ProfileSummary {
179
+ settings: ProfileSettings;
180
+ files: {
181
+ profile: ProfileFileSummary;
182
+ rules: ProfileFileSummary;
183
+ custom: ProfileFileSummary;
184
+ profileToml: ProfileFileSummary;
185
+ };
186
+ }
187
+ export interface SessionSummary {
188
+ id: string;
189
+ profileName: string;
190
+ createdAt: string;
191
+ updatedAt: string;
192
+ turnCount: number;
193
+ /** User-assigned display title. This never changes the session id or turns. */
194
+ title?: string;
195
+ /** Pinned sessions sort ahead of ordinary sessions in list UIs. */
196
+ pinned?: boolean;
197
+ /** Archived sessions are hidden from the default session list. */
198
+ archived?: boolean;
199
+ /** Client-only optimistic marker while the first exchange is not durable. */
200
+ pending?: boolean;
201
+ /** First user message, whitespace-collapsed and truncated — the session's
202
+ * fallback display title in list UIs. Absent for sessions without a user turn. */
203
+ preview?: string;
204
+ }
205
+ export interface SessionTurnSummary {
206
+ role: 'user' | 'assistant';
207
+ content: string;
208
+ timestamp: string;
209
+ /** Display-only images attached to this user turn. These are returned to
210
+ * clients on replay but are never injected into later model context. */
211
+ attachments?: SessionImageAttachment[];
212
+ /** Marifold-owned completion metadata for this assistant response. */
213
+ responseMetrics?: ResponseMetrics;
214
+ }
215
+ export interface SessionImageAttachment {
216
+ kind: 'image';
217
+ mediaType: string;
218
+ /** Base64-encoded image bytes for local/embedded attachments. */
219
+ data?: string;
220
+ /** Original URL for remote image attachments. */
221
+ url?: string;
222
+ /** Stable attachment coordinates for authenticated, lazy byte delivery. */
223
+ ref?: {
224
+ userTurnIndex: number;
225
+ attachmentIndex: number;
226
+ };
227
+ }
228
+ export interface SessionDetail extends SessionSummary {
229
+ turns: SessionTurnSummary[];
230
+ }
231
+ //# sourceMappingURL=ConfigSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigSchema.d.ts","sourceRoot":"","sources":["../../src/config/ConfigSchema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_WEB_SEARCH_CONFIG = void 0;
4
+ exports.resolveWebSearchConfig = resolveWebSearchConfig;
5
+ exports.DEFAULT_WEB_SEARCH_CONFIG = {
6
+ enabled: false,
7
+ maxResults: 5,
8
+ provider: 'duckduckgo',
9
+ };
10
+ function resolveWebSearchConfig(partial) {
11
+ // Drop undefined values so an absent key never clobbers a default.
12
+ const defined = Object.fromEntries(Object.entries(partial ?? {}).filter(([, value]) => value !== undefined));
13
+ return { ...exports.DEFAULT_WEB_SEARCH_CONFIG, ...defined };
14
+ }
15
+ //# sourceMappingURL=ConfigSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigSchema.js","sourceRoot":"","sources":["../../src/config/ConfigSchema.ts"],"names":[],"mappings":";;;;AAkEa,QAAA,yBAAyB,GAA4B;IAChE,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,YAAY;CACvB,CAAC;AAEF,gCAAuC,OAA0C;IAC/E,mEAAmE;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CACrC,CAAC;IACtC,OAAO,EAAE,GAAG,QAAA,yBAAyB,EAAE,GAAG,OAAO,EAAE,CAAC;AACtD,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface GitHubCopilotToken {
2
+ token: string;
3
+ baseUrl: string;
4
+ expiresAt?: number;
5
+ }
6
+ export declare function exchangeGitHubTokenForCopilotToken(githubToken: string): Promise<GitHubCopilotToken>;
7
+ //# sourceMappingURL=GitHubCopilotAuth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitHubCopilotAuth.d.ts","sourceRoot":"","sources":["../../src/config/GitHubCopilotAuth.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAsB,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA+BzG"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exchangeGitHubTokenForCopilotToken = exchangeGitHubTokenForCopilotToken;
4
+ const DEFAULT_COPILOT_BASE_URL = 'https://api.githubcopilot.com';
5
+ async function exchangeGitHubTokenForCopilotToken(githubToken) {
6
+ const response = await fetch('https://api.github.com/copilot_internal/v2/token', {
7
+ headers: {
8
+ Accept: 'application/json',
9
+ Authorization: `token ${githubToken}`,
10
+ 'Editor-Version': 'marifold/0',
11
+ 'User-Agent': 'marifold',
12
+ },
13
+ signal: AbortSignal.timeout(10000),
14
+ }).catch(error => {
15
+ throw new Error(`Could not exchange GitHub token for Copilot token: ${stringifyError(error)}`);
16
+ });
17
+ if (!response.ok) {
18
+ throw new Error(`GitHub Copilot token exchange failed: HTTP ${response.status}: ${await response.text()}`);
19
+ }
20
+ const data = await response.json();
21
+ const token = stringField(data.token) ?? stringField(data.copilot_token);
22
+ if (!token)
23
+ throw new Error('GitHub Copilot token exchange did not return a token.');
24
+ return {
25
+ token,
26
+ baseUrl: copilotApiBaseUrl(data),
27
+ expiresAt: typeof data.expires_at === 'number' ? data.expires_at : undefined,
28
+ };
29
+ }
30
+ function copilotApiBaseUrl(data) {
31
+ const api = data.endpoints?.api;
32
+ return typeof api === 'string' && api ? api.replace(/\/+$/, '') : DEFAULT_COPILOT_BASE_URL;
33
+ }
34
+ function stringField(value) {
35
+ return typeof value === 'string' ? value : undefined;
36
+ }
37
+ function stringifyError(error) {
38
+ return error instanceof Error ? `${error.name}: ${error.message}` : String(error);
39
+ }
40
+ //# sourceMappingURL=GitHubCopilotAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitHubCopilotAuth.js","sourceRoot":"","sources":["../../src/config/GitHubCopilotAuth.ts"],"names":[],"mappings":";;;AAMA,MAAM,wBAAwB,GAAG,+BAA+B,CAAC;AAE1D,KAAK,6CAA6C,WAAmB;IAC1E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,kDAAkD,EAAE;QAC/E,OAAO,EAAE;YACP,MAAM,EAAE,kBAAkB;YAC1B,aAAa,EAAE,SAAS,WAAW,EAAE;YACrC,gBAAgB,EAAE,YAAY;YAC9B,YAAY,EAAE,UAAU;SACzB;QACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;KACnC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,sDAAsD,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,8CAA8C,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAK/B,CAAC;IACF,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAErF,OAAO;QACL,KAAK;QACL,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC;QAChC,SAAS,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KAC7E,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAuC;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC;IAChC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;AAC7F,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpF,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { AdapterCallOptions, AdapterResult, AdapterStreamEvent, Message, OutputSpec, PriestConfig, ProviderAdapter } from '@priest-ai/core';
2
+ interface MarifoldOpenAICompatProviderOptions {
3
+ providerName?: string;
4
+ /** ChatGPT subscription account id, sent as `chatgpt-account-id` to the
5
+ * Codex backend. */
6
+ accountId?: string;
7
+ /** Per-provider HTTP proxy (e.g. "http://127.0.0.1:7890"). Applied to both
8
+ * Chat Completions and Responses requests. */
9
+ proxy?: string;
10
+ }
11
+ /**
12
+ * Marifold-owned routing and authentication around Priest's standard OpenAI
13
+ * transports. Endpoint selection and subscription headers stay here; request
14
+ * bodies, streaming events, reasoning continuation, and usage parsing belong
15
+ * to the SDK providers.
16
+ */
17
+ export declare class MarifoldOpenAICompatProvider implements ProviderAdapter {
18
+ private readonly baseUrl;
19
+ private readonly apiKey?;
20
+ private readonly options;
21
+ private readonly chatProvider;
22
+ private readonly responsesProvider;
23
+ /** Stable per-instance session id for Codex-backend requests. */
24
+ private readonly sessionId;
25
+ constructor(baseUrl: string, apiKey?: string | undefined, options?: MarifoldOpenAICompatProviderOptions);
26
+ complete(messages: Message[], config: PriestConfig, outputSpec?: OutputSpec, options?: AdapterCallOptions): Promise<AdapterResult>;
27
+ stream(messages: Message[], config: PriestConfig, outputSpec?: OutputSpec, options?: AdapterCallOptions): AsyncGenerator<string, void, unknown>;
28
+ streamEvents(messages: Message[], config: PriestConfig, outputSpec?: OutputSpec, options?: AdapterCallOptions): AsyncGenerator<AdapterStreamEvent, void, unknown>;
29
+ private accumulateResponsesStream;
30
+ private endpointForModel;
31
+ /** Preserve compatibility with Marifold callers that used `{think}` before
32
+ * Priest 2.8 introduced the provider-neutral reasoning field. Raw `think`
33
+ * must never leak into a Responses request. */
34
+ private responsesConfig;
35
+ private copilotHeaders;
36
+ private chatgptHeaders;
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=MarifoldOpenAICompatProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarifoldOpenAICompatProvider.d.ts","sourceRoot":"","sources":["../../src/config/MarifoldOpenAICompatProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,OAAO,EAGP,UAAU,EACV,YAAY,EACZ,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AAQzB,UAAU,mCAAmC;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;wBACoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;kDAC8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,4BAA6B,YAAW,eAAe;IAOhE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0B;IAC5D,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAE1C,YACmB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,OAAO,GAAE,mCAAwC,EAanE;IAEK,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAUxB;IAEM,MAAM,CACX,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAIvC;IAEM,YAAY,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,cAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,CAWnD;YAEa,yBAAyB;IAyDvC,OAAO,CAAC,gBAAgB;IAQxB;;mDAE+C;IAC/C,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;CAUvB"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MarifoldOpenAICompatProvider = void 0;
4
+ const core_1 = require("@priest-ai/core");
5
+ const crypto_1 = require("crypto");
6
+ const proxy_1 = require("../util/proxy");
7
+ const OpenAICompatUrls_1 = require("./OpenAICompatUrls");
8
+ const ProviderRegistry_1 = require("./ProviderRegistry");
9
+ /**
10
+ * Marifold-owned routing and authentication around Priest's standard OpenAI
11
+ * transports. Endpoint selection and subscription headers stay here; request
12
+ * bodies, streaming events, reasoning continuation, and usage parsing belong
13
+ * to the SDK providers.
14
+ */
15
+ class MarifoldOpenAICompatProvider {
16
+ baseUrl;
17
+ apiKey;
18
+ options;
19
+ chatProvider;
20
+ responsesProvider;
21
+ /** Stable per-instance session id for Codex-backend requests. */
22
+ sessionId = (0, crypto_1.randomUUID)();
23
+ constructor(baseUrl, apiKey, options = {}) {
24
+ this.baseUrl = baseUrl;
25
+ this.apiKey = apiKey;
26
+ this.options = options;
27
+ const dispatcher = (0, proxy_1.proxyDispatcher)(options.proxy);
28
+ this.chatProvider = new core_1.OpenAICompatProvider(baseUrl, apiKey, {
29
+ url: (0, OpenAICompatUrls_1.openAIChatCompletionsUrl)(baseUrl, options),
30
+ headers: this.copilotHeaders(),
31
+ dispatcher,
32
+ });
33
+ this.responsesProvider = new core_1.OpenAIResponsesProvider(baseUrl, apiKey, {
34
+ url: (0, OpenAICompatUrls_1.openAIResponsesUrl)(baseUrl, options),
35
+ headers: { ...this.copilotHeaders(), ...this.chatgptHeaders() },
36
+ dispatcher,
37
+ });
38
+ }
39
+ async complete(messages, config, outputSpec, options) {
40
+ if (this.endpointForModel(config.model) !== 'responses') {
41
+ return this.chatProvider.complete(messages, config, outputSpec, options);
42
+ }
43
+ const responsesConfig = this.responsesConfig(config);
44
+ // The ChatGPT Codex backend is SSE-only ("Stream must be set to true").
45
+ if (this.options.providerName === 'chatgpt') {
46
+ return this.accumulateResponsesStream(messages, responsesConfig, outputSpec, options);
47
+ }
48
+ return this.responsesProvider.complete(messages, responsesConfig, outputSpec, options);
49
+ }
50
+ async *stream(messages, config, outputSpec, options) {
51
+ for await (const event of this.streamEvents(messages, config, outputSpec, options)) {
52
+ if (event.type === 'text_delta')
53
+ yield event.text;
54
+ }
55
+ }
56
+ async *streamEvents(messages, config, outputSpec, options) {
57
+ if (this.endpointForModel(config.model) === 'responses') {
58
+ yield* this.responsesProvider.streamEvents(messages, this.responsesConfig(config), outputSpec, options);
59
+ return;
60
+ }
61
+ yield* this.chatProvider.streamEvents(messages, config, outputSpec, options);
62
+ }
63
+ async accumulateResponsesStream(messages, config, outputSpec, options) {
64
+ let text = '';
65
+ const toolCalls = [];
66
+ const summaryParts = [];
67
+ let finishReason;
68
+ let inputTokens;
69
+ let outputTokens;
70
+ let cachedInputTokens;
71
+ let reasoningTokens;
72
+ let reasoning;
73
+ for await (const event of this.responsesProvider.streamEvents(messages, config, outputSpec, options)) {
74
+ switch (event.type) {
75
+ case 'text_delta':
76
+ text += event.text;
77
+ break;
78
+ case 'reasoning_summary_delta':
79
+ summaryParts.push(event.text);
80
+ break;
81
+ case 'tool_call_end':
82
+ toolCalls.push(event.toolCall);
83
+ break;
84
+ case 'usage':
85
+ inputTokens = event.inputTokens;
86
+ outputTokens = event.outputTokens;
87
+ cachedInputTokens = event.cachedInputTokens;
88
+ reasoningTokens = event.reasoningTokens;
89
+ break;
90
+ case 'finish':
91
+ finishReason = event.finishReason;
92
+ reasoning = event.reasoning;
93
+ break;
94
+ }
95
+ }
96
+ const streamedSummary = summaryParts.join('');
97
+ if (streamedSummary && !reasoning?.summary) {
98
+ reasoning = { ...reasoning, summary: streamedSummary };
99
+ }
100
+ return {
101
+ text,
102
+ finishReason: toolCalls.length > 0 ? 'tool_calls' : (finishReason ?? 'stop'),
103
+ inputTokens,
104
+ outputTokens,
105
+ cachedInputTokens,
106
+ reasoningTokens,
107
+ toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
108
+ reasoning,
109
+ };
110
+ }
111
+ endpointForModel(model) {
112
+ if (this.options.providerName === 'chatgpt')
113
+ return 'responses';
114
+ if (this.options.providerName === 'github_copilot' && (0, ProviderRegistry_1.isGitHubCopilotResponsesModelId)(model)) {
115
+ return 'responses';
116
+ }
117
+ return 'chat-completions';
118
+ }
119
+ /** Preserve compatibility with Marifold callers that used `{think}` before
120
+ * Priest 2.8 introduced the provider-neutral reasoning field. Raw `think`
121
+ * must never leak into a Responses request. */
122
+ responsesConfig(config) {
123
+ const providerOptions = { ...(config.providerOptions ?? {}) };
124
+ const legacyThink = providerOptions['think'];
125
+ delete providerOptions['think'];
126
+ return {
127
+ ...config,
128
+ reasoning: config.reasoning ?? (legacyThink === true
129
+ ? { enabled: true, effort: 'high' }
130
+ : undefined),
131
+ providerOptions: Object.keys(providerOptions).length > 0 ? providerOptions : undefined,
132
+ };
133
+ }
134
+ copilotHeaders() {
135
+ if (this.options.providerName !== 'github_copilot')
136
+ return {};
137
+ return {
138
+ 'Editor-Version': 'marifold/0',
139
+ 'Editor-Plugin-Version': 'marifold/0',
140
+ 'Copilot-Integration-Id': 'vscode-chat',
141
+ 'User-Agent': 'marifold',
142
+ };
143
+ }
144
+ chatgptHeaders() {
145
+ if (this.options.providerName !== 'chatgpt')
146
+ return {};
147
+ const headers = {
148
+ originator: 'codex_cli_rs',
149
+ 'OpenAI-Beta': 'responses=experimental',
150
+ session_id: this.sessionId,
151
+ };
152
+ if (this.options.accountId)
153
+ headers['chatgpt-account-id'] = this.options.accountId;
154
+ return headers;
155
+ }
156
+ }
157
+ exports.MarifoldOpenAICompatProvider = MarifoldOpenAICompatProvider;
158
+ //# sourceMappingURL=MarifoldOpenAICompatProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarifoldOpenAICompatProvider.js","sourceRoot":"","sources":["../../src/config/MarifoldOpenAICompatProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface OpenAICompatUrlOptions {
2
+ providerName?: string;
3
+ }
4
+ export declare function openAIChatCompletionsUrl(baseUrl: string, options?: OpenAICompatUrlOptions): string;
5
+ export declare function openAIResponsesUrl(baseUrl: string, options?: OpenAICompatUrlOptions): string;
6
+ export declare function openAIModelsUrl(baseUrl: string, options?: OpenAICompatUrlOptions): string;
7
+ //# sourceMappingURL=OpenAICompatUrls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAICompatUrls.d.ts","sourceRoot":"","sources":["../../src/config/OpenAICompatUrls.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B,GAAG,MAAM,CAMtG;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B,GAAG,MAAM,CAShG;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B,GAAG,MAAM,CAQ7F"}