@aexhq/sdk 0.30.0 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -9
- package/dist/_contracts/connection-ticket.d.ts +1 -1
- package/dist/_contracts/connection-ticket.js +1 -1
- package/dist/_contracts/event-envelope.d.ts +5 -8
- package/dist/_contracts/event-envelope.js +5 -6
- package/dist/_contracts/event-stream-client.d.ts +1 -1
- package/dist/_contracts/http.js +1 -1
- package/dist/_contracts/models.d.ts +0 -76
- package/dist/_contracts/models.js +0 -20
- package/dist/_contracts/operations.d.ts +2 -64
- package/dist/_contracts/operations.js +9 -152
- package/dist/_contracts/provider-support.d.ts +48 -138
- package/dist/_contracts/provider-support.js +10 -41
- package/dist/_contracts/proxy-protocol.d.ts +7 -7
- package/dist/_contracts/proxy-protocol.js +8 -8
- package/dist/_contracts/run-config.d.ts +7 -20
- package/dist/_contracts/run-config.js +8 -46
- package/dist/_contracts/run-cost.d.ts +1 -5
- package/dist/_contracts/run-cost.js +0 -8
- package/dist/_contracts/run-custody.d.ts +4 -6
- package/dist/_contracts/run-custody.js +0 -8
- package/dist/_contracts/run-unit.d.ts +1 -1
- package/dist/_contracts/run-unit.js +6 -6
- package/dist/_contracts/runner-event.d.ts +1 -1
- package/dist/_contracts/runner-event.js +1 -1
- package/dist/_contracts/runtime-manifest.d.ts +13 -26
- package/dist/_contracts/runtime-manifest.js +6 -35
- package/dist/_contracts/runtime-types.d.ts +1 -3
- package/dist/_contracts/sdk-secrets.js +4 -4
- package/dist/_contracts/side-effect-audit.d.ts +2 -4
- package/dist/_contracts/side-effect-audit.js +2 -4
- package/dist/_contracts/status.d.ts +1 -1
- package/dist/_contracts/status.js +1 -1
- package/dist/_contracts/submission.d.ts +5 -126
- package/dist/_contracts/submission.js +10 -182
- package/dist/_contracts/webhook-verify.d.ts +1 -1
- package/dist/_contracts/webhook-verify.js +1 -1
- package/dist/asset-upload.d.ts +4 -10
- package/dist/asset-upload.js +4 -47
- package/dist/asset-upload.js.map +1 -1
- package/dist/cli.mjs +27 -231
- package/dist/cli.mjs.sha256 +1 -1
- package/dist/client.d.ts +10 -107
- package/dist/client.js +23 -132
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/skill.d.ts +1 -1
- package/dist/skill.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/docs/cleanup.md +4 -4
- package/docs/concepts/agent-tools.md +2 -2
- package/docs/concepts/composition.md +1 -1
- package/docs/concepts/providers-and-runtimes.md +2 -4
- package/docs/concepts/runs.md +3 -6
- package/docs/credentials.md +5 -8
- package/docs/defaults.md +22 -22
- package/docs/limits-and-quotas.md +40 -40
- package/docs/limits.md +1 -1
- package/docs/networking.md +2 -2
- package/docs/outputs.md +3 -3
- package/docs/provider-runtime-capabilities.md +37 -65
- package/docs/public-surface.json +4 -5
- package/docs/quickstart.md +19 -6
- package/docs/run-config.md +5 -6
- package/docs/secrets.md +9 -7
- package/docs/skills.md +8 -16
- package/docs/vision-skills.md +3 -3
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* from `@aexhq/contracts`.
|
|
9
9
|
*/
|
|
10
10
|
export { AgentsMdClient, AgentExecutor, FilesClient, SecretsClient, SkillsClient } from "./client.js";
|
|
11
|
-
export type { AgentExecutorOptions, OutputDownloadOptions, OutputFilePathMatch, OutputFilePathSelector, OutputFileSelector, OutputLinkSelector, RunCollectOptions, RunResult, StreamEventsOptions, SubmitOptions,
|
|
11
|
+
export type { AgentExecutorOptions, OutputDownloadOptions, OutputFilePathMatch, OutputFilePathSelector, OutputFileSelector, OutputLinkSelector, RunCollectOptions, RunResult, StreamEventsOptions, SubmitOptions, WaitForRunOptions } from "./client.js";
|
|
12
12
|
export { Skill } from "./skill.js";
|
|
13
13
|
export { Tool } from "./tool.js";
|
|
14
14
|
export { AgentsMd } from "./agents-md.js";
|
|
@@ -25,14 +25,14 @@ export type { ChatCorpus, CreateDataToolsOptions, DataChatTool, DataChatToolSche
|
|
|
25
25
|
export { AexApiError, AexError, CleanupError, CredentialValidationError, ProviderError, RunConfigValidationError, RunStateError } from "./_contracts/index.js";
|
|
26
26
|
export { MCP_SERVER_NAME_PATTERN, SKILL_BUNDLE_LIMITS, SkillBundleValidationError, buildPlatformAllowedHosts, normaliseSkillBundlePath, validateSkillBundleEntry, validateSkillBundleManifest, validateProxyAuth } from "./_contracts/index.js";
|
|
27
27
|
export type { AssetRef, AgentsMdRef, FileRef, McpServerRef, SkillBundleEntry, SkillBundleManifest, SkillRef, ToolInputSchema, ToolRef } from "./_contracts/index.js";
|
|
28
|
-
export type { AgentsMdRecord as AgentsMdRecordWire, FileRecord as FileRecordWire, Output, OutputFileType, OutputLink, OutputLinkOptions, OutputQuery, OutputSearchQuery, OutputSearchHit, OutputSearchPage, OutputText, ProviderEvent, ReadOutputTextOptions, Run, RunListPage, RunListQuery, RunSummary, RunRecordArchiveFileV1, RunRecordArchiveFileRoleV1, RunRecordArchiveNamespaceV1, RunRecordCostV1, RunRecordDownloadErrorV1, RunRecordFileStatusV1, RunRecordManifestV1, RunRecordMetadataV1, RunRecordNamespaceV1, RunRecordSubmissionSnapshotV1, RunRecordV1, RunEvent, RunWebhookDelivery, RunWebhookDeliveryStatus, RuntimeManifest,
|
|
28
|
+
export type { AgentsMdRecord as AgentsMdRecordWire, FileRecord as FileRecordWire, Output, OutputFileType, OutputLink, OutputLinkOptions, OutputQuery, OutputSearchQuery, OutputSearchHit, OutputSearchPage, OutputText, ProviderEvent, ReadOutputTextOptions, Run, RunListPage, RunListQuery, RunSummary, RunRecordArchiveFileV1, RunRecordArchiveFileRoleV1, RunRecordArchiveNamespaceV1, RunRecordCostV1, RunRecordDownloadErrorV1, RunRecordFileStatusV1, RunRecordManifestV1, RunRecordMetadataV1, RunRecordNamespaceV1, RunRecordSubmissionSnapshotV1, RunRecordV1, RunEvent, RunWebhookDelivery, RunWebhookDeliveryStatus, RuntimeManifest, SecretRecord, SecretReveal, Skill as SkillRecord, UsageSummary, WhoAmI } from "./_contracts/index.js";
|
|
29
29
|
export type { PlatformInlineSecrets as InlineSecrets, PlatformMcpServerSecret as McpServerSecret, PlatformProxyEndpoint, PlatformProxyEndpointAuth, PlatformProxyAuthValue as ProxyAuthValue, PlatformEnvironment as RunEnvironment, PlatformRunSubmissionRequest, RunLimits, RunWebhookSpec, ProxyAuthShape, ProxyMethod, ProxyRetryPolicy, ProxyResponseMode } from "./_contracts/index.js";
|
|
30
30
|
export { CUSTODY_MANIFEST_SCHEMA_VERSION, RUN_RECORD_MANIFEST_SCHEMA_VERSION, RUN_RECORD_SCHEMA_VERSION, DEFAULT_RUNTIME_SIZE, RUNTIME_SIZE_PRESETS, RUNTIME_SIZES, RuntimeSizes } from "./_contracts/index.js";
|
|
31
31
|
export type { RuntimeResources, RuntimeSize } from "./_contracts/index.js";
|
|
32
32
|
export { BUILTIN_TOOL_NAMES, BuiltinTools, DEFAULT_BUILTIN_TOOLS, resolveBuiltinToolNames } from "./_contracts/index.js";
|
|
33
33
|
export type { BuiltinToolName } from "./_contracts/index.js";
|
|
34
|
-
export {
|
|
35
|
-
export type {
|
|
34
|
+
export { DEFAULT_RUN_PROVIDER, RUN_MODELS, RUN_MODELS_BY_PROVIDER, MODEL_PROVIDER_IDS, Models, providerForModel, providersForModel, resolveProviderModelId, isRunModel, parseRunModel, Providers, RUN_PROVIDERS } from "./_contracts/index.js";
|
|
35
|
+
export type { RunModel, RunProvider } from "./_contracts/index.js";
|
|
36
36
|
export { AEX_RUN_SETTLED_NAME, isCustom, isEventChannel, isFromSource, isLog, isRunError, isRunFinished, isRunSettled, isRunStarted, isRunTerminal, isTextMessage, isToolCallResult, isToolCallStart } from "./_contracts/index.js";
|
|
37
37
|
export type { RunFinishedRunEvent, TextMessageRunEvent, ToolCallResultRunEvent, ToolCallStartRunEvent } from "./_contracts/index.js";
|
|
38
38
|
export { decodeAssistantText, decodeToolCalls, summarizeRunTrace, summarizeRunUsage, textOf } from "./_contracts/index.js";
|
package/dist/index.js
CHANGED
|
@@ -34,10 +34,9 @@ export { CUSTODY_MANIFEST_SCHEMA_VERSION, RUN_RECORD_MANIFEST_SCHEMA_VERSION, RU
|
|
|
34
34
|
// listing their names in `tools`. Prefer the `BuiltinTools` const (e.g.
|
|
35
35
|
// `BuiltinTools.notebook_edit`) so a typo is a compile error, not a runtime 400.
|
|
36
36
|
export { BUILTIN_TOOL_NAMES, BuiltinTools, DEFAULT_BUILTIN_TOOLS, resolveBuiltinToolNames } from "./_contracts/index.js";
|
|
37
|
-
// Provider
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
export { CREDENTIAL_MODES, DEFAULT_CREDENTIAL_MODE, collectManagedUnsupportedFeatures, DEFAULT_RUN_PROVIDER, RUN_MODELS, RUN_MODELS_BY_PROVIDER, MODEL_PROVIDER_IDS, Models, RunModels, providerForModel, providersForModel, resolveProviderModelId, isRunModel, parseRunModel, Providers, REGIONS, Regions, RUN_PROVIDERS, RUNTIME_KINDS, RUNTIME_VALIDATION_CODES, RuntimeValidationError, selectRuntime } from "./_contracts/index.js";
|
|
37
|
+
// Provider/model surface. Provider choice decides the upstream model route;
|
|
38
|
+
// execution uses the managed path.
|
|
39
|
+
export { DEFAULT_RUN_PROVIDER, RUN_MODELS, RUN_MODELS_BY_PROVIDER, MODEL_PROVIDER_IDS, Models, providerForModel, providersForModel, resolveProviderModelId, isRunModel, parseRunModel, Providers, RUN_PROVIDERS } from "./_contracts/index.js";
|
|
41
40
|
// Event guards. The lifecycle/channel guards (isRunStarted/isRunError/isCustom/
|
|
42
41
|
// isLog/…) operate on the coordinator `AexEvent` envelope; isTextMessage /
|
|
43
42
|
// isToolCallStart / isToolCallResult / isRunFinished narrow the loose `RunEvent`
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAetG,yBAAyB;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AASrC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGhE,2EAA2E;AAC3E,+EAA+E;AAC/E,wEAAwE;AACxE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG7G,SAAS;AACT,OAAO,EACL,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,yBAAyB,EACzB,aAAa,EACb,wBAAwB,EACxB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,yBAAyB;AACzB,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AA4E1B,oEAAoE;AACpE,6EAA6E;AAC7E,6DAA6D;AAC7D,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,EAClC,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACb,MAAM,kBAAkB,CAAC;AAG1B,8EAA8E;AAC9E,4EAA4E;AAC5E,wEAAwE;AACxE,iFAAiF;AACjF,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGpH,4EAA4E;AAC5E,mCAAmC;AACnC,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,sBAAsB,EACtB,kBAAkB,EAClB,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACd,MAAM,kBAAkB,CAAC;AAM1B,gFAAgF;AAChF,2EAA2E;AAC3E,iFAAiF;AACjF,2EAA2E;AAC3E,OAAO,EACL,oBAAoB,EACpB,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,KAAK,EACL,UAAU,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAQ1B,gFAAgF;AAChF,6EAA6E;AAC7E,iFAAiF;AACjF,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,EACP,MAAM,kBAAkB,CAAC;AAQ1B,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE/D,yEAAyE;AACzE,6EAA6E;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/skill.d.ts
CHANGED
|
@@ -81,7 +81,7 @@ export declare class Skill {
|
|
|
81
81
|
}): Promise<Skill>;
|
|
82
82
|
/**
|
|
83
83
|
* Reference a skill already uploaded to the workspace catalog
|
|
84
|
-
* (`aex skills upload`
|
|
84
|
+
* (`aex skills upload`) in a run.
|
|
85
85
|
*
|
|
86
86
|
* A catalog skill's bytes are a content-addressed asset, so referencing it
|
|
87
87
|
* is just an `{ kind:"asset" }` ref — once a run snapshots the bytes, it is
|
package/dist/skill.js
CHANGED
|
@@ -118,7 +118,7 @@ export class Skill {
|
|
|
118
118
|
}
|
|
119
119
|
/**
|
|
120
120
|
* Reference a skill already uploaded to the workspace catalog
|
|
121
|
-
* (`aex skills upload`
|
|
121
|
+
* (`aex skills upload`) in a run.
|
|
122
122
|
*
|
|
123
123
|
* A catalog skill's bytes are a content-addressed asset, so referencing it
|
|
124
124
|
* is just an `{ kind:"asset" }` ref — once a run snapshots the bytes, it is
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/docs/cleanup.md
CHANGED
|
@@ -15,12 +15,12 @@ provider-session retention is not a supported run option, and the removed
|
|
|
15
15
|
retention field is rejected if supplied.
|
|
16
16
|
|
|
17
17
|
```ts
|
|
18
|
-
import {
|
|
18
|
+
import { Models } from "@aexhq/sdk";
|
|
19
19
|
|
|
20
20
|
const runId = await aex.submit({
|
|
21
|
-
model:
|
|
21
|
+
model: Models.CLAUDE_HAIKU_4_5,
|
|
22
22
|
prompt: "...",
|
|
23
|
-
secrets: {
|
|
23
|
+
secrets: { apiKeys: { anthropic: process.env.ANTHROPIC_API_KEY! } }
|
|
24
24
|
});
|
|
25
25
|
```
|
|
26
26
|
|
|
@@ -33,7 +33,7 @@ run's tracked resources. It is one of:
|
|
|
33
33
|
- `pending` / `running` - cleanup is queued or in progress.
|
|
34
34
|
- `succeeded` - tracked cleanup work completed for the resources aex
|
|
35
35
|
controls.
|
|
36
|
-
- `failed_retryable` - a step failed in a way the cleanup
|
|
36
|
+
- `failed_retryable` - a step failed in a way the cleanup task will retry.
|
|
37
37
|
- `failed_terminal` - a step failed past retries; manual intervention may be
|
|
38
38
|
needed.
|
|
39
39
|
- `skipped` - cleanup was not applicable for a tracked resource, or the
|
|
@@ -47,7 +47,7 @@ await aex.submit({
|
|
|
47
47
|
model: Models.CLAUDE_HAIKU_4_5,
|
|
48
48
|
prompt: "Edit the analysis notebook.",
|
|
49
49
|
tools: [BuiltinTools.notebook_edit],
|
|
50
|
-
secrets: {
|
|
50
|
+
secrets: { apiKeys: { anthropic: process.env.ANTHROPIC_API_KEY! } }
|
|
51
51
|
});
|
|
52
52
|
```
|
|
53
53
|
|
|
@@ -69,6 +69,6 @@ await aex.submit({
|
|
|
69
69
|
prompt: "Use only the declared MCP tools.",
|
|
70
70
|
mcpServers,
|
|
71
71
|
includeBuiltinTools: false,
|
|
72
|
-
secrets: {
|
|
72
|
+
secrets: { apiKeys: { anthropic: process.env.ANTHROPIC_API_KEY! } }
|
|
73
73
|
});
|
|
74
74
|
```
|
|
@@ -17,9 +17,7 @@ aex exposes one submission shape across supported providers:
|
|
|
17
17
|
| Doubao | `Providers.DOUBAO` |
|
|
18
18
|
| Doubao China | `Providers.DOUBAO_CN` |
|
|
19
19
|
|
|
20
|
-
All submissions run on the managed runtime.
|
|
21
|
-
`runtime: "managed"`; `runtime: "native"` is rejected before any runtime side
|
|
22
|
-
effect.
|
|
20
|
+
All submissions run on the managed runtime. There is no public runtime selector; omit `runtime`.
|
|
23
21
|
|
|
24
22
|
## Selection
|
|
25
23
|
|
|
@@ -32,7 +30,7 @@ await aex.submit({
|
|
|
32
30
|
provider: Providers.OPENAI,
|
|
33
31
|
model: Models.GPT_4_1,
|
|
34
32
|
prompt: "Summarise the attached files.",
|
|
35
|
-
secrets: {
|
|
33
|
+
secrets: { apiKeys: { openai: process.env.OPENAI_API_KEY! } }
|
|
36
34
|
});
|
|
37
35
|
```
|
|
38
36
|
|
package/docs/concepts/runs.md
CHANGED
|
@@ -19,7 +19,7 @@ const runId = await aex.submit({
|
|
|
19
19
|
provider: "anthropic",
|
|
20
20
|
model: Models.CLAUDE_HAIKU_4_5,
|
|
21
21
|
prompt: "Write the report and save it as a file.",
|
|
22
|
-
secrets: {
|
|
22
|
+
secrets: { apiKeys: { anthropic: process.env.ANTHROPIC_API_KEY! } }
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
for await (const event of aex.stream(runId)) {
|
|
@@ -39,8 +39,5 @@ the normalized non-secret submission, so a retry with the same key and same body
|
|
|
39
39
|
returns the existing run while a mismatched body fails with an idempotency
|
|
40
40
|
conflict.
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
backing for the run; they are not exact city guarantees. When omitted, aex
|
|
45
|
-
infers a configured region from request geography and falls back when no hint
|
|
46
|
-
matches.
|
|
42
|
+
aex selects product placement server-side. There is no submit-time region
|
|
43
|
+
selector.
|
package/docs/credentials.md
CHANGED
|
@@ -33,9 +33,6 @@ server-side** from the run's vaulted bundle — the keys never transit the
|
|
|
33
33
|
container. If the parent holds no key for the child's provider, the child submit
|
|
34
34
|
is rejected with `parent_missing_provider_key`.
|
|
35
35
|
|
|
36
|
-
The flat `secrets.apiKey` is still accepted as a back-compat shorthand for the
|
|
37
|
-
run's own provider key (equivalent to `apiKeys[provider]`).
|
|
38
|
-
|
|
39
36
|
MCP credential types:
|
|
40
37
|
|
|
41
38
|
- `static_bearer`;
|
|
@@ -58,7 +55,7 @@ The platform's managed HTTP proxy is the agent-first alternative. The caller dec
|
|
|
58
55
|
```ts
|
|
59
56
|
import {
|
|
60
57
|
AgentExecutor,
|
|
61
|
-
|
|
58
|
+
Models,
|
|
62
59
|
validateProxyAuth,
|
|
63
60
|
buildPlatformAllowedHosts
|
|
64
61
|
} from "@aexhq/sdk";
|
|
@@ -101,11 +98,11 @@ const proxyEndpointAuth = [
|
|
|
101
98
|
validateProxyAuth(proxyEndpoints, proxyEndpointAuth);
|
|
102
99
|
|
|
103
100
|
const runId = await aex.submit({
|
|
104
|
-
model:
|
|
101
|
+
model: Models.CLAUDE_HAIKU_4_5,
|
|
105
102
|
prompt: "…",
|
|
106
103
|
proxyEndpoints,
|
|
107
104
|
secrets: {
|
|
108
|
-
|
|
105
|
+
apiKeys: { anthropic: process.env.ANTHROPIC_API_KEY! },
|
|
109
106
|
proxyEndpointAuth
|
|
110
107
|
}
|
|
111
108
|
});
|
|
@@ -140,10 +137,10 @@ const proxyEndpoints = [
|
|
|
140
137
|
] as const;
|
|
141
138
|
|
|
142
139
|
const runId = await aex.submit({
|
|
143
|
-
model:
|
|
140
|
+
model: Models.CLAUDE_HAIKU_4_5,
|
|
144
141
|
prompt: "…",
|
|
145
142
|
proxyEndpoints,
|
|
146
|
-
secrets: {
|
|
143
|
+
secrets: { apiKeys: { anthropic: process.env.ANTHROPIC_API_KEY! } }
|
|
147
144
|
});
|
|
148
145
|
```
|
|
149
146
|
|
package/docs/defaults.md
CHANGED
|
@@ -7,13 +7,12 @@ title: Defaults
|
|
|
7
7
|
These are the values aex applies when you **omit** the corresponding option on a
|
|
8
8
|
run. Every value is mirrored from a single source-of-truth constant; the
|
|
9
9
|
constant file is authoritative and this page is generated documentation, not a
|
|
10
|
-
second source of truth. If a value here ever disagrees with
|
|
10
|
+
second source of truth. If a value here ever disagrees with that constant,
|
|
11
11
|
the constant wins.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
(runtime-
|
|
16
|
-
[`packages/contracts/src/runtime-sizes.ts`](https://github.com/aexhq/aex/blob/main/packages/contracts/src/runtime-sizes.ts)).
|
|
13
|
+
Each value below is named by its source-of-truth constant. The runtime-size
|
|
14
|
+
presets are defined in the public
|
|
15
|
+
[`packages/contracts/src/runtime-sizes.ts`](https://github.com/aexhq/aex/blob/main/packages/contracts/src/runtime-sizes.ts).
|
|
17
16
|
For the hard ceilings and who can raise them, see
|
|
18
17
|
[Limits & quotas](limits-and-quotas.md). For policy boundaries, see
|
|
19
18
|
[Limits](limits.md).
|
|
@@ -22,50 +21,51 @@ For the hard ceilings and who can raise them, see
|
|
|
22
21
|
|
|
23
22
|
| Option | Default | How to override | Source |
|
|
24
23
|
| --- | --- | --- | --- |
|
|
25
|
-
| `timeout` (run deadline) | 1 hour | Per-run via `options.timeout` (e.g. `"30m"`, `"2h"`), clamped to the run-timeout floor/ceiling. |
|
|
26
|
-
| `runtimeSize` (machine size) | `shared-0.25x-1gb` — 0.25 vCPU, 1 GB | Per-run via `options.runtimeSize` (use `RuntimeSizes.*` in TypeScript). |
|
|
27
|
-
| `postHook.timeout` | 60 minutes | Per-run via the hook's `timeoutMs`. |
|
|
28
|
-
| `postHook.maxTurns` (repair budget) | 10 turns | Per-run via the hook's `maxTurns`. |
|
|
24
|
+
| `timeout` (run deadline) | 1 hour | Per-run via `options.timeout` (e.g. `"30m"`, `"2h"`), clamped to the run-timeout floor/ceiling. | `RUN_DEFAULT_TIMEOUT_MS` |
|
|
25
|
+
| `runtimeSize` (machine size) | `shared-0.25x-1gb` — 0.25 vCPU, 1 GB | Per-run via `options.runtimeSize` (use `RuntimeSizes.*` in TypeScript). | `RUN_DEFAULT_RUNTIME_SIZE` |
|
|
26
|
+
| `postHook.timeout` | 60 minutes | Per-run via the hook's `timeoutMs`. | `RUN_DEFAULT_POST_HOOK_TIMEOUT_MS` |
|
|
27
|
+
| `postHook.maxTurns` (repair budget) | 10 turns | Per-run via the hook's `maxTurns`. | `RUN_DEFAULT_POST_HOOK_MAX_TURNS` |
|
|
28
|
+
| `limits.maxSpendUsd` (per-run spend cap) | None — no per-run spend cap (the run is still bounded by its `timeout` and any workspace-level cap) | Per-run via `options.limits.maxSpendUsd` (a positive USD amount); the run is stopped once its spend would exceed the cap. | — |
|
|
29
29
|
|
|
30
30
|
## Tools
|
|
31
31
|
|
|
32
32
|
| Option | Default | How to override | Source |
|
|
33
33
|
| --- | --- | --- | --- |
|
|
34
|
-
| Per-call exec timeout | 30 minutes | Per-call via the tool call's `timeoutMs`. |
|
|
35
|
-
| `web_fetch` returned body | 500 KB (UTF-8) | Per-call via the tool's `max_bytes` argument. |
|
|
34
|
+
| Per-call exec timeout | 30 minutes | Per-call via the tool call's `timeoutMs`. | `RUN_DEFAULT_EXEC_TIMEOUT_MS` |
|
|
35
|
+
| `web_fetch` returned body | 500 KB (UTF-8) | Per-call via the tool's `max_bytes` argument. | `REQUEST_WEB_FETCH_DEFAULT_MAX_BYTES` |
|
|
36
36
|
|
|
37
37
|
## MCP
|
|
38
38
|
|
|
39
39
|
| Option | Default | How to override | Source |
|
|
40
40
|
| --- | --- | --- | --- |
|
|
41
|
-
| MCP connect timeout (register + initialize + discover) | 30 seconds | Per-port via `connectTimeoutMs`. |
|
|
42
|
-
| MCP `tools/call` timeout | 30 minutes | Per-port via `callTimeoutMs`. |
|
|
41
|
+
| MCP connect timeout (register + initialize + discover) | 30 seconds | Per-port via `connectTimeoutMs`. | `RUN_DEFAULT_MCP_CONNECT_TIMEOUT_MS` |
|
|
42
|
+
| MCP `tools/call` timeout | 30 minutes | Per-port via `callTimeoutMs`. | `RUN_DEFAULT_MCP_CALL_TIMEOUT_MS` |
|
|
43
43
|
|
|
44
44
|
## Proxy endpoints
|
|
45
45
|
|
|
46
46
|
| Option | Default | How to override | Source |
|
|
47
47
|
| --- | --- | --- | --- |
|
|
48
|
-
| `maxRequestBytes` | 10 MiB | Per-endpoint via the endpoint's `maxRequestBytes`. |
|
|
49
|
-
| `maxResponseBytes` | `0` (unlimited — the response is streamed unbuffered) | Per-endpoint via the endpoint's `maxResponseBytes`. |
|
|
50
|
-
| `timeoutMs` (upstream) | 5 minutes | Per-endpoint via the endpoint's `timeoutMs`. |
|
|
48
|
+
| `maxRequestBytes` | 10 MiB | Per-endpoint via the endpoint's `maxRequestBytes`. | `REQUEST_PROXY_DEFAULT_MAX_REQUEST_BYTES` |
|
|
49
|
+
| `maxResponseBytes` | `0` (unlimited — the response is streamed unbuffered) | Per-endpoint via the endpoint's `maxResponseBytes`. | `REQUEST_PROXY_DEFAULT_MAX_RESPONSE_BYTES` |
|
|
50
|
+
| `timeoutMs` (upstream) | 5 minutes | Per-endpoint via the endpoint's `timeoutMs`. | `REQUEST_PROXY_DEFAULT_TIMEOUT_MS` |
|
|
51
51
|
|
|
52
52
|
## Links (signed URLs and tickets)
|
|
53
53
|
|
|
54
54
|
| Option | Default | How to override | Source |
|
|
55
55
|
| --- | --- | --- | --- |
|
|
56
|
-
| Output link / signed-URL TTL | 300 seconds (5 minutes) at the storage layer; `outputLink(...)` defaults to `"1h"` | Per-call via `expiresSeconds` (storage) or `expiresIn` on `outputLink` / `fetchOutput`. |
|
|
57
|
-
| Event-stream connection ticket TTL | 60 seconds | Per-mint via the `ttlMs` argument. |
|
|
56
|
+
| Output link / signed-URL TTL | 300 seconds (5 minutes) at the storage layer; `outputLink(...)` defaults to `"1h"` | Per-call via `expiresSeconds` (storage) or `expiresIn` on `outputLink` / `fetchOutput`. | `REQUEST_PRESIGN_URL_DEFAULT_TTL_SECONDS` |
|
|
57
|
+
| Event-stream connection ticket TTL | 60 seconds | Per-mint via the `ttlMs` argument. | `REQUEST_TICKET_DEFAULT_TTL_MS` |
|
|
58
58
|
|
|
59
59
|
## Subagents
|
|
60
60
|
|
|
61
61
|
| Option | Default | How to override | Source |
|
|
62
62
|
| --- | --- | --- | --- |
|
|
63
|
-
| Concurrent child runs per lineage root | 1000 (live, non-terminal child runs) | Per-run via `options.limits.maxConcurrentChildRuns`, clamped to the 4096 platform ceiling. |
|
|
64
|
-
| Max subagent depth | 5 | Per-run via `options.limits.maxSubagentDepth`, clamped to the same hard ceiling. |
|
|
63
|
+
| Concurrent child runs per lineage root | 1000 (live, non-terminal child runs) | Per-run via `options.limits.maxConcurrentChildRuns`, clamped to the 4096 platform ceiling. | `RUN_DEFAULT_MAX_CONCURRENT_CHILD_RUNS` |
|
|
64
|
+
| Max subagent depth | 5 | Per-run via `options.limits.maxSubagentDepth`, clamped to the same hard ceiling. | `RUN_MAX_PUBLIC_SUBAGENT_DEPTH` |
|
|
65
65
|
|
|
66
66
|
## Workspace
|
|
67
67
|
|
|
68
68
|
| Option | Default | How to override | Source |
|
|
69
69
|
| --- | --- | --- | --- |
|
|
70
|
-
| Per-workspace mutation rate limits (per minute) | run submit 60, run cancel 30, run delete 30, signed link 120, API token create 10, API token delete 30 | Per-plane via the matching `AEX_RATE_LIMIT_<ACTION>_PER_MINUTE` env var. |
|
|
71
|
-
| Workspace storage cap | 50 GiB | Per-plane via env `AEX_WORKSPACE_STORAGE_CAP_BYTES`; admin workspaces are uncapped (not a customer entitlement). |
|
|
70
|
+
| Per-workspace mutation rate limits (per minute) | run submit 60, run cancel 30, run delete 30, signed link 120, API token create 10, API token delete 30 | Per-plane via the matching `AEX_RATE_LIMIT_<ACTION>_PER_MINUTE` env var. | `WORKSPACE_RATE_LIMIT_DEFAULTS` |
|
|
71
|
+
| Workspace storage cap | 50 GiB | Per-plane via env `AEX_WORKSPACE_STORAGE_CAP_BYTES`; admin workspaces are uncapped (not a customer entitlement). | `WORKSPACE_DEFAULT_STORAGE_CAP_BYTES` |
|
|
@@ -7,12 +7,11 @@ title: Limits & quotas
|
|
|
7
7
|
These are the hard ceilings and caps that bound a run, a workspace, and a single
|
|
8
8
|
request. Every value is mirrored from a single source-of-truth constant; the
|
|
9
9
|
constant file is authoritative and this page is generated documentation, not a
|
|
10
|
-
second source of truth. If a value here ever disagrees with
|
|
10
|
+
second source of truth. If a value here ever disagrees with that constant,
|
|
11
11
|
the constant wins.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
For the values that apply when you omit an option, see
|
|
13
|
+
Each row is named by its source-of-truth constant. For the values that apply
|
|
14
|
+
when you omit an option, see
|
|
16
15
|
[Defaults](defaults.md). For product/policy boundaries (what aex does and does
|
|
17
16
|
not promise), see [Limits](limits.md).
|
|
18
17
|
|
|
@@ -27,12 +26,13 @@ And whether you can **raise** it: per-run option, per-plan, or no.
|
|
|
27
26
|
|
|
28
27
|
| Limit | Value | Source | Raisable? | Constant |
|
|
29
28
|
| --- | --- | --- | --- | --- |
|
|
30
|
-
| Maximum run timeout | 6 hours | aex policy | Per plan (billing-driven) |
|
|
31
|
-
| Minimum run timeout | 1 minute | aex policy | No (floor) |
|
|
32
|
-
| Per-call exec timeout (default) | 30 minutes | aex policy | Per-call via the tool call's `timeoutMs` |
|
|
33
|
-
| Post-hook timeout (default) | 60 minutes | aex policy | Per-run via the hook's `timeoutMs` |
|
|
34
|
-
| MCP connect timeout (default) | 30 seconds | aex policy | Per-port via `connectTimeoutMs` |
|
|
35
|
-
| MCP call timeout (default) | 30 minutes | aex policy | Per-port via `callTimeoutMs` |
|
|
29
|
+
| Maximum run timeout | 6 hours | aex policy | Per plan (billing-driven) | `RUN_MAX_TIMEOUT_MS` |
|
|
30
|
+
| Minimum run timeout | 1 minute | aex policy | No (floor) | `RUN_MIN_TIMEOUT_MS` |
|
|
31
|
+
| Per-call exec timeout (default) | 30 minutes | aex policy | Per-call via the tool call's `timeoutMs` | `RUN_DEFAULT_EXEC_TIMEOUT_MS` |
|
|
32
|
+
| Post-hook timeout (default) | 60 minutes | aex policy | Per-run via the hook's `timeoutMs` | `RUN_DEFAULT_POST_HOOK_TIMEOUT_MS` |
|
|
33
|
+
| MCP connect timeout (default) | 30 seconds | aex policy | Per-port via `connectTimeoutMs` | `RUN_DEFAULT_MCP_CONNECT_TIMEOUT_MS` |
|
|
34
|
+
| MCP call timeout (default) | 30 minutes | aex policy | Per-port via `callTimeoutMs` | `RUN_DEFAULT_MCP_CALL_TIMEOUT_MS` |
|
|
35
|
+
| Per-run spend cap | None by default; when set, the run is stopped once its spend would exceed the cap | aex policy | Per-run via `options.limits.maxSpendUsd` (a positive USD amount) | — |
|
|
36
36
|
|
|
37
37
|
### Output capture (per run)
|
|
38
38
|
|
|
@@ -42,46 +42,46 @@ silently lost.
|
|
|
42
42
|
|
|
43
43
|
| Limit | Value | Source | Raisable? | Constant |
|
|
44
44
|
| --- | --- | --- | --- | --- |
|
|
45
|
-
| Capture wall-clock budget | 1 hour | aex policy | No (hard ceiling) |
|
|
46
|
-
| Max files captured | 50,000 | aex policy | No (hard ceiling) |
|
|
47
|
-
| Max bytes per captured file | 1 TB | aex policy | No (hard ceiling) |
|
|
48
|
-
| Max total captured bytes | 1 TB | aex policy | No (hard ceiling) |
|
|
45
|
+
| Capture wall-clock budget | 1 hour | aex policy | No (hard ceiling) | `RUN_CAPTURE_DEFAULT_TIMEOUT_MS` |
|
|
46
|
+
| Max files captured | 50,000 | aex policy | No (hard ceiling) | `RUN_CAPTURE_MAX_FILES` |
|
|
47
|
+
| Max bytes per captured file | 1 TB | aex policy | No (hard ceiling) | `RUN_CAPTURE_MAX_FILE_BYTES` |
|
|
48
|
+
| Max total captured bytes | 1 TB | aex policy | No (hard ceiling) | `RUN_CAPTURE_MAX_TOTAL_BYTES` |
|
|
49
49
|
|
|
50
50
|
### Tool output caps (per run)
|
|
51
51
|
|
|
52
52
|
| Limit | Value | Source | Raisable? | Constant |
|
|
53
53
|
| --- | --- | --- | --- | --- |
|
|
54
|
-
| `web_fetch` returned body | 500 KB (UTF-8) | aex policy | Per-call via `max_bytes` |
|
|
55
|
-
| `bash_output` per-read body | 1 MB (UTF-8) | aex policy | No (hard ceiling) |
|
|
56
|
-
| `grep` max file size (larger files skipped — use `bash grep`) | 25 MB | aex policy | No (hard ceiling) |
|
|
57
|
-
| `head`/`tail` max file size (larger files rejected — use `bash head`/`tail`) | 100 MB | aex policy | No (hard ceiling) |
|
|
58
|
-
| `grep`/`glob` files visited per recursive walk (then truncates with a notice) | 100,000 | aex policy | No (hard ceiling) |
|
|
54
|
+
| `web_fetch` returned body | 500 KB (UTF-8) | aex policy | Per-call via `max_bytes` | `REQUEST_WEB_FETCH_DEFAULT_MAX_BYTES` |
|
|
55
|
+
| `bash_output` per-read body | 1 MB (UTF-8) | aex policy | No (hard ceiling) | `RUN_BASH_BG_OUTPUT_MAX_BYTES` |
|
|
56
|
+
| `grep` max file size (larger files skipped — use `bash grep`) | 25 MB | aex policy | No (hard ceiling) | `RUN_TOOL_GREP_MAX_FILE_BYTES` |
|
|
57
|
+
| `head`/`tail` max file size (larger files rejected — use `bash head`/`tail`) | 100 MB | aex policy | No (hard ceiling) | `RUN_TOOL_HEAD_TAIL_MAX_FILE_BYTES` |
|
|
58
|
+
| `grep`/`glob` files visited per recursive walk (then truncates with a notice) | 100,000 | aex policy | No (hard ceiling) | `RUN_TOOL_WALK_MAX_FILES` |
|
|
59
59
|
|
|
60
60
|
### Subagents (per run lineage)
|
|
61
61
|
|
|
62
62
|
| Limit | Value | Source | Raisable? | Constant |
|
|
63
63
|
| --- | --- | --- | --- | --- |
|
|
64
|
-
| Max subagent depth (public submit / `subagent` tool) | 5 (a depth-5 lineage may not spawn deeper) | aex policy | Per-run via `options.limits.maxSubagentDepth` (clamped to this hard ceiling) |
|
|
65
|
-
| Concurrent child runs per lineage root | 1000 live (non-terminal); hard ceiling 4096 | aex policy | Per-run via `options.limits.maxConcurrentChildRuns` (clamped to the 4096 ceiling) |
|
|
64
|
+
| Max subagent depth (public submit / `subagent` tool) | 5 (a depth-5 lineage may not spawn deeper) | aex policy | Per-run via `options.limits.maxSubagentDepth` (clamped to this hard ceiling) | `RUN_MAX_PUBLIC_SUBAGENT_DEPTH` |
|
|
65
|
+
| Concurrent child runs per lineage root | 1000 live (non-terminal); hard ceiling 4096 | aex policy | Per-run via `options.limits.maxConcurrentChildRuns` (clamped to the 4096 ceiling) | `RUN_DEFAULT_MAX_CONCURRENT_CHILD_RUNS` |
|
|
66
66
|
|
|
67
67
|
### Retention (per run)
|
|
68
68
|
|
|
69
69
|
| Limit | Value | Source | Raisable? | Constant |
|
|
70
70
|
| --- | --- | --- | --- | --- |
|
|
71
|
-
| Per-run metadata
|
|
72
|
-
| Per-run secret-envelope
|
|
71
|
+
| Per-run metadata record TTL | 24 hours | aex policy | No (hard ceiling) | `RUN_KV_RECORD_TTL_SECONDS` |
|
|
72
|
+
| Per-run secret-envelope TTL | 24 hours | aex policy | No (hard ceiling) | `RUN_KV_SECRET_TTL_SECONDS` |
|
|
73
73
|
|
|
74
74
|
## Workspace scope
|
|
75
75
|
|
|
76
76
|
| Limit | Value | Source | Raisable? | Constant |
|
|
77
77
|
| --- | --- | --- | --- | --- |
|
|
78
|
-
| Workspace storage cap | 50 GiB (admins uncapped — not a customer entitlement) | Workspace default | Per-plane via env `AEX_WORKSPACE_STORAGE_CAP_BYTES` |
|
|
78
|
+
| Workspace storage cap | 50 GiB (admins uncapped — not a customer entitlement) | Workspace default | Per-plane via env `AEX_WORKSPACE_STORAGE_CAP_BYTES` | `WORKSPACE_DEFAULT_STORAGE_CAP_BYTES` |
|
|
79
79
|
| Max concurrent runs per workspace | Advisory — there is no hard per-workspace concurrent-run cap constant; concurrency is bounded by plan, the subagent child-run cap, and provider/platform throughput rather than a fixed number. | aex policy | n/a | — |
|
|
80
|
-
| Skill bundle max compressed size (`.zip`) | 100 GB | Workspace default | Per-workspace (plan/env) |
|
|
81
|
-
| Skill bundle max file entries | 1,000 | Workspace default | Per-workspace (plan/env) |
|
|
82
|
-
| Skill bundle max directory depth (`a/b/c/d` = 4) | 16 | Workspace default | Per-workspace (plan/env) |
|
|
83
|
-
| Skill bundle max entry path length | 512 characters | Workspace default | No (hard ceiling) |
|
|
84
|
-
| `File.mountPath` max length | 512 characters | Workspace default | No (hard ceiling) |
|
|
80
|
+
| Skill bundle max compressed size (`.zip`) | 100 GB | Workspace default | Per-workspace (plan/env) | `WORKSPACE_SKILL_BUNDLE_MAX_COMPRESSED_BYTES` |
|
|
81
|
+
| Skill bundle max file entries | 1,000 | Workspace default | Per-workspace (plan/env) | `WORKSPACE_SKILL_BUNDLE_MAX_FILES` |
|
|
82
|
+
| Skill bundle max directory depth (`a/b/c/d` = 4) | 16 | Workspace default | Per-workspace (plan/env) | `WORKSPACE_SKILL_BUNDLE_MAX_DEPTH` |
|
|
83
|
+
| Skill bundle max entry path length | 512 characters | Workspace default | No (hard ceiling) | `WORKSPACE_SKILL_BUNDLE_MAX_PATH_LENGTH` |
|
|
84
|
+
| `File.mountPath` max length | 512 characters | Workspace default | No (hard ceiling) | `WORKSPACE_MOUNT_PATH_MAX_LENGTH` |
|
|
85
85
|
|
|
86
86
|
### Rate limits (per workspace, per minute)
|
|
87
87
|
|
|
@@ -90,19 +90,19 @@ Default values; each is overridable per-plane via the matching
|
|
|
90
90
|
|
|
91
91
|
| Action | Default per minute | Source | Constant |
|
|
92
92
|
| --- | --- | --- | --- |
|
|
93
|
-
| Run submit | 60 | Workspace default |
|
|
94
|
-
| Run cancel | 30 | Workspace default |
|
|
95
|
-
| Run delete | 30 | Workspace default |
|
|
96
|
-
| Signed output link | 120 | Workspace default |
|
|
97
|
-
| API token create | 10 | Workspace default |
|
|
98
|
-
| API token delete | 30 | Workspace default |
|
|
93
|
+
| Run submit | 60 | Workspace default | `WORKSPACE_RATE_LIMIT_DEFAULTS` |
|
|
94
|
+
| Run cancel | 30 | Workspace default | `WORKSPACE_RATE_LIMIT_DEFAULTS` |
|
|
95
|
+
| Run delete | 30 | Workspace default | `WORKSPACE_RATE_LIMIT_DEFAULTS` |
|
|
96
|
+
| Signed output link | 120 | Workspace default | `WORKSPACE_RATE_LIMIT_DEFAULTS` |
|
|
97
|
+
| API token create | 10 | Workspace default | `WORKSPACE_RATE_LIMIT_DEFAULTS` |
|
|
98
|
+
| API token delete | 30 | Workspace default | `WORKSPACE_RATE_LIMIT_DEFAULTS` |
|
|
99
99
|
|
|
100
100
|
## Request scope (proxy and egress)
|
|
101
101
|
|
|
102
102
|
| Limit | Value | Source | Raisable? | Constant |
|
|
103
103
|
| --- | --- | --- | --- | --- |
|
|
104
|
-
| Proxy request body | 10 MiB | aex policy | Per-endpoint via `maxRequestBytes` |
|
|
105
|
-
| Proxy response body | `0` = unlimited (streamed unbuffered) | aex policy | Per-endpoint via `maxResponseBytes` |
|
|
106
|
-
| Proxy upstream timeout | 5 minutes | aex policy | Per-endpoint via `timeoutMs` |
|
|
107
|
-
| Signed output URL TTL | 300 seconds | aex policy | Per-call via `expiresSeconds` |
|
|
108
|
-
| Event-stream connection ticket TTL | 60 seconds | aex policy | Per-mint via `ttlMs` |
|
|
104
|
+
| Proxy request body | 10 MiB | aex policy | Per-endpoint via `maxRequestBytes` | `REQUEST_PROXY_DEFAULT_MAX_REQUEST_BYTES` |
|
|
105
|
+
| Proxy response body | `0` = unlimited (streamed unbuffered) | aex policy | Per-endpoint via `maxResponseBytes` | `REQUEST_PROXY_DEFAULT_MAX_RESPONSE_BYTES` |
|
|
106
|
+
| Proxy upstream timeout | 5 minutes | aex policy | Per-endpoint via `timeoutMs` | `REQUEST_PROXY_DEFAULT_TIMEOUT_MS` |
|
|
107
|
+
| Signed output URL TTL | 300 seconds | aex policy | Per-call via `expiresSeconds` | `REQUEST_PRESIGN_URL_DEFAULT_TTL_SECONDS` |
|
|
108
|
+
| Event-stream connection ticket TTL | 60 seconds | aex policy | Per-mint via `ttlMs` | `REQUEST_TICKET_DEFAULT_TTL_MS` |
|
package/docs/limits.md
CHANGED
|
@@ -24,7 +24,7 @@ For the current provider/model set, see the generated
|
|
|
24
24
|
|
|
25
25
|
| Area | Boundary |
|
|
26
26
|
| --- | --- |
|
|
27
|
-
| Runtime | New submissions run on the managed runtime.
|
|
27
|
+
| Runtime | New submissions run on the managed runtime. There is no public runtime selector. |
|
|
28
28
|
| Provider policy | Provider retention, training exclusion, HIPAA/BAA, data residency, abuse policy, and pricing belong to the selected provider account, endpoint, and contract. |
|
|
29
29
|
| Secrets | Provider keys, MCP credentials, proxy auth, and env secrets are caller-owned. aex excludes secret values from idempotency and uses the explicit secret surfaces described in [Secrets](secrets.md). |
|
|
30
30
|
| MCP servers | Remote MCP servers are customer-trusted systems. aex validates declarations and routes credentials; it does not make an untrusted MCP server safe. |
|
package/docs/networking.md
CHANGED
|
@@ -61,7 +61,7 @@ await aex.submit({
|
|
|
61
61
|
allowedHosts: ["api.example.com", "status.example.com"]
|
|
62
62
|
}
|
|
63
63
|
},
|
|
64
|
-
secrets: {
|
|
64
|
+
secrets: { apiKeys: { anthropic: process.env.ANTHROPIC_API_KEY! } }
|
|
65
65
|
});
|
|
66
66
|
```
|
|
67
67
|
|
|
@@ -96,7 +96,7 @@ await aex.submit({
|
|
|
96
96
|
model: Models.CLAUDE_HAIKU_4_5,
|
|
97
97
|
prompt: "Research the topic across the open web.",
|
|
98
98
|
environment: { networking: { mode: "open" } },
|
|
99
|
-
secrets: {
|
|
99
|
+
secrets: { apiKeys: { anthropic: process.env.ANTHROPIC_API_KEY! } }
|
|
100
100
|
});
|
|
101
101
|
```
|
|
102
102
|
|
package/docs/outputs.md
CHANGED
|
@@ -9,12 +9,12 @@ Every run produces durable metadata (status, events, snapshots, cleanup state) a
|
|
|
9
9
|
## Quickstart
|
|
10
10
|
|
|
11
11
|
```ts
|
|
12
|
-
import {
|
|
12
|
+
import { Models } from "@aexhq/sdk";
|
|
13
13
|
|
|
14
14
|
const runId = await aex.submit({
|
|
15
|
-
model:
|
|
15
|
+
model: Models.CLAUDE_HAIKU_4_5,
|
|
16
16
|
prompt: "Produce a report and save it as a file.",
|
|
17
|
-
secrets: { apiKey }
|
|
17
|
+
secrets: { apiKeys: { anthropic: apiKey } }
|
|
18
18
|
});
|
|
19
19
|
|
|
20
20
|
await aex.wait(runId);
|