@cadenya/cadenya 0.68.0 → 0.70.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.
Files changed (68) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/client.d.mts +6 -6
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +6 -6
  5. package/client.d.ts.map +1 -1
  6. package/client.js +3 -3
  7. package/client.js.map +1 -1
  8. package/client.mjs +3 -3
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/account.d.mts +17 -12
  12. package/resources/account.d.mts.map +1 -1
  13. package/resources/account.d.ts +17 -12
  14. package/resources/account.d.ts.map +1 -1
  15. package/resources/account.js.map +1 -1
  16. package/resources/account.mjs.map +1 -1
  17. package/resources/api-keys/access.d.mts +47 -0
  18. package/resources/api-keys/access.d.mts.map +1 -0
  19. package/resources/api-keys/access.d.ts +47 -0
  20. package/resources/api-keys/access.d.ts.map +1 -0
  21. package/resources/api-keys/access.js +41 -0
  22. package/resources/api-keys/access.js.map +1 -0
  23. package/resources/api-keys/access.mjs +37 -0
  24. package/resources/api-keys/access.mjs.map +1 -0
  25. package/resources/api-keys/api-keys.d.mts +213 -0
  26. package/resources/api-keys/api-keys.d.mts.map +1 -0
  27. package/resources/api-keys/api-keys.d.ts +213 -0
  28. package/resources/api-keys/api-keys.d.ts.map +1 -0
  29. package/resources/api-keys/api-keys.js +65 -0
  30. package/resources/api-keys/api-keys.js.map +1 -0
  31. package/resources/api-keys/api-keys.mjs +60 -0
  32. package/resources/api-keys/api-keys.mjs.map +1 -0
  33. package/resources/api-keys/index.d.mts +3 -0
  34. package/resources/api-keys/index.d.mts.map +1 -0
  35. package/resources/api-keys/index.d.ts +3 -0
  36. package/resources/api-keys/index.d.ts.map +1 -0
  37. package/resources/api-keys/index.js +9 -0
  38. package/resources/api-keys/index.js.map +1 -0
  39. package/resources/api-keys/index.mjs +4 -0
  40. package/resources/api-keys/index.mjs.map +1 -0
  41. package/resources/api-keys.d.mts +1 -151
  42. package/resources/api-keys.d.mts.map +1 -1
  43. package/resources/api-keys.d.ts +1 -151
  44. package/resources/api-keys.d.ts.map +1 -1
  45. package/resources/api-keys.js +2 -59
  46. package/resources/api-keys.js.map +1 -1
  47. package/resources/api-keys.mjs +1 -57
  48. package/resources/api-keys.mjs.map +1 -1
  49. package/resources/index.d.mts +2 -2
  50. package/resources/index.d.mts.map +1 -1
  51. package/resources/index.d.ts +2 -2
  52. package/resources/index.d.ts.map +1 -1
  53. package/resources/index.js +1 -1
  54. package/resources/index.js.map +1 -1
  55. package/resources/index.mjs +1 -1
  56. package/resources/index.mjs.map +1 -1
  57. package/src/client.ts +14 -18
  58. package/src/resources/account.ts +18 -11
  59. package/src/resources/api-keys/access.ts +79 -0
  60. package/src/resources/api-keys/api-keys.ts +282 -0
  61. package/src/resources/api-keys/index.ts +13 -0
  62. package/src/resources/api-keys.ts +1 -218
  63. package/src/resources/index.ts +2 -4
  64. package/src/version.ts +1 -1
  65. package/version.d.mts +1 -1
  66. package/version.d.ts +1 -1
  67. package/version.js +1 -1
  68. package/version.mjs +1 -1
@@ -1,6 +1,7 @@
1
1
  import { APIResource } from "../core/resource.js";
2
2
  import * as Shared from "./shared.js";
3
3
  import * as WorkspacesAPI from "./workspaces.js";
