@aexhq/sdk 0.15.2 → 0.16.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.
@@ -39,8 +39,6 @@ export declare const PROXY_RESP_MODE_HEADER = "x-aex-proxy-effective-mode";
39
39
  * without buffering). See the streaming byte-cap note in proxy-routes.ts.
40
40
  */
41
41
  export declare const PROXY_RESP_TRUNCATED_HEADER = "x-aex-proxy-truncated";
42
- export declare const PROXY_RESP_REMAINING_CALLS_HEADER = "x-aex-proxy-remaining-calls";
43
- export declare const PROXY_RESP_REMAINING_BYTES_HEADER = "x-aex-proxy-remaining-bytes";
44
42
  /** JSON object of lowercase upstream header names → values (mode-filtered). */
45
43
  export declare const PROXY_RESP_UPSTREAM_HEADERS_HEADER = "x-aex-proxy-upstream-headers";
46
44
  /**
@@ -77,7 +75,7 @@ export declare function narrowResponseMode(policy: ProxyResponseMode, requested:
77
75
  * matches against them in scripts. Adding a new code is non-breaking;
78
76
  * removing or renaming an existing code requires a protocol bump.
79
77
  */
80
- export declare const PROXY_ERROR_CODES: readonly ["unsupported_protocol", "unauthorized", "endpoint_not_found", "policy_denied", "rate_limited", "budget_exceeded", "ssrf_denied", "upstream_timeout", "upstream_error", "exceeded_cap", "bad_request", "internal_error"];
78
+ export declare const PROXY_ERROR_CODES: readonly ["unsupported_protocol", "unauthorized", "endpoint_not_found", "policy_denied", "rate_limited", "ssrf_denied", "upstream_timeout", "upstream_error", "exceeded_cap", "bad_request", "internal_error"];
81
79
  export type ProxyErrorCode = (typeof PROXY_ERROR_CODES)[number];
82
80
  /**
83
81
  * Shape of the JSON written to the per-run manifest mounted inside
@@ -108,23 +106,26 @@ export interface ProxyIndexEntry {
108
106
  readonly maxRequestBytes: number;
109
107
  readonly maxResponseBytes: number;
110
108
  readonly timeoutMs: number;
111
- readonly perCallBudget: number;
112
- readonly responseByteBudget: number;
113
109
  }
114
110
  /**
115
- * Default caps for a proxy endpoint when the submission doesn't specify
116
- * one. Conservative on purpose. Lives in the protocol module (next to the
117
- * index-file shape) so {@link buildProxyIndexFile} can fill every optional
118
- * cap with a concrete value; the submission parser re-exports it.
111
+ * Default caps for a proxy endpoint when the submission doesn't specify one.
112
+ * Lives in the protocol module (next to the index-file shape) so
113
+ * {@link buildProxyIndexFile} can fill every optional cap with a concrete
114
+ * value; the submission parser re-exports it.
115
+ *
116
+ * `maxResponseBytes: 0` means UNLIMITED — the v2 path streams the upstream body
117
+ * unbuffered (O(1) memory regardless of size), so there is no cap to apply by
118
+ * default. A customer can opt into a per-response truncation cap by setting a
119
+ * positive value. There is no cumulative per-run call/byte budget: it needed a
120
+ * per-call counter on the hot path and only existed to bound memory, which
121
+ * streaming already does.
119
122
  */
120
123
  export declare const PROXY_ENDPOINT_DEFAULTS: {
121
124
  readonly allowHeaders: readonly string[];
122
125
  readonly responseMode: ProxyResponseMode;
123
126
  readonly maxRequestBytes: number;
124
- readonly maxResponseBytes: number;
127
+ readonly maxResponseBytes: 0;
125
128
  readonly timeoutMs: 10000;
126
- readonly perCallBudget: 60;
127
- readonly responseByteBudget: number;
128
129
  };
