@markusylisiurunen/tau 0.2.129 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -59
- package/dist/core/async/cli.js +12 -2
- package/dist/core/async/cli.js.map +1 -1
- package/dist/core/async/http_protocol.js +7 -1
- package/dist/core/async/http_protocol.js.map +1 -1
- package/dist/core/async/http_server.js +9 -1
- package/dist/core/async/http_server.js.map +1 -1
- package/dist/core/async/index.js.map +1 -1
- package/dist/core/async/session_manager.js +94 -51
- package/dist/core/async/session_manager.js.map +1 -1
- package/dist/core/cli.js +12 -15
- package/dist/core/cli.js.map +1 -1
- package/dist/core/commands/registry.js +9 -55
- package/dist/core/commands/registry.js.map +1 -1
- package/dist/core/config/index.js.map +1 -1
- package/dist/core/config/runtime.js +0 -1
- package/dist/core/config/runtime.js.map +1 -1
- package/dist/core/config/schema.js +102 -17
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/debug.js +1 -20
- package/dist/core/debug.js.map +1 -1
- package/dist/core/diff_review/{session.js → bridge.js} +57 -114
- package/dist/core/diff_review/bridge.js.map +1 -0
- package/dist/core/diff_review/index.js +2 -3
- package/dist/core/diff_review/index.js.map +1 -1
- package/dist/core/diff_review/review_thread.js +48 -23
- package/dist/core/diff_review/review_thread.js.map +1 -1
- package/dist/core/diff_review/snapshot.js +40 -11
- package/dist/core/diff_review/snapshot.js.map +1 -1
- package/dist/core/events/parser.js +43 -12
- package/dist/core/events/parser.js.map +1 -1
- package/dist/core/index.js +0 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/modes/index.js +1 -2
- package/dist/core/modes/index.js.map +1 -1
- package/dist/core/modes/rpc_server.js +15 -321
- package/dist/core/modes/rpc_server.js.map +1 -1
- package/dist/core/modes/websocket_server.js +181 -0
- package/dist/core/modes/websocket_server.js.map +1 -0
- package/dist/core/personas.js +11 -1
- package/dist/core/personas.js.map +1 -1
- package/dist/core/runtime/chat_runtime.js +19 -12
- package/dist/core/runtime/chat_runtime.js.map +1 -1
- package/dist/core/runtime/conversation_turn_runtime.js +16 -1
- package/dist/core/runtime/conversation_turn_runtime.js.map +1 -1
- package/dist/core/runtime/runtime_bootstrap.js +326 -0
- package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
- package/dist/core/session/compaction.js +13 -11
- package/dist/core/session/compaction.js.map +1 -1
- package/dist/core/session/core_session.js +9 -0
- package/dist/core/session/core_session.js.map +1 -1
- package/dist/core/session/direct_bash.js +34 -0
- package/dist/core/session/direct_bash.js.map +1 -0
- package/dist/core/session/pruning.js +595 -0
- package/dist/core/session/pruning.js.map +1 -0
- package/dist/core/session/runner.js +45 -5
- package/dist/core/session/runner.js.map +1 -1
- package/dist/core/session/session_engine.js +84 -10
- package/dist/core/session/session_engine.js.map +1 -1
- package/dist/core/static/prompts/diff-review-wrapper.md +1 -1
- package/dist/core/subagents/subagent_engine.js +1 -1
- package/dist/core/subagents/subagent_engine.js.map +1 -1
- package/dist/core/tools/catalog.js.map +1 -1
- package/dist/core/tools/diff_review.js +12 -12
- package/dist/core/tools/diff_review.js.map +1 -1
- package/dist/core/tools/execution_backend.js +9 -2
- package/dist/core/tools/execution_backend.js.map +1 -1
- package/dist/core/tools/registry.js.map +1 -1
- package/dist/core/usage/logs.js.map +1 -1
- package/dist/core/utils/context.js +1 -1
- package/dist/core/utils/context.js.map +1 -1
- package/dist/core/utils/context_builder.js +1 -18
- package/dist/core/utils/context_builder.js.map +1 -1
- package/dist/core/utils/gemini_speech.js +1 -1
- package/dist/core/utils/gemini_speech.js.map +1 -1
- package/dist/core/utils/project_files.js +11 -16
- package/dist/core/utils/project_files.js.map +1 -1
- package/dist/core/utils/spawn_capture.js +2 -2
- package/dist/core/utils/spawn_capture.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/core/version.js.map +1 -1
- package/dist/execution/cloudflare_sandbox_execution_environment.js +400 -0
- package/dist/execution/cloudflare_sandbox_execution_environment.js.map +1 -0
- package/dist/execution/execution_environment.js +24 -0
- package/dist/execution/execution_environment.js.map +1 -0
- package/dist/execution/fly_sprite_execution_environment.js +559 -0
- package/dist/execution/fly_sprite_execution_environment.js.map +1 -0
- package/dist/execution/local_execution_environment.js +93 -0
- package/dist/execution/local_execution_environment.js.map +1 -0
- package/dist/execution/runtime_config_snapshot.js +209 -0
- package/dist/execution/runtime_config_snapshot.js.map +1 -0
- package/dist/execution/sandbox_tool_helpers.js +55 -0
- package/dist/execution/sandbox_tool_helpers.js.map +1 -0
- package/dist/execution/tool_backend_execution_environment.js +55 -0
- package/dist/execution/tool_backend_execution_environment.js.map +1 -0
- package/dist/host/hosted_ephemeral_agent_session.js +286 -0
- package/dist/host/hosted_ephemeral_agent_session.js.map +1 -0
- package/dist/host/index.js +3 -0
- package/dist/host/index.js.map +1 -0
- package/dist/host/local_session_host.js +1464 -0
- package/dist/host/local_session_host.js.map +1 -0
- package/dist/host/session_host.js +2 -0
- package/dist/host/session_host.js.map +1 -0
- package/dist/host/session_protocol_handler.js +873 -0
- package/dist/host/session_protocol_handler.js.map +1 -0
- package/dist/main.js +537 -77
- package/dist/main.js.map +1 -1
- package/dist/protocol/index.d.ts +2 -0
- package/dist/protocol/index.js +2 -0
- package/dist/protocol/index.js.map +1 -0
- package/dist/protocol/session_protocol.d.ts +691 -0
- package/dist/protocol/session_protocol.js +2117 -0
- package/dist/protocol/session_protocol.js.map +1 -0
- package/dist/sdk/client.d.ts +2 -1
- package/dist/sdk/client.js +136 -392
- package/dist/sdk/client.js.map +1 -1
- package/dist/sdk/index.d.ts +7 -4
- package/dist/sdk/index.js +4 -2
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/session.d.ts +5 -0
- package/dist/sdk/session.js +406 -0
- package/dist/sdk/session.js.map +1 -0
- package/dist/sdk/types.d.ts +97 -78
- package/dist/store/file_session_store.js +157 -0
- package/dist/store/file_session_store.js.map +1 -0
- package/dist/store/memory_session_store.js +24 -0
- package/dist/store/memory_session_store.js.map +1 -0
- package/dist/store/session_store.js +32 -0
- package/dist/store/session_store.js.map +1 -0
- package/dist/transport/errors.d.ts +29 -0
- package/dist/{sdk → transport}/errors.js +5 -5
- package/dist/transport/errors.js.map +1 -0
- package/dist/transport/in_process_session_transport.js +102 -0
- package/dist/transport/in_process_session_transport.js.map +1 -0
- package/dist/transport/index.d.ts +7 -0
- package/dist/transport/index.js +4 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/pending_session_protocol_requests.js +67 -0
- package/dist/transport/pending_session_protocol_requests.js.map +1 -0
- package/dist/transport/session_protocol_transport_helpers.js +98 -0
- package/dist/transport/session_protocol_transport_helpers.js.map +1 -0
- package/dist/transport/session_transport.d.ts +11 -0
- package/dist/transport/session_transport.js +2 -0
- package/dist/transport/session_transport.js.map +1 -0
- package/dist/transport/stdio_session_transport.d.ts +38 -0
- package/dist/transport/stdio_session_transport.js +243 -0
- package/dist/transport/stdio_session_transport.js.map +1 -0
- package/dist/transport/websocket_session_transport.d.ts +52 -0
- package/dist/transport/websocket_session_transport.js +235 -0
- package/dist/transport/websocket_session_transport.js.map +1 -0
- package/dist/tui/chat_controller/assistant_clipboard.js +39 -0
- package/dist/tui/chat_controller/assistant_clipboard.js.map +1 -0
- package/dist/tui/chat_controller/command_hints.js +43 -0
- package/dist/tui/chat_controller/command_hints.js.map +1 -0
- package/dist/tui/chat_controller/diff_review_service.js +9 -9
- package/dist/tui/chat_controller/diff_review_service.js.map +1 -1
- package/dist/tui/chat_controller/diff_review_user_message.js +17 -0
- package/dist/tui/chat_controller/diff_review_user_message.js.map +1 -0
- package/dist/tui/chat_controller/history_labels.js +8 -0
- package/dist/tui/chat_controller/history_labels.js.map +1 -0
- package/dist/tui/chat_controller/history_message_model.js +36 -0
- package/dist/tui/chat_controller/history_message_model.js.map +1 -0
- package/dist/tui/chat_controller/status_format.js +22 -0
- package/dist/tui/chat_controller/status_format.js.map +1 -0
- package/dist/tui/chat_view.js +0 -1
- package/dist/tui/chat_view.js.map +1 -1
- package/dist/tui/index.js +1 -1
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/listen_capture.js +87 -0
- package/dist/tui/listen_capture.js.map +1 -0
- package/dist/tui/memory_mode.js +23 -0
- package/dist/tui/memory_mode.js.map +1 -0
- package/dist/tui/session_chat_app.js +227 -0
- package/dist/tui/session_chat_app.js.map +1 -0
- package/dist/tui/session_chat_controller.js +2176 -0
- package/dist/tui/session_chat_controller.js.map +1 -0
- package/dist/tui/session_tool_execution_backend.js +170 -0
- package/dist/tui/session_tool_execution_backend.js.map +1 -0
- package/dist/tui/speech_playback.js +107 -0
- package/dist/tui/speech_playback.js.map +1 -0
- package/dist/tui/ui/assistant_message.js +27 -21
- package/dist/tui/ui/assistant_message.js.map +1 -1
- package/dist/tui/ui/chat_container.js +4 -0
- package/dist/tui/ui/chat_container.js.map +1 -1
- package/dist/tui/ui/custom_editor.js +0 -5
- package/dist/tui/ui/custom_editor.js.map +1 -1
- package/dist/tui/ui/slash_autocomplete.js +14 -36
- package/dist/tui/ui/slash_autocomplete.js.map +1 -1
- package/dist/tui/ui/tool_ui_registry.js +21 -0
- package/dist/tui/ui/tool_ui_registry.js.map +1 -1
- package/package.json +6 -3
- package/dist/core/config/bash_commands.js +0 -44
- package/dist/core/config/bash_commands.js.map +0 -1
- package/dist/core/diff_review/session.js.map +0 -1
- package/dist/core/modes/rpc_adapter.js +0 -17
- package/dist/core/modes/rpc_adapter.js.map +0 -1
- package/dist/core/modes/rpc_protocol.js +0 -500
- package/dist/core/modes/rpc_protocol.js.map +0 -1
- package/dist/core/session/checkpoint.js +0 -34
- package/dist/core/session/checkpoint.js.map +0 -1
- package/dist/sdk/errors.d.ts +0 -33
- package/dist/sdk/errors.js.map +0 -1
- package/dist/tui/app.js +0 -64
- package/dist/tui/app.js.map +0 -1
- package/dist/tui/chat_controller/session_maintenance_service.js +0 -634
- package/dist/tui/chat_controller/session_maintenance_service.js.map +0 -1
- package/dist/tui/chat_controller.js +0 -2579
- package/dist/tui/chat_controller.js.map +0 -1
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { serializeCoreEvent } from "../events/types.js";
|
|
2
|
-
export class RpcAdapter {
|
|
3
|
-
send;
|
|
4
|
-
constructor(options) {
|
|
5
|
-
this.send = options.send;
|
|
6
|
-
}
|
|
7
|
-
onEvent(event) {
|
|
8
|
-
this.send(serializeCoreEvent(event));
|
|
9
|
-
}
|
|
10
|
-
onUserInput(_text) {
|
|
11
|
-
// rpc input handling will be wired up in a future task
|
|
12
|
-
}
|
|
13
|
-
onInterrupt() {
|
|
14
|
-
// rpc interruption will be wired up in a future task
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=rpc_adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rpc_adapter.js","sourceRoot":"","sources":["../../../src/core/modes/rpc_adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOxD,MAAM,OAAO,UAAU;IACJ,IAAI,CAA4B;IAEjD,YAAY,OAA0B;QACpC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,KAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,uDAAuD;IACzD,CAAC;IAED,WAAW;QACT,qDAAqD;IACvD,CAAC;CACF"}
|
|
@@ -1,500 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { CORE_EVENT_VERSION, safeParseCoreEventEnvelope, } from "../events/index.js";
|
|
3
|
-
import { formatZodError } from "../utils/zod.js";
|
|
4
|
-
export const RPC_PROTOCOL_VERSION = 1;
|
|
5
|
-
export const RPC_METHODS = [
|
|
6
|
-
"initialize",
|
|
7
|
-
"session.submit",
|
|
8
|
-
"session.interrupt",
|
|
9
|
-
"session.snapshot",
|
|
10
|
-
"session.reset",
|
|
11
|
-
"session.shutdown",
|
|
12
|
-
];
|
|
13
|
-
export const RPC_ERROR_CODES = {
|
|
14
|
-
parseError: "parse_error",
|
|
15
|
-
invalidRequest: "invalid_request",
|
|
16
|
-
methodNotFound: "method_not_found",
|
|
17
|
-
invalidParams: "invalid_params",
|
|
18
|
-
busy: "busy",
|
|
19
|
-
internalError: "internal_error",
|
|
20
|
-
};
|
|
21
|
-
const EMPTY_OBJECT = Object.freeze({});
|
|
22
|
-
const rpcMethodSchema = z.enum(RPC_METHODS);
|
|
23
|
-
const rpcErrorCodeSchema = z.enum(Object.values(RPC_ERROR_CODES));
|
|
24
|
-
const rpcRequestIdSchema = z.union([z.string(), z.number()]);
|
|
25
|
-
const nullableRpcRequestIdSchema = rpcRequestIdSchema.nullable();
|
|
26
|
-
const rpcReadyMessageSchema = z
|
|
27
|
-
.object({
|
|
28
|
-
version: z.literal(RPC_PROTOCOL_VERSION),
|
|
29
|
-
type: z.literal("ready"),
|
|
30
|
-
sessionId: z.string(),
|
|
31
|
-
methods: z.array(rpcMethodSchema),
|
|
32
|
-
coreEventVersion: z.literal(CORE_EVENT_VERSION),
|
|
33
|
-
})
|
|
34
|
-
.strict();
|
|
35
|
-
const rpcRequestEnvelopeSchema = z
|
|
36
|
-
.object({
|
|
37
|
-
version: z.literal(RPC_PROTOCOL_VERSION),
|
|
38
|
-
type: z.literal("request"),
|
|
39
|
-
id: rpcRequestIdSchema,
|
|
40
|
-
method: z.string(),
|
|
41
|
-
params: z.unknown().optional(),
|
|
42
|
-
})
|
|
43
|
-
.strict();
|
|
44
|
-
const rpcOutgoingRoutingSchema = z
|
|
45
|
-
.object({
|
|
46
|
-
version: z.literal(RPC_PROTOCOL_VERSION),
|
|
47
|
-
type: z.enum(["ready", "event", "response"]),
|
|
48
|
-
})
|
|
49
|
-
.passthrough();
|
|
50
|
-
const rpcEventMessageSchema = z
|
|
51
|
-
.object({
|
|
52
|
-
version: z.literal(RPC_PROTOCOL_VERSION),
|
|
53
|
-
type: z.literal("event"),
|
|
54
|
-
event: z.unknown(),
|
|
55
|
-
requestId: rpcRequestIdSchema.optional(),
|
|
56
|
-
})
|
|
57
|
-
.strict();
|
|
58
|
-
const rpcIdFieldSchema = z.object({ id: z.unknown() }).passthrough();
|
|
59
|
-
const rpcVersionFieldSchema = z.object({ version: z.unknown() }).passthrough();
|
|
60
|
-
const rpcTypeFieldSchema = z.object({ type: z.unknown() }).passthrough();
|
|
61
|
-
const rpcResponseSuccessSchema = z
|
|
62
|
-
.object({
|
|
63
|
-
version: z.literal(RPC_PROTOCOL_VERSION),
|
|
64
|
-
type: z.literal("response"),
|
|
65
|
-
id: rpcRequestIdSchema,
|
|
66
|
-
ok: z.literal(true),
|
|
67
|
-
result: z.unknown(),
|
|
68
|
-
})
|
|
69
|
-
.strict();
|
|
70
|
-
const rpcResponseErrorSchema = z
|
|
71
|
-
.object({
|
|
72
|
-
version: z.literal(RPC_PROTOCOL_VERSION),
|
|
73
|
-
type: z.literal("response"),
|
|
74
|
-
id: nullableRpcRequestIdSchema,
|
|
75
|
-
ok: z.literal(false),
|
|
76
|
-
error: z
|
|
77
|
-
.object({
|
|
78
|
-
code: rpcErrorCodeSchema,
|
|
79
|
-
message: z.string(),
|
|
80
|
-
data: z.unknown().optional(),
|
|
81
|
-
})
|
|
82
|
-
.strict(),
|
|
83
|
-
})
|
|
84
|
-
.strict();
|
|
85
|
-
const rpcInitializeParamsSchema = z
|
|
86
|
-
.object({
|
|
87
|
-
client: z
|
|
88
|
-
.object({
|
|
89
|
-
name: z.string().trim().min(1),
|
|
90
|
-
version: z.string().trim().min(1),
|
|
91
|
-
})
|
|
92
|
-
.strict(),
|
|
93
|
-
})
|
|
94
|
-
.strict();
|
|
95
|
-
const rpcSessionSubmitParamsSchema = z
|
|
96
|
-
.object({
|
|
97
|
-
text: z.string(),
|
|
98
|
-
historyEntryId: z.string().optional(),
|
|
99
|
-
mode: z.enum(["submit", "steer"]).optional(),
|
|
100
|
-
})
|
|
101
|
-
.strict();
|
|
102
|
-
const rpcEmptyParamsSchema = z.object({}).strict();
|
|
103
|
-
export function isRpcMethod(value) {
|
|
104
|
-
return typeof value === "string" && RPC_METHODS.includes(value);
|
|
105
|
-
}
|
|
106
|
-
export function createRpcError(code, message, data) {
|
|
107
|
-
return data === undefined ? { code, message } : { code, message, data };
|
|
108
|
-
}
|
|
109
|
-
export function createRpcSuccessResponse(id, result) {
|
|
110
|
-
return {
|
|
111
|
-
version: RPC_PROTOCOL_VERSION,
|
|
112
|
-
type: "response",
|
|
113
|
-
id,
|
|
114
|
-
ok: true,
|
|
115
|
-
result,
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
export function createRpcErrorResponse(id, code, message, data) {
|
|
119
|
-
return {
|
|
120
|
-
version: RPC_PROTOCOL_VERSION,
|
|
121
|
-
type: "response",
|
|
122
|
-
id,
|
|
123
|
-
ok: false,
|
|
124
|
-
error: createRpcError(code, message, data),
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
export function createRpcEventMessage(event, options = {}) {
|
|
128
|
-
return {
|
|
129
|
-
version: RPC_PROTOCOL_VERSION,
|
|
130
|
-
type: "event",
|
|
131
|
-
event,
|
|
132
|
-
...(options.requestId !== undefined ? { requestId: options.requestId } : {}),
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
export function createRpcReadyMessage(args) {
|
|
136
|
-
return {
|
|
137
|
-
version: RPC_PROTOCOL_VERSION,
|
|
138
|
-
type: "ready",
|
|
139
|
-
sessionId: args.sessionId,
|
|
140
|
-
methods: [...RPC_METHODS],
|
|
141
|
-
coreEventVersion: CORE_EVENT_VERSION,
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
export function serializeRpcMessage(message) {
|
|
145
|
-
return JSON.stringify(message);
|
|
146
|
-
}
|
|
147
|
-
export function parseRpcRequestLine(line) {
|
|
148
|
-
const trimmed = line.trim();
|
|
149
|
-
if (!trimmed) {
|
|
150
|
-
return {
|
|
151
|
-
ok: false,
|
|
152
|
-
id: null,
|
|
153
|
-
error: createRpcError(RPC_ERROR_CODES.invalidRequest, "request line cannot be empty"),
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
let parsed;
|
|
157
|
-
try {
|
|
158
|
-
parsed = JSON.parse(trimmed);
|
|
159
|
-
}
|
|
160
|
-
catch (error) {
|
|
161
|
-
return {
|
|
162
|
-
ok: false,
|
|
163
|
-
id: null,
|
|
164
|
-
error: createRpcError(RPC_ERROR_CODES.parseError, "failed to parse JSON request line", {
|
|
165
|
-
cause: error instanceof Error ? error.message : String(error),
|
|
166
|
-
}),
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
const parsedIdField = rpcIdFieldSchema.safeParse(parsed);
|
|
170
|
-
const requestIdCandidate = parsedIdField.success
|
|
171
|
-
? parseNullableRequestId(parsedIdField.data.id)
|
|
172
|
-
: null;
|
|
173
|
-
const requestId = requestIdCandidate?.ok ? requestIdCandidate.id : null;
|
|
174
|
-
const requestEnvelope = rpcRequestEnvelopeSchema.safeParse(parsed);
|
|
175
|
-
if (!requestEnvelope.success) {
|
|
176
|
-
if (hasIssue(requestEnvelope.error, [], "invalid_type")) {
|
|
177
|
-
return {
|
|
178
|
-
ok: false,
|
|
179
|
-
id: null,
|
|
180
|
-
error: createRpcError(RPC_ERROR_CODES.invalidRequest, "request must be a JSON object"),
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
if (hasIssue(requestEnvelope.error, ["id"])) {
|
|
184
|
-
return {
|
|
185
|
-
ok: false,
|
|
186
|
-
id: null,
|
|
187
|
-
error: createRpcError(RPC_ERROR_CODES.invalidRequest, "request id must be a string or number"),
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
if (hasIssue(requestEnvelope.error, [], "unrecognized_keys")) {
|
|
191
|
-
return {
|
|
192
|
-
ok: false,
|
|
193
|
-
id: requestId,
|
|
194
|
-
error: createRpcError(RPC_ERROR_CODES.invalidRequest, "request contains unsupported top-level fields"),
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
if (hasIssue(requestEnvelope.error, ["version"])) {
|
|
198
|
-
const parsedVersionField = rpcVersionFieldSchema.safeParse(parsed);
|
|
199
|
-
const version = parsedVersionField.success ? parsedVersionField.data.version : undefined;
|
|
200
|
-
return {
|
|
201
|
-
ok: false,
|
|
202
|
-
id: requestId,
|
|
203
|
-
error: createRpcError(RPC_ERROR_CODES.invalidRequest, `unsupported rpc version: ${String(version)}`),
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
if (hasIssue(requestEnvelope.error, ["type"])) {
|
|
207
|
-
return {
|
|
208
|
-
ok: false,
|
|
209
|
-
id: requestId,
|
|
210
|
-
error: createRpcError(RPC_ERROR_CODES.invalidRequest, 'request.type must be "request"'),
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
if (hasIssue(requestEnvelope.error, ["method"])) {
|
|
214
|
-
return {
|
|
215
|
-
ok: false,
|
|
216
|
-
id: requestId,
|
|
217
|
-
error: createRpcError(RPC_ERROR_CODES.invalidRequest, "request.method must be a string"),
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
return {
|
|
221
|
-
ok: false,
|
|
222
|
-
id: requestId,
|
|
223
|
-
error: createRpcError(RPC_ERROR_CODES.invalidRequest, `request is invalid: ${formatZodError(requestEnvelope.error)}`),
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
const method = requestEnvelope.data.method;
|
|
227
|
-
if (!isRpcMethod(method)) {
|
|
228
|
-
return {
|
|
229
|
-
ok: false,
|
|
230
|
-
id: requestEnvelope.data.id,
|
|
231
|
-
error: createRpcError(RPC_ERROR_CODES.methodNotFound, `unsupported method: ${method}`),
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
const params = validateRpcParams(method, requestEnvelope.data.params);
|
|
235
|
-
if (!params.ok) {
|
|
236
|
-
return {
|
|
237
|
-
ok: false,
|
|
238
|
-
id: requestEnvelope.data.id,
|
|
239
|
-
error: params.error,
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
return {
|
|
243
|
-
ok: true,
|
|
244
|
-
request: {
|
|
245
|
-
version: RPC_PROTOCOL_VERSION,
|
|
246
|
-
type: "request",
|
|
247
|
-
id: requestEnvelope.data.id,
|
|
248
|
-
method,
|
|
249
|
-
params: params.value,
|
|
250
|
-
},
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
export function parseRpcOutgoingLine(line) {
|
|
254
|
-
const trimmed = line.trim();
|
|
255
|
-
if (!trimmed) {
|
|
256
|
-
return outgoingParseFailure(null, null, RPC_ERROR_CODES.invalidRequest, "rpc line cannot be empty", undefined, "empty_line");
|
|
257
|
-
}
|
|
258
|
-
let parsed;
|
|
259
|
-
try {
|
|
260
|
-
parsed = JSON.parse(trimmed);
|
|
261
|
-
}
|
|
262
|
-
catch (error) {
|
|
263
|
-
return outgoingParseFailure(null, null, RPC_ERROR_CODES.parseError, "failed to parse JSON rpc line", {
|
|
264
|
-
cause: error instanceof Error ? error.message : String(error),
|
|
265
|
-
}, "parse_error");
|
|
266
|
-
}
|
|
267
|
-
const routing = rpcOutgoingRoutingSchema.safeParse(parsed);
|
|
268
|
-
if (!routing.success) {
|
|
269
|
-
if (hasIssue(routing.error, [], "invalid_type")) {
|
|
270
|
-
return outgoingParseFailure(null, null, RPC_ERROR_CODES.invalidRequest, "rpc payload must be a JSON object");
|
|
271
|
-
}
|
|
272
|
-
if (hasIssue(routing.error, ["version"])) {
|
|
273
|
-
const parsedVersionField = rpcVersionFieldSchema.safeParse(parsed);
|
|
274
|
-
const version = parsedVersionField.success ? parsedVersionField.data.version : undefined;
|
|
275
|
-
return outgoingParseFailure(null, null, RPC_ERROR_CODES.invalidRequest, `unsupported rpc version: ${String(version)}`, undefined, "unsupported_version");
|
|
276
|
-
}
|
|
277
|
-
const parsedTypeField = rpcTypeFieldSchema.safeParse(parsed);
|
|
278
|
-
const messageType = parsedTypeField.success ? parsedTypeField.data.type : undefined;
|
|
279
|
-
return outgoingParseFailure(null, null, RPC_ERROR_CODES.invalidRequest, `unsupported rpc message type: ${String(messageType)}`, undefined, "unsupported_message_type");
|
|
280
|
-
}
|
|
281
|
-
if (routing.data.type === "ready") {
|
|
282
|
-
return parseRpcReadyMessage(parsed);
|
|
283
|
-
}
|
|
284
|
-
if (routing.data.type === "event") {
|
|
285
|
-
return parseRpcEventMessage(parsed);
|
|
286
|
-
}
|
|
287
|
-
return parseRpcResponseMessage(parsed);
|
|
288
|
-
}
|
|
289
|
-
export function validateRpcParams(method, params) {
|
|
290
|
-
switch (method) {
|
|
291
|
-
case "initialize":
|
|
292
|
-
return validateInitializeParams(params);
|
|
293
|
-
case "session.submit":
|
|
294
|
-
return validateSubmitParams(params);
|
|
295
|
-
case "session.interrupt":
|
|
296
|
-
case "session.snapshot":
|
|
297
|
-
case "session.reset":
|
|
298
|
-
case "session.shutdown":
|
|
299
|
-
return validateNoParams(method, params);
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
function validateInitializeParams(params) {
|
|
303
|
-
const parsed = rpcInitializeParamsSchema.safeParse(params);
|
|
304
|
-
if (!parsed.success) {
|
|
305
|
-
const message = hasIssue(parsed.error, [], "invalid_type")
|
|
306
|
-
? "initialize params must be an object with client metadata"
|
|
307
|
-
: hasIssue(parsed.error, ["client"]) || hasIssue(parsed.error, [], "unrecognized_keys")
|
|
308
|
-
? "initialize.client must be an object with name/version strings"
|
|
309
|
-
: hasIssue(parsed.error, ["client", "name"])
|
|
310
|
-
? "initialize.client.name must be a non-empty string"
|
|
311
|
-
: hasIssue(parsed.error, ["client", "version"])
|
|
312
|
-
? "initialize.client.version must be a non-empty string"
|
|
313
|
-
: `initialize params are invalid: ${formatZodError(parsed.error)}`;
|
|
314
|
-
return invalidParams(message);
|
|
315
|
-
}
|
|
316
|
-
return {
|
|
317
|
-
ok: true,
|
|
318
|
-
value: {
|
|
319
|
-
client: {
|
|
320
|
-
name: parsed.data.client.name,
|
|
321
|
-
version: parsed.data.client.version,
|
|
322
|
-
},
|
|
323
|
-
},
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
function validateSubmitParams(params) {
|
|
327
|
-
const parsed = rpcSessionSubmitParamsSchema.safeParse(params);
|
|
328
|
-
if (!parsed.success) {
|
|
329
|
-
const message = hasIssue(parsed.error, [], "invalid_type")
|
|
330
|
-
? "session.submit params must be an object"
|
|
331
|
-
: hasIssue(parsed.error, [], "unrecognized_keys")
|
|
332
|
-
? "session.submit params only support text, optional historyEntryId, and optional mode"
|
|
333
|
-
: hasIssue(parsed.error, ["text"])
|
|
334
|
-
? "session.submit params.text must be a string"
|
|
335
|
-
: hasIssue(parsed.error, ["historyEntryId"])
|
|
336
|
-
? "session.submit params.historyEntryId must be a string when provided"
|
|
337
|
-
: hasIssue(parsed.error, ["mode"])
|
|
338
|
-
? "session.submit params.mode must be 'submit' or 'steer' when provided"
|
|
339
|
-
: `session.submit params are invalid: ${formatZodError(parsed.error)}`;
|
|
340
|
-
return invalidParams(message);
|
|
341
|
-
}
|
|
342
|
-
return {
|
|
343
|
-
ok: true,
|
|
344
|
-
value: {
|
|
345
|
-
text: parsed.data.text,
|
|
346
|
-
...(parsed.data.historyEntryId !== undefined
|
|
347
|
-
? { historyEntryId: parsed.data.historyEntryId }
|
|
348
|
-
: {}),
|
|
349
|
-
...(parsed.data.mode !== undefined ? { mode: parsed.data.mode } : {}),
|
|
350
|
-
},
|
|
351
|
-
};
|
|
352
|
-
}
|
|
353
|
-
function validateNoParams(method, params) {
|
|
354
|
-
const parsed = rpcEmptyParamsSchema.safeParse(params);
|
|
355
|
-
if (!parsed.success) {
|
|
356
|
-
return invalidParams(`${method} params must be an empty object`);
|
|
357
|
-
}
|
|
358
|
-
return { ok: true, value: EMPTY_OBJECT };
|
|
359
|
-
}
|
|
360
|
-
function parseRpcReadyMessage(payload) {
|
|
361
|
-
const ready = rpcReadyMessageSchema.safeParse(payload);
|
|
362
|
-
if (!ready.success) {
|
|
363
|
-
return outgoingParseFailure("ready", null, RPC_ERROR_CODES.invalidRequest, `invalid ready message: ${formatZodError(ready.error)}`);
|
|
364
|
-
}
|
|
365
|
-
return {
|
|
366
|
-
ok: true,
|
|
367
|
-
message: {
|
|
368
|
-
version: RPC_PROTOCOL_VERSION,
|
|
369
|
-
type: "ready",
|
|
370
|
-
sessionId: ready.data.sessionId,
|
|
371
|
-
methods: [...ready.data.methods],
|
|
372
|
-
coreEventVersion: CORE_EVENT_VERSION,
|
|
373
|
-
},
|
|
374
|
-
};
|
|
375
|
-
}
|
|
376
|
-
function parseRpcEventMessage(payload) {
|
|
377
|
-
const fail = (message) => outgoingParseFailure("event", null, RPC_ERROR_CODES.invalidRequest, message);
|
|
378
|
-
const eventMessage = rpcEventMessageSchema.safeParse(payload);
|
|
379
|
-
if (!eventMessage.success) {
|
|
380
|
-
if (hasIssue(eventMessage.error, [], "unrecognized_keys")) {
|
|
381
|
-
return fail("event message contains unsupported fields");
|
|
382
|
-
}
|
|
383
|
-
if (hasIssue(eventMessage.error, ["requestId"])) {
|
|
384
|
-
return fail("event.requestId must be a string or number when provided");
|
|
385
|
-
}
|
|
386
|
-
return fail(`invalid event message: ${formatZodError(eventMessage.error)}`);
|
|
387
|
-
}
|
|
388
|
-
const event = safeParseCoreEventEnvelope(eventMessage.data.event);
|
|
389
|
-
if (!event.ok) {
|
|
390
|
-
return fail(event.message);
|
|
391
|
-
}
|
|
392
|
-
return {
|
|
393
|
-
ok: true,
|
|
394
|
-
message: {
|
|
395
|
-
version: RPC_PROTOCOL_VERSION,
|
|
396
|
-
type: "event",
|
|
397
|
-
event: event.value,
|
|
398
|
-
...(eventMessage.data.requestId !== undefined
|
|
399
|
-
? { requestId: eventMessage.data.requestId }
|
|
400
|
-
: {}),
|
|
401
|
-
},
|
|
402
|
-
};
|
|
403
|
-
}
|
|
404
|
-
function parseRpcResponseMessage(payload) {
|
|
405
|
-
const responseId = parseNullableRequestId(payload.id);
|
|
406
|
-
const requestId = responseId.ok ? responseId.id : null;
|
|
407
|
-
const fail = (message, reason = "invalid_payload", id = requestId) => outgoingParseFailure("response", id, RPC_ERROR_CODES.invalidRequest, message, undefined, reason);
|
|
408
|
-
if (!responseId.ok) {
|
|
409
|
-
return fail("response.id must be a string or number", "response_invalid_id", null);
|
|
410
|
-
}
|
|
411
|
-
if (payload.ok === true) {
|
|
412
|
-
const successResponse = rpcResponseSuccessSchema.safeParse(payload);
|
|
413
|
-
if (!successResponse.success) {
|
|
414
|
-
if (hasIssue(successResponse.error, [], "unrecognized_keys")) {
|
|
415
|
-
return fail("successful response must only include result payload");
|
|
416
|
-
}
|
|
417
|
-
if (hasIssue(successResponse.error, ["result"], "invalid_type")) {
|
|
418
|
-
return fail("successful response must include result");
|
|
419
|
-
}
|
|
420
|
-
if (hasIssue(successResponse.error, ["id"])) {
|
|
421
|
-
return fail("successful response.id must be a string or number", "response_invalid_id");
|
|
422
|
-
}
|
|
423
|
-
return fail(`invalid successful response: ${formatZodError(successResponse.error)}`);
|
|
424
|
-
}
|
|
425
|
-
return {
|
|
426
|
-
ok: true,
|
|
427
|
-
message: {
|
|
428
|
-
version: RPC_PROTOCOL_VERSION,
|
|
429
|
-
type: "response",
|
|
430
|
-
id: successResponse.data.id,
|
|
431
|
-
ok: true,
|
|
432
|
-
result: successResponse.data.result,
|
|
433
|
-
},
|
|
434
|
-
};
|
|
435
|
-
}
|
|
436
|
-
if (payload.ok !== false) {
|
|
437
|
-
return fail("response.ok must be true or false");
|
|
438
|
-
}
|
|
439
|
-
const errorResponse = rpcResponseErrorSchema.safeParse(payload);
|
|
440
|
-
if (!errorResponse.success) {
|
|
441
|
-
if (hasIssue(errorResponse.error, [], "unrecognized_keys")) {
|
|
442
|
-
return fail("error response must only include error payload");
|
|
443
|
-
}
|
|
444
|
-
if (hasIssue(errorResponse.error, ["error"])) {
|
|
445
|
-
return fail("error response.error must be an object");
|
|
446
|
-
}
|
|
447
|
-
if (hasIssue(errorResponse.error, ["error", "code"]) ||
|
|
448
|
-
hasIssue(errorResponse.error, ["error", "message"])) {
|
|
449
|
-
return fail("error response.error must include a valid code and string message");
|
|
450
|
-
}
|
|
451
|
-
return fail(`invalid error response: ${formatZodError(errorResponse.error)}`);
|
|
452
|
-
}
|
|
453
|
-
return {
|
|
454
|
-
ok: true,
|
|
455
|
-
message: {
|
|
456
|
-
version: RPC_PROTOCOL_VERSION,
|
|
457
|
-
type: "response",
|
|
458
|
-
id: errorResponse.data.id,
|
|
459
|
-
ok: false,
|
|
460
|
-
error: errorResponse.data.error,
|
|
461
|
-
},
|
|
462
|
-
};
|
|
463
|
-
}
|
|
464
|
-
function parseRequestId(value) {
|
|
465
|
-
if (typeof value === "string" || typeof value === "number") {
|
|
466
|
-
return { ok: true, id: value };
|
|
467
|
-
}
|
|
468
|
-
return { ok: false };
|
|
469
|
-
}
|
|
470
|
-
function parseNullableRequestId(value) {
|
|
471
|
-
if (value === null) {
|
|
472
|
-
return { ok: true, id: null };
|
|
473
|
-
}
|
|
474
|
-
const parsed = parseRequestId(value);
|
|
475
|
-
if (!parsed.ok) {
|
|
476
|
-
return { ok: false };
|
|
477
|
-
}
|
|
478
|
-
return { ok: true, id: parsed.id };
|
|
479
|
-
}
|
|
480
|
-
function outgoingParseFailure(messageType, id, code, message, data, reason = "invalid_payload") {
|
|
481
|
-
return {
|
|
482
|
-
ok: false,
|
|
483
|
-
reason,
|
|
484
|
-
messageType,
|
|
485
|
-
id,
|
|
486
|
-
error: createRpcError(code, message, data),
|
|
487
|
-
};
|
|
488
|
-
}
|
|
489
|
-
function hasIssue(error, path = [], code) {
|
|
490
|
-
return error.issues.some((issue) => (code === undefined || issue.code === code) &&
|
|
491
|
-
issue.path.length === path.length &&
|
|
492
|
-
issue.path.every((segment, i) => segment === path[i]));
|
|
493
|
-
}
|
|
494
|
-
function invalidParams(message) {
|
|
495
|
-
return {
|
|
496
|
-
ok: false,
|
|
497
|
-
error: createRpcError(RPC_ERROR_CODES.invalidParams, message),
|
|
498
|
-
};
|
|
499
|
-
}
|
|
500
|
-
//# sourceMappingURL=rpc_protocol.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rpc_protocol.js","sourceRoot":"","sources":["../../../src/core/modes/rpc_protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { ReasoningEffortSchema, RiskLevelSchema } from "../types.js";
|
|
3
|
-
import { APP_VERSION } from "../version.js";
|
|
4
|
-
const MessageSchema = z.custom((value) => {
|
|
5
|
-
if (!value || typeof value !== "object")
|
|
6
|
-
return false;
|
|
7
|
-
const role = value.role;
|
|
8
|
-
return typeof role === "string";
|
|
9
|
-
});
|
|
10
|
-
const CheckpointSchema = z.object({
|
|
11
|
-
version: z.literal(1),
|
|
12
|
-
createdAt: z.string(),
|
|
13
|
-
appVersion: z.string(),
|
|
14
|
-
personaId: z.string(),
|
|
15
|
-
reasoning: ReasoningEffortSchema.optional(),
|
|
16
|
-
riskLevel: RiskLevelSchema,
|
|
17
|
-
history: z.array(MessageSchema),
|
|
18
|
-
});
|
|
19
|
-
export function createCheckpoint(args) {
|
|
20
|
-
return {
|
|
21
|
-
version: 1,
|
|
22
|
-
createdAt: args.createdAt ?? new Date().toISOString(),
|
|
23
|
-
appVersion: args.appVersion ?? APP_VERSION,
|
|
24
|
-
personaId: args.personaId,
|
|
25
|
-
reasoning: args.reasoning,
|
|
26
|
-
riskLevel: args.riskLevel,
|
|
27
|
-
history: args.history,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export function parseCheckpoint(raw) {
|
|
31
|
-
const parsed = JSON.parse(raw);
|
|
32
|
-
return CheckpointSchema.parse(parsed);
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=checkpoint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../../src/core/session/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAwB,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,aAAa,GAAuB,CAAC,CAAC,MAAM,CAAU,CAAC,KAAK,EAAE,EAAE;IACpE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;IAChD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,eAAe;IAC1B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;CAChC,CAAC,CAAC;AAIH,MAAM,UAAU,gBAAgB,CAAC,IAOhC;IACC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrD,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,WAAW;QAC1C,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IAC1C,OAAO,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
|
package/dist/sdk/errors.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type { TauSdkRequestId } from "./types.js";
|
|
2
|
-
export type TauRpcErrorCode = "parse_error" | "invalid_request" | "method_not_found" | "invalid_params" | "busy" | "internal_error";
|
|
3
|
-
export type TauRpcError = {
|
|
4
|
-
code: TauRpcErrorCode;
|
|
5
|
-
message: string;
|
|
6
|
-
data?: unknown;
|
|
7
|
-
};
|
|
8
|
-
export declare class TauSdkError extends Error {
|
|
9
|
-
constructor(message: string, options?: ErrorOptions);
|
|
10
|
-
}
|
|
11
|
-
export declare class TauRpcResponseError extends TauSdkError {
|
|
12
|
-
readonly code: TauRpcErrorCode;
|
|
13
|
-
readonly requestId: TauSdkRequestId;
|
|
14
|
-
readonly data?: unknown;
|
|
15
|
-
constructor(options: {
|
|
16
|
-
requestId: TauSdkRequestId;
|
|
17
|
-
error: TauRpcError;
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
export declare class TauTransportError extends TauSdkError {
|
|
21
|
-
constructor(message: string, options?: ErrorOptions);
|
|
22
|
-
}
|
|
23
|
-
export declare class TauProcessError extends TauTransportError {
|
|
24
|
-
readonly exitCode: number | null;
|
|
25
|
-
readonly signal: NodeJS.Signals | null;
|
|
26
|
-
readonly stderr: string;
|
|
27
|
-
constructor(message: string, options?: {
|
|
28
|
-
exitCode?: number | null;
|
|
29
|
-
signal?: NodeJS.Signals | null;
|
|
30
|
-
stderr?: string;
|
|
31
|
-
cause?: unknown;
|
|
32
|
-
});
|
|
33
|
-
}
|
package/dist/sdk/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/sdk/errors.ts"],"names":[],"mappings":"AAgBA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IACzC,IAAI,CAAkB;IACtB,SAAS,CAAkB;IAC3B,IAAI,CAAW;IAExB,YAAY,OAA2D;QACrE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,iBAAiB;IAC3C,QAAQ,CAAgB;IACxB,MAAM,CAAwB;IAC9B,MAAM,CAAS;IAExB,YACE,OAAe,EACf,OAKC;QAED,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;IACtC,CAAC;CACF"}
|