@onesi/genesis 0.2.2 → 0.2.4
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/README.md +1 -1
- package/dist/boxes.d.ts +1 -1
- package/dist/boxes.js +1 -1
- package/dist/client.d.ts +8 -1
- package/dist/client.js +43 -6
- package/dist/errors.d.ts +4 -0
- package/dist/errors.js +30 -1
- package/dist/foundry.d.ts +3 -2
- package/dist/foundry.js +3 -2
- package/dist/generated/operations.js +79 -39
- package/dist/generated/schema.d.ts +93 -21
- package/dist/genesis.d.ts +1 -1
- package/dist/genesis.openapi.json +245 -50
- package/dist/idempotency.js +6 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/redact.d.ts +0 -6
- package/dist/redact.js +3 -2
- package/dist/urls.d.ts +9 -0
- package/dist/urls.js +61 -0
- package/package.json +1 -1
|
@@ -1985,7 +1985,7 @@
|
|
|
1985
1985
|
"path": "/v1/files",
|
|
1986
1986
|
"status": "live"
|
|
1987
1987
|
},
|
|
1988
|
-
"x-mcp":
|
|
1988
|
+
"x-mcp": true
|
|
1989
1989
|
},
|
|
1990
1990
|
"post": {
|
|
1991
1991
|
"operationId": "foundry_uploadFile",
|
|
@@ -2037,7 +2037,7 @@
|
|
|
2037
2037
|
"path": "/v1/files",
|
|
2038
2038
|
"status": "live"
|
|
2039
2039
|
},
|
|
2040
|
-
"x-mcp":
|
|
2040
|
+
"x-mcp": true
|
|
2041
2041
|
}
|
|
2042
2042
|
},
|
|
2043
2043
|
"/v1/foundry/files/{file_id}": {
|
|
@@ -2083,7 +2083,7 @@
|
|
|
2083
2083
|
"path": "/v1/files/{file_id}",
|
|
2084
2084
|
"status": "live"
|
|
2085
2085
|
},
|
|
2086
|
-
"x-mcp":
|
|
2086
|
+
"x-mcp": true
|
|
2087
2087
|
},
|
|
2088
2088
|
"delete": {
|
|
2089
2089
|
"operationId": "foundry_deleteFile",
|
|
@@ -2127,7 +2127,7 @@
|
|
|
2127
2127
|
"path": "/v1/files/{file_id}",
|
|
2128
2128
|
"status": "live"
|
|
2129
2129
|
},
|
|
2130
|
-
"x-mcp":
|
|
2130
|
+
"x-mcp": true
|
|
2131
2131
|
}
|
|
2132
2132
|
},
|
|
2133
2133
|
"/v1/foundry/files/{file_id}/content": {
|
|
@@ -2174,7 +2174,7 @@
|
|
|
2174
2174
|
"path": "/v1/files/{file_id}/content",
|
|
2175
2175
|
"status": "live"
|
|
2176
2176
|
},
|
|
2177
|
-
"x-mcp":
|
|
2177
|
+
"x-mcp": true
|
|
2178
2178
|
}
|
|
2179
2179
|
},
|
|
2180
2180
|
"/v1/foundry/fine_tuning/providers": {
|
|
@@ -2209,7 +2209,7 @@
|
|
|
2209
2209
|
"path": "/v1/fine_tuning/providers",
|
|
2210
2210
|
"status": "live"
|
|
2211
2211
|
},
|
|
2212
|
-
"x-mcp":
|
|
2212
|
+
"x-mcp": true
|
|
2213
2213
|
}
|
|
2214
2214
|
},
|
|
2215
2215
|
"/v1/foundry/fine_tuning/jobs": {
|
|
@@ -2264,7 +2264,7 @@
|
|
|
2264
2264
|
"path": "/v1/fine_tuning/jobs",
|
|
2265
2265
|
"status": "live"
|
|
2266
2266
|
},
|
|
2267
|
-
"x-mcp":
|
|
2267
|
+
"x-mcp": true
|
|
2268
2268
|
},
|
|
2269
2269
|
"get": {
|
|
2270
2270
|
"operationId": "foundry_listFineTuningJobs",
|
|
@@ -2297,7 +2297,7 @@
|
|
|
2297
2297
|
"path": "/v1/fine_tuning/jobs",
|
|
2298
2298
|
"status": "live"
|
|
2299
2299
|
},
|
|
2300
|
-
"x-mcp":
|
|
2300
|
+
"x-mcp": true
|
|
2301
2301
|
}
|
|
2302
2302
|
},
|
|
2303
2303
|
"/v1/foundry/fine_tuning/jobs/{job_id}": {
|
|
@@ -2343,7 +2343,7 @@
|
|
|
2343
2343
|
"path": "/v1/fine_tuning/jobs/{job_id}",
|
|
2344
2344
|
"status": "live"
|
|
2345
2345
|
},
|
|
2346
|
-
"x-mcp":
|
|
2346
|
+
"x-mcp": true
|
|
2347
2347
|
},
|
|
2348
2348
|
"delete": {
|
|
2349
2349
|
"operationId": "foundry_deleteFineTuningJob",
|
|
@@ -2387,7 +2387,7 @@
|
|
|
2387
2387
|
"path": "/v1/fine_tuning/jobs/{job_id}",
|
|
2388
2388
|
"status": "live"
|
|
2389
2389
|
},
|
|
2390
|
-
"x-mcp":
|
|
2390
|
+
"x-mcp": true
|
|
2391
2391
|
}
|
|
2392
2392
|
},
|
|
2393
2393
|
"/v1/foundry/fine_tuning/jobs/{job_id}/events": {
|
|
@@ -2433,7 +2433,7 @@
|
|
|
2433
2433
|
"path": "/v1/fine_tuning/jobs/{job_id}/events",
|
|
2434
2434
|
"status": "live"
|
|
2435
2435
|
},
|
|
2436
|
-
"x-mcp":
|
|
2436
|
+
"x-mcp": true
|
|
2437
2437
|
}
|
|
2438
2438
|
},
|
|
2439
2439
|
"/v1/foundry/fine_tuning/jobs/{job_id}/cancel": {
|
|
@@ -2479,7 +2479,7 @@
|
|
|
2479
2479
|
"path": "/v1/fine_tuning/jobs/{job_id}/cancel",
|
|
2480
2480
|
"status": "live"
|
|
2481
2481
|
},
|
|
2482
|
-
"x-mcp":
|
|
2482
|
+
"x-mcp": true
|
|
2483
2483
|
}
|
|
2484
2484
|
},
|
|
2485
2485
|
"/v1/foundry/fine_tuning/jobs/{job_id}/checkpoints": {
|
|
@@ -2525,7 +2525,7 @@
|
|
|
2525
2525
|
"path": "/v1/fine_tuning/jobs/{job_id}/checkpoints",
|
|
2526
2526
|
"status": "live"
|
|
2527
2527
|
},
|
|
2528
|
-
"x-mcp":
|
|
2528
|
+
"x-mcp": true
|
|
2529
2529
|
}
|
|
2530
2530
|
},
|
|
2531
2531
|
"/v1/foundry/fine_tuning/models": {
|
|
@@ -2560,7 +2560,7 @@
|
|
|
2560
2560
|
"path": "/v1/fine_tuning/models",
|
|
2561
2561
|
"status": "live"
|
|
2562
2562
|
},
|
|
2563
|
-
"x-mcp":
|
|
2563
|
+
"x-mcp": true
|
|
2564
2564
|
}
|
|
2565
2565
|
},
|
|
2566
2566
|
"/v1/foundry/fine_tuning/models/{model_id}": {
|
|
@@ -2606,7 +2606,7 @@
|
|
|
2606
2606
|
"path": "/v1/fine_tuning/models/{model_id}",
|
|
2607
2607
|
"status": "live"
|
|
2608
2608
|
},
|
|
2609
|
-
"x-mcp":
|
|
2609
|
+
"x-mcp": true
|
|
2610
2610
|
}
|
|
2611
2611
|
},
|
|
2612
2612
|
"/v1/foundry/batches": {
|
|
@@ -2652,7 +2652,7 @@
|
|
|
2652
2652
|
"path": "/api/beta/batches",
|
|
2653
2653
|
"status": "live"
|
|
2654
2654
|
},
|
|
2655
|
-
"x-mcp":
|
|
2655
|
+
"x-mcp": true
|
|
2656
2656
|
}
|
|
2657
2657
|
},
|
|
2658
2658
|
"/v1/foundry/batches/{batch_id}": {
|
|
@@ -2699,7 +2699,7 @@
|
|
|
2699
2699
|
"path": "/api/beta/batches/{batch_id}",
|
|
2700
2700
|
"status": "live"
|
|
2701
2701
|
},
|
|
2702
|
-
"x-mcp":
|
|
2702
|
+
"x-mcp": true
|
|
2703
2703
|
}
|
|
2704
2704
|
},
|
|
2705
2705
|
"/v1/foundry/generation": {
|
|
@@ -2783,7 +2783,7 @@
|
|
|
2783
2783
|
}
|
|
2784
2784
|
}
|
|
2785
2785
|
],
|
|
2786
|
-
"description": "
|
|
2786
|
+
"description": "Retained prompt and output for one of your own generations (`id`), scoped to your organization. Not billed. Foundry admits `foundry:gateway:invoke` or management (openrouter_generations.rs authenticate_invoke_or_management): a Console login session gets the delegated `foundry:gateway:invoke` child, and an organization API key needs the `foundry:invoke` permission. 404 when the id is not yours; 403 `content_not_retained` when Foundry kept no content for it, 410 `content_expired` once retention ends.",
|
|
2787
2787
|
"x-genesis-service": "foundry",
|
|
2788
2788
|
"x-upstream": {
|
|
2789
2789
|
"base": "https://api.fdy.sh",
|
|
@@ -2791,7 +2791,7 @@
|
|
|
2791
2791
|
"path": "/api/v1/generation/content",
|
|
2792
2792
|
"status": "live"
|
|
2793
2793
|
},
|
|
2794
|
-
"x-mcp":
|
|
2794
|
+
"x-mcp": true
|
|
2795
2795
|
}
|
|
2796
2796
|
},
|
|
2797
2797
|
"/v1/foundry/generation/feedback": {
|
|
@@ -2829,7 +2829,21 @@
|
|
|
2829
2829
|
}
|
|
2830
2830
|
}
|
|
2831
2831
|
},
|
|
2832
|
-
"
|
|
2832
|
+
"parameters": [
|
|
2833
|
+
{
|
|
2834
|
+
"name": "Idempotency-Key",
|
|
2835
|
+
"in": "header",
|
|
2836
|
+
"required": true,
|
|
2837
|
+
"description": "Stable key, 8-128 characters of A-Z a-z 0-9 - _ . :; Foundry refuses feedback without one (400). Reuse it to retry.",
|
|
2838
|
+
"schema": {
|
|
2839
|
+
"type": "string",
|
|
2840
|
+
"minLength": 8,
|
|
2841
|
+
"maxLength": 128,
|
|
2842
|
+
"pattern": "^[A-Za-z0-9_.:-]{8,128}$"
|
|
2843
|
+
}
|
|
2844
|
+
}
|
|
2845
|
+
],
|
|
2846
|
+
"description": "Record feedback on one of your own generations (`generation_id`, `category`, optional `comment` up to 1000 characters). Requires an `Idempotency-Key` (8-128 characters of A-Z a-z 0-9 - _ . :): a retry with the same key and body is answered as a success without recording twice, and the same key with a different body is a 409. Not billed. Foundry admits `foundry:gateway:invoke` or management (openrouter_generations.rs authenticate_invoke_or_management): a Console login session gets the delegated `foundry:gateway:invoke` child, and an organization API key needs the `foundry:invoke` permission.",
|
|
2833
2847
|
"x-genesis-service": "foundry",
|
|
2834
2848
|
"x-upstream": {
|
|
2835
2849
|
"base": "https://api.fdy.sh",
|
|
@@ -2837,7 +2851,7 @@
|
|
|
2837
2851
|
"path": "/api/v1/generation/feedback",
|
|
2838
2852
|
"status": "live"
|
|
2839
2853
|
},
|
|
2840
|
-
"x-mcp":
|
|
2854
|
+
"x-mcp": true
|
|
2841
2855
|
}
|
|
2842
2856
|
},
|
|
2843
2857
|
"/v1/foundry/activity": {
|
|
@@ -2873,7 +2887,7 @@
|
|
|
2873
2887
|
"path": "/api/v1/activity",
|
|
2874
2888
|
"status": "live"
|
|
2875
2889
|
},
|
|
2876
|
-
"x-mcp":
|
|
2890
|
+
"x-mcp": true
|
|
2877
2891
|
}
|
|
2878
2892
|
},
|
|
2879
2893
|
"/v1/foundry/activity/export": {
|
|
@@ -2919,7 +2933,7 @@
|
|
|
2919
2933
|
"path": "/api/v1/activity/export",
|
|
2920
2934
|
"status": "live"
|
|
2921
2935
|
},
|
|
2922
|
-
"x-mcp":
|
|
2936
|
+
"x-mcp": true
|
|
2923
2937
|
}
|
|
2924
2938
|
},
|
|
2925
2939
|
"/v1/foundry/analytics/meta": {
|
|
@@ -2955,7 +2969,7 @@
|
|
|
2955
2969
|
"path": "/api/v1/analytics/meta",
|
|
2956
2970
|
"status": "live"
|
|
2957
2971
|
},
|
|
2958
|
-
"x-mcp":
|
|
2972
|
+
"x-mcp": true
|
|
2959
2973
|
}
|
|
2960
2974
|
},
|
|
2961
2975
|
"/v1/foundry/analytics/query": {
|
|
@@ -2993,7 +3007,7 @@
|
|
|
2993
3007
|
}
|
|
2994
3008
|
}
|
|
2995
3009
|
},
|
|
2996
|
-
"description": "
|
|
3010
|
+
"description": "Aggregate request-log analytics for your own organization (all projects and environments), served by Foundry's native reporting receiver (POST /v1/analytics/query). Read-only and not billed. The query body is bounded (64 KiB) and validated by Foundry, and the result is bound to the caller's organization. Works with a Console login session or an organization API key holding `foundry:read`; either way the gateway delegates a one-scope `foundry:reporting:read` child. gateway/src/foundry-reporting-read.ts.",
|
|
2997
3011
|
"x-genesis-service": "foundry",
|
|
2998
3012
|
"x-upstream": {
|
|
2999
3013
|
"base": "https://api.fdy.sh",
|
|
@@ -3001,7 +3015,7 @@
|
|
|
3001
3015
|
"path": "/api/v1/analytics/query",
|
|
3002
3016
|
"status": "live"
|
|
3003
3017
|
},
|
|
3004
|
-
"x-mcp":
|
|
3018
|
+
"x-mcp": true
|
|
3005
3019
|
}
|
|
3006
3020
|
},
|
|
3007
3021
|
"/v1/foundry/generations/{receipt_id}": {
|
|
@@ -4902,6 +4916,16 @@
|
|
|
4902
4916
|
}
|
|
4903
4917
|
}
|
|
4904
4918
|
],
|
|
4919
|
+
"requestBody": {
|
|
4920
|
+
"required": true,
|
|
4921
|
+
"content": {
|
|
4922
|
+
"application/json": {
|
|
4923
|
+
"schema": {
|
|
4924
|
+
"$ref": "#/components/schemas/Foundry.ApiKeyCreateRequest"
|
|
4925
|
+
}
|
|
4926
|
+
}
|
|
4927
|
+
}
|
|
4928
|
+
},
|
|
4905
4929
|
"x-genesis-service": "foundry",
|
|
4906
4930
|
"x-upstream": {
|
|
4907
4931
|
"base": "https://api.fdy.sh",
|
|
@@ -4980,7 +5004,7 @@
|
|
|
4980
5004
|
"path": "/v1/provider-keys",
|
|
4981
5005
|
"status": "live"
|
|
4982
5006
|
},
|
|
4983
|
-
"x-mcp":
|
|
5007
|
+
"x-mcp": true
|
|
4984
5008
|
},
|
|
4985
5009
|
"post": {
|
|
4986
5010
|
"operationId": "foundry_createProviderKey",
|
|
@@ -5023,7 +5047,7 @@
|
|
|
5023
5047
|
"path": "/v1/provider-keys",
|
|
5024
5048
|
"status": "live"
|
|
5025
5049
|
},
|
|
5026
|
-
"x-mcp":
|
|
5050
|
+
"x-mcp": true
|
|
5027
5051
|
}
|
|
5028
5052
|
},
|
|
5029
5053
|
"/v1/foundry/provider-keys/{provider_id}": {
|
|
@@ -5079,7 +5103,7 @@
|
|
|
5079
5103
|
"path": "/v1/provider-keys/{provider_id}",
|
|
5080
5104
|
"status": "live"
|
|
5081
5105
|
},
|
|
5082
|
-
"x-mcp":
|
|
5106
|
+
"x-mcp": true
|
|
5083
5107
|
},
|
|
5084
5108
|
"delete": {
|
|
5085
5109
|
"operationId": "foundry_deleteProviderKey",
|
|
@@ -5123,7 +5147,7 @@
|
|
|
5123
5147
|
"path": "/v1/provider-keys/{provider_id}",
|
|
5124
5148
|
"status": "live"
|
|
5125
5149
|
},
|
|
5126
|
-
"x-mcp":
|
|
5150
|
+
"x-mcp": true
|
|
5127
5151
|
}
|
|
5128
5152
|
},
|
|
5129
5153
|
"/v1/foundry/provider-credential-policies": {
|
|
@@ -5158,7 +5182,7 @@
|
|
|
5158
5182
|
"path": "/v1/provider-credential-policies",
|
|
5159
5183
|
"status": "live"
|
|
5160
5184
|
},
|
|
5161
|
-
"x-mcp":
|
|
5185
|
+
"x-mcp": true
|
|
5162
5186
|
}
|
|
5163
5187
|
},
|
|
5164
5188
|
"/v1/foundry/provider-credential-policies/{provider_id}": {
|
|
@@ -5214,7 +5238,7 @@
|
|
|
5214
5238
|
"path": "/v1/provider-credential-policies/{provider_id}",
|
|
5215
5239
|
"status": "live"
|
|
5216
5240
|
},
|
|
5217
|
-
"x-mcp":
|
|
5241
|
+
"x-mcp": true
|
|
5218
5242
|
}
|
|
5219
5243
|
},
|
|
5220
5244
|
"/v1/foundry/billing/profile": {
|
|
@@ -5418,7 +5442,7 @@
|
|
|
5418
5442
|
"tags": [
|
|
5419
5443
|
"foundry"
|
|
5420
5444
|
],
|
|
5421
|
-
"description": "
|
|
5445
|
+
"description": "Console login session or an organization API key holding `foundry:read` (a one-scope `foundry:reporting:read` child, Sandbox). Read-only, newest first; the gateway rejects any query parameter other than the ones below and returns only the listed fields. gateway/src/foundry-reporting-read.ts.",
|
|
5422
5446
|
"parameters": [
|
|
5423
5447
|
{
|
|
5424
5448
|
"name": "start",
|
|
@@ -5513,7 +5537,7 @@
|
|
|
5513
5537
|
"tags": [
|
|
5514
5538
|
"foundry"
|
|
5515
5539
|
],
|
|
5516
|
-
"description": "
|
|
5540
|
+
"description": "Console login session or an organization API key holding `foundry:read` (a one-scope `foundry:reporting:read` child, Sandbox). Configuration metadata only: provider ids, enabled flags, credential modes and timestamps. No secret material, and no health or execution verification. Takes no query. gateway/src/foundry-reporting-read.ts.",
|
|
5517
5541
|
"responses": {
|
|
5518
5542
|
"200": {
|
|
5519
5543
|
"description": "Provider credential configuration summary",
|
|
@@ -64496,7 +64520,14 @@
|
|
|
64496
64520
|
"description": "The capability has no server-side executor"
|
|
64497
64521
|
},
|
|
64498
64522
|
"503": {
|
|
64499
|
-
"description": "
|
|
64523
|
+
"description": "A native `snapshot` is `SNAPSHOT_UNAVAILABLE` (reason `no_omega_executor`): Omega has no snapshot executor yet, so the facade refuses it before contacting Omega. Nothing is billed or journaled, and a retry gets the same answer. Any other 503 means the native executor for the capability is not available yet or the facade is unavailable; retry with the same key.",
|
|
64524
|
+
"content": {
|
|
64525
|
+
"application/json": {
|
|
64526
|
+
"schema": {
|
|
64527
|
+
"$ref": "#/components/schemas/Rigs.SnapshotUnavailable"
|
|
64528
|
+
}
|
|
64529
|
+
}
|
|
64530
|
+
}
|
|
64500
64531
|
}
|
|
64501
64532
|
},
|
|
64502
64533
|
"tags": [
|
|
@@ -64873,7 +64904,14 @@
|
|
|
64873
64904
|
"description": "The capability has no server-side executor"
|
|
64874
64905
|
},
|
|
64875
64906
|
"503": {
|
|
64876
|
-
"description": "
|
|
64907
|
+
"description": "A native `snapshot` is `SNAPSHOT_UNAVAILABLE` (reason `no_omega_executor`): Omega has no snapshot executor yet, so the facade refuses it before contacting Omega. Nothing is billed or journaled, and a retry gets the same answer. Any other 503 means the native executor for the capability is not available yet or the facade is unavailable; retry with the same key.",
|
|
64908
|
+
"content": {
|
|
64909
|
+
"application/json": {
|
|
64910
|
+
"schema": {
|
|
64911
|
+
"$ref": "#/components/schemas/Panes.SnapshotUnavailable"
|
|
64912
|
+
}
|
|
64913
|
+
}
|
|
64914
|
+
}
|
|
64877
64915
|
}
|
|
64878
64916
|
},
|
|
64879
64917
|
"tags": [
|
|
@@ -65297,7 +65335,14 @@
|
|
|
65297
65335
|
"description": "The capability has no server-side executor"
|
|
65298
65336
|
},
|
|
65299
65337
|
"503": {
|
|
65300
|
-
"description": "
|
|
65338
|
+
"description": "A native `snapshot` is `SNAPSHOT_UNAVAILABLE` (reason `no_omega_executor`): Omega has no snapshot executor yet, so the facade refuses it before contacting Omega. Nothing is billed or journaled, and a retry gets the same answer. Any other 503 means the native executor for the capability is not available yet or the facade is unavailable; retry with the same key.",
|
|
65339
|
+
"content": {
|
|
65340
|
+
"application/json": {
|
|
65341
|
+
"schema": {
|
|
65342
|
+
"$ref": "#/components/schemas/Shells.SnapshotUnavailable"
|
|
65343
|
+
}
|
|
65344
|
+
}
|
|
65345
|
+
}
|
|
65301
65346
|
}
|
|
65302
65347
|
},
|
|
65303
65348
|
"tags": [
|
|
@@ -82864,7 +82909,7 @@
|
|
|
82864
82909
|
"post": {
|
|
82865
82910
|
"operationId": "boxes_mail_addresses_create",
|
|
82866
82911
|
"summary": "Reserve a mail address on a verified custom domain",
|
|
82867
|
-
"description": "Requires
|
|
82912
|
+
"description": "Requires the boxes:admin key scope. domainId is required in the body (422 otherwise). The domain must be verified (or, with the resend provider, ready for sending and receiving) and the local part must not already be reserved.",
|
|
82868
82913
|
"requestBody": {
|
|
82869
82914
|
"required": true,
|
|
82870
82915
|
"content": {
|
|
@@ -82983,7 +83028,7 @@
|
|
|
82983
83028
|
"post": {
|
|
82984
83029
|
"operationId": "boxes_mail_domains_addresses_create",
|
|
82985
83030
|
"summary": "Reserve a mail address on a specific domain",
|
|
82986
|
-
"description": "Requires
|
|
83031
|
+
"description": "Requires the boxes:admin key scope. Same behavior as POST /v1/mail/addresses but the domain comes from the path; any domainId in the body is ignored.",
|
|
82987
83032
|
"parameters": [
|
|
82988
83033
|
{
|
|
82989
83034
|
"name": "domain_id",
|
|
@@ -83064,7 +83109,7 @@
|
|
|
83064
83109
|
"post": {
|
|
83065
83110
|
"operationId": "boxes_mail_domains_create",
|
|
83066
83111
|
"summary": "Register a custom mail domain",
|
|
83067
|
-
"description": "Requires
|
|
83112
|
+
"description": "Requires the boxes:admin key scope. Returns the DNS records to publish before calling verify.",
|
|
83068
83113
|
"requestBody": {
|
|
83069
83114
|
"required": true,
|
|
83070
83115
|
"content": {
|
|
@@ -83129,7 +83174,7 @@
|
|
|
83129
83174
|
"get": {
|
|
83130
83175
|
"operationId": "boxes_mail_domains_list",
|
|
83131
83176
|
"summary": "List custom mail domains",
|
|
83132
|
-
"description": "Requires
|
|
83177
|
+
"description": "Requires the boxes:admin key scope.",
|
|
83133
83178
|
"responses": {
|
|
83134
83179
|
"200": {
|
|
83135
83180
|
"description": "Domains",
|
|
@@ -83180,7 +83225,7 @@
|
|
|
83180
83225
|
"post": {
|
|
83181
83226
|
"operationId": "boxes_mail_domains_verify",
|
|
83182
83227
|
"summary": "Check DNS and verify a mail domain",
|
|
83183
|
-
"description": "Requires
|
|
83228
|
+
"description": "Requires the boxes:admin key scope. A domain becomes verified only when every expected record passes. The meta block is present only with the built-in verifier, not with the resend provider.",
|
|
83184
83229
|
"parameters": [
|
|
83185
83230
|
{
|
|
83186
83231
|
"name": "domain_id",
|
|
@@ -97719,24 +97764,30 @@
|
|
|
97719
97764
|
"Foundry.ApiKeyCreateRequest": {
|
|
97720
97765
|
"type": "object",
|
|
97721
97766
|
"required": [
|
|
97722
|
-
"
|
|
97767
|
+
"label",
|
|
97768
|
+
"scopes"
|
|
97723
97769
|
],
|
|
97770
|
+
"description": "Body for creating or rotating a Sandbox prepaid native key through Genesis (Console key broker, gateway/src/foundry-key-write.ts). The secret is generated by Foundry and returned once; it is never sent by the caller.",
|
|
97724
97771
|
"properties": {
|
|
97725
|
-
"api_key": {
|
|
97726
|
-
"type": "string",
|
|
97727
|
-
"writeOnly": true
|
|
97728
|
-
},
|
|
97729
97772
|
"label": {
|
|
97730
97773
|
"type": [
|
|
97731
97774
|
"string",
|
|
97732
97775
|
"null"
|
|
97733
|
-
]
|
|
97776
|
+
],
|
|
97777
|
+
"maxLength": 120,
|
|
97778
|
+
"description": "Display label (UTF-8, at most 120 bytes, no control characters), or null."
|
|
97734
97779
|
},
|
|
97735
97780
|
"scopes": {
|
|
97736
97781
|
"type": "array",
|
|
97782
|
+
"minItems": 1,
|
|
97783
|
+
"maxItems": 1,
|
|
97737
97784
|
"items": {
|
|
97738
|
-
"type": "string"
|
|
97739
|
-
|
|
97785
|
+
"type": "string",
|
|
97786
|
+
"enum": [
|
|
97787
|
+
"foundry:gateway:invoke:prepaid"
|
|
97788
|
+
]
|
|
97789
|
+
},
|
|
97790
|
+
"description": "Exactly [\"foundry:gateway:invoke:prepaid\"]."
|
|
97740
97791
|
}
|
|
97741
97792
|
},
|
|
97742
97793
|
"additionalProperties": false
|
|
@@ -129185,6 +129236,54 @@
|
|
|
129185
129236
|
}
|
|
129186
129237
|
}
|
|
129187
129238
|
},
|
|
129239
|
+
"Rigs.SnapshotUnavailable": {
|
|
129240
|
+
"type": "object",
|
|
129241
|
+
"description": "The 503 answer to a native `snapshot` while Omega has no snapshot executor.",
|
|
129242
|
+
"required": [
|
|
129243
|
+
"error"
|
|
129244
|
+
],
|
|
129245
|
+
"properties": {
|
|
129246
|
+
"error": {
|
|
129247
|
+
"type": "object",
|
|
129248
|
+
"required": [
|
|
129249
|
+
"type",
|
|
129250
|
+
"code",
|
|
129251
|
+
"reason",
|
|
129252
|
+
"message"
|
|
129253
|
+
],
|
|
129254
|
+
"properties": {
|
|
129255
|
+
"type": {
|
|
129256
|
+
"type": "string",
|
|
129257
|
+
"const": "service_unavailable"
|
|
129258
|
+
},
|
|
129259
|
+
"code": {
|
|
129260
|
+
"type": "string",
|
|
129261
|
+
"const": "SNAPSHOT_UNAVAILABLE"
|
|
129262
|
+
},
|
|
129263
|
+
"reason": {
|
|
129264
|
+
"type": "string",
|
|
129265
|
+
"const": "no_omega_executor"
|
|
129266
|
+
},
|
|
129267
|
+
"message": {
|
|
129268
|
+
"type": "string",
|
|
129269
|
+
"description": "Snapshots are not available for Rigs yet."
|
|
129270
|
+
},
|
|
129271
|
+
"request_id": {
|
|
129272
|
+
"type": "string",
|
|
129273
|
+
"description": "The gateway request id"
|
|
129274
|
+
},
|
|
129275
|
+
"docs_url": {
|
|
129276
|
+
"type": "string",
|
|
129277
|
+
"format": "uri"
|
|
129278
|
+
},
|
|
129279
|
+
"layer": {
|
|
129280
|
+
"type": "string",
|
|
129281
|
+
"description": "The service that refused (rigs)"
|
|
129282
|
+
}
|
|
129283
|
+
}
|
|
129284
|
+
}
|
|
129285
|
+
}
|
|
129286
|
+
},
|
|
129188
129287
|
"Rigs.ActionResponse": {
|
|
129189
129288
|
"type": "object",
|
|
129190
129289
|
"required": [
|
|
@@ -129448,6 +129547,54 @@
|
|
|
129448
129547
|
}
|
|
129449
129548
|
}
|
|
129450
129549
|
},
|
|
129550
|
+
"Panes.SnapshotUnavailable": {
|
|
129551
|
+
"type": "object",
|
|
129552
|
+
"description": "The 503 answer to a native `snapshot` while Omega has no snapshot executor.",
|
|
129553
|
+
"required": [
|
|
129554
|
+
"error"
|
|
129555
|
+
],
|
|
129556
|
+
"properties": {
|
|
129557
|
+
"error": {
|
|
129558
|
+
"type": "object",
|
|
129559
|
+
"required": [
|
|
129560
|
+
"type",
|
|
129561
|
+
"code",
|
|
129562
|
+
"reason",
|
|
129563
|
+
"message"
|
|
129564
|
+
],
|
|
129565
|
+
"properties": {
|
|
129566
|
+
"type": {
|
|
129567
|
+
"type": "string",
|
|
129568
|
+
"const": "service_unavailable"
|
|
129569
|
+
},
|
|
129570
|
+
"code": {
|
|
129571
|
+
"type": "string",
|
|
129572
|
+
"const": "SNAPSHOT_UNAVAILABLE"
|
|
129573
|
+
},
|
|
129574
|
+
"reason": {
|
|
129575
|
+
"type": "string",
|
|
129576
|
+
"const": "no_omega_executor"
|
|
129577
|
+
},
|
|
129578
|
+
"message": {
|
|
129579
|
+
"type": "string",
|
|
129580
|
+
"description": "Snapshots are not available for Panes yet."
|
|
129581
|
+
},
|
|
129582
|
+
"request_id": {
|
|
129583
|
+
"type": "string",
|
|
129584
|
+
"description": "The gateway request id"
|
|
129585
|
+
},
|
|
129586
|
+
"docs_url": {
|
|
129587
|
+
"type": "string",
|
|
129588
|
+
"format": "uri"
|
|
129589
|
+
},
|
|
129590
|
+
"layer": {
|
|
129591
|
+
"type": "string",
|
|
129592
|
+
"description": "The service that refused (panes)"
|
|
129593
|
+
}
|
|
129594
|
+
}
|
|
129595
|
+
}
|
|
129596
|
+
}
|
|
129597
|
+
},
|
|
129451
129598
|
"Panes.ActionResponse": {
|
|
129452
129599
|
"type": "object",
|
|
129453
129600
|
"required": [
|
|
@@ -129737,6 +129884,54 @@
|
|
|
129737
129884
|
}
|
|
129738
129885
|
}
|
|
129739
129886
|
},
|
|
129887
|
+
"Shells.SnapshotUnavailable": {
|
|
129888
|
+
"type": "object",
|
|
129889
|
+
"description": "The 503 answer to a native `snapshot` while Omega has no snapshot executor.",
|
|
129890
|
+
"required": [
|
|
129891
|
+
"error"
|
|
129892
|
+
],
|
|
129893
|
+
"properties": {
|
|
129894
|
+
"error": {
|
|
129895
|
+
"type": "object",
|
|
129896
|
+
"required": [
|
|
129897
|
+
"type",
|
|
129898
|
+
"code",
|
|
129899
|
+
"reason",
|
|
129900
|
+
"message"
|
|
129901
|
+
],
|
|
129902
|
+
"properties": {
|
|
129903
|
+
"type": {
|
|
129904
|
+
"type": "string",
|
|
129905
|
+
"const": "service_unavailable"
|
|
129906
|
+
},
|
|
129907
|
+
"code": {
|
|
129908
|
+
"type": "string",
|
|
129909
|
+
"const": "SNAPSHOT_UNAVAILABLE"
|
|
129910
|
+
},
|
|
129911
|
+
"reason": {
|
|
129912
|
+
"type": "string",
|
|
129913
|
+
"const": "no_omega_executor"
|
|
129914
|
+
},
|
|
129915
|
+
"message": {
|
|
129916
|
+
"type": "string",
|
|
129917
|
+
"description": "Snapshots are not available for Shells yet."
|
|
129918
|
+
},
|
|
129919
|
+
"request_id": {
|
|
129920
|
+
"type": "string",
|
|
129921
|
+
"description": "The gateway request id"
|
|
129922
|
+
},
|
|
129923
|
+
"docs_url": {
|
|
129924
|
+
"type": "string",
|
|
129925
|
+
"format": "uri"
|
|
129926
|
+
},
|
|
129927
|
+
"layer": {
|
|
129928
|
+
"type": "string",
|
|
129929
|
+
"description": "The service that refused (shells)"
|
|
129930
|
+
}
|
|
129931
|
+
}
|
|
129932
|
+
}
|
|
129933
|
+
}
|
|
129934
|
+
},
|
|
129740
129935
|
"Shells.ActionResponse": {
|
|
129741
129936
|
"type": "object",
|
|
129742
129937
|
"required": [
|
package/dist/idempotency.js
CHANGED
|
@@ -2,7 +2,7 @@ import { GenesisError } from './errors.js';
|
|
|
2
2
|
import { operationTable } from './generated/operations.js';
|
|
3
3
|
const REQUIRED = /^[\x21-\x7e]{8,128}$/;
|
|
4
4
|
const OPTIONAL = /^[\x21-\x7e]{1,256}$/;
|
|
5
|
-
/** Auto's Idempotency-Key grammar (l1felabs/auto src/operating.ts IDEMPOTENCY_KEY). */
|
|
5
|
+
/** Auto's Idempotency-Key grammar (l1felabs/auto src/operating.ts IDEMPOTENCY_KEY); Foundry feedback uses the same. */
|
|
6
6
|
const AUTO_KEY = /^[A-Za-z0-9_.:-]{8,128}$/;
|
|
7
7
|
/** The Idempotency-Key header an operation's spec declares. A required key is refused locally when missing
|
|
8
8
|
* or malformed, before any request is sent; reuse the same key to replay instead of acting twice. */
|
|
@@ -25,6 +25,11 @@ export function idempotencyHeaders(operationId, key) {
|
|
|
25
25
|
throw new GenesisError({ status: 0, type: 'invalid_request', operationId,
|
|
26
26
|
message: `${operationId} idempotency key must be 8-128 characters of A-Z a-z 0-9 _ . : -` });
|
|
27
27
|
}
|
|
28
|
+
// Foundry generation feedback takes [A-Za-z0-9_.:-] only (openrouter_generations.rs validate_feedback).
|
|
29
|
+
if (operationId === 'foundry_submitGenerationFeedback' && !AUTO_KEY.test(key)) {
|
|
30
|
+
throw new GenesisError({ status: 0, type: 'invalid_request', operationId,
|
|
31
|
+
message: `${operationId} idempotency key must be 8-128 characters of A-Z a-z 0-9 _ . : -` });
|
|
32
|
+
}
|
|
28
33
|
return { 'idempotency-key': key };
|
|
29
34
|
}
|
|
30
35
|
/** The If-Match header an operation's spec requires (Auto's optimistic concurrency): the resource `version`
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { iamDirectoryOperations, isIamDirectoryOperation, iamDirectoryFailure }
|
|
|
4
4
|
export { iamModule } from './iam.js';
|
|
5
5
|
export { GenesisError, errorCatalog, errorBody, errorToken, errorOutcome } from './errors.js';
|
|
6
6
|
export { ERROR_BODY_LIMITS, cardNumber, redactErrorBody, redactErrorText, secretField } from './redact.js';
|
|
7
|
-
export { requireSecureUrl } from './urls.js';
|
|
7
|
+
export { requireSecureUrl, redactUserinfo, stripUserinfo } from './urls.js';
|
|
8
8
|
export { operationTable, services, type OperationId } from './generated/operations.js';
|
|
9
9
|
export type { OperationInput, OperationOutput, OperationMeta, ServiceMeta } from './types.js';
|
|
10
10
|
export type { paths, operations, components } from './generated/schema.js';
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@ export { iamDirectoryOperations, isIamDirectoryOperation, iamDirectoryFailure }
|
|
|
4
4
|
export { iamModule } from './iam.js';
|
|
5
5
|
export { GenesisError, errorCatalog, errorBody, errorToken, errorOutcome } from './errors.js';
|
|
6
6
|
export { ERROR_BODY_LIMITS, cardNumber, redactErrorBody, redactErrorText, secretField } from './redact.js';
|
|
7
|
-
export { requireSecureUrl } from './urls.js';
|
|
7
|
+
export { requireSecureUrl, redactUserinfo, stripUserinfo } from './urls.js';
|
|
8
8
|
export { operationTable, services } from './generated/operations.js';
|
|
9
9
|
export { hivesUploadBody, MAX_WASM_BYTES } from './hives-upload.js';
|
|
10
10
|
export { validateHivesInvocation, hivesFunctionResponseHeaders, HivesOperationError, MAX_FUNCTION_BODY_BYTES, MAX_FUNCTION_JSON_BYTES } from './hives-functions.js';
|