arc402-cli 1.8.3 → 1.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/dist/chat/harness.d.ts +1 -0
  2. package/dist/chat/harness.d.ts.map +1 -1
  3. package/dist/chat/harness.js +28 -3
  4. package/dist/chat/harness.js.map +1 -1
  5. package/dist/commands/chat.d.ts.map +1 -1
  6. package/dist/commands/chat.js +4 -3
  7. package/dist/commands/chat.js.map +1 -1
  8. package/dist/commands/daemon.d.ts.map +1 -1
  9. package/dist/commands/daemon.js +57 -11
  10. package/dist/commands/daemon.js.map +1 -1
  11. package/dist/commands/openshell.d.ts.map +1 -1
  12. package/dist/commands/openshell.js +12 -2
  13. package/dist/commands/openshell.js.map +1 -1
  14. package/dist/daemon/index.d.ts.map +1 -1
  15. package/dist/daemon/index.js +60 -1
  16. package/dist/daemon/index.js.map +1 -1
  17. package/dist/daemon/worker-executor.d.ts +1 -0
  18. package/dist/daemon/worker-executor.d.ts.map +1 -1
  19. package/dist/daemon/worker-executor.js +16 -1
  20. package/dist/daemon/worker-executor.js.map +1 -1
  21. package/dist/openshell-runtime.d.ts +6 -0
  22. package/dist/openshell-runtime.d.ts.map +1 -1
  23. package/dist/openshell-runtime.js +93 -4
  24. package/dist/openshell-runtime.js.map +1 -1
  25. package/dist/renderer/ThemedText.d.ts +2 -1
  26. package/dist/renderer/ThemedText.d.ts.map +1 -1
  27. package/dist/renderer/ThemedText.js +4 -1
  28. package/dist/renderer/ThemedText.js.map +1 -1
  29. package/dist/renderer/reconciler.d.ts.map +1 -1
  30. package/dist/renderer/reconciler.js +13 -1
  31. package/dist/renderer/reconciler.js.map +1 -1
  32. package/dist/tui/App.d.ts +3 -1
  33. package/dist/tui/App.d.ts.map +1 -1
  34. package/dist/tui/App.js +44 -6
  35. package/dist/tui/App.js.map +1 -1
  36. package/dist/tui/Header.d.ts.map +1 -1
  37. package/dist/tui/Header.js +2 -1
  38. package/dist/tui/Header.js.map +1 -1
  39. package/dist/tui/InputLine.d.ts.map +1 -1
  40. package/dist/tui/InputLine.js +2 -1
  41. package/dist/tui/InputLine.js.map +1 -1
  42. package/dist/tui/KernelPayloadRenderer.d.ts.map +1 -1
  43. package/dist/tui/KernelPayloadRenderer.js +17 -0
  44. package/dist/tui/KernelPayloadRenderer.js.map +1 -1
  45. package/dist/tui/Viewport.d.ts +4 -8
  46. package/dist/tui/Viewport.d.ts.map +1 -1
  47. package/dist/tui/Viewport.js +18 -28
  48. package/dist/tui/Viewport.js.map +1 -1
  49. package/dist/tui/command-catalog.d.ts.map +1 -1
  50. package/dist/tui/command-catalog.js +7 -2
  51. package/dist/tui/command-catalog.js.map +1 -1
  52. package/dist/tui/command-renderers.d.ts +20 -12
  53. package/dist/tui/command-renderers.d.ts.map +1 -1
  54. package/dist/tui/command-renderers.js +154 -37
  55. package/dist/tui/command-renderers.js.map +1 -1
  56. package/dist/tui/components/AnsiTextLine.d.ts +4 -0
  57. package/dist/tui/components/AnsiTextLine.d.ts.map +1 -0
  58. package/dist/tui/components/AnsiTextLine.js +92 -0
  59. package/dist/tui/components/AnsiTextLine.js.map +1 -0
  60. package/dist/tui/components/Button.js +1 -1
  61. package/dist/tui/components/Button.js.map +1 -1
  62. package/dist/tui/components/ChatHarnessSelector.d.ts.map +1 -1
  63. package/dist/tui/components/ChatHarnessSelector.js +4 -3
  64. package/dist/tui/components/ChatHarnessSelector.js.map +1 -1
  65. package/dist/tui/components/CompletionDropdown.d.ts.map +1 -1
  66. package/dist/tui/components/CompletionDropdown.js +4 -3
  67. package/dist/tui/components/CompletionDropdown.js.map +1 -1
  68. package/dist/tui/components/ConfirmPrompt.d.ts.map +1 -1
  69. package/dist/tui/components/ConfirmPrompt.js +2 -1
  70. package/dist/tui/components/ConfirmPrompt.js.map +1 -1
  71. package/dist/tui/components/commerce/FeedCard.d.ts +13 -0
  72. package/dist/tui/components/commerce/FeedCard.d.ts.map +1 -0
  73. package/dist/tui/components/commerce/FeedCard.js +26 -0
  74. package/dist/tui/components/commerce/FeedCard.js.map +1 -0
  75. package/dist/tui/components/commerce/JobStatusCard.d.ts +17 -0
  76. package/dist/tui/components/commerce/JobStatusCard.d.ts.map +1 -0
  77. package/dist/tui/components/commerce/JobStatusCard.js +11 -0
  78. package/dist/tui/components/commerce/JobStatusCard.js.map +1 -0
  79. package/dist/tui/components/commerce/RoundsList.js +1 -1
  80. package/dist/tui/components/commerce/RoundsList.js.map +1 -1
  81. package/dist/tui/components/commerce/StandingsCard.d.ts +13 -0
  82. package/dist/tui/components/commerce/StandingsCard.d.ts.map +1 -0
  83. package/dist/tui/components/commerce/StandingsCard.js +9 -0
  84. package/dist/tui/components/commerce/StandingsCard.js.map +1 -0
  85. package/dist/tui/components/commerce/StatusCard.d.ts.map +1 -1
  86. package/dist/tui/components/commerce/StatusCard.js +1 -2
  87. package/dist/tui/components/commerce/StatusCard.js.map +1 -1
  88. package/dist/tui/components/commerce/common.d.ts.map +1 -1
  89. package/dist/tui/components/commerce/common.js +13 -12
  90. package/dist/tui/components/commerce/common.js.map +1 -1
  91. package/dist/tui/index.d.ts.map +1 -1
  92. package/dist/tui/index.js +3 -1
  93. package/dist/tui/index.js.map +1 -1
  94. package/dist/tui/kernel-payload.d.ts +23 -0
  95. package/dist/tui/kernel-payload.d.ts.map +1 -1
  96. package/dist/tui/kernel.d.ts.map +1 -1
  97. package/dist/tui/kernel.js +350 -2
  98. package/dist/tui/kernel.js.map +1 -1
  99. package/dist/tui/useDaemonEvents.d.ts.map +1 -1
  100. package/dist/tui/useDaemonEvents.js +142 -44
  101. package/dist/tui/useDaemonEvents.js.map +1 -1
  102. package/dist/tui/viewport-measure.d.ts +28 -0
  103. package/dist/tui/viewport-measure.d.ts.map +1 -0
  104. package/dist/tui/viewport-measure.js +35 -0
  105. package/dist/tui/viewport-measure.js.map +1 -0
  106. package/dist/walletconnect.d.ts +1 -0
  107. package/dist/walletconnect.d.ts.map +1 -1
  108. package/dist/walletconnect.js +195 -126
  109. package/dist/walletconnect.js.map +1 -1
  110. package/package.json +2 -2
