summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/server/global-lifecycle.ts34
-rw-r--r--packages/opencode/test/fixture/fixture.ts8
-rw-r--r--packages/opencode/test/tool/truncation.test.ts6
-rw-r--r--packages/sdk/js/src/v2/gen/types.gen.ts154
-rw-r--r--packages/sdk/openapi.json428
5 files changed, 315 insertions, 315 deletions
diff --git a/packages/opencode/src/server/global-lifecycle.ts b/packages/opencode/src/server/global-lifecycle.ts
index fbc300fad..aa761a42b 100644
--- a/packages/opencode/src/server/global-lifecycle.ts
+++ b/packages/opencode/src/server/global-lifecycle.ts
@@ -16,22 +16,22 @@ export const emitGlobalDisposed = Effect.sync(() =>
}),
)
-export const disposeAllInstancesAndEmitGlobalDisposed = Effect.fn(
- "Server.disposeAllInstancesAndEmitGlobalDisposed",
-)(function* (options?: { swallowErrors?: boolean }) {
- const store = yield* InstanceStore.Service
- yield* Effect.gen(function* () {
- yield* (options?.swallowErrors
- ? store.disposeAll().pipe(
- Effect.catchCause((cause) =>
- Effect.sync(() => {
- log.warn("global disposal failed", { cause })
- }),
- ),
- )
- : store.disposeAll())
- yield* emitGlobalDisposed
- }).pipe(Effect.uninterruptible)
-})
+export const disposeAllInstancesAndEmitGlobalDisposed = Effect.fn("Server.disposeAllInstancesAndEmitGlobalDisposed")(
+ function* (options?: { swallowErrors?: boolean }) {
+ const store = yield* InstanceStore.Service
+ yield* Effect.gen(function* () {
+ yield* options?.swallowErrors
+ ? store.disposeAll().pipe(
+ Effect.catchCause((cause) =>
+ Effect.sync(() => {
+ log.warn("global disposal failed", { cause })
+ }),
+ ),
+ )
+ : store.disposeAll()
+ yield* emitGlobalDisposed
+ }).pipe(Effect.uninterruptible)
+ },
+)
export * as GlobalLifecycle from "./global-lifecycle"
diff --git a/packages/opencode/test/fixture/fixture.ts b/packages/opencode/test/fixture/fixture.ts
index 38017e516..e6c8aebcb 100644
--- a/packages/opencode/test/fixture/fixture.ts
+++ b/packages/opencode/test/fixture/fixture.ts
@@ -155,7 +155,9 @@ export const provideInstance =
Effect.contextWith((services: Context.Context<R>) =>
Effect.promise<A>(async () => {
const ctx = await runTestInstanceStore((store) => store.load({ directory }))
- return Instance.restore(ctx, () => Effect.runPromiseWith(services)(self.pipe(Effect.provideService(InstanceRef, ctx))))
+ return Instance.restore(ctx, () =>
+ Effect.runPromiseWith(services)(self.pipe(Effect.provideService(InstanceRef, ctx))),
+ )
}),
)
@@ -170,7 +172,9 @@ export function provideTmpdirInstance<A, E, R>(
yield* Effect.addFinalizer(() =>
provided
? Effect.promise(() =>
- runTestInstanceStore((store) => store.load({ directory: path }).pipe(Effect.flatMap((ctx) => store.dispose(ctx)))),
+ runTestInstanceStore((store) =>
+ store.load({ directory: path }).pipe(Effect.flatMap((ctx) => store.dispose(ctx))),
+ ),
).pipe(Effect.ignore)
: Effect.void,
)
diff --git a/packages/opencode/test/tool/truncation.test.ts b/packages/opencode/test/tool/truncation.test.ts
index e836b23eb..e948a6dcb 100644
--- a/packages/opencode/test/tool/truncation.test.ts
+++ b/packages/opencode/test/tool/truncation.test.ts
@@ -17,11 +17,7 @@ const ROOT = path.resolve(import.meta.dir, "..", "..")
const it = testEffect(Layer.mergeAll(Truncate.defaultLayer, NodeFileSystem.layer))
const configuredLayer = (cfg: Config.Info) =>
- Layer.mergeAll(
- Truncate.defaultLayer,
- NodeFileSystem.layer,
- TestConfig.layer({ get: () => Effect.succeed(cfg) }),
- )
+ Layer.mergeAll(Truncate.defaultLayer, NodeFileSystem.layer, TestConfig.layer({ get: () => Effect.succeed(cfg) }))
const configuredIt = (cfg: Config.Info) => testEffect(configuredLayer(cfg))
describe("Truncate", () => {
diff --git a/packages/sdk/js/src/v2/gen/types.gen.ts b/packages/sdk/js/src/v2/gen/types.gen.ts
index b925ec609..e60ea7694 100644
--- a/packages/sdk/js/src/v2/gen/types.gen.ts
+++ b/packages/sdk/js/src/v2/gen/types.gen.ts
@@ -40,35 +40,6 @@ export type EventServerInstanceDisposed = {
}
}
-export type EventServerConnected = {
- type: "server.connected"
- properties: {
- [key: string]: unknown
- }
-}
-
-export type EventGlobalDisposed = {
- type: "global.disposed"
- properties: {
- [key: string]: unknown
- }
-}
-
-export type EventFileEdited = {
- type: "file.edited"
- properties: {
- file: string
- }
-}
-
-export type EventFileWatcherUpdated = {
- type: "file.watcher.updated"
- properties: {
- file: string
- event: "add" | "change" | "unlink"
- }
-}
-
export type EventLspClientDiagnostics = {
type: "lsp.client.diagnostics"
properties: {
@@ -230,6 +201,53 @@ export type EventInstallationUpdateAvailable = {
}
}
+export type EventWorkspaceReady = {
+ type: "workspace.ready"
+ properties: {
+ name: string
+ }
+}
+
+export type EventWorkspaceFailed = {
+ type: "workspace.failed"
+ properties: {
+ message: string
+ }
+}
+
+export type EventWorkspaceRestore = {
+ type: "workspace.restore"
+ properties: {
+ workspaceID: string
+ sessionID: string
+ total: number
+ step: number
+ }
+}
+
+export type EventWorkspaceStatus = {
+ type: "workspace.status"
+ properties: {
+ workspaceID: string
+ status: "connected" | "connecting" | "disconnected" | "error"
+ }
+}
+
+export type EventFileEdited = {
+ type: "file.edited"
+ properties: {
+ file: string
+ }
+}
+
+export type EventFileWatcherUpdated = {
+ type: "file.watcher.updated"
+ properties: {
+ file: string
+ event: "add" | "change" | "unlink"
+ }
+}
+
export type QuestionOption = {
/**
* Display text (1-5 words, concise)
@@ -452,38 +470,6 @@ export type EventVcsBranchUpdated = {
}
}
-export type EventWorkspaceReady = {
- type: "workspace.ready"
- properties: {
- name: string
- }
-}
-
-export type EventWorkspaceFailed = {
- type: "workspace.failed"
- properties: {
- message: string
- }
-}
-
-export type EventWorkspaceRestore = {
- type: "workspace.restore"
- properties: {
- workspaceID: string
- sessionID: string
- total: number
- step: number
- }
-}
-
-export type EventWorkspaceStatus = {
- type: "workspace.status"
- properties: {
- workspaceID: string
- status: "connected" | "connecting" | "disconnected" | "error"
- }
-}
-
export type EventWorktreeReady = {
type: "worktree.ready"
properties: {
@@ -988,6 +974,20 @@ export type EventSessionDeleted = {
}
}
+export type EventServerConnected = {
+ type: "server.connected"
+ properties: {
+ [key: string]: unknown
+ }
+}
+
+export type EventGlobalDisposed = {
+ type: "global.disposed"
+ properties: {
+ [key: string]: unknown
+ }
+}
+
export type SyncEventMessageUpdated = {
type: "sync"
name: "message.updated.1"
@@ -1113,10 +1113,6 @@ export type GlobalEvent = {
payload:
| EventProjectUpdated
| EventServerInstanceDisposed
- | EventServerConnected
- | EventGlobalDisposed
- | EventFileEdited
- | EventFileWatcherUpdated
| EventLspClientDiagnostics
| EventLspUpdated
| EventMessagePartDelta
@@ -1126,6 +1122,12 @@ export type GlobalEvent = {
| EventSessionError
| EventInstallationUpdated
| EventInstallationUpdateAvailable
+ | EventWorkspaceReady
+ | EventWorkspaceFailed
+ | EventWorkspaceRestore
+ | EventWorkspaceStatus
+ | EventFileEdited
+ | EventFileWatcherUpdated
| EventQuestionAsked
| EventQuestionReplied
| EventQuestionRejected
@@ -1141,10 +1143,6 @@ export type GlobalEvent = {
| EventMcpBrowserOpenFailed
| EventCommandExecuted
| EventVcsBranchUpdated
- | EventWorkspaceReady
- | EventWorkspaceFailed
- | EventWorkspaceRestore
- | EventWorkspaceStatus
| EventWorktreeReady
| EventWorktreeFailed
| EventPtyCreated
@@ -1158,6 +1156,8 @@ export type GlobalEvent = {
| EventSessionCreated
| EventSessionUpdated
| EventSessionDeleted
+ | EventServerConnected
+ | EventGlobalDisposed
| SyncEventMessageUpdated
| SyncEventMessageRemoved
| SyncEventMessagePartUpdated
@@ -2056,10 +2056,6 @@ export type File = {
export type Event =
| EventProjectUpdated
| EventServerInstanceDisposed
- | EventServerConnected
- | EventGlobalDisposed
- | EventFileEdited
- | EventFileWatcherUpdated
| EventLspClientDiagnostics
| EventLspUpdated
| EventMessagePartDelta
@@ -2069,6 +2065,12 @@ export type Event =
| EventSessionError
| EventInstallationUpdated
| EventInstallationUpdateAvailable
+ | EventWorkspaceReady
+ | EventWorkspaceFailed
+ | EventWorkspaceRestore
+ | EventWorkspaceStatus
+ | EventFileEdited
+ | EventFileWatcherUpdated
| EventQuestionAsked
| EventQuestionReplied
| EventQuestionRejected
@@ -2084,10 +2086,6 @@ export type Event =
| EventMcpBrowserOpenFailed
| EventCommandExecuted
| EventVcsBranchUpdated
- | EventWorkspaceReady
- | EventWorkspaceFailed
- | EventWorkspaceRestore
- | EventWorkspaceStatus
| EventWorktreeReady
| EventWorktreeFailed
| EventPtyCreated
@@ -2101,6 +2099,8 @@ export type Event =
| EventSessionCreated
| EventSessionUpdated
| EventSessionDeleted
+ | EventServerConnected
+ | EventGlobalDisposed
export type McpStatusConnected = {
status: "connected"
diff --git a/packages/sdk/openapi.json b/packages/sdk/openapi.json
index cfd8277a3..0e9c11ca6 100644
--- a/packages/sdk/openapi.json
+++ b/packages/sdk/openapi.json
@@ -7693,76 +7693,6 @@
},
"required": ["type", "properties"]
},
- "Event.server.connected": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "const": "server.connected"
- },
- "properties": {
- "type": "object",
- "properties": {}
- }
- },
- "required": ["type", "properties"]
- },
- "Event.global.disposed": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "const": "global.disposed"
- },
- "properties": {
- "type": "object",
- "properties": {}
- }
- },
- "required": ["type", "properties"]
- },
- "Event.file.edited": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "const": "file.edited"
- },
- "properties": {
- "type": "object",
- "properties": {
- "file": {
- "type": "string"
- }
- },
- "required": ["file"]
- }
- },
- "required": ["type", "properties"]
- },
- "Event.file.watcher.updated": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "const": "file.watcher.updated"
- },
- "properties": {
- "type": "object",
- "properties": {
- "file": {
- "type": "string"
- },
- "event": {
- "type": "string",
- "enum": ["add", "change", "unlink"]
- }
- },
- "required": ["file", "event"]
- }
- },
- "required": ["type", "properties"]
- },
"Event.lsp.client.diagnostics": {
"type": "object",
"properties": {
@@ -8225,6 +8155,144 @@
},
"required": ["type", "properties"]
},
+ "Event.workspace.ready": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "workspace.ready"
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": ["name"]
+ }
+ },
+ "required": ["type", "properties"]
+ },
+ "Event.workspace.failed": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "workspace.failed"
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": ["message"]
+ }
+ },
+ "required": ["type", "properties"]
+ },
+ "Event.workspace.restore": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "workspace.restore"
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "workspaceID": {
+ "type": "string",
+ "pattern": "^wrk.*"
+ },
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses.*"
+ },
+ "total": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 9007199254740991
+ },
+ "step": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 9007199254740991
+ }
+ },
+ "required": ["workspaceID", "sessionID", "total", "step"]
+ }
+ },
+ "required": ["type", "properties"]
+ },
+ "Event.workspace.status": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "workspace.status"
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "workspaceID": {
+ "type": "string",
+ "pattern": "^wrk.*"
+ },
+ "status": {
+ "type": "string",
+ "enum": ["connected", "connecting", "disconnected", "error"]
+ }
+ },
+ "required": ["workspaceID", "status"]
+ }
+ },
+ "required": ["type", "properties"]
+ },
+ "Event.file.edited": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "file.edited"
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "file": {
+ "type": "string"
+ }
+ },
+ "required": ["file"]
+ }
+ },
+ "required": ["type", "properties"]
+ },
+ "Event.file.watcher.updated": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "file.watcher.updated"
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "file": {
+ "type": "string"
+ },
+ "event": {
+ "type": "string",
+ "enum": ["add", "change", "unlink"]
+ }
+ },
+ "required": ["file", "event"]
+ }
+ },
+ "required": ["type", "properties"]
+ },
"QuestionOption": {
"type": "object",
"properties": {
@@ -8743,102 +8811,6 @@
},
"required": ["type", "properties"]
},
- "Event.workspace.ready": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "const": "workspace.ready"
- },
- "properties": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- }
- },
- "required": ["name"]
- }
- },
- "required": ["type", "properties"]
- },
- "Event.workspace.failed": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "const": "workspace.failed"
- },
- "properties": {
- "type": "object",
- "properties": {
- "message": {
- "type": "string"
- }
- },
- "required": ["message"]
- }
- },
- "required": ["type", "properties"]
- },
- "Event.workspace.restore": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "const": "workspace.restore"
- },
- "properties": {
- "type": "object",
- "properties": {
- "workspaceID": {
- "type": "string",
- "pattern": "^wrk.*"
- },
- "sessionID": {
- "type": "string",
- "pattern": "^ses.*"
- },
- "total": {
- "type": "integer",
- "minimum": 0,
- "maximum": 9007199254740991
- },
- "step": {
- "type": "integer",
- "minimum": 0,
- "maximum": 9007199254740991
- }
- },
- "required": ["workspaceID", "sessionID", "total", "step"]
- }
- },
- "required": ["type", "properties"]
- },
- "Event.workspace.status": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "const": "workspace.status"
- },
- "properties": {
- "type": "object",
- "properties": {
- "workspaceID": {
- "type": "string",
- "pattern": "^wrk.*"
- },
- "status": {
- "type": "string",
- "enum": ["connected", "connecting", "disconnected", "error"]
- }
- },
- "required": ["workspaceID", "status"]
- }
- },
- "required": ["type", "properties"]
- },
"Event.worktree.ready": {
"type": "object",
"properties": {
@@ -10441,6 +10413,34 @@
},
"required": ["type", "properties"]
},
+ "Event.server.connected": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "server.connected"
+ },
+ "properties": {
+ "type": "object",
+ "properties": {}
+ }
+ },
+ "required": ["type", "properties"]
+ },
+ "Event.global.disposed": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "global.disposed"
+ },
+ "properties": {
+ "type": "object",
+ "properties": {}
+ }
+ },
+ "required": ["type", "properties"]
+ },
"SyncEvent.message.updated": {
"type": "object",
"properties": {
@@ -10964,18 +10964,6 @@
"$ref": "#/components/schemas/Event.server.instance.disposed"
},
{
- "$ref": "#/components/schemas/Event.server.connected"
- },
- {
- "$ref": "#/components/schemas/Event.global.disposed"
- },
- {
- "$ref": "#/components/schemas/Event.file.edited"
- },
- {
- "$ref": "#/components/schemas/Event.file.watcher.updated"
- },
- {
"$ref": "#/components/schemas/Event.lsp.client.diagnostics"
},
{
@@ -11003,6 +10991,24 @@
"$ref": "#/components/schemas/Event.installation.update-available"
},
{
+ "$ref": "#/components/schemas/Event.workspace.ready"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.failed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.restore"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.status"
+ },
+ {
+ "$ref": "#/components/schemas/Event.file.edited"
+ },
+ {
+ "$ref": "#/components/schemas/Event.file.watcher.updated"
+ },
+ {
"$ref": "#/components/schemas/Event.question.asked"
},
{
@@ -11048,18 +11054,6 @@
"$ref": "#/components/schemas/Event.vcs.branch.updated"
},
{
- "$ref": "#/components/schemas/Event.workspace.ready"
- },
- {
- "$ref": "#/components/schemas/Event.workspace.failed"
- },
- {
- "$ref": "#/components/schemas/Event.workspace.restore"
- },
- {
- "$ref": "#/components/schemas/Event.workspace.status"
- },
- {
"$ref": "#/components/schemas/Event.worktree.ready"
},
{
@@ -11099,6 +11093,12 @@
"$ref": "#/components/schemas/Event.session.deleted"
},
{
+ "$ref": "#/components/schemas/Event.server.connected"
+ },
+ {
+ "$ref": "#/components/schemas/Event.global.disposed"
+ },
+ {
"$ref": "#/components/schemas/SyncEvent.message.updated"
},
{
@@ -13257,18 +13257,6 @@
"$ref": "#/components/schemas/Event.server.instance.disposed"
},
{
- "$ref": "#/components/schemas/Event.server.connected"
- },
- {
- "$ref": "#/components/schemas/Event.global.disposed"
- },
- {
- "$ref": "#/components/schemas/Event.file.edited"
- },
- {
- "$ref": "#/components/schemas/Event.file.watcher.updated"
- },
- {
"$ref": "#/components/schemas/Event.lsp.client.diagnostics"
},
{
@@ -13296,6 +13284,24 @@
"$ref": "#/components/schemas/Event.installation.update-available"
},
{
+ "$ref": "#/components/schemas/Event.workspace.ready"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.failed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.restore"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.status"
+ },
+ {
+ "$ref": "#/components/schemas/Event.file.edited"
+ },
+ {
+ "$ref": "#/components/schemas/Event.file.watcher.updated"
+ },
+ {
"$ref": "#/components/schemas/Event.question.asked"
},
{
@@ -13341,18 +13347,6 @@
"$ref": "#/components/schemas/Event.vcs.branch.updated"
},
{
- "$ref": "#/components/schemas/Event.workspace.ready"
- },
- {
- "$ref": "#/components/schemas/Event.workspace.failed"
- },
- {
- "$ref": "#/components/schemas/Event.workspace.restore"
- },
- {
- "$ref": "#/components/schemas/Event.workspace.status"
- },
- {
"$ref": "#/components/schemas/Event.worktree.ready"
},
{
@@ -13390,6 +13384,12 @@
},
{
"$ref": "#/components/schemas/Event.session.deleted"
+ },
+ {
+ "$ref": "#/components/schemas/Event.server.connected"
+ },
+ {
+ "$ref": "#/components/schemas/Event.global.disposed"
}
]
},