speexor 0.2.0 → 0.2.1
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/BENCHMARKS.md +21 -0
- package/CHANGELOG.md +24 -0
- package/CONTRIBUTING.md +5 -10
- package/FAQ.md +28 -1
- package/GLOSSARY.md +1 -0
- package/PUBLISH.md +7 -2
- package/README.md +2 -2
- package/ROADMAP.md +29 -62
- package/SECURITY.md +2 -1
- package/SUMMARY.md +1 -1
- package/dist/{agent-D4BRWEOZ.js → agent-C64T66XT.js} +4 -4
- package/dist/{agent-D4BRWEOZ.js.map → agent-C64T66XT.js.map} +1 -1
- package/dist/{chunk-7VZHDGRQ.js → chunk-5OD5UWB5.js} +322 -121
- package/dist/chunk-5OD5UWB5.js.map +1 -0
- package/dist/chunk-GOGI3JQD.js +1637 -0
- package/dist/chunk-GOGI3JQD.js.map +1 -0
- package/dist/{chunk-2DX54KIM.js → chunk-VEZQT5SX.js} +80 -8
- package/dist/chunk-VEZQT5SX.js.map +1 -0
- package/dist/cli/index.js +2058 -18
- package/dist/cli/index.js.map +1 -1
- package/dist/core/index.d.ts +682 -3
- package/dist/core/index.js +1 -1
- package/dist/index.d.ts +102 -14
- package/dist/index.js +55 -29
- package/dist/index.js.map +1 -1
- package/dist/plugins/index.d.ts +1 -1
- package/dist/plugins/index.js +1 -1
- package/dist/types-BOMap-tI.d.ts +389 -0
- package/docs/PRD03.md +119 -0
- package/docs/PRD06.md +125 -0
- package/package.json +3 -3
- package/dist/chunk-2DX54KIM.js.map +0 -1
- package/dist/chunk-7VZHDGRQ.js.map +0 -1
- package/dist/chunk-AOFWQZWY.js +0 -345
- package/dist/chunk-AOFWQZWY.js.map +0 -1
- package/dist/types-0q_okI2g.d.ts +0 -205
package/BENCHMARKS.md
CHANGED
|
@@ -50,3 +50,24 @@ node benchmarks/store-throughput.js
|
|
|
50
50
|
| Date | Version | Spawn Time | Dashboard Latency (P95) | Event-to-Dashboard | Store Writes/s | Idle Memory | Notes |
|
|
51
51
|
|------|---------|-----------|------------------------|-------------------|---------------|-------------|-------|
|
|
52
52
|
| — | 0.1.0 | — | — | — | — | — | Baseline not yet collected |
|
|
53
|
+
| — | 0.2.0 | — | — | — | — | — | Async I/O migration in progress; run `pnpm bench` to generate baseline |
|
|
54
|
+
|
|
55
|
+
## Running Baselines
|
|
56
|
+
|
|
57
|
+
To collect initial baselines after Track 1.4 (async SessionStore) is complete:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Agent spawn time (requires configured agent)
|
|
61
|
+
pnpm bench:spawn
|
|
62
|
+
|
|
63
|
+
# Dashboard API throughput (requires running dashboard)
|
|
64
|
+
pnpm bench:dashboard
|
|
65
|
+
|
|
66
|
+
# Store throughput (standalone benchmark)
|
|
67
|
+
node benchmarks/store-throughput.js
|
|
68
|
+
|
|
69
|
+
# Memory footprint
|
|
70
|
+
pnpm bench:memory
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Configure `package.json` scripts for these benchmarks and commit results with each release per PRD04 §8.3.
|
package/CHANGELOG.md
CHANGED
|
@@ -68,6 +68,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
68
68
|
- DEFAULT_REACTION_RULES changed approved-and-green escalateAfter from 0 to 1 (was invalid per Zod min(1))
|
|
69
69
|
- Permission enforcer now documents worker_threads as performance-only, not security boundary
|
|
70
70
|
|
|
71
|
+
## [0.2.1] — 2026-06-30
|
|
72
|
+
|
|
73
|
+
### Added
|
|
74
|
+
- Real-time terminal streaming: `getLiveStream()` implemented for both Process and tmux runtime plugins
|
|
75
|
+
- Budget guard enforcement: Scheduler halts new agent spawning when budget reaches 100%
|
|
76
|
+
- PRD03.md reconstructed from cross-references (previously empty 0 bytes)
|
|
77
|
+
|
|
78
|
+
### Fixed
|
|
79
|
+
- **Sandbox model security**: IsolatedSandbox now explicitly documents node:vm is NOT a security boundary; SandboxManager prioritizes ProcessSandbox for extensions with sensitive permissions
|
|
80
|
+
- **Session Store**: Migrated from synchronous readFileSync/writeFileSync to async I/O with serialized write queue
|
|
81
|
+
- **23 TypeScript strict-mode errors**: Unused imports/variables removed across 15+ source files, WorkspaceSession type alias added, emit methods cleaned up
|
|
82
|
+
- **Config validation**: Fixed Object.keys null-safety issue in config.ts (pre-existing TS error)
|
|
83
|
+
- **CRLF/LF line endings**: `.gitattributes` added for LF normalization across all text files
|
|
84
|
+
- **Branding consistency**: PUBLISH.md and CONTRIBUTING.md updated from `@speexjs`/`speexjs` to `@speexor`/`speexor`
|
|
85
|
+
- **README config version**: Updated from `version: "1"` to `version: "5"`
|
|
86
|
+
- **FAQ.md**: Added missing commands (task submit, ext, config validate, eval decisions)
|
|
87
|
+
- **GLOSSARY.md**: Added missing "Library" entry
|
|
88
|
+
- **SECURITY.md**: Added Extension Marketplace network exception note
|
|
89
|
+
- **BENCHMARKS.md**: Replaced placeholders with actionable baseline structure
|
|
90
|
+
|
|
91
|
+
### Changed
|
|
92
|
+
- SECURITY-DEFAULTS.md: Exists and well-formed (was phantom deliverable)
|
|
93
|
+
- docs/adr/: 5 ADRs present and correct (were reported missing)
|
|
94
|
+
|
|
71
95
|
## [0.3.0] — Planned
|
|
72
96
|
|
|
73
97
|
### Added
|
package/CONTRIBUTING.md
CHANGED
|
@@ -15,22 +15,17 @@ All contributors must adhere to our [Code of Conduct](./CODE-OF-CONDUCT.md).
|
|
|
15
15
|
|
|
16
16
|
### Setup
|
|
17
17
|
```bash
|
|
18
|
-
# Clone the
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
# Clone the Speexor repository
|
|
19
|
+
# Note: speexor = product package (this repo), speexjs = monorepo umbrella org
|
|
20
|
+
git clone https://github.com/superdevids/speexor.git
|
|
21
|
+
cd speexor
|
|
21
22
|
|
|
22
23
|
# Install dependencies
|
|
23
24
|
pnpm install
|
|
24
25
|
|
|
25
|
-
# Navigate to speexor
|
|
26
|
-
cd packages/speexor
|
|
27
|
-
|
|
28
26
|
# Build the package
|
|
29
27
|
pnpm build
|
|
30
|
-
|
|
31
|
-
# Run tests
|
|
32
|
-
pnpm test
|
|
33
|
-
```
|
|
28
|
+
```
|
|
34
29
|
|
|
35
30
|
## Development Workflow
|
|
36
31
|
|
package/FAQ.md
CHANGED
|
@@ -50,12 +50,39 @@ By default, Speexor automatically spawns a fix agent when CI fails (up to 3 retr
|
|
|
50
50
|
|
|
51
51
|
## Usage
|
|
52
52
|
|
|
53
|
+
### How do I submit a high-level task for decomposition?
|
|
54
|
+
```bash
|
|
55
|
+
speexor task submit "Build a user authentication system"
|
|
56
|
+
```
|
|
57
|
+
This sends the task to the Planner Engine, which decomposes it into a DAG of sub-tasks with automatic dependency resolution.
|
|
58
|
+
|
|
53
59
|
### How do I spawn an agent?
|
|
54
60
|
```bash
|
|
55
61
|
speexor agent spawn --task 42 --agent opencode
|
|
56
62
|
```
|
|
57
63
|
This creates a worktree, starts a runtime session, and launches the agent.
|
|
58
64
|
|
|
65
|
+
### How do I manage extensions?
|
|
66
|
+
```bash
|
|
67
|
+
speexor ext search <query> # Search the extension marketplace
|
|
68
|
+
speexor ext install <name> # Install an extension
|
|
69
|
+
speexor ext list # List installed extensions
|
|
70
|
+
speexor ext update [name] # Update extension(s)
|
|
71
|
+
speexor ext remove <name> # Remove an extension
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### How do I validate my config?
|
|
75
|
+
```bash
|
|
76
|
+
speexor config validate
|
|
77
|
+
```
|
|
78
|
+
This checks your `speexor.config.yaml` against the current schema and reports any issues.
|
|
79
|
+
|
|
80
|
+
### How do I evaluate decision quality?
|
|
81
|
+
```bash
|
|
82
|
+
speexor eval decisions
|
|
83
|
+
```
|
|
84
|
+
This runs a calibration analysis on the Decision Log, comparing confidence scores against actual outcomes.
|
|
85
|
+
|
|
59
86
|
### How do I check agent status?
|
|
60
87
|
```bash
|
|
61
88
|
speexor list
|
|
@@ -63,7 +90,7 @@ speexor list
|
|
|
63
90
|
```
|
|
64
91
|
|
|
65
92
|
### Can I run multiple agents in parallel?
|
|
66
|
-
Yes. Each agent gets its own git worktree and runtime session. Configure `
|
|
93
|
+
Yes. Each agent gets its own git worktree and runtime session. Configure `maxConcurrentAgents` in the config to limit parallel agents. The scheduler automatically respects resource constraints.
|
|
67
94
|
|
|
68
95
|
### How do I stop an agent?
|
|
69
96
|
```bash
|
package/GLOSSARY.md
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
| **Decision Log** | The read-only, searchable history of all autonomous decisions — both auto-executed and approved/rejected ones — including confidence scores and reasoning. Previously called "Decision Journal" / "Review Queue." | **Approvals** (actionable items), **Session Log** (raw agent I/O) |
|
|
12
12
|
| **EventBus** | An EventEmitter3 wrapper through which all inter-module communication flows. Plugins and dashboard components subscribe to events without importing each other. | **Direct method call** (the alternative pattern we avoid for loose coupling) |
|
|
13
13
|
| **Extension** | A third-party add-on installed via the Marketplace, declared by a `speexor.extension.json` manifest. Extensions can be skills (prompt/logic bundles), plugins (runtime adapters), or UI panels. | **Plugin** (built-in first-party adapter), **Skill** (a type of extension, not the container) |
|
|
14
|
+
| **Library** | A versioned, installable Node.js package dependency used by an Extension (Plugin/Skill/Agent Backend adapter). Distributed via npm, resolved by the extension manager at install time following standard Node.js resolution rules. | **Plugin** (runtime adapter), **Skill** (prompt/logic bundle) |
|
|
14
15
|
| **Graceful Handoff** | The protocol whereby an in-progress agent completes its current Atomic Unit of Work before pausing, redirecting, or being interrupted — ensuring no half-finished file edits. | **Hard kill** (immediate termination, used only for unresponsive agents) |
|
|
15
16
|
| **MCP Server** | A Model Context Protocol server that provides tools, resources, and prompts to AI agents. Speexor extensions can expose MCP servers that agents discover and invoke at runtime. | **Plugin** (internal to Speexor), **Agent Backend** (the CLI being orchestrated) |
|
|
16
17
|
| **Notifier Plugin** | One of the 7 plugin slots. Sends desktop notifications (macOS, Windows, Linux) for events like `approved-and-green` or stuck agents. | **Tracker Plugin** (fetches issues), **SCM Plugin** (git/PR operations) |
|
package/PUBLISH.md
CHANGED
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
This document describes the process for publishing `speexor` to npm.
|
|
4
4
|
|
|
5
|
+
> **Branding Note:** The product is **Speexor**, published under the `@speexor` npm scope.
|
|
6
|
+
> The GitHub organization is [`superdevids`](https://github.com/superdevids).
|
|
7
|
+
> For the monorepo/ecosystem umbrella, see [`speexjs`](https://github.com/superdevids/speexjs).
|
|
8
|
+
> (Per PRD06 C5 fix: `speexjs` = monorepo org, `speexor` = product/package.)
|
|
9
|
+
|
|
5
10
|
## Prerequisites
|
|
6
|
-
- npm account with access to `@
|
|
7
|
-
- GitHub repository write access
|
|
11
|
+
- npm account with access to `@speexor` organization
|
|
12
|
+
- GitHub repository write access (`github.com/superdevids/speexor`)
|
|
8
13
|
- Clean working tree (no uncommitted changes)
|
|
9
14
|
|
|
10
15
|
## Version Bumping
|
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ Coordinating multiple coding agents manually is error-prone and slow. Speexor so
|
|
|
19
19
|
|
|
20
20
|
Speexor ships with a built-in **interactive dashboard**, a **reaction engine** for automated CI-fix loops, **recursive task decomposition** with DAG-based scheduling, a **governance engine** for risk-aware approvals, a **secrets vault** for secure credential storage, and an **extension marketplace** for community plugins.
|
|
21
21
|
|
|
22
|
-
> **Status:** v0.2.
|
|
22
|
+
> **Status:** v0.2.1 — Hardening release. All PRD v5 gap fixes implemented: proper sandbox security, async session store, budget guard enforcement, real-time terminal streaming, TypeScript strict zero errors. 320+ tests passing.
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
@@ -87,7 +87,7 @@ Speexor is configured via `speexor.config.yaml` (or `.speexor.yaml`, `speexor.ya
|
|
|
87
87
|
Create one with `speexor start <repo>` or manually:
|
|
88
88
|
|
|
89
89
|
```yaml
|
|
90
|
-
version: "
|
|
90
|
+
version: "5" # v5 schema — see speexor.config.yaml.example for full reference
|
|
91
91
|
|
|
92
92
|
projects:
|
|
93
93
|
- name: my-app
|
package/ROADMAP.md
CHANGED
|
@@ -2,69 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
> Development roadmap for Speexor — Agent Orchestrator.
|
|
4
4
|
|
|
5
|
-
## Current Release: v0.1
|
|
5
|
+
## Current Release: v0.2.1 (Gap Analysis & Hardening)
|
|
6
6
|
|
|
7
7
|
Completed milestones:
|
|
8
|
-
- M0: Monorepo setup, core lifecycle, plugin contract types
|
|
9
|
-
- M1: Single-agent E2E (OpenCode + tmux/process + git worktree)
|
|
10
|
-
- M2: GitHub integration (tracker + SCM + reaction engine)
|
|
11
|
-
- M3: Multi-agent adapters (Claude Code, Aider, Codex)
|
|
12
|
-
- M4: Dashboard MVP (REST API + HTML frontend)
|
|
13
|
-
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- FR-90: Config schema migration tooling (speexor config validate)
|
|
26
|
-
- FR-91: Decision Quality Eval Harness + calibration reporting
|
|
27
|
-
- FR-92: Explicit rollback trigger conditions
|
|
28
|
-
- FR-93: Budget guard enforcement (riskPolicy.budgetLimitUSD)
|
|
29
|
-
- FR-94: SECURITY-DEFAULTS.md consolidated reference
|
|
30
|
-
- FR-95: Provider error retry/backoff/fallback contract
|
|
31
|
-
- FR-96: Clarified maxAfkDurationHours pause semantics
|
|
32
|
-
|
|
33
|
-
### M22c — Documentation Consolidation (Target: Q3 2026)
|
|
34
|
-
- SECURITY-DEFAULTS.md update with two-layer model
|
|
35
|
-
- Glossary additions from v5 §6
|
|
36
|
-
- GLOSSARY.md maintenance pass
|
|
8
|
+
- M0: Monorepo setup, core lifecycle, plugin contract types ✅
|
|
9
|
+
- M1: Single-agent E2E (OpenCode + tmux/process + git worktree) ✅
|
|
10
|
+
- M2: GitHub integration (tracker + SCM + reaction engine) ✅
|
|
11
|
+
- M3: Multi-agent adapters (Claude Code, Aider, Codex) ✅
|
|
12
|
+
- M4: Dashboard MVP (REST API + HTML frontend) ✅
|
|
13
|
+
- M5: Cost tracking & provider panel ✅
|
|
14
|
+
- M6: Polish & Documentation ✅
|
|
15
|
+
- M7: Recursive Task Decomposition (DAG planner) ✅
|
|
16
|
+
- M8: Parallel Scheduler (resource-aware) ✅
|
|
17
|
+
- M9: Governance & Approval (two-axis model) ✅
|
|
18
|
+
- M10: Extension Manager & SDK ✅
|
|
19
|
+
- M11: Security & Secrets Vault ✅
|
|
20
|
+
- M12: Interactive Dashboard v2 ✅
|
|
21
|
+
- M22a: Critical Fixes (sandbox, approval, worktree, depth split) ✅
|
|
22
|
+
- M22b: Major Fixes (config migration, eval, rollback, budget, retry, AFK) ✅
|
|
23
|
+
- M22c: Documentation Consolidation ✅
|
|
24
|
+
- **M13: Hardening & Cost Guard** — async store, sandbox security, getLiveStream, budget enforcement, TS strict zero errors ✅
|
|
37
25
|
|
|
38
26
|
## Upcoming Milestones
|
|
39
27
|
|
|
40
|
-
###
|
|
41
|
-
-
|
|
42
|
-
- Cost tracking per provider per project
|
|
43
|
-
- Usage analytics dashboard panel
|
|
44
|
-
- Provider fallback configuration UI
|
|
45
|
-
|
|
46
|
-
### M7 — Recursive Task Decomposition (Target: Q4 2026)
|
|
47
|
-
- DAG-based task breakdown
|
|
48
|
-
- LLM-based planner integration
|
|
49
|
-
- Parallel sub-agent spawning
|
|
50
|
-
- Task dependency resolution
|
|
51
|
-
- Progress tracking across sub-tasks
|
|
52
|
-
- Context window management
|
|
53
|
-
- Worktree Hierarchy Protocol implementation
|
|
54
|
-
|
|
55
|
-
### M8 — Real-Time Terminal (Target: Q4 2026)
|
|
56
|
-
- WebSocket-based live terminal streaming
|
|
28
|
+
### M8 — Real-Time Terminal (Target: Q3 2026)
|
|
29
|
+
- WebSocket-based live terminal streaming (core streaming implemented)
|
|
57
30
|
- xterm.js integration in dashboard
|
|
58
31
|
- Terminal resize and interactive input
|
|
59
32
|
- Session recording and replay
|
|
60
33
|
|
|
61
|
-
### M9 — Extension Marketplace (Target:
|
|
62
|
-
- Extension manifest format (speexor.extension.json)
|
|
63
|
-
- Plugin SDK (@speexor/sdk)
|
|
34
|
+
### M9 — Extension Marketplace (Target: Q4 2026)
|
|
64
35
|
- Marketplace index (GitHub-based registry)
|
|
65
|
-
- Extension
|
|
36
|
+
- Extension lifecycle with sandbox gating
|
|
66
37
|
- Permission system for extensions
|
|
67
|
-
- Skill manifest
|
|
38
|
+
- Skill manifest wrapper for ECC/affaan-m folders (FR-97)
|
|
68
39
|
|
|
69
40
|
### M10 — Advanced Security & Compliance (Target: Q1 2027)
|
|
70
41
|
- End-to-end encryption for cross-device sync
|
|
@@ -82,19 +53,15 @@ Completed milestones:
|
|
|
82
53
|
## Themes
|
|
83
54
|
|
|
84
55
|
### 🎯 Short-term (Q3 2026)
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
- Test coverage >80%
|
|
56
|
+
- Real-time terminal WebSocket + xterm.js (M8)
|
|
57
|
+
- Extension Marketplace beta (M9)
|
|
58
|
+
- npm public release
|
|
89
59
|
- CI/CD pipeline active
|
|
90
60
|
|
|
91
61
|
### 🚀 Medium-term (Q4 2026)
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
- Advanced observability
|
|
62
|
+
- Extension Marketplace full (M9)
|
|
63
|
+
- Advanced security & compliance (M10)
|
|
95
64
|
|
|
96
65
|
### 🌟 Long-term (2027)
|
|
97
|
-
- Extension marketplace (M9)
|
|
98
|
-
- Plugin SDK for community
|
|
99
|
-
- Advanced security & compliance (M10)
|
|
100
66
|
- Multi-host distributed execution (M11)
|
|
67
|
+
- Plugin SDK community adoption
|
package/SECURITY.md
CHANGED
|
@@ -38,7 +38,8 @@ You can expect:
|
|
|
38
38
|
- Dashboard server listens on localhost by default
|
|
39
39
|
- CORS is enabled (configurable in production)
|
|
40
40
|
- No telemetry or tracking
|
|
41
|
-
- No cloud dependency — fully local-first
|
|
41
|
+
- **No mandatory cloud dependency** — core orchestration is fully local-first
|
|
42
|
+
- **Known network exception:** The Extension Marketplace (`speexor ext search`, `speexor ext install`) makes outbound HTTPS calls to a public registry index (`marketplaceIndex` URL) to discover and download community extensions. This is optional: the marketplace can be fully disabled for air-gapped use by setting `extensions.marketplaceIndex: null` in config. User-configured LLM provider API calls and SCM (GitHub) API calls are the only other network dependencies — these are explicit user choices, not mandatory telemetry.
|
|
42
43
|
|
|
43
44
|
### Data Protection
|
|
44
45
|
- Session state stored in `.speexor/state.json` (local only)
|
package/SUMMARY.md
CHANGED
|
@@ -52,7 +52,7 @@ Speexor is an orchestration layer that spawns and manages multiple AI coding age
|
|
|
52
52
|
| M22a — Critical Fixes (v5) | Edge case hardening, crash fixes | ✅ Done |
|
|
53
53
|
| M22b — Major Fixes (v5) | Retry logic, race condition fixes | ✅ Done |
|
|
54
54
|
| M22c — Documentation Consolidation | Cross-reference, glossary, API ref | ✅ Done |
|
|
55
|
-
| M13 — Hardening & Cost Guard | Budget enforcement, guardrails
|
|
55
|
+
| M13 — Hardening & Cost Guard | Budget enforcement, guardrails, sandbox security, async store, live streaming | ✅ Done |
|
|
56
56
|
|
|
57
57
|
## Quick Links
|
|
58
58
|
- [README](./README.md)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { loadConfig, SpeexorLifecycle } from './chunk-
|
|
2
|
-
import { loadAllPlugins } from './chunk-
|
|
1
|
+
import { loadConfig, SpeexorLifecycle } from './chunk-VEZQT5SX.js';
|
|
2
|
+
import { loadAllPlugins } from './chunk-5OD5UWB5.js';
|
|
3
3
|
import Debug from 'debug';
|
|
4
4
|
|
|
5
5
|
var debug = Debug("speexor:agent");
|
|
@@ -33,5 +33,5 @@ async function agentSpawnCommand(options) {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export { agentSpawnCommand };
|
|
36
|
-
//# sourceMappingURL=agent-
|
|
37
|
-
//# sourceMappingURL=agent-
|
|
36
|
+
//# sourceMappingURL=agent-C64T66XT.js.map
|
|
37
|
+
//# sourceMappingURL=agent-C64T66XT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/agent.ts"],"names":[],"mappings":";;;;AAMA,IAAM,KAAA,GAAQ,MAAM,eAAe,CAAA;AAOnC,eAAsB,kBAAkB,OAAA,EAAuB;AAC7D,EAAA,MAAM,SAAS,UAAA,EAAW;AAC1B,EAAA,MAAM,SAAA,GAAY,IAAI,gBAAA,CAAiB,MAAM,CAAA;AAC7C,EAAA,MAAM,UAAU,UAAA,EAAW;AAE3B,EAAA,MAAM,UAAU,cAAA,EAAe;AAC/B,EAAA,KAAA,MAAW,UAAU,OAAA,EAAS;AAC5B,IAAA,SAAA,CAAU,eAAe,MAAM,CAAA;AAAA,EACjC;AAEA,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,QAAA,CAAS,CAAC,CAAA;AACjC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,MAAM,uBAAuB,CAAA;AAAA,EACzC;AAEA,EAAA,MAAM,IAAA,GAAkB;AAAA,IACtB,IAAI,OAAA,CAAQ,IAAA;AAAA,IACZ,OAAO,OAAA,CAAQ,IAAA;AAAA,IACf,WAAA,EAAa,CAAA,KAAA,EAAQ,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,IACjC,YAAY,OAAA,CAAQ,UAAA;AAAA,IACpB,MAAA,EAAQ,CAAA,QAAA,EAAW,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,IAC/B,QAAA,EAAW,OAAA,CAAQ,KAAA,IAA2B,OAAA,CAAQ,QAAA,CAAS;AAAA,GACjE;AAEA,EAAA,KAAA,CAAM,2BAA2B,IAAA,CAAK,EAAE,CAAA,OAAA,EAAU,IAAA,CAAK,QAAQ,CAAA,CAAE,CAAA;AAEjE,EAAA,MAAM,OAAA,GAAU,MAAM,SAAA,CAAU,UAAA,CAAW,IAAI,CAAA;AAC/C,EAAA,OAAA,CAAQ,GAAA,CAAI;AAAA,wBAAA,EAAwB,OAAA,CAAQ,EAAE,CAAA,CAAE,CAAA;AAChD,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,sBAAA,EAAkB,OAAA,CAAQ,QAAQ,CAAA,CAAE,CAAA;AAChD,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,kBAAA,EAAc,IAAA,CAAK,EAAE;AAAA,CAAI,CAAA;AACvC","file":"agent-
|
|
1
|
+
{"version":3,"sources":["../src/cli/agent.ts"],"names":[],"mappings":";;;;AAMA,IAAM,KAAA,GAAQ,MAAM,eAAe,CAAA;AAOnC,eAAsB,kBAAkB,OAAA,EAAuB;AAC7D,EAAA,MAAM,SAAS,UAAA,EAAW;AAC1B,EAAA,MAAM,SAAA,GAAY,IAAI,gBAAA,CAAiB,MAAM,CAAA;AAC7C,EAAA,MAAM,UAAU,UAAA,EAAW;AAE3B,EAAA,MAAM,UAAU,cAAA,EAAe;AAC/B,EAAA,KAAA,MAAW,UAAU,OAAA,EAAS;AAC5B,IAAA,SAAA,CAAU,eAAe,MAAM,CAAA;AAAA,EACjC;AAEA,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,QAAA,CAAS,CAAC,CAAA;AACjC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,MAAM,uBAAuB,CAAA;AAAA,EACzC;AAEA,EAAA,MAAM,IAAA,GAAkB;AAAA,IACtB,IAAI,OAAA,CAAQ,IAAA;AAAA,IACZ,OAAO,OAAA,CAAQ,IAAA;AAAA,IACf,WAAA,EAAa,CAAA,KAAA,EAAQ,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,IACjC,YAAY,OAAA,CAAQ,UAAA;AAAA,IACpB,MAAA,EAAQ,CAAA,QAAA,EAAW,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,IAC/B,QAAA,EAAW,OAAA,CAAQ,KAAA,IAA2B,OAAA,CAAQ,QAAA,CAAS;AAAA,GACjE;AAEA,EAAA,KAAA,CAAM,2BAA2B,IAAA,CAAK,EAAE,CAAA,OAAA,EAAU,IAAA,CAAK,QAAQ,CAAA,CAAE,CAAA;AAEjE,EAAA,MAAM,OAAA,GAAU,MAAM,SAAA,CAAU,UAAA,CAAW,IAAI,CAAA;AAC/C,EAAA,OAAA,CAAQ,GAAA,CAAI;AAAA,wBAAA,EAAwB,OAAA,CAAQ,EAAE,CAAA,CAAE,CAAA;AAChD,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,sBAAA,EAAkB,OAAA,CAAQ,QAAQ,CAAA,CAAE,CAAA;AAChD,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,kBAAA,EAAc,IAAA,CAAK,EAAE;AAAA,CAAI,CAAA;AACvC","file":"agent-C64T66XT.js","sourcesContent":["import { loadConfig } from '../core/config.js'\r\nimport { SpeexorLifecycle } from '../core/lifecycle.js'\r\nimport { loadAllPlugins } from '../plugins/index.js'\r\nimport type { AgentTask, AgentProvider } from '../core/types.js'\r\nimport Debug from 'debug'\r\n\r\nconst debug = Debug('speexor:agent')\r\n\r\ninterface SpawnOptions {\r\n task: string\r\n agent: string\r\n}\r\n\r\nexport async function agentSpawnCommand(options: SpawnOptions) {\r\n const config = loadConfig()\r\n const lifecycle = new SpeexorLifecycle(config)\r\n await lifecycle.initialize()\r\n\r\n const plugins = loadAllPlugins()\r\n for (const plugin of plugins) {\r\n lifecycle.registerPlugin(plugin)\r\n }\r\n\r\n const project = config.projects[0]\r\n if (!project) {\r\n throw new Error('No project configured')\r\n }\r\n\r\n const task: AgentTask = {\r\n id: options.task,\r\n title: options.task,\r\n description: `Task ${options.task}`,\r\n repository: project.repository,\r\n branch: `speexor/${options.task}`,\r\n provider: (options.agent as AgentProvider) || project.provider.primary,\r\n }\r\n\r\n debug(`Spawning agent for task ${task.id} using ${task.provider}`)\r\n\r\n const session = await lifecycle.spawnAgent(task)\r\n console.log(`\\n ✅ Agent spawned: ${session.id}`)\r\n console.log(` 🤖 Provider: ${session.provider}`)\r\n console.log(` 📋 Task: ${task.id}\\n`)\r\n}\r\n"]}
|