@opencode-ai/schema 0.0.0-next-14659
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +175 -0
- package/dist/agent.js +43 -0
- package/dist/catalog.d.ts +89 -0
- package/dist/catalog.js +4 -0
- package/dist/command.d.ts +44 -0
- package/dist/command.js +12 -0
- package/dist/connection.d.ts +28 -0
- package/dist/connection.js +15 -0
- package/dist/credential.d.ts +36 -0
- package/dist/credential.js +23 -0
- package/dist/durable-event-manifest.d.ts +10626 -0
- package/dist/durable-event-manifest.js +12 -0
- package/dist/event-manifest.d.ts +15309 -0
- package/dist/event-manifest.js +43 -0
- package/dist/event.d.ts +82 -0
- package/dist/event.js +73 -0
- package/dist/file-diff.d.ts +11 -0
- package/dist/file-diff.js +10 -0
- package/dist/filesystem-watcher.d.ts +102 -0
- package/dist/filesystem-watcher.js +11 -0
- package/dist/filesystem.d.ts +134 -0
- package/dist/filesystem.js +32 -0
- package/dist/ide-event.d.ts +96 -0
- package/dist/ide-event.js +10 -0
- package/dist/identifier.d.ts +3 -0
- package/dist/identifier.js +24 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.js +29 -0
- package/dist/installation-event.d.ts +189 -0
- package/dist/installation-event.js +16 -0
- package/dist/integration-id.d.ts +5 -0
- package/dist/integration-id.js +3 -0
- package/dist/integration.d.ts +572 -0
- package/dist/integration.js +93 -0
- package/dist/legacy-event.d.ts +1 -0
- package/dist/legacy-event.js +1 -0
- package/dist/llm.d.ts +28 -0
- package/dist/llm.js +19 -0
- package/dist/location.d.ts +36 -0
- package/dist/location.js +21 -0
- package/dist/lsp-event.d.ts +87 -0
- package/dist/lsp-event.js +4 -0
- package/dist/mcp-event.d.ts +286 -0
- package/dist/mcp-event.js +25 -0
- package/dist/mcp.d.ts +39 -0
- package/dist/mcp.js +38 -0
- package/dist/model.d.ts +205 -0
- package/dist/model.js +86 -0
- package/dist/models-dev.d.ts +89 -0
- package/dist/models-dev.js +7 -0
- package/dist/permission-saved.d.ts +18 -0
- package/dist/permission-saved.js +12 -0
- package/dist/permission-v1.d.ts +1 -0
- package/dist/permission-v1.js +1 -0
- package/dist/permission.d.ts +346 -0
- package/dist/permission.js +45 -0
- package/dist/plugin.d.ts +105 -0
- package/dist/plugin.js +12 -0
- package/dist/project-copy.d.ts +29 -0
- package/dist/project-copy.js +21 -0
- package/dist/project-directories.d.ts +105 -0
- package/dist/project-directories.js +8 -0
- package/dist/project-id.d.ts +5 -0
- package/dist/project-id.js +3 -0
- package/dist/project.d.ts +278 -0
- package/dist/project.js +44 -0
- package/dist/prompt-input.d.ts +106 -0
- package/dist/prompt-input.js +19 -0
- package/dist/prompt.d.ts +177 -0
- package/dist/prompt.js +43 -0
- package/dist/provider.d.ts +111 -0
- package/dist/provider.js +53 -0
- package/dist/pty-ticket.d.ts +8 -0
- package/dist/pty-ticket.js +7 -0
- package/dist/pty.d.ts +542 -0
- package/dist/pty.js +43 -0
- package/dist/question-v1.d.ts +1 -0
- package/dist/question-v1.js +1 -0
- package/dist/question.d.ts +516 -0
- package/dist/question.js +64 -0
- package/dist/reference.d.ts +140 -0
- package/dist/reference.js +31 -0
- package/dist/revert.d.ts +34 -0
- package/dist/revert.js +19 -0
- package/dist/schema.d.ts +10 -0
- package/dist/schema.js +14 -0
- package/dist/server-event.d.ts +172 -0
- package/dist/server-event.js +5 -0
- package/dist/session-compaction-event.d.ts +107 -0
- package/dist/session-compaction-event.js +10 -0
- package/dist/session-delivery.d.ts +4 -0
- package/dist/session-delivery.js +3 -0
- package/dist/session-event.d.ts +14225 -0
- package/dist/session-event.js +421 -0
- package/dist/session-id.d.ts +6 -0
- package/dist/session-id.js +10 -0
- package/dist/session-input.d.ts +145 -0
- package/dist/session-input.js +18 -0
- package/dist/session-message.d.ts +1318 -0
- package/dist/session-message.js +171 -0
- package/dist/session-status-event.d.ts +339 -0
- package/dist/session-status-event.js +43 -0
- package/dist/session-todo.d.ts +137 -0
- package/dist/session-todo.js +21 -0
- package/dist/session-v1.d.ts +1 -0
- package/dist/session-v1.js +1 -0
- package/dist/session.d.ts +140 -0
- package/dist/session.js +43 -0
- package/dist/shell.d.ts +441 -0
- package/dist/shell.js +58 -0
- package/dist/skill.d.ts +146 -0
- package/dist/skill.js +45 -0
- package/dist/tui-event.d.ts +387 -0
- package/dist/tui-event.js +53 -0
- package/dist/v1/legacy-event.d.ts +128 -0
- package/dist/v1/legacy-event.js +15 -0
- package/dist/v1/permission.d.ts +356 -0
- package/dist/v1/permission.js +41 -0
- package/dist/v1/question.d.ts +504 -0
- package/dist/v1/question.js +57 -0
- package/dist/v1/session.d.ts +7775 -0
- package/dist/v1/session.js +535 -0
- package/dist/vcs-event.d.ts +96 -0
- package/dist/vcs-event.js +11 -0
- package/dist/workspace-event.d.ts +307 -0
- package/dist/workspace-event.js +25 -0
- package/dist/workspace-id.d.ts +6 -0
- package/dist/workspace-id.js +16 -0
- package/dist/workspace.d.ts +9 -0
- package/dist/workspace.js +5 -0
- package/dist/worktree-event.d.ts +193 -0
- package/dist/worktree-event.js +18 -0
- package/package.json +41 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
export * as SessionMessage from "./session-message.js";
|
|
2
|
+
import { Schema } from "effect";
|
|
3
|
+
import { optional } from "./schema.js";
|
|
4
|
+
import { ProviderMetadata, ToolContent } from "./llm.js";
|
|
5
|
+
import { Model } from "./model.js";
|
|
6
|
+
import { FileAttachment, Prompt } from "./prompt.js";
|
|
7
|
+
import { DateTimeUtcFromMillis, RelativePath, statics } from "./schema.js";
|
|
8
|
+
import { SessionID } from "./session-id.js";
|
|
9
|
+
import { ascending } from "./identifier.js";
|
|
10
|
+
export const ID = Schema.String.check(Schema.isStartsWith("msg_")).pipe(Schema.brand("Session.Message.ID"), statics((schema) => ({ create: () => schema.make("msg_" + ascending()) })));
|
|
11
|
+
export const UnknownError = Schema.Struct({
|
|
12
|
+
type: Schema.Literal("unknown"),
|
|
13
|
+
message: Schema.String,
|
|
14
|
+
}).annotate({ identifier: "Session.Error.Unknown" });
|
|
15
|
+
const Base = {
|
|
16
|
+
id: ID,
|
|
17
|
+
metadata: Schema.Record(Schema.String, Schema.Unknown).pipe(optional),
|
|
18
|
+
time: Schema.Struct({ created: DateTimeUtcFromMillis }),
|
|
19
|
+
};
|
|
20
|
+
export const AgentSwitched = Schema.Struct({
|
|
21
|
+
...Base,
|
|
22
|
+
type: Schema.Literal("agent-switched"),
|
|
23
|
+
agent: Schema.String,
|
|
24
|
+
}).annotate({ identifier: "Session.Message.AgentSwitched" });
|
|
25
|
+
export const ModelSwitched = Schema.Struct({
|
|
26
|
+
...Base,
|
|
27
|
+
type: Schema.Literal("model-switched"),
|
|
28
|
+
model: Model.Ref,
|
|
29
|
+
}).annotate({ identifier: "Session.Message.ModelSwitched" });
|
|
30
|
+
export const User = Schema.Struct({
|
|
31
|
+
...Base,
|
|
32
|
+
text: Prompt.fields.text,
|
|
33
|
+
files: Prompt.fields.files,
|
|
34
|
+
agents: Prompt.fields.agents,
|
|
35
|
+
type: Schema.Literal("user"),
|
|
36
|
+
}).annotate({ identifier: "Session.Message.User" });
|
|
37
|
+
export const Synthetic = Schema.Struct({
|
|
38
|
+
...Base,
|
|
39
|
+
sessionID: SessionID,
|
|
40
|
+
text: Schema.String,
|
|
41
|
+
description: Schema.String.pipe(optional),
|
|
42
|
+
type: Schema.Literal("synthetic"),
|
|
43
|
+
}).annotate({ identifier: "Session.Message.Synthetic" });
|
|
44
|
+
export const System = Schema.Struct({
|
|
45
|
+
...Base,
|
|
46
|
+
type: Schema.Literal("system"),
|
|
47
|
+
text: Schema.String,
|
|
48
|
+
}).annotate({ identifier: "Session.Message.System" });
|
|
49
|
+
export const Skill = Schema.Struct({
|
|
50
|
+
...Base,
|
|
51
|
+
type: Schema.Literal("skill"),
|
|
52
|
+
name: Schema.String,
|
|
53
|
+
text: Schema.String,
|
|
54
|
+
}).annotate({ identifier: "Session.Message.Skill" });
|
|
55
|
+
export const Shell = Schema.Struct({
|
|
56
|
+
...Base,
|
|
57
|
+
type: Schema.Literal("shell"),
|
|
58
|
+
callID: Schema.String,
|
|
59
|
+
command: Schema.String,
|
|
60
|
+
output: Schema.String,
|
|
61
|
+
time: Schema.Struct({
|
|
62
|
+
created: DateTimeUtcFromMillis,
|
|
63
|
+
completed: DateTimeUtcFromMillis.pipe(optional),
|
|
64
|
+
}),
|
|
65
|
+
}).annotate({ identifier: "Session.Message.Shell" });
|
|
66
|
+
export const ToolStatePending = Schema.Struct({
|
|
67
|
+
status: Schema.Literal("pending"),
|
|
68
|
+
input: Schema.String,
|
|
69
|
+
}).annotate({ identifier: "Session.Message.ToolState.Pending" });
|
|
70
|
+
export const ToolStateRunning = Schema.Struct({
|
|
71
|
+
status: Schema.Literal("running"),
|
|
72
|
+
input: Schema.Record(Schema.String, Schema.Unknown),
|
|
73
|
+
structured: Schema.Record(Schema.String, Schema.Unknown),
|
|
74
|
+
content: ToolContent.pipe(Schema.Array),
|
|
75
|
+
}).annotate({ identifier: "Session.Message.ToolState.Running" });
|
|
76
|
+
export const ToolStateCompleted = Schema.Struct({
|
|
77
|
+
status: Schema.Literal("completed"),
|
|
78
|
+
input: Schema.Record(Schema.String, Schema.Unknown),
|
|
79
|
+
attachments: FileAttachment.pipe(Schema.Array, optional),
|
|
80
|
+
content: ToolContent.pipe(Schema.Array),
|
|
81
|
+
outputPaths: Schema.Array(Schema.String).pipe(optional),
|
|
82
|
+
structured: Schema.Record(Schema.String, Schema.Unknown),
|
|
83
|
+
result: Schema.Unknown.pipe(optional),
|
|
84
|
+
}).annotate({ identifier: "Session.Message.ToolState.Completed" });
|
|
85
|
+
export const ToolStateError = Schema.Struct({
|
|
86
|
+
status: Schema.Literal("error"),
|
|
87
|
+
input: Schema.Record(Schema.String, Schema.Unknown),
|
|
88
|
+
content: ToolContent.pipe(Schema.Array),
|
|
89
|
+
structured: Schema.Record(Schema.String, Schema.Unknown),
|
|
90
|
+
error: UnknownError,
|
|
91
|
+
result: Schema.Unknown.pipe(optional),
|
|
92
|
+
}).annotate({ identifier: "Session.Message.ToolState.Error" });
|
|
93
|
+
export const ToolState = Schema.Union([ToolStatePending, ToolStateRunning, ToolStateCompleted, ToolStateError]).pipe(Schema.toTaggedUnion("status"));
|
|
94
|
+
export const AssistantTool = Schema.Struct({
|
|
95
|
+
type: Schema.Literal("tool"),
|
|
96
|
+
id: Schema.String,
|
|
97
|
+
name: Schema.String,
|
|
98
|
+
provider: Schema.Struct({
|
|
99
|
+
executed: Schema.Boolean,
|
|
100
|
+
metadata: ProviderMetadata.pipe(optional),
|
|
101
|
+
resultMetadata: ProviderMetadata.pipe(optional),
|
|
102
|
+
}).pipe(optional),
|
|
103
|
+
state: ToolState,
|
|
104
|
+
time: Schema.Struct({
|
|
105
|
+
created: DateTimeUtcFromMillis,
|
|
106
|
+
ran: DateTimeUtcFromMillis.pipe(optional),
|
|
107
|
+
completed: DateTimeUtcFromMillis.pipe(optional),
|
|
108
|
+
pruned: DateTimeUtcFromMillis.pipe(optional),
|
|
109
|
+
}),
|
|
110
|
+
}).annotate({ identifier: "Session.Message.Assistant.Tool" });
|
|
111
|
+
export const AssistantText = Schema.Struct({
|
|
112
|
+
type: Schema.Literal("text"),
|
|
113
|
+
id: Schema.String,
|
|
114
|
+
text: Schema.String,
|
|
115
|
+
}).annotate({ identifier: "Session.Message.Assistant.Text" });
|
|
116
|
+
export const AssistantReasoning = Schema.Struct({
|
|
117
|
+
type: Schema.Literal("reasoning"),
|
|
118
|
+
id: Schema.String,
|
|
119
|
+
text: Schema.String,
|
|
120
|
+
providerMetadata: ProviderMetadata.pipe(optional),
|
|
121
|
+
time: Schema.Struct({
|
|
122
|
+
created: DateTimeUtcFromMillis,
|
|
123
|
+
completed: DateTimeUtcFromMillis.pipe(optional),
|
|
124
|
+
}).pipe(optional),
|
|
125
|
+
}).annotate({ identifier: "Session.Message.Assistant.Reasoning" });
|
|
126
|
+
export const AssistantContent = Schema.Union([AssistantText, AssistantReasoning, AssistantTool]).pipe(Schema.toTaggedUnion("type"));
|
|
127
|
+
export const Assistant = Schema.Struct({
|
|
128
|
+
...Base,
|
|
129
|
+
type: Schema.Literal("assistant"),
|
|
130
|
+
agent: Schema.String,
|
|
131
|
+
model: Model.Ref,
|
|
132
|
+
content: AssistantContent.pipe(Schema.Array),
|
|
133
|
+
snapshot: Schema.Struct({
|
|
134
|
+
start: Schema.String.pipe(optional),
|
|
135
|
+
end: Schema.String.pipe(optional),
|
|
136
|
+
files: Schema.Array(RelativePath).pipe(optional),
|
|
137
|
+
}).pipe(optional),
|
|
138
|
+
finish: Schema.String.pipe(optional),
|
|
139
|
+
cost: Schema.Finite.pipe(optional),
|
|
140
|
+
tokens: Schema.Struct({
|
|
141
|
+
input: Schema.Finite,
|
|
142
|
+
output: Schema.Finite,
|
|
143
|
+
reasoning: Schema.Finite,
|
|
144
|
+
cache: Schema.Struct({ read: Schema.Finite, write: Schema.Finite }),
|
|
145
|
+
}).pipe(optional),
|
|
146
|
+
error: UnknownError.pipe(optional),
|
|
147
|
+
time: Schema.Struct({
|
|
148
|
+
created: DateTimeUtcFromMillis,
|
|
149
|
+
completed: DateTimeUtcFromMillis.pipe(optional),
|
|
150
|
+
}),
|
|
151
|
+
}).annotate({ identifier: "Session.Message.Assistant" });
|
|
152
|
+
export const Compaction = Schema.Struct({
|
|
153
|
+
type: Schema.Literal("compaction"),
|
|
154
|
+
reason: Schema.Literals(["auto", "manual"]),
|
|
155
|
+
summary: Schema.String,
|
|
156
|
+
recent: Schema.String,
|
|
157
|
+
...Base,
|
|
158
|
+
}).annotate({ identifier: "Session.Message.Compaction" });
|
|
159
|
+
export const Message = Schema.Union([
|
|
160
|
+
AgentSwitched,
|
|
161
|
+
ModelSwitched,
|
|
162
|
+
User,
|
|
163
|
+
Synthetic,
|
|
164
|
+
System,
|
|
165
|
+
Skill,
|
|
166
|
+
Shell,
|
|
167
|
+
Assistant,
|
|
168
|
+
Compaction,
|
|
169
|
+
])
|
|
170
|
+
.pipe(Schema.toTaggedUnion("type"))
|
|
171
|
+
.annotate({ identifier: "Session.Message" });
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
export * as SessionStatusEvent from "./session-status-event.js";
|
|
2
|
+
import { Schema } from "effect";
|
|
3
|
+
export declare const Info: Schema.Union<readonly [Schema.Struct<{
|
|
4
|
+
readonly type: Schema.Literal<"idle">;
|
|
5
|
+
}>, Schema.Struct<{
|
|
6
|
+
readonly type: Schema.Literal<"retry">;
|
|
7
|
+
readonly attempt: Schema.Int;
|
|
8
|
+
readonly message: Schema.String;
|
|
9
|
+
readonly action: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
|
|
10
|
+
readonly reason: Schema.String;
|
|
11
|
+
readonly provider: Schema.String;
|
|
12
|
+
readonly title: Schema.String;
|
|
13
|
+
readonly message: Schema.String;
|
|
14
|
+
readonly label: Schema.String;
|
|
15
|
+
readonly link: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
16
|
+
}>>>, Schema.optionalKey<Schema.Struct<{
|
|
17
|
+
readonly reason: Schema.String;
|
|
18
|
+
readonly provider: Schema.String;
|
|
19
|
+
readonly title: Schema.String;
|
|
20
|
+
readonly message: Schema.String;
|
|
21
|
+
readonly label: Schema.String;
|
|
22
|
+
readonly link: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
23
|
+
}>>, never, never>;
|
|
24
|
+
readonly next: Schema.Int;
|
|
25
|
+
}>, Schema.Struct<{
|
|
26
|
+
readonly type: Schema.Literal<"busy">;
|
|
27
|
+
}>]>;
|
|
28
|
+
export type Info = Schema.Schema.Type<typeof Info>;
|
|
29
|
+
export declare const Status: Schema.Struct<{
|
|
30
|
+
readonly id: Schema.brand<Schema.String, "Event.ID"> & {
|
|
31
|
+
create: () => string & import("effect/Brand").Brand<"Event.ID">;
|
|
32
|
+
};
|
|
33
|
+
readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
|
|
34
|
+
readonly type: Schema.Literal<"session.status">;
|
|
35
|
+
readonly durable: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
|
|
36
|
+
readonly aggregateID: Schema.String;
|
|
37
|
+
readonly seq: Schema.Int;
|
|
38
|
+
readonly version: Schema.Int;
|
|
39
|
+
}>>>, Schema.optionalKey<Schema.Struct<{
|
|
40
|
+
readonly aggregateID: Schema.String;
|
|
41
|
+
readonly seq: Schema.Int;
|
|
42
|
+
readonly version: Schema.Int;
|
|
43
|
+
}>>, never, never>;
|
|
44
|
+
readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
|
|
45
|
+
readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
|
|
46
|
+
readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
47
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
48
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
49
|
+
}>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
50
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
51
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
52
|
+
}>, never, never>;
|
|
53
|
+
}>>>, Schema.optionalKey<Schema.Struct<{
|
|
54
|
+
readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
|
|
55
|
+
readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
56
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
57
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
58
|
+
}>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
59
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
60
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
61
|
+
}>, never, never>;
|
|
62
|
+
}>>, never, never>;
|
|
63
|
+
readonly data: Schema.Struct<{
|
|
64
|
+
readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
65
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
66
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
67
|
+
};
|
|
68
|
+
readonly status: Schema.Union<readonly [Schema.Struct<{
|
|
69
|
+
readonly type: Schema.Literal<"idle">;
|
|
70
|
+
}>, Schema.Struct<{
|
|
71
|
+
readonly type: Schema.Literal<"retry">;
|
|
72
|
+
readonly attempt: Schema.Int;
|
|
73
|
+
readonly message: Schema.String;
|
|
74
|
+
readonly action: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
|
|
75
|
+
readonly reason: Schema.String;
|
|
76
|
+
readonly provider: Schema.String;
|
|
77
|
+
readonly title: Schema.String;
|
|
78
|
+
readonly message: Schema.String;
|
|
79
|
+
readonly label: Schema.String;
|
|
80
|
+
readonly link: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
81
|
+
}>>>, Schema.optionalKey<Schema.Struct<{
|
|
82
|
+
readonly reason: Schema.String;
|
|
83
|
+
readonly provider: Schema.String;
|
|
84
|
+
readonly title: Schema.String;
|
|
85
|
+
readonly message: Schema.String;
|
|
86
|
+
readonly label: Schema.String;
|
|
87
|
+
readonly link: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
88
|
+
}>>, never, never>;
|
|
89
|
+
readonly next: Schema.Int;
|
|
90
|
+
}>, Schema.Struct<{
|
|
91
|
+
readonly type: Schema.Literal<"busy">;
|
|
92
|
+
}>]>;
|
|
93
|
+
}>;
|
|
94
|
+
}> & {
|
|
95
|
+
data: Schema.Struct<{
|
|
96
|
+
readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
97
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
98
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
99
|
+
};
|
|
100
|
+
readonly status: Schema.Union<readonly [Schema.Struct<{
|
|
101
|
+
readonly type: Schema.Literal<"idle">;
|
|
102
|
+
}>, Schema.Struct<{
|
|
103
|
+
readonly type: Schema.Literal<"retry">;
|
|
104
|
+
readonly attempt: Schema.Int;
|
|
105
|
+
readonly message: Schema.String;
|
|
106
|
+
readonly action: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
|
|
107
|
+
readonly reason: Schema.String;
|
|
108
|
+
readonly provider: Schema.String;
|
|
109
|
+
readonly title: Schema.String;
|
|
110
|
+
readonly message: Schema.String;
|
|
111
|
+
readonly label: Schema.String;
|
|
112
|
+
readonly link: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
113
|
+
}>>>, Schema.optionalKey<Schema.Struct<{
|
|
114
|
+
readonly reason: Schema.String;
|
|
115
|
+
readonly provider: Schema.String;
|
|
116
|
+
readonly title: Schema.String;
|
|
117
|
+
readonly message: Schema.String;
|
|
118
|
+
readonly label: Schema.String;
|
|
119
|
+
readonly link: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
120
|
+
}>>, never, never>;
|
|
121
|
+
readonly next: Schema.Int;
|
|
122
|
+
}>, Schema.Struct<{
|
|
123
|
+
readonly type: Schema.Literal<"busy">;
|
|
124
|
+
}>]>;
|
|
125
|
+
}>;
|
|
126
|
+
durable?: {
|
|
127
|
+
readonly version: number;
|
|
128
|
+
readonly aggregate: string;
|
|
129
|
+
} | undefined;
|
|
130
|
+
type: "session.status";
|
|
131
|
+
};
|
|
132
|
+
export declare const Idle: Schema.Struct<{
|
|
133
|
+
readonly id: Schema.brand<Schema.String, "Event.ID"> & {
|
|
134
|
+
create: () => string & import("effect/Brand").Brand<"Event.ID">;
|
|
135
|
+
};
|
|
136
|
+
readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
|
|
137
|
+
readonly type: Schema.Literal<"session.idle">;
|
|
138
|
+
readonly durable: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
|
|
139
|
+
readonly aggregateID: Schema.String;
|
|
140
|
+
readonly seq: Schema.Int;
|
|
141
|
+
readonly version: Schema.Int;
|
|
142
|
+
}>>>, Schema.optionalKey<Schema.Struct<{
|
|
143
|
+
readonly aggregateID: Schema.String;
|
|
144
|
+
readonly seq: Schema.Int;
|
|
145
|
+
readonly version: Schema.Int;
|
|
146
|
+
}>>, never, never>;
|
|
147
|
+
readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
|
|
148
|
+
readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
|
|
149
|
+
readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
150
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
151
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
152
|
+
}>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
153
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
154
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
155
|
+
}>, never, never>;
|
|
156
|
+
}>>>, Schema.optionalKey<Schema.Struct<{
|
|
157
|
+
readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
|
|
158
|
+
readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
159
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
160
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
161
|
+
}>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
162
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
163
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
164
|
+
}>, never, never>;
|
|
165
|
+
}>>, never, never>;
|
|
166
|
+
readonly data: Schema.Struct<{
|
|
167
|
+
readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
168
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
169
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
170
|
+
};
|
|
171
|
+
}>;
|
|
172
|
+
}> & {
|
|
173
|
+
data: Schema.Struct<{
|
|
174
|
+
readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
175
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
176
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
177
|
+
};
|
|
178
|
+
}>;
|
|
179
|
+
durable?: {
|
|
180
|
+
readonly version: number;
|
|
181
|
+
readonly aggregate: string;
|
|
182
|
+
} | undefined;
|
|
183
|
+
type: "session.idle";
|
|
184
|
+
};
|
|
185
|
+
export declare const Definitions: readonly [Schema.Struct<{
|
|
186
|
+
readonly id: Schema.brand<Schema.String, "Event.ID"> & {
|
|
187
|
+
create: () => string & import("effect/Brand").Brand<"Event.ID">;
|
|
188
|
+
};
|
|
189
|
+
readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
|
|
190
|
+
readonly type: Schema.Literal<"session.status">;
|
|
191
|
+
readonly durable: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
|
|
192
|
+
readonly aggregateID: Schema.String;
|
|
193
|
+
readonly seq: Schema.Int;
|
|
194
|
+
readonly version: Schema.Int;
|
|
195
|
+
}>>>, Schema.optionalKey<Schema.Struct<{
|
|
196
|
+
readonly aggregateID: Schema.String;
|
|
197
|
+
readonly seq: Schema.Int;
|
|
198
|
+
readonly version: Schema.Int;
|
|
199
|
+
}>>, never, never>;
|
|
200
|
+
readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
|
|
201
|
+
readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
|
|
202
|
+
readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
203
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
204
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
205
|
+
}>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
206
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
207
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
208
|
+
}>, never, never>;
|
|
209
|
+
}>>>, Schema.optionalKey<Schema.Struct<{
|
|
210
|
+
readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
|
|
211
|
+
readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
212
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
213
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
214
|
+
}>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
215
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
216
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
217
|
+
}>, never, never>;
|
|
218
|
+
}>>, never, never>;
|
|
219
|
+
readonly data: Schema.Struct<{
|
|
220
|
+
readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
221
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
222
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
223
|
+
};
|
|
224
|
+
readonly status: Schema.Union<readonly [Schema.Struct<{
|
|
225
|
+
readonly type: Schema.Literal<"idle">;
|
|
226
|
+
}>, Schema.Struct<{
|
|
227
|
+
readonly type: Schema.Literal<"retry">;
|
|
228
|
+
readonly attempt: Schema.Int;
|
|
229
|
+
readonly message: Schema.String;
|
|
230
|
+
readonly action: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
|
|
231
|
+
readonly reason: Schema.String;
|
|
232
|
+
readonly provider: Schema.String;
|
|
233
|
+
readonly title: Schema.String;
|
|
234
|
+
readonly message: Schema.String;
|
|
235
|
+
readonly label: Schema.String;
|
|
236
|
+
readonly link: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
237
|
+
}>>>, Schema.optionalKey<Schema.Struct<{
|
|
238
|
+
readonly reason: Schema.String;
|
|
239
|
+
readonly provider: Schema.String;
|
|
240
|
+
readonly title: Schema.String;
|
|
241
|
+
readonly message: Schema.String;
|
|
242
|
+
readonly label: Schema.String;
|
|
243
|
+
readonly link: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
244
|
+
}>>, never, never>;
|
|
245
|
+
readonly next: Schema.Int;
|
|
246
|
+
}>, Schema.Struct<{
|
|
247
|
+
readonly type: Schema.Literal<"busy">;
|
|
248
|
+
}>]>;
|
|
249
|
+
}>;
|
|
250
|
+
}> & {
|
|
251
|
+
data: Schema.Struct<{
|
|
252
|
+
readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
253
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
254
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
255
|
+
};
|
|
256
|
+
readonly status: Schema.Union<readonly [Schema.Struct<{
|
|
257
|
+
readonly type: Schema.Literal<"idle">;
|
|
258
|
+
}>, Schema.Struct<{
|
|
259
|
+
readonly type: Schema.Literal<"retry">;
|
|
260
|
+
readonly attempt: Schema.Int;
|
|
261
|
+
readonly message: Schema.String;
|
|
262
|
+
readonly action: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
|
|
263
|
+
readonly reason: Schema.String;
|
|
264
|
+
readonly provider: Schema.String;
|
|
265
|
+
readonly title: Schema.String;
|
|
266
|
+
readonly message: Schema.String;
|
|
267
|
+
readonly label: Schema.String;
|
|
268
|
+
readonly link: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
269
|
+
}>>>, Schema.optionalKey<Schema.Struct<{
|
|
270
|
+
readonly reason: Schema.String;
|
|
271
|
+
readonly provider: Schema.String;
|
|
272
|
+
readonly title: Schema.String;
|
|
273
|
+
readonly message: Schema.String;
|
|
274
|
+
readonly label: Schema.String;
|
|
275
|
+
readonly link: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
276
|
+
}>>, never, never>;
|
|
277
|
+
readonly next: Schema.Int;
|
|
278
|
+
}>, Schema.Struct<{
|
|
279
|
+
readonly type: Schema.Literal<"busy">;
|
|
280
|
+
}>]>;
|
|
281
|
+
}>;
|
|
282
|
+
durable?: {
|
|
283
|
+
readonly version: number;
|
|
284
|
+
readonly aggregate: string;
|
|
285
|
+
} | undefined;
|
|
286
|
+
type: "session.status";
|
|
287
|
+
}, Schema.Struct<{
|
|
288
|
+
readonly id: Schema.brand<Schema.String, "Event.ID"> & {
|
|
289
|
+
create: () => string & import("effect/Brand").Brand<"Event.ID">;
|
|
290
|
+
};
|
|
291
|
+
readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
|
|
292
|
+
readonly type: Schema.Literal<"session.idle">;
|
|
293
|
+
readonly durable: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
|
|
294
|
+
readonly aggregateID: Schema.String;
|
|
295
|
+
readonly seq: Schema.Int;
|
|
296
|
+
readonly version: Schema.Int;
|
|
297
|
+
}>>>, Schema.optionalKey<Schema.Struct<{
|
|
298
|
+
readonly aggregateID: Schema.String;
|
|
299
|
+
readonly seq: Schema.Int;
|
|
300
|
+
readonly version: Schema.Int;
|
|
301
|
+
}>>, never, never>;
|
|
302
|
+
readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
|
|
303
|
+
readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
|
|
304
|
+
readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
305
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
306
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
307
|
+
}>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
308
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
309
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
310
|
+
}>, never, never>;
|
|
311
|
+
}>>>, Schema.optionalKey<Schema.Struct<{
|
|
312
|
+
readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
|
|
313
|
+
readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
314
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
315
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
316
|
+
}>>, Schema.optionalKey<Schema.brand<Schema.String, "WorkspaceV2.ID"> & {
|
|
317
|
+
ascending: (id?: string) => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
318
|
+
create: () => string & import("effect/Brand").Brand<"WorkspaceV2.ID">;
|
|
319
|
+
}>, never, never>;
|
|
320
|
+
}>>, never, never>;
|
|
321
|
+
readonly data: Schema.Struct<{
|
|
322
|
+
readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
323
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
324
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
325
|
+
};
|
|
326
|
+
}>;
|
|
327
|
+
}> & {
|
|
328
|
+
data: Schema.Struct<{
|
|
329
|
+
readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
330
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
331
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
332
|
+
};
|
|
333
|
+
}>;
|
|
334
|
+
durable?: {
|
|
335
|
+
readonly version: number;
|
|
336
|
+
readonly aggregate: string;
|
|
337
|
+
} | undefined;
|
|
338
|
+
type: "session.idle";
|
|
339
|
+
}];
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export * as SessionStatusEvent from "./session-status-event.js";
|
|
2
|
+
import { Schema } from "effect";
|
|
3
|
+
import { optional } from "./schema.js";
|
|
4
|
+
import { Event } from "./event.js";
|
|
5
|
+
import { NonNegativeInt } from "./schema.js";
|
|
6
|
+
import { SessionID } from "./session-id.js";
|
|
7
|
+
export const Info = Schema.Union([
|
|
8
|
+
Schema.Struct({
|
|
9
|
+
type: Schema.Literal("idle"),
|
|
10
|
+
}),
|
|
11
|
+
Schema.Struct({
|
|
12
|
+
type: Schema.Literal("retry"),
|
|
13
|
+
attempt: NonNegativeInt,
|
|
14
|
+
message: Schema.String,
|
|
15
|
+
action: optional(Schema.Struct({
|
|
16
|
+
reason: Schema.String,
|
|
17
|
+
provider: Schema.String,
|
|
18
|
+
title: Schema.String,
|
|
19
|
+
message: Schema.String,
|
|
20
|
+
label: Schema.String,
|
|
21
|
+
link: optional(Schema.String),
|
|
22
|
+
})),
|
|
23
|
+
next: NonNegativeInt,
|
|
24
|
+
}),
|
|
25
|
+
Schema.Struct({
|
|
26
|
+
type: Schema.Literal("busy"),
|
|
27
|
+
}),
|
|
28
|
+
]).annotate({ identifier: "SessionStatus" });
|
|
29
|
+
export const Status = Event.define({
|
|
30
|
+
type: "session.status",
|
|
31
|
+
schema: {
|
|
32
|
+
sessionID: SessionID,
|
|
33
|
+
status: Info,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
// deprecated
|
|
37
|
+
export const Idle = Event.define({
|
|
38
|
+
type: "session.idle",
|
|
39
|
+
schema: {
|
|
40
|
+
sessionID: SessionID,
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
export const Definitions = Event.inventory(Status, Idle);
|