@opencode/client 0.0.0-beta-19507 → 0.0.0-dev-19276

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.
@@ -10,7 +10,6 @@ import type { RelativePath } from "@opencode/schema/schema";
10
10
  import type { Brand } from "effect";
11
11
  import type { Model } from "@opencode/schema/model";
12
12
  import type { DateTime } from "effect";
13
- import type { Permission } from "@opencode/schema/permission";
14
13
  import type { SessionMessage } from "@opencode/schema/session-message";
15
14
  import type { SessionInbox } from "@opencode/schema/session-inbox";
16
15
  import type { PromptInput } from "@opencode/schema/prompt-input";
@@ -26,6 +25,7 @@ import type { Integration } from "@opencode/schema/integration";
26
25
  import type { Form } from "@opencode/schema/form";
27
26
  import type { Mcp } from "@opencode/schema/mcp";
28
27
  import type { Credential } from "@opencode/schema/credential";
28
+ import type { Permission } from "@opencode/schema/permission";
29
29
  import type { PermissionSaved } from "@opencode/schema/permission-saved";
30
30
  import type { FileSystem } from "@opencode/schema/filesystem";
31
31
  import type { Command } from "@opencode/schema/command";
@@ -239,7 +239,6 @@ export type SessionCreateInput = {
239
239
  readonly model?: Model.Ref | undefined;
240
240
  readonly location?: Location.Ref | undefined;
241
241
  readonly metadata?: Session.Metadata | undefined;
242
- readonly permissions?: Permission.Ruleset | undefined;
243
242
  };
244
243
  export type SessionCreateOutput = Session.Info;
245
244
  export type SessionCreateOperation<E = never> = (input?: SessionCreateInput) => Effect.Effect<SessionCreateOutput, E>;
