@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.
- package/LICENSE +674 -0
- package/dist/agent/AgentEvents.d.ts +106 -0
- package/dist/agent/AgentEvents.d.ts.map +1 -0
- package/dist/agent/AgentEvents.js +3 -0
- package/dist/agent/AgentEvents.js.map +1 -0
- package/dist/agent/AgentHistory.d.ts +27 -0
- package/dist/agent/AgentHistory.d.ts.map +1 -0
- package/dist/agent/AgentHistory.js +42 -0
- package/dist/agent/AgentHistory.js.map +1 -0
- package/dist/agent/AgentRunner.d.ts +149 -0
- package/dist/agent/AgentRunner.d.ts.map +1 -0
- package/dist/agent/AgentRunner.js +727 -0
- package/dist/agent/AgentRunner.js.map +1 -0
- package/dist/agent/ApprovalPolicy.d.ts +71 -0
- package/dist/agent/ApprovalPolicy.d.ts.map +1 -0
- package/dist/agent/ApprovalPolicy.js +29 -0
- package/dist/agent/ApprovalPolicy.js.map +1 -0
- package/dist/agent/ControlBlockTools.d.ts +9 -0
- package/dist/agent/ControlBlockTools.d.ts.map +1 -0
- package/dist/agent/ControlBlockTools.js +49 -0
- package/dist/agent/ControlBlockTools.js.map +1 -0
- package/dist/agent/RunWorkspace.d.ts +92 -0
- package/dist/agent/RunWorkspace.d.ts.map +1 -0
- package/dist/agent/RunWorkspace.js +328 -0
- package/dist/agent/RunWorkspace.js.map +1 -0
- package/dist/agent/ScopedProcess.d.ts +35 -0
- package/dist/agent/ScopedProcess.d.ts.map +1 -0
- package/dist/agent/ScopedProcess.js +280 -0
- package/dist/agent/ScopedProcess.js.map +1 -0
- package/dist/agent/ToolRegistry.d.ts +80 -0
- package/dist/agent/ToolRegistry.d.ts.map +1 -0
- package/dist/agent/ToolRegistry.js +45 -0
- package/dist/agent/ToolRegistry.js.map +1 -0
- package/dist/agent/UserInput.d.ts +59 -0
- package/dist/agent/UserInput.d.ts.map +1 -0
- package/dist/agent/UserInput.js +203 -0
- package/dist/agent/UserInput.js.map +1 -0
- package/dist/agent/tools/AskUserTool.d.ts +71 -0
- package/dist/agent/tools/AskUserTool.d.ts.map +1 -0
- package/dist/agent/tools/AskUserTool.js +70 -0
- package/dist/agent/tools/AskUserTool.js.map +1 -0
- package/dist/agent/tools/DelegateTool.d.ts +49 -0
- package/dist/agent/tools/DelegateTool.d.ts.map +1 -0
- package/dist/agent/tools/DelegateTool.js +62 -0
- package/dist/agent/tools/DelegateTool.js.map +1 -0
- package/dist/agent/tools/InspectAttachmentTool.d.ts +25 -0
- package/dist/agent/tools/InspectAttachmentTool.d.ts.map +1 -0
- package/dist/agent/tools/InspectAttachmentTool.js +129 -0
- package/dist/agent/tools/InspectAttachmentTool.js.map +1 -0
- package/dist/agent/tools/PythonPackageTool.d.ts +26 -0
- package/dist/agent/tools/PythonPackageTool.d.ts.map +1 -0
- package/dist/agent/tools/PythonPackageTool.js +105 -0
- package/dist/agent/tools/PythonPackageTool.js.map +1 -0
- package/dist/agent/tools/ReadFileTool.d.ts +24 -0
- package/dist/agent/tools/ReadFileTool.d.ts.map +1 -0
- package/dist/agent/tools/ReadFileTool.js +112 -0
- package/dist/agent/tools/ReadFileTool.js.map +1 -0
- package/dist/agent/tools/ShellExecTool.d.ts +23 -0
- package/dist/agent/tools/ShellExecTool.d.ts.map +1 -0
- package/dist/agent/tools/ShellExecTool.js +75 -0
- package/dist/agent/tools/ShellExecTool.js.map +1 -0
- package/dist/agent/tools/WebSearchTool.d.ts +26 -0
- package/dist/agent/tools/WebSearchTool.d.ts.map +1 -0
- package/dist/agent/tools/WebSearchTool.js +52 -0
- package/dist/agent/tools/WebSearchTool.js.map +1 -0
- package/dist/agent/tools/WriteFileTool.d.ts +30 -0
- package/dist/agent/tools/WriteFileTool.d.ts.map +1 -0
- package/dist/agent/tools/WriteFileTool.js +155 -0
- package/dist/agent/tools/WriteFileTool.js.map +1 -0
- package/dist/app/AppActionResolver.d.ts +15 -0
- package/dist/app/AppActionResolver.d.ts.map +1 -0
- package/dist/app/AppActionResolver.js +98 -0
- package/dist/app/AppActionResolver.js.map +1 -0
- package/dist/app/AppSchema.d.ts +83 -0
- package/dist/app/AppSchema.d.ts.map +1 -0
- package/dist/app/AppSchema.js +17 -0
- package/dist/app/AppSchema.js.map +1 -0
- package/dist/app/AppStore.d.ts +14 -0
- package/dist/app/AppStore.d.ts.map +1 -0
- package/dist/app/AppStore.js +146 -0
- package/dist/app/AppStore.js.map +1 -0
- package/dist/app/AppValidator.d.ts +10 -0
- package/dist/app/AppValidator.d.ts.map +1 -0
- package/dist/app/AppValidator.js +503 -0
- package/dist/app/AppValidator.js.map +1 -0
- package/dist/app/SkillAppCompiler.d.ts +5 -0
- package/dist/app/SkillAppCompiler.d.ts.map +1 -0
- package/dist/app/SkillAppCompiler.js +632 -0
- package/dist/app/SkillAppCompiler.js.map +1 -0
- package/dist/app/SkillAppDsl.d.ts +93 -0
- package/dist/app/SkillAppDsl.d.ts.map +1 -0
- package/dist/app/SkillAppDsl.js +72 -0
- package/dist/app/SkillAppDsl.js.map +1 -0
- package/dist/app/SkillAppInstanceRegistry.d.ts +25 -0
- package/dist/app/SkillAppInstanceRegistry.d.ts.map +1 -0
- package/dist/app/SkillAppInstanceRegistry.js +218 -0
- package/dist/app/SkillAppInstanceRegistry.js.map +1 -0
- package/dist/app/SkillAppResolver.d.ts +12 -0
- package/dist/app/SkillAppResolver.d.ts.map +1 -0
- package/dist/app/SkillAppResolver.js +89 -0
- package/dist/app/SkillAppResolver.js.map +1 -0
- package/dist/app/SkillAppSchema.d.ts +116 -0
- package/dist/app/SkillAppSchema.d.ts.map +1 -0
- package/dist/app/SkillAppSchema.js +5 -0
- package/dist/app/SkillAppSchema.js.map +1 -0
- package/dist/channels/TelegramBridge.d.ts +103 -0
- package/dist/channels/TelegramBridge.d.ts.map +1 -0
- package/dist/channels/TelegramBridge.js +565 -0
- package/dist/channels/TelegramBridge.js.map +1 -0
- package/dist/channels/respond.d.ts +46 -0
- package/dist/channels/respond.d.ts.map +1 -0
- package/dist/channels/respond.js +41 -0
- package/dist/channels/respond.js.map +1 -0
- package/dist/config/ChatGptTokenRefresh.d.ts +18 -0
- package/dist/config/ChatGptTokenRefresh.d.ts.map +1 -0
- package/dist/config/ChatGptTokenRefresh.js +63 -0
- package/dist/config/ChatGptTokenRefresh.js.map +1 -0
- package/dist/config/ConfigBackup.d.ts +20 -0
- package/dist/config/ConfigBackup.d.ts.map +1 -0
- package/dist/config/ConfigBackup.js +197 -0
- package/dist/config/ConfigBackup.js.map +1 -0
- package/dist/config/ConfigLoader.d.ts +28 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -0
- package/dist/config/ConfigLoader.js +335 -0
- package/dist/config/ConfigLoader.js.map +1 -0
- package/dist/config/ConfigManager.d.ts +55 -0
- package/dist/config/ConfigManager.d.ts.map +1 -0
- package/dist/config/ConfigManager.js +707 -0
- package/dist/config/ConfigManager.js.map +1 -0
- package/dist/config/ConfigSchema.d.ts +231 -0
- package/dist/config/ConfigSchema.d.ts.map +1 -0
- package/dist/config/ConfigSchema.js +15 -0
- package/dist/config/ConfigSchema.js.map +1 -0
- package/dist/config/GitHubCopilotAuth.d.ts +7 -0
- package/dist/config/GitHubCopilotAuth.d.ts.map +1 -0
- package/dist/config/GitHubCopilotAuth.js +40 -0
- package/dist/config/GitHubCopilotAuth.js.map +1 -0
- package/dist/config/MarifoldOpenAICompatProvider.d.ts +39 -0
- package/dist/config/MarifoldOpenAICompatProvider.d.ts.map +1 -0
- package/dist/config/MarifoldOpenAICompatProvider.js +158 -0
- package/dist/config/MarifoldOpenAICompatProvider.js.map +1 -0
- package/dist/config/OpenAICompatUrls.d.ts +7 -0
- package/dist/config/OpenAICompatUrls.d.ts.map +1 -0
- package/dist/config/OpenAICompatUrls.js +47 -0
- package/dist/config/OpenAICompatUrls.js.map +1 -0
- package/dist/config/ProviderFactory.d.ts +12 -0
- package/dist/config/ProviderFactory.d.ts.map +1 -0
- package/dist/config/ProviderFactory.js +61 -0
- package/dist/config/ProviderFactory.js.map +1 -0
- package/dist/config/ProviderInspector.d.ts +46 -0
- package/dist/config/ProviderInspector.d.ts.map +1 -0
- package/dist/config/ProviderInspector.js +356 -0
- package/dist/config/ProviderInspector.js.map +1 -0
- package/dist/config/ProviderRegistry.d.ts +19 -0
- package/dist/config/ProviderRegistry.d.ts.map +1 -0
- package/dist/config/ProviderRegistry.js +301 -0
- package/dist/config/ProviderRegistry.js.map +1 -0
- package/dist/config/XaiTokenRefresh.d.ts +15 -0
- package/dist/config/XaiTokenRefresh.d.ts.map +1 -0
- package/dist/config/XaiTokenRefresh.js +73 -0
- package/dist/config/XaiTokenRefresh.js.map +1 -0
- package/dist/errors/MarifoldError.d.ts +34 -0
- package/dist/errors/MarifoldError.d.ts.map +1 -0
- package/dist/errors/MarifoldError.js +100 -0
- package/dist/errors/MarifoldError.js.map +1 -0
- package/dist/images/ImageOptimizer.d.ts +34 -0
- package/dist/images/ImageOptimizer.d.ts.map +1 -0
- package/dist/images/ImageOptimizer.js +225 -0
- package/dist/images/ImageOptimizer.js.map +1 -0
- package/dist/index.d.ts +96 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +193 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/MemoryControls.d.ts +26 -0
- package/dist/memory/MemoryControls.d.ts.map +1 -0
- package/dist/memory/MemoryControls.js +388 -0
- package/dist/memory/MemoryControls.js.map +1 -0
- package/dist/memory/MemoryStore.d.ts +122 -0
- package/dist/memory/MemoryStore.d.ts.map +1 -0
- package/dist/memory/MemoryStore.js +1096 -0
- package/dist/memory/MemoryStore.js.map +1 -0
- package/dist/profiles/ProfileManager.d.ts +139 -0
- package/dist/profiles/ProfileManager.d.ts.map +1 -0
- package/dist/profiles/ProfileManager.js +475 -0
- package/dist/profiles/ProfileManager.js.map +1 -0
- package/dist/profiles/ProfileResolver.d.ts +18 -0
- package/dist/profiles/ProfileResolver.d.ts.map +1 -0
- package/dist/profiles/ProfileResolver.js +280 -0
- package/dist/profiles/ProfileResolver.js.map +1 -0
- package/dist/runs/RunRegistry.d.ts +140 -0
- package/dist/runs/RunRegistry.d.ts.map +1 -0
- package/dist/runs/RunRegistry.js +432 -0
- package/dist/runs/RunRegistry.js.map +1 -0
- package/dist/runtime/MarifoldRuntime.d.ts +244 -0
- package/dist/runtime/MarifoldRuntime.d.ts.map +1 -0
- package/dist/runtime/MarifoldRuntime.js +1099 -0
- package/dist/runtime/MarifoldRuntime.js.map +1 -0
- package/dist/runtime/MarifoldTypes.d.ts +70 -0
- package/dist/runtime/MarifoldTypes.d.ts.map +1 -0
- package/dist/runtime/MarifoldTypes.js +3 -0
- package/dist/runtime/MarifoldTypes.js.map +1 -0
- package/dist/schedule/ScheduleStore.d.ts +60 -0
- package/dist/schedule/ScheduleStore.d.ts.map +1 -0
- package/dist/schedule/ScheduleStore.js +212 -0
- package/dist/schedule/ScheduleStore.js.map +1 -0
- package/dist/schedule/Scheduler.d.ts +28 -0
- package/dist/schedule/Scheduler.d.ts.map +1 -0
- package/dist/schedule/Scheduler.js +65 -0
- package/dist/schedule/Scheduler.js.map +1 -0
- package/dist/search/DuckDuckGoBackend.d.ts +18 -0
- package/dist/search/DuckDuckGoBackend.d.ts.map +1 -0
- package/dist/search/DuckDuckGoBackend.js +37 -0
- package/dist/search/DuckDuckGoBackend.js.map +1 -0
- package/dist/search/FirecrawlBackend.d.ts +28 -0
- package/dist/search/FirecrawlBackend.d.ts.map +1 -0
- package/dist/search/FirecrawlBackend.js +76 -0
- package/dist/search/FirecrawlBackend.js.map +1 -0
- package/dist/search/SearchBackend.d.ts +18 -0
- package/dist/search/SearchBackend.d.ts.map +1 -0
- package/dist/search/SearchBackend.js +24 -0
- package/dist/search/SearchBackend.js.map +1 -0
- package/dist/search/createSearchBackend.d.ts +16 -0
- package/dist/search/createSearchBackend.d.ts.map +1 -0
- package/dist/search/createSearchBackend.js +30 -0
- package/dist/search/createSearchBackend.js.map +1 -0
- package/dist/sessions/ResponseMetrics.d.ts +17 -0
- package/dist/sessions/ResponseMetrics.d.ts.map +1 -0
- package/dist/sessions/ResponseMetrics.js +3 -0
- package/dist/sessions/ResponseMetrics.js.map +1 -0
- package/dist/sessions/SessionResolver.d.ts +135 -0
- package/dist/sessions/SessionResolver.d.ts.map +1 -0
- package/dist/sessions/SessionResolver.js +1173 -0
- package/dist/sessions/SessionResolver.js.map +1 -0
- package/dist/skill/BuiltInSkillManager.d.ts +11 -0
- package/dist/skill/BuiltInSkillManager.d.ts.map +1 -0
- package/dist/skill/BuiltInSkillManager.js +98 -0
- package/dist/skill/BuiltInSkillManager.js.map +1 -0
- package/dist/skill/SkillInvocation.d.ts +30 -0
- package/dist/skill/SkillInvocation.d.ts.map +1 -0
- package/dist/skill/SkillInvocation.js +135 -0
- package/dist/skill/SkillInvocation.js.map +1 -0
- package/dist/skill/SkillSchema.d.ts +37 -0
- package/dist/skill/SkillSchema.d.ts.map +1 -0
- package/dist/skill/SkillSchema.js +26 -0
- package/dist/skill/SkillSchema.js.map +1 -0
- package/dist/skill/SkillStore.d.ts +41 -0
- package/dist/skill/SkillStore.d.ts.map +1 -0
- package/dist/skill/SkillStore.js +184 -0
- package/dist/skill/SkillStore.js.map +1 -0
- package/dist/skill/SkillTemplater.d.ts +19 -0
- package/dist/skill/SkillTemplater.d.ts.map +1 -0
- package/dist/skill/SkillTemplater.js +36 -0
- package/dist/skill/SkillTemplater.js.map +1 -0
- package/dist/skill/SkillValidator.d.ts +10 -0
- package/dist/skill/SkillValidator.d.ts.map +1 -0
- package/dist/skill/SkillValidator.js +131 -0
- package/dist/skill/SkillValidator.js.map +1 -0
- package/dist/skill/SkillVars.d.ts +10 -0
- package/dist/skill/SkillVars.d.ts.map +1 -0
- package/dist/skill/SkillVars.js +65 -0
- package/dist/skill/SkillVars.js.map +1 -0
- package/dist/skill/index.d.ts +10 -0
- package/dist/skill/index.d.ts.map +1 -0
- package/dist/skill/index.js +22 -0
- package/dist/skill/index.js.map +1 -0
- package/dist/skillapp/SkillAppActionResolver.d.ts +13 -0
- package/dist/skillapp/SkillAppActionResolver.d.ts.map +1 -0
- package/dist/skillapp/SkillAppActionResolver.js +95 -0
- package/dist/skillapp/SkillAppActionResolver.js.map +1 -0
- package/dist/skillapp/SkillAppSchema.d.ts +79 -0
- package/dist/skillapp/SkillAppSchema.d.ts.map +1 -0
- package/dist/skillapp/SkillAppSchema.js +20 -0
- package/dist/skillapp/SkillAppSchema.js.map +1 -0
- package/dist/skillapp/SkillAppStore.d.ts +11 -0
- package/dist/skillapp/SkillAppStore.d.ts.map +1 -0
- package/dist/skillapp/SkillAppStore.js +98 -0
- package/dist/skillapp/SkillAppStore.js.map +1 -0
- package/dist/skillapp/SkillAppValidator.d.ts +10 -0
- package/dist/skillapp/SkillAppValidator.d.ts.map +1 -0
- package/dist/skillapp/SkillAppValidator.js +522 -0
- package/dist/skillapp/SkillAppValidator.js.map +1 -0
- package/dist/tasks/TaskStore.d.ts +110 -0
- package/dist/tasks/TaskStore.d.ts.map +1 -0
- package/dist/tasks/TaskStore.js +371 -0
- package/dist/tasks/TaskStore.js.map +1 -0
- package/dist/util/fetchRetry.d.ts +11 -0
- package/dist/util/fetchRetry.d.ts.map +1 -0
- package/dist/util/fetchRetry.js +48 -0
- package/dist/util/fetchRetry.js.map +1 -0
- package/dist/util/idToken.d.ts +12 -0
- package/dist/util/idToken.d.ts.map +1 -0
- package/dist/util/idToken.js +32 -0
- package/dist/util/idToken.js.map +1 -0
- package/dist/util/proxy.d.ts +18 -0
- package/dist/util/proxy.d.ts.map +1 -0
- package/dist/util/proxy.js +28 -0
- package/dist/util/proxy.js.map +1 -0
- package/dist/workspace/Workspace.d.ts +9 -0
- package/dist/workspace/Workspace.d.ts.map +1 -0
- package/dist/workspace/Workspace.js +55 -0
- package/dist/workspace/Workspace.js.map +1 -0
- package/dist/workspace/WorkspaceInitializer.d.ts +40 -0
- package/dist/workspace/WorkspaceInitializer.d.ts.map +1 -0
- package/dist/workspace/WorkspaceInitializer.js +212 -0
- package/dist/workspace/WorkspaceInitializer.js.map +1 -0
- package/dist/workspace/WorkspacePaths.d.ts +11 -0
- package/dist/workspace/WorkspacePaths.d.ts.map +1 -0
- package/dist/workspace/WorkspacePaths.js +82 -0
- package/dist/workspace/WorkspacePaths.js.map +1 -0
- 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 @@
|
|
|
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"}
|