129
130
  /**
130
131
  * Non-secret endpoint policy the index builder consumes. Structurally a
@@ -142,8 +143,6 @@ export interface ProxyEndpointPolicy {
142
143
  readonly maxRequestBytes?: number;
143
144
  readonly maxResponseBytes?: number;
144
145
  readonly timeoutMs?: number;
145
- readonly perCallBudget?: number;
146
- readonly responseByteBudget?: number;
147
146
  }
148
147
  export interface BuildProxyIndexFileInput {
149
148
  readonly runId: string;
@@ -176,7 +175,7 @@ export declare function buildProxyIndexFile(input: BuildProxyIndexFileInput): Pr
176
175
  *
177
176
  * The `none` variant declares an upstream that takes no auth (public
178
177
  * APIs like Wikimedia Commons or NASA Images). It still routes through
179
- * the proxy for unified egress, audit, and budget enforcement, but
178
+ * the proxy for unified egress and audit, but
180
179
  * carries no `proxyEndpointAuth[]` entry and the BFF injects no
181
180
  * header or query value.
182
181
  */
@@ -261,9 +260,6 @@ export interface ProxyResponseEnvelope {
261
260
  */
262
261
  readonly effectiveResponseMode: ProxyResponseMode;
263
262
  readonly modeClamped: boolean;
264
- /** Remaining per-endpoint per-run budget after this call. */
265
- readonly remainingCalls: number;
266
- readonly remainingResponseBytes: number;
267
263
  }
268
264
  /**
269
265
  * JSON body returned on any error. The CLI emits this verbatim on
@@ -48,8 +48,6 @@ export const PROXY_RESP_MODE_HEADER = "x-aex-proxy-effective-mode";
48
48
  * without buffering). See the streaming byte-cap note in proxy-routes.ts.
49
49
  */
50
50
  export const PROXY_RESP_TRUNCATED_HEADER = "x-aex-proxy-truncated";
51
- export const PROXY_RESP_REMAINING_CALLS_HEADER = "x-aex-proxy-remaining-calls";
52
- export const PROXY_RESP_REMAINING_BYTES_HEADER = "x-aex-proxy-remaining-bytes";
53
51
  /** JSON object of lowercase upstream header names → values (mode-filtered). */
54
52
  export const PROXY_RESP_UPSTREAM_HEADERS_HEADER = "x-aex-proxy-upstream-headers";
55
53
  /**
@@ -103,7 +101,6 @@ export const PROXY_ERROR_CODES = [
103
101
  "endpoint_not_found",
104
102
  "policy_denied",
105
103
  "rate_limited",
106
- "budget_exceeded",
107
104
  "ssrf_denied",
108
105
  "upstream_timeout",
109
106
  "upstream_error",
@@ -112,19 +109,26 @@ export const PROXY_ERROR_CODES = [
112
109
  "internal_error"
113
110
  ];
114
111
  /**
115
- * Default caps for a proxy endpoint when the submission doesn't specify
116
- * one. Conservative on purpose. Lives in the protocol module (next to the
117
- * index-file shape) so {@link buildProxyIndexFile} can fill every optional
118
- * cap with a concrete value; the submission parser re-exports it.
112
+ * Default caps for a proxy endpoint when the submission doesn't specify one.
113
+ * Lives in the protocol module (next to the index-file shape) so
114
+ * {@link buildProxyIndexFile} can fill every optional cap with a concrete
115
+ * value; the submission parser re-exports it.
116
+ *
117
+ * `maxResponseBytes: 0` means UNLIMITED — the v2 path streams the upstream body
118
+ * unbuffered (O(1) memory regardless of size), so there is no cap to apply by
119
+ * default. A customer can opt into a per-response truncation cap by setting a
120
+ * positive value. There is no cumulative per-run call/byte budget: it needed a
121
+ * per-call counter on the hot path and only existed to bound memory, which
122
+ * streaming already does.
119
123
  */
120
124
  export const PROXY_ENDPOINT_DEFAULTS = {
121
125
  allowHeaders: [],
122
126
  responseMode: "headers_only",
123
127
  maxRequestBytes: 64 * 1024,
124
- maxResponseBytes: 1024 * 1024,
125
- timeoutMs: 10_000,
126
- perCallBudget: 60,
127
- responseByteBudget: 1024 * 1024
128
+ // Unlimited (0). The request body is buffered to enforce its cap, so that
129
+ // stays finite; the response is streamed, so it does not need one.
130
+ maxResponseBytes: 0,
131
+ timeoutMs: 10_000
128
132
  };
