@vibexp/api-client 0.103.0 → 0.105.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/dist/axios/index.d.ts +2 -2
- package/dist/axios/index.js +1 -1
- package/dist/axios/sdk.gen.d.ts +88 -1
- package/dist/axios/sdk.gen.js +180 -0
- package/dist/axios/types.gen.d.ts +604 -0
- package/dist/schema.d.ts +1091 -61
- package/package.json +1 -1
|
@@ -363,6 +363,10 @@ export type Prompt = {
|
|
|
363
363
|
*/
|
|
364
364
|
project: ProjectSummary | null;
|
|
365
365
|
freshness?: ResourceFreshnessState;
|
|
366
|
+
/**
|
|
367
|
+
* The lock held on this resource (epic #1285), or null when it is not locked. Present on every read, list and write response. Always null on a prompt read through a share link: lock state is internal to the team.
|
|
368
|
+
*/
|
|
369
|
+
lock: ResourceLock | null;
|
|
366
370
|
};
|
|
367
371
|
export type CreatePromptRequest = {
|
|
368
372
|
name: string;
|
|
@@ -1593,6 +1597,10 @@ export type Artifact = {
|
|
|
1593
1597
|
*/
|
|
1594
1598
|
project: ProjectSummary | null;
|
|
1595
1599
|
freshness?: ResourceFreshnessState;
|
|
1600
|
+
/**
|
|
1601
|
+
* The lock held on this resource (epic #1285), or null when it is not locked. Present on every read, list and write response.
|
|
1602
|
+
*/
|
|
1603
|
+
lock: ResourceLock | null;
|
|
1596
1604
|
};
|
|
1597
1605
|
export type CreateArtifactRequest = {
|
|
1598
1606
|
/**
|
|
@@ -2055,6 +2063,101 @@ export type ProjectSummary = {
|
|
|
2055
2063
|
*/
|
|
2056
2064
|
slug: string;
|
|
2057
2065
|
};
|
|
2066
|
+
/**
|
|
2067
|
+
* A user named on a resource lock or a lock history event.
|
|
2068
|
+
*/
|
|
2069
|
+
export type ResourceLockActor = {
|
|
2070
|
+
/**
|
|
2071
|
+
* ID of the user.
|
|
2072
|
+
*/
|
|
2073
|
+
user_id: string;
|
|
2074
|
+
/**
|
|
2075
|
+
* The user's display name.
|
|
2076
|
+
*/
|
|
2077
|
+
display_name: string;
|
|
2078
|
+
};
|
|
2079
|
+
/**
|
|
2080
|
+
* The lock held on a prompt, blueprint or artifact. A resource carries one while it is locked and `null` when it is not.
|
|
2081
|
+
*/
|
|
2082
|
+
export type ResourceLock = {
|
|
2083
|
+
/**
|
|
2084
|
+
* The team member holding the lock.
|
|
2085
|
+
*/
|
|
2086
|
+
locked_by: ResourceLockActor;
|
|
2087
|
+
/**
|
|
2088
|
+
* Why the resource was locked, as given by the locker.
|
|
2089
|
+
*/
|
|
2090
|
+
comment: string;
|
|
2091
|
+
/**
|
|
2092
|
+
* When the lock was taken.
|
|
2093
|
+
*/
|
|
2094
|
+
locked_at: string;
|
|
2095
|
+
};
|
|
2096
|
+
/**
|
|
2097
|
+
* RFC 9457 problem returned with `423 Locked` and code `RESOURCE_WRITE_LOCKED` when a write is refused because the prompt, blueprint or artifact is locked. A locked resource cannot be deleted, and an update may not change one of its frozen fields; content, title/name and description stay editable. Unlock the resource to make the change.
|
|
2098
|
+
*
|
|
2099
|
+
* Frozen fields, as `metadata.field` names them: `slug`, `status`, `project_id`, `labels` and `mcp_expose` on a prompt; `slug`, `status`, `type`, `subtype`, `project_id`, `labels`, `metadata` and `path` on a blueprint; `slug`, `status`, `type`, `project_id`, `labels` and `metadata` on an artifact. A frozen field sent with its current value is not a change.
|
|
2100
|
+
*/
|
|
2101
|
+
export type ResourceWriteLockedError = ErrorResponse & {
|
|
2102
|
+
/**
|
|
2103
|
+
* The lock that refused the write.
|
|
2104
|
+
*/
|
|
2105
|
+
metadata: {
|
|
2106
|
+
/**
|
|
2107
|
+
* The kind of resource that is locked.
|
|
2108
|
+
*/
|
|
2109
|
+
resource_type: 'prompt' | 'blueprint' | 'artifact';
|
|
2110
|
+
/**
|
|
2111
|
+
* The frozen field the update tried to change, by its request name. Absent when a delete was refused.
|
|
2112
|
+
*/
|
|
2113
|
+
field?: string;
|
|
2114
|
+
/**
|
|
2115
|
+
* The team member holding the lock.
|
|
2116
|
+
*/
|
|
2117
|
+
locked_by: ResourceLockActor;
|
|
2118
|
+
/**
|
|
2119
|
+
* Why the resource was locked, as given by the locker.
|
|
2120
|
+
*/
|
|
2121
|
+
comment: string;
|
|
2122
|
+
};
|
|
2123
|
+
};
|
|
2124
|
+
export type LockResourceRequest = {
|
|
2125
|
+
/**
|
|
2126
|
+
* Why the resource is being locked. Required: surrounding whitespace is trimmed, and a comment that is then empty or longer than 500 characters is rejected with 400.
|
|
2127
|
+
*/
|
|
2128
|
+
comment: string;
|
|
2129
|
+
};
|
|
2130
|
+
/**
|
|
2131
|
+
* One entry of a resource's append-only lock history.
|
|
2132
|
+
*/
|
|
2133
|
+
export type ResourceLockEvent = {
|
|
2134
|
+
/**
|
|
2135
|
+
* ID of the history event.
|
|
2136
|
+
*/
|
|
2137
|
+
id: string;
|
|
2138
|
+
/**
|
|
2139
|
+
* Whether the resource was locked or unlocked.
|
|
2140
|
+
*/
|
|
2141
|
+
action: 'lock' | 'unlock';
|
|
2142
|
+
/**
|
|
2143
|
+
* Who locked or unlocked the resource. Null once that user's account has been deleted.
|
|
2144
|
+
*/
|
|
2145
|
+
actor: ResourceLockActor | null;
|
|
2146
|
+
/**
|
|
2147
|
+
* The lock comment for a `lock` event; null for an `unlock`.
|
|
2148
|
+
*/
|
|
2149
|
+
comment: string | null;
|
|
2150
|
+
/**
|
|
2151
|
+
* When the event happened.
|
|
2152
|
+
*/
|
|
2153
|
+
created_at: string;
|
|
2154
|
+
};
|
|
2155
|
+
export type ResourceLockHistoryResponse = {
|
|
2156
|
+
/**
|
|
2157
|
+
* Lock and unlock events, newest first. Not paginated: at most the 100 most recent events are returned.
|
|
2158
|
+
*/
|
|
2159
|
+
events: Array<ResourceLockEvent>;
|
|
2160
|
+
};
|
|
2058
2161
|
export type CreateProjectRequest = {
|
|
2059
2162
|
/**
|
|
2060
2163
|
* Human-readable name of the project
|
|
@@ -2565,6 +2668,10 @@ export type Blueprint = {
|
|
|
2565
2668
|
*/
|
|
2566
2669
|
project: ProjectSummary | null;
|
|
2567
2670
|
freshness?: ResourceFreshnessState;
|
|
2671
|
+
/**
|
|
2672
|
+
* The lock held on this resource (epic #1285), or null when it is not locked. Present on every read, list and write response.
|
|
2673
|
+
*/
|
|
2674
|
+
lock: ResourceLock | null;
|
|
2568
2675
|
};
|
|
2569
2676
|
/**
|
|
2570
2677
|
* Read-only import provenance; present only for imported blueprints.
|
|
@@ -7902,6 +8009,10 @@ export type ListArtifactsData = {
|
|
|
7902
8009
|
team_id: string;
|
|
7903
8010
|
};
|
|
7904
8011
|
query?: {
|
|
8012
|
+
/**
|
|
8013
|
+
* Filter by lock state (epic #1285): `true` returns only locked resources, `false` only unlocked ones. Omit for no lock filtering. Returns 400 for a value that is not a boolean.
|
|
8014
|
+
*/
|
|
8015
|
+
locked?: boolean;
|
|
7905
8016
|
/**
|
|
7906
8017
|
* Filter to resources currently flagged stale by the team's freshness rules (epic #726). Omit for no freshness filtering. Returns 400 for any other value — a silently ignored filter would return the full list, which looks like a legitimate answer.
|
|
7907
8018
|
*/
|
|
@@ -8050,6 +8161,10 @@ export type ListArtifactsByProjectData = {
|
|
|
8050
8161
|
project_id: string;
|
|
8051
8162
|
};
|
|
8052
8163
|
query?: {
|
|
8164
|
+
/**
|
|
8165
|
+
* Filter by lock state (epic #1285): `true` returns only locked resources, `false` only unlocked ones. Omit for no lock filtering. Returns 400 for a value that is not a boolean.
|
|
8166
|
+
*/
|
|
8167
|
+
locked?: boolean;
|
|
8053
8168
|
/**
|
|
8054
8169
|
* Filter to resources currently flagged stale by the team's freshness rules (epic #726). Omit for no freshness filtering. Returns 400 for any other value — a silently ignored filter would return the full list, which looks like a legitimate answer.
|
|
8055
8170
|
*/
|
|
@@ -8147,6 +8262,10 @@ export type DeleteArtifactErrors = {
|
|
|
8147
8262
|
* Artifact not found
|
|
8148
8263
|
*/
|
|
8149
8264
|
404: ErrorResponse;
|
|
8265
|
+
/**
|
|
8266
|
+
* The artifact is locked, so it cannot be deleted (code `RESOURCE_WRITE_LOCKED`). The lock is in `metadata`.
|
|
8267
|
+
*/
|
|
8268
|
+
423: ResourceWriteLockedError;
|
|
8150
8269
|
};
|
|
8151
8270
|
export type DeleteArtifactError = DeleteArtifactErrors[keyof DeleteArtifactErrors];
|
|
8152
8271
|
export type DeleteArtifactResponses = {
|
|
@@ -8237,6 +8356,10 @@ export type UpdateArtifactErrors = {
|
|
|
8237
8356
|
* Artifact with same slug already exists in project
|
|
8238
8357
|
*/
|
|
8239
8358
|
409: ErrorResponse;
|
|
8359
|
+
/**
|
|
8360
|
+
* The artifact is locked and the update changes a frozen field (code `RESOURCE_WRITE_LOCKED`). The lock is in `metadata`.
|
|
8361
|
+
*/
|
|
8362
|
+
423: ResourceWriteLockedError;
|
|
8240
8363
|
};
|
|
8241
8364
|
export type UpdateArtifactError = UpdateArtifactErrors[keyof UpdateArtifactErrors];
|
|
8242
8365
|
export type UpdateArtifactResponses = {
|
|
@@ -8246,6 +8369,161 @@ export type UpdateArtifactResponses = {
|
|
|
8246
8369
|
200: Artifact;
|
|
8247
8370
|
};
|
|
8248
8371
|
export type UpdateArtifactResponse = UpdateArtifactResponses[keyof UpdateArtifactResponses];
|
|
8372
|
+
export type UnlockArtifactData = {
|
|
8373
|
+
body?: never;
|
|
8374
|
+
path: {
|
|
8375
|
+
/**
|
|
8376
|
+
* Team identifier
|
|
8377
|
+
*/
|
|
8378
|
+
team_id: string;
|
|
8379
|
+
/**
|
|
8380
|
+
* UUID of the project
|
|
8381
|
+
*/
|
|
8382
|
+
project_id: string;
|
|
8383
|
+
/**
|
|
8384
|
+
* Artifact slug
|
|
8385
|
+
*/
|
|
8386
|
+
slug: string;
|
|
8387
|
+
};
|
|
8388
|
+
query?: never;
|
|
8389
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}/lock';
|
|
8390
|
+
};
|
|
8391
|
+
export type UnlockArtifactErrors = {
|
|
8392
|
+
/**
|
|
8393
|
+
* Bad request: a malformed path parameter
|
|
8394
|
+
*/
|
|
8395
|
+
400: ErrorResponse;
|
|
8396
|
+
/**
|
|
8397
|
+
* Unauthorized
|
|
8398
|
+
*/
|
|
8399
|
+
401: ErrorResponse;
|
|
8400
|
+
/**
|
|
8401
|
+
* Forbidden: not a member of the team, or the lock was placed by someone else and the caller's role does not hold `resource.unlock.any`
|
|
8402
|
+
*/
|
|
8403
|
+
403: ErrorResponse;
|
|
8404
|
+
/**
|
|
8405
|
+
* Artifact not found
|
|
8406
|
+
*/
|
|
8407
|
+
404: ErrorResponse;
|
|
8408
|
+
/**
|
|
8409
|
+
* The artifact is not locked (code `RESOURCE_NOT_LOCKED`)
|
|
8410
|
+
*/
|
|
8411
|
+
409: ErrorResponse;
|
|
8412
|
+
/**
|
|
8413
|
+
* Internal server error
|
|
8414
|
+
*/
|
|
8415
|
+
500: ErrorResponse;
|
|
8416
|
+
};
|
|
8417
|
+
export type UnlockArtifactError = UnlockArtifactErrors[keyof UnlockArtifactErrors];
|
|
8418
|
+
export type UnlockArtifactResponses = {
|
|
8419
|
+
/**
|
|
8420
|
+
* Artifact unlocked; the updated artifact is returned
|
|
8421
|
+
*/
|
|
8422
|
+
200: Artifact;
|
|
8423
|
+
};
|
|
8424
|
+
export type UnlockArtifactResponse = UnlockArtifactResponses[keyof UnlockArtifactResponses];
|
|
8425
|
+
export type LockArtifactData = {
|
|
8426
|
+
body: LockResourceRequest;
|
|
8427
|
+
path: {
|
|
8428
|
+
/**
|
|
8429
|
+
* Team identifier
|
|
8430
|
+
*/
|
|
8431
|
+
team_id: string;
|
|
8432
|
+
/**
|
|
8433
|
+
* UUID of the project
|
|
8434
|
+
*/
|
|
8435
|
+
project_id: string;
|
|
8436
|
+
/**
|
|
8437
|
+
* Artifact slug
|
|
8438
|
+
*/
|
|
8439
|
+
slug: string;
|
|
8440
|
+
};
|
|
8441
|
+
query?: never;
|
|
8442
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}/lock';
|
|
8443
|
+
};
|
|
8444
|
+
export type LockArtifactErrors = {
|
|
8445
|
+
/**
|
|
8446
|
+
* Bad request: a malformed path parameter or request body, or a missing, blank or too long comment
|
|
8447
|
+
*/
|
|
8448
|
+
400: ErrorResponse;
|
|
8449
|
+
/**
|
|
8450
|
+
* Unauthorized
|
|
8451
|
+
*/
|
|
8452
|
+
401: ErrorResponse;
|
|
8453
|
+
/**
|
|
8454
|
+
* Forbidden: not a member of the team
|
|
8455
|
+
*/
|
|
8456
|
+
403: ErrorResponse;
|
|
8457
|
+
/**
|
|
8458
|
+
* Artifact not found
|
|
8459
|
+
*/
|
|
8460
|
+
404: ErrorResponse;
|
|
8461
|
+
/**
|
|
8462
|
+
* The artifact is already locked (code `RESOURCE_LOCKED`)
|
|
8463
|
+
*/
|
|
8464
|
+
409: ErrorResponse;
|
|
8465
|
+
/**
|
|
8466
|
+
* Internal server error
|
|
8467
|
+
*/
|
|
8468
|
+
500: ErrorResponse;
|
|
8469
|
+
};
|
|
8470
|
+
export type LockArtifactError = LockArtifactErrors[keyof LockArtifactErrors];
|
|
8471
|
+
export type LockArtifactResponses = {
|
|
8472
|
+
/**
|
|
8473
|
+
* Artifact locked; the updated artifact is returned
|
|
8474
|
+
*/
|
|
8475
|
+
200: Artifact;
|
|
8476
|
+
};
|
|
8477
|
+
export type LockArtifactResponse = LockArtifactResponses[keyof LockArtifactResponses];
|
|
8478
|
+
export type GetArtifactLockHistoryData = {
|
|
8479
|
+
body?: never;
|
|
8480
|
+
path: {
|
|
8481
|
+
/**
|
|
8482
|
+
* Team identifier
|
|
8483
|
+
*/
|
|
8484
|
+
team_id: string;
|
|
8485
|
+
/**
|
|
8486
|
+
* UUID of the project
|
|
8487
|
+
*/
|
|
8488
|
+
project_id: string;
|
|
8489
|
+
/**
|
|
8490
|
+
* Artifact slug
|
|
8491
|
+
*/
|
|
8492
|
+
slug: string;
|
|
8493
|
+
};
|
|
8494
|
+
query?: never;
|
|
8495
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}/lock/history';
|
|
8496
|
+
};
|
|
8497
|
+
export type GetArtifactLockHistoryErrors = {
|
|
8498
|
+
/**
|
|
8499
|
+
* Bad request: a malformed path parameter
|
|
8500
|
+
*/
|
|
8501
|
+
400: ErrorResponse;
|
|
8502
|
+
/**
|
|
8503
|
+
* Unauthorized
|
|
8504
|
+
*/
|
|
8505
|
+
401: ErrorResponse;
|
|
8506
|
+
/**
|
|
8507
|
+
* Forbidden: not a member of the team
|
|
8508
|
+
*/
|
|
8509
|
+
403: ErrorResponse;
|
|
8510
|
+
/**
|
|
8511
|
+
* Artifact not found
|
|
8512
|
+
*/
|
|
8513
|
+
404: ErrorResponse;
|
|
8514
|
+
/**
|
|
8515
|
+
* Internal server error
|
|
8516
|
+
*/
|
|
8517
|
+
500: ErrorResponse;
|
|
8518
|
+
};
|
|
8519
|
+
export type GetArtifactLockHistoryError = GetArtifactLockHistoryErrors[keyof GetArtifactLockHistoryErrors];
|
|
8520
|
+
export type GetArtifactLockHistoryResponses = {
|
|
8521
|
+
/**
|
|
8522
|
+
* Lock history retrieved successfully
|
|
8523
|
+
*/
|
|
8524
|
+
200: ResourceLockHistoryResponse;
|
|
8525
|
+
};
|
|
8526
|
+
export type GetArtifactLockHistoryResponse = GetArtifactLockHistoryResponses[keyof GetArtifactLockHistoryResponses];
|
|
8249
8527
|
export type ListAttachmentsData = {
|
|
8250
8528
|
body?: never;
|
|
8251
8529
|
path: {
|
|
@@ -9305,6 +9583,10 @@ export type ListSpecLibrariesData = {
|
|
|
9305
9583
|
team_id: string;
|
|
9306
9584
|
};
|
|
9307
9585
|
query?: {
|
|
9586
|
+
/**
|
|
9587
|
+
* Filter by lock state (epic #1285): `true` returns only locked resources, `false` only unlocked ones. Omit for no lock filtering. Returns 400 for a value that is not a boolean.
|
|
9588
|
+
*/
|
|
9589
|
+
locked?: boolean;
|
|
9308
9590
|
/**
|
|
9309
9591
|
* Filter to resources currently flagged stale by the team's freshness rules (epic #726). Omit for no freshness filtering. Returns 400 for any other value — a silently ignored filter would return the full list, which looks like a legitimate answer.
|
|
9310
9592
|
*/
|
|
@@ -9461,6 +9743,10 @@ export type ListSpecLibrariesByProjectData = {
|
|
|
9461
9743
|
project_id: string;
|
|
9462
9744
|
};
|
|
9463
9745
|
query?: {
|
|
9746
|
+
/**
|
|
9747
|
+
* Filter by lock state (epic #1285): `true` returns only locked resources, `false` only unlocked ones. Omit for no lock filtering. Returns 400 for a value that is not a boolean.
|
|
9748
|
+
*/
|
|
9749
|
+
locked?: boolean;
|
|
9464
9750
|
/**
|
|
9465
9751
|
* Filter to resources currently flagged stale by the team's freshness rules (epic #726). Omit for no freshness filtering. Returns 400 for any other value — a silently ignored filter would return the full list, which looks like a legitimate answer.
|
|
9466
9752
|
*/
|
|
@@ -9562,6 +9848,10 @@ export type DeleteBlueprintErrors = {
|
|
|
9562
9848
|
* Spec library not found
|
|
9563
9849
|
*/
|
|
9564
9850
|
404: ErrorResponse;
|
|
9851
|
+
/**
|
|
9852
|
+
* The blueprint is locked, so it cannot be deleted (code `RESOURCE_WRITE_LOCKED`). The lock is in `metadata`.
|
|
9853
|
+
*/
|
|
9854
|
+
423: ResourceWriteLockedError;
|
|
9565
9855
|
/**
|
|
9566
9856
|
* Internal server error
|
|
9567
9857
|
*/
|
|
@@ -9660,6 +9950,10 @@ export type UpdateBlueprintErrors = {
|
|
|
9660
9950
|
* Spec library with same slug already exists in project
|
|
9661
9951
|
*/
|
|
9662
9952
|
409: ErrorResponse;
|
|
9953
|
+
/**
|
|
9954
|
+
* The blueprint is locked and the update changes a frozen field (code `RESOURCE_WRITE_LOCKED`). The lock is in `metadata`.
|
|
9955
|
+
*/
|
|
9956
|
+
423: ResourceWriteLockedError;
|
|
9663
9957
|
/**
|
|
9664
9958
|
* Internal server error
|
|
9665
9959
|
*/
|
|
@@ -9673,6 +9967,161 @@ export type UpdateBlueprintResponses = {
|
|
|
9673
9967
|
200: Blueprint;
|
|
9674
9968
|
};
|
|
9675
9969
|
export type UpdateBlueprintResponse = UpdateBlueprintResponses[keyof UpdateBlueprintResponses];
|
|
9970
|
+
export type UnlockBlueprintData = {
|
|
9971
|
+
body?: never;
|
|
9972
|
+
path: {
|
|
9973
|
+
/**
|
|
9974
|
+
* Team identifier
|
|
9975
|
+
*/
|
|
9976
|
+
team_id: string;
|
|
9977
|
+
/**
|
|
9978
|
+
* Project identifier (URL-encoded)
|
|
9979
|
+
*/
|
|
9980
|
+
project_id: string;
|
|
9981
|
+
/**
|
|
9982
|
+
* Blueprint slug (URL-encoded)
|
|
9983
|
+
*/
|
|
9984
|
+
slug: string;
|
|
9985
|
+
};
|
|
9986
|
+
query?: never;
|
|
9987
|
+
url: '/api/v1/{team_id}/blueprints/{project_id}/{slug}/lock';
|
|
9988
|
+
};
|
|
9989
|
+
export type UnlockBlueprintErrors = {
|
|
9990
|
+
/**
|
|
9991
|
+
* Bad request: a malformed path parameter
|
|
9992
|
+
*/
|
|
9993
|
+
400: ErrorResponse;
|
|
9994
|
+
/**
|
|
9995
|
+
* Unauthorized
|
|
9996
|
+
*/
|
|
9997
|
+
401: ErrorResponse;
|
|
9998
|
+
/**
|
|
9999
|
+
* Forbidden: not a member of the team, or the lock was placed by someone else and the caller's role does not hold `resource.unlock.any`
|
|
10000
|
+
*/
|
|
10001
|
+
403: ErrorResponse;
|
|
10002
|
+
/**
|
|
10003
|
+
* Blueprint not found
|
|
10004
|
+
*/
|
|
10005
|
+
404: ErrorResponse;
|
|
10006
|
+
/**
|
|
10007
|
+
* The blueprint is not locked (code `RESOURCE_NOT_LOCKED`)
|
|
10008
|
+
*/
|
|
10009
|
+
409: ErrorResponse;
|
|
10010
|
+
/**
|
|
10011
|
+
* Internal server error
|
|
10012
|
+
*/
|
|
10013
|
+
500: ErrorResponse;
|
|
10014
|
+
};
|
|
10015
|
+
export type UnlockBlueprintError = UnlockBlueprintErrors[keyof UnlockBlueprintErrors];
|
|
10016
|
+
export type UnlockBlueprintResponses = {
|
|
10017
|
+
/**
|
|
10018
|
+
* Blueprint unlocked; the updated blueprint is returned
|
|
10019
|
+
*/
|
|
10020
|
+
200: BlueprintDetail;
|
|
10021
|
+
};
|
|
10022
|
+
export type UnlockBlueprintResponse = UnlockBlueprintResponses[keyof UnlockBlueprintResponses];
|
|
10023
|
+
export type LockBlueprintData = {
|
|
10024
|
+
body: LockResourceRequest;
|
|
10025
|
+
path: {
|
|
10026
|
+
/**
|
|
10027
|
+
* Team identifier
|
|
10028
|
+
*/
|
|
10029
|
+
team_id: string;
|
|
10030
|
+
/**
|
|
10031
|
+
* Project identifier (URL-encoded)
|
|
10032
|
+
*/
|
|
10033
|
+
project_id: string;
|
|
10034
|
+
/**
|
|
10035
|
+
* Blueprint slug (URL-encoded)
|
|
10036
|
+
*/
|
|
10037
|
+
slug: string;
|
|
10038
|
+
};
|
|
10039
|
+
query?: never;
|
|
10040
|
+
url: '/api/v1/{team_id}/blueprints/{project_id}/{slug}/lock';
|
|
10041
|
+
};
|
|
10042
|
+
export type LockBlueprintErrors = {
|
|
10043
|
+
/**
|
|
10044
|
+
* Bad request: a malformed path parameter or request body, or a missing, blank or too long comment
|
|
10045
|
+
*/
|
|
10046
|
+
400: ErrorResponse;
|
|
10047
|
+
/**
|
|
10048
|
+
* Unauthorized
|
|
10049
|
+
*/
|
|
10050
|
+
401: ErrorResponse;
|
|
10051
|
+
/**
|
|
10052
|
+
* Forbidden: not a member of the team
|
|
10053
|
+
*/
|
|
10054
|
+
403: ErrorResponse;
|
|
10055
|
+
/**
|
|
10056
|
+
* Blueprint not found
|
|
10057
|
+
*/
|
|
10058
|
+
404: ErrorResponse;
|
|
10059
|
+
/**
|
|
10060
|
+
* The blueprint is already locked (code `RESOURCE_LOCKED`)
|
|
10061
|
+
*/
|
|
10062
|
+
409: ErrorResponse;
|
|
10063
|
+
/**
|
|
10064
|
+
* Internal server error
|
|
10065
|
+
*/
|
|
10066
|
+
500: ErrorResponse;
|
|
10067
|
+
};
|
|
10068
|
+
export type LockBlueprintError = LockBlueprintErrors[keyof LockBlueprintErrors];
|
|
10069
|
+
export type LockBlueprintResponses = {
|
|
10070
|
+
/**
|
|
10071
|
+
* Blueprint locked; the updated blueprint is returned
|
|
10072
|
+
*/
|
|
10073
|
+
200: BlueprintDetail;
|
|
10074
|
+
};
|
|
10075
|
+
export type LockBlueprintResponse = LockBlueprintResponses[keyof LockBlueprintResponses];
|
|
10076
|
+
export type GetBlueprintLockHistoryData = {
|
|
10077
|
+
body?: never;
|
|
10078
|
+
path: {
|
|
10079
|
+
/**
|
|
10080
|
+
* Team identifier
|
|
10081
|
+
*/
|
|
10082
|
+
team_id: string;
|
|
10083
|
+
/**
|
|
10084
|
+
* Project identifier (URL-encoded)
|
|
10085
|
+
*/
|
|
10086
|
+
project_id: string;
|
|
10087
|
+
/**
|
|
10088
|
+
* Blueprint slug (URL-encoded)
|
|
10089
|
+
*/
|
|
10090
|
+
slug: string;
|
|
10091
|
+
};
|
|
10092
|
+
query?: never;
|
|
10093
|
+
url: '/api/v1/{team_id}/blueprints/{project_id}/{slug}/lock/history';
|
|
10094
|
+
};
|
|
10095
|
+
export type GetBlueprintLockHistoryErrors = {
|
|
10096
|
+
/**
|
|
10097
|
+
* Bad request: a malformed path parameter
|
|
10098
|
+
*/
|
|
10099
|
+
400: ErrorResponse;
|
|
10100
|
+
/**
|
|
10101
|
+
* Unauthorized
|
|
10102
|
+
*/
|
|
10103
|
+
401: ErrorResponse;
|
|
10104
|
+
/**
|
|
10105
|
+
* Forbidden: not a member of the team
|
|
10106
|
+
*/
|
|
10107
|
+
403: ErrorResponse;
|
|
10108
|
+
/**
|
|
10109
|
+
* Blueprint not found
|
|
10110
|
+
*/
|
|
10111
|
+
404: ErrorResponse;
|
|
10112
|
+
/**
|
|
10113
|
+
* Internal server error
|
|
10114
|
+
*/
|
|
10115
|
+
500: ErrorResponse;
|
|
10116
|
+
};
|
|
10117
|
+
export type GetBlueprintLockHistoryError = GetBlueprintLockHistoryErrors[keyof GetBlueprintLockHistoryErrors];
|
|
10118
|
+
export type GetBlueprintLockHistoryResponses = {
|
|
10119
|
+
/**
|
|
10120
|
+
* Lock history retrieved successfully
|
|
10121
|
+
*/
|
|
10122
|
+
200: ResourceLockHistoryResponse;
|
|
10123
|
+
};
|
|
10124
|
+
export type GetBlueprintLockHistoryResponse = GetBlueprintLockHistoryResponses[keyof GetBlueprintLockHistoryResponses];
|
|
9676
10125
|
export type ListBlueprintVersionsData = {
|
|
9677
10126
|
body?: never;
|
|
9678
10127
|
path: {
|
|
@@ -9821,6 +10270,10 @@ export type ListPromptsData = {
|
|
|
9821
10270
|
team_id: string;
|
|
9822
10271
|
};
|
|
9823
10272
|
query?: {
|
|
10273
|
+
/**
|
|
10274
|
+
* Filter by lock state (epic #1285): `true` returns only locked resources, `false` only unlocked ones. Omit for no lock filtering. Returns 400 for a value that is not a boolean.
|
|
10275
|
+
*/
|
|
10276
|
+
locked?: boolean;
|
|
9824
10277
|
/**
|
|
9825
10278
|
* Filter to resources currently flagged stale by the team's freshness rules (epic #726). Omit for no freshness filtering. Returns 400 for any other value — a silently ignored filter would return the full list, which looks like a legitimate answer.
|
|
9826
10279
|
*/
|
|
@@ -9984,6 +10437,10 @@ export type DeletePromptErrors = {
|
|
|
9984
10437
|
* Prompt not found
|
|
9985
10438
|
*/
|
|
9986
10439
|
404: ErrorResponse;
|
|
10440
|
+
/**
|
|
10441
|
+
* The prompt is locked, so it cannot be deleted (code `RESOURCE_WRITE_LOCKED`). The lock is in `metadata`.
|
|
10442
|
+
*/
|
|
10443
|
+
423: ResourceWriteLockedError;
|
|
9987
10444
|
};
|
|
9988
10445
|
export type DeletePromptError = DeletePromptErrors[keyof DeletePromptErrors];
|
|
9989
10446
|
export type DeletePromptResponses = {
|
|
@@ -10066,6 +10523,10 @@ export type UpdatePromptErrors = {
|
|
|
10066
10523
|
* Conflict (slug already exists)
|
|
10067
10524
|
*/
|
|
10068
10525
|
409: ErrorResponse;
|
|
10526
|
+
/**
|
|
10527
|
+
* The prompt is locked and the update changes a frozen field (code `RESOURCE_WRITE_LOCKED`). The lock is in `metadata`.
|
|
10528
|
+
*/
|
|
10529
|
+
423: ResourceWriteLockedError;
|
|
10069
10530
|
};
|
|
10070
10531
|
export type UpdatePromptError = UpdatePromptErrors[keyof UpdatePromptErrors];
|
|
10071
10532
|
export type UpdatePromptResponses = {
|
|
@@ -10075,6 +10536,149 @@ export type UpdatePromptResponses = {
|
|
|
10075
10536
|
200: Prompt;
|
|
10076
10537
|
};
|
|
10077
10538
|
export type UpdatePromptResponse = UpdatePromptResponses[keyof UpdatePromptResponses];
|
|
10539
|
+
export type UnlockPromptData = {
|
|
10540
|
+
body?: never;
|
|
10541
|
+
path: {
|
|
10542
|
+
/**
|
|
10543
|
+
* Team identifier
|
|
10544
|
+
*/
|
|
10545
|
+
team_id: string;
|
|
10546
|
+
/**
|
|
10547
|
+
* Prompt slug identifier
|
|
10548
|
+
*/
|
|
10549
|
+
slug: string;
|
|
10550
|
+
};
|
|
10551
|
+
query?: never;
|
|
10552
|
+
url: '/api/v1/{team_id}/prompts/{slug}/lock';
|
|
10553
|
+
};
|
|
10554
|
+
export type UnlockPromptErrors = {
|
|
10555
|
+
/**
|
|
10556
|
+
* Bad request: a malformed path parameter
|
|
10557
|
+
*/
|
|
10558
|
+
400: ErrorResponse;
|
|
10559
|
+
/**
|
|
10560
|
+
* Unauthorized
|
|
10561
|
+
*/
|
|
10562
|
+
401: ErrorResponse;
|
|
10563
|
+
/**
|
|
10564
|
+
* Forbidden: not a member of the team, or the lock was placed by someone else and the caller's role does not hold `resource.unlock.any`
|
|
10565
|
+
*/
|
|
10566
|
+
403: ErrorResponse;
|
|
10567
|
+
/**
|
|
10568
|
+
* Prompt not found
|
|
10569
|
+
*/
|
|
10570
|
+
404: ErrorResponse;
|
|
10571
|
+
/**
|
|
10572
|
+
* The prompt is not locked (code `RESOURCE_NOT_LOCKED`)
|
|
10573
|
+
*/
|
|
10574
|
+
409: ErrorResponse;
|
|
10575
|
+
/**
|
|
10576
|
+
* Internal server error
|
|
10577
|
+
*/
|
|
10578
|
+
500: ErrorResponse;
|
|
10579
|
+
};
|
|
10580
|
+
export type UnlockPromptError = UnlockPromptErrors[keyof UnlockPromptErrors];
|
|
10581
|
+
export type UnlockPromptResponses = {
|
|
10582
|
+
/**
|
|
10583
|
+
* Prompt unlocked; the updated prompt is returned
|
|
10584
|
+
*/
|
|
10585
|
+
200: Prompt;
|
|
10586
|
+
};
|
|
10587
|
+
export type UnlockPromptResponse = UnlockPromptResponses[keyof UnlockPromptResponses];
|
|
10588
|
+
export type LockPromptData = {
|
|
10589
|
+
body: LockResourceRequest;
|
|
10590
|
+
path: {
|
|
10591
|
+
/**
|
|
10592
|
+
* Team identifier
|
|
10593
|
+
*/
|
|
10594
|
+
team_id: string;
|
|
10595
|
+
/**
|
|
10596
|
+
* Prompt slug identifier
|
|
10597
|
+
*/
|
|
10598
|
+
slug: string;
|
|
10599
|
+
};
|
|
10600
|
+
query?: never;
|
|
10601
|
+
url: '/api/v1/{team_id}/prompts/{slug}/lock';
|
|
10602
|
+
};
|
|
10603
|
+
export type LockPromptErrors = {
|
|
10604
|
+
/**
|
|
10605
|
+
* Bad request: a malformed path parameter or request body, or a missing, blank or too long comment
|
|
10606
|
+
*/
|
|
10607
|
+
400: ErrorResponse;
|
|
10608
|
+
/**
|
|
10609
|
+
* Unauthorized
|
|
10610
|
+
*/
|
|
10611
|
+
401: ErrorResponse;
|
|
10612
|
+
/**
|
|
10613
|
+
* Forbidden: not a member of the team
|
|
10614
|
+
*/
|
|
10615
|
+
403: ErrorResponse;
|
|
10616
|
+
/**
|
|
10617
|
+
* Prompt not found
|
|
10618
|
+
*/
|
|
10619
|
+
404: ErrorResponse;
|
|
10620
|
+
/**
|
|
10621
|
+
* The prompt is already locked (code `RESOURCE_LOCKED`)
|
|
10622
|
+
*/
|
|
10623
|
+
409: ErrorResponse;
|
|
10624
|
+
/**
|
|
10625
|
+
* Internal server error
|
|
10626
|
+
*/
|
|
10627
|
+
500: ErrorResponse;
|
|
10628
|
+
};
|
|
10629
|
+
export type LockPromptError = LockPromptErrors[keyof LockPromptErrors];
|
|
10630
|
+
export type LockPromptResponses = {
|
|
10631
|
+
/**
|
|
10632
|
+
* Prompt locked; the updated prompt is returned
|
|
10633
|
+
*/
|
|
10634
|
+
200: Prompt;
|
|
10635
|
+
};
|
|
10636
|
+
export type LockPromptResponse = LockPromptResponses[keyof LockPromptResponses];
|
|
10637
|
+
export type GetPromptLockHistoryData = {
|
|
10638
|
+
body?: never;
|
|
10639
|
+
path: {
|
|
10640
|
+
/**
|
|
10641
|
+
* Team identifier
|
|
10642
|
+
*/
|
|
10643
|
+
team_id: string;
|
|
10644
|
+
/**
|
|
10645
|
+
* Prompt slug identifier
|
|
10646
|
+
*/
|
|
10647
|
+
slug: string;
|
|
10648
|
+
};
|
|
10649
|
+
query?: never;
|
|
10650
|
+
url: '/api/v1/{team_id}/prompts/{slug}/lock/history';
|
|
10651
|
+
};
|
|
10652
|
+
export type GetPromptLockHistoryErrors = {
|
|
10653
|
+
/**
|
|
10654
|
+
* Bad request: a malformed path parameter
|
|
10655
|
+
*/
|
|
10656
|
+
400: ErrorResponse;
|
|
10657
|
+
/**
|
|
10658
|
+
* Unauthorized
|
|
10659
|
+
*/
|
|
10660
|
+
401: ErrorResponse;
|
|
10661
|
+
/**
|
|
10662
|
+
* Forbidden: not a member of the team
|
|
10663
|
+
*/
|
|
10664
|
+
403: ErrorResponse;
|
|
10665
|
+
/**
|
|
10666
|
+
* Prompt not found
|
|
10667
|
+
*/
|
|
10668
|
+
404: ErrorResponse;
|
|
10669
|
+
/**
|
|
10670
|
+
* Internal server error
|
|
10671
|
+
*/
|
|
10672
|
+
500: ErrorResponse;
|
|
10673
|
+
};
|
|
10674
|
+
export type GetPromptLockHistoryError = GetPromptLockHistoryErrors[keyof GetPromptLockHistoryErrors];
|
|
10675
|
+
export type GetPromptLockHistoryResponses = {
|
|
10676
|
+
/**
|
|
10677
|
+
* Lock history retrieved successfully
|
|
10678
|
+
*/
|
|
10679
|
+
200: ResourceLockHistoryResponse;
|
|
10680
|
+
};
|
|
10681
|
+
export type GetPromptLockHistoryResponse = GetPromptLockHistoryResponses[keyof GetPromptLockHistoryResponses];
|
|
10078
10682
|
export type GetPromptPlaceholdersData = {
|
|
10079
10683
|
body?: never;
|
|
10080
10684
|
path: {
|