@opencode/client 2.0.27 → 2.0.29
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/chunks/{contract-ww92gbf0.js → contract-1akb9sg5.js} +6 -6
- package/dist/chunks/contract-8s2anffy.js +11 -0
- package/dist/chunks/{contract-9vdz0zwn.js → contract-m77rqa4a.js} +47 -7
- package/dist/chunks/{contract-w1w809zr.js → contract-mnyft54j.js} +3 -3
- package/dist/chunks/{contract-9swsjjg0.js → contract-x13xxskh.js} +3 -3
- package/dist/effect/client.js +4 -4
- package/dist/effect/generated/client.js +3 -3
- package/dist/effect/generated/index.js +1 -1
- package/dist/effect/index.js +3 -3
- package/dist/effect/rpc.js +3 -3
- package/dist/effect/service.js +2 -2
- package/dist/promise/api.d.ts +1 -0
- package/dist/promise/client.js +2 -2
- package/dist/promise/generated/types.d.ts +51 -28
- package/dist/promise/index.js +2 -2
- package/dist/promise/service.js +2 -2
- package/dist/pty-handoff.js +1 -1
- package/dist/service-probe.js +2 -2
- package/dist/solid/data.js +3 -3
- package/dist/solid/index.d.ts +1 -0
- package/dist/solid/index.js +6 -2
- package/dist/solid/usage.d.ts +9 -0
- package/dist/solid/usage.js +6 -0
- package/package.json +4 -4
- /package/dist/chunks/{contract-csw6v8a4.js → contract-7393xcww.js} +0 -0
- /package/dist/chunks/{contract-2ny4vxct.js → contract-8ye1ye6f.js} +0 -0
- /package/dist/chunks/{contract-j4tgja9b.js → contract-tpb4j56n.js} +0 -0
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
ClientError3
|
|
6
6
|
} from "./contract-7f0py9js.js";
|
|
7
7
|
import {
|
|
8
|
-
|
|
9
|
-
} from "./contract-
|
|
8
|
+
make6
|
|
9
|
+
} from "./contract-x13xxskh.js";
|
|
10
10
|
import {
|
|
11
|
-
|
|
11
|
+
make5,
|
|
12
12
|
aborted2
|
|
13
|
-
} from "./contract-
|
|
13
|
+
} from "./contract-mnyft54j.js";
|
|
14
14
|
import {
|
|
15
15
|
__export
|
|
16
16
|
} from "./contract-9rqn6x4v.js";
|
|
@@ -30,7 +30,7 @@ var CurrentHeaders = Context.Reference("@opencode/client/effect/rpc/headers", {
|
|
|
30
30
|
});
|
|
31
31
|
var make4 = Effect.fn("OpenCode.make")(function* (options) {
|
|
32
32
|
const httpClient = yield* HttpClient.HttpClient;
|
|
33
|
-
const raw = yield*
|
|
33
|
+
const raw = yield* make6(options).pipe(Effect.provideService(HttpClient.HttpClient, HttpClient.mapRequestEffect(httpClient, (request) => Effect.map(CurrentHeaders, (headers) => headers ? HttpClientRequest.setHeaders(request, new Headers(headers)) : request))));
|
|
34
34
|
const context = yield* Effect.context();
|
|
35
35
|
const native = raw.event.subscribe();
|
|
36
36
|
|
|
@@ -45,7 +45,7 @@ var make4 = Effect.fn("OpenCode.make")(function* (options) {
|
|
|
45
45
|
return {
|
|
46
46
|
...raw,
|
|
47
47
|
event: { ...raw.event, subscribe },
|
|
48
|
-
rpc: Object.assign(
|
|
48
|
+
rpc: Object.assign(make5((input, options) => raw.rpc.call(input).pipe(Effect.provideService(CurrentHeaders, options?.headers)), subscribe), raw.rpc)
|
|
49
49
|
};
|
|
50
50
|
});
|
|
51
51
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// src/solid/usage.ts
|
|
2
|
+
function lastAssistantWithUsage2(messages, boundary) {
|
|
3
|
+
const boundaryIndex = boundary ? messages.findIndex((message) => message.id === boundary) : -1;
|
|
4
|
+
if (boundary && boundaryIndex === -1)
|
|
5
|
+
return;
|
|
6
|
+
const end = boundaryIndex === -1 ? messages.length : boundaryIndex;
|
|
7
|
+
const compactionIndex = messages.findLastIndex((message, index) => message.type === "compaction" && message.status === "completed" && index < end);
|
|
8
|
+
return messages.findLast((message, index) => message.type === "assistant" && message.tokens !== undefined && index > compactionIndex && index < end);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { lastAssistantWithUsage2 };
|
|
@@ -19,6 +19,32 @@ function locationKey2(location) {
|
|
|
19
19
|
function locationQuery(ref) {
|
|
20
20
|
return { directory: ref.directory };
|
|
21
21
|
}
|
|
22
|
+
function optimisticFiles(files) {
|
|
23
|
+
const items = files?.flatMap((file) => {
|
|
24
|
+
if (!file.uri.startsWith("data:"))
|
|
25
|
+
return [];
|
|
26
|
+
const comma = file.uri.indexOf(",");
|
|
27
|
+
if (comma < 0)
|
|
28
|
+
return [];
|
|
29
|
+
const header = file.uri.slice(5, comma);
|
|
30
|
+
const parts = header.split(";");
|
|
31
|
+
if (!parts.slice(1).some((part) => part.toLowerCase() === "base64"))
|
|
32
|
+
return [];
|
|
33
|
+
const item = {
|
|
34
|
+
data: file.uri.slice(comma + 1),
|
|
35
|
+
mime: parts[0] || "application/octet-stream",
|
|
36
|
+
source: { type: "inline" }
|
|
37
|
+
};
|
|
38
|
+
if (file.name !== undefined)
|
|
39
|
+
item.name = file.name;
|
|
40
|
+
if (file.description !== undefined)
|
|
41
|
+
item.description = file.description;
|
|
42
|
+
if (file.mention !== undefined)
|
|
43
|
+
item.mention = { ...file.mention };
|
|
44
|
+
return [item];
|
|
45
|
+
});
|
|
46
|
+
return items?.length ? items : undefined;
|
|
47
|
+
}
|
|
22
48
|
function formRequestOptions(sessionID, ref) {
|
|
23
49
|
if (sessionID !== "global" || !ref)
|
|
24
50
|
return;
|
|
@@ -89,6 +115,7 @@ function createSync() {
|
|
|
89
115
|
}
|
|
90
116
|
};
|
|
91
117
|
}
|
|
118
|
+
var CHILD_PAGE = 200;
|
|
92
119
|
function createData2(config) {
|
|
93
120
|
const api = config.api;
|
|
94
121
|
let disposed = false;
|
|
@@ -324,6 +351,12 @@ function createData2(config) {
|
|
|
324
351
|
messageIndex.set(sessionID, created);
|
|
325
352
|
return created;
|
|
326
353
|
}
|
|
354
|
+
async function listChildren(input) {
|
|
355
|
+
const page = await api().session.list(input);
|
|
356
|
+
if (page.data.length < CHILD_PAGE || !page.cursor.next)
|
|
357
|
+
return page.data;
|
|
358
|
+
return [...page.data, ...await listChildren({ cursor: page.cursor.next, limit: CHILD_PAGE })];
|
|
359
|
+
}
|
|
327
360
|
function resolveRoot(sessionID) {
|
|
328
361
|
let current = sessionID;
|
|
329
362
|
let parentID = store.session.info[sessionID]?.parentID;
|
|
@@ -467,7 +500,8 @@ function createData2(config) {
|
|
|
467
500
|
});
|
|
468
501
|
return;
|
|
469
502
|
}
|
|
470
|
-
case "session.model.selected":
|
|
503
|
+
case "session.model.selected": {
|
|
504
|
+
const previous = event.data.previous ?? store.session.info[event.data.sessionID]?.model;
|
|
471
505
|
if (store.session.info[event.data.sessionID])
|
|
472
506
|
setStore("session", "info", event.data.sessionID, "model", event.data.model);
|
|
473
507
|
if (!store.session.message[event.data.sessionID])
|
|
@@ -476,6 +510,7 @@ function createData2(config) {
|
|
|
476
510
|
id: messageIDFromEvent(event.id),
|
|
477
511
|
type: "model-switched",
|
|
478
512
|
model: event.data.model,
|
|
513
|
+
previous,
|
|
479
514
|
time: { created: event.created }
|
|
480
515
|
});
|
|
481
516
|
refresh(() => api().session.message.get({ sessionID: event.data.sessionID, messageID: messageIDFromEvent(event.id) }).then((item) => {
|
|
@@ -487,6 +522,7 @@ function createData2(config) {
|
|
|
487
522
|
});
|
|
488
523
|
}));
|
|
489
524
|
return;
|
|
525
|
+
}
|
|
490
526
|
case "session.renamed": {
|
|
491
527
|
refresh(() => {
|
|
492
528
|
const family = sync.pending(`session.family:${event.data.sessionID}`) ? result.session.sync(event.data.sessionID, { children: true }) : Promise.resolve();
|
|
@@ -1310,6 +1346,14 @@ function createData2(config) {
|
|
|
1310
1346
|
const id = request.id ?? SessionMessage.ID.create();
|
|
1311
1347
|
const fresh = !messageIndex.get(request.sessionID)?.has(id) && !store.session.pending[request.sessionID]?.some((item) => item.id === id);
|
|
1312
1348
|
if (fresh) {
|
|
1349
|
+
const files = optimisticFiles(request.files);
|
|
1350
|
+
const payload = {
|
|
1351
|
+
text: request.text,
|
|
1352
|
+
agents: request.agents?.map((agent) => ({ ...agent })),
|
|
1353
|
+
metadata: request.metadata
|
|
1354
|
+
};
|
|
1355
|
+
if (files)
|
|
1356
|
+
payload.files = files;
|
|
1313
1357
|
outbox.add(id);
|
|
1314
1358
|
admitLocal({
|
|
1315
1359
|
id,
|
|
@@ -1317,11 +1361,7 @@ function createData2(config) {
|
|
|
1317
1361
|
time: { created: Date.now() },
|
|
1318
1362
|
type: "user",
|
|
1319
1363
|
delivery: request.delivery ?? "steer",
|
|
1320
|
-
payload
|
|
1321
|
-
text: request.text,
|
|
1322
|
-
agents: request.agents?.map((agent) => ({ ...agent })),
|
|
1323
|
-
metadata: request.metadata
|
|
1324
|
-
}
|
|
1364
|
+
payload
|
|
1325
1365
|
});
|
|
1326
1366
|
}
|
|
1327
1367
|
return sendAdmission(request.sessionID, async () => {
|
|
@@ -1337,7 +1377,7 @@ function createData2(config) {
|
|
|
1337
1377
|
return sync.run(options?.children ? `session.family:${sessionID}` : `session:${sessionID}`, async () => {
|
|
1338
1378
|
const [info, children] = await Promise.all([
|
|
1339
1379
|
api().session.get({ sessionID }),
|
|
1340
|
-
options?.children ?
|
|
1380
|
+
options?.children ? listChildren({ parentID: sessionID, order: "desc", limit: CHILD_PAGE }) : []
|
|
1341
1381
|
]);
|
|
1342
1382
|
const sessions = [info, ...children];
|
|
1343
1383
|
batch(() => {
|
|
@@ -13,10 +13,10 @@ var exports_rpc = {};
|
|
|
13
13
|
__export(exports_rpc, {
|
|
14
14
|
RpcClientRuntime: () => exports_rpc,
|
|
15
15
|
aborted: () => aborted2,
|
|
16
|
-
make: () =>
|
|
16
|
+
make: () => make5
|
|
17
17
|
});
|
|
18
18
|
import { Effect, Stream } from "effect";
|
|
19
|
-
function
|
|
19
|
+
function make5(call, subscribe) {
|
|
20
20
|
return (definition) => {
|
|
21
21
|
const methods = Object.fromEntries(Object.entries(definition.methods).map(([name, method]) => [
|
|
22
22
|
name,
|
|
@@ -59,4 +59,4 @@ function aborted2(signal) {
|
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
export {
|
|
62
|
+
export { make5, aborted2, exports_rpc };
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
// src/effect/generated/client.ts
|
|
12
12
|
var exports_client4 = {};
|
|
13
13
|
__export(exports_client4, {
|
|
14
|
-
make: () =>
|
|
14
|
+
make: () => make6
|
|
15
15
|
});
|
|
16
16
|
import { Effect, Stream, Schema } from "effect";
|
|
17
17
|
import { Sse } from "effect/encoding";
|
|
@@ -618,6 +618,6 @@ var adaptClient = (raw) => ({
|
|
|
618
618
|
websearch: adaptGroupWebsearch(raw["server.websearch"]),
|
|
619
619
|
config: adaptGroupConfig(raw["server.config"])
|
|
620
620
|
});
|
|
621
|
-
var
|
|
621
|
+
var make6 = (options) => HttpApiClient.make(ClientApi2, options).pipe(Effect.map(adaptClient));
|
|
622
622
|
|
|
623
|
-
export {
|
|
623
|
+
export { make6, exports_client4 };
|
package/dist/effect/client.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
make4,
|
|
3
3
|
exports_client3
|
|
4
|
-
} from "../chunks/contract-
|
|
4
|
+
} from "../chunks/contract-1akb9sg5.js";
|
|
5
|
+
import"../chunks/contract-mnyft54j.js";
|
|
5
6
|
import"../chunks/contract-6mptkzbc.js";
|
|
6
|
-
import"../chunks/contract-
|
|
7
|
+
import"../chunks/contract-x13xxskh.js";
|
|
7
8
|
import"../chunks/contract-7f0py9js.js";
|
|
8
|
-
import"../chunks/contract-w1w809zr.js";
|
|
9
|
-
import"../chunks/contract-t1xa31vm.js";
|
|
10
9
|
import"../chunks/contract-vmytr4q8.js";
|
|
10
|
+
import"../chunks/contract-t1xa31vm.js";
|
|
11
11
|
import"../chunks/contract-frbwqjmf.js";
|
|
12
12
|
export {
|
|
13
13
|
exports_client3 as OpenCode,
|
package/dist/effect/index.js
CHANGED
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
ClientError3
|
|
3
3
|
} from "../chunks/contract-7f0py9js.js";
|
|
4
4
|
import"../chunks/contract-vmytr4q8.js";
|
|
5
|
-
import"../chunks/contract-
|
|
5
|
+
import"../chunks/contract-x13xxskh.js";
|
|
6
6
|
import"../chunks/contract-6mptkzbc.js";
|
|
7
7
|
import"../chunks/contract-frbwqjmf.js";
|
|
8
8
|
import"../chunks/contract-t1xa31vm.js";
|
|
9
|
-
import"../chunks/contract-
|
|
9
|
+
import"../chunks/contract-mnyft54j.js";
|
|
10
10
|
import {
|
|
11
11
|
exports_client3
|
|
12
|
-
} from "../chunks/contract-
|
|
12
|
+
} from "../chunks/contract-1akb9sg5.js";
|
|
13
13
|
|
|
14
14
|
// src/effect/index.ts
|
|
15
15
|
import { Agent } from "@opencode/schema/agent";
|
package/dist/effect/rpc.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
2
|
+
make5,
|
|
3
3
|
aborted2,
|
|
4
4
|
exports_rpc
|
|
5
|
-
} from "../chunks/contract-
|
|
5
|
+
} from "../chunks/contract-mnyft54j.js";
|
|
6
6
|
import"../chunks/contract-t1xa31vm.js";
|
|
7
7
|
export {
|
|
8
8
|
exports_rpc as RpcClientRuntime,
|
|
9
9
|
aborted2 as aborted,
|
|
10
|
-
|
|
10
|
+
make5 as make
|
|
11
11
|
};
|
package/dist/effect/service.js
CHANGED
|
@@ -14,14 +14,14 @@ import {
|
|
|
14
14
|
environment2,
|
|
15
15
|
complete2,
|
|
16
16
|
clear2
|
|
17
|
-
} from "../chunks/contract-
|
|
17
|
+
} from "../chunks/contract-tpb4j56n.js";
|
|
18
18
|
import {
|
|
19
19
|
decide2,
|
|
20
20
|
fallback2,
|
|
21
21
|
same2,
|
|
22
22
|
probeResult2,
|
|
23
23
|
headers2
|
|
24
|
-
} from "../chunks/contract-
|
|
24
|
+
} from "../chunks/contract-8ye1ye6f.js";
|
|
25
25
|
import"../chunks/contract-qav6mfdz.js";
|
|
26
26
|
|
|
27
27
|
// src/effect/service.ts
|
package/dist/promise/api.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export type { RpcApi, RpcCallOptions, RpcClient, RpcEventPayload } from "./rpc.j
|
|
|
4
4
|
export type AgentApi = Client["agent"];
|
|
5
5
|
export type CommandApi = Client["command"];
|
|
6
6
|
export type ConfigApi = Client["config"];
|
|
7
|
+
export type CredentialApi = Client["credential"];
|
|
7
8
|
export type EventApi = Client["event"];
|
|
8
9
|
export type GenerateApi = Client["generate"];
|
|
9
10
|
export type IntegrationApi = Client["integration"];
|
package/dist/promise/client.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
make2,
|
|
3
3
|
exports_client
|
|
4
|
-
} from "../chunks/contract-
|
|
4
|
+
} from "../chunks/contract-7393xcww.js";
|
|
5
|
+
import"../chunks/contract-1y4a697q.js";
|
|
5
6
|
import"../chunks/contract-vyas3vgt.js";
|
|
6
7
|
import"../chunks/contract-qfk0hgz0.js";
|
|
7
8
|
import"../chunks/contract-js54wxgp.js";
|
|
8
|
-
import"../chunks/contract-1y4a697q.js";
|
|
9
9
|
import"../chunks/contract-vt9jbch8.js";
|
|
10
10
|
import"../chunks/contract-frbwqjmf.js";
|
|
11
11
|
export {
|
|
@@ -29,6 +29,7 @@ export type ProviderCompaction = {
|
|
|
29
29
|
type: "native";
|
|
30
30
|
};
|
|
31
31
|
export type ProviderTransport = "http" | "websocket";
|
|
32
|
+
export type ProviderEncoding = "zstd" | "gzip" | "none";
|
|
32
33
|
export type AgentColor = string;
|
|
33
34
|
export type PermissionEffect = "allow" | "deny" | "ask";
|
|
34
35
|
export type PluginSource = {
|
|
@@ -224,6 +225,7 @@ export type FormExternalField = {
|
|
|
224
225
|
export type FormValue = string | number | "Infinity" | "-Infinity" | "NaN" | boolean | Array<string>;
|
|
225
226
|
export type ModelReasoningField = "reasoning" | "reasoning_content" | "reasoning_text" | (string & {});
|
|
226
227
|
export type ModelMaxTokensField = "max_completion_tokens" | "max_tokens";
|
|
228
|
+
export type ModelCacheFormat = "anthropic" | "alibaba";
|
|
227
229
|
export type ModelCapabilities = {
|
|
228
230
|
tools: boolean;
|
|
229
231
|
input: Array<string>;
|
|
@@ -482,22 +484,19 @@ export type SessionProviderContextProvenance = {
|
|
|
482
484
|
protocol: string;
|
|
483
485
|
endpoint: string;
|
|
484
486
|
};
|
|
485
|
-
export type ModelSettings = {
|
|
486
|
-
compaction?: ProviderCompaction;
|
|
487
|
-
} & {
|
|
488
|
-
[x: string]: any;
|
|
489
|
-
};
|
|
490
|
-
export type ConfigModelSettings = {
|
|
491
|
-
compaction?: ProviderCompaction;
|
|
492
|
-
} & {
|
|
493
|
-
[x: string]: JsonValue | null;
|
|
494
|
-
};
|
|
495
487
|
export type ProviderSettings = {
|
|
496
488
|
timeout?: number | false;
|
|
497
489
|
headerTimeout?: number | false;
|
|
498
490
|
chunkTimeout?: number | false;
|
|
499
491
|
compaction?: ProviderCompaction;
|
|
500
492
|
transport?: ProviderTransport;
|
|
493
|
+
encoding?: ProviderEncoding;
|
|
494
|
+
} & {
|
|
495
|
+
[x: string]: any;
|
|
496
|
+
};
|
|
497
|
+
export type ModelSettings = {
|
|
498
|
+
compaction?: ProviderCompaction;
|
|
499
|
+
encoding?: ProviderEncoding;
|
|
501
500
|
} & {
|
|
502
501
|
[x: string]: any;
|
|
503
502
|
};
|
|
@@ -507,6 +506,13 @@ export type ConfigProviderSettings = {
|
|
|
507
506
|
chunkTimeout?: number | false;
|
|
508
507
|
compaction?: ProviderCompaction;
|
|
509
508
|
transport?: ProviderTransport;
|
|
509
|
+
encoding?: ProviderEncoding;
|
|
510
|
+
} & {
|
|
511
|
+
[x: string]: JsonValue | null;
|
|
512
|
+
};
|
|
513
|
+
export type ConfigModelSettings = {
|
|
514
|
+
compaction?: ProviderCompaction;
|
|
515
|
+
encoding?: ProviderEncoding;
|
|
510
516
|
} & {
|
|
511
517
|
[x: string]: JsonValue | null;
|
|
512
518
|
};
|
|
@@ -869,9 +875,19 @@ export type ModelCompatibility = {
|
|
|
869
875
|
requireFinishReason?: boolean;
|
|
870
876
|
requireAssistantAfterTool?: boolean;
|
|
871
877
|
supportsPromptCacheKey?: boolean;
|
|
878
|
+
cacheFormat?: ModelCacheFormat;
|
|
872
879
|
supportsThinkingBlockBinding?: boolean;
|
|
873
880
|
supportsEffortUpdates?: boolean;
|
|
874
881
|
};
|
|
882
|
+
export type ProviderCompatibility = {
|
|
883
|
+
reasoningField?: ModelReasoningField;
|
|
884
|
+
requireReasoning?: boolean;
|
|
885
|
+
maxTokensField?: ModelMaxTokensField;
|
|
886
|
+
requireFinishReason?: boolean;
|
|
887
|
+
requireAssistantAfterTool?: boolean;
|
|
888
|
+
supportsPromptCacheKey?: boolean;
|
|
889
|
+
cacheFormat?: ModelCacheFormat;
|
|
890
|
+
};
|
|
875
891
|
export type ModelCost = {
|
|
876
892
|
tier?: {
|
|
877
893
|
type: "context";
|
|
@@ -1167,16 +1183,6 @@ export type SessionProviderContext = {
|
|
|
1167
1183
|
provenance: SessionProviderContextProvenance;
|
|
1168
1184
|
messages: JsonValue;
|
|
1169
1185
|
};
|
|
1170
|
-
export type ModelVariant = {
|
|
1171
|
-
id: string;
|
|
1172
|
-
settings?: ModelSettings;
|
|
1173
|
-
headers?: {
|
|
1174
|
-
[x: string]: string;
|
|
1175
|
-
};
|
|
1176
|
-
body?: {
|
|
1177
|
-
[x: string]: any;
|
|
1178
|
-
};
|
|
1179
|
-
};
|
|
1180
1186
|
export type ProviderRequest = {
|
|
1181
1187
|
settings: ProviderSettings;
|
|
1182
1188
|
headers: {
|
|
@@ -1186,14 +1192,9 @@ export type ProviderRequest = {
|
|
|
1186
1192
|
[x: string]: any;
|
|
1187
1193
|
};
|
|
1188
1194
|
};
|
|
1189
|
-
export type
|
|
1190
|
-
id:
|
|
1191
|
-
|
|
1192
|
-
integrationID?: IntegrationID;
|
|
1193
|
-
name: string;
|
|
1194
|
-
activation: "auto" | "enabled" | "disabled";
|
|
1195
|
-
package: string;
|
|
1196
|
-
settings?: ProviderSettings;
|
|
1195
|
+
export type ModelVariant = {
|
|
1196
|
+
id: string;
|
|
1197
|
+
settings?: ModelSettings;
|
|
1197
1198
|
headers?: {
|
|
1198
1199
|
[x: string]: string;
|
|
1199
1200
|
};
|
|
@@ -2660,6 +2661,22 @@ export type CredentialKey = {
|
|
|
2660
2661
|
};
|
|
2661
2662
|
configuration?: FormAnswer;
|
|
2662
2663
|
};
|
|
2664
|
+
export type ProviderInfo = {
|
|
2665
|
+
id: ProviderID;
|
|
2666
|
+
canonical?: ProviderID;
|
|
2667
|
+
integrationID?: IntegrationID;
|
|
2668
|
+
name: string;
|
|
2669
|
+
activation: "auto" | "enabled" | "disabled";
|
|
2670
|
+
package: string;
|
|
2671
|
+
compatibility?: ProviderCompatibility;
|
|
2672
|
+
settings?: ProviderSettings;
|
|
2673
|
+
headers?: {
|
|
2674
|
+
[x: string]: string;
|
|
2675
|
+
};
|
|
2676
|
+
body?: {
|
|
2677
|
+
[x: string]: any;
|
|
2678
|
+
};
|
|
2679
|
+
};
|
|
2663
2680
|
export type ConnectionInfo = ConnectionCredentialInfo | ConnectionEnvInfo;
|
|
2664
2681
|
export type PtyCreated = {
|
|
2665
2682
|
id: EventID;
|
|
@@ -2935,6 +2952,11 @@ export type ConfigEntry = {
|
|
|
2935
2952
|
};
|
|
2936
2953
|
username?: string;
|
|
2937
2954
|
permissions?: PermissionRuleset;
|
|
2955
|
+
policies?: Array<{
|
|
2956
|
+
action: "provider.use" | "tool.use" | "integration.use";
|
|
2957
|
+
resource: string;
|
|
2958
|
+
effect: "allow" | "deny";
|
|
2959
|
+
}>;
|
|
2938
2960
|
agents?: {
|
|
2939
2961
|
[x: string]: {
|
|
2940
2962
|
model?: string | {
|
|
@@ -3104,6 +3126,7 @@ export type ConfigEntry = {
|
|
|
3104
3126
|
name?: string;
|
|
3105
3127
|
env?: Array<string>;
|
|
3106
3128
|
package?: string;
|
|
3129
|
+
compatibility?: ProviderCompatibility;
|
|
3107
3130
|
settings?: ConfigProviderSettings;
|
|
3108
3131
|
headers?: {
|
|
3109
3132
|
[x: string]: string;
|
package/dist/promise/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import"../chunks/contract-m2eywc8w.js";
|
|
2
2
|
import {
|
|
3
3
|
exports_client
|
|
4
|
-
} from "../chunks/contract-
|
|
4
|
+
} from "../chunks/contract-7393xcww.js";
|
|
5
|
+
import"../chunks/contract-1y4a697q.js";
|
|
5
6
|
import"../chunks/contract-vyas3vgt.js";
|
|
6
7
|
import"../chunks/contract-qfk0hgz0.js";
|
|
7
8
|
import {
|
|
8
9
|
ClientError2
|
|
9
10
|
} from "../chunks/contract-js54wxgp.js";
|
|
10
|
-
import"../chunks/contract-1y4a697q.js";
|
|
11
11
|
import {
|
|
12
12
|
isInvalidRequestError2,
|
|
13
13
|
isUnauthorizedError2,
|
package/dist/promise/service.js
CHANGED
|
@@ -14,14 +14,14 @@ import {
|
|
|
14
14
|
environment2,
|
|
15
15
|
complete2,
|
|
16
16
|
clear2
|
|
17
|
-
} from "../chunks/contract-
|
|
17
|
+
} from "../chunks/contract-tpb4j56n.js";
|
|
18
18
|
import {
|
|
19
19
|
decide2,
|
|
20
20
|
fallback2,
|
|
21
21
|
same2,
|
|
22
22
|
probeResult2,
|
|
23
23
|
headers2
|
|
24
|
-
} from "../chunks/contract-
|
|
24
|
+
} from "../chunks/contract-8ye1ye6f.js";
|
|
25
25
|
import"../chunks/contract-qav6mfdz.js";
|
|
26
26
|
|
|
27
27
|
// src/promise/service.ts
|
package/dist/pty-handoff.js
CHANGED
package/dist/service-probe.js
CHANGED
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
same2,
|
|
5
5
|
probeResult2,
|
|
6
6
|
headers2
|
|
7
|
-
} from "./chunks/contract-
|
|
8
|
-
import"./chunks/contract-sxt88q69.js";
|
|
7
|
+
} from "./chunks/contract-8ye1ye6f.js";
|
|
9
8
|
import"./chunks/contract-xgnj2w4v.js";
|
|
9
|
+
import"./chunks/contract-sxt88q69.js";
|
|
10
10
|
export {
|
|
11
11
|
decide2 as decide,
|
|
12
12
|
fallback2 as fallback,
|
package/dist/solid/data.js
CHANGED
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
settleMs2,
|
|
3
3
|
locationKey2,
|
|
4
4
|
createData2
|
|
5
|
-
} from "../chunks/contract-
|
|
5
|
+
} from "../chunks/contract-m77rqa4a.js";
|
|
6
6
|
import"../chunks/contract-m2eywc8w.js";
|
|
7
|
-
import"../chunks/contract-
|
|
7
|
+
import"../chunks/contract-7393xcww.js";
|
|
8
|
+
import"../chunks/contract-1y4a697q.js";
|
|
8
9
|
import"../chunks/contract-vyas3vgt.js";
|
|
9
10
|
import"../chunks/contract-qfk0hgz0.js";
|
|
10
11
|
import"../chunks/contract-js54wxgp.js";
|
|
11
|
-
import"../chunks/contract-1y4a697q.js";
|
|
12
12
|
import"../chunks/contract-vt9jbch8.js";
|
|
13
13
|
import"../chunks/contract-frbwqjmf.js";
|
|
14
14
|
export {
|
package/dist/solid/index.d.ts
CHANGED
package/dist/solid/index.js
CHANGED
|
@@ -4,13 +4,13 @@ import"../chunks/contract-vt9jbch8.js";
|
|
|
4
4
|
import"../chunks/contract-vyas3vgt.js";
|
|
5
5
|
import"../chunks/contract-frbwqjmf.js";
|
|
6
6
|
import"../chunks/contract-1y4a697q.js";
|
|
7
|
-
import"../chunks/contract-
|
|
7
|
+
import"../chunks/contract-7393xcww.js";
|
|
8
8
|
import"../chunks/contract-m2eywc8w.js";
|
|
9
9
|
import {
|
|
10
10
|
settleMs2,
|
|
11
11
|
locationKey2,
|
|
12
12
|
createData2
|
|
13
|
-
} from "../chunks/contract-
|
|
13
|
+
} from "../chunks/contract-m77rqa4a.js";
|
|
14
14
|
import {
|
|
15
15
|
defaultIdleTimeout2,
|
|
16
16
|
foregroundIdleThreshold2,
|
|
@@ -20,6 +20,9 @@ import {
|
|
|
20
20
|
createPtyClient2,
|
|
21
21
|
createPersistentPtyClient2
|
|
22
22
|
} from "../chunks/contract-gne7h7mq.js";
|
|
23
|
+
import {
|
|
24
|
+
lastAssistantWithUsage2
|
|
25
|
+
} from "../chunks/contract-8s2anffy.js";
|
|
23
26
|
export {
|
|
24
27
|
createClientConnection2 as createClientConnection,
|
|
25
28
|
createData2 as createData,
|
|
@@ -27,6 +30,7 @@ export {
|
|
|
27
30
|
createPtyClient2 as createPtyClient,
|
|
28
31
|
defaultIdleTimeout2 as defaultIdleTimeout,
|
|
29
32
|
foregroundIdleThreshold2 as foregroundIdleThreshold,
|
|
33
|
+
lastAssistantWithUsage2 as lastAssistantWithUsage,
|
|
30
34
|
locationKey2 as locationKey,
|
|
31
35
|
settleMs2 as settleMs
|
|
32
36
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SessionMessageAssistant, SessionMessageInfo } from "../promise";
|
|
2
|
+
/**
|
|
3
|
+
* The assistant step whose tokens fill the context window now: the latest one after the last completed
|
|
4
|
+
* compaction and before the revert boundary. Every client shows context usage from this step, so the TUI
|
|
5
|
+
* and the desktop app agree on it.
|
|
6
|
+
*/
|
|
7
|
+
export declare function lastAssistantWithUsage(messages: ReadonlyArray<SessionMessageInfo>, boundary?: string): (SessionMessageAssistant & {
|
|
8
|
+
tokens: NonNullable<SessionMessageAssistant["tokens"]>;
|
|
9
|
+
}) | undefined;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@opencode/client",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.29",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"typecheck": "tsgo --noEmit"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@opencode/schema": "2.0.
|
|
61
|
-
"@opencode/protocol": "2.0.
|
|
60
|
+
"@opencode/schema": "2.0.29",
|
|
61
|
+
"@opencode/protocol": "2.0.29"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
64
|
"effect": "4.0.1",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@effect/platform-node": "4.0.1",
|
|
77
|
-
"@opencode/httpapi-codegen": "2.0.
|
|
77
|
+
"@opencode/httpapi-codegen": "2.0.29",
|
|
78
78
|
"@tsconfig/bun": "1.0.9",
|
|
79
79
|
"@types/bun": "1.4.0",
|
|
80
80
|
"@typescript/native-preview": "7.0.0-dev.20251207.1",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|