129
133
  /**
130
134
  * Build the per-run {@link ProxyIndexFile} mounted into the container at
@@ -158,9 +162,7 @@ export function buildProxyIndexFile(input) {
158
162
  responseMode: e.responseMode ?? PROXY_ENDPOINT_DEFAULTS.responseMode,
159
163
  maxRequestBytes: e.maxRequestBytes ?? PROXY_ENDPOINT_DEFAULTS.maxRequestBytes,
160
164
  maxResponseBytes: e.maxResponseBytes ?? PROXY_ENDPOINT_DEFAULTS.maxResponseBytes,
161
- timeoutMs: e.timeoutMs ?? PROXY_ENDPOINT_DEFAULTS.timeoutMs,
162
- perCallBudget: e.perCallBudget ?? PROXY_ENDPOINT_DEFAULTS.perCallBudget,
163
- responseByteBudget: e.responseByteBudget ?? PROXY_ENDPOINT_DEFAULTS.responseByteBudget
165
+ timeoutMs: e.timeoutMs ?? PROXY_ENDPOINT_DEFAULTS.timeoutMs
164
166
  }))
165
167
  };
166
168
  }
@@ -256,7 +258,6 @@ export const PROXY_ERROR_HTTP_STATUS = {
256
258
  endpoint_not_found: 404,
257
259
  policy_denied: 403,
258
260
  rate_limited: 429,
259
- budget_exceeded: 429,
260
261
  ssrf_denied: 403,
261
262
  upstream_timeout: 504,
262
263
  upstream_error: 502,
@@ -188,8 +188,6 @@ export interface PlatformProxyEndpoint {
188
188
  readonly maxRequestBytes?: number;
189
189
  readonly maxResponseBytes?: number;
190
190
  readonly timeoutMs?: number;
191
- readonly perCallBudget?: number;
192
- readonly responseByteBudget?: number;
193
191
  }
194
192
  export declare const SECRETS_KEY = "secrets";
195
193
  export declare const PROXY_ENDPOINT_NAME_PATTERN: RegExp;
@@ -323,9 +323,7 @@ function parseProxyEndpoint(input, path) {
323
323
  "responseMode",
324
324
  "maxRequestBytes",
325
325
  "maxResponseBytes",
326
- "timeoutMs",
327
- "perCallBudget",
328
- "responseByteBudget"
326
+ "timeoutMs"
329
327
  ]);
330
328
  for (const key of Object.keys(value)) {
331
329
  if (!allowed.has(key)) {
@@ -348,8 +346,6 @@ function parseProxyEndpoint(input, path) {
348
346
  const maxRequestBytes = optionalPositiveInt(value.maxRequestBytes, `${path}.maxRequestBytes`);
349
347
  const maxResponseBytes = optionalPositiveInt(value.maxResponseBytes, `${path}.maxResponseBytes`);
350
348
  const timeoutMs = optionalPositiveInt(value.timeoutMs, `${path}.timeoutMs`);
351
- const perCallBudget = optionalPositiveInt(value.perCallBudget, `${path}.perCallBudget`);
352
- const responseByteBudget = optionalPositiveInt(value.responseByteBudget, `${path}.responseByteBudget`);
353
349
  return {
354
350
  name,
355
351
  baseUrl,
@@ -360,9 +356,7 @@ function parseProxyEndpoint(input, path) {
360
356
  ...(responseMode ? { responseMode } : {}),
361
357
  ...(maxRequestBytes !== undefined ? { maxRequestBytes } : {}),
362
358
  ...(maxResponseBytes !== undefined ? { maxResponseBytes } : {}),
363
- ...(timeoutMs !== undefined ? { timeoutMs } : {}),
364
- ...(perCallBudget !== undefined ? { perCallBudget } : {}),
365
- ...(responseByteBudget !== undefined ? { responseByteBudget } : {})
359
+ ...(timeoutMs !== undefined ? { timeoutMs } : {})
366
360
  };
367
361
  }
368
362
  function parseProxyBaseUrl(input, field) {
package/dist/cli.mjs CHANGED
@@ -15,8 +15,6 @@ var PROXY_PROTOCOL_HEADER = "x-aex-proxy-protocol";
15
15
  var PROXY_RESP_STATUS_HEADER = "x-aex-proxy-status";
16
16
  var PROXY_RESP_MODE_HEADER = "x-aex-proxy-effective-mode";
17
17
  var PROXY_RESP_TRUNCATED_HEADER = "x-aex-proxy-truncated";
18
- var PROXY_RESP_REMAINING_CALLS_HEADER = "x-aex-proxy-remaining-calls";
19
- var PROXY_RESP_REMAINING_BYTES_HEADER = "x-aex-proxy-remaining-bytes";
20
18
  var PROXY_RESP_UPSTREAM_HEADERS_HEADER = "x-aex-proxy-upstream-headers";
21
19
  var PROXY_METHOD_HEADER = "x-aex-method";
22
20
  var PROXY_PATH_HEADER = "x-aex-path";
@@ -28,10 +26,10 @@ var PROXY_ENDPOINT_DEFAULTS = {
28
26
  allowHeaders: [],
29
27
  responseMode: "headers_only",
30
28
  maxRequestBytes: 64 * 1024,
31
- maxResponseBytes: 1024 * 1024,
32
- timeoutMs: 1e4,
33
- perCallBudget: 60,
34
- responseByteBudget: 1024 * 1024
29
+ // Unlimited (0). The request body is buffered to enforce its cap, so that
30
+ // stays finite; the response is streamed, so it does not need one.
31
+ maxResponseBytes: 0,
32
+ timeoutMs: 1e4
35
33
  };
36
34
 
37
35
  // ../contracts/dist/provider-support.js
@@ -2642,7 +2640,7 @@ async function printProxyHelp(io2) {
2642
2640
  if (manifest && manifest.endpoints.length > 0) {
2643
2641
  io2.stdout("Declared endpoints:\n");
2644
2642
  for (const ep of manifest.endpoints) {
2645
- io2.stdout(` \u2022 ${ep.name}: ${ep.allowMethods.join(",")} ${ep.allowPathPrefixes.join(",")} (mode=${ep.responseMode}, budget=${ep.perCallBudget}/run)
2643
+ io2.stdout(` \u2022 ${ep.name}: ${ep.allowMethods.join(",")} ${ep.allowPathPrefixes.join(",")} (mode=${ep.responseMode})
2646
2644
  `);
2647
2645
  }
2648
2646
  }
@@ -2801,8 +2799,6 @@ function emitError(io2, body) {
2801
2799
  async function readStreamedEnvelope(response, endpointName) {
2802
2800
  const effectiveResponseMode = response.headers.get(PROXY_RESP_MODE_HEADER) ?? "headers_only";
2803
2801
  const upstreamStatus = Number.parseInt(response.headers.get(PROXY_RESP_STATUS_HEADER) ?? "0", 10);
2804
- const remainingCalls = Number.parseInt(response.headers.get(PROXY_RESP_REMAINING_CALLS_HEADER) ?? "0", 10);
2805
- const remainingResponseBytes = Number.parseInt(response.headers.get(PROXY_RESP_REMAINING_BYTES_HEADER) ?? "0", 10);
2806
2802
  let upstreamHeaders = {};
2807
2803
  const rawHeaders = response.headers.get(PROXY_RESP_UPSTREAM_HEADERS_HEADER);
2808
2804
  if (rawHeaders) {
@@ -2825,8 +2821,6 @@ async function readStreamedEnvelope(response, endpointName) {
2825
2821
  // isn't carried back); the effective mode is authoritative for the
2826
2822
  // agent and matches what v1 surfaced for an un-clamped call.
2827
2823
  modeClamped: false,
2828
- remainingCalls,
2829
- remainingResponseBytes,
2830
2824
  ...effectiveResponseMode === "full" && bytes.byteLength > 0 ? { upstreamBodyBase64: Buffer.from(bytes).toString("base64") } : {},
2831
2825
  ...truncatedRaw === "true" ? { truncated: true } : {}
2832
2826
  };
@@ -1 +1 @@
1
- 9219ad7c8ff381c3e9916e5f312e110d9546cedb035b5a2f65bbbd07f5e27d4f cli.mjs
1
+ 8fc0f76c60d859e98d5f41fc2d6f2195fbb10b1ece6de8275ab3d3f27518c202 cli.mjs
@@ -56,8 +56,6 @@ export interface ProxyEndpointCommonOptions {
56
56
  readonly maxRequestBytes?: number;
57
57
  readonly maxResponseBytes?: number;
58
58
  readonly timeoutMs?: number;
59
- readonly perCallBudget?: number;
60
- readonly responseByteBudget?: number;
61
59
  }
62
60
  export interface BearerProxyEndpointOptions extends ProxyEndpointCommonOptions {
63
61
  /** Bearer token sent as `Authorization: Bearer <token>`. */
