@aexhq/sdk 0.25.2 → 0.26.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.
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-archive.js","sourceRoot":"","sources":["../src/fetch-archive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-archive.js","sourceRoot":"","sources":["../src/fetch-archive.ts"],"names":[],"mappings":"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"}
package/dist/node-fs.d.ts CHANGED
@@ -6,7 +6,7 @@ import type { SkillFiles } from "./bundle.js";
6
6
  * we use `lstat` semantics). Paths are normalised to forward-slash
7
7
  * relative form so they can flow into `bundleSkillFiles` directly.
8
8
  *
9
- * Node-only. Browser callers should use `bundleSkillFiles` with a
10
- * pre-built files map instead.
9
+ * Bun/Node filesystem runtimes only. Browser callers should use
10
+ * `bundleSkillFiles` with a pre-built files map instead.
11
11
  */
12
12
  export declare function readDirectoryAsFiles(rootDir: string): Promise<SkillFiles>;
package/dist/node-fs.js CHANGED
@@ -7,8 +7,8 @@ import { join, posix, relative, sep } from "node:path";
7
7
  * we use `lstat` semantics). Paths are normalised to forward-slash
8
8
  * relative form so they can flow into `bundleSkillFiles` directly.
9
9
  *
10
- * Node-only. Browser callers should use `bundleSkillFiles` with a
11
- * pre-built files map instead.
10
+ * Bun/Node filesystem runtimes only. Browser callers should use
11
+ * `bundleSkillFiles` with a pre-built files map instead.
12
12
  */
