@vibexp/api-client 0.103.0 → 0.104.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 +552 -0
- package/dist/schema.d.ts +1017 -69
- package/package.json +1 -1
package/dist/schema.d.ts
CHANGED
|
@@ -444,6 +444,58 @@ export interface paths {
|
|
|
444
444
|
patch?: never;
|
|
445
445
|
trace?: never;
|
|
446
446
|
};
|
|
447
|
+
"/api/v1/{team_id}/artifacts/{project_id}/{slug}/lock": {
|
|
448
|
+
parameters: {
|
|
449
|
+
query?: never;
|
|
450
|
+
header?: never;
|
|
451
|
+
path?: never;
|
|
452
|
+
cookie?: never;
|
|
453
|
+
};
|
|
454
|
+
get?: never;
|
|
455
|
+
put?: never;
|
|
456
|
+
/**
|
|
457
|
+
* Lock a artifact
|
|
458
|
+
* @description Locks the artifact to mark it as in use (epic #1285). Any team member may
|
|
459
|
+
* lock a resource and must say why in `comment`. Locking is not an edit: it
|
|
460
|
+
* does not change `updated_at` or create a version. Locking a artifact that
|
|
461
|
+
* is already locked returns 409 and leaves the existing lock untouched.
|
|
462
|
+
*/
|
|
463
|
+
post: operations["lockArtifact"];
|
|
464
|
+
/**
|
|
465
|
+
* Unlock a artifact
|
|
466
|
+
* @description Releases the lock on the artifact (epic #1285). The member who placed the
|
|
467
|
+
* lock may release it; so may a member whose role holds the
|
|
468
|
+
* `resource.unlock.any` permission (owners and admins). Unlocking a artifact
|
|
469
|
+
* that is not locked returns 409.
|
|
470
|
+
*/
|
|
471
|
+
delete: operations["unlockArtifact"];
|
|
472
|
+
options?: never;
|
|
473
|
+
head?: never;
|
|
474
|
+
patch?: never;
|
|
475
|
+
trace?: never;
|
|
476
|
+
};
|
|
477
|
+
"/api/v1/{team_id}/artifacts/{project_id}/{slug}/lock/history": {
|
|
478
|
+
parameters: {
|
|
479
|
+
query?: never;
|
|
480
|
+
header?: never;
|
|
481
|
+
path?: never;
|
|
482
|
+
cookie?: never;
|
|
483
|
+
};
|
|
484
|
+
/**
|
|
485
|
+
* Get the lock history of a artifact
|
|
486
|
+
* @description Returns the artifact's lock and unlock events, newest first (epic #1285).
|
|
487
|
+
* Any team member may read it. The history is not paginated: at most the
|
|
488
|
+
* 100 most recent events are returned.
|
|
489
|
+
*/
|
|
490
|
+
get: operations["getArtifactLockHistory"];
|
|
491
|
+
put?: never;
|
|
492
|
+
post?: never;
|
|
493
|
+
delete?: never;
|
|
494
|
+
options?: never;
|
|
495
|
+
head?: never;
|
|
496
|
+
patch?: never;
|
|
497
|
+
trace?: never;
|
|
498
|
+
};
|
|
447
499
|
"/api/v1/{team_id}/attachments": {
|
|
448
500
|
parameters: {
|
|
449
501
|
query?: never;
|
|
@@ -908,6 +960,58 @@ export interface paths {
|
|
|
908
960
|
patch?: never;
|
|
909
961
|
trace?: never;
|
|
910
962
|
};
|
|
963
|
+
"/api/v1/{team_id}/blueprints/{project_id}/{slug}/lock": {
|
|
964
|
+
parameters: {
|
|
965
|
+
query?: never;
|
|
966
|
+
header?: never;
|
|
967
|
+
path?: never;
|
|
968
|
+
cookie?: never;
|
|
969
|
+
};
|
|
970
|
+
get?: never;
|
|
971
|
+
put?: never;
|
|
972
|
+
/**
|
|
973
|
+
* Lock a blueprint
|
|
974
|
+
* @description Locks the blueprint to mark it as in use (epic #1285). Any team member may
|
|
975
|
+
* lock a resource and must say why in `comment`. Locking is not an edit: it
|
|
976
|
+
* does not change `updated_at` or create a version. Locking a blueprint that
|
|
977
|
+
* is already locked returns 409 and leaves the existing lock untouched.
|
|
978
|
+
*/
|
|
979
|
+
post: operations["lockBlueprint"];
|
|
980
|
+
/**
|
|
981
|
+
* Unlock a blueprint
|
|
982
|
+
* @description Releases the lock on the blueprint (epic #1285). The member who placed the
|
|
983
|
+
* lock may release it; so may a member whose role holds the
|
|
984
|
+
* `resource.unlock.any` permission (owners and admins). Unlocking a blueprint
|
|
985
|
+
* that is not locked returns 409.
|
|
986
|
+
*/
|
|
987
|
+
delete: operations["unlockBlueprint"];
|
|
988
|
+
options?: never;
|
|
989
|
+
head?: never;
|
|
990
|
+
patch?: never;
|
|
991
|
+
trace?: never;
|
|
992
|
+
};
|
|
993
|
+
"/api/v1/{team_id}/blueprints/{project_id}/{slug}/lock/history": {
|
|
994
|
+
parameters: {
|
|
995
|
+
query?: never;
|
|
996
|
+
header?: never;
|
|
997
|
+
path?: never;
|
|
998
|
+
cookie?: never;
|
|
999
|
+
};
|
|
1000
|
+
/**
|
|
1001
|
+
* Get the lock history of a blueprint
|
|
1002
|
+
* @description Returns the blueprint's lock and unlock events, newest first (epic #1285).
|
|
1003
|
+
* Any team member may read it. The history is not paginated: at most the
|
|
1004
|
+
* 100 most recent events are returned.
|
|
1005
|
+
*/
|
|
1006
|
+
get: operations["getBlueprintLockHistory"];
|
|
1007
|
+
put?: never;
|
|
1008
|
+
post?: never;
|
|
1009
|
+
delete?: never;
|
|
1010
|
+
options?: never;
|
|
1011
|
+
head?: never;
|
|
1012
|
+
patch?: never;
|
|
1013
|
+
trace?: never;
|
|
1014
|
+
};
|
|
911
1015
|
"/api/v1/{team_id}/blueprints/{project_id}/{slug}/versions": {
|
|
912
1016
|
parameters: {
|
|
913
1017
|
query?: never;
|
|
@@ -1041,6 +1145,58 @@ export interface paths {
|
|
|
1041
1145
|
patch?: never;
|
|
1042
1146
|
trace?: never;
|
|
1043
1147
|
};
|
|
1148
|
+
"/api/v1/{team_id}/prompts/{slug}/lock": {
|
|
1149
|
+
parameters: {
|
|
1150
|
+
query?: never;
|
|
1151
|
+
header?: never;
|
|
1152
|
+
path?: never;
|
|
1153
|
+
cookie?: never;
|
|
1154
|
+
};
|
|
1155
|
+
get?: never;
|
|
1156
|
+
put?: never;
|
|
1157
|
+
/**
|
|
1158
|
+
* Lock a prompt
|
|
1159
|
+
* @description Locks the prompt to mark it as in use (epic #1285). Any team member may
|
|
1160
|
+
* lock a resource and must say why in `comment`. Locking is not an edit: it
|
|
1161
|
+
* does not change `updated_at` or create a version. Locking a prompt that
|
|
1162
|
+
* is already locked returns 409 and leaves the existing lock untouched.
|
|
1163
|
+
*/
|
|
1164
|
+
post: operations["lockPrompt"];
|
|
1165
|
+
/**
|
|
1166
|
+
* Unlock a prompt
|
|
1167
|
+
* @description Releases the lock on the prompt (epic #1285). The member who placed the
|
|
1168
|
+
* lock may release it; so may a member whose role holds the
|
|
1169
|
+
* `resource.unlock.any` permission (owners and admins). Unlocking a prompt
|
|
1170
|
+
* that is not locked returns 409.
|
|
1171
|
+
*/
|
|
1172
|
+
delete: operations["unlockPrompt"];
|
|
1173
|
+
options?: never;
|
|
1174
|
+
head?: never;
|
|
1175
|
+
patch?: never;
|
|
1176
|
+
trace?: never;
|
|
1177
|
+
};
|
|
1178
|
+
"/api/v1/{team_id}/prompts/{slug}/lock/history": {
|
|
1179
|
+
parameters: {
|
|
1180
|
+
query?: never;
|
|
1181
|
+
header?: never;
|
|
1182
|
+
path?: never;
|
|
1183
|
+
cookie?: never;
|
|
1184
|
+
};
|
|
1185
|
+
/**
|
|
1186
|
+
* Get the lock history of a prompt
|
|
1187
|
+
* @description Returns the prompt's lock and unlock events, newest first (epic #1285).
|
|
1188
|
+
* Any team member may read it. The history is not paginated: at most the
|
|
1189
|
+
* 100 most recent events are returned.
|
|
1190
|
+
*/
|
|
1191
|
+
get: operations["getPromptLockHistory"];
|
|
1192
|
+
put?: never;
|
|
1193
|
+
post?: never;
|
|
1194
|
+
delete?: never;
|
|
1195
|
+
options?: never;
|
|
1196
|
+
head?: never;
|
|
1197
|
+
patch?: never;
|
|
1198
|
+
trace?: never;
|
|
1199
|
+
};
|
|
1044
1200
|
"/api/v1/{team_id}/prompts/{slug}/placeholders": {
|
|
1045
1201
|
parameters: {
|
|
1046
1202
|
query?: never;
|
|
@@ -6396,6 +6552,8 @@ export interface components {
|
|
|
6396
6552
|
/** @description Identity of the project this resource belongs to, so a client can render a project label without a second request (issue #929). Guaranteed on the single-resource detail GET; null in list responses, and null wherever the server has not resolved it — a project that no longer exists, or one belonging to another team. `project_id` remains the authoritative field: a client must not read a null here as "this resource has no project". */
|
|
6397
6553
|
project: components["schemas"]["ProjectSummary"] | null;
|
|
6398
6554
|
freshness?: components["schemas"]["ResourceFreshnessState"];
|
|
6555
|
+
/** @description 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. */
|
|
6556
|
+
lock: components["schemas"]["ResourceLock"] | null;
|
|
6399
6557
|
};
|
|
6400
6558
|
CreatePromptRequest: {
|
|
6401
6559
|
/** @example Code Review Template */
|
|
@@ -7939,6 +8097,8 @@ export interface components {
|
|
|
7939
8097
|
/** @description Identity of the project this resource belongs to, so a client can render a project label without a second request (issue #929). Guaranteed on the single-resource detail GET; null in list responses, and null wherever the server has not resolved it — a project that no longer exists, or one belonging to another team. `project_id` remains the authoritative field: a client must not read a null here as "this resource has no project". */
|
|
7940
8098
|
project: components["schemas"]["ProjectSummary"] | null;
|
|
7941
8099
|
freshness?: components["schemas"]["ResourceFreshnessState"];
|
|
8100
|
+
/** @description The lock held on this resource (epic #1285), or null when it is not locked. Present on every read, list and write response. */
|
|
8101
|
+
lock: components["schemas"]["ResourceLock"] | null;
|
|
7942
8102
|
};
|
|
7943
8103
|
CreateArtifactRequest: {
|
|
7944
8104
|
/**
|
|
@@ -8549,6 +8709,74 @@ export interface components {
|
|
|
8549
8709
|
*/
|
|
8550
8710
|
slug: string;
|
|
8551
8711
|
};
|
|
8712
|
+
/** @description A user named on a resource lock or a lock history event. */
|
|
8713
|
+
ResourceLockActor: {
|
|
8714
|
+
/**
|
|
8715
|
+
* @description ID of the user.
|
|
8716
|
+
* @example 01234567-89ab-cdef-0123-456789abcdef
|
|
8717
|
+
*/
|
|
8718
|
+
user_id: string;
|
|
8719
|
+
/**
|
|
8720
|
+
* @description The user's display name.
|
|
8721
|
+
* @example Ada Lovelace
|
|
8722
|
+
*/
|
|
8723
|
+
display_name: string;
|
|
8724
|
+
};
|
|
8725
|
+
/** @description The lock held on a prompt, blueprint or artifact. A resource carries one while it is locked and `null` when it is not. */
|
|
8726
|
+
ResourceLock: {
|
|
8727
|
+
/** @description The team member holding the lock. */
|
|
8728
|
+
locked_by: components["schemas"]["ResourceLockActor"];
|
|
8729
|
+
/**
|
|
8730
|
+
* @description Why the resource was locked, as given by the locker.
|
|
8731
|
+
* @example Used by the nightly release agent
|
|
8732
|
+
*/
|
|
8733
|
+
comment: string;
|
|
8734
|
+
/**
|
|
8735
|
+
* Format: date-time
|
|
8736
|
+
* @description When the lock was taken.
|
|
8737
|
+
* @example 2026-10-11T10:15:30Z
|
|
8738
|
+
*/
|
|
8739
|
+
locked_at: string;
|
|
8740
|
+
};
|
|
8741
|
+
LockResourceRequest: {
|
|
8742
|
+
/**
|
|
8743
|
+
* @description 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.
|
|
8744
|
+
* @example Used by the nightly release agent
|
|
8745
|
+
*/
|
|
8746
|
+
comment: string;
|
|
8747
|
+
};
|
|
8748
|
+
/** @description One entry of a resource's append-only lock history. */
|
|
8749
|
+
ResourceLockEvent: {
|
|
8750
|
+
/**
|
|
8751
|
+
* Format: uuid
|
|
8752
|
+
* @description ID of the history event.
|
|
8753
|
+
* @example 123e4567-e89b-12d3-a456-426614174000
|
|
8754
|
+
*/
|
|
8755
|
+
id: string;
|
|
8756
|
+
/**
|
|
8757
|
+
* @description Whether the resource was locked or unlocked.
|
|
8758
|
+
* @example lock
|
|
8759
|
+
* @enum {string}
|
|
8760
|
+
*/
|
|
8761
|
+
action: "lock" | "unlock";
|
|
8762
|
+
/** @description Who locked or unlocked the resource. Null once that user's account has been deleted. */
|
|
8763
|
+
actor: components["schemas"]["ResourceLockActor"] | null;
|
|
8764
|
+
/**
|
|
8765
|
+
* @description The lock comment for a `lock` event; null for an `unlock`.
|
|
8766
|
+
* @example Used by the nightly release agent
|
|
8767
|
+
*/
|
|
8768
|
+
comment: string | null;
|
|
8769
|
+
/**
|
|
8770
|
+
* Format: date-time
|
|
8771
|
+
* @description When the event happened.
|
|
8772
|
+
* @example 2026-10-11T10:15:30Z
|
|
8773
|
+
*/
|
|
8774
|
+
created_at: string;
|
|
8775
|
+
};
|
|
8776
|
+
ResourceLockHistoryResponse: {
|
|
8777
|
+
/** @description Lock and unlock events, newest first. Not paginated: at most the 100 most recent events are returned. */
|
|
8778
|
+
events: components["schemas"]["ResourceLockEvent"][];
|
|
8779
|
+
};
|
|
8552
8780
|
CreateProjectRequest: {
|
|
8553
8781
|
/**
|
|
8554
8782
|
* @description Human-readable name of the project
|
|
@@ -9191,6 +9419,8 @@ export interface components {
|
|
|
9191
9419
|
/** @description Identity of the project this resource belongs to, so a client can render a project label without a second request (issue #929). Guaranteed on the single-resource detail GET; null in list responses, and null wherever the server has not resolved it — a project that no longer exists, or one belonging to another team. `project_id` remains the authoritative field: a client must not read a null here as "this resource has no project". */
|
|
9192
9420
|
project: components["schemas"]["ProjectSummary"] | null;
|
|
9193
9421
|
freshness?: components["schemas"]["ResourceFreshnessState"];
|
|
9422
|
+
/** @description The lock held on this resource (epic #1285), or null when it is not locked. Present on every read, list and write response. */
|
|
9423
|
+
lock: components["schemas"]["ResourceLock"] | null;
|
|
9194
9424
|
};
|
|
9195
9425
|
/** @description Read-only import provenance; present only for imported blueprints. */
|
|
9196
9426
|
BlueprintSource: {
|
|
@@ -15385,6 +15615,8 @@ export interface operations {
|
|
|
15385
15615
|
listArtifacts: {
|
|
15386
15616
|
parameters: {
|
|
15387
15617
|
query?: {
|
|
15618
|
+
/** @description 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. */
|
|
15619
|
+
locked?: boolean;
|
|
15388
15620
|
/** @description 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. */
|
|
15389
15621
|
freshness?: "stale";
|
|
15390
15622
|
/** @description Filter by project ID */
|
|
@@ -15568,6 +15800,8 @@ export interface operations {
|
|
|
15568
15800
|
listArtifactsByProject: {
|
|
15569
15801
|
parameters: {
|
|
15570
15802
|
query?: {
|
|
15803
|
+
/** @description 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. */
|
|
15804
|
+
locked?: boolean;
|
|
15571
15805
|
/** @description 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. */
|
|
15572
15806
|
freshness?: "stale";
|
|
15573
15807
|
/** @description Filter by status: one of the system statuses or one of the team's custom statuses for this resource type. Returns 400 for unknown values. */
|
|
@@ -15826,33 +16060,36 @@ export interface operations {
|
|
|
15826
16060
|
};
|
|
15827
16061
|
};
|
|
15828
16062
|
};
|
|
15829
|
-
|
|
16063
|
+
lockArtifact: {
|
|
15830
16064
|
parameters: {
|
|
15831
|
-
query
|
|
15832
|
-
/** @description Type of the owning resource (e.g. "artifact") */
|
|
15833
|
-
owner_type: string;
|
|
15834
|
-
/** @description UUID of the owning resource */
|
|
15835
|
-
owner_id: string;
|
|
15836
|
-
};
|
|
16065
|
+
query?: never;
|
|
15837
16066
|
header?: never;
|
|
15838
16067
|
path: {
|
|
15839
16068
|
/** @description Team identifier */
|
|
15840
16069
|
team_id: string;
|
|
16070
|
+
/** @description UUID of the project */
|
|
16071
|
+
project_id: string;
|
|
16072
|
+
/** @description Artifact slug */
|
|
16073
|
+
slug: string;
|
|
15841
16074
|
};
|
|
15842
16075
|
cookie?: never;
|
|
15843
16076
|
};
|
|
15844
|
-
requestBody
|
|
16077
|
+
requestBody: {
|
|
16078
|
+
content: {
|
|
16079
|
+
"application/json": components["schemas"]["LockResourceRequest"];
|
|
16080
|
+
};
|
|
16081
|
+
};
|
|
15845
16082
|
responses: {
|
|
15846
|
-
/** @description
|
|
16083
|
+
/** @description Artifact locked; the updated artifact is returned */
|
|
15847
16084
|
200: {
|
|
15848
16085
|
headers: {
|
|
15849
16086
|
[name: string]: unknown;
|
|
15850
16087
|
};
|
|
15851
16088
|
content: {
|
|
15852
|
-
"application/json": components["schemas"]["
|
|
16089
|
+
"application/json": components["schemas"]["Artifact"];
|
|
15853
16090
|
};
|
|
15854
16091
|
};
|
|
15855
|
-
/** @description
|
|
16092
|
+
/** @description Bad request: a malformed path parameter or request body, or a missing, blank or too long comment */
|
|
15856
16093
|
400: {
|
|
15857
16094
|
headers: {
|
|
15858
16095
|
[name: string]: unknown;
|
|
@@ -15870,7 +16107,16 @@ export interface operations {
|
|
|
15870
16107
|
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
15871
16108
|
};
|
|
15872
16109
|
};
|
|
15873
|
-
/** @description
|
|
16110
|
+
/** @description Forbidden: not a member of the team */
|
|
16111
|
+
403: {
|
|
16112
|
+
headers: {
|
|
16113
|
+
[name: string]: unknown;
|
|
16114
|
+
};
|
|
16115
|
+
content: {
|
|
16116
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16117
|
+
};
|
|
16118
|
+
};
|
|
16119
|
+
/** @description Artifact not found */
|
|
15874
16120
|
404: {
|
|
15875
16121
|
headers: {
|
|
15876
16122
|
[name: string]: unknown;
|
|
@@ -15879,55 +16125,52 @@ export interface operations {
|
|
|
15879
16125
|
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
15880
16126
|
};
|
|
15881
16127
|
};
|
|
16128
|
+
/** @description The artifact is already locked (code `RESOURCE_LOCKED`) */
|
|
16129
|
+
409: {
|
|
16130
|
+
headers: {
|
|
16131
|
+
[name: string]: unknown;
|
|
16132
|
+
};
|
|
16133
|
+
content: {
|
|
16134
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16135
|
+
};
|
|
16136
|
+
};
|
|
16137
|
+
/** @description Internal server error */
|
|
16138
|
+
500: {
|
|
16139
|
+
headers: {
|
|
16140
|
+
[name: string]: unknown;
|
|
16141
|
+
};
|
|
16142
|
+
content: {
|
|
16143
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16144
|
+
};
|
|
16145
|
+
};
|
|
15882
16146
|
};
|
|
15883
16147
|
};
|
|
15884
|
-
|
|
16148
|
+
unlockArtifact: {
|
|
15885
16149
|
parameters: {
|
|
15886
16150
|
query?: never;
|
|
15887
16151
|
header?: never;
|
|
15888
16152
|
path: {
|
|
15889
16153
|
/** @description Team identifier */
|
|
15890
16154
|
team_id: string;
|
|
16155
|
+
/** @description UUID of the project */
|
|
16156
|
+
project_id: string;
|
|
16157
|
+
/** @description Artifact slug */
|
|
16158
|
+
slug: string;
|
|
15891
16159
|
};
|
|
15892
16160
|
cookie?: never;
|
|
15893
16161
|
};
|
|
15894
|
-
requestBody
|
|
15895
|
-
content: {
|
|
15896
|
-
"multipart/form-data": {
|
|
15897
|
-
/**
|
|
15898
|
-
* @description Type of the owning resource (e.g. "artifact")
|
|
15899
|
-
* @example artifact
|
|
15900
|
-
*/
|
|
15901
|
-
owner_type: string;
|
|
15902
|
-
/**
|
|
15903
|
-
* Format: uuid
|
|
15904
|
-
* @description UUID of the owning resource
|
|
15905
|
-
*/
|
|
15906
|
-
owner_id: string;
|
|
15907
|
-
/**
|
|
15908
|
-
* Format: binary
|
|
15909
|
-
* @description The file to attach
|
|
15910
|
-
*/
|
|
15911
|
-
file: string;
|
|
15912
|
-
/**
|
|
15913
|
-
* @description Optional path relative to the owner's directory (e.g. "scripts/helper.py"). Must be relative — no leading "/", no "..", no backslashes. Unique per owner. file_name stays the basename.
|
|
15914
|
-
* @example scripts/helper.py
|
|
15915
|
-
*/
|
|
15916
|
-
relative_path?: string;
|
|
15917
|
-
};
|
|
15918
|
-
};
|
|
15919
|
-
};
|
|
16162
|
+
requestBody?: never;
|
|
15920
16163
|
responses: {
|
|
15921
|
-
/** @description
|
|
15922
|
-
|
|
16164
|
+
/** @description Artifact unlocked; the updated artifact is returned */
|
|
16165
|
+
200: {
|
|
15923
16166
|
headers: {
|
|
15924
16167
|
[name: string]: unknown;
|
|
15925
16168
|
};
|
|
15926
16169
|
content: {
|
|
15927
|
-
"application/json": components["schemas"]["
|
|
16170
|
+
"application/json": components["schemas"]["Artifact"];
|
|
15928
16171
|
};
|
|
15929
16172
|
};
|
|
15930
|
-
/** @description
|
|
16173
|
+
/** @description Bad request: a malformed path parameter */
|
|
15931
16174
|
400: {
|
|
15932
16175
|
headers: {
|
|
15933
16176
|
[name: string]: unknown;
|
|
@@ -15945,7 +16188,16 @@ export interface operations {
|
|
|
15945
16188
|
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
15946
16189
|
};
|
|
15947
16190
|
};
|
|
15948
|
-
/** @description
|
|
16191
|
+
/** @description 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` */
|
|
16192
|
+
403: {
|
|
16193
|
+
headers: {
|
|
16194
|
+
[name: string]: unknown;
|
|
16195
|
+
};
|
|
16196
|
+
content: {
|
|
16197
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16198
|
+
};
|
|
16199
|
+
};
|
|
16200
|
+
/** @description Artifact not found */
|
|
15949
16201
|
404: {
|
|
15950
16202
|
headers: {
|
|
15951
16203
|
[name: string]: unknown;
|
|
@@ -15954,8 +16206,17 @@ export interface operations {
|
|
|
15954
16206
|
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
15955
16207
|
};
|
|
15956
16208
|
};
|
|
15957
|
-
/** @description
|
|
15958
|
-
|
|
16209
|
+
/** @description The artifact is not locked (code `RESOURCE_NOT_LOCKED`) */
|
|
16210
|
+
409: {
|
|
16211
|
+
headers: {
|
|
16212
|
+
[name: string]: unknown;
|
|
16213
|
+
};
|
|
16214
|
+
content: {
|
|
16215
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16216
|
+
};
|
|
16217
|
+
};
|
|
16218
|
+
/** @description Internal server error */
|
|
16219
|
+
500: {
|
|
15959
16220
|
headers: {
|
|
15960
16221
|
[name: string]: unknown;
|
|
15961
16222
|
};
|
|
@@ -15965,30 +16226,32 @@ export interface operations {
|
|
|
15965
16226
|
};
|
|
15966
16227
|
};
|
|
15967
16228
|
};
|
|
15968
|
-
|
|
16229
|
+
getArtifactLockHistory: {
|
|
15969
16230
|
parameters: {
|
|
15970
16231
|
query?: never;
|
|
15971
16232
|
header?: never;
|
|
15972
16233
|
path: {
|
|
15973
16234
|
/** @description Team identifier */
|
|
15974
16235
|
team_id: string;
|
|
15975
|
-
/** @description
|
|
15976
|
-
|
|
16236
|
+
/** @description UUID of the project */
|
|
16237
|
+
project_id: string;
|
|
16238
|
+
/** @description Artifact slug */
|
|
16239
|
+
slug: string;
|
|
15977
16240
|
};
|
|
15978
16241
|
cookie?: never;
|
|
15979
16242
|
};
|
|
15980
16243
|
requestBody?: never;
|
|
15981
16244
|
responses: {
|
|
15982
|
-
/** @description
|
|
16245
|
+
/** @description Lock history retrieved successfully */
|
|
15983
16246
|
200: {
|
|
15984
16247
|
headers: {
|
|
15985
16248
|
[name: string]: unknown;
|
|
15986
16249
|
};
|
|
15987
16250
|
content: {
|
|
15988
|
-
"application/
|
|
16251
|
+
"application/json": components["schemas"]["ResourceLockHistoryResponse"];
|
|
15989
16252
|
};
|
|
15990
16253
|
};
|
|
15991
|
-
/** @description
|
|
16254
|
+
/** @description Bad request: a malformed path parameter */
|
|
15992
16255
|
400: {
|
|
15993
16256
|
headers: {
|
|
15994
16257
|
[name: string]: unknown;
|
|
@@ -16006,8 +16269,8 @@ export interface operations {
|
|
|
16006
16269
|
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16007
16270
|
};
|
|
16008
16271
|
};
|
|
16009
|
-
/** @description
|
|
16010
|
-
|
|
16272
|
+
/** @description Forbidden: not a member of the team */
|
|
16273
|
+
403: {
|
|
16011
16274
|
headers: {
|
|
16012
16275
|
[name: string]: unknown;
|
|
16013
16276
|
};
|
|
@@ -16015,7 +16278,216 @@ export interface operations {
|
|
|
16015
16278
|
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16016
16279
|
};
|
|
16017
16280
|
};
|
|
16018
|
-
/** @description
|
|
16281
|
+
/** @description Artifact not found */
|
|
16282
|
+
404: {
|
|
16283
|
+
headers: {
|
|
16284
|
+
[name: string]: unknown;
|
|
16285
|
+
};
|
|
16286
|
+
content: {
|
|
16287
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16288
|
+
};
|
|
16289
|
+
};
|
|
16290
|
+
/** @description Internal server error */
|
|
16291
|
+
500: {
|
|
16292
|
+
headers: {
|
|
16293
|
+
[name: string]: unknown;
|
|
16294
|
+
};
|
|
16295
|
+
content: {
|
|
16296
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16297
|
+
};
|
|
16298
|
+
};
|
|
16299
|
+
};
|
|
16300
|
+
};
|
|
16301
|
+
listAttachments: {
|
|
16302
|
+
parameters: {
|
|
16303
|
+
query: {
|
|
16304
|
+
/** @description Type of the owning resource (e.g. "artifact") */
|
|
16305
|
+
owner_type: string;
|
|
16306
|
+
/** @description UUID of the owning resource */
|
|
16307
|
+
owner_id: string;
|
|
16308
|
+
};
|
|
16309
|
+
header?: never;
|
|
16310
|
+
path: {
|
|
16311
|
+
/** @description Team identifier */
|
|
16312
|
+
team_id: string;
|
|
16313
|
+
};
|
|
16314
|
+
cookie?: never;
|
|
16315
|
+
};
|
|
16316
|
+
requestBody?: never;
|
|
16317
|
+
responses: {
|
|
16318
|
+
/** @description Attachments retrieved successfully */
|
|
16319
|
+
200: {
|
|
16320
|
+
headers: {
|
|
16321
|
+
[name: string]: unknown;
|
|
16322
|
+
};
|
|
16323
|
+
content: {
|
|
16324
|
+
"application/json": components["schemas"]["AttachmentListResponse"];
|
|
16325
|
+
};
|
|
16326
|
+
};
|
|
16327
|
+
/** @description Missing or invalid owner_type / owner_id */
|
|
16328
|
+
400: {
|
|
16329
|
+
headers: {
|
|
16330
|
+
[name: string]: unknown;
|
|
16331
|
+
};
|
|
16332
|
+
content: {
|
|
16333
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16334
|
+
};
|
|
16335
|
+
};
|
|
16336
|
+
/** @description Unauthorized */
|
|
16337
|
+
401: {
|
|
16338
|
+
headers: {
|
|
16339
|
+
[name: string]: unknown;
|
|
16340
|
+
};
|
|
16341
|
+
content: {
|
|
16342
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16343
|
+
};
|
|
16344
|
+
};
|
|
16345
|
+
/** @description Unsupported owner_type, or the owning resource was not found / is not accessible */
|
|
16346
|
+
404: {
|
|
16347
|
+
headers: {
|
|
16348
|
+
[name: string]: unknown;
|
|
16349
|
+
};
|
|
16350
|
+
content: {
|
|
16351
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16352
|
+
};
|
|
16353
|
+
};
|
|
16354
|
+
};
|
|
16355
|
+
};
|
|
16356
|
+
uploadAttachment: {
|
|
16357
|
+
parameters: {
|
|
16358
|
+
query?: never;
|
|
16359
|
+
header?: never;
|
|
16360
|
+
path: {
|
|
16361
|
+
/** @description Team identifier */
|
|
16362
|
+
team_id: string;
|
|
16363
|
+
};
|
|
16364
|
+
cookie?: never;
|
|
16365
|
+
};
|
|
16366
|
+
requestBody: {
|
|
16367
|
+
content: {
|
|
16368
|
+
"multipart/form-data": {
|
|
16369
|
+
/**
|
|
16370
|
+
* @description Type of the owning resource (e.g. "artifact")
|
|
16371
|
+
* @example artifact
|
|
16372
|
+
*/
|
|
16373
|
+
owner_type: string;
|
|
16374
|
+
/**
|
|
16375
|
+
* Format: uuid
|
|
16376
|
+
* @description UUID of the owning resource
|
|
16377
|
+
*/
|
|
16378
|
+
owner_id: string;
|
|
16379
|
+
/**
|
|
16380
|
+
* Format: binary
|
|
16381
|
+
* @description The file to attach
|
|
16382
|
+
*/
|
|
16383
|
+
file: string;
|
|
16384
|
+
/**
|
|
16385
|
+
* @description Optional path relative to the owner's directory (e.g. "scripts/helper.py"). Must be relative — no leading "/", no "..", no backslashes. Unique per owner. file_name stays the basename.
|
|
16386
|
+
* @example scripts/helper.py
|
|
16387
|
+
*/
|
|
16388
|
+
relative_path?: string;
|
|
16389
|
+
};
|
|
16390
|
+
};
|
|
16391
|
+
};
|
|
16392
|
+
responses: {
|
|
16393
|
+
/** @description Attachment uploaded successfully */
|
|
16394
|
+
201: {
|
|
16395
|
+
headers: {
|
|
16396
|
+
[name: string]: unknown;
|
|
16397
|
+
};
|
|
16398
|
+
content: {
|
|
16399
|
+
"application/json": components["schemas"]["Attachment"];
|
|
16400
|
+
};
|
|
16401
|
+
};
|
|
16402
|
+
/** @description Missing fields/file, invalid owner_id, file too large, cumulative limit exceeded, or disallowed type */
|
|
16403
|
+
400: {
|
|
16404
|
+
headers: {
|
|
16405
|
+
[name: string]: unknown;
|
|
16406
|
+
};
|
|
16407
|
+
content: {
|
|
16408
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16409
|
+
};
|
|
16410
|
+
};
|
|
16411
|
+
/** @description Unauthorized */
|
|
16412
|
+
401: {
|
|
16413
|
+
headers: {
|
|
16414
|
+
[name: string]: unknown;
|
|
16415
|
+
};
|
|
16416
|
+
content: {
|
|
16417
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16418
|
+
};
|
|
16419
|
+
};
|
|
16420
|
+
/** @description Unsupported owner_type, or the owning resource was not found / is not accessible */
|
|
16421
|
+
404: {
|
|
16422
|
+
headers: {
|
|
16423
|
+
[name: string]: unknown;
|
|
16424
|
+
};
|
|
16425
|
+
content: {
|
|
16426
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16427
|
+
};
|
|
16428
|
+
};
|
|
16429
|
+
/** @description Attachment storage is not available */
|
|
16430
|
+
503: {
|
|
16431
|
+
headers: {
|
|
16432
|
+
[name: string]: unknown;
|
|
16433
|
+
};
|
|
16434
|
+
content: {
|
|
16435
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16436
|
+
};
|
|
16437
|
+
};
|
|
16438
|
+
};
|
|
16439
|
+
};
|
|
16440
|
+
downloadAttachment: {
|
|
16441
|
+
parameters: {
|
|
16442
|
+
query?: never;
|
|
16443
|
+
header?: never;
|
|
16444
|
+
path: {
|
|
16445
|
+
/** @description Team identifier */
|
|
16446
|
+
team_id: string;
|
|
16447
|
+
/** @description Attachment identifier */
|
|
16448
|
+
id: string;
|
|
16449
|
+
};
|
|
16450
|
+
cookie?: never;
|
|
16451
|
+
};
|
|
16452
|
+
requestBody?: never;
|
|
16453
|
+
responses: {
|
|
16454
|
+
/** @description Attachment file stream */
|
|
16455
|
+
200: {
|
|
16456
|
+
headers: {
|
|
16457
|
+
[name: string]: unknown;
|
|
16458
|
+
};
|
|
16459
|
+
content: {
|
|
16460
|
+
"application/octet-stream": string;
|
|
16461
|
+
};
|
|
16462
|
+
};
|
|
16463
|
+
/** @description Invalid attachment id */
|
|
16464
|
+
400: {
|
|
16465
|
+
headers: {
|
|
16466
|
+
[name: string]: unknown;
|
|
16467
|
+
};
|
|
16468
|
+
content: {
|
|
16469
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16470
|
+
};
|
|
16471
|
+
};
|
|
16472
|
+
/** @description Unauthorized */
|
|
16473
|
+
401: {
|
|
16474
|
+
headers: {
|
|
16475
|
+
[name: string]: unknown;
|
|
16476
|
+
};
|
|
16477
|
+
content: {
|
|
16478
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16479
|
+
};
|
|
16480
|
+
};
|
|
16481
|
+
/** @description Attachment not found, or its owner is not accessible */
|
|
16482
|
+
404: {
|
|
16483
|
+
headers: {
|
|
16484
|
+
[name: string]: unknown;
|
|
16485
|
+
};
|
|
16486
|
+
content: {
|
|
16487
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
16488
|
+
};
|
|
16489
|
+
};
|
|
16490
|
+
/** @description Attachment storage is not available */
|
|
16019
16491
|
503: {
|
|
16020
16492
|
headers: {
|
|
16021
16493
|
[name: string]: unknown;
|
|
@@ -17280,6 +17752,8 @@ export interface operations {
|
|
|
17280
17752
|
listSpecLibraries: {
|
|
17281
17753
|
parameters: {
|
|
17282
17754
|
query?: {
|
|
17755
|
+
/** @description 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. */
|
|
17756
|
+
locked?: boolean;
|
|
17283
17757
|
/** @description 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. */
|
|
17284
17758
|
freshness?: "stale";
|
|
17285
17759
|
/** @description Filter by project name */
|
|
@@ -17481,6 +17955,8 @@ export interface operations {
|
|
|
17481
17955
|
listSpecLibrariesByProject: {
|
|
17482
17956
|
parameters: {
|
|
17483
17957
|
query?: {
|
|
17958
|
+
/** @description 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. */
|
|
17959
|
+
locked?: boolean;
|
|
17484
17960
|
/** @description 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. */
|
|
17485
17961
|
freshness?: "stale";
|
|
17486
17962
|
/** @description Filter by status: one of the system statuses or one of the team's custom statuses for this resource type. Returns 400 for unknown values. */
|
|
@@ -17768,29 +18244,42 @@ export interface operations {
|
|
|
17768
18244
|
};
|
|
17769
18245
|
};
|
|
17770
18246
|
};
|
|
17771
|
-
|
|
18247
|
+
lockBlueprint: {
|
|
17772
18248
|
parameters: {
|
|
17773
18249
|
query?: never;
|
|
17774
18250
|
header?: never;
|
|
17775
18251
|
path: {
|
|
17776
18252
|
/** @description Team identifier */
|
|
17777
18253
|
team_id: string;
|
|
17778
|
-
/** @description
|
|
18254
|
+
/** @description Project identifier (URL-encoded) */
|
|
17779
18255
|
project_id: string;
|
|
17780
|
-
/** @description Blueprint slug */
|
|
18256
|
+
/** @description Blueprint slug (URL-encoded) */
|
|
17781
18257
|
slug: string;
|
|
17782
18258
|
};
|
|
17783
18259
|
cookie?: never;
|
|
17784
18260
|
};
|
|
17785
|
-
requestBody
|
|
18261
|
+
requestBody: {
|
|
18262
|
+
content: {
|
|
18263
|
+
"application/json": components["schemas"]["LockResourceRequest"];
|
|
18264
|
+
};
|
|
18265
|
+
};
|
|
17786
18266
|
responses: {
|
|
17787
|
-
/** @description Blueprint
|
|
18267
|
+
/** @description Blueprint locked; the updated blueprint is returned */
|
|
17788
18268
|
200: {
|
|
17789
18269
|
headers: {
|
|
17790
18270
|
[name: string]: unknown;
|
|
17791
18271
|
};
|
|
17792
18272
|
content: {
|
|
17793
|
-
"application/json": components["schemas"]["
|
|
18273
|
+
"application/json": components["schemas"]["BlueprintDetail"];
|
|
18274
|
+
};
|
|
18275
|
+
};
|
|
18276
|
+
/** @description Bad request: a malformed path parameter or request body, or a missing, blank or too long comment */
|
|
18277
|
+
400: {
|
|
18278
|
+
headers: {
|
|
18279
|
+
[name: string]: unknown;
|
|
18280
|
+
};
|
|
18281
|
+
content: {
|
|
18282
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
17794
18283
|
};
|
|
17795
18284
|
};
|
|
17796
18285
|
/** @description Unauthorized */
|
|
@@ -17802,7 +18291,7 @@ export interface operations {
|
|
|
17802
18291
|
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
17803
18292
|
};
|
|
17804
18293
|
};
|
|
17805
|
-
/** @description Forbidden
|
|
18294
|
+
/** @description Forbidden: not a member of the team */
|
|
17806
18295
|
403: {
|
|
17807
18296
|
headers: {
|
|
17808
18297
|
[name: string]: unknown;
|
|
@@ -17820,33 +18309,258 @@ export interface operations {
|
|
|
17820
18309
|
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
17821
18310
|
};
|
|
17822
18311
|
};
|
|
18312
|
+
/** @description The blueprint is already locked (code `RESOURCE_LOCKED`) */
|
|
18313
|
+
409: {
|
|
18314
|
+
headers: {
|
|
18315
|
+
[name: string]: unknown;
|
|
18316
|
+
};
|
|
18317
|
+
content: {
|
|
18318
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18319
|
+
};
|
|
18320
|
+
};
|
|
18321
|
+
/** @description Internal server error */
|
|
18322
|
+
500: {
|
|
18323
|
+
headers: {
|
|
18324
|
+
[name: string]: unknown;
|
|
18325
|
+
};
|
|
18326
|
+
content: {
|
|
18327
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18328
|
+
};
|
|
18329
|
+
};
|
|
17823
18330
|
};
|
|
17824
18331
|
};
|
|
17825
|
-
|
|
18332
|
+
unlockBlueprint: {
|
|
17826
18333
|
parameters: {
|
|
17827
18334
|
query?: never;
|
|
17828
18335
|
header?: never;
|
|
17829
18336
|
path: {
|
|
17830
18337
|
/** @description Team identifier */
|
|
17831
18338
|
team_id: string;
|
|
17832
|
-
/** @description
|
|
18339
|
+
/** @description Project identifier (URL-encoded) */
|
|
17833
18340
|
project_id: string;
|
|
17834
|
-
/** @description Blueprint slug */
|
|
18341
|
+
/** @description Blueprint slug (URL-encoded) */
|
|
17835
18342
|
slug: string;
|
|
17836
|
-
/** @description Version number */
|
|
17837
|
-
version_number: number;
|
|
17838
18343
|
};
|
|
17839
18344
|
cookie?: never;
|
|
17840
18345
|
};
|
|
17841
18346
|
requestBody?: never;
|
|
17842
18347
|
responses: {
|
|
17843
|
-
/** @description Blueprint
|
|
18348
|
+
/** @description Blueprint unlocked; the updated blueprint is returned */
|
|
17844
18349
|
200: {
|
|
17845
18350
|
headers: {
|
|
17846
18351
|
[name: string]: unknown;
|
|
17847
18352
|
};
|
|
17848
18353
|
content: {
|
|
17849
|
-
"application/json": components["schemas"]["
|
|
18354
|
+
"application/json": components["schemas"]["BlueprintDetail"];
|
|
18355
|
+
};
|
|
18356
|
+
};
|
|
18357
|
+
/** @description Bad request: a malformed path parameter */
|
|
18358
|
+
400: {
|
|
18359
|
+
headers: {
|
|
18360
|
+
[name: string]: unknown;
|
|
18361
|
+
};
|
|
18362
|
+
content: {
|
|
18363
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18364
|
+
};
|
|
18365
|
+
};
|
|
18366
|
+
/** @description Unauthorized */
|
|
18367
|
+
401: {
|
|
18368
|
+
headers: {
|
|
18369
|
+
[name: string]: unknown;
|
|
18370
|
+
};
|
|
18371
|
+
content: {
|
|
18372
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18373
|
+
};
|
|
18374
|
+
};
|
|
18375
|
+
/** @description 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` */
|
|
18376
|
+
403: {
|
|
18377
|
+
headers: {
|
|
18378
|
+
[name: string]: unknown;
|
|
18379
|
+
};
|
|
18380
|
+
content: {
|
|
18381
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18382
|
+
};
|
|
18383
|
+
};
|
|
18384
|
+
/** @description Blueprint not found */
|
|
18385
|
+
404: {
|
|
18386
|
+
headers: {
|
|
18387
|
+
[name: string]: unknown;
|
|
18388
|
+
};
|
|
18389
|
+
content: {
|
|
18390
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18391
|
+
};
|
|
18392
|
+
};
|
|
18393
|
+
/** @description The blueprint is not locked (code `RESOURCE_NOT_LOCKED`) */
|
|
18394
|
+
409: {
|
|
18395
|
+
headers: {
|
|
18396
|
+
[name: string]: unknown;
|
|
18397
|
+
};
|
|
18398
|
+
content: {
|
|
18399
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18400
|
+
};
|
|
18401
|
+
};
|
|
18402
|
+
/** @description Internal server error */
|
|
18403
|
+
500: {
|
|
18404
|
+
headers: {
|
|
18405
|
+
[name: string]: unknown;
|
|
18406
|
+
};
|
|
18407
|
+
content: {
|
|
18408
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18409
|
+
};
|
|
18410
|
+
};
|
|
18411
|
+
};
|
|
18412
|
+
};
|
|
18413
|
+
getBlueprintLockHistory: {
|
|
18414
|
+
parameters: {
|
|
18415
|
+
query?: never;
|
|
18416
|
+
header?: never;
|
|
18417
|
+
path: {
|
|
18418
|
+
/** @description Team identifier */
|
|
18419
|
+
team_id: string;
|
|
18420
|
+
/** @description Project identifier (URL-encoded) */
|
|
18421
|
+
project_id: string;
|
|
18422
|
+
/** @description Blueprint slug (URL-encoded) */
|
|
18423
|
+
slug: string;
|
|
18424
|
+
};
|
|
18425
|
+
cookie?: never;
|
|
18426
|
+
};
|
|
18427
|
+
requestBody?: never;
|
|
18428
|
+
responses: {
|
|
18429
|
+
/** @description Lock history retrieved successfully */
|
|
18430
|
+
200: {
|
|
18431
|
+
headers: {
|
|
18432
|
+
[name: string]: unknown;
|
|
18433
|
+
};
|
|
18434
|
+
content: {
|
|
18435
|
+
"application/json": components["schemas"]["ResourceLockHistoryResponse"];
|
|
18436
|
+
};
|
|
18437
|
+
};
|
|
18438
|
+
/** @description Bad request: a malformed path parameter */
|
|
18439
|
+
400: {
|
|
18440
|
+
headers: {
|
|
18441
|
+
[name: string]: unknown;
|
|
18442
|
+
};
|
|
18443
|
+
content: {
|
|
18444
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18445
|
+
};
|
|
18446
|
+
};
|
|
18447
|
+
/** @description Unauthorized */
|
|
18448
|
+
401: {
|
|
18449
|
+
headers: {
|
|
18450
|
+
[name: string]: unknown;
|
|
18451
|
+
};
|
|
18452
|
+
content: {
|
|
18453
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18454
|
+
};
|
|
18455
|
+
};
|
|
18456
|
+
/** @description Forbidden: not a member of the team */
|
|
18457
|
+
403: {
|
|
18458
|
+
headers: {
|
|
18459
|
+
[name: string]: unknown;
|
|
18460
|
+
};
|
|
18461
|
+
content: {
|
|
18462
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18463
|
+
};
|
|
18464
|
+
};
|
|
18465
|
+
/** @description Blueprint not found */
|
|
18466
|
+
404: {
|
|
18467
|
+
headers: {
|
|
18468
|
+
[name: string]: unknown;
|
|
18469
|
+
};
|
|
18470
|
+
content: {
|
|
18471
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18472
|
+
};
|
|
18473
|
+
};
|
|
18474
|
+
/** @description Internal server error */
|
|
18475
|
+
500: {
|
|
18476
|
+
headers: {
|
|
18477
|
+
[name: string]: unknown;
|
|
18478
|
+
};
|
|
18479
|
+
content: {
|
|
18480
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18481
|
+
};
|
|
18482
|
+
};
|
|
18483
|
+
};
|
|
18484
|
+
};
|
|
18485
|
+
listBlueprintVersions: {
|
|
18486
|
+
parameters: {
|
|
18487
|
+
query?: never;
|
|
18488
|
+
header?: never;
|
|
18489
|
+
path: {
|
|
18490
|
+
/** @description Team identifier */
|
|
18491
|
+
team_id: string;
|
|
18492
|
+
/** @description UUID of the project */
|
|
18493
|
+
project_id: string;
|
|
18494
|
+
/** @description Blueprint slug */
|
|
18495
|
+
slug: string;
|
|
18496
|
+
};
|
|
18497
|
+
cookie?: never;
|
|
18498
|
+
};
|
|
18499
|
+
requestBody?: never;
|
|
18500
|
+
responses: {
|
|
18501
|
+
/** @description Blueprint versions retrieved successfully */
|
|
18502
|
+
200: {
|
|
18503
|
+
headers: {
|
|
18504
|
+
[name: string]: unknown;
|
|
18505
|
+
};
|
|
18506
|
+
content: {
|
|
18507
|
+
"application/json": components["schemas"]["BlueprintVersionListResponse"];
|
|
18508
|
+
};
|
|
18509
|
+
};
|
|
18510
|
+
/** @description Unauthorized */
|
|
18511
|
+
401: {
|
|
18512
|
+
headers: {
|
|
18513
|
+
[name: string]: unknown;
|
|
18514
|
+
};
|
|
18515
|
+
content: {
|
|
18516
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18517
|
+
};
|
|
18518
|
+
};
|
|
18519
|
+
/** @description Forbidden (not a team member) */
|
|
18520
|
+
403: {
|
|
18521
|
+
headers: {
|
|
18522
|
+
[name: string]: unknown;
|
|
18523
|
+
};
|
|
18524
|
+
content: {
|
|
18525
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18526
|
+
};
|
|
18527
|
+
};
|
|
18528
|
+
/** @description Blueprint not found */
|
|
18529
|
+
404: {
|
|
18530
|
+
headers: {
|
|
18531
|
+
[name: string]: unknown;
|
|
18532
|
+
};
|
|
18533
|
+
content: {
|
|
18534
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
18535
|
+
};
|
|
18536
|
+
};
|
|
18537
|
+
};
|
|
18538
|
+
};
|
|
18539
|
+
getBlueprintVersion: {
|
|
18540
|
+
parameters: {
|
|
18541
|
+
query?: never;
|
|
18542
|
+
header?: never;
|
|
18543
|
+
path: {
|
|
18544
|
+
/** @description Team identifier */
|
|
18545
|
+
team_id: string;
|
|
18546
|
+
/** @description UUID of the project */
|
|
18547
|
+
project_id: string;
|
|
18548
|
+
/** @description Blueprint slug */
|
|
18549
|
+
slug: string;
|
|
18550
|
+
/** @description Version number */
|
|
18551
|
+
version_number: number;
|
|
18552
|
+
};
|
|
18553
|
+
cookie?: never;
|
|
18554
|
+
};
|
|
18555
|
+
requestBody?: never;
|
|
18556
|
+
responses: {
|
|
18557
|
+
/** @description Blueprint version retrieved successfully */
|
|
18558
|
+
200: {
|
|
18559
|
+
headers: {
|
|
18560
|
+
[name: string]: unknown;
|
|
18561
|
+
};
|
|
18562
|
+
content: {
|
|
18563
|
+
"application/json": components["schemas"]["ContentVersion"];
|
|
17850
18564
|
};
|
|
17851
18565
|
};
|
|
17852
18566
|
/** @description Invalid version_number */
|
|
@@ -17955,6 +18669,8 @@ export interface operations {
|
|
|
17955
18669
|
listPrompts: {
|
|
17956
18670
|
parameters: {
|
|
17957
18671
|
query?: {
|
|
18672
|
+
/** @description 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. */
|
|
18673
|
+
locked?: boolean;
|
|
17958
18674
|
/** @description 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. */
|
|
17959
18675
|
freshness?: "stale";
|
|
17960
18676
|
/** @description Page number for pagination */
|
|
@@ -18308,6 +19024,238 @@ export interface operations {
|
|
|
18308
19024
|
};
|
|
18309
19025
|
};
|
|
18310
19026
|
};
|
|
19027
|
+
lockPrompt: {
|
|
19028
|
+
parameters: {
|
|
19029
|
+
query?: never;
|
|
19030
|
+
header?: never;
|
|
19031
|
+
path: {
|
|
19032
|
+
/** @description Team identifier */
|
|
19033
|
+
team_id: string;
|
|
19034
|
+
/** @description Prompt slug identifier */
|
|
19035
|
+
slug: string;
|
|
19036
|
+
};
|
|
19037
|
+
cookie?: never;
|
|
19038
|
+
};
|
|
19039
|
+
requestBody: {
|
|
19040
|
+
content: {
|
|
19041
|
+
"application/json": components["schemas"]["LockResourceRequest"];
|
|
19042
|
+
};
|
|
19043
|
+
};
|
|
19044
|
+
responses: {
|
|
19045
|
+
/** @description Prompt locked; the updated prompt is returned */
|
|
19046
|
+
200: {
|
|
19047
|
+
headers: {
|
|
19048
|
+
[name: string]: unknown;
|
|
19049
|
+
};
|
|
19050
|
+
content: {
|
|
19051
|
+
"application/json": components["schemas"]["Prompt"];
|
|
19052
|
+
};
|
|
19053
|
+
};
|
|
19054
|
+
/** @description Bad request: a malformed path parameter or request body, or a missing, blank or too long comment */
|
|
19055
|
+
400: {
|
|
19056
|
+
headers: {
|
|
19057
|
+
[name: string]: unknown;
|
|
19058
|
+
};
|
|
19059
|
+
content: {
|
|
19060
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19061
|
+
};
|
|
19062
|
+
};
|
|
19063
|
+
/** @description Unauthorized */
|
|
19064
|
+
401: {
|
|
19065
|
+
headers: {
|
|
19066
|
+
[name: string]: unknown;
|
|
19067
|
+
};
|
|
19068
|
+
content: {
|
|
19069
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19070
|
+
};
|
|
19071
|
+
};
|
|
19072
|
+
/** @description Forbidden: not a member of the team */
|
|
19073
|
+
403: {
|
|
19074
|
+
headers: {
|
|
19075
|
+
[name: string]: unknown;
|
|
19076
|
+
};
|
|
19077
|
+
content: {
|
|
19078
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19079
|
+
};
|
|
19080
|
+
};
|
|
19081
|
+
/** @description Prompt not found */
|
|
19082
|
+
404: {
|
|
19083
|
+
headers: {
|
|
19084
|
+
[name: string]: unknown;
|
|
19085
|
+
};
|
|
19086
|
+
content: {
|
|
19087
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19088
|
+
};
|
|
19089
|
+
};
|
|
19090
|
+
/** @description The prompt is already locked (code `RESOURCE_LOCKED`) */
|
|
19091
|
+
409: {
|
|
19092
|
+
headers: {
|
|
19093
|
+
[name: string]: unknown;
|
|
19094
|
+
};
|
|
19095
|
+
content: {
|
|
19096
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19097
|
+
};
|
|
19098
|
+
};
|
|
19099
|
+
/** @description Internal server error */
|
|
19100
|
+
500: {
|
|
19101
|
+
headers: {
|
|
19102
|
+
[name: string]: unknown;
|
|
19103
|
+
};
|
|
19104
|
+
content: {
|
|
19105
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19106
|
+
};
|
|
19107
|
+
};
|
|
19108
|
+
};
|
|
19109
|
+
};
|
|
19110
|
+
unlockPrompt: {
|
|
19111
|
+
parameters: {
|
|
19112
|
+
query?: never;
|
|
19113
|
+
header?: never;
|
|
19114
|
+
path: {
|
|
19115
|
+
/** @description Team identifier */
|
|
19116
|
+
team_id: string;
|
|
19117
|
+
/** @description Prompt slug identifier */
|
|
19118
|
+
slug: string;
|
|
19119
|
+
};
|
|
19120
|
+
cookie?: never;
|
|
19121
|
+
};
|
|
19122
|
+
requestBody?: never;
|
|
19123
|
+
responses: {
|
|
19124
|
+
/** @description Prompt unlocked; the updated prompt is returned */
|
|
19125
|
+
200: {
|
|
19126
|
+
headers: {
|
|
19127
|
+
[name: string]: unknown;
|
|
19128
|
+
};
|
|
19129
|
+
content: {
|
|
19130
|
+
"application/json": components["schemas"]["Prompt"];
|
|
19131
|
+
};
|
|
19132
|
+
};
|
|
19133
|
+
/** @description Bad request: a malformed path parameter */
|
|
19134
|
+
400: {
|
|
19135
|
+
headers: {
|
|
19136
|
+
[name: string]: unknown;
|
|
19137
|
+
};
|
|
19138
|
+
content: {
|
|
19139
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19140
|
+
};
|
|
19141
|
+
};
|
|
19142
|
+
/** @description Unauthorized */
|
|
19143
|
+
401: {
|
|
19144
|
+
headers: {
|
|
19145
|
+
[name: string]: unknown;
|
|
19146
|
+
};
|
|
19147
|
+
content: {
|
|
19148
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19149
|
+
};
|
|
19150
|
+
};
|
|
19151
|
+
/** @description 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` */
|
|
19152
|
+
403: {
|
|
19153
|
+
headers: {
|
|
19154
|
+
[name: string]: unknown;
|
|
19155
|
+
};
|
|
19156
|
+
content: {
|
|
19157
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19158
|
+
};
|
|
19159
|
+
};
|
|
19160
|
+
/** @description Prompt not found */
|
|
19161
|
+
404: {
|
|
19162
|
+
headers: {
|
|
19163
|
+
[name: string]: unknown;
|
|
19164
|
+
};
|
|
19165
|
+
content: {
|
|
19166
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19167
|
+
};
|
|
19168
|
+
};
|
|
19169
|
+
/** @description The prompt is not locked (code `RESOURCE_NOT_LOCKED`) */
|
|
19170
|
+
409: {
|
|
19171
|
+
headers: {
|
|
19172
|
+
[name: string]: unknown;
|
|
19173
|
+
};
|
|
19174
|
+
content: {
|
|
19175
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19176
|
+
};
|
|
19177
|
+
};
|
|
19178
|
+
/** @description Internal server error */
|
|
19179
|
+
500: {
|
|
19180
|
+
headers: {
|
|
19181
|
+
[name: string]: unknown;
|
|
19182
|
+
};
|
|
19183
|
+
content: {
|
|
19184
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19185
|
+
};
|
|
19186
|
+
};
|
|
19187
|
+
};
|
|
19188
|
+
};
|
|
19189
|
+
getPromptLockHistory: {
|
|
19190
|
+
parameters: {
|
|
19191
|
+
query?: never;
|
|
19192
|
+
header?: never;
|
|
19193
|
+
path: {
|
|
19194
|
+
/** @description Team identifier */
|
|
19195
|
+
team_id: string;
|
|
19196
|
+
/** @description Prompt slug identifier */
|
|
19197
|
+
slug: string;
|
|
19198
|
+
};
|
|
19199
|
+
cookie?: never;
|
|
19200
|
+
};
|
|
19201
|
+
requestBody?: never;
|
|
19202
|
+
responses: {
|
|
19203
|
+
/** @description Lock history retrieved successfully */
|
|
19204
|
+
200: {
|
|
19205
|
+
headers: {
|
|
19206
|
+
[name: string]: unknown;
|
|
19207
|
+
};
|
|
19208
|
+
content: {
|
|
19209
|
+
"application/json": components["schemas"]["ResourceLockHistoryResponse"];
|
|
19210
|
+
};
|
|
19211
|
+
};
|
|
19212
|
+
/** @description Bad request: a malformed path parameter */
|
|
19213
|
+
400: {
|
|
19214
|
+
headers: {
|
|
19215
|
+
[name: string]: unknown;
|
|
19216
|
+
};
|
|
19217
|
+
content: {
|
|
19218
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19219
|
+
};
|
|
19220
|
+
};
|
|
19221
|
+
/** @description Unauthorized */
|
|
19222
|
+
401: {
|
|
19223
|
+
headers: {
|
|
19224
|
+
[name: string]: unknown;
|
|
19225
|
+
};
|
|
19226
|
+
content: {
|
|
19227
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19228
|
+
};
|
|
19229
|
+
};
|
|
19230
|
+
/** @description Forbidden: not a member of the team */
|
|
19231
|
+
403: {
|
|
19232
|
+
headers: {
|
|
19233
|
+
[name: string]: unknown;
|
|
19234
|
+
};
|
|
19235
|
+
content: {
|
|
19236
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19237
|
+
};
|
|
19238
|
+
};
|
|
19239
|
+
/** @description Prompt not found */
|
|
19240
|
+
404: {
|
|
19241
|
+
headers: {
|
|
19242
|
+
[name: string]: unknown;
|
|
19243
|
+
};
|
|
19244
|
+
content: {
|
|
19245
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19246
|
+
};
|
|
19247
|
+
};
|
|
19248
|
+
/** @description Internal server error */
|
|
19249
|
+
500: {
|
|
19250
|
+
headers: {
|
|
19251
|
+
[name: string]: unknown;
|
|
19252
|
+
};
|
|
19253
|
+
content: {
|
|
19254
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
19255
|
+
};
|
|
19256
|
+
};
|
|
19257
|
+
};
|
|
19258
|
+
};
|
|
18311
19259
|
getPromptPlaceholders: {
|
|
18312
19260
|
parameters: {
|
|
18313
19261
|
query?: never;
|