@crewx/sdk 0.9.0-rc.58 → 0.9.0-rc.59

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.
@@ -197,6 +197,7 @@ export declare class TaskRepository extends BaseSqliteRepository {
197
197
  error: string | null;
198
198
  started_at: string;
199
199
  completed_at: string | null;
200
+ metadata: string | null;
200
201
  } | null;
201
202
  markTaskFailed(taskId: string, error: string, workspaceId?: string): void;
202
203
  findTasksByPromptHint(hint: string, workspaceId?: string): TaskRow[];
@@ -9,3 +9,5 @@ export * from './usage-limit-snapshots.js';
9
9
  export * from './usage-reports.js';
10
10
  export * from './notifications.js';
11
11
  export * from './agent-suggestions.js';
12
+ export * from './ui-instances.js';
13
+ export * from './ui-action-receipts.js';
@@ -0,0 +1,303 @@
1
+ export declare const ui_action_receipts: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
2
+ name: "ui_action_receipts";
3
+ schema: undefined;
4
+ columns: {
5
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
6
+ name: "id";
7
+ tableName: "ui_action_receipts";
8
+ dataType: "string";
9
+ columnType: "SQLiteText";
10
+ data: string;
11
+ driverParam: string;
12
+ notNull: true;
13
+ hasDefault: false;
14
+ isPrimaryKey: true;
15
+ isAutoincrement: false;
16
+ hasRuntimeDefault: false;
17
+ enumValues: [string, ...string[]];
18
+ baseColumn: never;
19
+ identity: undefined;
20
+ generated: undefined;
21
+ }, {}, {
22
+ length: number | undefined;
23
+ }>;
24
+ instance_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
25
+ name: "instance_id";
26
+ tableName: "ui_action_receipts";
27
+ dataType: "string";
28
+ columnType: "SQLiteText";
29
+ data: string;
30
+ driverParam: string;
31
+ notNull: true;
32
+ hasDefault: false;
33
+ isPrimaryKey: false;
34
+ isAutoincrement: false;
35
+ hasRuntimeDefault: false;
36
+ enumValues: [string, ...string[]];
37
+ baseColumn: never;
38
+ identity: undefined;
39
+ generated: undefined;
40
+ }, {}, {
41
+ length: number | undefined;
42
+ }>;
43
+ request_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
44
+ name: "request_id";
45
+ tableName: "ui_action_receipts";
46
+ dataType: "string";
47
+ columnType: "SQLiteText";
48
+ data: string;
49
+ driverParam: string;
50
+ notNull: true;
51
+ hasDefault: false;
52
+ isPrimaryKey: false;
53
+ isAutoincrement: false;
54
+ hasRuntimeDefault: false;
55
+ enumValues: [string, ...string[]];
56
+ baseColumn: never;
57
+ identity: undefined;
58
+ generated: undefined;
59
+ }, {}, {
60
+ length: number | undefined;
61
+ }>;
62
+ action_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
63
+ name: "action_id";
64
+ tableName: "ui_action_receipts";
65
+ dataType: "string";
66
+ columnType: "SQLiteText";
67
+ data: string;
68
+ driverParam: string;
69
+ notNull: true;
70
+ hasDefault: false;
71
+ isPrimaryKey: false;
72
+ isAutoincrement: false;
73
+ hasRuntimeDefault: false;
74
+ enumValues: [string, ...string[]];
75
+ baseColumn: never;
76
+ identity: undefined;
77
+ generated: undefined;
78
+ }, {}, {
79
+ length: number | undefined;
80
+ }>;
81
+ actor_json: import("drizzle-orm/sqlite-core").SQLiteColumn<{
82
+ name: "actor_json";
83
+ tableName: "ui_action_receipts";
84
+ dataType: "string";
85
+ columnType: "SQLiteText";
86
+ data: string;
87
+ driverParam: string;
88
+ notNull: true;
89
+ hasDefault: false;
90
+ isPrimaryKey: false;
91
+ isAutoincrement: false;
92
+ hasRuntimeDefault: false;
93
+ enumValues: [string, ...string[]];
94
+ baseColumn: never;
95
+ identity: undefined;
96
+ generated: undefined;
97
+ }, {}, {
98
+ length: number | undefined;
99
+ }>;
100
+ source: import("drizzle-orm/sqlite-core").SQLiteColumn<{
101
+ name: "source";
102
+ tableName: "ui_action_receipts";
103
+ dataType: "string";
104
+ columnType: "SQLiteText";
105
+ data: string;
106
+ driverParam: string;
107
+ notNull: true;
108
+ hasDefault: false;
109
+ isPrimaryKey: false;
110
+ isAutoincrement: false;
111
+ hasRuntimeDefault: false;
112
+ enumValues: [string, ...string[]];
113
+ baseColumn: never;
114
+ identity: undefined;
115
+ generated: undefined;
116
+ }, {}, {
117
+ length: number | undefined;
118
+ }>;
119
+ expected_revision: import("drizzle-orm/sqlite-core").SQLiteColumn<{
120
+ name: "expected_revision";
121
+ tableName: "ui_action_receipts";
122
+ dataType: "number";
123
+ columnType: "SQLiteInteger";
124
+ data: number;
125
+ driverParam: number;
126
+ notNull: true;
127
+ hasDefault: false;
128
+ isPrimaryKey: false;
129
+ isAutoincrement: false;
130
+ hasRuntimeDefault: false;
131
+ enumValues: undefined;
132
+ baseColumn: never;
133
+ identity: undefined;
134
+ generated: undefined;
135
+ }, {}, {}>;
136
+ before_revision: import("drizzle-orm/sqlite-core").SQLiteColumn<{
137
+ name: "before_revision";
138
+ tableName: "ui_action_receipts";
139
+ dataType: "number";
140
+ columnType: "SQLiteInteger";
141
+ data: number;
142
+ driverParam: number;
143
+ notNull: true;
144
+ hasDefault: false;
145
+ isPrimaryKey: false;
146
+ isAutoincrement: false;
147
+ hasRuntimeDefault: false;
148
+ enumValues: undefined;
149
+ baseColumn: never;
150
+ identity: undefined;
151
+ generated: undefined;
152
+ }, {}, {}>;
153
+ after_revision: import("drizzle-orm/sqlite-core").SQLiteColumn<{
154
+ name: "after_revision";
155
+ tableName: "ui_action_receipts";
156
+ dataType: "number";
157
+ columnType: "SQLiteInteger";
158
+ data: number;
159
+ driverParam: number;
160
+ notNull: false;
161
+ hasDefault: false;
162
+ isPrimaryKey: false;
163
+ isAutoincrement: false;
164
+ hasRuntimeDefault: false;
165
+ enumValues: undefined;
166
+ baseColumn: never;
167
+ identity: undefined;
168
+ generated: undefined;
169
+ }, {}, {}>;
170
+ status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
171
+ name: "status";
172
+ tableName: "ui_action_receipts";
173
+ dataType: "string";
174
+ columnType: "SQLiteText";
175
+ data: string;
176
+ driverParam: string;
177
+ notNull: true;
178
+ hasDefault: false;
179
+ isPrimaryKey: false;
180
+ isAutoincrement: false;
181
+ hasRuntimeDefault: false;
182
+ enumValues: [string, ...string[]];
183
+ baseColumn: never;
184
+ identity: undefined;
185
+ generated: undefined;
186
+ }, {}, {
187
+ length: number | undefined;
188
+ }>;
189
+ outcome: import("drizzle-orm/sqlite-core").SQLiteColumn<{
190
+ name: "outcome";
191
+ tableName: "ui_action_receipts";
192
+ dataType: "string";
193
+ columnType: "SQLiteText";
194
+ data: string;
195
+ driverParam: string;
196
+ notNull: false;
197
+ hasDefault: false;
198
+ isPrimaryKey: false;
199
+ isAutoincrement: false;
200
+ hasRuntimeDefault: false;
201
+ enumValues: [string, ...string[]];
202
+ baseColumn: never;
203
+ identity: undefined;
204
+ generated: undefined;
205
+ }, {}, {
206
+ length: number | undefined;
207
+ }>;
208
+ input_json: import("drizzle-orm/sqlite-core").SQLiteColumn<{
209
+ name: "input_json";
210
+ tableName: "ui_action_receipts";
211
+ dataType: "string";
212
+ columnType: "SQLiteText";
213
+ data: string;
214
+ driverParam: string;
215
+ notNull: true;
216
+ hasDefault: false;
217
+ isPrimaryKey: false;
218
+ isAutoincrement: false;
219
+ hasRuntimeDefault: false;
220
+ enumValues: [string, ...string[]];
221
+ baseColumn: never;
222
+ identity: undefined;
223
+ generated: undefined;
224
+ }, {}, {
225
+ length: number | undefined;
226
+ }>;
227
+ result_json: import("drizzle-orm/sqlite-core").SQLiteColumn<{
228
+ name: "result_json";
229
+ tableName: "ui_action_receipts";
230
+ dataType: "string";
231
+ columnType: "SQLiteText";
232
+ data: string;
233
+ driverParam: string;
234
+ notNull: false;
235
+ hasDefault: false;
236
+ isPrimaryKey: false;
237
+ isAutoincrement: false;
238
+ hasRuntimeDefault: false;
239
+ enumValues: [string, ...string[]];
240
+ baseColumn: never;
241
+ identity: undefined;
242
+ generated: undefined;
243
+ }, {}, {
244
+ length: number | undefined;
245
+ }>;
246
+ error_code: import("drizzle-orm/sqlite-core").SQLiteColumn<{
247
+ name: "error_code";
248
+ tableName: "ui_action_receipts";
249
+ dataType: "string";
250
+ columnType: "SQLiteText";
251
+ data: string;
252
+ driverParam: string;
253
+ notNull: false;
254
+ hasDefault: false;
255
+ isPrimaryKey: false;
256
+ isAutoincrement: false;
257
+ hasRuntimeDefault: false;
258
+ enumValues: [string, ...string[]];
259
+ baseColumn: never;
260
+ identity: undefined;
261
+ generated: undefined;
262
+ }, {}, {
263
+ length: number | undefined;
264
+ }>;
265
+ requested_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
266
+ name: "requested_at";
267
+ tableName: "ui_action_receipts";
268
+ dataType: "number";
269
+ columnType: "SQLiteInteger";
270
+ data: number;
271
+ driverParam: number;
272
+ notNull: true;
273
+ hasDefault: false;
274
+ isPrimaryKey: false;
275
+ isAutoincrement: false;
276
+ hasRuntimeDefault: false;
277
+ enumValues: undefined;
278
+ baseColumn: never;
279
+ identity: undefined;
280
+ generated: undefined;
281
+ }, {}, {}>;
282
+ settled_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
283
+ name: "settled_at";
284
+ tableName: "ui_action_receipts";
285
+ dataType: "number";
286
+ columnType: "SQLiteInteger";
287
+ data: number;
288
+ driverParam: number;
289
+ notNull: false;
290
+ hasDefault: false;
291
+ isPrimaryKey: false;
292
+ isAutoincrement: false;
293
+ hasRuntimeDefault: false;
294
+ enumValues: undefined;
295
+ baseColumn: never;
296
+ identity: undefined;
297
+ generated: undefined;
298
+ }, {}, {}>;
299
+ };
300
+ dialect: "sqlite";
301
+ }>;
302
+ export type UiActionReceiptRow = typeof ui_action_receipts.$inferSelect;
303
+ export type NewUiActionReceiptRow = typeof ui_action_receipts.$inferInsert;
@@ -0,0 +1,267 @@
1
+ export declare const ui_instances: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
2
+ name: "ui_instances";
3
+ schema: undefined;
4
+ columns: {
5
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
6
+ name: "id";
7
+ tableName: "ui_instances";
8
+ dataType: "string";
9
+ columnType: "SQLiteText";
10
+ data: string;
11
+ driverParam: string;
12
+ notNull: true;
13
+ hasDefault: false;
14
+ isPrimaryKey: true;
15
+ isAutoincrement: false;
16
+ hasRuntimeDefault: false;
17
+ enumValues: [string, ...string[]];
18
+ baseColumn: never;
19
+ identity: undefined;
20
+ generated: undefined;
21
+ }, {}, {
22
+ length: number | undefined;
23
+ }>;
24
+ definition_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
25
+ name: "definition_id";
26
+ tableName: "ui_instances";
27
+ dataType: "string";
28
+ columnType: "SQLiteText";
29
+ data: string;
30
+ driverParam: string;
31
+ notNull: true;
32
+ hasDefault: false;
33
+ isPrimaryKey: false;
34
+ isAutoincrement: false;
35
+ hasRuntimeDefault: false;
36
+ enumValues: [string, ...string[]];
37
+ baseColumn: never;
38
+ identity: undefined;
39
+ generated: undefined;
40
+ }, {}, {
41
+ length: number | undefined;
42
+ }>;
43
+ definition_version: import("drizzle-orm/sqlite-core").SQLiteColumn<{
44
+ name: "definition_version";
45
+ tableName: "ui_instances";
46
+ dataType: "number";
47
+ columnType: "SQLiteInteger";
48
+ data: number;
49
+ driverParam: number;
50
+ notNull: true;
51
+ hasDefault: false;
52
+ isPrimaryKey: false;
53
+ isAutoincrement: false;
54
+ hasRuntimeDefault: false;
55
+ enumValues: undefined;
56
+ baseColumn: never;
57
+ identity: undefined;
58
+ generated: undefined;
59
+ }, {}, {}>;
60
+ definition_hash: import("drizzle-orm/sqlite-core").SQLiteColumn<{
61
+ name: "definition_hash";
62
+ tableName: "ui_instances";
63
+ dataType: "string";
64
+ columnType: "SQLiteText";
65
+ data: string;
66
+ driverParam: string;
67
+ notNull: true;
68
+ hasDefault: false;
69
+ isPrimaryKey: false;
70
+ isAutoincrement: false;
71
+ hasRuntimeDefault: false;
72
+ enumValues: [string, ...string[]];
73
+ baseColumn: never;
74
+ identity: undefined;
75
+ generated: undefined;
76
+ }, {}, {
77
+ length: number | undefined;
78
+ }>;
79
+ workspace_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
80
+ name: "workspace_id";
81
+ tableName: "ui_instances";
82
+ dataType: "string";
83
+ columnType: "SQLiteText";
84
+ data: string;
85
+ driverParam: string;
86
+ notNull: true;
87
+ hasDefault: false;
88
+ isPrimaryKey: false;
89
+ isAutoincrement: false;
90
+ hasRuntimeDefault: false;
91
+ enumValues: [string, ...string[]];
92
+ baseColumn: never;
93
+ identity: undefined;
94
+ generated: undefined;
95
+ }, {}, {
96
+ length: number | undefined;
97
+ }>;
98
+ thread_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
99
+ name: "thread_id";
100
+ tableName: "ui_instances";
101
+ dataType: "string";
102
+ columnType: "SQLiteText";
103
+ data: string;
104
+ driverParam: string;
105
+ notNull: true;
106
+ hasDefault: false;
107
+ isPrimaryKey: false;
108
+ isAutoincrement: false;
109
+ hasRuntimeDefault: false;
110
+ enumValues: [string, ...string[]];
111
+ baseColumn: never;
112
+ identity: undefined;
113
+ generated: undefined;
114
+ }, {}, {
115
+ length: number | undefined;
116
+ }>;
117
+ anchor_task_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
118
+ name: "anchor_task_id";
119
+ tableName: "ui_instances";
120
+ dataType: "string";
121
+ columnType: "SQLiteText";
122
+ data: string;
123
+ driverParam: string;
124
+ notNull: false;
125
+ hasDefault: false;
126
+ isPrimaryKey: false;
127
+ isAutoincrement: false;
128
+ hasRuntimeDefault: false;
129
+ enumValues: [string, ...string[]];
130
+ baseColumn: never;
131
+ identity: undefined;
132
+ generated: undefined;
133
+ }, {}, {
134
+ length: number | undefined;
135
+ }>;
136
+ domain_ref_json: import("drizzle-orm/sqlite-core").SQLiteColumn<{
137
+ name: "domain_ref_json";
138
+ tableName: "ui_instances";
139
+ dataType: "string";
140
+ columnType: "SQLiteText";
141
+ data: string;
142
+ driverParam: string;
143
+ notNull: true;
144
+ hasDefault: false;
145
+ isPrimaryKey: false;
146
+ isAutoincrement: false;
147
+ hasRuntimeDefault: false;
148
+ enumValues: [string, ...string[]];
149
+ baseColumn: never;
150
+ identity: undefined;
151
+ generated: undefined;
152
+ }, {}, {
153
+ length: number | undefined;
154
+ }>;
155
+ state_json: import("drizzle-orm/sqlite-core").SQLiteColumn<{
156
+ name: "state_json";
157
+ tableName: "ui_instances";
158
+ dataType: "string";
159
+ columnType: "SQLiteText";
160
+ data: string;
161
+ driverParam: string;
162
+ notNull: true;
163
+ hasDefault: false;
164
+ isPrimaryKey: false;
165
+ isAutoincrement: false;
166
+ hasRuntimeDefault: false;
167
+ enumValues: [string, ...string[]];
168
+ baseColumn: never;
169
+ identity: undefined;
170
+ generated: undefined;
171
+ }, {}, {
172
+ length: number | undefined;
173
+ }>;
174
+ revision: import("drizzle-orm/sqlite-core").SQLiteColumn<{
175
+ name: "revision";
176
+ tableName: "ui_instances";
177
+ dataType: "number";
178
+ columnType: "SQLiteInteger";
179
+ data: number;
180
+ driverParam: number;
181
+ notNull: true;
182
+ hasDefault: true;
183
+ isPrimaryKey: false;
184
+ isAutoincrement: false;
185
+ hasRuntimeDefault: false;
186
+ enumValues: undefined;
187
+ baseColumn: never;
188
+ identity: undefined;
189
+ generated: undefined;
190
+ }, {}, {}>;
191
+ status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
192
+ name: "status";
193
+ tableName: "ui_instances";
194
+ dataType: "string";
195
+ columnType: "SQLiteText";
196
+ data: string;
197
+ driverParam: string;
198
+ notNull: true;
199
+ hasDefault: true;
200
+ isPrimaryKey: false;
201
+ isAutoincrement: false;
202
+ hasRuntimeDefault: false;
203
+ enumValues: [string, ...string[]];
204
+ baseColumn: never;
205
+ identity: undefined;
206
+ generated: undefined;
207
+ }, {}, {
208
+ length: number | undefined;
209
+ }>;
210
+ granted_capabilities_json: import("drizzle-orm/sqlite-core").SQLiteColumn<{
211
+ name: "granted_capabilities_json";
212
+ tableName: "ui_instances";
213
+ dataType: "string";
214
+ columnType: "SQLiteText";
215
+ data: string;
216
+ driverParam: string;
217
+ notNull: true;
218
+ hasDefault: true;
219
+ isPrimaryKey: false;
220
+ isAutoincrement: false;
221
+ hasRuntimeDefault: false;
222
+ enumValues: [string, ...string[]];
223
+ baseColumn: never;
224
+ identity: undefined;
225
+ generated: undefined;
226
+ }, {}, {
227
+ length: number | undefined;
228
+ }>;
229
+ created_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
230
+ name: "created_at";
231
+ tableName: "ui_instances";
232
+ dataType: "number";
233
+ columnType: "SQLiteInteger";
234
+ data: number;
235
+ driverParam: number;
236
+ notNull: true;
237
+ hasDefault: false;
238
+ isPrimaryKey: false;
239
+ isAutoincrement: false;
240
+ hasRuntimeDefault: false;
241
+ enumValues: undefined;
242
+ baseColumn: never;
243
+ identity: undefined;
244
+ generated: undefined;
245
+ }, {}, {}>;
246
+ updated_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
247
+ name: "updated_at";
248
+ tableName: "ui_instances";
249
+ dataType: "number";
250
+ columnType: "SQLiteInteger";
251
+ data: number;
252
+ driverParam: number;
253
+ notNull: true;
254
+ hasDefault: false;
255
+ isPrimaryKey: false;
256
+ isAutoincrement: false;
257
+ hasRuntimeDefault: false;
258
+ enumValues: undefined;
259
+ baseColumn: never;
260
+ identity: undefined;
261
+ generated: undefined;
262
+ }, {}, {}>;
263
+ };
264
+ dialect: "sqlite";
265
+ }>;
266
+ export type UiInstanceRow = typeof ui_instances.$inferSelect;
267
+ export type NewUiInstanceRow = typeof ui_instances.$inferInsert;
@@ -1745,6 +1745,7 @@ export interface QueryOptions {
1745
1745
  taskId?: string;
1746
1746
  platform?: Platform;
1747
1747
  messages?: import('../conversation/types').TemplateMessage[];
1748
+ uiProjections?: readonly import('../ui-instance/types').UiAgentContextProjection[];
1748
1749
  vars?: Record<string, unknown>;
1749
1750
  cwd?: string;
1750
1751
  resumeSessionId?: string;
@@ -1788,6 +1789,7 @@ export interface ExecuteOptions {
1788
1789
  taskId?: string;
1789
1790
  platform?: Platform;
1790
1791
  messages?: import('../conversation/types').TemplateMessage[];
1792
+ uiProjections?: readonly import('../ui-instance/types').UiAgentContextProjection[];
1791
1793
  vars?: Record<string, unknown>;
1792
1794
  cwd?: string;
1793
1795
  resumeSessionId?: string;
@@ -0,0 +1,2 @@
1
+ export { extractLegacyWorkflowRunId, scanLegacyUiCardAt, scanLegacyUiCardTags, } from './legacy-card-parser';
2
+ export type { LegacyUiCardTag } from './legacy-card-parser';
@@ -0,0 +1,11 @@
1
+ export interface LegacyUiCardTag {
2
+ start: number;
3
+ end: number;
4
+ raw: string;
5
+ closed: boolean;
6
+ attrs: Readonly<Record<string, string>>;
7
+ privileged: boolean;
8
+ }
9
+ export declare function scanLegacyUiCardAt(text: string, start: number): LegacyUiCardTag;
10
+ export declare function scanLegacyUiCardTags(text: string): LegacyUiCardTag[];
11
+ export declare function extractLegacyWorkflowRunId(text: string | null | undefined): string | undefined;
@@ -0,0 +1,6 @@
1
+ import type { UiDefinition, UiDefinitionInput, UiDefinitionRef } from './types.js';
2
+ export declare function hashUiDefinition(input: UiDefinitionInput): string;
3
+ export declare function definitionKey(ref: UiDefinitionRef): string;
4
+ export declare function validateDefinition(definition: UiDefinition): void;
5
+ export declare function isExactCapability(value: string): boolean;
6
+ export declare function refFromDefinition(definition: UiDefinition): UiDefinitionRef;
@@ -0,0 +1,17 @@
1
+ export type UiRuntimeErrorCode = 'UNAUTHENTICATED' | 'INSTANCE_NOT_FOUND' | 'WORKSPACE_MISMATCH' | 'INSTANCE_NOT_ACTIONABLE' | 'DEFINITION_UNSUPPORTED' | 'CAPABILITY_DENIED' | 'INPUT_INVALID' | 'REVISION_CONFLICT' | 'ACTION_UNAVAILABLE' | 'HANDLER_NOT_FOUND' | 'ACTION_IN_FLIGHT' | 'DOMAIN_REJECTED' | 'EXECUTION_FAILED';
2
+ export declare class UiRuntimeError extends Error {
3
+ readonly code: UiRuntimeErrorCode;
4
+ readonly currentRevision?: number | undefined;
5
+ readonly name = "UiRuntimeError";
6
+ constructor(code: UiRuntimeErrorCode, message?: string, currentRevision?: number | undefined);
7
+ }
8
+ export declare class UiRetryableDatabaseError extends Error {
9
+ readonly cause: unknown;
10
+ readonly name = "UiRetryableDatabaseError";
11
+ constructor(cause: unknown);
12
+ }
13
+ export declare class UiReservationConflictError extends Error {
14
+ readonly currentRevision: number;
15
+ readonly name = "UiReservationConflictError";
16
+ constructor(currentRevision: number);
17
+ }
@@ -0,0 +1,6 @@
1
+ export type { ActionReceipt, ActionReceiptOutcome, CreateUiInstanceInput, JsonObject, JsonPrimitive, JsonValue, UiActionHandlerContext, UiActionHandlerRegistration, UiActionHandlerResult, UiActionEnvelope, UiActor, UiDefinition, UiDefinitionAction, UiDefinitionInput, UiDefinitionRef, UiProjectionPolicy, UiExecutionContext, UiAuthenticatedActor, UiAuthenticatedExecutionContext, UiAuthenticatedGrantPolicy, UiServerRuntimeFacade, UiServerRuntimeOptions, UiAgentContextProjection, UiExternalActionHandlerRegistration, UiInstance, UiInstanceStatus, UiLocalGrantPolicy, UiRuntimeFacade, UiRuntimeOptions, UiStateActionHandlerRegistration, } from './types.js';
2
+ export { resolveUiEffectiveCapabilities } from './types.js';
3
+ export { UiRuntimeError } from './errors.js';
4
+ export type { UiRuntimeErrorCode } from './errors.js';
5
+ export { hashUiDefinition } from './definition.js';
6
+ export { createUiRuntimeForTest, createUiServerRuntime } from './runtime.js';
@@ -0,0 +1,5 @@
1
+ import type { JsonObject, JsonValue } from './types.js';
2
+ export declare function projectSafeJsonObject(value: unknown): JsonObject;
3
+ export declare function serializeJson(value: JsonValue): string;
4
+ export declare function canonicalJson(value: JsonValue): string;
5
+ export declare function utf8ByteLength(value: string): number;
@@ -0,0 +1,13 @@
1
+ import type { UiRuntimeFacade, UiRuntimeOptions, UiServerRuntimeFacade, UiServerRuntimeOptions } from './types.js';
2
+ export interface UiRuntimeTestHooks {
3
+ beforeReservation?: () => Promise<void> | void;
4
+ injectDatabaseError?: () => unknown | undefined;
5
+ bumpRevisionBeforeCas?: boolean;
6
+ }
7
+ export interface UiRuntimeForTestOptions extends UiRuntimeOptions {
8
+ workspaceId: string;
9
+ testHooks?: UiRuntimeTestHooks;
10
+ }
11
+ export declare function createUiRuntime(workspaceId: string, options: UiRuntimeOptions): UiRuntimeFacade;
12
+ export declare function createUiRuntimeForTest(options: UiRuntimeForTestOptions): UiRuntimeFacade;
13
+ export declare function createUiServerRuntime(options: UiServerRuntimeOptions): UiServerRuntimeFacade;