@zhuk/spego 0.10.1 → 0.11.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.
- package/CHANGELOG.md +16 -0
- package/README.md +18 -46
- package/dist/cli/commands/skills.js +0 -2
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli.js +0 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/registry.js +0 -12
- package/dist/commands/registry.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/generator/claude.d.ts +1 -0
- package/dist/generator/claude.js +16 -1
- package/dist/generator/claude.js.map +1 -1
- package/dist/generator/index.js +2 -0
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/opencode.d.ts +5 -0
- package/dist/generator/opencode.js +207 -0
- package/dist/generator/opencode.js.map +1 -0
- package/dist/generator/write.d.ts +1 -0
- package/dist/generator/write.js +14 -0
- package/dist/generator/write.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/workspace/config.d.ts +34 -37
- package/dist/workspace/config.js +10 -18
- package/dist/workspace/config.js.map +1 -1
- package/dist/workspace/init.js +0 -2
- package/dist/workspace/init.js.map +1 -1
- package/package.json +2 -2
- package/dist/cli/commands/orchestrate.d.ts +0 -6
- package/dist/cli/commands/orchestrate.js +0 -51
- package/dist/cli/commands/orchestrate.js.map +0 -1
- package/dist/orchestration/agents.d.ts +0 -15
- package/dist/orchestration/agents.js +0 -156
- package/dist/orchestration/agents.js.map +0 -1
- package/dist/orchestration/artifacts.d.ts +0 -8
- package/dist/orchestration/artifacts.js +0 -20
- package/dist/orchestration/artifacts.js.map +0 -1
- package/dist/orchestration/client.d.ts +0 -59
- package/dist/orchestration/client.js +0 -107
- package/dist/orchestration/client.js.map +0 -1
- package/dist/orchestration/config.d.ts +0 -14
- package/dist/orchestration/config.js +0 -45
- package/dist/orchestration/config.js.map +0 -1
- package/dist/orchestration/emit.d.ts +0 -7
- package/dist/orchestration/emit.js +0 -19
- package/dist/orchestration/emit.js.map +0 -1
- package/dist/orchestration/engine.d.ts +0 -23
- package/dist/orchestration/engine.js +0 -136
- package/dist/orchestration/engine.js.map +0 -1
- package/dist/orchestration/file-gate.d.ts +0 -19
- package/dist/orchestration/file-gate.js +0 -25
- package/dist/orchestration/file-gate.js.map +0 -1
- package/dist/orchestration/index.d.ts +0 -18
- package/dist/orchestration/index.js +0 -12
- package/dist/orchestration/index.js.map +0 -1
- package/dist/orchestration/manager.d.ts +0 -13
- package/dist/orchestration/manager.js +0 -26
- package/dist/orchestration/manager.js.map +0 -1
- package/dist/orchestration/prompts.d.ts +0 -10
- package/dist/orchestration/prompts.js +0 -71
- package/dist/orchestration/prompts.js.map +0 -1
- package/dist/orchestration/scheduler.d.ts +0 -18
- package/dist/orchestration/scheduler.js +0 -49
- package/dist/orchestration/scheduler.js.map +0 -1
- package/dist/orchestration/schema.d.ts +0 -12
- package/dist/orchestration/schema.js +0 -78
- package/dist/orchestration/schema.js.map +0 -1
- package/dist/orchestration/tiers.d.ts +0 -14
- package/dist/orchestration/tiers.js +0 -57
- package/dist/orchestration/tiers.js.map +0 -1
- package/dist/orchestration/types.d.ts +0 -74
- package/dist/orchestration/types.js +0 -8
- package/dist/orchestration/types.js.map +0 -1
- package/dist/orchestration/verifier.d.ts +0 -14
- package/dist/orchestration/verifier.js +0 -66
- package/dist/orchestration/verifier.js.map +0 -1
- package/dist/orchestration/worker.d.ts +0 -16
- package/dist/orchestration/worker.js +0 -80
- package/dist/orchestration/worker.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
No unreleased changes yet.
|
|
6
|
+
|
|
7
|
+
## [0.11.0] - 2026-05-31
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
- OpenCode is now a first-class generated target. Workspaces can list `opencode` in `.spego/config.yaml` to emit `/spego-apply`, `/spego-verify`, and `/spego-explore` command files under `.opencode/commands/`.
|
|
11
|
+
- Spego no longer exposes daemon-backed `spego orchestrate`; apply/verify/explore workflows now run inside the active OpenCode instance.
|
|
12
|
+
- `/spego-apply` now defines explicit current-session phases (select, load context, plan tasks, execute work, verify results, update task checkboxes, summarize status) and allows OpenCode-native subagents only inside the active instance.
|
|
13
|
+
- `/spego-verify` and `/spego-explore` now state they run entirely inside the active OpenCode instance.
|
|
14
|
+
- Build now cleans `dist/` before TypeScript compilation to prevent stale daemon-backed files from being packaged.
|
|
15
|
+
- Generated OpenCode commands now clean up stale `opsx-*` commands and `openspec-*` skills when they carry the `spego_generated: true` marker.
|
|
16
|
+
|
|
17
|
+
### Removed
|
|
18
|
+
- Removed Spego-owned OpenCode REST orchestration code and stopped writing new `orchestration` server/model config blocks.
|
|
19
|
+
- Removed `ultracode/` sample directory (daemon-backed multi-agent orchestrator that no longer aligns with Spego's local CLI architecture).
|
|
20
|
+
|
|
5
21
|
## [0.10.1] - 2026-05-30
|
|
6
22
|
|
|
7
23
|
### Fixed
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Agent-first product orchestration: markdown-first artifact engine with SQLite in
|
|
|
7
7
|
```sh
|
|
8
8
|
npm install
|
|
9
9
|
npm run build
|
|
10
|
-
spego init --agents claude --demo false
|
|
10
|
+
spego init --agents claude,opencode --demo false
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
## Commands
|
|
@@ -27,7 +27,6 @@ spego init --agents claude --demo false
|
|
|
27
27
|
| `spego skills` | Regenerate agent skill files |
|
|
28
28
|
| `spego epics` | List delivery epics |
|
|
29
29
|
| `spego tasks --change <name>` | List tasks for a change |
|
|
30
|
-
| `spego orchestrate --change <name>` | Run the multi-agent orchestration pipeline for a change |
|
|
31
30
|
| `spego index rebuild` | Rebuild SQLite index from files |
|
|
32
31
|
|
|
33
32
|
All commands accept `--cwd <dir>` to set the project root.
|
|
@@ -70,20 +69,12 @@ Workspace config lives at `.spego/config.yaml`:
|
|
|
70
69
|
version: 1
|
|
71
70
|
agents:
|
|
72
71
|
- claude
|
|
72
|
+
- opencode
|
|
73
73
|
demo: false
|
|
74
74
|
extraArtifactTypes: []
|
|
75
75
|
deliveryAdapter:
|
|
76
76
|
name: openspec
|
|
77
77
|
options: {}
|
|
78
|
-
orchestration:
|
|
79
|
-
serverUrl: http://127.0.0.1:4096
|
|
80
|
-
models:
|
|
81
|
-
manager: ""
|
|
82
|
-
worker: ""
|
|
83
|
-
verifier: ""
|
|
84
|
-
fallback: ""
|
|
85
|
-
maxParallel: 4
|
|
86
|
-
workDir: .spego/orchestration
|
|
87
78
|
```
|
|
88
79
|
|
|
89
80
|
## OpenSpec Delivery View
|
|
@@ -101,46 +92,19 @@ The adapter is read-only. It observes OpenSpec state but does not create, contin
|
|
|
101
92
|
|
|
102
93
|
Archived changes under `openspec/changes/archive/` are excluded. A change with no `tasks.md` is reported as `planning-incomplete`.
|
|
103
94
|
|
|
104
|
-
##
|
|
95
|
+
## OpenCode Workflows
|
|
105
96
|
|
|
106
|
-
`
|
|
97
|
+
When `opencode` is listed in `.spego/config.yaml` agents, `spego init` and `spego skills` generate static OpenCode commands under `.opencode/commands/`:
|
|
107
98
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
99
|
+
- `/spego-apply` implements pending tasks from an OpenSpec change in the active OpenCode instance.
|
|
100
|
+
- `/spego-verify` checks completeness, correctness, coherence, and tests before archive.
|
|
101
|
+
- `/spego-explore` enters a read-only exploration stance for ideas, problems, or OpenSpec changes.
|
|
111
102
|
|
|
112
|
-
|
|
103
|
+
`/spego-apply` runs as a phased current-session workflow: select the change, load context, plan tasks, execute work, verify results, update task checkboxes, and summarize status. It may use OpenCode-native subagents only inside the active OpenCode instance for independent investigation, implementation review, or verification.
|
|
113
104
|
|
|
114
|
-
|
|
105
|
+
Spego does not start or control OpenCode through `opencode serve`, does not call the OpenCode REST API, does not create external OpenCode sessions, and does not own model selection. Configure models, variants, agents, and permissions in OpenCode itself.
|
|
115
106
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
- A reachable OpenCode server: `opencode serve --port 4096`.
|
|
119
|
-
- Configured model identifiers — there are no fictional defaults baked into the code.
|
|
120
|
-
|
|
121
|
-
### Configuration
|
|
122
|
-
|
|
123
|
-
Add an `orchestration` block to `.spego/config.yaml`:
|
|
124
|
-
|
|
125
|
-
```yaml
|
|
126
|
-
orchestration:
|
|
127
|
-
serverUrl: http://127.0.0.1:4096
|
|
128
|
-
models:
|
|
129
|
-
manager: <provider/model>
|
|
130
|
-
worker: <provider/model>
|
|
131
|
-
verifier: <provider/model>
|
|
132
|
-
fallback: <provider/model>
|
|
133
|
-
maxParallel: 4
|
|
134
|
-
workDir: .spego/orchestration
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
Environment overrides: `SPEGO_ORCHESTRATION_SERVER_URL` (or `OPENCODE_BASE_URL`), `SPEGO_ORCHESTRATION_MODEL_{MANAGER,WORKER,VERIFIER,FALLBACK}`, `SPEGO_ORCHESTRATION_MAX_PARALLEL`, `SPEGO_ORCHESTRATION_WORK_DIR`, and `OPENCODE_SERVER_USERNAME`/`OPENCODE_SERVER_PASSWORD` for basic auth.
|
|
138
|
-
|
|
139
|
-
`spego init` / `spego skills` emit the OpenCode agent prompts and the `orchestrate` command under `.opencode/`.
|
|
140
|
-
|
|
141
|
-
```sh
|
|
142
|
-
spego orchestrate --change <change-name> --json
|
|
143
|
-
```
|
|
107
|
+
There are no `spego apply`, `spego verify`, `spego explore`, or `spego orchestrate` CLI commands. Apply, verify, and explore are generated OpenCode workflows; spego remains the local artifact engine and read-only OpenSpec delivery view.
|
|
144
108
|
|
|
145
109
|
## Generated Files
|
|
146
110
|
|
|
@@ -149,8 +113,16 @@ For Claude agent targets, `spego init` generates:
|
|
|
149
113
|
- `.claude/skills/spego-<command>/SKILL.md` — skill definitions following Claude Code conventions
|
|
150
114
|
- `.claude/commands/spego/` — slash command wrappers
|
|
151
115
|
|
|
116
|
+
For OpenCode targets, `spego init` generates:
|
|
117
|
+
|
|
118
|
+
- `.opencode/commands/spego-apply.md`
|
|
119
|
+
- `.opencode/commands/spego-verify.md`
|
|
120
|
+
- `.opencode/commands/spego-explore.md`
|
|
121
|
+
|
|
152
122
|
Run `spego skills` to update generated files without reinitializing the workspace.
|
|
153
123
|
|
|
124
|
+
During regeneration, Spego removes stale generated OpenCode compatibility files such as old `opsx-*` commands, `openspec-*` skills, and retired orchestration assets only when they carry the `spego_generated: true` marker. User-owned OpenCode files without that marker are preserved and reported as skipped.
|
|
125
|
+
|
|
154
126
|
## Workflow Skills
|
|
155
127
|
|
|
156
128
|
Workflow skills guide an agent through a multi-persona process inside the chat, persisting results as spego artifacts at well-defined checkpoints.
|
|
@@ -5,7 +5,6 @@ import path from 'node:path';
|
|
|
5
5
|
import { resolveWorkspacePaths } from '../../workspace/paths.js';
|
|
6
6
|
import { readConfig } from '../../workspace/config.js';
|
|
7
7
|
import { generateAll } from '../../generator/index.js';
|
|
8
|
-
import { emitOrchestrationAssets } from '../../orchestration/emit.js';
|
|
9
8
|
import { renderHeader } from '../render.js';
|
|
10
9
|
import { deprecate } from '../output.js';
|
|
11
10
|
import { runCommand } from '../runtime.js';
|
|
@@ -14,7 +13,6 @@ async function runSkills(cwd, json) {
|
|
|
14
13
|
const wsPaths = resolveWorkspacePaths(projectRoot);
|
|
15
14
|
const config = await readConfig(wsPaths.configPath);
|
|
16
15
|
const reports = await generateAll(projectRoot, config.agents, { emitWarnings: !json });
|
|
17
|
-
reports.push(await emitOrchestrationAssets(projectRoot));
|
|
18
16
|
const human = () => {
|
|
19
17
|
const lines = [renderHeader('🛠️', 'Skill regeneration'), ''];
|
|
20
18
|
for (const r of reports) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/cli/commands/skills.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/cli/commands/skills.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,KAAK,UAAU,SAAS,CAAC,GAAuB,EAAE,IAAa;IAI7D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACvF,MAAM,KAAK,GAAG,GAAW,EAAE;QACzB,MAAM,KAAK,GAAa,CAAC,YAAY,CAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;QACxE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC;SACrC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACvC,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC;SACrC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC3C,SAAS,CAAC,IAAI,EAAE,0CAA0C,CAAC,CAAC;YAC5D,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -19,7 +19,6 @@ import { registerView } from './cli/commands/view.js';
|
|
|
19
19
|
import { registerIndex } from './cli/commands/index-rebuild.js';
|
|
20
20
|
import { registerSkills } from './cli/commands/skills.js';
|
|
21
21
|
import { registerDelivery } from './cli/commands/delivery.js';
|
|
22
|
-
import { registerOrchestrate } from './cli/commands/orchestrate.js';
|
|
23
22
|
export function buildProgram() {
|
|
24
23
|
const program = new Command();
|
|
25
24
|
program
|
|
@@ -50,7 +49,6 @@ export function buildProgram() {
|
|
|
50
49
|
registerIndex(program);
|
|
51
50
|
registerSkills(program);
|
|
52
51
|
registerDelivery(program);
|
|
53
|
-
registerOrchestrate(program);
|
|
54
52
|
return program;
|
|
55
53
|
}
|
|
56
54
|
/**
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -140,18 +140,6 @@ export const COMMAND_REGISTRY = [
|
|
|
140
140
|
inputSchema: {},
|
|
141
141
|
outputModes: ['markdown', 'json'],
|
|
142
142
|
},
|
|
143
|
-
{
|
|
144
|
-
name: 'orchestrate',
|
|
145
|
-
description: 'Run the multi-agent orchestration pipeline for an OpenSpec change',
|
|
146
|
-
slashName: '/spego:orchestrate',
|
|
147
|
-
category: 'planning',
|
|
148
|
-
inputSchema: {
|
|
149
|
-
change: { name: 'change', type: 'string', required: true, description: 'OpenSpec change name to orchestrate' },
|
|
150
|
-
mode: { name: 'mode', type: 'string', required: false, description: 'sequential | parallel | adaptive' },
|
|
151
|
-
skipVerify: { name: 'skipVerify', type: 'boolean', required: false, description: 'Skip the verifier step' },
|
|
152
|
-
},
|
|
153
|
-
outputModes: ['markdown', 'json'],
|
|
154
|
-
},
|
|
155
143
|
];
|
|
156
144
|
export function getCommandByName(name) {
|
|
157
145
|
return COMMAND_REGISTRY.find((c) => c.name === name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/commands/registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/commands/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Structured error codes returned by the spego artifact engine.
|
|
3
3
|
* Stable across CLI/JSON outputs so agents can branch on them.
|
|
4
4
|
*/
|
|
5
|
-
export type SpegoErrorCode = 'WORKSPACE_NOT_FOUND' | 'WORKSPACE_ALREADY_EXISTS' | 'INVALID_ARTIFACT_TYPE' | 'VALIDATION_FAILED' | 'ARTIFACT_NOT_FOUND' | 'REVISION_CONFLICT' | 'REVISION_NOT_FOUND' | 'WRITE_FAILED' | 'INDEX_REBUILD_FAILED' | 'DELIVERY_ADAPTER_NOT_FOUND' | 'DELIVERY_ADAPTER_ERROR' | 'DELIVERY_READ_ONLY' | 'CHANGE_NOT_FOUND'
|
|
5
|
+
export type SpegoErrorCode = 'WORKSPACE_NOT_FOUND' | 'WORKSPACE_ALREADY_EXISTS' | 'INVALID_ARTIFACT_TYPE' | 'VALIDATION_FAILED' | 'ARTIFACT_NOT_FOUND' | 'REVISION_CONFLICT' | 'REVISION_NOT_FOUND' | 'WRITE_FAILED' | 'INDEX_REBUILD_FAILED' | 'DELIVERY_ADAPTER_NOT_FOUND' | 'DELIVERY_ADAPTER_ERROR' | 'DELIVERY_READ_ONLY' | 'CHANGE_NOT_FOUND';
|
|
6
6
|
export interface SpegoErrorDetails {
|
|
7
7
|
[key: string]: unknown;
|
|
8
8
|
}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAuBA,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnB,IAAI,CAAiB;IACrB,OAAO,CAAoB;IAE3C,YAAY,IAAoB,EAAE,OAAe,EAAE,UAA6B,EAAE;QAChF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3E,CAAC;CACF"}
|
package/dist/generator/claude.js
CHANGED
|
@@ -2,7 +2,7 @@ import path from 'node:path';
|
|
|
2
2
|
import fs from 'node:fs/promises';
|
|
3
3
|
import { COMMAND_REGISTRY } from '../commands/registry.js';
|
|
4
4
|
import { WORKFLOW_REGISTRY } from '../workflows/registry.js';
|
|
5
|
-
import { writeGeneratedFile } from './write.js';
|
|
5
|
+
import { writeGeneratedFile, removeGeneratedFile } from './write.js';
|
|
6
6
|
import { GENERATOR_VERSION } from './types.js';
|
|
7
7
|
import { isLegacySpegoGenerated, isSpegoGenerated } from './markers.js';
|
|
8
8
|
function toKebab(name) {
|
|
@@ -149,6 +149,8 @@ export class ClaudeGenerator {
|
|
|
149
149
|
files.push(...cleaned);
|
|
150
150
|
const legacyCleaned = await this.cleanupLegacyRegeneratePaths(skillsDir, commandsDir);
|
|
151
151
|
files.push(...legacyCleaned);
|
|
152
|
+
const removedOrchestrate = await this.cleanupRemovedOrchestratePaths(skillsDir, commandsDir);
|
|
153
|
+
files.push(...removedOrchestrate);
|
|
152
154
|
for (const cmd of COMMAND_REGISTRY) {
|
|
153
155
|
const skillDir = path.join(skillsDir, `spego-${cmd.name}`);
|
|
154
156
|
const skillPath = path.join(skillDir, 'SKILL.md');
|
|
@@ -193,5 +195,18 @@ export class ClaudeGenerator {
|
|
|
193
195
|
}
|
|
194
196
|
return cleaned;
|
|
195
197
|
}
|
|
198
|
+
async cleanupRemovedOrchestratePaths(skillsDir, commandsDir) {
|
|
199
|
+
const cleaned = [];
|
|
200
|
+
const removedPaths = [
|
|
201
|
+
path.join(skillsDir, 'spego-orchestrate', 'SKILL.md'),
|
|
202
|
+
path.join(commandsDir, 'orchestrate.md'),
|
|
203
|
+
];
|
|
204
|
+
for (const filePath of removedPaths) {
|
|
205
|
+
const action = await removeGeneratedFile(filePath);
|
|
206
|
+
if (action)
|
|
207
|
+
cleaned.push({ path: filePath, action });
|
|
208
|
+
}
|
|
209
|
+
return cleaned;
|
|
210
|
+
}
|
|
196
211
|
}
|
|
197
212
|
//# sourceMappingURL=claude.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/generator/claude.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/generator/claude.ts"],"names":[],"mappings":"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"}
|
package/dist/generator/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ClaudeGenerator } from './claude.js';
|
|
2
|
+
import { OpencodeGenerator } from './opencode.js';
|
|
2
3
|
const GENERATORS = new Map();
|
|
3
4
|
export function registerGenerator(gen) {
|
|
4
5
|
GENERATORS.set(gen.targetName, gen);
|
|
@@ -10,6 +11,7 @@ export function availableTargets() {
|
|
|
10
11
|
return [...GENERATORS.keys()];
|
|
11
12
|
}
|
|
12
13
|
registerGenerator(new ClaudeGenerator());
|
|
14
|
+
registerGenerator(new OpencodeGenerator());
|
|
13
15
|
export async function generateAll(projectRoot, targets, options = {}) {
|
|
14
16
|
const emitWarnings = options.emitWarnings ?? true;
|
|
15
17
|
const reports = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,UAAU,GAAiC,IAAI,GAAG,EAAE,CAAC;AAE3D,MAAM,UAAU,iBAAiB,CAAC,GAAoB;IACpD,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,iBAAiB,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;AACzC,iBAAiB,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;AAM3C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAmB,EACnB,OAAiB,EACjB,UAA8B,EAAE;IAEhC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;IAClD,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,MAAM,eAAe,CAAC,CAAC;YAC9F,CAAC;YACD,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { writeGeneratedFile, removeGeneratedFile } from './write.js';
|
|
3
|
+
import { GENERATOR_VERSION } from './types.js';
|
|
4
|
+
const SPEGO_APPLY = `---
|
|
5
|
+
description: Implement tasks from an OpenSpec change using the active OpenCode instance
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Implement tasks from an OpenSpec change.
|
|
9
|
+
|
|
10
|
+
Input: optionally specify a change name after \`/spego-apply\`. If omitted, infer it from conversation context only when unambiguous. If multiple active changes could apply, run \`openspec list --json\` and ask the user to choose.
|
|
11
|
+
|
|
12
|
+
## Phases
|
|
13
|
+
|
|
14
|
+
### Phase 1 — Select the change
|
|
15
|
+
|
|
16
|
+
- If a change name is provided, announce: \`Using change: <name>\`.
|
|
17
|
+
- If omitted, run \`openspec list --json\` and ask the user to choose when multiple active changes exist.
|
|
18
|
+
- Do not guess or infer when more than one active change is possible.
|
|
19
|
+
|
|
20
|
+
### Phase 2 — Load context
|
|
21
|
+
|
|
22
|
+
- Run \`openspec status --change "<name>" --json\` to get current state.
|
|
23
|
+
- Run \`openspec instructions apply --change "<name>" --json\` to get context file paths.
|
|
24
|
+
- Read every file listed in \`contextFiles\`. Follow the schema-specific instruction from the CLI output; do not assume fixed artifact names.
|
|
25
|
+
|
|
26
|
+
### Phase 3 — Plan tasks
|
|
27
|
+
|
|
28
|
+
- Review the tasks artifact and identify all pending (unchecked) tasks.
|
|
29
|
+
- Determine execution order based on task dependencies and the change's design doc.
|
|
30
|
+
- Present the planned order to the user before proceeding.
|
|
31
|
+
|
|
32
|
+
### Phase 4 — Execute work
|
|
33
|
+
|
|
34
|
+
- Implement pending tasks in order, keeping each change minimal and scoped.
|
|
35
|
+
- Follow the repository's existing conventions, imports, and patterns.
|
|
36
|
+
- After completing each task, mark its checkbox in the tasks artifact from \`- [ ]\` to \`- [x]\`.
|
|
37
|
+
|
|
38
|
+
### Phase 5 — Verify results
|
|
39
|
+
|
|
40
|
+
- After each task, confirm the implementation aligns with the relevant spec and design decisions.
|
|
41
|
+
- Run available tests when the change or repository identifies them.
|
|
42
|
+
- If a task fails verification, note the issue and either fix it or pause for guidance.
|
|
43
|
+
|
|
44
|
+
### Phase 6 — Update task checkboxes
|
|
45
|
+
|
|
46
|
+
- After verifying a task, ensure its checkbox is marked \`- [x]\` in the tasks artifact.
|
|
47
|
+
- Only mark tasks complete when implementation and verification both succeed.
|
|
48
|
+
- Do not mark tasks that were skipped or left incomplete.
|
|
49
|
+
|
|
50
|
+
### Phase 7 — Summarize status
|
|
51
|
+
|
|
52
|
+
- Report completed tasks, remaining tasks, and any blockers encountered.
|
|
53
|
+
- Recommend the next OpenSpec action (continue, verify, or archive).
|
|
54
|
+
- Pause and ask the user when a task is ambiguous, implementation exposes a design/spec issue, or a blocker prevents safe progress.
|
|
55
|
+
|
|
56
|
+
## Subagents
|
|
57
|
+
|
|
58
|
+
Subagents may be used ONLY inside the current OpenCode session for independent investigation, implementation review, or verification. All subagent work runs within this instance using its existing model, agents, and permissions.
|
|
59
|
+
|
|
60
|
+
The following are forbidden:
|
|
61
|
+
|
|
62
|
+
- Spego spawning agents or orchestrating subagent pools.
|
|
63
|
+
- Spego choosing or switching models for subagents.
|
|
64
|
+
- Creating external sessions, connecting to daemons, or calling REST APIs.
|
|
65
|
+
- Any operation that leaves the current OpenCode process boundary.
|
|
66
|
+
|
|
67
|
+
## Guardrails
|
|
68
|
+
|
|
69
|
+
- Do not call the removed Spego orchestration command.
|
|
70
|
+
- Do not start or require a separate OpenCode daemon.
|
|
71
|
+
- Do not mutate OpenSpec lifecycle state except task checkboxes required by apply workflow.
|
|
72
|
+
- Use OpenCode's current model, agents, permissions, and runtime configuration.
|
|
73
|
+
`;
|
|
74
|
+
const SPEGO_VERIFY = `---
|
|
75
|
+
description: Verify implementation against OpenSpec change artifacts before archive
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
Verify that implementation matches a change's OpenSpec artifacts.
|
|
79
|
+
|
|
80
|
+
This command runs entirely inside the active OpenCode instance. Do not connect to a daemon or REST API.
|
|
81
|
+
|
|
82
|
+
Input: optionally specify a change name after \`/spego-verify\`. If omitted, ask the user to choose from active changes; do not guess.
|
|
83
|
+
|
|
84
|
+
## Steps
|
|
85
|
+
|
|
86
|
+
1. Select the change. If needed, run \`openspec list --json\` and ask the user.
|
|
87
|
+
|
|
88
|
+
2. Check status:
|
|
89
|
+
|
|
90
|
+
\`\`\`bash
|
|
91
|
+
openspec status --change "<name>" --json
|
|
92
|
+
\`\`\`
|
|
93
|
+
|
|
94
|
+
3. Load context paths:
|
|
95
|
+
|
|
96
|
+
\`\`\`bash
|
|
97
|
+
openspec instructions apply --change "<name>" --json
|
|
98
|
+
\`\`\`
|
|
99
|
+
|
|
100
|
+
4. Read all available files from \`contextFiles\`, including proposal, design, specs, and tasks when present.
|
|
101
|
+
|
|
102
|
+
5. Verify completeness: task checkboxes, requirement coverage, and any documented acceptance criteria.
|
|
103
|
+
|
|
104
|
+
6. Verify correctness: compare implementation evidence with each requirement and scenario. Reference concrete files and lines where possible.
|
|
105
|
+
|
|
106
|
+
7. Verify coherence: compare implementation with design decisions and repository patterns.
|
|
107
|
+
|
|
108
|
+
8. Run relevant tests when the change or repository identifies them. If no test command is obvious, state that explicitly.
|
|
109
|
+
|
|
110
|
+
9. Report findings grouped as CRITICAL, WARNING, and SUGGESTION, followed by a final archive-readiness assessment.
|
|
111
|
+
|
|
112
|
+
## Guardrails
|
|
113
|
+
|
|
114
|
+
- Do not call the removed Spego orchestration command.
|
|
115
|
+
- Do not start or require a separate OpenCode daemon.
|
|
116
|
+
- Do not mark OpenSpec lifecycle state complete or archive the change.
|
|
117
|
+
- Prefer actionable findings with file references over vague recommendations.
|
|
118
|
+
`;
|
|
119
|
+
const SPEGO_EXPLORE = `---
|
|
120
|
+
description: Explore ideas, problems, or OpenSpec changes without implementing code
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
Enter explore mode. Think through ideas, investigate code, clarify requirements, and surface options without implementing code.
|
|
124
|
+
|
|
125
|
+
This command runs entirely inside the active OpenCode instance. Do not connect to a daemon or REST API.
|
|
126
|
+
|
|
127
|
+
Input: anything after \`/spego-explore\` is the topic, problem, or change name to explore.
|
|
128
|
+
|
|
129
|
+
## Stance
|
|
130
|
+
|
|
131
|
+
- Be curious and grounded in the repository.
|
|
132
|
+
- Ask questions that emerge naturally from the evidence.
|
|
133
|
+
- Use concise diagrams or tables when they clarify trade-offs.
|
|
134
|
+
- Follow interesting threads without forcing a fixed workflow.
|
|
135
|
+
|
|
136
|
+
## OpenSpec Awareness
|
|
137
|
+
|
|
138
|
+
At the start, check active changes when relevant:
|
|
139
|
+
|
|
140
|
+
\`\`\`bash
|
|
141
|
+
openspec list --json
|
|
142
|
+
\`\`\`
|
|
143
|
+
|
|
144
|
+
If the user names a change, read its available artifacts such as proposal, design, specs, and tasks. Reference them naturally in the discussion.
|
|
145
|
+
|
|
146
|
+
## Capture Options
|
|
147
|
+
|
|
148
|
+
When insights crystallize, offer to capture them in the right OpenSpec artifact. Do not auto-capture unless the user asks.
|
|
149
|
+
|
|
150
|
+
## Guardrails
|
|
151
|
+
|
|
152
|
+
- Do not implement application code in explore mode.
|
|
153
|
+
- Do not call the removed Spego orchestration command.
|
|
154
|
+
- Do not start or require a separate OpenCode daemon.
|
|
155
|
+
- Creating or editing OpenSpec artifacts is allowed only when the user explicitly asks to capture the thinking.
|
|
156
|
+
`;
|
|
157
|
+
const COMMAND_ASSETS = [
|
|
158
|
+
{ relPath: '.opencode/commands/spego-apply.md', content: SPEGO_APPLY },
|
|
159
|
+
{ relPath: '.opencode/commands/spego-verify.md', content: SPEGO_VERIFY },
|
|
160
|
+
{ relPath: '.opencode/commands/spego-explore.md', content: SPEGO_EXPLORE },
|
|
161
|
+
];
|
|
162
|
+
const STALE_ASSET_PATHS = [
|
|
163
|
+
'.opencode/commands/orchestrate.md',
|
|
164
|
+
'.opencode/commands/workflow.md',
|
|
165
|
+
'.opencode/commands/opsx-new.md',
|
|
166
|
+
'.opencode/commands/opsx-continue.md',
|
|
167
|
+
'.opencode/commands/opsx-ff.md',
|
|
168
|
+
'.opencode/commands/opsx-apply.md',
|
|
169
|
+
'.opencode/commands/opsx-verify.md',
|
|
170
|
+
'.opencode/commands/opsx-archive.md',
|
|
171
|
+
'.opencode/commands/opsx-bulk-archive.md',
|
|
172
|
+
'.opencode/commands/opsx-sync.md',
|
|
173
|
+
'.opencode/commands/opsx-explore.md',
|
|
174
|
+
'.opencode/agents/ultramanager.md',
|
|
175
|
+
'.opencode/agents/ultraworker.md',
|
|
176
|
+
'.opencode/agents/ultraverifier.md',
|
|
177
|
+
'.opencode/agents/orchestrate.md',
|
|
178
|
+
'.opencode/skills/openspec-new-change/SKILL.md',
|
|
179
|
+
'.opencode/skills/openspec-continue-change/SKILL.md',
|
|
180
|
+
'.opencode/skills/openspec-ff-change/SKILL.md',
|
|
181
|
+
'.opencode/skills/openspec-apply-change/SKILL.md',
|
|
182
|
+
'.opencode/skills/openspec-verify-change/SKILL.md',
|
|
183
|
+
'.opencode/skills/openspec-archive-change/SKILL.md',
|
|
184
|
+
'.opencode/skills/openspec-bulk-archive-change/SKILL.md',
|
|
185
|
+
'.opencode/skills/openspec-sync-specs/SKILL.md',
|
|
186
|
+
'.opencode/skills/openspec-explore/SKILL.md',
|
|
187
|
+
'.opencode/skills/openspec-onboard/SKILL.md',
|
|
188
|
+
];
|
|
189
|
+
export class OpencodeGenerator {
|
|
190
|
+
targetName = 'opencode';
|
|
191
|
+
async generate(projectRoot) {
|
|
192
|
+
const files = [];
|
|
193
|
+
for (const relPath of STALE_ASSET_PATHS) {
|
|
194
|
+
const filePath = path.join(projectRoot, relPath);
|
|
195
|
+
const action = await removeGeneratedFile(filePath);
|
|
196
|
+
if (action)
|
|
197
|
+
files.push({ path: filePath, action });
|
|
198
|
+
}
|
|
199
|
+
for (const asset of COMMAND_ASSETS) {
|
|
200
|
+
const filePath = path.join(projectRoot, asset.relPath);
|
|
201
|
+
const action = await writeGeneratedFile(filePath, asset.content);
|
|
202
|
+
files.push({ path: filePath, action });
|
|
203
|
+
}
|
|
204
|
+
return { target: this.targetName, files, version: GENERATOR_VERSION };
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=opencode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/generator/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAQ/C,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEnB,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CpB,CAAC;AAEF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCrB,CAAC;AAEF,MAAM,cAAc,GAA2B;IAC7C,EAAE,OAAO,EAAE,mCAAmC,EAAE,OAAO,EAAE,WAAW,EAAE;IACtE,EAAE,OAAO,EAAE,oCAAoC,EAAE,OAAO,EAAE,YAAY,EAAE;IACxE,EAAE,OAAO,EAAE,qCAAqC,EAAE,OAAO,EAAE,aAAa,EAAE;CAC3E,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACxB,mCAAmC;IACnC,gCAAgC;IAChC,gCAAgC;IAChC,qCAAqC;IACrC,+BAA+B;IAC/B,kCAAkC;IAClC,mCAAmC;IACnC,oCAAoC;IACpC,yCAAyC;IACzC,iCAAiC;IACjC,oCAAoC;IACpC,kCAAkC;IAClC,iCAAiC;IACjC,mCAAmC;IACnC,iCAAiC;IACjC,+CAA+C;IAC/C,oDAAoD;IACpD,8CAA8C;IAC9C,iDAAiD;IACjD,kDAAkD;IAClD,mDAAmD;IACnD,wDAAwD;IACxD,+CAA+C;IAC/C,4CAA4C;IAC5C,4CAA4C;CAC7C,CAAC;AAEF,MAAM,OAAO,iBAAiB;IACnB,UAAU,GAAG,UAAU,CAAC;IAEjC,KAAK,CAAC,QAAQ,CAAC,WAAmB;QAChC,MAAM,KAAK,GAAoB,EAAE,CAAC;QAElC,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;IACxE,CAAC;CACF"}
|
package/dist/generator/write.js
CHANGED
|
@@ -25,4 +25,18 @@ export async function writeGeneratedFile(absPath, content) {
|
|
|
25
25
|
await fs.writeFile(absPath, marked, 'utf8');
|
|
26
26
|
return 'created';
|
|
27
27
|
}
|
|
28
|
+
export async function removeGeneratedFile(absPath) {
|
|
29
|
+
let existing;
|
|
30
|
+
try {
|
|
31
|
+
existing = await fs.readFile(absPath, 'utf8');
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
if (!isSpegoGenerated(existing) && !isLegacySpegoGenerated(existing)) {
|
|
37
|
+
return 'skipped';
|
|
38
|
+
}
|
|
39
|
+
await fs.unlink(absPath);
|
|
40
|
+
return 'removed';
|
|
41
|
+
}
|
|
28
42
|
//# sourceMappingURL=write.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/generator/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,OAAe;IAEf,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC1D,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACtC,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/generator/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,OAAe;IAEf,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC1D,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACtC,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe;IACvD,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,SAAS,CAAC;AACnB,CAAC"}
|