@caupulican/pi-adaptative 0.95.0 → 0.96.1

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 (126) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/bundled-resources/extensions/tmux-agent-manager/index.d.ts.map +1 -1
  3. package/dist/bundled-resources/extensions/tmux-agent-manager/index.js +28 -0
  4. package/dist/bundled-resources/extensions/tmux-agent-manager/index.js.map +1 -1
  5. package/dist/bundled-resources/extensions/tmux-agent-manager/index.ts +25 -0
  6. package/dist/bundled-resources/extensions/tps/index.d.ts +3 -0
  7. package/dist/bundled-resources/extensions/tps/index.d.ts.map +1 -0
  8. package/dist/bundled-resources/extensions/tps/index.js +44 -0
  9. package/dist/bundled-resources/extensions/tps/index.js.map +1 -0
  10. package/dist/bundled-resources/extensions/tps/index.ts +48 -0
  11. package/dist/core/agent-session-services.d.ts.map +1 -1
  12. package/dist/core/agent-session-services.js +12 -3
  13. package/dist/core/agent-session-services.js.map +1 -1
  14. package/dist/core/agent-session.d.ts +3 -3
  15. package/dist/core/agent-session.d.ts.map +1 -1
  16. package/dist/core/agent-session.js +16 -6
  17. package/dist/core/agent-session.js.map +1 -1
  18. package/dist/core/compaction-controller.d.ts +3 -0
  19. package/dist/core/compaction-controller.d.ts.map +1 -1
  20. package/dist/core/compaction-controller.js +12 -1
  21. package/dist/core/compaction-controller.js.map +1 -1
  22. package/dist/core/extension-import-authority.d.ts +3 -1
  23. package/dist/core/extension-import-authority.d.ts.map +1 -1
  24. package/dist/core/extension-import-authority.js +15 -0
  25. package/dist/core/extension-import-authority.js.map +1 -1
  26. package/dist/core/goal-loop-controller.d.ts +2 -2
  27. package/dist/core/goal-loop-controller.js +2 -2
  28. package/dist/core/goal-loop-controller.js.map +1 -1
  29. package/dist/core/goals/compact-goal-context.d.ts.map +1 -1
  30. package/dist/core/goals/compact-goal-context.js +12 -8
  31. package/dist/core/goals/compact-goal-context.js.map +1 -1
  32. package/dist/core/goals/goal-continuation-controller.d.ts +3 -3
  33. package/dist/core/goals/goal-continuation-controller.js +14 -15
  34. package/dist/core/goals/goal-continuation-controller.js.map +1 -1
  35. package/dist/core/goals/goal-continuation-defaults.d.ts +3 -3
  36. package/dist/core/goals/goal-continuation-defaults.js +3 -3
  37. package/dist/core/goals/goal-continuation-defaults.js.map +1 -1
  38. package/dist/core/goals/goal-lifecycle.d.ts +2 -0
  39. package/dist/core/goals/goal-lifecycle.d.ts.map +1 -1
  40. package/dist/core/goals/goal-lifecycle.js +22 -0
  41. package/dist/core/goals/goal-lifecycle.js.map +1 -1
  42. package/dist/core/goals/goal-session-controller.d.ts +8 -2
  43. package/dist/core/goals/goal-session-controller.d.ts.map +1 -1
  44. package/dist/core/goals/goal-session-controller.js +22 -3
  45. package/dist/core/goals/goal-session-controller.js.map +1 -1
  46. package/dist/core/goals/goal-state.d.ts.map +1 -1
  47. package/dist/core/goals/goal-state.js +1 -7
  48. package/dist/core/goals/goal-state.js.map +1 -1
  49. package/dist/core/goals/goal-tool-core.js +1 -1
  50. package/dist/core/goals/goal-tool-core.js.map +1 -1
  51. package/dist/core/keybindings.d.ts +2 -2
  52. package/dist/core/keybindings.d.ts.map +1 -1
  53. package/dist/core/keybindings.js +2 -2
  54. package/dist/core/keybindings.js.map +1 -1
  55. package/dist/core/model-resolver.js +1 -1
  56. package/dist/core/model-resolver.js.map +1 -1
  57. package/dist/core/package-manager.d.ts +1 -1
  58. package/dist/core/package-manager.d.ts.map +1 -1
  59. package/dist/core/package-manager.js +2 -21
  60. package/dist/core/package-manager.js.map +1 -1
  61. package/dist/core/profile-filter-controller.d.ts.map +1 -1
  62. package/dist/core/profile-filter-controller.js +5 -2
  63. package/dist/core/profile-filter-controller.js.map +1 -1
  64. package/dist/core/provider-prompt-contracts.d.ts +5 -1
  65. package/dist/core/provider-prompt-contracts.d.ts.map +1 -1
  66. package/dist/core/provider-prompt-contracts.js +5 -1
  67. package/dist/core/provider-prompt-contracts.js.map +1 -1
  68. package/dist/core/resource-loader.d.ts.map +1 -1
  69. package/dist/core/resource-loader.js +6 -2
  70. package/dist/core/resource-loader.js.map +1 -1
  71. package/dist/core/risk-classifier.d.ts.map +1 -1
  72. package/dist/core/risk-classifier.js +22 -2
  73. package/dist/core/risk-classifier.js.map +1 -1
  74. package/dist/core/settings-manager.d.ts +9 -0
  75. package/dist/core/settings-manager.d.ts.map +1 -1
  76. package/dist/core/settings-manager.js +63 -9
  77. package/dist/core/settings-manager.js.map +1 -1
  78. package/dist/core/system-prompt-builder.d.ts +1 -0
  79. package/dist/core/system-prompt-builder.d.ts.map +1 -1
  80. package/dist/core/system-prompt-builder.js +21 -1
  81. package/dist/core/system-prompt-builder.js.map +1 -1
  82. package/dist/core/system-prompt.d.ts.map +1 -1
  83. package/dist/core/system-prompt.js +5 -1
  84. package/dist/core/system-prompt.js.map +1 -1
  85. package/dist/core/tools/goal.d.ts.map +1 -1
  86. package/dist/core/tools/goal.js +8 -18
  87. package/dist/core/tools/goal.js.map +1 -1
  88. package/dist/core/tools/orchestration-panel.d.ts +7 -0
  89. package/dist/core/tools/orchestration-panel.d.ts.map +1 -1
  90. package/dist/core/tools/orchestration-panel.js +58 -9
  91. package/dist/core/tools/orchestration-panel.js.map +1 -1
  92. package/dist/core/tools/task-steps.d.ts.map +1 -1
  93. package/dist/core/tools/task-steps.js +1 -0
  94. package/dist/core/tools/task-steps.js.map +1 -1
  95. package/dist/modes/interactive/components/agents-overlay.d.ts +16 -4
  96. package/dist/modes/interactive/components/agents-overlay.d.ts.map +1 -1
  97. package/dist/modes/interactive/components/agents-overlay.js +108 -29
  98. package/dist/modes/interactive/components/agents-overlay.js.map +1 -1
  99. package/dist/modes/interactive/components/custom-message.js +7 -2
  100. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  101. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  102. package/dist/modes/interactive/components/settings-selector.js +2 -2
  103. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  104. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  105. package/dist/modes/interactive/interactive-mode.js +5 -4
  106. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  107. package/dist/modes/interactive/session-flow-commands.d.ts.map +1 -1
  108. package/dist/modes/interactive/session-flow-commands.js +9 -2
  109. package/dist/modes/interactive/session-flow-commands.js.map +1 -1
  110. package/docs/extensions.md +2 -0
  111. package/docs/index.md +1 -0
  112. package/docs/keybindings.md +2 -0
  113. package/docs/sessions.md +1 -1
  114. package/docs/task-steps.md +2 -0
  115. package/docs/tmux-agent-manager.md +1 -1
  116. package/docs/tool-repair.md +4 -3
  117. package/docs/work-lifecycle.md +137 -0
  118. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  119. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  120. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  121. package/examples/extensions/sandbox/package-lock.json +2 -2
  122. package/examples/extensions/sandbox/package.json +1 -1
  123. package/examples/extensions/with-deps/package-lock.json +2 -2
  124. package/examples/extensions/with-deps/package.json +1 -1
  125. package/npm-shrinkwrap.json +12 -12
  126. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"custom-message.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/custom-message.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CustomMessage } from \"@caupulican/pi-agent-core\";\nimport type { TextContent } from \"@caupulican/pi-ai\";\nimport {\n\tBox,\n\ttype Component,\n\tContainer,\n\tMarkdown,\n\ttype MarkdownTheme,\n\tSpacer,\n\tText,\n\ttruncateToWidth,\n} from \"@caupulican/pi-tui\";\nimport type { MessageRenderer } from \"../../../core/extensions/types.ts\";\nimport {\n\ttype BackgroundActivitySummaryContract,\n\ttype BackgroundActivitySummaryItem,\n\tcreateBackgroundActivitySummaryContract,\n\tisBackgroundActivitySummaryContract,\n} from \"../../../core/foreground-terminal-handoff-controller.ts\";\nimport { isPlainRecord } from \"../../../core/util/value-guards.ts\";\nimport { getMarkdownTheme, theme } from \"../theme/theme.ts\";\nimport { renderTitleBadge } from \"./tool-title.ts\";\n\n/**\n * Component that renders a custom message entry from extensions.\n * Uses distinct styling to differentiate from user messages.\n */\nexport class CustomMessageComponent extends Container {\n\tprivate message: CustomMessage<unknown>;\n\tprivate customRenderer?: MessageRenderer;\n\tprivate box: Box;\n\tprivate customComponent?: Component;\n\tprivate markdownTheme: MarkdownTheme;\n\tprivate _expanded = false;\n\n\tconstructor(\n\t\tmessage: CustomMessage<unknown>,\n\t\tcustomRenderer?: MessageRenderer,\n\t\tmarkdownTheme: MarkdownTheme = getMarkdownTheme(),\n\t) {\n\t\tsuper();\n\t\tthis.message = message;\n\t\tthis.customRenderer = customRenderer;\n\t\tthis.markdownTheme = markdownTheme;\n\n\t\tthis.addChild(new Spacer(1));\n\n\t\t// Create box with purple background (used for default rendering)\n\t\tthis.box = new Box(1, 1, (t) => theme.bg(\"customMessageBg\", t));\n\n\t\tthis.rebuild();\n\t}\n\n\tsetExpanded(expanded: boolean): void {\n\t\tif (this._expanded !== expanded) {\n\t\t\tthis._expanded = expanded;\n\t\t\tthis.rebuild();\n\t\t}\n\t}\n\n\toverride invalidate(): void {\n\t\tsuper.invalidate();\n\t\tthis.rebuild();\n\t}\n\n\tprivate rebuild(): void {\n\t\t// Remove previous content component\n\t\tif (this.customComponent) {\n\t\t\tthis.removeChild(this.customComponent);\n\t\t\tthis.customComponent = undefined;\n\t\t}\n\t\tthis.removeChild(this.box);\n\n\t\tconst backgroundSummary = formatBackgroundActivitySummary(this.message);\n\t\tif (backgroundSummary) {\n\t\t\tthis.customComponent = new BackgroundActivitySummaryComponent(backgroundSummary);\n\t\t\tthis.addChild(this.customComponent);\n\t\t\treturn;\n\t\t}\n\n\t\t// Try custom renderer first - it handles its own styling\n\t\tif (this.customRenderer) {\n\t\t\ttry {\n\t\t\t\tconst component = this.customRenderer(this.message, { expanded: this._expanded }, theme);\n\t\t\t\tif (component) {\n\t\t\t\t\t// Custom renderer provides its own styled component\n\t\t\t\t\tthis.customComponent = component;\n\t\t\t\t\tthis.addChild(component);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t// Fall through to default rendering\n\t\t\t}\n\t\t}\n\n\t\t// Default rendering uses our box\n\t\tthis.addChild(this.box);\n\t\tthis.box.clear();\n\n\t\t// Default rendering: label + content\n\t\tthis.box.addChild(new Text(renderTitleBadge(theme, { label: this.message.customType }), 0, 0));\n\t\tthis.box.addChild(new Spacer(1));\n\n\t\t// Extract text content\n\t\tlet text: string;\n\t\tif (typeof this.message.content === \"string\") {\n\t\t\ttext = this.message.content;\n\t\t} else {\n\t\t\ttext = this.message.content\n\t\t\t\t.filter((c): c is TextContent => c.type === \"text\")\n\t\t\t\t.map((c) => c.text)\n\t\t\t\t.join(\"\\n\");\n\t\t}\n\n\t\tthis.box.addChild(\n\t\t\tnew Markdown(text, 0, 0, this.markdownTheme, {\n\t\t\t\tcolor: (text: string) => theme.fg(\"customMessageText\", text),\n\t\t\t}),\n\t\t);\n\t}\n}\n\nfunction boundedIds(ids: readonly string[], totalCount: number): string {\n\tconst shown = ids.slice(0, 4);\n\tconst omitted = Math.max(0, totalCount - shown.length);\n\treturn `[${shown.join(\", \")}${omitted > 0 ? `, +${omitted}` : \"\"}]`;\n}\n\ninterface BackgroundActivitySummary {\n\ttext: string;\n\tstatus: \"success\" | \"warning\" | \"error\";\n}\n\nclass BackgroundActivitySummaryComponent implements Component {\n\tprivate readonly summary: BackgroundActivitySummary;\n\n\tconstructor(summary: BackgroundActivitySummary) {\n\t\tthis.summary = summary;\n\t}\n\n\trender(width: number): string[] {\n\t\tconst line = `${theme.fg(this.summary.status, \"•\")} ${theme.fg(\"muted\", this.summary.text)}`;\n\t\treturn [truncateToWidth(line, Math.max(1, width), \"…\")];\n\t}\n\n\tinvalidate(): void {}\n}\n\nfunction noun(count: number, singular: string): string {\n\treturn count === 1 ? singular : `${singular}s`;\n}\n\nfunction formatCountedStatus(\n\tcount: number,\n\tsingularNoun: string,\n\tsingularVerb: string,\n\tpluralVerb: string,\n\tids: readonly string[],\n): string | undefined {\n\tif (count === 0) return undefined;\n\tconst verb = count === 1 ? singularVerb : pluralVerb;\n\tconst idsText = ids.length > 0 ? ` ${boundedIds(ids, count)}` : \"\";\n\treturn `${count} ${noun(count, singularNoun)} ${verb}${idsText}`;\n}\n\nfunction fallbackBackgroundActivitySummary(kind: \"agent\" | \"task\"): BackgroundActivitySummary {\n\tconst singularNoun = kind === \"agent\" ? \"agent\" : \"background task\";\n\treturn {\n\t\ttext: `Background ${singularNoun} activity unavailable`,\n\t\tstatus: \"warning\",\n\t};\n}\n\nfunction recordSummaryItems(\n\tkind: \"agent\" | \"task\",\n\trecords: readonly Record<string, unknown>[],\n): BackgroundActivitySummaryItem[] | undefined {\n\tconst items: BackgroundActivitySummaryItem[] = [];\n\tfor (const record of records) {\n\t\tconst id = kind === \"agent\" ? record.laneId : record.taskId;\n\t\tif (typeof id !== \"string\" || id.length === 0 || typeof record.status !== \"string\") return undefined;\n\t\tif (kind === \"agent\") {\n\t\t\tconst claimNeedsReview = isPlainRecord(record.claim) && record.claim.parentReviewRequired === true;\n\t\t\tconst status =\n\t\t\t\trecord.status === \"failed\" || record.status === \"timeout\" || record.status === \"budget_exhausted\"\n\t\t\t\t\t? \"failed\"\n\t\t\t\t\t: record.status === \"canceled\"\n\t\t\t\t\t\t? \"canceled\"\n\t\t\t\t\t\t: claimNeedsReview || record.status === \"partial\" || record.status === \"blocked\"\n\t\t\t\t\t\t\t? \"attention\"\n\t\t\t\t\t\t\t: record.status === \"succeeded\"\n\t\t\t\t\t\t\t\t? \"success\"\n\t\t\t\t\t\t\t\t: undefined;\n\t\t\tif (!status) return undefined;\n\t\t\titems.push({ id, status });\n\t\t\tcontinue;\n\t\t}\n\t\tif (record.status !== \"completed\" && record.status !== \"failed\" && record.status !== \"canceled\") return undefined;\n\t\titems.push({\n\t\t\tid,\n\t\t\tstatus: record.status === \"failed\" ? \"failed\" : record.status === \"canceled\" ? \"canceled\" : \"success\",\n\t\t});\n\t}\n\treturn items;\n}\n\nfunction readSummaryContract(\n\tmessage: CustomMessage<unknown>,\n\tkind: \"agent\" | \"task\",\n\titems: readonly BackgroundActivitySummaryItem[] | undefined,\n): BackgroundActivitySummaryContract | undefined {\n\tif (isPlainRecord(message.details) && isBackgroundActivitySummaryContract(message.details.summary)) {\n\t\tconst summary = message.details.summary;\n\t\tif (summary.kind !== kind || !items || summary.totalCount < items.length) return undefined;\n\t\tconst includedCounts = {\n\t\t\tattention: items.filter((item) => item.status === \"attention\").length,\n\t\t\tfailed: items.filter((item) => item.status === \"failed\").length,\n\t\t\tcanceled: items.filter((item) => item.status === \"canceled\").length,\n\t\t};\n\t\tif (\n\t\t\tsummary.attentionCount < includedCounts.attention ||\n\t\t\tsummary.failedCount < includedCounts.failed ||\n\t\t\tsummary.canceledCount < includedCounts.canceled\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn summary;\n\t}\n\treturn items && items.length > 0 ? createBackgroundActivitySummaryContract(kind, items) : undefined;\n}\n\nfunction formatBackgroundActivitySummary(message: CustomMessage<unknown>): BackgroundActivitySummary | undefined {\n\tconst supervisionSummary = formatSupervisionActivitySummary(message);\n\tif (supervisionSummary) return supervisionSummary;\n\tconst kind =\n\t\tmessage.customType === \"background-worker-completion\"\n\t\t\t? \"agent\"\n\t\t\t: message.customType === \"background-tool-completion\"\n\t\t\t\t? \"task\"\n\t\t\t\t: undefined;\n\tif (!kind) return undefined;\n\tif (!isPlainRecord(message.details) || !Array.isArray(message.details.records))\n\t\treturn fallbackBackgroundActivitySummary(kind);\n\tif (message.details.records.some((record) => !isPlainRecord(record))) return fallbackBackgroundActivitySummary(kind);\n\tconst records = message.details.records as Record<string, unknown>[];\n\tconst items = recordSummaryItems(kind, records);\n\tconst summary = readSummaryContract(message, kind, items);\n\tif (!summary || !items) return fallbackBackgroundActivitySummary(kind);\n\tconst nounName = kind === \"agent\" ? \"agent\" : \"background task\";\n\tconst attentionIds = items.filter((item) => item.status === \"attention\").map((item) => item.id);\n\tconst failedIds = items.filter((item) => item.status === \"failed\").map((item) => item.id);\n\tconst canceledIds = items.filter((item) => item.status === \"canceled\").map((item) => item.id);\n\tconst text = [\n\t\t`${summary.totalCount} ${noun(summary.totalCount, nounName)} finished`,\n\t\tformatCountedStatus(summary.attentionCount, nounName, \"needs verification\", \"need verification\", attentionIds),\n\t\tformatCountedStatus(summary.failedCount, nounName, \"failed\", \"failed\", failedIds),\n\t\tformatCountedStatus(summary.canceledCount, nounName, \"canceled\", \"canceled\", canceledIds),\n\t]\n\t\t.filter((part): part is string => part !== undefined)\n\t\t.join(\" | \");\n\treturn {\n\t\ttext,\n\t\tstatus:\n\t\t\tsummary.failedCount > 0 ? \"error\" : summary.attentionCount + summary.canceledCount > 0 ? \"warning\" : \"success\",\n\t};\n}\n\n/**\n * Supervision is durable model input, but its raw lifecycle prose is not a second TUI renderer.\n * Keep it in the session/custom-message stream for the model and transcript overlay while the\n * foreground history uses the same one-line activity projection as background completions.\n */\nfunction formatSupervisionActivitySummary(message: CustomMessage<unknown>): BackgroundActivitySummary | undefined {\n\tif (message.customType === \"worktree-sync-notice\") {\n\t\treturn { text: \"Worktree sync activity\", status: \"warning\" };\n\t}\n\tif (message.customType === \"process-matrix-notice\") {\n\t\treturn { text: \"Process supervision activity\", status: \"warning\" };\n\t}\n\treturn undefined;\n}\n"]}
1
+ {"version":3,"file":"custom-message.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/custom-message.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CustomMessage } from \"@caupulican/pi-agent-core\";\nimport type { TextContent } from \"@caupulican/pi-ai\";\nimport {\n\tBox,\n\ttype Component,\n\tContainer,\n\tMarkdown,\n\ttype MarkdownTheme,\n\tSpacer,\n\tText,\n\ttruncateToWidth,\n} from \"@caupulican/pi-tui\";\nimport type { MessageRenderer } from \"../../../core/extensions/types.ts\";\nimport {\n\ttype BackgroundActivitySummaryContract,\n\ttype BackgroundActivitySummaryItem,\n\tcreateBackgroundActivitySummaryContract,\n\tisBackgroundActivitySummaryContract,\n} from \"../../../core/foreground-terminal-handoff-controller.ts\";\nimport { isPlainRecord } from \"../../../core/util/value-guards.ts\";\nimport { getMarkdownTheme, theme } from \"../theme/theme.ts\";\nimport { renderTitleBadge } from \"./tool-title.ts\";\n\n/**\n * Component that renders a custom message entry from extensions.\n * Uses distinct styling to differentiate from user messages.\n */\nexport class CustomMessageComponent extends Container {\n\tprivate message: CustomMessage<unknown>;\n\tprivate customRenderer?: MessageRenderer;\n\tprivate box: Box;\n\tprivate customComponent?: Component;\n\tprivate markdownTheme: MarkdownTheme;\n\tprivate _expanded = false;\n\n\tconstructor(\n\t\tmessage: CustomMessage<unknown>,\n\t\tcustomRenderer?: MessageRenderer,\n\t\tmarkdownTheme: MarkdownTheme = getMarkdownTheme(),\n\t) {\n\t\tsuper();\n\t\tthis.message = message;\n\t\tthis.customRenderer = customRenderer;\n\t\tthis.markdownTheme = markdownTheme;\n\n\t\tthis.addChild(new Spacer(1));\n\n\t\t// Create box with purple background (used for default rendering)\n\t\tthis.box = new Box(1, 1, (t) => theme.bg(\"customMessageBg\", t));\n\n\t\tthis.rebuild();\n\t}\n\n\tsetExpanded(expanded: boolean): void {\n\t\tif (this._expanded !== expanded) {\n\t\t\tthis._expanded = expanded;\n\t\t\tthis.rebuild();\n\t\t}\n\t}\n\n\toverride invalidate(): void {\n\t\tsuper.invalidate();\n\t\tthis.rebuild();\n\t}\n\n\tprivate rebuild(): void {\n\t\t// Remove previous content component\n\t\tif (this.customComponent) {\n\t\t\tthis.removeChild(this.customComponent);\n\t\t\tthis.customComponent = undefined;\n\t\t}\n\t\tthis.removeChild(this.box);\n\n\t\tconst backgroundSummary = formatBackgroundActivitySummary(this.message);\n\t\tif (backgroundSummary) {\n\t\t\tthis.customComponent = new BackgroundActivitySummaryComponent(backgroundSummary);\n\t\t\tthis.addChild(this.customComponent);\n\t\t\treturn;\n\t\t}\n\n\t\t// Try custom renderer first - it handles its own styling\n\t\tif (this.customRenderer) {\n\t\t\ttry {\n\t\t\t\tconst component = this.customRenderer(this.message, { expanded: this._expanded }, theme);\n\t\t\t\tif (component) {\n\t\t\t\t\t// Custom renderer provides its own styled component\n\t\t\t\t\tthis.customComponent = component;\n\t\t\t\t\tthis.addChild(component);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t// Fall through to default rendering\n\t\t\t}\n\t\t}\n\n\t\t// Default rendering uses our box\n\t\tthis.addChild(this.box);\n\t\tthis.box.clear();\n\n\t\t// Default rendering: label + content\n\t\tthis.box.addChild(new Text(renderTitleBadge(theme, { label: this.message.customType }), 0, 0));\n\t\tthis.box.addChild(new Spacer(1));\n\n\t\t// Extract text content\n\t\tlet text: string;\n\t\tif (typeof this.message.content === \"string\") {\n\t\t\ttext = this.message.content;\n\t\t} else {\n\t\t\ttext = this.message.content\n\t\t\t\t.filter((c): c is TextContent => c.type === \"text\")\n\t\t\t\t.map((c) => c.text)\n\t\t\t\t.join(\"\\n\");\n\t\t}\n\n\t\tthis.box.addChild(\n\t\t\tnew Markdown(text, 0, 0, this.markdownTheme, {\n\t\t\t\tcolor: (text: string) => theme.fg(\"customMessageText\", text),\n\t\t\t}),\n\t\t);\n\t}\n}\n\nfunction boundedIds(ids: readonly string[], totalCount: number): string {\n\tconst shown = ids.slice(0, 4);\n\tconst omitted = Math.max(0, totalCount - shown.length);\n\treturn `[${shown.join(\", \")}${omitted > 0 ? `, +${omitted}` : \"\"}]`;\n}\n\ninterface BackgroundActivitySummary {\n\ttext: string;\n\tstatus: \"success\" | \"warning\" | \"error\";\n}\n\nclass BackgroundActivitySummaryComponent implements Component {\n\tprivate readonly summary: BackgroundActivitySummary;\n\n\tconstructor(summary: BackgroundActivitySummary) {\n\t\tthis.summary = summary;\n\t}\n\n\trender(width: number): string[] {\n\t\tconst line = `${theme.fg(this.summary.status, \"•\")} ${theme.fg(\"muted\", this.summary.text)}`;\n\t\treturn [truncateToWidth(line, Math.max(1, width), \"…\")];\n\t}\n\n\tinvalidate(): void {}\n}\n\nfunction noun(count: number, singular: string): string {\n\treturn count === 1 ? singular : `${singular}s`;\n}\n\nfunction formatCountedStatus(\n\tcount: number,\n\tsingularNoun: string,\n\tsingularVerb: string,\n\tpluralVerb: string,\n\tids: readonly string[],\n): string | undefined {\n\tif (count === 0) return undefined;\n\tconst verb = count === 1 ? singularVerb : pluralVerb;\n\tconst idsText = ids.length > 0 ? ` ${boundedIds(ids, count)}` : \"\";\n\treturn `${count} ${noun(count, singularNoun)} ${verb}${idsText}`;\n}\n\nfunction fallbackBackgroundActivitySummary(kind: \"agent\" | \"task\"): BackgroundActivitySummary {\n\tconst singularNoun = kind === \"agent\" ? \"agent\" : \"background task\";\n\treturn {\n\t\ttext: `Background ${singularNoun} activity unavailable`,\n\t\tstatus: \"warning\",\n\t};\n}\n\nfunction recordSummaryItems(\n\tkind: \"agent\" | \"task\",\n\trecords: readonly Record<string, unknown>[],\n): BackgroundActivitySummaryItem[] | undefined {\n\tconst items: BackgroundActivitySummaryItem[] = [];\n\tfor (const record of records) {\n\t\tconst id = kind === \"agent\" ? record.laneId : record.taskId;\n\t\tif (typeof id !== \"string\" || id.length === 0 || typeof record.status !== \"string\") return undefined;\n\t\tif (kind === \"agent\") {\n\t\t\tconst claimNeedsReview = isPlainRecord(record.claim) && record.claim.parentReviewRequired === true;\n\t\t\tconst status =\n\t\t\t\trecord.status === \"failed\" || record.status === \"timeout\" || record.status === \"budget_exhausted\"\n\t\t\t\t\t? \"failed\"\n\t\t\t\t\t: record.status === \"canceled\"\n\t\t\t\t\t\t? \"canceled\"\n\t\t\t\t\t\t: claimNeedsReview || record.status === \"partial\" || record.status === \"blocked\"\n\t\t\t\t\t\t\t? \"attention\"\n\t\t\t\t\t\t\t: record.status === \"succeeded\"\n\t\t\t\t\t\t\t\t? \"success\"\n\t\t\t\t\t\t\t\t: undefined;\n\t\t\tif (!status) return undefined;\n\t\t\titems.push({ id, status });\n\t\t\tcontinue;\n\t\t}\n\t\tif (record.status !== \"completed\" && record.status !== \"failed\" && record.status !== \"canceled\") return undefined;\n\t\titems.push({\n\t\t\tid,\n\t\t\tstatus: record.status === \"failed\" ? \"failed\" : record.status === \"canceled\" ? \"canceled\" : \"success\",\n\t\t});\n\t}\n\treturn items;\n}\n\nfunction readSummaryContract(\n\tmessage: CustomMessage<unknown>,\n\tkind: \"agent\" | \"task\",\n\titems: readonly BackgroundActivitySummaryItem[] | undefined,\n): BackgroundActivitySummaryContract | undefined {\n\tif (isPlainRecord(message.details) && isBackgroundActivitySummaryContract(message.details.summary)) {\n\t\tconst summary = message.details.summary;\n\t\tif (summary.kind !== kind || !items || summary.totalCount < items.length) return undefined;\n\t\tconst includedCounts = {\n\t\t\tsuccess: items.filter((item) => item.status === \"success\").length,\n\t\t\tattention: items.filter((item) => item.status === \"attention\").length,\n\t\t\tfailed: items.filter((item) => item.status === \"failed\").length,\n\t\t\tcanceled: items.filter((item) => item.status === \"canceled\").length,\n\t\t};\n\t\tconst successCount = summary.totalCount - summary.attentionCount - summary.failedCount - summary.canceledCount;\n\t\tif (\n\t\t\tsuccessCount < includedCounts.success ||\n\t\t\tsummary.attentionCount < includedCounts.attention ||\n\t\t\tsummary.failedCount < includedCounts.failed ||\n\t\t\tsummary.canceledCount < includedCounts.canceled\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn summary;\n\t}\n\treturn items && items.length > 0 ? createBackgroundActivitySummaryContract(kind, items) : undefined;\n}\n\nfunction formatBackgroundActivitySummary(message: CustomMessage<unknown>): BackgroundActivitySummary | undefined {\n\tconst supervisionSummary = formatSupervisionActivitySummary(message);\n\tif (supervisionSummary) return supervisionSummary;\n\tconst kind =\n\t\tmessage.customType === \"background-worker-completion\"\n\t\t\t? \"agent\"\n\t\t\t: message.customType === \"background-tool-completion\"\n\t\t\t\t? \"task\"\n\t\t\t\t: undefined;\n\tif (!kind) return undefined;\n\tif (!isPlainRecord(message.details) || !Array.isArray(message.details.records))\n\t\treturn fallbackBackgroundActivitySummary(kind);\n\tif (message.details.records.some((record) => !isPlainRecord(record))) return fallbackBackgroundActivitySummary(kind);\n\tconst records = message.details.records as Record<string, unknown>[];\n\tconst items = recordSummaryItems(kind, records);\n\tconst summary = readSummaryContract(message, kind, items);\n\tif (!summary || !items) return fallbackBackgroundActivitySummary(kind);\n\tconst nounName = kind === \"agent\" ? \"agent\" : \"background task\";\n\tconst successIds = items.filter((item) => item.status === \"success\").map((item) => item.id);\n\tconst attentionIds = items.filter((item) => item.status === \"attention\").map((item) => item.id);\n\tconst failedIds = items.filter((item) => item.status === \"failed\").map((item) => item.id);\n\tconst canceledIds = items.filter((item) => item.status === \"canceled\").map((item) => item.id);\n\tconst successCount = summary.totalCount - summary.attentionCount - summary.failedCount - summary.canceledCount;\n\tconst text = [\n\t\tformatCountedStatus(successCount, nounName, \"succeeded\", \"succeeded\", successIds),\n\t\tformatCountedStatus(summary.attentionCount, nounName, \"needs verification\", \"need verification\", attentionIds),\n\t\tformatCountedStatus(summary.failedCount, nounName, \"failed\", \"failed\", failedIds),\n\t\tformatCountedStatus(summary.canceledCount, nounName, \"canceled\", \"canceled\", canceledIds),\n\t]\n\t\t.filter((part): part is string => part !== undefined)\n\t\t.join(\" | \");\n\treturn {\n\t\ttext,\n\t\tstatus:\n\t\t\tsummary.failedCount > 0 ? \"error\" : summary.attentionCount + summary.canceledCount > 0 ? \"warning\" : \"success\",\n\t};\n}\n\n/**\n * Supervision is durable model input, but its raw lifecycle prose is not a second TUI renderer.\n * Keep it in the session/custom-message stream for the model and transcript overlay while the\n * foreground history uses the same one-line activity projection as background completions.\n */\nfunction formatSupervisionActivitySummary(message: CustomMessage<unknown>): BackgroundActivitySummary | undefined {\n\tif (message.customType === \"worktree-sync-notice\") {\n\t\treturn { text: \"Worktree sync activity\", status: \"warning\" };\n\t}\n\tif (message.customType === \"process-matrix-notice\") {\n\t\treturn { text: \"Process supervision activity\", status: \"warning\" };\n\t}\n\treturn undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"settings-selector.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/settings-selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-selector.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/settings-selector.ts"],"names":[],"mappings":"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"}
@@ -538,8 +538,8 @@ class AutonomySettingsSubmenu extends SettingsListSubmenu {
538
538
  },
539
539
  {
540
540
  id: "autonomy-max-stall-turns",
541
- label: "Goal stall limit",
542
- description: "Maximum no-progress rounds before Pi stops continuing and asks the user",
541
+ label: "Goal recovery threshold",
542
+ description: "Unchanged rounds before Pi must inspect failure evidence and switch approach without stopping",
543
543
  currentValue: autonomyMaxStallTurnsValue(this.state),
544
544
  values: AUTONOMY_MAX_STALL_TURN_VALUES,
545
545
  },