opencode-qoder-bridge 0.1.8 → 0.1.10
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/CHANGELOG.md +70 -1
- package/README.md +112 -45
- package/bin/statusline.mjs +30 -6
- package/bin/usage.mjs +6 -5
- package/dist/async-utils.d.ts +8 -0
- package/dist/async-utils.d.ts.map +1 -0
- package/dist/async-utils.js +27 -0
- package/dist/async-utils.js.map +1 -0
- package/dist/auth.d.ts +2 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +26 -7
- package/dist/auth.js.map +1 -1
- package/dist/cost.d.ts +2 -1
- package/dist/cost.d.ts.map +1 -1
- package/dist/cost.js +163 -63
- package/dist/cost.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +5 -2
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +187 -41
- package/dist/index.js.map +1 -1
- package/dist/language-model.d.ts +25 -0
- package/dist/language-model.d.ts.map +1 -1
- package/dist/language-model.js +938 -183
- package/dist/language-model.js.map +1 -1
- package/dist/logger.d.ts +1 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +35 -5
- package/dist/logger.js.map +1 -1
- package/dist/mcp-bridge.d.ts.map +1 -1
- package/dist/mcp-bridge.js +71 -7
- package/dist/mcp-bridge.js.map +1 -1
- package/dist/models.d.ts +25 -6
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +444 -85
- package/dist/models.js.map +1 -1
- package/dist/prompt-builder.d.ts.map +1 -1
- package/dist/prompt-builder.js +241 -43
- package/dist/prompt-builder.js.map +1 -1
- package/dist/sdk-auth.d.ts +3 -3
- package/dist/sdk-auth.d.ts.map +1 -1
- package/dist/sdk-auth.js +13 -9
- package/dist/sdk-auth.js.map +1 -1
- package/dist/sdk-session.d.ts.map +1 -1
- package/dist/sdk-session.js +26 -2
- package/dist/sdk-session.js.map +1 -1
- package/dist/session-store.d.ts +14 -3
- package/dist/session-store.d.ts.map +1 -1
- package/dist/session-store.js +451 -46
- package/dist/session-store.js.map +1 -1
- package/dist/state-dir.d.ts.map +1 -1
- package/dist/state-dir.js +2 -1
- package/dist/state-dir.js.map +1 -1
- package/dist/tool-normalizer.d.ts.map +1 -1
- package/dist/tool-normalizer.js +11 -2
- package/dist/tool-normalizer.js.map +1 -1
- package/dist/tui-register.d.ts.map +1 -1
- package/dist/tui-register.js +88 -37
- package/dist/tui-register.js.map +1 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +42 -17
- package/dist/tui.js.map +1 -1
- package/dist/types.d.ts +16 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js +54 -29
- package/dist/usage.js.map +1 -1
- package/package.json +12 -4
package/dist/index.js
CHANGED
|
@@ -1,14 +1,48 @@
|
|
|
1
|
+
import { tool } from "@opencode-ai/plugin";
|
|
2
|
+
import { listSessions } from "@qoder-ai/qoder-agent-sdk";
|
|
1
3
|
import { FALLBACK_MODELS, fetchDynamicModels, getCachedDynamicModels, listModels } from "./models.js";
|
|
2
4
|
import { hasQoderCredential, QODER_PAT_ENV } from "./sdk-auth.js";
|
|
3
5
|
import { bridgeMcpServers } from "./mcp-bridge.js";
|
|
4
6
|
import { getLiveUsage, formatUsageReport } from "./usage.js";
|
|
5
7
|
import { summarize, formatCost } from "./cost.js";
|
|
6
8
|
import { ensureTuiRegistered } from "./tui-register.js";
|
|
7
|
-
import {
|
|
9
|
+
import { clearAllSessions, deleteQoderSessionForCwd } from "./session-store.js";
|
|
8
10
|
import { debug, describeError, isDebugEnabled, warn } from "./logger.js";
|
|
9
11
|
const PROVIDER_URL = new URL("./provider.js", import.meta.url).href;
|
|
10
12
|
const UNSAFE_KEYS = new Set(["__proto__", "prototype", "constructor"]);
|
|
11
|
-
|
|
13
|
+
const MODEL_STARTUP_DISCOVERY_TIMEOUT_MS = 10_000;
|
|
14
|
+
const CONTROL_CHARS = /[\u0000-\u001f\u007f-\u009f]/g;
|
|
15
|
+
function isRecord(value) {
|
|
16
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
17
|
+
}
|
|
18
|
+
function safeDisplay(value, fallback, maxLength = 512) {
|
|
19
|
+
if (typeof value !== "string" || !value)
|
|
20
|
+
return fallback;
|
|
21
|
+
const clean = value.replace(CONTROL_CHARS, " ").slice(0, maxLength);
|
|
22
|
+
return clean || fallback;
|
|
23
|
+
}
|
|
24
|
+
function discoveryEnvironment(value) {
|
|
25
|
+
const environment = { ...process.env };
|
|
26
|
+
if (!isRecord(value))
|
|
27
|
+
return environment;
|
|
28
|
+
for (const [key, item] of Object.entries(value)) {
|
|
29
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(key))
|
|
30
|
+
continue;
|
|
31
|
+
if (typeof item === "string" || item === undefined)
|
|
32
|
+
environment[key] = item;
|
|
33
|
+
}
|
|
34
|
+
return environment;
|
|
35
|
+
}
|
|
36
|
+
function discoveryOptions(options) {
|
|
37
|
+
const result = { timeoutMs: MODEL_STARTUP_DISCOVERY_TIMEOUT_MS };
|
|
38
|
+
if (typeof options.proxy === "string" && options.proxy.trim())
|
|
39
|
+
result.proxy = options.proxy;
|
|
40
|
+
if (typeof options.vpcEndpoint === "string" && options.vpcEndpoint.trim())
|
|
41
|
+
result.vpcEndpoint = options.vpcEndpoint;
|
|
42
|
+
if (typeof options.cwd === "string" && options.cwd.trim())
|
|
43
|
+
result.cwd = options.cwd;
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
12
46
|
function buildFallbackEntry(m) {
|
|
13
47
|
return {
|
|
14
48
|
name: m.name,
|
|
@@ -42,6 +76,14 @@ function buildDynamicEntry(m) {
|
|
|
42
76
|
};
|
|
43
77
|
}
|
|
44
78
|
const plugin = async (input) => {
|
|
79
|
+
const workspaceCwd = input && typeof input.directory === "string" && input.directory.trim()
|
|
80
|
+
? input.directory
|
|
81
|
+
: undefined;
|
|
82
|
+
let configuredSessionKey;
|
|
83
|
+
let configuredSessionId;
|
|
84
|
+
let configuredCwd = workspaceCwd ?? process.cwd();
|
|
85
|
+
let modelEnvironment = { ...process.env };
|
|
86
|
+
let modelOptions = { timeoutMs: MODEL_STARTUP_DISCOVERY_TIMEOUT_MS };
|
|
45
87
|
if (input) {
|
|
46
88
|
if (isDebugEnabled())
|
|
47
89
|
debug("Plugin initializing");
|
|
@@ -58,11 +100,26 @@ const plugin = async (input) => {
|
|
|
58
100
|
return {
|
|
59
101
|
async config(config) {
|
|
60
102
|
config.provider ??= {};
|
|
61
|
-
const existing = (config.provider.qoder
|
|
103
|
+
const existing = isRecord(config.provider.qoder) ? config.provider.qoder : {};
|
|
104
|
+
const existingOptions = isRecord(existing.options) ? existing.options : {};
|
|
105
|
+
const environment = discoveryEnvironment(existingOptions.env);
|
|
106
|
+
const discoveryConfig = discoveryOptions(existingOptions);
|
|
107
|
+
modelEnvironment = environment;
|
|
108
|
+
modelOptions = discoveryConfig;
|
|
109
|
+
// OpenCode snapshots provider models while this hook runs. Complete one
|
|
110
|
+
// bounded live discovery before returning so a fresh install exposes the
|
|
111
|
+
// current account catalog immediately; retain cache/fallback behavior if
|
|
112
|
+
// Qoder is offline, unauthenticated, or slower than the startup budget.
|
|
113
|
+
let dynamic = getCachedDynamicModels(environment, discoveryConfig);
|
|
114
|
+
try {
|
|
115
|
+
const refreshed = await fetchDynamicModels(true, environment, discoveryConfig);
|
|
116
|
+
if (refreshed)
|
|
117
|
+
dynamic = refreshed;
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
debug("Startup model discovery unavailable; using cached/fallback models:", describeError(error));
|
|
121
|
+
}
|
|
62
122
|
const builtinModels = {};
|
|
63
|
-
// Use cached/fallback models immediately. Refresh the catalog in the
|
|
64
|
-
// background so OpenCode startup never waits on network/auth discovery.
|
|
65
|
-
const dynamic = getCachedDynamicModels();
|
|
66
123
|
if (dynamic) {
|
|
67
124
|
for (const m of dynamic) {
|
|
68
125
|
if (!UNSAFE_KEYS.has(m.id))
|
|
@@ -75,16 +132,20 @@ const plugin = async (input) => {
|
|
|
75
132
|
if (!UNSAFE_KEYS.has(m.id) && !builtinModels[m.id])
|
|
76
133
|
builtinModels[m.id] = buildFallbackEntry(m);
|
|
77
134
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
});
|
|
81
|
-
const mergedModels = { ...builtinModels, ...(existing.models ?? {}) };
|
|
135
|
+
const existingModels = isRecord(existing.models) ? existing.models : {};
|
|
136
|
+
const mergedModels = { ...builtinModels, ...existingModels };
|
|
82
137
|
const bridgedMcp = bridgeMcpServers(config.mcp);
|
|
83
|
-
const mergedOptions = { ...
|
|
138
|
+
const mergedOptions = { ...existingOptions };
|
|
139
|
+
if (workspaceCwd && (typeof mergedOptions.cwd !== "string" || !mergedOptions.cwd.trim())) {
|
|
140
|
+
mergedOptions.cwd = workspaceCwd;
|
|
141
|
+
}
|
|
142
|
+
if (typeof mergedOptions.cwd === "string" && mergedOptions.cwd.trim())
|
|
143
|
+
configuredCwd = mergedOptions.cwd;
|
|
84
144
|
configuredSessionKey = typeof mergedOptions.sessionKey === "string" ? mergedOptions.sessionKey : undefined;
|
|
145
|
+
configuredSessionId = typeof mergedOptions.sessionId === "string" ? mergedOptions.sessionId : undefined;
|
|
85
146
|
if (Object.keys(bridgedMcp).length > 0) {
|
|
86
147
|
mergedOptions.mcpServers = {
|
|
87
|
-
...(
|
|
148
|
+
...(isRecord(existingOptions.mcpServers) ? existingOptions.mcpServers : {}),
|
|
88
149
|
...bridgedMcp,
|
|
89
150
|
};
|
|
90
151
|
}
|
|
@@ -117,54 +178,139 @@ const plugin = async (input) => {
|
|
|
117
178
|
],
|
|
118
179
|
},
|
|
119
180
|
tool: {
|
|
120
|
-
qoder_usage: {
|
|
181
|
+
qoder_usage: tool({
|
|
121
182
|
description: "Show Qoder account usage and quota (live), plus accumulated session cost and token totals from the local ledger.",
|
|
122
183
|
args: {},
|
|
123
184
|
async execute() {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
185
|
+
try {
|
|
186
|
+
const lines = [];
|
|
187
|
+
const live = await getLiveUsage();
|
|
188
|
+
lines.push(live ? formatUsageReport(live) : "Live usage unavailable (not logged in or Qoder runtime unavailable).");
|
|
189
|
+
const s = summarize();
|
|
190
|
+
lines.push("");
|
|
191
|
+
lines.push("Local Cost Ledger");
|
|
192
|
+
lines.push(` Total cost: ${formatCost(s.totalCostUsd)}`);
|
|
193
|
+
lines.push(` Turns: ${s.turnCount}`);
|
|
194
|
+
lines.push(` Tokens: ${s.totalInputTokens} in / ${s.totalOutputTokens} out`);
|
|
195
|
+
const models = Object.entries(s.byModel);
|
|
196
|
+
if (models.length > 0) {
|
|
197
|
+
lines.push(" By model:");
|
|
198
|
+
for (const [name, b] of models) {
|
|
199
|
+
lines.push(` ${name}: ${formatCost(b.costUsd)} (${b.turns} turns)`);
|
|
200
|
+
}
|
|
138
201
|
}
|
|
202
|
+
return { title: "Qoder Usage", output: lines.join("\n") };
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
return { title: "Qoder Usage", output: `Failed to load usage: ${describeError(error)}` };
|
|
139
206
|
}
|
|
140
|
-
return { title: "Qoder Usage", output: lines.join("\n") };
|
|
141
207
|
},
|
|
142
|
-
},
|
|
143
|
-
qoder_models: {
|
|
208
|
+
}),
|
|
209
|
+
qoder_models: tool({
|
|
144
210
|
description: "List known Qoder models, capabilities, limits, and price multipliers.",
|
|
145
211
|
args: {},
|
|
146
212
|
async execute() {
|
|
147
|
-
const models = listModels();
|
|
213
|
+
const models = listModels(modelEnvironment, modelOptions);
|
|
148
214
|
const lines = ["Qoder Models"];
|
|
149
215
|
for (const model of models) {
|
|
150
|
-
lines.push(` ${model.id}: ${model.name}`);
|
|
216
|
+
lines.push(` ${safeDisplay(model.id, "unknown", 256)}: ${safeDisplay(model.name, "unknown", 512)}`);
|
|
151
217
|
lines.push(` context ${model.limit.context}, output ${model.limit.output}, price ${model.multiplier}x`);
|
|
152
218
|
lines.push(` vision ${model.attachment ? "yes" : "no"}, reasoning ${model.reasoning ? "yes" : "no"}`);
|
|
153
219
|
}
|
|
154
220
|
return { title: "Qoder Models", output: lines.join("\n") };
|
|
155
221
|
},
|
|
156
|
-
},
|
|
157
|
-
qoder_session_reset: {
|
|
158
|
-
description: "Forget the persisted Qoder session mapping for
|
|
222
|
+
}),
|
|
223
|
+
qoder_session_reset: tool({
|
|
224
|
+
description: "Forget the persisted Qoder session mapping for a key, or use 'all' to reset all sessions.",
|
|
225
|
+
args: {
|
|
226
|
+
key: tool.schema.string().optional().describe("Session key to reset, or 'all' to clear all persisted sessions (defaults to configured sessionKey)."),
|
|
227
|
+
},
|
|
228
|
+
async execute(args) {
|
|
229
|
+
try {
|
|
230
|
+
const requested = typeof args.key === "string" ? args.key.trim() : "";
|
|
231
|
+
const target = requested || configuredSessionKey;
|
|
232
|
+
if (!target) {
|
|
233
|
+
return {
|
|
234
|
+
title: "Qoder Session",
|
|
235
|
+
output: "No session key specified and none configured. Provide a key or use 'all' to reset all sessions.",
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
if (target.toLowerCase() === "all") {
|
|
239
|
+
await clearAllSessions();
|
|
240
|
+
return { title: "Qoder Session", output: "Reset all persisted Qoder sessions." };
|
|
241
|
+
}
|
|
242
|
+
await deleteQoderSessionForCwd(target, configuredCwd, configuredSessionId || target);
|
|
243
|
+
return { title: "Qoder Session", output: `Reset persisted Qoder session: ${safeDisplay(target, "unknown", 512)}` };
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
return { title: "Qoder Session", output: `Failed to reset session: ${describeError(error)}` };
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
}),
|
|
250
|
+
qoder_sessions: tool({
|
|
251
|
+
description: "List recent Qoder sessions with metadata (session ID, title, branch, last modified).",
|
|
252
|
+
args: {
|
|
253
|
+
dir: tool.schema.string().optional().describe("Working directory / project path to filter sessions (optional)."),
|
|
254
|
+
limit: tool.schema.number().optional().describe("Maximum number of sessions to return (optional, default: 10)."),
|
|
255
|
+
},
|
|
256
|
+
async execute(args) {
|
|
257
|
+
try {
|
|
258
|
+
const limit = typeof args.limit === "number" && args.limit > 0 ? args.limit : 10;
|
|
259
|
+
const dir = typeof args.dir === "string" && args.dir.trim() ? args.dir.trim() : undefined;
|
|
260
|
+
const sessionsResult = await listSessions({ limit: Math.max(1, Math.min(100, Math.floor(limit))), ...(dir ? { dir } : {}) });
|
|
261
|
+
const sessions = Array.isArray(sessionsResult) ? sessionsResult : [];
|
|
262
|
+
if (!sessions || sessions.length === 0) {
|
|
263
|
+
return { title: "Qoder Sessions", output: "No recent Qoder sessions found." };
|
|
264
|
+
}
|
|
265
|
+
const lines = ["Recent Qoder Sessions"];
|
|
266
|
+
for (const s of sessions) {
|
|
267
|
+
const item = isRecord(s) ? s : {};
|
|
268
|
+
const sessionId = safeDisplay(item.sessionId, "unknown", 256);
|
|
269
|
+
const title = typeof item.customTitle === "string" && item.customTitle
|
|
270
|
+
? safeDisplay(item.customTitle, sessionId, 512)
|
|
271
|
+
: typeof item.summary === "string" && item.summary
|
|
272
|
+
? safeDisplay(item.summary, sessionId, 512)
|
|
273
|
+
: sessionId;
|
|
274
|
+
const lastModified = item.lastModified;
|
|
275
|
+
const dateValue = typeof lastModified === "string" || typeof lastModified === "number"
|
|
276
|
+
? new Date(lastModified)
|
|
277
|
+
: null;
|
|
278
|
+
const date = dateValue && !Number.isNaN(dateValue.getTime()) ? dateValue.toLocaleString() : "unknown";
|
|
279
|
+
const branch = safeDisplay(item.gitBranch, "n/a", 256);
|
|
280
|
+
const cwd = safeDisplay(item.cwd, "n/a", 1024);
|
|
281
|
+
lines.push(`• [${sessionId.slice(0, 8)}] ${title}`);
|
|
282
|
+
lines.push(` Updated: ${date} | Branch: ${branch} | Path: ${cwd}`);
|
|
283
|
+
}
|
|
284
|
+
return { title: "Qoder Sessions", output: lines.join("\n") };
|
|
285
|
+
}
|
|
286
|
+
catch (error) {
|
|
287
|
+
debug("listSessions failed:", describeError(error));
|
|
288
|
+
return { title: "Qoder Sessions", output: `Failed to list sessions: ${describeError(error)}` };
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
}),
|
|
292
|
+
qoder_plan_mode: tool({
|
|
293
|
+
description: "Explain Qoder Plan Mode status and configuration in OpenCode.",
|
|
159
294
|
args: {},
|
|
160
295
|
async execute() {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
296
|
+
const lines = [
|
|
297
|
+
"Qoder Plan Mode",
|
|
298
|
+
"Plan Mode instructs Qoder to analyze and plan changes without modifying files or running tool actions.",
|
|
299
|
+
"",
|
|
300
|
+
"Configuration in ~/.config/opencode/opencode.json:",
|
|
301
|
+
" \"provider\": {",
|
|
302
|
+
" \"qoder\": {",
|
|
303
|
+
" \"options\": {",
|
|
304
|
+
" \"planMode\": true",
|
|
305
|
+
" }",
|
|
306
|
+
" }",
|
|
307
|
+
" }",
|
|
308
|
+
"",
|
|
309
|
+
"Plan Mode operates independently from tool permissions, preserving your underlying permission mode.",
|
|
310
|
+
];
|
|
311
|
+
return { title: "Qoder Plan Mode", output: lines.join("\n") };
|
|
166
312
|
},
|
|
167
|
-
},
|
|
313
|
+
}),
|
|
168
314
|
},
|
|
169
315
|
};
|
|
170
316
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/language-model.d.ts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import type { LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3GenerateResult, LanguageModelV3StreamPart, LanguageModelV3StreamResult } from "@ai-sdk/provider";
|
|
2
|
+
import type { SDKArtifactInfo, SDKPlanModeSnapshot } from "@qoder-ai/qoder-agent-sdk";
|
|
3
|
+
import type { ModelDiscoveryOptions } from "./models.js";
|
|
2
4
|
import type { QoderBridgeOptions } from "./types.js";
|
|
3
5
|
type StreamController = ReadableStreamDefaultController<LanguageModelV3StreamPart>;
|
|
6
|
+
type OpenBlock = {
|
|
7
|
+
kind: "reasoning" | "text";
|
|
8
|
+
index: number;
|
|
9
|
+
} | {
|
|
10
|
+
kind: "tool";
|
|
11
|
+
index: number;
|
|
12
|
+
id: string;
|
|
13
|
+
providerExecuted: boolean;
|
|
14
|
+
};
|
|
4
15
|
interface StreamState {
|
|
5
16
|
controller: StreamController;
|
|
6
17
|
contextWindow: number;
|
|
@@ -12,7 +23,9 @@ interface StreamState {
|
|
|
12
23
|
name: string;
|
|
13
24
|
input: string;
|
|
14
25
|
providerExecuted: boolean;
|
|
26
|
+
hasInput: boolean;
|
|
15
27
|
}>;
|
|
28
|
+
openBlocks: OpenBlock[];
|
|
16
29
|
sawStreamText: boolean;
|
|
17
30
|
sawStreamTool: boolean;
|
|
18
31
|
sawStreamReasoning: boolean;
|
|
@@ -23,7 +36,19 @@ interface StreamState {
|
|
|
23
36
|
}>;
|
|
24
37
|
lastStopReason: string | null;
|
|
25
38
|
blockCounter: number;
|
|
39
|
+
outputChars: number;
|
|
26
40
|
finished: boolean;
|
|
41
|
+
resultReceived: boolean;
|
|
42
|
+
seenToolCallIds?: Set<string>;
|
|
43
|
+
seenMessageIds?: Set<string>;
|
|
44
|
+
failed?: boolean;
|
|
45
|
+
authExpired?: boolean;
|
|
46
|
+
invalidSession?: boolean;
|
|
47
|
+
artifacts: SDKArtifactInfo[];
|
|
48
|
+
planMode?: SDKPlanModeSnapshot;
|
|
49
|
+
skillEvolution?: Record<string, unknown>;
|
|
50
|
+
modelEnvironment?: Record<string, string | undefined>;
|
|
51
|
+
modelDiscoveryOptions?: ModelDiscoveryOptions;
|
|
27
52
|
}
|
|
28
53
|
export declare function isProviderExecutedTool(name: string, functionToolNames: ReadonlySet<string>): boolean;
|
|
29
54
|
export declare class QoderLanguageModel implements LanguageModelV3 {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-model.d.ts","sourceRoot":"","sources":["../src/language-model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"language-model.d.ts","sourceRoot":"","sources":["../src/language-model.ts"],"names":[],"mappings":"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"}
|