13
13
  export async function readDirectoryAsFiles(rootDir) {
14
14
  if (typeof rootDir !== "string" || !rootDir) {
package/dist/skill.d.ts CHANGED
@@ -50,7 +50,7 @@ export declare class Skill {
50
50
  }): Promise<Skill>;
51
51
  /**
52
52
  * Read a local directory and build a draft Skill. Symlinks and
53
- * non-regular files are skipped. Node-only.
53
+ * non-regular files are skipped. Bun/Node filesystem runtimes only.
54
54
  */
55
55
  static fromPath(rootDir: string, args: {
56
56
  readonly name: string;
@@ -68,7 +68,7 @@ export declare class Skill {
68
68
  * top-level folder (which is stripped). The signed URL only needs to be valid
69
69
  * for this call; `client.submit` snapshots the bytes into the run.
70
70
  *
71
- * Universal (Node 18+ / browser): requires a global `fetch`, or pass one.
71
+ * Universal (Bun / Node 18+ / browser): requires a global `fetch`, or pass one.
72
72
  */
73
73
  static fromUrl(url: string, args: {
74
74
  readonly name: string;
package/dist/skill.js CHANGED
@@ -75,7 +75,7 @@ export class Skill {
75
75
  }
76
76
  /**
77
77
  * Read a local directory and build a draft Skill. Symlinks and
78
- * non-regular files are skipped. Node-only.
78
+ * non-regular files are skipped. Bun/Node filesystem runtimes only.
79
79
  */
80
80
  static async fromPath(rootDir, args) {
81
81
  const files = await readDirectoryAsFiles(rootDir);
@@ -94,7 +94,7 @@ export class Skill {
94
94
  * top-level folder (which is stripped). The signed URL only needs to be valid
95
95
  * for this call; `client.submit` snapshots the bytes into the run.
96
96
  *
97
- * Universal (Node 18+ / browser): requires a global `fetch`, or pass one.
97
+ * Universal (Bun / Node 18+ / browser): requires a global `fetch`, or pass one.
98
98
  */
99
99
  static async fromUrl(url, args) {
100
100
  if (!args || typeof args !== "object") {
package/dist/version.d.ts CHANGED
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * Used by the (future) User-Agent header on outbound SDK requests.
8
8
  */
9
- export declare const SDK_VERSION = "0.25.2";
9
+ export declare const SDK_VERSION = "0.26.0";
package/dist/version.js CHANGED
@@ -6,5 +6,5 @@
6
6
  *
7
7
  * Used by the (future) User-Agent header on outbound SDK requests.
8
8
  */
9
- export const SDK_VERSION = "0.25.2";
9
+ export const SDK_VERSION = "0.26.0";
10
10
  //# sourceMappingURL=version.js.map
@@ -93,10 +93,10 @@ const runId = await aex.submit({
93
93
  });
94
94
  ```
95
95
 
96
- Inside the run container, every session has the platform CLI mounted at `/mnt/session/uploads/aex/aex` (a Node ESM bundle) and a manifest at `/mnt/session/uploads/aex/index.json` describing the declared endpoints. The skill invokes the CLI through `node` (the mount has no execute permission so direct invocation fails with `bad interpreter: Permission denied`):
96
+ Inside the run container, every session has the platform CLI mounted at `/mnt/session/uploads/aex/aex` (a Bun-compatible ESM bundle) and a manifest at `/mnt/session/uploads/aex/index.json` describing the declared endpoints. The skill invokes the CLI through `bun` (the mount has no execute permission so direct invocation fails with `bad interpreter: Permission denied`):
97
97
 
98
98
  ```bash
99
- node /mnt/session/uploads/aex/aex proxy stripe \
99
+ bun /mnt/session/uploads/aex/aex proxy stripe \
100
100
  --method GET \
101
101
  --path /v1/charges/ch_123 \
102
102
  --response-mode headers_only
@@ -142,7 +142,7 @@ ProxyEndpoint.none({
142
142
  });
143
143
  ```
144
144
 
145
- `node /mnt/session/uploads/aex/aex --help` reads endpoint details from `/mnt/session/uploads/aex/index.json`. Runs that do not declare any `proxyEndpoints` still have the CLI and an empty manifest mounted, so agents never need to introspect whether the surface exists.
145
+ `bun /mnt/session/uploads/aex/aex --help` reads endpoint details from `/mnt/session/uploads/aex/index.json`. Runs that do not declare any `proxyEndpoints` still have the CLI and an empty manifest mounted, so agents never need to introspect whether the surface exists.
146
146
 
147
147
  ### Networking
148
148
 
@@ -0,0 +1,70 @@
1
+ ---
2
+ title: Defaults
3
+ ---
4
+
5
+ # Defaults
6
+
7
+ These are the values aex applies when you **omit** the corresponding option on a
8
+ run. Every value is mirrored from a single source-of-truth constant; the
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 the linked constant,
11
+ the constant wins.
12
+
13
+ Source of truth:
14
+ [`packages/shared/src/limits.ts`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts)
15
+ (runtime-size presets:
16
+ [`packages/contracts/src/runtime-sizes.ts`](https://github.com/aexhq/aex/blob/main/packages/contracts/src/runtime-sizes.ts)).
17
+ For the hard ceilings and who can raise them, see
18
+ [Limits & quotas](limits-and-quotas.md). For policy boundaries, see
19
+ [Limits](limits.md).
20
+
21
+ ## Run
22
+
23
+ | Option | Default | How to override | Source |
24
+ | --- | --- | --- | --- |
25
+ | `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`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L154) |
26
+ | `runtimeSize` (machine size) | `shared-1x-128mb` — 1 vCPU, 128 MB | Per-run via `options.runtimeSize` (use `RuntimeSizes.*` in TypeScript). | [`RUN_DEFAULT_RUNTIME_SIZE`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L143) |
27
+ | `postHook.timeout` | 60 minutes | Per-run via the hook's `timeoutMs`. | [`RUN_DEFAULT_POST_HOOK_TIMEOUT_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L234) |
28
+ | `postHook.maxTurns` (repair budget) | 10 turns | Per-run via the hook's `maxTurns`. | [`RUN_DEFAULT_POST_HOOK_MAX_TURNS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L244) |
29
+
30
+ ## Tools
31
+
32
+ | Option | Default | How to override | Source |
33
+ | --- | --- | --- | --- |
34
+ | Per-call exec timeout | 30 minutes | Per-call via the tool call's `timeoutMs`. | [`RUN_DEFAULT_EXEC_TIMEOUT_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L202) |
35
+ | `web_fetch` returned body | 500 KB (UTF-8) | Per-call via the tool's `max_bytes` argument. | [`REQUEST_WEB_FETCH_DEFAULT_MAX_BYTES`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L528) |
36
+
37
+ ## MCP
38
+
39
+ | Option | Default | How to override | Source |
40
+ | --- | --- | --- | --- |
41
+ | MCP connect timeout (register + initialize + discover) | 30 seconds | Per-port via `connectTimeoutMs`. | [`RUN_DEFAULT_MCP_CONNECT_TIMEOUT_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L255) |
42
+ | MCP `tools/call` timeout | 30 minutes | Per-port via `callTimeoutMs`. | [`RUN_DEFAULT_MCP_CALL_TIMEOUT_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L265) |
43
+
44
+ ## Proxy endpoints
45
+
46
+ | Option | Default | How to override | Source |
47
+ | --- | --- | --- | --- |
48
+ | `maxRequestBytes` | 10 MiB | Per-endpoint via the endpoint's `maxRequestBytes`. | [`REQUEST_PROXY_DEFAULT_MAX_REQUEST_BYTES`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L499) |
49
+ | `maxResponseBytes` | `0` (unlimited — the response is streamed unbuffered) | Per-endpoint via the endpoint's `maxResponseBytes`. | [`REQUEST_PROXY_DEFAULT_MAX_RESPONSE_BYTES`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L509) |
50
+ | `timeoutMs` (upstream) | 5 minutes | Per-endpoint via the endpoint's `timeoutMs`. | [`REQUEST_PROXY_DEFAULT_TIMEOUT_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L519) |
51
+
52
+ ## Links (signed URLs and tickets)
53
+
54
+ | Option | Default | How to override | Source |
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`. | [`REQUEST_PRESIGN_URL_DEFAULT_TTL_SECONDS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L539) |
57
+ | Event-stream connection ticket TTL | 60 seconds | Per-mint via the `ttlMs` argument. | [`REQUEST_TICKET_DEFAULT_TTL_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L549) |
58
+
59
+ ## Subagents
60
+
61
+ | Option | Default | How to override | Source |
62
+ | --- | --- | --- | --- |
63
+ | Concurrent child runs per lineage root | 4 | Per-plane via env `AEX_MAX_CONCURRENT_CHILD_RUNS`; not a per-run option. | [`RUN_DEFAULT_MAX_CONCURRENT_CHILD_RUNS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L427) |
64
+
65
+ ## Workspace
66
+
67
+ | Option | Default | How to override | Source |
68
+ | --- | --- | --- | --- |
69
+ | 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`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L112) |
70
+ | 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`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L52) |
@@ -0,0 +1,108 @@
1
+ ---
2
+ title: Limits & quotas
3
+ ---
4
+
5
+ # Limits & quotas
6
+
7
+ These are the hard ceilings and caps that bound a run, a workspace, and a single
8
+ request. Every value is mirrored from a single source-of-truth constant; the
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 the linked constant,
11
+ the constant wins.
12
+
13
+ Source of truth:
14
+ [`packages/shared/src/limits.ts`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts).
15
+ For the values that apply when you omit an option, see
16
+ [Defaults](defaults.md). For product/policy boundaries (what aex does and does
17
+ not promise), see [Limits](limits.md).
18
+
19
+ Each row is tagged with its **source**:
20
+
21
+ - **aex policy** — an aex platform ceiling, the same for every workspace.
22
+ - **Workspace default** — a per-workspace value with a configurable override.
23
+
24
+ And whether you can **raise** it: per-run option, per-plan, or no.
25
+
26
+ ## Run scope
27
+
28
+ | Limit | Value | Source | Raisable? | Constant |
29
+ | --- | --- | --- | --- | --- |
30
+ | Maximum run timeout | 6 hours | aex policy | Per plan (billing-driven) | [`RUN_MAX_TIMEOUT_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L163) |
31
+ | Minimum run timeout | 1 minute | aex policy | No (floor) | [`RUN_MIN_TIMEOUT_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L172) |
32
+ | Per-call exec timeout (default) | 30 minutes | aex policy | Per-call via the tool call's `timeoutMs` | [`RUN_DEFAULT_EXEC_TIMEOUT_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L202) |
33
+ | Post-hook timeout (default) | 60 minutes | aex policy | Per-run via the hook's `timeoutMs` | [`RUN_DEFAULT_POST_HOOK_TIMEOUT_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L234) |
34
+ | MCP connect timeout (default) | 30 seconds | aex policy | Per-port via `connectTimeoutMs` | [`RUN_DEFAULT_MCP_CONNECT_TIMEOUT_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L255) |
35
+ | MCP call timeout (default) | 30 minutes | aex policy | Per-port via `callTimeoutMs` | [`RUN_DEFAULT_MCP_CALL_TIMEOUT_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L265) |
36
+
37
+ ### Output capture (per run)
38
+
39
+ Files stream from the container to object storage one at a time. When a cap is
40
+ reached, remaining files are **dropped and counted in the summary**, never
41
+ silently lost.
42
+
43
+ | Limit | Value | Source | Raisable? | Constant |
44
+ | --- | --- | --- | --- | --- |
45
+ | Capture wall-clock budget | 1 hour | aex policy | No (hard ceiling) | [`RUN_CAPTURE_DEFAULT_TIMEOUT_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L288) |
46
+ | Max files captured | 50,000 | aex policy | No (hard ceiling) | [`RUN_CAPTURE_MAX_FILES`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L297) |
47
+ | Max bytes per captured file | 1 TB | aex policy | No (hard ceiling) | [`RUN_CAPTURE_MAX_FILE_BYTES`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L307) |
48
+ | Max total captured bytes | 1 TB | aex policy | No (hard ceiling) | [`RUN_CAPTURE_MAX_TOTAL_BYTES`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L315) |
49
+
50
+ ### Tool output caps (per run)
51
+
52
+ | Limit | Value | Source | Raisable? | Constant |
53
+ | --- | --- | --- | --- | --- |
54
+ | `web_fetch` returned body | 500 KB (UTF-8) | aex policy | Per-call via `max_bytes` | [`REQUEST_WEB_FETCH_DEFAULT_MAX_BYTES`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L528) |
55
+ | `bash_output` per-read body | 1 MB (UTF-8) | aex policy | No (hard ceiling) | [`RUN_BASH_BG_OUTPUT_MAX_BYTES`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L327) |
56
+ | `grep` max file size (larger files skipped — use `bash grep`) | 25 MB | aex policy | No (hard ceiling) | [`RUN_TOOL_GREP_MAX_FILE_BYTES`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L341) |
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`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L352) |
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`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L364) |
59
+
60
+ ### Subagents (per run lineage)
61
+
62
+ | Limit | Value | Source | Raisable? | Constant |
63
+ | --- | --- | --- | --- | --- |
64
+ | Max subagent depth (public submit / `subagent` tool) | 1 (a root may spawn one level of child; that child may not spawn) | aex policy | No (hard ceiling) | [`RUN_MAX_PUBLIC_SUBAGENT_DEPTH`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L417) |
65
+ | Concurrent child runs per lineage root | 4 | aex policy | Per-plane via env `AEX_MAX_CONCURRENT_CHILD_RUNS` | [`RUN_DEFAULT_MAX_CONCURRENT_CHILD_RUNS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L427) |
66
+
67
+ ### Retention (per run)
68
+
69
+ | Limit | Value | Source | Raisable? | Constant |
70
+ | --- | --- | --- | --- | --- |
71
+ | Per-run metadata KV record TTL | 24 hours | aex policy | No (hard ceiling) | [`RUN_KV_RECORD_TTL_SECONDS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L462) |
72
+ | Per-run secret-envelope KV TTL | 24 hours | aex policy | No (hard ceiling) | [`RUN_KV_SECRET_TTL_SECONDS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L474) |
73
+
74
+ ## Workspace scope
75
+
76
+ | Limit | Value | Source | Raisable? | Constant |
77
+ | --- | --- | --- | --- | --- |
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`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L52) |
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) | [`WORKSPACE_SKILL_BUNDLE_MAX_COMPRESSED_BYTES`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L63) |
81
+ | Skill bundle max file entries | 1,000 | Workspace default | Per-workspace (plan/env) | [`WORKSPACE_SKILL_BUNDLE_MAX_FILES`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L72) |
82
+ | Skill bundle max directory depth (`a/b/c/d` = 4) | 16 | Workspace default | Per-workspace (plan/env) | [`WORKSPACE_SKILL_BUNDLE_MAX_DEPTH`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L81) |
83
+ | Skill bundle max entry path length | 512 characters | Workspace default | No (hard ceiling) | [`WORKSPACE_SKILL_BUNDLE_MAX_PATH_LENGTH`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L89) |
84
+ | `File.mountPath` max length | 512 characters | Workspace default | No (hard ceiling) | [`WORKSPACE_MOUNT_PATH_MAX_LENGTH`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L99) |
85
+
86
+ ### Rate limits (per workspace, per minute)
87
+
88
+ Default values; each is overridable per-plane via the matching
89
+ `AEX_RATE_LIMIT_<ACTION>_PER_MINUTE` env var.
90
+
91
+ | Action | Default per minute | Source | Constant |
92
+ | --- | --- | --- | --- |
93
+ | Run submit | 60 | Workspace default | [`WORKSPACE_RATE_LIMIT_DEFAULTS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L112) |
94
+ | Run cancel | 30 | Workspace default | [`WORKSPACE_RATE_LIMIT_DEFAULTS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L112) |
95
+ | Run delete | 30 | Workspace default | [`WORKSPACE_RATE_LIMIT_DEFAULTS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L112) |
96
+ | Signed output link | 120 | Workspace default | [`WORKSPACE_RATE_LIMIT_DEFAULTS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L112) |
97
+ | API token create | 10 | Workspace default | [`WORKSPACE_RATE_LIMIT_DEFAULTS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L112) |
98
+ | API token delete | 30 | Workspace default | [`WORKSPACE_RATE_LIMIT_DEFAULTS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L112) |
99
+
100
+ ## Request scope (proxy and egress)
101
+
102
+ | Limit | Value | Source | Raisable? | Constant |
103
+ | --- | --- | --- | --- | --- |
104
+ | Proxy request body | 10 MiB | aex policy | Per-endpoint via `maxRequestBytes` | [`REQUEST_PROXY_DEFAULT_MAX_REQUEST_BYTES`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L499) |
105
+ | Proxy response body | `0` = unlimited (streamed unbuffered) | aex policy | Per-endpoint via `maxResponseBytes` | [`REQUEST_PROXY_DEFAULT_MAX_RESPONSE_BYTES`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L509) |
106
+ | Proxy upstream timeout | 5 minutes | aex policy | Per-endpoint via `timeoutMs` | [`REQUEST_PROXY_DEFAULT_TIMEOUT_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L519) |
107
+ | Signed output URL TTL | 300 seconds | aex policy | Per-call via `expiresSeconds` | [`REQUEST_PRESIGN_URL_DEFAULT_TTL_SECONDS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L539) |
108
+ | Event-stream connection ticket TTL | 60 seconds | aex policy | Per-mint via `ttlMs` | [`REQUEST_TICKET_DEFAULT_TTL_MS`](https://github.com/aexhq/aex-platform/blob/main/packages/shared/src/limits.ts#L549) |
@@ -6,7 +6,7 @@ title: Provider runtime capabilities
6
6
 
7
7
  Generated from `packages/contracts/src/provider-support.ts` and `packages/contracts/src/models.ts`; runtime routing is derived through `checkRuntimeSupported` and `selectRuntime` in `packages/contracts/src/submission.ts`.
8
8
 
9
- Regenerate with `pnpm capabilities:generate`; check with `pnpm capabilities:check`.
9
+ Regenerate with `bun run capabilities:generate`; check with `bun run capabilities:check`.
10
10
 
11
11
  Providers: [Anthropic](#anthropic) (`anthropic`), [DeepSeek](#deepseek) (`deepseek`), [OpenAI](#openai) (`openai`), [Gemini](#gemini) (`gemini`), [Mistral](#mistral) (`mistral`), [OpenRouter](#openrouter) (`openrouter`), [Doubao](#doubao) (`doubao`), [Doubao (China)](#doubao-cn) (`doubao-cn`). Runtime selectors: `managed`.
12
12
 
@@ -3,7 +3,7 @@
3
3
  "productName": "Agent Executor",
4
4
  "oneLine": "aex is an agent execution platform for launching autonomous agents from a simple TypeScript SDK and CLI.",
5
5
  "description": "Submit typed runs, stream durable events, capture outputs, and compose agents with skills, files, MCP, proxy endpoints, and subagents across the managed runtime.",
6
- "installCommand": "npm install @aexhq/sdk",
6
+ "installCommand": "bun add @aexhq/sdk",
7
7
  "examples": {
8
8
  "typescriptLines": [
9
9
  "import { AgentExecutor, Models, Providers } from \"@aexhq/sdk\";",
@@ -7,7 +7,7 @@ title: Quickstart
7
7
  ## 1. Install
8
8
 
9
9
  ```bash
10
- npm install @aexhq/sdk
10
+ bun add @aexhq/sdk
11
11
  ```
12
12
 
13
13
  ## 2. Submit a run
package/docs/release.md CHANGED
@@ -4,79 +4,74 @@ title: Release
4
4
 
5
5
  # Release
6
6
 
7
- Releases are manually dispatched from `.github/workflows/release.yml` after the
8
- target version is already on `main`. The npm package version is the release
9
- source of truth. The workflow publishes to npm and runs post-publish install
10
- checks, but it does not create git tags or GitHub Releases, keeping the remote
11
- repository on a clean `main` branch unless tags are added deliberately later.
12
-
13
- ## How to ship a release (canary validate → promote)
14
-
15
- The default flow publishes a **canary** first, validates it against the real
16
- platform (aex-platform's local + prod cross-service suite installs
17
- `@aexhq/sdk@canary` and exercises it like a user), and only then promotes the
18
- **same bytes** to `latest`. Because npm versions are immutable, the version the
19
- platform tested is byte-for-byte the version users get — there is no second
20
- publish.
21
-
22
- 1. Bump the publishable package manifests to the next shared semver:
23
- `packages/contracts/package.json`, `packages/conformance/package.json`,
24
- `packages/cli/package.json`, and `packages/sdk/package.json`. Also update
25
- `packages/sdk/src/version.ts` to match.
26
- 2. Land the change on `main` with any companion code or docs.
27
- 3. Confirm CI is green.
28
- 4. Run the **Release** workflow from `main` with dist-tag **`canary`**. This
29
- publishes `@aexhq/sdk@<version>` under the `canary` tag — `latest` is
30
- untouched, so `npm install @aexhq/sdk` users are unaffected.
31
- 5. Run the platform release against the canary: in **aex-platform**, dispatch
32
- `deploy.yml` with `sdk_version=<version>` (threads `AEX_USER_TEST_VERSION`
33
- into the suite). The local plane gates prod, and both planes' user-tests run
34
- against `@aexhq/sdk@<version>`.
35
- 6. On a green platform release, run the **Promote** workflow
36
- (`promote.yml`) with `version=<version>`. It runs
37
- `npm dist-tag add @aexhq/{contracts,conformance,cli,sdk}@<version> latest`
38
- a pure re-tag, never a re-publish.
39
-
40
- Shortcut: choosing dist-tag `latest` (or `next`) at step 4 publishes straight to
41
- that tag and skips the canary/promote gate use it only for docs-only or
42
- out-of-band releases where the platform suite is not the gate.
43
-
44
- If any package at `<version>` already exists on npm, the release workflow fails
45
- before publishing (this is also what forbids a re-publish — promotion must be a
46
- re-tag). A failed release is fixed by bumping to a higher version.
47
-
48
- ## Release pipeline
49
-
50
- The workflow has two jobs:
51
-
52
- 1. **`publish`** runs on Ubuntu in the protected `npm-release` environment:
53
- - `pnpm install --frozen-lockfile`
54
- - npm version availability checks for `@aexhq/contracts`,
55
- `@aexhq/conformance`, `@aexhq/cli`, and `@aexhq/sdk` at
56
- `packages/sdk/package.json#version`
57
- - `pnpm lint`
58
- - `pnpm test`
59
- - `pnpm run docs:build`
60
- - `pnpm build`
61
- - `pnpm --filter @aexhq/sdk pack`
62
- - `pnpm run test:user:offline` against the packed tarball
63
- - a final npm version availability check
64
- - `pnpm publish --provenance --no-git-checks --access public` for
65
- `@aexhq/contracts`, `@aexhq/conformance`, `@aexhq/cli`, and `@aexhq/sdk`
66
- 2. **`post-publish-user-tests`** waits for npm registry visibility, then runs
67
- `pnpm run test:user:offline` against the published version on Ubuntu and
68
- Windows.
69
-
70
- The pre-publish user-test gate catches broken package shape, missing CLI bin,
71
- workspace dependency leaks, and TypeScript/ESM install regressions before npm
72
- publish. The post-publish matrix confirms the published registry artifact is
73
- installable from clean user projects on both Linux and Windows.
7
+ The repository is Bun-first. Build, test, docs, package validation, user tests,
8
+ and SDK packaging run through Bun. Registry publication uses npm on the
9
+ Bun-packed SDK tarball so npm provenance and dist-tag controls stay explicit.
10
+
11
+ ## Package gate
12
+
13
+ Before publishing, validate the package locally and in CI:
14
+
15
+ ```text
16
+ bun ci
17
+ bun run lint
18
+ bun run test
19
+ bun run test:user:offline
20
+ bun run docs:build
21
+ bun run pack:sdk
22
+ ```
23
+
24
+ `bun run pack:sdk` builds the SDK, runs a Bun pack dry-run, and runs the public
25
+ boundary gate. Offline user tests install the packed SDK into a clean Bun
26
+ project and exercise the SDK and CLI from that install tree.
27
+
28
+ ## Publish
29
+
30
+ The manual `.github/workflows/release.yml` workflow:
31
+
32
+ - Installs with `bun ci`.
33
+ - Runs lint, unit/security, offline user tests, docs build, and `pack:sdk`.
34
+ - Refuses to publish if `@aexhq/sdk@<package version>` already exists.
35
+ - Packs `packages/sdk` with `bun pm pack`.
36
+ - Runs the publish job in the `npm-release` GitHub Environment and requires its
37
+ `NPM_TOKEN` secret.
38
+ - Publishes the tarball with npm provenance to the selected dist-tag (`canary`
39
+ by default).
40
+ - Waits for npm visibility.
41
+ - Runs live user tests against the exact published version.
42
+
43
+ Publish canary first for release validation. Promote the same immutable version
44
+ only after the downstream platform release gate is green.
45
+
46
+ ## npm credentials
47
+
48
+ The current release path uses a GitHub environment secret:
49
+
50
+ - Environment: `npm-release`
51
+ - Secret name: `NPM_TOKEN`
52
+
53
+ The workflow intentionally fails before `npm publish` if that token is absent.
54
+ Do not remove the `environment: npm-release` binding unless the package has been
55
+ migrated to npm trusted publishing.
56
+
57
+ Trusted publishing is the target credential model, but it is a separate npm
58
+ package setting, not just a workflow permission. Before removing `NPM_TOKEN`,
59
+ configure the npm trusted publisher for `aexhq/aex`, workflow file
60
+ `release.yml`, and environment `npm-release`, then run the workflow with an npm
61
+ CLI version that supports OIDC trusted publishing.
62
+
63
+ ## Promote
64
+
65
+ The manual `.github/workflows/promote.yml` workflow assigns an npm dist-tag to
66
+ an already-published `@aexhq/sdk` version, usually `latest` after canary and
67
+ platform validation. It also runs in `npm-release`, requires `NPM_TOKEN`, and
68
+ does not rebuild or republish the package.
74
69
 
75
70
  ## What ships in the tarball
76
71
 
77
- The published tarball is **self-contained**. It declares **zero `@aexhq/*`
78
- runtime dependencies** and is installable from a clean `npm install @aexhq/sdk`
79
- with no workspace access:
72
+ The SDK tarball is self-contained. It declares zero `@aexhq/*` runtime
73
+ dependencies and is installable from a clean Bun project with no workspace
74
+ access:
80
75
 
81
76
  - `@aexhq/contracts` lives in `packages/sdk/package.json#devDependencies`
82
77
  only. At build time, [`packages/sdk/scripts/inline-contracts.mjs`](../scripts/inline-contracts.mjs)
@@ -89,37 +84,10 @@ with no workspace access:
89
84
  single `dist/cli.mjs`, which is the `bin: aex` entry in
90
85
  `packages/sdk/package.json`.
91
86
  - This invariant is mechanically enforced by
92
- `apps/user-tests/test/offline/install.test.ts` ("declares no @aexhq/*
93
- runtime dependencies") before publish.
94
-
95
- ## Repository setup
96
-
97
- Set `NPM_TOKEN` in the protected GitHub `npm-release` environment. The token must
98
- have publish rights for all four packages. The workflow still publishes with
99
- provenance.
100
-
101
- Trusted Publishing can replace the token after every package exists on npm and
102
- the trusted publisher is configured for each package:
103
-
104
- - **Organization or user**: `aexhq`
105
- - **Repository**: `aex`
106
- - **Workflow filename**: `release.yml`
107
- - **Environment name**: `npm-release`
108
-
109
- ## Local checklist
110
-
111
- Before dispatching a release, the same public-safe checks can be run locally:
112
-
113
- ```text
114
- pnpm lint
115
- pnpm test
116
- pnpm run test:user:offline
117
- pnpm run docs:build
118
- pnpm run pack:sdk
119
- ```
87
+ `apps/user-tests/test/offline/install.test.ts` before publish.
120
88
 
121
89
  ## Rollback
122
90
 
123
- There is no reliable "unpublish and reuse the version" path. npm version numbers
124
- are effectively immutable for release purposes, so a bad release is fixed by
125
- publishing a higher version.
91
+ Published version numbers are immutable. Bad releases are fixed by publishing a
92
+ higher version and moving dist-tags forward; source rollback alone does not
93
+ remove an npm artifact.
package/docs/testing.md CHANGED
@@ -12,17 +12,17 @@ reading or changing implementation.
12
12
  Workspace-wide commands:
13
13
 
14
14
  ```text
15
- pnpm lint # typecheck/build prerequisites + lint
16
- pnpm test # unit, all packages, deterministic
17
- pnpm test:user:offline # clean install of packed/published SDK, no live API
18
- pnpm test:user # live hosted API user tests
19
- pnpm test:user:heavy # explicit heavy live canary
20
- pnpm run docs:build # generated docs + Next build
21
- pnpm run pack:sdk # SDK publish dry-run + public boundary check
15
+ bun run lint # typecheck/build prerequisites + lint
16
+ bun run test # unit, all packages, deterministic
17
+ bun run test:user:offline # clean Bun install of packed/published SDK, no live API
18
+ bun run test:user # live hosted API user tests
19
+ bun run test:user:heavy # explicit heavy live canary
20
+ bun run docs:build # generated docs + Next build
21
+ bun run pack:sdk # SDK pack dry-run + public boundary check
22
22
  ```
23
23
 
24
24
  Unit tests are deterministic and may use fakes. Offline user tests install the
25
- packed or published SDK into clean temp projects and do not need provider
25
+ packed or published SDK into clean Bun temp projects and do not need provider
26
26
  credentials.
27
27
 
28
28
  When neither `AEX_USER_TEST_TARBALL` nor `AEX_USER_TEST_VERSION` is set, the
@@ -94,7 +94,7 @@ request_body = {
94
94
  ```
95
95
 
96
96
  Write the body to a file and hand it to the mounted CLI with `--data @<file>`
97
- (the mount has no execute bit, so invoke through `node`; see `credentials.md`):
97
+ (the mount has no execute bit, so invoke through `bun`; see `credentials.md`):
98
98
 
99
99
  ```python
100
100
  import subprocess
@@ -102,7 +102,7 @@ body_path = "/workspace/.aex/_ark_request.json"
102
102
  open(body_path, "w").write(json.dumps(request_body))
103
103
 
104
104
  result = subprocess.run(
105
- ["node", "/mnt/session/uploads/aex/aex", "proxy", "doubao-ark",
105
+ ["bun", "/mnt/session/uploads/aex/aex", "proxy", "doubao-ark",
106
106
  "--method", "POST",
107
107
  "--path", "/api/v3/chat/completions",
108
108
  "--header", "content-type=application/json",