@opencode-ai/schema 0.0.0-next-15070 → 0.0.0-next-15073

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.
@@ -15224,6 +15224,42 @@ export declare const Definitions: readonly [Schema.Struct<{
15224
15224
  data: Schema.Struct<{
15225
15225
  readonly server: Schema.String;
15226
15226
  }>;
15227
+ }, Schema.Struct<{
15228
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
15229
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
15230
+ };
15231
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
15232
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
15233
+ readonly type: Schema.Literal<"mcp.resources.changed">;
15234
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
15235
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
15236
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
15237
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
15238
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
15239
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
15240
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
15241
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
15242
+ }>, never, never>;
15243
+ }>>>, Schema.optionalKey<Schema.Struct<{
15244
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
15245
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
15246
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
15247
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
15248
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
15249
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
15250
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
15251
+ }>, never, never>;
15252
+ }>>, never, never>;
15253
+ readonly data: Schema.Struct<{
15254
+ readonly server: Schema.String;
15255
+ }>;
15256
+ }> & {
15257
+ type: "mcp.resources.changed";
15258
+ durability: "ephemeral";
15259
+ durable: undefined;
15260
+ data: Schema.Struct<{
15261
+ readonly server: Schema.String;
15262
+ }>;
15227
15263
  }, Schema.Struct<{
15228
15264
  readonly id: Schema.brand<Schema.String, "Event.ID"> & {
15229
15265
  create: () => string & import("effect/Brand").Brand<"Event.ID">;
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export { Form } from "./form.js";
9
9
  export { Integration } from "./integration.js";
10
10
  export { LLM } from "./llm.js";
11
11
  export { Location } from "./location.js";
12
+ export { Mcp } from "./mcp.js";
12
13
  export { Model } from "./model.js";
13
14
  export { Permission } from "./permission.js";
14
15
  export { PermissionSaved } from "./permission-saved.js";
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ export { Form } from "./form.js";
9
9
  export { Integration } from "./integration.js";
10
10
  export { LLM } from "./llm.js";
11
11
  export { Location } from "./location.js";
12
+ export { Mcp } from "./mcp.js";
12
13
  export { Model } from "./model.js";
13
14
  export { Permission } from "./permission.js";
14
15
  export { PermissionSaved } from "./permission-saved.js";
@@ -37,6 +37,43 @@ export declare const ToolsChanged: Schema.Struct<{
37
37
  readonly server: Schema.String;
38
38
  }>;
39
39
  };
40
+ export declare const ResourcesChanged: Schema.Struct<{
41
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
42
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
43
+ };
44
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
45
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
46
+ readonly type: Schema.Literal<"mcp.resources.changed">;
47
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
48
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
49
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
50
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
51
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
52
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
53
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
54
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
55
+ }>, never, never>;
56
+ }>>>, Schema.optionalKey<Schema.Struct<{
57
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
58
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
59
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
60
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
61
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
62
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
63
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
64
+ }>, never, never>;
65
+ }>>, never, never>;
66
+ readonly data: Schema.Struct<{
67
+ readonly server: Schema.String;
68
+ }>;
69
+ }> & {
70
+ type: "mcp.resources.changed";
71
+ durability: "ephemeral";
72
+ durable: undefined;
73
+ data: Schema.Struct<{
74
+ readonly server: Schema.String;
75
+ }>;
76
+ };
40
77
  export declare const BrowserOpenFailed: Schema.Struct<{
41
78
  readonly id: Schema.brand<Schema.String, "Event.ID"> & {
42
79
  create: () => string & import("effect/Brand").Brand<"Event.ID">;
@@ -149,6 +186,42 @@ export declare const Definitions: readonly [Schema.Struct<{
149
186
  data: Schema.Struct<{
150
187
  readonly server: Schema.String;
151
188
  }>;
189
+ }, Schema.Struct<{
190
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
191
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
192
+ };
193
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
194
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
195
+ readonly type: Schema.Literal<"mcp.resources.changed">;
196
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
197
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
198
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
199
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
200
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
201
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
202
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
203
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
204
+ }>, never, never>;
205
+ }>>>, Schema.optionalKey<Schema.Struct<{
206
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
207
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
208
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
209
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
210
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
211
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
212
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
213
+ }>, never, never>;
214
+ }>>, never, never>;
215
+ readonly data: Schema.Struct<{
216
+ readonly server: Schema.String;
217
+ }>;
218
+ }> & {
219
+ type: "mcp.resources.changed";
220
+ durability: "ephemeral";
221
+ durable: undefined;
222
+ data: Schema.Struct<{
223
+ readonly server: Schema.String;
224
+ }>;
152
225
  }, Schema.Struct<{
153
226
  readonly id: Schema.brand<Schema.String, "Event.ID"> & {
154
227
  create: () => string & import("effect/Brand").Brand<"Event.ID">;
package/dist/mcp-event.js CHANGED
@@ -7,6 +7,12 @@ export const ToolsChanged = Event.ephemeral({
7
7
  server: Schema.String,
8
8
  },
9
9
  });
10
+ export const ResourcesChanged = Event.ephemeral({
11
+ type: "mcp.resources.changed",
12
+ schema: {
13
+ server: Schema.String,
14
+ },
15
+ });
10
16
  export const BrowserOpenFailed = Event.ephemeral({
11
17
  type: "mcp.browser.open.failed",
12
18
  schema: {
@@ -22,4 +28,4 @@ export const StatusChanged = Event.ephemeral({
22
28
  server: Schema.String,
23
29
  },
24
30
  });
25
- export const Definitions = Event.inventory(ToolsChanged, StatusChanged);
31
+ export const Definitions = Event.inventory(ToolsChanged, ResourcesChanged, StatusChanged);
package/dist/mcp.d.ts CHANGED
@@ -37,3 +37,68 @@ export declare const Server: Schema.Struct<{
37
37
  }>]>;
38
38
  readonly integrationID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Integration.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Integration.ID">>, never, never>;
39
39
  }>;
40
+ export interface Resource extends Schema.Schema.Type<typeof Resource> {
41
+ }
42
+ export declare const Resource: Schema.Struct<{
43
+ readonly server: Schema.String;
44
+ readonly name: Schema.String;
45
+ readonly uri: Schema.String;
46
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
47
+ readonly mimeType: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
48
+ }>;
49
+ export interface ResourceTemplate extends Schema.Schema.Type<typeof ResourceTemplate> {
50
+ }
51
+ export declare const ResourceTemplate: Schema.Struct<{
52
+ readonly server: Schema.String;
53
+ readonly name: Schema.String;
54
+ readonly uriTemplate: Schema.String;
55
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
56
+ readonly mimeType: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
57
+ }>;
58
+ export interface ResourceCatalog extends Schema.Schema.Type<typeof ResourceCatalog> {
59
+ }
60
+ export declare const ResourceCatalog: Schema.Struct<{
61
+ readonly resources: Schema.$Array<Schema.Struct<{
62
+ readonly server: Schema.String;
63
+ readonly name: Schema.String;
64
+ readonly uri: Schema.String;
65
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
66
+ readonly mimeType: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
67
+ }>>;
68
+ readonly templates: Schema.$Array<Schema.Struct<{
69
+ readonly server: Schema.String;
70
+ readonly name: Schema.String;
71
+ readonly uriTemplate: Schema.String;
72
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
73
+ readonly mimeType: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
74
+ }>>;
75
+ }>;
76
+ export declare const ResourceContentPart: Schema.Union<readonly [Schema.Struct<{
77
+ readonly type: Schema.Literal<"text">;
78
+ readonly uri: Schema.String;
79
+ readonly text: Schema.String;
80
+ readonly mimeType: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
81
+ }>, Schema.Struct<{
82
+ readonly type: Schema.Literal<"blob">;
83
+ readonly uri: Schema.String;
84
+ readonly blob: Schema.String;
85
+ readonly mimeType: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
86
+ }>]>;
87
+ export type ResourceContentPart = typeof ResourceContentPart.Type;
88
+ export interface ResourceContent extends Schema.Schema.Type<typeof ResourceContent> {
89
+ }
90
+ export declare const ResourceContent: Schema.Struct<{
91
+ readonly server: Schema.String;
92
+ readonly uri: Schema.String;
93
+ readonly contents: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
94
+ readonly type: Schema.Literal<"text">;
95
+ readonly uri: Schema.String;
96
+ readonly text: Schema.String;
97
+ readonly mimeType: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
98
+ }>, Schema.Struct<{
99
+ readonly type: Schema.Literal<"blob">;
100
+ readonly uri: Schema.String;
101
+ readonly blob: Schema.String;
102
+ readonly mimeType: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
103
+ }>]>>;
104
+ }>;
package/dist/mcp.js CHANGED
@@ -21,14 +21,7 @@ const NeedsClientRegistration = Schema.Struct({
21
21
  status: Schema.Literal("needs_client_registration"),
22
22
  error: Schema.String,
23
23
  }).annotate({ identifier: "Mcp.Status.NeedsClientRegistration" });
