open-multi-agent-kit 0.90.3 → 0.90.4
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 +16 -14
- package/dist/config.d.ts +3 -6
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +27 -19
- package/dist/config.js.map +1 -1
- package/dist/core/adaptorch-bridge.d.ts +257 -0
- package/dist/core/adaptorch-bridge.d.ts.map +1 -0
- package/dist/core/adaptorch-bridge.js +473 -0
- package/dist/core/adaptorch-bridge.js.map +1 -0
- package/dist/core/agent-session.d.ts +130 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +286 -0
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/bang-skill-invocation.d.ts.map +1 -1
- package/dist/core/bang-skill-invocation.js +149 -0
- package/dist/core/bang-skill-invocation.js.map +1 -1
- package/dist/core/compaction/utils.d.ts.map +1 -1
- package/dist/core/compaction/utils.js +15 -2
- package/dist/core/compaction/utils.js.map +1 -1
- package/dist/core/domain-loadouts.d.ts.map +1 -1
- package/dist/core/domain-loadouts.js +1 -1
- package/dist/core/domain-loadouts.js.map +1 -1
- package/dist/core/reasoning-router-bias.d.ts +119 -0
- package/dist/core/reasoning-router-bias.d.ts.map +1 -0
- package/dist/core/reasoning-router-bias.js +287 -0
- package/dist/core/reasoning-router-bias.js.map +1 -0
- package/dist/core/reasoning-router-v2.d.ts +94 -0
- package/dist/core/reasoning-router-v2.d.ts.map +1 -0
- package/dist/core/reasoning-router-v2.js +288 -0
- package/dist/core/reasoning-router-v2.js.map +1 -0
- package/dist/core/reasoning-router-v3.d.ts +15 -0
- package/dist/core/reasoning-router-v3.d.ts.map +1 -0
- package/dist/core/reasoning-router-v3.js +193 -0
- package/dist/core/reasoning-router-v3.js.map +1 -0
- package/dist/core/reasoning-router-v4-weights.d.ts +124 -0
- package/dist/core/reasoning-router-v4-weights.d.ts.map +1 -0
- package/dist/core/reasoning-router-v4-weights.js +112 -0
- package/dist/core/reasoning-router-v4-weights.js.map +1 -0
- package/dist/core/reasoning-router-v4.d.ts +163 -0
- package/dist/core/reasoning-router-v4.d.ts.map +1 -0
- package/dist/core/reasoning-router-v4.js +683 -0
- package/dist/core/reasoning-router-v4.js.map +1 -0
- package/dist/core/reasoning-router-weights.d.ts +155 -0
- package/dist/core/reasoning-router-weights.d.ts.map +1 -0
- package/dist/core/reasoning-router-weights.js +204 -0
- package/dist/core/reasoning-router-weights.js.map +1 -0
- package/dist/core/reasoning-router.d.ts +44 -0
- package/dist/core/reasoning-router.d.ts.map +1 -0
- package/dist/core/reasoning-router.js +138 -0
- package/dist/core/reasoning-router.js.map +1 -0
- package/dist/core/router-feedback-collector.d.ts +101 -0
- package/dist/core/router-feedback-collector.d.ts.map +1 -0
- package/dist/core/router-feedback-collector.js +239 -0
- package/dist/core/router-feedback-collector.js.map +1 -0
- package/dist/core/settings-manager.d.ts +28 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +16 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +4 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/modes/interactive/components/control-panel-runtime-status.d.ts +15 -0
- package/dist/modes/interactive/components/control-panel-runtime-status.d.ts.map +1 -1
- package/dist/modes/interactive/components/control-panel-runtime-status.js +95 -5
- package/dist/modes/interactive/components/control-panel-runtime-status.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +4 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +143 -18
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/docs/loadout-domains/README.md +8 -6
- package/docs/loadout-domains/ai-agent-ops.md +3 -2
- package/docs/loadout-domains/backend-api.md +3 -2
- package/docs/loadout-domains/data-science.md +3 -2
- package/docs/loadout-domains/devops-infra.md +2 -1
- package/docs/loadout-domains/docs-writing.md +7 -2
- package/docs/loadout-domains/frontend-ui.md +42 -11
- package/docs/loadout-domains/korean-document.md +83 -0
- package/docs/loadout-domains/mobile.md +1 -1
- package/docs/loadout-domains/qa-testing.md +4 -2
- package/docs/loadout-domains/security-audit.md +2 -1
- package/docs/loadout-domains/visual-qa.md +94 -0
- package/docs/skills.md +4 -1
- package/docs/usage.md +37 -3
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/npm-shrinkwrap.json +12 -12
- package/package.json +4 -4
- package/dist/agents/jailbreak/index.d.ts +0 -7
- package/dist/agents/jailbreak/index.d.ts.map +0 -1
- package/dist/agents/jailbreak/index.js +0 -7
- package/dist/agents/jailbreak/index.js.map +0 -1
- package/dist/agents/jailbreak/subagent-f.d.ts +0 -44
- package/dist/agents/jailbreak/subagent-f.d.ts.map +0 -1
- package/dist/agents/jailbreak/subagent-f.js +0 -60
- package/dist/agents/jailbreak/subagent-f.js.map +0 -1
- package/dist/cli/jailbreak-args.d.ts +0 -26
- package/dist/cli/jailbreak-args.d.ts.map +0 -1
- package/dist/cli/jailbreak-args.js +0 -86
- package/dist/cli/jailbreak-args.js.map +0 -1
- package/dist/commands/jailbreak.d.ts +0 -49
- package/dist/commands/jailbreak.d.ts.map +0 -1
- package/dist/commands/jailbreak.js +0 -201
- package/dist/commands/jailbreak.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -6
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -6
- package/dist/encoding/index.js.map +0 -1
- package/dist/encoding/l4-encoder.d.ts +0 -96
- package/dist/encoding/l4-encoder.d.ts.map +0 -1
- package/dist/encoding/l4-encoder.js +0 -474
- package/dist/encoding/l4-encoder.js.map +0 -1
- package/dist/fuzzing/index.d.ts +0 -6
- package/dist/fuzzing/index.d.ts.map +0 -1
- package/dist/fuzzing/index.js +0 -6
- package/dist/fuzzing/index.js.map +0 -1
- package/dist/fuzzing/mutation-engine.d.ts +0 -93
- package/dist/fuzzing/mutation-engine.d.ts.map +0 -1
- package/dist/fuzzing/mutation-engine.js +0 -244
- package/dist/fuzzing/mutation-engine.js.map +0 -1
- package/dist/jailbreak-extension.d.ts +0 -48
- package/dist/jailbreak-extension.d.ts.map +0 -1
- package/dist/jailbreak-extension.js +0 -47
- package/dist/jailbreak-extension.js.map +0 -1
- package/dist/modules/index.d.ts +0 -8
- package/dist/modules/index.d.ts.map +0 -1
- package/dist/modules/index.js +0 -7
- package/dist/modules/index.js.map +0 -1
- package/dist/modules/lrl-bypass.d.ts +0 -40
- package/dist/modules/lrl-bypass.d.ts.map +0 -1
- package/dist/modules/lrl-bypass.js +0 -84
- package/dist/modules/lrl-bypass.js.map +0 -1
- package/dist/modules/lrl-deps.d.ts +0 -38
- package/dist/modules/lrl-deps.d.ts.map +0 -1
- package/dist/modules/lrl-deps.js +0 -128
- package/dist/modules/lrl-deps.js.map +0 -1
- package/dist/multiturn/easl-chain.d.ts +0 -113
- package/dist/multiturn/easl-chain.d.ts.map +0 -1
- package/dist/multiturn/easl-chain.js +0 -351
- package/dist/multiturn/easl-chain.js.map +0 -1
- package/dist/multiturn/index.d.ts +0 -6
- package/dist/multiturn/index.d.ts.map +0 -1
- package/dist/multiturn/index.js +0 -6
- package/dist/multiturn/index.js.map +0 -1
- package/dist/routing/fallback-router.d.ts +0 -123
- package/dist/routing/fallback-router.d.ts.map +0 -1
- package/dist/routing/fallback-router.js +0 -355
- package/dist/routing/fallback-router.js.map +0 -1
- package/dist/routing/index.d.ts +0 -6
- package/dist/routing/index.d.ts.map +0 -1
- package/dist/routing/index.js +0 -6
- package/dist/routing/index.js.map +0 -1
- package/dist/types/jailbreak.d.ts +0 -246
- package/dist/types/jailbreak.d.ts.map +0 -1
- package/dist/types/jailbreak.js +0 -8
- package/dist/types/jailbreak.js.map +0 -1
- package/dist/utils/jailbreak/common.d.ts +0 -63
- package/dist/utils/jailbreak/common.d.ts.map +0 -1
- package/dist/utils/jailbreak/common.js +0 -130
- package/dist/utils/jailbreak/common.js.map +0 -1
- package/dist/utils/jailbreak/index.d.ts +0 -7
- package/dist/utils/jailbreak/index.d.ts.map +0 -1
- package/dist/utils/jailbreak/index.js +0 -7
- package/dist/utils/jailbreak/index.js.map +0 -1
|
@@ -21,9 +21,11 @@ OMK routes incoming tasks to a **domain capability profile** ("inherited documen
|
|
|
21
21
|
|
|
22
22
|
Thresholds: `STRONG_THRESHOLD = 8`, `WEAK_THRESHOLD = 4`, `AMBIGUITY_MARGIN = 2`.
|
|
23
23
|
|
|
24
|
-
## Domains (
|
|
24
|
+
## Domains (12 + 1 fallback)
|
|
25
25
|
|
|
26
26
|
- [`frontend-ui`](frontend-ui.md) — Frontend & UI
|
|
27
|
+
- [`visual-qa`](visual-qa.md) — Visual QA & Website Cloning
|
|
28
|
+
- [`korean-document`](korean-document.md) — Korean Document (HWP/HWPX)
|
|
27
29
|
- [`backend-api`](backend-api.md) — Backend & API
|
|
28
30
|
- [`data-science`](data-science.md) — Data Science & Analysis
|
|
29
31
|
- [`security-audit`](security-audit.md) — Security Audit
|
|
@@ -39,13 +41,13 @@ Thresholds: `STRONG_THRESHOLD = 8`, `WEAK_THRESHOLD = 4`, `AMBIGUITY_MARGIN = 2`
|
|
|
39
41
|
|
|
40
42
|
| task | path hints | routed to | confidence | reason |
|
|
41
43
|
|---|---|---|---|---|
|
|
42
|
-
| `build a responsive login form with tailwind` | `src/app/page.tsx` | [`frontend-ui`](frontend-ui.md) | confident | Frontend & UI selected (
|
|
43
|
-
| `scan for xss and sql injection vulnerabilities` | — | [`security-audit`](security-audit.md) | confident | Security Audit selected (
|
|
44
|
+
| `build a responsive login form with tailwind` | `src/app/page.tsx` | [`frontend-ui`](frontend-ui.md) | confident | Frontend & UI selected (20) |
|
|
45
|
+
| `scan for xss and sql injection vulnerabilities` | — | [`security-audit`](security-audit.md) | confident | Security Audit selected (19) |
|
|
44
46
|
| `do a literature review on RLHF, cite arxiv` | — | [`research`](research.md) | confident | Research & Investigation selected (17) |
|
|
45
|
-
| `write a dockerfile and deploy to vercel` | `Dockerfile` | [`devops-infra`](devops-infra.md) | confident | DevOps & Infrastructure selected (
|
|
46
|
-
| `fix the failing playwright e2e tests` | `tests/login.test.ts` | [`qa-testing`](qa-testing.md) | confident | QA & Testing selected (
|
|
47
|
+
| `write a dockerfile and deploy to vercel` | `Dockerfile` | [`devops-infra`](devops-infra.md) | confident | DevOps & Infrastructure selected (19) |
|
|
48
|
+
| `fix the failing playwright e2e tests` | `tests/login.test.ts` | [`qa-testing`](qa-testing.md) | confident | QA & Testing selected (28) |
|
|
47
49
|
| `add a postgres migration for the users table` | — | [`backend-api`](backend-api.md) | confident | Backend & API selected (11) |
|
|
48
|
-
| `train a classifier on the dataset, plot results` | `notebooks/model.ipynb` | [`data-science`](data-science.md) | confident | Data Science & Analysis selected (
|
|
50
|
+
| `train a classifier on the dataset, plot results` | `notebooks/model.ipynb` | [`data-science`](data-science.md) | confident | Data Science & Analysis selected (22) |
|
|
49
51
|
| `hello there` | — | [`general`](general.md) | fallback | no domain signals detected |
|
|
50
52
|
|
|
51
53
|
## Composition with role loadouts
|
|
@@ -71,7 +71,7 @@ HARD RULES: every agent/skill change has an eval; prompts are versioned and test
|
|
|
71
71
|
- `stop-verify`
|
|
72
72
|
- `subagent-stop-audit`
|
|
73
73
|
|
|
74
|
-
## Routing triggers (
|
|
74
|
+
## Routing triggers (18)
|
|
75
75
|
|
|
76
76
|
| kind | pattern | weight |
|
|
77
77
|
|---|---|---|
|
|
@@ -80,8 +80,9 @@ HARD RULES: every agent/skill change has an eval; prompts are versioned and test
|
|
|
80
80
|
| keyword | `prompt` | 4 |
|
|
81
81
|
| keyword | `skill` | 3 |
|
|
82
82
|
| keyword | `hook` | 3 |
|
|
83
|
+
| keyword | `훅` | 4 |
|
|
83
84
|
| keyword | `harness` | 6 |
|
|
84
|
-
|
|
|
85
|
+
| regex | `\borchestrat\w*\b` | 5 |
|
|
85
86
|
| keyword | `eval` | 5 |
|
|
86
87
|
| keyword | `subagent` | 6 |
|
|
87
88
|
| keyword | `tool` | 2 |
|
|
@@ -83,7 +83,7 @@ HARD RULES: parameterized queries only; migrations are reversible; no silent cat
|
|
|
83
83
|
- `typecheck-after-edit`
|
|
84
84
|
- `npm-audit-summary`
|
|
85
85
|
|
|
86
|
-
## Routing triggers (
|
|
86
|
+
## Routing triggers (28)
|
|
87
87
|
|
|
88
88
|
| kind | pattern | weight |
|
|
89
89
|
|---|---|---|
|
|
@@ -91,11 +91,12 @@ HARD RULES: parameterized queries only; migrations are reversible; no silent cat
|
|
|
91
91
|
| keyword | `api` | 4 |
|
|
92
92
|
| keyword | `endpoint` | 4 |
|
|
93
93
|
| keyword | `database` | 5 |
|
|
94
|
+
| keyword | `query performance` | 5 |
|
|
94
95
|
| keyword | `query` | 3 |
|
|
95
96
|
| keyword | `migration` | 5 |
|
|
96
97
|
| keyword | `schema` | 4 |
|
|
97
98
|
| keyword | `server` | 3 |
|
|
98
|
-
| keyword | `auth` |
|
|
99
|
+
| keyword | `auth` | 4 |
|
|
99
100
|
| keyword | `postgres` | 6 |
|
|
100
101
|
| keyword | `supabase` | 6 |
|
|
101
102
|
| keyword | `sql` | 5 |
|
|
@@ -71,7 +71,7 @@ HARD RULES: report effect size + CI, not just p-values; never train on test; nev
|
|
|
71
71
|
- `protect-secrets`
|
|
72
72
|
- `stop-verify`
|
|
73
73
|
|
|
74
|
-
## Routing triggers (
|
|
74
|
+
## Routing triggers (24)
|
|
75
75
|
|
|
76
76
|
| kind | pattern | weight |
|
|
77
77
|
|---|---|---|
|
|
@@ -81,6 +81,7 @@ HARD RULES: report effect size + CI, not just p-values; never train on test; nev
|
|
|
81
81
|
| keyword | `model` | 2 |
|
|
82
82
|
| keyword | `training` | 4 |
|
|
83
83
|
| keyword | `dataset` | 5 |
|
|
84
|
+
| keyword | `vector search` | 6 |
|
|
84
85
|
| keyword | `statistics` | 5 |
|
|
85
86
|
| keyword | `regression` | 4 |
|
|
86
87
|
| keyword | `classification` | 4 |
|
|
@@ -94,7 +95,7 @@ HARD RULES: report effect size + CI, not just p-values; never train on test; nev
|
|
|
94
95
|
| keyword | `tensorflow` | 5 |
|
|
95
96
|
| keyword | `scikit` | 6 |
|
|
96
97
|
| keyword | `bayesian` | 5 |
|
|
97
|
-
| regex | `\b(eda|ml|machine learning|inference|
|
|
98
|
+
| regex | `\b(eda|ml|machine learning|inference|embeddings?)\b` | 5 |
|
|
98
99
|
| extension | `.ipynb` | 7 |
|
|
99
100
|
| path | `notebooks/` | 6 |
|
|
100
101
|
| path | `models/` | 3 |
|
|
@@ -59,11 +59,12 @@ HARD RULES: every deploy is reversible within one command; never bake secrets in
|
|
|
59
59
|
- `protect-secrets`
|
|
60
60
|
- `stop-verify`
|
|
61
61
|
|
|
62
|
-
## Routing triggers (
|
|
62
|
+
## Routing triggers (21)
|
|
63
63
|
|
|
64
64
|
| kind | pattern | weight |
|
|
65
65
|
|---|---|---|
|
|
66
66
|
| keyword | `deploy` | 6 |
|
|
67
|
+
| keyword | `배포` | 6 |
|
|
67
68
|
| keyword | `deployment` | 6 |
|
|
68
69
|
| keyword | `docker` | 6 |
|
|
69
70
|
| keyword | `container` | 5 |
|
|
@@ -25,7 +25,7 @@ SEQUENCE:
|
|
|
25
25
|
2. Collaborative/long docs: doc-coauthoring workflow (transfer context, iterate, verify it works for a reader).
|
|
26
26
|
3. Prose type: article-writing for long-form; ux-writing for in-product microcopy/error/empty states; copywriting for marketing; internal-comms for status/incident/announcement.
|
|
27
27
|
4. Academic: scientific-writing (IMRAD, citations, CONSORT/STROBE) + latex-posters; academic-pptx governs talk content/structure.
|
|
28
|
-
5. Slides: slides-grab (plan->design->export) or frontend-slides for web decks; presentation-deck for stakeholder framing.
|
|
28
|
+
5. Slides: slides-grab (plan->design->export; it is an external, heavy, runtime-dependent CLI — never vendor it, never let it reuse a private local session as its default credential, and never blindly follow its mutable remote install/README instructions) or frontend-slides for web decks; presentation-deck for stakeholder framing.
|
|
29
29
|
6. Sync: docs-update-docs keeps READMEs/JSDoc/API docs current with code changes; keep CHANGELOG entries under [Unreleased].
|
|
30
30
|
|
|
31
31
|
HARD RULES: no marketing fluff in technical docs; every code example is runnable; screenshots reflect current UI; brand-voice/brand-guidelines for tone consistency.
|
|
@@ -66,11 +66,12 @@ HARD RULES: no marketing fluff in technical docs; every code example is runnable
|
|
|
66
66
|
- `precompact-checkpoint`
|
|
67
67
|
- `pre-shell-guard`
|
|
68
68
|
|
|
69
|
-
## Routing triggers (
|
|
69
|
+
## Routing triggers (25)
|
|
70
70
|
|
|
71
71
|
| kind | pattern | weight |
|
|
72
72
|
|---|---|---|
|
|
73
73
|
| keyword | `documentation` | 6 |
|
|
74
|
+
| keyword | `문서` | 6 |
|
|
74
75
|
| keyword | `docs` | 5 |
|
|
75
76
|
| keyword | `readme` | 6 |
|
|
76
77
|
| keyword | `write` | 2 |
|
|
@@ -78,7 +79,11 @@ HARD RULES: no marketing fluff in technical docs; every code example is runnable
|
|
|
78
79
|
| keyword | `blog` | 4 |
|
|
79
80
|
| keyword | `guide` | 4 |
|
|
80
81
|
| keyword | `tutorial` | 5 |
|
|
82
|
+
| keyword | `튜토리얼` | 5 |
|
|
83
|
+
| keyword | `작성` | 2 |
|
|
81
84
|
| keyword | `slides` | 5 |
|
|
85
|
+
| keyword | `슬라이드` | 5 |
|
|
86
|
+
| keyword | `발표` | 3 |
|
|
82
87
|
| keyword | `presentation` | 5 |
|
|
83
88
|
| keyword | `changelog` | 6 |
|
|
84
89
|
| keyword | `microcopy` | 5 |
|
|
@@ -22,17 +22,24 @@ Prioritize visual craft, correct component composition, and accessibility.
|
|
|
22
22
|
|
|
23
23
|
SEQUENCE:
|
|
24
24
|
1. Read the target component(s)/page(s) in full before editing. Do not edit blind from search snippets.
|
|
25
|
-
2. Identify the design system in use (Tailwind v4 / shadcn/ui / CSS modules / vanilla). Match it exactly; never introduce a second system.
|
|
26
|
-
3.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
2. Identify the design system in use (Tailwind v4 / shadcn/ui / CSS modules / vanilla). Match it exactly; never introduce a second system. Use context7 for current framework/library docs before changing unfamiliar APIs.
|
|
26
|
+
3. Website clone / visual QA work follows the ai-website-cloner-template gate contract:
|
|
27
|
+
Reconnaissance -> Design-Token Foundation -> Component Specs -> Asset Gate -> Build Gate -> QA Gate.
|
|
28
|
+
Reconnaissance uses Chrome/Playwright: chrome-devtools first for live inspection, playwright when deterministic multi-viewport screenshots or scripted interaction sweeps are needed. Capture screenshots at responsive sizes 1440/768/390, getComputedStyle design-token samples, assets, page topology, hover/click/scroll/time-driven behavior, and responsive breakpoints.
|
|
29
|
+
4. Design-Token Foundation is sequential: fonts, oklch/shadcn-compatible tokens, global CSS, page-level motion primitives, icon extraction, downloaded assets, and typed content structures. Do not dispatch component builders until the foundation exists.
|
|
30
|
+
5. Component Specs are contracts: component-spec-before-build requires a spec artifact before implementation. Specs include exact getComputedStyle values, DOM structure, interaction model, all states, assets, verbatim content, and responsive behavior. Split anything whose builder prompt would exceed ~150 lines.
|
|
31
|
+
6. Asset Gate: real extractable assets are downloaded, named, and referenced before build; no mock assets when source assets are available.
|
|
32
|
+
7. Build Gate: one builder per section or sub-component receives the full spec inline plus screenshot path, target file, imports, breakpoint behavior, and a typecheck/build requirement. Assembly wires sections into page-level layout and behaviors.
|
|
33
|
+
8. QA Gate: visual-diff-after-edit requires side-by-side visual diff artifacts against the reference at 1440/768/390. Test interactions with Chrome/Playwright; run web-quality-audit for perf/a11y/SEO/best-practices and typecheck-after-edit before done.
|
|
34
|
+
9. Evidence must include screenshots, getComputedStyle captures, responsive sizes 1440/768/390, side-by-side visual diff artifacts, Chrome/Playwright command/tool results, changed files, and known discrepancies.
|
|
35
|
+
10. Accessibility: run the fixing-accessibility + contrast-checker + use-of-color skills. Every interactive element needs a reachable name, visible focus, and AA contrast.
|
|
36
|
+
11. Motion: prefer the transitions-dev / animate / 12-principles-of-animation skills; gate heavy effects behind fix-motion-performance so animation never blocks the main thread.
|
|
37
|
+
12. Prefer composition over boolean-prop sprawl (vercel-composition-patterns). Keep components small and spec-driven.
|
|
38
|
+
|
|
39
|
+
HARD RULES: no inline styles when a token/utility exists; oklch tokens for color; mobile-first responsive; real content over placeholders; pixel-match the target first, customize later; no visual claim without bounded screenshot/diff evidence.
|
|
33
40
|
```
|
|
34
41
|
|
|
35
|
-
## Curated skills (
|
|
42
|
+
## Curated skills (54)
|
|
36
43
|
|
|
37
44
|
- `frontend-design`
|
|
38
45
|
- `frontend-ui-engineering`
|
|
@@ -73,8 +80,14 @@ HARD RULES: no inline styles when a token/utility exists; oklch tokens for color
|
|
|
73
80
|
- `remotion-best-practices`
|
|
74
81
|
- `web-quality-audit`
|
|
75
82
|
- `audit-and-fix`
|
|
83
|
+
- `browser-qa`
|
|
84
|
+
- `webapp-testing`
|
|
85
|
+
- `e2e-testing`
|
|
86
|
+
- `playwright-cli`
|
|
76
87
|
- `image-to-code`
|
|
77
88
|
- `visual-ralph`
|
|
89
|
+
- `visual-regression`
|
|
90
|
+
- `visual-diff`
|
|
78
91
|
- `gstack-design-review`
|
|
79
92
|
- `gstack-design-html`
|
|
80
93
|
- `gstack-design-shotgun`
|
|
@@ -90,19 +103,24 @@ HARD RULES: no inline styles when a token/utility exists; oklch tokens for color
|
|
|
90
103
|
- `filesystem`
|
|
91
104
|
- `context7`
|
|
92
105
|
|
|
93
|
-
## Curated hooks (
|
|
106
|
+
## Curated hooks (6)
|
|
94
107
|
|
|
95
108
|
- `typecheck-after-edit`
|
|
96
109
|
- `pre-shell-guard`
|
|
97
110
|
- `protect-secrets`
|
|
111
|
+
- `component-spec-before-build`
|
|
112
|
+
- `visual-diff-after-edit`
|
|
113
|
+
- `bounded-evidence`
|
|
98
114
|
|
|
99
|
-
## Routing triggers (
|
|
115
|
+
## Routing triggers (41)
|
|
100
116
|
|
|
101
117
|
| kind | pattern | weight |
|
|
102
118
|
|---|---|---|
|
|
103
119
|
| keyword | `ui` | 3 |
|
|
104
120
|
| keyword | `frontend` | 5 |
|
|
105
121
|
| keyword | `component` | 3 |
|
|
122
|
+
| keyword | `컴포넌트` | 4 |
|
|
123
|
+
| keyword | `디자인` | 4 |
|
|
106
124
|
| keyword | `css` | 4 |
|
|
107
125
|
| keyword | `tailwind` | 5 |
|
|
108
126
|
| keyword | `responsive` | 4 |
|
|
@@ -118,8 +136,21 @@ HARD RULES: no inline styles when a token/utility exists; oklch tokens for color
|
|
|
118
136
|
| keyword | `modal` | 2 |
|
|
119
137
|
| keyword | `shadcn` | 5 |
|
|
120
138
|
| keyword | `clone` | 3 |
|
|
139
|
+
| keyword | `website clone` | 7 |
|
|
140
|
+
| keyword | `clone website` | 7 |
|
|
141
|
+
| keyword | `rebuild website` | 6 |
|
|
142
|
+
| keyword | `recreate website` | 6 |
|
|
143
|
+
| keyword | `pixel-perfect clone` | 8 |
|
|
144
|
+
| keyword | `visual diff` | 6 |
|
|
145
|
+
| keyword | `design tokens` | 5 |
|
|
146
|
+
| keyword | `component spec` | 5 |
|
|
147
|
+
| keyword | `getcomputedstyle` | 5 |
|
|
148
|
+
| keyword | `reconnaissance` | 5 |
|
|
149
|
+
| keyword | `클론` | 5 |
|
|
150
|
+
| keyword | `스크린샷` | 4 |
|
|
121
151
|
| regex | `\b(react|vue|svelte|next\.?js|nuxt)\b` | 4 |
|
|
122
152
|
| regex | `\b(tailwind|css|styled|emotion|radix)\b` | 4 |
|
|
153
|
+
| regex | `\b(visual qa|responsive sweep|interaction sweep|computed styles?)\b` | 6 |
|
|
123
154
|
| extension | `.vue` | 6 |
|
|
124
155
|
| extension | `.tsx` | 4 |
|
|
125
156
|
| extension | `.jsx` | 4 |
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Korean Document (HWP/HWPX) (`korean-document`)
|
|
2
|
+
|
|
3
|
+
> Inherited domain capability document. Auto-generated from `src/core/domain-loadouts.ts` — do not edit by hand.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Identity
|
|
7
|
+
|
|
8
|
+
| field | value |
|
|
9
|
+
|---|---|
|
|
10
|
+
| id | `korean-document` |
|
|
11
|
+
| authority | `write-scoped` |
|
|
12
|
+
| tools | read, grep, find, ls, edit, write, bash |
|
|
13
|
+
| command mode | `scoped-shell` |
|
|
14
|
+
|
|
15
|
+
## Routing prompt
|
|
16
|
+
|
|
17
|
+
> Prepended to the lane task prompt when the router selects this domain.
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
DOMAIN: Korean Document (HWP/HWPX). You are operating in a document extraction/rendering/export lane for Korean Hangul documents.
|
|
21
|
+
Use OMK skills, MCP, and hooks to orchestrate rhwp-style capability without vendoring Rust, WASM, or CLI binaries into the repo.
|
|
22
|
+
|
|
23
|
+
SEQUENCE:
|
|
24
|
+
1. Detection first: identify HWP/HWPX by extension plus container sniffing. HWP is normally OLE Compound File Binary; HWPX is normally ZIP/XML package content. Never trust extension alone. Record filename, byte size, hash, detected format, and whether the file appears encrypted/protected.
|
|
25
|
+
2. Load current docs with context7 before coding against @rhwp/core, rhwp APIs, pdf rendering packages, or browser automation APIs. Use project-installed tools when present; do not add or vendor rhwp Rust/WASM/CLI artifacts unless the user explicitly requests dependency work.
|
|
26
|
+
3. Extraction path: produce bounded text and markdown outputs, structured metadata, section/page outline, tables, images/assets references, equations/charts notes, and warnings for unsupported controls. Keep private document content bounded: short excerpts, counts, hashes, and output paths rather than dumping whole documents.
|
|
27
|
+
4. Render path: use rhwp-oriented skills for layout/page fidelity. Use chrome-devtools/playwright only to render or capture web/WASM/canvas/SVG views that already exist in the project. Capture SVG/page snapshots and PNG evidence with viewport/page labels.
|
|
28
|
+
5. Export path: support text, markdown, svg, png, and pdf outputs. Prefer native/project export APIs when available; otherwise assemble via browser-rendered SVG/canvas/PDF flows. Always write artifacts to an explicit output directory and report a manifest.
|
|
29
|
+
6. Metadata path: collect page count, section count, dimensions, fonts, embedded images, tables, headers/footers, footnotes/endnotes, equations/charts, fields, protection/encryption status, and conversion warnings.
|
|
30
|
+
7. Evidence: bounded-evidence and document-artifact-guard require an artifact manifest containing input hash, detected format, commands/tools used, output paths, output byte sizes, page/sample counts, warnings, and at most small redacted excerpts. stop-verify must pass before done.
|
|
31
|
+
|
|
32
|
+
HARD RULES: no vendored rhwp binaries; no fake conversion claims; no full private document dump in chat; output artifacts must be traceable; every render/export claim needs bounded evidence.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Curated skills (10)
|
|
36
|
+
|
|
37
|
+
- `rhwp`
|
|
38
|
+
- `rhwp-edit`
|
|
39
|
+
- `rhwp-advanced`
|
|
40
|
+
- `hwp`
|
|
41
|
+
- `kordoc`
|
|
42
|
+
- `document-conversion`
|
|
43
|
+
- `document-extraction`
|
|
44
|
+
- `pdf`
|
|
45
|
+
- `react-pdf`
|
|
46
|
+
- `verification-loop`
|
|
47
|
+
|
|
48
|
+
## Curated MCP servers (4)
|
|
49
|
+
|
|
50
|
+
- `filesystem`
|
|
51
|
+
- `context7`
|
|
52
|
+
- `chrome-devtools`
|
|
53
|
+
- `playwright`
|
|
54
|
+
|
|
55
|
+
## Curated hooks (5)
|
|
56
|
+
|
|
57
|
+
- `pre-shell-guard`
|
|
58
|
+
- `protect-secrets`
|
|
59
|
+
- `bounded-evidence`
|
|
60
|
+
- `document-artifact-guard`
|
|
61
|
+
- `stop-verify`
|
|
62
|
+
|
|
63
|
+
## Routing triggers (17)
|
|
64
|
+
|
|
65
|
+
| kind | pattern | weight |
|
|
66
|
+
|---|---|---|
|
|
67
|
+
| keyword | `hwp` | 7 |
|
|
68
|
+
| keyword | `hwpx` | 8 |
|
|
69
|
+
| keyword | `rhwp` | 8 |
|
|
70
|
+
| keyword | `hancom` | 6 |
|
|
71
|
+
| keyword | `hangul document` | 6 |
|
|
72
|
+
| keyword | `한글 문서` | 7 |
|
|
73
|
+
| keyword | `아래아한글` | 7 |
|
|
74
|
+
| keyword | `한컴` | 6 |
|
|
75
|
+
| keyword | `hwp to markdown` | 8 |
|
|
76
|
+
| keyword | `hwp to pdf` | 8 |
|
|
77
|
+
| keyword | `hwpx to pdf` | 8 |
|
|
78
|
+
| keyword | `svg export` | 3 |
|
|
79
|
+
| keyword | `document metadata` | 4 |
|
|
80
|
+
| regex | `\b(hwp|hwpx|rhwp|hancom)\b` | 7 |
|
|
81
|
+
| regex | `\b(extract|render|export|metadata)\b.*\b(hwp|hwpx)\b` | 6 |
|
|
82
|
+
| extension | `.hwp` | 9 |
|
|
83
|
+
| extension | `.hwpx` | 9 |
|
|
@@ -72,7 +72,7 @@ HARD RULES: no main-thread blocking; respect safe areas / insets / notches; life
|
|
|
72
72
|
| keyword | `swift` | 6 |
|
|
73
73
|
| keyword | `swiftui` | 7 |
|
|
74
74
|
| keyword | `kotlin` | 6 |
|
|
75
|
-
|
|
|
75
|
+
| regex | `\b(jetpack compose|compose multiplatform|android compose)\b` | 7 |
|
|
76
76
|
| keyword | `kmp` | 6 |
|
|
77
77
|
| keyword | `react native` | 6 |
|
|
78
78
|
| keyword | `expo` | 5 |
|
|
@@ -62,7 +62,7 @@ HARD RULES: tests-only command mode (no arbitrary shell); every fix is re-verifi
|
|
|
62
62
|
- `pre-shell-guard`
|
|
63
63
|
- `protect-secrets`
|
|
64
64
|
|
|
65
|
-
## Routing triggers (
|
|
65
|
+
## Routing triggers (21)
|
|
66
66
|
|
|
67
67
|
| kind | pattern | weight |
|
|
68
68
|
|---|---|---|
|
|
@@ -70,6 +70,8 @@ HARD RULES: tests-only command mode (no arbitrary shell); every fix is re-verifi
|
|
|
70
70
|
| keyword | `testing` | 5 |
|
|
71
71
|
| keyword | `qa` | 6 |
|
|
72
72
|
| keyword | `bug` | 4 |
|
|
73
|
+
| keyword | `버그` | 4 |
|
|
74
|
+
| keyword | `테스트` | 5 |
|
|
73
75
|
| keyword | `regression` | 6 |
|
|
74
76
|
| keyword | `e2e` | 7 |
|
|
75
77
|
| keyword | `playwright` | 7 |
|
|
@@ -80,7 +82,7 @@ HARD RULES: tests-only command mode (no arbitrary shell); every fix is re-verifi
|
|
|
80
82
|
| keyword | `fix test` | 5 |
|
|
81
83
|
| keyword | `failing` | 4 |
|
|
82
84
|
| keyword | `flaky` | 6 |
|
|
83
|
-
| regex | `\b(unit
|
|
85
|
+
| regex | `\b(unit tests?|integration tests?|snapshot|mock|fixture)\b` | 6 |
|
|
84
86
|
| path | `test/` | 5 |
|
|
85
87
|
| path | `tests/` | 5 |
|
|
86
88
|
| path | `.test.` | 5 |
|
|
@@ -71,7 +71,7 @@ HARD RULES: read-only by default; every finding needs file:line + exploit sketch
|
|
|
71
71
|
- `stop-verify`
|
|
72
72
|
- `subagent-stop-audit`
|
|
73
73
|
|
|
74
|
-
## Routing triggers (
|
|
74
|
+
## Routing triggers (21)
|
|
75
75
|
|
|
76
76
|
| kind | pattern | weight |
|
|
77
77
|
|---|---|---|
|
|
@@ -88,6 +88,7 @@ HARD RULES: read-only by default; every finding needs file:line + exploit sketch
|
|
|
88
88
|
| keyword | `leak` | 5 |
|
|
89
89
|
| keyword | `crypto` | 4 |
|
|
90
90
|
| keyword | `hardening` | 5 |
|
|
91
|
+
| keyword | `threat model` | 5 |
|
|
91
92
|
| keyword | `threat` | 5 |
|
|
92
93
|
| keyword | `penetration` | 6 |
|
|
93
94
|
| keyword | `malware` | 6 |
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Visual QA & Website Cloning (`visual-qa`)
|
|
2
|
+
|
|
3
|
+
> Inherited domain capability document. Auto-generated from `src/core/domain-loadouts.ts` — do not edit by hand.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Identity
|
|
7
|
+
|
|
8
|
+
| field | value |
|
|
9
|
+
|---|---|
|
|
10
|
+
| id | `visual-qa` |
|
|
11
|
+
| authority | `write-scoped` |
|
|
12
|
+
| tools | read, grep, find, ls, edit, write, bash |
|
|
13
|
+
| command mode | `scoped-shell` |
|
|
14
|
+
|
|
15
|
+
## Routing prompt
|
|
16
|
+
|
|
17
|
+
> Prepended to the lane task prompt when the router selects this domain.
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
DOMAIN: Visual QA & Website Cloning. You are operating in a browser-driven UI reconstruction and verification lane.
|
|
21
|
+
This domain carries the ai-website-cloner-template workflow inside OMK loadouts without copying its project scaffold.
|
|
22
|
+
Pipeline: Reconnaissance -> Design-Token Foundation -> Component Specs -> Asset Gate -> Build Gate -> QA Gate.
|
|
23
|
+
|
|
24
|
+
SEQUENCE:
|
|
25
|
+
1. Pre-flight: browser automation is required. Prefer Chrome/Playwright: chrome-devtools for live inspection, playwright for deterministic screenshot, viewport, and interaction replay. Use context7 for current framework and Playwright docs before coding against unfamiliar APIs.
|
|
26
|
+
2. Reconnaissance: capture full-page screenshots at responsive sizes 1440/768/390, getComputedStyle color/type/spacing tokens, assets, page topology, z-index/sticky overlays, scroll/click/hover/time behavior, and responsive breakpoints. Save bounded artifacts and behavior notes.
|
|
27
|
+
3. Design-Token Foundation: update only the target project's existing frontend foundation: fonts, globals, tokens, icon extraction, downloaded assets, typed content structures, and page-level motion primitives. Foundation is sequential.
|
|
28
|
+
4. Component Specs: component-spec-before-build requires one spec per section/sub-component before implementation. Specs include exact getComputedStyle values, DOM structure, all states, interaction model, assets, verbatim text, screenshots, and responsive behavior. Split specs that would create a builder prompt over ~150 lines.
|
|
29
|
+
5. Asset Gate: real extractable assets are downloaded, named, and referenced before build; no mock assets when source assets are available.
|
|
30
|
+
6. Build Gate: dispatch or implement one section/sub-component at a time from its spec; builders receive the full spec inline, not a pointer. Require typecheck-after-edit and the target project's build/smoke command before merging/assembling.
|
|
31
|
+
7. QA Gate: wire sections into page layout, then visual-diff-after-edit requires side-by-side visual diff artifacts against the reference at 1440/768/390. Re-test scroll, hover, click, tab, carousel, modal, and animation behavior with Chrome/Playwright.
|
|
32
|
+
8. Evidence: bounded-evidence records screenshots, getComputedStyle captures, responsive sizes 1440/768/390, side-by-side visual diff paths, Chrome/Playwright command/tool results, changed files, known discrepancies, and any remaining fidelity gaps.
|
|
33
|
+
|
|
34
|
+
HARD RULES: no guessed CSS values; no builder without a spec artifact; no mock assets when real assets are extractable; no completion claim without visual diff evidence; general Playwright test failures without visual/reconstruction intent stay in qa-testing.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Curated skills (17)
|
|
38
|
+
|
|
39
|
+
- `clone-website`
|
|
40
|
+
- `browser-qa`
|
|
41
|
+
- `webapp-testing`
|
|
42
|
+
- `e2e-testing`
|
|
43
|
+
- `playwright-cli`
|
|
44
|
+
- `web-quality-audit`
|
|
45
|
+
- `audit-and-fix`
|
|
46
|
+
- `visual-regression`
|
|
47
|
+
- `visual-diff`
|
|
48
|
+
- `visual-ralph`
|
|
49
|
+
- `image-to-code`
|
|
50
|
+
- `frontend-ui-engineering`
|
|
51
|
+
- `frontend-design`
|
|
52
|
+
- `fixing-accessibility`
|
|
53
|
+
- `contrast-checker`
|
|
54
|
+
- `use-of-color`
|
|
55
|
+
- `fix-motion-performance`
|
|
56
|
+
|
|
57
|
+
## Curated MCP servers (4)
|
|
58
|
+
|
|
59
|
+
- `chrome-devtools`
|
|
60
|
+
- `playwright`
|
|
61
|
+
- `filesystem`
|
|
62
|
+
- `context7`
|
|
63
|
+
|
|
64
|
+
## Curated hooks (7)
|
|
65
|
+
|
|
66
|
+
- `component-spec-before-build`
|
|
67
|
+
- `visual-diff-after-edit`
|
|
68
|
+
- `typecheck-after-edit`
|
|
69
|
+
- `pre-shell-guard`
|
|
70
|
+
- `protect-secrets`
|
|
71
|
+
- `bounded-evidence`
|
|
72
|
+
- `stop-verify`
|
|
73
|
+
|
|
74
|
+
## Routing triggers (17)
|
|
75
|
+
|
|
76
|
+
| kind | pattern | weight |
|
|
77
|
+
|---|---|---|
|
|
78
|
+
| keyword | `visual qa` | 8 |
|
|
79
|
+
| keyword | `visual diff` | 8 |
|
|
80
|
+
| keyword | `screenshot diff` | 8 |
|
|
81
|
+
| keyword | `website clone` | 8 |
|
|
82
|
+
| keyword | `clone website` | 8 |
|
|
83
|
+
| keyword | `pixel-perfect clone` | 9 |
|
|
84
|
+
| keyword | `responsive sweep` | 7 |
|
|
85
|
+
| keyword | `interaction sweep` | 7 |
|
|
86
|
+
| keyword | `component spec` | 7 |
|
|
87
|
+
| keyword | `getcomputedstyle` | 7 |
|
|
88
|
+
| keyword | `design tokens` | 6 |
|
|
89
|
+
| keyword | `assembly qa` | 6 |
|
|
90
|
+
| keyword | `reconnaissance` | 6 |
|
|
91
|
+
| keyword | `클론` | 6 |
|
|
92
|
+
| keyword | `스크린샷` | 5 |
|
|
93
|
+
| regex | `\b(pixel[ -]?perfect|visual regression|viewport sweep)\b` | 7 |
|
|
94
|
+
| regex | `\b(recreate|rebuild|reverse-engineer)\b.*\b(website|page|site)\b` | 7 |
|
package/docs/skills.md
CHANGED
|
@@ -79,11 +79,14 @@ Skills register as `/skill:name` commands and interactive `!` launcher entries:
|
|
|
79
79
|
/skill:pdf-tools extract # Load skill with arguments
|
|
80
80
|
!skill:brave-search # Load and execute from the bang launcher
|
|
81
81
|
!brave-search query # Shorthand when brave-search is a known skill
|
|
82
|
+
!omk frontend build a navbar # Route through OMK role hubs, selecting omk-frontend
|
|
82
83
|
```
|
|
83
84
|
|
|
84
85
|
Arguments after the command are appended after the skill content for the current turn.
|
|
85
86
|
|
|
86
|
-
|
|
87
|
+
`!omk <role-or-request>` is a deterministic OMK hub router. Exact role aliases such as `frontend`, `backend`, `loop`, and `plan` select `omk-frontend`, `omk-backend-data`, `omk-loop`, and `omk-plan`; free-form prompts are scored against the same hub vocabulary and fall back to `omk-skills` when no role is clear.
|
|
88
|
+
|
|
89
|
+
In interactive mode, type `!` to open skill autocomplete. Selecting a skill inserts the explicit `!skill:name ` form, and `!omk` is offered when the OMK skill hub index is available. Bash remains available as `! command`, and `!! command` runs bash without sending output to the model. If `!token` is not a known skill, it falls back to bash; use `! command` when a command name might collide with a skill. `!omk` is reserved for OMK hub routing and never falls through to bash.
|
|
87
90
|
|
|
88
91
|
Toggle skill commands via `/settings` in interactive mode or in `settings.json`:
|
|
89
92
|
|
package/docs/usage.md
CHANGED
|
@@ -23,7 +23,7 @@ The editor can be replaced temporarily by built-in UI such as `/settings` or by
|
|
|
23
23
|
| Path completion | Press Tab to complete paths |
|
|
24
24
|
| Multi-line input | Shift+Enter, or Ctrl+Enter on Windows Terminal |
|
|
25
25
|
| Images | Paste with Ctrl+V, Alt+V on Windows, or drag into the terminal |
|
|
26
|
-
| Skill/bash launcher | `!` opens skill completion; `!skill:name prompt` invokes a skill |
|
|
26
|
+
| Skill/bash launcher | `!` opens skill completion; `!skill:name prompt` invokes a skill; `!omk <role-or-request>` routes through OMK role hubs |
|
|
27
27
|
| Shell command | `! command` runs and sends output to the model |
|
|
28
28
|
| Hidden shell command | `!! command` runs without sending output to the model |
|
|
29
29
|
| External editor | Ctrl+G opens `$VISUAL` or `$EDITOR` |
|
|
@@ -32,13 +32,13 @@ See [Keybindings](keybindings.md) for all shortcuts and customization.
|
|
|
32
32
|
|
|
33
33
|
## Slash Commands
|
|
34
34
|
|
|
35
|
-
Type `/` in the editor to open command completion. Extensions can register custom commands, skills are available as `/skill:name`, `!skill:name`, or `!name` for known skills, and prompt templates expand via `/templatename`.
|
|
35
|
+
Type `/` in the editor to open command completion. Extensions can register custom commands, skills are available as `/skill:name`, `!skill:name`, or `!name` for known skills, `!omk <role-or-request>` selects an OMK role hub such as frontend, backend, loop, or plan, and prompt templates expand via `/templatename`.
|
|
36
36
|
|
|
37
37
|
| Command | Description |
|
|
38
38
|
|---------|-------------|
|
|
39
39
|
| `/login`, `/logout` | Manage OAuth or API-key credentials |
|
|
40
40
|
| `/model` | Switch models, then choose thinking level |
|
|
41
|
-
| `/think` | Choose thinking level |
|
|
41
|
+
| `/think` | Choose thinking level, or `auto`/`auto-v2`/`auto-v3`/`auto-v4` to route per task |
|
|
42
42
|
| `/scoped-models` | Enable/disable models for Ctrl+P cycling |
|
|
43
43
|
| `/settings` | Thinking level, theme, message delivery, transport |
|
|
44
44
|
| `/resume` | Pick from previous sessions |
|
|
@@ -57,6 +57,40 @@ Type `/` in the editor to open command completion. Extensions can register custo
|
|
|
57
57
|
| `/changelog` | Display version history |
|
|
58
58
|
| `/quit` | Quit omk |
|
|
59
59
|
|
|
60
|
+
## Automatic Thinking Level Routing
|
|
61
|
+
|
|
62
|
+
`/think <level>` sets the thinking level manually. Manual levels always win: choosing a concrete level leaves auto routing, so no auto router runs.
|
|
63
|
+
|
|
64
|
+
`/think auto` remains the historical v1 local classifier and rule table (no network calls). `/think auto-v2`, `/think auto v2`, or `/think auto:v2` enables the calibrated v2 weighted router. `/think auto-v3`, `/think auto v3`, or `/think auto:v3` enables the contextual v3 router. `/think auto-v4`, `/think auto v4`, or `/think auto:v4` enables the confidence-bearing v4 router. Use `/think auto-v1`, `/think auto v1`, or `/think auto:v1` to return explicitly to v1.
|
|
65
|
+
|
|
66
|
+
The active auto routers classify each prompt into a task class (trivial, simple edit, code generation, debug, refactor, review, plan) and map it to a recommended level, from `minimal` for trivial prompts up to `xhigh` for planning work.
|
|
67
|
+
|
|
68
|
+
The routing core is deterministic and local. It looks only at bounded turn signals such as:
|
|
69
|
+
|
|
70
|
+
- prompt length
|
|
71
|
+
- presence of code fences or diff markers
|
|
72
|
+
- keyword families; v2 separates strong signals from ambiguous weak signals such as `fix`
|
|
73
|
+
- leading intent, localized edit objects, diagnostic evidence, review scope, plan briefs, refactor cues, and implementation objects, when v3 or v4 is selected
|
|
74
|
+
- bounded negation of those whole-prompt matches and short-range compound-intent detection across a leading conjunction, when v4 is selected
|
|
75
|
+
- recent auto-router task history in the session, when v2 is selected
|
|
76
|
+
- context pressure buckets, when v2 is selected
|
|
77
|
+
- the subagent lane type, when one is set
|
|
78
|
+
|
|
79
|
+
v4 additionally reports a confidence band (`high`, `medium`, `low`), the score margin between the top two task classes, and a fallback reason on every turn, none of which carry prompt text. When confidence is low or no weighted signal decided the class, v4 raises the resolved level by one step above what the same task class would otherwise resolve to; confidence never lowers it. v4 is checked against a gold-set evaluation harness with fixed train/dev/holdout splits and accuracy, macro-F1, severe-under-allocation, and class-flip/McNemar checks, which confirmed v4 classifies identically to v3 across the full gold set, including the rows held out from tuning.
|
|
80
|
+
|
|
81
|
+
Precedence:
|
|
82
|
+
|
|
83
|
+
- Manual `/think <level>` always wins.
|
|
84
|
+
- The router only resolves levels while `auto` mode is active.
|
|
85
|
+
- Auto-resolved levels apply per turn only and never overwrite the persisted default thinking level in settings.
|
|
86
|
+
- v1 remains the default auto router; v2, v3, and v4 must be selected explicitly for the current session.
|
|
87
|
+
|
|
88
|
+
Resolved levels are clamped to the model's capabilities: models without `xhigh`/`max` are capped at their highest supported level, and models without reasoning support bypass the router entirely.
|
|
89
|
+
|
|
90
|
+
The v4 learning path is available only through the global `reasoningRouterLearning` setting and is off by default. When `reasoningRouterLearning.enabled` is `true`, auto-v4 loads one validated bias snapshot for the session, applies a bounded `-2..2` ladder-step bias, and appends a privacy-safe feedback record containing only bounded enums, booleans, and buckets. Project-local settings cannot enable or redirect this feature, and the ledger never stores raw prompts, file paths, diffs, session identifiers, model/provider payloads, tool output, or hook output.
|
|
91
|
+
|
|
92
|
+
The Adaptorch advisory bridge module still ships as default-off groundwork only. It has no settings key, command, transport, or session call site yet, so it does not affect `/think auto-v4` until a future transport and security review explicitly wire it.
|
|
93
|
+
|
|
60
94
|
## Message Queue
|
|
61
95
|
|
|
62
96
|
You can submit messages while the agent is still working:
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omk-extension-custom-provider",
|
|
3
|
-
"version": "0.90.
|
|
3
|
+
"version": "0.90.4",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "omk-extension-custom-provider",
|
|
9
|
-
"version": "0.90.
|
|
9
|
+
"version": "0.90.4",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@anthropic-ai/sdk": "^0.52.0"
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omk-extension-gondolin",
|
|
3
|
-
"version": "0.90.
|
|
3
|
+
"version": "0.90.4",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "omk-extension-gondolin",
|
|
9
|
-
"version": "0.90.
|
|
9
|
+
"version": "0.90.4",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@earendil-works/gondolin": "0.12.0"
|
|
12
12
|
}
|