oh-my-opencode-lite 0.1.3 → 0.1.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.
|
@@ -4,8 +4,8 @@ interface ComposeAgentPromptOptions {
|
|
|
4
4
|
customAppendPrompt?: string;
|
|
5
5
|
placeholders?: Record<string, string | number | undefined>;
|
|
6
6
|
}
|
|
7
|
-
export declare const QUESTION_PROTOCOL = "<questions>\nUse the `question` tool for blocking decisions. NEVER ask in plain text.\nPut the recommended option first with \"(Recommended)\". Short headers (<=30 chars).\nAfter calling question, STOP \u2014 do not continue execution.\n</questions>";
|
|
8
|
-
export declare const SUBAGENT_RULES = "- Do not call thoth-mem
|
|
7
|
+
export declare const QUESTION_PROTOCOL = "<questions>\nUse the `question` tool for blocking decisions. NEVER ask in plain text.\n\nAsk only when one of these is true:\n1. The request is ambiguous in a way that materially changes the result AND you cannot resolve it by reading the codebase.\n2. The action is destructive/irreversible, touches production, or changes security posture.\n3. You need a secret, credential, or value that cannot be inferred.\n\nWhen you must ask: do all non-blocked work first, then ask exactly one targeted question. Include your recommended default and state what changes based on the answer.\nPut the recommended option first with \"(Recommended)\". Short headers (<=30 chars).\nAfter calling question, STOP \u2014 do not continue execution.\n</questions>";
|
|
8
|
+
export declare const SUBAGENT_RULES = "- Do not call ANY thoth-mem tools \u2014 memory is exclusively orchestrator-owned.\n- Do not call `todowrite` \u2014 task progress tracking is exclusively orchestrator-owned.\n- Use `question` tool for blocking decisions, never plain text.";
|
|
9
9
|
export declare const RESPONSE_BUDGET = "Your response returns to an expensive orchestrator model. Be ruthlessly concise:\n- Return insights and conclusions, NEVER raw file contents or full code blocks.\n- Structured results (status, summary, files, issues) over prose.\n- If the orchestrator needs more detail, it will ask in a follow-up.";
|
|
10
10
|
export declare function appendPromptSections(...sections: Array<string | undefined>): string;
|
|
11
11
|
export declare function replacePromptPlaceholders(template: string, placeholders?: Record<string, string | number | undefined>): string;
|
package/dist/index.js
CHANGED
|
@@ -17361,10 +17361,18 @@ function getAgentOverride(config2, name) {
|
|
|
17361
17361
|
// src/agents/prompt-utils.ts
|
|
17362
17362
|
var QUESTION_PROTOCOL = `<questions>
|
|
17363
17363
|
Use the \`question\` tool for blocking decisions. NEVER ask in plain text.
|
|
17364
|
+
|
|
17365
|
+
Ask only when one of these is true:
|
|
17366
|
+
1. The request is ambiguous in a way that materially changes the result AND you cannot resolve it by reading the codebase.
|
|
17367
|
+
2. The action is destructive/irreversible, touches production, or changes security posture.
|
|
17368
|
+
3. You need a secret, credential, or value that cannot be inferred.
|
|
17369
|
+
|
|
17370
|
+
When you must ask: do all non-blocked work first, then ask exactly one targeted question. Include your recommended default and state what changes based on the answer.
|
|
17364
17371
|
Put the recommended option first with "(Recommended)". Short headers (<=30 chars).
|
|
17365
17372
|
After calling question, STOP \u2014 do not continue execution.
|
|
17366
17373
|
</questions>`;
|
|
17367
|
-
var SUBAGENT_RULES = `- Do not call thoth-mem
|
|
17374
|
+
var SUBAGENT_RULES = `- Do not call ANY thoth-mem tools \u2014 memory is exclusively orchestrator-owned.
|
|
17375
|
+
- Do not call \`todowrite\` \u2014 task progress tracking is exclusively orchestrator-owned.
|
|
17368
17376
|
- Use \`question\` tool for blocking decisions, never plain text.`;
|
|
17369
17377
|
var RESPONSE_BUDGET = `Your response returns to an expensive orchestrator model. Be ruthlessly concise:
|
|
17370
17378
|
- Return insights and conclusions, NEVER raw file contents or full code blocks.
|
|
@@ -17675,7 +17683,7 @@ You are the orchestrator for oh-my-opencode-lite.
|
|
|
17675
17683
|
<rules>
|
|
17676
17684
|
You are delegate-first.
|
|
17677
17685
|
|
|
17678
|
-
NEVER
|
|
17686
|
+
NEVER read or write any file in the workspace \u2014 delegate all file operations. The only permitted file operations are on openspec/ coordination artifacts (see below). Reading a non-openspec file is an emergency-only last resort when delegation is genuinely impossible; it must remain exceptional.
|
|
17679
17687
|
Delegate all inspection, writing, searching, debugging, and verification.
|
|
17680
17688
|
|
|
17681
17689
|
Never build after changes.
|
|
@@ -17770,7 +17778,7 @@ Routing tiebreakers:
|
|
|
17770
17778
|
1. Dispatch @deep with skill \`sdd-propose\`. Wait for result. Verify artifact was persisted.
|
|
17771
17779
|
2. Dispatch @deep with skill \`sdd-tasks\`. Wait for result. Verify artifact was persisted.
|
|
17772
17780
|
3. Plan-review gate (see "Plan Review Gate" below).
|
|
17773
|
-
4.
|
|
17781
|
+
4. Execute tasks: load skill \`executing-plans\` and follow it for the full execution loop. For each task: follow the \`<progress>\` protocol for state tracking, use the 6-part dispatch envelope from \`executing-plans\` (TASK, CONTEXT, REQUIREMENTS, BOUNDARIES, VERIFICATION, RETURN ENVELOPE), dispatch @deep or @quick with skill \`sdd-apply\`, and follow the escalation policy on failure.
|
|
17774
17782
|
|
|
17775
17783
|
## Pipeline: Full SDD (propose -> spec -> design -> tasks)
|
|
17776
17784
|
1. Dispatch @deep with skill \`sdd-propose\`. Wait for result. Verify artifact was persisted.
|
|
@@ -17778,7 +17786,7 @@ Routing tiebreakers:
|
|
|
17778
17786
|
3. Dispatch @deep with skill \`sdd-design\`. Wait for result. Verify artifact was persisted.
|
|
17779
17787
|
4. Dispatch @deep with skill \`sdd-tasks\`. Wait for result. Verify artifact was persisted.
|
|
17780
17788
|
5. Plan-review gate (see "Plan Review Gate" below).
|
|
17781
|
-
6.
|
|
17789
|
+
6. Execute tasks: load skill \`executing-plans\` and follow it for the full execution loop. For each task: follow the \`<progress>\` protocol for state tracking, use the 6-part dispatch envelope from \`executing-plans\` (TASK, CONTEXT, REQUIREMENTS, BOUNDARIES, VERIFICATION, RETURN ENVELOPE), dispatch @deep or @quick with skill \`sdd-apply\`, and follow the escalation policy on failure.
|
|
17782
17790
|
|
|
17783
17791
|
## Plan Review Gate
|
|
17784
17792
|
After tasks are generated, use \`question\` to ask the user:
|
|
@@ -17826,9 +17834,11 @@ Sub-agents own phase execution and artifact persistence. You own sequencing, pro
|
|
|
17826
17834
|
</sdd-dispatch>
|
|
17827
17835
|
|
|
17828
17836
|
<progress>
|
|
17829
|
-
-
|
|
17830
|
-
-
|
|
17831
|
-
-
|
|
17837
|
+
- You are the ONLY agent responsible for task progress. Sub-agents NEVER call \`todowrite\`.
|
|
17838
|
+
- For multi-step work, maintain two layers: todowrite (visual UI for user) plus the persistent SDD artifact when SDD is active.
|
|
17839
|
+
- Before dispatch: MUST mark the task in progress in every active layer.
|
|
17840
|
+
- After result: MUST immediately mark completed in every active layer before the next dispatch.
|
|
17841
|
+
- On error or blocker: mark as skipped and document the reason inline before continuing.
|
|
17832
17842
|
- Use one in-progress todo for sequential work; multiple only for truly parallel launches.
|
|
17833
17843
|
- Keep todowrite top-level and lean. Skip it for trivial one-step work.
|
|
17834
17844
|
</progress>
|
|
@@ -17986,7 +17996,7 @@ var BUILTIN_PERMISSION_PRESETS = {
|
|
|
17986
17996
|
lsp: "allow",
|
|
17987
17997
|
skill: "allow",
|
|
17988
17998
|
question: "allow",
|
|
17989
|
-
todowrite: "
|
|
17999
|
+
todowrite: "deny",
|
|
17990
18000
|
external_directory: {
|
|
17991
18001
|
"~/.config/opencode/skills/**": "allow"
|
|
17992
18002
|
}
|
|
@@ -18001,12 +18011,30 @@ var BUILTIN_PERMISSION_PRESETS = {
|
|
|
18001
18011
|
question: "allow",
|
|
18002
18012
|
codesearch: "allow",
|
|
18003
18013
|
lsp: "allow",
|
|
18004
|
-
todowrite: "
|
|
18014
|
+
todowrite: "deny",
|
|
18005
18015
|
external_directory: {
|
|
18006
18016
|
"~/.config/opencode/skills/**": "allow"
|
|
18007
18017
|
}
|
|
18008
18018
|
},
|
|
18009
|
-
deep:
|
|
18019
|
+
deep: {
|
|
18020
|
+
read: "allow",
|
|
18021
|
+
edit: "allow",
|
|
18022
|
+
glob: "allow",
|
|
18023
|
+
grep: "allow",
|
|
18024
|
+
list: "allow",
|
|
18025
|
+
bash: "allow",
|
|
18026
|
+
codesearch: "allow",
|
|
18027
|
+
lsp: "allow",
|
|
18028
|
+
skill: "allow",
|
|
18029
|
+
question: "allow",
|
|
18030
|
+
webfetch: "allow",
|
|
18031
|
+
websearch: "allow",
|
|
18032
|
+
todowrite: "deny",
|
|
18033
|
+
task: "deny",
|
|
18034
|
+
external_directory: {
|
|
18035
|
+
"~/.config/opencode/skills/**": "allow"
|
|
18036
|
+
}
|
|
18037
|
+
}
|
|
18010
18038
|
};
|
|
18011
18039
|
function normalizeModelArray(model) {
|
|
18012
18040
|
return model.map((entry) => typeof entry === "string" ? { id: entry } : entry);
|
package/package.json
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: requirements-interview
|
|
3
|
-
description:
|
|
4
|
-
Mandatory step-0 requirements discovery for non-trivial work before any
|
|
5
|
-
implementation or SDD routing decisions.
|
|
3
|
+
description: Mandatory step-0 requirements discovery for non-trivial work before any implementation or SDD routing decisions.
|
|
6
4
|
metadata:
|
|
7
5
|
author: oh-my-opencode-lite
|
|
8
6
|
version: '1.0'
|