@defai.digital/automatosx 11.2.6 → 11.2.7
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 +1 -1
- package/dist/index.js +289 -312
- package/dist/mcp/index.js +75 -72
- package/examples/providers/README.md +58 -169
- package/package.json +1 -1
- package/CHANGELOG.md +0 -41
- package/CODE_OF_CONDUCT.md +0 -133
- package/CONTRIBUTING.md +0 -427
- package/FAQ.md +0 -895
- package/TROUBLESHOOTING.md +0 -972
- package/templates/providers/README.md +0 -117
- /package/examples/{claude → providers/claude}/CLAUDE_INTEGRATION.md +0 -0
- /package/examples/{claude → providers/claude}/mcp/automatosx.json +0 -0
- /package/examples/{codex → providers/codex}/CODEX_INTEGRATION.md +0 -0
- /package/examples/{codex → providers/codex}/README.md +0 -0
- /package/examples/{codex → providers/codex}/usage-examples.ts +0 -0
- /package/examples/{gemini → providers/gemini}/GEMINI_INTEGRATION.md +0 -0
- /package/examples/{gemini → providers/gemini}/README.md +0 -0
- /package/examples/{integrations → providers}/openai-codex-example.ts +0 -0
- /package/{templates → examples}/specs/enterprise.yaml.mustache +0 -0
- /package/{templates → examples}/specs/government.yaml.mustache +0 -0
- /package/{templates → examples}/specs/minimal.yaml.mustache +0 -0
- /package/examples/{templates → workflows}/analyst.yaml +0 -0
- /package/examples/{templates → workflows}/assistant.yaml +0 -0
- /package/examples/{templates → workflows}/basic-agent.yaml +0 -0
- /package/examples/{templates → workflows}/code-reviewer.yaml +0 -0
- /package/examples/{templates → workflows}/debugger.yaml +0 -0
- /package/examples/{templates → workflows}/designer.yaml +0 -0
- /package/examples/{templates → workflows}/developer.yaml +0 -0
- /package/examples/{templates → workflows}/fullstack-developer.yaml +0 -0
- /package/examples/{templates → workflows}/qa-specialist.yaml +0 -0
package/CONTRIBUTING.md
DELETED
|
@@ -1,427 +0,0 @@
|
|
|
1
|
-
# Contributing to AutomatosX
|
|
2
|
-
|
|
3
|
-
Thank you for your interest in contributing to AutomatosX! This document provides guidelines for contributing to the project.
|
|
4
|
-
|
|
5
|
-
## Table of Contents
|
|
6
|
-
|
|
7
|
-
- [Code of Conduct](#code-of-conduct)
|
|
8
|
-
- [Getting Started](#getting-started)
|
|
9
|
-
- [Development Setup](#development-setup)
|
|
10
|
-
- [Making Changes](#making-changes)
|
|
11
|
-
- [Testing](#testing)
|
|
12
|
-
- [Submitting Changes](#submitting-changes)
|
|
13
|
-
- [Coding Standards](#coding-standards)
|
|
14
|
-
|
|
15
|
-
## Code of Conduct
|
|
16
|
-
|
|
17
|
-
This project follows a Code of Conduct (see [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)). By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
|
|
18
|
-
|
|
19
|
-
## Project Status & Contribution Policy
|
|
20
|
-
|
|
21
|
-
AutomatosX is an **open source project** published for **transparency and community benefit**. While the entire codebase is public for review and learning:
|
|
22
|
-
|
|
23
|
-
### What We Welcome ✅
|
|
24
|
-
|
|
25
|
-
- **Bug Reports** - Please report issues via GitHub Issues
|
|
26
|
-
- **Feature Suggestions** - Share your ideas for discussion
|
|
27
|
-
- **Documentation Improvements** - Typos, clarifications, examples
|
|
28
|
-
- **Security Reports** - See [SECURITY.md](SECURITY.md) for responsible disclosure
|
|
29
|
-
- **Questions & Help** - Open a GitHub Issue with the `question` label
|
|
30
|
-
- **Sharing & Using** - Use AutomatosX in your projects!
|
|
31
|
-
|
|
32
|
-
### Current Development Model 🔧
|
|
33
|
-
|
|
34
|
-
- This is **not actively seeking code contributions** at this time
|
|
35
|
-
- The codebase is **fully transparent** for trust and verification
|
|
36
|
-
- Development is primarily done by the core team
|
|
37
|
-
- We may accept PRs on a case-by-case basis
|
|
38
|
-
|
|
39
|
-
### Why This Approach?
|
|
40
|
-
|
|
41
|
-
We believe in **radical transparency** - you should be able to:
|
|
42
|
-
- ✅ Verify the code does what it claims
|
|
43
|
-
- ✅ Audit security and privacy practices
|
|
44
|
-
- ✅ Learn from the implementation
|
|
45
|
-
- ✅ Trust that nothing harmful is hidden
|
|
46
|
-
- ✅ Fork and modify for your own use (within license terms)
|
|
47
|
-
|
|
48
|
-
This doesn't mean we don't value the community! Issues, questions, and feedback are **highly appreciated** and help make AutomatosX better.
|
|
49
|
-
|
|
50
|
-
## Getting Started
|
|
51
|
-
|
|
52
|
-
1. Fork the repository
|
|
53
|
-
2. Clone your fork: `git clone https://github.com/yourusername/automatosx.git`
|
|
54
|
-
3. Add upstream remote: `git remote add upstream https://github.com/automatosx/automatosx.git`
|
|
55
|
-
|
|
56
|
-
## Development Setup
|
|
57
|
-
|
|
58
|
-
### Prerequisites
|
|
59
|
-
|
|
60
|
-
- Node.js 24.0.0 or later
|
|
61
|
-
- npm, pnpm, or yarn
|
|
62
|
-
|
|
63
|
-
### Installation
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
# Install dependencies
|
|
67
|
-
npm install
|
|
68
|
-
|
|
69
|
-
# Run tests
|
|
70
|
-
npm test
|
|
71
|
-
|
|
72
|
-
# Build the project
|
|
73
|
-
npm run build
|
|
74
|
-
|
|
75
|
-
# Run in development mode
|
|
76
|
-
npm run dev -- <command>
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Making Changes
|
|
80
|
-
|
|
81
|
-
### Creating a Branch
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
# Update your main branch
|
|
85
|
-
git checkout main
|
|
86
|
-
git pull upstream main
|
|
87
|
-
|
|
88
|
-
# Create a feature branch
|
|
89
|
-
git checkout -b feature/your-feature-name
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### Branch Naming Convention
|
|
93
|
-
|
|
94
|
-
- `feature/` - New features
|
|
95
|
-
- `fix/` - Bug fixes
|
|
96
|
-
- `docs/` - Documentation changes
|
|
97
|
-
- `test/` - Test improvements
|
|
98
|
-
- `refactor/` - Code refactoring
|
|
99
|
-
- `perf/` - Performance improvements
|
|
100
|
-
|
|
101
|
-
## Testing
|
|
102
|
-
|
|
103
|
-
### Running Tests
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
# Run all tests
|
|
107
|
-
npm test
|
|
108
|
-
|
|
109
|
-
# Run unit tests only
|
|
110
|
-
npm run test:unit
|
|
111
|
-
|
|
112
|
-
# Run integration tests only
|
|
113
|
-
npm run test:integration
|
|
114
|
-
|
|
115
|
-
# Run tests in watch mode
|
|
116
|
-
npm run test:watch
|
|
117
|
-
|
|
118
|
-
# Run tests with coverage
|
|
119
|
-
npm run test:coverage
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### Writing Tests
|
|
123
|
-
|
|
124
|
-
- Write tests for all new features
|
|
125
|
-
- Maintain or improve test coverage (current: ~85%)
|
|
126
|
-
- Place unit tests in `tests/unit/`
|
|
127
|
-
- Place integration tests in `tests/integration/`
|
|
128
|
-
- Use descriptive test names
|
|
129
|
-
- Follow existing test patterns
|
|
130
|
-
|
|
131
|
-
### Test Requirements
|
|
132
|
-
|
|
133
|
-
- All tests must pass before submitting PR
|
|
134
|
-
- Coverage should not decrease
|
|
135
|
-
- Add tests for bug fixes to prevent regression
|
|
136
|
-
|
|
137
|
-
## Submitting Changes
|
|
138
|
-
|
|
139
|
-
### Before Submitting
|
|
140
|
-
|
|
141
|
-
1. **Run tests**: `npm test`
|
|
142
|
-
2. **Type check**: `npm run typecheck`
|
|
143
|
-
3. **Build**: `npm run build`
|
|
144
|
-
4. **Update documentation** if needed
|
|
145
|
-
5. **Update GitHub Releases (https://github.com/defai-digital/automatosx/releases)** with your changes
|
|
146
|
-
|
|
147
|
-
### Commit Messages
|
|
148
|
-
|
|
149
|
-
We follow [Conventional Commits](https://www.conventionalcommits.org/) specification. This enables automated changelog generation and semantic versioning.
|
|
150
|
-
|
|
151
|
-
#### Quick Start
|
|
152
|
-
|
|
153
|
-
Use the interactive commit tool:
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
npm run commit
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
Or write manually:
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
git commit -m "feat(agents): add delegation depth validation"
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
#### Format
|
|
166
|
-
|
|
167
|
-
```
|
|
168
|
-
<type>(<scope>): <subject>
|
|
169
|
-
|
|
170
|
-
<body>
|
|
171
|
-
|
|
172
|
-
<footer>
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
**Required**:
|
|
176
|
-
- `type`: feat, fix, docs, style, refactor, perf, test, chore, ci, build, revert
|
|
177
|
-
- `subject`: Short description (max 100 chars, lowercase, no period)
|
|
178
|
-
|
|
179
|
-
**Optional**:
|
|
180
|
-
- `scope`: Module affected (agents, cli, memory, router, providers, etc.)
|
|
181
|
-
- `body`: Detailed explanation
|
|
182
|
-
- `footer`: Issue references, breaking changes
|
|
183
|
-
|
|
184
|
-
#### Examples
|
|
185
|
-
|
|
186
|
-
```bash
|
|
187
|
-
# Feature
|
|
188
|
-
feat(agents): add delegation depth validation
|
|
189
|
-
|
|
190
|
-
# Bug fix
|
|
191
|
-
fix(cli): resolve path resolution bug in Windows
|
|
192
|
-
|
|
193
|
-
# Documentation
|
|
194
|
-
docs: update release process guide
|
|
195
|
-
|
|
196
|
-
# Breaking change
|
|
197
|
-
feat(router)!: remove deprecated fallback option
|
|
198
|
-
|
|
199
|
-
BREAKING CHANGE: The `enableFallback` option has been removed.
|
|
200
|
-
Use `fallbackChain` instead.
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
#### Commit Hooks
|
|
204
|
-
|
|
205
|
-
Git hooks will validate your commit messages:
|
|
206
|
-
- Invalid commits will be rejected
|
|
207
|
-
- Use `npm run commit` for guided input
|
|
208
|
-
- See [docs/conventional-commits.md](./docs/conventional-commits.md) for full guide
|
|
209
|
-
|
|
210
|
-
#### Benefits
|
|
211
|
-
|
|
212
|
-
- 📝 Automated GitHub release notes
|
|
213
|
-
- 🏷️ Semantic version automation
|
|
214
|
-
- 📊 Clear commit history
|
|
215
|
-
- 🤝 Better collaboration
|
|
216
|
-
|
|
217
|
-
### Pull Request Process
|
|
218
|
-
|
|
219
|
-
1. **Update your branch**:
|
|
220
|
-
|
|
221
|
-
```bash
|
|
222
|
-
git checkout main
|
|
223
|
-
git pull upstream main
|
|
224
|
-
git checkout your-branch
|
|
225
|
-
git rebase main
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
2. **Push to your fork**:
|
|
229
|
-
|
|
230
|
-
```bash
|
|
231
|
-
git push origin your-branch
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
3. **Create Pull Request**:
|
|
235
|
-
- Use a clear, descriptive title
|
|
236
|
-
- Reference related issues
|
|
237
|
-
- Describe what changed and why
|
|
238
|
-
- Include screenshots for UI changes
|
|
239
|
-
- List breaking changes if any
|
|
240
|
-
|
|
241
|
-
4. **PR Template**:
|
|
242
|
-
|
|
243
|
-
```markdown
|
|
244
|
-
## Description
|
|
245
|
-
Brief description of changes
|
|
246
|
-
|
|
247
|
-
## Type of Change
|
|
248
|
-
- [ ] Bug fix
|
|
249
|
-
- [ ] New feature
|
|
250
|
-
- [ ] Breaking change
|
|
251
|
-
- [ ] Documentation update
|
|
252
|
-
|
|
253
|
-
## Testing
|
|
254
|
-
- [ ] Tests pass locally
|
|
255
|
-
- [ ] Added/updated tests
|
|
256
|
-
- [ ] Manual testing completed
|
|
257
|
-
|
|
258
|
-
## Checklist
|
|
259
|
-
- [ ] Code follows project style
|
|
260
|
-
- [ ] Documentation updated
|
|
261
|
-
- [ ] GitHub Releases (https://github.com/defai-digital/automatosx/releases) updated
|
|
262
|
-
- [ ] No breaking changes (or documented)
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
5. **Review Process**:
|
|
266
|
-
- Address reviewer feedback
|
|
267
|
-
- Make requested changes
|
|
268
|
-
- Push updates to your branch
|
|
269
|
-
- Re-request review when ready
|
|
270
|
-
|
|
271
|
-
## Coding Standards
|
|
272
|
-
|
|
273
|
-
### TypeScript
|
|
274
|
-
|
|
275
|
-
- Use TypeScript strict mode
|
|
276
|
-
- Provide type annotations for all public APIs
|
|
277
|
-
- Avoid `any` type unless absolutely necessary
|
|
278
|
-
- Use meaningful variable and function names
|
|
279
|
-
- Keep functions small and focused
|
|
280
|
-
|
|
281
|
-
### Code Style
|
|
282
|
-
|
|
283
|
-
```typescript
|
|
284
|
-
// Good
|
|
285
|
-
export async function loadProfile(
|
|
286
|
-
profilePath: string,
|
|
287
|
-
options: LoadOptions = {}
|
|
288
|
-
): Promise<AgentProfile> {
|
|
289
|
-
// Implementation
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
// Bad
|
|
293
|
-
export async function load(p: string, o: any) {
|
|
294
|
-
// Implementation
|
|
295
|
-
}
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
### Documentation
|
|
299
|
-
|
|
300
|
-
- Add JSDoc comments for all public APIs
|
|
301
|
-
- Include parameter descriptions
|
|
302
|
-
- Document return types
|
|
303
|
-
- Provide usage examples
|
|
304
|
-
|
|
305
|
-
```typescript
|
|
306
|
-
/**
|
|
307
|
-
* Load an agent profile from a YAML file.
|
|
308
|
-
*
|
|
309
|
-
* @param profilePath - Absolute path to the profile file
|
|
310
|
-
* @param options - Optional loading configuration
|
|
311
|
-
* @returns Parsed agent profile
|
|
312
|
-
* @throws {PathTraversalError} If path is outside allowed directory
|
|
313
|
-
*
|
|
314
|
-
* @example
|
|
315
|
-
* ```typescript
|
|
316
|
-
* const profile = await loadProfile('/path/to/agent.yaml');
|
|
317
|
-
* console.log(profile.name); // 'my-agent'
|
|
318
|
-
* ```
|
|
319
|
-
*/
|
|
320
|
-
export async function loadProfile(
|
|
321
|
-
profilePath: string,
|
|
322
|
-
options: LoadOptions = {}
|
|
323
|
-
): Promise<AgentProfile> {
|
|
324
|
-
// Implementation
|
|
325
|
-
}
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
### File Organization
|
|
329
|
-
|
|
330
|
-
```
|
|
331
|
-
src/
|
|
332
|
-
├── core/ # Core modules
|
|
333
|
-
├── agents/ # Agent system
|
|
334
|
-
├── providers/ # AI provider integrations
|
|
335
|
-
├── cli/ # CLI commands
|
|
336
|
-
├── types/ # TypeScript types
|
|
337
|
-
└── utils/ # Utility functions
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
### Error Handling
|
|
341
|
-
|
|
342
|
-
- Use custom error classes
|
|
343
|
-
- Provide meaningful error messages
|
|
344
|
-
- Include error context
|
|
345
|
-
- Handle errors gracefully
|
|
346
|
-
|
|
347
|
-
```typescript
|
|
348
|
-
// Good
|
|
349
|
-
if (!isValidPath(path)) {
|
|
350
|
-
throw new PathTraversalError(
|
|
351
|
-
`Invalid path: ${path}`,
|
|
352
|
-
{ path, allowedDir }
|
|
353
|
-
);
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
// Bad
|
|
357
|
-
if (!isValidPath(path)) {
|
|
358
|
-
throw new Error('bad path');
|
|
359
|
-
}
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
### Performance
|
|
363
|
-
|
|
364
|
-
- Avoid unnecessary computations
|
|
365
|
-
- Use caching where appropriate
|
|
366
|
-
- Lazy load when possible
|
|
367
|
-
- Profile performance-critical code
|
|
368
|
-
|
|
369
|
-
## Project Structure
|
|
370
|
-
|
|
371
|
-
### Important Files
|
|
372
|
-
|
|
373
|
-
- `src/` - Source code
|
|
374
|
-
- `tests/` - Test suites
|
|
375
|
-
- `docs/` - Documentation
|
|
376
|
-
- `PRD/` - Product requirements
|
|
377
|
-
- `examples/` - Example configurations
|
|
378
|
-
|
|
379
|
-
### Key Modules
|
|
380
|
-
|
|
381
|
-
1. **Core** (`src/core/`)
|
|
382
|
-
- `config.ts` - Configuration management
|
|
383
|
-
- `logger.ts` - Logging system
|
|
384
|
-
- `path-resolver.ts` - Path resolution
|
|
385
|
-
- `memory-manager.ts` - Memory persistence
|
|
386
|
-
- `router.ts` - Provider routing
|
|
387
|
-
|
|
388
|
-
2. **Agents** (`src/agents/`)
|
|
389
|
-
- `profile-loader.ts` - Profile loading
|
|
390
|
-
- `abilities-manager.ts` - Abilities management
|
|
391
|
-
- `context-manager.ts` - Execution context
|
|
392
|
-
|
|
393
|
-
3. **CLI** (`src/cli/`)
|
|
394
|
-
- Command implementations
|
|
395
|
-
- User interface
|
|
396
|
-
|
|
397
|
-
## Release Process
|
|
398
|
-
|
|
399
|
-
See [docs/release-process.md](./docs/release-process.md) for detailed release instructions.
|
|
400
|
-
|
|
401
|
-
Quick summary:
|
|
402
|
-
1. Update version: `npm run version:patch`
|
|
403
|
-
2. Push: `git push && git push --tags`
|
|
404
|
-
3. GitHub Actions handles the rest automatically
|
|
405
|
-
|
|
406
|
-
## Getting Help
|
|
407
|
-
|
|
408
|
-
- Check existing [documentation](docs/)
|
|
409
|
-
- Search [existing issues](https://github.com/defai-digital/automatosx/issues)
|
|
410
|
-
- Open a new issue for questions, bugs, or feature requests
|
|
411
|
-
- Use "bug" label for bugs
|
|
412
|
-
- Use "enhancement" label for feature requests/wishlist
|
|
413
|
-
- Use "question" label for questions
|
|
414
|
-
|
|
415
|
-
## License
|
|
416
|
-
|
|
417
|
-
By contributing, you agree that your contributions will be licensed under the Elastic License 2.0.
|
|
418
|
-
|
|
419
|
-
## Recognition
|
|
420
|
-
|
|
421
|
-
Contributors will be recognized in:
|
|
422
|
-
|
|
423
|
-
- GitHub Releases (https://github.com/defai-digital/automatosx/releases)
|
|
424
|
-
- GitHub contributors page
|
|
425
|
-
- Release notes (for significant contributions)
|
|
426
|
-
|
|
427
|
-
Thank you for contributing to AutomatosX! 🚀
|