@corbat-tech/coco 2.37.0 → 2.39.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/README.md +149 -13
- package/dist/adapters/index.d.ts +37 -0
- package/dist/adapters/index.js +46 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/agent-runtime-DJY9FzL_.d.ts +969 -0
- package/dist/blueprints-DYgm3K65.d.ts +99 -0
- package/dist/cli/index.js +1078 -169
- package/dist/cli/index.js.map +1 -1
- package/dist/extension-manifests-CAQQILhE.d.ts +147 -0
- package/dist/index-Dp1o8c9g.d.ts +2807 -0
- package/dist/index.d.ts +25 -913
- package/dist/index.js +1900 -101
- package/dist/index.js.map +1 -1
- package/dist/presets/index.d.ts +39 -0
- package/dist/presets/index.js +27050 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/profiles-BcyL-gQ9.d.ts +76 -0
- package/dist/rag-BakFRE-u.d.ts +31 -0
- package/dist/registry-CEpl9Jq0.d.ts +115 -0
- package/dist/runtime/index.d.ts +54 -0
- package/dist/runtime/index.js +27584 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/tools/index.d.ts +5 -0
- package/dist/tools/index.js +18751 -0
- package/dist/tools/index.js.map +1 -0
- package/package.json +9 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
|
+
import { Q as QualityScores, a as QualityDimensions } from './index-Dp1o8c9g.js';
|
|
2
|
+
export { b as QualityThresholds, c as createFullToolRegistry, r as registerAllTools } from './index-Dp1o8c9g.js';
|
|
1
3
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
4
|
+
import { L as LLMProvider, P as ProviderConfig, M as Message$1, C as ChatOptions, a as ChatResponse$1, b as ChatWithToolsOptions, c as ChatWithToolsResponse$1, S as StreamChunk } from './agent-runtime-DJY9FzL_.js';
|
|
5
|
+
export { A as AGENT_MODES, d as AgentArtifact, e as AgentArtifactKind, f as AgentBudget, g as AgentCapability, h as AgentCard, i as AgentDefinition, j as AgentGateDefinition, k as AgentGateKind, l as AgentGraphDefinition, m as AgentGraphEdge, n as AgentGraphEngine, o as AgentGraphEngineOptions, p as AgentGraphNode, q as AgentGraphNodeExecution, r as AgentGraphNodeExecutor, s as AgentGraphRunInput, t as AgentGraphRunResult, u as AgentGraphRunStatus, v as AgentGraphValidationIssue, w as AgentGraphValidationResult, x as AgentGuardrailPolicy, y as AgentHandoff, z as AgentMessage, B as AgentMessageRole, D as AgentModeDefinition, E as AgentModeId, F as AgentRole, G as AgentRunResult, H as AgentRunStatus, I as AgentRuntime, J as AgentRuntimeOptions, K as AgentRuntimeSnapshot, N as AgentToolPolicyDecision, O as AgentTraceContext, Q as DEFAULT_WORKFLOWS, R as EventLog, T as FileSharedWorkspaceStore, U as InMemorySharedWorkspaceStore, V as LegacyAgentRoleMapping, W as PermissionDecision, X as PermissionPolicy, Y as ProviderRegistry, Z as ProviderRuntimeSelection, _ as ReasoningEffort, $ as RuntimeAgentTask, a0 as RuntimeEvent, a1 as RuntimeEventType, a2 as RuntimeMode, a3 as RuntimeSession, a4 as RuntimeSessionCreateOptions, a5 as RuntimeSessionStore, a6 as RuntimeToolExecutionInput, a7 as RuntimeToolExecutionResult, a8 as RuntimeTurnContext, a9 as RuntimeTurnInput, aa as RuntimeTurnResult, ab as RuntimeTurnRunner, ac as RuntimeTurnStreamEvent, ad as SharedWorkspaceProvenance, ae as SharedWorkspaceRecord, af as SharedWorkspaceRecordKind, ag as SharedWorkspaceState, ah as SharedWorkspaceStateSnapshot, ai as SharedWorkspaceStore, aj as SharedWorkspaceWriteInput, ak as ToolRiskLevel, al as ToolRiskManifest, am as ToolRiskManifestEntry, an as WorkflowCatalog, ao as WorkflowDefinition, ap as WorkflowEngine, aq as WorkflowHandler, ar as WorkflowPlan, as as WorkflowRegistry, at as WorkflowRetryPolicy, au as WorkflowRisk, av as WorkflowRunContext, aw as WorkflowRunInput, ax as WorkflowRunResult, ay as WorkflowRunStatus, az as WorkflowStepDefinition, aA as createAgentArtifact, aB as createAgentGraphEngine, aC as createAgentRuntime, aD as createAgentTraceContext, aE as createProvider, aF as createProviderRegistry, aG as createSummaryArtifact, aH as createWorkflowCatalog, aI as createWorkflowEngine, aJ as createWorkflowRegistry, aK as evaluateAgentToolPolicy, aL as getAgentMode, aM as isAgentMode, aN as listAgentModes, aO as listLegacyAgentRoleMappings, aP as mapLegacyAgentRole, aQ as normalizeAgentRunResult, aR as validateAgentCapabilities, aS as validateAgentGraph, aT as workflowToAgentGraph } from './agent-runtime-DJY9FzL_.js';
|
|
6
|
+
export { A as AgentRunner, a as AgentRunnerExecutionContext, b as AgentRunnerExecutionInput, c as AgentRunnerExecutor, d as AgentRunnerOptions, e as AgentRunnerRawResult, f as AgentSurface, D as DefaultPermissionPolicy, g as DefaultRuntimeTurnRunner, E as ExtensionRisk, F as FileEventLog, h as FileRuntimeSessionStore, I as InMemoryEventLog, i as InMemoryRuntimeSessionStore, M as McpToolPolicy, R as RecipeManifest, j as RecipeStep, k as RuntimeHttpServerOptions, S as SkillManifest, T as ToolCallingRuntimeTurnRunner, l as ToolCallingRuntimeTurnRunnerOptions, m as createAgentRunner, n as createDefaultRuntimeTurnRunner, o as createEventLog, p as createFileEventLog, q as createFileRuntimeSessionStore, r as createMcpToolPolicy, s as createPermissionPolicy, t as createRuntimeHttpServer, u as createRuntimeSessionStore, v as createToolCallingRuntimeTurnRunner } from './extension-manifests-CAQQILhE.js';
|
|
7
|
+
export { A as AgentActionMode, a as AgentBlueprint, b as AgentDeploymentSurface, c as AgentMaturity, d as AgentPreset, e as AgentRuntimeFactoryOptions, f as ApprovalPolicy, B as BlueprintAgent, G as GuardrailConfig, g as GuardrailFinding, h as GuardrailResult, i as GuardrailSeverity, j as GuardrailStage, M as MemoryConfig, O as ObservabilityConfig, S as SecretRedactionConfig, T as TopicBoundaryConfig, k as createAgentFromBlueprint, l as createBaseBlueprint, m as createSafeToolRegistry, n as defaultPublicGuardrails, o as mapActionModeToRuntimeMode, r as redactSecrets, p as runGuardrails, v as validateStructuredOutput } from './blueprints-DYgm3K65.js';
|
|
8
|
+
export { I as InMemoryKnowledgeDocument, a as InMemoryKnowledgeRetriever, K as KnowledgeRetriever, R as RetrievalOptions, b as RetrievedSource, c as createInMemoryKnowledgeRetriever, f as formatRetrievedSourcesForPrompt } from './rag-BakFRE-u.js';
|
|
9
|
+
export { H as HumanEscalationHandler, a as HumanEscalationInput, b as HumanEscalationOutput, S as SupportDraftHandler, c as SupportDraftInput, d as SupportDraftOutput, e as SupportRagToolRegistryOptions, f as createCodingToolRegistry, g as createCustomerSupportToolRegistry, h as createNoToolRegistry, i as createPublicWebToolRegistry, j as createRagToolRegistry, k as createSupportRagToolRegistry } from './profiles-BcyL-gQ9.js';
|
|
10
|
+
export { AGENT_PRESETS, AppointmentPresetConfig, BrandPresetConfig, RagPresetConfig, SupportRagPresetConfig, appointmentBookingAssistantPreset, codingAgentPreset, customerSupportAssistantPreset, internalOpsAssistantPreset, publicWebsiteAssistantPreset, ragKnowledgeAssistantPreset, salesIntakeAssistantPreset, supportRagAssistantPreset } from './presets/index.js';
|
|
11
|
+
export { ChannelAdapter, ChannelInput, ChannelOutput, HttpAssistantAdapter, StreamingHttpAssistantAdapter, createHttpAssistantAdapter, createStreamingHttpAssistantAdapter, createWebhookAssistantAdapter } from './adapters/index.js';
|
|
3
12
|
import { Logger, ILogObj } from 'tslog';
|
|
13
|
+
export { T as ToolRegistry, c as createToolRegistry } from './registry-CEpl9Jq0.js';
|
|
14
|
+
import 'node:http';
|
|
4
15
|
|
|
5
16
|
declare const VERSION: string;
|
|
6
17
|
|
|
@@ -118,8 +129,8 @@ interface PhaseTools {
|
|
|
118
129
|
* LLM interface for phases
|
|
119
130
|
*/
|
|
120
131
|
interface LLMInterface {
|
|
121
|
-
chat(messages: Message
|
|
122
|
-
chatWithTools(messages: Message
|
|
132
|
+
chat(messages: Message[]): Promise<ChatResponse>;
|
|
133
|
+
chatWithTools(messages: Message[], tools: ToolDefinition[]): Promise<ChatWithToolsResponse>;
|
|
123
134
|
}
|
|
124
135
|
/**
|
|
125
136
|
* Phase checkpoint for recovery
|
|
@@ -153,26 +164,26 @@ interface QualityTools {
|
|
|
153
164
|
complexity(files: string[]): Promise<ComplexityResult>;
|
|
154
165
|
security(files: string[]): Promise<SecurityResult>;
|
|
155
166
|
}
|
|
156
|
-
interface Message
|
|
167
|
+
interface Message {
|
|
157
168
|
role: "system" | "user" | "assistant";
|
|
158
169
|
content: string;
|
|
159
170
|
}
|
|
160
|
-
interface ChatResponse
|
|
171
|
+
interface ChatResponse {
|
|
161
172
|
content: string;
|
|
162
173
|
usage: {
|
|
163
174
|
inputTokens: number;
|
|
164
175
|
outputTokens: number;
|
|
165
176
|
};
|
|
166
177
|
}
|
|
167
|
-
interface ToolDefinition
|
|
178
|
+
interface ToolDefinition {
|
|
168
179
|
name: string;
|
|
169
180
|
description: string;
|
|
170
181
|
parameters: Record<string, unknown>;
|
|
171
182
|
}
|
|
172
|
-
interface ChatWithToolsResponse
|
|
173
|
-
toolCalls?: ToolCall
|
|
183
|
+
interface ChatWithToolsResponse extends ChatResponse {
|
|
184
|
+
toolCalls?: ToolCall[];
|
|
174
185
|
}
|
|
175
|
-
interface ToolCall
|
|
186
|
+
interface ToolCall {
|
|
176
187
|
name: string;
|
|
177
188
|
arguments: Record<string, unknown>;
|
|
178
189
|
}
|
|
@@ -251,113 +262,6 @@ interface SecurityIssue {
|
|
|
251
262
|
line?: number;
|
|
252
263
|
}
|
|
253
264
|
|
|
254
|
-
/**
|
|
255
|
-
* Quality system types for Corbat-Coco
|
|
256
|
-
*/
|
|
257
|
-
/**
|
|
258
|
-
* Multi-dimensional quality scores
|
|
259
|
-
*/
|
|
260
|
-
interface QualityScores {
|
|
261
|
-
/**
|
|
262
|
-
* Overall weighted score (0-100)
|
|
263
|
-
*/
|
|
264
|
-
overall: number;
|
|
265
|
-
/**
|
|
266
|
-
* Individual dimension scores
|
|
267
|
-
*/
|
|
268
|
-
dimensions: QualityDimensions;
|
|
269
|
-
/**
|
|
270
|
-
* Metadata
|
|
271
|
-
*/
|
|
272
|
-
evaluatedAt: Date;
|
|
273
|
-
evaluationDurationMs: number;
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* Quality dimensions
|
|
277
|
-
*/
|
|
278
|
-
interface QualityDimensions {
|
|
279
|
-
/**
|
|
280
|
-
* Does the code work correctly? (tests pass, logic correct)
|
|
281
|
-
*/
|
|
282
|
-
correctness: number;
|
|
283
|
-
/**
|
|
284
|
-
* Are all requirements met?
|
|
285
|
-
*/
|
|
286
|
-
completeness: number;
|
|
287
|
-
/**
|
|
288
|
-
* Are edge cases handled?
|
|
289
|
-
*/
|
|
290
|
-
robustness: number;
|
|
291
|
-
/**
|
|
292
|
-
* Is the code clear and understandable?
|
|
293
|
-
*/
|
|
294
|
-
readability: number;
|
|
295
|
-
/**
|
|
296
|
-
* Is the code easy to modify?
|
|
297
|
-
*/
|
|
298
|
-
maintainability: number;
|
|
299
|
-
/**
|
|
300
|
-
* Cyclomatic complexity score (inverted - higher is better)
|
|
301
|
-
*/
|
|
302
|
-
complexity: number;
|
|
303
|
-
/**
|
|
304
|
-
* DRY score - code duplication (inverted - higher is better)
|
|
305
|
-
*/
|
|
306
|
-
duplication: number;
|
|
307
|
-
/**
|
|
308
|
-
* Line and branch coverage
|
|
309
|
-
*/
|
|
310
|
-
testCoverage: number;
|
|
311
|
-
/**
|
|
312
|
-
* Test meaningfulness and quality
|
|
313
|
-
*/
|
|
314
|
-
testQuality: number;
|
|
315
|
-
/**
|
|
316
|
-
* Security vulnerability score (100 = no vulnerabilities)
|
|
317
|
-
*/
|
|
318
|
-
security: number;
|
|
319
|
-
/**
|
|
320
|
-
* Documentation coverage
|
|
321
|
-
*/
|
|
322
|
-
documentation: number;
|
|
323
|
-
/**
|
|
324
|
-
* Linting and style compliance
|
|
325
|
-
*/
|
|
326
|
-
style: number;
|
|
327
|
-
}
|
|
328
|
-
/**
|
|
329
|
-
* Quality thresholds
|
|
330
|
-
*/
|
|
331
|
-
interface QualityThresholds {
|
|
332
|
-
/**
|
|
333
|
-
* Minimum acceptable scores (must achieve to pass)
|
|
334
|
-
*/
|
|
335
|
-
minimum: {
|
|
336
|
-
overall: number;
|
|
337
|
-
testCoverage: number;
|
|
338
|
-
security: number;
|
|
339
|
-
};
|
|
340
|
-
/**
|
|
341
|
-
* Target scores (excellent quality)
|
|
342
|
-
*/
|
|
343
|
-
target: {
|
|
344
|
-
overall: number;
|
|
345
|
-
testCoverage: number;
|
|
346
|
-
};
|
|
347
|
-
/**
|
|
348
|
-
* Convergence threshold (max score delta to consider converged)
|
|
349
|
-
*/
|
|
350
|
-
convergenceThreshold: number;
|
|
351
|
-
/**
|
|
352
|
-
* Maximum iterations before forced completion
|
|
353
|
-
*/
|
|
354
|
-
maxIterations: number;
|
|
355
|
-
/**
|
|
356
|
-
* Minimum iterations before checking convergence
|
|
357
|
-
*/
|
|
358
|
-
minIterations: number;
|
|
359
|
-
}
|
|
360
|
-
|
|
361
265
|
/**
|
|
362
266
|
* Main orchestrator interface
|
|
363
267
|
*/
|
|
@@ -936,226 +840,6 @@ interface InputAnalysis {
|
|
|
936
840
|
*/
|
|
937
841
|
type ProjectType = "cli" | "api" | "web_app" | "library" | "service" | "full_stack" | "automation" | "unknown";
|
|
938
842
|
|
|
939
|
-
/**
|
|
940
|
-
* Unified thinking/reasoning mode support for all LLM providers.
|
|
941
|
-
*
|
|
942
|
-
* Normalizes three distinct API surfaces:
|
|
943
|
-
* - Anthropic: thinking.budget_tokens
|
|
944
|
-
* - OpenAI Chat Completions: reasoning_effort
|
|
945
|
-
* - OpenAI Responses API: reasoning.effort
|
|
946
|
-
* - Gemini: thinkingConfig.thinkingBudget
|
|
947
|
-
* - Kimi: thinking.type enabled/disabled
|
|
948
|
-
*/
|
|
949
|
-
/**
|
|
950
|
-
* Provider-agnostic thinking mode.
|
|
951
|
-
* "off" — disable thinking entirely (or keep disabled for models like Kimi)
|
|
952
|
-
* "auto" — provider default / dynamic budget
|
|
953
|
-
* "low" — minimal reasoning
|
|
954
|
-
* "medium" — balanced reasoning
|
|
955
|
-
* "high" — maximum reasoning
|
|
956
|
-
* { budget: N } — explicit token budget (Anthropic / Gemini only; rejected for effort-only providers)
|
|
957
|
-
*/
|
|
958
|
-
type ThinkingMode = "off" | "auto" | "low" | "medium" | "high" | {
|
|
959
|
-
budget: number;
|
|
960
|
-
};
|
|
961
|
-
/**
|
|
962
|
-
* Whether this provider/model uses effort buckets (OpenAI) or token budgets (Anthropic, Gemini).
|
|
963
|
-
*/
|
|
964
|
-
type ThinkingKind = "effort" | "budget";
|
|
965
|
-
|
|
966
|
-
/**
|
|
967
|
-
* LLM Provider types for Corbat-Coco
|
|
968
|
-
*/
|
|
969
|
-
|
|
970
|
-
/**
|
|
971
|
-
* Message role
|
|
972
|
-
*/
|
|
973
|
-
type MessageRole = "system" | "user" | "assistant";
|
|
974
|
-
/**
|
|
975
|
-
* Message content types
|
|
976
|
-
*/
|
|
977
|
-
type MessageContent = string | Array<TextContent | ImageContent | ToolUseContent | ToolResultContent>;
|
|
978
|
-
/**
|
|
979
|
-
* Text content block
|
|
980
|
-
*/
|
|
981
|
-
interface TextContent {
|
|
982
|
-
type: "text";
|
|
983
|
-
text: string;
|
|
984
|
-
}
|
|
985
|
-
/**
|
|
986
|
-
* Image content block
|
|
987
|
-
*/
|
|
988
|
-
interface ImageContent {
|
|
989
|
-
type: "image";
|
|
990
|
-
source: {
|
|
991
|
-
type: "base64";
|
|
992
|
-
media_type: string;
|
|
993
|
-
data: string;
|
|
994
|
-
};
|
|
995
|
-
}
|
|
996
|
-
/**
|
|
997
|
-
* Tool use content block
|
|
998
|
-
*/
|
|
999
|
-
interface ToolUseContent {
|
|
1000
|
-
type: "tool_use";
|
|
1001
|
-
id: string;
|
|
1002
|
-
name: string;
|
|
1003
|
-
input: Record<string, unknown>;
|
|
1004
|
-
/** Gemini-specific: preserve function-call thought signature across tool turns */
|
|
1005
|
-
geminiThoughtSignature?: string;
|
|
1006
|
-
}
|
|
1007
|
-
/**
|
|
1008
|
-
* Tool result content block
|
|
1009
|
-
*/
|
|
1010
|
-
interface ToolResultContent {
|
|
1011
|
-
type: "tool_result";
|
|
1012
|
-
tool_use_id: string;
|
|
1013
|
-
content: string;
|
|
1014
|
-
is_error?: boolean;
|
|
1015
|
-
}
|
|
1016
|
-
/**
|
|
1017
|
-
* Chat message
|
|
1018
|
-
*/
|
|
1019
|
-
interface Message {
|
|
1020
|
-
role: MessageRole;
|
|
1021
|
-
content: MessageContent;
|
|
1022
|
-
}
|
|
1023
|
-
/**
|
|
1024
|
-
* Tool definition for LLM
|
|
1025
|
-
*/
|
|
1026
|
-
interface ToolDefinition$1 {
|
|
1027
|
-
name: string;
|
|
1028
|
-
description: string;
|
|
1029
|
-
input_schema: {
|
|
1030
|
-
type: "object";
|
|
1031
|
-
properties: Record<string, unknown>;
|
|
1032
|
-
required?: string[];
|
|
1033
|
-
};
|
|
1034
|
-
}
|
|
1035
|
-
/**
|
|
1036
|
-
* Tool call from LLM
|
|
1037
|
-
*/
|
|
1038
|
-
interface ToolCall {
|
|
1039
|
-
id: string;
|
|
1040
|
-
name: string;
|
|
1041
|
-
input: Record<string, unknown>;
|
|
1042
|
-
/** Gemini-specific: preserve function-call thought signature across tool turns */
|
|
1043
|
-
geminiThoughtSignature?: string;
|
|
1044
|
-
}
|
|
1045
|
-
/**
|
|
1046
|
-
* Chat options
|
|
1047
|
-
*/
|
|
1048
|
-
interface ChatOptions {
|
|
1049
|
-
model?: string;
|
|
1050
|
-
maxTokens?: number;
|
|
1051
|
-
temperature?: number;
|
|
1052
|
-
stopSequences?: string[];
|
|
1053
|
-
system?: string;
|
|
1054
|
-
timeout?: number;
|
|
1055
|
-
/** Abort signal to cancel in-flight requests */
|
|
1056
|
-
signal?: AbortSignal;
|
|
1057
|
-
/** Thinking/reasoning mode to pass to the model (if supported) */
|
|
1058
|
-
thinking?: ThinkingMode;
|
|
1059
|
-
}
|
|
1060
|
-
/**
|
|
1061
|
-
* Chat response
|
|
1062
|
-
*/
|
|
1063
|
-
interface ChatResponse {
|
|
1064
|
-
id: string;
|
|
1065
|
-
content: string;
|
|
1066
|
-
stopReason: "end_turn" | "max_tokens" | "stop_sequence" | "tool_use";
|
|
1067
|
-
usage: {
|
|
1068
|
-
inputTokens: number;
|
|
1069
|
-
outputTokens: number;
|
|
1070
|
-
};
|
|
1071
|
-
model: string;
|
|
1072
|
-
}
|
|
1073
|
-
/**
|
|
1074
|
-
* Chat with tools options
|
|
1075
|
-
*/
|
|
1076
|
-
interface ChatWithToolsOptions extends ChatOptions {
|
|
1077
|
-
tools: ToolDefinition$1[];
|
|
1078
|
-
toolChoice?: "auto" | "any" | {
|
|
1079
|
-
type: "tool";
|
|
1080
|
-
name: string;
|
|
1081
|
-
};
|
|
1082
|
-
}
|
|
1083
|
-
/**
|
|
1084
|
-
* Chat with tools response
|
|
1085
|
-
*/
|
|
1086
|
-
interface ChatWithToolsResponse extends ChatResponse {
|
|
1087
|
-
toolCalls: ToolCall[];
|
|
1088
|
-
}
|
|
1089
|
-
/**
|
|
1090
|
-
* Stream chunk
|
|
1091
|
-
*/
|
|
1092
|
-
interface StreamChunk {
|
|
1093
|
-
type: "text" | "tool_use_start" | "tool_use_delta" | "tool_use_end" | "done";
|
|
1094
|
-
text?: string;
|
|
1095
|
-
toolCall?: Partial<ToolCall>;
|
|
1096
|
-
stopReason?: "end_turn" | "max_tokens" | "stop_sequence" | "tool_use";
|
|
1097
|
-
}
|
|
1098
|
-
/**
|
|
1099
|
-
* LLM Provider interface
|
|
1100
|
-
*/
|
|
1101
|
-
interface LLMProvider {
|
|
1102
|
-
/**
|
|
1103
|
-
* Provider identifier
|
|
1104
|
-
*/
|
|
1105
|
-
id: string;
|
|
1106
|
-
/**
|
|
1107
|
-
* Provider display name
|
|
1108
|
-
*/
|
|
1109
|
-
name: string;
|
|
1110
|
-
/**
|
|
1111
|
-
* Initialize the provider
|
|
1112
|
-
*/
|
|
1113
|
-
initialize(config: ProviderConfig): Promise<void>;
|
|
1114
|
-
/**
|
|
1115
|
-
* Send a chat message
|
|
1116
|
-
*/
|
|
1117
|
-
chat(messages: Message[], options?: ChatOptions): Promise<ChatResponse>;
|
|
1118
|
-
/**
|
|
1119
|
-
* Send a chat message with tool use
|
|
1120
|
-
*/
|
|
1121
|
-
chatWithTools(messages: Message[], options: ChatWithToolsOptions): Promise<ChatWithToolsResponse>;
|
|
1122
|
-
/**
|
|
1123
|
-
* Stream a chat response
|
|
1124
|
-
*/
|
|
1125
|
-
stream(messages: Message[], options?: ChatOptions): AsyncIterable<StreamChunk>;
|
|
1126
|
-
/**
|
|
1127
|
-
* Stream a chat response with tool use
|
|
1128
|
-
*/
|
|
1129
|
-
streamWithTools(messages: Message[], options: ChatWithToolsOptions): AsyncIterable<StreamChunk>;
|
|
1130
|
-
/**
|
|
1131
|
-
* Count tokens in text
|
|
1132
|
-
*/
|
|
1133
|
-
countTokens(text: string): number;
|
|
1134
|
-
/**
|
|
1135
|
-
* Get context window size
|
|
1136
|
-
*/
|
|
1137
|
-
getContextWindow(): number;
|
|
1138
|
-
/**
|
|
1139
|
-
* Check if provider is available
|
|
1140
|
-
*/
|
|
1141
|
-
isAvailable(): Promise<boolean>;
|
|
1142
|
-
}
|
|
1143
|
-
/**
|
|
1144
|
-
* Provider configuration
|
|
1145
|
-
*/
|
|
1146
|
-
interface ProviderConfig {
|
|
1147
|
-
apiKey?: string;
|
|
1148
|
-
baseUrl?: string;
|
|
1149
|
-
model?: string;
|
|
1150
|
-
maxTokens?: number;
|
|
1151
|
-
temperature?: number;
|
|
1152
|
-
timeout?: number;
|
|
1153
|
-
project?: string;
|
|
1154
|
-
location?: string;
|
|
1155
|
-
/** Internal: flag to indicate using Google Cloud ADC */
|
|
1156
|
-
useADC?: boolean;
|
|
1157
|
-
}
|
|
1158
|
-
|
|
1159
843
|
/**
|
|
1160
844
|
* Discovery Engine for the CONVERGE phase
|
|
1161
845
|
*
|
|
@@ -2990,19 +2674,19 @@ declare class AnthropicProvider implements LLMProvider {
|
|
|
2990
2674
|
/**
|
|
2991
2675
|
* Send a chat message
|
|
2992
2676
|
*/
|
|
2993
|
-
chat(messages: Message[], options?: ChatOptions): Promise<ChatResponse>;
|
|
2677
|
+
chat(messages: Message$1[], options?: ChatOptions): Promise<ChatResponse$1>;
|
|
2994
2678
|
/**
|
|
2995
2679
|
* Send a chat message with tool use
|
|
2996
2680
|
*/
|
|
2997
|
-
chatWithTools(messages: Message[], options: ChatWithToolsOptions): Promise<ChatWithToolsResponse>;
|
|
2681
|
+
chatWithTools(messages: Message$1[], options: ChatWithToolsOptions): Promise<ChatWithToolsResponse$1>;
|
|
2998
2682
|
/**
|
|
2999
2683
|
* Stream a chat response
|
|
3000
2684
|
*/
|
|
3001
|
-
stream(messages: Message[], options?: ChatOptions): AsyncIterable<StreamChunk>;
|
|
2685
|
+
stream(messages: Message$1[], options?: ChatOptions): AsyncIterable<StreamChunk>;
|
|
3002
2686
|
/**
|
|
3003
2687
|
* Stream a chat response with tool use
|
|
3004
2688
|
*/
|
|
3005
|
-
streamWithTools(messages: Message[], options: ChatWithToolsOptions): AsyncIterable<StreamChunk>;
|
|
2689
|
+
streamWithTools(messages: Message$1[], options: ChatWithToolsOptions): AsyncIterable<StreamChunk>;
|
|
3006
2690
|
/**
|
|
3007
2691
|
* Count tokens (improved heuristic for Claude models)
|
|
3008
2692
|
*
|
|
@@ -3141,578 +2825,6 @@ declare class TaskError extends CocoError {
|
|
|
3141
2825
|
});
|
|
3142
2826
|
}
|
|
3143
2827
|
|
|
3144
|
-
/**
|
|
3145
|
-
* Provider and model catalog.
|
|
3146
|
-
*
|
|
3147
|
-
* This is the source of truth for model IDs, defaults, context windows,
|
|
3148
|
-
* pricing metadata, and provider capabilities. Endpoint adapters still own
|
|
3149
|
-
* request/response conversion, but they should read model metadata from here.
|
|
3150
|
-
*/
|
|
3151
|
-
|
|
3152
|
-
type ModelStatus = "current" | "legacy" | "deprecated" | "experimental";
|
|
3153
|
-
type ModelCapability = "streaming" | "tool-use" | "vision" | "reasoning-effort" | "adaptive-thinking" | "thinking-budget" | "openai-responses" | "openai-chat" | "anthropic-messages" | "gemini-generate-content";
|
|
3154
|
-
interface ProviderSource {
|
|
3155
|
-
name: string;
|
|
3156
|
-
url: string;
|
|
3157
|
-
verifiedAt: string;
|
|
3158
|
-
}
|
|
3159
|
-
interface ModelPricing {
|
|
3160
|
-
inputPerMillion: number;
|
|
3161
|
-
outputPerMillion: number;
|
|
3162
|
-
}
|
|
3163
|
-
interface ModelCatalogEntry {
|
|
3164
|
-
id: string;
|
|
3165
|
-
name: string;
|
|
3166
|
-
description?: string;
|
|
3167
|
-
contextWindow: number;
|
|
3168
|
-
maxOutputTokens?: number;
|
|
3169
|
-
recommended?: boolean;
|
|
3170
|
-
status: ModelStatus;
|
|
3171
|
-
capabilities: ModelCapability[];
|
|
3172
|
-
pricing?: ModelPricing;
|
|
3173
|
-
source: ProviderSource;
|
|
3174
|
-
}
|
|
3175
|
-
interface ProviderCatalogEntry {
|
|
3176
|
-
id: ProviderType;
|
|
3177
|
-
defaultModel: string;
|
|
3178
|
-
models: ModelCatalogEntry[];
|
|
3179
|
-
}
|
|
3180
|
-
|
|
3181
|
-
/**
|
|
3182
|
-
* Runtime compatibility view derived from the static provider catalog.
|
|
3183
|
-
*
|
|
3184
|
-
* The catalog records what a model is; this module records how Coco should use it
|
|
3185
|
-
* safely at runtime, including endpoint selection and reasoning/tooling limits.
|
|
3186
|
-
*/
|
|
3187
|
-
|
|
3188
|
-
type ProviderEndpointStrategy = "anthropic-messages" | "openai-responses" | "openai-chat" | "gemini-generate-content";
|
|
3189
|
-
type ModelCompatibilityStatus = ModelStatus | "unverified";
|
|
3190
|
-
interface ProviderRuntimeCapability {
|
|
3191
|
-
provider: ProviderType;
|
|
3192
|
-
model: string;
|
|
3193
|
-
catalogModel?: ModelCatalogEntry;
|
|
3194
|
-
status: ModelCompatibilityStatus;
|
|
3195
|
-
endpoint: ProviderEndpointStrategy;
|
|
3196
|
-
supportsStreaming: boolean;
|
|
3197
|
-
supportsToolUse: boolean;
|
|
3198
|
-
supportsVision: boolean;
|
|
3199
|
-
supportsReasoning: boolean;
|
|
3200
|
-
reasoningKinds: ThinkingKind[];
|
|
3201
|
-
defaultReasoning: ThinkingMode;
|
|
3202
|
-
contextWindow: number;
|
|
3203
|
-
maxOutputTokens?: number;
|
|
3204
|
-
sourceUrl?: string;
|
|
3205
|
-
restrictions: string[];
|
|
3206
|
-
}
|
|
3207
|
-
interface ProviderProbeResult extends ProviderRuntimeCapability {
|
|
3208
|
-
available: boolean | "not-checked";
|
|
3209
|
-
checkedAt: string;
|
|
3210
|
-
error?: string;
|
|
3211
|
-
}
|
|
3212
|
-
|
|
3213
|
-
/**
|
|
3214
|
-
* Provider exports for Corbat-Coco
|
|
3215
|
-
*/
|
|
3216
|
-
|
|
3217
|
-
/**
|
|
3218
|
-
* Supported provider types
|
|
3219
|
-
*/
|
|
3220
|
-
type ProviderType = "anthropic" | "openai" | "codex" | "copilot" | "gemini" | "vertex" | "kimi" | "kimi-code" | "lmstudio" | "ollama" | "groq" | "openrouter" | "mistral" | "deepseek" | "together" | "huggingface" | "qwen";
|
|
3221
|
-
/**
|
|
3222
|
-
* Create a provider by type
|
|
3223
|
-
*/
|
|
3224
|
-
declare function createProvider(type: ProviderType, config?: ProviderConfig): Promise<LLMProvider>;
|
|
3225
|
-
|
|
3226
|
-
/**
|
|
3227
|
-
* Tool Registry for Corbat-Coco
|
|
3228
|
-
* Central management of all available tools
|
|
3229
|
-
*/
|
|
3230
|
-
|
|
3231
|
-
/**
|
|
3232
|
-
* Tool definition
|
|
3233
|
-
*/
|
|
3234
|
-
interface ToolDefinition<TInput = unknown, TOutput = unknown> {
|
|
3235
|
-
name: string;
|
|
3236
|
-
description: string;
|
|
3237
|
-
category: ToolCategory;
|
|
3238
|
-
parameters: z.ZodType<TInput, any, any>;
|
|
3239
|
-
execute: (params: TInput) => Promise<TOutput>;
|
|
3240
|
-
}
|
|
3241
|
-
/**
|
|
3242
|
-
* Tool categories
|
|
3243
|
-
*/
|
|
3244
|
-
type ToolCategory = "file" | "bash" | "git" | "test" | "quality" | "build" | "deploy" | "config" | "web" | "search" | "memory" | "document";
|
|
3245
|
-
/**
|
|
3246
|
-
* Tool execution result
|
|
3247
|
-
*/
|
|
3248
|
-
interface ToolResult<T = unknown> {
|
|
3249
|
-
success: boolean;
|
|
3250
|
-
data?: T;
|
|
3251
|
-
error?: string;
|
|
3252
|
-
duration: number;
|
|
3253
|
-
}
|
|
3254
|
-
/**
|
|
3255
|
-
* Progress callback for long-running operations
|
|
3256
|
-
*/
|
|
3257
|
-
type ProgressCallback = (progress: ProgressInfo) => void;
|
|
3258
|
-
/**
|
|
3259
|
-
* Progress information
|
|
3260
|
-
*/
|
|
3261
|
-
interface ProgressInfo {
|
|
3262
|
-
/** Current step or phase name */
|
|
3263
|
-
phase: string;
|
|
3264
|
-
/** Progress percentage (0-100), null if indeterminate */
|
|
3265
|
-
percent: number | null;
|
|
3266
|
-
/** Human-readable message */
|
|
3267
|
-
message?: string;
|
|
3268
|
-
/** Estimated time remaining in ms, null if unknown */
|
|
3269
|
-
estimatedTimeRemaining?: number | null;
|
|
3270
|
-
/** Additional metadata */
|
|
3271
|
-
metadata?: Record<string, unknown>;
|
|
3272
|
-
}
|
|
3273
|
-
/**
|
|
3274
|
-
* Options for tool execution
|
|
3275
|
-
*/
|
|
3276
|
-
interface ExecuteOptions {
|
|
3277
|
-
/** Progress callback for long operations */
|
|
3278
|
-
onProgress?: ProgressCallback;
|
|
3279
|
-
/** Abort signal for cancellation */
|
|
3280
|
-
signal?: AbortSignal;
|
|
3281
|
-
}
|
|
3282
|
-
/**
|
|
3283
|
-
* Tool registry
|
|
3284
|
-
*/
|
|
3285
|
-
declare class ToolRegistry {
|
|
3286
|
-
private tools;
|
|
3287
|
-
private logger;
|
|
3288
|
-
/**
|
|
3289
|
-
* Register a tool
|
|
3290
|
-
*/
|
|
3291
|
-
register<TInput, TOutput>(tool: ToolDefinition<TInput, TOutput>): void;
|
|
3292
|
-
/**
|
|
3293
|
-
* Unregister a tool
|
|
3294
|
-
*/
|
|
3295
|
-
unregister(name: string): boolean;
|
|
3296
|
-
/**
|
|
3297
|
-
* Get a tool by name
|
|
3298
|
-
*/
|
|
3299
|
-
get<TInput = unknown, TOutput = unknown>(name: string): ToolDefinition<TInput, TOutput> | undefined;
|
|
3300
|
-
/**
|
|
3301
|
-
* Check if a tool exists
|
|
3302
|
-
*/
|
|
3303
|
-
has(name: string): boolean;
|
|
3304
|
-
/**
|
|
3305
|
-
* Get all tools
|
|
3306
|
-
*/
|
|
3307
|
-
getAll(): ToolDefinition[];
|
|
3308
|
-
/**
|
|
3309
|
-
* Get tools by category
|
|
3310
|
-
*/
|
|
3311
|
-
getByCategory(category: ToolCategory): ToolDefinition[];
|
|
3312
|
-
/**
|
|
3313
|
-
* Execute a tool
|
|
3314
|
-
*/
|
|
3315
|
-
execute<TInput, TOutput>(name: string, params: TInput, options?: ExecuteOptions): Promise<ToolResult<TOutput>>;
|
|
3316
|
-
/**
|
|
3317
|
-
* Get tool definitions for LLM (simplified format)
|
|
3318
|
-
*/
|
|
3319
|
-
getToolDefinitionsForLLM(): Array<{
|
|
3320
|
-
name: string;
|
|
3321
|
-
description: string;
|
|
3322
|
-
input_schema: Record<string, unknown>;
|
|
3323
|
-
}>;
|
|
3324
|
-
}
|
|
3325
|
-
/**
|
|
3326
|
-
* Create a new tool registry
|
|
3327
|
-
*/
|
|
3328
|
-
declare function createToolRegistry(): ToolRegistry;
|
|
3329
|
-
|
|
3330
|
-
/** Catalog-backed provider/model registry used by runtime consumers. */
|
|
3331
|
-
declare class ProviderRegistry {
|
|
3332
|
-
listProviders(): ProviderCatalogEntry[];
|
|
3333
|
-
getProvider(provider: ProviderType): ProviderCatalogEntry;
|
|
3334
|
-
listModels(provider: ProviderType): ModelCatalogEntry[];
|
|
3335
|
-
getModel(provider: ProviderType, model: string): ModelCatalogEntry | undefined;
|
|
3336
|
-
getDefaultModel(provider: ProviderType): string;
|
|
3337
|
-
getRecommendedModel(provider: ProviderType): ModelCatalogEntry;
|
|
3338
|
-
getCapability(provider: ProviderType, model?: string): ProviderRuntimeCapability;
|
|
3339
|
-
createProvider(provider: ProviderType, config?: ProviderConfig): Promise<LLMProvider>;
|
|
3340
|
-
probe(provider: ProviderType, model: string | undefined, checkAvailability?: () => Promise<boolean>): Promise<ProviderProbeResult>;
|
|
3341
|
-
}
|
|
3342
|
-
declare function createProviderRegistry(): ProviderRegistry;
|
|
3343
|
-
|
|
3344
|
-
/**
|
|
3345
|
-
* Agent mode registry.
|
|
3346
|
-
*
|
|
3347
|
-
* Modes describe the intended control flow for a runtime turn without changing
|
|
3348
|
-
* the provider interface. CLI, headless, and embedders share this registry.
|
|
3349
|
-
*/
|
|
3350
|
-
type AgentModeId = "ask" | "plan" | "build" | "debug" | "review" | "architect";
|
|
3351
|
-
interface AgentModeDefinition {
|
|
3352
|
-
id: AgentModeId;
|
|
3353
|
-
label: string;
|
|
3354
|
-
description: string;
|
|
3355
|
-
readOnly: boolean;
|
|
3356
|
-
preferredTools: string[];
|
|
3357
|
-
requiresVerification: boolean;
|
|
3358
|
-
}
|
|
3359
|
-
declare const AGENT_MODES: Record<AgentModeId, AgentModeDefinition>;
|
|
3360
|
-
declare function getAgentMode(mode: AgentModeId): AgentModeDefinition;
|
|
3361
|
-
declare function listAgentModes(): AgentModeDefinition[];
|
|
3362
|
-
declare function isAgentMode(value: string): value is AgentModeId;
|
|
3363
|
-
|
|
3364
|
-
type ReasoningEffort = "auto" | "low" | "medium" | "high" | "max";
|
|
3365
|
-
type RuntimeMode = AgentModeId;
|
|
3366
|
-
interface AgentRuntimeOptions {
|
|
3367
|
-
providerType: ProviderType;
|
|
3368
|
-
model?: string;
|
|
3369
|
-
providerConfig?: ProviderConfig;
|
|
3370
|
-
provider?: LLMProvider;
|
|
3371
|
-
toolRegistry?: ToolRegistry;
|
|
3372
|
-
/** Legacy CLI session store passthrough. Runtime APIs use runtimeSessionStore. */
|
|
3373
|
-
sessionStore?: unknown;
|
|
3374
|
-
runtimeSessionStore?: RuntimeSessionStore;
|
|
3375
|
-
workflowEngine?: WorkflowEngine;
|
|
3376
|
-
permissionPolicy?: PermissionPolicy;
|
|
3377
|
-
eventLog?: EventLog;
|
|
3378
|
-
eventLogPath?: string;
|
|
3379
|
-
turnRunner?: RuntimeTurnRunner;
|
|
3380
|
-
/**
|
|
3381
|
-
* Publish provider/tools into Coco's legacy process-global subagent bridge.
|
|
3382
|
-
* CLI/headless use this for compatibility; embedders should leave it false.
|
|
3383
|
-
*/
|
|
3384
|
-
publishToGlobalBridge?: boolean;
|
|
3385
|
-
}
|
|
3386
|
-
interface AgentRuntimeSnapshot {
|
|
3387
|
-
provider: {
|
|
3388
|
-
type: ProviderType;
|
|
3389
|
-
model: string;
|
|
3390
|
-
capability: ProviderRuntimeCapability;
|
|
3391
|
-
};
|
|
3392
|
-
tools: {
|
|
3393
|
-
count: number;
|
|
3394
|
-
names: string[];
|
|
3395
|
-
};
|
|
3396
|
-
modes: AgentModeDefinition[];
|
|
3397
|
-
}
|
|
3398
|
-
type RuntimeEventType = "runtime.initialized" | "provider.attached" | "provider.created" | "provider.updated" | "turn.started" | "turn.completed" | "turn.cancelled" | "turn.failed" | "tool.started" | "tool.completed" | "tool.allowed" | "tool.blocked" | "tool.skipped" | "workflow.planned" | "workflow.started" | "workflow.completed" | "workflow.failed" | "session.created" | "session.updated" | "checkpoint.created" | "error";
|
|
3399
|
-
interface RuntimeEvent {
|
|
3400
|
-
id: string;
|
|
3401
|
-
type: RuntimeEventType;
|
|
3402
|
-
timestamp: string;
|
|
3403
|
-
data: Record<string, unknown>;
|
|
3404
|
-
}
|
|
3405
|
-
interface EventLog {
|
|
3406
|
-
record(type: RuntimeEventType, data?: Record<string, unknown>): RuntimeEvent;
|
|
3407
|
-
list(): RuntimeEvent[];
|
|
3408
|
-
count(): number;
|
|
3409
|
-
clear(): void;
|
|
3410
|
-
}
|
|
3411
|
-
interface PermissionDecision {
|
|
3412
|
-
allowed: boolean;
|
|
3413
|
-
reason?: string;
|
|
3414
|
-
requiresConfirmation?: boolean;
|
|
3415
|
-
risk: "read-only" | "write" | "network" | "destructive" | "secrets-sensitive";
|
|
3416
|
-
}
|
|
3417
|
-
interface PermissionPolicy {
|
|
3418
|
-
canExecuteTool(mode: RuntimeMode, tool: ToolDefinition): PermissionDecision;
|
|
3419
|
-
canExecuteToolInput?(mode: RuntimeMode, tool: ToolDefinition, input: Record<string, unknown>): PermissionDecision;
|
|
3420
|
-
}
|
|
3421
|
-
interface ProviderRuntimeSelection {
|
|
3422
|
-
provider: ProviderType;
|
|
3423
|
-
model: string;
|
|
3424
|
-
thinking?: ThinkingMode;
|
|
3425
|
-
}
|
|
3426
|
-
interface RuntimeSession {
|
|
3427
|
-
id: string;
|
|
3428
|
-
createdAt: string;
|
|
3429
|
-
updatedAt: string;
|
|
3430
|
-
mode: RuntimeMode;
|
|
3431
|
-
messages: Message[];
|
|
3432
|
-
instructions?: string;
|
|
3433
|
-
metadata: Record<string, unknown>;
|
|
3434
|
-
}
|
|
3435
|
-
interface RuntimeSessionCreateOptions {
|
|
3436
|
-
id?: string;
|
|
3437
|
-
mode?: RuntimeMode;
|
|
3438
|
-
instructions?: string;
|
|
3439
|
-
metadata?: Record<string, unknown>;
|
|
3440
|
-
messages?: Message[];
|
|
3441
|
-
}
|
|
3442
|
-
interface RuntimeSessionStore {
|
|
3443
|
-
create(options?: RuntimeSessionCreateOptions): RuntimeSession;
|
|
3444
|
-
get(id: string): RuntimeSession | undefined;
|
|
3445
|
-
update(session: RuntimeSession): RuntimeSession;
|
|
3446
|
-
list(): RuntimeSession[];
|
|
3447
|
-
delete(id: string): boolean;
|
|
3448
|
-
}
|
|
3449
|
-
interface RuntimeTurnInput {
|
|
3450
|
-
content: string;
|
|
3451
|
-
sessionId?: string;
|
|
3452
|
-
mode?: RuntimeMode;
|
|
3453
|
-
options?: ChatOptions;
|
|
3454
|
-
metadata?: Record<string, unknown>;
|
|
3455
|
-
}
|
|
3456
|
-
interface RuntimeTurnResult {
|
|
3457
|
-
sessionId: string;
|
|
3458
|
-
content: string;
|
|
3459
|
-
usage: {
|
|
3460
|
-
inputTokens: number;
|
|
3461
|
-
outputTokens: number;
|
|
3462
|
-
estimated?: boolean;
|
|
3463
|
-
};
|
|
3464
|
-
model: string;
|
|
3465
|
-
mode: RuntimeMode;
|
|
3466
|
-
}
|
|
3467
|
-
type RuntimeTurnStreamEvent = {
|
|
3468
|
-
type: "text";
|
|
3469
|
-
sessionId: string;
|
|
3470
|
-
text: string;
|
|
3471
|
-
} | {
|
|
3472
|
-
type: "done";
|
|
3473
|
-
sessionId: string;
|
|
3474
|
-
result: RuntimeTurnResult;
|
|
3475
|
-
} | {
|
|
3476
|
-
type: "error";
|
|
3477
|
-
sessionId: string;
|
|
3478
|
-
error: string;
|
|
3479
|
-
};
|
|
3480
|
-
interface RuntimeTurnContext {
|
|
3481
|
-
runtime: unknown;
|
|
3482
|
-
session: RuntimeSession;
|
|
3483
|
-
provider: LLMProvider;
|
|
3484
|
-
toolRegistry: ToolRegistry;
|
|
3485
|
-
permissionPolicy: PermissionPolicy;
|
|
3486
|
-
eventLog: EventLog;
|
|
3487
|
-
}
|
|
3488
|
-
interface RuntimeTurnRunner {
|
|
3489
|
-
run(input: RuntimeTurnInput, context: RuntimeTurnContext): Promise<RuntimeTurnResult>;
|
|
3490
|
-
}
|
|
3491
|
-
interface RuntimeToolExecutionInput {
|
|
3492
|
-
sessionId?: string;
|
|
3493
|
-
mode?: RuntimeMode;
|
|
3494
|
-
toolName: string;
|
|
3495
|
-
input: Record<string, unknown>;
|
|
3496
|
-
confirmed?: boolean;
|
|
3497
|
-
metadata?: Record<string, unknown>;
|
|
3498
|
-
}
|
|
3499
|
-
interface RuntimeToolExecutionResult {
|
|
3500
|
-
toolName: string;
|
|
3501
|
-
success: boolean;
|
|
3502
|
-
output?: unknown;
|
|
3503
|
-
error?: string;
|
|
3504
|
-
duration: number;
|
|
3505
|
-
decision: PermissionDecision;
|
|
3506
|
-
}
|
|
3507
|
-
|
|
3508
|
-
type WorkflowRisk = "read-only" | "write" | "network" | "destructive" | "secrets-sensitive";
|
|
3509
|
-
interface WorkflowStepDefinition {
|
|
3510
|
-
id: string;
|
|
3511
|
-
description: string;
|
|
3512
|
-
requiredTools: string[];
|
|
3513
|
-
risk: WorkflowRisk;
|
|
3514
|
-
}
|
|
3515
|
-
interface WorkflowDefinition {
|
|
3516
|
-
id: string;
|
|
3517
|
-
name: string;
|
|
3518
|
-
description: string;
|
|
3519
|
-
inputSchema: string;
|
|
3520
|
-
steps: WorkflowStepDefinition[];
|
|
3521
|
-
checks: string[];
|
|
3522
|
-
outputKind: "markdown" | "json" | "patch" | "pull-request" | "release";
|
|
3523
|
-
replayable: boolean;
|
|
3524
|
-
}
|
|
3525
|
-
interface WorkflowPlan {
|
|
3526
|
-
id: string;
|
|
3527
|
-
workflowId: string;
|
|
3528
|
-
input: Record<string, unknown>;
|
|
3529
|
-
status: "planned";
|
|
3530
|
-
createdAt: string;
|
|
3531
|
-
}
|
|
3532
|
-
/** Descriptive catalog of reusable workflow definitions; it does not execute workflows. */
|
|
3533
|
-
declare class WorkflowCatalog {
|
|
3534
|
-
private workflows;
|
|
3535
|
-
constructor(workflows?: WorkflowDefinition[]);
|
|
3536
|
-
register(workflow: WorkflowDefinition): void;
|
|
3537
|
-
get(id: string): WorkflowDefinition | undefined;
|
|
3538
|
-
list(): WorkflowDefinition[];
|
|
3539
|
-
createPlan(workflowId: string, input: Record<string, unknown>, eventLog?: EventLog): WorkflowPlan;
|
|
3540
|
-
}
|
|
3541
|
-
declare const DEFAULT_WORKFLOWS: WorkflowDefinition[];
|
|
3542
|
-
declare const WorkflowRegistry: typeof WorkflowCatalog;
|
|
3543
|
-
declare function createWorkflowCatalog(workflows?: WorkflowDefinition[]): WorkflowCatalog;
|
|
3544
|
-
declare function createWorkflowRegistry(workflows?: WorkflowDefinition[]): WorkflowCatalog;
|
|
3545
|
-
|
|
3546
|
-
type WorkflowRunStatus = "completed" | "failed";
|
|
3547
|
-
interface WorkflowRunInput {
|
|
3548
|
-
workflowId: string;
|
|
3549
|
-
input: Record<string, unknown>;
|
|
3550
|
-
plan?: WorkflowPlan;
|
|
3551
|
-
}
|
|
3552
|
-
interface WorkflowRunResult {
|
|
3553
|
-
id: string;
|
|
3554
|
-
workflowId: string;
|
|
3555
|
-
status: WorkflowRunStatus;
|
|
3556
|
-
output: unknown;
|
|
3557
|
-
startedAt: string;
|
|
3558
|
-
completedAt: string;
|
|
3559
|
-
error?: string;
|
|
3560
|
-
}
|
|
3561
|
-
interface WorkflowRunContext {
|
|
3562
|
-
workflow: WorkflowDefinition;
|
|
3563
|
-
plan: WorkflowPlan;
|
|
3564
|
-
eventLog: EventLog;
|
|
3565
|
-
}
|
|
3566
|
-
type WorkflowHandler = (input: Record<string, unknown>, context: WorkflowRunContext) => Promise<unknown>;
|
|
3567
|
-
declare class WorkflowEngine {
|
|
3568
|
-
private readonly catalog;
|
|
3569
|
-
private readonly eventLog;
|
|
3570
|
-
private handlers;
|
|
3571
|
-
constructor(catalog?: WorkflowCatalog, eventLog?: EventLog);
|
|
3572
|
-
registerHandler(workflowId: string, handler: WorkflowHandler): void;
|
|
3573
|
-
createPlan(workflowId: string, input: Record<string, unknown>): WorkflowPlan;
|
|
3574
|
-
run(request: WorkflowRunInput): Promise<WorkflowRunResult>;
|
|
3575
|
-
}
|
|
3576
|
-
declare function createWorkflowEngine(catalog?: WorkflowCatalog, eventLog?: EventLog): WorkflowEngine;
|
|
3577
|
-
|
|
3578
|
-
/**
|
|
3579
|
-
* Reusable runtime facade for wiring providers, tools, permissions, sessions,
|
|
3580
|
-
* and observability. It does not own the CLI loop; CLI/headless are adapters on
|
|
3581
|
-
* top of this boundary.
|
|
3582
|
-
*/
|
|
3583
|
-
declare class AgentRuntime {
|
|
3584
|
-
private readonly options;
|
|
3585
|
-
readonly providerRegistry: ProviderRegistry;
|
|
3586
|
-
readonly toolRegistry: ToolRegistry;
|
|
3587
|
-
readonly sessionStore: unknown;
|
|
3588
|
-
readonly runtimeSessionStore: RuntimeSessionStore;
|
|
3589
|
-
readonly workflowEngine: WorkflowEngine;
|
|
3590
|
-
readonly permissionPolicy: PermissionPolicy;
|
|
3591
|
-
readonly eventLog: EventLog;
|
|
3592
|
-
readonly turnRunner: RuntimeTurnRunner;
|
|
3593
|
-
private providerType;
|
|
3594
|
-
private model;
|
|
3595
|
-
private provider?;
|
|
3596
|
-
constructor(options: AgentRuntimeOptions);
|
|
3597
|
-
initialize(): Promise<void>;
|
|
3598
|
-
getModel(): string;
|
|
3599
|
-
updateProvider(providerType: ProviderType, model: string | undefined, provider: LLMProvider): void;
|
|
3600
|
-
private publishToGlobalBridge;
|
|
3601
|
-
snapshot(): AgentRuntimeSnapshot;
|
|
3602
|
-
createSession(options?: RuntimeSessionCreateOptions): RuntimeSession;
|
|
3603
|
-
getSession(sessionId: string): RuntimeSession | undefined;
|
|
3604
|
-
listSessions(): RuntimeSession[];
|
|
3605
|
-
runTurn(input: RuntimeTurnInput): Promise<RuntimeTurnResult>;
|
|
3606
|
-
streamTurn(input: RuntimeTurnInput): AsyncIterable<RuntimeTurnStreamEvent>;
|
|
3607
|
-
executeTool(input: RuntimeToolExecutionInput): Promise<RuntimeToolExecutionResult>;
|
|
3608
|
-
assertToolAllowed(mode: RuntimeMode, toolName: string, input?: Record<string, unknown>): boolean;
|
|
3609
|
-
}
|
|
3610
|
-
declare function createAgentRuntime(options: AgentRuntimeOptions): Promise<AgentRuntime>;
|
|
3611
|
-
|
|
3612
|
-
declare class DefaultRuntimeTurnRunner implements RuntimeTurnRunner {
|
|
3613
|
-
run(input: RuntimeTurnInput, context: RuntimeTurnContext): Promise<RuntimeTurnResult>;
|
|
3614
|
-
}
|
|
3615
|
-
declare function createDefaultRuntimeTurnRunner(): RuntimeTurnRunner;
|
|
3616
|
-
|
|
3617
|
-
declare class InMemoryEventLog implements EventLog {
|
|
3618
|
-
private events;
|
|
3619
|
-
record(type: RuntimeEventType, data?: Record<string, unknown>): RuntimeEvent;
|
|
3620
|
-
list(): RuntimeEvent[];
|
|
3621
|
-
count(): number;
|
|
3622
|
-
clear(): void;
|
|
3623
|
-
}
|
|
3624
|
-
declare class FileEventLog implements EventLog {
|
|
3625
|
-
private readonly filePath;
|
|
3626
|
-
private memory;
|
|
3627
|
-
private writable;
|
|
3628
|
-
constructor(filePath: string);
|
|
3629
|
-
record(type: RuntimeEventType, data?: Record<string, unknown>): RuntimeEvent;
|
|
3630
|
-
list(): RuntimeEvent[];
|
|
3631
|
-
count(): number;
|
|
3632
|
-
clear(): void;
|
|
3633
|
-
}
|
|
3634
|
-
declare function createEventLog(): EventLog;
|
|
3635
|
-
declare function createFileEventLog(filePath: string): EventLog;
|
|
3636
|
-
|
|
3637
|
-
interface RuntimeHttpServerOptions {
|
|
3638
|
-
maxBodyBytes?: number;
|
|
3639
|
-
}
|
|
3640
|
-
declare function createRuntimeHttpServer(runtime: AgentRuntime, options?: RuntimeHttpServerOptions): Server;
|
|
3641
|
-
|
|
3642
|
-
declare class DefaultPermissionPolicy implements PermissionPolicy {
|
|
3643
|
-
canExecuteTool(mode: RuntimeMode, tool: ToolDefinition): PermissionDecision;
|
|
3644
|
-
canExecuteToolInput(mode: RuntimeMode, tool: ToolDefinition, input: Record<string, unknown>): PermissionDecision;
|
|
3645
|
-
}
|
|
3646
|
-
declare function createPermissionPolicy(): PermissionPolicy;
|
|
3647
|
-
|
|
3648
|
-
declare class InMemoryRuntimeSessionStore implements RuntimeSessionStore {
|
|
3649
|
-
private sessions;
|
|
3650
|
-
create(options?: RuntimeSessionCreateOptions): RuntimeSession;
|
|
3651
|
-
get(id: string): RuntimeSession | undefined;
|
|
3652
|
-
update(session: RuntimeSession): RuntimeSession;
|
|
3653
|
-
list(): RuntimeSession[];
|
|
3654
|
-
delete(id: string): boolean;
|
|
3655
|
-
}
|
|
3656
|
-
declare class FileRuntimeSessionStore implements RuntimeSessionStore {
|
|
3657
|
-
private readonly filePath;
|
|
3658
|
-
private sessions;
|
|
3659
|
-
constructor(filePath: string);
|
|
3660
|
-
create(options?: RuntimeSessionCreateOptions): RuntimeSession;
|
|
3661
|
-
get(id: string): RuntimeSession | undefined;
|
|
3662
|
-
update(session: RuntimeSession): RuntimeSession;
|
|
3663
|
-
list(): RuntimeSession[];
|
|
3664
|
-
delete(id: string): boolean;
|
|
3665
|
-
private readSessionsFromDisk;
|
|
3666
|
-
private persist;
|
|
3667
|
-
}
|
|
3668
|
-
declare function createRuntimeSessionStore(): RuntimeSessionStore;
|
|
3669
|
-
declare function createFileRuntimeSessionStore(filePath: string): RuntimeSessionStore;
|
|
3670
|
-
|
|
3671
|
-
type ExtensionRisk = "read-only" | "write" | "network" | "destructive" | "secrets-sensitive";
|
|
3672
|
-
type AgentSurface = "coco" | "claude" | "codex" | "gemini" | "opencode";
|
|
3673
|
-
interface SkillManifest {
|
|
3674
|
-
name: string;
|
|
3675
|
-
description: string;
|
|
3676
|
-
triggers: string[];
|
|
3677
|
-
requiredTools: string[];
|
|
3678
|
-
risk: ExtensionRisk;
|
|
3679
|
-
compatibleAgents: AgentSurface[];
|
|
3680
|
-
sourcePath?: string;
|
|
3681
|
-
}
|
|
3682
|
-
interface RecipeStep {
|
|
3683
|
-
id: string;
|
|
3684
|
-
description: string;
|
|
3685
|
-
requiredTools?: string[];
|
|
3686
|
-
check?: string;
|
|
3687
|
-
}
|
|
3688
|
-
interface RecipeManifest {
|
|
3689
|
-
name: string;
|
|
3690
|
-
description: string;
|
|
3691
|
-
inputs: string[];
|
|
3692
|
-
suggestedModels?: string[];
|
|
3693
|
-
steps: RecipeStep[];
|
|
3694
|
-
checks: string[];
|
|
3695
|
-
risk: ExtensionRisk;
|
|
3696
|
-
}
|
|
3697
|
-
interface McpToolPolicy {
|
|
3698
|
-
server: string;
|
|
3699
|
-
tool: string;
|
|
3700
|
-
risk: ExtensionRisk;
|
|
3701
|
-
requiresConfirmation: boolean;
|
|
3702
|
-
allowedModes: string[];
|
|
3703
|
-
}
|
|
3704
|
-
declare function createMcpToolPolicy(server: string, tool: string, risk: ExtensionRisk, allowedModes?: string[]): McpToolPolicy;
|
|
3705
|
-
|
|
3706
|
-
/**
|
|
3707
|
-
* Tool exports for Corbat-Coco
|
|
3708
|
-
*/
|
|
3709
|
-
|
|
3710
|
-
declare function registerAllTools(registry: ToolRegistry): void;
|
|
3711
|
-
/**
|
|
3712
|
-
* Create a registry with all tools registered
|
|
3713
|
-
*/
|
|
3714
|
-
declare function createFullToolRegistry(): ToolRegistry;
|
|
3715
|
-
|
|
3716
2828
|
/**
|
|
3717
2829
|
* Logging system for Corbat-Coco
|
|
3718
2830
|
* Based on tslog with structured output
|
|
@@ -3750,4 +2862,4 @@ interface SystemProxyConfig {
|
|
|
3750
2862
|
*/
|
|
3751
2863
|
declare function installProxyDispatcher(resolveSystem?: () => SystemProxyConfig | null): string | null;
|
|
3752
2864
|
|
|
3753
|
-
export { ADRGenerator,
|
|
2865
|
+
export { ADRGenerator, AnthropicProvider, ArchitectureGenerator, type Backlog, BacklogGenerator, CICDGenerator, ChatOptions, ChatResponse$1 as ChatResponse, type CocoConfig, CocoError, CodeGenerator, CodeReviewer, CompleteExecutor, ConfigError, ConvergeExecutor, DiscoveryEngine, DockerGenerator, DocsGenerator, type Epic, LLMProvider, Message$1 as Message, OrchestrateExecutor, type Orchestrator, type OrchestratorConfig, OutputExecutor, type Phase, type PhaseContext, PhaseError, type PhaseExecutor, type PhaseResult, type Progress, type ProjectState, QualityDimensions, QualityScores, SessionManager, SpecificationGenerator, type Sprint, type Story, type Task, TaskError, type TaskHistory, TaskIterator, type TaskVersion, VERSION, configExists, createADRGenerator, createAnthropicProvider, createArchitectureGenerator, createBacklogGenerator, createCICDGenerator, createCodeGenerator, createCodeReviewer, createCompleteExecutor, createConvergeExecutor, createDefaultConfig, createDiscoveryEngine, createDockerGenerator, createDocsGenerator, createLogger, createOrchestrateExecutor, createOrchestrator, createOutputExecutor, createSessionManager, createSpecificationGenerator, createTaskIterator, installProxyDispatcher, loadConfig, saveConfig };
|