@patze/code-cli 0.18.0 → 0.20.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/VERSION +1 -1
  3. package/dist/backend/preview-payload.d.ts +2 -0
  4. package/dist/backend/preview-payload.d.ts.map +1 -1
  5. package/dist/backend/preview-payload.js +27 -1
  6. package/dist/backend/preview-payload.js.map +1 -1
  7. package/dist/cli/commands/agent.d.ts.map +1 -1
  8. package/dist/cli/commands/agent.js +34 -11
  9. package/dist/cli/commands/agent.js.map +1 -1
  10. package/dist/cli/interactive/agent-events.d.ts +38 -0
  11. package/dist/cli/interactive/agent-events.d.ts.map +1 -0
  12. package/dist/cli/interactive/agent-events.js +65 -0
  13. package/dist/cli/interactive/agent-events.js.map +1 -0
  14. package/dist/cli/interactive/agent-execute-turn.d.ts +2 -0
  15. package/dist/cli/interactive/agent-execute-turn.d.ts.map +1 -1
  16. package/dist/cli/interactive/agent-execute-turn.js +2 -1
  17. package/dist/cli/interactive/agent-execute-turn.js.map +1 -1
  18. package/dist/cli/interactive/agent-stream-format.d.ts +5 -1
  19. package/dist/cli/interactive/agent-stream-format.d.ts.map +1 -1
  20. package/dist/cli/interactive/agent-stream-format.js +30 -1
  21. package/dist/cli/interactive/agent-stream-format.js.map +1 -1
  22. package/dist/cli/interactive/agent-turn-classify.d.ts +1 -1
  23. package/dist/cli/interactive/agent-turn-classify.d.ts.map +1 -1
  24. package/dist/cli/interactive/agent-turn-classify.js +25 -9
  25. package/dist/cli/interactive/agent-turn-classify.js.map +1 -1
  26. package/dist/cli/interactive/agent-turn-context.d.ts +2 -0
  27. package/dist/cli/interactive/agent-turn-context.d.ts.map +1 -1
  28. package/dist/cli/interactive/agent-turn-context.js +8 -2
  29. package/dist/cli/interactive/agent-turn-context.js.map +1 -1
  30. package/dist/cli/interactive/agent-turn-format.d.ts +2 -0
  31. package/dist/cli/interactive/agent-turn-format.d.ts.map +1 -1
  32. package/dist/cli/interactive/agent-turn-format.js +38 -7
  33. package/dist/cli/interactive/agent-turn-format.js.map +1 -1
  34. package/dist/cli/interactive/agent-turn.d.ts +2 -0
  35. package/dist/cli/interactive/agent-turn.d.ts.map +1 -1
  36. package/dist/cli/interactive/agent-turn.js +39 -45
  37. package/dist/cli/interactive/agent-turn.js.map +1 -1
  38. package/dist/cli/interactive/plain-agent-render.d.ts +16 -0
  39. package/dist/cli/interactive/plain-agent-render.d.ts.map +1 -0
  40. package/dist/cli/interactive/plain-agent-render.js +67 -0
  41. package/dist/cli/interactive/plain-agent-render.js.map +1 -0
  42. package/dist/cli/interactive/tool-arg-summary.d.ts +7 -0
  43. package/dist/cli/interactive/tool-arg-summary.d.ts.map +1 -0
  44. package/dist/cli/interactive/tool-arg-summary.js +86 -0
  45. package/dist/cli/interactive/tool-arg-summary.js.map +1 -0
  46. package/package.json +1 -1
@@ -1,9 +1,11 @@
1
+ import { isWorkspaceContextQuestion } from "./agent-turn-context.js";
1
2
  const EN_CODE_INTENT = /\b(file|files|code|function|class|module|bug|error|test|tests|api|refactor|implement|fix|add|create|build|write|remove|migrate|debug|patch|diff|lint|deploy|readme|config|html|demo|page|app|script|component)\b/i;
2
3
  const EN_TASK_LEAD = /^(fix|add|refactor|implement|update|create|build|write|remove|migrate|test|debug|improve|review|rename|extract|optimize|generate|make)\b/i;
3
4
  const THAI_TASK_VERB = /(สร้าง|แก้ไข|แก้|เขียน|ลบ|อ่าน|เพิ่ม|ทำ|แปล|รัน|ทดสอบ|ดีบั๊ก|รีแฟคเตอร์|ย้าย|implement|generate)/i;
4
5
  const THAI_CODE_NOUN = /(ไฟล์|โค้ด|ฟังก์ชัน|คลาส|โมดูล|แอป|หน้าเว็บ|html|css|javascript|typescript|api|เทส|บั๊ก|สคริปต์|demo)/i;
