@vibexp/api-client 0.102.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 +554 -2
- package/dist/schema.d.ts +1019 -71
- 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,73 @@ 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
|
+
export type LockResourceRequest = {
|
|
2097
|
+
/**
|
|
2098
|
+
* 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.
|
|
2099
|
+
*/
|
|
2100
|
+
comment: string;
|
|
2101
|
+
};
|
|
2102
|
+
/**
|
|
2103
|
+
* One entry of a resource's append-only lock history.
|
|
2104
|
+
*/
|
|
2105
|
+
export type ResourceLockEvent = {
|
|
2106
|
+
/**
|
|
2107
|
+
* ID of the history event.
|
|
2108
|
+
*/
|
|
2109
|
+
id: string;
|
|
2110
|
+
/**
|
|
2111
|
+
* Whether the resource was locked or unlocked.
|
|
2112
|
+
*/
|
|
2113
|
+
action: 'lock' | 'unlock';
|
|
2114
|
+
/**
|
|
2115
|
+
* Who locked or unlocked the resource. Null once that user's account has been deleted.
|
|
2116
|
+
*/
|
|
2117
|
+
actor: ResourceLockActor | null;
|
|
2118
|
+
/**
|
|
2119
|
+
* The lock comment for a `lock` event; null for an `unlock`.
|
|
2120
|
+
*/
|
|
2121
|
+
comment: string | null;
|
|
2122
|
+
/**
|
|
2123
|
+
* When the event happened.
|
|
2124
|
+
*/
|
|
2125
|
+
created_at: string;
|
|
2126
|
+
};
|
|
2127
|
+
export type ResourceLockHistoryResponse = {
|
|
2128
|
+
/**
|
|
2129
|
+
* Lock and unlock events, newest first. Not paginated: at most the 100 most recent events are returned.
|
|
2130
|
+
*/
|
|
2131
|
+
events: Array<ResourceLockEvent>;
|
|
2132
|
+
};
|
|
2058
2133
|
export type CreateProjectRequest = {
|
|
2059
2134
|
/**
|
|
2060
2135
|
* Human-readable name of the project
|
|
@@ -2565,6 +2640,10 @@ export type Blueprint = {
|
|
|
2565
2640
|
*/
|
|
2566
2641
|
project: ProjectSummary | null;
|
|
2567
2642
|
freshness?: ResourceFreshnessState;
|
|
2643
|
+
/**
|
|
2644
|
+
* The lock held on this resource (epic #1285), or null when it is not locked. Present on every read, list and write response.
|
|
2645
|
+
*/
|
|
2646
|
+
lock: ResourceLock | null;
|
|
2568
2647
|
};
|
|
2569
2648
|
/**
|
|
2570
2649
|
* Read-only import provenance; present only for imported blueprints.
|
|
@@ -3328,9 +3407,9 @@ export type Team = {
|
|
|
3328
3407
|
/**
|
|
3329
3408
|
* Exactly what `role` permits the requesting user to do in this team, expanded server-side from the role matrix (epic #220). Clients MUST gate their UI on these strings rather than re-deriving them from `role` — the matrix lives on the server and may change without a client release.
|
|
3330
3409
|
* Computed at read time for the requesting user, alongside `role`, and always present (an empty array means the role grants nothing). The values are stable API surface: renaming one is a breaking change, and they are kept byte-identical to the `internal/authz` constants by a drift test. Meanings:
|
|
3331
|
-
* * `team.update` — change team name, slug or description. * `team.delete` — delete the team (owner only). * `team.transfer` — transfer ownership to another member (owner only). * `team.settings.update` — change team-level configuration, such as search ranking. * `member.invite` — invite new members. * `member.remove` — remove members from the team. * `member.role.update` — change a member's role. * `project.create` — create a project in the team. * `project.update` — update any project in the team. * `project.delete` — delete any project in the team. * `resource.create` — create a prompt, memory, artifact, blueprint or agent. * `resource.update.any` — update any resource, including other members'. * `resource.delete.own` — delete a resource the caller created. * `resource.delete.any` — delete a resource created by someone else. * `feed.delete.any` — delete another member's feed post or reply (moderation).
|
|
3410
|
+
* * `team.update` — change team name, slug or description. * `team.delete` — delete the team (owner only). * `team.transfer` — transfer ownership to another member (owner only). * `team.settings.update` — change team-level configuration, such as search ranking. * `member.invite` — invite new members. * `member.remove` — remove members from the team. * `member.role.update` — change a member's role. * `project.create` — create a project in the team. * `project.update` — update any project in the team. * `project.delete` — delete any project in the team. * `resource.create` — create a prompt, memory, artifact, blueprint or agent. * `resource.update.any` — update any resource, including other members'. * `resource.delete.own` — delete a resource the caller created. * `resource.delete.any` — delete a resource created by someone else. * `resource.unlock.any` — unlock a resource locked by someone else. * `feed.delete.any` — delete another member's feed post or reply (moderation).
|
|
3332
3411
|
*/
|
|
3333
|
-
permissions: Array<'team.update' | 'team.delete' | 'team.transfer' | 'team.settings.update' | 'member.invite' | 'member.remove' | 'member.role.update' | 'project.create' | 'project.update' | 'project.delete' | 'resource.create' | 'resource.update.any' | 'resource.delete.own' | 'resource.delete.any' | 'feed.delete.any'>;
|
|
3412
|
+
permissions: Array<'team.update' | 'team.delete' | 'team.transfer' | 'team.settings.update' | 'member.invite' | 'member.remove' | 'member.role.update' | 'project.create' | 'project.update' | 'project.delete' | 'resource.create' | 'resource.update.any' | 'resource.delete.own' | 'resource.delete.any' | 'resource.unlock.any' | 'feed.delete.any'>;
|
|
3334
3413
|
/**
|
|
3335
3414
|
* Number of members in this team. Populated only on list responses; 0 on create and single-team reads.
|
|
3336
3415
|
*/
|
|
@@ -7902,6 +7981,10 @@ export type ListArtifactsData = {
|
|
|
7902
7981
|
team_id: string;
|
|
7903
7982
|
};
|
|
7904
7983
|
query?: {
|
|
7984
|
+
/**
|
|
7985
|
+
* 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.
|
|
7986
|
+
*/
|
|
7987
|
+
locked?: boolean;
|
|
7905
7988
|
/**
|
|
7906
7989
|
* 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
7990
|
*/
|
|
@@ -8050,6 +8133,10 @@ export type ListArtifactsByProjectData = {
|
|
|
8050
8133
|
project_id: string;
|
|
8051
8134
|
};
|
|
8052
8135
|
query?: {
|
|
8136
|
+
/**
|
|
8137
|
+
* 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.
|
|
8138
|
+
*/
|
|
8139
|
+
locked?: boolean;
|
|
8053
8140
|
/**
|
|
8054
8141
|
* 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
8142
|
*/
|
|
@@ -8246,6 +8333,161 @@ export type UpdateArtifactResponses = {
|
|
|
8246
8333
|
200: Artifact;
|
|
8247
8334
|
};
|
|
8248
8335
|
export type UpdateArtifactResponse = UpdateArtifactResponses[keyof UpdateArtifactResponses];
|
|
8336
|
+
export type UnlockArtifactData = {
|
|
8337
|
+
body?: never;
|
|
8338
|
+
path: {
|
|
8339
|
+
/**
|
|
8340
|
+
* Team identifier
|
|
8341
|
+
*/
|
|
8342
|
+
team_id: string;
|
|
8343
|
+
/**
|
|
8344
|
+
* UUID of the project
|
|
8345
|
+
*/
|
|
8346
|
+
project_id: string;
|
|
8347
|
+
/**
|
|
8348
|
+
* Artifact slug
|
|
8349
|
+
*/
|
|
8350
|
+
slug: string;
|
|
8351
|
+
};
|
|
8352
|
+
query?: never;
|
|
8353
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}/lock';
|
|
8354
|
+
};
|
|
8355
|
+
export type UnlockArtifactErrors = {
|
|
8356
|
+
/**
|
|
8357
|
+
* Bad request: a malformed path parameter
|
|
8358
|
+
*/
|
|
8359
|
+
400: ErrorResponse;
|
|
8360
|
+
/**
|
|
8361
|
+
* Unauthorized
|
|
8362
|
+
*/
|
|
8363
|
+
401: ErrorResponse;
|
|
8364
|
+
/**
|
|
8365
|
+
* 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`
|
|
8366
|
+
*/
|
|
8367
|
+
403: ErrorResponse;
|
|
8368
|
+
/**
|
|
8369
|
+
* Artifact not found
|
|
8370
|
+
*/
|
|
8371
|
+
404: ErrorResponse;
|
|
8372
|
+
/**
|
|
8373
|
+
* The artifact is not locked (code `RESOURCE_NOT_LOCKED`)
|
|
8374
|
+
*/
|
|
8375
|
+
409: ErrorResponse;
|
|
8376
|
+
/**
|
|
8377
|
+
* Internal server error
|
|
8378
|
+
*/
|
|
8379
|
+
500: ErrorResponse;
|
|
8380
|
+
};
|
|
8381
|
+
export type UnlockArtifactError = UnlockArtifactErrors[keyof UnlockArtifactErrors];
|
|
8382
|
+
export type UnlockArtifactResponses = {
|
|
8383
|
+
/**
|
|
8384
|
+
* Artifact unlocked; the updated artifact is returned
|
|
8385
|
+
*/
|
|
8386
|
+
200: Artifact;
|
|
8387
|
+
};
|
|
8388
|
+
export type UnlockArtifactResponse = UnlockArtifactResponses[keyof UnlockArtifactResponses];
|
|
8389
|
+
export type LockArtifactData = {
|
|
8390
|
+
body: LockResourceRequest;
|
|
8391
|
+
path: {
|
|
8392
|
+
/**
|
|
8393
|
+
* Team identifier
|
|
8394
|
+
*/
|
|
8395
|
+
team_id: string;
|
|
8396
|
+
/**
|
|
8397
|
+
* UUID of the project
|
|
8398
|
+
*/
|
|
8399
|
+
project_id: string;
|
|
8400
|
+
/**
|
|
8401
|
+
* Artifact slug
|
|
8402
|
+
*/
|
|
8403
|
+
slug: string;
|
|
8404
|
+
};
|
|
8405
|
+
query?: never;
|
|
8406
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}/lock';
|
|
8407
|
+
};
|
|
8408
|
+
export type LockArtifactErrors = {
|
|
8409
|
+
/**
|
|
8410
|
+
* Bad request: a malformed path parameter or request body, or a missing, blank or too long comment
|
|
8411
|
+
*/
|
|
8412
|
+
400: ErrorResponse;
|
|
8413
|
+
/**
|
|
8414
|
+
* Unauthorized
|
|
8415
|
+
*/
|
|
8416
|
+
401: ErrorResponse;
|
|
8417
|
+
/**
|
|
8418
|
+
* Forbidden: not a member of the team
|
|
8419
|
+
*/
|
|
8420
|
+
403: ErrorResponse;
|
|
8421
|
+
/**
|
|
8422
|
+
* Artifact not found
|
|
8423
|
+
*/
|
|
8424
|
+
404: ErrorResponse;
|
|
8425
|
+
/**
|
|
8426
|
+
* The artifact is already locked (code `RESOURCE_LOCKED`)
|
|
8427
|
+
*/
|
|
8428
|
+
409: ErrorResponse;
|
|
8429
|
+
/**
|
|
8430
|
+
* Internal server error
|
|
8431
|
+
*/
|
|
8432
|
+
500: ErrorResponse;
|
|
8433
|
+
};
|
|
8434
|
+
export type LockArtifactError = LockArtifactErrors[keyof LockArtifactErrors];
|
|
8435
|
+
export type LockArtifactResponses = {
|
|
8436
|
+
/**
|
|
8437
|
+
* Artifact locked; the updated artifact is returned
|
|
8438
|
+
*/
|
|
8439
|
+
200: Artifact;
|
|
8440
|
+
};
|
|
8441
|
+
export type LockArtifactResponse = LockArtifactResponses[keyof LockArtifactResponses];
|
|
8442
|
+
export type GetArtifactLockHistoryData = {
|
|
8443
|
+
body?: never;
|
|
8444
|
+
path: {
|
|
8445
|
+
/**
|
|
8446
|
+
* Team identifier
|
|
8447
|
+
*/
|
|
8448
|
+
team_id: string;
|
|
8449
|
+
/**
|
|
8450
|
+
* UUID of the project
|
|
8451
|
+
*/
|
|
8452
|
+
project_id: string;
|
|
8453
|
+
/**
|
|
8454
|
+
* Artifact slug
|
|
8455
|
+
*/
|
|
8456
|
+
slug: string;
|
|
8457
|
+
};
|
|
8458
|
+
query?: never;
|
|
8459
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}/lock/history';
|
|
8460
|
+
};
|
|
8461
|
+
export type GetArtifactLockHistoryErrors = {
|
|
8462
|
+
/**
|
|
8463
|
+
* Bad request: a malformed path parameter
|
|
8464
|
+
*/
|
|
8465
|
+
400: ErrorResponse;
|
|
8466
|
+
/**
|
|
8467
|
+
* Unauthorized
|
|
8468
|
+
*/
|
|
8469
|
+
401: ErrorResponse;
|
|
8470
|
+
/**
|
|
8471
|
+
* Forbidden: not a member of the team
|
|
8472
|
+
*/
|
|
8473
|
+
403: ErrorResponse;
|
|
8474
|
+
/**
|
|
8475
|
+
* Artifact not found
|
|
8476
|
+
*/
|
|
8477
|
+
404: ErrorResponse;
|
|
8478
|
+
/**
|
|
8479
|
+
* Internal server error
|
|
8480
|
+
*/
|
|
8481
|
+
500: ErrorResponse;
|
|
8482
|
+
};
|
|
8483
|
+
export type GetArtifactLockHistoryError = GetArtifactLockHistoryErrors[keyof GetArtifactLockHistoryErrors];
|
|
8484
|
+
export type GetArtifactLockHistoryResponses = {
|
|
8485
|
+
/**
|
|
8486
|
+
* Lock history retrieved successfully
|
|
8487
|
+
*/
|
|
8488
|
+
200: ResourceLockHistoryResponse;
|
|
8489
|
+
};
|
|
8490
|
+
export type GetArtifactLockHistoryResponse = GetArtifactLockHistoryResponses[keyof GetArtifactLockHistoryResponses];
|
|
8249
8491
|
export type ListAttachmentsData = {
|
|
8250
8492
|
body?: never;
|
|
8251
8493
|
path: {
|
|
@@ -9305,6 +9547,10 @@ export type ListSpecLibrariesData = {
|
|
|
9305
9547
|
team_id: string;
|
|
9306
9548
|
};
|
|
9307
9549
|
query?: {
|
|
9550
|
+
/**
|
|
9551
|
+
* 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.
|
|
9552
|
+
*/
|
|
9553
|
+
locked?: boolean;
|
|
9308
9554
|
/**
|
|
9309
9555
|
* 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
9556
|
*/
|
|
@@ -9461,6 +9707,10 @@ export type ListSpecLibrariesByProjectData = {
|
|
|
9461
9707
|
project_id: string;
|
|
9462
9708
|
};
|
|
9463
9709
|
query?: {
|
|
9710
|
+
/**
|
|
9711
|
+
* 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.
|
|
9712
|
+
*/
|
|
9713
|
+
locked?: boolean;
|
|
9464
9714
|
/**
|
|
9465
9715
|
* 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
9716
|
*/
|
|
@@ -9673,6 +9923,161 @@ export type UpdateBlueprintResponses = {
|
|
|
9673
9923
|
200: Blueprint;
|
|
9674
9924
|
};
|
|
9675
9925
|
export type UpdateBlueprintResponse = UpdateBlueprintResponses[keyof UpdateBlueprintResponses];
|
|
9926
|
+
export type UnlockBlueprintData = {
|
|
9927
|
+
body?: never;
|
|
9928
|
+
path: {
|
|
9929
|
+
/**
|
|
9930
|
+
* Team identifier
|
|
9931
|
+
*/
|
|
9932
|
+
team_id: string;
|
|
9933
|
+
/**
|
|
9934
|
+
* Project identifier (URL-encoded)
|
|
9935
|
+
*/
|
|
9936
|
+
project_id: string;
|
|
9937
|
+
/**
|
|
9938
|
+
* Blueprint slug (URL-encoded)
|
|
9939
|
+
*/
|
|
9940
|
+
slug: string;
|
|
9941
|
+
};
|
|
9942
|
+
query?: never;
|
|
9943
|
+
url: '/api/v1/{team_id}/blueprints/{project_id}/{slug}/lock';
|
|
9944
|
+
};
|
|
9945
|
+
export type UnlockBlueprintErrors = {
|
|
9946
|
+
/**
|
|
9947
|
+
* Bad request: a malformed path parameter
|
|
9948
|
+
*/
|
|
9949
|
+
400: ErrorResponse;
|
|
9950
|
+
/**
|
|
9951
|
+
* Unauthorized
|
|
9952
|
+
*/
|
|
9953
|
+
401: ErrorResponse;
|
|
9954
|
+
/**
|
|
9955
|
+
* 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`
|
|
9956
|
+
*/
|
|
9957
|
+
403: ErrorResponse;
|
|
9958
|
+
/**
|
|
9959
|
+
* Blueprint not found
|
|
9960
|
+
*/
|
|
9961
|
+
404: ErrorResponse;
|
|
9962
|
+
/**
|
|
9963
|
+
* The blueprint is not locked (code `RESOURCE_NOT_LOCKED`)
|
|
9964
|
+
*/
|
|
9965
|
+
409: ErrorResponse;
|
|
9966
|
+
/**
|
|
9967
|
+
* Internal server error
|
|
9968
|
+
*/
|
|
9969
|
+
500: ErrorResponse;
|
|
9970
|
+
};
|
|
9971
|
+
export type UnlockBlueprintError = UnlockBlueprintErrors[keyof UnlockBlueprintErrors];
|
|
9972
|
+
export type UnlockBlueprintResponses = {
|
|
9973
|
+
/**
|
|
9974
|
+
* Blueprint unlocked; the updated blueprint is returned
|
|
9975
|
+
*/
|
|
9976
|
+
200: BlueprintDetail;
|
|
9977
|
+
};
|
|
9978
|
+
export type UnlockBlueprintResponse = UnlockBlueprintResponses[keyof UnlockBlueprintResponses];
|
|
9979
|
+
export type LockBlueprintData = {
|
|
9980
|
+
body: LockResourceRequest;
|
|
9981
|
+
path: {
|
|
9982
|
+
/**
|
|
9983
|
+
* Team identifier
|
|
9984
|
+
*/
|
|
9985
|
+
team_id: string;
|
|
9986
|
+
/**
|
|
9987
|
+
* Project identifier (URL-encoded)
|
|
9988
|
+
*/
|
|
9989
|
+
project_id: string;
|
|
9990
|
+
/**
|
|
9991
|
+
* Blueprint slug (URL-encoded)
|
|
9992
|
+
*/
|
|
9993
|
+
slug: string;
|
|
9994
|
+
};
|
|
9995
|
+
query?: never;
|
|
9996
|
+
url: '/api/v1/{team_id}/blueprints/{project_id}/{slug}/lock';
|
|
9997
|
+
};
|
|
9998
|
+
export type LockBlueprintErrors = {
|
|
9999
|
+
/**
|
|
10000
|
+
* Bad request: a malformed path parameter or request body, or a missing, blank or too long comment
|
|
10001
|
+
*/
|
|
10002
|
+
400: ErrorResponse;
|
|
10003
|
+
/**
|
|
10004
|
+
* Unauthorized
|
|
10005
|
+
*/
|
|
10006
|
+
401: ErrorResponse;
|
|
10007
|
+
/**
|
|
10008
|
+
* Forbidden: not a member of the team
|
|
10009
|
+
*/
|
|
10010
|
+
403: ErrorResponse;
|
|
10011
|
+
/**
|
|
10012
|
+
* Blueprint not found
|
|
10013
|
+
*/
|
|
10014
|
+
404: ErrorResponse;
|
|
10015
|
+
/**
|
|
10016
|
+
* The blueprint is already locked (code `RESOURCE_LOCKED`)
|
|
10017
|
+
*/
|
|
10018
|
+
409: ErrorResponse;
|
|
10019
|
+
/**
|
|
10020
|
+
* Internal server error
|
|
10021
|
+
*/
|
|
10022
|
+
500: ErrorResponse;
|
|
10023
|
+
};
|
|
10024
|
+
export type LockBlueprintError = LockBlueprintErrors[keyof LockBlueprintErrors];
|
|
10025
|
+
export type LockBlueprintResponses = {
|
|
10026
|
+
/**
|
|
10027
|
+
* Blueprint locked; the updated blueprint is returned
|
|
10028
|
+
*/
|
|
10029
|
+
200: BlueprintDetail;
|
|
10030
|
+
};
|
|
10031
|
+
export type LockBlueprintResponse = LockBlueprintResponses[keyof LockBlueprintResponses];
|
|
10032
|
+
export type GetBlueprintLockHistoryData = {
|
|
10033
|
+
body?: never;
|
|
10034
|
+
path: {
|
|
10035
|
+
/**
|
|
10036
|
+
* Team identifier
|
|
10037
|
+
*/
|
|
10038
|
+
team_id: string;
|
|
10039
|
+
/**
|
|
10040
|
+
* Project identifier (URL-encoded)
|
|
10041
|
+
*/
|
|
10042
|
+
project_id: string;
|
|
10043
|
+
/**
|
|
10044
|
+
* Blueprint slug (URL-encoded)
|
|
10045
|
+
*/
|
|
10046
|
+
slug: string;
|
|
10047
|
+
};
|
|
10048
|
+
query?: never;
|
|
10049
|
+
url: '/api/v1/{team_id}/blueprints/{project_id}/{slug}/lock/history';
|
|
10050
|
+
};
|
|
10051
|
+
export type GetBlueprintLockHistoryErrors = {
|
|
10052
|
+
/**
|
|
10053
|
+
* Bad request: a malformed path parameter
|
|
10054
|
+
*/
|
|
10055
|
+
400: ErrorResponse;
|
|
10056
|
+
/**
|
|
10057
|
+
* Unauthorized
|
|
10058
|
+
*/
|
|
10059
|
+
401: ErrorResponse;
|
|
10060
|
+
/**
|
|
10061
|
+
* Forbidden: not a member of the team
|
|
10062
|
+
*/
|
|
10063
|
+
403: ErrorResponse;
|
|
10064
|
+
/**
|
|
10065
|
+
* Blueprint not found
|
|
10066
|
+
*/
|
|
10067
|
+
404: ErrorResponse;
|
|
10068
|
+
/**
|
|
10069
|
+
* Internal server error
|
|
10070
|
+
*/
|
|
10071
|
+
500: ErrorResponse;
|
|
10072
|
+
};
|
|
10073
|
+
export type GetBlueprintLockHistoryError = GetBlueprintLockHistoryErrors[keyof GetBlueprintLockHistoryErrors];
|
|
10074
|
+
export type GetBlueprintLockHistoryResponses = {
|
|
10075
|
+
/**
|
|
10076
|
+
* Lock history retrieved successfully
|
|
10077
|
+
*/
|
|
10078
|
+
200: ResourceLockHistoryResponse;
|
|
10079
|
+
};
|
|
10080
|
+
export type GetBlueprintLockHistoryResponse = GetBlueprintLockHistoryResponses[keyof GetBlueprintLockHistoryResponses];
|
|
9676
10081
|
export type ListBlueprintVersionsData = {
|
|
9677
10082
|
body?: never;
|
|
9678
10083
|
path: {
|
|
@@ -9821,6 +10226,10 @@ export type ListPromptsData = {
|
|
|
9821
10226
|
team_id: string;
|
|
9822
10227
|
};
|
|
9823
10228
|
query?: {
|
|
10229
|
+
/**
|
|
10230
|
+
* 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.
|
|
10231
|
+
*/
|
|
10232
|
+
locked?: boolean;
|
|
9824
10233
|
/**
|
|
9825
10234
|
* 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
10235
|
*/
|
|
@@ -10075,6 +10484,149 @@ export type UpdatePromptResponses = {
|
|
|
10075
10484
|
200: Prompt;
|
|
10076
10485
|
};
|
|
10077
10486
|
export type UpdatePromptResponse = UpdatePromptResponses[keyof UpdatePromptResponses];
|
|
10487
|
+
export type UnlockPromptData = {
|
|
10488
|
+
body?: never;
|
|
10489
|
+
path: {
|
|
10490
|
+
/**
|
|
10491
|
+
* Team identifier
|
|
10492
|
+
*/
|
|
10493
|
+
team_id: string;
|
|
10494
|
+
/**
|
|
10495
|
+
* Prompt slug identifier
|
|
10496
|
+
*/
|
|
10497
|
+
slug: string;
|
|
10498
|
+
};
|
|
10499
|
+
query?: never;
|
|
10500
|
+
url: '/api/v1/{team_id}/prompts/{slug}/lock';
|
|
10501
|
+
};
|
|
10502
|
+
export type UnlockPromptErrors = {
|
|
10503
|
+
/**
|
|
10504
|
+
* Bad request: a malformed path parameter
|
|
10505
|
+
*/
|
|
10506
|
+
400: ErrorResponse;
|
|
10507
|
+
/**
|
|
10508
|
+
* Unauthorized
|
|
10509
|
+
*/
|
|
10510
|
+
401: ErrorResponse;
|
|
10511
|
+
/**
|
|
10512
|
+
* 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`
|
|
10513
|
+
*/
|
|
10514
|
+
403: ErrorResponse;
|
|
10515
|
+
/**
|
|
10516
|
+
* Prompt not found
|
|
10517
|
+
*/
|
|
10518
|
+
404: ErrorResponse;
|
|
10519
|
+
/**
|
|
10520
|
+
* The prompt is not locked (code `RESOURCE_NOT_LOCKED`)
|
|
10521
|
+
*/
|
|
10522
|
+
409: ErrorResponse;
|
|
10523
|
+
/**
|
|
10524
|
+
* Internal server error
|
|
10525
|
+
*/
|
|
10526
|
+
500: ErrorResponse;
|
|
10527
|
+
};
|
|
10528
|
+
export type UnlockPromptError = UnlockPromptErrors[keyof UnlockPromptErrors];
|
|
10529
|
+
export type UnlockPromptResponses = {
|
|
10530
|
+
/**
|
|
10531
|
+
* Prompt unlocked; the updated prompt is returned
|
|
10532
|
+
*/
|
|
10533
|
+
200: Prompt;
|
|
10534
|
+
};
|
|
10535
|
+
export type UnlockPromptResponse = UnlockPromptResponses[keyof UnlockPromptResponses];
|
|
10536
|
+
export type LockPromptData = {
|
|
10537
|
+
body: LockResourceRequest;
|
|
10538
|
+
path: {
|
|
10539
|
+
/**
|
|
10540
|
+
* Team identifier
|
|
10541
|
+
*/
|
|
10542
|
+
team_id: string;
|
|
10543
|
+
/**
|
|
10544
|
+
* Prompt slug identifier
|
|
10545
|
+
*/
|
|
10546
|
+
slug: string;
|
|
10547
|
+
};
|
|
10548
|
+
query?: never;
|
|
10549
|
+
url: '/api/v1/{team_id}/prompts/{slug}/lock';
|
|
10550
|
+
};
|
|
10551
|
+
export type LockPromptErrors = {
|
|
10552
|
+
/**
|
|
10553
|
+
* Bad request: a malformed path parameter or request body, or a missing, blank or too long comment
|
|
10554
|
+
*/
|
|
10555
|
+
400: ErrorResponse;
|
|
10556
|
+
/**
|
|
10557
|
+
* Unauthorized
|
|
10558
|
+
*/
|
|
10559
|
+
401: ErrorResponse;
|
|
10560
|
+
/**
|
|
10561
|
+
* Forbidden: not a member of the team
|
|
10562
|
+
*/
|
|
10563
|
+
403: ErrorResponse;
|
|
10564
|
+
/**
|
|
10565
|
+
* Prompt not found
|
|
10566
|
+
*/
|
|
10567
|
+
404: ErrorResponse;
|
|
10568
|
+
/**
|
|
10569
|
+
* The prompt is already locked (code `RESOURCE_LOCKED`)
|
|
10570
|
+
*/
|
|
10571
|
+
409: ErrorResponse;
|
|
10572
|
+
/**
|
|
10573
|
+
* Internal server error
|
|
10574
|
+
*/
|
|
10575
|
+
500: ErrorResponse;
|
|
10576
|
+
};
|
|
10577
|
+
export type LockPromptError = LockPromptErrors[keyof LockPromptErrors];
|
|
10578
|
+
export type LockPromptResponses = {
|
|
10579
|
+
/**
|
|
10580
|
+
* Prompt locked; the updated prompt is returned
|
|
10581
|
+
*/
|
|
10582
|
+
200: Prompt;
|
|
10583
|
+
};
|
|
10584
|
+
export type LockPromptResponse = LockPromptResponses[keyof LockPromptResponses];
|
|
10585
|
+
export type GetPromptLockHistoryData = {
|
|
10586
|
+
body?: never;
|
|
10587
|
+
path: {
|
|
10588
|
+
/**
|
|
10589
|
+
* Team identifier
|
|
10590
|
+
*/
|
|
10591
|
+
team_id: string;
|
|
10592
|
+
/**
|
|
10593
|
+
* Prompt slug identifier
|
|
10594
|
+
*/
|
|
10595
|
+
slug: string;
|
|
10596
|
+
};
|
|
10597
|
+
query?: never;
|
|
10598
|
+
url: '/api/v1/{team_id}/prompts/{slug}/lock/history';
|
|
10599
|
+
};
|
|
10600
|
+
export type GetPromptLockHistoryErrors = {
|
|
10601
|
+
/**
|
|
10602
|
+
* Bad request: a malformed path parameter
|
|
10603
|
+
*/
|
|
10604
|
+
400: ErrorResponse;
|
|
10605
|
+
/**
|
|
10606
|
+
* Unauthorized
|
|
10607
|
+
*/
|
|
10608
|
+
401: ErrorResponse;
|
|
10609
|
+
/**
|
|
10610
|
+
* Forbidden: not a member of the team
|
|
10611
|
+
*/
|
|
10612
|
+
403: ErrorResponse;
|
|
10613
|
+
/**
|
|
10614
|
+
* Prompt not found
|
|
10615
|
+
*/
|
|
10616
|
+
404: ErrorResponse;
|
|
10617
|
+
/**
|
|
10618
|
+
* Internal server error
|
|
10619
|
+
*/
|
|
10620
|
+
500: ErrorResponse;
|
|
10621
|
+
};
|
|
10622
|
+
export type GetPromptLockHistoryError = GetPromptLockHistoryErrors[keyof GetPromptLockHistoryErrors];
|
|
10623
|
+
export type GetPromptLockHistoryResponses = {
|
|
10624
|
+
/**
|
|
10625
|
+
* Lock history retrieved successfully
|
|
10626
|
+
*/
|
|
10627
|
+
200: ResourceLockHistoryResponse;
|
|
10628
|
+
};
|
|
10629
|
+
export type GetPromptLockHistoryResponse = GetPromptLockHistoryResponses[keyof GetPromptLockHistoryResponses];
|
|
10078
10630
|
export type GetPromptPlaceholdersData = {
|
|
10079
10631
|
body?: never;
|
|
10080
10632
|
path: {
|