@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,241 @@
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.Literals<readonly ["git", "hg"]>;
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
+ readonly canonical: Schema.brand<Schema.String, "AbsolutePath">;
14
+ }>;
15
+ export interface Current extends Schema.Schema.Type<typeof Current> {
16
+ }
17
+ export declare const Icon: Schema.Struct<{
18
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
19
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
20
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
21
+ }>;
22
+ export interface Icon extends Schema.Schema.Type<typeof Icon> {
23
+ }
24
+ export declare const Commands: Schema.Struct<{
25
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
26
+ }>;
27
+ export interface Commands extends Schema.Schema.Type<typeof Commands> {
28
+ }
29
+ export declare const Time: Schema.Struct<{
30
+ readonly created: Schema.Int;
31
+ readonly updated: Schema.Int;
32
+ readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
33
+ }>;
34
+ export interface Time extends Schema.Schema.Type<typeof Time> {
35
+ }
36
+ export declare const Info: Schema.Struct<{
37
+ readonly id: Schema.brand<Schema.String, "Project.ID"> & {
38
+ global: string & import("effect/Brand").Brand<"Project.ID">;
39
+ };
40
+ readonly canonical: Schema.brand<Schema.String, "AbsolutePath">;
41
+ readonly vcs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["git", "hg"]>>>, Schema.optionalKey<Schema.Literals<readonly ["git", "hg"]>>, never, never>;
42
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
43
+ readonly icon: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
44
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
45
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
46
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
47
+ }>>>, Schema.optionalKey<Schema.Struct<{
48
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
49
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
50
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
51
+ }>>, never, never>;
52
+ readonly commands: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
53
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
54
+ }>>>, Schema.optionalKey<Schema.Struct<{
55
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
56
+ }>>, never, never>;
57
+ readonly time: Schema.Struct<{
58
+ readonly created: Schema.Int;
59
+ readonly updated: Schema.Int;
60
+ readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
61
+ }>;
62
+ readonly sandboxes: Schema.$Array<Schema.String>;
63
+ }>;
64
+ export interface Info extends Schema.Schema.Type<typeof Info> {
65
+ }
66
+ export declare const Event: {
67
+ Updated: Schema.Struct<{
68
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
69
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
70
+ };
71
+ readonly created: Schema.Finite;
72
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
73
+ readonly type: Schema.Literal<"project.updated">;
74
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
75
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
76
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
77
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
78
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
79
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
80
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
81
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
82
+ }>, never, never>;
83
+ }>>>, Schema.optionalKey<Schema.Struct<{
84
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
85
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
86
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
87
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
88
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
89
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
90
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
91
+ }>, never, never>;
92
+ }>>, never, never>;
93
+ readonly data: Schema.Struct<{
94
+ readonly id: Schema.brand<Schema.String, "Project.ID"> & {
95
+ global: string & import("effect/Brand").Brand<"Project.ID">;
96
+ };
97
+ readonly canonical: Schema.brand<Schema.String, "AbsolutePath">;
98
+ readonly vcs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["git", "hg"]>>>, Schema.optionalKey<Schema.Literals<readonly ["git", "hg"]>>, never, never>;
99
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
100
+ readonly icon: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
101
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
102
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
103
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
104
+ }>>>, Schema.optionalKey<Schema.Struct<{
105
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
106
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
107
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
108
+ }>>, never, never>;
109
+ readonly commands: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
110
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
111
+ }>>>, Schema.optionalKey<Schema.Struct<{
112
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
113
+ }>>, never, never>;
114
+ readonly time: Schema.Struct<{
115
+ readonly created: Schema.Int;
116
+ readonly updated: Schema.Int;
117
+ readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
118
+ }>;
119
+ readonly sandboxes: Schema.$Array<Schema.String>;
120
+ }>;
121
+ }> & {
122
+ type: "project.updated";
123
+ durability: "ephemeral";
124
+ durable: undefined;
125
+ data: Schema.Struct<{
126
+ readonly id: Schema.brand<Schema.String, "Project.ID"> & {
127
+ global: string & import("effect/Brand").Brand<"Project.ID">;
128
+ };
129
+ readonly canonical: Schema.brand<Schema.String, "AbsolutePath">;
130
+ readonly vcs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["git", "hg"]>>>, Schema.optionalKey<Schema.Literals<readonly ["git", "hg"]>>, never, never>;
131
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
132
+ readonly icon: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
133
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
134
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
135
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
136
+ }>>>, Schema.optionalKey<Schema.Struct<{
137
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
138
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
139
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
140
+ }>>, never, never>;
141
+ readonly commands: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
142
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
143
+ }>>>, Schema.optionalKey<Schema.Struct<{
144
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
145
+ }>>, never, never>;
146
+ readonly time: Schema.Struct<{
147
+ readonly created: Schema.Int;
148
+ readonly updated: Schema.Int;
149
+ readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
150
+ }>;
151
+ readonly sandboxes: Schema.$Array<Schema.String>;
152
+ }>;
153
+ };
154
+ Definitions: readonly [Schema.Struct<{
155
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
156
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
157
+ };
158
+ readonly created: Schema.Finite;
159
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
160
+ readonly type: Schema.Literal<"project.updated">;
161
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
162
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
163
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
164
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
165
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
166
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
167
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
168
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
169
+ }>, never, never>;
170
+ }>>>, Schema.optionalKey<Schema.Struct<{
171
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
172
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
173
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
174
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
175
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
176
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
177
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
178
+ }>, never, never>;
179
+ }>>, never, never>;
180
+ readonly data: Schema.Struct<{
181
+ readonly id: Schema.brand<Schema.String, "Project.ID"> & {
182
+ global: string & import("effect/Brand").Brand<"Project.ID">;
183
+ };
184
+ readonly canonical: Schema.brand<Schema.String, "AbsolutePath">;
185
+ readonly vcs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["git", "hg"]>>>, Schema.optionalKey<Schema.Literals<readonly ["git", "hg"]>>, never, never>;
186
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
187
+ readonly icon: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
188
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
189
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
190
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
191
+ }>>>, Schema.optionalKey<Schema.Struct<{
192
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
193
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
194
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
195
+ }>>, never, never>;
196
+ readonly commands: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
197
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
198
+ }>>>, Schema.optionalKey<Schema.Struct<{
199
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
200
+ }>>, never, never>;
201
+ readonly time: Schema.Struct<{
202
+ readonly created: Schema.Int;
203
+ readonly updated: Schema.Int;
204
+ readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
205
+ }>;
206
+ readonly sandboxes: Schema.$Array<Schema.String>;
207
+ }>;
208
+ }> & {
209
+ type: "project.updated";
210
+ durability: "ephemeral";
211
+ durable: undefined;
212
+ data: Schema.Struct<{
213
+ readonly id: Schema.brand<Schema.String, "Project.ID"> & {
214
+ global: string & import("effect/Brand").Brand<"Project.ID">;
215
+ };
216
+ readonly canonical: Schema.brand<Schema.String, "AbsolutePath">;
217
+ readonly vcs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["git", "hg"]>>>, Schema.optionalKey<Schema.Literals<readonly ["git", "hg"]>>, never, never>;
218
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
219
+ readonly icon: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
220
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
221
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
222
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
223
+ }>>>, Schema.optionalKey<Schema.Struct<{
224
+ readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
225
+ readonly override: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
226
+ readonly color: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
227
+ }>>, never, never>;
228
+ readonly commands: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
229
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
230
+ }>>>, Schema.optionalKey<Schema.Struct<{
231
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
232
+ }>>, never, never>;
233
+ readonly time: Schema.Struct<{
234
+ readonly created: Schema.Int;
235
+ readonly updated: Schema.Int;
236
+ readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
237
+ }>;
238
+ readonly sandboxes: Schema.$Array<Schema.String>;
239
+ }>;
240
+ }];
241
+ };
@@ -0,0 +1,37 @@
1
+ export * as Project from "./project.js";
2
+ import { Schema } from "effect";
3
+ import { ephemeral, 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.Literals(["git", "hg"]).annotate({ identifier: "Project.Vcs" });
8
+ export const Current = Schema.Struct({
9
+ id: ID,
10
+ directory: AbsolutePath,
11
+ canonical: AbsolutePath,
12
+ }).annotate({ identifier: "Project.Current" });
13
+ export const Icon = Schema.Struct({
14
+ url: optional(Schema.String),
15
+ override: optional(Schema.String),
16
+ color: optional(Schema.String),
17
+ }).annotate({ identifier: "Project.Icon" });
18
+ export const Commands = Schema.Struct({
19
+ start: optional(Schema.String.annotate({ description: "Startup script to run when creating a new workspace (worktree)" })),
20
+ }).annotate({ identifier: "Project.Commands" });
21
+ export const Time = Schema.Struct({
22
+ created: NonNegativeInt,
23
+ updated: NonNegativeInt,
24
+ initialized: optional(NonNegativeInt),
25
+ }).annotate({ identifier: "Project.Time" });
26
+ export const Info = Schema.Struct({
27
+ id: ID,
28
+ canonical: AbsolutePath,
29
+ vcs: optional(Vcs),
30
+ name: optional(Schema.String),
31
+ icon: optional(Icon),
32
+ commands: optional(Commands),
33
+ time: Time,
34
+ sandboxes: Schema.Array(Schema.String),
35
+ }).annotate({ identifier: "Project" });
36
+ const Updated = ephemeral({ type: "project.updated", schema: Info.fields });
37
+ export const Event = { Updated, Definitions: inventory(Updated) };
@@ -0,0 +1,143 @@
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 mention: 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 description?: string | undefined;
22
+ readonly name?: string | undefined;
23
+ readonly mention?: {
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 interface SkillAttachment extends Schema.Schema.Type<typeof SkillAttachment> {
33
+ }
34
+ export declare const SkillAttachment: Schema.Struct<{
35
+ readonly id: Schema.brand<Schema.String, "Skill.ID">;
36
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
37
+ readonly start: Schema.Finite;
38
+ readonly end: Schema.Finite;
39
+ readonly text: Schema.String;
40
+ }>>>, Schema.optionalKey<Schema.Struct<{
41
+ readonly start: Schema.Finite;
42
+ readonly end: Schema.Finite;
43
+ readonly text: Schema.String;
44
+ }>>, never, never>;
45
+ }>;
46
+ export declare const Prompt: Schema.Struct<{
47
+ readonly text: Schema.String;
48
+ readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
49
+ readonly uri: Schema.String;
50
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
51
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
52
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
53
+ readonly start: Schema.Finite;
54
+ readonly end: Schema.Finite;
55
+ readonly text: Schema.String;
56
+ }>>>, Schema.optionalKey<Schema.Struct<{
57
+ readonly start: Schema.Finite;
58
+ readonly end: Schema.Finite;
59
+ readonly text: Schema.String;
60
+ }>>, never, never>;
61
+ }> & {
62
+ create: (input: FileAttachment) => {
63
+ readonly uri: string;
64
+ readonly description?: string | undefined;
65
+ readonly name?: string | undefined;
66
+ readonly mention?: {
67
+ readonly start: number;
68
+ readonly end: number;
69
+ readonly text: string;
70
+ } | undefined;
71
+ };
72
+ }>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
73
+ readonly uri: Schema.String;
74
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
75
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
76
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
77
+ readonly start: Schema.Finite;
78
+ readonly end: Schema.Finite;
79
+ readonly text: Schema.String;
80
+ }>>>, Schema.optionalKey<Schema.Struct<{
81
+ readonly start: Schema.Finite;
82
+ readonly end: Schema.Finite;
83
+ readonly text: Schema.String;
84
+ }>>, never, never>;
85
+ }> & {
86
+ create: (input: FileAttachment) => {
87
+ readonly uri: string;
88
+ readonly description?: string | undefined;
89
+ readonly name?: string | undefined;
90
+ readonly mention?: {
91
+ readonly start: number;
92
+ readonly end: number;
93
+ readonly text: string;
94
+ } | undefined;
95
+ };
96
+ }>>, never, never>;
97
+ readonly agents: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
98
+ readonly name: Schema.String;
99
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
100
+ readonly start: Schema.Finite;
101
+ readonly end: Schema.Finite;
102
+ readonly text: Schema.String;
103
+ }>>>, Schema.optionalKey<Schema.Struct<{
104
+ readonly start: Schema.Finite;
105
+ readonly end: Schema.Finite;
106
+ readonly text: Schema.String;
107
+ }>>, never, never>;
108
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
109
+ readonly name: Schema.String;
110
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
111
+ readonly start: Schema.Finite;
112
+ readonly end: Schema.Finite;
113
+ readonly text: Schema.String;
114
+ }>>>, Schema.optionalKey<Schema.Struct<{
115
+ readonly start: Schema.Finite;
116
+ readonly end: Schema.Finite;
117
+ readonly text: Schema.String;
118
+ }>>, never, never>;
119
+ }>>>, never, never>;
120
+ readonly skills: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
121
+ readonly id: Schema.brand<Schema.String, "Skill.ID">;
122
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
123
+ readonly start: Schema.Finite;
124
+ readonly end: Schema.Finite;
125
+ readonly text: Schema.String;
126
+ }>>>, Schema.optionalKey<Schema.Struct<{
127
+ readonly start: Schema.Finite;
128
+ readonly end: Schema.Finite;
129
+ readonly text: Schema.String;
130
+ }>>, never, never>;
131
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
132
+ readonly id: Schema.brand<Schema.String, "Skill.ID">;
133
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
134
+ readonly start: Schema.Finite;
135
+ readonly end: Schema.Finite;
136
+ readonly text: Schema.String;
137
+ }>>>, Schema.optionalKey<Schema.Struct<{
138
+ readonly start: Schema.Finite;
139
+ readonly end: Schema.Finite;
140
+ readonly text: Schema.String;
141
+ }>>, never, never>;
142
+ }>>>, never, never>;
143
+ }>;
@@ -0,0 +1,25 @@
1
+ export * as PromptInput from "./prompt-input.js";
2
+ import { Schema } from "effect";
3
+ import { AgentAttachment, PromptMention } from "./prompt.js";
4
+ import { optional, statics } from "./schema.js";
5
+ import { Skill } from "./skill.js";
6
+ export const FileAttachment = Schema.Struct({
7
+ uri: Schema.String,
8
+ name: Schema.String.pipe(optional),
9
+ description: Schema.String.pipe(optional),
10
+ mention: PromptMention.pipe(optional),
11
+ })
12
+ .annotate({ identifier: "PromptInput.FileAttachment" })
13
+ .pipe(statics((schema) => ({
14
+ create: (input) => schema.make(input),
15
+ })));
16
+ export const SkillAttachment = Schema.Struct({
17
+ id: Skill.ID,
18
+ mention: PromptMention.pipe(optional),
19
+ }).annotate({ identifier: "PromptInput.SkillAttachment" });
20
+ export const Prompt = Schema.Struct({
21
+ text: Schema.String,
22
+ files: Schema.Array(FileAttachment).pipe(optional),
23
+ agents: Schema.Array(AgentAttachment).pipe(optional),
24
+ skills: Schema.Array(SkillAttachment).pipe(optional),
25
+ }).annotate({ identifier: "PromptInput" });