@opencode-ai/schema 0.0.0-dev-17471

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 (193) hide show
  1. package/dist/agent.d.ts +164 -0
  2. package/dist/agent.js +46 -0
  3. package/dist/ai.d.ts +4 -0
  4. package/dist/ai.js +5 -0
  5. package/dist/catalog.d.ts +69 -0
  6. package/dist/catalog.js +4 -0
  7. package/dist/command.d.ts +124 -0
  8. package/dist/command.js +19 -0
  9. package/dist/config/agent.d.ts +42 -0
  10. package/dist/config/agent.js +20 -0
  11. package/dist/config/command.d.ts +27 -0
  12. package/dist/config/command.js +12 -0
  13. package/dist/config/compaction.d.ts +14 -0
  14. package/dist/config/compaction.js +13 -0
  15. package/dist/config/experimental.d.ts +17 -0
  16. package/dist/config/experimental.js +16 -0
  17. package/dist/config/formatter.d.ts +11 -0
  18. package/dist/config/formatter.js +11 -0
  19. package/dist/config/lsp.d.ts +20 -0
  20. package/dist/config/lsp.js +16 -0
  21. package/dist/config/mcp.d.ts +18 -0
  22. package/dist/config/mcp.js +14 -0
  23. package/dist/config/media.d.ts +15 -0
  24. package/dist/config/media.js +14 -0
  25. package/dist/config/model.d.ts +18 -0
  26. package/dist/config/model.js +28 -0
  27. package/dist/config/plugin.d.ts +11 -0
  28. package/dist/config/plugin.js +10 -0
  29. package/dist/config/policy.d.ts +10 -0
  30. package/dist/config/policy.js +8 -0
  31. package/dist/config/provider.d.ts +106 -0
  32. package/dist/config/provider.js +62 -0
  33. package/dist/config/reference.d.ts +21 -0
  34. package/dist/config/reference.js +18 -0
  35. package/dist/config/tool-output.d.ts +8 -0
  36. package/dist/config/tool-output.js +8 -0
  37. package/dist/config/warming.d.ts +10 -0
  38. package/dist/config/warming.js +16 -0
  39. package/dist/config/watcher.d.ts +7 -0
  40. package/dist/config/watcher.js +7 -0
  41. package/dist/config/websearch.d.ts +9 -0
  42. package/dist/config/websearch.js +8 -0
  43. package/dist/config.d.ts +175 -0
  44. package/dist/config.js +136 -0
  45. package/dist/connection.d.ts +28 -0
  46. package/dist/connection.js +15 -0
  47. package/dist/credential.d.ts +38 -0
  48. package/dist/credential.js +25 -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 +11372 -0
  54. package/dist/event-manifest.js +45 -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 +39 -0
  70. package/dist/index.js +39 -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 +23 -0
  74. package/dist/instruction-entry.js +22 -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 +1675 -0
  80. package/dist/integration.js +87 -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 +186 -0
  94. package/dist/model.js +104 -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 +306 -0
  104. package/dist/permission.js +45 -0
  105. package/dist/plugin.d.ts +150 -0
  106. package/dist/plugin.js +16 -0
  107. package/dist/project-id.d.ts +5 -0
  108. package/dist/project-id.js +3 -0
  109. package/dist/project.d.ts +241 -0
  110. package/dist/project.js +37 -0
  111. package/dist/prompt-input.d.ts +143 -0
  112. package/dist/prompt-input.js +25 -0
  113. package/dist/prompt.d.ts +297 -0
  114. package/dist/prompt.js +61 -0
  115. package/dist/provider.d.ts +60 -0
  116. package/dist/provider.js +42 -0
  117. package/dist/pty-ticket.d.ts +8 -0
  118. package/dist/pty-ticket.js +7 -0
  119. package/dist/pty.d.ts +462 -0
  120. package/dist/pty.js +43 -0
  121. package/dist/question-v1.d.ts +1 -0
  122. package/dist/question-v1.js +1 -0
  123. package/dist/question.d.ts +15 -0
  124. package/dist/question.js +15 -0
  125. package/dist/reference.d.ts +120 -0
  126. package/dist/reference.js +30 -0
  127. package/dist/schema.d.ts +10 -0
  128. package/dist/schema.js +14 -0
  129. package/dist/server-event.d.ts +132 -0
  130. package/dist/server-event.js +5 -0
  131. package/dist/session-compaction-event.d.ts +87 -0
  132. package/dist/session-compaction-event.js +10 -0
  133. package/dist/session-error.d.ts +9 -0
  134. package/dist/session-error.js +8 -0
  135. package/dist/session-event.d.ts +17994 -0
  136. package/dist/session-event.js +499 -0
  137. package/dist/session-fork.d.ts +26 -0
  138. package/dist/session-fork.js +11 -0
  139. package/dist/session-id.d.ts +6 -0
  140. package/dist/session-id.js +10 -0
  141. package/dist/session-inbox.d.ts +748 -0
  142. package/dist/session-inbox.js +47 -0
  143. package/dist/session-message.d.ts +1512 -0
  144. package/dist/session-message.js +209 -0
  145. package/dist/session-revert.d.ts +480 -0
  146. package/dist/session-revert.js +63 -0
  147. package/dist/session-status-event.d.ts +299 -0
  148. package/dist/session-status-event.js +43 -0
  149. package/dist/session-transfer.d.ts +744 -0
  150. package/dist/session-transfer.js +8 -0
  151. package/dist/session-v1.d.ts +1 -0
  152. package/dist/session-v1.js +1 -0
  153. package/dist/session.d.ts +218 -0
  154. package/dist/session.js +45 -0
  155. package/dist/shell.d.ts +381 -0
  156. package/dist/shell.js +58 -0
  157. package/dist/skill.d.ts +133 -0
  158. package/dist/skill.js +48 -0
  159. package/dist/snapshot.d.ts +4 -0
  160. package/dist/snapshot.js +3 -0
  161. package/dist/token-usage.d.ts +13 -0
  162. package/dist/token-usage.js +11 -0
  163. package/dist/tool.d.ts +74 -0
  164. package/dist/tool.js +22 -0
  165. package/dist/tui-event.d.ts +307 -0
  166. package/dist/tui-event.js +53 -0
  167. package/dist/v1/filesystem.d.ts +78 -0
  168. package/dist/v1/filesystem.js +8 -0
  169. package/dist/v1/legacy-event.d.ts +108 -0
  170. package/dist/v1/legacy-event.js +15 -0
  171. package/dist/v1/permission.d.ts +316 -0
  172. package/dist/v1/permission.js +41 -0
  173. package/dist/v1/question.d.ts +444 -0
  174. package/dist/v1/question.js +57 -0
  175. package/dist/v1/session.d.ts +7657 -0
  176. package/dist/v1/session.js +535 -0
  177. package/dist/vcs-event.d.ts +76 -0
  178. package/dist/vcs-event.js +11 -0
  179. package/dist/vcs.d.ts +26 -0
  180. package/dist/vcs.js +17 -0
  181. package/dist/websearch.d.ts +108 -0
  182. package/dist/websearch.js +31 -0
  183. package/dist/workspace-event.d.ts +247 -0
  184. package/dist/workspace-event.js +25 -0
  185. package/dist/workspace-id.d.ts +6 -0
  186. package/dist/workspace-id.js +16 -0
  187. package/dist/workspace.d.ts +9 -0
  188. package/dist/workspace.js +5 -0
  189. package/dist/worktree-event.d.ts +153 -0
  190. package/dist/worktree-event.js +18 -0
  191. package/dist/worktree.d.ts +255 -0
  192. package/dist/worktree.js +61 -0
  193. package/package.json +42 -0