5
- const PURE_META = /^(hi|hello|hey|thanks|thank you|ok|okay|yes|no|help|\/?help|สวัสดี|ขอบคุณ)\b/i;
6
+ const PURE_META = /^(hi|hello|hey|thanks|thank you|ok|okay|yes|no|help|\/?help|สวัสดี|ขอบคุณ)/i;
6
7
  const SEE_HEAR_META = /^(do you see|can you see|hear me|เห็นข้อความ|ได้ยิน|เห็น.*(ข้อความ|message))/i;
8
+ const CAPABILITY_META = /(ทำงานได้จริง|ใช้ได้จริง|ทำงานไหม|ใช้ได้ไหม|works?\s*(for real|actually)|actually work|are you (working|online|there)|can you help)/i;
7
9
  function hasCodeIntent(text) {
8
10
  return EN_CODE_INTENT.test(text) || THAI_CODE_NOUN.test(text) || /[{}();=`]/.test(text);
9
11
  }
@@ -13,14 +15,26 @@ function hasTaskLead(text) {
13
15
  THAI_TASK_VERB.test(text));
14
16
  }
15
17
  function isPureMetaChat(text) {
16
- if (PURE_META.test(text) || SEE_HEAR_META.test(text)) {
18
+ const trimmed = text.trim();
19
+ if (PURE_META.test(trimmed) || SEE_HEAR_META.test(trimmed)) {
20
+ return true;
21
+ }
22
+ if (/^(สวัสดี|ขอบคุณ)/.test(trimmed)) {
17
23
  return true;
18
24
  }
19
- return /^(สวัสดี|ขอบคุณ)/.test(text.trim());
25
+ if (/(เห็น|ได้ยิน).*(ข้อความ|message)/i.test(trimmed)) {
26
+ return true;
27
+ }
28
+ return CAPABILITY_META.test(trimmed);
29
+ }
30
+ function isGenericQuestionWithoutCodeIntent(text) {
31
+ return ((/[\??]/.test(text) || /(ไหม|มั้ย|หรือเปล่า|ได้ไหม)/.test(text)) &&
32
+ !hasCodeIntent(text) &&
33
+ !hasTaskLead(text));
20
34
  }
21
35
  /**
22
36
  * Decide whether free-text input is meta/chat or a coding task.
23
- * When authReady (cookbook posture), only pure meta/greeting stays local.
37
+ * Logged-in: cookbook sends coding work to the agent; meta/capability stays conversational.
24
38
  */
25
39
  export function classifyTurnInput(text, options = {}) {
26
40
  const trimmed = text.trim();
@@ -28,7 +42,12 @@ export function classifyTurnInput(text, options = {}) {
28
42
  return "conversation";
29
43
  }
30
44
  if (options.authReady) {
31
- return isPureMetaChat(trimmed) ? "conversation" : "task";
45
+ if (isPureMetaChat(trimmed) ||
46
+ isGenericQuestionWithoutCodeIntent(trimmed) ||
47
+ isWorkspaceContextQuestion(trimmed)) {
48
+ return "conversation";
49
+ }
50
+ return "task";
32
51
  }
33
52
  const codeIntent = hasCodeIntent(trimmed);
34
53
  const taskLead = hasTaskLead(trimmed);
@@ -38,10 +57,7 @@ export function classifyTurnInput(text, options = {}) {
38
57
  if (isPureMetaChat(trimmed) && !codeIntent) {
39
58
  return "conversation";
40
59
  }
41
- const genericQuestion = (/[\??]/.test(trimmed) || /(ไหม|มั้ย|หรือเปล่า|ได้ไหม)/.test(trimmed)) &&
42
- !codeIntent &&
43
- !taskLead;
44
- if (genericQuestion && trimmed.length <= 64) {
60
+ if (isGenericQuestionWithoutCodeIntent(trimmed)) {
45
61
  return "conversation";
46
62
  }
47
63
  if (trimmed.length <= 32 && !codeIntent && !taskLead) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn-classify.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn-classify.ts"],"names":[],"mappings":"AAOA,MAAM,cAAc,GAClB,mNAAmN,CAAA;AAErN,MAAM,YAAY,GAChB,2IAA2I,CAAA;AAE7I,MAAM,cAAc,GAClB,mGAAmG,CAAA;AAErG,MAAM,cAAc,GAClB,wGAAwG,CAAA;AAE1G,MAAM,SAAS,GACb,+EAA+E,CAAA;AAEjF,MAAM,aAAa,GACjB,+EAA+E,CAAA;AAEjF,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzF,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,CACL,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,2CAA2C,CAAC,IAAI,CAAC,IAAI,CAAC;QACtD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1B,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,UAA+B,EAAE;IAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAA;IAC1D,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IAErC,IAAI,QAAQ,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,MAAM,eAAe,GACnB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC,UAAU;QACX,CAAC,QAAQ,CAAA;IAEX,IAAI,eAAe,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC5C,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrD,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACrC,CAAC"}
1
+ {"version":3,"file":"agent-turn-classify.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn-classify.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export type ContextTurnInput = {
6
6
  inspect: WorkspaceInspectResult;
7
7
  authReady: boolean;
8
8
  };
9
+ /** Meta prompts answered from local inspect — must not hit server preview. */
10
+ export declare function isWorkspaceContextQuestion(text: string): boolean;
9
11
  /** Local, read-only answers from workspace inspect — no canned deflection. */
10
12
  export declare function buildContextualReply(input: ContextTurnInput): string | null;
11
13
  //# sourceMappingURL=agent-turn-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn-context.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAGtE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,sBAAsB,CAAA;IAC/B,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAuCD,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CA0C3E"}
1
+ {"version":3,"file":"agent-turn-context.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAGtE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,sBAAsB,CAAA;IAC/B,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAuCD,8EAA8E;AAC9E,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMhE;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CA0C3E"}
@@ -22,6 +22,12 @@ function asksWorkspaceContents(text) {
22
22
  function asksAuthStatus(text) {
23
23
  return /(auth|login|logged in|เชื่อม|ล็อกอิน|token)/i.test(text);
24
24
  }
25
+ /** Meta prompts answered from local inspect — must not hit server preview. */
26
+ export function isWorkspaceContextQuestion(text) {
27
+ return (asksWorkspaceLocation(text) ||
28
+ asksWorkspaceContents(text) ||
29
+ asksAuthStatus(text));
30
+ }
25
31
  /** Local, read-only answers from workspace inspect — no canned deflection. */
26
32
  export function buildContextualReply(input) {
27
33
  const { text, cwd, workspaceRoot, inspect, authReady } = input;
@@ -54,10 +60,10 @@ export function buildContextualReply(input) {
54
60
  if (asksAuthStatus(text)) {
55
61
  return isThai
56
62
  ? authReady
57
- ? "auth พร้อมแล้ว — preview จาก server ใช้ได้ (ยัง read-only · ไม่ auto-apply)"
63
+ ? "auth พร้อมแล้ว — สั่งงาน coding แล้ว agent stream ทำงานทันที (read-only · ไม่ auto-apply)"
58
64
  : "auth ยังไม่ครบ — ใช้ /login หรือ PATZE_CODE_* แล้ว /status --check"
59
65
  : authReady
60
- ? "Auth is ready — server preview works (read-only · no auto-apply)."
66
+ ? "Auth is ready — coding tasks start the live agent stream (read-only · no auto-apply)."
61
67
  : "Auth incomplete — run /login or set PATZE_CODE_* then /status --check.";
62
68
  }
63
69
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn-context.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-turn-context.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn-context.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export type ConversationTurnContext = {
19
19
  /** Short reply for meta/chat prompts — uses local context when available. */
20
20
  export declare function formatConversationTurnLines(objective: string, reply: string): string[];
21
21
  export declare function resolveConversationReply(objective: string, context: ConversationTurnContext, contextualReply: string | null): string;
22
+ /** User-facing hint when execute returns blocked (server inline policy). */
23
+ export declare function formatRunBlockedHint(errorCode: string, findingCodes: string[], thai: boolean): string;
22
24
  /** Compact task turn — agent voice, one screen. Details live in /context. */
23
25
  export declare function formatAgentTurnLines(model: AgentTurnModel): string[];
24
26
  /** Verbose formatter kept for /context and tests that need full preview fields. */
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn-format.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn-format.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAI7D,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC9B,aAAa,EAAE,mBAAmB,CAAA;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,gBAAgB,EAAE,KAAK,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,OAAO,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,MAAM,EAAE,CAEV;AA6BD,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,EAChC,eAAe,EAAE,MAAM,GAAG,IAAI,GAC7B,MAAM,CAKR;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,EAAE,CA0CpE;AAED,mFAAmF;AACnF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,EAAE,CAY3E"}
1
+ {"version":3,"file":"agent-turn-format.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn-format.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAI7D,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC9B,aAAa,EAAE,mBAAmB,CAAA;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,gBAAgB,EAAE,KAAK,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,OAAO,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,MAAM,EAAE,CAEV;AA0CD,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,EAChC,eAAe,EAAE,MAAM,GAAG,IAAI,GAC7B,MAAM,CAKR;AAuBD,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EAAE,EACtB,IAAI,EAAE,OAAO,GACZ,MAAM,CAER;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,EAAE,CA4CpE;AAED,mFAAmF;AACnF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,EAAE,CAY3E"}
@@ -7,10 +7,23 @@ export function formatConversationTurnLines(objective, reply) {
7
7
  return formatAgentReply(reply);
8
8
  }
9
9
  function pickConversationReply(text, thai, authReady) {
10
- if (/(เห็น|ได้ยิน|ข้อความ|do you see|can you see|hear me)/i.test(text)) {
10
+ if (/(เห็น|ได้ยิน).*(ข้อความ|message)|do you see|can you see|hear me/i.test(text)) {
11
11
  return thai
12
- ? "เห็นครับ พิมพ์งานที่อยากให้ช่วยได้เลย"
13
- : "I see your message. Describe a coding task when you're ready.";
12
+ ? authReady
13
+ ? "เห็นครับ auth พร้อมแล้ว สั่งงาน coding ได้เลย (เช่น “สร้างไฟล์ demo.html”)"
14
+ : "เห็นครับ พิมพ์งานที่อยากให้ช่วยได้เลย"
15
+ : authReady
16
+ ? "I see your message. Auth is ready — describe a coding task to start the agent."
17
+ : "I see your message. Describe a coding task when you're ready.";
18
+ }
19
+ if (/(ทำงานได้จริง|ใช้ได้จริง|ทำงานไหม|actually work|works?\s*for real)/i.test(text)) {
20
+ return thai
21
+ ? authReady
22
+ ? "ทำงานจริงครับ — พิมพ์งาน coding แล้วจะเห็น run/tool/agent stream ทันที\nread-only: ไฟล์ยังไม่ถูกเขียนอัตโนมัติ · /diff → /approve → /apply"
23
+ : "ยังไม่ครบ — ใช้ /login หรือ PATZE_CODE_* ก่อน"
24
+ : authReady
25
+ ? "Yes — describe a coding task to start the live agent stream.\nRead-only: no auto-apply until /diff → /approve → /apply."
26
+ : "Not yet — run /login or set PATZE_CODE_* first.";
14
27
  }
15
28
  if (/^(hi|hello|hey|สวัสดี)/i.test(text.trim())) {
16
29
  return thai
@@ -26,7 +39,7 @@ function pickConversationReply(text, thai, authReady) {
26
39
  return thai ? "ครับ" : "You're welcome.";
27
40
  }
28
41
  if (!authReady && thai) {
29
- return "รับทราบครับ ตั้ง auth ด้วย /login หรือ env ก่อน preview จาก server";
42
+ return "รับทราบครับ ตั้ง auth ด้วย /login หรือ env ก่อนเรียก agent";
30
43
  }
31
44
  return thai
32
45
  ? "รับทราบครับ บอกงาน coding ที่ต้องการได้เลย"
@@ -38,6 +51,26 @@ export function resolveConversationReply(objective, context, contextualReply) {
38
51
  }
39
52
  return pickConversationReply(objective, inputLooksThai(objective), context.authReady);
40
53
  }
54
+ function formatPreviewBlockedHint(errorCode, findingCodes, thai) {
55
+ const code = errorCode || findingCodes[0] || "blocked";
56
+ if (code === "PATZE_CODE_USER_TASK_CLI_WORKSPACE_CWD_INVALID") {
57
+ return thai
58
+ ? `agent blocked (${code}) — server หา workspace ไม่เจอ\nใช้ path ที่ API มองเห็นได้ (WSL: /mnt/d/... ไม่ใช่ D:\\...) · /status --check`
59
+ : `Agent blocked (${code}) — server cannot see workspace_cwd.\nUse a path the API host resolves (WSL: /mnt/d/... not D:\\...).`;
60
+ }
61
+ if (code === "PATZE_CODE_USER_TASK_ROUTE_FEATURE_DISABLED") {
62
+ return thai
63
+ ? `agent blocked — เปิด FEATURE_PATZE_CODE บน server`
64
+ : "Agent blocked — enable FEATURE_PATZE_CODE on the server.";
65
+ }
66
+ return thai
67
+ ? `agent blocked (${code}) — /context · /status --check`
68
+ : `Agent blocked (${code}) — see /context or /status --check`;
69
+ }
70
+ /** User-facing hint when execute returns blocked (server inline policy). */
71
+ export function formatRunBlockedHint(errorCode, findingCodes, thai) {
72
+ return formatPreviewBlockedHint(errorCode, findingCodes, thai);
73
+ }
41
74
  /** Compact task turn — agent voice, one screen. Details live in /context. */
42
75
  export function formatAgentTurnLines(model) {
43
76
  const ws = model.inspectSummary;
@@ -57,9 +90,7 @@ export function formatAgentTurnLines(model) {
57
90
  }
58
91
  }
59
92
  else {
60
- parts.push(thai
61
- ? `preview ไม่ผ่าน (${server.status}) — ดู /context`
62
- : `Preview did not pass (${server.status}) — see /context`);
93
+ parts.push(formatPreviewBlockedHint(server.error_code ?? "", server.finding_codes ?? [], thai));
63
94
  }
64
95
  }
65
96
  else if (model.previewResult.localSteps?.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn-format.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AAGvE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAoBzD,6EAA6E;AAC7E,MAAM,UAAU,2BAA2B,CACzC,SAAiB,EACjB,KAAa;IAEb,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,IAAa,EAAE,SAAkB;IAC5E,IAAI,uDAAuD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI;YACT,CAAC,CAAC,uCAAuC;YACzC,CAAC,CAAC,+DAA+D,CAAA;IACrE,CAAC;IACD,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI;YACT,CAAC,CAAC,sCAAsC;YACxC,CAAC,CAAC,6CAA6C,CAAA;IACnD,CAAC;IACD,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI;YACT,CAAC,CAAC,gEAAgE;YAClE,CAAC,CAAC,8DAA8D,CAAA;IACpE,CAAC;IACD,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAC1C,CAAC;IACD,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,oEAAoE,CAAA;IAC7E,CAAC;IACD,OAAO,IAAI;QACT,CAAC,CAAC,4CAA4C;QAC9C,CAAC,CAAC,yDAAyD,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,OAAgC,EAChC,eAA8B;IAE9B,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAA;IACxB,CAAC;IACD,OAAO,qBAAqB,CAAC,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;AACvF,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAAC,KAAqB;IACxD,MAAM,EAAE,GAAG,KAAK,CAAC,cAAc,CAAA;IAC/B,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC3G,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAA;QACzC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CACR,IAAI;gBACF,CAAC,CAAC,gCAAgC,EAAE,CAAC,SAAS,6BAA6B;gBAC3E,CAAC,CAAC,sCAAsC,EAAE,CAAC,SAAS,8BAA8B,CACrF,CAAA;YACD,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAA;YACtG,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAA;YAC1E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CACR,IAAI;gBACF,CAAC,CAAC,oBAAoB,MAAM,CAAC,MAAM,iBAAiB;gBACpD,CAAC,CAAC,yBAAyB,MAAM,CAAC,MAAM,kBAAkB,CAC7D,CAAA;QACH,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CACR,IAAI;YACF,CAAC,CAAC,8BAA8B,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACnE,CAAC,CAAC,yBAAyB,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CACjE,CAAA;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAA;IACtG,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAI;QACF,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,mBAAmB;QAC7C,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,kBAAkB,CAC/C,CAAA;IAED,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC3C,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,2BAA2B,CAAC,KAAqB;IAC/D,MAAM,KAAK,GAAG;QACZ,cAAc,KAAK,CAAC,SAAS,EAAE;QAC/B,SAAS,KAAK,CAAC,UAAU,EAAE;QAC3B,GAAG,2BAA2B,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC;KACvF,CAAA;IACD,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IACvE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,cAAc,GAAG,CAAC,CAAA;IAC5E,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAClD,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"agent-turn-format.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn-format.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type PlanPreviewOptions } from "../commands/plan.js";
2
2
  import type { InteractiveSession } from "./session.js";
3
+ import type { AgentEvent } from "./agent-events.js";
3
4
  export type AgentTurnResult = {
4
5
  lines: string[];
5
6
  exitCode: number;
@@ -9,6 +10,7 @@ export type AgentTurnOptions = PlanPreviewOptions & {
9
10
  signal?: AbortSignal;
10
11
  onTranscriptLine?: (line: string) => void;
11
12
  onTranscriptPartial?: (chunk: string) => void;
13
+ onAgentEvent?: (event: AgentEvent) => void;
12
14
  };
13
15
  export declare function runAgentTurn(session: InteractiveSession, objective: string, options?: AgentTurnOptions): Promise<AgentTurnResult>;
14
16
  //# sourceMappingURL=agent-turn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn.ts"],"names":[],"mappings":"AAKA,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAM7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AActD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG;IAClD,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C,CAAA;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAmM1B"}
1
+ {"version":3,"file":"agent-turn.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn.ts"],"names":[],"mappings":"AAKA,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAM7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAgBtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAGnD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG;IAClD,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CA2L1B"}
@@ -9,7 +9,7 @@ import { getPermissionModeDef } from "../../runtime/permissions.js";
9
9
  import { guessWorkspaceRoot } from "../../runtime/workspace.js";
10
10
  import { normalizePatchProposalInput } from "../../runtime/patch-proposal.js";
11
11
  import { hasPatchBody } from "../../runtime/patch-proposal.js";
12
- import { formatAgentTurnLines, formatConversationTurnLines, resolveConversationReply } from "./agent-turn-format.js";
12
+ import { formatAgentTurnLines, formatConversationTurnLines, resolveConversationReply, } from "./agent-turn-format.js";
13
13
  import { formatAgentReply } from "./transcript-format.js";
14
14
  import { classifyTurnInput } from "./agent-turn-classify.js";
15
15
  import { buildContextualReply } from "./agent-turn-context.js";
@@ -60,6 +60,31 @@ export async function runAgentTurn(session, objective, options = {}) {
60
60
  const inspectResult = inspectWorkspace(session.cwd, config.defaultAllow, config.defaultDeny);
61
61
  const inspectSummary = toInspectSummary(inspectResult);
62
62
  session.setLastInspectSummary(inspectSummary);
63
+ const canDirectExecute = authReady && isCliExecuteEnabled() && isExecuteAuthReady(config);
64
+ if (canDirectExecute) {
65
+ const execute = await runExecuteTurn({
66
+ cwd: session.cwd,
67
+ config,
68
+ objective: trimmed,
69
+ previewArtifactDigest: "",
70
+ modelHint,
71
+ conversationContext,
72
+ executionMode: session.getExecutionMode(),
73
+ fetchImpl: options.fetchImpl,
74
+ signal: options.signal,
75
+ onTranscriptLine: options.onTranscriptLine,
76
+ onTranscriptPartial: options.onTranscriptPartial,
77
+ onAgentEvent: options.onAgentEvent,
78
+ });
79
+ if (execute.run?.run_id) {
80
+ session.setLastRunId(execute.run.run_id);
81
+ }
82
+ return {
83
+ lines: execute.lines,
84
+ exitCode: execute.exitCode,
85
+ streamed: execute.streamed,
86
+ };
87
+ }
63
88
  const toolSteps = ["accept_task", "inspect_workspace"];
64
89
  let planSource = "local";
65
90
  let previewResult;
@@ -126,37 +151,7 @@ export async function runAgentTurn(session, objective, options = {}) {
126
151
  if (pendingAction) {
127
152
  session.setPendingAction(pendingAction);
128
153
  }
129
- const artifactDigest = previewResult.server?.artifact_digest ?? "";
130
- const previewOk = previewResult.source === "server" &&
131
- previewResult.server?.status === "ok" &&
132
- Boolean(artifactDigest);
133
- if (previewOk &&
134
- isCliExecuteEnabled() &&
135
- isExecuteAuthReady(config)) {
136
- toolSteps.push("execute_stream");
137
- const execute = await runExecuteTurn({
138
- cwd: session.cwd,
139
- config,
140
- objective: trimmed,
141
- previewArtifactDigest: artifactDigest,
142
- modelHint,
143
- conversationContext,
144
- executionMode: session.getExecutionMode(),
145
- fetchImpl: options.fetchImpl,
146
- signal: options.signal,
147
- onTranscriptLine: options.onTranscriptLine,
148
- onTranscriptPartial: options.onTranscriptPartial,
149
- });
150
- if (execute.run?.run_id) {
151
- session.setLastRunId(execute.run.run_id);
152
- }
153
- return {
154
- lines: execute.lines,
155
- exitCode: execute.exitCode,
156
- streamed: execute.streamed,
157
- };
158
- }
159
- if (previewOk && isCliExecuteEnabled() && !isExecuteAuthReady(config)) {
154
+ if (authReady && isCliExecuteEnabled() && !isExecuteAuthReady(config)) {
160
155
  return {
161
156
  lines: [
162
157
  ...formatAgentTurnLines({
@@ -170,25 +165,24 @@ export async function runAgentTurn(session, objective, options = {}) {
170
165
  authReady,
171
166
  mutationsEnabled: false,
172
167
  }),
173
- ...formatAgentReply("Preview ok — set user id via /login (session resolve) before agent execute."),
168
+ ...formatAgentReply("Set user id via /login (session resolve) before agent execute."),
174
169
  ],
175
170
  exitCode: 0,
176
171
  streamed: false,
177
172
  };
178
173
  }
179
- const model = {
180
- objective: trimmed,
181
- inspectSummary,
182
- planSource,
183
- previewResult,
184
- permissionMode: permission.mode,
185
- permissionLabel: permission.label,
186
- toolSteps,
187
- authReady,
188
- mutationsEnabled: false,
189
- };
190
174
  return {
191
- lines: formatAgentTurnLines(model),
175
+ lines: formatAgentTurnLines({
176
+ objective: trimmed,
177
+ inspectSummary,
178
+ planSource,
179
+ previewResult,
180
+ permissionMode: permission.mode,
181
+ permissionLabel: permission.label,
182
+ toolSteps,
183
+ authReady,
184
+ mutationsEnabled: false,
185
+ }),
192
186
  exitCode,
193
187
  streamed: false,
194
188
  };
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-turn.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Plain (non-TUI) agent output — adapted from Cursor cookbook coding-agent-cli (index.ts).
3
+ * @see https://github.com/cursor/cookbook/tree/main/sdk/coding-agent-cli
4
+ */
5
+ import { type AgentEvent } from "./agent-events.js";
6
+ export type PlainAnnotate = (message: string) => void;
7
+ export type PlainWriteAssistant = (text: string) => void;
8
+ export type PlainAgentHandlers = {
9
+ annotate: PlainAnnotate;
10
+ writeAssistant: PlainWriteAssistant;
11
+ assistantEndedWithNewline: () => boolean;
12
+ };
13
+ /** Cookbook-style stderr annotations + stdout assistant stream. */
14
+ export declare function createPlainAgentHandlers(stdout?: NodeJS.WriteStream, stderr?: NodeJS.WriteStream): PlainAgentHandlers;
15
+ export declare function renderPlainAgentEvent(event: AgentEvent, handlers: PlainAgentHandlers): void;
16
+ //# sourceMappingURL=plain-agent-render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain-agent-render.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/plain-agent-render.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAA;AAE1B,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;AACrD,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;AAExD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,aAAa,CAAA;IACvB,cAAc,EAAE,mBAAmB,CAAA;IACnC,yBAAyB,EAAE,MAAM,OAAO,CAAA;CACzC,CAAA;AAED,mEAAmE;AACnE,wBAAgB,wBAAwB,CACtC,MAAM,GAAE,MAAM,CAAC,WAA4B,EAC3C,MAAM,GAAE,MAAM,CAAC,WAA4B,GAC1C,kBAAkB,CAqBpB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,kBAAkB,GAC3B,IAAI,CA2CN"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Plain (non-TUI) agent output — adapted from Cursor cookbook coding-agent-cli (index.ts).
3
+ * @see https://github.com/cursor/cookbook/tree/main/sdk/coding-agent-cli
4
+ */
5
+ import { compactText, formatDuration, } from "./agent-events.js";
6
+ /** Cookbook-style stderr annotations + stdout assistant stream. */
7
+ export function createPlainAgentHandlers(stdout = process.stdout, stderr = process.stderr) {
8
+ let assistantEndedWithNewline = true;
9
+ const annotate = (message) => {
10
+ if (!assistantEndedWithNewline) {
11
+ stderr.write("\n");
12
+ }
13
+ stderr.write(`${message}\n`);
14
+ assistantEndedWithNewline = true;
15
+ };
16
+ const writeAssistant = (text) => {
17
+ stdout.write(text);
18
+ assistantEndedWithNewline = text.endsWith("\n");
19
+ };
20
+ return {
21
+ annotate,
22
+ writeAssistant,
23
+ assistantEndedWithNewline: () => assistantEndedWithNewline,
24
+ };
25
+ }
26
+ export function renderPlainAgentEvent(event, handlers) {
27
+ const { annotate, writeAssistant } = handlers;
28
+ switch (event.type) {
29
+ case "assistant_delta":
30
+ writeAssistant(event.text);
31
+ break;
32
+ case "thinking": {
33
+ const text = compactText(event.text);
34
+ if (text) {
35
+ annotate(`[thinking] ${text}`);
36
+ }
37
+ break;
38
+ }
39
+ case "tool": {
40
+ const params = event.params ? ` ${event.params}` : "";
41
+ annotate(`[tool] ${event.status} ${event.name}${params}`);
42
+ break;
43
+ }
44
+ case "status":
45
+ if (event.status !== "FINISHED" && event.status !== "COMPLETED") {
46
+ annotate(`[status] ${event.status}${event.message ? ` ${event.message}` : ""}`);
47
+ }
48
+ break;
49
+ case "task":
50
+ if (event.text || event.status) {
51
+ annotate(`[task] ${compactText([event.status, event.text].filter(Boolean).join(" "))}`);
52
+ }
53
+ break;
54
+ case "result": {
55
+ const details = [
56
+ `status=${event.status}`,
57
+ event.durationMs !== undefined ? `duration=${formatDuration(event.durationMs)}` : undefined,
58
+ event.errorCode ? `error=${event.errorCode}` : undefined,
59
+ ].filter(Boolean);
60
+ annotate(`[done] ${details.join(" ")}`);
61
+ break;
62
+ }
63
+ default:
64
+ break;
65
+ }
66
+ }
67
+ //# sourceMappingURL=plain-agent-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain-agent-render.js","sourceRoot":"","sources":["../../../src/cli/interactive/plain-agent-render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Tool arg summarization — adapted from Cursor cookbook coding-agent-cli (agent.ts).
3
+ * @see https://github.com/cursor/cookbook/tree/main/sdk/coding-agent-cli
4
+ */
5
+ export declare function summarizeToolArgs(toolName: string, args: unknown): string | undefined;
6
+ export declare function summarizeToolArgsFromDetail(toolName: string, detail: string | undefined): string | undefined;
7
+ //# sourceMappingURL=tool-arg-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-arg-summary.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/tool-arg-summary.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAiBrF;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAa5G"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Tool arg summarization — adapted from Cursor cookbook coding-agent-cli (agent.ts).
3
+ * @see https://github.com/cursor/cookbook/tree/main/sdk/coding-agent-cli
4
+ */
5
+ export function summarizeToolArgs(toolName, args) {
6
+ if (!args || typeof args !== "object") {
7
+ return undefined;
8
+ }
9
+ const record = args;
10
+ const keyGroups = getToolSummaryKeys(toolName);
11
+ const parts = [];
12
+ for (const keys of keyGroups) {
13
+ const part = summarizeFirstValue(record, keys);
14
+ if (part) {
15
+ parts.push(part);
16
+ }
17
+ }
18
+ return parts.length > 0 ? parts.join(" ") : undefined;
19
+ }
20
+ export function summarizeToolArgsFromDetail(toolName, detail) {
21
+ if (!detail?.trim()) {
22
+ return undefined;
23
+ }
24
+ const trimmed = detail.trim();
25
+ if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
26
+ try {
27
+ return summarizeToolArgs(toolName, JSON.parse(trimmed));
28
+ }
29
+ catch {
30
+ return shortenValue(trimmed.replace(/\s+/g, " "));
31
+ }
32
+ }
33
+ return shortenValue(trimmed.replace(/\s+/g, " "));
34
+ }
35
+ function getToolSummaryKeys(toolName) {
36
+ const name = toolName.toLowerCase();
37
+ if (name.includes("read")) {
38
+ return [["path", "filePath", "target_file", "absolutePath"], ["offset"], ["limit"]];
39
+ }
40
+ if (name.includes("glob")) {
41
+ return [["pattern", "glob", "glob_pattern"], ["path", "cwd", "target_directory"]];
42
+ }
43
+ if (name.includes("grep") || name.includes("search")) {
44
+ return [["pattern", "query"], ["path"], ["glob"], ["type"]];
45
+ }
46
+ if (name.includes("shell") || name.includes("terminal") || name.includes("command")) {
47
+ return [["command", "cmd"], ["cwd", "working_directory"]];
48
+ }
49
+ if (name.includes("edit") || name.includes("write") || name.includes("patch")) {
50
+ return [["path", "target_file", "file"], ["instruction"]];
51
+ }
52
+ return [["path", "file", "target_file"], ["pattern", "query", "command"]];
53
+ }
54
+ function summarizeFirstValue(record, keys) {
55
+ for (const key of keys) {
56
+ const value = record[key];
57
+ const formatted = formatArgValue(value);
58
+ if (formatted) {
59
+ return `${key}=${formatted}`;
60
+ }
61
+ }
62
+ return undefined;
63
+ }
64
+ function formatArgValue(value) {
65
+ if (typeof value === "string") {
66
+ return shortenValue(value.replace(/\s+/g, " ").trim());
67
+ }
68
+ if (typeof value === "number" || typeof value === "boolean") {
69
+ return String(value);
70
+ }
71
+ if (Array.isArray(value)) {
72
+ const items = value
73
+ .slice(0, 3)
74
+ .map(formatArgValue)
75
+ .filter((item) => Boolean(item));
76
+ return items.length > 0 ? `[${items.join(",")}]` : undefined;
77
+ }
78
+ return undefined;
79
+ }
80
+ function shortenValue(value, maxLength = 80) {
81
+ if (value.length <= maxLength) {
82
+ return value;
83
+ }
84
+ return `${value.slice(0, maxLength - 3)}...`;
85
+ }
86
+ //# sourceMappingURL=tool-arg-summary.js.map