speexor 0.1.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.
Files changed (48) hide show
  1. package/API-REFERENCE.md +201 -0
  2. package/ARCHITECTURE.md +548 -0
  3. package/CHANGELOG.md +52 -0
  4. package/CODE-OF-CONDUCT.md +83 -0
  5. package/CONTRIBUTING.md +98 -0
  6. package/FAQ.md +105 -0
  7. package/LICENSE.md +21 -0
  8. package/PUBLISH.md +77 -0
  9. package/README.md +179 -0
  10. package/REFACTOR-LOG.md +40 -0
  11. package/ROADMAP.md +78 -0
  12. package/SECURITY.md +79 -0
  13. package/SUMMARY.md +46 -0
  14. package/TESTING.md +140 -0
  15. package/dist/agent-5D3BVWNK.js +37 -0
  16. package/dist/agent-5D3BVWNK.js.map +1 -0
  17. package/dist/chunk-2F66BZYJ.js +212 -0
  18. package/dist/chunk-2F66BZYJ.js.map +1 -0
  19. package/dist/chunk-5NA2TFPG.js +3 -0
  20. package/dist/chunk-5NA2TFPG.js.map +1 -0
  21. package/dist/chunk-B7WLHC4W.js +666 -0
  22. package/dist/chunk-B7WLHC4W.js.map +1 -0
  23. package/dist/chunk-SXALZEOJ.js +345 -0
  24. package/dist/chunk-SXALZEOJ.js.map +1 -0
  25. package/dist/cli/index.d.ts +1 -0
  26. package/dist/cli/index.js +287 -0
  27. package/dist/cli/index.js.map +1 -0
  28. package/dist/core/index.d.ts +31 -0
  29. package/dist/core/index.js +4 -0
  30. package/dist/core/index.js.map +1 -0
  31. package/dist/index.d.ts +75 -0
  32. package/dist/index.js +205 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/plugins/index.d.ts +6 -0
  35. package/dist/plugins/index.js +3 -0
  36. package/dist/plugins/index.js.map +1 -0
  37. package/dist/types-0q_okI2g.d.ts +205 -0
  38. package/docs/PRD01.md +264 -0
  39. package/docs/PRD02.md +299 -0
  40. package/docs/PRD03.md +0 -0
  41. package/docs/PRD04.md +349 -0
  42. package/docs/PRD05.md +312 -0
  43. package/docs/SETUP.md +94 -0
  44. package/docs/TROUBLESHOOTING.md +113 -0
  45. package/examples/basic.yaml +61 -0
  46. package/package.json +102 -0
  47. package/schema/config.schema.json +119 -0
  48. package/speexor.config.yaml.example +30 -0
