@openrouter/sdk 1.4.0 → 1.4.2

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 (55) hide show
  1. package/esm/funcs/internsCreateIntern.d.ts +1 -1
  2. package/esm/funcs/internsCreateIntern.js +1 -1
  3. package/esm/funcs/internsDeleteIntern.d.ts +1 -1
  4. package/esm/funcs/internsDeleteIntern.js +1 -1
  5. package/esm/funcs/internsGetIntern.d.ts +1 -1
  6. package/esm/funcs/internsGetIntern.js +1 -1
  7. package/esm/funcs/internsGetInternDaemon.d.ts +1 -1
  8. package/esm/funcs/internsGetInternDaemon.js +1 -1
  9. package/esm/funcs/internsGetInternDaemonAccess.d.ts +1 -1
  10. package/esm/funcs/internsGetInternDaemonAccess.js +1 -1
  11. package/esm/funcs/internsListInterns.d.ts +1 -1
  12. package/esm/funcs/internsListInterns.js +1 -1
  13. package/esm/funcs/internsProvisionIntern.d.ts +1 -1
  14. package/esm/funcs/internsProvisionIntern.js +1 -1
  15. package/esm/funcs/internsSuspendIntern.d.ts +1 -1
  16. package/esm/funcs/internsSuspendIntern.js +1 -1
  17. package/esm/funcs/internsUpdateIntern.d.ts +1 -1
  18. package/esm/funcs/internsUpdateIntern.js +1 -1
  19. package/esm/funcs/vaultCopyVaultSecretsToIntern.d.ts +1 -1
  20. package/esm/funcs/vaultCopyVaultSecretsToIntern.js +1 -1
  21. package/esm/funcs/vaultDeleteInternVaultSecret.d.ts +1 -1
  22. package/esm/funcs/vaultDeleteInternVaultSecret.js +1 -1
  23. package/esm/funcs/vaultDeleteVaultSecret.d.ts +1 -1
  24. package/esm/funcs/vaultDeleteVaultSecret.js +1 -1
  25. package/esm/funcs/vaultListInternEffectiveVaultSecrets.d.ts +21 -0
  26. package/esm/funcs/vaultListInternEffectiveVaultSecrets.js +110 -0
  27. package/esm/funcs/vaultListInternVaultSecrets.d.ts +1 -1
  28. package/esm/funcs/vaultListInternVaultSecrets.js +1 -1
  29. package/esm/funcs/vaultListVaultSecrets.d.ts +1 -1
  30. package/esm/funcs/vaultListVaultSecrets.js +1 -1
  31. package/esm/funcs/vaultStoreInternVaultSecret.d.ts +1 -1
  32. package/esm/funcs/vaultStoreInternVaultSecret.js +1 -1
  33. package/esm/funcs/vaultStoreVaultSecret.d.ts +1 -1
  34. package/esm/funcs/vaultStoreVaultSecret.js +1 -1
  35. package/esm/lib/config.d.ts +2 -2
  36. package/esm/lib/config.js +2 -2
  37. package/esm/models/index.d.ts +2 -0
  38. package/esm/models/index.js +2 -0
  39. package/esm/models/operations/index.d.ts +1 -0
  40. package/esm/models/operations/index.js +1 -0
  41. package/esm/models/operations/listinterneffectivevaultsecrets.d.ts +68 -0
  42. package/esm/models/operations/listinterneffectivevaultsecrets.js +23 -0
  43. package/esm/models/outputfusionservertoolitem.d.ts +1 -1
  44. package/esm/models/tokenexchangerequest.d.ts +4 -4
  45. package/esm/models/tokenexchangerequest.js +3 -3
  46. package/esm/models/vaulteffectivesecret.d.ts +35 -0
  47. package/esm/models/vaulteffectivesecret.js +34 -0
  48. package/esm/models/vaulteffectivesecretlistresponse.d.ts +18 -0
  49. package/esm/models/vaulteffectivesecretlistresponse.js +21 -0
  50. package/esm/sdk/interns.d.ts +9 -9
  51. package/esm/sdk/interns.js +9 -9
  52. package/esm/sdk/vault.d.ts +14 -7
  53. package/esm/sdk/vault.js +17 -7
  54. package/jsr.json +1 -1
  55. package/package.json +7 -7
