@walkeros/cli 4.5.0 → 4.5.1-next-1788726985928
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/CHANGELOG.md +22 -0
- package/dist/cli.js +1049 -1033
- package/dist/index.d.ts +1660 -112
- package/dist/index.js +167 -5
- package/dist/index.js.map +1 -1
- package/openapi/spec.json +7923 -5632
- package/package.json +8 -8
package/dist/index.d.ts
CHANGED
|
@@ -3693,7 +3693,7 @@ interface paths {
|
|
|
3693
3693
|
put?: never;
|
|
3694
3694
|
/**
|
|
3695
3695
|
* Deploy settings
|
|
3696
|
-
* @description Start a deployment for a specific settings entry. Detects platform from the settings.
|
|
3696
|
+
* @description Start a deployment for a specific settings entry. Detects platform from the settings. The body is optional and carries only `humanText`, the reason for the change, which becomes the description of the release this deploy produces; it is ignored when the release already has one.
|
|
3697
3697
|
*/
|
|
3698
3698
|
post: {
|
|
3699
3699
|
parameters: {
|
|
@@ -3706,7 +3706,11 @@ interface paths {
|
|
|
3706
3706
|
};
|
|
3707
3707
|
cookie?: never;
|
|
3708
3708
|
};
|
|
3709
|
-
requestBody?:
|
|
3709
|
+
requestBody?: {
|
|
3710
|
+
content: {
|
|
3711
|
+
'application/json': components['schemas']['DeploySettingsRequest'];
|
|
3712
|
+
};
|
|
3713
|
+
};
|
|
3710
3714
|
responses: {
|
|
3711
3715
|
/** @description Deployment started */
|
|
3712
3716
|
201: {
|
|
@@ -7506,6 +7510,95 @@ interface paths {
|
|
|
7506
7510
|
patch?: never;
|
|
7507
7511
|
trace?: never;
|
|
7508
7512
|
};
|
|
7513
|
+
'/api/projects/{projectId}/flows/{flowId}/releases/{versionId}/content': {
|
|
7514
|
+
parameters: {
|
|
7515
|
+
query?: never;
|
|
7516
|
+
header?: never;
|
|
7517
|
+
path?: never;
|
|
7518
|
+
cookie?: never;
|
|
7519
|
+
};
|
|
7520
|
+
/**
|
|
7521
|
+
* Read a release snapshot
|
|
7522
|
+
* @description The flow config one release of this flow froze, addressed by its spine version id. This is the only route that serves a release snapshot: the positional `/versions/{versionNumber}` route numbers the autosave revisions, a disjoint set of rows, so a release number handed to it addresses an unrelated revision or nothing. Inline secret literals are masked. An unknown id, a sibling flow's version, and an autosave revision all answer 404 alike. Requires member role and the `hub` feature.
|
|
7523
|
+
*/
|
|
7524
|
+
get: {
|
|
7525
|
+
parameters: {
|
|
7526
|
+
query?: never;
|
|
7527
|
+
header?: never;
|
|
7528
|
+
path: {
|
|
7529
|
+
projectId: string;
|
|
7530
|
+
flowId: string;
|
|
7531
|
+
/** @description Spine version ID of the release (ver_...) */
|
|
7532
|
+
versionId: string;
|
|
7533
|
+
};
|
|
7534
|
+
cookie?: never;
|
|
7535
|
+
};
|
|
7536
|
+
requestBody?: never;
|
|
7537
|
+
responses: {
|
|
7538
|
+
/** @description The release snapshot */
|
|
7539
|
+
200: {
|
|
7540
|
+
headers: {
|
|
7541
|
+
[name: string]: unknown;
|
|
7542
|
+
};
|
|
7543
|
+
content: {
|
|
7544
|
+
'application/json': components['schemas']['ReleaseContentResponse'];
|
|
7545
|
+
};
|
|
7546
|
+
};
|
|
7547
|
+
/** @description Invalid version id */
|
|
7548
|
+
400: {
|
|
7549
|
+
headers: {
|
|
7550
|
+
[name: string]: unknown;
|
|
7551
|
+
};
|
|
7552
|
+
content: {
|
|
7553
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
7554
|
+
};
|
|
7555
|
+
};
|
|
7556
|
+
/** @description Unauthorized */
|
|
7557
|
+
401: {
|
|
7558
|
+
headers: {
|
|
7559
|
+
[name: string]: unknown;
|
|
7560
|
+
};
|
|
7561
|
+
content: {
|
|
7562
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
7563
|
+
};
|
|
7564
|
+
};
|
|
7565
|
+
/** @description Forbidden */
|
|
7566
|
+
403: {
|
|
7567
|
+
headers: {
|
|
7568
|
+
[name: string]: unknown;
|
|
7569
|
+
};
|
|
7570
|
+
content: {
|
|
7571
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
7572
|
+
};
|
|
7573
|
+
};
|
|
7574
|
+
/** @description Not found */
|
|
7575
|
+
404: {
|
|
7576
|
+
headers: {
|
|
7577
|
+
[name: string]: unknown;
|
|
7578
|
+
};
|
|
7579
|
+
content: {
|
|
7580
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
7581
|
+
};
|
|
7582
|
+
};
|
|
7583
|
+
/** @description Rate limited */
|
|
7584
|
+
429: {
|
|
7585
|
+
headers: {
|
|
7586
|
+
[name: string]: unknown;
|
|
7587
|
+
};
|
|
7588
|
+
content: {
|
|
7589
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
7590
|
+
};
|
|
7591
|
+
};
|
|
7592
|
+
};
|
|
7593
|
+
};
|
|
7594
|
+
put?: never;
|
|
7595
|
+
post?: never;
|
|
7596
|
+
delete?: never;
|
|
7597
|
+
options?: never;
|
|
7598
|
+
head?: never;
|
|
7599
|
+
patch?: never;
|
|
7600
|
+
trace?: never;
|
|
7601
|
+
};
|
|
7509
7602
|
'/api/projects/{projectId}/flows/{flowId}/releases/annotations': {
|
|
7510
7603
|
parameters: {
|
|
7511
7604
|
query?: never;
|
|
@@ -8057,7 +8150,7 @@ interface paths {
|
|
|
8057
8150
|
};
|
|
8058
8151
|
trace?: never;
|
|
8059
8152
|
};
|
|
8060
|
-
'/api/projects/{projectId}/
|
|
8153
|
+
'/api/projects/{projectId}/knowledge': {
|
|
8061
8154
|
parameters: {
|
|
8062
8155
|
query?: never;
|
|
8063
8156
|
header?: never;
|
|
@@ -8065,35 +8158,36 @@ interface paths {
|
|
|
8065
8158
|
cookie?: never;
|
|
8066
8159
|
};
|
|
8067
8160
|
/**
|
|
8068
|
-
* List
|
|
8069
|
-
* @description
|
|
8161
|
+
* List knowledge captured in this project
|
|
8162
|
+
* @description What people wrote on the frames of a page, most recently active first. Two kinds come back together and `kind` separates them: a `thread` carries its text in messages, a `description` carries one body and cannot be replied to. `pageKey` narrows to a whole page, resolved server-side to every frame that page holds at any depth; `frameId` narrows to one frame; `markId` narrows to one mark within it and is refused without `frameId`, since a mark id alone addresses nothing. `includeMessages=true` attaches message bodies and holds the page to a much smaller ceiling, so `hasMoreEntries` is what separates a complete answer from a truncated one. `validity` says when an entry was true and `freshness` compares that against the flow’s newest release; neither is a verdict. Requires member role.
|
|
8070
8163
|
*/
|
|
8071
8164
|
get: {
|
|
8072
8165
|
parameters: {
|
|
8073
|
-
query
|
|
8074
|
-
|
|
8075
|
-
|
|
8076
|
-
|
|
8166
|
+
query?: {
|
|
8167
|
+
pageKey?: string;
|
|
8168
|
+
frameId?: string;
|
|
8169
|
+
markId?: string;
|
|
8170
|
+
includeMessages?: 'true' | 'false';
|
|
8171
|
+
limit?: number;
|
|
8077
8172
|
};
|
|
8078
8173
|
header?: never;
|
|
8079
8174
|
path: {
|
|
8080
8175
|
projectId: string;
|
|
8081
|
-
flowId: string;
|
|
8082
8176
|
};
|
|
8083
8177
|
cookie?: never;
|
|
8084
8178
|
};
|
|
8085
8179
|
requestBody?: never;
|
|
8086
8180
|
responses: {
|
|
8087
|
-
/** @description
|
|
8181
|
+
/** @description Knowledge in this project */
|
|
8088
8182
|
200: {
|
|
8089
8183
|
headers: {
|
|
8090
8184
|
[name: string]: unknown;
|
|
8091
8185
|
};
|
|
8092
8186
|
content: {
|
|
8093
|
-
'application/json': components['schemas']['
|
|
8187
|
+
'application/json': components['schemas']['ListKnowledgeResponse'];
|
|
8094
8188
|
};
|
|
8095
8189
|
};
|
|
8096
|
-
/** @description Invalid
|
|
8190
|
+
/** @description Invalid query, or a mark filter with no frame */
|
|
8097
8191
|
400: {
|
|
8098
8192
|
headers: {
|
|
8099
8193
|
[name: string]: unknown;
|
|
@@ -8141,25 +8235,9 @@ interface paths {
|
|
|
8141
8235
|
};
|
|
8142
8236
|
};
|
|
8143
8237
|
put?: never;
|
|
8144
|
-
post?: never;
|
|
8145
|
-
delete?: never;
|
|
8146
|
-
options?: never;
|
|
8147
|
-
head?: never;
|
|
8148
|
-
patch?: never;
|
|
8149
|
-
trace?: never;
|
|
8150
|
-
};
|
|
8151
|
-
'/api/projects/{projectId}/flows/{flowId}/releases/summarize': {
|
|
8152
|
-
parameters: {
|
|
8153
|
-
query?: never;
|
|
8154
|
-
header?: never;
|
|
8155
|
-
path?: never;
|
|
8156
|
-
cookie?: never;
|
|
8157
|
-
};
|
|
8158
|
-
get?: never;
|
|
8159
|
-
put?: never;
|
|
8160
8238
|
/**
|
|
8161
|
-
*
|
|
8162
|
-
* @description
|
|
8239
|
+
* Open a thread on a mark or a frame
|
|
8240
|
+
* @description Open a thread on one mark of one frame, or on the frame itself with `anchorType` `page` and no `markId`, with its first message. A thread never exists empty, so `text` is required and may not be blank. `clientThreadId` and `clientMessageId` are minted by the client at compose time and are what make a replay idempotent: repeating a known `clientThreadId` hands back the existing thread and writes nothing, so an offline queue can drain repeatedly without duplicating what a person wrote once. `flowId` binds the capture to a flow or is explicitly null; a flow this project cannot see answers 404, never 403. A frame this project does not hold answers 404 with `FRAME_NOT_FOUND`, which a draining client waits on and retries, because the frame’s own write may not have landed yet. The server decides the composed anchor key, the born release, the author and the source: a client cannot assert any of them. Requires member role.
|
|
8163
8241
|
*/
|
|
8164
8242
|
post: {
|
|
8165
8243
|
parameters: {
|
|
@@ -8167,34 +8245,43 @@ interface paths {
|
|
|
8167
8245
|
header?: never;
|
|
8168
8246
|
path: {
|
|
8169
8247
|
projectId: string;
|
|
8170
|
-
flowId: string;
|
|
8171
8248
|
};
|
|
8172
8249
|
cookie?: never;
|
|
8173
8250
|
};
|
|
8174
8251
|
requestBody?: {
|
|
8175
8252
|
content: {
|
|
8176
8253
|
'application/json': {
|
|
8177
|
-
/**
|
|
8178
|
-
|
|
8179
|
-
|
|
8180
|
-
|
|
8181
|
-
|
|
8182
|
-
|
|
8183
|
-
|
|
8254
|
+
/**
|
|
8255
|
+
* @example tag
|
|
8256
|
+
* @enum {string}
|
|
8257
|
+
*/
|
|
8258
|
+
anchorType: 'tag' | 'page';
|
|
8259
|
+
/** @example frm_V1StGXR8Z5jdHi6BmyT7K */
|
|
8260
|
+
frameId: string;
|
|
8261
|
+
markId?: string;
|
|
8262
|
+
anchorLabel?: string;
|
|
8263
|
+
flowId: string | null;
|
|
8264
|
+
subjectKey?: string;
|
|
8265
|
+
spatial?: components['schemas']['KnowledgeSpatial'];
|
|
8266
|
+
/** @example ct_7f3a91 */
|
|
8267
|
+
clientThreadId: string;
|
|
8268
|
+
text: string;
|
|
8269
|
+
/** @example ct_7f3a91 */
|
|
8270
|
+
clientMessageId: string;
|
|
8184
8271
|
};
|
|
8185
8272
|
};
|
|
8186
8273
|
};
|
|
8187
8274
|
responses: {
|
|
8188
|
-
/** @description The
|
|
8189
|
-
|
|
8275
|
+
/** @description The thread, with its first message */
|
|
8276
|
+
201: {
|
|
8190
8277
|
headers: {
|
|
8191
8278
|
[name: string]: unknown;
|
|
8192
8279
|
};
|
|
8193
8280
|
content: {
|
|
8194
|
-
'application/json': components['schemas']['
|
|
8281
|
+
'application/json': components['schemas']['KnowledgeThreadResponse'];
|
|
8195
8282
|
};
|
|
8196
8283
|
};
|
|
8197
|
-
/** @description Invalid body
|
|
8284
|
+
/** @description Invalid body */
|
|
8198
8285
|
400: {
|
|
8199
8286
|
headers: {
|
|
8200
8287
|
[name: string]: unknown;
|
|
@@ -8221,7 +8308,7 @@ interface paths {
|
|
|
8221
8308
|
'application/json': components['schemas']['ErrorResponse'];
|
|
8222
8309
|
};
|
|
8223
8310
|
};
|
|
8224
|
-
/** @description
|
|
8311
|
+
/** @description The named flow or frame is not in this project */
|
|
8225
8312
|
404: {
|
|
8226
8313
|
headers: {
|
|
8227
8314
|
[name: string]: unknown;
|
|
@@ -8239,15 +8326,6 @@ interface paths {
|
|
|
8239
8326
|
'application/json': components['schemas']['ErrorResponse'];
|
|
8240
8327
|
};
|
|
8241
8328
|
};
|
|
8242
|
-
/** @description The model call failed or returned no usable text */
|
|
8243
|
-
502: {
|
|
8244
|
-
headers: {
|
|
8245
|
-
[name: string]: unknown;
|
|
8246
|
-
};
|
|
8247
|
-
content: {
|
|
8248
|
-
'application/json': components['schemas']['ErrorResponse'];
|
|
8249
|
-
};
|
|
8250
|
-
};
|
|
8251
8329
|
};
|
|
8252
8330
|
};
|
|
8253
8331
|
delete?: never;
|
|
@@ -8256,36 +8334,56 @@ interface paths {
|
|
|
8256
8334
|
patch?: never;
|
|
8257
8335
|
trace?: never;
|
|
8258
8336
|
};
|
|
8259
|
-
'/api/projects/{projectId}/
|
|
8337
|
+
'/api/projects/{projectId}/knowledge/{threadId}/messages': {
|
|
8260
8338
|
parameters: {
|
|
8261
8339
|
query?: never;
|
|
8262
8340
|
header?: never;
|
|
8263
8341
|
path?: never;
|
|
8264
8342
|
cookie?: never;
|
|
8265
8343
|
};
|
|
8344
|
+
get?: never;
|
|
8345
|
+
put?: never;
|
|
8266
8346
|
/**
|
|
8267
|
-
*
|
|
8268
|
-
* @description
|
|
8347
|
+
* Reply to a knowledge thread
|
|
8348
|
+
* @description Append a message to a thread and get the whole thread back, so a surface renders the new exchange without a second read. `text` may not be blank: a message cannot be cleared, so empty is invalid rather than a way to erase one. Repeating a `clientMessageId` already on the thread appends nothing and leaves `updatedAt` alone, so a retrying drain never keeps bumping a thread to the top of every list. A description has no conversation and cannot be replied to; addressing one answers 404. Requires member role.
|
|
8269
8349
|
*/
|
|
8270
|
-
|
|
8350
|
+
post: {
|
|
8271
8351
|
parameters: {
|
|
8272
8352
|
query?: never;
|
|
8273
8353
|
header?: never;
|
|
8274
8354
|
path: {
|
|
8275
8355
|
projectId: string;
|
|
8276
|
-
|
|
8356
|
+
/** @description Thread ID (thr_...) */
|
|
8357
|
+
threadId: string;
|
|
8277
8358
|
};
|
|
8278
8359
|
cookie?: never;
|
|
8279
8360
|
};
|
|
8280
|
-
requestBody?:
|
|
8361
|
+
requestBody?: {
|
|
8362
|
+
content: {
|
|
8363
|
+
'application/json': {
|
|
8364
|
+
text: string;
|
|
8365
|
+
/** @example ct_7f3a91 */
|
|
8366
|
+
clientMessageId: string;
|
|
8367
|
+
};
|
|
8368
|
+
};
|
|
8369
|
+
};
|
|
8281
8370
|
responses: {
|
|
8282
|
-
/** @description
|
|
8283
|
-
|
|
8371
|
+
/** @description The thread, with the new message */
|
|
8372
|
+
201: {
|
|
8284
8373
|
headers: {
|
|
8285
8374
|
[name: string]: unknown;
|
|
8286
8375
|
};
|
|
8287
8376
|
content: {
|
|
8288
|
-
'application/json': components['schemas']['
|
|
8377
|
+
'application/json': components['schemas']['KnowledgeThreadResponse'];
|
|
8378
|
+
};
|
|
8379
|
+
};
|
|
8380
|
+
/** @description Invalid body */
|
|
8381
|
+
400: {
|
|
8382
|
+
headers: {
|
|
8383
|
+
[name: string]: unknown;
|
|
8384
|
+
};
|
|
8385
|
+
content: {
|
|
8386
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8289
8387
|
};
|
|
8290
8388
|
};
|
|
8291
8389
|
/** @description Unauthorized */
|
|
@@ -8326,51 +8424,69 @@ interface paths {
|
|
|
8326
8424
|
};
|
|
8327
8425
|
};
|
|
8328
8426
|
};
|
|
8329
|
-
put?: never;
|
|
8330
|
-
post?: never;
|
|
8331
8427
|
delete?: never;
|
|
8332
8428
|
options?: never;
|
|
8333
8429
|
head?: never;
|
|
8334
8430
|
patch?: never;
|
|
8335
8431
|
trace?: never;
|
|
8336
8432
|
};
|
|
8337
|
-
'/api/projects/{projectId}/
|
|
8433
|
+
'/api/projects/{projectId}/knowledge/description': {
|
|
8338
8434
|
parameters: {
|
|
8339
8435
|
query?: never;
|
|
8340
8436
|
header?: never;
|
|
8341
8437
|
path?: never;
|
|
8342
8438
|
cookie?: never;
|
|
8343
8439
|
};
|
|
8440
|
+
get?: never;
|
|
8344
8441
|
/**
|
|
8345
|
-
*
|
|
8346
|
-
* @description
|
|
8442
|
+
* Write the description of a mark or a frame
|
|
8443
|
+
* @description Write the one description of one anchor, a mark or the frame itself, replacing whatever it said before. There is no id to mint: the anchor is the key, so a replayed write lands on the same row by construction, which is why this is a PUT. An empty `body` is refused rather than stored, so a drain that arrives with nothing to say can never erase what a person wrote. The response is 200 whether the description was opened or replaced. Requires member role.
|
|
8347
8444
|
*/
|
|
8348
|
-
|
|
8445
|
+
put: {
|
|
8349
8446
|
parameters: {
|
|
8350
|
-
query?:
|
|
8351
|
-
/** @description ISO start of the time range. */
|
|
8352
|
-
from?: string;
|
|
8353
|
-
/** @description ISO end of the time range. */
|
|
8354
|
-
to?: string;
|
|
8355
|
-
limit?: number;
|
|
8356
|
-
offset?: number | null;
|
|
8357
|
-
};
|
|
8447
|
+
query?: never;
|
|
8358
8448
|
header?: never;
|
|
8359
8449
|
path: {
|
|
8360
8450
|
projectId: string;
|
|
8361
|
-
deploymentId: string;
|
|
8362
8451
|
};
|
|
8363
8452
|
cookie?: never;
|
|
8364
8453
|
};
|
|
8365
|
-
requestBody?:
|
|
8454
|
+
requestBody?: {
|
|
8455
|
+
content: {
|
|
8456
|
+
'application/json': {
|
|
8457
|
+
/**
|
|
8458
|
+
* @example tag
|
|
8459
|
+
* @enum {string}
|
|
8460
|
+
*/
|
|
8461
|
+
anchorType: 'tag' | 'page';
|
|
8462
|
+
/** @example frm_V1StGXR8Z5jdHi6BmyT7K */
|
|
8463
|
+
frameId: string;
|
|
8464
|
+
markId?: string;
|
|
8465
|
+
anchorLabel?: string;
|
|
8466
|
+
flowId: string | null;
|
|
8467
|
+
subjectKey?: string;
|
|
8468
|
+
spatial?: components['schemas']['KnowledgeSpatial'];
|
|
8469
|
+
body: string;
|
|
8470
|
+
};
|
|
8471
|
+
};
|
|
8472
|
+
};
|
|
8366
8473
|
responses: {
|
|
8367
|
-
/** @description
|
|
8474
|
+
/** @description The stored description */
|
|
8368
8475
|
200: {
|
|
8369
8476
|
headers: {
|
|
8370
8477
|
[name: string]: unknown;
|
|
8371
8478
|
};
|
|
8372
8479
|
content: {
|
|
8373
|
-
'application/json': components['schemas']['
|
|
8480
|
+
'application/json': components['schemas']['KnowledgeDescriptionResponse'];
|
|
8481
|
+
};
|
|
8482
|
+
};
|
|
8483
|
+
/** @description Invalid body */
|
|
8484
|
+
400: {
|
|
8485
|
+
headers: {
|
|
8486
|
+
[name: string]: unknown;
|
|
8487
|
+
};
|
|
8488
|
+
content: {
|
|
8489
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8374
8490
|
};
|
|
8375
8491
|
};
|
|
8376
8492
|
/** @description Unauthorized */
|
|
@@ -8391,7 +8507,7 @@ interface paths {
|
|
|
8391
8507
|
'application/json': components['schemas']['ErrorResponse'];
|
|
8392
8508
|
};
|
|
8393
8509
|
};
|
|
8394
|
-
/** @description
|
|
8510
|
+
/** @description The named flow or frame is not in this project */
|
|
8395
8511
|
404: {
|
|
8396
8512
|
headers: {
|
|
8397
8513
|
[name: string]: unknown;
|
|
@@ -8400,9 +8516,17 @@ interface paths {
|
|
|
8400
8516
|
'application/json': components['schemas']['ErrorResponse'];
|
|
8401
8517
|
};
|
|
8402
8518
|
};
|
|
8519
|
+
/** @description Rate limited */
|
|
8520
|
+
429: {
|
|
8521
|
+
headers: {
|
|
8522
|
+
[name: string]: unknown;
|
|
8523
|
+
};
|
|
8524
|
+
content: {
|
|
8525
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8526
|
+
};
|
|
8527
|
+
};
|
|
8403
8528
|
};
|
|
8404
8529
|
};
|
|
8405
|
-
put?: never;
|
|
8406
8530
|
post?: never;
|
|
8407
8531
|
delete?: never;
|
|
8408
8532
|
options?: never;
|
|
@@ -8410,38 +8534,48 @@ interface paths {
|
|
|
8410
8534
|
patch?: never;
|
|
8411
8535
|
trace?: never;
|
|
8412
8536
|
};
|
|
8413
|
-
'/api/projects/{projectId}/
|
|
8537
|
+
'/api/projects/{projectId}/frames': {
|
|
8414
8538
|
parameters: {
|
|
8415
8539
|
query?: never;
|
|
8416
8540
|
header?: never;
|
|
8417
8541
|
path?: never;
|
|
8418
8542
|
cookie?: never;
|
|
8419
8543
|
};
|
|
8420
|
-
get?: never;
|
|
8421
|
-
put?: never;
|
|
8422
8544
|
/**
|
|
8423
|
-
*
|
|
8424
|
-
* @description
|
|
8545
|
+
* List the frames of a page, or of the whole project
|
|
8546
|
+
* @description A frame is a named rectangle with marks inside it, the spatial unit of a measurement plan. Naming a `pageKey` returns that page’s frames at any depth, marks and all, newest updated first: the walk starts at the page’s top-level frames and descends containment, so a child is reachable through its parent rather than by carrying a page of its own. Naming no page returns every live frame of the project WITHOUT its marks, which is what makes that read cheap enough to answer "what does this project have": the marks are the bulk of a frame and a listing never renders them. That lean read asks nothing about containment, so a frame whose parent cannot be resolved still appears. Requires member role.
|
|
8425
8547
|
*/
|
|
8426
|
-
|
|
8548
|
+
get: {
|
|
8427
8549
|
parameters: {
|
|
8428
|
-
query?:
|
|
8550
|
+
query?: {
|
|
8551
|
+
pageKey?: string;
|
|
8552
|
+
};
|
|
8429
8553
|
header?: never;
|
|
8430
8554
|
path: {
|
|
8431
8555
|
projectId: string;
|
|
8432
|
-
deploymentId: string;
|
|
8433
8556
|
};
|
|
8434
8557
|
cookie?: never;
|
|
8435
8558
|
};
|
|
8436
8559
|
requestBody?: never;
|
|
8437
8560
|
responses: {
|
|
8438
|
-
/** @description
|
|
8561
|
+
/** @description The page’s frames with their marks, or the project’s frames without them */
|
|
8439
8562
|
200: {
|
|
8440
8563
|
headers: {
|
|
8441
8564
|
[name: string]: unknown;
|
|
8442
8565
|
};
|
|
8443
8566
|
content: {
|
|
8444
|
-
'application/json':
|
|
8567
|
+
'application/json':
|
|
8568
|
+
| components['schemas']['FrameListResponse']
|
|
8569
|
+
| components['schemas']['FrameLeanListResponse'];
|
|
8570
|
+
};
|
|
8571
|
+
};
|
|
8572
|
+
/** @description Validation error */
|
|
8573
|
+
400: {
|
|
8574
|
+
headers: {
|
|
8575
|
+
[name: string]: unknown;
|
|
8576
|
+
};
|
|
8577
|
+
content: {
|
|
8578
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8445
8579
|
};
|
|
8446
8580
|
};
|
|
8447
8581
|
/** @description Unauthorized */
|
|
@@ -8471,9 +8605,892 @@ interface paths {
|
|
|
8471
8605
|
'application/json': components['schemas']['ErrorResponse'];
|
|
8472
8606
|
};
|
|
8473
8607
|
};
|
|
8474
|
-
|
|
8475
|
-
|
|
8476
|
-
|
|
8608
|
+
/** @description Rate limited */
|
|
8609
|
+
429: {
|
|
8610
|
+
headers: {
|
|
8611
|
+
[name: string]: unknown;
|
|
8612
|
+
};
|
|
8613
|
+
content: {
|
|
8614
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8615
|
+
};
|
|
8616
|
+
};
|
|
8617
|
+
};
|
|
8618
|
+
};
|
|
8619
|
+
put?: never;
|
|
8620
|
+
post?: never;
|
|
8621
|
+
delete?: never;
|
|
8622
|
+
options?: never;
|
|
8623
|
+
head?: never;
|
|
8624
|
+
patch?: never;
|
|
8625
|
+
trace?: never;
|
|
8626
|
+
};
|
|
8627
|
+
'/api/projects/{projectId}/frames/{frameId}': {
|
|
8628
|
+
parameters: {
|
|
8629
|
+
query?: never;
|
|
8630
|
+
header?: never;
|
|
8631
|
+
path?: never;
|
|
8632
|
+
cookie?: never;
|
|
8633
|
+
};
|
|
8634
|
+
/**
|
|
8635
|
+
* Read one frame
|
|
8636
|
+
* @description One frame with its marks. A frame of another project reads back as nothing and answers 404, never 403, so this route cannot become an oracle for what exists elsewhere. A deleted frame is gone to every read. Requires member role.
|
|
8637
|
+
*/
|
|
8638
|
+
get: {
|
|
8639
|
+
parameters: {
|
|
8640
|
+
query?: never;
|
|
8641
|
+
header?: never;
|
|
8642
|
+
path: {
|
|
8643
|
+
projectId: string;
|
|
8644
|
+
/** @description Frame ID (frm_...) */
|
|
8645
|
+
frameId: string;
|
|
8646
|
+
};
|
|
8647
|
+
cookie?: never;
|
|
8648
|
+
};
|
|
8649
|
+
requestBody?: never;
|
|
8650
|
+
responses: {
|
|
8651
|
+
/** @description The frame */
|
|
8652
|
+
200: {
|
|
8653
|
+
headers: {
|
|
8654
|
+
[name: string]: unknown;
|
|
8655
|
+
};
|
|
8656
|
+
content: {
|
|
8657
|
+
'application/json': components['schemas']['Frame'];
|
|
8658
|
+
};
|
|
8659
|
+
};
|
|
8660
|
+
/** @description The path segment does not address a frame */
|
|
8661
|
+
400: {
|
|
8662
|
+
headers: {
|
|
8663
|
+
[name: string]: unknown;
|
|
8664
|
+
};
|
|
8665
|
+
content: {
|
|
8666
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8667
|
+
};
|
|
8668
|
+
};
|
|
8669
|
+
/** @description Unauthorized */
|
|
8670
|
+
401: {
|
|
8671
|
+
headers: {
|
|
8672
|
+
[name: string]: unknown;
|
|
8673
|
+
};
|
|
8674
|
+
content: {
|
|
8675
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8676
|
+
};
|
|
8677
|
+
};
|
|
8678
|
+
/** @description Forbidden */
|
|
8679
|
+
403: {
|
|
8680
|
+
headers: {
|
|
8681
|
+
[name: string]: unknown;
|
|
8682
|
+
};
|
|
8683
|
+
content: {
|
|
8684
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8685
|
+
};
|
|
8686
|
+
};
|
|
8687
|
+
/** @description Not found */
|
|
8688
|
+
404: {
|
|
8689
|
+
headers: {
|
|
8690
|
+
[name: string]: unknown;
|
|
8691
|
+
};
|
|
8692
|
+
content: {
|
|
8693
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8694
|
+
};
|
|
8695
|
+
};
|
|
8696
|
+
/** @description Rate limited */
|
|
8697
|
+
429: {
|
|
8698
|
+
headers: {
|
|
8699
|
+
[name: string]: unknown;
|
|
8700
|
+
};
|
|
8701
|
+
content: {
|
|
8702
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8703
|
+
};
|
|
8704
|
+
};
|
|
8705
|
+
};
|
|
8706
|
+
};
|
|
8707
|
+
/**
|
|
8708
|
+
* Create or replace one frame
|
|
8709
|
+
* @description The path is the identity, so the body carries no id: a create is a write to an absent row at `baseVersion` 0 and everything else is a replace. `clientWriteId` is minted at compose time and is what makes a replayed drain exact: a write whose id already produced the stored version landed once and is answered with that version, writing nothing, so an offline queue drains repeatedly without turning one edit into two versions. A write against a version someone else has moved past answers 409 `FRAME_VERSION_CONFLICT` carrying the head, which is what lets a client raise keep-mine against load-theirs on the one frame that conflicted instead of dropping what a person drew. A name another live frame already holds is a distinct 409 `FRAME_NAME_EXISTS`. A relation naming a frame this project does not hold, or one that would place a frame inside itself, is 400 `INVALID_FRAME`. The screenshot is never touched here: a frame write carries no capture. Requires member role.
|
|
8710
|
+
*/
|
|
8711
|
+
put: {
|
|
8712
|
+
parameters: {
|
|
8713
|
+
query?: never;
|
|
8714
|
+
header?: never;
|
|
8715
|
+
path: {
|
|
8716
|
+
projectId: string;
|
|
8717
|
+
/** @description Frame ID (frm_...) */
|
|
8718
|
+
frameId: string;
|
|
8719
|
+
};
|
|
8720
|
+
cookie?: never;
|
|
8721
|
+
};
|
|
8722
|
+
requestBody?: {
|
|
8723
|
+
content: {
|
|
8724
|
+
'application/json': {
|
|
8725
|
+
frame: components['schemas']['FrameInput'];
|
|
8726
|
+
baseVersion: number;
|
|
8727
|
+
clientWriteId: string;
|
|
8728
|
+
};
|
|
8729
|
+
};
|
|
8730
|
+
};
|
|
8731
|
+
responses: {
|
|
8732
|
+
/** @description The stored version */
|
|
8733
|
+
200: {
|
|
8734
|
+
headers: {
|
|
8735
|
+
[name: string]: unknown;
|
|
8736
|
+
};
|
|
8737
|
+
content: {
|
|
8738
|
+
'application/json': components['schemas']['PutFrameResponse'];
|
|
8739
|
+
};
|
|
8740
|
+
};
|
|
8741
|
+
/** @description Invalid body, a bad relation, or a path segment that addresses no frame */
|
|
8742
|
+
400: {
|
|
8743
|
+
headers: {
|
|
8744
|
+
[name: string]: unknown;
|
|
8745
|
+
};
|
|
8746
|
+
content: {
|
|
8747
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8748
|
+
};
|
|
8749
|
+
};
|
|
8750
|
+
/** @description Unauthorized */
|
|
8751
|
+
401: {
|
|
8752
|
+
headers: {
|
|
8753
|
+
[name: string]: unknown;
|
|
8754
|
+
};
|
|
8755
|
+
content: {
|
|
8756
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8757
|
+
};
|
|
8758
|
+
};
|
|
8759
|
+
/** @description Forbidden */
|
|
8760
|
+
403: {
|
|
8761
|
+
headers: {
|
|
8762
|
+
[name: string]: unknown;
|
|
8763
|
+
};
|
|
8764
|
+
content: {
|
|
8765
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8766
|
+
};
|
|
8767
|
+
};
|
|
8768
|
+
/** @description Not found */
|
|
8769
|
+
404: {
|
|
8770
|
+
headers: {
|
|
8771
|
+
[name: string]: unknown;
|
|
8772
|
+
};
|
|
8773
|
+
content: {
|
|
8774
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8775
|
+
};
|
|
8776
|
+
};
|
|
8777
|
+
/** @description A stale base version, carrying the head, or a name another live frame already holds. Only the version conflict carries `head`: a name clash needs no frame to resolve, since the client already knows the name it sent. */
|
|
8778
|
+
409: {
|
|
8779
|
+
headers: {
|
|
8780
|
+
[name: string]: unknown;
|
|
8781
|
+
};
|
|
8782
|
+
content: {
|
|
8783
|
+
'application/json':
|
|
8784
|
+
| components['schemas']['FrameConflictResponse']
|
|
8785
|
+
| components['schemas']['ErrorResponse'];
|
|
8786
|
+
};
|
|
8787
|
+
};
|
|
8788
|
+
/** @description Rate limited */
|
|
8789
|
+
429: {
|
|
8790
|
+
headers: {
|
|
8791
|
+
[name: string]: unknown;
|
|
8792
|
+
};
|
|
8793
|
+
content: {
|
|
8794
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8795
|
+
};
|
|
8796
|
+
};
|
|
8797
|
+
};
|
|
8798
|
+
};
|
|
8799
|
+
post?: never;
|
|
8800
|
+
/**
|
|
8801
|
+
* Delete one frame
|
|
8802
|
+
* @description Soft-delete the frame and, transitively, every variation of what this delete removes. Children are not variations and survive: each live frame under a removed one is re-parented to its nearest live ancestor in the same transaction, and one left with no live ancestor becomes top-level and inherits the page it hung under, so nothing is left unreachable. Those re-parents are server writes that bump their own versions, so a client still holding a pre-delete version meets a conflict carrying the new parent. A frame this project does not hold answers 404: a delete that removed nothing is not a delete that succeeded. Requires member role.
|
|
8803
|
+
*/
|
|
8804
|
+
delete: {
|
|
8805
|
+
parameters: {
|
|
8806
|
+
query?: never;
|
|
8807
|
+
header?: never;
|
|
8808
|
+
path: {
|
|
8809
|
+
projectId: string;
|
|
8810
|
+
/** @description Frame ID (frm_...) */
|
|
8811
|
+
frameId: string;
|
|
8812
|
+
};
|
|
8813
|
+
cookie?: never;
|
|
8814
|
+
};
|
|
8815
|
+
requestBody?: never;
|
|
8816
|
+
responses: {
|
|
8817
|
+
/** @description The frame is deleted */
|
|
8818
|
+
204: {
|
|
8819
|
+
headers: {
|
|
8820
|
+
[name: string]: unknown;
|
|
8821
|
+
};
|
|
8822
|
+
content?: never;
|
|
8823
|
+
};
|
|
8824
|
+
/** @description The path segment does not address a frame */
|
|
8825
|
+
400: {
|
|
8826
|
+
headers: {
|
|
8827
|
+
[name: string]: unknown;
|
|
8828
|
+
};
|
|
8829
|
+
content: {
|
|
8830
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8831
|
+
};
|
|
8832
|
+
};
|
|
8833
|
+
/** @description Unauthorized */
|
|
8834
|
+
401: {
|
|
8835
|
+
headers: {
|
|
8836
|
+
[name: string]: unknown;
|
|
8837
|
+
};
|
|
8838
|
+
content: {
|
|
8839
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8840
|
+
};
|
|
8841
|
+
};
|
|
8842
|
+
/** @description Forbidden */
|
|
8843
|
+
403: {
|
|
8844
|
+
headers: {
|
|
8845
|
+
[name: string]: unknown;
|
|
8846
|
+
};
|
|
8847
|
+
content: {
|
|
8848
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8849
|
+
};
|
|
8850
|
+
};
|
|
8851
|
+
/** @description Not found */
|
|
8852
|
+
404: {
|
|
8853
|
+
headers: {
|
|
8854
|
+
[name: string]: unknown;
|
|
8855
|
+
};
|
|
8856
|
+
content: {
|
|
8857
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8858
|
+
};
|
|
8859
|
+
};
|
|
8860
|
+
/** @description Rate limited */
|
|
8861
|
+
429: {
|
|
8862
|
+
headers: {
|
|
8863
|
+
[name: string]: unknown;
|
|
8864
|
+
};
|
|
8865
|
+
content: {
|
|
8866
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8867
|
+
};
|
|
8868
|
+
};
|
|
8869
|
+
};
|
|
8870
|
+
};
|
|
8871
|
+
options?: never;
|
|
8872
|
+
head?: never;
|
|
8873
|
+
patch?: never;
|
|
8874
|
+
trace?: never;
|
|
8875
|
+
};
|
|
8876
|
+
'/api/projects/{projectId}/frames/{frameId}/screenshot': {
|
|
8877
|
+
parameters: {
|
|
8878
|
+
query?: never;
|
|
8879
|
+
header?: never;
|
|
8880
|
+
path?: never;
|
|
8881
|
+
cookie?: never;
|
|
8882
|
+
};
|
|
8883
|
+
get?: never;
|
|
8884
|
+
put?: never;
|
|
8885
|
+
/**
|
|
8886
|
+
* Store the capture of one frame
|
|
8887
|
+
* @description Store one screenshot and set it on its frame. The image arrives as base64 rather than multipart, because the extension relay carries string bodies only. The server decides everything about the bytes: it decodes them, counts the DECODED length against a 4 MB cap, reads the type from the file’s own magic bytes, and hashes them, so nothing the client claims about size or type is consulted. Captures are deduplicated by content within a project: identical pixels resolve to one asset and one upload, and `reused` says whether that happened, which is the common answer rather than the rare one because re-capturing an unchanged frame produces identical bytes. A body past the cap is 413 `PAYLOAD_TOO_LARGE` and one that is not a PNG is 415 `UNSUPPORTED_MEDIA_TYPE`. The capture bumps no frame version: it is not an edit, so an upload never conflicts with the frame write the client queued beside it. Requires member role.
|
|
8888
|
+
*/
|
|
8889
|
+
post: {
|
|
8890
|
+
parameters: {
|
|
8891
|
+
query?: never;
|
|
8892
|
+
header?: never;
|
|
8893
|
+
path: {
|
|
8894
|
+
projectId: string;
|
|
8895
|
+
/** @description Frame ID (frm_...) */
|
|
8896
|
+
frameId: string;
|
|
8897
|
+
};
|
|
8898
|
+
cookie?: never;
|
|
8899
|
+
};
|
|
8900
|
+
requestBody?: {
|
|
8901
|
+
content: {
|
|
8902
|
+
'application/json': {
|
|
8903
|
+
imageBase64: string;
|
|
8904
|
+
meta: components['schemas']['FrameScreenshotMeta'];
|
|
8905
|
+
};
|
|
8906
|
+
};
|
|
8907
|
+
};
|
|
8908
|
+
responses: {
|
|
8909
|
+
/** @description The asset the bytes resolved to, and whether it already existed */
|
|
8910
|
+
200: {
|
|
8911
|
+
headers: {
|
|
8912
|
+
[name: string]: unknown;
|
|
8913
|
+
};
|
|
8914
|
+
content: {
|
|
8915
|
+
'application/json': components['schemas']['ScreenshotUploadResponse'];
|
|
8916
|
+
};
|
|
8917
|
+
};
|
|
8918
|
+
/** @description Invalid body, or a path segment that addresses no frame */
|
|
8919
|
+
400: {
|
|
8920
|
+
headers: {
|
|
8921
|
+
[name: string]: unknown;
|
|
8922
|
+
};
|
|
8923
|
+
content: {
|
|
8924
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8925
|
+
};
|
|
8926
|
+
};
|
|
8927
|
+
/** @description Unauthorized */
|
|
8928
|
+
401: {
|
|
8929
|
+
headers: {
|
|
8930
|
+
[name: string]: unknown;
|
|
8931
|
+
};
|
|
8932
|
+
content: {
|
|
8933
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8934
|
+
};
|
|
8935
|
+
};
|
|
8936
|
+
/** @description Forbidden */
|
|
8937
|
+
403: {
|
|
8938
|
+
headers: {
|
|
8939
|
+
[name: string]: unknown;
|
|
8940
|
+
};
|
|
8941
|
+
content: {
|
|
8942
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8943
|
+
};
|
|
8944
|
+
};
|
|
8945
|
+
/** @description This project does not hold the named frame */
|
|
8946
|
+
404: {
|
|
8947
|
+
headers: {
|
|
8948
|
+
[name: string]: unknown;
|
|
8949
|
+
};
|
|
8950
|
+
content: {
|
|
8951
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8952
|
+
};
|
|
8953
|
+
};
|
|
8954
|
+
/** @description The decoded image is past the 4 MB cap */
|
|
8955
|
+
413: {
|
|
8956
|
+
headers: {
|
|
8957
|
+
[name: string]: unknown;
|
|
8958
|
+
};
|
|
8959
|
+
content: {
|
|
8960
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8961
|
+
};
|
|
8962
|
+
};
|
|
8963
|
+
/** @description The bytes are not a PNG */
|
|
8964
|
+
415: {
|
|
8965
|
+
headers: {
|
|
8966
|
+
[name: string]: unknown;
|
|
8967
|
+
};
|
|
8968
|
+
content: {
|
|
8969
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8970
|
+
};
|
|
8971
|
+
};
|
|
8972
|
+
/** @description Rate limited */
|
|
8973
|
+
429: {
|
|
8974
|
+
headers: {
|
|
8975
|
+
[name: string]: unknown;
|
|
8976
|
+
};
|
|
8977
|
+
content: {
|
|
8978
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
8979
|
+
};
|
|
8980
|
+
};
|
|
8981
|
+
};
|
|
8982
|
+
};
|
|
8983
|
+
delete?: never;
|
|
8984
|
+
options?: never;
|
|
8985
|
+
head?: never;
|
|
8986
|
+
patch?: never;
|
|
8987
|
+
trace?: never;
|
|
8988
|
+
};
|
|
8989
|
+
'/api/projects/{projectId}/assets/{assetId}': {
|
|
8990
|
+
parameters: {
|
|
8991
|
+
query?: never;
|
|
8992
|
+
header?: never;
|
|
8993
|
+
path?: never;
|
|
8994
|
+
cookie?: never;
|
|
8995
|
+
};
|
|
8996
|
+
/**
|
|
8997
|
+
* Read one stored capture
|
|
8998
|
+
* @description The bytes of one frame screenshot, for the app canvas. The extension keeps its own capture locally and never reads assets back. Same-origin and session-authenticated: the response carries `Cross-Origin-Resource-Policy: same-origin`, so no other site can embed a tenant capture off the reader’s session. The bytes are immutable by construction, since the object key is their own content hash, which is why they are cacheable for a year, and `private` keeps a shared cache from serving one tenant’s capture to the next request for the same URL. An asset another project holds answers 404, never 403. Requires member role.
|
|
8999
|
+
*/
|
|
9000
|
+
get: {
|
|
9001
|
+
parameters: {
|
|
9002
|
+
query?: never;
|
|
9003
|
+
header?: never;
|
|
9004
|
+
path: {
|
|
9005
|
+
projectId: string;
|
|
9006
|
+
/** @description Asset ID (fas_...) */
|
|
9007
|
+
assetId: string;
|
|
9008
|
+
};
|
|
9009
|
+
cookie?: never;
|
|
9010
|
+
};
|
|
9011
|
+
requestBody?: never;
|
|
9012
|
+
responses: {
|
|
9013
|
+
/** @description The image bytes */
|
|
9014
|
+
200: {
|
|
9015
|
+
headers: {
|
|
9016
|
+
[name: string]: unknown;
|
|
9017
|
+
};
|
|
9018
|
+
content: {
|
|
9019
|
+
'image/png': string;
|
|
9020
|
+
};
|
|
9021
|
+
};
|
|
9022
|
+
/** @description The path segment does not address an asset */
|
|
9023
|
+
400: {
|
|
9024
|
+
headers: {
|
|
9025
|
+
[name: string]: unknown;
|
|
9026
|
+
};
|
|
9027
|
+
content: {
|
|
9028
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9029
|
+
};
|
|
9030
|
+
};
|
|
9031
|
+
/** @description Unauthorized */
|
|
9032
|
+
401: {
|
|
9033
|
+
headers: {
|
|
9034
|
+
[name: string]: unknown;
|
|
9035
|
+
};
|
|
9036
|
+
content: {
|
|
9037
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9038
|
+
};
|
|
9039
|
+
};
|
|
9040
|
+
/** @description Forbidden */
|
|
9041
|
+
403: {
|
|
9042
|
+
headers: {
|
|
9043
|
+
[name: string]: unknown;
|
|
9044
|
+
};
|
|
9045
|
+
content: {
|
|
9046
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9047
|
+
};
|
|
9048
|
+
};
|
|
9049
|
+
/** @description Not found */
|
|
9050
|
+
404: {
|
|
9051
|
+
headers: {
|
|
9052
|
+
[name: string]: unknown;
|
|
9053
|
+
};
|
|
9054
|
+
content: {
|
|
9055
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9056
|
+
};
|
|
9057
|
+
};
|
|
9058
|
+
/** @description Rate limited */
|
|
9059
|
+
429: {
|
|
9060
|
+
headers: {
|
|
9061
|
+
[name: string]: unknown;
|
|
9062
|
+
};
|
|
9063
|
+
content: {
|
|
9064
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9065
|
+
};
|
|
9066
|
+
};
|
|
9067
|
+
};
|
|
9068
|
+
};
|
|
9069
|
+
put?: never;
|
|
9070
|
+
post?: never;
|
|
9071
|
+
delete?: never;
|
|
9072
|
+
options?: never;
|
|
9073
|
+
head?: never;
|
|
9074
|
+
patch?: never;
|
|
9075
|
+
trace?: never;
|
|
9076
|
+
};
|
|
9077
|
+
'/api/projects/{projectId}/flows/{flowId}/releases/step-history': {
|
|
9078
|
+
parameters: {
|
|
9079
|
+
query?: never;
|
|
9080
|
+
header?: never;
|
|
9081
|
+
path?: never;
|
|
9082
|
+
cookie?: never;
|
|
9083
|
+
};
|
|
9084
|
+
/**
|
|
9085
|
+
* List the releases that touched one step
|
|
9086
|
+
* @description The releases of this flow that added, changed, or removed one step, newest first, each carrying the rationale stored for it. `step` is a `type.name` key over source, transformer, destination, store, and contract. `flow` narrows the scan to one named flow inside the config and is ignored for a contract key. `limit` bounds the releases scanned, not the entries returned. When nothing matched, `knownSteps` lists the addressable keys of the newest scanned release. Requires member role.
|
|
9087
|
+
*/
|
|
9088
|
+
get: {
|
|
9089
|
+
parameters: {
|
|
9090
|
+
query: {
|
|
9091
|
+
step: string;
|
|
9092
|
+
flow?: string;
|
|
9093
|
+
limit?: number | null;
|
|
9094
|
+
};
|
|
9095
|
+
header?: never;
|
|
9096
|
+
path: {
|
|
9097
|
+
projectId: string;
|
|
9098
|
+
flowId: string;
|
|
9099
|
+
};
|
|
9100
|
+
cookie?: never;
|
|
9101
|
+
};
|
|
9102
|
+
requestBody?: never;
|
|
9103
|
+
responses: {
|
|
9104
|
+
/** @description The releases that touched the step */
|
|
9105
|
+
200: {
|
|
9106
|
+
headers: {
|
|
9107
|
+
[name: string]: unknown;
|
|
9108
|
+
};
|
|
9109
|
+
content: {
|
|
9110
|
+
'application/json': components['schemas']['StepHistoryResponse'];
|
|
9111
|
+
};
|
|
9112
|
+
};
|
|
9113
|
+
/** @description Invalid step key or query */
|
|
9114
|
+
400: {
|
|
9115
|
+
headers: {
|
|
9116
|
+
[name: string]: unknown;
|
|
9117
|
+
};
|
|
9118
|
+
content: {
|
|
9119
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9120
|
+
};
|
|
9121
|
+
};
|
|
9122
|
+
/** @description Unauthorized */
|
|
9123
|
+
401: {
|
|
9124
|
+
headers: {
|
|
9125
|
+
[name: string]: unknown;
|
|
9126
|
+
};
|
|
9127
|
+
content: {
|
|
9128
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9129
|
+
};
|
|
9130
|
+
};
|
|
9131
|
+
/** @description Forbidden */
|
|
9132
|
+
403: {
|
|
9133
|
+
headers: {
|
|
9134
|
+
[name: string]: unknown;
|
|
9135
|
+
};
|
|
9136
|
+
content: {
|
|
9137
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9138
|
+
};
|
|
9139
|
+
};
|
|
9140
|
+
/** @description Not found */
|
|
9141
|
+
404: {
|
|
9142
|
+
headers: {
|
|
9143
|
+
[name: string]: unknown;
|
|
9144
|
+
};
|
|
9145
|
+
content: {
|
|
9146
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9147
|
+
};
|
|
9148
|
+
};
|
|
9149
|
+
/** @description Rate limited */
|
|
9150
|
+
429: {
|
|
9151
|
+
headers: {
|
|
9152
|
+
[name: string]: unknown;
|
|
9153
|
+
};
|
|
9154
|
+
content: {
|
|
9155
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9156
|
+
};
|
|
9157
|
+
};
|
|
9158
|
+
};
|
|
9159
|
+
};
|
|
9160
|
+
put?: never;
|
|
9161
|
+
post?: never;
|
|
9162
|
+
delete?: never;
|
|
9163
|
+
options?: never;
|
|
9164
|
+
head?: never;
|
|
9165
|
+
patch?: never;
|
|
9166
|
+
trace?: never;
|
|
9167
|
+
};
|
|
9168
|
+
'/api/projects/{projectId}/flows/{flowId}/releases/summarize': {
|
|
9169
|
+
parameters: {
|
|
9170
|
+
query?: never;
|
|
9171
|
+
header?: never;
|
|
9172
|
+
path?: never;
|
|
9173
|
+
cookie?: never;
|
|
9174
|
+
};
|
|
9175
|
+
get?: never;
|
|
9176
|
+
put?: never;
|
|
9177
|
+
/**
|
|
9178
|
+
* Summarize or check a release
|
|
9179
|
+
* @description Describe what one release of this flow changed against an earlier release, or check a written note against that same change. In `draft` mode the generated text is stored as the release's generated summary; in `check` mode nothing is stored and the response says whether the note matches. The diff is always recomputed from the two stored snapshots, with secret literals masked, and is never taken from the request. Both versions must be numbered releases of this flow, and `prevVersionId` must be the earlier of the two. Requires member role and the `hub` feature.
|
|
9180
|
+
*/
|
|
9181
|
+
post: {
|
|
9182
|
+
parameters: {
|
|
9183
|
+
query?: never;
|
|
9184
|
+
header?: never;
|
|
9185
|
+
path: {
|
|
9186
|
+
projectId: string;
|
|
9187
|
+
flowId: string;
|
|
9188
|
+
};
|
|
9189
|
+
cookie?: never;
|
|
9190
|
+
};
|
|
9191
|
+
requestBody?: {
|
|
9192
|
+
content: {
|
|
9193
|
+
'application/json': {
|
|
9194
|
+
/** @example ver_a1b2c3d4 */
|
|
9195
|
+
versionId: string;
|
|
9196
|
+
/** @example ver_a1b2c3d4 */
|
|
9197
|
+
prevVersionId: string;
|
|
9198
|
+
/** @enum {string} */
|
|
9199
|
+
mode: 'draft' | 'check';
|
|
9200
|
+
currentText?: string;
|
|
9201
|
+
};
|
|
9202
|
+
};
|
|
9203
|
+
};
|
|
9204
|
+
responses: {
|
|
9205
|
+
/** @description The generated summary or the check verdict */
|
|
9206
|
+
200: {
|
|
9207
|
+
headers: {
|
|
9208
|
+
[name: string]: unknown;
|
|
9209
|
+
};
|
|
9210
|
+
content: {
|
|
9211
|
+
'application/json': components['schemas']['SummarizeReleaseResponse'];
|
|
9212
|
+
};
|
|
9213
|
+
};
|
|
9214
|
+
/** @description Invalid body, a target is not a release, the pair is out of order, or no LLM provider is configured */
|
|
9215
|
+
400: {
|
|
9216
|
+
headers: {
|
|
9217
|
+
[name: string]: unknown;
|
|
9218
|
+
};
|
|
9219
|
+
content: {
|
|
9220
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9221
|
+
};
|
|
9222
|
+
};
|
|
9223
|
+
/** @description Unauthorized */
|
|
9224
|
+
401: {
|
|
9225
|
+
headers: {
|
|
9226
|
+
[name: string]: unknown;
|
|
9227
|
+
};
|
|
9228
|
+
content: {
|
|
9229
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9230
|
+
};
|
|
9231
|
+
};
|
|
9232
|
+
/** @description Forbidden */
|
|
9233
|
+
403: {
|
|
9234
|
+
headers: {
|
|
9235
|
+
[name: string]: unknown;
|
|
9236
|
+
};
|
|
9237
|
+
content: {
|
|
9238
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9239
|
+
};
|
|
9240
|
+
};
|
|
9241
|
+
/** @description Not found */
|
|
9242
|
+
404: {
|
|
9243
|
+
headers: {
|
|
9244
|
+
[name: string]: unknown;
|
|
9245
|
+
};
|
|
9246
|
+
content: {
|
|
9247
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9248
|
+
};
|
|
9249
|
+
};
|
|
9250
|
+
/** @description Rate limited */
|
|
9251
|
+
429: {
|
|
9252
|
+
headers: {
|
|
9253
|
+
[name: string]: unknown;
|
|
9254
|
+
};
|
|
9255
|
+
content: {
|
|
9256
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9257
|
+
};
|
|
9258
|
+
};
|
|
9259
|
+
/** @description The model call failed or returned no usable text */
|
|
9260
|
+
502: {
|
|
9261
|
+
headers: {
|
|
9262
|
+
[name: string]: unknown;
|
|
9263
|
+
};
|
|
9264
|
+
content: {
|
|
9265
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9266
|
+
};
|
|
9267
|
+
};
|
|
9268
|
+
};
|
|
9269
|
+
};
|
|
9270
|
+
delete?: never;
|
|
9271
|
+
options?: never;
|
|
9272
|
+
head?: never;
|
|
9273
|
+
patch?: never;
|
|
9274
|
+
trace?: never;
|
|
9275
|
+
};
|
|
9276
|
+
'/api/projects/{projectId}/deployments/{deploymentId}/versions/current/content': {
|
|
9277
|
+
parameters: {
|
|
9278
|
+
query?: never;
|
|
9279
|
+
header?: never;
|
|
9280
|
+
path?: never;
|
|
9281
|
+
cookie?: never;
|
|
9282
|
+
};
|
|
9283
|
+
/**
|
|
9284
|
+
* Get current deployed content
|
|
9285
|
+
* @description Get the active deployed per-setting content for a deployment, used to diff changes since deploy. Content is masked and display-only; every field is null when there is no deployed baseline. Requires member role.
|
|
9286
|
+
*/
|
|
9287
|
+
get: {
|
|
9288
|
+
parameters: {
|
|
9289
|
+
query?: never;
|
|
9290
|
+
header?: never;
|
|
9291
|
+
path: {
|
|
9292
|
+
projectId: string;
|
|
9293
|
+
deploymentId: string;
|
|
9294
|
+
};
|
|
9295
|
+
cookie?: never;
|
|
9296
|
+
};
|
|
9297
|
+
requestBody?: never;
|
|
9298
|
+
responses: {
|
|
9299
|
+
/** @description Deployed content (or a null baseline) */
|
|
9300
|
+
200: {
|
|
9301
|
+
headers: {
|
|
9302
|
+
[name: string]: unknown;
|
|
9303
|
+
};
|
|
9304
|
+
content: {
|
|
9305
|
+
'application/json': components['schemas']['DeployedContentResponse'];
|
|
9306
|
+
};
|
|
9307
|
+
};
|
|
9308
|
+
/** @description Unauthorized */
|
|
9309
|
+
401: {
|
|
9310
|
+
headers: {
|
|
9311
|
+
[name: string]: unknown;
|
|
9312
|
+
};
|
|
9313
|
+
content: {
|
|
9314
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9315
|
+
};
|
|
9316
|
+
};
|
|
9317
|
+
/** @description Forbidden */
|
|
9318
|
+
403: {
|
|
9319
|
+
headers: {
|
|
9320
|
+
[name: string]: unknown;
|
|
9321
|
+
};
|
|
9322
|
+
content: {
|
|
9323
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9324
|
+
};
|
|
9325
|
+
};
|
|
9326
|
+
/** @description Not found */
|
|
9327
|
+
404: {
|
|
9328
|
+
headers: {
|
|
9329
|
+
[name: string]: unknown;
|
|
9330
|
+
};
|
|
9331
|
+
content: {
|
|
9332
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9333
|
+
};
|
|
9334
|
+
};
|
|
9335
|
+
/** @description Rate limited */
|
|
9336
|
+
429: {
|
|
9337
|
+
headers: {
|
|
9338
|
+
[name: string]: unknown;
|
|
9339
|
+
};
|
|
9340
|
+
content: {
|
|
9341
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9342
|
+
};
|
|
9343
|
+
};
|
|
9344
|
+
};
|
|
9345
|
+
};
|
|
9346
|
+
put?: never;
|
|
9347
|
+
post?: never;
|
|
9348
|
+
delete?: never;
|
|
9349
|
+
options?: never;
|
|
9350
|
+
head?: never;
|
|
9351
|
+
patch?: never;
|
|
9352
|
+
trace?: never;
|
|
9353
|
+
};
|
|
9354
|
+
'/api/projects/{projectId}/deployments/{deploymentId}/heartbeats': {
|
|
9355
|
+
parameters: {
|
|
9356
|
+
query?: never;
|
|
9357
|
+
header?: never;
|
|
9358
|
+
path?: never;
|
|
9359
|
+
cookie?: never;
|
|
9360
|
+
};
|
|
9361
|
+
/**
|
|
9362
|
+
* List deployment heartbeats
|
|
9363
|
+
* @description List heartbeat records for a deployment with optional from/to time-range filtering and pagination. Requires member role.
|
|
9364
|
+
*/
|
|
9365
|
+
get: {
|
|
9366
|
+
parameters: {
|
|
9367
|
+
query?: {
|
|
9368
|
+
/** @description ISO start of the time range. */
|
|
9369
|
+
from?: string;
|
|
9370
|
+
/** @description ISO end of the time range. */
|
|
9371
|
+
to?: string;
|
|
9372
|
+
limit?: number;
|
|
9373
|
+
offset?: number | null;
|
|
9374
|
+
};
|
|
9375
|
+
header?: never;
|
|
9376
|
+
path: {
|
|
9377
|
+
projectId: string;
|
|
9378
|
+
deploymentId: string;
|
|
9379
|
+
};
|
|
9380
|
+
cookie?: never;
|
|
9381
|
+
};
|
|
9382
|
+
requestBody?: never;
|
|
9383
|
+
responses: {
|
|
9384
|
+
/** @description Heartbeat history */
|
|
9385
|
+
200: {
|
|
9386
|
+
headers: {
|
|
9387
|
+
[name: string]: unknown;
|
|
9388
|
+
};
|
|
9389
|
+
content: {
|
|
9390
|
+
'application/json': components['schemas']['ListHeartbeatsResponse'];
|
|
9391
|
+
};
|
|
9392
|
+
};
|
|
9393
|
+
/** @description Unauthorized */
|
|
9394
|
+
401: {
|
|
9395
|
+
headers: {
|
|
9396
|
+
[name: string]: unknown;
|
|
9397
|
+
};
|
|
9398
|
+
content: {
|
|
9399
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9400
|
+
};
|
|
9401
|
+
};
|
|
9402
|
+
/** @description Forbidden */
|
|
9403
|
+
403: {
|
|
9404
|
+
headers: {
|
|
9405
|
+
[name: string]: unknown;
|
|
9406
|
+
};
|
|
9407
|
+
content: {
|
|
9408
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9409
|
+
};
|
|
9410
|
+
};
|
|
9411
|
+
/** @description Not found */
|
|
9412
|
+
404: {
|
|
9413
|
+
headers: {
|
|
9414
|
+
[name: string]: unknown;
|
|
9415
|
+
};
|
|
9416
|
+
content: {
|
|
9417
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9418
|
+
};
|
|
9419
|
+
};
|
|
9420
|
+
};
|
|
9421
|
+
};
|
|
9422
|
+
put?: never;
|
|
9423
|
+
post?: never;
|
|
9424
|
+
delete?: never;
|
|
9425
|
+
options?: never;
|
|
9426
|
+
head?: never;
|
|
9427
|
+
patch?: never;
|
|
9428
|
+
trace?: never;
|
|
9429
|
+
};
|
|
9430
|
+
'/api/projects/{projectId}/deployments/{deploymentId}/rotate-ingest-token': {
|
|
9431
|
+
parameters: {
|
|
9432
|
+
query?: never;
|
|
9433
|
+
header?: never;
|
|
9434
|
+
path?: never;
|
|
9435
|
+
cookie?: never;
|
|
9436
|
+
};
|
|
9437
|
+
get?: never;
|
|
9438
|
+
put?: never;
|
|
9439
|
+
/**
|
|
9440
|
+
* Rotate ingest token
|
|
9441
|
+
* @description Rotate the ingest token for a deployment. Owner-only. No grace window: the previous token is immediately invalidated and the new token is returned once.
|
|
9442
|
+
*/
|
|
9443
|
+
post: {
|
|
9444
|
+
parameters: {
|
|
9445
|
+
query?: never;
|
|
9446
|
+
header?: never;
|
|
9447
|
+
path: {
|
|
9448
|
+
projectId: string;
|
|
9449
|
+
deploymentId: string;
|
|
9450
|
+
};
|
|
9451
|
+
cookie?: never;
|
|
9452
|
+
};
|
|
9453
|
+
requestBody?: never;
|
|
9454
|
+
responses: {
|
|
9455
|
+
/** @description New ingest token */
|
|
9456
|
+
200: {
|
|
9457
|
+
headers: {
|
|
9458
|
+
[name: string]: unknown;
|
|
9459
|
+
};
|
|
9460
|
+
content: {
|
|
9461
|
+
'application/json': components['schemas']['RotateIngestTokenResponse'];
|
|
9462
|
+
};
|
|
9463
|
+
};
|
|
9464
|
+
/** @description Unauthorized */
|
|
9465
|
+
401: {
|
|
9466
|
+
headers: {
|
|
9467
|
+
[name: string]: unknown;
|
|
9468
|
+
};
|
|
9469
|
+
content: {
|
|
9470
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9471
|
+
};
|
|
9472
|
+
};
|
|
9473
|
+
/** @description Forbidden */
|
|
9474
|
+
403: {
|
|
9475
|
+
headers: {
|
|
9476
|
+
[name: string]: unknown;
|
|
9477
|
+
};
|
|
9478
|
+
content: {
|
|
9479
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9480
|
+
};
|
|
9481
|
+
};
|
|
9482
|
+
/** @description Not found */
|
|
9483
|
+
404: {
|
|
9484
|
+
headers: {
|
|
9485
|
+
[name: string]: unknown;
|
|
9486
|
+
};
|
|
9487
|
+
content: {
|
|
9488
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
9489
|
+
};
|
|
9490
|
+
};
|
|
9491
|
+
};
|
|
9492
|
+
};
|
|
9493
|
+
delete?: never;
|
|
8477
9494
|
options?: never;
|
|
8478
9495
|
head?: never;
|
|
8479
9496
|
patch?: never;
|
|
@@ -10127,6 +11144,10 @@ interface components {
|
|
|
10127
11144
|
*/
|
|
10128
11145
|
updatedAt: string;
|
|
10129
11146
|
};
|
|
11147
|
+
DeploySettingsRequest: {
|
|
11148
|
+
flow?: string;
|
|
11149
|
+
humanText?: string;
|
|
11150
|
+
};
|
|
10130
11151
|
DeploySettingsResponse: {
|
|
10131
11152
|
deploymentId: string;
|
|
10132
11153
|
/** @example cfg_a1b2c3d4 */
|
|
@@ -10568,6 +11589,21 @@ interface components {
|
|
|
10568
11589
|
/** Format: date-time */
|
|
10569
11590
|
createdAt: string;
|
|
10570
11591
|
createdBy: string | null;
|
|
11592
|
+
createdByLabel: string | null;
|
|
11593
|
+
};
|
|
11594
|
+
ReleaseContentResponse: {
|
|
11595
|
+
/** @example ver_a1b2c3d4 */
|
|
11596
|
+
versionId: string;
|
|
11597
|
+
/** @example 22 */
|
|
11598
|
+
versionNumber: number;
|
|
11599
|
+
content: components['schemas']['FlowConfig'];
|
|
11600
|
+
/**
|
|
11601
|
+
* Format: date-time
|
|
11602
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
11603
|
+
*/
|
|
11604
|
+
createdAt: string;
|
|
11605
|
+
/** @enum {string} */
|
|
11606
|
+
createdBy: 'user' | 'auto_save' | 'restore' | 'deploy' | 'preview';
|
|
10571
11607
|
};
|
|
10572
11608
|
ListVersionAnnotationsResponse: {
|
|
10573
11609
|
annotations: components['schemas']['VersionAnnotation'][];
|
|
@@ -10608,11 +11644,60 @@ interface components {
|
|
|
10608
11644
|
*/
|
|
10609
11645
|
updatedAt: string;
|
|
10610
11646
|
};
|
|
10611
|
-
ListHubThreadsResponse: {
|
|
10612
|
-
threads: components['schemas']['HubThread'][];
|
|
10613
|
-
hasMoreThreads: boolean;
|
|
11647
|
+
ListHubThreadsResponse: {
|
|
11648
|
+
threads: components['schemas']['HubThread'][];
|
|
11649
|
+
hasMoreThreads: boolean;
|
|
11650
|
+
};
|
|
11651
|
+
HubThread: {
|
|
11652
|
+
/** @example thr_a1b2c3d4 */
|
|
11653
|
+
id: string;
|
|
11654
|
+
/**
|
|
11655
|
+
* @example release
|
|
11656
|
+
* @enum {string}
|
|
11657
|
+
*/
|
|
11658
|
+
anchorType: 'step' | 'entity_action' | 'release' | 'contract' | 'tag';
|
|
11659
|
+
anchorKey: string;
|
|
11660
|
+
anchorLabel: string;
|
|
11661
|
+
/**
|
|
11662
|
+
* @example open
|
|
11663
|
+
* @enum {string}
|
|
11664
|
+
*/
|
|
11665
|
+
status: 'open' | 'resolved';
|
|
11666
|
+
resolvedByVersionId: string | null;
|
|
11667
|
+
resolvedByVersionNumber: number | null;
|
|
11668
|
+
/**
|
|
11669
|
+
* Format: date-time
|
|
11670
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
11671
|
+
*/
|
|
11672
|
+
resolvedAt: string | null;
|
|
11673
|
+
resolvedBy: string | null;
|
|
11674
|
+
createdBy: string;
|
|
11675
|
+
/**
|
|
11676
|
+
* Format: date-time
|
|
11677
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
11678
|
+
*/
|
|
11679
|
+
createdAt: string;
|
|
11680
|
+
/**
|
|
11681
|
+
* Format: date-time
|
|
11682
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
11683
|
+
*/
|
|
11684
|
+
updatedAt: string;
|
|
11685
|
+
messageCount: number;
|
|
11686
|
+
messages?: components['schemas']['HubMessage'][];
|
|
11687
|
+
hasMoreMessages?: boolean;
|
|
11688
|
+
};
|
|
11689
|
+
HubMessage: {
|
|
11690
|
+
id: string;
|
|
11691
|
+
/** @example user_a1b2c3d4 */
|
|
11692
|
+
author: string;
|
|
11693
|
+
text: string;
|
|
11694
|
+
/**
|
|
11695
|
+
* Format: date-time
|
|
11696
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
11697
|
+
*/
|
|
11698
|
+
createdAt: string;
|
|
10614
11699
|
};
|
|
10615
|
-
|
|
11700
|
+
HubThreadResponse: {
|
|
10616
11701
|
/** @example thr_a1b2c3d4 */
|
|
10617
11702
|
id: string;
|
|
10618
11703
|
/**
|
|
@@ -10650,41 +11735,331 @@ interface components {
|
|
|
10650
11735
|
messages?: components['schemas']['HubMessage'][];
|
|
10651
11736
|
hasMoreMessages?: boolean;
|
|
10652
11737
|
};
|
|
10653
|
-
|
|
11738
|
+
ListKnowledgeResponse: {
|
|
11739
|
+
entries: components['schemas']['KnowledgeEntry'][];
|
|
11740
|
+
hasMoreEntries: boolean;
|
|
11741
|
+
};
|
|
11742
|
+
KnowledgeEntry:
|
|
11743
|
+
| components['schemas']['KnowledgeThread']
|
|
11744
|
+
| components['schemas']['KnowledgeDescription'];
|
|
11745
|
+
KnowledgeThread: {
|
|
11746
|
+
id: string;
|
|
11747
|
+
anchorKey: string;
|
|
11748
|
+
anchorLabel: string;
|
|
11749
|
+
frameId: string | null;
|
|
11750
|
+
frameName: string | null;
|
|
11751
|
+
flowId: string | null;
|
|
11752
|
+
subjectKey: string | null;
|
|
11753
|
+
spatial: components['schemas']['KnowledgeSpatial'];
|
|
11754
|
+
validity: components['schemas']['KnowledgeValidity'];
|
|
11755
|
+
/** @enum {string} */
|
|
11756
|
+
freshness: 'current' | 'subject_changed' | 'unknown';
|
|
11757
|
+
author: components['schemas']['KnowledgeAuthor'];
|
|
11758
|
+
/** @enum {string} */
|
|
11759
|
+
source: 'tag_mode' | 'hub' | 'mcp';
|
|
11760
|
+
/**
|
|
11761
|
+
* Format: date-time
|
|
11762
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
11763
|
+
*/
|
|
11764
|
+
updatedAt: string;
|
|
11765
|
+
/**
|
|
11766
|
+
* @description discriminator enum property added by openapi-typescript
|
|
11767
|
+
* @enum {string}
|
|
11768
|
+
*/
|
|
11769
|
+
kind: 'thread';
|
|
11770
|
+
/**
|
|
11771
|
+
* @example tag
|
|
11772
|
+
* @enum {string}
|
|
11773
|
+
*/
|
|
11774
|
+
anchorType:
|
|
11775
|
+
| 'step'
|
|
11776
|
+
| 'entity_action'
|
|
11777
|
+
| 'release'
|
|
11778
|
+
| 'contract'
|
|
11779
|
+
| 'tag'
|
|
11780
|
+
| 'page';
|
|
11781
|
+
/**
|
|
11782
|
+
* @example open
|
|
11783
|
+
* @enum {string}
|
|
11784
|
+
*/
|
|
11785
|
+
status: 'open' | 'resolved';
|
|
11786
|
+
/**
|
|
11787
|
+
* Format: date-time
|
|
11788
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
11789
|
+
*/
|
|
11790
|
+
createdAt: string;
|
|
11791
|
+
messageCount: number;
|
|
11792
|
+
messages?: components['schemas']['KnowledgeMessage'][];
|
|
11793
|
+
hasMoreMessages?: boolean;
|
|
11794
|
+
};
|
|
11795
|
+
KnowledgeSpatial: {
|
|
11796
|
+
at: {
|
|
11797
|
+
x: number;
|
|
11798
|
+
y: number;
|
|
11799
|
+
};
|
|
11800
|
+
element?: {
|
|
11801
|
+
[key: string]: unknown;
|
|
11802
|
+
};
|
|
11803
|
+
} | null;
|
|
11804
|
+
KnowledgeValidity:
|
|
11805
|
+
| {
|
|
11806
|
+
/** @enum {string} */
|
|
11807
|
+
tier: 'release';
|
|
11808
|
+
versionId: string;
|
|
11809
|
+
versionNumber: number;
|
|
11810
|
+
promoted: boolean;
|
|
11811
|
+
}
|
|
11812
|
+
| {
|
|
11813
|
+
/** @enum {string} */
|
|
11814
|
+
tier: 'draft';
|
|
11815
|
+
versionId?: string;
|
|
11816
|
+
}
|
|
11817
|
+
| {
|
|
11818
|
+
/** @enum {string} */
|
|
11819
|
+
tier: 'none';
|
|
11820
|
+
};
|
|
11821
|
+
KnowledgeAuthor: {
|
|
11822
|
+
/** @enum {string} */
|
|
11823
|
+
kind: 'user' | 'preview' | 'agent';
|
|
11824
|
+
id: string | null;
|
|
11825
|
+
label: string;
|
|
11826
|
+
};
|
|
11827
|
+
KnowledgeMessage: {
|
|
10654
11828
|
id: string;
|
|
10655
11829
|
/** @example user_a1b2c3d4 */
|
|
10656
11830
|
author: string;
|
|
11831
|
+
/** @example ayla@elbwalker.com */
|
|
11832
|
+
authorLabel: string;
|
|
10657
11833
|
text: string;
|
|
10658
11834
|
/**
|
|
10659
11835
|
* Format: date-time
|
|
10660
11836
|
* @example 2026-01-26T14:30:00.000Z
|
|
10661
11837
|
*/
|
|
10662
11838
|
createdAt: string;
|
|
11839
|
+
clientMessageId: string | null;
|
|
10663
11840
|
};
|
|
10664
|
-
|
|
10665
|
-
/** @example thr_a1b2c3d4 */
|
|
11841
|
+
KnowledgeDescription: {
|
|
10666
11842
|
id: string;
|
|
11843
|
+
anchorKey: string;
|
|
11844
|
+
anchorLabel: string;
|
|
11845
|
+
frameId: string | null;
|
|
11846
|
+
frameName: string | null;
|
|
11847
|
+
flowId: string | null;
|
|
11848
|
+
subjectKey: string | null;
|
|
11849
|
+
spatial: components['schemas']['KnowledgeSpatial'];
|
|
11850
|
+
validity: components['schemas']['KnowledgeValidity'];
|
|
11851
|
+
/** @enum {string} */
|
|
11852
|
+
freshness: 'current' | 'subject_changed' | 'unknown';
|
|
11853
|
+
author: components['schemas']['KnowledgeAuthor'];
|
|
11854
|
+
/** @enum {string} */
|
|
11855
|
+
source: 'tag_mode' | 'hub' | 'mcp';
|
|
10667
11856
|
/**
|
|
10668
|
-
*
|
|
11857
|
+
* Format: date-time
|
|
11858
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
11859
|
+
*/
|
|
11860
|
+
updatedAt: string;
|
|
11861
|
+
/**
|
|
11862
|
+
* @description discriminator enum property added by openapi-typescript
|
|
10669
11863
|
* @enum {string}
|
|
10670
11864
|
*/
|
|
10671
|
-
|
|
11865
|
+
kind: 'description';
|
|
11866
|
+
/**
|
|
11867
|
+
* @example tag
|
|
11868
|
+
* @enum {string}
|
|
11869
|
+
*/
|
|
11870
|
+
anchorType: 'tag' | 'page';
|
|
11871
|
+
body: string;
|
|
11872
|
+
};
|
|
11873
|
+
KnowledgeThreadResponse: {
|
|
11874
|
+
id: string;
|
|
10672
11875
|
anchorKey: string;
|
|
10673
11876
|
anchorLabel: string;
|
|
11877
|
+
frameId: string | null;
|
|
11878
|
+
frameName: string | null;
|
|
11879
|
+
flowId: string | null;
|
|
11880
|
+
subjectKey: string | null;
|
|
11881
|
+
spatial: components['schemas']['KnowledgeSpatial'];
|
|
11882
|
+
validity: components['schemas']['KnowledgeValidity'];
|
|
11883
|
+
/** @enum {string} */
|
|
11884
|
+
freshness: 'current' | 'subject_changed' | 'unknown';
|
|
11885
|
+
author: components['schemas']['KnowledgeAuthor'];
|
|
11886
|
+
/** @enum {string} */
|
|
11887
|
+
source: 'tag_mode' | 'hub' | 'mcp';
|
|
11888
|
+
/**
|
|
11889
|
+
* Format: date-time
|
|
11890
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
11891
|
+
*/
|
|
11892
|
+
updatedAt: string;
|
|
11893
|
+
/** @enum {string} */
|
|
11894
|
+
kind: 'thread';
|
|
11895
|
+
/**
|
|
11896
|
+
* @example tag
|
|
11897
|
+
* @enum {string}
|
|
11898
|
+
*/
|
|
11899
|
+
anchorType:
|
|
11900
|
+
| 'step'
|
|
11901
|
+
| 'entity_action'
|
|
11902
|
+
| 'release'
|
|
11903
|
+
| 'contract'
|
|
11904
|
+
| 'tag'
|
|
11905
|
+
| 'page';
|
|
10674
11906
|
/**
|
|
10675
11907
|
* @example open
|
|
10676
11908
|
* @enum {string}
|
|
10677
11909
|
*/
|
|
10678
11910
|
status: 'open' | 'resolved';
|
|
10679
|
-
resolvedByVersionId: string | null;
|
|
10680
|
-
resolvedByVersionNumber: number | null;
|
|
10681
11911
|
/**
|
|
10682
11912
|
* Format: date-time
|
|
10683
11913
|
* @example 2026-01-26T14:30:00.000Z
|
|
10684
11914
|
*/
|
|
10685
|
-
|
|
10686
|
-
|
|
11915
|
+
createdAt: string;
|
|
11916
|
+
messageCount: number;
|
|
11917
|
+
messages?: components['schemas']['KnowledgeMessage'][];
|
|
11918
|
+
hasMoreMessages?: boolean;
|
|
11919
|
+
};
|
|
11920
|
+
KnowledgeDescriptionResponse: {
|
|
11921
|
+
id: string;
|
|
11922
|
+
anchorKey: string;
|
|
11923
|
+
anchorLabel: string;
|
|
11924
|
+
frameId: string | null;
|
|
11925
|
+
frameName: string | null;
|
|
11926
|
+
flowId: string | null;
|
|
11927
|
+
subjectKey: string | null;
|
|
11928
|
+
spatial: components['schemas']['KnowledgeSpatial'];
|
|
11929
|
+
validity: components['schemas']['KnowledgeValidity'];
|
|
11930
|
+
/** @enum {string} */
|
|
11931
|
+
freshness: 'current' | 'subject_changed' | 'unknown';
|
|
11932
|
+
author: components['schemas']['KnowledgeAuthor'];
|
|
11933
|
+
/** @enum {string} */
|
|
11934
|
+
source: 'tag_mode' | 'hub' | 'mcp';
|
|
11935
|
+
/**
|
|
11936
|
+
* Format: date-time
|
|
11937
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
11938
|
+
*/
|
|
11939
|
+
updatedAt: string;
|
|
11940
|
+
/** @enum {string} */
|
|
11941
|
+
kind: 'description';
|
|
11942
|
+
/**
|
|
11943
|
+
* @example tag
|
|
11944
|
+
* @enum {string}
|
|
11945
|
+
*/
|
|
11946
|
+
anchorType: 'tag' | 'page';
|
|
11947
|
+
body: string;
|
|
11948
|
+
};
|
|
11949
|
+
FrameInput: {
|
|
11950
|
+
name: string;
|
|
11951
|
+
/** @example frm_V1StGXR8Z5jdHi6BmyT7K */
|
|
11952
|
+
parentId: string | null;
|
|
11953
|
+
placements: components['schemas']['FramePlacement'][];
|
|
11954
|
+
size: components['schemas']['PlanSize'];
|
|
11955
|
+
marks: {
|
|
11956
|
+
[key: string]: unknown;
|
|
11957
|
+
};
|
|
11958
|
+
/** @example frm_V1StGXR8Z5jdHi6BmyT7K */
|
|
11959
|
+
extends: string | null;
|
|
11960
|
+
source: components['schemas']['FrameSource'];
|
|
11961
|
+
/** @enum {string} */
|
|
11962
|
+
origin: 'drawn' | 'imported' | 'observed';
|
|
11963
|
+
flowId: string | null;
|
|
11964
|
+
};
|
|
11965
|
+
FramePlacement: {
|
|
11966
|
+
id: string;
|
|
11967
|
+
rect: components['schemas']['PlanRect'];
|
|
11968
|
+
selector?: string;
|
|
11969
|
+
anchor?: {
|
|
11970
|
+
[key: string]: unknown;
|
|
11971
|
+
};
|
|
11972
|
+
};
|
|
11973
|
+
PlanRect: {
|
|
11974
|
+
x: number;
|
|
11975
|
+
y: number;
|
|
11976
|
+
w: number;
|
|
11977
|
+
h: number;
|
|
11978
|
+
};
|
|
11979
|
+
PlanSize: {
|
|
11980
|
+
width: number;
|
|
11981
|
+
height: number;
|
|
11982
|
+
};
|
|
11983
|
+
FrameSource:
|
|
11984
|
+
| {
|
|
11985
|
+
/** @enum {string} */
|
|
11986
|
+
kind: 'page';
|
|
11987
|
+
key: string;
|
|
11988
|
+
url: string;
|
|
11989
|
+
}
|
|
11990
|
+
| {
|
|
11991
|
+
/** @enum {string} */
|
|
11992
|
+
kind: 'figma';
|
|
11993
|
+
fileKey: string;
|
|
11994
|
+
nodeId: string;
|
|
11995
|
+
}
|
|
11996
|
+
| {
|
|
11997
|
+
/** @enum {string} */
|
|
11998
|
+
kind: 'image';
|
|
11999
|
+
}
|
|
12000
|
+
| null;
|
|
12001
|
+
Frame: {
|
|
12002
|
+
/** @example frm_V1StGXR8Z5jdHi6BmyT7K */
|
|
12003
|
+
id: string;
|
|
12004
|
+
projectId: string;
|
|
12005
|
+
name: string;
|
|
12006
|
+
parentId: string | null;
|
|
12007
|
+
placements: components['schemas']['FramePlacement'][];
|
|
12008
|
+
size: components['schemas']['PlanSize'];
|
|
12009
|
+
marks: {
|
|
12010
|
+
[key: string]: unknown;
|
|
12011
|
+
};
|
|
12012
|
+
extends: string | null;
|
|
12013
|
+
source: components['schemas']['FrameSource'];
|
|
12014
|
+
/** @enum {string} */
|
|
12015
|
+
origin: 'drawn' | 'imported' | 'observed';
|
|
12016
|
+
flowId: string | null;
|
|
12017
|
+
screenshot: components['schemas']['FrameScreenshot'];
|
|
12018
|
+
version: number;
|
|
12019
|
+
/**
|
|
12020
|
+
* Format: date-time
|
|
12021
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
12022
|
+
*/
|
|
12023
|
+
createdAt: string;
|
|
12024
|
+
/**
|
|
12025
|
+
* Format: date-time
|
|
12026
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
12027
|
+
*/
|
|
12028
|
+
updatedAt: string;
|
|
10687
12029
|
createdBy: string;
|
|
12030
|
+
updatedBy: string;
|
|
12031
|
+
/**
|
|
12032
|
+
* Format: date-time
|
|
12033
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
12034
|
+
*/
|
|
12035
|
+
deletedAt: string | null;
|
|
12036
|
+
};
|
|
12037
|
+
FrameScreenshot: {
|
|
12038
|
+
assetId: string;
|
|
12039
|
+
/**
|
|
12040
|
+
* Format: date-time
|
|
12041
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
12042
|
+
*/
|
|
12043
|
+
capturedAt: string;
|
|
12044
|
+
size: components['schemas']['PlanSize'];
|
|
12045
|
+
dpr: number;
|
|
12046
|
+
capturedRect: components['schemas']['PlanRect'];
|
|
12047
|
+
} | null;
|
|
12048
|
+
FrameLean: {
|
|
12049
|
+
/** @example frm_V1StGXR8Z5jdHi6BmyT7K */
|
|
12050
|
+
id: string;
|
|
12051
|
+
projectId: string;
|
|
12052
|
+
name: string;
|
|
12053
|
+
parentId: string | null;
|
|
12054
|
+
placements: components['schemas']['FramePlacement'][];
|
|
12055
|
+
size: components['schemas']['PlanSize'];
|
|
12056
|
+
extends: string | null;
|
|
12057
|
+
source: components['schemas']['FrameSource'];
|
|
12058
|
+
/** @enum {string} */
|
|
12059
|
+
origin: 'drawn' | 'imported' | 'observed';
|
|
12060
|
+
flowId: string | null;
|
|
12061
|
+
screenshot: components['schemas']['FrameScreenshot'];
|
|
12062
|
+
version: number;
|
|
10688
12063
|
/**
|
|
10689
12064
|
* Format: date-time
|
|
10690
12065
|
* @example 2026-01-26T14:30:00.000Z
|
|
@@ -10695,9 +12070,30 @@ interface components {
|
|
|
10695
12070
|
* @example 2026-01-26T14:30:00.000Z
|
|
10696
12071
|
*/
|
|
10697
12072
|
updatedAt: string;
|
|
10698
|
-
|
|
10699
|
-
|
|
10700
|
-
|
|
12073
|
+
createdBy: string;
|
|
12074
|
+
updatedBy: string;
|
|
12075
|
+
/**
|
|
12076
|
+
* Format: date-time
|
|
12077
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
12078
|
+
*/
|
|
12079
|
+
deletedAt: string | null;
|
|
12080
|
+
};
|
|
12081
|
+
FrameListResponse: {
|
|
12082
|
+
frames: components['schemas']['Frame'][];
|
|
12083
|
+
};
|
|
12084
|
+
FrameLeanListResponse: {
|
|
12085
|
+
frames: components['schemas']['FrameLean'][];
|
|
12086
|
+
};
|
|
12087
|
+
PutFrameResponse: {
|
|
12088
|
+
version: number;
|
|
12089
|
+
};
|
|
12090
|
+
FrameConflictResponse: {
|
|
12091
|
+
error: {
|
|
12092
|
+
/** @enum {string} */
|
|
12093
|
+
code: 'FRAME_VERSION_CONFLICT';
|
|
12094
|
+
message: string;
|
|
12095
|
+
};
|
|
12096
|
+
head: components['schemas']['Frame'];
|
|
10701
12097
|
};
|
|
10702
12098
|
SummarizeReleaseResponse: {
|
|
10703
12099
|
/** @enum {string} */
|
|
@@ -11936,6 +13332,21 @@ interface components {
|
|
|
11936
13332
|
DeclineInvitationResponse: {
|
|
11937
13333
|
message: string;
|
|
11938
13334
|
};
|
|
13335
|
+
ScreenshotUploadResponse: {
|
|
13336
|
+
/** @example fas_V1StGXR8Z5jdHi6BmyT7K */
|
|
13337
|
+
assetId: string;
|
|
13338
|
+
reused: boolean;
|
|
13339
|
+
};
|
|
13340
|
+
FrameScreenshotMeta: {
|
|
13341
|
+
/**
|
|
13342
|
+
* Format: date-time
|
|
13343
|
+
* @example 2026-01-26T14:30:00.000Z
|
|
13344
|
+
*/
|
|
13345
|
+
capturedAt: string;
|
|
13346
|
+
size: components['schemas']['PlanSize'];
|
|
13347
|
+
dpr: number;
|
|
13348
|
+
capturedRect: components['schemas']['PlanRect'];
|
|
13349
|
+
};
|
|
11939
13350
|
HeartbeatRequest: {
|
|
11940
13351
|
/** @example a1b2c3d4e5f6 */
|
|
11941
13352
|
instanceId: string;
|
|
@@ -12731,6 +14142,143 @@ interface EndObserveSessionOptions {
|
|
|
12731
14142
|
*/
|
|
12732
14143
|
declare function endObserveSession(options: EndObserveSessionOptions): Promise<void>;
|
|
12733
14144
|
|
|
14145
|
+
type VersionAnnotation = components['schemas']['VersionAnnotation'];
|
|
14146
|
+
type FlowRelease = components['schemas']['FlowRelease'];
|
|
14147
|
+
type StepHistoryResponse = components['schemas']['StepHistoryResponse'];
|
|
14148
|
+
type ListHubThreadsResponse = components['schemas']['ListHubThreadsResponse'];
|
|
14149
|
+
type HubThreadResponse = components['schemas']['HubThreadResponse'];
|
|
14150
|
+
type ListKnowledgeResponse = components['schemas']['ListKnowledgeResponse'];
|
|
14151
|
+
/** The rationale summary a release index row carries when asked for one. */
|
|
14152
|
+
interface ReleaseRationaleSummary {
|
|
14153
|
+
hasHumanText: boolean;
|
|
14154
|
+
hasGeneratedSummary: boolean;
|
|
14155
|
+
/** First non-empty line of the human text, cut at 120 characters. */
|
|
14156
|
+
firstLine: string | null;
|
|
14157
|
+
}
|
|
14158
|
+
interface ReleaseIndexResponse {
|
|
14159
|
+
releases: Array<FlowRelease & {
|
|
14160
|
+
rationale?: ReleaseRationaleSummary | null;
|
|
14161
|
+
}>;
|
|
14162
|
+
total: number;
|
|
14163
|
+
limit: number;
|
|
14164
|
+
offset: number;
|
|
14165
|
+
}
|
|
14166
|
+
interface ReleaseDiffResponse {
|
|
14167
|
+
prevVersionId: string;
|
|
14168
|
+
prevVersionNumber: number;
|
|
14169
|
+
/** Rendered from masked content. Empty when nothing visible changed. */
|
|
14170
|
+
text: string;
|
|
14171
|
+
/** Compared over unmasked content hashes, so this is the real answer. */
|
|
14172
|
+
contentIdentical: boolean;
|
|
14173
|
+
}
|
|
14174
|
+
interface ReleaseDetailResponse {
|
|
14175
|
+
versionId: string;
|
|
14176
|
+
versionNumber: number;
|
|
14177
|
+
contentHash: string | null;
|
|
14178
|
+
createdAt: string;
|
|
14179
|
+
createdBy: string;
|
|
14180
|
+
rationale: VersionAnnotation | null;
|
|
14181
|
+
/** Null for the flow's oldest release. */
|
|
14182
|
+
diff: ReleaseDiffResponse | null;
|
|
14183
|
+
}
|
|
14184
|
+
interface ListReleasesOptions {
|
|
14185
|
+
projectId?: string;
|
|
14186
|
+
flowId: string;
|
|
14187
|
+
limit?: number;
|
|
14188
|
+
offset?: number;
|
|
14189
|
+
}
|
|
14190
|
+
/** The release index WITH its rationale summary. Requires the hub feature. */
|
|
14191
|
+
declare function listReleases(options: ListReleasesOptions): Promise<ReleaseIndexResponse>;
|
|
14192
|
+
/** How a release is addressed: by spine id, or by spine number. */
|
|
14193
|
+
type ReleaseRef = {
|
|
14194
|
+
versionId: string;
|
|
14195
|
+
} | {
|
|
14196
|
+
versionNumber: number;
|
|
14197
|
+
};
|
|
14198
|
+
interface GetReleaseOptions {
|
|
14199
|
+
projectId?: string;
|
|
14200
|
+
flowId: string;
|
|
14201
|
+
ref: ReleaseRef;
|
|
14202
|
+
}
|
|
14203
|
+
/**
|
|
14204
|
+
* One release in full: rationale plus the diff the SERVER computed against the
|
|
14205
|
+
* spine predecessor. The path segment is the id or the number; the app decides
|
|
14206
|
+
* which it was.
|
|
14207
|
+
*/
|
|
14208
|
+
declare function getRelease(options: GetReleaseOptions): Promise<ReleaseDetailResponse>;
|
|
14209
|
+
interface ListStepHistoryOptions {
|
|
14210
|
+
projectId?: string;
|
|
14211
|
+
flowId: string;
|
|
14212
|
+
step: string;
|
|
14213
|
+
flow?: string;
|
|
14214
|
+
limit?: number;
|
|
14215
|
+
}
|
|
14216
|
+
declare function listStepHistory(options: ListStepHistoryOptions): Promise<StepHistoryResponse>;
|
|
14217
|
+
interface SetReleaseRationaleOptions {
|
|
14218
|
+
projectId?: string;
|
|
14219
|
+
flowId: string;
|
|
14220
|
+
versionId: string;
|
|
14221
|
+
text: string;
|
|
14222
|
+
}
|
|
14223
|
+
declare function setReleaseRationale(options: SetReleaseRationaleOptions): Promise<VersionAnnotation>;
|
|
14224
|
+
type ThreadAnchorType = 'step' | 'entity_action' | 'release' | 'contract' | 'tag';
|
|
14225
|
+
type ThreadStatus = 'open' | 'resolved';
|
|
14226
|
+
interface ListThreadsOptions {
|
|
14227
|
+
projectId?: string;
|
|
14228
|
+
flowId: string;
|
|
14229
|
+
anchorType?: ThreadAnchorType;
|
|
14230
|
+
anchorKey?: string;
|
|
14231
|
+
status?: ThreadStatus;
|
|
14232
|
+
includeMessages: boolean;
|
|
14233
|
+
limit?: number;
|
|
14234
|
+
}
|
|
14235
|
+
declare function listThreads(options: ListThreadsOptions): Promise<ListHubThreadsResponse>;
|
|
14236
|
+
interface CreateThreadOptions {
|
|
14237
|
+
projectId?: string;
|
|
14238
|
+
flowId: string;
|
|
14239
|
+
anchorType: ThreadAnchorType;
|
|
14240
|
+
anchorKey: string;
|
|
14241
|
+
anchorLabel?: string;
|
|
14242
|
+
text: string;
|
|
14243
|
+
}
|
|
14244
|
+
declare function createThread(options: CreateThreadOptions): Promise<HubThreadResponse>;
|
|
14245
|
+
interface AddThreadMessageOptions {
|
|
14246
|
+
projectId?: string;
|
|
14247
|
+
flowId: string;
|
|
14248
|
+
threadId: string;
|
|
14249
|
+
text: string;
|
|
14250
|
+
}
|
|
14251
|
+
declare function addThreadMessage(options: AddThreadMessageOptions): Promise<HubThreadResponse>;
|
|
14252
|
+
interface ListKnowledgeOptions {
|
|
14253
|
+
projectId?: string;
|
|
14254
|
+
pageKey?: string;
|
|
14255
|
+
frameId?: string;
|
|
14256
|
+
markId?: string;
|
|
14257
|
+
includeMessages: boolean;
|
|
14258
|
+
limit?: number;
|
|
14259
|
+
}
|
|
14260
|
+
declare function listKnowledge(options: ListKnowledgeOptions): Promise<ListKnowledgeResponse>;
|
|
14261
|
+
|
|
14262
|
+
type FrameResponse = components['schemas']['Frame'];
|
|
14263
|
+
type FrameListResponse = components['schemas']['FrameListResponse'];
|
|
14264
|
+
type FrameLeanListResponse = components['schemas']['FrameLeanListResponse'];
|
|
14265
|
+
interface ListFramesOptions {
|
|
14266
|
+
projectId?: string;
|
|
14267
|
+
}
|
|
14268
|
+
/** Every live frame of the project, without marks. Requires the frames feature. */
|
|
14269
|
+
declare function listFrames(options?: ListFramesOptions): Promise<FrameLeanListResponse>;
|
|
14270
|
+
interface ListPageFramesOptions {
|
|
14271
|
+
projectId?: string;
|
|
14272
|
+
pageKey: string;
|
|
14273
|
+
}
|
|
14274
|
+
/** The frames of one page at any depth, with their marks. */
|
|
14275
|
+
declare function listPageFrames(options: ListPageFramesOptions): Promise<FrameListResponse>;
|
|
14276
|
+
interface GetFrameOptions {
|
|
14277
|
+
projectId?: string;
|
|
14278
|
+
frameId: string;
|
|
14279
|
+
}
|
|
14280
|
+
declare function getFrame(options: GetFrameOptions): Promise<FrameResponse>;
|
|
14281
|
+
|
|
12734
14282
|
interface ListSecretsOptions {
|
|
12735
14283
|
projectId?: string;
|
|
12736
14284
|
flowId: string;
|
|
@@ -13076,4 +14624,4 @@ declare module '@walkeros/core' {
|
|
|
13076
14624
|
}
|
|
13077
14625
|
}
|
|
13078
14626
|
|
|
13079
|
-
export { ApiError, type ApiErrorDetail, type BuildOptions, type BundleStats, type CLIBuildOptions, type ClientContext, type ClientType, type CompareContractInput, type ContractComparison, type ContractVerdict, type CreatePreviewOptions, type CreateSecretOptions, type DeletePreviewOptions, type DeleteSecretOptions, type DeployOptions, DeploymentAmbiguityError, type DeploymentSummaryForFlow, type DeviceCodeOptions, type DeviceCodeResult, type EndObserveSessionOptions, type ExampleLookupResult, type FeedbackOptions, type GetObserveSessionOptions, type GetPreviewOptions, type GlobalOptions, type HealthResult, type ListDeploymentsOptions, type ListFlowsOptions, type ListJourneysOptions, type ListPreviewsOptions, type ListProjectsOptions, type ListSecretsOptions, type MinifyOptions, type PollOptions, type PollResult, type PrepareInput, type PreparedFlow, type ProjectFlows, type PushResult, type RegrantPreviewOptions, type RunCommandOptions, type RunOptions, type RunResult, type SSEEvent, type SSEParseResult, type SimulateCollectorOptions, type SimulateDataOptions, type SimulateDestinationOptions, type SimulateSourceOptions, type SimulateTransformerOptions, type StartObserveSessionOptions, type UpdateSecretOptions, VERSION, type ValidateResult, type ValidationError, type ValidationType, type ValidationWarning, type WalkerOSConfig, type WrapSkeletonOptions, annotateErrorWithDrift, apiFetch, bakedContractHash, bakedContractVersion, buildDataPayload, bundle, bundleCommand, canonicalContractHash, classifyStepProperties, clientContextHeaders, compareContract, compareOutput, containsCodeMarkers, createApiClient, createDeployCommand, createDeployment, createDeploymentCommand, createFlow, createFlowCommand, createPreview, createProject, createProjectCommand, createSecret, deleteConfig, deleteDeployment, deleteDeploymentByFlowId, deleteDeploymentCommand, deleteFlow, deleteFlowCommand, deletePreview, deleteProject, deleteProjectCommand, deleteSecret, deploy, deployCommand, deployFetch, duplicateFlow, duplicateFlowCommand, endObserveSession, feedback, feedbackCommand, fetchHealth, findExample, getAuthHeaders, getClientContext, getDefaultProject, getDeployment, getDeploymentBySlug, getDeploymentBySlugCommand, getDeploymentCommand, getFeedbackPreference, getFlow, getFlowCommand, getObserveSession, getPreview, getProject, getProjectCommand, getToken, listAllFlows, listDeployments, listDeploymentsCommand, listFlows, listFlowsCommand, listJourneys, listPreviews, listProjects, listProjectsCommand, listSecrets, loadConfig, loadJsonConfig, loginCommand, logoutCommand, mergeAuthHeaders, parseSSEEvents, pollForToken, publicFetch, push, pushCommand, readConfig, regrantPreview, requestDeviceCode, requireProjectId, resetClientContext, resolveAppUrl, resolveToken, run, runCommand, setClientContext, setDefaultProject, setFeedbackPreference, simulateCollector, simulateDestination, simulateSource, simulateTransformer, startObserveSession, index as telemetry, telemetryDisableCommand, telemetryEnableCommand, telemetryStatusCommand, throwApiError, updateFlow, updateFlowCommand, updateProject, updateProjectCommand, updateSecret, validate, validateCommand, validateFlowStructure, whoami, whoamiCommand, wrapSkeleton, writeConfig };
|
|
14627
|
+
export { type AddThreadMessageOptions, ApiError, type ApiErrorDetail, type BuildOptions, type BundleStats, type CLIBuildOptions, type ClientContext, type ClientType, type CompareContractInput, type ContractComparison, type ContractVerdict, type CreatePreviewOptions, type CreateSecretOptions, type CreateThreadOptions, type DeletePreviewOptions, type DeleteSecretOptions, type DeployOptions, DeploymentAmbiguityError, type DeploymentSummaryForFlow, type DeviceCodeOptions, type DeviceCodeResult, type EndObserveSessionOptions, type ExampleLookupResult, type FeedbackOptions, type GetFrameOptions, type GetObserveSessionOptions, type GetPreviewOptions, type GetReleaseOptions, type GlobalOptions, type HealthResult, type ListDeploymentsOptions, type ListFlowsOptions, type ListFramesOptions, type ListJourneysOptions, type ListKnowledgeOptions, type ListPageFramesOptions, type ListPreviewsOptions, type ListProjectsOptions, type ListReleasesOptions, type ListSecretsOptions, type ListStepHistoryOptions, type ListThreadsOptions, type MinifyOptions, type PollOptions, type PollResult, type PrepareInput, type PreparedFlow, type ProjectFlows, type PushResult, type RegrantPreviewOptions, type ReleaseDetailResponse, type ReleaseDiffResponse, type ReleaseIndexResponse, type ReleaseRationaleSummary, type ReleaseRef, type RunCommandOptions, type RunOptions, type RunResult, type SSEEvent, type SSEParseResult, type SetReleaseRationaleOptions, type SimulateCollectorOptions, type SimulateDataOptions, type SimulateDestinationOptions, type SimulateSourceOptions, type SimulateTransformerOptions, type StartObserveSessionOptions, type ThreadAnchorType, type ThreadStatus, type UpdateSecretOptions, VERSION, type ValidateResult, type ValidationError, type ValidationType, type ValidationWarning, type WalkerOSConfig, type WrapSkeletonOptions, addThreadMessage, annotateErrorWithDrift, apiFetch, bakedContractHash, bakedContractVersion, buildDataPayload, bundle, bundleCommand, canonicalContractHash, classifyStepProperties, clientContextHeaders, compareContract, compareOutput, containsCodeMarkers, createApiClient, createDeployCommand, createDeployment, createDeploymentCommand, createFlow, createFlowCommand, createPreview, createProject, createProjectCommand, createSecret, createThread, deleteConfig, deleteDeployment, deleteDeploymentByFlowId, deleteDeploymentCommand, deleteFlow, deleteFlowCommand, deletePreview, deleteProject, deleteProjectCommand, deleteSecret, deploy, deployCommand, deployFetch, duplicateFlow, duplicateFlowCommand, endObserveSession, feedback, feedbackCommand, fetchHealth, findExample, getAuthHeaders, getClientContext, getDefaultProject, getDeployment, getDeploymentBySlug, getDeploymentBySlugCommand, getDeploymentCommand, getFeedbackPreference, getFlow, getFlowCommand, getFrame, getObserveSession, getPreview, getProject, getProjectCommand, getRelease, getToken, listAllFlows, listDeployments, listDeploymentsCommand, listFlows, listFlowsCommand, listFrames, listJourneys, listKnowledge, listPageFrames, listPreviews, listProjects, listProjectsCommand, listReleases, listSecrets, listStepHistory, listThreads, loadConfig, loadJsonConfig, loginCommand, logoutCommand, mergeAuthHeaders, parseSSEEvents, pollForToken, publicFetch, push, pushCommand, readConfig, regrantPreview, requestDeviceCode, requireProjectId, resetClientContext, resolveAppUrl, resolveToken, run, runCommand, setClientContext, setDefaultProject, setFeedbackPreference, setReleaseRationale, simulateCollector, simulateDestination, simulateSource, simulateTransformer, startObserveSession, index as telemetry, telemetryDisableCommand, telemetryEnableCommand, telemetryStatusCommand, throwApiError, updateFlow, updateFlowCommand, updateProject, updateProjectCommand, updateSecret, validate, validateCommand, validateFlowStructure, whoami, whoamiCommand, wrapSkeleton, writeConfig };
|