@amitdeshmukh/ax-crew 8.7.0 → 8.7.3
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/CHANGELOG.md +20 -0
- package/README.md +1 -1
- package/axcrew.webp +0 -0
- package/package.json +1 -1
- package/scripts/install-skills.mjs +73 -19
- package/scripts/uninstall-skills.mjs +21 -14
- package/src/skills/{ax-crew-ace.md → axcrew-ace.md} +9 -4
- package/src/skills/{ax-crew-agent-config.md → axcrew-agent-config.md} +7 -4
- package/src/skills/{ax-crew-code-execution.md → axcrew-code-execution.md} +7 -4
- package/src/skills/{ax-crew-execution-modes.md → axcrew-execution-modes.md} +10 -6
- package/src/skills/{ax-crew-few-shot.md → axcrew-few-shot.md} +8 -4
- package/src/skills/{ax-crew-functions.md → axcrew-functions.md} +8 -5
- package/src/skills/{ax-crew-mcp.md → axcrew-mcp.md} +10 -6
- package/src/skills/{ax-crew-metrics.md → axcrew-metrics.md} +9 -6
- package/src/skills/{ax-crew-patterns.md → axcrew-patterns.md} +9 -5
- package/src/skills/{ax-crew-providers.md → axcrew-providers.md} +12 -7
- package/src/skills/{ax-crew-signatures.md → axcrew-signatures.md} +5 -5
- package/src/skills/{ax-crew-state.md → axcrew-state.md} +8 -5
- package/src/skills/{ax-crew-streaming.md → axcrew-streaming.md} +7 -4
- package/src/skills/{ax-crew-sub-agents.md → axcrew-sub-agents.md} +8 -4
- package/src/skills/{ax-crew-telemetry.md → axcrew-telemetry.md} +6 -3
- package/src/skills/{ax-crew.md → axcrew.md} +8 -5
- package/axcrew.png +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [8.7.3] - 2026-03-17
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **Supporting example files** bundled with each skill. The postinstall script now copies relevant example `.ts` files into each skill's `examples/` directory. Claude Code can load these on demand for complete runnable references.
|
|
7
|
+
- SKILL.md files now reference local `examples/` paths instead of GitHub URLs, enabling Claude to read examples directly.
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
- Renamed all skill files from `ax-crew-*` to `axcrew-*` (e.g., `axcrew-ace.md`, `axcrew-mcp.md`). Skill directory names in `.claude/skills/` updated accordingly.
|
|
11
|
+
- Updated version in all skill frontmatter to `8.7.3`.
|
|
12
|
+
|
|
13
|
+
## [8.7.2] - 2026-03-17
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- Skill install now creates proper directory structure for Claude Code discovery. Each skill gets its own directory with a `SKILL.md` file (e.g., `.claude/skills/ax-crew/SKILL.md`, `.claude/skills/ax-crew-ace/SKILL.md`). Previously installed loose `.md` files in a single directory which Claude Code couldn't discover.
|
|
17
|
+
|
|
18
|
+
## [8.7.1] - 2026-03-17
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
- Skill postinstall now installs to the **project directory** (`.claude/skills/ax-crew/`, `.agents/skills/ax-crew/`) instead of the home directory. Skills are scoped to projects that use ax-crew.
|
|
22
|
+
|
|
3
23
|
## [8.7.0] - 2026-03-17
|
|
4
24
|
|
|
5
25
|
### Added
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-

