t3code-cli 0.7.0 → 0.9.0
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 +90 -35
- package/dist/application.js +1 -1
- package/dist/auth.js +1 -2
- package/dist/bin.js +241 -45
- package/dist/cli.js +1 -1
- package/dist/config.js +1 -3
- package/dist/connection.js +1 -4
- package/dist/index.js +1 -4
- package/dist/layout.js +1 -1
- package/dist/orchestration.js +1 -1
- package/dist/rpc.js +1 -1
- package/dist/runtime.js +1 -2
- package/dist/scope.js +1 -1
- package/dist/shared.js +85492 -0
- package/dist/src/application/layer.d.ts +86 -2
- package/dist/src/application/models.d.ts +1 -0
- package/dist/src/application/projects.d.ts +10 -1
- package/dist/src/application/service.d.ts +30 -1
- package/dist/src/application/shell-sequence.d.ts +9 -0
- package/dist/src/application/thread-commands.d.ts +27 -1
- package/dist/src/application/thread-wait.d.ts +9 -0
- package/dist/src/application/threads.d.ts +102 -2
- package/dist/src/cli-path/layer.d.ts +3 -0
- package/dist/src/cli-path/service.d.ts +8 -0
- package/dist/src/domain/helpers.d.ts +9 -0
- package/dist/src/domain/model-config.d.ts +3 -0
- package/dist/src/domain/thread-activities.d.ts +14 -0
- package/dist/src/domain/thread-lifecycle.d.ts +10 -0
- package/dist/src/orchestration/layer.d.ts +215 -0
- package/dist/src/rpc/layer.d.ts +466 -0
- package/dist/src/rpc/ws-group.d.ts +142 -0
- package/dist/src/runtime/layer.d.ts +1 -1
- package/dist/t3tools.js +2 -2
- package/dist/upstream-t3code/packages/contracts/src/environmentHttp.d.ts +33 -10
- package/dist/upstream-t3code/packages/contracts/src/ipc.d.ts +6 -0
- package/dist/upstream-t3code/packages/contracts/src/orchestration.d.ts +657 -1
- package/dist/upstream-t3code/packages/contracts/src/provider.d.ts +14 -0
- package/dist/upstream-t3code/packages/contracts/src/providerRuntime.d.ts +175 -1
- package/dist/upstream-t3code/packages/contracts/src/rpc.d.ts +492 -0
- package/dist/upstream-t3code/packages/contracts/src/server.d.ts +45 -0
- package/dist/upstream-t3code/packages/contracts/src/settings.d.ts +21 -0
- package/dist/upstream-t3code/packages/contracts/src/terminal.d.ts +6 -3
- package/package.json +2 -2
- package/src/application/service.ts +32 -0
- package/src/application/thread-commands.ts +45 -0
- package/src/application/threads.ts +100 -1
- package/src/cli/error.ts +15 -0
- package/src/cli/message-input.ts +30 -0
- package/src/cli/thread-format.ts +47 -0
- package/src/cli/thread.ts +8 -0
- package/src/cli/threads/approve.ts +61 -0
- package/src/cli/threads/archive.ts +18 -3
- package/src/cli/threads/callback.ts +92 -0
- package/src/cli/threads/respond.ts +70 -0
- package/src/cli/threads/show.ts +43 -0
- package/src/cli-path/layer.ts +10 -0
- package/src/cli-path/service.ts +7 -0
- package/src/domain/thread-activities.test.ts +321 -0
- package/src/domain/thread-activities.ts +244 -0
- package/src/domain/thread-lifecycle.ts +2 -0
- package/src/runtime/layer.ts +2 -0
- package/dist/Context-DueQ9iMH.js +0 -4916
- package/dist/Path-D8WPdPwR.js +0 -11406
- package/dist/Schema-DsQxYh6_.js +0 -13581
- package/dist/UrlParams-BA6gBvaY.js +0 -205
- package/dist/base-dir-R12OMDso.js +0 -20
- package/dist/error-B2t1bAP9.js +0 -169
- package/dist/error-BHRnjLux.js +0 -15
- package/dist/error-jwMt3VoW.js +0 -54
- package/dist/flags-CM7_iGdA.js +0 -13371
- package/dist/layer-CfC5qZol.js +0 -1508
- package/dist/layer-DHhKS5jd.js +0 -13
- package/dist/layer-DUv99vsS.js +0 -72
- package/dist/layer-DvHnKBYj.js +0 -29466
- package/dist/layer-MqCKkIGD.js +0 -1206
- package/dist/scope-GycYiJ54.js +0 -29
- package/dist/service-CLmRO2Dp.js +0 -8
- package/dist/service-ybOWV9pL.js +0 -5
- package/dist/src-KdbHqrex.js +0 -8874
- package/dist/transport-D3zBdZ1h.js +0 -539
- package/dist/url-SlsaG8nY.js +0 -165
- /package/dist/{chunk-B5meny8j.js → rolldown-runtime.js} +0 -0
package/dist/src/rpc/layer.d.ts
CHANGED
|
@@ -142,6 +142,20 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
142
142
|
readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
|
|
143
143
|
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
144
144
|
readonly createdAt: string;
|
|
145
|
+
} | {
|
|
146
|
+
readonly type: "thread.goal.request";
|
|
147
|
+
readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
|
|
148
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
149
|
+
readonly request: {
|
|
150
|
+
readonly kind: "status";
|
|
151
|
+
} | {
|
|
152
|
+
readonly kind: "control";
|
|
153
|
+
readonly action: "pause" | "resume" | "clear";
|
|
154
|
+
} | {
|
|
155
|
+
readonly kind: "set";
|
|
156
|
+
readonly objective: string;
|
|
157
|
+
};
|
|
158
|
+
readonly createdAt: string;
|
|
145
159
|
} | {
|
|
146
160
|
readonly type: "thread.turn.start";
|
|
147
161
|
readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
|
|
@@ -297,6 +311,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
297
311
|
readonly updatedAt: string;
|
|
298
312
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
299
313
|
} | null;
|
|
314
|
+
readonly goal: {
|
|
315
|
+
readonly objective: string;
|
|
316
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
317
|
+
readonly tokensUsed: number;
|
|
318
|
+
readonly tokenBudget: number | null;
|
|
319
|
+
readonly timeUsedSeconds: number;
|
|
320
|
+
readonly createdAt: string;
|
|
321
|
+
readonly updatedAt: string;
|
|
322
|
+
} | null;
|
|
300
323
|
readonly latestUserMessageAt: string | null;
|
|
301
324
|
readonly hasPendingApprovals: boolean;
|
|
302
325
|
readonly hasPendingUserInput: boolean;
|
|
@@ -386,6 +409,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
386
409
|
readonly updatedAt: string;
|
|
387
410
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
388
411
|
} | null;
|
|
412
|
+
readonly goal: {
|
|
413
|
+
readonly objective: string;
|
|
414
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
415
|
+
readonly tokensUsed: number;
|
|
416
|
+
readonly tokenBudget: number | null;
|
|
417
|
+
readonly timeUsedSeconds: number;
|
|
418
|
+
readonly createdAt: string;
|
|
419
|
+
readonly updatedAt: string;
|
|
420
|
+
} | null;
|
|
389
421
|
readonly latestUserMessageAt: string | null;
|
|
390
422
|
readonly hasPendingApprovals: boolean;
|
|
391
423
|
readonly hasPendingUserInput: boolean;
|
|
@@ -479,6 +511,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
479
511
|
readonly updatedAt: string;
|
|
480
512
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
481
513
|
} | null;
|
|
514
|
+
readonly goal: {
|
|
515
|
+
readonly objective: string;
|
|
516
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
517
|
+
readonly tokensUsed: number;
|
|
518
|
+
readonly tokenBudget: number | null;
|
|
519
|
+
readonly timeUsedSeconds: number;
|
|
520
|
+
readonly createdAt: string;
|
|
521
|
+
readonly updatedAt: string;
|
|
522
|
+
} | null;
|
|
482
523
|
readonly latestUserMessageAt: string | null;
|
|
483
524
|
readonly hasPendingApprovals: boolean;
|
|
484
525
|
readonly hasPendingUserInput: boolean;
|
|
@@ -568,6 +609,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
568
609
|
readonly updatedAt: string;
|
|
569
610
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
570
611
|
} | null;
|
|
612
|
+
readonly goal: {
|
|
613
|
+
readonly objective: string;
|
|
614
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
615
|
+
readonly tokensUsed: number;
|
|
616
|
+
readonly tokenBudget: number | null;
|
|
617
|
+
readonly timeUsedSeconds: number;
|
|
618
|
+
readonly createdAt: string;
|
|
619
|
+
readonly updatedAt: string;
|
|
620
|
+
} | null;
|
|
571
621
|
readonly latestUserMessageAt: string | null;
|
|
572
622
|
readonly hasPendingApprovals: boolean;
|
|
573
623
|
readonly hasPendingUserInput: boolean;
|
|
@@ -619,6 +669,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
619
669
|
readonly updatedAt: string;
|
|
620
670
|
readonly archivedAt: string | null;
|
|
621
671
|
readonly deletedAt: string | null;
|
|
672
|
+
readonly goal: {
|
|
673
|
+
readonly objective: string;
|
|
674
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
675
|
+
readonly tokensUsed: number;
|
|
676
|
+
readonly tokenBudget: number | null;
|
|
677
|
+
readonly timeUsedSeconds: number;
|
|
678
|
+
readonly createdAt: string;
|
|
679
|
+
readonly updatedAt: string;
|
|
680
|
+
} | null;
|
|
622
681
|
readonly messages: readonly {
|
|
623
682
|
readonly id: string & import("effect/Brand").Brand<"MessageId">;
|
|
624
683
|
readonly role: "user" | "assistant" | "system";
|
|
@@ -1217,6 +1276,85 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
1217
1276
|
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
1218
1277
|
readonly ingestedAt?: string | undefined;
|
|
1219
1278
|
};
|
|
1279
|
+
} | {
|
|
1280
|
+
readonly type: "thread.goal-requested";
|
|
1281
|
+
readonly payload: {
|
|
1282
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
1283
|
+
readonly request: {
|
|
1284
|
+
readonly kind: "status";
|
|
1285
|
+
} | {
|
|
1286
|
+
readonly kind: "control";
|
|
1287
|
+
readonly action: "pause" | "resume" | "clear";
|
|
1288
|
+
} | {
|
|
1289
|
+
readonly kind: "set";
|
|
1290
|
+
readonly objective: string;
|
|
1291
|
+
};
|
|
1292
|
+
readonly createdAt: string;
|
|
1293
|
+
};
|
|
1294
|
+
readonly sequence: number;
|
|
1295
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
1296
|
+
readonly aggregateKind: "project" | "thread";
|
|
1297
|
+
readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
|
|
1298
|
+
readonly occurredAt: string;
|
|
1299
|
+
readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
1300
|
+
readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
|
|
1301
|
+
readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
1302
|
+
readonly metadata: {
|
|
1303
|
+
readonly providerTurnId?: string | undefined;
|
|
1304
|
+
readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
|
|
1305
|
+
readonly adapterKey?: string | undefined;
|
|
1306
|
+
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
1307
|
+
readonly ingestedAt?: string | undefined;
|
|
1308
|
+
};
|
|
1309
|
+
} | {
|
|
1310
|
+
readonly type: "thread.goal-updated";
|
|
1311
|
+
readonly payload: {
|
|
1312
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
1313
|
+
readonly goal: {
|
|
1314
|
+
readonly objective: string;
|
|
1315
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
1316
|
+
readonly tokensUsed: number;
|
|
1317
|
+
readonly tokenBudget: number | null;
|
|
1318
|
+
readonly timeUsedSeconds: number;
|
|
1319
|
+
readonly createdAt: string;
|
|
1320
|
+
readonly updatedAt: string;
|
|
1321
|
+
};
|
|
1322
|
+
};
|
|
1323
|
+
readonly sequence: number;
|
|
1324
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
1325
|
+
readonly aggregateKind: "project" | "thread";
|
|
1326
|
+
readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
|
|
1327
|
+
readonly occurredAt: string;
|
|
1328
|
+
readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
1329
|
+
readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
|
|
1330
|
+
readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
1331
|
+
readonly metadata: {
|
|
1332
|
+
readonly providerTurnId?: string | undefined;
|
|
1333
|
+
readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
|
|
1334
|
+
readonly adapterKey?: string | undefined;
|
|
1335
|
+
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
1336
|
+
readonly ingestedAt?: string | undefined;
|
|
1337
|
+
};
|
|
1338
|
+
} | {
|
|
1339
|
+
readonly type: "thread.goal-cleared";
|
|
1340
|
+
readonly payload: {
|
|
1341
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
1342
|
+
};
|
|
1343
|
+
readonly sequence: number;
|
|
1344
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
1345
|
+
readonly aggregateKind: "project" | "thread";
|
|
1346
|
+
readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
|
|
1347
|
+
readonly occurredAt: string;
|
|
1348
|
+
readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
1349
|
+
readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
|
|
1350
|
+
readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
1351
|
+
readonly metadata: {
|
|
1352
|
+
readonly providerTurnId?: string | undefined;
|
|
1353
|
+
readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
|
|
1354
|
+
readonly adapterKey?: string | undefined;
|
|
1355
|
+
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
1356
|
+
readonly ingestedAt?: string | undefined;
|
|
1357
|
+
};
|
|
1220
1358
|
} | {
|
|
1221
1359
|
readonly type: "thread.proposed-plan-upserted";
|
|
1222
1360
|
readonly payload: {
|
|
@@ -1345,6 +1483,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
1345
1483
|
readonly updatedAt: string;
|
|
1346
1484
|
readonly archivedAt: string | null;
|
|
1347
1485
|
readonly deletedAt: string | null;
|
|
1486
|
+
readonly goal: {
|
|
1487
|
+
readonly objective: string;
|
|
1488
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
1489
|
+
readonly tokensUsed: number;
|
|
1490
|
+
readonly tokenBudget: number | null;
|
|
1491
|
+
readonly timeUsedSeconds: number;
|
|
1492
|
+
readonly createdAt: string;
|
|
1493
|
+
readonly updatedAt: string;
|
|
1494
|
+
} | null;
|
|
1348
1495
|
readonly messages: readonly {
|
|
1349
1496
|
readonly id: string & import("effect/Brand").Brand<"MessageId">;
|
|
1350
1497
|
readonly role: "user" | "assistant" | "system";
|
|
@@ -1943,6 +2090,85 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
1943
2090
|
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
1944
2091
|
readonly ingestedAt?: string | undefined;
|
|
1945
2092
|
};
|
|
2093
|
+
} | {
|
|
2094
|
+
readonly type: "thread.goal-requested";
|
|
2095
|
+
readonly payload: {
|
|
2096
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
2097
|
+
readonly request: {
|
|
2098
|
+
readonly kind: "status";
|
|
2099
|
+
} | {
|
|
2100
|
+
readonly kind: "control";
|
|
2101
|
+
readonly action: "pause" | "resume" | "clear";
|
|
2102
|
+
} | {
|
|
2103
|
+
readonly kind: "set";
|
|
2104
|
+
readonly objective: string;
|
|
2105
|
+
};
|
|
2106
|
+
readonly createdAt: string;
|
|
2107
|
+
};
|
|
2108
|
+
readonly sequence: number;
|
|
2109
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
2110
|
+
readonly aggregateKind: "project" | "thread";
|
|
2111
|
+
readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
|
|
2112
|
+
readonly occurredAt: string;
|
|
2113
|
+
readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
2114
|
+
readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
|
|
2115
|
+
readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
2116
|
+
readonly metadata: {
|
|
2117
|
+
readonly providerTurnId?: string | undefined;
|
|
2118
|
+
readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
|
|
2119
|
+
readonly adapterKey?: string | undefined;
|
|
2120
|
+
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
2121
|
+
readonly ingestedAt?: string | undefined;
|
|
2122
|
+
};
|
|
2123
|
+
} | {
|
|
2124
|
+
readonly type: "thread.goal-updated";
|
|
2125
|
+
readonly payload: {
|
|
2126
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
2127
|
+
readonly goal: {
|
|
2128
|
+
readonly objective: string;
|
|
2129
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
2130
|
+
readonly tokensUsed: number;
|
|
2131
|
+
readonly tokenBudget: number | null;
|
|
2132
|
+
readonly timeUsedSeconds: number;
|
|
2133
|
+
readonly createdAt: string;
|
|
2134
|
+
readonly updatedAt: string;
|
|
2135
|
+
};
|
|
2136
|
+
};
|
|
2137
|
+
readonly sequence: number;
|
|
2138
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
2139
|
+
readonly aggregateKind: "project" | "thread";
|
|
2140
|
+
readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
|
|
2141
|
+
readonly occurredAt: string;
|
|
2142
|
+
readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
2143
|
+
readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
|
|
2144
|
+
readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
2145
|
+
readonly metadata: {
|
|
2146
|
+
readonly providerTurnId?: string | undefined;
|
|
2147
|
+
readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
|
|
2148
|
+
readonly adapterKey?: string | undefined;
|
|
2149
|
+
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
2150
|
+
readonly ingestedAt?: string | undefined;
|
|
2151
|
+
};
|
|
2152
|
+
} | {
|
|
2153
|
+
readonly type: "thread.goal-cleared";
|
|
2154
|
+
readonly payload: {
|
|
2155
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
2156
|
+
};
|
|
2157
|
+
readonly sequence: number;
|
|
2158
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
2159
|
+
readonly aggregateKind: "project" | "thread";
|
|
2160
|
+
readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
|
|
2161
|
+
readonly occurredAt: string;
|
|
2162
|
+
readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
2163
|
+
readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
|
|
2164
|
+
readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
2165
|
+
readonly metadata: {
|
|
2166
|
+
readonly providerTurnId?: string | undefined;
|
|
2167
|
+
readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
|
|
2168
|
+
readonly adapterKey?: string | undefined;
|
|
2169
|
+
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
2170
|
+
readonly ingestedAt?: string | undefined;
|
|
2171
|
+
};
|
|
1946
2172
|
} | {
|
|
1947
2173
|
readonly type: "thread.proposed-plan-upserted";
|
|
1948
2174
|
readonly payload: {
|
|
@@ -2161,6 +2387,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
2161
2387
|
readonly groupKey: string;
|
|
2162
2388
|
} | undefined;
|
|
2163
2389
|
readonly showInteractionModeToggle?: boolean | undefined;
|
|
2390
|
+
readonly requiresNewThreadForModelChange?: boolean | undefined;
|
|
2164
2391
|
readonly message?: string | undefined;
|
|
2165
2392
|
readonly availability?: "available" | "unavailable" | undefined;
|
|
2166
2393
|
readonly unavailableReason?: string | undefined;
|
|
@@ -2224,6 +2451,11 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
2224
2451
|
readonly apiEndpoint: string;
|
|
2225
2452
|
readonly customModels: readonly string[];
|
|
2226
2453
|
};
|
|
2454
|
+
readonly grok: {
|
|
2455
|
+
readonly enabled: boolean;
|
|
2456
|
+
readonly binaryPath: string;
|
|
2457
|
+
readonly customModels: readonly string[];
|
|
2458
|
+
};
|
|
2227
2459
|
readonly opencode: {
|
|
2228
2460
|
readonly enabled: boolean;
|
|
2229
2461
|
readonly binaryPath: string;
|
|
@@ -2319,6 +2551,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
2319
2551
|
readonly groupKey: string;
|
|
2320
2552
|
} | undefined;
|
|
2321
2553
|
readonly showInteractionModeToggle?: boolean | undefined;
|
|
2554
|
+
readonly requiresNewThreadForModelChange?: boolean | undefined;
|
|
2322
2555
|
readonly message?: string | undefined;
|
|
2323
2556
|
readonly availability?: "available" | "unavailable" | undefined;
|
|
2324
2557
|
readonly unavailableReason?: string | undefined;
|
|
@@ -2476,6 +2709,20 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
2476
2709
|
readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
|
|
2477
2710
|
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
2478
2711
|
readonly createdAt: string;
|
|
2712
|
+
} | {
|
|
2713
|
+
readonly type: "thread.goal.request";
|
|
2714
|
+
readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
|
|
2715
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
2716
|
+
readonly request: {
|
|
2717
|
+
readonly kind: "status";
|
|
2718
|
+
} | {
|
|
2719
|
+
readonly kind: "control";
|
|
2720
|
+
readonly action: "pause" | "resume" | "clear";
|
|
2721
|
+
} | {
|
|
2722
|
+
readonly kind: "set";
|
|
2723
|
+
readonly objective: string;
|
|
2724
|
+
};
|
|
2725
|
+
readonly createdAt: string;
|
|
2479
2726
|
} | {
|
|
2480
2727
|
readonly type: "thread.turn.start";
|
|
2481
2728
|
readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
|
|
@@ -2631,6 +2878,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
2631
2878
|
readonly updatedAt: string;
|
|
2632
2879
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
2633
2880
|
} | null;
|
|
2881
|
+
readonly goal: {
|
|
2882
|
+
readonly objective: string;
|
|
2883
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
2884
|
+
readonly tokensUsed: number;
|
|
2885
|
+
readonly tokenBudget: number | null;
|
|
2886
|
+
readonly timeUsedSeconds: number;
|
|
2887
|
+
readonly createdAt: string;
|
|
2888
|
+
readonly updatedAt: string;
|
|
2889
|
+
} | null;
|
|
2634
2890
|
readonly latestUserMessageAt: string | null;
|
|
2635
2891
|
readonly hasPendingApprovals: boolean;
|
|
2636
2892
|
readonly hasPendingUserInput: boolean;
|
|
@@ -2720,6 +2976,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
2720
2976
|
readonly updatedAt: string;
|
|
2721
2977
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
2722
2978
|
} | null;
|
|
2979
|
+
readonly goal: {
|
|
2980
|
+
readonly objective: string;
|
|
2981
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
2982
|
+
readonly tokensUsed: number;
|
|
2983
|
+
readonly tokenBudget: number | null;
|
|
2984
|
+
readonly timeUsedSeconds: number;
|
|
2985
|
+
readonly createdAt: string;
|
|
2986
|
+
readonly updatedAt: string;
|
|
2987
|
+
} | null;
|
|
2723
2988
|
readonly latestUserMessageAt: string | null;
|
|
2724
2989
|
readonly hasPendingApprovals: boolean;
|
|
2725
2990
|
readonly hasPendingUserInput: boolean;
|
|
@@ -2813,6 +3078,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
2813
3078
|
readonly updatedAt: string;
|
|
2814
3079
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
2815
3080
|
} | null;
|
|
3081
|
+
readonly goal: {
|
|
3082
|
+
readonly objective: string;
|
|
3083
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
3084
|
+
readonly tokensUsed: number;
|
|
3085
|
+
readonly tokenBudget: number | null;
|
|
3086
|
+
readonly timeUsedSeconds: number;
|
|
3087
|
+
readonly createdAt: string;
|
|
3088
|
+
readonly updatedAt: string;
|
|
3089
|
+
} | null;
|
|
2816
3090
|
readonly latestUserMessageAt: string | null;
|
|
2817
3091
|
readonly hasPendingApprovals: boolean;
|
|
2818
3092
|
readonly hasPendingUserInput: boolean;
|
|
@@ -2902,6 +3176,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
2902
3176
|
readonly updatedAt: string;
|
|
2903
3177
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
2904
3178
|
} | null;
|
|
3179
|
+
readonly goal: {
|
|
3180
|
+
readonly objective: string;
|
|
3181
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
3182
|
+
readonly tokensUsed: number;
|
|
3183
|
+
readonly tokenBudget: number | null;
|
|
3184
|
+
readonly timeUsedSeconds: number;
|
|
3185
|
+
readonly createdAt: string;
|
|
3186
|
+
readonly updatedAt: string;
|
|
3187
|
+
} | null;
|
|
2905
3188
|
readonly latestUserMessageAt: string | null;
|
|
2906
3189
|
readonly hasPendingApprovals: boolean;
|
|
2907
3190
|
readonly hasPendingUserInput: boolean;
|
|
@@ -2953,6 +3236,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
2953
3236
|
readonly updatedAt: string;
|
|
2954
3237
|
readonly archivedAt: string | null;
|
|
2955
3238
|
readonly deletedAt: string | null;
|
|
3239
|
+
readonly goal: {
|
|
3240
|
+
readonly objective: string;
|
|
3241
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
3242
|
+
readonly tokensUsed: number;
|
|
3243
|
+
readonly tokenBudget: number | null;
|
|
3244
|
+
readonly timeUsedSeconds: number;
|
|
3245
|
+
readonly createdAt: string;
|
|
3246
|
+
readonly updatedAt: string;
|
|
3247
|
+
} | null;
|
|
2956
3248
|
readonly messages: readonly {
|
|
2957
3249
|
readonly id: string & import("effect/Brand").Brand<"MessageId">;
|
|
2958
3250
|
readonly role: "user" | "assistant" | "system";
|
|
@@ -3551,6 +3843,85 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
3551
3843
|
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
3552
3844
|
readonly ingestedAt?: string | undefined;
|
|
3553
3845
|
};
|
|
3846
|
+
} | {
|
|
3847
|
+
readonly type: "thread.goal-requested";
|
|
3848
|
+
readonly payload: {
|
|
3849
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
3850
|
+
readonly request: {
|
|
3851
|
+
readonly kind: "status";
|
|
3852
|
+
} | {
|
|
3853
|
+
readonly kind: "control";
|
|
3854
|
+
readonly action: "pause" | "resume" | "clear";
|
|
3855
|
+
} | {
|
|
3856
|
+
readonly kind: "set";
|
|
3857
|
+
readonly objective: string;
|
|
3858
|
+
};
|
|
3859
|
+
readonly createdAt: string;
|
|
3860
|
+
};
|
|
3861
|
+
readonly sequence: number;
|
|
3862
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
3863
|
+
readonly aggregateKind: "project" | "thread";
|
|
3864
|
+
readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
|
|
3865
|
+
readonly occurredAt: string;
|
|
3866
|
+
readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
3867
|
+
readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
|
|
3868
|
+
readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
3869
|
+
readonly metadata: {
|
|
3870
|
+
readonly providerTurnId?: string | undefined;
|
|
3871
|
+
readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
|
|
3872
|
+
readonly adapterKey?: string | undefined;
|
|
3873
|
+
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
3874
|
+
readonly ingestedAt?: string | undefined;
|
|
3875
|
+
};
|
|
3876
|
+
} | {
|
|
3877
|
+
readonly type: "thread.goal-updated";
|
|
3878
|
+
readonly payload: {
|
|
3879
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
3880
|
+
readonly goal: {
|
|
3881
|
+
readonly objective: string;
|
|
3882
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
3883
|
+
readonly tokensUsed: number;
|
|
3884
|
+
readonly tokenBudget: number | null;
|
|
3885
|
+
readonly timeUsedSeconds: number;
|
|
3886
|
+
readonly createdAt: string;
|
|
3887
|
+
readonly updatedAt: string;
|
|
3888
|
+
};
|
|
3889
|
+
};
|
|
3890
|
+
readonly sequence: number;
|
|
3891
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
3892
|
+
readonly aggregateKind: "project" | "thread";
|
|
3893
|
+
readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
|
|
3894
|
+
readonly occurredAt: string;
|
|
3895
|
+
readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
3896
|
+
readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
|
|
3897
|
+
readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
3898
|
+
readonly metadata: {
|
|
3899
|
+
readonly providerTurnId?: string | undefined;
|
|
3900
|
+
readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
|
|
3901
|
+
readonly adapterKey?: string | undefined;
|
|
3902
|
+
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
3903
|
+
readonly ingestedAt?: string | undefined;
|
|
3904
|
+
};
|
|
3905
|
+
} | {
|
|
3906
|
+
readonly type: "thread.goal-cleared";
|
|
3907
|
+
readonly payload: {
|
|
3908
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
3909
|
+
};
|
|
3910
|
+
readonly sequence: number;
|
|
3911
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
3912
|
+
readonly aggregateKind: "project" | "thread";
|
|
3913
|
+
readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
|
|
3914
|
+
readonly occurredAt: string;
|
|
3915
|
+
readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
3916
|
+
readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
|
|
3917
|
+
readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
3918
|
+
readonly metadata: {
|
|
3919
|
+
readonly providerTurnId?: string | undefined;
|
|
3920
|
+
readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
|
|
3921
|
+
readonly adapterKey?: string | undefined;
|
|
3922
|
+
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
3923
|
+
readonly ingestedAt?: string | undefined;
|
|
3924
|
+
};
|
|
3554
3925
|
} | {
|
|
3555
3926
|
readonly type: "thread.proposed-plan-upserted";
|
|
3556
3927
|
readonly payload: {
|
|
@@ -3679,6 +4050,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
3679
4050
|
readonly updatedAt: string;
|
|
3680
4051
|
readonly archivedAt: string | null;
|
|
3681
4052
|
readonly deletedAt: string | null;
|
|
4053
|
+
readonly goal: {
|
|
4054
|
+
readonly objective: string;
|
|
4055
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
4056
|
+
readonly tokensUsed: number;
|
|
4057
|
+
readonly tokenBudget: number | null;
|
|
4058
|
+
readonly timeUsedSeconds: number;
|
|
4059
|
+
readonly createdAt: string;
|
|
4060
|
+
readonly updatedAt: string;
|
|
4061
|
+
} | null;
|
|
3682
4062
|
readonly messages: readonly {
|
|
3683
4063
|
readonly id: string & import("effect/Brand").Brand<"MessageId">;
|
|
3684
4064
|
readonly role: "user" | "assistant" | "system";
|
|
@@ -4277,6 +4657,85 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
4277
4657
|
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
4278
4658
|
readonly ingestedAt?: string | undefined;
|
|
4279
4659
|
};
|
|
4660
|
+
} | {
|
|
4661
|
+
readonly type: "thread.goal-requested";
|
|
4662
|
+
readonly payload: {
|
|
4663
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
4664
|
+
readonly request: {
|
|
4665
|
+
readonly kind: "status";
|
|
4666
|
+
} | {
|
|
4667
|
+
readonly kind: "control";
|
|
4668
|
+
readonly action: "pause" | "resume" | "clear";
|
|
4669
|
+
} | {
|
|
4670
|
+
readonly kind: "set";
|
|
4671
|
+
readonly objective: string;
|
|
4672
|
+
};
|
|
4673
|
+
readonly createdAt: string;
|
|
4674
|
+
};
|
|
4675
|
+
readonly sequence: number;
|
|
4676
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
4677
|
+
readonly aggregateKind: "project" | "thread";
|
|
4678
|
+
readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
|
|
4679
|
+
readonly occurredAt: string;
|
|
4680
|
+
readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
4681
|
+
readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
|
|
4682
|
+
readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
4683
|
+
readonly metadata: {
|
|
4684
|
+
readonly providerTurnId?: string | undefined;
|
|
4685
|
+
readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
|
|
4686
|
+
readonly adapterKey?: string | undefined;
|
|
4687
|
+
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
4688
|
+
readonly ingestedAt?: string | undefined;
|
|
4689
|
+
};
|
|
4690
|
+
} | {
|
|
4691
|
+
readonly type: "thread.goal-updated";
|
|
4692
|
+
readonly payload: {
|
|
4693
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
4694
|
+
readonly goal: {
|
|
4695
|
+
readonly objective: string;
|
|
4696
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
4697
|
+
readonly tokensUsed: number;
|
|
4698
|
+
readonly tokenBudget: number | null;
|
|
4699
|
+
readonly timeUsedSeconds: number;
|
|
4700
|
+
readonly createdAt: string;
|
|
4701
|
+
readonly updatedAt: string;
|
|
4702
|
+
};
|
|
4703
|
+
};
|
|
4704
|
+
readonly sequence: number;
|
|
4705
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
4706
|
+
readonly aggregateKind: "project" | "thread";
|
|
4707
|
+
readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
|
|
4708
|
+
readonly occurredAt: string;
|
|
4709
|
+
readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
4710
|
+
readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
|
|
4711
|
+
readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
4712
|
+
readonly metadata: {
|
|
4713
|
+
readonly providerTurnId?: string | undefined;
|
|
4714
|
+
readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
|
|
4715
|
+
readonly adapterKey?: string | undefined;
|
|
4716
|
+
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
4717
|
+
readonly ingestedAt?: string | undefined;
|
|
4718
|
+
};
|
|
4719
|
+
} | {
|
|
4720
|
+
readonly type: "thread.goal-cleared";
|
|
4721
|
+
readonly payload: {
|
|
4722
|
+
readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
|
|
4723
|
+
};
|
|
4724
|
+
readonly sequence: number;
|
|
4725
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
4726
|
+
readonly aggregateKind: "project" | "thread";
|
|
4727
|
+
readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
|
|
4728
|
+
readonly occurredAt: string;
|
|
4729
|
+
readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
4730
|
+
readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
|
|
4731
|
+
readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
|
|
4732
|
+
readonly metadata: {
|
|
4733
|
+
readonly providerTurnId?: string | undefined;
|
|
4734
|
+
readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
|
|
4735
|
+
readonly adapterKey?: string | undefined;
|
|
4736
|
+
readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
|
|
4737
|
+
readonly ingestedAt?: string | undefined;
|
|
4738
|
+
};
|
|
4280
4739
|
} | {
|
|
4281
4740
|
readonly type: "thread.proposed-plan-upserted";
|
|
4282
4741
|
readonly payload: {
|
|
@@ -4495,6 +4954,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
4495
4954
|
readonly groupKey: string;
|
|
4496
4955
|
} | undefined;
|
|
4497
4956
|
readonly showInteractionModeToggle?: boolean | undefined;
|
|
4957
|
+
readonly requiresNewThreadForModelChange?: boolean | undefined;
|
|
4498
4958
|
readonly message?: string | undefined;
|
|
4499
4959
|
readonly availability?: "available" | "unavailable" | undefined;
|
|
4500
4960
|
readonly unavailableReason?: string | undefined;
|
|
@@ -4558,6 +5018,11 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
4558
5018
|
readonly apiEndpoint: string;
|
|
4559
5019
|
readonly customModels: readonly string[];
|
|
4560
5020
|
};
|
|
5021
|
+
readonly grok: {
|
|
5022
|
+
readonly enabled: boolean;
|
|
5023
|
+
readonly binaryPath: string;
|
|
5024
|
+
readonly customModels: readonly string[];
|
|
5025
|
+
};
|
|
4561
5026
|
readonly opencode: {
|
|
4562
5027
|
readonly enabled: boolean;
|
|
4563
5028
|
readonly binaryPath: string;
|
|
@@ -4653,6 +5118,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
|
|
|
4653
5118
|
readonly groupKey: string;
|
|
4654
5119
|
} | undefined;
|
|
4655
5120
|
readonly showInteractionModeToggle?: boolean | undefined;
|
|
5121
|
+
readonly requiresNewThreadForModelChange?: boolean | undefined;
|
|
4656
5122
|
readonly message?: string | undefined;
|
|
4657
5123
|
readonly availability?: "available" | "unavailable" | undefined;
|
|
4658
5124
|
readonly unavailableReason?: string | undefined;
|