@opencode-ai/schema 0.0.0-next-14659

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.
Files changed (133) hide show
  1. package/dist/agent.d.ts +175 -0
  2. package/dist/agent.js +43 -0
  3. package/dist/catalog.d.ts +89 -0
  4. package/dist/catalog.js +4 -0
  5. package/dist/command.d.ts +44 -0
  6. package/dist/command.js +12 -0
  7. package/dist/connection.d.ts +28 -0
  8. package/dist/connection.js +15 -0
  9. package/dist/credential.d.ts +36 -0
  10. package/dist/credential.js +23 -0
  11. package/dist/durable-event-manifest.d.ts +10626 -0
  12. package/dist/durable-event-manifest.js +12 -0
  13. package/dist/event-manifest.d.ts +15309 -0
  14. package/dist/event-manifest.js +43 -0
  15. package/dist/event.d.ts +82 -0
  16. package/dist/event.js +73 -0
  17. package/dist/file-diff.d.ts +11 -0
  18. package/dist/file-diff.js +10 -0
  19. package/dist/filesystem-watcher.d.ts +102 -0
  20. package/dist/filesystem-watcher.js +11 -0
  21. package/dist/filesystem.d.ts +134 -0
  22. package/dist/filesystem.js +32 -0
  23. package/dist/ide-event.d.ts +96 -0
  24. package/dist/ide-event.js +10 -0
  25. package/dist/identifier.d.ts +3 -0
  26. package/dist/identifier.js +24 -0
  27. package/dist/index.d.ts +29 -0
  28. package/dist/index.js +29 -0
  29. package/dist/installation-event.d.ts +189 -0
  30. package/dist/installation-event.js +16 -0
  31. package/dist/integration-id.d.ts +5 -0
  32. package/dist/integration-id.js +3 -0
  33. package/dist/integration.d.ts +572 -0
  34. package/dist/integration.js +93 -0
  35. package/dist/legacy-event.d.ts +1 -0
  36. package/dist/legacy-event.js +1 -0
  37. package/dist/llm.d.ts +28 -0
  38. package/dist/llm.js +19 -0
  39. package/dist/location.d.ts +36 -0
  40. package/dist/location.js +21 -0
  41. package/dist/lsp-event.d.ts +87 -0
  42. package/dist/lsp-event.js +4 -0
  43. package/dist/mcp-event.d.ts +286 -0
  44. package/dist/mcp-event.js +25 -0
  45. package/dist/mcp.d.ts +39 -0
  46. package/dist/mcp.js +38 -0
  47. package/dist/model.d.ts +205 -0
  48. package/dist/model.js +86 -0
  49. package/dist/models-dev.d.ts +89 -0
  50. package/dist/models-dev.js +7 -0
  51. package/dist/permission-saved.d.ts +18 -0
  52. package/dist/permission-saved.js +12 -0
  53. package/dist/permission-v1.d.ts +1 -0
  54. package/dist/permission-v1.js +1 -0
  55. package/dist/permission.d.ts +346 -0
  56. package/dist/permission.js +45 -0
  57. package/dist/plugin.d.ts +105 -0
  58. package/dist/plugin.js +12 -0
  59. package/dist/project-copy.d.ts +29 -0
  60. package/dist/project-copy.js +21 -0
  61. package/dist/project-directories.d.ts +105 -0
  62. package/dist/project-directories.js +8 -0
  63. package/dist/project-id.d.ts +5 -0
  64. package/dist/project-id.js +3 -0
  65. package/dist/project.d.ts +278 -0
  66. package/dist/project.js +44 -0
  67. package/dist/prompt-input.d.ts +106 -0
  68. package/dist/prompt-input.js +19 -0
  69. package/dist/prompt.d.ts +177 -0
  70. package/dist/prompt.js +43 -0
  71. package/dist/provider.d.ts +111 -0
  72. package/dist/provider.js +53 -0
  73. package/dist/pty-ticket.d.ts +8 -0
  74. package/dist/pty-ticket.js +7 -0
  75. package/dist/pty.d.ts +542 -0
  76. package/dist/pty.js +43 -0
  77. package/dist/question-v1.d.ts +1 -0
  78. package/dist/question-v1.js +1 -0
  79. package/dist/question.d.ts +516 -0
  80. package/dist/question.js +64 -0
  81. package/dist/reference.d.ts +140 -0
  82. package/dist/reference.js +31 -0
  83. package/dist/revert.d.ts +34 -0
  84. package/dist/revert.js +19 -0
  85. package/dist/schema.d.ts +10 -0
  86. package/dist/schema.js +14 -0
  87. package/dist/server-event.d.ts +172 -0
  88. package/dist/server-event.js +5 -0
  89. package/dist/session-compaction-event.d.ts +107 -0
  90. package/dist/session-compaction-event.js +10 -0
  91. package/dist/session-delivery.d.ts +4 -0
  92. package/dist/session-delivery.js +3 -0
  93. package/dist/session-event.d.ts +14225 -0
  94. package/dist/session-event.js +421 -0
  95. package/dist/session-id.d.ts +6 -0
  96. package/dist/session-id.js +10 -0
  97. package/dist/session-input.d.ts +145 -0
  98. package/dist/session-input.js +18 -0
  99. package/dist/session-message.d.ts +1318 -0
  100. package/dist/session-message.js +171 -0
  101. package/dist/session-status-event.d.ts +339 -0
  102. package/dist/session-status-event.js +43 -0
  103. package/dist/session-todo.d.ts +137 -0
  104. package/dist/session-todo.js +21 -0
  105. package/dist/session-v1.d.ts +1 -0
  106. package/dist/session-v1.js +1 -0
  107. package/dist/session.d.ts +140 -0
  108. package/dist/session.js +43 -0
  109. package/dist/shell.d.ts +441 -0
  110. package/dist/shell.js +58 -0
  111. package/dist/skill.d.ts +146 -0
  112. package/dist/skill.js +45 -0
  113. package/dist/tui-event.d.ts +387 -0
  114. package/dist/tui-event.js +53 -0
  115. package/dist/v1/legacy-event.d.ts +128 -0
  116. package/dist/v1/legacy-event.js +15 -0
  117. package/dist/v1/permission.d.ts +356 -0
  118. package/dist/v1/permission.js +41 -0
  119. package/dist/v1/question.d.ts +504 -0
  120. package/dist/v1/question.js +57 -0
  121. package/dist/v1/session.d.ts +7775 -0
  122. package/dist/v1/session.js +535 -0
  123. package/dist/vcs-event.d.ts +96 -0
  124. package/dist/vcs-event.js +11 -0
  125. package/dist/workspace-event.d.ts +307 -0
  126. package/dist/workspace-event.js +25 -0
  127. package/dist/workspace-id.d.ts +6 -0
  128. package/dist/workspace-id.js +16 -0
  129. package/dist/workspace.d.ts +9 -0
  130. package/dist/workspace.js +5 -0
  131. package/dist/worktree-event.d.ts +193 -0
  132. package/dist/worktree-event.js +18 -0
  133. package/package.json +41 -0