24
- export const Status = Schema.Union([
25
- Connected,
26
- Pending,
27
- Disabled,
28
- Failed,
29
- NeedsAuth,
30
- NeedsClientRegistration,
31
- ]).pipe(Schema.toTaggedUnion("status"));
24
+ export const Status = Schema.Union([Connected, Pending, Disabled, Failed, NeedsAuth, NeedsClientRegistration]).pipe(Schema.toTaggedUnion("status"));
32
25
  export const Server = Schema.Struct({
33
26
  name: Schema.String,
34
27
  status: Status,
@@ -36,3 +29,40 @@ export const Server = Schema.Struct({
36
29
  // without matching by name, which could collide with provider or plugin integrations.
37
30
  integrationID: optional(IntegrationID),
38
31
  }).annotate({ identifier: "Mcp.Server" });
32
+ export const Resource = Schema.Struct({
33
+ server: Schema.String,
34
+ name: Schema.String,
35
+ uri: Schema.String,
36
+ description: optional(Schema.String),
37
+ mimeType: optional(Schema.String),
38
+ }).annotate({ identifier: "Mcp.Resource" });
39
+ export const ResourceTemplate = Schema.Struct({
40
+ server: Schema.String,
41
+ name: Schema.String,
42
+ uriTemplate: Schema.String,
43
+ description: optional(Schema.String),
44
+ mimeType: optional(Schema.String),
45
+ }).annotate({ identifier: "Mcp.ResourceTemplate" });
46
+ export const ResourceCatalog = Schema.Struct({
47
+ resources: Schema.Array(Resource),
48
+ templates: Schema.Array(ResourceTemplate),
49
+ }).annotate({ identifier: "Mcp.ResourceCatalog" });
50
+ export const ResourceContentPart = Schema.Union([
51
+ Schema.Struct({
52
+ type: Schema.Literal("text"),
53
+ uri: Schema.String,
54
+ text: Schema.String,
55
+ mimeType: optional(Schema.String),
56
+ }),
57
+ Schema.Struct({
58
+ type: Schema.Literal("blob"),
59
+ uri: Schema.String,
60
+ blob: Schema.String,
61
+ mimeType: optional(Schema.String),
62
+ }),
63
+ ]).pipe(Schema.toTaggedUnion("type"), Schema.annotate({ identifier: "Mcp.ResourceContentPart" }));
64
+ export const ResourceContent = Schema.Struct({
65
+ server: Schema.String,
66
+ uri: Schema.String,
67
+ contents: Schema.Array(ResourceContentPart),
68
+ }).annotate({ identifier: "Mcp.ResourceContent" });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@opencode-ai/schema",
4
- "version": "0.0.0-next-15070",
4
+ "version": "0.0.0-next-15073",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {