@patze/code-cli 0.17.2 → 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 (68) hide show
  1. package/CHANGELOG.md +46 -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 +7 -3
  23. package/dist/cli/interactive/agent-turn-classify.d.ts.map +1 -1
  24. package/dist/cli/interactive/agent-turn-classify.js +53 -14
  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 +18 -4
  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 +45 -47
  37. package/dist/cli/interactive/agent-turn.js.map +1 -1
  38. package/dist/cli/interactive/ensure-execute-auth.d.ts +10 -0
  39. package/dist/cli/interactive/ensure-execute-auth.d.ts.map +1 -0
  40. package/dist/cli/interactive/ensure-execute-auth.js +28 -0
  41. package/dist/cli/interactive/ensure-execute-auth.js.map +1 -0
  42. package/dist/cli/interactive/header.js +1 -1
  43. package/dist/cli/interactive/header.js.map +1 -1
  44. package/dist/cli/interactive/plain-agent-render.d.ts +16 -0
  45. package/dist/cli/interactive/plain-agent-render.d.ts.map +1 -0
  46. package/dist/cli/interactive/plain-agent-render.js +67 -0
  47. package/dist/cli/interactive/plain-agent-render.js.map +1 -0
  48. package/dist/cli/interactive/session-controller.d.ts +1 -0
  49. package/dist/cli/interactive/session-controller.d.ts.map +1 -1
  50. package/dist/cli/interactive/session-controller.js +49 -15
  51. package/dist/cli/interactive/session-controller.js.map +1 -1
  52. package/dist/cli/interactive/shell.js +2 -2
  53. package/dist/cli/interactive/shell.js.map +1 -1
  54. package/dist/cli/interactive/tool-arg-summary.d.ts +7 -0
  55. package/dist/cli/interactive/tool-arg-summary.d.ts.map +1 -0
  56. package/dist/cli/interactive/tool-arg-summary.js +86 -0
  57. package/dist/cli/interactive/tool-arg-summary.js.map +1 -0
  58. package/dist/cli/interactive/transcript-line-parse.d.ts +8 -0
  59. package/dist/cli/interactive/transcript-line-parse.d.ts.map +1 -0
  60. package/dist/cli/interactive/transcript-line-parse.js +39 -0
  61. package/dist/cli/interactive/transcript-line-parse.js.map +1 -0
  62. package/dist/cli/interactive/tty-live-feed.d.ts +12 -0
  63. package/dist/cli/interactive/tty-live-feed.d.ts.map +1 -0
  64. package/dist/cli/interactive/tty-live-feed.js +64 -0
  65. package/dist/cli/interactive/tty-live-feed.js.map +1 -0
  66. package/docs/known-limitations.md +1 -1
  67. package/opentui/src/App.tsx +5 -5
  68. package/package.json +1 -1
@@ -1,27 +1,66 @@
1
+ import { isWorkspaceContextQuestion } from "./agent-turn-context.js";
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;
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;
4
+ const THAI_TASK_VERB = /(สร้าง|แก้ไข|แก้|เขียน|ลบ|อ่าน|เพิ่ม|ทำ|แปล|รัน|ทดสอบ|ดีบั๊ก|รีแฟคเตอร์|ย้าย|implement|generate)/i;
5
+ const THAI_CODE_NOUN = /(ไฟล์|โค้ด|ฟังก์ชัน|คลาส|โมดูล|แอป|หน้าเว็บ|html|css|javascript|typescript|api|เทส|บั๊ก|สคริปต์|demo)/i;
6
+ const PURE_META = /^(hi|hello|hey|thanks|thank you|ok|okay|yes|no|help|\/?help|สวัสดี|ขอบคุณ)/i;
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;
9
+ function hasCodeIntent(text) {
10
+ return EN_CODE_INTENT.test(text) || THAI_CODE_NOUN.test(text) || /[{}();=`]/.test(text);
11
+ }
12
+ function hasTaskLead(text) {
13
+ return (EN_TASK_LEAD.test(text) ||
14
+ /^(สร้าง|แก้|เขียน|เพิ่ม|ลบ|ทำ|รัน|ทดสอบ)/i.test(text) ||
15
+ THAI_TASK_VERB.test(text));
16
+ }
17
+ function isPureMetaChat(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)) {
23
+ return true;
24
+ }
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));
34
+ }
1
35
  /**
2
- * Decide whether free-text input is a casual/meta message or a coding task.
3
- * Conversational turns skip server preview and return a short reply instead.
36
+ * Decide whether free-text input is meta/chat or a coding task.
37
+ * Logged-in: cookbook sends coding work to the agent; meta/capability stays conversational.
4
38
  */
5
- export function classifyTurnInput(text) {
39
+ export function classifyTurnInput(text, options = {}) {
6
40
  const trimmed = text.trim();
7
41
  if (!trimmed) {
8
42
  return "conversation";
9
43
  }
10
- const hasCodeIntent = /\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)\b/i.test(trimmed) || /[{}();=`]/.test(trimmed);
11
- const taskLead = /^(fix|add|refactor|implement|update|create|build|write|remove|migrate|test|debug|improve|review|rename|extract|optimize)\b/i.test(trimmed);
12
- if (taskLead || (hasCodeIntent && trimmed.length > 24)) {
44
+ if (options.authReady) {
45
+ if (isPureMetaChat(trimmed) ||
46
+ isGenericQuestionWithoutCodeIntent(trimmed) ||
47
+ isWorkspaceContextQuestion(trimmed)) {
48
+ return "conversation";
49
+ }
50
+ return "task";
51
+ }
52
+ const codeIntent = hasCodeIntent(trimmed);
53
+ const taskLead = hasTaskLead(trimmed);
54
+ if (taskLead || (codeIntent && trimmed.length > 12)) {
13
55
  return "task";
14
56
  }
15
- const conversational = /^(hi|hello|hey|thanks|thank you|ok|okay|yes|no|help)\b/i.test(trimmed) ||
16
- /^(do you|can you|are you|what is|what's|how do)/i.test(trimmed) ||
17
- /[\??]/.test(trimmed) ||
18
- /(ไหม|มั้ย|หรือเปล่า|ได้ไหม)/.test(trimmed) ||
19
- /(เห็น|ได้ยิน|ข้อความ|สวัสดี|ช่วย.*ไหม|พิมพ์)/.test(trimmed) ||
20
- /(do you see|can you see|hear me)/i.test(trimmed);
21
- if (conversational && !hasCodeIntent) {
57
+ if (isPureMetaChat(trimmed) && !codeIntent) {
58
+ return "conversation";
59
+ }
60
+ if (isGenericQuestionWithoutCodeIntent(trimmed)) {
22
61
  return "conversation";
23
62
  }
24
- if (trimmed.length <= 48 && !hasCodeIntent && !taskLead) {
63
+ if (trimmed.length <= 32 && !codeIntent && !taskLead) {
25
64
  return "conversation";
26
65
  }
27
66
  return "task";
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn-classify.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn-classify.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,MAAM,aAAa,GACjB,+KAA+K,CAAC,IAAI,CAClL,OAAO,CACR,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAEhC,MAAM,QAAQ,GACZ,6HAA6H,CAAC,IAAI,CAChI,OAAO,CACR,CAAA;IAEH,IAAI,QAAQ,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC;QACvD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,cAAc,GAClB,yDAAyD,CAAC,IAAI,CAAC,OAAO,CAAC;QACvE,kDAAkD,CAAC,IAAI,CAAC,OAAO,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACrB,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3C,8CAA8C,CAAC,IAAI,CAAC,OAAO,CAAC;QAC5D,mCAAmC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAEnD,IAAI,cAAc,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxD,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;AAyBD,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"}
@@ -2,9 +2,17 @@ import { inputLooksThai } from "./agent-turn-classify.js";
2
2
  function thai(text) {
3
3
  return inputLooksThai(text);
4
4
  }
5
+ function mentionsFolderIncidentally(text) {
6
+ return (/(สร้าง|create|write|build|make|generate|เพิ่ม|เขียน|ทำ).*(folder|โฟลเดอ|directory)/i.test(text) ||
7
+ /(ใน|in)\s*(folder|โฟลเดอ|directory)\s*(นี้|this)/i.test(text));
8
+ }
5
9
  function asksWorkspaceLocation(text) {
6
- return (/(folder|directory|cwd|pwd|working dir|current dir|where am i|which folder|what folder|current workspace)/i.test(text) ||
7
- /(โฟลเดอ|ไดเรก|อยู่ใน|ที่ไหน|working directory)/i.test(text));
10
+ if (mentionsFolderIncidentally(text)) {
11
+ return false;
12
+ }
13
+ return (/(where am i|which folder|what folder|current (dir|directory|workspace|folder)|pwd\b|cwd\b)/i.test(text) ||
14
+ /((เรา|ตอนนี้|we).*(อยู่|where).*(folder|โฟลเดอ|ที่ไหน|directory))/i.test(text) ||
15
+ /(folder|โฟลเดอ|directory)\s*(อะไร|ไหน|what|which)/i.test(text));
8
16
  }
9
17
  function asksWorkspaceContents(text) {
10
18
  const hasFileCue = /(ไฟล์|files?|empty|blank|ว่าง)/i.test(text);
@@ -14,6 +22,12 @@ function asksWorkspaceContents(text) {
14
22
  function asksAuthStatus(text) {
15
23
  return /(auth|login|logged in|เชื่อม|ล็อกอิน|token)/i.test(text);
16
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
+ }
17
31
  /** Local, read-only answers from workspace inspect — no canned deflection. */
18
32
  export function buildContextualReply(input) {
19
33
  const { text, cwd, workspaceRoot, inspect, authReady } = input;
@@ -46,10 +60,10 @@ export function buildContextualReply(input) {
46
60
  if (asksAuthStatus(text)) {
47
61
  return isThai
48
62
  ? authReady
49
- ? "auth พร้อมแล้ว — preview จาก server ใช้ได้ (ยัง read-only · ไม่ auto-apply)"
63
+ ? "auth พร้อมแล้ว — สั่งงาน coding แล้ว agent stream ทำงานทันที (read-only · ไม่ auto-apply)"
50
64
  : "auth ยังไม่ครบ — ใช้ /login หรือ PATZE_CODE_* แล้ว /status --check"
51
65
  : authReady
52
- ? "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)."
53
67
  : "Auth incomplete — run /login or set PATZE_CODE_* then /status --check.";
54
68
  }
55
69
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn-context.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAUzD,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,cAAc,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,CACL,2GAA2G,CAAC,IAAI,CAC9G,IAAI,CACL;QACD,iDAAiD,CAAC,IAAI,CAAC,IAAI,CAAC,CAC7D,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,UAAU,GAAG,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/D,MAAM,WAAW,GAAG,sDAAsD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrF,OAAO,UAAU,IAAI,WAAW,CAAA;AAClC,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,8CAA8C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAClE,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAAC,KAAuB;IAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IAEzB,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM;YACpB,CAAC,CAAC,mBAAmB,OAAO,CAAC,SAAS,WAAW,OAAO,CAAC,cAAc,WAAW;YAClF,CAAC,CAAC,sBAAsB,OAAO,CAAC,SAAS,cAAc,OAAO,CAAC,cAAc,eAAe,CAAA;QAC9F,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,IAAI,OAAO,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,MAAM;gBACX,CAAC,CAAC,GAAG,OAAO,uDAAuD;gBACnE,CAAC,CAAC,GAAG,OAAO,6DAA6D,CAAA;QAC7E,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACzD,OAAO,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAA;QACnE,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAC1B,OAAO,MAAM;gBACX,CAAC,CAAC,iBAAiB,aAAa,kCAAkC;gBAClE,CAAC,CAAC,cAAc,aAAa,4BAA4B,CAAA;QAC7D,CAAC;QACD,OAAO,MAAM;YACX,CAAC,CAAC,QAAQ,GAAG,qBAAqB,aAAa,EAAE;YACjD,CAAC,CAAC,QAAQ,GAAG,qBAAqB,aAAa,EAAE,CAAA;IACrD,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM;YACX,CAAC,CAAC,SAAS;gBACT,CAAC,CAAC,6EAA6E;gBAC/E,CAAC,CAAC,oEAAoE;YACxE,CAAC,CAAC,SAAS;gBACT,CAAC,CAAC,mEAAmE;gBACrE,CAAC,CAAC,wEAAwE,CAAA;IAChF,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
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":"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"}
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":"AAIA,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,CA+L1B"}
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"}
@@ -1,5 +1,6 @@
1
1
  import { isAuthConfigured } from "../../backend/auth.js";
2
2
  import { loadConfig } from "../../config/config.js";
3
+ import { ensureExecuteAuthConfig } from "./ensure-execute-auth.js";
3
4
  import { buildGoalDryRunPlan } from "../commands/goal.js";
4
5
  import { toInspectSummary } from "../commands/inspect-format.js";
5
6
  import { runPlanPreview } from "../commands/plan.js";
@@ -8,7 +9,7 @@ import { getPermissionModeDef } from "../../runtime/permissions.js";
8
9
  import { guessWorkspaceRoot } from "../../runtime/workspace.js";
9
10
  import { normalizePatchProposalInput } from "../../runtime/patch-proposal.js";
10
11
  import { hasPatchBody } from "../../runtime/patch-proposal.js";
11
- import { formatAgentTurnLines, formatConversationTurnLines, resolveConversationReply } from "./agent-turn-format.js";
12
+ import { formatAgentTurnLines, formatConversationTurnLines, resolveConversationReply, } from "./agent-turn-format.js";
12
13
  import { formatAgentReply } from "./transcript-format.js";
13
14
  import { classifyTurnInput } from "./agent-turn-classify.js";
14
15
  import { buildContextualReply } from "./agent-turn-context.js";
@@ -23,14 +24,14 @@ export async function runAgentTurn(session, objective, options = {}) {
23
24
  exitCode: 2,
24
25
  };
25
26
  }
26
- const config = loadConfig(session.cwd);
27
+ let config = loadConfig(session.cwd);
27
28
  const permission = getPermissionModeDef(session.getPermissionMode());
28
29
  const authReady = isAuthConfigured(config);
29
30
  const modelHint = resolveEffectiveModel({
30
31
  sessionOverride: session.getModelOverride(),
31
32
  configModel: config.model,
32
33
  });
33
- if (classifyTurnInput(trimmed) === "conversation") {
34
+ if (classifyTurnInput(trimmed, { authReady }) === "conversation") {
34
35
  const inspectResult = inspectWorkspace(session.cwd, config.defaultAllow, config.defaultDeny);
35
36
  const workspaceRoot = guessWorkspaceRoot(session.cwd);
36
37
  const contextual = buildContextualReply({
@@ -50,12 +51,40 @@ export async function runAgentTurn(session, objective, options = {}) {
50
51
  exitCode: 0,
51
52
  };
52
53
  }
54
+ if (authReady) {
55
+ config = await ensureExecuteAuthConfig(session.cwd, { fetchImpl: options.fetchImpl });
56
+ }
53
57
  const conversationContext = buildConversationContext(session.getActiveTranscript());
54
58
  session.setCurrentGoal(trimmed);
55
59
  session.clearReviewAndApprovalState();
56
60
  const inspectResult = inspectWorkspace(session.cwd, config.defaultAllow, config.defaultDeny);
57
61
  const inspectSummary = toInspectSummary(inspectResult);
58
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
+ }
59
88
  const toolSteps = ["accept_task", "inspect_workspace"];
60
89
  let planSource = "local";
61
90
  let previewResult;
@@ -122,37 +151,7 @@ export async function runAgentTurn(session, objective, options = {}) {
122
151
  if (pendingAction) {
123
152
  session.setPendingAction(pendingAction);
124
153
  }
125
- const artifactDigest = previewResult.server?.artifact_digest ?? "";
126
- const previewOk = previewResult.source === "server" &&
127
- previewResult.server?.status === "ok" &&
128
- Boolean(artifactDigest);
129
- if (previewOk &&
130
- isCliExecuteEnabled() &&
131
- isExecuteAuthReady(config)) {
132
- toolSteps.push("execute_stream");
133
- const execute = await runExecuteTurn({
134
- cwd: session.cwd,
135
- config,
136
- objective: trimmed,
137
- previewArtifactDigest: artifactDigest,
138
- modelHint,
139
- conversationContext,
140
- executionMode: session.getExecutionMode(),
141
- fetchImpl: options.fetchImpl,
142
- signal: options.signal,
143
- onTranscriptLine: options.onTranscriptLine,
144
- onTranscriptPartial: options.onTranscriptPartial,
145
- });
146
- if (execute.run?.run_id) {
147
- session.setLastRunId(execute.run.run_id);
148
- }
149
- return {
150
- lines: execute.lines,
151
- exitCode: execute.exitCode,
152
- streamed: execute.streamed,
153
- };
154
- }
155
- if (previewOk && isCliExecuteEnabled() && !isExecuteAuthReady(config)) {
154
+ if (authReady && isCliExecuteEnabled() && !isExecuteAuthReady(config)) {
156
155
  return {
157
156
  lines: [
158
157
  ...formatAgentTurnLines({
@@ -166,25 +165,24 @@ export async function runAgentTurn(session, objective, options = {}) {
166
165
  authReady,
167
166
  mutationsEnabled: false,
168
167
  }),
169
- ...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."),
170
169
  ],
171
170
  exitCode: 0,
172
171
  streamed: false,
173
172
  };
174
173
  }
175
- const model = {
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
- };
186
174
  return {
187
- 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
+ }),
188
186
  exitCode,
189
187
  streamed: false,
190
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,10 @@
1
+ import type { FetchLike } from "../../backend/preview-client.js";
2
+ import { type ResolvedConfig } from "../../config/config.js";
3
+ /**
4
+ * When api+token exist but userId is missing, resolve from server key binding
5
+ * (same as /login without explicit user id) and persist to global config.
6
+ */
7
+ export declare function ensureExecuteAuthConfig(cwd: string, options?: {
8
+ fetchImpl?: FetchLike;
9
+ }): Promise<ResolvedConfig>;
10
+ //# sourceMappingURL=ensure-execute-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-execute-auth.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/ensure-execute-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGxE;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,SAAS,CAAA;CAAO,GACtC,OAAO,CAAC,cAAc,CAAC,CAqBzB"}
@@ -0,0 +1,28 @@
1
+ import { resolvePatzeCodeSessionUser } from "../../backend/session-client.js";
2
+ import { loadConfig } from "../../config/config.js";
3
+ import { saveCredentials } from "../commands/login.js";
4
+ /**
5
+ * When api+token exist but userId is missing, resolve from server key binding
6
+ * (same as /login without explicit user id) and persist to global config.
7
+ */
8
+ export async function ensureExecuteAuthConfig(cwd, options = {}) {
9
+ let config = loadConfig(cwd);
10
+ if (config.userId || !config.api || !config.token) {
11
+ return config;
12
+ }
13
+ const resolved = await resolvePatzeCodeSessionUser({
14
+ config,
15
+ fetchImpl: options.fetchImpl,
16
+ });
17
+ if (!resolved.ok) {
18
+ return config;
19
+ }
20
+ saveCredentials({
21
+ api: config.api,
22
+ token: config.token,
23
+ userId: resolved.userId,
24
+ });
25
+ config = loadConfig(cwd);
26
+ return config;
27
+ }
28
+ //# sourceMappingURL=ensure-execute-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-execute-auth.js","sourceRoot":"","sources":["../../../src/cli/interactive/ensure-execute-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAA;AAE7E,OAAO,EAAE,UAAU,EAAuB,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,GAAW,EACX,UAAqC,EAAE;IAEvC,IAAI,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC;QACjD,MAAM;QACN,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,eAAe,CAAC;QACd,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAA;IACF,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IACxB,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -61,7 +61,7 @@ export function renderInteractiveHeader(cwd, permissionMode, modelOverride, exec
61
61
  const STAGE_NOTICE = "Beta · Dev demo — for internal testing only";
62
62
  const HEADER_TIPS = [
63
63
  "One-shot: patze \"<task>\" · pipe stdin · /model to switch",
64
- "Chat gets a short reply · coding tasks use preview-first",
64
+ "Cookbook feed: run · tool · agent stream (SSE) when logged in",
65
65
  "/login <api> <token> · /status --check to verify",
66
66
  ];
67
67
  export const INTERACTIVE_PROMPT = "› ";
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/cli/interactive/header.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/cli/interactive/header.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"}