@opencode/schema 0.0.0-reserved → 2.0.1

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 (204) hide show
  1. package/dist/agent.d.ts +164 -0
  2. package/dist/agent.js +46 -0
  3. package/dist/catalog.d.ts +69 -0
  4. package/dist/catalog.js +4 -0
  5. package/dist/command.d.ts +76 -0
  6. package/dist/command.js +13 -0
  7. package/dist/config/agent.d.ts +42 -0
  8. package/dist/config/agent.js +20 -0
  9. package/dist/config/command.d.ts +28 -0
  10. package/dist/config/command.js +13 -0
  11. package/dist/config/compaction.d.ts +14 -0
  12. package/dist/config/compaction.js +13 -0
  13. package/dist/config/experimental.d.ts +17 -0
  14. package/dist/config/experimental.js +16 -0
  15. package/dist/config/formatter.d.ts +11 -0
  16. package/dist/config/formatter.js +11 -0
  17. package/dist/config/lsp.d.ts +20 -0
  18. package/dist/config/lsp.js +16 -0
  19. package/dist/config/mcp.d.ts +18 -0
  20. package/dist/config/mcp.js +14 -0
  21. package/dist/config/media.d.ts +15 -0
  22. package/dist/config/media.js +14 -0
  23. package/dist/config/model.d.ts +18 -0
  24. package/dist/config/model.js +28 -0
  25. package/dist/config/plugin.d.ts +11 -0
  26. package/dist/config/plugin.js +10 -0
  27. package/dist/config/policy.d.ts +10 -0
  28. package/dist/config/policy.js +8 -0
  29. package/dist/config/provider.d.ts +173 -0
  30. package/dist/config/provider.js +72 -0
  31. package/dist/config/reference.d.ts +21 -0
  32. package/dist/config/reference.js +18 -0
  33. package/dist/config/tool-output.d.ts +8 -0
  34. package/dist/config/tool-output.js +8 -0
  35. package/dist/config/warming.d.ts +10 -0
  36. package/dist/config/warming.js +16 -0
  37. package/dist/config/watcher.d.ts +7 -0
  38. package/dist/config/watcher.js +7 -0
  39. package/dist/config/websearch.d.ts +9 -0
  40. package/dist/config/websearch.js +13 -0
  41. package/dist/config/worktree.d.ts +7 -0
  42. package/dist/config/worktree.js +7 -0
  43. package/dist/config.d.ts +180 -0
  44. package/dist/config.js +138 -0
  45. package/dist/connection.d.ts +28 -0
  46. package/dist/connection.js +15 -0
  47. package/dist/credential.d.ts +191 -0
  48. package/dist/credential.js +39 -0
  49. package/dist/durable-event-manifest.d.ts +3 -0
  50. package/dist/durable-event-manifest.js +5 -0
  51. package/dist/event-log.d.ts +14 -0
  52. package/dist/event-log.js +17 -0
  53. package/dist/event-manifest.d.ts +12758 -0
  54. package/dist/event-manifest.js +47 -0
  55. package/dist/event.d.ts +142 -0
  56. package/dist/event.js +110 -0
  57. package/dist/file-diff.d.ts +21 -0
  58. package/dist/file-diff.js +18 -0
  59. package/dist/filesystem-v1.d.ts +1 -0
  60. package/dist/filesystem-v1.js +1 -0
  61. package/dist/filesystem.d.ts +118 -0
  62. package/dist/filesystem.js +35 -0
  63. package/dist/form.d.ts +1259 -0
  64. package/dist/form.js +120 -0
  65. package/dist/ide-event.d.ts +76 -0
  66. package/dist/ide-event.js +10 -0
  67. package/dist/identifier.d.ts +3 -0
  68. package/dist/identifier.js +24 -0
  69. package/dist/index.d.ts +41 -0
  70. package/dist/index.js +41 -0
  71. package/dist/installation-event.d.ts +149 -0
  72. package/dist/installation-event.js +16 -0
  73. package/dist/instruction-entry.d.ts +29 -0
  74. package/dist/instruction-entry.js +26 -0
  75. package/dist/instruction.d.ts +13 -0
  76. package/dist/instruction.js +8 -0
  77. package/dist/integration-id.d.ts +5 -0
  78. package/dist/integration-id.js +3 -0
  79. package/dist/integration.d.ts +1604 -0
  80. package/dist/integration.js +85 -0
  81. package/dist/legacy-event.d.ts +1 -0
  82. package/dist/legacy-event.js +1 -0
  83. package/dist/llm.d.ts +4 -0
  84. package/dist/llm.js +3 -0
  85. package/dist/location.d.ts +37 -0
  86. package/dist/location.js +22 -0
  87. package/dist/lsp-event.d.ts +67 -0
  88. package/dist/lsp-event.js +4 -0
  89. package/dist/mcp-event.d.ts +222 -0
  90. package/dist/mcp-event.js +24 -0
  91. package/dist/mcp.d.ts +138 -0
  92. package/dist/mcp.js +111 -0
  93. package/dist/model.d.ts +247 -0
  94. package/dist/model.js +116 -0
  95. package/dist/models-dev.d.ts +69 -0
  96. package/dist/models-dev.js +7 -0
  97. package/dist/money.d.ts +10 -0
  98. package/dist/money.js +5 -0
  99. package/dist/permission-saved.d.ts +18 -0
  100. package/dist/permission-saved.js +12 -0
  101. package/dist/permission-v1.d.ts +1 -0
  102. package/dist/permission-v1.js +1 -0
  103. package/dist/permission.d.ts +311 -0
  104. package/dist/permission.js +46 -0
  105. package/dist/persistent-pty.d.ts +559 -0
  106. package/dist/persistent-pty.js +55 -0
  107. package/dist/plugin.d.ts +132 -0
  108. package/dist/plugin.js +37 -0
  109. package/dist/project-id.d.ts +5 -0
  110. package/dist/project-id.js +3 -0
  111. package/dist/project.d.ts +264 -0
  112. package/dist/project.js +46 -0
  113. package/dist/prompt-input.d.ts +143 -0
  114. package/dist/prompt-input.js +25 -0
  115. package/dist/prompt.d.ts +297 -0
  116. package/dist/prompt.js +61 -0
  117. package/dist/provider.d.ts +105 -0
  118. package/dist/provider.js +50 -0
  119. package/dist/pty-ticket.d.ts +8 -0
  120. package/dist/pty-ticket.js +7 -0
  121. package/dist/pty.d.ts +462 -0
  122. package/dist/pty.js +43 -0
  123. package/dist/question-v1.d.ts +1 -0
  124. package/dist/question-v1.js +1 -0
  125. package/dist/question.d.ts +15 -0
  126. package/dist/question.js +15 -0
  127. package/dist/reference.d.ts +120 -0
  128. package/dist/reference.js +30 -0
  129. package/dist/rpc.d.ts +111 -0
  130. package/dist/rpc.js +9 -0
  131. package/dist/schema.d.ts +10 -0
  132. package/dist/schema.js +14 -0
  133. package/dist/server-event.d.ts +132 -0
  134. package/dist/server-event.js +5 -0
  135. package/dist/session-compaction-event.d.ts +87 -0
  136. package/dist/session-compaction-event.js +10 -0
  137. package/dist/session-error.d.ts +9 -0
  138. package/dist/session-error.js +8 -0
  139. package/dist/session-event.d.ts +21315 -0
  140. package/dist/session-event.js +557 -0
  141. package/dist/session-fork.d.ts +26 -0
  142. package/dist/session-fork.js +11 -0
  143. package/dist/session-id.d.ts +6 -0
  144. package/dist/session-id.js +10 -0
  145. package/dist/session-inbox.d.ts +748 -0
  146. package/dist/session-inbox.js +47 -0
  147. package/dist/session-message.d.ts +2007 -0
  148. package/dist/session-message.js +227 -0
  149. package/dist/session-metadata.d.ts +8 -0
  150. package/dist/session-metadata.js +9 -0
  151. package/dist/session-provider-context.d.ts +54 -0
  152. package/dist/session-provider-context.js +17 -0
  153. package/dist/session-revert.d.ts +672 -0
  154. package/dist/session-revert.js +63 -0
  155. package/dist/session-stats.d.ts +186 -0
  156. package/dist/session-stats.js +53 -0
  157. package/dist/session-status-event.d.ts +299 -0
  158. package/dist/session-status-event.js +45 -0
  159. package/dist/session-transfer.d.ts +897 -0
  160. package/dist/session-transfer.js +8 -0
  161. package/dist/session-v1.d.ts +1 -0
  162. package/dist/session-v1.js +1 -0
  163. package/dist/session.d.ts +236 -0
  164. package/dist/session.js +55 -0
  165. package/dist/shell.d.ts +381 -0
  166. package/dist/shell.js +58 -0
  167. package/dist/skill.d.ts +133 -0
  168. package/dist/skill.js +48 -0
  169. package/dist/snapshot.d.ts +4 -0
  170. package/dist/snapshot.js +3 -0
  171. package/dist/token-usage.d.ts +14 -0
  172. package/dist/token-usage.js +14 -0
  173. package/dist/tool.d.ts +78 -0
  174. package/dist/tool.js +22 -0
  175. package/dist/tui-event.d.ts +307 -0
  176. package/dist/tui-event.js +53 -0
  177. package/dist/v1/filesystem.d.ts +78 -0
  178. package/dist/v1/filesystem.js +8 -0
  179. package/dist/v1/legacy-event.d.ts +108 -0
  180. package/dist/v1/legacy-event.js +15 -0
  181. package/dist/v1/permission.d.ts +316 -0
  182. package/dist/v1/permission.js +41 -0
  183. package/dist/v1/question.d.ts +444 -0
  184. package/dist/v1/question.js +57 -0
  185. package/dist/v1/session.d.ts +7657 -0
  186. package/dist/v1/session.js +535 -0
  187. package/dist/vcs-event.d.ts +76 -0
  188. package/dist/vcs-event.js +11 -0
  189. package/dist/vcs.d.ts +35 -0
  190. package/dist/vcs.js +23 -0
  191. package/dist/websearch.d.ts +108 -0
  192. package/dist/websearch.js +31 -0
  193. package/dist/workspace-event.d.ts +247 -0
  194. package/dist/workspace-event.js +25 -0
  195. package/dist/workspace-id.d.ts +6 -0
  196. package/dist/workspace-id.js +16 -0
  197. package/dist/workspace.d.ts +15 -0
  198. package/dist/workspace.js +14 -0
  199. package/dist/worktree-event.d.ts +153 -0
  200. package/dist/worktree-event.js +18 -0
  201. package/dist/worktree.d.ts +277 -0
  202. package/dist/worktree.js +82 -0
  203. package/package.json +33 -6
  204. package/README.md +0 -5