@@ -10,6 +10,11 @@ const WorkroomCard_1 = require("./components/commerce/WorkroomCard");
10
10
  const SubscribeCard_1 = require("./components/commerce/SubscribeCard");
11
11
  const RoundsList_1 = require("./components/commerce/RoundsList");
12
12
  const SquadCard_1 = require("./components/commerce/SquadCard");
13
+ const ComputeCard_1 = require("./components/commerce/ComputeCard");
14
+ const FeedCard_1 = require("./components/commerce/FeedCard");
15
+ const JobStatusCard_1 = require("./components/commerce/JobStatusCard");
16
+ const ProfileCard_1 = require("./components/commerce/ProfileCard");
17
+ const StandingsCard_1 = require("./components/commerce/StandingsCard");
13
18
  /**
14
19
  * Maps typed KernelPayload structs to Phase 2 Ink commerce components.
15
20
  * This is the bridge that makes real inline component rendering viable:
@@ -33,6 +38,18 @@ function KernelPayloadRenderer({ payload }) {
33
38
  return (0, jsx_runtime_1.jsx)(SquadCard_1.SquadCard, { ...payload.props });
34
39
  case "squads":
35
40
  return ((0, jsx_runtime_1.jsx)(index_js_1.Box, { flexDirection: "column", children: payload.cards.map((card, i) => ((0, jsx_runtime_1.jsx)(index_js_1.Box, { flexDirection: "column", marginBottom: 1, children: (0, jsx_runtime_1.jsx)(SquadCard_1.SquadCard, { ...card }) }, i))) }));
41
+ case "compute":
42
+ return (0, jsx_runtime_1.jsx)(ComputeCard_1.ComputeCard, { ...payload.props });
43
+ case "computes":
44
+ return ((0, jsx_runtime_1.jsx)(index_js_1.Box, { flexDirection: "column", children: payload.cards.map((card, i) => ((0, jsx_runtime_1.jsx)(index_js_1.Box, { flexDirection: "column", marginBottom: 1, children: (0, jsx_runtime_1.jsx)(ComputeCard_1.ComputeCard, { ...card }) }, i))) }));
45
+ case "feed":
46
+ return (0, jsx_runtime_1.jsx)(FeedCard_1.FeedCard, { ...payload.props });
47
+ case "job":
48
+ return (0, jsx_runtime_1.jsx)(JobStatusCard_1.JobStatusCard, { ...payload.props });
49
+ case "profile":
50
+ return (0, jsx_runtime_1.jsx)(ProfileCard_1.ProfileCard, { ...payload.props });
51
+ case "standings":
52
+ return (0, jsx_runtime_1.jsx)(StandingsCard_1.StandingsCard, { ...payload.props });
36
53
  case "not_found":
37
54
  case "error":
38
55
  return ((0, jsx_runtime_1.jsxs)(index_js_1.Box, { children: [(0, jsx_runtime_1.jsx)(index_js_1.Text, { color: "yellow", children: "\u26A0 " }), (0, jsx_runtime_1.jsx)(index_js_1.Text, { children: payload.message })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"KernelPayloadRenderer.js","sourceRoot":"","sources":["../../src/tui/KernelPayloadRenderer.tsx"],"names":[],"mappings":";;AAoBA,sDAkDC;;AArED,mDAAiD;AAEjD,iEAA8D;AAC9D,qEAAkE;AAClE,uEAAoE;AACpE,qEAAkE;AAClE,uEAAoE;AACpE,iEAA8D;AAC9D,+DAA4D;AAM5D;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,EAAE,OAAO,EAA8B;IAC3E,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,CACL,wBAAC,cAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,uBAAC,uBAAU,OAAK,OAAO,CAAC,KAAK,GAAI,EAChC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAClC,uBAAC,eAAI,IAAS,QAAQ,kBAAE,IAAI,IAAjB,CAAC,CAAwB,CACrC,CAAC,IACE,CACP,CAAC;QAEJ,KAAK,UAAU;YACb,OAAO,uBAAC,2BAAY,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE7C,KAAK,YAAY;YACf,OAAO,uBAAC,6BAAa,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE9C,KAAK,UAAU;YACb,OAAO,uBAAC,2BAAY,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE7C,KAAK,WAAW;YACd,OAAO,uBAAC,6BAAa,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE9C,KAAK,QAAQ;YACX,OAAO,uBAAC,uBAAU,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE3C,KAAK,OAAO;YACV,OAAO,uBAAC,qBAAS,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE1C,KAAK,QAAQ;YACX,OAAO,CACL,uBAAC,cAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC9B,uBAAC,cAAG,IAAS,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,YACjD,uBAAC,qBAAS,OAAK,IAAI,GAAI,IADf,CAAC,CAEL,CACP,CAAC,GACE,CACP,CAAC;QAEJ,KAAK,WAAW,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,CACL,wBAAC,cAAG,eACF,uBAAC,eAAI,IAAC,KAAK,EAAC,QAAQ,wBAAU,EAC9B,uBAAC,eAAI,cAAE,OAAO,CAAC,OAAO,GAAQ,IAC1B,CACP,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"KernelPayloadRenderer.js","sourceRoot":"","sources":["../../src/tui/KernelPayloadRenderer.tsx"],"names":[],"mappings":";;AAyBA,sDA4EC;;AApGD,mDAAiD;AAEjD,iEAA8D;AAC9D,qEAAkE;AAClE,uEAAoE;AACpE,qEAAkE;AAClE,uEAAoE;AACpE,iEAA8D;AAC9D,+DAA4D;AAC5D,mEAAgE;AAChE,6DAA0D;AAC1D,uEAAoE;AACpE,mEAAgE;AAChE,uEAAoE;AAMpE;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,EAAE,OAAO,EAA8B;IAC3E,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,CACL,wBAAC,cAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,uBAAC,uBAAU,OAAK,OAAO,CAAC,KAAK,GAAI,EAChC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAClC,uBAAC,eAAI,IAAS,QAAQ,kBAAE,IAAI,IAAjB,CAAC,CAAwB,CACrC,CAAC,IACE,CACP,CAAC;QAEJ,KAAK,UAAU;YACb,OAAO,uBAAC,2BAAY,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE7C,KAAK,YAAY;YACf,OAAO,uBAAC,6BAAa,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE9C,KAAK,UAAU;YACb,OAAO,uBAAC,2BAAY,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE7C,KAAK,WAAW;YACd,OAAO,uBAAC,6BAAa,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE9C,KAAK,QAAQ;YACX,OAAO,uBAAC,uBAAU,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE3C,KAAK,OAAO;YACV,OAAO,uBAAC,qBAAS,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE1C,KAAK,QAAQ;YACX,OAAO,CACL,uBAAC,cAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC9B,uBAAC,cAAG,IAAS,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,YACjD,uBAAC,qBAAS,OAAK,IAAI,GAAI,IADf,CAAC,CAEL,CACP,CAAC,GACE,CACP,CAAC;QAEJ,KAAK,SAAS;YACZ,OAAO,uBAAC,yBAAW,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE5C,KAAK,UAAU;YACb,OAAO,CACL,uBAAC,cAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC9B,uBAAC,cAAG,IAAS,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,YACjD,uBAAC,yBAAW,OAAK,IAAI,GAAI,IADjB,CAAC,CAEL,CACP,CAAC,GACE,CACP,CAAC;QAEJ,KAAK,MAAM;YACT,OAAO,uBAAC,mBAAQ,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAEzC,KAAK,KAAK;YACR,OAAO,uBAAC,6BAAa,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE9C,KAAK,SAAS;YACZ,OAAO,uBAAC,yBAAW,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE5C,KAAK,WAAW;YACd,OAAO,uBAAC,6BAAa,OAAK,OAAO,CAAC,KAAK,GAAI,CAAC;QAE9C,KAAK,WAAW,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,CACL,wBAAC,cAAG,eACF,uBAAC,eAAI,IAAC,KAAK,EAAC,QAAQ,wBAAU,EAC9B,uBAAC,eAAI,cAAE,OAAO,CAAC,OAAO,GAAQ,IAC1B,CACP,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -9,15 +9,11 @@ interface ViewportProps {
9
9
  }
10
10
  /**
11
11
  * Scrollable output area that fills remaining terminal space.
12
- * Renders strings as Text lines and KernelPayloads as Phase 2 Ink components.
13
12
  *
14
- * NOTE: KernelPayload entries are treated as single logical blocks that always
15
- * render fully they are not sliced by the scroll window. Only string lines
16
- * participate in the scroll window calculation. This keeps the Phase 2
17
- * components rendering correctly while maintaining scroll for text output.
18
- *
19
- * For the viewport height calculation, each payload counts as 1 "slot" in
20
- * the buffer but renders as a full component block.
13
+ * Full kernel payloads still render as structured components when fully inside
14
+ * the viewport. If a payload is only partially visible due to scroll position,
15
+ * the viewport falls back to a clipped text snapshot of the same payload so row
16
+ * accounting stays honest for multiline cards.
21
17
  */
