@mcoda/codali 0.1.108 → 0.1.110
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/dist/agents/AgentInventory.d.ts +56 -0
- package/dist/agents/AgentInventory.d.ts.map +1 -0
- package/dist/agents/AgentInventory.js +131 -0
- package/dist/agents/RoleResolution.d.ts +49 -0
- package/dist/agents/RoleResolution.d.ts.map +1 -0
- package/dist/agents/RoleResolution.js +166 -0
- package/dist/api/ChatCompletionsAdapter.d.ts +76 -0
- package/dist/api/ChatCompletionsAdapter.d.ts.map +1 -0
- package/dist/api/ChatCompletionsAdapter.js +54 -0
- package/dist/api/CodaliApi.d.ts +78 -0
- package/dist/api/CodaliApi.d.ts.map +1 -0
- package/dist/api/CodaliApi.js +273 -0
- package/dist/api/CodaliServer.d.ts +42 -0
- package/dist/api/CodaliServer.d.ts.map +1 -0
- package/dist/api/CodaliServer.js +118 -0
- package/dist/cli/AskCommand.d.ts +66 -0
- package/dist/cli/AskCommand.d.ts.map +1 -0
- package/dist/cli/AskCommand.js +536 -0
- package/dist/cli/AuthCommand.d.ts +19 -0
- package/dist/cli/AuthCommand.d.ts.map +1 -0
- package/dist/cli/AuthCommand.js +161 -0
- package/dist/cli/ServeCommand.d.ts +5 -0
- package/dist/cli/ServeCommand.d.ts.map +1 -0
- package/dist/cli/ServeCommand.js +87 -0
- package/dist/cli/ToolsCommand.d.ts +22 -0
- package/dist/cli/ToolsCommand.d.ts.map +1 -0
- package/dist/cli/ToolsCommand.js +208 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +29 -1
- package/dist/connectors/http/HttpToolDefinition.d.ts +74 -0
- package/dist/connectors/http/HttpToolDefinition.d.ts.map +1 -0
- package/dist/connectors/http/HttpToolDefinition.js +190 -0
- package/dist/connectors/http/HttpToolSource.d.ts +18 -0
- package/dist/connectors/http/HttpToolSource.d.ts.map +1 -0
- package/dist/connectors/http/HttpToolSource.js +29 -0
- package/dist/connectors/mcp/McpClient.d.ts +132 -0
- package/dist/connectors/mcp/McpClient.d.ts.map +1 -0
- package/dist/connectors/mcp/McpClient.js +215 -0
- package/dist/connectors/mcp/McpServerRegistry.d.ts +75 -0
- package/dist/connectors/mcp/McpServerRegistry.d.ts.map +1 -0
- package/dist/connectors/mcp/McpServerRegistry.js +180 -0
- package/dist/connectors/mcp/McpToolAdapter.d.ts +48 -0
- package/dist/connectors/mcp/McpToolAdapter.d.ts.map +1 -0
- package/dist/connectors/mcp/McpToolAdapter.js +101 -0
- package/dist/connectors/mcp/McpToolSource.d.ts +27 -0
- package/dist/connectors/mcp/McpToolSource.d.ts.map +1 -0
- package/dist/connectors/mcp/McpToolSource.js +33 -0
- package/dist/connectors/media/ImageGenerationTool.d.ts +43 -0
- package/dist/connectors/media/ImageGenerationTool.d.ts.map +1 -0
- package/dist/connectors/media/ImageGenerationTool.js +122 -0
- package/dist/connectors/oauth/DeviceCodeAuth.d.ts +74 -0
- package/dist/connectors/oauth/DeviceCodeAuth.d.ts.map +1 -0
- package/dist/connectors/oauth/DeviceCodeAuth.js +153 -0
- package/dist/docdex/DocdexClient.d.ts +2 -0
- package/dist/docdex/DocdexClient.d.ts.map +1 -1
- package/dist/docdex/DocdexClient.js +4 -0
- package/dist/gateway/CodaliGateway.d.ts +51 -3
- package/dist/gateway/CodaliGateway.d.ts.map +1 -1
- package/dist/gateway/CodaliGateway.js +241 -3
- package/dist/gateway/CodaliGatewayTypes.d.ts +34 -0
- package/dist/gateway/CodaliGatewayTypes.d.ts.map +1 -1
- package/dist/gateway/EvidenceNormalizer.d.ts.map +1 -1
- package/dist/gateway/EvidenceNormalizer.js +98 -1
- package/dist/gateway/Finalizer.d.ts +50 -0
- package/dist/gateway/Finalizer.d.ts.map +1 -0
- package/dist/gateway/Finalizer.js +79 -0
- package/dist/gateway/GatewayPlanner.d.ts +13 -0
- package/dist/gateway/GatewayPlanner.d.ts.map +1 -1
- package/dist/gateway/GatewayPlanner.js +81 -16
- package/dist/gateway/GatewayStateMachine.d.ts.map +1 -1
- package/dist/gateway/GatewayStateMachine.js +6 -0
- package/dist/gateway/GatewayTracer.d.ts +93 -0
- package/dist/gateway/GatewayTracer.d.ts.map +1 -0
- package/dist/gateway/GatewayTracer.js +214 -0
- package/dist/gateway/LocalGatewayProvider.d.ts +59 -0
- package/dist/gateway/LocalGatewayProvider.d.ts.map +1 -0
- package/dist/gateway/LocalGatewayProvider.js +195 -0
- package/dist/gateway/LocalGatewayTaskRunner.d.ts +79 -0
- package/dist/gateway/LocalGatewayTaskRunner.d.ts.map +1 -0
- package/dist/gateway/LocalGatewayTaskRunner.js +361 -0
- package/dist/gateway/RelevanceJudge.d.ts +25 -0
- package/dist/gateway/RelevanceJudge.d.ts.map +1 -0
- package/dist/gateway/RelevanceJudge.js +124 -0
- package/dist/gateway/ResponseSchema.d.ts +32 -0
- package/dist/gateway/ResponseSchema.d.ts.map +1 -0
- package/dist/gateway/ResponseSchema.js +120 -0
- package/dist/gateway/TemporalContext.d.ts +36 -0
- package/dist/gateway/TemporalContext.d.ts.map +1 -0
- package/dist/gateway/TemporalContext.js +115 -0
- package/dist/gateway/ToolCapabilityCompiler.d.ts +5 -0
- package/dist/gateway/ToolCapabilityCompiler.d.ts.map +1 -1
- package/dist/gateway/ToolCapabilityCompiler.js +27 -2
- package/dist/gateway/ToolDescriptorSource.d.ts +6 -0
- package/dist/gateway/ToolDescriptorSource.d.ts.map +1 -0
- package/dist/gateway/ToolDescriptorSource.js +30 -0
- package/dist/gateway/ToolExposure.d.ts +36 -0
- package/dist/gateway/ToolExposure.d.ts.map +1 -0
- package/dist/gateway/ToolExposure.js +154 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -0
- package/dist/providers/ClaudeCliProvider.d.ts +2 -0
- package/dist/providers/ClaudeCliProvider.d.ts.map +1 -1
- package/dist/providers/ClaudeCliProvider.js +2 -0
- package/dist/providers/CodexCliProvider.d.ts +2 -0
- package/dist/providers/CodexCliProvider.d.ts.map +1 -1
- package/dist/providers/CodexCliProvider.js +2 -0
- package/dist/providers/MswarmWorkerProvider.d.ts +2 -0
- package/dist/providers/MswarmWorkerProvider.d.ts.map +1 -1
- package/dist/providers/MswarmWorkerProvider.js +2 -0
- package/dist/providers/OllamaRemoteProvider.d.ts +2 -0
- package/dist/providers/OllamaRemoteProvider.d.ts.map +1 -1
- package/dist/providers/OllamaRemoteProvider.js +2 -0
- package/dist/providers/OpenAiCompatibleProvider.d.ts +2 -0
- package/dist/providers/OpenAiCompatibleProvider.d.ts.map +1 -1
- package/dist/providers/OpenAiCompatibleProvider.js +2 -0
- package/dist/providers/ProviderTypes.d.ts +13 -0
- package/dist/providers/ProviderTypes.d.ts.map +1 -1
- package/dist/providers/ProviderTypes.js +1 -1
- package/dist/runcontext/CredentialFile.d.ts +12 -0
- package/dist/runcontext/CredentialFile.d.ts.map +1 -0
- package/dist/runcontext/CredentialFile.js +81 -0
- package/dist/runcontext/RunContextResolver.d.ts +126 -0
- package/dist/runcontext/RunContextResolver.d.ts.map +1 -0
- package/dist/runcontext/RunContextResolver.js +389 -0
- package/dist/storage/CodaliDatasetPrivacyEngine.d.ts +1 -1
- package/dist/storage/CodaliDatasetPrivacyEngine.d.ts.map +1 -1
- package/dist/storage/CodaliDatasetPrivacyEngine.js +12 -0
- package/dist/tools/ToolRegistry.d.ts +14 -1
- package/dist/tools/ToolRegistry.d.ts.map +1 -1
- package/dist/tools/ToolRegistry.js +38 -1
- package/dist/tools/ToolTypes.d.ts +35 -0
- package/dist/tools/ToolTypes.d.ts.map +1 -1
- package/dist/tools/ToolTypes.js +21 -0
- package/dist/tools/TruncateResult.d.ts +29 -0
- package/dist/tools/TruncateResult.d.ts.map +1 -0
- package/dist/tools/TruncateResult.js +91 -0
- package/dist/tools/diff/DiffTool.d.ts.map +1 -1
- package/dist/tools/diff/DiffTool.js +2 -0
- package/dist/tools/docdex/DocdexTools.d.ts +21 -1
- package/dist/tools/docdex/DocdexTools.d.ts.map +1 -1
- package/dist/tools/docdex/DocdexTools.js +151 -17
- package/dist/tools/filesystem/FileTools.d.ts.map +1 -1
- package/dist/tools/filesystem/FileTools.js +8 -0
- package/dist/tools/search/SearchTool.d.ts.map +1 -1
- package/dist/tools/search/SearchTool.js +3 -1
- package/dist/tools/shell/ShellTool.d.ts.map +1 -1
- package/dist/tools/shell/ShellTool.js +2 -0
- package/package.json +4 -3
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OAuth 2.0 device authorization grant (RFC 8628).
|
|
3
|
+
*
|
|
4
|
+
* The right flow for a CLI. Authorization-code needs a redirect URI and a local
|
|
5
|
+
* web server; client-credentials gets app-only permissions, which for
|
|
6
|
+
* "summarize *my* mail" would mean reading the entire tenant — both overreach
|
|
7
|
+
* and a different consent conversation.
|
|
8
|
+
*
|
|
9
|
+
* Device code needs neither: the user is shown a short code, approves in a
|
|
10
|
+
* browser on any device, and we receive an access token plus a refresh token.
|
|
11
|
+
* The refresh token is what gets stored; access tokens live about an hour and
|
|
12
|
+
* are minted on demand.
|
|
13
|
+
*/
|
|
14
|
+
export class DeviceCodeError extends Error {
|
|
15
|
+
constructor(code, description) {
|
|
16
|
+
super(description ? `${code}: ${description}` : code);
|
|
17
|
+
this.name = "DeviceCodeError";
|
|
18
|
+
this.code = code;
|
|
19
|
+
this.description = description;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const isRecord = (value) => Boolean(value && typeof value === "object" && !Array.isArray(value));
|
|
23
|
+
const form = (values) => new URLSearchParams(values).toString();
|
|
24
|
+
export const startDeviceCode = async (config, fetchImpl = fetch) => {
|
|
25
|
+
const response = await fetchImpl(config.deviceCodeUrl, {
|
|
26
|
+
method: "POST",
|
|
27
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
28
|
+
body: form({ client_id: config.clientId, scope: config.scope }),
|
|
29
|
+
});
|
|
30
|
+
const payload = await response.json();
|
|
31
|
+
if (!isRecord(payload) || typeof payload.device_code !== "string") {
|
|
32
|
+
const code = isRecord(payload) && typeof payload.error === "string"
|
|
33
|
+
? payload.error
|
|
34
|
+
: "device_code_failed";
|
|
35
|
+
const description = isRecord(payload) && typeof payload.error_description === "string"
|
|
36
|
+
? payload.error_description
|
|
37
|
+
: undefined;
|
|
38
|
+
throw new DeviceCodeError(code, description);
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
deviceCode: payload.device_code,
|
|
42
|
+
userCode: String(payload.user_code ?? ""),
|
|
43
|
+
verificationUri: String(payload.verification_uri ?? payload.verification_url ?? ""),
|
|
44
|
+
expiresInSeconds: Number(payload.expires_in ?? 900),
|
|
45
|
+
// The spec's default is 5s. Polling faster earns `slow_down`.
|
|
46
|
+
intervalSeconds: Number(payload.interval ?? 5),
|
|
47
|
+
message: typeof payload.message === "string" ? payload.message : undefined,
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
const parseTokens = (payload) => ({
|
|
51
|
+
accessToken: String(payload.access_token),
|
|
52
|
+
refreshToken: typeof payload.refresh_token === "string" ? payload.refresh_token : undefined,
|
|
53
|
+
expiresInSeconds: Number(payload.expires_in ?? 3600),
|
|
54
|
+
scope: typeof payload.scope === "string" ? payload.scope : undefined,
|
|
55
|
+
tokenType: String(payload.token_type ?? "Bearer"),
|
|
56
|
+
});
|
|
57
|
+
/**
|
|
58
|
+
* Polls until the user approves, declines, or the code expires.
|
|
59
|
+
*
|
|
60
|
+
* `authorization_pending` is the normal state and must not be treated as an
|
|
61
|
+
* error; `slow_down` requires backing off, and ignoring it gets the request
|
|
62
|
+
* throttled.
|
|
63
|
+
*/
|
|
64
|
+
export const pollForDeviceCodeTokens = async (config, start, fetchImpl = fetch, options = {}) => {
|
|
65
|
+
const now = options.now ?? (() => Date.now());
|
|
66
|
+
const sleep = options.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
67
|
+
const deadline = now() + start.expiresInSeconds * 1000;
|
|
68
|
+
let intervalMs = start.intervalSeconds * 1000;
|
|
69
|
+
while (now() < deadline) {
|
|
70
|
+
await sleep(intervalMs);
|
|
71
|
+
const response = await fetchImpl(config.tokenUrl, {
|
|
72
|
+
method: "POST",
|
|
73
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
74
|
+
body: form({
|
|
75
|
+
grant_type: "urn:ietf:params:oauth:grant-type:device_code",
|
|
76
|
+
client_id: config.clientId,
|
|
77
|
+
device_code: start.deviceCode,
|
|
78
|
+
}),
|
|
79
|
+
});
|
|
80
|
+
const payload = await response.json();
|
|
81
|
+
if (!isRecord(payload)) {
|
|
82
|
+
throw new DeviceCodeError("invalid_token_response");
|
|
83
|
+
}
|
|
84
|
+
if (typeof payload.access_token === "string") {
|
|
85
|
+
return parseTokens(payload);
|
|
86
|
+
}
|
|
87
|
+
const error = typeof payload.error === "string" ? payload.error : "unknown_error";
|
|
88
|
+
const description = typeof payload.error_description === "string" ? payload.error_description : undefined;
|
|
89
|
+
if (error === "authorization_pending") {
|
|
90
|
+
options.onPending?.(Math.max(0, Math.round((deadline - now()) / 1000)));
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
if (error === "slow_down") {
|
|
94
|
+
intervalMs += 5000;
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
// authorization_declined, expired_token, bad_verification_code, or a
|
|
98
|
+
// consent/permission failure — all terminal.
|
|
99
|
+
throw new DeviceCodeError(error, description);
|
|
100
|
+
}
|
|
101
|
+
throw new DeviceCodeError("expired_token", "The device code expired before approval.");
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Exchanges a stored refresh token for a fresh access token.
|
|
105
|
+
*
|
|
106
|
+
* Microsoft rotates refresh tokens, so the response may carry a new one; a
|
|
107
|
+
* caller that ignores it will find its stored token dead after the old one's
|
|
108
|
+
* sliding window closes.
|
|
109
|
+
*/
|
|
110
|
+
export const refreshAccessToken = async (config, refreshToken, fetchImpl = fetch) => {
|
|
111
|
+
const response = await fetchImpl(config.tokenUrl, {
|
|
112
|
+
method: "POST",
|
|
113
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
114
|
+
body: form({
|
|
115
|
+
grant_type: "refresh_token",
|
|
116
|
+
client_id: config.clientId,
|
|
117
|
+
refresh_token: refreshToken,
|
|
118
|
+
scope: config.scope,
|
|
119
|
+
}),
|
|
120
|
+
});
|
|
121
|
+
const payload = await response.json();
|
|
122
|
+
if (!isRecord(payload) || typeof payload.access_token !== "string") {
|
|
123
|
+
const code = isRecord(payload) && typeof payload.error === "string"
|
|
124
|
+
? payload.error
|
|
125
|
+
: "refresh_failed";
|
|
126
|
+
const description = isRecord(payload) && typeof payload.error_description === "string"
|
|
127
|
+
? payload.error_description
|
|
128
|
+
: undefined;
|
|
129
|
+
throw new DeviceCodeError(code, description);
|
|
130
|
+
}
|
|
131
|
+
return parseTokens(payload);
|
|
132
|
+
};
|
|
133
|
+
/** Microsoft identity platform endpoints for a tenant. */
|
|
134
|
+
export const microsoftEndpoints = (tenantId) => ({
|
|
135
|
+
deviceCodeUrl: `https://login.microsoftonline.com/${tenantId}/oauth2/v2.0/devicecode`,
|
|
136
|
+
tokenUrl: `https://login.microsoftonline.com/${tenantId}/oauth2/v2.0/token`,
|
|
137
|
+
});
|
|
138
|
+
/**
|
|
139
|
+
* Delegated Graph scopes Codali asks for, matching what okacam's
|
|
140
|
+
* `microsoft-integration-service` already requests. `offline_access` is what
|
|
141
|
+
* yields a refresh token — without it the grant is good for one hour and then
|
|
142
|
+
* gone.
|
|
143
|
+
*/
|
|
144
|
+
export const MICROSOFT_GRAPH_SCOPES = [
|
|
145
|
+
"offline_access",
|
|
146
|
+
"https://graph.microsoft.com/User.Read",
|
|
147
|
+
"https://graph.microsoft.com/User.ReadBasic.All",
|
|
148
|
+
"https://graph.microsoft.com/Mail.Read",
|
|
149
|
+
"https://graph.microsoft.com/Chat.Read",
|
|
150
|
+
"https://graph.microsoft.com/Calendars.Read",
|
|
151
|
+
"https://graph.microsoft.com/Contacts.Read",
|
|
152
|
+
"https://graph.microsoft.com/People.Read",
|
|
153
|
+
].join(" ");
|
|
@@ -30,6 +30,8 @@ export declare class DocdexRuntimeError extends Error {
|
|
|
30
30
|
export interface DocdexSearchOptions {
|
|
31
31
|
limit?: number;
|
|
32
32
|
dagSessionId?: string;
|
|
33
|
+
/** Skip the local index and go straight to web discovery. */
|
|
34
|
+
forceWeb?: boolean;
|
|
33
35
|
}
|
|
34
36
|
export interface DocdexSnippetOptions {
|
|
35
37
|
window?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocdexClient.d.ts","sourceRoot":"","sources":["../../src/docdex/DocdexClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,wBAAwB,EAEzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,yBAAyB,GAAG,MAAM,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;IACnD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,sBAAsB,GAC9B,qBAAqB,GACrB,oBAAoB,GACpB,cAAc,GACd,8BAA8B,GAC9B,wBAAwB,GACxB,wBAAwB,GACxB,8BAA8B,GAC9B,oBAAoB,GACpB,2BAA2B,GAC3B,oBAAoB,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,MAAM,GACN,SAAS,GACT,KAAK,GACL,cAAc,GACd,oBAAoB,GACpB,YAAY,GACZ,MAAM,GACN,aAAa,GACb,eAAe,GACf,cAAc,GACd,eAAe,GACf,cAAc,GACd,cAAc,GACd,QAAQ,GACR,cAAc,GACd,cAAc,GACd,OAAO,GACP,OAAO,GACP,cAAc,GACd,eAAe,GACf,cAAc,GACd,UAAU,GACV,gBAAgB,CAAC;AAErB,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGzC,IAAI,EAAE,sBAAsB,EAC5B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,yBAA8B;CAS1C;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"DocdexClient.d.ts","sourceRoot":"","sources":["../../src/docdex/DocdexClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,wBAAwB,EAEzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,yBAAyB,GAAG,MAAM,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;IACnD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,sBAAsB,GAC9B,qBAAqB,GACrB,oBAAoB,GACpB,cAAc,GACd,8BAA8B,GAC9B,wBAAwB,GACxB,wBAAwB,GACxB,8BAA8B,GAC9B,oBAAoB,GACpB,2BAA2B,GAC3B,oBAAoB,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,MAAM,GACN,SAAS,GACT,KAAK,GACL,cAAc,GACd,oBAAoB,GACpB,YAAY,GACZ,MAAM,GACN,aAAa,GACb,eAAe,GACf,cAAc,GACd,eAAe,GACf,cAAc,GACd,cAAc,GACd,QAAQ,GACR,cAAc,GACd,cAAc,GACd,OAAO,GACP,OAAO,GACP,cAAc,GACd,eAAe,GACf,cAAc,GACd,UAAU,GACV,gBAAgB,CAAC;AAErB,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGzC,IAAI,EAAE,sBAAsB,EAC5B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,yBAA8B;CAS1C;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAuED,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,sBAElE,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,OAAO,MAAM,KACZ,sBAAsB,GAAG,SAyB3B,CAAC;AAwBF,qBAAa,YAAY;IAOX,OAAO,CAAC,OAAO;IAN3B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,kBAAkB,CAAC,CAA2B;gBAElC,OAAO,EAAE,mBAAmB;IAKhD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B,WAAW,IAAI,MAAM,GAAG,SAAS;IAIjC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIxC,eAAe,IAAI,MAAM,GAAG,SAAS;IAIrC,oBAAoB,IAAI,IAAI;IAI5B,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,oBAAoB;IAsC5B,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,+BAA+B;IAuBvC,OAAO,CAAC,4BAA4B;IAkBpC,OAAO,CAAC,YAAY;YAqBN,YAAY;IAoBpB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAkB/B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YAKpE,cAAc;YAiBd,qBAAqB;IAYnC,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,oBAAoB;IAsC5B,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,sBAAsB;YA8BhB,kBAAkB;IAKhC,OAAO,CAAC,sBAAsB;IAkBxB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAsF1E,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBhF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB9E,iBAAiB,CAAC,OAAO,GAAE,8BAAmC,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBjF,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAcpD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc3C,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAchD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAc5D,WAAW,CACf,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,OAAO,CAAC;IAuBb,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAsC9E,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAuC7E,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,0BAA0B;IAoClC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3D,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzB,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAO1E,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5D,IAAI,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAavD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,OAAO,CAAC;IAalF,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM9C,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,mBAAmB,GAC7B,OAAO,CAAC,OAAO,CAAC;IASnB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,OAAO,CAAC;YAgBtE,eAAe;IA4C7B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWxE,WAAW,CACf,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO,GACtD,OAAO,CAAC,OAAO,CAAC;IAgCb,eAAe,CAAC,YAAY,UAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAmC/E"}
|
|
@@ -505,6 +505,10 @@ export class DocdexClient {
|
|
|
505
505
|
params.set("limit", String(options.limit));
|
|
506
506
|
if (dagSessionId)
|
|
507
507
|
params.set("dag_session_id", dagSessionId);
|
|
508
|
+
if (options.forceWeb) {
|
|
509
|
+
params.set("force_web", "true");
|
|
510
|
+
params.set("skip_local_search", "true");
|
|
511
|
+
}
|
|
508
512
|
this.withRepoId(params);
|
|
509
513
|
return fetch(`${this.resolveBaseUrl()}/search?${params.toString()}`, {
|
|
510
514
|
headers: this.buildHeaders(dagSessionId),
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { Provider, ProviderMessage } from "../providers/ProviderTypes.js";
|
|
2
|
-
import { type AgentTierResolution } from "./AgentTierResolver.js";
|
|
2
|
+
import { type AgentTierResolution, type CodaliGatewayAgentAssignment } from "./AgentTierResolver.js";
|
|
3
3
|
import type { CodaliContextPack, CodaliGatewayClassifierOutput, CodaliGatewayPlannerOutput, CodaliGatewayRequest, CodaliGatewayResult } from "./CodaliGatewayTypes.js";
|
|
4
4
|
import { type GatewayPolicyCompilation } from "./GatewayPolicyCompiler.js";
|
|
5
|
-
import { CodaliGatewayPlanner, type CodaliGatewayPlanningResult, type CodaliGatewayPlannerOptions } from "./GatewayPlanner.js";
|
|
5
|
+
import { CodaliGatewayPlanner, type CodaliGatewayPlanningResult, type CodaliGatewayPlannerOptions, type CodaliGatewayPlannerToolDescriptor } from "./GatewayPlanner.js";
|
|
6
6
|
import { type CodaliGatewayRunTrace, type CodaliGatewayStore } from "./CodaliGatewayStore.js";
|
|
7
7
|
import { type CodaliGatewayReplayFixture, type CodaliGatewayReplayFixtureOptions, type CodaliGatewayTraceReadResult } from "./GatewayTraceReplay.js";
|
|
8
8
|
import { CodaliGatewayStateMachine, type CodaliGatewayStateMachineOptions, type CodaliGatewayWorkerExecutionResult, type CodaliGatewayWorkerTaskRunner } from "./GatewayStateMachine.js";
|
|
9
|
+
import { buildTemporalContext } from "./TemporalContext.js";
|
|
9
10
|
import { type GatewayDatasetGatewayCollectionOptions, type GatewayDatasetStore } from "../storage/GatewayDatasetStore.js";
|
|
10
11
|
export interface CodaliGatewayFinalSynthesizerOptions {
|
|
11
12
|
maxTokens?: number;
|
|
@@ -13,7 +14,19 @@ export interface CodaliGatewayFinalSynthesizerOptions {
|
|
|
13
14
|
retryAttempts?: number;
|
|
14
15
|
}
|
|
15
16
|
export interface CodaliGatewayOptions {
|
|
17
|
+
/** Used for final synthesis, and for planning when `plannerProvider` is unset. */
|
|
16
18
|
provider: Provider;
|
|
19
|
+
/**
|
|
20
|
+
* Model for the classifier and planner stages.
|
|
21
|
+
*
|
|
22
|
+
* These run on every question and only emit JSON, so they want a fast model.
|
|
23
|
+
* Final synthesis wants a strong one. Sharing a single provider forced both
|
|
24
|
+
* onto the same model: binding a small orchestrator changed only the worker,
|
|
25
|
+
* and planning still went to the large synthesizer — which on a slow local
|
|
26
|
+
* node meant every run paid the big model's latency twice before any tool
|
|
27
|
+
* was called.
|
|
28
|
+
*/
|
|
29
|
+
plannerProvider?: Provider;
|
|
17
30
|
store?: CodaliGatewayStore;
|
|
18
31
|
planner?: CodaliGatewayPlanner;
|
|
19
32
|
plannerOptions?: CodaliGatewayPlannerOptions;
|
|
@@ -22,12 +35,30 @@ export interface CodaliGatewayOptions {
|
|
|
22
35
|
workerOptions?: Omit<CodaliGatewayStateMachineOptions, "store" | "taskRunner">;
|
|
23
36
|
agentInventory?: unknown[];
|
|
24
37
|
agentResolution?: AgentTierResolution;
|
|
38
|
+
/**
|
|
39
|
+
* The agent actually serving final synthesis.
|
|
40
|
+
*
|
|
41
|
+
* Without it the gateway re-resolves `final_synthesizer` from the raw
|
|
42
|
+
* inventory and reports whatever that picks — which is not necessarily the
|
|
43
|
+
* model the caller bound and passed as `provider`. Traces then name a model
|
|
44
|
+
* that was never called.
|
|
45
|
+
*/
|
|
46
|
+
finalAgent?: CodaliGatewayAgentAssignment;
|
|
47
|
+
/**
|
|
48
|
+
* Model-facing tool descriptors, keyed by tool name. Derived from the
|
|
49
|
+
* caller's ToolRegistry rather than stored here, so the planner can never see
|
|
50
|
+
* a schema the executor would not honour. Without these the planner only
|
|
51
|
+
* sees bare tool names and cannot choose competently.
|
|
52
|
+
*/
|
|
53
|
+
toolDescriptors?: Record<string, CodaliGatewayPlannerToolDescriptor>;
|
|
25
54
|
finalSynthesizerOptions?: CodaliGatewayFinalSynthesizerOptions;
|
|
26
55
|
datasetStore?: GatewayDatasetStore;
|
|
27
56
|
datasetCollection?: GatewayDatasetGatewayCollectionOptions;
|
|
28
57
|
}
|
|
29
58
|
export interface CodaliGatewayPlanResult {
|
|
30
59
|
runId: string;
|
|
60
|
+
/** Absolute time range this run resolved from the query, if any. */
|
|
61
|
+
temporal?: ReturnType<typeof buildTemporalContext>;
|
|
31
62
|
policyCompilation: GatewayPolicyCompilation;
|
|
32
63
|
classifier: CodaliGatewayClassifierOutput;
|
|
33
64
|
planner: CodaliGatewayPlannerOutput;
|
|
@@ -60,11 +91,28 @@ export declare class CodaliGateway {
|
|
|
60
91
|
executeWorkerTasks(request: CodaliGatewayRequest): Promise<CodaliGatewayWorkerRunResult>;
|
|
61
92
|
run(request: CodaliGatewayRequest): Promise<CodaliGatewayResult>;
|
|
62
93
|
synthesizeFinalAnswer(input: CodaliGatewayFinalSynthesisInput): Promise<CodaliGatewayResult>;
|
|
63
|
-
|
|
94
|
+
/**
|
|
95
|
+
* Executes an already-computed plan. Public so a caller can interleave its
|
|
96
|
+
* own tracing between planning and execution without re-planning.
|
|
97
|
+
*/
|
|
98
|
+
executePlannedWorkerTasks(request: CodaliGatewayRequest, planning: CodaliGatewayPlanResult): Promise<CodaliGatewayWorkerRunResult>;
|
|
64
99
|
private collectDatasetResult;
|
|
65
100
|
private resolveFinalAgent;
|
|
66
101
|
private validateRequiredFinalLargeModel;
|
|
67
102
|
private buildFinalPolicyBlockedResult;
|
|
103
|
+
/**
|
|
104
|
+
* Builds a result that came out of the finalizer without a synthesizer
|
|
105
|
+
* failure — the deterministic and artifact modes, and the schema-unsatisfied
|
|
106
|
+
* partial. Kept in one place so every finished result carries the same
|
|
107
|
+
* fields regardless of which mode produced it.
|
|
108
|
+
*/
|
|
109
|
+
/**
|
|
110
|
+
* Returns the clarifying question instead of an answer. Carries the same
|
|
111
|
+
* result contract as any other outcome so a caller needs no special case
|
|
112
|
+
* beyond checking `status`.
|
|
113
|
+
*/
|
|
114
|
+
buildClarificationResult(request: CodaliGatewayRequest, planning: CodaliGatewayPlanResult, question: string): Promise<CodaliGatewayResult>;
|
|
115
|
+
private buildFinalizedResult;
|
|
68
116
|
private buildDegradedFinalResult;
|
|
69
117
|
private buildFailedFinalResult;
|
|
70
118
|
private updateRunPreservingMetadata;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodaliGateway.d.ts","sourceRoot":"","sources":["../../src/gateway/CodaliGateway.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EAIhB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"CodaliGateway.d.ts","sourceRoot":"","sources":["../../src/gateway/CodaliGateway.ts"],"names":[],"mappings":"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"}
|