package/package.json ADDED
@@ -0,0 +1,102 @@
1
+ {
2
+ "name": "speexor",
3
+ "version": "0.1.0",
4
+ "description": "Speexor — Agent Orchestrator for multi-AI coding agent orchestration across repositories",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "bin": {
10
+ "speexor": "dist/cli/index.js"
11
+ },
12
+ "exports": {
13
+ ".": {
14
+ "import": "./dist/index.js",
15
+ "types": "./dist/index.d.ts"
16
+ },
17
+ "./core": {
18
+ "import": "./dist/core/index.js",
19
+ "types": "./dist/core/index.d.ts"
20
+ },
21
+ "./cli": {
22
+ "import": "./dist/cli/index.js",
23
+ "types": "./dist/cli/index.d.ts"
24
+ },
25
+ "./plugins": {
26
+ "import": "./dist/plugins/index.js",
27
+ "types": "./dist/plugins/index.d.ts"
28
+ }
29
+ },
30
+ "files": [
31
+ "dist",
32
+ "schema",
33
+ "docs",
34
+ "*.md",
35
+ "examples",
36
+ "speexor.config.yaml.example"
37
+ ],
38
+ "scripts": {
39
+ "build": "tsup",
40
+ "dev": "tsup --watch",
41
+ "test": "vitest run",
42
+ "test:watch": "vitest",
43
+ "test:coverage": "vitest run --coverage",
44
+ "typecheck": "tsc --noEmit",
45
+ "lint": "biome check src/",
46
+ "lint:fix": "biome check --write src/",
47
+ "clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\""
48
+ },
49
+ "dependencies": {
50
+ "commander": "^12.0.0",
51
+ "chalk": "^5.3.0",
52
+ "conf": "^12.0.0",
53
+ "dayjs": "^1.11.0",
54
+ "debug": "^4.3.0",
55
+ "eventemitter3": "^5.0.0",
56
+ "execa": "^9.0.0",
57
+ "globby": "^14.0.0",
58
+ "node-emoji": "^2.1.0",
59
+ "ora": "^8.0.0",
60
+ "yaml": "^2.5.0",
61
+ "zod": "^3.23.0"
62
+ },
63
+ "devDependencies": {
64
+ "@biomejs/biome": "^2.5.1",
65
+ "@types/debug": "^4.1.0",
66
+ "@types/node": "^26.0.1",
67
+ "@vitest/coverage-v8": "^2.1.9",
68
+ "tsup": "^8.3.0",
69
+ "typescript": "^5.7.0",
70
+ "vite": "^8.1.0",
71
+ "vitest": "^2.1.0"
72
+ },
73
+ "keywords": [
74
+ "orchestrator",
75
+ "ai-agent",
76
+ "agent-orchestration",
77
+ "coding-agent",
78
+ "claude-code",
79
+ "opencode",
80
+ "aider",
81
+ "codex",
82
+ "multi-agent",
83
+ "speexor"
84
+ ],
85
+ "publishConfig": {
86
+ "access": "public"
87
+ },
88
+ "preferGlobal": true,
89
+ "repository": {
90
+ "type": "git",
91
+ "url": "git+https://github.com/superdevids/speexjs.git",
92
+ "directory": "packages/speexor"
93
+ },
94
+ "bugs": {
95
+ "url": "https://github.com/superdevids/speexjs/issues"
96
+ },
97
+ "homepage": "https://github.com/superdevids/speexjs/tree/main/packages/speexor#readme",
98
+ "license": "MIT",
99
+ "engines": {
100
+ "node": ">=18.0.0"
101
+ }
102
+ }
@@ -0,0 +1,119 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://speexjs.dev/schemas/speexor-config.json",
4
+ "title": "Speexor Configuration",
5
+ "description": "Configuration schema for Speexor — Agent Orchestrator",
6
+ "type": "object",
7
+ "required": ["version", "projects"],
8
+ "properties": {
9
+ "version": {
10
+ "type": "string",
11
+ "enum": ["1"],
12
+ "description": "Config schema version"
13
+ },
14
+ "projects": {
15
+ "type": "array",
16
+ "minItems": 1,
17
+ "items": {
18
+ "type": "object",
19
+ "required": ["name", "repository", "provider"],
20
+ "properties": {
21
+ "name": {
22
+ "type": "string",
23
+ "description": "Project display name"
24
+ },
25
+ "repository": {
26
+ "type": "string",
27
+ "description": "Git repository URL or local path"
28
+ },
29
+ "path": {
30
+ "type": "string",
31
+ "description": "Local path override for repository"
32
+ },
33
+ "branch": {
34
+ "type": "string",
35
+ "description": "Default base branch",
36
+ "default": "main"
37
+ },
38
+ "provider": {
39
+ "type": "object",
40
+ "required": ["primary"],
41
+ "properties": {
42
+ "primary": {
43
+ "type": "string",
44
+ "enum": ["opencode", "claude-code", "aider", "codex"],
45
+ "description": "Primary AI coding agent"
46
+ },
47
+ "fallback": {
48
+ "type": "array",
49
+ "items": {
50
+ "type": "string",
51
+ "enum": ["opencode", "claude-code", "aider", "codex"]
52
+ },
53
+ "description": "Fallback agents in priority order"
54
+ },
55
+ "concurrentLimit": {
56
+ "type": "integer",
57
+ "minimum": 1,
58
+ "maximum": 20,
59
+ "description": "Maximum parallel agents for this project"
60
+ },
61
+ "costLimit": {
62
+ "type": "integer",
63
+ "minimum": 0,
64
+ "description": "Cost limit in cents per session"
65
+ }
66
+ }
67
+ },
68
+ "reactions": {
69
+ "type": "object",
70
+ "properties": {
71
+ "ci-failed": { "$ref": "#/definitions/reactionRule" },
72
+ "changes-requested": { "$ref": "#/definitions/reactionRule" },
73
+ "approved-and-green": { "$ref": "#/definitions/reactionRule" }
74
+ },
75
+ "description": "Reaction rules for CI/PR events"
76
+ },
77
+ "plugins": {
78
+ "type": "object",
79
+ "properties": {
80
+ "tracker": { "type": "string" },
81
+ "scm": { "type": "string" },
82
+ "runtime": { "type": "string" },
83
+ "notifier": { "type": "string" }
84
+ }
85
+ }
86
+ }
87
+ }
88
+ }
89
+ },
90
+ "definitions": {
91
+ "reactionRule": {
92
+ "type": "object",
93
+ "required": ["auto", "action"],
94
+ "properties": {
95
+ "auto": {
96
+ "type": "boolean",
97
+ "description": "Auto-trigger reaction when event occurs"
98
+ },
99
+ "action": {
100
+ "type": "string",
101
+ "enum": ["fix", "notify", "escalate", "skip"],
102
+ "description": "Action to take when reaction triggers"
103
+ },
104
+ "retries": {
105
+ "type": "integer",
106
+ "minimum": 0,
107
+ "maximum": 10,
108
+ "description": "Number of retry attempts"
109
+ },
110
+ "escalateAfter": {
111
+ "type": "integer",
112
+ "minimum": 1,
113
+ "maximum": 1440,
114
+ "description": "Minutes before escalating to human"
115
+ }
116
+ }
117
+ }
118
+ }
119
+ }
@@ -0,0 +1,30 @@
1
+ # Speexor Configuration Example
2
+ # Copy this file to your project root as speexor.config.yaml
3
+
4
+ version: "1"
5
+
6
+ projects:
7
+ - name: my-project
8
+ repository: https://github.com/your-username/your-repo
9
+ provider:
10
+ primary: opencode
11
+ fallback:
12
+ - claude-code
13
+ concurrentLimit: 3
14
+
15
+ reactions:
16
+ ci-failed:
17
+ auto: true
18
+ action: fix
19
+ retries: 3
20
+ escalateAfter: 30
21
+ changes-requested:
22
+ auto: true
23
+ action: fix
24
+ retries: 2
25
+ escalateAfter: 60
26
+ approved-and-green:
27
+ auto: false
28
+ action: notify
29
+ retries: 0
30
+ escalateAfter: 0