oh-my-opencode-slim 2.2.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja-JP.md +108 -114
- package/README.ko-KR.md +135 -118
- package/README.md +89 -145
- package/README.zh-CN.md +107 -114
- package/dist/cli/index.js +8 -14
- package/dist/cli/providers.d.ts +11 -4
- package/dist/config/constants.d.ts +1 -1
- package/dist/index.js +107 -115
- package/dist/multiplexer/zellij/index.d.ts +1 -1
- package/dist/tui.js +1 -7
- package/package.json +1 -1
- package/src/skills/codemap.md +0 -2
- package/src/skills/verification-planning/SKILL.md +2 -3
- package/src/skills/release-smoke-test/SKILL.md +0 -159
|
@@ -32,11 +32,11 @@ export declare class ZellijMultiplexer implements Multiplexer {
|
|
|
32
32
|
private createPaneInAgentTab;
|
|
33
33
|
private runInPane;
|
|
34
34
|
private ensureAgentTab;
|
|
35
|
+
private listPanesJson;
|
|
35
36
|
private getFirstPaneInTab;
|
|
36
37
|
private findTabByName;
|
|
37
38
|
private findTabByNameText;
|
|
38
39
|
private getCurrentTabId;
|
|
39
|
-
private listPanes;
|
|
40
40
|
closePane(paneId: string): Promise<boolean>;
|
|
41
41
|
applyLayout(_layout: MultiplexerLayout, _mainPaneSize: number): Promise<void>;
|
|
42
42
|
private directionArgs;
|
package/dist/tui.js
CHANGED
|
@@ -130,7 +130,7 @@ var DEFAULT_MODELS = {
|
|
|
130
130
|
var POLL_INTERVAL_BACKGROUND_MS = 2000;
|
|
131
131
|
var MAX_POLL_TIME_MS = 5 * 60 * 1000;
|
|
132
132
|
var DEFAULT_MAX_SUBAGENT_DEPTH = 3;
|
|
133
|
-
var PHASE_REMINDER_TEXT = `!IMPORTANT! Scheduler workflow: plan lanes/dependencies → dispatch background specialists → track task IDs → wait for hook-driven completion → reconcile terminal results → verify. Do not poll running jobs, consume running-job output, or advance dependent work. !END!`;
|
|
133
|
+
var PHASE_REMINDER_TEXT = `!IMPORTANT! Scheduler workflow: First choose the lightest workflow that fits the work. If direct execution is justified, complete it and verify proportionately. Otherwise: plan lanes/dependencies → dispatch background specialists → track task IDs → wait for hook-driven completion → reconcile terminal results → verify. Do not poll running jobs, consume running-job output, or advance dependent work. !END!`;
|
|
134
134
|
function formatSystemReminder(text) {
|
|
135
135
|
return `<system-reminder>
|
|
136
136
|
${text}
|
|
@@ -582,12 +582,6 @@ var CUSTOM_SKILLS = [
|
|
|
582
582
|
allowedAgents: ["orchestrator"],
|
|
583
583
|
sourcePath: "src/skills/oh-my-opencode-slim"
|
|
584
584
|
},
|
|
585
|
-
{
|
|
586
|
-
name: "release-smoke-test",
|
|
587
|
-
description: "Validate packed release candidates and bugfixes before public publish",
|
|
588
|
-
allowedAgents: ["orchestrator"],
|
|
589
|
-
sourcePath: "src/skills/release-smoke-test"
|
|
590
|
-
},
|
|
591
585
|
{
|
|
592
586
|
name: "worktrees",
|
|
593
587
|
description: "Manage Git worktrees as OMO safe isolated coding lanes for complex/risky/parallel work",
|
package/package.json
CHANGED
package/src/skills/codemap.md
CHANGED
|
@@ -23,7 +23,6 @@
|
|
|
23
23
|
| `deepwork/` | Orchestrator-only | Heavy coding sessions, multi-phase implementation, and risky refactors |
|
|
24
24
|
| `verification-planning/` | Orchestrator-only | Project-specific evidence planning and verification affordances before non-trivial implementation |
|
|
25
25
|
| `reflect/` | Orchestrator-only | Learning from repeated work and suggesting reusable improvements |
|
|
26
|
-
| `release-smoke-test/` | Orchestrator-only | Packed release-candidate and bugfix validation |
|
|
27
26
|
| `worktrees/` | Orchestrator-only | Safe Git worktree lanes for parallel, risky, or isolated work |
|
|
28
27
|
| `oh-my-opencode-slim/` | Orchestrator-only | Plugin configuration and self-improvement guidance |
|
|
29
28
|
|
|
@@ -60,7 +59,6 @@
|
|
|
60
59
|
- `src/skills/deepwork/SKILL.md`
|
|
61
60
|
- `src/skills/verification-planning/SKILL.md`
|
|
62
61
|
- `src/skills/reflect/SKILL.md`
|
|
63
|
-
- `src/skills/release-smoke-test/SKILL.md`
|
|
64
62
|
- `src/skills/worktrees/SKILL.md`
|
|
65
63
|
- `src/skills/oh-my-opencode-slim/SKILL.md`
|
|
66
64
|
- `package.json` scripts (`verify:release`, `build`) rely on these assets to ensure install-time skill availability
|
|
@@ -98,6 +98,5 @@ what remains outside its reach.
|
|
|
98
98
|
## Scope
|
|
99
99
|
|
|
100
100
|
Use this skill proportionately. Small mechanical changes can follow ordinary
|
|
101
|
-
project checks directly. For
|
|
102
|
-
|
|
103
|
-
evidence path that later work follows.
|
|
101
|
+
project checks directly. For larger multi-phase work, let this skill establish
|
|
102
|
+
the evidence path that later work follows.
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: release-smoke-test
|
|
3
|
-
description: Test an oh-my-opencode-slim release candidate or bugfix before publishing. Use when validating a packed plugin artifact, release branch, crash fix, OpenCode runtime compatibility, or model-specific smoke test such as OpenCode 1.17.11 message transform regressions.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Release Smoke Test
|
|
7
|
-
|
|
8
|
-
Use this skill to validate an `oh-my-opencode-slim` release candidate before
|
|
9
|
-
public npm publish. Test the packed artifact, not `@latest` and not the source
|
|
10
|
-
tree.
|
|
11
|
-
|
|
12
|
-
## Core Workflow
|
|
13
|
-
|
|
14
|
-
1. Start from the release-prep branch or commit.
|
|
15
|
-
2. Build and pack the candidate.
|
|
16
|
-
3. Install the tarball into a throwaway app.
|
|
17
|
-
4. Create an isolated OpenCode config pointing at the installed
|
|
18
|
-
`node_modules/oh-my-opencode-slim/dist/index.js`.
|
|
19
|
-
5. Run `opencode debug config` and verify `plugin_origins` contains only the
|
|
20
|
-
intended plugin when doing an isolation smoke.
|
|
21
|
-
6. Run non-pure `opencode run --print-logs --log-level DEBUG`.
|
|
22
|
-
7. Search isolated logs for the original crash signature.
|
|
23
|
-
8. Record exact artifact, model, OpenCode version, command shape, result, and
|
|
24
|
-
limitations on the release issue or PR.
|
|
25
|
-
|
|
26
|
-
## Pack Candidate
|
|
27
|
-
|
|
28
|
-
Use a temp directory so release validation never depends on the local package
|
|
29
|
-
cache.
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
SMOKE=/tmp/oh-my-opencode-slim-release-smoke
|
|
33
|
-
rm -rf "$SMOKE"
|
|
34
|
-
mkdir -p "$SMOKE/pkg" "$SMOKE/app" "$SMOKE/home" "$SMOKE/xdg/opencode" "$SMOKE/run"
|
|
35
|
-
|
|
36
|
-
bun run build
|
|
37
|
-
npm pack --pack-destination "$SMOKE/pkg"
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Install the tarball:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
cd "$SMOKE/app"
|
|
44
|
-
bun init -y
|
|
45
|
-
bun add "$SMOKE/pkg"/oh-my-opencode-slim-*.tgz
|
|
46
|
-
node -p "require('./node_modules/oh-my-opencode-slim/package.json').version"
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Isolated Config
|
|
50
|
-
|
|
51
|
-
Write the minimal OpenCode config:
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
cat > "$SMOKE/xdg/opencode/opencode.json" <<EOF
|
|
55
|
-
{
|
|
56
|
-
"model": "opencode/deepseek-v4-flash-free",
|
|
57
|
-
"plugin": [
|
|
58
|
-
"file://$SMOKE/app/node_modules/oh-my-opencode-slim/dist/index.js"
|
|
59
|
-
],
|
|
60
|
-
"agent": {
|
|
61
|
-
"orchestrator": {
|
|
62
|
-
"model": "opencode/deepseek-v4-flash-free"
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
EOF
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Use `env -i` for the cleanest smoke. This strips host `OPENCODE_*`, `ORCA_*`,
|
|
70
|
-
and project overlay variables that can silently add plugins or provider aliases.
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
env -i PATH="$PATH" HOME="$SMOKE/home" XDG_CONFIG_HOME="$SMOKE/xdg" \
|
|
74
|
-
opencode debug config
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
Confirm:
|
|
78
|
-
|
|
79
|
-
- `plugin_origins` has exactly one entry.
|
|
80
|
-
- That entry points to the temp app's packed `dist/index.js`.
|
|
81
|
-
- The model is the one intended for the smoke.
|
|
82
|
-
|
|
83
|
-
If OpenCode needs provider aliases from the host environment, run a second
|
|
84
|
-
non-isolated model-specific smoke and clearly label it as weaker isolation.
|
|
85
|
-
|
|
86
|
-
## Runtime Smoke
|
|
87
|
-
|
|
88
|
-
Run the actual prompt with timeout:
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
env -i PATH="$PATH" HOME="$SMOKE/home" XDG_CONFIG_HOME="$SMOKE/xdg" \
|
|
92
|
-
timeout 120 \
|
|
93
|
-
opencode run --print-logs --log-level DEBUG "Say OK only."
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
Expected result:
|
|
97
|
-
|
|
98
|
-
```text
|
|
99
|
-
OK
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Search logs for the bug signature. For the OpenCode 1.17.11 malformed-message
|
|
103
|
-
crash, use:
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
rg "message\\.info\\.role|undefined is not an object|Cannot read properties of undefined|TypeError" \
|
|
107
|
-
"$SMOKE/home/.local/share/opencode/log" -n 2>/dev/null || true
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
No matches should appear.
|
|
111
|
-
|
|
112
|
-
## OpenAI / Host-Provider Smoke
|
|
113
|
-
|
|
114
|
-
If the fully isolated environment cannot resolve OpenAI provider aliases, run a
|
|
115
|
-
separate host-provider smoke while keeping the plugin path pointed at the
|
|
116
|
-
tarball install.
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
mkdir -p "$SMOKE/config"
|
|
120
|
-
cat > "$SMOKE/config/opencode.json" <<EOF
|
|
121
|
-
{
|
|
122
|
-
"model": "openai/gpt-5.6-fast",
|
|
123
|
-
"plugin": [
|
|
124
|
-
"file://$SMOKE/app/node_modules/oh-my-opencode-slim/dist/index.js"
|
|
125
|
-
],
|
|
126
|
-
"agent": {
|
|
127
|
-
"orchestrator": {
|
|
128
|
-
"model": "openai/gpt-5.6-fast"
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
EOF
|
|
133
|
-
|
|
134
|
-
OPENCODE_CONFIG_DIR="$SMOKE/config" \
|
|
135
|
-
timeout 120 \
|
|
136
|
-
opencode run --print-logs --log-level DEBUG "Say OK only."
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
Report this as a host-provider smoke because existing project, user, or Orca
|
|
140
|
-
OpenCode config may still merge in. Use `opencode debug config` to disclose
|
|
141
|
-
what else loaded.
|
|
142
|
-
|
|
143
|
-
## Reporting Template
|
|
144
|
-
|
|
145
|
-
```markdown
|
|
146
|
-
## Release-candidate smoke validation
|
|
147
|
-
|
|
148
|
-
- Commit under test:
|
|
149
|
-
- Tarball:
|
|
150
|
-
- Installed package version:
|
|
151
|
-
- OpenCode version:
|
|
152
|
-
- Config isolation: sanitized `env -i` / host-provider
|
|
153
|
-
- Plugin origin:
|
|
154
|
-
- Model:
|
|
155
|
-
- Command:
|
|
156
|
-
- Result:
|
|
157
|
-
- Crash signature search:
|
|
158
|
-
- Limitations:
|
|
159
|
-
```
|