@@ -0,0 +1,255 @@
1
+ export * as Worktree from "./worktree.js";
2
+ import { Schema } from "effect";
3
+ export declare const StrategyID: Schema.brand<Schema.Trim, "Worktree.StrategyID">;
4
+ export type StrategyID = typeof StrategyID.Type;
5
+ export declare const CreateInput: Schema.Struct<{
6
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
7
+ global: string & import("effect/Brand").Brand<"Project.ID">;
8
+ };
9
+ readonly strategy: Schema.brand<Schema.Trim, "Worktree.StrategyID">;
10
+ readonly from: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "AbsolutePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "AbsolutePath">>, never, never>;
11
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
12
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
13
+ }>;
14
+ export interface CreateInput extends Schema.Schema.Type<typeof CreateInput> {
15
+ }
16
+ export declare const RemoveInput: Schema.Struct<{
17
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
18
+ global: string & import("effect/Brand").Brand<"Project.ID">;
19
+ };
20
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
21
+ readonly force: Schema.Boolean;
22
+ }>;
23
+ export interface RemoveInput extends Schema.Schema.Type<typeof RemoveInput> {
24
+ }
25
+ export declare const Info: Schema.Struct<{
26
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
27
+ }>;
28
+ export interface Info extends Schema.Schema.Type<typeof Info> {
29
+ }
30
+ export declare const Directory: Schema.Struct<{
31
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
32
+ readonly strategy: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
33
+ }>;
34
+ export interface Directory extends Schema.Schema.Type<typeof Directory> {
35
+ }
36
+ export declare const ListInput: Schema.Struct<{
37
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
38
+ global: string & import("effect/Brand").Brand<"Project.ID">;
39
+ };
40
+ }>;
41
+ export interface ListInput extends Schema.Schema.Type<typeof ListInput> {
42
+ }
43
+ export declare const List: Schema.$Array<Schema.Struct<{
44
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
45
+ readonly strategy: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
46
+ }>>;
47
+ export type List = typeof List.Type;
48
+ export declare const Event: {
49
+ Updated: Schema.Struct<{
50
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
51
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
52
+ };
53
+ readonly created: Schema.Finite;
54
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
55
+ readonly type: Schema.Literal<"worktree.updated">;
56
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
57
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
58
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
59
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
60
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
61
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
62
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
63
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
64
+ }>, never, never>;
65
+ }>>>, Schema.optionalKey<Schema.Struct<{
66
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
67
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
68
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
69
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
70
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
71
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
72
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
73
+ }>, never, never>;
74
+ }>>, never, never>;
75
+ readonly data: Schema.Struct<{
76
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
77
+ global: string & import("effect/Brand").Brand<"Project.ID">;
78
+ };
79
+ }>;
80
+ }> & {
81
+ type: "worktree.updated";
82
+ durability: "ephemeral";
83
+ durable: undefined;
84
+ data: Schema.Struct<{
85
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
86
+ global: string & import("effect/Brand").Brand<"Project.ID">;
87
+ };
88
+ }>;
89
+ };
90
+ Resolved: Schema.Struct<{
91
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
92
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
93
+ };
94
+ readonly created: Schema.Finite;
95
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
96
+ readonly type: Schema.Literal<"worktree.resolved">;
97
+ readonly durable: Schema.Struct<{
98
+ readonly aggregateID: Schema.String;
99
+ readonly seq: Schema.brand<Schema.Int, "Event.Seq">;
100
+ readonly version: Schema.decodeTo<Schema.toType<Schema.brand<Schema.Int, "Event.Version">>, Schema.Literal<number>, never, never>;
101
+ }>;
102
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
103
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
104
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
105
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
106
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
107
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
108
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
109
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
110
+ }>, never, never>;
111
+ }>>>, Schema.optionalKey<Schema.Struct<{
112
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
113
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
114
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
115
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
116
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
117
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
118
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
119
+ }>, never, never>;
120
+ }>>, never, never>;
121
+ readonly data: Schema.Struct<{
122
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
123
+ global: string & import("effect/Brand").Brand<"Project.ID">;
124
+ };
125
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
126
+ readonly previous: Schema.brand<Schema.String, "Project.ID"> & {
127
+ global: string & import("effect/Brand").Brand<"Project.ID">;
128
+ };
129
+ }>;
130
+ }> & {
131
+ type: "worktree.resolved";
132
+ durability: "durable";
133
+ durable: {
134
+ readonly version: number;
135
+ readonly aggregate: string;
136
+ };
137
+ data: Schema.Struct<{
138
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
139
+ global: string & import("effect/Brand").Brand<"Project.ID">;
140
+ };
141
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
142
+ readonly previous: Schema.brand<Schema.String, "Project.ID"> & {
143
+ global: string & import("effect/Brand").Brand<"Project.ID">;
144
+ };
145
+ }>;
146
+ };
147
+ Definitions: readonly [Schema.Struct<{
148
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
149
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
150
+ };
151
+ readonly created: Schema.Finite;
152
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
153
+ readonly type: Schema.Literal<"worktree.updated">;
154
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
155
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
156
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
157
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
158
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
159
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
160
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
161
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
162
+ }>, never, never>;
163
+ }>>>, Schema.optionalKey<Schema.Struct<{
164
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
165
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
166
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
167
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
168
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
169
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
170
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
171
+ }>, never, never>;
172
+ }>>, never, never>;
173
+ readonly data: Schema.Struct<{
174
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
175
+ global: string & import("effect/Brand").Brand<"Project.ID">;
176
+ };
177
+ }>;
178
+ }> & {
179
+ type: "worktree.updated";
180
+ durability: "ephemeral";
181
+ durable: undefined;
182
+ data: Schema.Struct<{
183
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
184
+ global: string & import("effect/Brand").Brand<"Project.ID">;
185
+ };
186
+ }>;
187
+ }, Schema.Struct<{
188
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
189
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
190
+ };
191
+ readonly created: Schema.Finite;
192
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
193
+ readonly type: Schema.Literal<"worktree.resolved">;
194
+ readonly durable: Schema.Struct<{
195
+ readonly aggregateID: Schema.String;
196
+ readonly seq: Schema.brand<Schema.Int, "Event.Seq">;
197
+ readonly version: Schema.decodeTo<Schema.toType<Schema.brand<Schema.Int, "Event.Version">>, Schema.Literal<number>, never, never>;
198
+ }>;
199
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
200
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
201
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
202
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
203
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
204
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
205
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
206
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
207
+ }>, never, never>;
208
+ }>>>, Schema.optionalKey<Schema.Struct<{
209
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
210
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
211
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
212
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
213
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
214
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
215
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
216
+ }>, never, never>;
217
+ }>>, never, never>;
218
+ readonly data: Schema.Struct<{
219
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
220
+ global: string & import("effect/Brand").Brand<"Project.ID">;
221
+ };
222
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
223
+ readonly previous: Schema.brand<Schema.String, "Project.ID"> & {
224
+ global: string & import("effect/Brand").Brand<"Project.ID">;
225
+ };
226
+ }>;
227
+ }> & {
228
+ type: "worktree.resolved";
229
+ durability: "durable";
230
+ durable: {
231
+ readonly version: number;
232
+ readonly aggregate: string;
233
+ };
234
+ data: Schema.Struct<{
235
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
236
+ global: string & import("effect/Brand").Brand<"Project.ID">;
237
+ };
238
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
239
+ readonly previous: Schema.brand<Schema.String, "Project.ID"> & {
240
+ global: string & import("effect/Brand").Brand<"Project.ID">;
241
+ };
242
+ }>;
243
+ }];
244
+ };
245
+ export declare function adopt(session: {
246
+ readonly projectID: string;
247
+ readonly directory: string;
248
+ }, event: {
249
+ readonly projectID: string;
250
+ readonly directory: string;
251
+ readonly previous: string;
252
+ }): {
253
+ projectID: string;
254
+ subpath: string | undefined;
255
+ } | undefined;
@@ -0,0 +1,61 @@
1
+ export * as Worktree from "./worktree.js";
2
+ import { Schema } from "effect";
3
+ import { durable, ephemeral, inventory } from "./event.js";
4
+ import { ProjectID } from "./project-id.js";
5
+ import { AbsolutePath, optional } from "./schema.js";
6
+ import { Project } from "./project.js";
7
+ export const StrategyID = Schema.Trim.pipe(Schema.check(Schema.isNonEmpty()), Schema.brand("Worktree.StrategyID"));
8
+ export const CreateInput = Schema.Struct({
9
+ projectID: ProjectID,
10
+ strategy: StrategyID,
11
+ from: optional(AbsolutePath),
12
+ directory: AbsolutePath,
13
+ name: optional(Schema.String),
14
+ }).annotate({ identifier: "Worktree.CreateInput" });
15
+ export const RemoveInput = Schema.Struct({
16
+ projectID: ProjectID,
17
+ directory: AbsolutePath,
18
+ force: Schema.Boolean,
19
+ }).annotate({ identifier: "Worktree.RemoveInput" });
20
+ export const Info = Schema.Struct({
21
+ directory: AbsolutePath,
22
+ }).annotate({ identifier: "Worktree.Info" });
23
+ export const Directory = Schema.Struct({
24
+ directory: AbsolutePath,
25
+ strategy: optional(Schema.String),
26
+ }).annotate({ identifier: "Worktree.Directory" });
27
+ export const ListInput = Schema.Struct({
28
+ projectID: ProjectID,
29
+ }).annotate({ identifier: "Worktree.ListInput" });
30
+ export const List = Schema.Array(Directory).annotate({ identifier: "Worktree.List" });
31
+ const Updated = ephemeral({
32
+ type: "worktree.updated",
33
+ schema: { projectID: Project.ID },
34
+ });
35
+ const Resolved = durable({
36
+ type: "worktree.resolved",
37
+ durable: { aggregate: "projectID", version: 1 },
38
+ schema: {
39
+ projectID: Project.ID,
40
+ directory: AbsolutePath,
41
+ previous: Project.ID,
42
+ },
43
+ });
44
+ export const Event = { Updated, Resolved, Definitions: inventory(Updated, Resolved) };
45
+ export function adopt(session, event) {
46
+ if (session.projectID !== event.previous && session.projectID !== Project.ID.global)
47
+ return;
48
+ if (session.projectID === event.projectID)
49
+ return;
50
+ const inside = session.directory === event.directory ||
51
+ session.directory.startsWith(event.directory + "/") ||
52
+ session.directory.startsWith(event.directory + "\\");
53
+ if (!inside)
54
+ return;
55
+ return {
56
+ projectID: event.projectID,
57
+ subpath: session.directory === event.directory
58
+ ? undefined
59
+ : session.directory.slice(event.directory.length + 1).replaceAll("\\", "/"),
60
+ };
61
+ }
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/package.json",
3
+ "name": "@opencode-ai/schema",
4
+ "version": "0.0.0-dev-17471",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/anomalyco/opencode.git",
10
+ "directory": "packages/schema"
11
+ },
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "exports": {
19
+ ".": {
20
+ "import": "./dist/index.js",
21
+ "types": "./dist/index.d.ts"
22
+ },
23
+ "./*": {
24
+ "import": "./dist/*.js",
25
+ "types": "./dist/*.d.ts"
26
+ }
27
+ },
28
+ "scripts": {
29
+ "build": "bun run script/build.ts",
30
+ "typecheck": "tsgo --noEmit"
31
+ },
32
+ "dependencies": {
33
+ "@standard-schema/spec": "1.1.0",
34
+ "effect": "4.0.0-beta.101"
35
+ },
36
+ "devDependencies": {
37
+ "@tsconfig/bun": "1.0.9",
38
+ "@types/bun": "1.3.13",
39
+ "@typescript/native-preview": "7.0.0-dev.20251207.1",
40
+ "typescript": "5.8.2"
41
+ }
42
+ }