@aexhq/sdk 0.13.9 → 0.14.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/docs/skills.md CHANGED
@@ -6,18 +6,18 @@ title: Skills
6
6
 
7
7
  Skill inputs accepted by the platform:
8
8
 
9
- - provider-managed Anthropic prebuilt Agent Skills (`pdf`, `xlsx`,
10
- `docx`, `pptx` — see the
11
- [Anthropic Agent Skills overview](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview)
12
- for the live catalog). Note that Anthropic web search is a Messages
13
- API *tool* (`{ type: "web_search_…" }`), not an Agent Skill, and is
14
- not currently exposed through `submitRun`;
15
- - existing custom provider skill IDs;
16
9
  - workspace skill bundles (persistent, referenced by `skl_*` id);
17
10
  - inline-supplied bundles passed directly at `submitRun` — these
18
11
  persist on aex as workspace skills with auto-suffixed names,
19
12
  one row per submission (see "Inline supply" below).
20
13
 
14
+ Provider-hosted skill refs (`kind:"provider"`, e.g. Anthropic prebuilt
15
+ Agent Skills or custom provider skill IDs) are **not supported on the
16
+ managed runtime** — every new submission dispatches to managed and a
17
+ `kind:"provider"` ref is rejected at submission time with
18
+ `feature_runtime_mismatch`. Supply the bytes as a workspace or inline
19
+ bundle instead.
20
+
21
21
  **How skills reach the agent:** every skill bundle is materialized into
22
22
  the run's workspace under `skills/<name>/` before the first agent turn.
23
23
  A bundle's `SKILL.md` is composed into the agent's instructions, so the
@@ -45,7 +45,7 @@ const aex = new AgentExecutor({ apiToken });
45
45
  await aex.submitRun({
46
46
  model, prompt,
47
47
  skills: [await Skill.fromFiles({ name: "rules", files })],
48
- secrets: { anthropic: { apiKey } }
48
+ secrets: { apiKey }
49
49
  });
50
50
  ```
51
51
 
@@ -110,7 +110,7 @@ await aex.submitRun({
110
110
  skills: [
111
111
  await Skill.fromUrl(signedUrl, { name: "rules", sha256: "sha256:<hex>" })
112
112
  ],
113
- secrets: { anthropic: { apiKey } }
113
+ secrets: { apiKey }
114
114
  });
115
115
  ```
116
116
 
@@ -135,3 +135,23 @@ produce the **same canonical asset** and dedup against each other.
135
135
 
136
136
  `Skill.fromUrl` is universal (Node 18+ / browser): it uses the global `fetch`,
137
137
  or pass one via `{ fetch }`.
138
+
139
+ ## Re-reference an uploaded skill (`Skill.fromCatalog`)
140
+
141
+ To re-use a skill already persisted in the workspace catalog (e.g. one an
142
+ earlier inline supply created), pass the `Skill` record returned by
143
+ `aex.skills.list()` / `aex.skills.get()` to `Skill.fromCatalog`:
144
+
145
+ ```ts
146
+ const [record] = await aex.skills.list();
147
+
148
+ await aex.submitRun({
149
+ model, prompt,
150
+ skills: [Skill.fromCatalog(record)],
151
+ secrets: { apiKey }
152
+ });
153
+ ```
154
+
155
+ The record must be `ready` (it carries a content hash). Unlike the draft
156
+ builders this performs no upload — `fromCatalog` produces a `kind:"asset"`
157
+ ref directly against the bytes already in the catalog.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aexhq/sdk",
3
- "version": "0.13.9",
3
+ "version": "0.14.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.13.9"
29
+ "@aexhq/contracts": "0.14.0"
30
30
  },
31
31
  "engines": {
32
32
  "node": ">=20"