@aexhq/sdk 0.13.10 → 0.15.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 +2 -1
- package/dist/_contracts/run-config.js +5 -3
- package/dist/client.d.ts +22 -13
- package/dist/client.js +68 -586
- package/dist/client.js.map +1 -1
- package/dist/skill.d.ts +32 -2
- package/dist/skill.js +31 -2
- package/dist/skill.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/docs/events.md +1 -1
- package/docs/provider-runtime-capabilities.md +1 -1
- package/docs/release.md +25 -5
- package/docs/skills.md +27 -7
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -30,6 +30,7 @@ aex cancel <run-id> --api-token …
|
|
|
30
30
|
aex delete <run-id> --api-token …
|
|
31
31
|
aex whoami --api-token …
|
|
32
32
|
aex skills <upload|list|get|delete> [flags] --api-token …
|
|
33
|
+
aex delete-asset <assetId|hash> --api-token …
|
|
33
34
|
```
|
|
34
35
|
|
|
35
36
|
The SDK class and the CLI are backed by the same public `@aexhq/contracts` operations module — any read or write you can do through one, you can do through the other, against the same durable run records. The same npm package also ships the in-container `aex` CLI as its `bin` entry; managed runs mount that CLI inside the runner so skills can call `aex proxy …` against the per-run manifest. See [product capabilities and boundaries](docs/product-boundaries.md).
|
|
@@ -102,7 +103,7 @@ Stream events live with `aex.stream(runId)`:
|
|
|
102
103
|
|
|
103
104
|
```ts
|
|
104
105
|
for await (const event of aex.stream(runId)) {
|
|
105
|
-
if (event.type === "
|
|
106
|
+
if (event.type === "TEXT_MESSAGE_CONTENT") {
|
|
106
107
|
// typed event helpers live under `aex`'s event guard exports.
|
|
107
108
|
}
|
|
108
109
|
}
|
|
@@ -428,9 +428,11 @@ export function rejectStdioMcpShape(record) {
|
|
|
428
428
|
/**
|
|
429
429
|
* Reasons an IP-literal host should be refused. Returns null when the
|
|
430
430
|
* literal is a routable public address (or not an IP literal at all — name
|
|
431
|
-
* resolution is the caller's concern).
|
|
432
|
-
* numeric-range deny-list
|
|
433
|
-
*
|
|
431
|
+
* resolution is the caller's concern). This in-package copy of the
|
|
432
|
+
* numeric-range deny-list is kept byte-identical to
|
|
433
|
+
* platform/packages/shared/src/blueprint.ts by the contract-parity gate, so
|
|
434
|
+
* the shared MCP parser, the Worker BYOK proxy handlers, and
|
|
435
|
+
* `submission.parseProxyBaseUrl` all classify the same bytes.
|
|
434
436
|
*
|
|
435
437
|
* `host` is the already-bracket-stripped, lowercased hostname.
|
|
436
438
|
*
|
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HttpClient, type AexEvent, type AgentsMdRecord, type CredentialMode, type DebugSink, type FetchLike, type FileRecord, type Output, type OutputMode, type PlatformSubmission, type PlatformInlineSecrets, type PlatformProxyEndpoint, type PlatformProxyEndpointAuth, type Run, type RunEvent, type RunProvider, type RunUnit, type RuntimeSize, type RuntimeKind, type SignedOutputLink, type Skill as SkillRecord, type WhoAmI } from "./_contracts/index.js";
|
|
2
2
|
import { AgentsMd } from "./agents-md.js";
|
|
3
|
+
import { type UploadedAsset } from "./asset-upload.js";
|
|
3
4
|
import { File } from "./file.js";
|
|
4
5
|
import { McpServer } from "./mcp-server.js";
|
|
5
6
|
import { ProxyEndpoint } from "./proxy-endpoint.js";
|
|
@@ -275,10 +276,10 @@ export declare class AgentExecutor {
|
|
|
275
276
|
* NOTE (tech-debt): this is part of the legacy workspace-skill upload
|
|
276
277
|
* surface (`SkillsClient` + `operations.createSkillBundle` + the TUS
|
|
277
278
|
* chunked path in asset-upload.ts). The live submit path materializes
|
|
278
|
-
* inline skills via `uploadAsset` instead; `Skill`
|
|
279
|
-
*
|
|
280
|
-
* deliberate deprecation pass (it still threads into the CLI
|
|
281
|
-
* commands), tracked in the remediation plan as item 4a.
|
|
279
|
+
* inline skills via `uploadAsset` instead; `Skill.upload(client)`
|
|
280
|
+
* pre-stages a draft explicitly for reuse. This surface is retained
|
|
281
|
+
* pending a deliberate deprecation pass (it still threads into the CLI
|
|
282
|
+
* host commands), tracked in the remediation plan as item 4a.
|
|
282
283
|
*/
|
|
283
284
|
_uploadSkillBundle(args: {
|
|
284
285
|
readonly name: string;
|
|
@@ -302,6 +303,17 @@ export declare class AgentExecutor {
|
|
|
302
303
|
readonly name: string;
|
|
303
304
|
readonly bytes: Uint8Array;
|
|
304
305
|
}): Promise<FileRecord>;
|
|
306
|
+
/**
|
|
307
|
+
* Internal: materialize raw bytes to the content-addressable asset store
|
|
308
|
+
* (`/assets/presign` → PUT → `/assets/finalize`). Used by `Skill.upload(this)`
|
|
309
|
+
* to pre-upload a draft skill bundle so a later run carries only a plain
|
|
310
|
+
* `kind:"asset"` ref. NOT part of the public API.
|
|
311
|
+
*/
|
|
312
|
+
_uploadAsset(args: {
|
|
313
|
+
readonly bytes: Uint8Array;
|
|
314
|
+
readonly hash: string;
|
|
315
|
+
readonly contentType?: string;
|
|
316
|
+
}): Promise<UploadedAsset>;
|
|
305
317
|
/**
|
|
306
318
|
* Submit a run and wait for it to reach a terminal state. Returns the
|
|
307
319
|
* final `Run` record. For long-running flows, prefer `submitRun` +
|
|
@@ -317,15 +329,12 @@ export declare class AgentExecutor {
|
|
|
317
329
|
* before sending so credentials never enter the hashed submission or
|
|
318
330
|
* the run snapshot.
|
|
319
331
|
*
|
|
320
|
-
* Unstaged inline skills (`Skill.fromFiles` /
|
|
321
|
-
*
|
|
322
|
-
*
|
|
323
|
-
*
|
|
324
|
-
*
|
|
325
|
-
*
|
|
326
|
-
* rewrites the run's `skills[]` to reference the resulting `skl_*`
|
|
327
|
-
* ids. The bytes persist on aex; the user can browse and
|
|
328
|
-
* download the resulting workspace skill from the dashboard.
|
|
332
|
+
* Unstaged inline skills / agentsMd / files (`Skill.fromFiles` /
|
|
333
|
+
* `Skill.fromPath` / `AgentsMd.fromContent` / `File.fromBytes` without a
|
|
334
|
+
* prior `.upload`) are auto-uploaded to the content-addressable asset
|
|
335
|
+
* store (`/assets/presign` → PUT → `/assets/finalize`) before `POST /runs`,
|
|
336
|
+
* deduped by content hash, and referenced in the submission as plain
|
|
337
|
+
* `{ kind:"asset" }` refs — identical to a pre-staged `.upload(client)`.
|
|
329
338
|
*/
|
|
330
339
|
submitRun(options: SubmitRunOptions): Promise<string>;
|
|
331
340
|
getRun(runId: string): Promise<Run>;
|