@accomplish_ai/agent-core 0.3.3 → 0.4.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/dist/common/types/provider.d.ts.map +1 -1
- package/dist/common/types/provider.js +3 -2
- package/dist/common/types/provider.js.map +1 -1
- package/dist/common/types/providerSettings.js +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/classes/OpenCodeAdapter.d.ts +2 -0
- package/dist/internal/classes/OpenCodeAdapter.d.ts.map +1 -1
- package/dist/internal/classes/OpenCodeAdapter.js +62 -17
- package/dist/internal/classes/OpenCodeAdapter.js.map +1 -1
- package/dist/opencode/completion/completion-enforcer.d.ts +6 -2
- package/dist/opencode/completion/completion-enforcer.d.ts.map +1 -1
- package/dist/opencode/completion/completion-enforcer.js +26 -7
- package/dist/opencode/completion/completion-enforcer.js.map +1 -1
- package/dist/opencode/config-generator.d.ts.map +1 -1
- package/dist/opencode/config-generator.js +11 -14
- package/dist/opencode/config-generator.js.map +1 -1
- package/dist/opencode/message-processor.d.ts +2 -0
- package/dist/opencode/message-processor.d.ts.map +1 -1
- package/dist/opencode/message-processor.js +57 -3
- package/dist/opencode/message-processor.js.map +1 -1
- package/dist/utils/error.d.ts +9 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +14 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/mcp-tools/start-task/dist/index.mjs +19 -8
- package/package.json +1 -1
- package/dist/internal/classes/CompletionEnforcer.d.ts +0 -27
- package/dist/internal/classes/CompletionEnforcer.d.ts.map +0 -1
- package/dist/internal/classes/CompletionEnforcer.js +0 -109
- package/dist/internal/classes/CompletionEnforcer.js.map +0 -1
- package/dist/opencode/adapter.d.ts +0 -93
- package/dist/opencode/adapter.d.ts.map +0 -1
- package/dist/opencode/adapter.js +0 -650
- package/dist/opencode/adapter.js.map +0 -1
- package/dist/opencode/index.d.ts +0 -23
- package/dist/opencode/index.d.ts.map +0 -1
- package/dist/opencode/index.js +0 -13
- package/dist/opencode/index.js.map +0 -1
- package/dist/opencode/log-watcher.d.ts +0 -36
- package/dist/opencode/log-watcher.d.ts.map +0 -1
- package/dist/opencode/log-watcher.js +0 -257
- package/dist/opencode/log-watcher.js.map +0 -1
- package/dist/opencode/stream-parser.d.ts +0 -18
- package/dist/opencode/stream-parser.d.ts.map +0 -1
- package/dist/opencode/stream-parser.js +0 -117
- package/dist/opencode/stream-parser.js.map +0 -1
- package/dist/opencode/task-manager.d.ts +0 -71
- package/dist/opencode/task-manager.d.ts.map +0 -1
- package/dist/opencode/task-manager.js +0 -286
- package/dist/opencode/task-manager.js.map +0 -1
|
@@ -25,13 +25,18 @@ You are Accomplish, a {{AGENT_ROLE}} assistant.
|
|
|
25
25
|
|
|
26
26
|
<behavior name="task-planning">
|
|
27
27
|
##############################################################################
|
|
28
|
-
# CRITICAL:
|
|
28
|
+
# CRITICAL: CALL start_task FIRST - THIS IS MANDATORY
|
|
29
29
|
##############################################################################
|
|
30
30
|
|
|
31
|
-
**STEP 1: CALL start_task (before any other action)**
|
|
32
|
-
|
|
33
31
|
You MUST call start_task before any other tool. This is enforced - other tools will fail until start_task is called.
|
|
34
32
|
|
|
33
|
+
**Decide: Does this request need planning?**
|
|
34
|
+
|
|
35
|
+
Set \`needs_planning: true\` if completing the request will require tools beyond start_task and complete_task (e.g., file operations, browser actions, bash commands).
|
|
36
|
+
Set \`needs_planning: false\` if you can answer from knowledge alone using only start_task → text response → stop. This includes greetings, knowledge questions, meta-questions about your capabilities, help requests, and conversational messages.
|
|
37
|
+
|
|
38
|
+
**When needs_planning is TRUE** — provide goal, steps, verification:
|
|
39
|
+
|
|
35
40
|
start_task requires:
|
|
36
41
|
- original_request: Echo the user's request exactly as stated
|
|
37
42
|
- goal: What you aim to accomplish
|
|
@@ -46,16 +51,6 @@ As you complete each step, call \`todowrite\` to update progress:
|
|
|
46
51
|
- Mark the current step as "in_progress"
|
|
47
52
|
- Keep the same step content - do NOT change the text
|
|
48
53
|
|
|
49
|
-
\`\`\`json
|
|
50
|
-
{
|
|
51
|
-
"todos": [
|
|
52
|
-
{"id": "1", "content": "First step (same as before)", "status": "completed", "priority": "high"},
|
|
53
|
-
{"id": "2", "content": "Second step (same as before)", "status": "in_progress", "priority": "medium"},
|
|
54
|
-
{"id": "3", "content": "Third step (same as before)", "status": "pending", "priority": "medium"}
|
|
55
|
-
]
|
|
56
|
-
}
|
|
57
|
-
\`\`\`
|
|
58
|
-
|
|
59
54
|
**STEP 3: COMPLETE ALL TODOS BEFORE FINISHING**
|
|
60
55
|
|
|
61
56
|
All todos must be "completed" or "cancelled" before calling complete_task.
|
|
@@ -64,6 +59,8 @@ WRONG: Starting work without calling start_task first
|
|
|
64
59
|
WRONG: Forgetting to update todos as you progress
|
|
65
60
|
CORRECT: Call start_task FIRST, update todos as you work, then complete_task
|
|
66
61
|
|
|
62
|
+
**When needs_planning is FALSE** — skip goal, steps, verification. Respond directly with your text answer and stop. Do NOT call complete_task for conversational responses.
|
|
63
|
+
|
|
67
64
|
##############################################################################
|
|
68
65
|
</behavior>
|
|
69
66
|
|
|
@@ -151,7 +148,7 @@ If the user gave you a task with specific criteria (e.g., "find 8-15 results", "
|
|
|
151
148
|
|
|
152
149
|
**TASK COMPLETION - CRITICAL:**
|
|
153
150
|
|
|
154
|
-
You MUST call the \`complete_task\` tool
|
|
151
|
+
You MUST call the \`complete_task\` tool when \`needs_planning\` was true. For conversational responses (\`needs_planning: false\`), do NOT call complete_task — just respond and stop naturally.
|
|
155
152
|
|
|
156
153
|
When to call \`complete_task\`:
|
|
157
154
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-generator.js","sourceRoot":"","sources":["../../src/opencode/config-generator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAoGlD,SAAS,kCAAkC,CAAC,QAAyB;IACnE,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO;;;;;;eAMI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO;qBACU,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;eAC/C,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,iCAAiC,GAAG
|
|
1
|
+
{"version":3,"file":"config-generator.js","sourceRoot":"","sources":["../../src/opencode/config-generator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAoGlD,SAAS,kCAAkC,CAAC,QAAyB;IACnE,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO;;;;;;eAMI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO;qBACU,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;eAC/C,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,iCAAiC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgKzC,CAAC;AAEF,SAAS,wBAAwB,CAAC,YAAoB,EAAE,QAAyB;IAC/E,MAAM,MAAM,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC;QAC1E,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC;QAC5E,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC;QAC1E,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC;KACzE,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,SAAS,CAAC,CAAC;YAC/D,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAChF,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CACxB,UAAoB,EACpB,YAAoB,EACpB,OAAe,EACf,aAAqB,EACrB,WAAmB,EACnB,UAAmB,EACnB,QAAiB;IAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAEhD,yEAAyE;IACzE,qEAAqE;IACrE,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1E,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,4CAA4C,EAAE,QAAQ,CAAC,CAAC;QACpE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,UAAU,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAA+B;IAC5D,MAAM,EACJ,QAAQ,EACR,YAAY,EACZ,MAAM,GAAG,EAAE,EACX,UAAU,EACV,kBAAkB,EAClB,eAAe,GAAG,EAAE,EACpB,iBAAiB,GAAG,IAAI,EACxB,eAAe,GAAG,IAAI,EACtB,YAAY,EACZ,KAAK,EACL,UAAU,EACV,gBAAgB,EAAE,sBAAsB,GACzC,GAAG,OAAO,CAAC;IAEZ,MAAM,uBAAuB,GAAG,kCAAkC,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAI,YAAY,GAAG,iCAAiC;SACjD,OAAO,CAAC,mCAAmC,EAAE,uBAAuB,CAAC,CAAC;IAEzE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,aAAa,GAAG;;;;;;;;;;;;EAYxB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,WAAW;UACxD,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;;CAMnC,CAAC;QACE,YAAY,IAAI,aAAa,CAAC;IAChC,CAAC;IAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,kBAAkB;QACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3E,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,UAAU,GAAoC;QAClD,iBAAiB,EAAE;YACjB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,iBAAiB,CACxB,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,QAAQ,CACT;YACD,OAAO,EAAE,IAAI;YACb,WAAW,EAAE;gBACX,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,CAAC;aAC/C;YACD,OAAO,EAAE,KAAK;SACf;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,iBAAiB,CACxB,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,QAAQ,CACT;YACD,OAAO,EAAE,IAAI;YACb,WAAW,EAAE;gBACX,iBAAiB,EAAE,MAAM,CAAC,eAAe,CAAC;aAC3C;YACD,OAAO,EAAE,KAAK;SACf;QACD,eAAe,EAAE;YACf,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,iBAAiB,CACxB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,QAAQ,CACT;YACD,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;SACf;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,iBAAiB,CACxB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,QAAQ,CACT;YACD,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;SACf;KACF,CAAC;IAEF,iEAAiE;IACjE,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAE7D,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClC,MAAM,UAAU,GAA2B,EAAE,CAAC;QAE9C,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC9B,UAAU,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC;YACtD,CAAC;YACD,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpE,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;wBAC3B,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,UAAU,CAAC,iBAAiB,CAAC,GAAG;YAC9B,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,iBAAiB,CACxB,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAC3C,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,CACvD;YACD,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;YACtE,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3C,oEAAoE;YACpE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI;iBAC7B,WAAW,EAAE;iBACb,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;iBAC1B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;iBACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;iBACrB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChB,MAAM,QAAQ,GAAG,SAAS,IAAI,YAAY,CAAC;YAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,GAAG,GAAG,aAAa,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAC9C,sDAAsD;YACtD,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,OAAO,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;oBAAE,CAAC,IAAI,CAAC,CAAC;gBACzC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;YACtB,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,GAAG;gBAChB,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,SAAS,CAAC,GAAG;gBAClB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,SAAS,CAAC,WAAW,EAAE,EAAE;gBAC7D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,KAAK,MAAM,CAAC;IACjD,YAAY,GAAG,YAAY;SACxB,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,CAAC;SAChF,OAAO,CAAC,wBAAwB,EAAE,UAAU;QAC3C,CAAC,CAAC,6FAA6F;QAC/F,CAAC,CAAC,EAAE,CAAC;SACN,OAAO,CAAC,sBAAsB,EAAE,UAAU;QACzC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;CAoBP;QACK,CAAC,CAAC,EAAE,CAAC,CAAC;IAEV,MAAM,cAAc,GAA+C,EAAE,CAAC;IACtE,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;QACjC,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,gBAA0B,CAAC;IAC/B,IAAI,sBAAsB,EAAE,CAAC;QAC3B,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,sBAAsB,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG;YACpB,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK;YACpD,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS;SACvE,CAAC;QACF,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,MAAM,GAAuB;QACjC,OAAO,EAAE,iCAAiC;QAC1C,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;QACvB,GAAG,CAAC,UAAU,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;QAC9C,aAAa,EAAE,qBAAqB;QACpC,iBAAiB,EAAE,gBAAgB;QACnC,UAAU,EAAE;YACV,GAAG,EAAE,OAAO;YACZ,SAAS,EAAE,OAAO;SACnB;QACD,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QAC7E,MAAM,EAAE,CAAC,gCAAgC,CAAC;QAC1C,KAAK,EAAE;YACL,CAAC,qBAAqB,CAAC,EAAE;gBACvB,WAAW,EAAE,gDAAgD;gBAC7D,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,GAAG,EAAE,UAAU;KAChB,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAEzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEzC,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,UAAU,CAAC,CAAC;IAElE,MAAM,WAAW,GAA2B;QAC1C,eAAe,EAAE,UAAU;QAC3B,mBAAmB,EAAE,SAAS;KAC/B,CAAC;IAEF,IAAI,kBAAkB,EAAE,CAAC;QACvB,WAAW,CAAC,aAAa,GAAG,kBAAkB,CAAC;IACjD,CAAC;IAED,OAAO;QACL,YAAY;QACZ,UAAU;QACV,WAAW;QACX,MAAM;QACN,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,YAAoB;IACxD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;AAC9D,CAAC;AAWD,MAAM,UAAU,YAAY,CAAC,OAA4B;IACvD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAErD,MAAM,IAAI,GAAa,CAAC,KAAK,CAAC,CAAC;IAE/B,oEAAoE;IACpE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAE9B,IAAI,aAAa,EAAE,KAAK,EAAE,CAAC;QACzB,IAAI,aAAa,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/C,mEAAmE;YACnE,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,iBAAiB,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/C,+FAA+F;YAC/F,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAE5C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAElB,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -30,6 +30,8 @@ export declare function extractScreenshots(output: string): {
|
|
|
30
30
|
cleanedText: string;
|
|
31
31
|
attachments: MessageAttachment[];
|
|
32
32
|
};
|
|
33
|
+
export declare function sanitizeAssistantTextForDisplay(text: string): string | null;
|
|
34
|
+
export declare function getToolDisplayName(toolName: string): string | null;
|
|
33
35
|
/**
|
|
34
36
|
* Sanitizes tool output for display by removing ANSI codes,
|
|
35
37
|
* connection URLs, call logs, and simplifying error messages.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-processor.d.ts","sourceRoot":"","sources":["../../src/opencode/message-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,6BAA6B,CAAC;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D;;GAEG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC,CAkCA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"message-processor.d.ts","sourceRoot":"","sources":["../../src/opencode/message-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,6BAA6B,CAAC;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D;;GAEG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC,CAkCA;AAyBD,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc3E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKlE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAgCzE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI,CA8D1E;AAOD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,EAC3D,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI,GAC7D,cAAc,CA2BhB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,EACpB,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,EAC3D,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI,GAC7D,IAAI,CAeN;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAM3D"}
|
|
@@ -38,6 +38,48 @@ export function extractScreenshots(output) {
|
|
|
38
38
|
.replace(/\[Screenshot captured\]\[Screenshot captured\]/g, '[Screenshot captured]');
|
|
39
39
|
return { cleanedText, attachments };
|
|
40
40
|
}
|
|
41
|
+
const TOOL_DISPLAY_NAMES = {
|
|
42
|
+
browser_evaluate: 'Evaluating page',
|
|
43
|
+
browser_snapshot: 'Taking screenshot',
|
|
44
|
+
browser_canvas_type: 'Typing text',
|
|
45
|
+
browser_script: 'Running script',
|
|
46
|
+
browser_click: 'Clicking element',
|
|
47
|
+
browser_keyboard: 'Typing',
|
|
48
|
+
discard: null,
|
|
49
|
+
extract: null,
|
|
50
|
+
context_info: null,
|
|
51
|
+
};
|
|
52
|
+
const INSTRUCTION_BLOCK_RE = /<instruction\b[^>]*>[\s\S]*?<\/instruction>/gi;
|
|
53
|
+
const NUDGE_BLOCK_RE = /<nudge>[\s\S]*?<\/nudge>/gi;
|
|
54
|
+
const THOUGHT_BLOCK_RE = /<thought>[\s\S]*?<\/thought>/gi;
|
|
55
|
+
const SCRATCHPAD_BLOCK_RE = /<scratchpad>[\s\S]*?<\/scratchpad>/gi;
|
|
56
|
+
const THINKING_BLOCK_RE = /<thinking>[\s\S]*?<\/thinking>/gi;
|
|
57
|
+
const REFLECTION_BLOCK_RE = /<reflection>[\s\S]*?<\/reflection>/gi;
|
|
58
|
+
const UNCLOSED_INTERNAL_TAG_RE = /<(?:thought|nudge|instruction|scratchpad|thinking|reflection)(?:\b[^>]*)?>[\s\S]*$/gi;
|
|
59
|
+
const ORPHAN_TAGS_RE = /<\/?(?:nudge|thought|scratchpad|thinking|reflection)>|<instruction\b[^>]*>|<\/instruction>/gi;
|
|
60
|
+
const INTERNAL_LINES_RE = /^.*(?:context_management_protocol|policy_level=critical|<prunable-tools>|thoughtSignature).*$/gm;
|
|
61
|
+
const EXCESSIVE_NEWLINES_RE = /\n{3,}/g;
|
|
62
|
+
export function sanitizeAssistantTextForDisplay(text) {
|
|
63
|
+
let result = text;
|
|
64
|
+
result = result.replace(INSTRUCTION_BLOCK_RE, '');
|
|
65
|
+
result = result.replace(NUDGE_BLOCK_RE, '');
|
|
66
|
+
result = result.replace(THOUGHT_BLOCK_RE, '');
|
|
67
|
+
result = result.replace(SCRATCHPAD_BLOCK_RE, '');
|
|
68
|
+
result = result.replace(THINKING_BLOCK_RE, '');
|
|
69
|
+
result = result.replace(REFLECTION_BLOCK_RE, '');
|
|
70
|
+
result = result.replace(UNCLOSED_INTERNAL_TAG_RE, '');
|
|
71
|
+
result = result.replace(ORPHAN_TAGS_RE, '');
|
|
72
|
+
result = result.replace(INTERNAL_LINES_RE, '');
|
|
73
|
+
result = result.replace(EXCESSIVE_NEWLINES_RE, '\n\n');
|
|
74
|
+
result = result.trim();
|
|
75
|
+
return result.length > 0 ? result : null;
|
|
76
|
+
}
|
|
77
|
+
export function getToolDisplayName(toolName) {
|
|
78
|
+
if (Object.prototype.hasOwnProperty.call(TOOL_DISPLAY_NAMES, toolName)) {
|
|
79
|
+
return TOOL_DISPLAY_NAMES[toolName];
|
|
80
|
+
}
|
|
81
|
+
return toolName;
|
|
82
|
+
}
|
|
41
83
|
/**
|
|
42
84
|
* Sanitizes tool output for display by removing ANSI codes,
|
|
43
85
|
* connection URLs, call logs, and simplifying error messages.
|
|
@@ -47,7 +89,10 @@ export function sanitizeToolOutput(text, isError) {
|
|
|
47
89
|
result = result.replace(/\x1B\[[0-9;]*[a-zA-Z]/g, '');
|
|
48
90
|
result = result.replace(/\x1B\[2m|\x1B\[22m|\x1B\[0m/g, '');
|
|
49
91
|
result = result.replace(/ws:\/\/[^\s\]]+/g, '[connection]');
|
|
92
|
+
result = result.replace(/\[ref=e\d+\]/g, '');
|
|
93
|
+
result = result.replace(/\[cursor=\w+\]/g, '');
|
|
50
94
|
result = result.replace(/\s*Call log:[\s\S]*/i, '');
|
|
95
|
+
result = result.replace(/ {2,}/g, ' ');
|
|
51
96
|
if (isError) {
|
|
52
97
|
const timeoutMatch = result.match(/timed? ?out after (\d+)ms/i);
|
|
53
98
|
if (timeoutMatch) {
|
|
@@ -71,21 +116,26 @@ export function sanitizeToolOutput(text, isError) {
|
|
|
71
116
|
*/
|
|
72
117
|
export function toTaskMessage(message) {
|
|
73
118
|
if (message.type === 'text') {
|
|
74
|
-
|
|
119
|
+
const sanitized = sanitizeAssistantTextForDisplay(message.part.text || '');
|
|
120
|
+
if (sanitized) {
|
|
75
121
|
return {
|
|
76
122
|
id: createMessageId(),
|
|
77
123
|
type: 'assistant',
|
|
78
|
-
content:
|
|
124
|
+
content: sanitized,
|
|
79
125
|
timestamp: new Date().toISOString(),
|
|
80
126
|
};
|
|
81
127
|
}
|
|
82
128
|
return null;
|
|
83
129
|
}
|
|
84
130
|
if (message.type === 'tool_call') {
|
|
131
|
+
const displayName = getToolDisplayName(message.part.tool);
|
|
132
|
+
if (displayName === null) {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
85
135
|
return {
|
|
86
136
|
id: createMessageId(),
|
|
87
137
|
type: 'tool',
|
|
88
|
-
content: `Using tool: ${
|
|
138
|
+
content: `Using tool: ${displayName}`,
|
|
89
139
|
toolName: message.part.tool,
|
|
90
140
|
toolInput: message.part.input,
|
|
91
141
|
timestamp: new Date().toISOString(),
|
|
@@ -94,6 +144,10 @@ export function toTaskMessage(message) {
|
|
|
94
144
|
if (message.type === 'tool_use') {
|
|
95
145
|
const toolUseMsg = message;
|
|
96
146
|
const toolName = toolUseMsg.part.tool || 'unknown';
|
|
147
|
+
const displayName = getToolDisplayName(toolName);
|
|
148
|
+
if (displayName === null) {
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
97
151
|
const toolInput = toolUseMsg.part.state?.input;
|
|
98
152
|
const toolOutput = toolUseMsg.part.state?.output || '';
|
|
99
153
|
const status = toolUseMsg.part.state?.status;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-processor.js","sourceRoot":"","sources":["../../src/opencode/message-processor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAqBzC;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAI/C,MAAM,WAAW,GAAwB,EAAE,CAAC;IAE5C,MAAM,YAAY,GAAG,yDAAyD,CAAC;IAC/E,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,KAAK,EAAE,oBAAoB;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,gEAAgE,CAAC;IACxF,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC1C,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,yBAAyB,UAAU,EAAE;gBAC3C,KAAK,EAAE,oBAAoB;aAC5B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,WAAW,GAAG,MAAM;SACrB,OAAO,CAAC,YAAY,EAAE,uBAAuB,CAAC;SAC9C,OAAO,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;IAEpD,WAAW,GAAG,WAAW;SACtB,OAAO,CAAC,0BAA0B,EAAE,gBAAgB,CAAC;SACrD,OAAO,CAAC,iDAAiD,EAAE,uBAAuB,CAAC,CAAC;IAEvF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,OAAgB;IAC/D,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;IAE5D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"message-processor.js","sourceRoot":"","sources":["../../src/opencode/message-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coerce an unknown value to a string for use in error messages.
|
|
3
|
+
*
|
|
4
|
+
* The OpenCode stream parser casts JSON.parse output via a type assertion,
|
|
5
|
+
* so values typed as `string` at compile time may be objects at runtime.
|
|
6
|
+
* This function ensures a usable string regardless of the actual type.
|
|
7
|
+
*/
|
|
8
|
+
export declare function serializeError(error: unknown): string;
|
|
9
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKrD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coerce an unknown value to a string for use in error messages.
|
|
3
|
+
*
|
|
4
|
+
* The OpenCode stream parser casts JSON.parse output via a type assertion,
|
|
5
|
+
* so values typed as `string` at compile time may be objects at runtime.
|
|
6
|
+
* This function ensures a usable string regardless of the actual type.
|
|
7
|
+
*/
|
|
8
|
+
export function serializeError(error) {
|
|
9
|
+
if (typeof error === 'string') {
|
|
10
|
+
return error;
|
|
11
|
+
}
|
|
12
|
+
return JSON.stringify(error) || 'Unknown error';
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC;AAClD,CAAC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -14,4 +14,5 @@ export { validateHttpUrl, normalizeBaseUrl } from './url.js';
|
|
|
14
14
|
export { redact } from './redact.js';
|
|
15
15
|
export { mapResultToStatus } from './task-status.js';
|
|
16
16
|
export { validateTaskConfig } from './task-validation.js';
|
|
17
|
+
export { serializeError } from './error.js';
|
|
17
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,EACX,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC3F,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,EACX,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC3F,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -11,4 +11,5 @@ export { validateHttpUrl, normalizeBaseUrl } from './url.js';
|
|
|
11
11
|
export { redact } from './redact.js';
|
|
12
12
|
export { mapResultToStatus } from './task-status.js';
|
|
13
13
|
export { validateTaskConfig } from './task-validation.js';
|
|
14
|
+
export { serializeError } from './error.js';
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,EACX,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAG3F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,EACX,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAG3F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -20657,25 +20657,29 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
20657
20657
|
description: "Call this tool FIRST before executing any task. Captures your plan. Other tools will fail until this is called.",
|
|
20658
20658
|
inputSchema: {
|
|
20659
20659
|
type: "object",
|
|
20660
|
-
required: ["original_request", "
|
|
20660
|
+
required: ["original_request", "needs_planning", "skills"],
|
|
20661
20661
|
properties: {
|
|
20662
20662
|
original_request: {
|
|
20663
20663
|
type: "string",
|
|
20664
20664
|
description: "Echo the user's original request exactly as stated"
|
|
20665
20665
|
},
|
|
20666
|
+
needs_planning: {
|
|
20667
|
+
type: "boolean",
|
|
20668
|
+
description: "true for multi-step tasks that need a plan, false for simple messages (greetings, questions, quick lookups)"
|
|
20669
|
+
},
|
|
20666
20670
|
goal: {
|
|
20667
20671
|
type: "string",
|
|
20668
|
-
description: "What you aim to accomplish for the user"
|
|
20672
|
+
description: "What you aim to accomplish for the user (required when needs_planning is true)"
|
|
20669
20673
|
},
|
|
20670
20674
|
steps: {
|
|
20671
20675
|
type: "array",
|
|
20672
20676
|
items: { type: "string" },
|
|
20673
|
-
description: "Planned actions to achieve the goal, in order"
|
|
20677
|
+
description: "Planned actions to achieve the goal, in order (required when needs_planning is true)"
|
|
20674
20678
|
},
|
|
20675
20679
|
verification: {
|
|
20676
20680
|
type: "array",
|
|
20677
20681
|
items: { type: "string" },
|
|
20678
|
-
description: "How you will verify the task is complete"
|
|
20682
|
+
description: "How you will verify the task is complete (required when needs_planning is true)"
|
|
20679
20683
|
},
|
|
20680
20684
|
skills: {
|
|
20681
20685
|
type: "array",
|
|
@@ -20691,11 +20695,18 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
20691
20695
|
if (request.params.name !== "start_task") {
|
|
20692
20696
|
throw new Error(`Unknown tool: ${request.params.name}`);
|
|
20693
20697
|
}
|
|
20694
|
-
const { original_request, goal, steps, verification, skills } = request.params.arguments;
|
|
20698
|
+
const { original_request, needs_planning, goal, steps, verification, skills } = request.params.arguments;
|
|
20699
|
+
if (needs_planning && (!goal || !steps?.length || !verification?.length)) {
|
|
20700
|
+
return {
|
|
20701
|
+
content: [{ type: "text", text: "Error: goal, steps, and verification are required when needs_planning is true." }],
|
|
20702
|
+
isError: true
|
|
20703
|
+
};
|
|
20704
|
+
}
|
|
20695
20705
|
console.error(`[start-task] original_request=${original_request}`);
|
|
20696
|
-
console.error(`[start-task]
|
|
20697
|
-
console.error(`[start-task]
|
|
20698
|
-
console.error(`[start-task]
|
|
20706
|
+
console.error(`[start-task] needs_planning=${needs_planning}`);
|
|
20707
|
+
if (goal) console.error(`[start-task] goal=${goal}`);
|
|
20708
|
+
if (steps) console.error(`[start-task] steps=${JSON.stringify(steps)}`);
|
|
20709
|
+
if (verification) console.error(`[start-task] verification=${JSON.stringify(verification)}`);
|
|
20699
20710
|
console.error(`[start-task] skills=${JSON.stringify(skills)}`);
|
|
20700
20711
|
return {
|
|
20701
20712
|
content: [{ type: "text", text: "Plan registered. Proceed with execution." }]
|
package/package.json
CHANGED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { CompletionFlowState } from '../../opencode/completion/completion-state.js';
|
|
2
|
-
import type { TodoItem } from '../../common/types/todo.js';
|
|
3
|
-
export interface CompletionEnforcerCallbacks {
|
|
4
|
-
onStartContinuation: (prompt: string) => Promise<void>;
|
|
5
|
-
onComplete: () => void;
|
|
6
|
-
onDebug: (type: string, message: string, data?: unknown) => void;
|
|
7
|
-
}
|
|
8
|
-
export type StepFinishAction = 'continue' | 'pending' | 'complete';
|
|
9
|
-
export declare class CompletionEnforcer {
|
|
10
|
-
private state;
|
|
11
|
-
private callbacks;
|
|
12
|
-
private currentTodos;
|
|
13
|
-
private toolsWereUsed;
|
|
14
|
-
constructor(callbacks: CompletionEnforcerCallbacks, maxContinuationAttempts?: number);
|
|
15
|
-
updateTodos(todos: TodoItem[]): void;
|
|
16
|
-
markToolsUsed(): void;
|
|
17
|
-
handleCompleteTaskDetection(toolInput: unknown): boolean;
|
|
18
|
-
handleStepFinish(reason: string): StepFinishAction;
|
|
19
|
-
handleProcessExit(exitCode: number): Promise<void>;
|
|
20
|
-
shouldComplete(): boolean;
|
|
21
|
-
reset(): void;
|
|
22
|
-
private hasIncompleteTodos;
|
|
23
|
-
private getIncompleteTodosSummary;
|
|
24
|
-
getState(): CompletionFlowState;
|
|
25
|
-
getContinuationAttempts(): number;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=CompletionEnforcer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CompletionEnforcer.d.ts","sourceRoot":"","sources":["../../../src/internal/classes/CompletionEnforcer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,mBAAmB,EAAoB,MAAM,+CAA+C,CAAC;AAEvH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAClE;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;AAEnE,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAAkB;gBAE3B,SAAS,EAAE,2BAA2B,EAAE,uBAAuB,GAAE,MAAW;IAKxF,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI;IASpC,aAAa,IAAI,IAAI;IAIrB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO;IAwCxD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAqC5C,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CxD,cAAc,IAAI,OAAO;IAMzB,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,yBAAyB;IAOjC,QAAQ,IAAI,mBAAmB;IAI/B,uBAAuB,IAAI,MAAM;CAGlC"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { CompletionState, CompletionFlowState } from '../../opencode/completion/completion-state.js';
|
|
2
|
-
import { getContinuationPrompt, getPartialContinuationPrompt } from '../../opencode/completion/prompts.js';
|
|
3
|
-
export class CompletionEnforcer {
|
|
4
|
-
state;
|
|
5
|
-
callbacks;
|
|
6
|
-
currentTodos = [];
|
|
7
|
-
toolsWereUsed = false;
|
|
8
|
-
constructor(callbacks, maxContinuationAttempts = 20) {
|
|
9
|
-
this.callbacks = callbacks;
|
|
10
|
-
this.state = new CompletionState(maxContinuationAttempts);
|
|
11
|
-
}
|
|
12
|
-
updateTodos(todos) {
|
|
13
|
-
this.currentTodos = todos;
|
|
14
|
-
this.callbacks.onDebug('todo_update', `Todo list updated: ${todos.length} items`, { todos });
|
|
15
|
-
}
|
|
16
|
-
markToolsUsed() {
|
|
17
|
-
this.toolsWereUsed = true;
|
|
18
|
-
}
|
|
19
|
-
handleCompleteTaskDetection(toolInput) {
|
|
20
|
-
if (this.state.isCompleteTaskCalled()) {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
const args = toolInput;
|
|
24
|
-
const completeTaskArgs = {
|
|
25
|
-
status: args?.status || 'unknown',
|
|
26
|
-
summary: args?.summary || '',
|
|
27
|
-
original_request_summary: args?.original_request_summary || '',
|
|
28
|
-
remaining_work: args?.remaining_work,
|
|
29
|
-
};
|
|
30
|
-
if (completeTaskArgs.status === 'success' && this.hasIncompleteTodos()) {
|
|
31
|
-
this.callbacks.onDebug('incomplete_todos', 'Agent claimed success but has incomplete todos - downgrading to partial', { incompleteTodos: this.getIncompleteTodosSummary() });
|
|
32
|
-
completeTaskArgs.status = 'partial';
|
|
33
|
-
completeTaskArgs.remaining_work = this.getIncompleteTodosSummary();
|
|
34
|
-
}
|
|
35
|
-
this.state.recordCompleteTaskCall(completeTaskArgs);
|
|
36
|
-
this.callbacks.onDebug('complete_task', `complete_task detected with status: ${completeTaskArgs.status}`, { args: completeTaskArgs, state: CompletionFlowState[this.state.getState()] });
|
|
37
|
-
return true;
|
|
38
|
-
}
|
|
39
|
-
handleStepFinish(reason) {
|
|
40
|
-
if (reason !== 'stop' && reason !== 'end_turn') {
|
|
41
|
-
return 'continue';
|
|
42
|
-
}
|
|
43
|
-
if (this.state.isPendingPartialContinuation()) {
|
|
44
|
-
this.callbacks.onDebug('partial_continuation', 'Scheduling continuation for partial completion', { remainingWork: this.state.getCompleteTaskArgs()?.remaining_work });
|
|
45
|
-
return 'pending';
|
|
46
|
-
}
|
|
47
|
-
if (!this.state.isCompleteTaskCalled()) {
|
|
48
|
-
if (!this.toolsWereUsed) {
|
|
49
|
-
this.callbacks.onDebug('skip_continuation', 'No tools used and no complete_task called — treating as conversational response');
|
|
50
|
-
return 'complete';
|
|
51
|
-
}
|
|
52
|
-
if (this.state.scheduleContinuation()) {
|
|
53
|
-
this.callbacks.onDebug('continuation', `Scheduled continuation prompt (attempt ${this.state.getContinuationAttempts()})`);
|
|
54
|
-
return 'pending';
|
|
55
|
-
}
|
|
56
|
-
console.warn(`[CompletionEnforcer] Agent stopped without complete_task. State: ${CompletionFlowState[this.state.getState()]}, attempts: ${this.state.getContinuationAttempts()}/${this.state.getMaxContinuationAttempts()}`);
|
|
57
|
-
}
|
|
58
|
-
return 'complete';
|
|
59
|
-
}
|
|
60
|
-
async handleProcessExit(exitCode) {
|
|
61
|
-
if (this.state.isPendingPartialContinuation() && exitCode === 0) {
|
|
62
|
-
const args = this.state.getCompleteTaskArgs();
|
|
63
|
-
const prompt = getPartialContinuationPrompt(args?.remaining_work || 'No remaining work specified', args?.original_request_summary || 'Unknown request', args?.summary || 'No summary provided');
|
|
64
|
-
const canContinue = this.state.startPartialContinuation();
|
|
65
|
-
if (!canContinue) {
|
|
66
|
-
console.warn('[CompletionEnforcer] Max partial continuation attempts reached');
|
|
67
|
-
this.callbacks.onComplete();
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
this.callbacks.onDebug('partial_continuation', `Starting partial continuation (attempt ${this.state.getContinuationAttempts()})`, { remainingWork: args?.remaining_work, summary: args?.summary });
|
|
71
|
-
this.toolsWereUsed = false;
|
|
72
|
-
await this.callbacks.onStartContinuation(prompt);
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
if (this.state.isPendingContinuation() && exitCode === 0) {
|
|
76
|
-
const prompt = getContinuationPrompt();
|
|
77
|
-
this.state.startContinuation();
|
|
78
|
-
this.callbacks.onDebug('continuation', `Starting continuation task (attempt ${this.state.getContinuationAttempts()})`);
|
|
79
|
-
this.toolsWereUsed = false;
|
|
80
|
-
await this.callbacks.onStartContinuation(prompt);
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
this.callbacks.onComplete();
|
|
84
|
-
}
|
|
85
|
-
shouldComplete() {
|
|
86
|
-
return this.state.isDone() ||
|
|
87
|
-
this.state.getState() === CompletionFlowState.BLOCKED ||
|
|
88
|
-
this.state.getState() === CompletionFlowState.MAX_RETRIES_REACHED;
|
|
89
|
-
}
|
|
90
|
-
reset() {
|
|
91
|
-
this.state.reset();
|
|
92
|
-
this.currentTodos = [];
|
|
93
|
-
this.toolsWereUsed = false;
|
|
94
|
-
}
|
|
95
|
-
hasIncompleteTodos() {
|
|
96
|
-
return this.currentTodos.some(t => t.status === 'pending' || t.status === 'in_progress');
|
|
97
|
-
}
|
|
98
|
-
getIncompleteTodosSummary() {
|
|
99
|
-
const incomplete = this.currentTodos.filter(t => t.status === 'pending' || t.status === 'in_progress');
|
|
100
|
-
return incomplete.map(t => `- ${t.content}`).join('\n');
|
|
101
|
-
}
|
|
102
|
-
getState() {
|
|
103
|
-
return this.state.getState();
|
|
104
|
-
}
|
|
105
|
-
getContinuationAttempts() {
|
|
106
|
-
return this.state.getContinuationAttempts();
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=CompletionEnforcer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CompletionEnforcer.js","sourceRoot":"","sources":["../../../src/internal/classes/CompletionEnforcer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
import type { TaskConfig, Task, TaskResult } from '../common/types/task.js';
|
|
3
|
-
import type { OpenCodeMessage } from '../common/types/opencode.js';
|
|
4
|
-
import type { PermissionRequest } from '../common/types/permission.js';
|
|
5
|
-
import type { TodoItem } from '../common/types/todo.js';
|
|
6
|
-
export declare class OpenCodeCliNotFoundError extends Error {
|
|
7
|
-
constructor();
|
|
8
|
-
}
|
|
9
|
-
export interface AdapterOptions {
|
|
10
|
-
platform: NodeJS.Platform;
|
|
11
|
-
isPackaged: boolean;
|
|
12
|
-
tempPath: string;
|
|
13
|
-
getCliCommand: () => {
|
|
14
|
-
command: string;
|
|
15
|
-
args: string[];
|
|
16
|
-
};
|
|
17
|
-
buildEnvironment: (taskId: string) => Promise<NodeJS.ProcessEnv>;
|
|
18
|
-
buildCliArgs: (config: TaskConfig) => Promise<string[]>;
|
|
19
|
-
onBeforeStart?: () => Promise<void>;
|
|
20
|
-
getModelDisplayName?: (modelId: string) => string;
|
|
21
|
-
}
|
|
22
|
-
export interface OpenCodeAdapterEvents {
|
|
23
|
-
message: [OpenCodeMessage];
|
|
24
|
-
'tool-use': [string, unknown];
|
|
25
|
-
'tool-result': [string];
|
|
26
|
-
'permission-request': [PermissionRequest];
|
|
27
|
-
progress: [{
|
|
28
|
-
stage: string;
|
|
29
|
-
message?: string;
|
|
30
|
-
modelName?: string;
|
|
31
|
-
}];
|
|
32
|
-
complete: [TaskResult];
|
|
33
|
-
error: [Error];
|
|
34
|
-
debug: [{
|
|
35
|
-
type: string;
|
|
36
|
-
message: string;
|
|
37
|
-
data?: unknown;
|
|
38
|
-
}];
|
|
39
|
-
'todo:update': [TodoItem[]];
|
|
40
|
-
'auth-error': [{
|
|
41
|
-
providerId: string;
|
|
42
|
-
message: string;
|
|
43
|
-
}];
|
|
44
|
-
}
|
|
45
|
-
export declare class OpenCodeAdapter extends EventEmitter<OpenCodeAdapterEvents> {
|
|
46
|
-
private ptyProcess;
|
|
47
|
-
private streamParser;
|
|
48
|
-
private logWatcher;
|
|
49
|
-
private currentSessionId;
|
|
50
|
-
private currentTaskId;
|
|
51
|
-
private messages;
|
|
52
|
-
private hasCompleted;
|
|
53
|
-
private isDisposed;
|
|
54
|
-
private wasInterrupted;
|
|
55
|
-
private completionEnforcer;
|
|
56
|
-
private lastWorkingDirectory;
|
|
57
|
-
private currentModelId;
|
|
58
|
-
private waitingTransitionTimer;
|
|
59
|
-
private hasReceivedFirstTool;
|
|
60
|
-
private startTaskCalled;
|
|
61
|
-
private options;
|
|
62
|
-
constructor(options: AdapterOptions, taskId?: string);
|
|
63
|
-
private createCompletionEnforcer;
|
|
64
|
-
private setupLogWatcher;
|
|
65
|
-
startTask(config: TaskConfig): Promise<Task>;
|
|
66
|
-
resumeSession(sessionId: string, prompt: string): Promise<Task>;
|
|
67
|
-
sendResponse(response: string): Promise<void>;
|
|
68
|
-
cancelTask(): Promise<void>;
|
|
69
|
-
interruptTask(): Promise<void>;
|
|
70
|
-
getSessionId(): string | null;
|
|
71
|
-
getTaskId(): string | null;
|
|
72
|
-
get running(): boolean;
|
|
73
|
-
isAdapterDisposed(): boolean;
|
|
74
|
-
dispose(): void;
|
|
75
|
-
private escapeShellArg;
|
|
76
|
-
private buildShellCommand;
|
|
77
|
-
private setupStreamParsing;
|
|
78
|
-
private handleMessage;
|
|
79
|
-
private handleToolCall;
|
|
80
|
-
private handleAskUserQuestion;
|
|
81
|
-
private handleProcessExit;
|
|
82
|
-
private spawnSessionResumption;
|
|
83
|
-
private generateTaskId;
|
|
84
|
-
private generateMessageId;
|
|
85
|
-
private generateRequestId;
|
|
86
|
-
private isStartTaskTool;
|
|
87
|
-
private isExemptTool;
|
|
88
|
-
private emitPlanMessage;
|
|
89
|
-
private getPlatformShell;
|
|
90
|
-
private getShellArgs;
|
|
91
|
-
}
|
|
92
|
-
export declare function createAdapter(options: AdapterOptions, taskId?: string): OpenCodeAdapter;
|
|
93
|
-
//# sourceMappingURL=adapter.d.ts.map
|