22
18
  export declare function Viewport({ lines, scrollOffset, isAutoScroll, viewportHeight }: ViewportProps): import("react/jsx-runtime").JSX.Element;
23
19
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/tui/Viewport.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOtD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC;AAEnD,UAAU,aAAa;IACrB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,wFAAwF;IACxF,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,aAAa,2CA0C5F"}
1
+ {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/tui/Viewport.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC;AAEnD,UAAU,aAAa;IACrB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,wFAAwF;IACxF,cAAc,EAAE,MAAM,CAAC;CACxB;AAMD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,aAAa,2CAqC5F"}
@@ -4,40 +4,30 @@ exports.Viewport = Viewport;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const index_js_1 = require("../renderer/index.js");
6
6
  const KernelPayloadRenderer_1 = require("./KernelPayloadRenderer");
7
- function stripAnsi(text) {
8
- return text.replace(/\u001B\[[0-9;]*m/g, "");
7
+ const command_renderers_1 = require("./command-renderers");
8
+ const AnsiTextLine_js_1 = require("./components/AnsiTextLine.js");
9
+ const viewport_measure_js_1 = require("./viewport-measure.js");
10
+ function toLogicalLines(entry) {
11
+ return typeof entry === "string" ? [entry] : (0, command_renderers_1.buildKernelPayloadLines)(entry);
9
12
  }
10
13
  /**
11
14
  * Scrollable output area that fills remaining terminal space.
12
- * Renders strings as Text lines and KernelPayloads as Phase 2 Ink components.
13
15
  *
14
- * NOTE: KernelPayload entries are treated as single logical blocks that always
15
- * render fully they are not sliced by the scroll window. Only string lines
16
- * participate in the scroll window calculation. This keeps the Phase 2
17
- * components rendering correctly while maintaining scroll for text output.
18
- *
19
- * For the viewport height calculation, each payload counts as 1 "slot" in
20
- * the buffer but renders as a full component block.
16
+ * Full kernel payloads still render as structured components when fully inside
17
+ * the viewport. If a payload is only partially visible due to scroll position,
18
+ * the viewport falls back to a clipped text snapshot of the same payload so row
19
+ * accounting stays honest for multiline cards.
21
20
  */
22
21
  function Viewport({ lines, scrollOffset, isAutoScroll, viewportHeight }) {
23
- const totalLines = lines.length;
24
- let endIdx;
25
- let startIdx;
26
- if (scrollOffset === 0) {
27
- endIdx = totalLines;
28
- startIdx = Math.max(0, endIdx - viewportHeight);
29
- }
30
- else {
31
- endIdx = Math.max(0, totalLines - scrollOffset);
32
- startIdx = Math.max(0, endIdx - viewportHeight);
33
- }
34
- const visibleEntries = lines.slice(startIdx, endIdx);
35
- const padCount = Math.max(0, viewportHeight - visibleEntries.length);
36
- const paddedEntries = [
37
- ...Array(padCount).fill(""),
38
- ...visibleEntries,
39
- ];
22
+ const { measured } = (0, viewport_measure_js_1.measureLogicalEntries)(lines.map((entry) => ({ entry, logicalLines: toLogicalLines(entry) })));
23
+ const { segments: visibleSegments, padCount } = (0, viewport_measure_js_1.sliceVisibleLogicalEntries)(measured, scrollOffset, viewportHeight);
40
24
  const canScrollDown = scrollOffset > 0;
41
- return ((0, jsx_runtime_1.jsxs)(index_js_1.Box, { flexDirection: "column", flexGrow: 1, flexShrink: 1, children: [(0, jsx_runtime_1.jsx)(index_js_1.Box, { flexDirection: "column", flexGrow: 1, flexShrink: 1, children: paddedEntries.map((entry, i) => typeof entry === "string" ? ((0, jsx_runtime_1.jsx)(index_js_1.Text, { children: stripAnsi(entry) }, i)) : ((0, jsx_runtime_1.jsx)(index_js_1.Box, { flexDirection: "column", marginBottom: 1, children: (0, jsx_runtime_1.jsx)(KernelPayloadRenderer_1.KernelPayloadRenderer, { payload: entry }) }, i))) }), canScrollDown && !isAutoScroll && ((0, jsx_runtime_1.jsx)(index_js_1.Box, { justifyContent: "flex-end", flexShrink: 0, children: (0, jsx_runtime_1.jsx)(index_js_1.Text, { dimColor: true, children: "\u2193 more" }) }))] }));
25
+ return ((0, jsx_runtime_1.jsxs)(index_js_1.Box, { flexDirection: "column", flexGrow: 1, flexShrink: 1, children: [(0, jsx_runtime_1.jsxs)(index_js_1.Box, { flexDirection: "column", flexGrow: 1, flexShrink: 1, children: [Array.from({ length: padCount }, (_, i) => ((0, jsx_runtime_1.jsx)(AnsiTextLine_js_1.AnsiTextLine, { line: "" }, `pad:${i}`))), visibleSegments.map((segment, index) => {
26
+ const { item, sliceStart, sliceEnd, isFull } = segment;
27
+ if (typeof item.entry !== "string" && isFull) {
28
+ return ((0, jsx_runtime_1.jsx)(index_js_1.Box, { flexDirection: "column", children: (0, jsx_runtime_1.jsx)(KernelPayloadRenderer_1.KernelPayloadRenderer, { payload: item.entry }) }, `payload:${item.rowStart}:${index}`));
29
+ }
30
+ return item.logicalLines.slice(sliceStart, sliceEnd).map((line, lineIndex) => ((0, jsx_runtime_1.jsx)(AnsiTextLine_js_1.AnsiTextLine, { line: line }, `line:${item.rowStart}:${sliceStart + lineIndex}:${index}`)));
31
+ })] }), canScrollDown && !isAutoScroll && ((0, jsx_runtime_1.jsx)(index_js_1.Box, { justifyContent: "flex-end", flexShrink: 0, children: (0, jsx_runtime_1.jsx)(index_js_1.Text, { dimColor: true, children: "\u2193 more" }) }))] }));
42
32
  }
43
33
  //# sourceMappingURL=Viewport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../src/tui/Viewport.tsx"],"names":[],"mappings":";;AA+BA,4BA0CC;;AAxED,mDAAiD;AAEjD,mEAAgE;AAEhE,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAYD;;;;;;;;;;;GAWG;AACH,SAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAiB;IAC3F,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,IAAI,MAAc,CAAC;IACnB,IAAI,QAAgB,CAAC;IAErB,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,UAAU,CAAC;QACpB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC,CAAC;QAChD,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACrE,MAAM,aAAa,GAAoB;QACrC,GAAG,KAAK,CAAgB,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,GAAG,cAAc;KAClB,CAAC;IAEF,MAAM,aAAa,GAAG,YAAY,GAAG,CAAC,CAAC;IAEvC,OAAO,CACL,wBAAC,cAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,aACpD,uBAAC,cAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,YACnD,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC9B,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC1B,uBAAC,eAAI,cAAU,SAAS,CAAC,KAAK,CAAC,IAApB,CAAC,CAA2B,CACxC,CAAC,CAAC,CAAC,CACF,uBAAC,cAAG,IAAS,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,YACjD,uBAAC,6CAAqB,IAAC,OAAO,EAAE,KAAK,GAAI,IADjC,CAAC,CAEL,CACP,CACF,GACG,EACL,aAAa,IAAI,CAAC,YAAY,IAAI,CACjC,uBAAC,cAAG,IAAC,cAAc,EAAC,UAAU,EAAC,UAAU,EAAE,CAAC,YAC1C,uBAAC,eAAI,IAAC,QAAQ,kCAAc,GACxB,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../src/tui/Viewport.tsx"],"names":[],"mappings":";;AA8BA,4BAqCC;;AAlED,mDAAiD;AAEjD,mEAAgE;AAChE,2DAA8D;AAC9D,kEAA4D;AAC5D,+DAA0F;AAY1F,SAAS,cAAc,CAAC,KAAoB;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,2CAAuB,EAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAiB;IAC3F,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,2CAAqB,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnH,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,IAAA,gDAA0B,EAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IACnH,MAAM,aAAa,GAAG,YAAY,GAAG,CAAC,CAAC;IAEvC,OAAO,CACL,wBAAC,cAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,aACpD,wBAAC,cAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,aACnD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1C,uBAAC,8BAAY,IAAkB,IAAI,EAAC,EAAE,IAAnB,OAAO,CAAC,EAAE,CAAY,CAC1C,CAAC,EAED,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;wBACtC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;wBACvD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC;4BAC7C,OAAO,CACL,uBAAC,cAAG,IAA2C,aAAa,EAAC,QAAQ,YACnE,uBAAC,6CAAqB,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,GAAI,IADtC,WAAW,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE,CAEvC,CACP,CAAC;wBACJ,CAAC;wBAED,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAC5E,uBAAC,8BAAY,IAEX,IAAI,EAAE,IAAI,IADL,QAAQ,IAAI,CAAC,QAAQ,IAAI,UAAU,GAAG,SAAS,IAAI,KAAK,EAAE,CAE/D,CACH,CAAC,CAAC;oBACL,CAAC,CAAC,IACE,EACL,aAAa,IAAI,CAAC,YAAY,IAAI,CACjC,uBAAC,cAAG,IAAC,cAAc,EAAC,UAAU,EAAC,UAAU,EAAE,CAAC,YAC1C,uBAAC,eAAI,IAAC,QAAQ,kCAAc,GACxB,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"command-catalog.d.ts","sourceRoot":"","sources":["../../src/tui/command-catalog.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,4CAA6C,CAAC;AAGvE,eAAO,MAAM,sBAAsB,qTAmCzB,CAAC;AAGX,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAepD,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;GA2D7B,CAAC"}
1
+ {"version":3,"file":"command-catalog.d.ts","sourceRoot":"","sources":["../../src/tui/command-catalog.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,4CAA6C,CAAC;AAGvE,eAAO,MAAM,sBAAsB,qTAmCzB,CAAC;AAGX,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAepD,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;GAgE7B,CAAC"}
@@ -48,12 +48,12 @@ exports.TUI_SUBCOMMANDS = {
48
48
  squad: ["list", "create", "join", "info", "contribute"],
49
49
  // Legacy routes
50
50
  compute: ["offer", "discover", "hire", "status", "end", "sessions"],
51
- wallet: ["deploy", "status", "authorize-machine-key", "set-guardian", "freeze", "unfreeze", "set-spend-limits"],
51
+ wallet: ["connect", "deploy", "status", "authorize-machine-key", "set-guardian", "freeze", "unfreeze", "set-spend-limits"],
52
52
  agent: ["register", "update", "status", "info"],
53
53
  endpoint: ["setup", "status", "doctor", "claim", "update"],
54
54
  daemon: ["init", "start", "stop", "restart", "logs", "status", "config"],
55
55
  negotiate: ["start", "status", "accept", "reject"],
56
- job: ["files", "fetch", "manifest"],
56
+ job: ["status", "files", "fetch", "manifest"],
57
57
  plan: ["create", "list"],
58
58
  };
59
59
  exports.TUI_HELP_SECTIONS = [
@@ -64,6 +64,7 @@ exports.TUI_HELP_SECTIONS = [
64
64
  { cmd: "discover", desc: "Find agents by capability, trust, price" },
65
65
  { cmd: "agreements", desc: "List active/past agreements" },
66
66
  { cmd: "workroom status", desc: "Workroom container + job queue" },
67
+ { cmd: "job status <agreementId>", desc: "Worker status, logs, and deliverable state" },
67
68
  ],
68
69
  },
69
70
  {
@@ -89,8 +90,10 @@ exports.TUI_HELP_SECTIONS = [
89
90
  {
90
91
  label: "Compute",
91
92
  commands: [
93
+ { cmd: "wallet connect", desc: "Open WalletConnect pairing in the shell" },
92
94
  { cmd: "compute hire <provider>", desc: "Rent GPU session" },
93
95
  { cmd: "compute status <id>", desc: "Session metrics + cost" },
96
+ { cmd: "compute sessions", desc: "Active sessions and utilization" },
94
97
  { cmd: "compute end <id>", desc: "End session + settle" },
95
98
  { cmd: "compute discover", desc: "Find GPU providers" },
96
99
  ],
@@ -100,7 +103,9 @@ exports.TUI_HELP_SECTIONS = [
100
103
  commands: [
101
104
  { cmd: "arena rounds", desc: "Active prediction rounds" },
102
105
  { cmd: "arena squad list", desc: "Research squads" },
106
+ { cmd: "arena profile [address]", desc: "Agent profile card" },
103
107
  { cmd: "arena standings", desc: "Leaderboard" },
108
+ { cmd: "feed", desc: "Arena event feed" },
104
109
  { cmd: "arena stats", desc: "Protocol stats" },
105
110
  ],
106
111
  },
@@ -1 +1 @@
1
- {"version":3,"file":"command-catalog.js","sourceRoot":"","sources":["../../src/tui/command-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-catalog.js","sourceRoot":"","sources":["../../src/tui/command-catalog.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,30 @@ import type { ProfileCardProps } from "./components/commerce/ProfileCard";
2
2
  import type { AgreementListProps } from "./components/commerce/AgreementList";
3
3
  import type { ComputeCardProps } from "./components/commerce/ComputeCard";
4
4
  import type { DiscoverListProps } from "./components/commerce/DiscoverList";
5
+ import type { FeedCardProps } from "./components/commerce/FeedCard";
5
6
  import type { HireCardProps } from "./components/commerce/HireCard";
7
+ import type { JobStatusCardProps } from "./components/commerce/JobStatusCard";
6
8
  import type { RoundsListProps } from "./components/commerce/RoundsList";
7
9
  import type { SquadCardProps } from "./components/commerce/SquadCard";
10
+ import type { StandingsCardProps } from "./components/commerce/StandingsCard";
8
11
  import type { StatusCardProps } from "./components/commerce/StatusCard";
9
12
  import type { SubscribeCardProps } from "./components/commerce/SubscribeCard";
10
13
  import type { WorkroomCardProps } from "./components/commerce/WorkroomCard";
14
+ import type { KernelPayload } from "./kernel-payload";
15
+ export declare function buildStatusCardLines(props: StatusCardProps, guidance?: string[]): string[];
16
+ export declare function buildDiscoverListLines(props: DiscoverListProps): string[];
17
+ export declare function buildHireCardLines(props: HireCardProps): string[];
18
+ export declare function buildAgreementListLines(props: AgreementListProps): string[];
19
+ export declare function buildComputeCardLines(props: ComputeCardProps): string[];
20
+ export declare function buildFeedCardLines(props: FeedCardProps): string[];
21
+ export declare function buildSubscribeCardLines(props: SubscribeCardProps): string[];
22
+ export declare function buildRoundsListLines(props: RoundsListProps): string[];
23
+ export declare function buildSquadCardLines(props: SquadCardProps): string[];
24
+ export declare function buildJobStatusCardLines(props: JobStatusCardProps): string[];
25
+ export declare function buildProfileCardLines(props: ProfileCardProps): string[];
26
+ export declare function buildStandingsLines(props: StandingsCardProps): string[];
27
+ export declare function buildWorkroomCardLines(props: WorkroomCardProps): string[];
28
+ export declare function buildKernelPayloadLines(payload: KernelPayload): string[];
11
29
  export declare function printStatusCard(props: StatusCardProps): Promise<void>;
12
30
  export declare function printDiscoverList(props: DiscoverListProps): Promise<void>;
13
31
  export declare function printHireCard(props: HireCardProps): Promise<void>;
@@ -16,18 +34,8 @@ export declare function printComputeCard(props: ComputeCardProps): Promise<void>
16
34
  export declare function printSubscribeCard(props: SubscribeCardProps): Promise<void>;
17
35
  export declare function printRoundsList(props: RoundsListProps): Promise<void>;
18
36
  export declare function printSquadCard(props: SquadCardProps): Promise<void>;
19
- export interface StandingsEntry {
20
- rank: number;
21
- agent: string;
22
- wins: number;
23
- losses: number;
24
- netUsdc: string;
25
- }
26
- export interface StandingsProps {
27
- entries: StandingsEntry[];
28
- title?: string;
29
- }
37
+ export declare function printJobStatusCard(props: JobStatusCardProps): Promise<void>;
30
38
  export declare function printProfileCard(props: ProfileCardProps): Promise<void>;
31
- export declare function printStandings(props: StandingsProps): Promise<void>;
39
+ export declare function printStandings(props: StandingsCardProps): Promise<void>;
32
40
  export declare function printWorkroomCard(props: WorkroomCardProps): Promise<void>;
33
41
  //# sourceMappingURL=command-renderers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-renderers.d.ts","sourceRoot":"","sources":["../../src/tui/command-renderers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAgC5E,wBAAsB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B3E;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/E;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAcvE;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBjF;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAc7E;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAcjF;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB3E;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBzE;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB7E;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzE;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY/E"}
1
+ {"version":3,"file":"command-renderers.d.ts","sourceRoot":"","sources":["../../src/tui/command-renderers.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildStatusCardLines = buildStatusCardLines;
4
+ exports.buildDiscoverListLines = buildDiscoverListLines;
5
+ exports.buildHireCardLines = buildHireCardLines;
6
+ exports.buildAgreementListLines = buildAgreementListLines;
7
+ exports.buildComputeCardLines = buildComputeCardLines;
8
+ exports.buildFeedCardLines = buildFeedCardLines;
9
+ exports.buildSubscribeCardLines = buildSubscribeCardLines;
10
+ exports.buildRoundsListLines = buildRoundsListLines;
11
+ exports.buildSquadCardLines = buildSquadCardLines;
12
+ exports.buildJobStatusCardLines = buildJobStatusCardLines;
13
+ exports.buildProfileCardLines = buildProfileCardLines;
14
+ exports.buildStandingsLines = buildStandingsLines;
15
+ exports.buildWorkroomCardLines = buildWorkroomCardLines;
16
+ exports.buildKernelPayloadLines = buildKernelPayloadLines;
3
17
  exports.printStatusCard = printStatusCard;
4
18
  exports.printDiscoverList = printDiscoverList;
5
19
  exports.printHireCard = printHireCard;
@@ -8,6 +22,7 @@ exports.printComputeCard = printComputeCard;
8
22
  exports.printSubscribeCard = printSubscribeCard;
9
23
  exports.printRoundsList = printRoundsList;
10
24
  exports.printSquadCard = printSquadCard;
25
+ exports.printJobStatusCard = printJobStatusCard;
11
26
  exports.printProfileCard = printProfileCard;
12
27
  exports.printStandings = printStandings;
13
28
  exports.printWorkroomCard = printWorkroomCard;
@@ -36,8 +51,8 @@ function listItem(title, meta, detailLine, status) {
36
51
  ...(detailLine ? [detailLine] : []),
37
52
  ];
38
53
  }
39
- async function printStatusCard(props) {
40
- emit([
54
+ function buildStatusCardLines(props, guidance) {
55
+ return [
41
56
  "◈ Wallet Status",
42
57
  `${props.wallet}${badge(props.status?.label)}`,
43
58
  props.network,
@@ -65,20 +80,21 @@ async function printStatusCard(props) {
65
80
  detail("harness", props.workroom.harness ?? "n/a"),
66
81
  ]
67
82
  : []),
68
- ]);
83
+ ...(guidance?.length ? ["", ...guidance] : []),
84
+ ];
69
85
  }
70
- async function printDiscoverList(props) {
71
- emit([
86
+ function buildDiscoverListLines(props) {
87
+ return [
72
88
  "◈ Discover",
73
89
  `${props.title ?? "Discover Results"}${badge(props.status?.label)}`,
74
90
  ...(props.summary ? [props.summary] : []),
75
91
  separator(),
76
92
  ...props.agents.flatMap((agent) => listItem(`#${agent.rank} ${agent.name}`, `${agent.wallet} · trust ${agent.trustScore}${agent.priceLabel ? ` · ${agent.priceLabel}` : ""}`, `${agent.serviceType}${agent.capabilitySummary ? ` · ${agent.capabilitySummary}` : ""}${typeof agent.compositeScore === "number" ? ` · score ${(0, commerce_format_1.formatPercent)(agent.compositeScore * 100, 1)}` : ""}`, agent.endpointStatus).map((line) => ` ${line}`)),
77
93
  `${props.agents.length} ranked result${props.agents.length === 1 ? "" : "s"}`,
78
- ]);
94
+ ];
79
95
  }
80
- async function printHireCard(props) {
81
- emit([
96
+ function buildHireCardLines(props) {
97
+ return [
82
98
  "◈ Hire",
83
99
  `${props.providerName ? `${props.providerName} · ${props.providerAddress}` : props.providerAddress}${badge(props.status?.label)}`,
84
100
  props.capability,
@@ -90,10 +106,10 @@ async function printHireCard(props) {
90
106
  ...((props.notes ?? []).length > 0
91
107
  ? ["", "operator notes", ...(props.notes ?? []).map(bullet)]
92
108
  : []),
93
- ]);
109
+ ];
94
110
  }
95
- async function printAgreementList(props) {
96
- emit([
111
+ function buildAgreementListLines(props) {
112
+ return [
97
113
  "◈ Agreements",
98
114
  `${props.roleLabel ?? "Recent Agreements"}${badge(props.status?.label)}`,
99
115
  ...(props.totalEscrowLabel ? [props.totalEscrowLabel] : []),
@@ -105,10 +121,10 @@ async function printAgreementList(props) {
105
121
  ? `deadline ${(0, commerce_format_1.formatCountdown)(agreement.deadlineMinutes)}`
106
122
  : undefined, agreement.status).map((line) => ` ${line}`))
107
123
  : [" No agreements found."]),
108
- ]);
124
+ ];
109
125
  }
110
- async function printComputeCard(props) {
111
- emit([
126
+ function buildComputeCardLines(props) {
127
+ return [
112
128
  "◈ Compute Session",
113
129
  `${props.sessionId}${badge(props.status?.label)}`,
114
130
  `${props.provider} · ${props.gpuSpec}`,
@@ -120,10 +136,20 @@ async function printComputeCard(props) {
120
136
  ...(props.utilizationPercent !== undefined
121
137
  ? [detail("utilization", (0, commerce_format_1.formatPercent)(props.utilizationPercent, 2))]
122
138
  : []),
123
- ]);
139
+ ];
124
140
  }
125
- async function printSubscribeCard(props) {
126
- emit([
141
+ function buildFeedCardLines(props) {
142
+ return [
143
+ "◈ Arena Feed",
144
+ props.title ?? "Arena Feed",
145
+ separator(),
146
+ ...(props.entries.length > 0
147
+ ? props.entries.flatMap((entry) => listItem(entry.eventType, `${entry.timestampLabel} · ${entry.agent}`, entry.summary, entry.eventType).map((line) => ` ${line}`))
148
+ : [" No feed events found."]),
149
+ ];
150
+ }
151
+ function buildSubscribeCardLines(props) {
152
+ return [
127
153
  "◈ Subscription",
128
154
  `${props.provider}${badge(props.status?.label)}`,
129
155
  props.planId,
@@ -135,21 +161,20 @@ async function printSubscribeCard(props) {
135
161
  ...((props.accessSummary ?? []).length > 0
136
162
  ? ["", "access", ...(props.accessSummary ?? []).map(bullet)]
137
163
  : []),
138
- ]);
164
+ ];
139
165
  }
140
- async function printRoundsList(props) {
141
- emit([
166
+ function buildRoundsListLines(props) {
167
+ return [
142
168
  "◈ Arena",
143
169
  `${props.title ?? "Arena Rounds"}${badge(props.status?.label)}`,
144
170
  separator(),
145
171
  ...(props.rounds.length > 0
146
172
  ? props.rounds.flatMap((round) => listItem(`#${round.id} ${round.question}`, `${round.category ?? "uncategorized"} · ${round.timingLabel}`, `YES ${round.yesLabel} · NO ${round.noLabel}`, round.resolved ? (round.outcomeLabel ?? "resolved") : "open").map((line) => ` ${line}`))
147
173
  : [" No arena rounds found."]),
148
- "Built for round boards and live resolution views.",
149
- ]);
174
+ ];
150
175
  }
151
- async function printSquadCard(props) {
152
- emit([
176
+ function buildSquadCardLines(props) {
177
+ return [
153
178
  "◈ Squad",
154
179
  `${props.name}${badge(props.status?.label ?? props.statusLabel)}`,
155
180
  props.id,
@@ -164,10 +189,27 @@ async function printSquadCard(props) {
164
189
  ...((props.briefings ?? []).length > 0
165
190
  ? ["", "briefings", ...(props.briefings ?? []).map((briefing) => bullet(`${briefing.preview}${briefing.publishedLabel ? ` · ${briefing.publishedLabel}` : ""}${briefing.tags?.length ? ` · ${briefing.tags.join(", ")}` : ""}`))]
166
191
  : []),
167
- ]);
192
+ ];
168
193
  }
169
- async function printProfileCard(props) {
170
- emit([
194
+ function buildJobStatusCardLines(props) {
195
+ return [
196
+ "◈ Job Status",
197
+ `Agreement #${props.agreementId}${badge(props.status?.label)}`,
198
+ props.capability,
199
+ separator(),
200
+ detail("harness", props.harness ?? "n/a"),
201
+ detail("pid", props.pid ?? "n/a"),
202
+ detail("job dir", props.jobDir ?? "n/a"),
203
+ detail("started", props.startedAt ?? "n/a"),
204
+ detail("completed", props.completedAt ?? "n/a"),
205
+ detail("exit", props.exitCode ?? "n/a"),
206
+ detail("root hash", props.deliverableHash ?? "n/a"),
207
+ ...(props.error ? [detail("error", props.error)] : []),
208
+ ...((props.logTail ?? []).length > 0 ? ["", "log tail", ...(props.logTail ?? []).map((line) => ` ${line}`)] : []),
209
+ ];
210
+ }
211
+ function buildProfileCardLines(props) {
212
+ return [
171
213
  "◈ Agent Profile",
172
214
  `${props.name ?? props.address}${badge(props.status?.label ?? (props.isActive ? "active" : "inactive"))}`,
173
215
  props.endpoint ?? "",
@@ -186,21 +228,19 @@ async function printProfileCard(props) {
186
228
  ]
187
229
  : []),
188
230
  ...(props.latestStatus ? [detail("latest", props.latestStatus)] : []),
189
- ]);
231
+ ];
190
232
  }
191
- async function printStandings(props) {
192
- emit([
233
+ function buildStandingsLines(props) {
234
+ return [
193
235
  "◈ Arena Standings",
194
236
  props.title ?? "Global Leaderboard",
195
237
  separator(),
196
- ...props.entries.flatMap((e) => [
197
- ` #${String(e.rank).padStart(2)} ${e.agent.padEnd(30)} ${String(e.wins).padStart(3)}W ${String(e.losses).padStart(3)}L ${e.netUsdc} USDC`,
198
- ]),
238
+ ...props.entries.map((e) => ` #${String(e.rank).padStart(2)} ${e.agent.padEnd(30)} ${String(e.wins).padStart(3)}W ${String(e.losses).padStart(3)}L ${e.netUsdc} USDC`),
199
239
  `${props.entries.length} agents`,
200
- ]);
240
+ ];
201
241
  }
202
- async function printWorkroomCard(props) {
203
- emit([
242
+ function buildWorkroomCardLines(props) {
243
+ return [
204
244
  "◈ Workroom",
205
245
  `${props.runtime ?? "Governed execution environment"}${badge(props.status?.label ?? props.statusLabel)}`,
206
246
  separator(),
@@ -210,6 +250,83 @@ async function printWorkroomCard(props) {
210
250
  ...((props.activeJobs ?? []).length > 0
211
251
  ? ["", "jobs", ...(props.activeJobs ?? []).map((job) => bullet(`${job.id} · ${job.status}${job.harness ? ` · ${job.harness}` : ""}${job.task ? ` · ${job.task}` : ""}`))]
212
252
  : []),
213
- ]);
253
+ ];
254
+ }
255
+ function buildKernelPayloadLines(payload) {
256
+ switch (payload.type) {
257
+ case "status":
258
+ return buildStatusCardLines(payload.props, payload.guidance);
259
+ case "discover":
260
+ return buildDiscoverListLines(payload.props);
261
+ case "agreements":
262
+ return buildAgreementListLines(payload.props);
263
+ case "workroom":
264
+ return buildWorkroomCardLines(payload.props);
265
+ case "subscribe":
266
+ return buildSubscribeCardLines(payload.props);
267
+ case "rounds":
268
+ return buildRoundsListLines(payload.props);
269
+ case "squad":
270
+ return buildSquadCardLines(payload.props);
271
+ case "squads":
272
+ return payload.cards.flatMap((card, index) => [
273
+ ...buildSquadCardLines(card),
274
+ ...(index < payload.cards.length - 1 ? [""] : []),
275
+ ]);
276
+ case "compute":
277
+ return buildComputeCardLines(payload.props);
278
+ case "computes":
279
+ return payload.cards.flatMap((card, index) => [
280
+ ...buildComputeCardLines(card),
281
+ ...(index < payload.cards.length - 1 ? [""] : []),
282
+ ]);
283
+ case "feed":
284
+ return buildFeedCardLines(payload.props);
285
+ case "job":
286
+ return buildJobStatusCardLines(payload.props);
287
+ case "profile":
288
+ return buildProfileCardLines(payload.props);
289
+ case "standings":
290
+ return buildStandingsLines(payload.props);
291
+ case "not_found":
292
+ case "error":
293
+ return [payload.message];
294
+ }
295
+ }
296
+ async function printStatusCard(props) {
297
+ emit(buildStatusCardLines(props));
298
+ }
299
+ async function printDiscoverList(props) {
300
+ emit(buildDiscoverListLines(props));
301
+ }
302
+ async function printHireCard(props) {
303
+ emit(buildHireCardLines(props));
304
+ }
305
+ async function printAgreementList(props) {
306
+ emit(buildAgreementListLines(props));
307
+ }
308
+ async function printComputeCard(props) {
309
+ emit(buildComputeCardLines(props));
310
+ }
311
+ async function printSubscribeCard(props) {
312
+ emit(buildSubscribeCardLines(props));
313
+ }
314
+ async function printRoundsList(props) {
315
+ emit(buildRoundsListLines(props));
316
+ }
317
+ async function printSquadCard(props) {
318
+ emit(buildSquadCardLines(props));
319
+ }
320
+ async function printJobStatusCard(props) {
321
+ emit(buildJobStatusCardLines(props));
322
+ }
323
+ async function printProfileCard(props) {
324
+ emit(buildProfileCardLines(props));
325
+ }
326
+ async function printStandings(props) {
327
+ emit(buildStandingsLines(props));
328
+ }
329
+ async function printWorkroomCard(props) {
330
+ emit(buildWorkroomCardLines(props));
214
331
  }
215
332
  //# sourceMappingURL=command-renderers.js.map