@@ -99,7 +97,7 @@ export declare class ProxyEndpoint {
99
97
  private constructor();
100
98
  /**
101
99
  * Keyless endpoint. Routes through the aex managed proxy for
102
- * unified egress, audit, and budget enforcement, but the BFF injects
100
+ * unified egress and audit, but the BFF injects
103
101
  * no auth header or query parameter. Use for public APIs (Wikimedia
104
102
  * Commons, NASA Images, Library of Congress, NARA, GDELT, etc.).
105
103
  */
@@ -14,7 +14,7 @@ export class ProxyEndpoint {
14
14
  }
15
15
  /**
16
16
  * Keyless endpoint. Routes through the aex managed proxy for
17
- * unified egress, audit, and budget enforcement, but the BFF injects
17
+ * unified egress and audit, but the BFF injects
18
18
  * no auth header or query parameter. Use for public APIs (Wikimedia
19
19
  * Commons, NASA Images, Library of Congress, NARA, GDELT, etc.).
20
20
  */
@@ -132,11 +132,7 @@ function buildCommonDeclaration(options, authShape) {
132
132
  ...(options.responseMode ? { responseMode: options.responseMode } : {}),
133
133
  ...(options.maxRequestBytes !== undefined ? { maxRequestBytes: options.maxRequestBytes } : {}),
134
134
  ...(options.maxResponseBytes !== undefined ? { maxResponseBytes: options.maxResponseBytes } : {}),
135
- ...(options.timeoutMs !== undefined ? { timeoutMs: options.timeoutMs } : {}),
136
- ...(options.perCallBudget !== undefined ? { perCallBudget: options.perCallBudget } : {}),
137
- ...(options.responseByteBudget !== undefined
138
- ? { responseByteBudget: options.responseByteBudget }
139
- : {})
135
+ ...(options.timeoutMs !== undefined ? { timeoutMs: options.timeoutMs } : {})
140
136
  };
141
137
  }
142
138
  function requireNonEmpty(value, message) {
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-endpoint.js","sourceRoot":"","sources":["../src/proxy-endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy-endpoint.js","sourceRoot":"","sources":["../src/proxy-endpoint.ts"],"names":[],"mappings":"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"}
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.15.2";
9
+ export declare const SDK_VERSION = "0.16.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.15.2";
9
+ export const SDK_VERSION = "0.16.0";
10
10
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aexhq/sdk",
3
- "version": "0.15.2",
3
+ "version": "0.16.0",
4
4
  "description": "TypeScript SDK for running autonomous agent sessions across providers (Anthropic, OpenAI, DeepSeek, Gemini, Mistral) behind one interface.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -26,7 +26,7 @@
26
26
  "examples"
27
27
  ],
28
28
  "devDependencies": {
29
- "@aexhq/contracts": "0.15.2"
29
+ "@aexhq/contracts": "0.16.0"
30
30
  },
31
31
  "engines": {
32
32
  "node": ">=20"