@oleksandr.rudnychenko/sync_loop 0.3.7 → 0.3.9
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 +80 -161
- package/bin/cli.ts +15 -10
- package/dist/bin/cli.js +15 -9
- package/dist/bin/cli.js.map +1 -1
- package/dist/src/init.d.ts +4 -1
- package/dist/src/init.js +46 -5
- package/dist/src/init.js.map +1 -1
- package/dist/src/server.js +6 -4
- package/dist/src/server.js.map +1 -1
- package/dist/src/template/wiring/codex-agent-architect.toml +28 -0
- package/dist/src/template/wiring/codex-agent-default.toml +35 -0
- package/dist/src/template/wiring/codex-agent-fixer.toml +26 -0
- package/dist/src/template/wiring/codex-config.toml +17 -0
- package/package.json +1 -1
- package/src/template/wiring/codex-agent-architect.toml +28 -0
- package/src/template/wiring/codex-agent-default.toml +35 -0
- package/src/template/wiring/codex-agent-fixer.toml +26 -0
- package/src/template/wiring/codex-config.toml +17 -0
package/README.md
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
# SyncLoop
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Stop your AI agent from guessing. Give it a reasoning loop.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
AI coding agents hallucinate fixes, ignore your architecture, lose context in long sessions, and repeat the same mistakes. SyncLoop wires a 7-stage self-correcting loop into your agent via MCP — sense → plan → act → validate → learn — every turn, automatically.
|
|
6
6
|
|
|
7
|
-
Works with **GitHub Copilot**, **Cursor**,
|
|
7
|
+
Works with **GitHub Copilot**, **Cursor**, **Claude Code**, and **Codex**.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## What changes for you
|
|
12
12
|
|
|
13
|
-
|
|
|
14
|
-
|
|
15
|
-
| Agent
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
| No
|
|
13
|
+
| Problem | How SyncLoop fixes it |
|
|
14
|
+
|---------|----------------------|
|
|
15
|
+
| Agent breaks your architecture | Layer rules enforced on every change |
|
|
16
|
+
| Same bug reappears after agent "fixes" it | Agent retries with targeted patches, max 5 attempts, then escalates |
|
|
17
|
+
| Agent loses track in long sessions | Context compressed after each cycle — stale data discarded |
|
|
18
|
+
| Agent repeats failed approaches | Failed approaches pruned and recorded as hard constraints |
|
|
19
|
+
| Tests modified to pass | Agent is hardcoded to fix source code, never tests |
|
|
20
|
+
| No record of what the agent did or why | Structured reports and backlog tasks generated automatically |
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
24
|
## Quick Start
|
|
25
25
|
|
|
26
|
-
Add to your MCP
|
|
26
|
+
### 1. Add to your MCP config
|
|
27
27
|
|
|
28
28
|
```json
|
|
29
29
|
{
|
|
@@ -36,173 +36,116 @@ Add to your MCP client configuration:
|
|
|
36
36
|
}
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
> **Windows (VS Code):** use `"command": "npx.cmd"` — VS Code spawns without a shell on Windows.
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
| Client | Config location |
|
|
44
|
-
|--------|----------------|
|
|
41
|
+
| Client | Where to add it |
|
|
42
|
+
|--------|-----------------|
|
|
45
43
|
| **VS Code (Copilot)** | `.vscode/mcp.json` or Settings → MCP Servers |
|
|
46
44
|
| **Cursor** | Settings → MCP Servers |
|
|
47
45
|
| **Claude Desktop** | `claude_desktop_config.json` |
|
|
48
46
|
| **Claude Code** | `claude_code_config.json` or `--mcp-config` flag |
|
|
49
47
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
## How the Agent Loop Works
|
|
53
|
-
|
|
54
|
-
Every agent turn runs the same 7-stage loop — no shortcuts:
|
|
55
|
-
|
|
56
|
-
```
|
|
57
|
-
SENSE → GKP → DECIDE+ACT → CHALLENGE-TEST → UPDATE → LEARN → REPORT
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Stage by stage
|
|
61
|
-
|
|
62
|
-
**1. SENSE**
|
|
63
|
-
Before touching any code, the agent reads the current codebase state and identifies:
|
|
64
|
-
- what needs to change
|
|
65
|
-
- what could break
|
|
66
|
-
- what context is still missing
|
|
48
|
+
Done. Your agent now has access to the full protocol, pattern registry, and validation gates.
|
|
67
49
|
|
|
68
|
-
|
|
50
|
+
### 2. Bootstrap to your project (optional)
|
|
69
51
|
|
|
70
|
-
|
|
71
|
-
The agent routes through a pattern registry to pull only the constraints, risks, and implementation
|
|
72
|
-
examples relevant to this specific task. Raw files are not carried forward — only a compressed,
|
|
73
|
-
task-scoped context bundle is produced.
|
|
52
|
+
Run the `bootstrap` prompt so the agent scans your codebase and populates protocol files with your real commands, architecture layers, and stack info.
|
|
74
53
|
|
|
75
|
-
|
|
76
|
-
The agent selects one of three operational modes and executes immediately:
|
|
54
|
+
### 3. Scaffold files for offline use (optional)
|
|
77
55
|
|
|
78
|
-
|
|
79
|
-
|------|------|---------------------|
|
|
80
|
-
| **INTACT-STABILIZE** | System is healthy | Harden types, add tests, improve docs |
|
|
81
|
-
| **BROKEN-EXPAND** | Something is broken | Patch the root cause with minimal surface area |
|
|
82
|
-
| **OVERDENSE-SPLIT** | Code is too complex | Decompose before adding anything new |
|
|
56
|
+
Use the `init` tool to write protocol files directly into your repo:
|
|
83
57
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
Two validation gates run in a loop until everything passes or the retry budget runs out (max 5):
|
|
88
|
-
|
|
89
|
-
1. **ENV gate** — type safety, test coverage, layer integrity, complexity thresholds, debug hygiene
|
|
90
|
-
2. **NEIGHBOR gate** — shape compatibility across modules, boundary exports, cross-module contracts
|
|
91
|
-
|
|
92
|
-
Failures are classified before any fix is attempted:
|
|
93
|
-
|
|
94
|
-
| Class | Signal | What happens |
|
|
95
|
-
|-------|--------|--------------|
|
|
96
|
-
| **Micro** | Error text directly explains fix (missing return type, stray `print()`) | Fixed in-place, no budget consumed |
|
|
97
|
-
| **Macro** | Root cause needs diagnosis (test failure, layer violation) | Patch cycle runs, consumes 1 of 5 retries |
|
|
98
|
-
|
|
99
|
-
If the same failure recurs 3 times, the approach is pruned and the agent re-enters planning
|
|
100
|
-
with a hardcoded constraint against repeating it. If it was already pruned once, the agent escalates.
|
|
101
|
-
|
|
102
|
-
**5. UPDATE**
|
|
103
|
-
Once all gates pass, state transitions are committed: changed files, updated contracts, modified patterns.
|
|
104
|
-
|
|
105
|
-
**6. LEARN**
|
|
106
|
-
Lessons from the cycle are persisted so they carry into future turns:
|
|
107
|
-
- Quick fix → added as a row in the auto-fixes or common errors table
|
|
108
|
-
- New reusable approach → written into the matching pattern spec
|
|
58
|
+
```
|
|
59
|
+
Use the sync_loop init tool — choose: copilot, cursor, claude, codex, or all. Comma-separated for multiple: copilot,codex
|
|
60
|
+
```
|
|
109
61
|
|
|
110
|
-
|
|
111
|
-
Non-trivial tasks produce a structured session summary: what changed, which gates passed, what was learned.
|
|
112
|
-
Skipped for trivial one-liners.
|
|
62
|
+
This generates agent definitions, instruction files, and a canonical `.agent-loop/` folder with the full protocol. Useful for CI, offline work, or customization.
|
|
113
63
|
|
|
114
64
|
---
|
|
115
65
|
|
|
116
|
-
##
|
|
66
|
+
## Use Cases
|
|
117
67
|
|
|
118
|
-
|
|
119
|
-
SyncLoop actively manages this with two strategies:
|
|
68
|
+
### "Fix this bug without breaking anything else"
|
|
120
69
|
|
|
121
|
-
|
|
122
|
-
Everything is summarised into a compact checkpoint. Only that checkpoint enters the next SENSE stage.
|
|
123
|
-
Raw history is discarded.
|
|
70
|
+
The agent reads the codebase first (SENSE), pulls only the relevant constraints (GKP), patches the root cause (DECIDE+ACT), then runs type checks + test gates + neighbor checks in a loop until everything passes (CHALLENGE-TEST). If the same fix fails 3 times, it's pruned and the agent tries a different approach.
|
|
124
71
|
|
|
125
|
-
|
|
126
|
-
When the same error recurs 3 times, the failing approach is reverted and a constraint is recorded:
|
|
127
|
-
"do not retry approach X". The agent re-enters DECIDE with that lesson injected.
|
|
72
|
+
### "Refactor this module safely"
|
|
128
73
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
---
|
|
74
|
+
Pattern R1 kicks in: the agent plans the moves, executes them, validates all imports and cross-module contracts, and documents what changed. It won't mix refactoring with feature changes in the same patch.
|
|
132
75
|
|
|
133
|
-
|
|
76
|
+
### "Add an API endpoint"
|
|
134
77
|
|
|
135
|
-
|
|
78
|
+
Patterns R3 (API contracts) and P5 (transport routes) route the agent to use typed request/response models, proper error envelopes, and enforce that no business logic leaks into the route handler.
|
|
136
79
|
|
|
137
|
-
###
|
|
80
|
+
### "This session is getting long and the agent is getting confused"
|
|
138
81
|
|
|
139
|
-
|
|
140
|
-
|----|----------------|
|
|
141
|
-
| **P1–P11** | Port/adapter, domain modules, background tasks, transport routes, dependency injection, typed models, enum safety, error handling, type hints, service orchestration, config isolation |
|
|
142
|
-
| **R1** | 4-phase safe refactoring: plan → execute → validate → document |
|
|
143
|
-
| **R2** | Full test pyramid: unit, integration, API — fixtures, factories, mocks, naming conventions |
|
|
144
|
-
| **R3** | API boundary contracts: typed request/response models, error envelopes, versioning |
|
|
82
|
+
SyncLoop compresses context after each successful cycle (State Collapse) and discards raw history. Only a compact checkpoint enters the next turn. The agent stays sharp instead of degrading.
|
|
145
83
|
|
|
146
|
-
###
|
|
84
|
+
### "I want to plan work but not implement it yet"
|
|
147
85
|
|
|
148
|
-
|
|
149
|
-
1. Scans pattern triggers (`"Use when: moving a file"`, `"Use when: adding an endpoint"`)
|
|
150
|
-
2. Routes to the matching spec
|
|
151
|
-
3. Extracts constraints and examples for the active task only
|
|
152
|
-
4. Checks learned tables for known pitfalls and auto-fixes
|
|
153
|
-
5. Compresses to a minimal action context
|
|
154
|
-
|
|
155
|
-
This makes decisions consistent across the session and prevents architecture drift.
|
|
86
|
+
The REPORT stage routes investigations to `docs/backlog/` as structured task files with priority, Action Plan, and acceptance criteria — separate from completed-work reports in `docs/reports/`.
|
|
156
87
|
|
|
157
88
|
---
|
|
158
89
|
|
|
159
|
-
##
|
|
90
|
+
## The 7-Stage Loop
|
|
91
|
+
|
|
92
|
+
Every turn follows this sequence — no shortcuts, no skipped stages:
|
|
160
93
|
|
|
161
|
-
|
|
162
|
-
|
|
94
|
+
```
|
|
95
|
+
SENSE → GKP → DECIDE+ACT → CHALLENGE-TEST → UPDATE → LEARN → REPORT
|
|
96
|
+
```
|
|
163
97
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
98
|
+
| Stage | What the agent does |
|
|
99
|
+
|-------|---------------------|
|
|
100
|
+
| **SENSE** | Reads codebase state, identifies gaps, won't proceed until context is sufficient |
|
|
101
|
+
| **GKP** | Routes through pattern registry, pulls only relevant constraints, compresses context |
|
|
102
|
+
| **DECIDE+ACT** | Selects mode (stabilize / fix / decompose), produces plan, executes immediately |
|
|
103
|
+
| **CHALLENGE-TEST** | Runs ENV gates (types, tests, layers) + NEIGHBOR gates (shapes, boundaries) in a loop |
|
|
104
|
+
| **UPDATE** | Commits state transitions — files changed, contracts updated |
|
|
105
|
+
| **LEARN** | Persists lessons to pattern tables for future turns |
|
|
106
|
+
| **REPORT** | Writes a report (completed work) or backlog task (deferred work) or skips (trivial) |
|
|
167
107
|
|
|
168
|
-
**Test
|
|
108
|
+
**Self-correction:** Test failures and layer violations trigger a patch → retry loop (max 5). Trivial issues (missing type, stray debug call) are fixed in-place without consuming retries. Same failure 3× → approach pruned, lesson injected, agent re-plans.
|
|
169
109
|
|
|
170
110
|
---
|
|
171
111
|
|
|
172
|
-
##
|
|
112
|
+
## What Gets Scaffolded
|
|
173
113
|
|
|
174
|
-
|
|
114
|
+
| Target | Files generated |
|
|
115
|
+
|--------|----------------|
|
|
116
|
+
| `copilot` | `.agent-loop/` + `.github/copilot-instructions.md` + `.github/instructions/*.instructions.md` + `.github/agents/SyncLoop*.agent.md` + `.github/skills/diagnose-failure/SKILL.md` |
|
|
117
|
+
| `cursor` | `.agent-loop/` + `.cursor/rules/*.md` + `.cursor/skills/diagnose-failure/SKILL.md` |
|
|
118
|
+
| `claude` | `.agent-loop/` + `CLAUDE.md` + `.claude/rules/*.md` + `.claude/agents/SyncLoop*.md` + `.claude/skills/diagnose-failure/SKILL.md` |
|
|
119
|
+
| `codex` | `.agent-loop/` + `CODEX.md` + `.codex/config.toml` + `.codex/agents/*.toml` + `.agents/skills/diagnose-failure/SKILL.md` |
|
|
120
|
+
| `all` | All of the above + `AGENTS.md` + `docs/backlog/index.md` |
|
|
175
121
|
|
|
176
|
-
|
|
177
|
-
-
|
|
178
|
-
-
|
|
179
|
-
-
|
|
180
|
-
- Mix refactoring with feature changes in the same patch
|
|
181
|
-
- Skip validation after refactors, import moves, or interface changes
|
|
122
|
+
**Agents scaffolded** (Copilot + Claude + Codex):
|
|
123
|
+
- **SyncLoop** — Full 7-stage protocol agent
|
|
124
|
+
- **SyncLoop-Architect** — Read-only planning agent (SENSE → GKP → DECIDE+ACT only)
|
|
125
|
+
- **SyncLoop-Fixer** — Implementation agent (CHALLENGE-TEST → UPDATE → LEARN)
|
|
182
126
|
|
|
183
|
-
|
|
127
|
+
**Skills scaffolded** (all platforms):
|
|
128
|
+
- **diagnose-failure** — Failure diagnosis using the FEEDBACK loop
|
|
184
129
|
|
|
185
130
|
---
|
|
186
131
|
|
|
187
|
-
##
|
|
188
|
-
|
|
189
|
-
### Resources
|
|
132
|
+
## MCP Server Reference
|
|
190
133
|
|
|
191
|
-
|
|
134
|
+
### Resources (on-demand protocol docs)
|
|
192
135
|
|
|
193
136
|
| Resource | Content |
|
|
194
137
|
|----------|---------|
|
|
195
|
-
| `reasoning-kernel` | Full 7-stage loop, transition map,
|
|
196
|
-
| `feedback` | Failure diagnosis, patch
|
|
197
|
-
| `validate-env` | Stage 1
|
|
198
|
-
| `validate-n` | Stage 2
|
|
199
|
-
| `patterns` | Pattern routing index,
|
|
200
|
-
| `
|
|
201
|
-
| `
|
|
202
|
-
| `
|
|
203
|
-
| `
|
|
204
|
-
| `
|
|
205
|
-
| `protocol-summary` | Condensed ~50-line overview
|
|
138
|
+
| `reasoning-kernel` | Full 7-stage loop, transition map, context clearage |
|
|
139
|
+
| `feedback` | Failure diagnosis, patch protocol, branch pruning |
|
|
140
|
+
| `validate-env` | Stage 1: types, tests, layers, complexity, debug hygiene |
|
|
141
|
+
| `validate-n` | Stage 2: shapes, boundaries, bridge contracts |
|
|
142
|
+
| `patterns` | Pattern routing index, auto-fixes, heuristics |
|
|
143
|
+
| `code-patterns` | P1–P11 implementation patterns |
|
|
144
|
+
| `testing-guide` | Test pyramid, fixtures, factories, mocks |
|
|
145
|
+
| `refactoring-workflow` | 4-phase safe refactoring checklist |
|
|
146
|
+
| `api-standards` | Boundary contracts, typed models, error envelopes |
|
|
147
|
+
| `glossary` | Domain terminology and naming rules |
|
|
148
|
+
| `protocol-summary` | Condensed ~50-line overview |
|
|
206
149
|
| `agents-md` | AGENTS.md entrypoint template |
|
|
207
150
|
| `overview` | File index and framework overview |
|
|
208
151
|
|
|
@@ -216,33 +159,11 @@ All protocol docs are served on-demand — the agent pulls only what it needs pe
|
|
|
216
159
|
|
|
217
160
|
| Prompt | Description |
|
|
218
161
|
|--------|-------------|
|
|
219
|
-
| `bootstrap` |
|
|
162
|
+
| `bootstrap` | Scan your codebase and wire SyncLoop to your real architecture |
|
|
220
163
|
| `protocol` | Condensed protocol for direct system-prompt injection |
|
|
221
164
|
|
|
222
165
|
---
|
|
223
166
|
|
|
224
|
-
## Optional: scaffold files into your project
|
|
225
|
-
|
|
226
|
-
For offline use, CI, or customisation, the full protocol can be written into your repo:
|
|
227
|
-
|
|
228
|
-
```
|
|
229
|
-
Use the sync_loop init tool — choose: copilot, cursor, claude, or all
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
| Target | Files generated |
|
|
233
|
-
|--------|----------------|
|
|
234
|
-
| `copilot` | `.agent-loop/` + `.github/copilot-instructions.md` + `.github/instructions/*.instructions.md` |
|
|
235
|
-
| `cursor` | `.agent-loop/` + `.cursor/rules/*.md` with frontmatter |
|
|
236
|
-
| `claude` | `.agent-loop/` + `CLAUDE.md` + `.claude/rules/*.md` |
|
|
237
|
-
| `all` | All of the above + `AGENTS.md` |
|
|
238
|
-
|
|
239
|
-
After scaffolding, use the `bootstrap` prompt so the agent scans your codebase and populates
|
|
240
|
-
the generated files with real validation commands, architecture layers, and module boundaries.
|
|
241
|
-
|
|
242
|
-
Platform instruction files are lightweight wrappers that delegate to `.agent-loop/*` canonical docs.
|
|
243
|
-
|
|
244
|
-
---
|
|
245
|
-
|
|
246
167
|
## Development
|
|
247
168
|
|
|
248
169
|
```bash
|
|
@@ -251,8 +172,6 @@ npm run typecheck
|
|
|
251
172
|
npm test
|
|
252
173
|
```
|
|
253
174
|
|
|
254
|
-
`npm test` runs a full TypeScript build first, then executes the automated test suite.
|
|
255
|
-
|
|
256
175
|
## License
|
|
257
176
|
|
|
258
177
|
MIT
|
package/bin/cli.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { pathToFileURL } from "node:url";
|
|
4
|
-
import { detectStacks, init, type InitTarget, type StackDefinition } from "../src/init.js";
|
|
4
|
+
import { detectStacks, init, parseTarget, ALL_PLATFORMS, type InitTarget, type Platform, type StackDefinition } from "../src/init.js";
|
|
5
5
|
import { startServer } from "../src/server.js";
|
|
6
6
|
|
|
7
|
-
const VALID_TARGETS: InitTarget[] = ["copilot", "cursor", "claude", "all"];
|
|
8
|
-
|
|
9
7
|
const HELP_TEXT = `
|
|
10
8
|
sync_loop - MCP server + CLI for the SyncLoop agent reasoning protocol
|
|
11
9
|
|
|
@@ -20,11 +18,14 @@ Usage:
|
|
|
20
18
|
Show this help
|
|
21
19
|
|
|
22
20
|
Init targets:
|
|
23
|
-
copilot .agent-loop/ + .github/instructions/ +
|
|
24
|
-
cursor .agent-loop/ + .cursor/rules/
|
|
25
|
-
claude .agent-loop/ + CLAUDE.md + .claude/rules/
|
|
21
|
+
copilot .agent-loop/ + .github/instructions/ + agents + skills
|
|
22
|
+
cursor .agent-loop/ + .cursor/rules/ + skills
|
|
23
|
+
claude .agent-loop/ + CLAUDE.md + .claude/rules/ + agents + skills
|
|
24
|
+
codex .agent-loop/ + CODEX.md + .codex/agents/ + skills
|
|
26
25
|
all All of the above (default)
|
|
27
26
|
|
|
27
|
+
Multiple targets: --target copilot,codex
|
|
28
|
+
|
|
28
29
|
Flags:
|
|
29
30
|
--dry-run Preview writes without modifying files
|
|
30
31
|
--no-overwrite Do not overwrite existing generated files
|
|
@@ -118,12 +119,15 @@ export async function runCli(
|
|
|
118
119
|
}
|
|
119
120
|
|
|
120
121
|
if (command === "init") {
|
|
121
|
-
const
|
|
122
|
+
const targetArg = getOptionValue(args, "--target") ?? "all";
|
|
123
|
+
const target = parseTarget(targetArg);
|
|
122
124
|
const dryRun = args.includes("--dry-run");
|
|
123
125
|
const overwrite = args.includes("--no-overwrite") ? false : true;
|
|
124
126
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
+
const platformsToValidate: string[] = Array.isArray(target) ? target : (target === "all" ? [] : [target]);
|
|
128
|
+
const invalidTarget = platformsToValidate.find((t) => !(ALL_PLATFORMS as readonly string[]).includes(t));
|
|
129
|
+
if (invalidTarget) {
|
|
130
|
+
io.stderr.write(`Error: unknown target "${invalidTarget}". Use one of: ${[...ALL_PLATFORMS, "all"].join(", ")}\n`);
|
|
127
131
|
return 1;
|
|
128
132
|
}
|
|
129
133
|
|
|
@@ -139,8 +143,9 @@ export async function runCli(
|
|
|
139
143
|
{ dryRun, overwrite },
|
|
140
144
|
);
|
|
141
145
|
|
|
146
|
+
const targetDisplay = Array.isArray(target) ? target.join(", ") : target;
|
|
142
147
|
io.stdout.write([
|
|
143
|
-
`SyncLoop initialized for ${
|
|
148
|
+
`SyncLoop initialized for ${targetDisplay}:`,
|
|
144
149
|
"",
|
|
145
150
|
...result.results,
|
|
146
151
|
"",
|
package/dist/bin/cli.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { pathToFileURL } from "node:url";
|
|
3
|
-
import { detectStacks, init } from "../src/init.js";
|
|
3
|
+
import { detectStacks, init, parseTarget, ALL_PLATFORMS } from "../src/init.js";
|
|
4
4
|
import { startServer } from "../src/server.js";
|
|
5
|
-
const VALID_TARGETS = ["copilot", "cursor", "claude", "all"];
|
|
6
5
|
const HELP_TEXT = `
|
|
7
6
|
sync_loop - MCP server + CLI for the SyncLoop agent reasoning protocol
|
|
8
7
|
|
|
@@ -17,11 +16,14 @@ Usage:
|
|
|
17
16
|
Show this help
|
|
18
17
|
|
|
19
18
|
Init targets:
|
|
20
|
-
copilot .agent-loop/ + .github/instructions/ +
|
|
21
|
-
cursor .agent-loop/ + .cursor/rules/
|
|
22
|
-
claude .agent-loop/ + CLAUDE.md + .claude/rules/
|
|
19
|
+
copilot .agent-loop/ + .github/instructions/ + agents + skills
|
|
20
|
+
cursor .agent-loop/ + .cursor/rules/ + skills
|
|
21
|
+
claude .agent-loop/ + CLAUDE.md + .claude/rules/ + agents + skills
|
|
22
|
+
codex .agent-loop/ + CODEX.md + .codex/agents/ + skills
|
|
23
23
|
all All of the above (default)
|
|
24
24
|
|
|
25
|
+
Multiple targets: --target copilot,codex
|
|
26
|
+
|
|
25
27
|
Flags:
|
|
26
28
|
--dry-run Preview writes without modifying files
|
|
27
29
|
--no-overwrite Do not overwrite existing generated files
|
|
@@ -92,11 +94,14 @@ export async function runCli(args = process.argv.slice(2), io = defaultIo(), dep
|
|
|
92
94
|
return 0;
|
|
93
95
|
}
|
|
94
96
|
if (command === "init") {
|
|
95
|
-
const
|
|
97
|
+
const targetArg = getOptionValue(args, "--target") ?? "all";
|
|
98
|
+
const target = parseTarget(targetArg);
|
|
96
99
|
const dryRun = args.includes("--dry-run");
|
|
97
100
|
const overwrite = args.includes("--no-overwrite") ? false : true;
|
|
98
|
-
|
|
99
|
-
|
|
101
|
+
const platformsToValidate = Array.isArray(target) ? target : (target === "all" ? [] : [target]);
|
|
102
|
+
const invalidTarget = platformsToValidate.find((t) => !ALL_PLATFORMS.includes(t));
|
|
103
|
+
if (invalidTarget) {
|
|
104
|
+
io.stderr.write(`Error: unknown target "${invalidTarget}". Use one of: ${[...ALL_PLATFORMS, "all"].join(", ")}\n`);
|
|
100
105
|
return 1;
|
|
101
106
|
}
|
|
102
107
|
const [projectPath] = getPositionalArgs(args);
|
|
@@ -104,8 +109,9 @@ export async function runCli(args = process.argv.slice(2), io = defaultIo(), dep
|
|
|
104
109
|
try {
|
|
105
110
|
const stacks = deps.detectStacksFn(resolvedProjectPath);
|
|
106
111
|
const result = deps.initFn(resolvedProjectPath, target, stacks, { dryRun, overwrite });
|
|
112
|
+
const targetDisplay = Array.isArray(target) ? target.join(", ") : target;
|
|
107
113
|
io.stdout.write([
|
|
108
|
-
`SyncLoop initialized for ${
|
|
114
|
+
`SyncLoop initialized for ${targetDisplay}:`,
|
|
109
115
|
"",
|
|
110
116
|
...result.results,
|
|
111
117
|
"",
|
package/dist/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/src/init.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type Platform = "copilot" | "cursor" | "claude" | "codex";
|
|
2
|
+
export type InitTarget = Platform | Platform[] | "all";
|
|
3
|
+
export declare const ALL_PLATFORMS: readonly Platform[];
|
|
2
4
|
export interface StackDefinition {
|
|
3
5
|
name: string;
|
|
4
6
|
languages: string[];
|
|
@@ -14,6 +16,7 @@ export interface InitOptions {
|
|
|
14
16
|
overwrite?: boolean;
|
|
15
17
|
}
|
|
16
18
|
export declare function detectStacks(projectPath: string): StackDefinition[];
|
|
19
|
+
export declare function parseTarget(value: string): InitTarget;
|
|
17
20
|
export declare function init(projectPath: string, target?: InitTarget, stacks?: StackDefinition[], options?: InitOptions): {
|
|
18
21
|
projectPath: string;
|
|
19
22
|
target: InitTarget;
|
package/dist/src/init.js
CHANGED
|
@@ -3,6 +3,7 @@ import { join, dirname, resolve, posix } from "node:path";
|
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
5
5
|
const TEMPLATE_DIR = join(__dirname, "template");
|
|
6
|
+
export const ALL_PLATFORMS = ["copilot", "cursor", "claude", "codex"];
|
|
6
7
|
// ---------------------------------------------------------------------------
|
|
7
8
|
// Helpers
|
|
8
9
|
// ---------------------------------------------------------------------------
|
|
@@ -270,10 +271,12 @@ const CLAUDE = {
|
|
|
270
271
|
"refactoring-workflow": { target: ".claude/rules/refactoring-workflow.md", fm: { paths: ["**/*"] } },
|
|
271
272
|
"api-standards": { target: ".claude/rules/api-standards.md", fm: { paths: ["**/routes/**", "**/api/**", "**/controllers/**"] } },
|
|
272
273
|
};
|
|
274
|
+
const CODEX = {};
|
|
273
275
|
const PLATFORM_CONFIGS = {
|
|
274
276
|
copilot: COPILOT,
|
|
275
277
|
cursor: CURSOR,
|
|
276
278
|
claude: CLAUDE,
|
|
279
|
+
codex: CODEX,
|
|
277
280
|
};
|
|
278
281
|
// ---------------------------------------------------------------------------
|
|
279
282
|
// Environment placeholder replacement
|
|
@@ -346,6 +349,9 @@ function generatePlatformFiles(projectPath, platform, stacks, options) {
|
|
|
346
349
|
const frontmatter = yamlFrontmatter({ description: "SyncLoop protocol summary and guardrails", alwaysApply: true });
|
|
347
350
|
const writeResult = writeOutput(projectPath, ".cursor/rules/00-protocol.md", `${frontmatter}\n\n${summary}`, options);
|
|
348
351
|
results.push(` ${formatWriteResult(writeResult)}`);
|
|
352
|
+
const diagnoseFailureBody = applyStacks(readTemplate("wiring/skills-diagnose-failure.md"), stacks);
|
|
353
|
+
const diagnoseFailureResult = writeOutput(projectPath, ".cursor/skills/diagnose-failure/SKILL.md", diagnoseFailureBody, options);
|
|
354
|
+
results.push(` ${formatWriteResult(diagnoseFailureResult)}`);
|
|
349
355
|
}
|
|
350
356
|
else if (platform === "claude") {
|
|
351
357
|
const writeResult = writeOutput(projectPath, "CLAUDE.md", summary, options);
|
|
@@ -363,11 +369,38 @@ function generatePlatformFiles(projectPath, platform, stacks, options) {
|
|
|
363
369
|
const diagnoseFailureResult = writeOutput(projectPath, ".claude/skills/diagnose-failure/SKILL.md", diagnoseFailureBody, options);
|
|
364
370
|
results.push(` ${formatWriteResult(diagnoseFailureResult)}`);
|
|
365
371
|
}
|
|
372
|
+
else if (platform === "codex") {
|
|
373
|
+
const writeResult = writeOutput(projectPath, "CODEX.md", summary, options);
|
|
374
|
+
results.push(` ${formatWriteResult(writeResult)}`);
|
|
375
|
+
const diagnoseFailureBody = applyStacks(readTemplate("wiring/skills-diagnose-failure.md"), stacks);
|
|
376
|
+
const diagnoseFailureResult = writeOutput(projectPath, ".agents/skills/diagnose-failure/SKILL.md", diagnoseFailureBody, options);
|
|
377
|
+
results.push(` ${formatWriteResult(diagnoseFailureResult)}`);
|
|
378
|
+
const codexConfig = readTemplate("wiring/codex-config.toml");
|
|
379
|
+
const configResult = writeOutput(projectPath, ".codex/config.toml", codexConfig, options);
|
|
380
|
+
results.push(` ${formatWriteResult(configResult)}`);
|
|
381
|
+
const defaultAgent = readTemplate("wiring/codex-agent-default.toml");
|
|
382
|
+
const defaultResult = writeOutput(projectPath, ".codex/agents/default.toml", defaultAgent, options);
|
|
383
|
+
results.push(` ${formatWriteResult(defaultResult)}`);
|
|
384
|
+
const architectAgent = readTemplate("wiring/codex-agent-architect.toml");
|
|
385
|
+
const architectResult = writeOutput(projectPath, ".codex/agents/architect.toml", architectAgent, options);
|
|
386
|
+
results.push(` ${formatWriteResult(architectResult)}`);
|
|
387
|
+
const fixerAgent = readTemplate("wiring/codex-agent-fixer.toml");
|
|
388
|
+
const fixerResult = writeOutput(projectPath, ".codex/agents/fixer.toml", fixerAgent, options);
|
|
389
|
+
results.push(` ${formatWriteResult(fixerResult)}`);
|
|
390
|
+
}
|
|
366
391
|
return results;
|
|
367
392
|
}
|
|
368
393
|
// ---------------------------------------------------------------------------
|
|
369
394
|
// Public API
|
|
370
395
|
// ---------------------------------------------------------------------------
|
|
396
|
+
export function parseTarget(value) {
|
|
397
|
+
if (value === "all")
|
|
398
|
+
return "all";
|
|
399
|
+
const parts = [...new Set(value.split(",").map((t) => t.trim()).filter(Boolean))];
|
|
400
|
+
if (parts.length === 1)
|
|
401
|
+
return parts[0];
|
|
402
|
+
return parts;
|
|
403
|
+
}
|
|
371
404
|
export function init(projectPath, target = "all", stacks = [], options = {}) {
|
|
372
405
|
const root = resolve(projectPath);
|
|
373
406
|
const effectiveStacks = stacks.length > 0 ? stacks : detectStacks(root);
|
|
@@ -375,9 +408,15 @@ export function init(projectPath, target = "all", stacks = [], options = {}) {
|
|
|
375
408
|
dryRun: Boolean(options.dryRun),
|
|
376
409
|
overwrite: options.overwrite ?? true,
|
|
377
410
|
};
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
411
|
+
if (typeof target === "string" && target !== "all" && !ALL_PLATFORMS.includes(target)) {
|
|
412
|
+
throw new Error(`Unknown target "${target}". Use one of: ${[...ALL_PLATFORMS, "all"].join(", ")}`);
|
|
413
|
+
}
|
|
414
|
+
if (Array.isArray(target)) {
|
|
415
|
+
for (const t of target) {
|
|
416
|
+
if (!ALL_PLATFORMS.includes(t)) {
|
|
417
|
+
throw new Error(`Unknown target "${t}". Use one of: ${[...ALL_PLATFORMS, "all"].join(", ")}`);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
381
420
|
}
|
|
382
421
|
const results = [];
|
|
383
422
|
const src = join(TEMPLATE_DIR, ".agent-loop");
|
|
@@ -413,8 +452,10 @@ export function init(projectPath, target = "all", stacks = [], options = {}) {
|
|
|
413
452
|
const backlogResult = writeOutput(root, "docs/backlog/index.md", backlogContent, { ...mergedOptions, overwrite: false });
|
|
414
453
|
results.push(`docs/backlog/index.md (${formatWriteResult(backlogResult)})`);
|
|
415
454
|
const targets = target === "all"
|
|
416
|
-
? [
|
|
417
|
-
:
|
|
455
|
+
? [...ALL_PLATFORMS]
|
|
456
|
+
: Array.isArray(target)
|
|
457
|
+
? target
|
|
458
|
+
: [target];
|
|
418
459
|
for (const currentTarget of targets) {
|
|
419
460
|
results.push(`\n[${currentTarget}]`);
|
|
420
461
|
results.push(...generatePlatformFiles(root, currentTarget, effectiveStacks, mergedOptions));
|
package/dist/src/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,MAAM,EACN,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAIjD,MAAM,CAAC,MAAM,aAAa,GAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAyC3F,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,YAAY,CAAC,YAAoB;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAgB,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/D,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1D,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACjE,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,cAAsB;IAC9C,IAAI,cAAc,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAC/C,IAAI,cAAc,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC7C,IAAI,cAAc,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC7C,OAAO,GAAG,cAAc,MAAM,CAAC;AACjC,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAgB;IAC5C,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;IAC7E,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,KAAK,GAA4B;QACrC,CAAC,MAAM,EAAE,SAAS,CAAC;QACnB,CAAC,OAAO,EAAE,OAAO,CAAC;QAClB,CAAC,MAAM,EAAE,MAAM,CAAC;QAChB,CAAC,KAAK,EAAE,KAAK,CAAC;QACd,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACpB,CAAC,aAAa,EAAE,aAAa,CAAC;QAC9B,CAAC,SAAS,EAAE,SAAS,CAAC;QACtB,CAAC,SAAS,EAAE,SAAS,CAAC;QACtB,CAAC,cAAc,EAAE,QAAQ,CAAC;QAC1B,CAAC,2BAA2B,EAAE,SAAS,CAAC;QACxC,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;QAC3C,CAAC,SAAS,EAAE,SAAS,CAAC;KACvB,CAAC;IAEF,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,WAAmB,EAAE,YAAY,GAAG,EAAE;IAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;IAC7E,MAAM,cAAc,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAEjF,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEnF,OAAO;QACL,IAAI,EAAE,SAAS;QACf,SAAS;QACT,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,OAAO,CAAC,CAAC,CAAC,SAAS;QAC1D,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,OAAO,CAAC,CAAC,CAAC,SAAS;QACtD,cAAc;QACd,IAAI,EAAE,YAAY,IAAI,SAAS;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAmB,EAAE,YAAY,GAAG,EAAE;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7E,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,MAAM,IAAI,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvG,MAAM,MAAM,GAAG,GAAG,SAAS,KAAK,IAAI,EAAE,CAAC;IAEvC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE7D,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnF,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE5C,OAAO;QACL,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,CAAC,QAAQ,CAAC;QACrB,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3D,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC5C,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QAC5C,IAAI,EAAE,YAAY,IAAI,SAAS;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC;IAExB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QACnC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;YAAE,SAAS;QAC5C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,WAAW;YAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7E,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC;gBACN,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,CAAC,SAAS,CAAC;gBACtB,UAAU,EAAE,CAAC,SAAS,CAAC;aACxB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAClB,WAAmB,EACnB,YAAoB,EACpB,OAAe,EACf,UAAuB,EAAE;IAEzB,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE3C,IAAI,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;IAC5F,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AACnF,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAyB;IAClD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,MAAM,CAAC,IAAI,oBAAoB,CAAC;IAC3E,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,GAAG,MAAM,CAAC,IAAI,YAAY,CAAC;IAC1E,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,eAAe,CAAC,MAAmD;IAC1E,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;IACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,MAAM,YAAY,GAAiB;IACjC,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,iCAAiC,EAAE;IACnE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACnD,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,6BAA6B,EAAE;IAC3D,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,2BAA2B,EAAE;IACvD,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACnD,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACnD,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,uCAAuC,EAAE;IACtE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,uCAAuC,EAAE;IACtE,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,8CAA8C,EAAE;IACpF,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,uCAAuC,EAAE;CACvE,CAAC;AAEF,MAAM,aAAa,GAAiB;IAClC,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,4BAA4B,EAAE;IAC9D,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAC9C,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,wBAAwB,EAAE;IACtD,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,sBAAsB,EAAE;IAClD,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAC9C,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAC9C,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACxD,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACxD,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,gCAAgC,EAAE;IACtE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,yBAAyB,EAAE;CACzD,CAAC;AAEF,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,OAAO,GAAmB;IAC9B,kBAAkB,EAAE,EAAE,MAAM,EAAE,uDAAuD,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,WAAW,EAAE,oDAAoD,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IACvN,UAAU,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,WAAW,EAAE,mDAAmD,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IACnM,cAAc,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE,WAAW,EAAE,6CAA6C,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAC5M,YAAY,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,gCAAgC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IACzL,UAAU,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,WAAW,EAAE,sCAAsC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IACzL,UAAU,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAClK,eAAe,EAAE,EAAE,MAAM,EAAE,oDAAoD,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,WAAW,EAAE,gCAAgC,EAAE,OAAO,EAAE,uCAAuC,EAAE,EAAE;IAC3N,eAAe,EAAE,EAAE,MAAM,EAAE,oDAAoD,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,WAAW,EAAE,8BAA8B,EAAE,OAAO,EAAE,6BAA6B,EAAE,EAAE;IAC/M,sBAAsB,EAAE,EAAE,MAAM,EAAE,2DAA2D,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE,WAAW,EAAE,+BAA+B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9M,eAAe,EAAE,EAAE,MAAM,EAAE,oDAAoD,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,WAAW,EAAE,wCAAwC,EAAE,OAAO,EAAE,uCAAuC,EAAE,EAAE;CACpO,CAAC;AAEF,MAAM,MAAM,GAAmB;IAC7B,kBAAkB,EAAE,EAAE,MAAM,EAAE,sCAAsC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,oEAAoE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;IACpL,UAAU,EAAE,EAAE,MAAM,EAAE,8BAA8B,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,+DAA+D,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;IAC/J,cAAc,EAAE,EAAE,MAAM,EAAE,kCAAkC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,oEAAoE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;IAC5K,YAAY,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,6CAA6C,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;IACjJ,UAAU,EAAE,EAAE,MAAM,EAAE,8BAA8B,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,4CAA4C,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;IAC5I,UAAU,EAAE,EAAE,MAAM,EAAE,8BAA8B,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,+CAA+C,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;IAC/I,eAAe,EAAE,EAAE,MAAM,EAAE,mCAAmC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,iDAAiD,EAAE,KAAK,EAAE,uCAAuC,EAAE,EAAE;IACxL,eAAe,EAAE,EAAE,MAAM,EAAE,mCAAmC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,4CAA4C,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE;IACzK,sBAAsB,EAAE,EAAE,MAAM,EAAE,0CAA0C,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,sDAAsD,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE;IAC/K,eAAe,EAAE,EAAE,MAAM,EAAE,mCAAmC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,mDAAmD,EAAE,KAAK,EAAE,uCAAuC,EAAE,EAAE;CAC3L,CAAC;AAEF,MAAM,MAAM,GAAmB;IAC7B,kBAAkB,EAAE,EAAE,MAAM,EAAE,mCAAmC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;IAC5F,UAAU,EAAE,EAAE,MAAM,EAAE,2BAA2B,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;IAC5E,cAAc,EAAE,EAAE,MAAM,EAAE,+BAA+B,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;IACpF,YAAY,EAAE,EAAE,MAAM,EAAE,6BAA6B,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;IAChF,UAAU,EAAE,EAAE,MAAM,EAAE,2BAA2B,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;IAC5E,UAAU,EAAE,EAAE,MAAM,EAAE,2BAA2B,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;IAC5E,eAAe,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;IAC5G,eAAe,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE;IACrH,sBAAsB,EAAE,EAAE,MAAM,EAAE,uCAAuC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;IACpG,eAAe,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,mBAAmB,CAAC,EAAE,EAAE;CACjI,CAAC;AAEF,MAAM,KAAK,GAAmB,EAAE,CAAC;AAEjC,MAAM,gBAAgB,GAAqC;IACzD,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,KAAK;CACb,CAAC;AAEF,8EAA8E;AAC9E,sCAAsC;AACtC,8EAA8E;AAE9E,SAAS,WAAW,CAAC,OAAe,EAAE,MAAyB;IAC7D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAEnD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;IACxF,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;IAC1F,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;IAChF,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC,CAAC,CAAC;IAE9G,MAAM,SAAS,GAAG,MAAM;SACrB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/I,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,UAAU,GAAG,2EAA2E,SAAS,EAAE,CAAC;IAE1G,MAAM,YAAY,GAA2B;QAC3C,qBAAqB,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,qBAAqB;QACzE,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,gBAAgB;QAC1D,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,gBAAgB;QAC9D,yBAAyB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB;QAClG,mBAAmB,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,mBAAmB;KACtG,CAAC;IAEF,IAAI,MAAM,GAAG,OAAO,CAAC;IAErB,MAAM,gBAAgB,GAAG,uHAAuH,CAAC;IACjJ,MAAM,mBAAmB,GAAG,4EAA4E,CAAC;IACzG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAEzD,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,SAAS,qBAAqB,CAC5B,WAAmB,EACnB,QAAkB,EAClB,MAAyB,EACzB,OAAoB;IAEpB,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE/E,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW;YAAE,SAAS;QAE3B,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,WAAW,OAAO,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACpG,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC;IAEpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,iCAAiC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAClG,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,kCAAkC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACrG,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,mCAAmC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7F,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,EAAE,4CAA4C,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACvH,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAExD,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,+BAA+B,CAAC,EAAE,MAAM,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,wCAAwC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3G,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,mBAAmB,GAAG,WAAW,CAAC,YAAY,CAAC,mCAAmC,CAAC,EAAE,MAAM,CAAC,CAAC;QACnG,MAAM,qBAAqB,GAAG,WAAW,CAAC,WAAW,EAAE,0CAA0C,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACjI,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,eAAe,CAAC,EAAE,WAAW,EAAE,0CAA0C,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACpH,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,8BAA8B,EAAE,GAAG,WAAW,OAAO,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACtH,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,mBAAmB,GAAG,WAAW,CAAC,YAAY,CAAC,mCAAmC,CAAC,EAAE,MAAM,CAAC,CAAC;QACnG,MAAM,qBAAqB,GAAG,WAAW,CAAC,WAAW,EAAE,0CAA0C,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACjI,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,4BAA4B,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/F,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,mCAAmC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7F,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,EAAE,sCAAsC,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACjH,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAExD,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,+BAA+B,CAAC,EAAE,MAAM,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,kCAAkC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACrG,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,mBAAmB,GAAG,WAAW,CAAC,YAAY,CAAC,mCAAmC,CAAC,EAAE,MAAM,CAAC,CAAC;QACnG,MAAM,qBAAqB,GAAG,WAAW,CAAC,WAAW,EAAE,0CAA0C,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACjI,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,mBAAmB,GAAG,WAAW,CAAC,YAAY,CAAC,mCAAmC,CAAC,EAAE,MAAM,CAAC,CAAC;QACnG,MAAM,qBAAqB,GAAG,WAAW,CAAC,WAAW,EAAE,0CAA0C,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACjI,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAE9D,MAAM,WAAW,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,EAAE,oBAAoB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAErD,MAAM,YAAY,GAAG,YAAY,CAAC,iCAAiC,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,EAAE,4BAA4B,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QACpG,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAEtD,MAAM,cAAc,GAAG,YAAY,CAAC,mCAAmC,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,EAAE,8BAA8B,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAC1G,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAExD,MAAM,UAAU,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,0BAA0B,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9F,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAa,CAAC;IACpD,OAAO,KAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,WAAmB,EACnB,SAAqB,KAAK,EAC1B,SAA4B,EAAE,EAC9B,UAAuB,EAAE;IASzB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG;QACpB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;KACrC,CAAC;IAEF,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK,IAAI,CAAE,aAAmC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7G,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,kBAAkB,CAAC,GAAG,aAAa,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAE,aAAmC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,GAAG,aAAa,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAEvC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE;YAChB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,aAAa,CAAC,SAAS;YAC9B,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBAC/D,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAChD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;oBACtD,IAAI,OAAO,KAAK,OAAO;wBAAE,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBACrE,CAAC;gBAAC,MAAM,CAAC;oBACP,4CAA4C;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,iCAAiC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAE1F,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IAClF,OAAO,CAAC,IAAI,CAAC,yCAAyC,iBAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAE1F,MAAM,cAAc,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,EAAE,uBAAuB,EAAE,cAAc,EAAE,EAAE,GAAG,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACzH,OAAO,CAAC,IAAI,CAAC,0BAA0B,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAe,MAAM,KAAK,KAAK;QAC1C,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;QACpB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACrB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEf,KAAK,MAAM,aAAa,IAAI,OAAO,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,MAAM;QACN,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,SAAS,EAAE,aAAa,CAAC,SAAS;QAClC,MAAM,EAAE,eAAe;QACvB,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/dist/src/server.js
CHANGED
|
@@ -4,7 +4,7 @@ import { z } from "zod";
|
|
|
4
4
|
import { existsSync, readFileSync } from "node:fs";
|
|
5
5
|
import { join, dirname, resolve, posix } from "node:path";
|
|
6
6
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
7
|
-
import { init, detectStacks } from "./init.js";
|
|
7
|
+
import { init, detectStacks, parseTarget, ALL_PLATFORMS } from "./init.js";
|
|
8
8
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
9
9
|
const TEMPLATE_DIR = join(__dirname, "template");
|
|
10
10
|
function resolvePackageVersion() {
|
|
@@ -192,13 +192,15 @@ export function createServer() {
|
|
|
192
192
|
description: "Scaffold SyncLoop protocol files into a project. If target is not explicitly provided, default to all. If stacks are not provided, auto-detect them by scanning the repository.",
|
|
193
193
|
inputSchema: {
|
|
194
194
|
projectPath: z.string().optional().describe("Project root path. Defaults to current working directory."),
|
|
195
|
-
target: z.
|
|
195
|
+
target: z.string().optional().default("all").describe("Target platform(s): copilot, cursor, claude, codex, all. Comma-separated for multiple (e.g., 'copilot,codex')."),
|
|
196
196
|
stacks: z.array(StackSchema).optional().describe("Optional stack definitions. Auto-detected when omitted."),
|
|
197
197
|
dryRun: z.boolean().optional().default(false).describe("Preview file writes without modifying files."),
|
|
198
198
|
overwrite: z.boolean().optional().default(true).describe("Overwrite existing generated files."),
|
|
199
199
|
},
|
|
200
|
-
}, async ({ projectPath, target = "all", stacks, dryRun = false, overwrite = true }) => {
|
|
200
|
+
}, async ({ projectPath, target: targetRaw = "all", stacks, dryRun = false, overwrite = true }) => {
|
|
201
201
|
try {
|
|
202
|
+
const target = parseTarget(targetRaw);
|
|
203
|
+
const targetDisplay = Array.isArray(target) ? target.join(", ") : target;
|
|
202
204
|
const resolvedProjectPath = resolve(projectPath ?? process.cwd());
|
|
203
205
|
const effectiveStacks = stacks?.length ? stacks : detectStacks(resolvedProjectPath);
|
|
204
206
|
const initResult = init(resolvedProjectPath, target, effectiveStacks, { dryRun, overwrite });
|
|
@@ -206,7 +208,7 @@ export function createServer() {
|
|
|
206
208
|
const stackSummary = formatStacks(initResult.stacks);
|
|
207
209
|
return {
|
|
208
210
|
content: [
|
|
209
|
-
{ type: "text", text: `SyncLoop initialized for ${
|
|
211
|
+
{ type: "text", text: `SyncLoop initialized for ${targetDisplay}:\n\n${initResult.results.join("\n")}` },
|
|
210
212
|
{ type: "text", text: `\n---\n\n## Options\n- dryRun: ${dryRun}\n- overwrite: ${overwrite}` },
|
|
211
213
|
{ type: "text", text: `\n---\n\n## Detected stacks\n${stackSummary}` },
|
|
212
214
|
{
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# SyncLoop Architect agent role
|
|
2
|
+
# Planning only: SENSE → GKP → DECIDE+ACT
|
|
3
|
+
|
|
4
|
+
sandbox_mode = "read-only"
|
|
5
|
+
|
|
6
|
+
developer_instructions = """
|
|
7
|
+
You are the SyncLoop Architect agent. Your role is to execute the first half of the protocol:
|
|
8
|
+
SENSE → GKP → DECIDE+ACT
|
|
9
|
+
|
|
10
|
+
You do NOT implement code. You produce an Action Plan and either:
|
|
11
|
+
1. Hand it to the fixer agent for immediate implementation, OR
|
|
12
|
+
2. Store it as a backlog task in docs/backlog/ for later implementation.
|
|
13
|
+
|
|
14
|
+
Spec files to load:
|
|
15
|
+
- .agent-loop/reasoning-kernel.md → SENSE
|
|
16
|
+
- .agent-loop/patterns.md → GKP
|
|
17
|
+
- .agent-loop/patterns/code-patterns.md → GKP
|
|
18
|
+
- .agent-loop/glossary.md → SENSE/GKP
|
|
19
|
+
|
|
20
|
+
Output an Action Plan:
|
|
21
|
+
- Core: [main logic change — files, functions]
|
|
22
|
+
- Shell: [boundary change — new params, exports, routes]
|
|
23
|
+
- Neighbor: [affected modules — who calls this, who breaks]
|
|
24
|
+
- Pattern: [pattern ID(s)]
|
|
25
|
+
- Risk: [what could go wrong — rollback strategy]
|
|
26
|
+
|
|
27
|
+
Backlog tasks go to docs/backlog/YYYY-MM-DD-{slug}.md with priority, context, and acceptance criteria.
|
|
28
|
+
"""
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# SyncLoop default agent role
|
|
2
|
+
# Full 7-stage loop: SENSE → GKP → DECIDE+ACT → CHALLENGE-TEST → UPDATE → LEARN → REPORT
|
|
3
|
+
|
|
4
|
+
developer_instructions = """
|
|
5
|
+
You are the SyncLoop agent. Execute the 7-stage SyncLoop protocol on every turn.
|
|
6
|
+
|
|
7
|
+
Protocol: SENSE → GKP → DECIDE+ACT → CHALLENGE-TEST → UPDATE → LEARN → REPORT
|
|
8
|
+
|
|
9
|
+
Inner loops:
|
|
10
|
+
1. SENSE ↔ GKP — cycle until context is gathered and compressed
|
|
11
|
+
2. CHALLENGE-TEST → FEEDBACK → patch → retry — iterate until all gates pass (max 5)
|
|
12
|
+
|
|
13
|
+
Modes:
|
|
14
|
+
- INTACT-STABILIZE: All gates pass → harden quality, tests, docs
|
|
15
|
+
- BROKEN-EXPAND: Issues detected → fix root cause, minimal surface
|
|
16
|
+
- OVERDENSE-SPLIT: Complexity high → decompose before expanding
|
|
17
|
+
|
|
18
|
+
Spec files (load at indicated stage, scoped loading only):
|
|
19
|
+
- .agent-loop/reasoning-kernel.md → SENSE
|
|
20
|
+
- .agent-loop/patterns.md → GKP
|
|
21
|
+
- .agent-loop/patterns/code-patterns.md → GKP
|
|
22
|
+
- .agent-loop/patterns/testing-guide.md → GKP (test tasks)
|
|
23
|
+
- .agent-loop/patterns/refactoring-workflow.md → GKP (refactor tasks)
|
|
24
|
+
- .agent-loop/patterns/api-standards.md → GKP (API tasks)
|
|
25
|
+
- .agent-loop/validate-env.md → CHALLENGE-TEST
|
|
26
|
+
- .agent-loop/validate-n.md → CHALLENGE-TEST
|
|
27
|
+
- .agent-loop/feedback.md → FEEDBACK
|
|
28
|
+
- .agent-loop/glossary.md → SENSE/GKP
|
|
29
|
+
|
|
30
|
+
Guardrails:
|
|
31
|
+
- Never modify tests to force a pass — fix source code
|
|
32
|
+
- Never suppress types to remove errors — add correct types
|
|
33
|
+
- Never change public APIs without explicit approval
|
|
34
|
+
- Never implement logic in transport/boundary layers — delegate to core
|
|
35
|
+
"""
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# SyncLoop Fixer agent role
|
|
2
|
+
# Implementation and validation: CHALLENGE-TEST → UPDATE → LEARN
|
|
3
|
+
|
|
4
|
+
developer_instructions = """
|
|
5
|
+
You are the SyncLoop Fixer agent. Your role is to execute the second half of the protocol:
|
|
6
|
+
CHALLENGE-TEST → UPDATE → LEARN
|
|
7
|
+
|
|
8
|
+
You take an Action Plan (from the user or the architect agent), implement it, and run the validation gates.
|
|
9
|
+
|
|
10
|
+
Spec files to load:
|
|
11
|
+
- .agent-loop/reasoning-kernel.md → SENSE
|
|
12
|
+
- .agent-loop/validate-env.md → CHALLENGE-TEST
|
|
13
|
+
- .agent-loop/validate-n.md → CHALLENGE-TEST
|
|
14
|
+
- .agent-loop/feedback.md → FEEDBACK
|
|
15
|
+
|
|
16
|
+
Failure classification:
|
|
17
|
+
- Micro (fix in-place): type error on new code, debug remnant, unused import
|
|
18
|
+
- Macro (consumes 1 of 5 retries): test failure, layer violation, shape mismatch
|
|
19
|
+
|
|
20
|
+
Max 5 macro iterations. Same error 3x → branch prune.
|
|
21
|
+
|
|
22
|
+
Guardrails:
|
|
23
|
+
- Never modify tests to force a pass
|
|
24
|
+
- Never suppress types to remove errors
|
|
25
|
+
- Never change public APIs without approval
|
|
26
|
+
"""
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# SyncLoop agent roles for Codex CLI
|
|
2
|
+
# See: https://developers.openai.com/codex/multi-agent
|
|
3
|
+
|
|
4
|
+
[agents]
|
|
5
|
+
max_threads = 3
|
|
6
|
+
|
|
7
|
+
[agents.default]
|
|
8
|
+
description = "SyncLoop general-purpose agent. Runs the full 7-stage protocol: SENSE → GKP → DECIDE+ACT → CHALLENGE-TEST → UPDATE → LEARN → REPORT."
|
|
9
|
+
config_file = "agents/default.toml"
|
|
10
|
+
|
|
11
|
+
[agents.architect]
|
|
12
|
+
description = "SyncLoop planning agent. Runs SENSE → GKP → DECIDE+ACT only. Use for system design, complex refactoring plans, and architecture decisions. Does NOT implement code."
|
|
13
|
+
config_file = "agents/architect.toml"
|
|
14
|
+
|
|
15
|
+
[agents.fixer]
|
|
16
|
+
description = "SyncLoop implementation agent. Runs CHALLENGE-TEST → UPDATE → LEARN. Use for executing Action Plans, fixing bugs, and running validation gates."
|
|
17
|
+
config_file = "agents/fixer.toml"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oleksandr.rudnychenko/sync_loop",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Self-correcting 7-stage agent reasoning loop (SENSE→GKP→DECIDE+ACT→CHALLENGE-TEST→UPDATE→LEARN→REPORT). MCP server + CLI that scaffolds instruction files for GitHub Copilot, Cursor, and Claude Code.",
|
|
6
6
|
"bin": {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# SyncLoop Architect agent role
|
|
2
|
+
# Planning only: SENSE → GKP → DECIDE+ACT
|
|
3
|
+
|
|
4
|
+
sandbox_mode = "read-only"
|
|
5
|
+
|
|
6
|
+
developer_instructions = """
|
|
7
|
+
You are the SyncLoop Architect agent. Your role is to execute the first half of the protocol:
|
|
8
|
+
SENSE → GKP → DECIDE+ACT
|
|
9
|
+
|
|
10
|
+
You do NOT implement code. You produce an Action Plan and either:
|
|
11
|
+
1. Hand it to the fixer agent for immediate implementation, OR
|
|
12
|
+
2. Store it as a backlog task in docs/backlog/ for later implementation.
|
|
13
|
+
|
|
14
|
+
Spec files to load:
|
|
15
|
+
- .agent-loop/reasoning-kernel.md → SENSE
|
|
16
|
+
- .agent-loop/patterns.md → GKP
|
|
17
|
+
- .agent-loop/patterns/code-patterns.md → GKP
|
|
18
|
+
- .agent-loop/glossary.md → SENSE/GKP
|
|
19
|
+
|
|
20
|
+
Output an Action Plan:
|
|
21
|
+
- Core: [main logic change — files, functions]
|
|
22
|
+
- Shell: [boundary change — new params, exports, routes]
|
|
23
|
+
- Neighbor: [affected modules — who calls this, who breaks]
|
|
24
|
+
- Pattern: [pattern ID(s)]
|
|
25
|
+
- Risk: [what could go wrong — rollback strategy]
|
|
26
|
+
|
|
27
|
+
Backlog tasks go to docs/backlog/YYYY-MM-DD-{slug}.md with priority, context, and acceptance criteria.
|
|
28
|
+
"""
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# SyncLoop default agent role
|
|
2
|
+
# Full 7-stage loop: SENSE → GKP → DECIDE+ACT → CHALLENGE-TEST → UPDATE → LEARN → REPORT
|
|
3
|
+
|
|
4
|
+
developer_instructions = """
|
|
5
|
+
You are the SyncLoop agent. Execute the 7-stage SyncLoop protocol on every turn.
|
|
6
|
+
|
|
7
|
+
Protocol: SENSE → GKP → DECIDE+ACT → CHALLENGE-TEST → UPDATE → LEARN → REPORT
|
|
8
|
+
|
|
9
|
+
Inner loops:
|
|
10
|
+
1. SENSE ↔ GKP — cycle until context is gathered and compressed
|
|
11
|
+
2. CHALLENGE-TEST → FEEDBACK → patch → retry — iterate until all gates pass (max 5)
|
|
12
|
+
|
|
13
|
+
Modes:
|
|
14
|
+
- INTACT-STABILIZE: All gates pass → harden quality, tests, docs
|
|
15
|
+
- BROKEN-EXPAND: Issues detected → fix root cause, minimal surface
|
|
16
|
+
- OVERDENSE-SPLIT: Complexity high → decompose before expanding
|
|
17
|
+
|
|
18
|
+
Spec files (load at indicated stage, scoped loading only):
|
|
19
|
+
- .agent-loop/reasoning-kernel.md → SENSE
|
|
20
|
+
- .agent-loop/patterns.md → GKP
|
|
21
|
+
- .agent-loop/patterns/code-patterns.md → GKP
|
|
22
|
+
- .agent-loop/patterns/testing-guide.md → GKP (test tasks)
|
|
23
|
+
- .agent-loop/patterns/refactoring-workflow.md → GKP (refactor tasks)
|
|
24
|
+
- .agent-loop/patterns/api-standards.md → GKP (API tasks)
|
|
25
|
+
- .agent-loop/validate-env.md → CHALLENGE-TEST
|
|
26
|
+
- .agent-loop/validate-n.md → CHALLENGE-TEST
|
|
27
|
+
- .agent-loop/feedback.md → FEEDBACK
|
|
28
|
+
- .agent-loop/glossary.md → SENSE/GKP
|
|
29
|
+
|
|
30
|
+
Guardrails:
|
|
31
|
+
- Never modify tests to force a pass — fix source code
|
|
32
|
+
- Never suppress types to remove errors — add correct types
|
|
33
|
+
- Never change public APIs without explicit approval
|
|
34
|
+
- Never implement logic in transport/boundary layers — delegate to core
|
|
35
|
+
"""
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# SyncLoop Fixer agent role
|
|
2
|
+
# Implementation and validation: CHALLENGE-TEST → UPDATE → LEARN
|
|
3
|
+
|
|
4
|
+
developer_instructions = """
|
|
5
|
+
You are the SyncLoop Fixer agent. Your role is to execute the second half of the protocol:
|
|
6
|
+
CHALLENGE-TEST → UPDATE → LEARN
|
|
7
|
+
|
|
8
|
+
You take an Action Plan (from the user or the architect agent), implement it, and run the validation gates.
|
|
9
|
+
|
|
10
|
+
Spec files to load:
|
|
11
|
+
- .agent-loop/reasoning-kernel.md → SENSE
|
|
12
|
+
- .agent-loop/validate-env.md → CHALLENGE-TEST
|
|
13
|
+
- .agent-loop/validate-n.md → CHALLENGE-TEST
|
|
14
|
+
- .agent-loop/feedback.md → FEEDBACK
|
|
15
|
+
|
|
16
|
+
Failure classification:
|
|
17
|
+
- Micro (fix in-place): type error on new code, debug remnant, unused import
|
|
18
|
+
- Macro (consumes 1 of 5 retries): test failure, layer violation, shape mismatch
|
|
19
|
+
|
|
20
|
+
Max 5 macro iterations. Same error 3x → branch prune.
|
|
21
|
+
|
|
22
|
+
Guardrails:
|
|
23
|
+
- Never modify tests to force a pass
|
|
24
|
+
- Never suppress types to remove errors
|
|
25
|
+
- Never change public APIs without approval
|
|
26
|
+
"""
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# SyncLoop agent roles for Codex CLI
|
|
2
|
+
# See: https://developers.openai.com/codex/multi-agent
|
|
3
|
+
|
|
4
|
+
[agents]
|
|
5
|
+
max_threads = 3
|
|
6
|
+
|
|
7
|
+
[agents.default]
|
|
8
|
+
description = "SyncLoop general-purpose agent. Runs the full 7-stage protocol: SENSE → GKP → DECIDE+ACT → CHALLENGE-TEST → UPDATE → LEARN → REPORT."
|
|
9
|
+
config_file = "agents/default.toml"
|
|
10
|
+
|
|
11
|
+
[agents.architect]
|
|
12
|
+
description = "SyncLoop planning agent. Runs SENSE → GKP → DECIDE+ACT only. Use for system design, complex refactoring plans, and architecture decisions. Does NOT implement code."
|
|
13
|
+
config_file = "agents/architect.toml"
|
|
14
|
+
|
|
15
|
+
[agents.fixer]
|
|
16
|
+
description = "SyncLoop implementation agent. Runs CHALLENGE-TEST → UPDATE → LEARN. Use for executing Action Plans, fixing bugs, and running validation gates."
|
|
17
|
+
config_file = "agents/fixer.toml"
|