|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@amitdeshmukh/ax-crew) [](https://www.npmjs.com/package/@amitdeshmukh/ax-crew)
|
|
4
4
|
|
package/axcrew.webp
ADDED
|
Binary file
|
package/package.json
CHANGED
|
@@ -4,18 +4,50 @@
|
|
|
4
4
|
* Postinstall script: installs ax-crew skill files for Claude Code and Codex.
|
|
5
5
|
* Runs automatically on `npm install @amitdeshmukh/ax-crew`.
|
|
6
6
|
*
|
|
7
|
-
* Claude Code:
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Claude Code expects: .claude/skills/<skill-name>/SKILL.md
|
|
8
|
+
* Each skill gets its own directory with SKILL.md + optional examples/ and references/.
|
|
9
|
+
*
|
|
10
|
+
* Codex expects: .agents/skills/<skill-name>/SKILL.md
|
|
11
|
+
* One combined skill directory.
|
|
10
12
|
*/
|
|
11
13
|
|
|
12
|
-
import { existsSync, mkdirSync, readdirSync,
|
|
13
|
-
import { join, dirname } from 'path';
|
|
14
|
+
import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync, copyFileSync } from 'fs';
|
|
15
|
+
import { join, dirname, basename } from 'path';
|
|
14
16
|
import { fileURLToPath } from 'url';
|
|
15
|
-
import { homedir } from 'os';
|
|
16
17
|
|
|
17
18
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
18
19
|
const skillsSource = join(__dirname, '..', 'src', 'skills');
|
|
20
|
+
const examplesSource = join(__dirname, '..', 'examples');
|
|
21
|
+
|
|
22
|
+
// Mapping: skill name → example files to include
|
|
23
|
+
const SKILL_EXAMPLES = {
|
|
24
|
+
'axcrew': ['basic-researcher-writer.ts'],
|
|
25
|
+
'axcrew-agent-config': ['providerArgs.ts'],
|
|
26
|
+
'axcrew-ace': ['ace-customer-support.ts', 'ace-flight-finder.ts'],
|
|
27
|
+
'axcrew-code-execution': ['rlm-long-task.ts'],
|
|
28
|
+
'axcrew-execution-modes':['rlm-long-task.ts', 'rlm-shared-fields.ts'],
|
|
29
|
+
'axcrew-few-shot': ['solve-math-problem.ts'],
|
|
30
|
+
'axcrew-functions': ['write-post-and-publish-to-wordpress.ts'],
|
|
31
|
+
'axcrew-mcp': ['mcp-agent.ts', 'graphjin-database-agent.ts'],
|
|
32
|
+
'axcrew-metrics': ['basic-researcher-writer.ts'],
|
|
33
|
+
'axcrew-patterns': ['write-post-and-publish-to-wordpress.ts', 'solve-math-problem.ts'],
|
|
34
|
+
'axcrew-providers': ['providerArgs.ts', 'search-tweets.ts', 'perplexityDeepSearch.ts'],
|
|
35
|
+
'axcrew-state': ['write-post-and-publish-to-wordpress.ts'],
|
|
36
|
+
'axcrew-streaming': ['streaming.ts'],
|
|
37
|
+
'axcrew-sub-agents': ['basic-researcher-writer.ts', 'rlm-shared-fields.ts'],
|
|
38
|
+
'axcrew-telemetry': ['telemetry-demo.ts'],
|
|
39
|
+
// axcrew-signatures: no examples needed
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
function findProjectRoot() {
|
|
43
|
+
if (process.env.INIT_CWD) return process.env.INIT_CWD;
|
|
44
|
+
let dir = join(__dirname, '..');
|
|
45
|
+
while (dir !== dirname(dir)) {
|
|
46
|
+
if (existsSync(join(dir, 'node_modules'))) return dir;
|
|
47
|
+
dir = dirname(dir);
|
|
48
|
+
}
|
|
49
|
+
return process.cwd();
|
|
50
|
+
}
|
|
19
51
|
|
|
20
52
|
function installSkills() {
|
|
21
53
|
if (!existsSync(skillsSource)) return;
|
|
@@ -23,20 +55,43 @@ function installSkills() {
|
|
|
23
55
|
const skillFiles = readdirSync(skillsSource).filter(f => f.endsWith('.md')).sort();
|
|
24
56
|
if (skillFiles.length === 0) return;
|
|
25
57
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
58
|
+
const projectRoot = findProjectRoot();
|
|
59
|
+
|
|
60
|
+
// Claude Code: each skill gets its own directory with SKILL.md + examples/
|
|
61
|
+
let claudeCount = 0;
|
|
62
|
+
let exampleCount = 0;
|
|
63
|
+
for (const file of skillFiles) {
|
|
64
|
+
const skillName = basename(file, '.md');
|
|
65
|
+
const skillDir = join(projectRoot, '.claude', 'skills', skillName);
|
|
66
|
+
try {
|
|
67
|
+
mkdirSync(skillDir, { recursive: true });
|
|
68
|
+
const content = readFileSync(join(skillsSource, file), 'utf-8');
|
|
69
|
+
writeFileSync(join(skillDir, 'SKILL.md'), content);
|
|
70
|
+
claudeCount++;
|
|
71
|
+
|
|
72
|
+
// Copy example files if mapped
|
|
73
|
+
const examples = SKILL_EXAMPLES[skillName];
|
|
74
|
+
if (examples && existsSync(examplesSource)) {
|
|
75
|
+
const exDir = join(skillDir, 'examples');
|
|
76
|
+
mkdirSync(exDir, { recursive: true });
|
|
77
|
+
for (const ex of examples) {
|
|
78
|
+
const src = join(examplesSource, ex);
|
|
79
|
+
if (existsSync(src)) {
|
|
80
|
+
copyFileSync(src, join(exDir, ex));
|
|
81
|
+
exampleCount++;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
} catch {
|
|
86
|
+
// Silently skip
|
|
32
87
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
88
|
+
}
|
|
89
|
+
if (claudeCount > 0) {
|
|
90
|
+
console.log(` ax-crew: installed ${claudeCount} skills + ${exampleCount} examples → .claude/skills/`);
|
|
36
91
|
}
|
|
37
92
|
|
|
38
|
-
// Codex: single SKILL.md
|
|
39
|
-
const codexDir = join(
|
|
93
|
+
// Codex: single combined SKILL.md in one directory
|
|
94
|
+
const codexDir = join(projectRoot, '.agents', 'skills', 'ax-crew');
|
|
40
95
|
try {
|
|
41
96
|
mkdirSync(codexDir, { recursive: true });
|
|
42
97
|
|
|
@@ -44,13 +99,12 @@ function installSkills() {
|
|
|
44
99
|
|
|
45
100
|
for (const file of skillFiles) {
|
|
46
101
|
const content = readFileSync(join(skillsSource, file), 'utf-8');
|
|
47
|
-
// Strip individual frontmatter, keep the body
|
|
48
102
|
const body = content.replace(/^---\n[\s\S]*?\n---\n/, '');
|
|
49
103
|
combined += body.trim() + '\n\n---\n\n';
|
|
50
104
|
}
|
|
51
105
|
|
|
52
106
|
writeFileSync(join(codexDir, 'SKILL.md'), combined.trim());
|
|
53
|
-
console.log(` ax-crew: installed combined SKILL.md →
|
|
107
|
+
console.log(` ax-crew: installed combined SKILL.md → .agents/skills/ax-crew/`);
|
|
54
108
|
} catch {
|
|
55
109
|
// Silently skip
|
|
56
110
|
}
|
|
@@ -1,25 +1,32 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Preuninstall script: removes ax-crew skill files from
|
|
4
|
+
* Preuninstall script: removes ax-crew skill files from the project directory.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { existsSync, rmSync } from 'fs';
|
|
7
|
+
import { existsSync, rmSync, readdirSync } from 'fs';
|
|
8
8
|
import { join } from 'path';
|
|
9
|
-
import { homedir } from 'os';
|
|
10
9
|
|
|
11
|
-
const
|
|
12
|
-
join(homedir(), '.claude', 'skills', 'ax-crew'),
|
|
13
|
-
join(homedir(), '.agents', 'skills', 'ax-crew'),
|
|
14
|
-
];
|
|
10
|
+
const projectRoot = process.env.INIT_CWD || process.cwd();
|
|
15
11
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
// Remove all ax-crew-* skill directories from .claude/skills/
|
|
13
|
+
const claudeSkillsDir = join(projectRoot, '.claude', 'skills');
|
|
14
|
+
if (existsSync(claudeSkillsDir)) {
|
|
15
|
+
for (const dir of readdirSync(claudeSkillsDir)) {
|
|
16
|
+
if (dir.startsWith('axcrew')) {
|
|
17
|
+
try {
|
|
18
|
+
rmSync(join(claudeSkillsDir, dir), { recursive: true });
|
|
19
|
+
} catch {}
|
|
21
20
|
}
|
|
22
|
-
} catch {
|
|
23
|
-
// Silently skip
|
|
24
21
|
}
|
|
22
|
+
console.log(' ax-crew: removed Claude Code skills');
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Remove Codex combined skill
|
|
26
|
+
const codexDir = join(projectRoot, '.agents', 'skills', 'ax-crew');
|
|
27
|
+
if (existsSync(codexDir)) {
|
|
28
|
+
try {
|
|
29
|
+
rmSync(codexDir, { recursive: true });
|
|
30
|
+
console.log(' ax-crew: removed Codex skills');
|
|
31
|
+
} catch {}
|
|
25
32
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
version:
|
|
2
|
+
name: axcrew-ace
|
|
3
|
+
version: 8.7.3
|
|
4
4
|
description: "ACE (Agentic Context Engineering) for AxCrew: feedback loops, online learning, playbook persistence, and optimization."
|
|
5
5
|
tags: [ace, agentic-context-engineering, feedback, learning, playbook, online-update, optimize]
|
|
6
6
|
---
|
|
@@ -150,6 +150,10 @@ async function main() {
|
|
|
150
150
|
main().catch(console.error);
|
|
151
151
|
```
|
|
152
152
|
|
|
153
|
+
## Supporting files
|
|
154
|
+
- See [examples/ace-customer-support.ts](examples/ace-customer-support.ts) for a complete runnable example.
|
|
155
|
+
- See [examples/ace-flight-finder.ts](examples/ace-flight-finder.ts) for another ACE example.
|
|
156
|
+
|
|
153
157
|
## Do Not Generate
|
|
154
158
|
|
|
155
159
|
- Do NOT call `initACE()` manually -- it is called automatically when `addAgent()` / `addAgentsToCrew()` detects an `ace` config on the agent.
|
|
@@ -160,6 +164,7 @@ main().catch(console.error);
|
|
|
160
164
|
|
|
161
165
|
## References
|
|
162
166
|
|
|
163
|
-
- [ace-customer-support.ts](
|
|
164
|
-
- [
|
|
167
|
+
- [ace-customer-support.ts](examples/ace-customer-support.ts)
|
|
168
|
+
- [ace-flight-finder.ts](examples/ace-flight-finder.ts)
|
|
169
|
+
- [src/agents/ace.ts](src/agents/ace.ts)
|
|
165
170
|
- [AxACE upstream docs](https://axllm.dev/ace/)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
version:
|
|
2
|
+
name: axcrew-agent-config
|
|
3
|
+
version: 8.7.3
|
|
4
4
|
description: "AgentConfig - agent configuration: provider, signature, model, temperature, definition, prompt, executionMode, axAgentOptions, providerArgs"
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -167,6 +167,9 @@ DSPy-style string signatures with optional field descriptions:
|
|
|
167
167
|
|
|
168
168
|
Supported types: `string`, `number`, `boolean`, `string[]`, `number[]`, etc.
|
|
169
169
|
|
|
170
|
+
## Supporting files
|
|
171
|
+
- See [examples/providerArgs.ts](examples/providerArgs.ts) for a complete runnable example.
|
|
172
|
+
|
|
170
173
|
## Do Not Generate
|
|
171
174
|
|
|
172
175
|
- Do NOT omit `name`, `description`, `signature`, `provider`, or `ai.model` -- all are required.
|
|
@@ -177,5 +180,5 @@ Supported types: `string`, `number`, `boolean`, `string[]`, `number[]`, etc.
|
|
|
177
180
|
|
|
178
181
|
## References
|
|
179
182
|
|
|
180
|
-
- [basic-researcher-writer.ts](
|
|
181
|
-
- [providerArgs.ts](
|
|
183
|
+
- [basic-researcher-writer.ts](examples/basic-researcher-writer.ts)
|
|
184
|
+
- [providerArgs.ts](examples/providerArgs.ts)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: axcrew-code-execution
|
|
3
3
|
description: AxCrew code execution with AxJSRuntime for sandboxed JavaScript execution. Covers AxJSRuntime setup, permissions, executionMode axagent, RLM mode, and runtime configuration for autonomous code generation and execution.
|
|
4
|
-
version: "
|
|
4
|
+
version: "8.7.3"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# AxCrew Code Execution
|
|
@@ -152,6 +152,9 @@ const config: AxCrewConfig = {
|
|
|
152
152
|
};
|
|
153
153
|
```
|
|
154
154
|
|
|
155
|
+
## Supporting files
|
|
156
|
+
- See [examples/rlm-long-task.ts](examples/rlm-long-task.ts) for a complete runnable example.
|
|
157
|
+
|
|
155
158
|
## Do Not Generate
|
|
156
159
|
|
|
157
160
|
- Do NOT use `executionMode: "axgen"` with `runtime` -- code execution requires `"axagent"` mode
|
|
@@ -162,5 +165,5 @@ const config: AxCrewConfig = {
|
|
|
162
165
|
|
|
163
166
|
## References
|
|
164
167
|
|
|
165
|
-
- [rlm-long-task.ts](
|
|
166
|
-
- [rlm-shared-fields.ts](
|
|
168
|
+
- [rlm-long-task.ts](examples/rlm-long-task.ts) -- full RLM agent with context management
|
|
169
|
+
- [rlm-shared-fields.ts](examples/rlm-shared-fields.ts) -- shared runtime across sub-agents
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
version: "
|
|
2
|
+
name: axcrew-execution-modes
|
|
3
|
+
version: "8.7.3"
|
|
4
4
|
description: "ax-crew execution modes: execution mode, axgen, axagent, RLM, runtime, contextFields, AxJSRuntime, contextManagement, fields, shared, globallyShared, excluded, maxTurns, maxSubAgentCalls"
|
|
5
5
|
argument-hint: [topic]
|
|
6
6
|
allowed-tools: Read, Grep, Glob
|
|
@@ -270,6 +270,10 @@ async function main() {
|
|
|
270
270
|
main().catch(console.error);
|
|
271
271
|
```
|
|
272
272
|
|
|
273
|
+
## Supporting files
|
|
274
|
+
- See [examples/rlm-long-task.ts](examples/rlm-long-task.ts) for a complete runnable example.
|
|
275
|
+
- See [examples/rlm-shared-fields.ts](examples/rlm-shared-fields.ts) for shared fields between agents.
|
|
276
|
+
|
|
273
277
|
## Do Not Generate
|
|
274
278
|
|
|
275
279
|
- Do NOT use `axAgentOptions` without setting `executionMode: "axagent"` -- it is ignored in `axgen` mode.
|
|
@@ -281,7 +285,7 @@ main().catch(console.error);
|
|
|
281
285
|
|
|
282
286
|
## References
|
|
283
287
|
|
|
284
|
-
- [rlm-long-task.ts
|
|
285
|
-
- [rlm-shared-fields.ts
|
|
286
|
-
- [Source: AxCrewAxAgentOptions type](
|
|
287
|
-
- [Source: StatefulAxAgent execution mode handling](
|
|
288
|
+
- [rlm-long-task.ts](examples/rlm-long-task.ts)
|
|
289
|
+
- [rlm-shared-fields.ts](examples/rlm-shared-fields.ts)
|
|
290
|
+
- [Source: AxCrewAxAgentOptions type](src/types.ts)
|
|
291
|
+
- [Source: StatefulAxAgent execution mode handling](src/agents/index.ts)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: axcrew-few-shot
|
|
3
3
|
description: AxCrew few-shot examples via examples[] field in AgentConfig. Covers in-context learning, demonstration structure, input/output field matching, setExamplesCompat() for dynamic updates, and when to use examples vs definition/prompt.
|
|
4
|
-
version: "
|
|
4
|
+
version: "8.7.3"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# AxCrew Few-Shot Examples
|
|
@@ -151,6 +151,9 @@ const agent = crew.agents?.get("SupportAgent");
|
|
|
151
151
|
|
|
152
152
|
Best practice: use `definition`/`prompt` for WHO the agent is, `examples[]` for HOW it should respond.
|
|
153
153
|
|
|
154
|
+
## Supporting files
|
|
155
|
+
- See [examples/solve-math-problem.ts](examples/solve-math-problem.ts) for a complete runnable example.
|
|
156
|
+
|
|
154
157
|
## Do Not Generate
|
|
155
158
|
|
|
156
159
|
- Do NOT embed examples as text in `definition` or `prompt` -- use the `examples[]` field for structured few-shot learning
|
|
@@ -161,5 +164,6 @@ Best practice: use `definition`/`prompt` for WHO the agent is, `examples[]` for
|
|
|
161
164
|
|
|
162
165
|
## References
|
|
163
166
|
|
|
164
|
-
- [
|
|
165
|
-
- [
|
|
167
|
+
- [solve-math-problem.ts](examples/solve-math-problem.ts) -- agent with few-shot examples
|
|
168
|
+
- [ace-customer-support.ts](examples/ace-customer-support.ts) -- agent with structured examples and ACE feedback
|
|
169
|
+
- [basic-researcher-writer.ts](examples/basic-researcher-writer.ts) -- simple agent config
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
version:
|
|
2
|
+
name: axcrew-functions
|
|
3
|
+
version: 8.7.3
|
|
4
4
|
description: "Functions and tools: FunctionRegistryType, AxFunction, toFunction, custom functions, AxCrewFunctions, class-based functions with state"
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -204,6 +204,9 @@ async function main() {
|
|
|
204
204
|
main().catch(console.error);
|
|
205
205
|
```
|
|
206
206
|
|
|
207
|
+
## Supporting files
|
|
208
|
+
- See [examples/write-post-and-publish-to-wordpress.ts](examples/write-post-and-publish-to-wordpress.ts) for a complete runnable example.
|
|
209
|
+
|
|
207
210
|
## Do Not Generate
|
|
208
211
|
|
|
209
212
|
- Do NOT define functions inline in AgentConfig; always use a `FunctionRegistryType` registry passed to the `AxCrew` constructor.
|
|
@@ -213,6 +216,6 @@ main().catch(console.error);
|
|
|
213
216
|
|
|
214
217
|
## References
|
|
215
218
|
|
|
216
|
-
- [write-post-and-publish-to-wordpress.ts](
|
|
217
|
-
- [src/functions/dateTime.ts](
|
|
218
|
-
- [src/functions/index.ts](
|
|
219
|
+
- [write-post-and-publish-to-wordpress.ts](examples/write-post-and-publish-to-wordpress.ts)
|
|
220
|
+
- [src/functions/dateTime.ts](src/functions/dateTime.ts)
|
|
221
|
+
- [src/functions/index.ts](src/functions/index.ts)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
version: "
|
|
2
|
+
name: axcrew-mcp
|
|
3
|
+
version: "8.7.3"
|
|
4
4
|
description: "ax-crew MCP integration: MCP, Model Context Protocol, STDIO, HTTP SSE, Streamable HTTP, mcpServers, tools, tool filtering, multiple servers"
|
|
5
5
|
argument-hint: [topic]
|
|
6
6
|
allowed-tools: Read, Grep, Glob
|
|
@@ -205,6 +205,10 @@ async function main() {
|
|
|
205
205
|
main().catch(console.error);
|
|
206
206
|
```
|
|
207
207
|
|
|
208
|
+
## Supporting files
|
|
209
|
+
- See [examples/mcp-agent.ts](examples/mcp-agent.ts) for a complete runnable example.
|
|
210
|
+
- See [examples/graphjin-database-agent.ts](examples/graphjin-database-agent.ts) for Streamable HTTP transport.
|
|
211
|
+
|
|
208
212
|
## Do Not Generate
|
|
209
213
|
|
|
210
214
|
- Do NOT mix transport config keys -- use exactly one of `command`, `sseUrl`, or `mcpEndpoint` per server entry.
|
|
@@ -215,7 +219,7 @@ main().catch(console.error);
|
|
|
215
219
|
|
|
216
220
|
## References
|
|
217
221
|
|
|
218
|
-
- [mcp-agent.ts
|
|
219
|
-
- [graphjin-database-agent.ts
|
|
220
|
-
- [Source: agentConfig.ts (initializeMCPServers)](
|
|
221
|
-
- [Types: MCPStdioTransportConfig, MCPHTTPSSETransportConfig, MCPStreamableHTTPTransportConfig](
|
|
222
|
+
- [mcp-agent.ts](examples/mcp-agent.ts)
|
|
223
|
+
- [graphjin-database-agent.ts](examples/graphjin-database-agent.ts)
|
|
224
|
+
- [Source: agentConfig.ts (initializeMCPServers)](src/agents/agentConfig.ts)
|
|
225
|
+
- [Types: MCPStdioTransportConfig, MCPHTTPSSETransportConfig, MCPStreamableHTTPTransportConfig](src/types.ts)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
version: "
|
|
2
|
+
name: axcrew-metrics
|
|
3
|
+
version: "8.7.3"
|
|
4
4
|
description: "ax-crew metrics and cost tracking: metrics, cost, tracking, getMetrics, getCrewMetrics, MetricsSnapshot, usage, tokens, estimatedCostUSD, resetCosts, resetCrewMetrics"
|
|
5
5
|
argument-hint: [topic]
|
|
6
6
|
allowed-tools: Read, Grep, Glob
|
|
@@ -154,6 +154,9 @@ if (m?.functions?.details) {
|
|
|
154
154
|
}
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
+
## Supporting files
|
|
158
|
+
- See [examples/basic-researcher-writer.ts](examples/basic-researcher-writer.ts) for a complete runnable example.
|
|
159
|
+
|
|
157
160
|
## Do Not Generate
|
|
158
161
|
|
|
159
162
|
- Do NOT call `getMetrics()` on the crew object -- use `crew.getCrewMetrics()` for crew-level and `agent.getMetrics()` for per-agent.
|
|
@@ -164,7 +167,7 @@ if (m?.functions?.details) {
|
|
|
164
167
|
|
|
165
168
|
## References
|
|
166
169
|
|
|
167
|
-
- [basic-researcher-writer.ts
|
|
168
|
-
- [rlm-long-task.ts
|
|
169
|
-
- [Source: MetricsSnapshot type](
|
|
170
|
-
- [Source: MetricsRegistry](
|
|
170
|
+
- [basic-researcher-writer.ts](examples/basic-researcher-writer.ts)
|
|
171
|
+
- [rlm-long-task.ts](examples/rlm-long-task.ts)
|
|
172
|
+
- [Source: MetricsSnapshot type](src/metrics/types.ts)
|
|
173
|
+
- [Source: MetricsRegistry](src/metrics/registry.ts)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
version:
|
|
2
|
+
name: axcrew-patterns
|
|
3
|
+
version: 8.7.3
|
|
4
4
|
description: "AxCrew multi-agent patterns: pipeline, delegation, fan-out, orchestrator, sequential workflows, and agent coordination."
|
|
5
5
|
tags: [patterns, workflow, pipeline, multi-agent, orchestrator, delegation, sequential, fan-out]
|
|
6
6
|
---
|
|
@@ -271,6 +271,10 @@ class MyTool {
|
|
|
271
271
|
}
|
|
272
272
|
```
|
|
273
273
|
|
|
274
|
+
## Supporting files
|
|
275
|
+
- See [examples/write-post-and-publish-to-wordpress.ts](examples/write-post-and-publish-to-wordpress.ts) for a complete pipeline example.
|
|
276
|
+
- See [examples/solve-math-problem.ts](examples/solve-math-problem.ts) for a delegation example.
|
|
277
|
+
|
|
274
278
|
## Do Not Generate
|
|
275
279
|
|
|
276
280
|
- Do NOT add a parent agent before its sub-agents -- `addAgentsToCrew` resolves dependencies but `addAgent` does not.
|
|
@@ -281,6 +285,6 @@ class MyTool {
|
|
|
281
285
|
|
|
282
286
|
## References
|
|
283
287
|
|
|
284
|
-
- [write-post-and-publish-to-wordpress.ts](
|
|
285
|
-
- [solve-math-problem.ts](
|
|
286
|
-
- [search-tweets.ts](
|
|
288
|
+
- [write-post-and-publish-to-wordpress.ts](examples/write-post-and-publish-to-wordpress.ts) (4-agent pipeline)
|
|
289
|
+
- [solve-math-problem.ts](examples/solve-math-problem.ts) (delegation)
|
|
290
|
+
- [search-tweets.ts](examples/search-tweets.ts) (streaming)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
version:
|
|
2
|
+
name: axcrew-providers
|
|
3
|
+
version: 8.7.3
|
|
4
4
|
description: "AxCrew provider configuration: openai, anthropic, google-gemini, azure-openai, groq, ollama, mistral, cohere, grok/xAI, perplexity, and model setup."
|
|
5
5
|
tags: [provider, openai, anthropic, google-gemini, azure, groq, ollama, mistral, cohere, model, grok, perplexity]
|
|
6
6
|
---
|
|
@@ -187,6 +187,11 @@ async function main() {
|
|
|
187
187
|
main().catch(console.error);
|
|
188
188
|
```
|
|
189
189
|
|
|
190
|
+
## Supporting files
|
|
191
|
+
- See [examples/providerArgs.ts](examples/providerArgs.ts) for Azure OpenAI configuration.
|
|
192
|
+
- See [examples/search-tweets.ts](examples/search-tweets.ts) for Grok/xAI usage.
|
|
193
|
+
- See [examples/perplexityDeepSearch.ts](examples/perplexityDeepSearch.ts) for Perplexity MCP integration.
|
|
194
|
+
|
|
190
195
|
## Do Not Generate
|
|
191
196
|
|
|
192
197
|
- Do NOT hardcode API keys in config -- always use `providerKeyName` which reads from `process.env`.
|
|
@@ -197,8 +202,8 @@ main().catch(console.error);
|
|
|
197
202
|
|
|
198
203
|
## References
|
|
199
204
|
|
|
200
|
-
- [providerArgs.ts](
|
|
201
|
-
- [search-tweets.ts](
|
|
202
|
-
- [perplexityDeepSearch.ts](
|
|
203
|
-
- [write-post-and-publish-to-wordpress.ts](
|
|
204
|
-
- [src/agents/compose.ts](
|
|
205
|
+
- [providerArgs.ts](examples/providerArgs.ts) (Azure OpenAI)
|
|
206
|
+
- [search-tweets.ts](examples/search-tweets.ts) (Grok/xAI)
|
|
207
|
+
- [perplexityDeepSearch.ts](examples/perplexityDeepSearch.ts) (Perplexity MCP)
|
|
208
|
+
- [write-post-and-publish-to-wordpress.ts](examples/write-post-and-publish-to-wordpress.ts) (mixed providers)
|
|
209
|
+
- [src/agents/compose.ts](src/agents/compose.ts)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: axcrew-signatures
|
|
3
3
|
description: AxCrew DSPy-style signature format for defining agent inputs/outputs. Covers signature syntax, types (string, number, boolean, class, string[], json, image, audio, date), optional fields (?), field descriptions, and AxSignature builder alternative.
|
|
4
|
-
version: "
|
|
4
|
+
version: "8.7.3"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# AxCrew Signatures
|
|
@@ -164,6 +164,6 @@ const config: AxCrewConfig = {
|
|
|
164
164
|
|
|
165
165
|
## References
|
|
166
166
|
|
|
167
|
-
- [rlm-long-task.ts](
|
|
168
|
-
- [rlm-shared-fields.ts](
|
|
169
|
-
- [ace-customer-support.ts](
|
|
167
|
+
- [rlm-long-task.ts](examples/rlm-long-task.ts) -- array output in signature
|
|
168
|
+
- [rlm-shared-fields.ts](examples/rlm-shared-fields.ts) -- field descriptions in quotes
|
|
169
|
+
- [ace-customer-support.ts](examples/ace-customer-support.ts) -- multi-output signature
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
version:
|
|
2
|
+
name: axcrew-state
|
|
3
|
+
version: 8.7.3
|
|
4
4
|
description: "State management: shared state, StateInstance, set, get, getAll, reset, accessing state from class-based functions"
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -154,6 +154,9 @@ const agent = crew.agents?.get("myAgent");
|
|
|
154
154
|
// agent.state is the same StateInstance as crew.state
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
+
## Supporting files
|
|
158
|
+
- See [examples/write-post-and-publish-to-wordpress.ts](examples/write-post-and-publish-to-wordpress.ts) for a complete runnable example.
|
|
159
|
+
|
|
157
160
|
## Do Not Generate
|
|
158
161
|
|
|
159
162
|
- Do NOT assume state values exist without checking; always use optional chaining (e.g. `this.state.env?.KEY`).
|
|
@@ -163,6 +166,6 @@ const agent = crew.agents?.get("myAgent");
|
|
|
163
166
|
|
|
164
167
|
## References
|
|
165
168
|
|
|
166
|
-
- [write-post-and-publish-to-wordpress.ts](
|
|
167
|
-
- [src/state/index.ts](
|
|
168
|
-
- [src/types.ts](
|
|
169
|
+
- [write-post-and-publish-to-wordpress.ts](examples/write-post-and-publish-to-wordpress.ts)
|
|
170
|
+
- [src/state/index.ts](src/state/index.ts)
|
|
171
|
+
- [src/types.ts](src/types.ts)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
version: "
|
|
2
|
+
name: axcrew-streaming
|
|
3
|
+
version: "8.7.3"
|
|
4
4
|
description: "ax-crew streaming patterns: streaming, streamingForward, stream, delta, real-time, chunks, async generator consumption"
|
|
5
5
|
argument-hint: [topic]
|
|
6
6
|
allowed-tools: Read, Grep, Glob
|
|
@@ -129,6 +129,9 @@ async function main() {
|
|
|
129
129
|
main().catch(console.error);
|
|
130
130
|
```
|
|
131
131
|
|
|
132
|
+
## Supporting files
|
|
133
|
+
- See [examples/streaming.ts](examples/streaming.ts) for a complete runnable example.
|
|
134
|
+
|
|
132
135
|
## Do Not Generate
|
|
133
136
|
|
|
134
137
|
- Do NOT `await` the return of `streamingForward()` -- it returns the async generator directly, not a promise.
|
|
@@ -139,5 +142,5 @@ main().catch(console.error);
|
|
|
139
142
|
|
|
140
143
|
## References
|
|
141
144
|
|
|
142
|
-
- [streaming.ts
|
|
143
|
-
- [Source: StatefulAxAgent.streamingForward](
|
|
145
|
+
- [streaming.ts](examples/streaming.ts)
|
|
146
|
+
- [Source: StatefulAxAgent.streamingForward](src/agents/index.ts)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: axcrew-sub-agents
|
|
3
3
|
description: AxCrew sub-agent composition via agents[] field. Covers agent delegation, dependency resolution, lazy agents (addLazyAgent), parent-child tool integration, and multi-agent orchestration patterns.
|
|
4
|
-
version: "
|
|
4
|
+
version: "8.7.3"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# AxCrew Sub-Agents
|
|
@@ -189,6 +189,10 @@ crew.addLazyAgent("RarelyUsedAgent");
|
|
|
189
189
|
|
|
190
190
|
The lazy agent exposes the same `getFunction()` interface. When the parent agent delegates to it, the real agent is created on-demand.
|
|
191
191
|
|
|
192
|
+
## Supporting files
|
|
193
|
+
- See [examples/basic-researcher-writer.ts](examples/basic-researcher-writer.ts) for simple delegation.
|
|
194
|
+
- See [examples/rlm-shared-fields.ts](examples/rlm-shared-fields.ts) for multi-agent with shared fields.
|
|
195
|
+
|
|
192
196
|
## Do Not Generate
|
|
193
197
|
|
|
194
198
|
- Do NOT list an agent in `agents[]` that is not defined in the crew config
|
|
@@ -199,5 +203,5 @@ The lazy agent exposes the same `getFunction()` interface. When the parent agent
|
|
|
199
203
|
|
|
200
204
|
## References
|
|
201
205
|
|
|
202
|
-
- [basic-researcher-writer.ts](
|
|
203
|
-
- [rlm-shared-fields.ts](
|
|
206
|
+
- [basic-researcher-writer.ts](examples/basic-researcher-writer.ts) -- simple delegation
|
|
207
|
+
- [rlm-shared-fields.ts](examples/rlm-shared-fields.ts) -- multi-agent with shared fields
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
version:
|
|
2
|
+
name: axcrew-telemetry
|
|
3
|
+
version: 8.7.3
|
|
4
4
|
description: "AxCrew telemetry: OpenTelemetry tracing, metrics, observability with tracer and meter injection."
|
|
5
5
|
tags: [telemetry, opentelemetry, tracing, metrics, observability, tracer, meter]
|
|
6
6
|
---
|
|
@@ -148,6 +148,9 @@ async function main() {
|
|
|
148
148
|
main().catch(console.error);
|
|
149
149
|
```
|
|
150
150
|
|
|
151
|
+
## Supporting files
|
|
152
|
+
- See [examples/telemetry-demo.ts](examples/telemetry-demo.ts) for a complete runnable example.
|
|
153
|
+
|
|
151
154
|
## Do Not Generate
|
|
152
155
|
|
|
153
156
|
- Do NOT import OpenTelemetry types from `ax-crew` -- import them from `@opentelemetry/api` and the SDK packages.
|
|
@@ -157,5 +160,5 @@ main().catch(console.error);
|
|
|
157
160
|
|
|
158
161
|
## References
|
|
159
162
|
|
|
160
|
-
- [telemetry-demo.ts](
|
|
163
|
+
- [telemetry-demo.ts](examples/telemetry-demo.ts)
|
|
161
164
|
- [OpenTelemetry JS](https://opentelemetry.io/docs/languages/js/)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
version:
|
|
2
|
+
name: axcrew
|
|
3
|
+
version: 8.7.3
|
|
4
4
|
description: "AxCrew - multi-agent orchestration: crew, agents, addAgent, addAllAgents, addAgentsToCrew, forward, streaming, sub-agents"
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -109,6 +109,9 @@ new AxCrew(crewConfig: AxCrewConfig, functionsRegistry?: FunctionRegistryType, o
|
|
|
109
109
|
- `ax-crew-functions` -- Function registry, custom tools, class-based functions
|
|
110
110
|
- `ax-crew-state` -- Shared state API, accessing state from functions
|
|
111
111
|
|
|
112
|
+
## Supporting files
|
|
113
|
+
- See [examples/basic-researcher-writer.ts](examples/basic-researcher-writer.ts) for a complete runnable example.
|
|
114
|
+
|
|
112
115
|
## Do Not Generate
|
|
113
116
|
|
|
114
117
|
- Do NOT instantiate `AxAgent` or `AxGen` directly; use `AxCrew` which wraps them as `StatefulAxAgent`.
|
|
@@ -119,6 +122,6 @@ new AxCrew(crewConfig: AxCrewConfig, functionsRegistry?: FunctionRegistryType, o
|
|
|
119
122
|
|
|
120
123
|
## References
|
|
121
124
|
|
|
122
|
-
- [basic-researcher-writer.ts](
|
|
123
|
-
- [write-post-and-publish-to-wordpress.ts](
|
|
124
|
-
- [providerArgs.ts](
|
|
125
|
+
- [basic-researcher-writer.ts](examples/basic-researcher-writer.ts)
|
|
126
|
+
- [write-post-and-publish-to-wordpress.ts](examples/write-post-and-publish-to-wordpress.ts)
|
|
127
|
+
- [providerArgs.ts](examples/providerArgs.ts)
|
package/axcrew.png
DELETED
|
Binary file
|