4
+ import * as APIKeysAPI from "./api-keys/api-keys.js";
4
5
  import { APIPromise } from "../core/api-promise.js";
5
6
  import { RequestOptions } from "../internal/request-options.js";
6
7
  /**
@@ -26,7 +27,7 @@ export interface Account {
26
27
  /**
27
28
  * Server-populated information about the account.
28
29
  */
29
- info: Account.Info;
30
+ info: AccountInfo;
30
31
  /**
31
32
  * AccountResourceMetadata is used to represent a resource that is associated to an
32
33
  * account but not to a workspace.
@@ -37,18 +38,22 @@ export interface Account {
37
38
  */
38
39
  spec: AccountSpec;
39
40
  }
40
- export declare namespace Account {
41
+ /**
42
+ * Server-populated information about the account.
43
+ */
44
+ export interface AccountInfo {
41
45
  /**
42
- * Server-populated information about the account.
46
+ * An API key for the account. Use workspace-association RPCs to grant the key
47
+ * access to specific workspaces; a key with zero workspaces is valid but cannot
48
+ * access workspace-scoped resources.
43
49
  */
44
- interface Info {
45
- /**
46
- * The generated secret that will sign all webhooks that are sent to your
47
- * configured Webhook URL. Formatted as "wh_asdf1234" per the
48
- * https://www.standardwebhooks.com/ format.
49
- */
50
- webhookEventsHmacSecret?: string;
51
- }
50
+ globalApiKey?: APIKeysAPI.APIKey;
51
+ /**
52
+ * The generated secret that will sign all webhooks that are sent to your
53
+ * configured Webhook URL. Formatted as "wh_asdf1234" per the
54
+ * https://www.standardwebhooks.com/ format.
55
+ */
56
+ webhookEventsHmacSecret?: string;
52
57
  }
53
58
  /**
54
59
  * Configuration for an account.
@@ -100,6 +105,6 @@ export interface RotateWebhookSigningKeyResponse {
100
105
  webhookEventsHmacSecret?: string;
101
106
  }
102
107
  export declare namespace AccountResource {
103
- export { type Account as Account, type AccountSpec as AccountSpec, type Profile as Profile, type ProfileSpec as ProfileSpec, type RotateWebhookSigningKeyResponse as RotateWebhookSigningKeyResponse, };
108
+ export { type Account as Account, type AccountInfo as AccountInfo, type AccountSpec as AccountSpec, type Profile as Profile, type ProfileSpec as ProfileSpec, type RotateWebhookSigningKeyResponse as RotateWebhookSigningKeyResponse, };
104
109
  }
105
110
  //# sourceMappingURL=account.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../src/resources/account.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,KAAK,MAAM;OACX,KAAK,aAAa;OAClB,EAAE,UAAU,EAAE;OACd,EAAE,cAAc,EAAE;AAEzB;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;IAIvD;;OAEG;IACH,uBAAuB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,+BAA+B,CAAC;CAG/F;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IAEnB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC,uBAAuB,CAAC;IAEzC;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,yBAAiB,OAAO,CAAC;IACvB;;OAEG;IACH,UAAiB,IAAI;QACnB;;;;WAIG;QACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC;CACF;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;CAC7C;AAED;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC,uBAAuB,CAAC;IAEzC;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,mBAAmB,GAAG,sBAAsB,GAAG,qBAAqB,CAAC;IAE3E;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,CAAC,OAAO,WAAW,eAAe,CAAC;IACvC,OAAO,EACL,KAAK,OAAO,IAAI,OAAO,EACvB,KAAK,WAAW,IAAI,WAAW,EAC/B,KAAK,OAAO,IAAI,OAAO,EACvB,KAAK,WAAW,IAAI,WAAW,EAC/B,KAAK,+BAA+B,IAAI,+BAA+B,GACxE,CAAC;CACH"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../src/resources/account.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,KAAK,MAAM;OACX,KAAK,aAAa;OAClB,KAAK,UAAU;OACf,EAAE,UAAU,EAAE;OACd,EAAE,cAAc,EAAE;AAEzB;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;IAIvD;;OAEG;IACH,uBAAuB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,+BAA+B,CAAC;CAG/F;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC,uBAAuB,CAAC;IAEzC;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC;IAEjC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;CAC7C;AAED;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC,uBAAuB,CAAC;IAEzC;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,mBAAmB,GAAG,sBAAsB,GAAG,qBAAqB,CAAC;IAE3E;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,CAAC,OAAO,WAAW,eAAe,CAAC;IACvC,OAAO,EACL,KAAK,OAAO,IAAI,OAAO,EACvB,KAAK,WAAW,IAAI,WAAW,EAC/B,KAAK,WAAW,IAAI,WAAW,EAC/B,KAAK,OAAO,IAAI,OAAO,EACvB,KAAK,WAAW,IAAI,WAAW,EAC/B,KAAK,+BAA+B,IAAI,+BAA+B,GACxE,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../src/resources/account.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAM/C;;;GAGG;AACH,MAAa,eAAgB,SAAQ,sBAAW;IAC9C;;;OAGG;IACH,QAAQ,CAAC,OAAwB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,OAAwB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;CACF;AAfD,0CAeC"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../src/resources/account.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAO/C;;;GAGG;AACH,MAAa,eAAgB,SAAQ,sBAAW;IAC9C;;;OAGG;IACH,QAAQ,CAAC,OAAwB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,OAAwB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;CACF;AAfD,0CAeC"}
@@ -1 +1 @@
1
- {"version":3,"file":"account.mjs","sourceRoot":"","sources":["../src/resources/account.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;AAMtB;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C;;;OAGG;IACH,QAAQ,CAAC,OAAwB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,OAAwB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;CACF"}
1
+ {"version":3,"file":"account.mjs","sourceRoot":"","sources":["../src/resources/account.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;AAOtB;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C;;;OAGG;IACH,QAAQ,CAAC,OAAwB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,OAAwB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;CACF"}
@@ -0,0 +1,47 @@
1
+ import { APIResource } from "../../core/resource.mjs";
2
+ import * as WorkspacesAPI from "../workspaces.mjs";
3
+ import { WorkspacesCursorPagination } from "../workspaces.mjs";
4
+ import * as APIKeysAPI from "./api-keys.mjs";
5
+ import { APIPromise } from "../../core/api-promise.mjs";
6
+ import { type CursorPaginationParams, PagePromise } from "../../core/pagination.mjs";
7
+ import { RequestOptions } from "../../internal/request-options.mjs";
8
+ /**
9
+ * Issue, rotate, and revoke API keys for the account, and grant or revoke
10
+ * each key's access to individual workspaces.
11
+ */
12
+ export declare class Access extends APIResource {
13
+ /**
14
+ * Lists the workspaces this API key has access to. Cursor-paginated.
15
+ */
16
+ list(id: string, query?: AccessListParams | null | undefined, options?: RequestOptions): PagePromise<WorkspacesCursorPagination, WorkspacesAPI.Workspace>;
17
+ /**
18
+ * Grants this API key access to the specified workspace. Idempotent — adding an
19
+ * already-associated workspace is a no-op. Returns the updated API key with
20
+ * refreshed workspace preview and total.
21
+ */
22
+ add(id: string, body: AccessAddParams, options?: RequestOptions): APIPromise<APIKeysAPI.APIKey>;
23
+ /**
24
+ * Revokes this API key's access to the specified workspace. Idempotent. A key may
25
+ * have zero workspaces and remains valid.
26
+ */
27
+ remove(workspaceID: string, params: AccessRemoveParams, options?: RequestOptions): APIPromise<void>;
28
+ }
29
+ export interface AccessListParams extends CursorPaginationParams {
30
+ }
31
+ export interface AccessAddParams {
32
+ /**
33
+ * The workspace to grant access to.
34
+ */
35
+ workspaceId?: string;
36
+ }
37
+ export interface AccessRemoveParams {
38
+ /**
39
+ * The API key losing workspace access (path).
40
+ */
41
+ id: string;
42
+ }
43
+ export declare namespace Access {
44
+ export { type AccessListParams as AccessListParams, type AccessAddParams as AccessAddParams, type AccessRemoveParams as AccessRemoveParams, };
45
+ }
46
+ export { type WorkspacesCursorPagination };
47
+ //# sourceMappingURL=access.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access.d.mts","sourceRoot":"","sources":["../../src/resources/api-keys/access.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,KAAK,aAAa;OAClB,EAAE,0BAA0B,EAAE;OAC9B,KAAK,UAAU;OACf,EAAE,UAAU,EAAE;OACd,EAAoB,KAAK,sBAAsB,EAAE,WAAW,EAAE;OAE9D,EAAE,cAAc,EAAE;AAGzB;;;GAGG;AACH,qBAAa,MAAO,SAAQ,WAAW;IACrC;;OAEG;IACH,IAAI,CACF,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,gBAAgB,GAAG,IAAI,GAAG,SAAc,EAC/C,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,0BAA0B,EAAE,aAAa,CAAC,SAAS,CAAC;IAQnE;;;;OAIG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;IAI/F;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;CAOpG;AAED,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;CAAG;AAEnE,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,OAAO,EACL,KAAK,gBAAgB,IAAI,gBAAgB,EACzC,KAAK,eAAe,IAAI,eAAe,EACvC,KAAK,kBAAkB,IAAI,kBAAkB,GAC9C,CAAC;CACH;AAED,OAAO,EAAE,KAAK,0BAA0B,EAAE,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { APIResource } from "../../core/resource.js";
2
+ import * as WorkspacesAPI from "../workspaces.js";
3
+ import { WorkspacesCursorPagination } from "../workspaces.js";
4
+ import * as APIKeysAPI from "./api-keys.js";
5
+ import { APIPromise } from "../../core/api-promise.js";
6
+ import { type CursorPaginationParams, PagePromise } from "../../core/pagination.js";
7
+ import { RequestOptions } from "../../internal/request-options.js";
8
+ /**
9
+ * Issue, rotate, and revoke API keys for the account, and grant or revoke
10
+ * each key's access to individual workspaces.
11
+ */
12
+ export declare class Access extends APIResource {
13
+ /**
14
+ * Lists the workspaces this API key has access to. Cursor-paginated.
15
+ */
16
+ list(id: string, query?: AccessListParams | null | undefined, options?: RequestOptions): PagePromise<WorkspacesCursorPagination, WorkspacesAPI.Workspace>;
17
+ /**
18
+ * Grants this API key access to the specified workspace. Idempotent — adding an
19
+ * already-associated workspace is a no-op. Returns the updated API key with
20
+ * refreshed workspace preview and total.
21
+ */
22
+ add(id: string, body: AccessAddParams, options?: RequestOptions): APIPromise<APIKeysAPI.APIKey>;
23
+ /**
24
+ * Revokes this API key's access to the specified workspace. Idempotent. A key may
25
+ * have zero workspaces and remains valid.
26
+ */
27
+ remove(workspaceID: string, params: AccessRemoveParams, options?: RequestOptions): APIPromise<void>;
28
+ }
29
+ export interface AccessListParams extends CursorPaginationParams {
30
+ }
31
+ export interface AccessAddParams {
32
+ /**
33
+ * The workspace to grant access to.
34
+ */
35
+ workspaceId?: string;
36
+ }
37
+ export interface AccessRemoveParams {
38
+ /**
39
+ * The API key losing workspace access (path).
40
+ */
41
+ id: string;
42
+ }
43
+ export declare namespace Access {
44
+ export { type AccessListParams as AccessListParams, type AccessAddParams as AccessAddParams, type AccessRemoveParams as AccessRemoveParams, };
45
+ }
46
+ export { type WorkspacesCursorPagination };
47
+ //# sourceMappingURL=access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/resources/api-keys/access.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,KAAK,aAAa;OAClB,EAAE,0BAA0B,EAAE;OAC9B,KAAK,UAAU;OACf,EAAE,UAAU,EAAE;OACd,EAAoB,KAAK,sBAAsB,EAAE,WAAW,EAAE;OAE9D,EAAE,cAAc,EAAE;AAGzB;;;GAGG;AACH,qBAAa,MAAO,SAAQ,WAAW;IACrC;;OAEG;IACH,IAAI,CACF,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,gBAAgB,GAAG,IAAI,GAAG,SAAc,EAC/C,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,0BAA0B,EAAE,aAAa,CAAC,SAAS,CAAC;IAQnE;;;;OAIG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;IAI/F;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;CAOpG;AAED,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;CAAG;AAEnE,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,OAAO,EACL,KAAK,gBAAgB,IAAI,gBAAgB,EACzC,KAAK,eAAe,IAAI,eAAe,EACvC,KAAK,kBAAkB,IAAI,kBAAkB,GAC9C,CAAC;CACH;AAED,OAAO,EAAE,KAAK,0BAA0B,EAAE,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Access = void 0;
5
+ const resource_1 = require("../../core/resource.js");
6
+ const pagination_1 = require("../../core/pagination.js");
7
+ const headers_1 = require("../../internal/headers.js");
8
+ const path_1 = require("../../internal/utils/path.js");
9
+ /**
10
+ * Issue, rotate, and revoke API keys for the account, and grant or revoke
11
+ * each key's access to individual workspaces.
12
+ */
13
+ class Access extends resource_1.APIResource {
14
+ /**
15
+ * Lists the workspaces this API key has access to. Cursor-paginated.
16
+ */
17
+ list(id, query = {}, options) {
18
+ return this._client.getAPIList((0, path_1.path) `/v1/account/api_keys/${id}/workspaces`, (pagination_1.CursorPagination), { query, ...options });
19
+ }
20
+ /**
21
+ * Grants this API key access to the specified workspace. Idempotent — adding an
22
+ * already-associated workspace is a no-op. Returns the updated API key with
23
+ * refreshed workspace preview and total.
24
+ */
25
+ add(id, body, options) {
26
+ return this._client.post((0, path_1.path) `/v1/account/api_keys/${id}/workspaces`, { body, ...options });
27
+ }
28
+ /**
29
+ * Revokes this API key's access to the specified workspace. Idempotent. A key may
30
+ * have zero workspaces and remains valid.
31
+ */
32
+ remove(workspaceID, params, options) {
33
+ const { id } = params;
34
+ return this._client.delete((0, path_1.path) `/v1/account/api_keys/${id}/workspaces/${workspaceID}`, {
35
+ ...options,
36
+ headers: (0, headers_1.buildHeaders)([{ Accept: '*/*' }, options?.headers]),
37
+ });
38
+ }
39
+ }
40
+ exports.Access = Access;
41
+ //# sourceMappingURL=access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/resources/api-keys/access.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,qDAAkD;AAKlD,yDAAmG;AACnG,uDAAsD;AAEtD,uDAAiD;AAEjD;;;GAGG;AACH,MAAa,MAAO,SAAQ,sBAAW;IACrC;;OAEG;IACH,IAAI,CACF,EAAU,EACV,QAA6C,EAAE,EAC/C,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAC5B,IAAA,WAAI,EAAA,wBAAwB,EAAE,aAAa,EAC3C,CAAA,6BAAyC,CAAA,EACzC,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CACtB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,EAAU,EAAE,IAAqB,EAAE,OAAwB;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,WAAI,EAAA,wBAAwB,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAmB,EAAE,MAA0B,EAAE,OAAwB;QAC9E,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,wBAAwB,EAAE,eAAe,WAAW,EAAE,EAAE;YACrF,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF;AApCD,wBAoCC"}
@@ -0,0 +1,37 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { APIResource } from "../../core/resource.mjs";
3
+ import { CursorPagination } from "../../core/pagination.mjs";
4
+ import { buildHeaders } from "../../internal/headers.mjs";
5
+ import { path } from "../../internal/utils/path.mjs";
6
+ /**
7
+ * Issue, rotate, and revoke API keys for the account, and grant or revoke
8
+ * each key's access to individual workspaces.
9
+ */
10
+ export class Access extends APIResource {
11
+ /**
12
+ * Lists the workspaces this API key has access to. Cursor-paginated.
13
+ */
14
+ list(id, query = {}, options) {
15
+ return this._client.getAPIList(path `/v1/account/api_keys/${id}/workspaces`, (CursorPagination), { query, ...options });
16
+ }
17
+ /**
18
+ * Grants this API key access to the specified workspace. Idempotent — adding an
19
+ * already-associated workspace is a no-op. Returns the updated API key with
20
+ * refreshed workspace preview and total.
21
+ */
22
+ add(id, body, options) {
23
+ return this._client.post(path `/v1/account/api_keys/${id}/workspaces`, { body, ...options });
24
+ }
25
+ /**
26
+ * Revokes this API key's access to the specified workspace. Idempotent. A key may
27
+ * have zero workspaces and remains valid.
28
+ */
29
+ remove(workspaceID, params, options) {
30
+ const { id } = params;
31
+ return this._client.delete(path `/v1/account/api_keys/${id}/workspaces/${workspaceID}`, {
32
+ ...options,
33
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
34
+ });
35
+ }
36
+ }
37
+ //# sourceMappingURL=access.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access.mjs","sourceRoot":"","sources":["../../src/resources/api-keys/access.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAKf,EAAE,gBAAgB,EAA4C;OAC9D,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf;;;GAGG;AACH,MAAM,OAAO,MAAO,SAAQ,WAAW;IACrC;;OAEG;IACH,IAAI,CACF,EAAU,EACV,QAA6C,EAAE,EAC/C,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAC5B,IAAI,CAAA,wBAAwB,EAAE,aAAa,EAC3C,CAAA,gBAAyC,CAAA,EACzC,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CACtB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,EAAU,EAAE,IAAqB,EAAE,OAAwB;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,wBAAwB,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAmB,EAAE,MAA0B,EAAE,OAAwB;QAC9E,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,wBAAwB,EAAE,eAAe,WAAW,EAAE,EAAE;YACrF,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,213 @@
1
+ import { APIResource } from "../../core/resource.mjs";
2
+ import * as AccountAPI from "../account.mjs";
3
+ import * as Shared from "../shared.mjs";
4
+ import * as AccessAPI from "./access.mjs";
5
+ import { Access, AccessAddParams, AccessListParams, AccessRemoveParams } from "./access.mjs";
6
+ import { APIPromise } from "../../core/api-promise.mjs";
7
+ import { CursorPagination, type CursorPaginationParams, PagePromise } from "../../core/pagination.mjs";
8
+ import { RequestOptions } from "../../internal/request-options.mjs";
9
+ /**
10
+ * Issue, rotate, and revoke API keys for the account, and grant or revoke
11
+ * each key's access to individual workspaces.
12
+ */
13
+ export declare class APIKeys extends APIResource {
14
+ access: AccessAPI.Access;
15
+ /**
16
+ * Creates a new API key on the account. Optionally grants the key access to one or
17
+ * more workspaces via initial_workspace_ids.
18
+ */
19
+ create(body: APIKeyCreateParams, options?: RequestOptions): APIPromise<APIKey>;
20
+ /**
21
+ * Retrieves an API key by ID.
22
+ */
23
+ retrieve(id: string, options?: RequestOptions): APIPromise<APIKey>;
24
+ /**
25
+ * Updates an API key.
26
+ */
27
+ update(id: string, body: APIKeyUpdateParams, options?: RequestOptions): APIPromise<APIKey>;
28
+ /**
29
+ * Lists all API keys on the account.
30
+ */
31
+ list(query?: APIKeyListParams | null | undefined, options?: RequestOptions): PagePromise<APIKeysCursorPagination, APIKey>;
32
+ /**
33
+ * Deletes an API key.
34
+ */
35
+ delete(id: string, options?: RequestOptions): APIPromise<void>;
36
+ /**
37
+ * Rotates an API key and returns a new token. All previous tokens for this key are
38
+ * invalidated.
39
+ */
40
+ rotate(id: string, options?: RequestOptions): APIPromise<APIKey>;
41
+ }
42
+ export type APIKeysCursorPagination = CursorPagination<APIKey>;
43
+ /**
44
+ * An API key for the account. Use workspace-association RPCs to grant the key
45
+ * access to specific workspaces; a key with zero workspaces is valid but cannot
46
+ * access workspace-scoped resources.
47
+ */
48
+ export interface APIKey {
49
+ /**
50
+ * AccountResourceMetadata is used to represent a resource that is associated to an
51
+ * account but not to a workspace.
52
+ */
53
+ metadata: Shared.AccountResourceMetadata;
54
+ /**
55
+ * Configuration for an API key.
56
+ */
57
+ spec: APIKeySpec;
58
+ info?: APIKeyInfo;
59
+ }
60
+ export interface APIKeyInfo {
61
+ /**
62
+ * A profile identifies a user or non-human principal (such as an API key) at the
63
+ * account level. Profiles are account-scoped and can be granted access to multiple
64
+ * workspaces.
65
+ */
66
+ createdBy?: AccountAPI.Profile;
67
+ /**
68
+ * Up to a small number of workspaces this key has access to, intended for display
69
+ * ("Workspace 1, Workspace 2, and 4 more"). Use ListAPIKeyWorkspaces for the full
70
+ * paginated list.
71
+ */
72
+ workspacesPreview?: Array<Shared.BareMetadata>;
73
+ /**
74
+ * Total number of workspaces this key has access to.
75
+ */
76
+ workspacesTotal?: number;
77
+ }
78
+ /**
79
+ * Configuration for an API key.
80
+ */
81
+ export interface APIKeySpec {
82
+ /**
83
+ * The bearer token used to authenticate as this API key. Returned only on creation
84
+ * and rotation; subsequent reads omit this field.
85
+ */
86
+ token?: string;
87
+ /**
88
+ * Free-form description of what this API key is used for.
89
+ */
90
+ description?: string;
91
+ /**
92
+ * Permissions granted to this key. Each entry is a colon-separated verb:resource
93
+ * string (e.g. "manage:agents"). Currently has no enforced effect; reserved for
94
+ * future fine-grained authorization.
95
+ */
96
+ permissions?: Array<string>;
97
+ /**
98
+ * True when this key is managed by the system (e.g. the auto-provisioned global
99
+ * account key). System keys cannot be deleted but can be rotated.
100
+ */
101
+ system?: boolean;
102
+ }
103
+ export interface APIKeyCreateParams {
104
+ /**
105
+ * CreateAccountResourceMetadata contains the user-provided fields for creating an
106
+ * account-scoped resource. Read-only fields (id, account_id, profile_id) are
107
+ * excluded since they are set by the server.
108
+ */
109
+ metadata: APIKeyCreateParams.Metadata;
110
+ /**
111
+ * Configuration for an API key.
112
+ */
113
+ spec: APIKeySpec;
114
+ /**
115
+ * Workspaces this API key will have access to on creation. Optional — a key can be
116
+ * created with no workspace access and granted later via AddAPIKeyWorkspace.
117
+ */
118
+ initialWorkspaceIds?: Array<string>;
119
+ }
120
+ export declare namespace APIKeyCreateParams {
121
+ /**
122
+ * CreateAccountResourceMetadata contains the user-provided fields for creating an
123
+ * account-scoped resource. Read-only fields (id, account_id, profile_id) are
124
+ * excluded since they are set by the server.
125
+ */
126
+ interface Metadata {
127
+ /**
128
+ * Human-readable name for the resource (e.g., "Production API Key", "Staging
129
+ * Workspace")
130
+ */
131
+ name: string;
132
+ /**
133
+ * External ID for the resource (e.g., a workflow ID from an external system)
134
+ */
135
+ externalId?: string;
136
+ /**
137
+ * Arbitrary key-value pairs for categorization and filtering Examples:
138
+ * {"environment": "production", "team": "platform", "version": "v2"}
139
+ */
140
+ labels?: {
141
+ [key: string]: string;
142
+ };
143
+ }
144
+ }
145
+ export interface APIKeyUpdateParams {
146
+ /**
147
+ * UpdateAccountResourceMetadata contains the user-provided fields for updating an
148
+ * account-scoped resource. Read-only fields (id, account_id, profile_id) are
149
+ * excluded since they are set by the server.
150
+ */
151
+ metadata?: APIKeyUpdateParams.Metadata;
152
+ /**
153
+ * Configuration for an API key.
154
+ */
155
+ spec?: APIKeySpec;
156
+ /**
157
+ * Fields to update.
158
+ */
159
+ updateMask?: string;
160
+ }
161
+ export declare namespace APIKeyUpdateParams {
162
+ /**
163
+ * UpdateAccountResourceMetadata contains the user-provided fields for updating an
164
+ * account-scoped resource. Read-only fields (id, account_id, profile_id) are
165
+ * excluded since they are set by the server.
166
+ */
167
+ interface Metadata {
168
+ /**
169
+ * Human-readable name for the resource (e.g., "Production API Key", "Staging
170
+ * Workspace")
171
+ */
172
+ name: string;
173
+ /**
174
+ * External ID for the resource (e.g., a workflow ID from an external system)
175
+ */
176
+ externalId?: string;
177
+ /**
178
+ * Arbitrary key-value pairs for categorization and filtering Examples:
179
+ * {"environment": "production", "team": "platform", "version": "v2"}
180
+ */
181
+ labels?: {
182
+ [key: string]: string;
183
+ };
184
+ }
185
+ }
186
+ export interface APIKeyListParams extends CursorPaginationParams {
187
+ /**
188
+ * Filter by bundle_key — return only resources owned by this bundle.
189
+ */
190
+ bundleKey?: string;
191
+ /**
192
+ * When true, included info fields are populated. Requests with this flag count
193
+ * more against your rate limit.
194
+ */
195
+ includeInfo?: boolean;
196
+ /**
197
+ * Filter by ID prefix.
198
+ */
199
+ prefix?: string;
200
+ /**
201
+ * Free-form search query.
202
+ */
203
+ query?: string;
204
+ /**
205
+ * Sort order for results (asc or desc by creation time).
206
+ */
207
+ sortOrder?: string;
208
+ }
209
+ export declare namespace APIKeys {
210
+ export { type APIKey as APIKey, type APIKeyInfo as APIKeyInfo, type APIKeySpec as APIKeySpec, type APIKeysCursorPagination as APIKeysCursorPagination, type APIKeyCreateParams as APIKeyCreateParams, type APIKeyUpdateParams as APIKeyUpdateParams, type APIKeyListParams as APIKeyListParams, };
211
+ export { Access as Access, type AccessListParams as AccessListParams, type AccessAddParams as AccessAddParams, type AccessRemoveParams as AccessRemoveParams, };
212
+ }
213
+ //# sourceMappingURL=api-keys.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-keys.d.mts","sourceRoot":"","sources":["../../src/resources/api-keys/api-keys.ts"],"names":[],"mappings":"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"}