@@ -0,0 +1,105 @@
1
+ export * as ProjectDirectories from "./project-directories.js";
2
+ export declare const Event: {
3
+ Updated: import("effect/Schema").Struct<{
4
+ readonly id: import("effect/Schema").brand<import("effect/Schema").String, "Event.ID"> & {
5
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
6
+ };
7
+ readonly metadata: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>, never, never>;
8
+ readonly type: import("effect/Schema").Literal<"project.directories.updated">;
9
+ readonly durable: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Struct<{
10
+ readonly aggregateID: import("effect/Schema").String;
11
+ readonly seq: import("effect/Schema").Int;
12
+ readonly version: import("effect/Schema").Int;
13
+ }>>>, import("effect/Schema").optionalKey<import("effect/Schema").Struct<{
14
+ readonly aggregateID: import("effect/Schema").String;
15
+ readonly seq: import("effect/Schema").Int;
16
+ readonly version: import("effect/Schema").Int;
17
+ }>>, never, never>;
18
+ readonly location: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Struct<{
19
+ readonly directory: import("effect/Schema").brand<import("effect/Schema").String, "AbsolutePath">;
20
+ readonly workspaceID: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").brand<import("effect/Schema").String, "WorkspaceV2.ID"> & {
21
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
22
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
23
+ }>>, import("effect/Schema").optionalKey<import("effect/Schema").brand<import("effect/Schema").String, "WorkspaceV2.ID"> & {
24
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
25
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
26
+ }>, never, never>;
27
+ }>>>, import("effect/Schema").optionalKey<import("effect/Schema").Struct<{
28
+ readonly directory: import("effect/Schema").brand<import("effect/Schema").String, "AbsolutePath">;
29
+ readonly workspaceID: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").brand<import("effect/Schema").String, "WorkspaceV2.ID"> & {
30
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
31
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
32
+ }>>, import("effect/Schema").optionalKey<import("effect/Schema").brand<import("effect/Schema").String, "WorkspaceV2.ID"> & {
33
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
34
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
35
+ }>, never, never>;
36
+ }>>, never, never>;
37
+ readonly data: import("effect/Schema").Struct<{
38
+ readonly projectID: import("effect/Schema").brand<import("effect/Schema").String, "Project.ID"> & {
39
+ global: string & import("effect/Brand").Brand<"Project.ID">;
40
+ };
41
+ }>;
42
+ }> & {
43
+ data: import("effect/Schema").Struct<{
44
+ readonly projectID: import("effect/Schema").brand<import("effect/Schema").String, "Project.ID"> & {
45
+ global: string & import("effect/Brand").Brand<"Project.ID">;
46
+ };
47
+ }>;
48
+ durable?: {
49
+ readonly version: number;
50
+ readonly aggregate: string;
51
+ } | undefined;
52
+ type: "project.directories.updated";
53
+ };
54
+ Definitions: readonly [import("effect/Schema").Struct<{
55
+ readonly id: import("effect/Schema").brand<import("effect/Schema").String, "Event.ID"> & {
56
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
57
+ };
58
+ readonly metadata: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>>, import("effect/Schema").optionalKey<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Unknown>>, never, never>;
59
+ readonly type: import("effect/Schema").Literal<"project.directories.updated">;
60
+ readonly durable: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Struct<{
61
+ readonly aggregateID: import("effect/Schema").String;
62
+ readonly seq: import("effect/Schema").Int;
63
+ readonly version: import("effect/Schema").Int;
64
+ }>>>, import("effect/Schema").optionalKey<import("effect/Schema").Struct<{
65
+ readonly aggregateID: import("effect/Schema").String;
66
+ readonly seq: import("effect/Schema").Int;
67
+ readonly version: import("effect/Schema").Int;
68
+ }>>, never, never>;
69
+ readonly location: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Struct<{
70
+ readonly directory: import("effect/Schema").brand<import("effect/Schema").String, "AbsolutePath">;
71
+ readonly workspaceID: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").brand<import("effect/Schema").String, "WorkspaceV2.ID"> & {
72
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
73
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
74
+ }>>, import("effect/Schema").optionalKey<import("effect/Schema").brand<import("effect/Schema").String, "WorkspaceV2.ID"> & {
75
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
76
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
77
+ }>, never, never>;
78
+ }>>>, import("effect/Schema").optionalKey<import("effect/Schema").Struct<{
79
+ readonly directory: import("effect/Schema").brand<import("effect/Schema").String, "AbsolutePath">;
80
+ readonly workspaceID: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").brand<import("effect/Schema").String, "WorkspaceV2.ID"> & {
81
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
82
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
83
+ }>>, import("effect/Schema").optionalKey<import("effect/Schema").brand<import("effect/Schema").String, "WorkspaceV2.ID"> & {
84
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
85
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
86
+ }>, never, never>;
87
+ }>>, never, never>;
88
+ readonly data: import("effect/Schema").Struct<{
89
+ readonly projectID: import("effect/Schema").brand<import("effect/Schema").String, "Project.ID"> & {
90
+ global: string & import("effect/Brand").Brand<"Project.ID">;
91
+ };
92
+ }>;
93
+ }> & {
94
+ data: import("effect/Schema").Struct<{
95
+ readonly projectID: import("effect/Schema").brand<import("effect/Schema").String, "Project.ID"> & {
96
+ global: string & import("effect/Brand").Brand<"Project.ID">;
97
+ };
98
+ }>;
99
+ durable?: {
100
+ readonly version: number;
101
+ readonly aggregate: string;
102
+ } | undefined;
103
+ type: "project.directories.updated";
104
+ }];
105
+ };
@@ -0,0 +1,8 @@
1
+ export * as ProjectDirectories from "./project-directories.js";
2
+ import { define, inventory } from "./event.js";
3
+ import { Project } from "./project.js";
4
+ const Updated = define({
5
+ type: "project.directories.updated",
6
+ schema: { projectID: Project.ID },
7
+ });
8
+ export const Event = { Updated, Definitions: inventory(Updated) };
@@ -0,0 +1,5 @@
1
+ import { Schema } from "effect";
2
+ export declare const ProjectID: Schema.brand<Schema.String, "Project.ID"> & {
3
+ global: string & import("effect/Brand").Brand<"Project.ID">;
4
+ };
5
+ export type ProjectID = typeof ProjectID.Type;
@@ -0,0 +1,3 @@
1
+ import { Schema } from "effect";
2
+ import { statics } from "./schema.js";
3
+ export const ProjectID = Schema.String.pipe(Schema.brand("Project.ID"), statics((schema) => ({ global: schema.make("global") })));
@@ -0,0 +1,278 @@
1
+ export * as Project from "./project.js";
2
+ import { Schema } from "effect";
3
+ export declare const ID: Schema.brand<Schema.String, "Project.ID"> & {
4
+ global: string & import("effect/Brand").Brand<"Project.ID">;
5
+ };
6
+ export type ID = typeof ID.Type;
7
+ export declare const Vcs: Schema.Literal<"git">;
8
+ export declare const Current: Schema.Struct<{
9
+ readonly id: Schema.brand<Schema.String, "Project.ID"> & {
10
+ global: string & import("effect/Brand").Brand<"Project.ID">;
11
+ };
12
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
13
+ }>;
14
+ export interface Current extends Schema.Schema.Type<typeof Current> {
15
+ }
16
+ export declare const Directory: Schema.Struct<{
17
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
18
+ readonly strategy: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
19
+ }>;
20
+ export interface Directory extends Schema.Schema.Type<typeof Directory> {
21
+ }
22
+ export declare const DirectoriesInput: Schema.Struct<{
23
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
24
+ global: string & import("effect/Brand").Brand<"Project.ID">;
25
+ };
26
+ }>;
27
+ export interface DirectoriesInput extends Schema.Schema.Type<typeof DirectoriesInput> {
28
+ }
29
+ export declare const Directories: Schema.$Array<Schema.Struct<{
30
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
31
+ readonly strategy: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
32
+ }>>;
33
+ export type Directories = typeof Directories.Type;
34
+ export declare const Icon: Schema.Struct<{
35
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
36
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
37
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
38
+ }>;
39
+ export interface Icon extends Schema.Schema.Type<typeof Icon> {
40
+ }
41
+ export declare const Commands: Schema.Struct<{
42
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
43
+ }>;
44
+ export interface Commands extends Schema.Schema.Type<typeof Commands> {
45
+ }
46
+ export declare const Time: Schema.Struct<{
47
+ readonly created: Schema.Int;
48
+ readonly updated: Schema.Int;
49
+ readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
50
+ }>;
51
+ export interface Time extends Schema.Schema.Type<typeof Time> {
52
+ }
53
+ export declare const Info: Schema.Struct<{
54
+ readonly id: Schema.brand<Schema.String, "Project.ID"> & {
55
+ global: string & import("effect/Brand").Brand<"Project.ID">;
56
+ };
57
+ readonly worktree: Schema.String;
58
+ readonly vcs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literal<"git">>>, Schema.optionalKey<Schema.Literal<"git">>, never, never>;
59
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
60
+ readonly icon: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
61
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
62
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
63
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
64
+ }>>>, Schema.optionalKey<Schema.Struct<{
65
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
66
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
67
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
68
+ }>>, never, never>;
69
+ readonly commands: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
70
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
71
+ }>>>, Schema.optionalKey<Schema.Struct<{
72
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
73
+ }>>, never, never>;
74
+ readonly time: Schema.Struct<{
75
+ readonly created: Schema.Int;
76
+ readonly updated: Schema.Int;
77
+ readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
78
+ }>;
79
+ readonly sandboxes: Schema.$Array<Schema.String>;
80
+ }>;
81
+ export interface Info extends Schema.Schema.Type<typeof Info> {
82
+ }
83
+ export declare const Event: {
84
+ Updated: Schema.Struct<{
85
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
86
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
87
+ };
88
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
89
+ readonly type: Schema.Literal<"project.updated">;
90
+ readonly durable: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
91
+ readonly aggregateID: Schema.String;
92
+ readonly seq: Schema.Int;
93
+ readonly version: Schema.Int;
94
+ }>>>, Schema.optionalKey<Schema.Struct<{
95
+ readonly aggregateID: Schema.String;
96
+ readonly seq: Schema.Int;
97
+ readonly version: Schema.Int;
98
+ }>>, never, never>;
99
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
100
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
101
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
102
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
103
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
104
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
105
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
106
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
107
+ }>, never, never>;
108
+ }>>>, Schema.optionalKey<Schema.Struct<{
109
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
110
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
111
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
112
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
113
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
114
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
115
+ create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
116
+ }>, never, never>;
117
+ }>>, never, never>;
118
+ readonly data: Schema.Struct<{
119
+ readonly id: Schema.brand<Schema.String, "Project.ID"> & {
120
+ global: string & import("effect/Brand").Brand<"Project.ID">;
121
+ };
122
+ readonly worktree: Schema.String;
123
+ readonly vcs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literal<"git">>>, Schema.optionalKey<Schema.Literal<"git">>, never, never>;
124
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
125
+ readonly icon: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
126
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
127
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
128
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
129
+ }>>>, Schema.optionalKey<Schema.Struct<{
130
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
131
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
132
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
133
+ }>>, never, never>;
134
+ readonly commands: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
135
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
136
+ }>>>, Schema.optionalKey<Schema.Struct<{
137
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
138
+ }>>, never, never>;
139
+ readonly time: Schema.Struct<{
140
+ readonly created: Schema.Int;
141
+ readonly updated: Schema.Int;
142
+ readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
143
+ }>;
144
+ readonly sandboxes: Schema.$Array<Schema.String>;
145
+ }>;
146
+ }> & {
147
+ data: Schema.Struct<{
148
+ readonly id: Schema.brand<Schema.String, "Project.ID"> & {
149
+ global: string & import("effect/Brand").Brand<"Project.ID">;
150
+ };
151
+ readonly worktree: Schema.String;
152
+ readonly vcs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literal<"git">>>, Schema.optionalKey<Schema.Literal<"git">>, never, never>;
153
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
154
+ readonly icon: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
155
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
156
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
157
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
158
+ }>>>, Schema.optionalKey<Schema.Struct<{
159
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
160
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
161
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
162
+ }>>, never, never>;
163
+ readonly commands: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
164
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
165
+ }>>>, Schema.optionalKey<Schema.Struct<{
166
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
167
+ }>>, never, never>;
168
+ readonly time: Schema.Struct<{
169
+ readonly created: Schema.Int;
170
+ readonly updated: Schema.Int;
171
+ readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
172
+ }>;
173
+ readonly sandboxes: Schema.$Array<Schema.String>;
174
+ }>;
175
+ durable?: {
176
+ readonly version: number;
177
+ readonly aggregate: string;
178
+ } | undefined;
179
+ type: "project.updated";
180
+ };
181
+ Definitions: readonly [Schema.Struct<{
182
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
183
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
184
+ };
185
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
186
+ readonly type: Schema.Literal<"project.updated">;
187
+ readonly durable: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
188
+ readonly aggregateID: Schema.String;
189
+ readonly seq: Schema.Int;
190
+ readonly version: Schema.Int;
191
+ }>>>, Schema.optionalKey<Schema.Struct<{
192
+ readonly aggregateID: Schema.String;
193
+ readonly seq: Schema.Int;
194
+ readonly version: Schema.Int;
195
+ }>>, never, never>;
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 id: Schema.brand<Schema.String, "Project.ID"> & {
217
+ global: string & import("effect/Brand").Brand<"Project.ID">;
218
+ };
219
+ readonly worktree: Schema.String;
220
+ readonly vcs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literal<"git">>>, Schema.optionalKey<Schema.Literal<"git">>, never, never>;
221
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
222
+ readonly icon: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
223
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
224
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
225
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
226
+ }>>>, Schema.optionalKey<Schema.Struct<{
227
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
228
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
229
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
230
+ }>>, never, never>;
231
+ readonly commands: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
232
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
233
+ }>>>, Schema.optionalKey<Schema.Struct<{
234
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
235
+ }>>, never, never>;
236
+ readonly time: Schema.Struct<{
237
+ readonly created: Schema.Int;
238
+ readonly updated: Schema.Int;
239
+ readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
240
+ }>;
241
+ readonly sandboxes: Schema.$Array<Schema.String>;
242
+ }>;
243
+ }> & {
244
+ data: Schema.Struct<{
245
+ readonly id: Schema.brand<Schema.String, "Project.ID"> & {
246
+ global: string & import("effect/Brand").Brand<"Project.ID">;
247
+ };
248
+ readonly worktree: Schema.String;
249
+ readonly vcs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literal<"git">>>, Schema.optionalKey<Schema.Literal<"git">>, never, never>;
250
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
251
+ readonly icon: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
252
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
253
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
254
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
255
+ }>>>, Schema.optionalKey<Schema.Struct<{
256
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
257
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
258
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
259
+ }>>, never, never>;
260
+ readonly commands: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
261
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
262
+ }>>>, Schema.optionalKey<Schema.Struct<{
263
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
264
+ }>>, never, never>;
265
+ readonly time: Schema.Struct<{
266
+ readonly created: Schema.Int;
267
+ readonly updated: Schema.Int;
268
+ readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
269
+ }>;
270
+ readonly sandboxes: Schema.$Array<Schema.String>;
271
+ }>;
272
+ durable?: {
273
+ readonly version: number;
274
+ readonly aggregate: string;
275
+ } | undefined;
276
+ type: "project.updated";
277
+ }];
278
+ };
@@ -0,0 +1,44 @@
1
+ export * as Project from "./project.js";
2
+ import { Schema } from "effect";
3
+ import { define, inventory } from "./event.js";
4
+ import { AbsolutePath, NonNegativeInt, optional } from "./schema.js";
5
+ import { ProjectID } from "./project-id.js";
6
+ export const ID = ProjectID;
7
+ export const Vcs = Schema.Literal("git").annotate({ identifier: "Project.Vcs" });
8
+ export const Current = Schema.Struct({
9
+ id: ID,
10
+ directory: AbsolutePath,
11
+ }).annotate({ identifier: "Project.Current" });
12
+ export const Directory = Schema.Struct({
13
+ directory: AbsolutePath,
14
+ strategy: optional(Schema.String),
15
+ }).annotate({ identifier: "Project.Directory" });
16
+ export const DirectoriesInput = Schema.Struct({
17
+ projectID: ID,
18
+ }).annotate({ identifier: "Project.DirectoriesInput" });
19
+ export const Directories = Schema.Array(Directory).annotate({ identifier: "Project.Directories" });
20
+ export const Icon = Schema.Struct({
21
+ url: optional(Schema.String),
22
+ override: optional(Schema.String),
23
+ color: optional(Schema.String),
24
+ }).annotate({ identifier: "Project.Icon" });
25
+ export const Commands = Schema.Struct({
26
+ start: optional(Schema.String.annotate({ description: "Startup script to run when creating a new workspace (worktree)" })),
27
+ }).annotate({ identifier: "Project.Commands" });
28
+ export const Time = Schema.Struct({
29
+ created: NonNegativeInt,
30
+ updated: NonNegativeInt,
31
+ initialized: optional(NonNegativeInt),
32
+ }).annotate({ identifier: "Project.Time" });
33
+ export const Info = Schema.Struct({
34
+ id: ID,
35
+ worktree: Schema.String,
36
+ vcs: optional(Vcs),
37
+ name: optional(Schema.String),
38
+ icon: optional(Icon),
39
+ commands: optional(Commands),
40
+ time: Time,
41
+ sandboxes: Schema.Array(Schema.String),
42
+ }).annotate({ identifier: "Project" });
43
+ const Updated = define({ type: "project.updated", schema: Info.fields });
44
+ export const Event = { Updated, Definitions: inventory(Updated) };
@@ -0,0 +1,106 @@
1
+ export * as PromptInput from "./prompt-input.js";
2
+ import { Schema } from "effect";
3
+ export interface FileAttachment extends Schema.Schema.Type<typeof FileAttachment> {
4
+ }
5
+ export declare const FileAttachment: Schema.Struct<{
6
+ readonly uri: Schema.String;
7
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
8
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
9
+ readonly source: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
10
+ readonly start: Schema.Finite;
11
+ readonly end: Schema.Finite;
12
+ readonly text: Schema.String;
13
+ }>>>, Schema.optionalKey<Schema.Struct<{
14
+ readonly start: Schema.Finite;
15
+ readonly end: Schema.Finite;
16
+ readonly text: Schema.String;
17
+ }>>, never, never>;
18
+ }> & {
19
+ create: (input: FileAttachment) => {
20
+ readonly uri: string;
21
+ readonly name?: string | undefined;
22
+ readonly description?: string | undefined;
23
+ readonly source?: {
24
+ readonly start: number;
25
+ readonly end: number;
26
+ readonly text: string;
27
+ } | undefined;
28
+ };
29
+ };
30
+ export interface Prompt extends Schema.Schema.Type<typeof Prompt> {
31
+ }
32
+ export declare const Prompt: Schema.Struct<{
33
+ readonly text: Schema.String;
34
+ readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
35
+ readonly uri: Schema.String;
36
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
37
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
38
+ readonly source: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
39
+ readonly start: Schema.Finite;
40
+ readonly end: Schema.Finite;
41
+ readonly text: Schema.String;
42
+ }>>>, Schema.optionalKey<Schema.Struct<{
43
+ readonly start: Schema.Finite;
44
+ readonly end: Schema.Finite;
45
+ readonly text: Schema.String;
46
+ }>>, never, never>;
47
+ }> & {
48
+ create: (input: FileAttachment) => {
49
+ readonly uri: string;
50
+ readonly name?: string | undefined;
51
+ readonly description?: string | undefined;
52
+ readonly source?: {
53
+ readonly start: number;
54
+ readonly end: number;
55
+ readonly text: string;
56
+ } | undefined;
57
+ };
58
+ }>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
59
+ readonly uri: Schema.String;
60
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
61
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
62
+ readonly source: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
63
+ readonly start: Schema.Finite;
64
+ readonly end: Schema.Finite;
65
+ readonly text: Schema.String;
66
+ }>>>, Schema.optionalKey<Schema.Struct<{
67
+ readonly start: Schema.Finite;
68
+ readonly end: Schema.Finite;
69
+ readonly text: Schema.String;
70
+ }>>, never, never>;
71
+ }> & {
72
+ create: (input: FileAttachment) => {
73
+ readonly uri: string;
74
+ readonly name?: string | undefined;
75
+ readonly description?: string | undefined;
76
+ readonly source?: {
77
+ readonly start: number;
78
+ readonly end: number;
79
+ readonly text: string;
80
+ } | undefined;
81
+ };
82
+ }>>, never, never>;
83
+ readonly agents: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
84
+ readonly name: Schema.String;
85
+ readonly source: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
86
+ readonly start: Schema.Finite;
87
+ readonly end: Schema.Finite;
88
+ readonly text: Schema.String;
89
+ }>>>, Schema.optionalKey<Schema.Struct<{
90
+ readonly start: Schema.Finite;
91
+ readonly end: Schema.Finite;
92
+ readonly text: Schema.String;
93
+ }>>, never, never>;
94
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
95
+ readonly name: Schema.String;
96
+ readonly source: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
97
+ readonly start: Schema.Finite;
98
+ readonly end: Schema.Finite;
99
+ readonly text: Schema.String;
100
+ }>>>, Schema.optionalKey<Schema.Struct<{
101
+ readonly start: Schema.Finite;
102
+ readonly end: Schema.Finite;
103
+ readonly text: Schema.String;
104
+ }>>, never, never>;
105
+ }>>>, never, never>;
106
+ }>;
@@ -0,0 +1,19 @@
1
+ export * as PromptInput from "./prompt-input.js";
2
+ import { Schema } from "effect";
3
+ import { AgentAttachment, Source } from "./prompt.js";
4
+ import { optional, statics } from "./schema.js";
5
+ export const FileAttachment = Schema.Struct({
6
+ uri: Schema.String,
7
+ name: Schema.String.pipe(optional),
8
+ description: Schema.String.pipe(optional),
9
+ source: Source.pipe(optional),
10
+ })
11
+ .annotate({ identifier: "PromptInput.FileAttachment" })
12
+ .pipe(statics((schema) => ({
13
+ create: (input) => schema.make(input),
14
+ })));
15
+ export const Prompt = Schema.Struct({
16
+ text: Schema.String,
17
+ files: Schema.Array(FileAttachment).pipe(optional),
18
+ agents: Schema.Array(AgentAttachment).pipe(optional),
19
+ }).annotate({ identifier: "PromptInput" });