@@ -0,0 +1,559 @@
1
+ export * as PersistentPty from "./persistent-pty.js";
2
+ import { Schema } from "effect";
3
+ export declare const Info: Schema.Struct<{
4
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
5
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
6
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
7
+ };
8
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
9
+ readonly size: Schema.Struct<{
10
+ readonly cols: Schema.Int;
11
+ readonly rows: Schema.Int;
12
+ }>;
13
+ readonly output: Schema.Struct<{
14
+ readonly head: Schema.Int;
15
+ readonly tail: Schema.Int;
16
+ }>;
17
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
18
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
19
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
20
+ };
21
+ readonly title: Schema.String;
22
+ readonly command: Schema.String;
23
+ readonly args: Schema.$Array<Schema.String>;
24
+ readonly cwd: Schema.String;
25
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
26
+ readonly pid: Schema.Int;
27
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
28
+ }>;
29
+ export interface Info extends Schema.Schema.Type<typeof Info> {
30
+ }
31
+ export declare const Handoff: Schema.Struct<{
32
+ readonly directory: Schema.String;
33
+ readonly instanceID: Schema.String;
34
+ readonly ticket: Schema.String;
35
+ readonly expiresAt: Schema.Number;
36
+ }>;
37
+ export interface Handoff extends Schema.Schema.Type<typeof Handoff> {
38
+ }
39
+ export declare const CreateInput: Schema.Struct<{
40
+ readonly command: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
41
+ readonly args: Schema.$Array<Schema.String>;
42
+ readonly cwd: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
43
+ readonly title: Schema.String;
44
+ readonly env: Schema.$Record<Schema.String, Schema.String>;
45
+ readonly size: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
46
+ readonly cols: Schema.Int;
47
+ readonly rows: Schema.Int;
48
+ }>>>, Schema.optionalKey<Schema.Struct<{
49
+ readonly cols: Schema.Int;
50
+ readonly rows: Schema.Int;
51
+ }>>, never, never>;
52
+ }>;
53
+ export interface CreateInput extends Schema.Schema.Type<typeof CreateInput> {
54
+ }
55
+ export declare const UpdateInput: Schema.Struct<{
56
+ readonly attachmentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
57
+ readonly size: Schema.Struct<{
58
+ readonly cols: Schema.Int;
59
+ readonly rows: Schema.Int;
60
+ }>;
61
+ }>;
62
+ export interface UpdateInput extends Schema.Schema.Type<typeof UpdateInput> {
63
+ }
64
+ export declare const Snapshot: Schema.Struct<{
65
+ readonly info: Schema.Struct<{
66
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
67
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
68
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
69
+ };
70
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
71
+ readonly size: Schema.Struct<{
72
+ readonly cols: Schema.Int;
73
+ readonly rows: Schema.Int;
74
+ }>;
75
+ readonly output: Schema.Struct<{
76
+ readonly head: Schema.Int;
77
+ readonly tail: Schema.Int;
78
+ }>;
79
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
80
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
81
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
82
+ };
83
+ readonly title: Schema.String;
84
+ readonly command: Schema.String;
85
+ readonly args: Schema.$Array<Schema.String>;
86
+ readonly cwd: Schema.String;
87
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
88
+ readonly pid: Schema.Int;
89
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
90
+ }>;
91
+ readonly text: Schema.String;
92
+ readonly checkpoint: Schema.Uint8Array;
93
+ readonly cursor: Schema.Struct<{
94
+ readonly x: Schema.Int;
95
+ readonly y: Schema.Int;
96
+ }>;
97
+ }>;
98
+ export interface Snapshot extends Schema.Schema.Type<typeof Snapshot> {
99
+ }
100
+ export declare const ReadLines: Schema.Int;
101
+ export declare const ReadResult: Schema.Struct<{
102
+ readonly ptyID: Schema.brand<Schema.String, "PtyID"> & {
103
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
104
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
105
+ };
106
+ readonly title: Schema.String;
107
+ readonly cwd: Schema.String;
108
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
109
+ readonly screen: Schema.Struct<{
110
+ readonly text: Schema.String;
111
+ readonly cols: Schema.Int;
112
+ readonly rows: Schema.Int;
113
+ readonly cursor: Schema.Struct<{
114
+ readonly x: Schema.Int;
115
+ readonly y: Schema.Int;
116
+ }>;
117
+ }>;
118
+ }>;
119
+ export interface ReadResult extends Schema.Schema.Type<typeof ReadResult> {
120
+ }
121
+ export declare const Added: Schema.Struct<{
122
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
123
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
124
+ };
125
+ readonly created: Schema.Finite;
126
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
127
+ readonly type: Schema.Literal<"persistent-pty.added">;
128
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
129
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
130
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
131
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
132
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
133
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
134
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
135
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
136
+ }>, never, never>;
137
+ }>>>, Schema.optionalKey<Schema.Struct<{
138
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
139
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
140
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
141
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
142
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
143
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
144
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
145
+ }>, never, never>;
146
+ }>>, never, never>;
147
+ readonly data: Schema.Struct<{
148
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
149
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
150
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
151
+ };
152
+ readonly terminal: Schema.Struct<{
153
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
154
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
155
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
156
+ };
157
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
158
+ readonly size: Schema.Struct<{
159
+ readonly cols: Schema.Int;
160
+ readonly rows: Schema.Int;
161
+ }>;
162
+ readonly output: Schema.Struct<{
163
+ readonly head: Schema.Int;
164
+ readonly tail: Schema.Int;
165
+ }>;
166
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
167
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
168
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
169
+ };
170
+ readonly title: Schema.String;
171
+ readonly command: Schema.String;
172
+ readonly args: Schema.$Array<Schema.String>;
173
+ readonly cwd: Schema.String;
174
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
175
+ readonly pid: Schema.Int;
176
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
177
+ }>;
178
+ }>;
179
+ }> & {
180
+ type: "persistent-pty.added";
181
+ durability: "ephemeral";
182
+ durable: undefined;
183
+ data: Schema.Struct<{
184
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
185
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
186
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
187
+ };
188
+ readonly terminal: Schema.Struct<{
189
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
190
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
191
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
192
+ };
193
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
194
+ readonly size: Schema.Struct<{
195
+ readonly cols: Schema.Int;
196
+ readonly rows: Schema.Int;
197
+ }>;
198
+ readonly output: Schema.Struct<{
199
+ readonly head: Schema.Int;
200
+ readonly tail: Schema.Int;
201
+ }>;
202
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
203
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
204
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
205
+ };
206
+ readonly title: Schema.String;
207
+ readonly command: Schema.String;
208
+ readonly args: Schema.$Array<Schema.String>;
209
+ readonly cwd: Schema.String;
210
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
211
+ readonly pid: Schema.Int;
212
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
213
+ }>;
214
+ }>;
215
+ };
216
+ export declare const Removed: Schema.Struct<{
217
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
218
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
219
+ };
220
+ readonly created: Schema.Finite;
221
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
222
+ readonly type: Schema.Literal<"persistent-pty.removed">;
223
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
224
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
225
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
226
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
227
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
228
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
229
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
230
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
231
+ }>, never, never>;
232
+ }>>>, Schema.optionalKey<Schema.Struct<{
233
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
234
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
235
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
236
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
237
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
238
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
239
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
240
+ }>, never, never>;
241
+ }>>, never, never>;
242
+ readonly data: Schema.Struct<{
243
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
244
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
245
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
246
+ };
247
+ readonly ptyID: Schema.brand<Schema.String, "PtyID"> & {
248
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
249
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
250
+ };
251
+ }>;
252
+ }> & {
253
+ type: "persistent-pty.removed";
254
+ durability: "ephemeral";
255
+ durable: undefined;
256
+ data: Schema.Struct<{
257
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
258
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
259
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
260
+ };
261
+ readonly ptyID: Schema.brand<Schema.String, "PtyID"> & {
262
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
263
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
264
+ };
265
+ }>;
266
+ };
267
+ export declare const Event: {
268
+ Added: Schema.Struct<{
269
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
270
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
271
+ };
272
+ readonly created: Schema.Finite;
273
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
274
+ readonly type: Schema.Literal<"persistent-pty.added">;
275
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
276
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
277
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
278
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
279
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
280
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
281
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
282
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
283
+ }>, never, never>;
284
+ }>>>, Schema.optionalKey<Schema.Struct<{
285
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
286
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
287
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
288
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
289
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
290
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
291
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
292
+ }>, never, never>;
293
+ }>>, never, never>;
294
+ readonly data: Schema.Struct<{
295
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
296
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
297
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
298
+ };
299
+ readonly terminal: Schema.Struct<{
300
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
301
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
302
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
303
+ };
304
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
305
+ readonly size: Schema.Struct<{
306
+ readonly cols: Schema.Int;
307
+ readonly rows: Schema.Int;
308
+ }>;
309
+ readonly output: Schema.Struct<{
310
+ readonly head: Schema.Int;
311
+ readonly tail: Schema.Int;
312
+ }>;
313
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
314
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
315
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
316
+ };
317
+ readonly title: Schema.String;
318
+ readonly command: Schema.String;
319
+ readonly args: Schema.$Array<Schema.String>;
320
+ readonly cwd: Schema.String;
321
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
322
+ readonly pid: Schema.Int;
323
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
324
+ }>;
325
+ }>;
326
+ }> & {
327
+ type: "persistent-pty.added";
328
+ durability: "ephemeral";
329
+ durable: undefined;
330
+ data: Schema.Struct<{
331
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
332
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
333
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
334
+ };
335
+ readonly terminal: Schema.Struct<{
336
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
337
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
338
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
339
+ };
340
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
341
+ readonly size: Schema.Struct<{
342
+ readonly cols: Schema.Int;
343
+ readonly rows: Schema.Int;
344
+ }>;
345
+ readonly output: Schema.Struct<{
346
+ readonly head: Schema.Int;
347
+ readonly tail: Schema.Int;
348
+ }>;
349
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
350
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
351
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
352
+ };
353
+ readonly title: Schema.String;
354
+ readonly command: Schema.String;
355
+ readonly args: Schema.$Array<Schema.String>;
356
+ readonly cwd: Schema.String;
357
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
358
+ readonly pid: Schema.Int;
359
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
360
+ }>;
361
+ }>;
362
+ };
363
+ Removed: Schema.Struct<{
364
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
365
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
366
+ };
367
+ readonly created: Schema.Finite;
368
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
369
+ readonly type: Schema.Literal<"persistent-pty.removed">;
370
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
371
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
372
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
373
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
374
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
375
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
376
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
377
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
378
+ }>, never, never>;
379
+ }>>>, Schema.optionalKey<Schema.Struct<{
380
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
381
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
382
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
383
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
384
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
385
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
386
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
387
+ }>, never, never>;
388
+ }>>, never, never>;
389
+ readonly data: Schema.Struct<{
390
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
391
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
392
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
393
+ };
394
+ readonly ptyID: Schema.brand<Schema.String, "PtyID"> & {
395
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
396
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
397
+ };
398
+ }>;
399
+ }> & {
400
+ type: "persistent-pty.removed";
401
+ durability: "ephemeral";
402
+ durable: undefined;
403
+ data: Schema.Struct<{
404
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
405
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
406
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
407
+ };
408
+ readonly ptyID: Schema.brand<Schema.String, "PtyID"> & {
409
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
410
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
411
+ };
412
+ }>;
413
+ };
414
+ Definitions: readonly [Schema.Struct<{
415
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
416
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
417
+ };
418
+ readonly created: Schema.Finite;
419
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
420
+ readonly type: Schema.Literal<"persistent-pty.added">;
421
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
422
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
423
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
424
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
425
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
426
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
427
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
428
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
429
+ }>, never, never>;
430
+ }>>>, Schema.optionalKey<Schema.Struct<{
431
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
432
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
433
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
434
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
435
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
436
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
437
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
438
+ }>, never, never>;
439
+ }>>, never, never>;
440
+ readonly data: Schema.Struct<{
441
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
442
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
443
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
444
+ };
445
+ readonly terminal: Schema.Struct<{
446
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
447
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
448
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
449
+ };
450
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
451
+ readonly size: Schema.Struct<{
452
+ readonly cols: Schema.Int;
453
+ readonly rows: Schema.Int;
454
+ }>;
455
+ readonly output: Schema.Struct<{
456
+ readonly head: Schema.Int;
457
+ readonly tail: Schema.Int;
458
+ }>;
459
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
460
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
461
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
462
+ };
463
+ readonly title: Schema.String;
464
+ readonly command: Schema.String;
465
+ readonly args: Schema.$Array<Schema.String>;
466
+ readonly cwd: Schema.String;
467
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
468
+ readonly pid: Schema.Int;
469
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
470
+ }>;
471
+ }>;
472
+ }> & {
473
+ type: "persistent-pty.added";
474
+ durability: "ephemeral";
475
+ durable: undefined;
476
+ data: Schema.Struct<{
477
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
478
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
479
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
480
+ };
481
+ readonly terminal: Schema.Struct<{
482
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
483
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
484
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
485
+ };
486
+ readonly foregroundProcess: Schema.NullOr<Schema.String>;
487
+ readonly size: Schema.Struct<{
488
+ readonly cols: Schema.Int;
489
+ readonly rows: Schema.Int;
490
+ }>;
491
+ readonly output: Schema.Struct<{
492
+ readonly head: Schema.Int;
493
+ readonly tail: Schema.Int;
494
+ }>;
495
+ readonly id: Schema.brand<Schema.String, "PtyID"> & {
496
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
497
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
498
+ };
499
+ readonly title: Schema.String;
500
+ readonly command: Schema.String;
501
+ readonly args: Schema.$Array<Schema.String>;
502
+ readonly cwd: Schema.String;
503
+ readonly status: Schema.Literals<readonly ["running", "exited"]>;
504
+ readonly pid: Schema.Int;
505
+ readonly exitCode: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
506
+ }>;
507
+ }>;
508
+ }, Schema.Struct<{
509
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
510
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
511
+ };
512
+ readonly created: Schema.Finite;
513
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
514
+ readonly type: Schema.Literal<"persistent-pty.removed">;
515
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
516
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
517
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
518
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
519
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
520
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
521
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
522
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
523
+ }>, never, never>;
524
+ }>>>, Schema.optionalKey<Schema.Struct<{
525
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
526
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
527
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
528
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
529
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
530
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
531
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
532
+ }>, never, never>;
533
+ }>>, never, never>;
534
+ readonly data: Schema.Struct<{
535
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
536
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
537
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
538
+ };
539
+ readonly ptyID: Schema.brand<Schema.String, "PtyID"> & {
540
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
541
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
542
+ };
543
+ }>;
544
+ }> & {
545
+ type: "persistent-pty.removed";
546
+ durability: "ephemeral";
547
+ durable: undefined;
548
+ data: Schema.Struct<{
549
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
550
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
551
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
552
+ };
553
+ readonly ptyID: Schema.brand<Schema.String, "PtyID"> & {
554
+ create: () => string & import("effect/Brand").Brand<"PtyID">;
555
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"PtyID">;
556
+ };
557
+ }>;
558
+ }];
559
+ };
@@ -0,0 +1,55 @@
1
+ export * as PersistentPty from "./persistent-pty.js";
2
+ import { Schema } from "effect";
3
+ import { ephemeral, inventory } from "./event.js";
4
+ import { Pty } from "./pty.js";
5
+ import { NonNegativeInt, PositiveInt, optional } from "./schema.js";
6
+ import { Session } from "./session.js";
7
+ export const Info = Schema.Struct({
8
+ ...Pty.Info.fields,
9
+ sessionID: Session.ID,
10
+ foregroundProcess: Schema.NullOr(Schema.String),
11
+ size: Schema.Struct({ cols: PositiveInt, rows: PositiveInt }),
12
+ output: Schema.Struct({ head: NonNegativeInt, tail: NonNegativeInt }),
13
+ }).annotate({ identifier: "PersistentPty.Info" });
14
+ export const Handoff = Schema.Struct({
15
+ directory: Schema.String,
16
+ instanceID: Schema.String,
17
+ ticket: Schema.String,
18
+ expiresAt: Schema.Number,
19
+ }).annotate({ identifier: "PersistentPty.Handoff" });
20
+ export const CreateInput = Schema.Struct({
21
+ command: optional(Schema.String),
22
+ args: Schema.Array(Schema.String),
23
+ cwd: optional(Schema.String),
24
+ title: Schema.String,
25
+ env: Schema.Record(Schema.String, Schema.String),
26
+ size: optional(Schema.Struct({ cols: PositiveInt, rows: PositiveInt })),
27
+ }).annotate({ identifier: "PersistentPty.CreateInput" });
28
+ export const UpdateInput = Schema.Struct({
29
+ attachmentID: optional(Schema.String),
30
+ size: Schema.Struct({ cols: PositiveInt, rows: PositiveInt }),
31
+ }).annotate({ identifier: "PersistentPty.UpdateInput" });
32
+ export const Snapshot = Schema.Struct({
33
+ info: Info,
34
+ text: Schema.String,
35
+ checkpoint: Schema.Uint8Array,
36
+ cursor: Schema.Struct({ x: NonNegativeInt, y: NonNegativeInt }),
37
+ }).annotate({ identifier: "PersistentPty.Snapshot" });
38
+ export const ReadLines = PositiveInt.check(Schema.isLessThanOrEqualTo(65535)).annotate({
39
+ identifier: "PersistentPty.ReadLines",
40
+ });
41
+ export const ReadResult = Schema.Struct({
42
+ ptyID: Pty.ID,
43
+ title: Schema.String,
44
+ cwd: Schema.String,
45
+ foregroundProcess: Schema.NullOr(Schema.String),
46
+ screen: Schema.Struct({
47
+ text: Schema.String,
48
+ cols: PositiveInt,
49
+ rows: PositiveInt,
50
+ cursor: Snapshot.fields.cursor,
51
+ }),
52
+ }).annotate({ identifier: "PersistentPty.ReadResult" });
53
+ export const Added = ephemeral({ type: "persistent-pty.added", schema: { sessionID: Session.ID, terminal: Info } });
54
+ export const Removed = ephemeral({ type: "persistent-pty.removed", schema: { sessionID: Session.ID, ptyID: Pty.ID } });
55
+ export const Event = { Added, Removed, Definitions: inventory(Added, Removed) };