@opencode/schema 2.0.3 → 2.0.4

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,6 +10,8 @@ export type OAuth = Mcp.OAuthConfig;
10
10
  export declare const Remote: typeof Mcp.RemoteConfig;
11
11
  export type Remote = Mcp.RemoteConfig;
12
12
  export declare const Server: Schema.toTaggedUnion<"type", readonly [typeof Mcp.LocalConfig, typeof Mcp.RemoteConfig]>;
13
+ export declare const Protocol: Schema.Literals<readonly ["legacy", "auto", "2026-07-28"]>;
14
+ export type Protocol = Mcp.Protocol;
13
15
  declare const Info_base: Schema.Class<Info, Schema.Struct<{
14
16
  readonly timeout: Schema.decodeTo<Schema.optional<Schema.toType<typeof Mcp.TimeoutConfig>>, Schema.optionalKey<typeof Mcp.TimeoutConfig>, never, never>;
15
17
  readonly servers: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.toTaggedUnion<"type", readonly [typeof Mcp.LocalConfig, typeof Mcp.RemoteConfig]>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.toTaggedUnion<"type", readonly [typeof Mcp.LocalConfig, typeof Mcp.RemoteConfig]>>>, never, never>;
@@ -7,6 +7,7 @@ export const Local = Mcp.LocalConfig;
7
7
  export const OAuth = Mcp.OAuthConfig;
8
8
  export const Remote = Mcp.RemoteConfig;
9
9
  export const Server = Mcp.ServerConfig;
10
+ export const Protocol = Mcp.Protocol;
10
11
  export class Info extends Schema.Class("Config.MCP")({
11
12
  timeout: Timeout.pipe(optional),
12
13
  servers: Schema.Record(Schema.String, Server).pipe(optional),
@@ -55,7 +55,6 @@ declare const Model_base: Schema.Class<Model, Schema.Struct<{
55
55
  readonly tools: Schema.Boolean;
56
56
  readonly input: Schema.$Array<Schema.String>;
57
57
  readonly output: Schema.$Array<Schema.String>;
58
- readonly responsesWebsockets: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
59
58
  }> & {
60
59
  default: () => {
61
60
  tools: true;
@@ -66,7 +65,6 @@ declare const Model_base: Schema.Class<Model, Schema.Struct<{
66
65
  readonly tools: Schema.Boolean;
67
66
  readonly input: Schema.$Array<Schema.String>;
68
67
  readonly output: Schema.$Array<Schema.String>;
69
- readonly responsesWebsockets: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
70
68
  }> & {
71
69
  default: () => {
72
70
  tools: true;
@@ -102,7 +100,7 @@ declare const Model_base: Schema.Class<Model, Schema.Struct<{
102
100
  readonly mode: Schema.Literal<"provider">;
103
101
  readonly threshold: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
104
102
  }>]>>, never, never>;
105
- readonly websocket: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
103
+ readonly transport: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["http", "websocket"]>>>, Schema.optionalKey<Schema.Literals<readonly ["http", "websocket"]>>, never, never>;
106
104
  readonly modelID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.ID">>, never, never>;
107
105
  readonly family: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.Family">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.Family">>, never, never>;
108
106
  readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
@@ -112,12 +110,14 @@ declare const Model_base: Schema.Class<Model, Schema.Struct<{
112
110
  readonly maxTokensField: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["max_completion_tokens", "max_tokens"]>>>, Schema.optionalKey<Schema.Literals<readonly ["max_completion_tokens", "max_tokens"]>>, never, never>;
113
111
  readonly requireFinishReason: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
114
112
  readonly requireAssistantAfterTool: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
113
+ readonly supportsPromptCacheKey: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
115
114
  }>>>, Schema.optionalKey<Schema.Struct<{
116
115
  readonly reasoningField: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Codec<import("../model.js").ReasoningField, import("../model.js").ReasoningField, never, never>>>, Schema.optionalKey<Schema.Codec<import("../model.js").ReasoningField, import("../model.js").ReasoningField, never, never>>, never, never>;
117
116
  readonly requireReasoning: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
118
117
  readonly maxTokensField: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["max_completion_tokens", "max_tokens"]>>>, Schema.optionalKey<Schema.Literals<readonly ["max_completion_tokens", "max_tokens"]>>, never, never>;
119
118
  readonly requireFinishReason: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
120
119
  readonly requireAssistantAfterTool: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
120
+ readonly supportsPromptCacheKey: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
121
121
  }>>, never, never>;
122
122
  readonly package: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
123
123
  }>, {}>;
@@ -139,7 +139,7 @@ declare const Info_base: Schema.Class<Info, Schema.Struct<{
139
139
  readonly mode: Schema.Literal<"provider">;
140
140
  readonly threshold: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
141
141
  }>]>>, never, never>;
142
- readonly websocket: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
142
+ readonly transport: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["http", "websocket"]>>>, Schema.optionalKey<Schema.Literals<readonly ["http", "websocket"]>>, never, never>;
143
143
  readonly canonical: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Provider.ID"> & {
144
144
  opencode: string & import("effect/Brand").Brand<"Provider.ID">;
145
145
  anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
@@ -38,8 +38,8 @@ class Limit extends Schema.Class("Config.Model.Limit")({
38
38
  }
39
39
  class Model extends Schema.Class("Config.Model")({
40
40
  compaction: Provider.Compaction.pipe(optional),
41
- websocket: Schema.Boolean.pipe(optional).annotate({
42
- description: "Use the provider's WebSocket transport for this model. Defaults to the provider policy.",
41
+ transport: Provider.Transport.pipe(optional).annotate({
42
+ description: "Session transport for this model. Defaults to the provider transport.",
43
43
  }),
44
44
  modelID: ID.pipe(optional),
45
45
  family: Family.pipe(optional),
@@ -59,8 +59,8 @@ class Model extends Schema.Class("Config.Model")({
59
59
  }
60
60
  export class Info extends Schema.Class("Config.Provider")({
61
61
  compaction: Provider.Compaction.pipe(optional),
62
- websocket: Schema.Boolean.pipe(optional).annotate({
63
- description: "Use the provider's WebSocket transport when the route supports it. Defaults to the built-in policy.",
62
+ transport: Provider.Transport.pipe(optional).annotate({
63
+ description: "Session transport for this provider's models. Defaults to the built-in policy; \"websocket\" on a route without a WebSocket channel warns and falls back to HTTP.",
64
64
  }),
65
65
  canonical: Provider.ID.pipe(optional),
66
66
  name: Schema.String.pipe(optional),
package/dist/config.d.ts CHANGED
@@ -83,17 +83,10 @@ declare const Info_base: Schema.Class<Info, Schema.Struct<{
83
83
  }>, {}>;
84
84
  export declare class Info extends Info_base {
85
85
  }
86
- export declare const Preferences: Schema.Struct<{
87
- readonly shell: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
88
- readonly websearch: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Literal<false>, typeof ConfigWebSearch.Info]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Literal<false>, typeof ConfigWebSearch.Info]>>, never, never>;
86
+ export declare const Patch: Schema.Struct<{
87
+ readonly shell: Schema.NullOr<Schema.String>;
89
88
  }>;
90
- export interface Preferences extends Schema.Schema.Type<typeof Preferences> {
91
- }
92
- export declare const PreferencesPatch: Schema.Struct<{
93
- readonly shell: Schema.decodeTo<Schema.optional<Schema.toType<Schema.NullOr<Schema.String>>>, Schema.optionalKey<Schema.NullOr<Schema.String>>, never, never>;
94
- readonly websearch: Schema.decodeTo<Schema.optional<Schema.toType<Schema.NullOr<Schema.Union<readonly [Schema.Literal<false>, typeof ConfigWebSearch.Info]>>>>, Schema.optionalKey<Schema.NullOr<Schema.Union<readonly [Schema.Literal<false>, typeof ConfigWebSearch.Info]>>>, never, never>;
95
- }>;
96
- export interface PreferencesPatch extends Schema.Schema.Type<typeof PreferencesPatch> {
89
+ export interface Patch extends Schema.Schema.Type<typeof Patch> {
97
90
  }
98
91
  declare const Document_base: Schema.Class<Document, Schema.Struct<{
99
92
  readonly type: Schema.Literal<"document">;
@@ -108,19 +101,7 @@ declare const Directory_base: Schema.Class<Directory, Schema.Struct<{
108
101
  }>, {}>;
109
102
  export declare class Directory extends Directory_base {
110
103
  }
111
- declare const AgentsDirectory_base: Schema.Class<AgentsDirectory, Schema.Struct<{
112
- readonly type: Schema.Literal<"agents">;
113
- readonly path: Schema.brand<Schema.String, "AbsolutePath">;
114
- }>, {}>;
115
- export declare class AgentsDirectory extends AgentsDirectory_base {
116
- }
117
- declare const ClaudeDirectory_base: Schema.Class<ClaudeDirectory, Schema.Struct<{
118
- readonly type: Schema.Literal<"claude">;
119
- readonly path: Schema.brand<Schema.String, "AbsolutePath">;
120
- }>, {}>;
121
- export declare class ClaudeDirectory extends ClaudeDirectory_base {
122
- }
123
- export declare const Entry: Schema.Union<readonly [typeof Document, typeof Directory, typeof AgentsDirectory, typeof ClaudeDirectory]>;
104
+ export declare const Entry: Schema.Union<readonly [typeof Document, typeof Directory]>;
124
105
  export type Entry = typeof Entry.Type;
125
106
  export declare const Event: {
126
107
  Updated: Schema.Struct<{
package/dist/config.js CHANGED
@@ -107,14 +107,9 @@ export class Info extends Schema.Class("Config.Info")({
107
107
  experimental: ConfigExperimental.Info.pipe(optional),
108
108
  }) {
109
109
  }
110
- export const Preferences = Schema.Struct({
111
- shell: Schema.String.pipe(optional),
112
- websearch: ConfigWebSearch.Selection.pipe(optional),
113
- }).annotate({ identifier: "Config.Preferences" });
114
- export const PreferencesPatch = Schema.Struct({
115
- shell: Schema.NullOr(Schema.String).pipe(optional),
116
- websearch: Schema.NullOr(ConfigWebSearch.Selection).pipe(optional),
117
- }).annotate({ identifier: "Config.PreferencesPatch" });
110
+ export const Patch = Schema.Struct({
111
+ shell: Schema.NullOr(Schema.String),
112
+ }).annotate({ identifier: "Config.Patch" });
118
113
  export class Document extends Schema.Class("Config.Document")({
119
114
  type: Schema.Literal("document"),
120
115
  path: AbsolutePath.pipe(optional),
@@ -126,17 +121,7 @@ export class Directory extends Schema.Class("Config.Directory")({
126
121
  path: AbsolutePath,
127
122
  }) {
128
123
  }
129
- export class AgentsDirectory extends Schema.Class("Config.AgentsDirectory")({
130
- type: Schema.Literal("agents"),
131
- path: AbsolutePath,
132
- }) {
133
- }
134
- export class ClaudeDirectory extends Schema.Class("Config.ClaudeDirectory")({
135
- type: Schema.Literal("claude"),
136
- path: AbsolutePath,
137
- }) {
138
- }
139
- export const Entry = Schema.Union([Document, Directory, AgentsDirectory, ClaudeDirectory]).annotate({
124
+ export const Entry = Schema.Union([Document, Directory]).annotate({
140
125
  identifier: "Config.Entry",
141
126
  });
142
127
  const Updated = ephemeral({
@@ -147,7 +147,7 @@ export declare const ServerDefinitions: readonly [Schema.Struct<{
147
147
  };
148
148
  readonly created: Schema.Finite;
149
149
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
150
- readonly type: Schema.Literal<"catalog.updated">;
150
+ readonly type: Schema.Literal<"provider.updated">;
151
151
  readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
152
152
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
153
153
  readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
@@ -169,7 +169,39 @@ export declare const ServerDefinitions: readonly [Schema.Struct<{
169
169
  }>>, never, never>;
170
170
  readonly data: Schema.Struct<{}>;
171
171
  }> & {
172
- type: "catalog.updated";
172
+ type: "provider.updated";
173
+ durability: "ephemeral";
174
+ durable: undefined;
175
+ data: Schema.Struct<{}>;
176
+ }, Schema.Struct<{
177
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
178
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
179
+ };
180
+ readonly created: Schema.Finite;
181
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
182
+ readonly type: Schema.Literal<"model.updated">;
183
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
184
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
185
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
186
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
187
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
188
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
189
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
190
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
191
+ }>, never, never>;
192
+ }>>>, Schema.optionalKey<Schema.Struct<{
193
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
194
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
195
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
196
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
197
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
198
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
199
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
200
+ }>, never, never>;
201
+ }>>, never, never>;
202
+ readonly data: Schema.Struct<{}>;
203
+ }> & {
204
+ type: "model.updated";
173
205
  durability: "ephemeral";
174
206
  durable: undefined;
175
207
  data: Schema.Struct<{}>;
@@ -791,7 +823,7 @@ export declare const ServerDefinitions: readonly [Schema.Struct<{
791
823
  };
792
824
  readonly created: Schema.Finite;
793
825
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
794
- readonly type: Schema.Literal<"session.permissions.updated">;
826
+ readonly type: Schema.Literal<"session.permissions">;
795
827
  readonly durable: Schema.Struct<{
796
828
  readonly aggregateID: Schema.String;
797
829
  readonly seq: Schema.brand<Schema.Int, "Event.Seq">;
@@ -828,7 +860,7 @@ export declare const ServerDefinitions: readonly [Schema.Struct<{
828
860
  };
829
861
  }>;
830
862
  }> & {
831
- type: "session.permissions.updated";
863
+ type: "session.permissions";
832
864
  durability: "durable";
833
865
  durable: {
834
866
  readonly version: number;
@@ -4543,7 +4575,6 @@ export declare const ServerDefinitions: readonly [Schema.Struct<{
4543
4575
  readonly time: Schema.Struct<{
4544
4576
  readonly created: Schema.Int;
4545
4577
  readonly updated: Schema.Int;
4546
- readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
4547
4578
  }>;
4548
4579
  readonly sandboxes: Schema.$Array<Schema.String>;
4549
4580
  }>;
@@ -4575,7 +4606,6 @@ export declare const ServerDefinitions: readonly [Schema.Struct<{
4575
4606
  readonly time: Schema.Struct<{
4576
4607
  readonly created: Schema.Int;
4577
4608
  readonly updated: Schema.Int;
4578
- readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
4579
4609
  }>;
4580
4610
  readonly sandboxes: Schema.$Array<Schema.String>;
4581
4611
  }>;
@@ -6299,7 +6329,39 @@ export declare const Definitions: readonly [Schema.Struct<{
6299
6329
  };
6300
6330
  readonly created: Schema.Finite;
6301
6331
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
6302
- readonly type: Schema.Literal<"catalog.updated">;
6332
+ readonly type: Schema.Literal<"provider.updated">;
6333
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
6334
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
6335
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
6336
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
6337
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
6338
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
6339
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
6340
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
6341
+ }>, never, never>;
6342
+ }>>>, Schema.optionalKey<Schema.Struct<{
6343
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
6344
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
6345
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
6346
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
6347
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
6348
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
6349
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
6350
+ }>, never, never>;
6351
+ }>>, never, never>;
6352
+ readonly data: Schema.Struct<{}>;
6353
+ }> & {
6354
+ type: "provider.updated";
6355
+ durability: "ephemeral";
6356
+ durable: undefined;
6357
+ data: Schema.Struct<{}>;
6358
+ }, Schema.Struct<{
6359
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
6360
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
6361
+ };
6362
+ readonly created: Schema.Finite;
6363
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
6364
+ readonly type: Schema.Literal<"model.updated">;
6303
6365
  readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
6304
6366
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
6305
6367
  readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
@@ -6321,7 +6383,7 @@ export declare const Definitions: readonly [Schema.Struct<{
6321
6383
  }>>, never, never>;
6322
6384
  readonly data: Schema.Struct<{}>;
6323
6385
  }> & {
6324
- type: "catalog.updated";
6386
+ type: "model.updated";
6325
6387
  durability: "ephemeral";
6326
6388
  durable: undefined;
6327
6389
  data: Schema.Struct<{}>;
@@ -6943,7 +7005,7 @@ export declare const Definitions: readonly [Schema.Struct<{
6943
7005
  };
6944
7006
  readonly created: Schema.Finite;
6945
7007
  readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
6946
- readonly type: Schema.Literal<"session.permissions.updated">;
7008
+ readonly type: Schema.Literal<"session.permissions">;
6947
7009
  readonly durable: Schema.Struct<{
6948
7010
  readonly aggregateID: Schema.String;
6949
7011
  readonly seq: Schema.brand<Schema.Int, "Event.Seq">;
@@ -6980,7 +7042,7 @@ export declare const Definitions: readonly [Schema.Struct<{
6980
7042
  };
6981
7043
  }>;
6982
7044
  }> & {
6983
- type: "session.permissions.updated";
7045
+ type: "session.permissions";
6984
7046
  durability: "durable";
6985
7047
  durable: {
6986
7048
  readonly version: number;
@@ -10767,7 +10829,6 @@ export declare const Definitions: readonly [Schema.Struct<{
10767
10829
  readonly time: Schema.Struct<{
10768
10830
  readonly created: Schema.Int;
10769
10831
  readonly updated: Schema.Int;
10770
- readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10771
10832
  }>;
10772
10833
  readonly sandboxes: Schema.$Array<Schema.String>;
10773
10834
  }>;
@@ -10799,7 +10860,6 @@ export declare const Definitions: readonly [Schema.Struct<{
10799
10860
  readonly time: Schema.Struct<{
10800
10861
  readonly created: Schema.Int;
10801
10862
  readonly updated: Schema.Int;
10802
- readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
10803
10863
  }>;
10804
10864
  readonly sandboxes: Schema.$Array<Schema.String>;
10805
10865
  }>;
@@ -1,7 +1,6 @@
1
1
  export * as EventManifest from "./event-manifest.js";
2
2
  import { Schema } from "effect";
3
3
  import { Agent } from "./agent.js";
4
- import { Catalog } from "./catalog.js";
5
4
  import { Command } from "./command.js";
6
5
  import { Config } from "./config.js";
7
6
  import { Credential } from "./credential.js";
@@ -15,11 +14,13 @@ import { Integration } from "./integration.js";
15
14
  import { LegacyEventV1 } from "./legacy-event.js";
16
15
  import { LspEvent } from "./lsp-event.js";
17
16
  import { McpEvent } from "./mcp-event.js";
17
+ import { Model } from "./model.js";
18
18
  import { ModelsDev } from "./models-dev.js";
19
19
  import { Permission } from "./permission.js";
20
20
  import { PersistentPty } from "./persistent-pty.js";
21
21
  import { Plugin } from "./plugin.js";
22
22
  import { Project } from "./project.js";
23
+ import { Provider } from "./provider.js";
23
24
  import { Worktree } from "./worktree.js";
24
25
  import { Pty } from "./pty.js";
25
26
  import { Reference } from "./reference.js";
@@ -35,7 +36,7 @@ import { WorkspaceEvent } from "./workspace-event.js";
35
36
  import { WorktreeEvent } from "./worktree-event.js";
36
37
  import { WebSearch } from "./websearch.js";
37
38
  const coreDefinitions = Event.inventory(...SessionEvent.Definitions);
38
- const foundationDefinitions = Event.inventory(...ModelsDev.Event.Definitions, ...Credential.Event.Definitions, ...Integration.Event.Definitions, ...Catalog.Event.Definitions, ...Agent.Event.Definitions, ...coreDefinitions);
39
+ const foundationDefinitions = Event.inventory(...ModelsDev.Event.Definitions, ...Credential.Event.Definitions, ...Integration.Event.Definitions, ...Provider.Event.Definitions, ...Model.Event.Definitions, ...Agent.Event.Definitions, ...coreDefinitions);
39
40
  const featureDefinitions = Event.inventory(...FileSystem.Event.Definitions, ...Reference.Event.Definitions, ...Permission.Event.Definitions, ...Plugin.Event.Definitions, ...Project.Event.Definitions, ...Worktree.Event.Definitions, ...Command.Event.Definitions, ...Config.Event.Definitions, ...Skill.Event.Definitions, ...Pty.Event.Definitions, ...PersistentPty.Event.Definitions, ...Shell.Event.Definitions, ...Form.Event.Definitions, ...WebSearch.Event.Definitions);
40
41
  export const ServerDefinitions = Event.inventory(...foundationDefinitions, ...featureDefinitions,
41
42
  // Current events the TUI consumes from the public stream.
package/dist/form.d.ts CHANGED
@@ -518,6 +518,138 @@ export declare const State: Schema.Union<readonly [Schema.Struct<{
518
518
  readonly status: Schema.Literal<"cancelled">;
519
519
  }>]>;
520
520
  export type State = typeof State.Type;
521
+ export declare const Detail: Schema.Struct<{
522
+ readonly state: Schema.Union<readonly [Schema.Struct<{
523
+ readonly status: Schema.Literal<"pending">;
524
+ }>, Schema.Struct<{
525
+ readonly status: Schema.Literal<"answered">;
526
+ readonly answer: Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.$Array<Schema.String>]>>;
527
+ }>, Schema.Struct<{
528
+ readonly status: Schema.Literal<"cancelled">;
529
+ }>]>;
530
+ readonly fields: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
531
+ readonly type: Schema.Literal<"string">;
532
+ readonly format: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["email", "uri", "date", "date-time"]>>>, Schema.optionalKey<Schema.Literals<readonly ["email", "uri", "date", "date-time"]>>, never, never>;
533
+ readonly minLength: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
534
+ readonly maxLength: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
535
+ readonly pattern: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
536
+ readonly placeholder: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
537
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
538
+ readonly options: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
539
+ readonly value: Schema.String;
540
+ readonly label: Schema.String;
541
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
542
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
543
+ readonly value: Schema.String;
544
+ readonly label: Schema.String;
545
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
546
+ }>>>, never, never>;
547
+ readonly custom: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
548
+ readonly key: Schema.String;
549
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
550
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
551
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
552
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
553
+ readonly key: Schema.String;
554
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
555
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
556
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
557
+ readonly key: Schema.String;
558
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
559
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
560
+ }>>>, never, never>;
561
+ }>, Schema.Struct<{
562
+ readonly type: Schema.Literal<"number">;
563
+ readonly minimum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
564
+ readonly maximum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
565
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
566
+ readonly key: Schema.String;
567
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
568
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
569
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
570
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
571
+ readonly key: Schema.String;
572
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
573
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
574
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
575
+ readonly key: Schema.String;
576
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
577
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
578
+ }>>>, never, never>;
579
+ }>, Schema.Struct<{
580
+ readonly type: Schema.Literal<"integer">;
581
+ readonly minimum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
582
+ readonly maximum: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
583
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
584
+ readonly key: Schema.String;
585
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
586
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
587
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
588
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
589
+ readonly key: Schema.String;
590
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
591
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
592
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
593
+ readonly key: Schema.String;
594
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
595
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
596
+ }>>>, never, never>;
597
+ }>, Schema.Struct<{
598
+ readonly type: Schema.Literal<"boolean">;
599
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
600
+ readonly key: Schema.String;
601
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
602
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
603
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
604
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
605
+ readonly key: Schema.String;
606
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
607
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
608
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
609
+ readonly key: Schema.String;
610
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
611
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
612
+ }>>>, never, never>;
613
+ }>, Schema.Struct<{
614
+ readonly type: Schema.Literal<"multiselect">;
615
+ readonly options: Schema.$Array<Schema.Struct<{
616
+ readonly value: Schema.String;
617
+ readonly label: Schema.String;
618
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
619
+ }>>;
620
+ readonly minItems: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
621
+ readonly maxItems: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
622
+ readonly custom: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
623
+ readonly default: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.String>>>, Schema.optionalKey<Schema.$Array<Schema.String>>, never, never>;
624
+ readonly key: Schema.String;
625
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
626
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
627
+ readonly required: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
628
+ readonly when: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
629
+ readonly key: Schema.String;
630
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
631
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
632
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
633
+ readonly key: Schema.String;
634
+ readonly op: Schema.Literals<readonly ["eq", "neq"]>;
635
+ readonly value: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean]>;
636
+ }>>>, never, never>;
637
+ }>, Schema.Struct<{
638
+ readonly key: Schema.String;
639
+ readonly type: Schema.Literal<"external">;
640
+ readonly url: Schema.String;
641
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
642
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
643
+ }>]>>;
644
+ readonly id: Schema.brand<Schema.String, "Form.ID"> & {
645
+ create: (id?: string) => string & import("effect/Brand").Brand<"Form.ID">;
646
+ };
647
+ readonly sessionID: Schema.String;
648
+ readonly title: Schema.String;
649
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
650
+ }>;
651
+ export interface Detail extends Schema.Schema.Type<typeof Detail> {
652
+ }
521
653
  export declare const Reply: Schema.Struct<{
522
654
  readonly answer: Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.$Array<Schema.String>]>>;
523
655
  }>;
package/dist/form.js CHANGED
@@ -111,6 +111,10 @@ export const State = Schema.Union([
111
111
  ])
112
112
  .pipe(Schema.toTaggedUnion("status"))
113
113
  .annotate({ identifier: "Form.State" });
114
+ export const Detail = Schema.Struct({
115
+ ...Info.fields,
116
+ state: State,
117
+ }).annotate({ identifier: "Form.Detail" });
114
118
  export const Reply = Schema.Struct({
115
119
  answer: Answer,
116
120
  }).annotate({ identifier: "Form.Reply" });
@@ -12,6 +12,11 @@ export declare const Ref: Schema.Struct<{
12
12
  create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
13
13
  }>, never, never>;
14
14
  }>;
15
+ export declare const PublicRef: Schema.Struct<{
16
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
17
+ }>;
18
+ export interface PublicRef extends Schema.Schema.Type<typeof PublicRef> {
19
+ }
15
20
  declare const Info_base: Schema.Class<Info, Schema.Struct<{
16
21
  readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
17
22
  readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
@@ -31,7 +36,21 @@ declare const Info_base: Schema.Class<Info, Schema.Struct<{
31
36
  }>, {}>;
32
37
  export declare class Info extends Info_base {
33
38
  }
39
+ export declare const PublicInfo: Schema.Struct<{
40
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
41
+ readonly project: Schema.Struct<{
42
+ readonly id: Schema.brand<Schema.String, "Project.ID"> & {
43
+ global: string & import("effect/Brand").Brand<"Project.ID">;
44
+ };
45
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
46
+ readonly canonical: Schema.brand<Schema.String, "AbsolutePath">;
47
+ }>;
48
+ }>;
49
+ export interface PublicInfo extends Schema.Schema.Type<typeof PublicInfo> {
50
+ }
34
51
  export declare function response<S extends Schema.Top>(data: S): Schema.Struct<{
35
- readonly location: typeof Info;
52
+ readonly location: Schema.Struct<{
53
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
54
+ }>;
36
55
  readonly data: S;
37
56
  }>;
package/dist/location.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export * as Location from "./location.js";
2
- import { Schema } from "effect";
2
+ import { Schema, Struct } from "effect";
3
3
  import { AbsolutePath, optional } from "./schema.js";
4
4
  import { ProjectID } from "./project-id.js";
5
5
  import { WorkspaceID } from "./workspace-id.js";
@@ -7,6 +7,9 @@ export const Ref = Schema.Struct({
7
7
  directory: AbsolutePath,
8
8
  workspaceID: optional(WorkspaceID),
9
9
  }).annotate({ identifier: "Location.Ref" });
10
+ export const PublicRef = Schema.Struct(Struct.omit(Ref.fields, ["workspaceID"])).annotate({
11
+ identifier: "Location.PublicRef",
12
+ });
10
13
  export class Info extends Schema.Class("Location.Info")({
11
14
  directory: AbsolutePath,
12
15
  workspaceID: optional(WorkspaceID),
@@ -17,6 +20,9 @@ export class Info extends Schema.Class("Location.Info")({
17
20
  }),
18
21
  }) {
19
22
  }
23
+ export const PublicInfo = Schema.Struct(Struct.omit(Info.fields, ["workspaceID"])).annotate({
24
+ identifier: "Location.PublicInfo",
25
+ });
20
26
  export function response(data) {
21
- return Schema.Struct({ location: Info, data });
27
+ return Schema.Struct({ location: PublicRef, data });
22
28
  }