@@ -0,0 +1,68 @@
1
+ import * as z from "zod/v4";
2
+ export type ListInternEffectiveVaultSecretsGlobals = {
3
+ /**
4
+ * The app identifier should be your app's URL and is used as the primary identifier for rankings.
5
+ *
6
+ * @remarks
7
+ * This is used to track API usage per application.
8
+ */
9
+ httpReferer?: string | undefined;
10
+ /**
11
+ * The app display name allows you to customize how your app appears in OpenRouter's dashboard.
12
+ *
13
+ * @remarks
14
+ */
15
+ appTitle?: string | undefined;
16
+ /**
17
+ * Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
18
+ *
19
+ * @remarks
20
+ */
21
+ appCategories?: string | undefined;
22
+ };
23
+ export type ListInternEffectiveVaultSecretsRequest = {
24
+ /**
25
+ * The app identifier should be your app's URL and is used as the primary identifier for rankings.
26
+ *
27
+ * @remarks
28
+ * This is used to track API usage per application.
29
+ */
30
+ httpReferer?: string | undefined;
31
+ /**
32
+ * The app display name allows you to customize how your app appears in OpenRouter's dashboard.
33
+ *
34
+ * @remarks
35
+ */
36
+ appTitle?: string | undefined;
37
+ /**
38
+ * Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
39
+ *
40
+ * @remarks
41
+ */
42
+ appCategories?: string | undefined;
43
+ /**
44
+ * UUID of an intern in the workspace selected by the API key.
45
+ */
46
+ internId: string;
47
+ /**
48
+ * Page size, 1 to 100. Defaults to 100.
49
+ */
50
+ limit?: number | undefined;
51
+ /**
52
+ * Number of secrets to skip, 0 to 10000. Defaults to 0.
53
+ */
54
+ offset?: number | undefined;
55
+ };
56
+ /** @internal */
57
+ export type ListInternEffectiveVaultSecretsRequest$Outbound = {
58
+ "HTTP-Referer"?: string | undefined;
59
+ appTitle?: string | undefined;
60
+ appCategories?: string | undefined;
61
+ internId: string;
62
+ limit: number;
63
+ offset: number;
64
+ };
65
+ /** @internal */
66
+ export declare const ListInternEffectiveVaultSecretsRequest$outboundSchema: z.ZodType<ListInternEffectiveVaultSecretsRequest$Outbound, ListInternEffectiveVaultSecretsRequest>;
67
+ export declare function listInternEffectiveVaultSecretsRequestToJSON(listInternEffectiveVaultSecretsRequest: ListInternEffectiveVaultSecretsRequest): string;
68
+ //# sourceMappingURL=listinterneffectivevaultsecrets.d.ts.map
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 8162d29b4032
4
+ */
5
+ import * as z from "zod/v4";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ /** @internal */
8
+ export const ListInternEffectiveVaultSecretsRequest$outboundSchema = z.object({
9
+ httpReferer: z.string().optional(),
10
+ appTitle: z.string().optional(),
11
+ appCategories: z.string().optional(),
12
+ internId: z.string(),
13
+ limit: z.int().default(100),
14
+ offset: z.int().default(0),
15
+ }).transform((v) => {
16
+ return remap$(v, {
17
+ httpReferer: "HTTP-Referer",
18
+ });
19
+ });
20
+ export function listInternEffectiveVaultSecretsRequestToJSON(listInternEffectiveVaultSecretsRequest) {
21
+ return JSON.stringify(ListInternEffectiveVaultSecretsRequest$outboundSchema.parse(listInternEffectiveVaultSecretsRequest));
22
+ }
23
+ //# sourceMappingURL=listinterneffectivevaultsecrets.js.map
@@ -40,7 +40,7 @@ export type OutputFusionServerToolItem = {
40
40
  */
41
41
  error?: string | undefined;
42
42
  /**
43
- * Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. The fusion result is still usable but was produced from a degraded panel.
43
+ * Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. On a completed item the fusion result is still usable but was produced from a degraded panel; on a failed item it lists the panels that failed before the run stopped, so the caller can see which models were attempted even though no analysis was produced.
44
44
  */
45
45
  failedModels?: Array<FailedModel> | undefined;
46
46
  /**
@@ -23,13 +23,13 @@ export type RequestedTokenType = ClosedEnum<typeof RequestedTokenType>;
23
23
  /**
24
24
  * Optional; only `inference` is available.
25
25
  */
26
- export declare const Scope: {
26
+ export declare const TokenExchangeRequestScope: {
27
27
  readonly Inference: "inference";
28
28
  };
29
29
  /**
30
30
  * Optional; only `inference` is available.
31
31
  */
32
- export type Scope = ClosedEnum<typeof Scope>;
32
+ export type TokenExchangeRequestScope = ClosedEnum<typeof TokenExchangeRequestScope>;
33
33
  /**
34
34
  * Must be `urn:ietf:params:oauth:token-type:jwt`.
35
35
  */
@@ -59,7 +59,7 @@ export type TokenExchangeRequest = {
59
59
  /**
60
60
  * Optional; only `inference` is available.
61
61
  */
62
- scope?: Scope | undefined;
62
+ scope?: TokenExchangeRequestScope | undefined;
63
63
  /**
64
64
  * The JWT issued by your identity provider.
65
65
  */
@@ -74,7 +74,7 @@ export declare const GrantType$outboundSchema: z.ZodEnum<typeof GrantType>;
74
74
  /** @internal */
75
75
  export declare const RequestedTokenType$outboundSchema: z.ZodEnum<typeof RequestedTokenType>;
76
76
  /** @internal */
77
- export declare const Scope$outboundSchema: z.ZodEnum<typeof Scope>;
77
+ export declare const TokenExchangeRequestScope$outboundSchema: z.ZodEnum<typeof TokenExchangeRequestScope>;
78
78
  /** @internal */
79
79
  export declare const SubjectTokenType$outboundSchema: z.ZodEnum<typeof SubjectTokenType>;
80
80
  /** @internal */
@@ -19,7 +19,7 @@ export const RequestedTokenType = {
19
19
  /**
20
20
  * Optional; only `inference` is available.
21
21
  */
22
- export const Scope = {
22
+ export const TokenExchangeRequestScope = {
23
23
  Inference: "inference",
24
24
  };
25
25
  /**
@@ -33,7 +33,7 @@ export const GrantType$outboundSchema = z.enum(GrantType);
33
33
  /** @internal */
34
34
  export const RequestedTokenType$outboundSchema = z.enum(RequestedTokenType);
35
35
  /** @internal */
36
- export const Scope$outboundSchema = z.enum(Scope);
36
+ export const TokenExchangeRequestScope$outboundSchema = z.enum(TokenExchangeRequestScope);
37
37
  /** @internal */
38
38
  export const SubjectTokenType$outboundSchema = z.enum(SubjectTokenType);
39
39
  /** @internal */
@@ -41,7 +41,7 @@ export const TokenExchangeRequest$outboundSchema = z.object({
41
41
  federationPolicyId: z.string(),
42
42
  grantType: GrantType$outboundSchema,
43
43
  requestedTokenType: RequestedTokenType$outboundSchema.optional(),
44
- scope: Scope$outboundSchema.optional(),
44
+ scope: TokenExchangeRequestScope$outboundSchema.optional(),
45
45
  subjectToken: z.string(),
46
46
  subjectTokenType: SubjectTokenType$outboundSchema,
47
47
  }).transform((v) => {
@@ -0,0 +1,35 @@
1
+ import * as z from "zod/v4";
2
+ import { OpenEnum } from "../types/enums.js";
3
+ import { Result as SafeParseResult } from "../types/fp.js";
4
+ import { SDKValidationError } from "./errors/sdkvalidationerror.js";
5
+ /**
6
+ * Where the delivered secret is stored: `intern` for the intern's own vault, `attached` for a vault attached to the intern, `workspace` for the workspace vault.
7
+ */
8
+ export declare const VaultEffectiveSecretScope: {
9
+ readonly Intern: "intern";
10
+ readonly Attached: "attached";
11
+ readonly Workspace: "workspace";
12
+ };
13
+ /**
14
+ * Where the delivered secret is stored: `intern` for the intern's own vault, `attached` for a vault attached to the intern, `workspace` for the workspace vault.
15
+ */
16
+ export type VaultEffectiveSecretScope = OpenEnum<typeof VaultEffectiveSecretScope>;
17
+ /**
18
+ * Metadata for the one secret the intern's outbound requests receive under this name. The secret value is never returned. The intern receives it only on requests to a hostname in `hosts`, or on any request when `hosts` is `null`; a request to any other hostname receives no secret under this name, even when another vault holds one. `fingerprint` is comparable only within one vault.
19
+ */
20
+ export type VaultEffectiveSecret = {
21
+ createdAt: Date;
22
+ fingerprint: string | null;
23
+ hosts: Array<string> | null;
24
+ name: string;
25
+ /**
26
+ * Where the delivered secret is stored: `intern` for the intern's own vault, `attached` for a vault attached to the intern, `workspace` for the workspace vault.
27
+ */
28
+ scope: VaultEffectiveSecretScope;
29
+ };
30
+ /** @internal */
31
+ export declare const VaultEffectiveSecretScope$inboundSchema: z.ZodType<VaultEffectiveSecretScope, unknown>;
32
+ /** @internal */
33
+ export declare const VaultEffectiveSecret$inboundSchema: z.ZodType<VaultEffectiveSecret, unknown>;
34
+ export declare function vaultEffectiveSecretFromJSON(jsonString: string): SafeParseResult<VaultEffectiveSecret, SDKValidationError>;
35
+ //# sourceMappingURL=vaulteffectivesecret.d.ts.map
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 0e9a217f3be7
4
+ */
5
+ import * as z from "zod/v4";
6
+ import { remap as remap$ } from "../lib/primitives.js";
7
+ import { safeParse } from "../lib/schemas.js";
8
+ import * as openEnums from "../types/enums.js";
9
+ /**
10
+ * Where the delivered secret is stored: `intern` for the intern's own vault, `attached` for a vault attached to the intern, `workspace` for the workspace vault.
11
+ */
12
+ export const VaultEffectiveSecretScope = {
13
+ Intern: "intern",
14
+ Attached: "attached",
15
+ Workspace: "workspace",
16
+ };
17
+ /** @internal */
18
+ export const VaultEffectiveSecretScope$inboundSchema = openEnums.inboundSchema(VaultEffectiveSecretScope);
19
+ /** @internal */
20
+ export const VaultEffectiveSecret$inboundSchema = z.object({
21
+ created_at: z.iso.datetime({ offset: true }).transform(v => new Date(v)),
22
+ fingerprint: z.nullable(z.string()),
23
+ hosts: z.nullable(z.array(z.string())),
24
+ name: z.string(),
25
+ scope: VaultEffectiveSecretScope$inboundSchema,
26
+ }).transform((v) => {
27
+ return remap$(v, {
28
+ "created_at": "createdAt",
29
+ });
30
+ });
31
+ export function vaultEffectiveSecretFromJSON(jsonString) {
32
+ return safeParse(jsonString, (x) => VaultEffectiveSecret$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'VaultEffectiveSecret' from JSON`);
33
+ }
34
+ //# sourceMappingURL=vaulteffectivesecret.js.map
@@ -0,0 +1,18 @@
1
+ import * as z from "zod/v4";
2
+ import { Result as SafeParseResult } from "../types/fp.js";
3
+ import { SDKValidationError } from "./errors/sdkvalidationerror.js";
4
+ import { VaultEffectiveSecret } from "./vaulteffectivesecret.js";
5
+ /**
6
+ * One page of the secrets an intern receives, one entry per name.
7
+ */
8
+ export type VaultEffectiveSecretListResponse = {
9
+ data: Array<VaultEffectiveSecret>;
10
+ /**
11
+ * True when more secrets exist beyond this page. Request the next page with `offset` increased by the number of returned entries.
12
+ */
13
+ hasMore: boolean;
14
+ };
15
+ /** @internal */
16
+ export declare const VaultEffectiveSecretListResponse$inboundSchema: z.ZodType<VaultEffectiveSecretListResponse, unknown>;
17
+ export declare function vaultEffectiveSecretListResponseFromJSON(jsonString: string): SafeParseResult<VaultEffectiveSecretListResponse, SDKValidationError>;
18
+ //# sourceMappingURL=vaulteffectivesecretlistresponse.d.ts.map
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 053f6551d3f4
4
+ */
5
+ import * as z from "zod/v4";
6
+ import { remap as remap$ } from "../lib/primitives.js";
7
+ import { safeParse } from "../lib/schemas.js";
8
+ import { VaultEffectiveSecret$inboundSchema, } from "./vaulteffectivesecret.js";
9
+ /** @internal */
10
+ export const VaultEffectiveSecretListResponse$inboundSchema = z.object({
11
+ data: z.array(VaultEffectiveSecret$inboundSchema),
12
+ has_more: z.boolean(),
13
+ }).transform((v) => {
14
+ return remap$(v, {
15
+ "has_more": "hasMore",
16
+ });
17
+ });
18
+ export function vaultEffectiveSecretListResponseFromJSON(jsonString) {
19
+ return safeParse(jsonString, (x) => VaultEffectiveSecretListResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'VaultEffectiveSecretListResponse' from JSON`);
20
+ }
21
+ //# sourceMappingURL=vaulteffectivesecretlistresponse.js.map
@@ -6,49 +6,49 @@ export declare class Interns extends ClientSDK {
6
6
  * List interns
7
7
  *
8
8
  * @remarks
9
- * Lists interns visible to the authenticated key, newest first. Filter by workspace and one or more lifecycle statuses. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
9
+ * Lists interns visible to the authenticated key, newest first. Filter by workspace and one or more lifecycle statuses. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
10
10
  */
11
11
  listInterns(request?: operations.ListInternsRequest | undefined, options?: RequestOptions): Promise<models.InternListResponse>;
12
12
  /**
13
13
  * Create an intern
14
14
  *
15
15
  * @remarks
16
- * Creates an intern in an explicit workspace. The operation also creates its private vault. It can start provisioning immediately or wait for a later provision call. A retry with the same idempotency key and body resumes unfinished work. The request body is capped at 1048576 bytes and a larger body is refused with 413. A non-empty body must declare `Content-Type: application/json` or it is refused with 415. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
16
+ * Creates an intern in an explicit workspace. The operation also creates its private vault. It can start provisioning immediately or wait for a later provision call. A retry with the same idempotency key and body resumes unfinished work. The request body is capped at 1048576 bytes and a larger body is refused with 413. A non-empty body must declare `Content-Type: application/json` or it is refused with 415. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
17
17
  */
18
18
  createIntern(request: operations.CreateInternRequest, options?: RequestOptions): Promise<models.Intern>;
19
19
  /**
20
20
  * Delete an intern
21
21
  *
22
22
  * @remarks
23
- * Starts safe teardown of the intern, its runtime and its private vault. The body is optional. Send `{"acknowledge_workspace_loss": true}` to delete a `destroy_failed` intern whose `last_failure_message` names `workspace_archive_failed`, accepting that its workspace is not backed up. The request body is capped at 1048576 bytes and a larger body is refused with 413. A non-empty body must declare `Content-Type: application/json` or it is refused with 415. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
23
+ * Starts safe teardown of the intern, its runtime and its private vault. The body is optional. Send `{"acknowledge_workspace_loss": true}` to delete a `destroy_failed` intern whose `last_failure_message` names `workspace_archive_failed`, accepting that its workspace is not backed up. The request body is capped at 1048576 bytes and a larger body is refused with 413. A non-empty body must declare `Content-Type: application/json` or it is refused with 415. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
24
24
  */
25
25
  deleteIntern(request: operations.DeleteInternRequest, options?: RequestOptions): Promise<models.DeleteInternResponse>;
26
26
  /**
27
27
  * Get an intern
28
28
  *
29
29
  * @remarks
30
- * Returns the public lifecycle state and settings for one visible intern. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
30
+ * Returns the public lifecycle state and settings for one visible intern. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
31
31
  */
32
32
  getIntern(request: operations.GetInternRequest, options?: RequestOptions): Promise<models.Intern>;
33
33
  /**
34
34
  * Update an intern
35
35
  *
36
36
  * @remarks
37
- * Changes the intern name, description, instructions or model. Omitted fields stay unchanged. The request body is capped at 1048576 bytes and a larger body is refused with 413. A non-empty body must declare `Content-Type: application/json` or it is refused with 415. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
37
+ * Changes the intern name, description, instructions or model. Omitted fields stay unchanged. The request body is capped at 1048576 bytes and a larger body is refused with 413. A non-empty body must declare `Content-Type: application/json` or it is refused with 415. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
38
38
  */
39
39
  updateIntern(request: operations.UpdateInternRequest, options?: RequestOptions): Promise<models.Intern>;
40
40
  /**
41
41
  * Get an intern's daemon access
42
42
  *
43
43
  * @remarks
44
- * Returns the origin and daemon token that attach `ori tui --host` to one visible, running intern. The token is a credential: the response is sent with `Cache-Control: no-store`, and each reveal is logged by caller and intern. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
44
+ * Returns the origin and daemon token that attach `ori tui --host` to one visible, running intern. The token is a credential: the response is sent with `Cache-Control: no-store`, and each reveal is logged by caller and intern. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
45
45
  */
46
46
  getInternDaemon(request: operations.GetInternDaemonRequest, options?: RequestOptions): Promise<models.InternDaemonAccess>;
47
47
  /**
48
48
  * Get an intern's daemon access (deprecated alias)
49
49
  *
50
50
  * @remarks
51
- * Deprecated alias of `GET /interns/{internId}/daemon` with the same request, response, and errors. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
51
+ * Deprecated alias of `GET /interns/{internId}/daemon` with the same request, response, and errors. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
52
52
  *
53
53
  * @deprecated method: This will be removed in a future release, please migrate away from it as soon as possible.
54
54
  */
@@ -57,14 +57,14 @@ export declare class Interns extends ClientSDK {
57
57
  * Provision an intern
58
58
  *
59
59
  * @remarks
60
- * Starts the first boot, or resumes an intern after suspension. This operation takes no request body. A body carrying any field is refused with 400 rather than ignored. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
60
+ * Starts the first boot, or resumes an intern after suspension. This operation takes no request body. A body carrying any field is refused with 400 rather than ignored. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
61
61
  */
62
62
  provisionIntern(request: operations.ProvisionInternRequest, options?: RequestOptions): Promise<models.ProvisionInternResponse>;
63
63
  /**
64
64
  * Suspend an intern
65
65
  *
66
66
  * @remarks
67
- * Stops the intern runtime while keeping its disk and configuration for a later provision call. This operation takes no request body. A body carrying any field is refused with 400 rather than ignored. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
67
+ * Stops the intern runtime while keeping its disk and configuration for a later provision call. This operation takes no request body. A body carrying any field is refused with 400 rather than ignored. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
68
68
  */
69
69
  suspendIntern(request: operations.SuspendInternRequest, options?: RequestOptions): Promise<models.SuspendInternResponse>;
70
70
  /**
@@ -20,7 +20,7 @@ export class Interns extends ClientSDK {
20
20
  * List interns
21
21
  *
22
22
  * @remarks
23
- * Lists interns visible to the authenticated key, newest first. Filter by workspace and one or more lifecycle statuses. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
23
+ * Lists interns visible to the authenticated key, newest first. Filter by workspace and one or more lifecycle statuses. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
24
24
  */
25
25
  async listInterns(request, options) {
26
26
  return unwrapAsync(internsListInterns(this, request, options));
@@ -29,7 +29,7 @@ export class Interns extends ClientSDK {
29
29
  * Create an intern
30
30
  *
31
31
  * @remarks
32
- * Creates an intern in an explicit workspace. The operation also creates its private vault. It can start provisioning immediately or wait for a later provision call. A retry with the same idempotency key and body resumes unfinished work. The request body is capped at 1048576 bytes and a larger body is refused with 413. A non-empty body must declare `Content-Type: application/json` or it is refused with 415. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
32
+ * Creates an intern in an explicit workspace. The operation also creates its private vault. It can start provisioning immediately or wait for a later provision call. A retry with the same idempotency key and body resumes unfinished work. The request body is capped at 1048576 bytes and a larger body is refused with 413. A non-empty body must declare `Content-Type: application/json` or it is refused with 415. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
33
33
  */
34
34
  async createIntern(request, options) {
35
35
  return unwrapAsync(internsCreateIntern(this, request, options));
@@ -38,7 +38,7 @@ export class Interns extends ClientSDK {
38
38
  * Delete an intern
39
39
  *
40
40
  * @remarks
41
- * Starts safe teardown of the intern, its runtime and its private vault. The body is optional. Send `{"acknowledge_workspace_loss": true}` to delete a `destroy_failed` intern whose `last_failure_message` names `workspace_archive_failed`, accepting that its workspace is not backed up. The request body is capped at 1048576 bytes and a larger body is refused with 413. A non-empty body must declare `Content-Type: application/json` or it is refused with 415. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
41
+ * Starts safe teardown of the intern, its runtime and its private vault. The body is optional. Send `{"acknowledge_workspace_loss": true}` to delete a `destroy_failed` intern whose `last_failure_message` names `workspace_archive_failed`, accepting that its workspace is not backed up. The request body is capped at 1048576 bytes and a larger body is refused with 413. A non-empty body must declare `Content-Type: application/json` or it is refused with 415. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
42
42
  */
43
43
  async deleteIntern(request, options) {
44
44
  return unwrapAsync(internsDeleteIntern(this, request, options));
@@ -47,7 +47,7 @@ export class Interns extends ClientSDK {
47
47
  * Get an intern
48
48
  *
49
49
  * @remarks
50
- * Returns the public lifecycle state and settings for one visible intern. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
50
+ * Returns the public lifecycle state and settings for one visible intern. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
51
51
  */
52
52
  async getIntern(request, options) {
53
53
  return unwrapAsync(internsGetIntern(this, request, options));
@@ -56,7 +56,7 @@ export class Interns extends ClientSDK {
56
56
  * Update an intern
57
57
  *
58
58
  * @remarks
59
- * Changes the intern name, description, instructions or model. Omitted fields stay unchanged. The request body is capped at 1048576 bytes and a larger body is refused with 413. A non-empty body must declare `Content-Type: application/json` or it is refused with 415. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
59
+ * Changes the intern name, description, instructions or model. Omitted fields stay unchanged. The request body is capped at 1048576 bytes and a larger body is refused with 413. A non-empty body must declare `Content-Type: application/json` or it is refused with 415. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
60
60
  */
61
61
  async updateIntern(request, options) {
62
62
  return unwrapAsync(internsUpdateIntern(this, request, options));
@@ -65,7 +65,7 @@ export class Interns extends ClientSDK {
65
65
  * Get an intern's daemon access
66
66
  *
67
67
  * @remarks
68
- * Returns the origin and daemon token that attach `ori tui --host` to one visible, running intern. The token is a credential: the response is sent with `Cache-Control: no-store`, and each reveal is logged by caller and intern. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
68
+ * Returns the origin and daemon token that attach `ori tui --host` to one visible, running intern. The token is a credential: the response is sent with `Cache-Control: no-store`, and each reveal is logged by caller and intern. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
69
69
  */
70
70
  async getInternDaemon(request, options) {
71
71
  return unwrapAsync(internsGetInternDaemon(this, request, options));
@@ -74,7 +74,7 @@ export class Interns extends ClientSDK {
74
74
  * Get an intern's daemon access (deprecated alias)
75
75
  *
76
76
  * @remarks
77
- * Deprecated alias of `GET /interns/{internId}/daemon` with the same request, response, and errors. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
77
+ * Deprecated alias of `GET /interns/{internId}/daemon` with the same request, response, and errors. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
78
78
  *
79
79
  * @deprecated method: This will be removed in a future release, please migrate away from it as soon as possible.
80
80
  */
@@ -85,7 +85,7 @@ export class Interns extends ClientSDK {
85
85
  * Provision an intern
86
86
  *
87
87
  * @remarks
88
- * Starts the first boot, or resumes an intern after suspension. This operation takes no request body. A body carrying any field is refused with 400 rather than ignored. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
88
+ * Starts the first boot, or resumes an intern after suspension. This operation takes no request body. A body carrying any field is refused with 400 rather than ignored. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
89
89
  */
90
90
  async provisionIntern(request, options) {
91
91
  return unwrapAsync(internsProvisionIntern(this, request, options));
@@ -94,7 +94,7 @@ export class Interns extends ClientSDK {
94
94
  * Suspend an intern
95
95
  *
96
96
  * @remarks
97
- * Stops the intern runtime while keeping its disk and configuration for a later provision call. This operation takes no request body. A body carrying any field is refused with 400 rather than ignored. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
97
+ * Stops the intern runtime while keeping its disk and configuration for a later provision call. This operation takes no request body. A body carrying any field is refused with 400 rather than ignored. The API key selects the caller, workspace and visible interns. An intern's own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
98
98
  */
99
99
  async suspendIntern(request, options) {
100
100
  return unwrapAsync(internsSuspendIntern(this, request, options));
@@ -2,53 +2,60 @@ import { ClientSDK, RequestOptions } from "../lib/sdks.js";
2
2
  import * as models from "../models/index.js";
3
3
  import * as operations from "../models/operations/index.js";
4
4
  export declare class Vault extends ClientSDK {
5
+ /**
6
+ * List the secrets an intern receives
7
+ *
8
+ * @remarks
9
+ * Lists, one entry per name, the secret the intern's outbound requests receive: its own secrets, secrets from an attached vault, and workspace secrets, including ones stored before workspace-scoped storage. Where several vaults hold a name, the entry is the one that wins, in the order intern, attached, workspace. The same resolution decides what outbound requests receive, so this list and the intern's requests agree. `scope` says which vault the entry comes from. Responses carry metadata only, never values. Results are ordered by name and paginated with `limit` and `offset`. Returns 404 when the intern's attached vault is no longer available, since the intern then receives no secrets. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. An intern's own API key is confined to that intern: it can always read the intern's secrets and effective secrets, writes to them follow the rules above, and every other intern and every workspace route answers 404. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
10
+ */
11
+ listInternEffectiveVaultSecrets(request: operations.ListInternEffectiveVaultSecretsRequest, options?: RequestOptions): Promise<models.VaultEffectiveSecretListResponse>;
5
12
  /**
6
13
  * List intern secrets
7
14
  *
8
15
  * @remarks
9
- * Lists secret metadata stored for one intern. Responses contain names, bound hosts, fingerprints and creation times, never secret values. Results are ordered by name and paginated with `limit` and `offset`. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
16
+ * Lists secret metadata stored for one intern. The list includes secrets stored from the dashboard or at provisioning before workspace-scoped storage; where both exist under one name, the one stored through this API is listed. Those older secrets cannot be deleted or copied through this API, and storing the same name through this API replaces them. Responses contain names, bound hosts, fingerprints and creation times, never secret values. Results are ordered by name and paginated with `limit` and `offset`. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. An intern's own API key is confined to that intern: it can always read the intern's secrets and effective secrets, writes to them follow the rules above, and every other intern and every workspace route answers 404. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
10
17
  */
11
18
  listInternVaultSecrets(request: operations.ListInternVaultSecretsRequest, options?: RequestOptions): Promise<models.VaultSecretListResponse>;
12
19
  /**
13
20
  * Delete an intern secret
14
21
  *
15
22
  * @remarks
16
- * Deletes a secret stored for one intern. Returns 204 with no body on success and 404 when the secret does not exist in the selected scope. Writes return 503 while vault writes are disabled for the caller. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
23
+ * Deletes a secret stored for one intern. Returns 204 with no body on success and 404 when the secret does not exist in the selected scope. Writes return 503 while vault writes are disabled for the caller. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. An intern's own API key is confined to that intern: it can always read the intern's secrets and effective secrets, writes to them follow the rules above, and every other intern and every workspace route answers 404. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
17
24
  */
18
25
  deleteInternVaultSecret(request: operations.DeleteInternVaultSecretRequest, options?: RequestOptions): Promise<void>;
19
26
  /**
20
27
  * Store an intern secret
21
28
  *
22
29
  * @remarks
23
- * Creates or replaces a secret stored for one intern. The value is encrypted at rest and released only to the exact hostnames in `hosts`. The response carries metadata only. Writes return 503 while vault writes are disabled for the caller. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
30
+ * Creates or replaces a secret stored for one intern. The value is encrypted at rest and released only to the exact hostnames in `hosts`. The response carries metadata only. Writes return 503 while vault writes are disabled for the caller. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. An intern's own API key is confined to that intern: it can always read the intern's secrets and effective secrets, writes to them follow the rules above, and every other intern and every workspace route answers 404. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
24
31
  */
25
32
  storeInternVaultSecret(request: operations.StoreInternVaultSecretRequest, options?: RequestOptions): Promise<models.VaultSecretResponse>;
26
33
  /**
27
34
  * Copy workspace secrets to an intern
28
35
  *
29
36
  * @remarks
30
- * Copies the named workspace secrets into one intern's scope, replacing any intern secret with the same name. Each copy keeps the source value and host bindings. Every name must exist in the workspace scope or the request fails with 404 and nothing is copied. A workspace secret whose `hosts` is `null` cannot be copied: the request fails with 409 and nothing is copied until that secret is stored again with hosts. The response carries metadata only. Writes return 503 while vault writes are disabled for the caller. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
37
+ * Copies the named workspace secrets into one intern's scope, replacing any intern secret with the same name. Each copy keeps the source value and host bindings. Every name must exist in the workspace scope or the request fails with 404 and nothing is copied. A workspace secret whose `hosts` is `null` cannot be copied: the request fails with 409 and nothing is copied until that secret is stored again with hosts. The response carries metadata only. Writes return 503 while vault writes are disabled for the caller. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. An intern's own API key is confined to that intern: it can always read the intern's secrets and effective secrets, writes to them follow the rules above, and every other intern and every workspace route answers 404. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
31
38
  */
32
39
  copyVaultSecretsToIntern(request: operations.CopyVaultSecretsToInternRequest, options?: RequestOptions): Promise<models.VaultSecretCopyResponse>;
33
40
  /**
34
41
  * List workspace secrets
35
42
  *
36
43
  * @remarks
37
- * Lists secret metadata for the workspace of the authenticated API key. Responses contain names, bound hosts, fingerprints and creation times, never secret values. Results are ordered by name and paginated with `limit` and `offset`. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
44
+ * Lists secret metadata for the workspace of the authenticated API key. The list includes secrets stored from the dashboard or at provisioning before workspace-scoped storage; where both exist under one name, the one stored through this API is listed. Those older secrets cannot be deleted or copied through this API, and storing the same name through this API replaces them. Responses contain names, bound hosts, fingerprints and creation times, never secret values. Results are ordered by name and paginated with `limit` and `offset`. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. An intern's own API key is confined to that intern: it can always read the intern's secrets and effective secrets, writes to them follow the rules above, and every other intern and every workspace route answers 404. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
38
45
  */
39
46
  listVaultSecrets(request?: operations.ListVaultSecretsRequest | undefined, options?: RequestOptions): Promise<models.VaultSecretListResponse>;
40
47
  /**
41
48
  * Delete a workspace secret
42
49
  *
43
50
  * @remarks
44
- * Deletes a secret from the workspace of the authenticated API key. Returns 204 with no body on success and 404 when the secret does not exist in the selected scope. Writes return 503 while vault writes are disabled for the caller. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
51
+ * Deletes a secret from the workspace of the authenticated API key. Returns 204 with no body on success and 404 when the secret does not exist in the selected scope. Writes return 503 while vault writes are disabled for the caller. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. An intern's own API key is confined to that intern: it can always read the intern's secrets and effective secrets, writes to them follow the rules above, and every other intern and every workspace route answers 404. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
45
52
  */
46
53
  deleteVaultSecret(request: operations.DeleteVaultSecretRequest, options?: RequestOptions): Promise<void>;
47
54
  /**
48
55
  * Store a workspace secret
49
56
  *
50
57
  * @remarks
51
- * Creates or replaces a secret in the workspace of the authenticated API key. The value is encrypted at rest and released only to the exact hostnames in `hosts`. The response carries metadata only. Writes return 503 while vault writes are disabled for the caller. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
58
+ * Creates or replaces a secret in the workspace of the authenticated API key. The value is encrypted at rest and released only to the exact hostnames in `hosts`. The response carries metadata only. Writes return 503 while vault writes are disabled for the caller. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. An intern's own API key is confined to that intern: it can always read the intern's secrets and effective secrets, writes to them follow the rules above, and every other intern and every workspace route answers 404. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
52
59
  */
53
60
  storeVaultSecret(request: operations.StoreVaultSecretRequest, options?: RequestOptions): Promise<models.VaultSecretResponse>;
54
61
  }