@@ -473,7 +472,6 @@ export type SessionLogOutput = ({
473
472
  readonly agent?: Agent.ID | undefined;
474
473
  readonly model?: Model.Ref | undefined;
475
474
  readonly metadata?: Session.Metadata | undefined;
476
- readonly permissions?: Permission.Ruleset | undefined;
477
475
  readonly version: string;
478
476
  };
479
477
  } | {
@@ -548,23 +546,6 @@ export type SessionLogOutput = ({
548
546
  readonly sessionID: Session.ID;
549
547
  readonly title: string;
550
548
  };
551
- } | {
552
- readonly id: Event.ID;
553
- readonly created: number;
554
- readonly metadata?: {
555
- readonly [x: string]: unknown;
556
- } | undefined;
557
- readonly type: "session.permissions.updated";
558
- readonly durable: {
559
- readonly aggregateID: string;
560
- readonly seq: Event.Seq;
561
- readonly version: Event.Version;
562
- };
563
- readonly location?: Location.Ref | undefined;
564
- readonly data: {
565
- readonly sessionID: Session.ID;
566
- readonly permissions: Permission.Ruleset;
567
- };
568
549
  } | {
569
550
  readonly id: Event.ID;
570
551
  readonly created: number;
@@ -1270,16 +1251,6 @@ export type SessionLogOutput = ({
1270
1251
  } | undefined;
1271
1252
  readonly text: string;
1272
1253
  readonly recent: string;
1273
- readonly cost?: (number & Brand.Brand<"Money.USD">) | undefined;
1274
- readonly tokens?: {
1275
- readonly input: number;
1276
- readonly output: number;
1277
- readonly reasoning: number;
1278
- readonly cache: {
1279
- readonly read: number;
1280
- readonly write: number;
1281
- };
1282
- } | undefined;
1283
1254
  };
1284
1255
  } | {
1285
1256
  readonly id: Event.ID;
@@ -1303,16 +1274,6 @@ export type SessionLogOutput = ({
1303
1274
  readonly status?: number | undefined;
1304
1275
  };
1305
1276
  readonly inputID?: SessionMessage.ID | undefined;
1306
- readonly cost?: (number & Brand.Brand<"Money.USD">) | undefined;
1307
- readonly tokens?: {
1308
- readonly input: number;
1309
- readonly output: number;
1310
- readonly reasoning: number;
1311
- readonly cache: {
1312
- readonly read: number;
1313
- readonly write: number;
1314
- };
1315
- } | undefined;
1316
1277
  };
1317
1278
  } | {
1318
1279
  readonly id: Event.ID;
@@ -1370,7 +1331,7 @@ export type SessionLogOutput = ({
1370
1331
  readonly metadata?: {
1371
1332
  readonly [x: string]: unknown;
1372
1333
  } | undefined;
1373
- readonly type: "session.usage.recorded";
1334
+ readonly type: "session.message.content.updated";
1374
1335
  readonly durable: {
1375
1336
  readonly aggregateID: string;
1376
1337
  readonly seq: Event.Seq;
@@ -1379,17 +1340,8 @@ export type SessionLogOutput = ({
1379
1340
  readonly location?: Location.Ref | undefined;
1380
1341
  readonly data: {
1381
1342
  readonly sessionID: Session.ID;
1382
- readonly source: "title" | "compaction";
1383
- readonly cost: number & Brand.Brand<"Money.USD">;
1384
- readonly tokens: {
1385
- readonly input: number;
1386
- readonly output: number;
1387
- readonly reasoning: number;
1388
- readonly cache: {
1389
- readonly read: number;
1390
- readonly write: number;
1391
- };
1392
- };
1343
+ readonly messageID: SessionMessage.ID;
1344
+ readonly content: ReadonlyArray<SessionMessage.AssistantContentEncoded>;
1393
1345
  };
1394
1346
  } | {
1395
1347
  readonly id: Event.ID;
@@ -1397,7 +1349,7 @@ export type SessionLogOutput = ({
1397
1349
  readonly metadata?: {
1398
1350
  readonly [x: string]: unknown;
1399
1351
  } | undefined;
1400
- readonly type: "session.message.content.updated";
1352
+ readonly type: "session.usage.recorded";
1401
1353
  readonly durable: {
1402
1354
  readonly aggregateID: string;
1403
1355
  readonly seq: Event.Seq;
@@ -1406,8 +1358,17 @@ export type SessionLogOutput = ({
1406
1358
  readonly location?: Location.Ref | undefined;
1407
1359
  readonly data: {
1408
1360
  readonly sessionID: Session.ID;
1409
- readonly messageID: SessionMessage.ID;
1410
- readonly content: ReadonlyArray<SessionMessage.AssistantContentEncoded>;
1361
+ readonly source: "title" | "compaction";
1362
+ readonly cost: number & Brand.Brand<"Money.USD">;
1363
+ readonly tokens: {
1364
+ readonly input: number;
1365
+ readonly output: number;
1366
+ readonly reasoning: number;
1367
+ readonly cache: {
1368
+ readonly read: number;
1369
+ readonly write: number;
1370
+ };
1371
+ };
1411
1372
  };
1412
1373
  }) | EventLog.Synced;
1413
1374
  export type SessionLogOperation<E = never> = (input: SessionLogInput) => Stream.Stream<SessionLogOutput, E>;
@@ -1430,6 +1391,13 @@ export type SessionMessageInput = {
1430
1391
  };
1431
1392
  export type SessionMessageOutput = SessionMessage.Info;
1432
1393
  export type SessionMessageOperation<E = never> = (input: SessionMessageInput) => Effect.Effect<SessionMessageOutput, E>;
1394
+ export type SessionMessageUpdateInput = {
1395
+ readonly sessionID: Session.ID;
1396
+ readonly messageID: SessionMessage.ID;
1397
+ readonly content: ReadonlyArray<SessionMessage.AssistantText | SessionMessage.AssistantReasoning | SessionMessage.AssistantTool>;
1398
+ };
1399
+ export type SessionMessageUpdateOutput = SessionMessage.Assistant;
1400
+ export type SessionMessageUpdateOperation<E = never> = (input: SessionMessageUpdateInput) => Effect.Effect<SessionMessageUpdateOutput, E>;
1433
1401
  export type SessionEnvironmentInput = {
1434
1402
  readonly sessionID: Session.ID;
1435
1403
  readonly variables: {
@@ -1489,6 +1457,7 @@ export interface SessionApi<E = never> {
1489
1457
  readonly interrupt: SessionInterruptOperation<E>;
1490
1458
  readonly background: SessionBackgroundOperation<E>;
1491
1459
  readonly message: SessionMessageOperation<E>;
1460
+ readonly messageUpdate: SessionMessageUpdateOperation<E>;
1492
1461
  readonly environment: SessionEnvironmentOperation<E>;
1493
1462
  readonly view: SessionViewOperation<E>;
1494
1463
  }
@@ -1497,7 +1466,6 @@ export type MessageListInput = {
1497
1466
  readonly limit?: number | undefined;
1498
1467
  readonly order?: "asc" | "desc" | undefined;
1499
1468
  readonly cursor?: string | undefined;
1500
- readonly type?: "agent-switched" | "model-switched" | "location-switched" | "user" | "synthetic" | "system" | "skill" | "shell" | "assistant" | "compaction" | undefined;
1501
1469
  };
1502
1470
  export type MessageListOutput = {
1503
1471
  readonly data: ReadonlyArray<SessionMessage.Info>;
@@ -1969,12 +1937,6 @@ export type PermissionReplyInput = {
1969
1937
  };
1970
1938
  export type PermissionReplyOutput = void;
1971
1939
  export type PermissionReplyOperation<E = never> = (input: PermissionReplyInput) => Effect.Effect<PermissionReplyOutput, E>;
1972
- export type PermissionRulesInput = {
1973
- readonly sessionID: Session.ID;
1974
- readonly permissions: Permission.Ruleset;
1975
- };
1976
- export type PermissionRulesOutput = void;
1977
- export type PermissionRulesOperation<E = never> = (input: PermissionRulesInput) => Effect.Effect<PermissionRulesOutput, E>;
1978
1940
  export interface PermissionApi<E = never> {
1979
1941
  readonly request: {
1980
1942
  readonly list: PermissionRequestListOperation<E>;
@@ -1987,7 +1949,6 @@ export interface PermissionApi<E = never> {
1987
1949
  readonly list: PermissionListOperation<E>;
1988
1950
  readonly get: PermissionGetOperation<E>;
1989
1951
  readonly reply: PermissionReplyOperation<E>;
1990
- readonly rules: PermissionRulesOperation<E>;
1991
1952
  }
1992
1953
  export type FileListInput = {
1993
1954
  readonly location?: {
@@ -458,11 +458,6 @@ export declare const make: (options?: {
458
458
  readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
459
459
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
460
460
  } | undefined;
461
- readonly permissions?: readonly {
462
- readonly action: string;
463
- readonly resource: string;
464
- readonly effect: "allow" | "deny" | "ask";
465
- }[] | undefined;
466
461
  readonly agent?: (string & import("effect/Brand").Brand<"Agent.ID">) | undefined;
467
462
  readonly subpath?: (string & import("effect/Brand").Brand<"RelativePath">) | undefined;
468
463
  readonly parentID?: (string & import("effect/Brand").Brand<"SessionID">) | undefined;
@@ -579,11 +574,7 @@ export declare const make: (options?: {
579
574
  } | {
580
575
  readonly id: string & import("effect/Brand").Brand<"Event.ID">;
581
576
  readonly data: {
582
- readonly permissions: readonly {
583
- readonly action: string;
584
- readonly resource: string;
585
- readonly effect: "allow" | "deny" | "ask";
586
- }[];
577
+ readonly idle: number;
587
578
  readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
588
579
  };
589
580
  readonly durable: {
@@ -591,7 +582,7 @@ export declare const make: (options?: {
591
582
  readonly seq: number & import("effect/Brand").Brand<"Event.Seq">;
592
583
  readonly version: number & import("effect/Brand").Brand<"Event.Version">;
593
584
  };
594
- readonly type: "session.permissions.updated";
585
+ readonly type: "session.viewed";
595
586
  readonly created: number;
596
587
  readonly location?: {
597
588
  readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
@@ -603,7 +594,107 @@ export declare const make: (options?: {
603
594
  } | {
604
595
  readonly id: string & import("effect/Brand").Brand<"Event.ID">;
605
596
  readonly data: {
606
- readonly idle: number;
597
+ readonly messageID: string & import("effect/Brand").Brand<"Session.Message.ID">;
598
+ readonly content: readonly ({
599
+ readonly id: string;
600
+ readonly type: "tool";
601
+ readonly name: string;
602
+ readonly time: {
603
+ readonly created: number;
604
+ readonly completed?: number | undefined;
605
+ readonly ran?: number | undefined;
606
+ };
607
+ readonly state: {
608
+ readonly status: "streaming";
609
+ readonly input: string;
610
+ } | {
611
+ readonly status: "running";
612
+ readonly input: {
613
+ readonly [x: string]: unknown;
614
+ };
615
+ readonly metadata: {
616
+ readonly [x: string]: import("effect/Schema").Json;
617
+ };
618
+ } | {
619
+ readonly content: readonly [{
620
+ readonly type: "text";
621
+ readonly text: string;
622
+ } | {
623
+ readonly type: "file";
624
+ readonly uri: string;
625
+ readonly mime: string;
626
+ readonly name?: string | undefined;
627
+ }, ...({
628
+ readonly type: "text";
629
+ readonly text: string;
630
+ } | {
631
+ readonly type: "file";
632
+ readonly uri: string;
633
+ readonly mime: string;
634
+ readonly name?: string | undefined;
635
+ })[]];
636
+ readonly status: "completed";
637
+ readonly input: {
638
+ readonly [x: string]: unknown;
639
+ };
640
+ readonly metadata?: {
641
+ readonly [x: string]: import("effect/Schema").Json;
642
+ } | undefined;
643
+ } | {
644
+ readonly error: {
645
+ readonly type: string;
646
+ readonly message: string;
647
+ readonly status?: number | undefined;
648
+ };
649
+ readonly status: "error";
650
+ readonly input: {
651
+ readonly [x: string]: unknown;
652
+ };
653
+ readonly metadata?: {
654
+ readonly [x: string]: import("effect/Schema").Json;
655
+ } | undefined;
656
+ readonly content?: readonly [{
657
+ readonly type: "text";
658
+ readonly text: string;
659
+ } | {
660
+ readonly type: "file";
661
+ readonly uri: string;
662
+ readonly mime: string;
663
+ readonly name?: string | undefined;
664
+ }, ...({
665
+ readonly type: "text";
666
+ readonly text: string;
667
+ } | {
668
+ readonly type: "file";
669
+ readonly uri: string;
670
+ readonly mime: string;
671
+ readonly name?: string | undefined;
672
+ })[]] | undefined;
673
+ };
674
+ readonly executed?: boolean | undefined;
675
+ readonly providerState?: {
676
+ readonly [x: string]: unknown;
677
+ } | undefined;
678
+ readonly providerResultState?: {
679
+ readonly [x: string]: unknown;
680
+ } | undefined;
681
+ } | {
682
+ readonly type: "text";
683
+ readonly text: string;
684
+ readonly state?: {
685
+ readonly [x: string]: unknown;
686
+ } | undefined;
687
+ } | {
688
+ readonly type: "reasoning";
689
+ readonly text: string;
690
+ readonly time?: {
691
+ readonly created: number;
692
+ readonly completed?: number | undefined;
693
+ } | undefined;
694
+ readonly state?: {
695
+ readonly [x: string]: unknown;
696
+ } | undefined;
697
+ })[];
607
698
  readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
608
699
  };
609
700
  readonly durable: {
@@ -611,7 +702,7 @@ export declare const make: (options?: {
611
702
  readonly seq: number & import("effect/Brand").Brand<"Event.Seq">;
612
703
  readonly version: number & import("effect/Brand").Brand<"Event.Version">;
613
704
  };
614
- readonly type: "session.viewed";
705
+ readonly type: "session.message.content.updated";
615
706
  readonly created: number;
616
707
  readonly location?: {
617
708
  readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
@@ -1607,7 +1698,6 @@ export declare const make: (options?: {
1607
1698
  readonly text: string;
1608
1699
  readonly reason: "auto" | "manual";
1609
1700
  readonly recent: string;
1610
- readonly cost?: (number & import("effect/Brand").Brand<"Money.USD">) | undefined;
1611
1701
  readonly model?: {
1612
1702
  readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1613
1703
  readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
@@ -1616,15 +1706,6 @@ export declare const make: (options?: {
1616
1706
  readonly providerState?: {
1617
1707
  readonly [x: string]: unknown;
1618
1708
  } | undefined;
1619
- readonly tokens?: {
1620
- readonly input: number;
1621
- readonly output: number;
1622
- readonly reasoning: number;
1623
- readonly cache: {
1624
- readonly read: number;
1625
- readonly write: number;
1626
- };
1627
- } | undefined;
1628
1709
  readonly providerContext?: {
1629
1710
  readonly version: 1;
1630
1711
  readonly provenance: {
@@ -1662,16 +1743,6 @@ export declare const make: (options?: {
1662
1743
  readonly status?: number | undefined;
1663
1744
  };
1664
1745
  readonly reason: "auto" | "manual";
1665
- readonly cost?: (number & import("effect/Brand").Brand<"Money.USD">) | undefined;
1666
- readonly tokens?: {
1667
- readonly input: number;
1668
- readonly output: number;
1669
- readonly reasoning: number;
1670
- readonly cache: {
1671
- readonly read: number;
1672
- readonly write: number;
1673
- };
1674
- } | undefined;
1675
1746
  readonly inputID?: (string & import("effect/Brand").Brand<"Session.Message.ID">) | undefined;
1676
1747
  };
1677
1748
  readonly durable: {
@@ -2286,6 +2357,7 @@ export declare const make: (options?: {
2286
2357
  interrupt: (input: import("./api.js").SessionInterruptInput) => Effect.Effect<import("./api.js").SessionInterruptOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2287
2358
  background: (input: import("./api.js").SessionBackgroundInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2288
2359
  message: (input: import("./api.js").SessionMessageInput) => Effect.Effect<import("@opencode/schema/session-message").Info, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2360
+ messageUpdate: (input: import("./api.js").SessionMessageUpdateInput) => Effect.Effect<import("@opencode/schema/session-message").Assistant, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionBusyError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2289
2361
  environment: (input: import("./api.js").SessionEnvironmentInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2290
2362
  view: (input: import("./api.js").SessionViewInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2291
2363
  };
@@ -2376,7 +2448,6 @@ export declare const make: (options?: {
2376
2448
  list: (input: import("./api.js").PermissionListInput) => Effect.Effect<import("./api.js").PermissionListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2377
2449
  get: (input: import("./api.js").PermissionGetInput) => Effect.Effect<import("@opencode/schema/permission").Request, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").PermissionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2378
2450
  reply: (input: import("./api.js").PermissionReplyInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").PermissionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2379
- rules: (input: import("./api.js").PermissionRulesInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2380
2451
  };
2381
2452
  file: {
2382
2453
  list: (input?: import("./api.js").FileListInput) => Effect.Effect<import("./api.js").FileListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
@@ -1,7 +1,7 @@
1
1
  import { Effect, Stream, Schema } from "effect";
2
2
  import { Sse } from "effect/unstable/encoding";
3
3
  import { HttpClientError } from "effect/unstable/http";
4
- import type { HealthGetOutput, ServerGetOutput, LocationGetInput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginAwaitActivationInput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionListOutput, SessionStatsInput, SessionStatsOutput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionExportOutput, SessionActiveOutput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionRenameInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionContextOutput, SessionInboxListInput, SessionInboxListOutput, SessionInboxCancelInput, SessionInboxSteerInput, SessionInboxQueueInput, SessionInstructionsEntryListInput, SessionInstructionsEntryListOutput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionGenerateOutput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionInterruptOutput, SessionBackgroundInput, SessionMessageInput, SessionEnvironmentInput, SessionViewInput, MessageListInput, MessageListOutput, ModelListInput, ModelListOutput, ModelDefaultInput, ModelDefaultOutput, GenerateTextInput, GenerateTextOutput, ProviderListInput, ProviderListOutput, ProviderGetInput, ProviderGetOutput, IntegrationListInput, IntegrationListOutput, IntegrationGetInput, IntegrationGetOutput, IntegrationWellknownAddInput, IntegrationConnectKeyInput, IntegrationOauthConnectInput, IntegrationOauthConnectOutput, IntegrationOauthStatusInput, IntegrationOauthStatusOutput, IntegrationOauthCompleteInput, IntegrationOauthCancelInput, IntegrationCommandConnectInput, IntegrationCommandConnectOutput, IntegrationCommandStatusInput, IntegrationCommandStatusOutput, IntegrationCommandCancelInput, McpListInput, McpListOutput, McpAddInput, McpRemoveInput, McpConnectInput, McpDisconnectInput, McpResourceCatalogInput, McpResourceCatalogOutput, CredentialUpdateInput, CredentialActivateInput, CredentialRemoveInput, ProjectListOutput, ProjectUpdateInput, ProjectCurrentInput, FormRequestListInput, FormRequestListOutput, FormListInput, FormListOutput, FormCreateInput, FormGetInput, FormStateInput, FormReplyInput, FormCancelInput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedListOutput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionCreateOutput, PermissionListInput, PermissionListOutput, PermissionGetInput, PermissionReplyInput, PermissionRulesInput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, RpcCallInput, RpcCallOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, PtyConnectTokenInput, PtyConnectTokenOutput, ExperimentalPersistentPtyReadInput, ExperimentalPersistentPtyReadOutput, ExperimentalPersistentPtyListInput, ExperimentalPersistentPtyListOutput, ExperimentalPersistentPtyCreateInput, ExperimentalPersistentPtyCreateOutput, ExperimentalPersistentPtyHandoffOutput, ExperimentalPersistentPtyGetInput, ExperimentalPersistentPtyGetOutput, ExperimentalPersistentPtyUpdateInput, ExperimentalPersistentPtyUpdateOutput, ExperimentalPersistentPtySnapshotInput, ExperimentalPersistentPtySnapshotOutput, ExperimentalPersistentPtyRemoveInput, ExperimentalPersistentPtyConnectTokenInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellTimeoutInput, ShellTimeoutOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, WorkspaceCreateInput, WorkspaceDestroyInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchesInput, VcsBranchesOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput } from "../api/api.js";
4
+ import type { HealthGetOutput, ServerGetOutput, LocationGetInput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginAwaitActivationInput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionListOutput, SessionStatsInput, SessionStatsOutput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionExportOutput, SessionActiveOutput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionRenameInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionContextOutput, SessionInboxListInput, SessionInboxListOutput, SessionInboxCancelInput, SessionInboxSteerInput, SessionInboxQueueInput, SessionInstructionsEntryListInput, SessionInstructionsEntryListOutput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionGenerateOutput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionInterruptOutput, SessionBackgroundInput, SessionMessageInput, SessionMessageUpdateInput, SessionEnvironmentInput, SessionViewInput, MessageListInput, MessageListOutput, ModelListInput, ModelListOutput, ModelDefaultInput, ModelDefaultOutput, GenerateTextInput, GenerateTextOutput, ProviderListInput, ProviderListOutput, ProviderGetInput, ProviderGetOutput, IntegrationListInput, IntegrationListOutput, IntegrationGetInput, IntegrationGetOutput, IntegrationWellknownAddInput, IntegrationConnectKeyInput, IntegrationOauthConnectInput, IntegrationOauthConnectOutput, IntegrationOauthStatusInput, IntegrationOauthStatusOutput, IntegrationOauthCompleteInput, IntegrationOauthCancelInput, IntegrationCommandConnectInput, IntegrationCommandConnectOutput, IntegrationCommandStatusInput, IntegrationCommandStatusOutput, IntegrationCommandCancelInput, McpListInput, McpListOutput, McpAddInput, McpRemoveInput, McpConnectInput, McpDisconnectInput, McpResourceCatalogInput, McpResourceCatalogOutput, CredentialUpdateInput, CredentialActivateInput, CredentialRemoveInput, ProjectListOutput, ProjectUpdateInput, ProjectCurrentInput, FormRequestListInput, FormRequestListOutput, FormListInput, FormListOutput, FormCreateInput, FormGetInput, FormStateInput, FormReplyInput, FormCancelInput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedListOutput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionCreateOutput, PermissionListInput, PermissionListOutput, PermissionGetInput, PermissionReplyInput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, RpcCallInput, RpcCallOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, PtyConnectTokenInput, PtyConnectTokenOutput, ExperimentalPersistentPtyReadInput, ExperimentalPersistentPtyReadOutput, ExperimentalPersistentPtyListInput, ExperimentalPersistentPtyListOutput, ExperimentalPersistentPtyCreateInput, ExperimentalPersistentPtyCreateOutput, ExperimentalPersistentPtyHandoffOutput, ExperimentalPersistentPtyGetInput, ExperimentalPersistentPtyGetOutput, ExperimentalPersistentPtyUpdateInput, ExperimentalPersistentPtyUpdateOutput, ExperimentalPersistentPtySnapshotInput, ExperimentalPersistentPtySnapshotOutput, ExperimentalPersistentPtyRemoveInput, ExperimentalPersistentPtyConnectTokenInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellTimeoutInput, ShellTimeoutOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, WorkspaceCreateInput, WorkspaceDestroyInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchesInput, VcsBranchesOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput } from "../api/api.js";
5
5
  import { ClientError } from "./client-error.js";
6
6
  export declare const make: (options?: {
7
7
  readonly baseUrl?: URL | string;
@@ -70,6 +70,7 @@ export declare const make: (options?: {
70
70
  interrupt: (input: SessionInterruptInput) => Effect.Effect<SessionInterruptOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
71
71
  background: (input: SessionBackgroundInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
72
72
  message: (input: SessionMessageInput) => Effect.Effect<import("@opencode/schema/session-message").Info, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
73
+ messageUpdate: (input: SessionMessageUpdateInput) => Effect.Effect<import("@opencode/schema/session-message").Assistant, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionBusyError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
73
74
  environment: (input: SessionEnvironmentInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
74
75
  view: (input: SessionViewInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
75
76
  };
@@ -160,7 +161,6 @@ export declare const make: (options?: {
160
161
  list: (input: PermissionListInput) => Effect.Effect<PermissionListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
161
162
  get: (input: PermissionGetInput) => Effect.Effect<import("@opencode/schema/permission").Request, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").PermissionNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
162
163
  reply: (input: PermissionReplyInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").PermissionNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
163
- rules: (input: PermissionRulesInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
164
164
  };
165
165
  file: {
166
166
  list: (input?: FileListInput) => Effect.Effect<FileListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
@@ -626,11 +626,6 @@ export declare const make: (options?: {
626
626
  readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
627
627
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
628
628
  } | undefined;
629
- readonly permissions?: readonly {
630
- readonly action: string;
631
- readonly resource: string;
632
- readonly effect: "allow" | "deny" | "ask";
633
- }[] | undefined;
634
629
  readonly agent?: (string & import("effect/Brand").Brand<"Agent.ID">) | undefined;
635
630
  readonly subpath?: (string & import("effect/Brand").Brand<"RelativePath">) | undefined;
636
631
  readonly parentID?: (string & import("effect/Brand").Brand<"SessionID">) | undefined;
@@ -747,11 +742,7 @@ export declare const make: (options?: {
747
742
  } | {
748
743
  readonly id: string & import("effect/Brand").Brand<"Event.ID">;
749
744
  readonly data: {
750
- readonly permissions: readonly {
751
- readonly action: string;
752
- readonly resource: string;
753
- readonly effect: "allow" | "deny" | "ask";
754
- }[];
745
+ readonly idle: number;
755
746
  readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
756
747
  };
757
748
  readonly durable: {
@@ -759,7 +750,7 @@ export declare const make: (options?: {
759
750
  readonly seq: number & import("effect/Brand").Brand<"Event.Seq">;
760
751
  readonly version: number & import("effect/Brand").Brand<"Event.Version">;
761
752
  };
762
- readonly type: "session.permissions.updated";
753
+ readonly type: "session.viewed";
763
754
  readonly created: number;
764
755
  readonly location?: {
765
756
  readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
@@ -771,7 +762,107 @@ export declare const make: (options?: {
771
762
  } | {
772
763
  readonly id: string & import("effect/Brand").Brand<"Event.ID">;
773
764
  readonly data: {
774
- readonly idle: number;
765
+ readonly messageID: string & import("effect/Brand").Brand<"Session.Message.ID">;
766
+ readonly content: readonly ({
767
+ readonly id: string;
768
+ readonly type: "tool";
769
+ readonly name: string;
770
+ readonly time: {
771
+ readonly created: number;
772
+ readonly completed?: number | undefined;
773
+ readonly ran?: number | undefined;
774
+ };
775
+ readonly state: {
776
+ readonly status: "streaming";
777
+ readonly input: string;
778
+ } | {
779
+ readonly status: "running";
780
+ readonly input: {
781
+ readonly [x: string]: unknown;
782
+ };
783
+ readonly metadata: {
784
+ readonly [x: string]: Schema.Json;
785
+ };
786
+ } | {
787
+ readonly content: readonly [{
788
+ readonly type: "text";
789
+ readonly text: string;
790
+ } | {
791
+ readonly type: "file";
792
+ readonly uri: string;
793
+ readonly mime: string;
794
+ readonly name?: string | undefined;
795
+ }, ...({
796
+ readonly type: "text";
797
+ readonly text: string;
798
+ } | {
799
+ readonly type: "file";
800
+ readonly uri: string;
801
+ readonly mime: string;
802
+ readonly name?: string | undefined;
803
+ })[]];
804
+ readonly status: "completed";
805
+ readonly input: {
806
+ readonly [x: string]: unknown;
807
+ };
808
+ readonly metadata?: {
809
+ readonly [x: string]: Schema.Json;
810
+ } | undefined;
811
+ } | {
812
+ readonly error: {
813
+ readonly type: string;
814
+ readonly message: string;
815
+ readonly status?: number | undefined;
816
+ };
817
+ readonly status: "error";
818
+ readonly input: {
819
+ readonly [x: string]: unknown;
820
+ };
821
+ readonly metadata?: {
822
+ readonly [x: string]: Schema.Json;
823
+ } | undefined;
824
+ readonly content?: readonly [{
825
+ readonly type: "text";
826
+ readonly text: string;
827
+ } | {
828
+ readonly type: "file";
829
+ readonly uri: string;
830
+ readonly mime: string;
831
+ readonly name?: string | undefined;
832
+ }, ...({
833
+ readonly type: "text";
834
+ readonly text: string;
835
+ } | {
836
+ readonly type: "file";
837
+ readonly uri: string;
838
+ readonly mime: string;
839
+ readonly name?: string | undefined;
840
+ })[]] | undefined;
841
+ };
842
+ readonly executed?: boolean | undefined;
843
+ readonly providerState?: {
844
+ readonly [x: string]: unknown;
845
+ } | undefined;
846
+ readonly providerResultState?: {
847
+ readonly [x: string]: unknown;
848
+ } | undefined;
849
+ } | {
850
+ readonly type: "text";
851
+ readonly text: string;
852
+ readonly state?: {
853
+ readonly [x: string]: unknown;
854
+ } | undefined;
855
+ } | {
856
+ readonly type: "reasoning";
857
+ readonly text: string;
858
+ readonly time?: {
859
+ readonly created: number;
860
+ readonly completed?: number | undefined;
861
+ } | undefined;
862
+ readonly state?: {
863
+ readonly [x: string]: unknown;
864
+ } | undefined;
865
+ })[];
775
866
  readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
776
867
  };
777
868
  readonly durable: {
@@ -779,7 +870,7 @@ export declare const make: (options?: {
779
870
  readonly seq: number & import("effect/Brand").Brand<"Event.Seq">;
780
871
  readonly version: number & import("effect/Brand").Brand<"Event.Version">;
781
872
  };
782
- readonly type: "session.viewed";
873
+ readonly type: "session.message.content.updated";
783
874
  readonly created: number;
784
875
  readonly location?: {
785
876
  readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
@@ -1775,7 +1866,6 @@ export declare const make: (options?: {
1775
1866
  readonly text: string;
1776
1867
  readonly reason: "auto" | "manual";
1777
1868
  readonly recent: string;
1778
- readonly cost?: (number & import("effect/Brand").Brand<"Money.USD">) | undefined;
1779
1869
  readonly model?: {
1780
1870
  readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1781
1871
  readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
@@ -1784,15 +1874,6 @@ export declare const make: (options?: {
1784
1874
  readonly providerState?: {
1785
1875
  readonly [x: string]: unknown;
1786
1876
  } | undefined;
1787
- readonly tokens?: {
1788
- readonly input: number;
1789
- readonly output: number;
1790
- readonly reasoning: number;
1791
- readonly cache: {
1792
- readonly read: number;
1793
- readonly write: number;
1794
- };
1795
- } | undefined;
1796
1877
  readonly providerContext?: {
1797
1878
  readonly version: 1;
1798
1879
  readonly provenance: {
@@ -1830,16 +1911,6 @@ export declare const make: (options?: {
1830
1911
  readonly status?: number | undefined;
1831
1912
  };
1832
1913
  readonly reason: "auto" | "manual";
1833
- readonly cost?: (number & import("effect/Brand").Brand<"Money.USD">) | undefined;
1834
- readonly tokens?: {
1835
- readonly input: number;
1836
- readonly output: number;
1837
- readonly reasoning: number;
1838
- readonly cache: {
1839
- readonly read: number;
1840
- readonly write: number;
1841
- };
1842
- } | undefined;
1843
1914
  readonly inputID?: (string & import("effect/Brand").Brand<"Session.Message.ID">) | undefined;
1844
1915
  };
1845
1916
  readonly durable: {