arc402-cli 1.4.50 → 1.6.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 (291) hide show
  1. package/dist/commands/agreements.d.ts.map +1 -1
  2. package/dist/commands/agreements.js +19 -0
  3. package/dist/commands/agreements.js.map +1 -1
  4. package/dist/commands/arena-v2.d.ts.map +1 -1
  5. package/dist/commands/arena-v2.js +129 -4
  6. package/dist/commands/arena-v2.js.map +1 -1
  7. package/dist/commands/auth.d.ts +11 -0
  8. package/dist/commands/auth.d.ts.map +1 -0
  9. package/dist/commands/auth.js +188 -0
  10. package/dist/commands/auth.js.map +1 -0
  11. package/dist/commands/chat.d.ts +3 -0
  12. package/dist/commands/chat.d.ts.map +1 -0
  13. package/dist/commands/chat.js +752 -0
  14. package/dist/commands/chat.js.map +1 -0
  15. package/dist/commands/compute.d.ts.map +1 -1
  16. package/dist/commands/compute.js +84 -10
  17. package/dist/commands/compute.js.map +1 -1
  18. package/dist/commands/daemon.d.ts.map +1 -1
  19. package/dist/commands/daemon.js +44 -5
  20. package/dist/commands/daemon.js.map +1 -1
  21. package/dist/commands/discover.d.ts.map +1 -1
  22. package/dist/commands/discover.js +20 -0
  23. package/dist/commands/discover.js.map +1 -1
  24. package/dist/commands/hermes-init.d.ts +1 -1
  25. package/dist/commands/hermes-init.js +9 -9
  26. package/dist/commands/hermes-init.js.map +1 -1
  27. package/dist/commands/hire.d.ts.map +1 -1
  28. package/dist/commands/hire.js +20 -0
  29. package/dist/commands/hire.js.map +1 -1
  30. package/dist/commands/index.d.ts +3 -0
  31. package/dist/commands/index.d.ts.map +1 -0
  32. package/dist/commands/index.js +74 -0
  33. package/dist/commands/index.js.map +1 -0
  34. package/dist/commands/lifecycle.d.ts +3 -0
  35. package/dist/commands/lifecycle.d.ts.map +1 -0
  36. package/dist/commands/lifecycle.js +58 -0
  37. package/dist/commands/lifecycle.js.map +1 -0
  38. package/dist/commands/security.d.ts +3 -0
  39. package/dist/commands/security.d.ts.map +1 -0
  40. package/dist/commands/security.js +44 -0
  41. package/dist/commands/security.js.map +1 -0
  42. package/dist/commands/status.d.ts +18 -0
  43. package/dist/commands/status.d.ts.map +1 -0
  44. package/dist/commands/status.js +179 -0
  45. package/dist/commands/status.js.map +1 -0
  46. package/dist/commands/subscription.d.ts +3 -0
  47. package/dist/commands/subscription.d.ts.map +1 -0
  48. package/dist/commands/subscription.js +465 -0
  49. package/dist/commands/subscription.js.map +1 -0
  50. package/dist/commands/workroom.d.ts.map +1 -1
  51. package/dist/commands/workroom.js +13 -0
  52. package/dist/commands/workroom.js.map +1 -1
  53. package/dist/commerce-client.d.ts +77 -0
  54. package/dist/commerce-client.d.ts.map +1 -0
  55. package/dist/commerce-client.js +224 -0
  56. package/dist/commerce-client.js.map +1 -0
  57. package/dist/commerce-index.d.ts +39 -0
  58. package/dist/commerce-index.d.ts.map +1 -0
  59. package/dist/commerce-index.js +294 -0
  60. package/dist/commerce-index.js.map +1 -0
  61. package/dist/config.d.ts +6 -0
  62. package/dist/config.d.ts.map +1 -1
  63. package/dist/config.js.map +1 -1
  64. package/dist/daemon/config.d.ts +1 -0
  65. package/dist/daemon/config.d.ts.map +1 -1
  66. package/dist/daemon/config.js +7 -3
  67. package/dist/daemon/config.js.map +1 -1
  68. package/dist/daemon/index.d.ts.map +1 -1
  69. package/dist/daemon/index.js +18 -4
  70. package/dist/daemon/index.js.map +1 -1
  71. package/dist/daemon-client.d.ts +46 -0
  72. package/dist/daemon-client.d.ts.map +1 -0
  73. package/dist/daemon-client.js +80 -0
  74. package/dist/daemon-client.js.map +1 -0
  75. package/dist/index.js +40 -34
  76. package/dist/index.js.map +1 -1
  77. package/dist/program.d.ts.map +1 -1
  78. package/dist/program.js +14 -0
  79. package/dist/program.js.map +1 -1
  80. package/dist/tui/App.d.ts.map +1 -1
  81. package/dist/tui/App.js +61 -58
  82. package/dist/tui/App.js.map +1 -1
  83. package/dist/tui/InputLine.d.ts +4 -2
  84. package/dist/tui/InputLine.d.ts.map +1 -1
  85. package/dist/tui/InputLine.js +79 -60
  86. package/dist/tui/InputLine.js.map +1 -1
  87. package/dist/tui/KernelPayloadRenderer.d.ts +12 -0
  88. package/dist/tui/KernelPayloadRenderer.d.ts.map +1 -0
  89. package/dist/tui/KernelPayloadRenderer.js +41 -0
  90. package/dist/tui/KernelPayloadRenderer.js.map +1 -0
  91. package/dist/tui/Viewport.d.ts +15 -5
  92. package/dist/tui/Viewport.d.ts.map +1 -1
  93. package/dist/tui/Viewport.js +18 -24
  94. package/dist/tui/Viewport.js.map +1 -1
  95. package/dist/tui/command-catalog.d.ts +11 -0
  96. package/dist/tui/command-catalog.d.ts.map +1 -0
  97. package/dist/tui/command-catalog.js +119 -0
  98. package/dist/tui/command-catalog.js.map +1 -0
  99. package/dist/tui/command-renderers.d.ts +33 -0
  100. package/dist/tui/command-renderers.d.ts.map +1 -0
  101. package/dist/tui/command-renderers.js +215 -0
  102. package/dist/tui/command-renderers.js.map +1 -0
  103. package/dist/tui/commerce-format.d.ts +3 -0
  104. package/dist/tui/commerce-format.d.ts.map +1 -0
  105. package/dist/tui/commerce-format.js +19 -0
  106. package/dist/tui/commerce-format.js.map +1 -0
  107. package/dist/tui/components/commerce/AgentPicker.d.ts +7 -0
  108. package/dist/tui/components/commerce/AgentPicker.d.ts.map +1 -0
  109. package/dist/tui/components/commerce/AgentPicker.js +33 -0
  110. package/dist/tui/components/commerce/AgentPicker.js.map +1 -0
  111. package/dist/tui/components/commerce/AgreementList.d.ts +18 -0
  112. package/dist/tui/components/commerce/AgreementList.d.ts.map +1 -0
  113. package/dist/tui/components/commerce/AgreementList.js +25 -0
  114. package/dist/tui/components/commerce/AgreementList.js.map +1 -0
  115. package/dist/tui/components/commerce/ComputeCard.d.ts +14 -0
  116. package/dist/tui/components/commerce/ComputeCard.d.ts.map +1 -0
  117. package/dist/tui/components/commerce/ComputeCard.js +9 -0
  118. package/dist/tui/components/commerce/ComputeCard.js.map +1 -0
  119. package/dist/tui/components/commerce/DiscoverList.d.ts +20 -0
  120. package/dist/tui/components/commerce/DiscoverList.d.ts.map +1 -0
  121. package/dist/tui/components/commerce/DiscoverList.js +22 -0
  122. package/dist/tui/components/commerce/DiscoverList.js.map +1 -0
  123. package/dist/tui/components/commerce/HireCard.d.ts +14 -0
  124. package/dist/tui/components/commerce/HireCard.d.ts.map +1 -0
  125. package/dist/tui/components/commerce/HireCard.js +11 -0
  126. package/dist/tui/components/commerce/HireCard.js.map +1 -0
  127. package/dist/tui/components/commerce/ProfileCard.d.ts +19 -0
  128. package/dist/tui/components/commerce/ProfileCard.d.ts.map +1 -0
  129. package/dist/tui/components/commerce/ProfileCard.js +10 -0
  130. package/dist/tui/components/commerce/ProfileCard.js.map +1 -0
  131. package/dist/tui/components/commerce/RoundsList.d.ts +18 -0
  132. package/dist/tui/components/commerce/RoundsList.d.ts.map +1 -0
  133. package/dist/tui/components/commerce/RoundsList.js +9 -0
  134. package/dist/tui/components/commerce/RoundsList.js.map +1 -0
  135. package/dist/tui/components/commerce/SquadCard.d.ts +25 -0
  136. package/dist/tui/components/commerce/SquadCard.d.ts.map +1 -0
  137. package/dist/tui/components/commerce/SquadCard.js +10 -0
  138. package/dist/tui/components/commerce/SquadCard.js.map +1 -0
  139. package/dist/tui/components/commerce/StatusCard.d.ts +21 -0
  140. package/dist/tui/components/commerce/StatusCard.d.ts.map +1 -0
  141. package/dist/tui/components/commerce/StatusCard.js +10 -0
  142. package/dist/tui/components/commerce/StatusCard.js.map +1 -0
  143. package/dist/tui/components/commerce/SubscribeCard.d.ts +13 -0
  144. package/dist/tui/components/commerce/SubscribeCard.d.ts.map +1 -0
  145. package/dist/tui/components/commerce/SubscribeCard.js +10 -0
  146. package/dist/tui/components/commerce/SubscribeCard.js.map +1 -0
  147. package/dist/tui/components/commerce/WorkroomCard.d.ts +18 -0
  148. package/dist/tui/components/commerce/WorkroomCard.d.ts.map +1 -0
  149. package/dist/tui/components/commerce/WorkroomCard.js +10 -0
  150. package/dist/tui/components/commerce/WorkroomCard.js.map +1 -0
  151. package/dist/tui/components/commerce/common.d.ts +53 -0
  152. package/dist/tui/components/commerce/common.d.ts.map +1 -0
  153. package/dist/tui/components/commerce/common.js +71 -0
  154. package/dist/tui/components/commerce/common.js.map +1 -0
  155. package/dist/tui/components/commerce/index.d.ts +11 -0
  156. package/dist/tui/components/commerce/index.d.ts.map +1 -0
  157. package/dist/tui/components/commerce/index.js +27 -0
  158. package/dist/tui/components/commerce/index.js.map +1 -0
  159. package/dist/tui/hire-interactive.d.ts +13 -0
  160. package/dist/tui/hire-interactive.d.ts.map +1 -0
  161. package/dist/tui/hire-interactive.js +157 -0
  162. package/dist/tui/hire-interactive.js.map +1 -0
  163. package/dist/tui/kernel-payload.d.ts +45 -0
  164. package/dist/tui/kernel-payload.d.ts.map +1 -0
  165. package/dist/tui/kernel-payload.js +8 -0
  166. package/dist/tui/kernel-payload.js.map +1 -0
  167. package/dist/tui/kernel.d.ts +6 -0
  168. package/dist/tui/kernel.d.ts.map +1 -0
  169. package/dist/tui/kernel.js +791 -0
  170. package/dist/tui/kernel.js.map +1 -0
  171. package/dist/tui/render-inline.d.ts +9 -0
  172. package/dist/tui/render-inline.d.ts.map +1 -0
  173. package/dist/tui/render-inline.js +32 -0
  174. package/dist/tui/render-inline.js.map +1 -0
  175. package/dist/tui/useChat.d.ts.map +1 -1
  176. package/dist/tui/useChat.js +2 -2
  177. package/dist/tui/useChat.js.map +1 -1
  178. package/dist/tui/useCommand.d.ts +2 -2
  179. package/dist/tui/useCommand.d.ts.map +1 -1
  180. package/dist/tui/useCommand.js +57 -19
  181. package/dist/tui/useCommand.js.map +1 -1
  182. package/dist/tui/useDaemonEvents.d.ts +4 -0
  183. package/dist/tui/useDaemonEvents.d.ts.map +1 -0
  184. package/dist/tui/useDaemonEvents.js +69 -0
  185. package/dist/tui/useDaemonEvents.js.map +1 -0
  186. package/dist/tui/useTerminalSize.d.ts +11 -0
  187. package/dist/tui/useTerminalSize.d.ts.map +1 -0
  188. package/dist/tui/useTerminalSize.js +32 -0
  189. package/dist/tui/useTerminalSize.js.map +1 -0
  190. package/dist/tui-esm/App.js +136 -0
  191. package/dist/tui-esm/App.js.map +1 -0
  192. package/dist/tui-esm/Footer.js +13 -0
  193. package/dist/tui-esm/Footer.js.map +1 -0
  194. package/dist/tui-esm/Header.js +19 -0
  195. package/dist/tui-esm/Header.js.map +1 -0
  196. package/dist/tui-esm/InputLine.js +121 -0
  197. package/dist/tui-esm/InputLine.js.map +1 -0
  198. package/dist/tui-esm/Viewport.js +39 -0
  199. package/dist/tui-esm/Viewport.js.map +1 -0
  200. package/dist/tui-esm/WalletConnectPairing.js +61 -0
  201. package/dist/tui-esm/WalletConnectPairing.js.map +1 -0
  202. package/dist/tui-esm/command-catalog.js +20 -0
  203. package/dist/tui-esm/command-catalog.js.map +1 -0
  204. package/dist/tui-esm/command-renderers.js +180 -0
  205. package/dist/tui-esm/command-renderers.js.map +1 -0
  206. package/dist/tui-esm/commerce-format.js +19 -0
  207. package/dist/tui-esm/commerce-format.js.map +1 -0
  208. package/dist/tui-esm/components/Button.js +21 -0
  209. package/dist/tui-esm/components/Button.js.map +1 -0
  210. package/dist/tui-esm/components/CeremonyView.js +10 -0
  211. package/dist/tui-esm/components/CeremonyView.js.map +1 -0
  212. package/dist/tui-esm/components/CompletionDropdown.js +23 -0
  213. package/dist/tui-esm/components/CompletionDropdown.js.map +1 -0
  214. package/dist/tui-esm/components/ConfirmPrompt.js +10 -0
  215. package/dist/tui-esm/components/ConfirmPrompt.js.map +1 -0
  216. package/dist/tui-esm/components/CustomTextInput.js +99 -0
  217. package/dist/tui-esm/components/CustomTextInput.js.map +1 -0
  218. package/dist/tui-esm/components/InteractiveTable.js +61 -0
  219. package/dist/tui-esm/components/InteractiveTable.js.map +1 -0
  220. package/dist/tui-esm/components/StepSpinner.js +32 -0
  221. package/dist/tui-esm/components/StepSpinner.js.map +1 -0
  222. package/dist/tui-esm/components/Toast.js +29 -0
  223. package/dist/tui-esm/components/Toast.js.map +1 -0
  224. package/dist/tui-esm/components/commerce/AgreementList.js +25 -0
  225. package/dist/tui-esm/components/commerce/AgreementList.js.map +1 -0
  226. package/dist/tui-esm/components/commerce/ComputeCard.js +9 -0
  227. package/dist/tui-esm/components/commerce/ComputeCard.js.map +1 -0
  228. package/dist/tui-esm/components/commerce/DiscoverList.js +14 -0
  229. package/dist/tui-esm/components/commerce/DiscoverList.js.map +1 -0
  230. package/dist/tui-esm/components/commerce/HireCard.js +11 -0
  231. package/dist/tui-esm/components/commerce/HireCard.js.map +1 -0
  232. package/dist/tui-esm/components/commerce/RoundsList.js +9 -0
  233. package/dist/tui-esm/components/commerce/RoundsList.js.map +1 -0
  234. package/dist/tui-esm/components/commerce/SquadCard.js +10 -0
  235. package/dist/tui-esm/components/commerce/SquadCard.js.map +1 -0
  236. package/dist/tui-esm/components/commerce/StatusCard.js +10 -0
  237. package/dist/tui-esm/components/commerce/StatusCard.js.map +1 -0
  238. package/dist/tui-esm/components/commerce/SubscribeCard.js +10 -0
  239. package/dist/tui-esm/components/commerce/SubscribeCard.js.map +1 -0
  240. package/dist/tui-esm/components/commerce/WorkroomCard.js +10 -0
  241. package/dist/tui-esm/components/commerce/WorkroomCard.js.map +1 -0
  242. package/dist/tui-esm/components/commerce/common.js +71 -0
  243. package/dist/tui-esm/components/commerce/common.js.map +1 -0
  244. package/dist/tui-esm/components/commerce/index.js +27 -0
  245. package/dist/tui-esm/components/commerce/index.js.map +1 -0
  246. package/dist/tui-esm/index.js +55 -0
  247. package/dist/tui-esm/index.js.map +1 -0
  248. package/dist/tui-esm/kernel.js +734 -0
  249. package/dist/tui-esm/kernel.js.map +1 -0
  250. package/dist/tui-esm/render-inline.js +32 -0
  251. package/dist/tui-esm/render-inline.js.map +1 -0
  252. package/dist/tui-esm/useChat.js +91 -0
  253. package/dist/tui-esm/useChat.js.map +1 -0
  254. package/dist/tui-esm/useCommand.js +142 -0
  255. package/dist/tui-esm/useCommand.js.map +1 -0
  256. package/dist/tui-esm/useNotifications.js +17 -0
  257. package/dist/tui-esm/useNotifications.js.map +1 -0
  258. package/dist/tui-esm/useScroll.js +46 -0
  259. package/dist/tui-esm/useScroll.js.map +1 -0
  260. package/dist/tui-esm/useTerminalSize.js +32 -0
  261. package/dist/tui-esm/useTerminalSize.js.map +1 -0
  262. package/dist/ui/banner.d.ts.map +1 -1
  263. package/dist/ui/banner.js +46 -2
  264. package/dist/ui/banner.js.map +1 -1
  265. package/hermes/DELIVERY-SPEC.md +219 -0
  266. package/hermes/HERMES-INTEGRATION-SPEC.md +338 -0
  267. package/hermes/plugins/arc402_hermes/__init__.py +5 -0
  268. package/hermes/plugins/arc402_hermes/plugin.py +489 -0
  269. package/hermes/plugins/arc402_hermes/py.typed +0 -0
  270. package/hermes/plugins/arc402_hermes.egg-info/PKG-INFO +24 -0
  271. package/hermes/plugins/arc402_hermes.egg-info/SOURCES.txt +10 -0
  272. package/hermes/plugins/arc402_hermes.egg-info/dependency_links.txt +1 -0
  273. package/hermes/plugins/arc402_hermes.egg-info/entry_points.txt +2 -0
  274. package/hermes/plugins/arc402_hermes.egg-info/requires.txt +5 -0
  275. package/hermes/plugins/arc402_hermes.egg-info/top_level.txt +1 -0
  276. package/hermes/plugins/arc402_plugin.py +489 -0
  277. package/hermes/plugins/dist/arc402_hermes-1.0.0-py3-none-any.whl +0 -0
  278. package/hermes/plugins/dist/arc402_hermes-1.0.0.tar.gz +0 -0
  279. package/hermes/plugins/pyproject.toml +47 -0
  280. package/hermes/skills/arc402-agent/SKILL.md +559 -0
  281. package/hermes/workroom/README.md +174 -0
  282. package/hermes/workroom/hermes-daemon.toml +21 -0
  283. package/hermes/workroom/hermes-worker/IDENTITY.md +44 -0
  284. package/hermes/workroom/hermes-worker/SOUL.md +45 -0
  285. package/hermes/workroom/hermes-worker/config.json +32 -0
  286. package/hermes/workroom/hermes-worker/datasets/.gitkeep +0 -0
  287. package/hermes/workroom/hermes-worker/knowledge/.gitkeep +0 -0
  288. package/hermes/workroom/hermes-worker/memory/learnings.md +9 -0
  289. package/hermes/workroom/hermes-worker/skills/.gitkeep +0 -0
  290. package/package.json +9 -3
  291. package/README.md +0 -288
package/dist/program.js CHANGED
@@ -29,6 +29,7 @@ const trust_1 = require("./commands/trust");
29
29
  const wallet_1 = require("./commands/wallet");
30
30
  const owner_1 = require("./commands/owner");
31
31
  const setup_1 = require("./commands/setup");
32
+ const chat_1 = require("./commands/chat");
32
33
  const verify_1 = require("./commands/verify");
33
34
  const contract_interaction_1 = require("./commands/contract-interaction");
34
35
  const watchtower_1 = require("./commands/watchtower");
@@ -43,6 +44,12 @@ const compute_1 = require("./commands/compute");
43
44
  const tunnel_1 = require("./commands/tunnel");
44
45
  const job_1 = require("./commands/job");
45
46
  const hermes_init_1 = require("./commands/hermes-init");
47
+ const index_1 = require("./commands/index");
48
+ const subscription_1 = require("./commands/subscription");
49
+ const status_1 = require("./commands/status");
50
+ const auth_1 = require("./commands/auth");
51
+ const security_1 = require("./commands/security");
52
+ const lifecycle_1 = require("./commands/lifecycle");
46
53
  const reputation_js_1 = __importDefault(require("./commands/reputation.js"));
47
54
  const policy_js_1 = __importDefault(require("./commands/policy.js"));
48
55
  function createProgram() {
@@ -52,6 +59,9 @@ function createProgram() {
52
59
  .description("ARC-402 CLI aligned to canonical-capability discovery → negotiate → hire → remediate → dispute workflow")
53
60
  // eslint-disable-next-line @typescript-eslint/no-var-requires
54
61
  .version(require("../package.json").version);
62
+ (0, status_1.registerStatusCommand)(program);
63
+ (0, auth_1.registerAuthCommand)(program);
64
+ (0, lifecycle_1.registerLifecycleCommand)(program);
55
65
  (0, config_1.registerConfigCommands)(program);
56
66
  (0, agent_handshake_1.registerHandshakeCommand)(program);
57
67
  (0, agent_1.registerAgentCommands)(program);
@@ -76,6 +86,7 @@ function createProgram() {
76
86
  (0, wallet_1.registerWalletCommands)(program);
77
87
  (0, owner_1.registerOwnerCommands)(program);
78
88
  (0, setup_1.registerSetupCommands)(program);
89
+ (0, chat_1.registerChatCommand)(program);
79
90
  (0, verify_1.registerVerifyCommand)(program);
80
91
  (0, contract_interaction_1.registerContractInteractionCommands)(program);
81
92
  (0, watchtower_1.registerWatchtowerCommands)(program);
@@ -90,6 +101,9 @@ function createProgram() {
90
101
  (0, tunnel_1.registerTunnelCommands)(program);
91
102
  (0, job_1.registerJobCommands)(program);
92
103
  (0, hermes_init_1.registerHermesInitCommand)(program);
104
+ (0, index_1.registerIndexCommands)(program);
105
+ (0, subscription_1.registerSubscriptionCommands)(program);
106
+ (0, security_1.registerSecurityCommand)(program);
93
107
  program.addCommand(reputation_js_1.default);
94
108
  program.addCommand(policy_js_1.default);
95
109
  return program;
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"AAiBA,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,2CA0LlE"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"AAwBA,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,2CAoMlE"}
package/dist/tui/App.js CHANGED
@@ -13,8 +13,14 @@ const Footer_1 = require("./Footer");
13
13
  const InputLine_1 = require("./InputLine");
14
14
  const useCommand_1 = require("./useCommand");
15
15
  const useChat_1 = require("./useChat");
16
+ const useNotifications_1 = require("./useNotifications");
17
+ const useDaemonEvents_1 = require("./useDaemonEvents");
18
+ const Toast_1 = require("./components/Toast");
16
19
  const useScroll_1 = require("./useScroll");
17
- const program_1 = require("../program");
20
+ const useTerminalSize_1 = require("./useTerminalSize");
21
+ const banner_1 = require("../ui/banner");
22
+ const kernel_1 = require("./kernel");
23
+ const command_catalog_1 = require("./command-catalog");
18
24
  const chalk_1 = __importDefault(require("chalk"));
19
25
  // eslint-disable-next-line @typescript-eslint/no-var-requires
20
26
  const pkg = require("../../package.json");
@@ -31,25 +37,45 @@ function App({ version, network, wallet, balance }) {
31
37
  const [isProcessing, setIsProcessing] = (0, react_1.useState)(false);
32
38
  const { execute, isRunning } = (0, useCommand_1.useCommand)();
33
39
  const { send, isSending } = (0, useChat_1.useChat)();
34
- // Approximate viewport height for scroll management
35
- const HEADER_ROWS = 15;
40
+ // Measure viewport height from actual terminal size and real header line count.
41
+ // The separator Box rendered between Header and Viewport adds 1 row.
42
+ // Footer (InputLine) is 1 row.
43
+ const { rows } = (0, useTerminalSize_1.useTerminalSize)();
44
+ const headerLineCount = (0, banner_1.getBannerLines)({ network, wallet, balance }).length;
45
+ const SEPARATOR_ROWS = 1;
36
46
  const FOOTER_ROWS = 1;
37
- const rows = process.stdout.rows ?? 24;
38
- const viewportHeight = Math.max(1, rows - HEADER_ROWS - FOOTER_ROWS);
47
+ const viewportHeight = Math.max(1, rows - headerLineCount - SEPARATOR_ROWS - FOOTER_ROWS);
39
48
  const { scrollOffset, isAutoScroll, scrollUp, scrollDown, snapToBottom } = (0, useScroll_1.useScroll)(viewportHeight);
40
- // Get top-level command names for dispatch detection
41
- const [topCmds] = (0, react_1.useState)(() => {
42
- try {
43
- const prog = (0, program_1.createProgram)();
44
- return prog.commands.map((cmd) => cmd.name());
45
- }
46
- catch {
47
- return [];
49
+ const [topCmds] = (0, react_1.useState)(() => (0, kernel_1.getTuiTopLevelCommands)());
50
+ const { toasts, push: pushToast, dismiss } = (0, useNotifications_1.useNotifications)();
51
+ (0, useDaemonEvents_1.useDaemonEvents)((type, data) => {
52
+ switch (type) {
53
+ case "hire_proposed":
54
+ pushToast(`◈ Hire received — ${String(data.from ?? "agent")} · ${String(data.amount ?? "?")} ETH`, "info");
55
+ appendLine(chalk_1.default.cyanBright(` ◈ Hire received — Agreement #${String(data.id ?? "?")}`));
56
+ break;
57
+ case "agreement_accepted":
58
+ pushToast(`✓ Agreement #${String(data.id)} accepted`, "success");
59
+ break;
60
+ case "job_completed":
61
+ pushToast(`✓ Job complete — Agreement #${String(data.id)}`, "success");
62
+ appendLine(chalk_1.default.green(` ✓ Job complete — Agreement #${String(data.id ?? "?")}`));
63
+ break;
64
+ case "job_failed":
65
+ pushToast(`✗ Job failed — Agreement #${String(data.id)} · ${String(data.reason ?? "unknown")}`, "error");
66
+ appendLine(chalk_1.default.red(` ✗ Job failed — Agreement #${String(data.id ?? "?")}: ${String(data.reason ?? "")}`));
67
+ break;
68
+ case "security_threat":
69
+ pushToast(`✗ Security: ${String(data.category ?? "threat")} detected — Agreement #${String(data.agreementId)}`, "error");
70
+ break;
48
71
  }
49
72
  });
50
73
  const appendLine = (0, react_1.useCallback)((line) => {
51
74
  setOutputBuffer((prev) => [...prev, line]);
52
75
  }, []);
76
+ const appendEntry = (0, react_1.useCallback)((entry) => {
77
+ setOutputBuffer((prev) => [...prev, entry]);
78
+ }, []);
53
79
  const handleCommand = (0, react_1.useCallback)(async (input) => {
54
80
  // Echo command to viewport
55
81
  appendLine(chalk_1.default.cyanBright("◈") +
@@ -79,58 +105,27 @@ function App({ version, network, wallet, balance }) {
79
105
  }
80
106
  // ── Built-in: help ─────────────────────────────────────────────────────
81
107
  if (input === "help" || input === "/help") {
82
- const lines = [];
83
- try {
84
- const prog = (0, program_1.createProgram)();
85
- prog.exitOverride();
86
- const helpText = [];
87
- prog.configureOutput({
88
- writeOut: (str) => helpText.push(str),
89
- writeErr: (str) => helpText.push(str),
90
- });
91
- try {
92
- await prog.parseAsync(["node", "arc402", "--help"]);
93
- }
94
- catch {
95
- /* commander throws after printing help */
96
- }
97
- for (const chunk of helpText) {
98
- for (const l of chunk.split("\n"))
99
- lines.push(l);
108
+ const lines = [
109
+ chalk_1.default.cyanBright("◈ ARC-402 TUI"),
110
+ chalk_1.default.dim(" Tab to complete · ↑/↓ history · PgUp/PgDn scroll · Esc dismiss"),
111
+ "",
112
+ ];
113
+ for (const section of command_catalog_1.TUI_HELP_SECTIONS) {
114
+ lines.push(chalk_1.default.bold.white(section.label));
115
+ for (const { cmd, desc } of section.commands) {
116
+ lines.push(" " + chalk_1.default.white(cmd.padEnd(28)) + chalk_1.default.dim(desc));
100
117
  }
118
+ lines.push("");
101
119
  }
102
- catch {
103
- lines.push(chalk_1.default.red("Failed to load help"));
104
- }
105
- lines.push("");
106
120
  lines.push(chalk_1.default.cyanBright("Chat"));
107
- lines.push(" " +
108
- chalk_1.default.white("<message>") +
109
- chalk_1.default.dim(" Send message to OpenClaw gateway"));
110
- lines.push(" " +
111
- chalk_1.default.white("/chat <message>") +
112
- chalk_1.default.dim(" Explicitly route to chat"));
113
- lines.push(chalk_1.default.dim(" Gateway: http://localhost:19000 (openclaw gateway start)"));
121
+ lines.push(" " + chalk_1.default.white("/chat <message>".padEnd(28)) + chalk_1.default.dim("Route message to OpenClaw gateway"));
122
+ lines.push(" " + chalk_1.default.white("chat".padEnd(28)) + chalk_1.default.dim("Open Commerce REPL"));
114
123
  lines.push("");
115
124
  for (const l of lines)
116
125
  appendLine(l);
117
126
  setIsProcessing(false);
118
127
  return;
119
128
  }
120
- // ── Built-in: status ───────────────────────────────────────────────────
121
- if (input === "status") {
122
- if (network)
123
- appendLine(` ${chalk_1.default.dim("Network")} ${chalk_1.default.white(network)}`);
124
- if (wallet)
125
- appendLine(` ${chalk_1.default.dim("Wallet")} ${chalk_1.default.white(wallet)}`);
126
- if (balance)
127
- appendLine(` ${chalk_1.default.dim("Balance")} ${chalk_1.default.white(balance)}`);
128
- if (!network && !wallet && !balance)
129
- appendLine(chalk_1.default.dim(" No config found. Run 'config init' to get started."));
130
- appendLine("");
131
- setIsProcessing(false);
132
- return;
133
- }
134
129
  // ── /chat prefix or unknown command → chat ─────────────────────────────
135
130
  const isExplicitChat = input.startsWith("/chat ");
136
131
  const isChatInput = isExplicitChat || (!allKnown.includes(firstWord) && firstWord !== "");
@@ -143,12 +138,20 @@ function App({ version, network, wallet, balance }) {
143
138
  setIsProcessing(false);
144
139
  return;
145
140
  }
141
+ // ── TUI kernel — returns typed payload → rendered as Phase 2 Ink component ──
142
+ const kernelPayload = await (0, kernel_1.executeKernelForPayload)(input);
143
+ if (kernelPayload !== null) {
144
+ appendEntry(kernelPayload);
145
+ appendLine("");
146
+ setIsProcessing(false);
147
+ return;
148
+ }
146
149
  // ── Dispatch to commander ──────────────────────────────────────────────
147
150
  await execute(input, appendLine);
148
151
  appendLine("");
149
152
  setIsProcessing(false);
150
- }, [appendLine, execute, send, snapToBottom, topCmds, network, wallet, balance, exit]);
153
+ }, [appendLine, appendEntry, execute, send, snapToBottom, topCmds, network, wallet, balance, exit]);
151
154
  const isDisabled = isProcessing || isRunning || isSending;
152
- return ((0, jsx_runtime_1.jsxs)(ink_1.Box, { flexDirection: "column", height: "100%", children: [(0, jsx_runtime_1.jsx)(Header_1.Header, { version: version, network: network, wallet: wallet, balance: balance }), (0, jsx_runtime_1.jsx)(ink_1.Box, { children: (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "─".repeat(60) }) }), (0, jsx_runtime_1.jsx)(Viewport_1.Viewport, { lines: outputBuffer, scrollOffset: scrollOffset, isAutoScroll: isAutoScroll }), (0, jsx_runtime_1.jsx)(Footer_1.Footer, { children: (0, jsx_runtime_1.jsx)(InputLine_1.InputLine, { onSubmit: handleCommand, isDisabled: isDisabled }) })] }));
155
+ return ((0, jsx_runtime_1.jsxs)(ink_1.Box, { flexDirection: "column", height: "100%", children: [(0, jsx_runtime_1.jsx)(Header_1.Header, { version: version, network: network, wallet: wallet, balance: balance }), (0, jsx_runtime_1.jsx)(ink_1.Box, { children: (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "─".repeat(60) }) }), (0, jsx_runtime_1.jsx)(Viewport_1.Viewport, { lines: outputBuffer, scrollOffset: scrollOffset, isAutoScroll: isAutoScroll, viewportHeight: viewportHeight }), toasts.length > 0 && ((0, jsx_runtime_1.jsx)(ink_1.Box, { flexDirection: "column", children: toasts.map((t) => ((0, jsx_runtime_1.jsx)(Toast_1.Toast, { toast: t, onDismiss: dismiss }, t.id))) })), (0, jsx_runtime_1.jsx)(Footer_1.Footer, { children: (0, jsx_runtime_1.jsx)(InputLine_1.InputLine, { onSubmit: handleCommand, isDisabled: isDisabled }) })] }));
153
156
  }
154
157
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
@@ -3,8 +3,10 @@ interface InputLineProps {
3
3
  isDisabled?: boolean;
4
4
  }
5
5
  /**
6
- * Input line with command history navigation and tab completion.
7
- * Uses ink-text-input for text input with cursor.
6
+ * Input line with:
7
+ * - Command history navigation (↑/↓)
8
+ * - Live completion dropdown (Tab cycles, Esc dismisses)
9
+ * - Tab expansion on single match
8
10
  */
9
11
  export declare function InputLine({ onSubmit, isDisabled }: InputLineProps): import("react/jsx-runtime").JSX.Element;
10
12
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"InputLine.d.ts","sourceRoot":"","sources":["../../src/tui/InputLine.tsx"],"names":[],"mappings":"AAOA,UAAU,cAAc;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,UAAkB,EAAE,EAAE,cAAc,2CAmJzE"}
1
+ {"version":3,"file":"InputLine.d.ts","sourceRoot":"","sources":["../../src/tui/InputLine.tsx"],"names":[],"mappings":"AAMA,UAAU,cAAc;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAKD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,UAAkB,EAAE,EAAE,cAAc,2CA+KzE"}
@@ -8,47 +8,51 @@ const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const react_1 = require("react");
9
9
  const ink_1 = require("ink");
10
10
  const ink_text_input_1 = __importDefault(require("ink-text-input"));
11
- const program_1 = require("../program");
12
- const BUILTIN_CMDS = ["help", "exit", "quit", "clear", "status"];
11
+ const command_catalog_1 = require("./command-catalog");
12
+ const CompletionDropdown_1 = require("./components/CompletionDropdown");
13
+ const ALL_TOP = [...command_catalog_1.BUILTIN_CMDS, ...command_catalog_1.TUI_TOP_LEVEL_COMMANDS];
14
+ const SUB_MAP = new Map(Object.entries(command_catalog_1.TUI_SUBCOMMANDS));
13
15
  /**
14
- * Input line with command history navigation and tab completion.
15
- * Uses ink-text-input for text input with cursor.
16
+ * Input line with:
17
+ * - Command history navigation (↑/↓)
18
+ * - Live completion dropdown (Tab cycles, Esc dismisses)
19
+ * - Tab expansion on single match
16
20
  */
17
21
  function InputLine({ onSubmit, isDisabled = false }) {
18
22
  const [value, setValue] = (0, react_1.useState)("");
19
23
  const [history, setHistory] = (0, react_1.useState)([]);
20
24
  const [historyIdx, setHistoryIdx] = (0, react_1.useState)(-1);
21
25
  const [historyTemp, setHistoryTemp] = (0, react_1.useState)("");
22
- // Lazily build command list for tab completion
23
- const [topCmds] = (0, react_1.useState)(() => {
24
- try {
25
- const prog = (0, program_1.createProgram)();
26
- return prog.commands.map((cmd) => cmd.name());
27
- }
28
- catch {
26
+ // Completion state
27
+ const [completions, setCompletions] = (0, react_1.useState)([]);
28
+ const [completionIdx, setCompletionIdx] = (0, react_1.useState)(0);
29
+ const [dropdownVisible, setDropdownVisible] = (0, react_1.useState)(false);
30
+ const computeCompletions = (0, react_1.useCallback)((input) => {
31
+ const trimmed = input.trimStart();
32
+ if (!trimmed)
29
33
  return [];
34
+ const spaceIdx = trimmed.indexOf(" ");
35
+ if (spaceIdx === -1) {
36
+ return ALL_TOP.filter((cmd) => cmd.startsWith(trimmed) && cmd !== trimmed);
30
37
  }
31
- });
32
- const [subCmds] = (0, react_1.useState)(() => {
33
- try {
34
- const prog = (0, program_1.createProgram)();
35
- const map = new Map();
36
- for (const cmd of prog.commands) {
37
- if (cmd.commands.length > 0) {
38
- map.set(cmd.name(), cmd.commands.map((s) => s.name()));
39
- }
40
- }
41
- return map;
42
- }
43
- catch {
44
- return new Map();
45
- }
46
- });
38
+ const parent = trimmed.slice(0, spaceIdx);
39
+ const rest = trimmed.slice(spaceIdx + 1);
40
+ const subs = SUB_MAP.get(parent) ?? [];
41
+ return subs
42
+ .filter((s) => s.startsWith(rest) && s !== rest)
43
+ .map((s) => `${parent} ${s}`);
44
+ }, []);
45
+ const handleChange = (0, react_1.useCallback)((newVal) => {
46
+ setValue(newVal);
47
+ const candidates = computeCompletions(newVal);
48
+ setCompletions(candidates);
49
+ setCompletionIdx(0);
50
+ setDropdownVisible(candidates.length > 0);
51
+ }, [computeCompletions]);
47
52
  const handleSubmit = (0, react_1.useCallback)((val) => {
48
53
  const trimmed = val.trim();
49
54
  if (!trimmed)
50
55
  return;
51
- // Add to history (avoid duplicate of last entry)
52
56
  setHistory((prev) => {
53
57
  if (prev[prev.length - 1] === trimmed)
54
58
  return prev;
@@ -57,25 +61,41 @@ function InputLine({ onSubmit, isDisabled = false }) {
57
61
  setHistoryIdx(-1);
58
62
  setHistoryTemp("");
59
63
  setValue("");
64
+ setCompletions([]);
65
+ setDropdownVisible(false);
60
66
  onSubmit(trimmed);
61
67
  }, [onSubmit]);
62
- (0, ink_1.useInput)((_input, key) => {
68
+ (0, ink_1.useInput)((input, key) => {
63
69
  if (isDisabled)
64
70
  return;
65
- // Up arrow history prev
71
+ // Escapedismiss dropdown
72
+ if (key.escape) {
73
+ setDropdownVisible(false);
74
+ return;
75
+ }
76
+ // Up arrow — history or cycle completion up
66
77
  if (key.upArrow) {
78
+ if (dropdownVisible && completions.length > 0) {
79
+ setCompletionIdx((idx) => Math.max(0, idx - 1));
80
+ return;
81
+ }
67
82
  setHistory((hist) => {
68
83
  setHistoryIdx((idx) => {
69
84
  if (idx === -1) {
70
85
  setHistoryTemp(value);
71
86
  const newIdx = hist.length - 1;
72
- if (newIdx >= 0)
87
+ if (newIdx >= 0) {
73
88
  setValue(hist[newIdx]);
89
+ setCompletions([]);
90
+ setDropdownVisible(false);
91
+ }
74
92
  return newIdx;
75
93
  }
76
94
  else if (idx > 0) {
77
95
  const newIdx = idx - 1;
78
96
  setValue(hist[newIdx]);
97
+ setCompletions([]);
98
+ setDropdownVisible(false);
79
99
  return newIdx;
80
100
  }
81
101
  return idx;
@@ -84,18 +104,26 @@ function InputLine({ onSubmit, isDisabled = false }) {
84
104
  });
85
105
  return;
86
106
  }
87
- // Down arrow — history next
107
+ // Down arrow — history or cycle completion down
88
108
  if (key.downArrow) {
109
+ if (dropdownVisible && completions.length > 0) {
110
+ setCompletionIdx((idx) => Math.min(completions.length - 1, idx + 1));
111
+ return;
112
+ }
89
113
  setHistory((hist) => {
90
114
  setHistoryIdx((idx) => {
91
115
  if (idx >= 0) {
92
116
  const newIdx = idx + 1;
93
117
  if (newIdx >= hist.length) {
94
118
  setValue(historyTemp);
119
+ setCompletions([]);
120
+ setDropdownVisible(false);
95
121
  return -1;
96
122
  }
97
123
  else {
98
124
  setValue(hist[newIdx]);
125
+ setCompletions([]);
126
+ setDropdownVisible(false);
99
127
  return newIdx;
100
128
  }
101
129
  }
@@ -105,41 +133,32 @@ function InputLine({ onSubmit, isDisabled = false }) {
105
133
  });
106
134
  return;
107
135
  }
108
- // Tab — completion
109
- if (_input === "\t") {
110
- const allTop = [...BUILTIN_CMDS, ...topCmds];
111
- const trimmed = value.trimStart();
112
- const spaceIdx = trimmed.indexOf(" ");
113
- let completions;
114
- if (spaceIdx === -1) {
115
- completions = allTop.filter((cmd) => cmd.startsWith(trimmed));
116
- }
117
- else {
118
- const parent = trimmed.slice(0, spaceIdx);
119
- const rest = trimmed.slice(spaceIdx + 1);
120
- const subs = subCmds.get(parent) ?? [];
121
- completions = subs
122
- .filter((s) => s.startsWith(rest))
123
- .map((s) => `${parent} ${s}`);
124
- }
136
+ // Tab — complete selected candidate or cycle
137
+ if (input === "\t") {
125
138
  if (completions.length === 0)
126
139
  return;
127
140
  if (completions.length === 1) {
128
- setValue(completions[0] + " ");
141
+ const completed = completions[0] + " ";
142
+ setValue(completed);
143
+ setCompletions([]);
144
+ setDropdownVisible(false);
129
145
  return;
130
146
  }
131
- // Find common prefix
132
- const common = completions.reduce((a, b) => {
133
- let i = 0;
134
- while (i < a.length && i < b.length && a[i] === b[i])
135
- i++;
136
- return a.slice(0, i);
137
- });
138
- if (common.length > value.trimStart().length) {
139
- setValue(common);
147
+ // Multi: apply currently selected completion
148
+ if (dropdownVisible) {
149
+ const selected = completions[completionIdx];
150
+ if (selected) {
151
+ setValue(selected + " ");
152
+ setCompletions([]);
153
+ setDropdownVisible(false);
154
+ }
155
+ return;
140
156
  }
157
+ // Reveal dropdown on first Tab
158
+ setDropdownVisible(true);
159
+ return;
141
160
  }
142
161
  }, { isActive: !isDisabled });
143
- return ((0, jsx_runtime_1.jsxs)(ink_1.Box, { children: [(0, jsx_runtime_1.jsx)(ink_1.Text, { color: "cyan", children: "\u25C8" }), (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: " arc402 " }), (0, jsx_runtime_1.jsxs)(ink_1.Text, { color: "white", children: [">", " "] }), (0, jsx_runtime_1.jsx)(ink_text_input_1.default, { value: value, onChange: setValue, onSubmit: handleSubmit, focus: !isDisabled })] }));
162
+ return ((0, jsx_runtime_1.jsxs)(ink_1.Box, { flexDirection: "column", children: [dropdownVisible && completions.length > 0 && ((0, jsx_runtime_1.jsx)(CompletionDropdown_1.CompletionDropdown, { candidates: completions, selectedIndex: completionIdx, visible: dropdownVisible })), (0, jsx_runtime_1.jsxs)(ink_1.Box, { children: [(0, jsx_runtime_1.jsx)(ink_1.Text, { color: "cyan", children: "\u25C8" }), (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: " arc402 " }), (0, jsx_runtime_1.jsxs)(ink_1.Text, { color: "white", children: [">", " "] }), (0, jsx_runtime_1.jsx)(ink_text_input_1.default, { value: value, onChange: handleChange, onSubmit: handleSubmit, focus: !isDisabled })] })] }));
144
163
  }
145
164
  //# sourceMappingURL=InputLine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputLine.js","sourceRoot":"","sources":["../../src/tui/InputLine.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputLine.js","sourceRoot":"","sources":["../../src/tui/InputLine.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { KernelPayload } from "./kernel-payload";
2
+ interface KernelPayloadRendererProps {
3
+ payload: KernelPayload;
4
+ }
5
+ /**
6
+ * Maps typed KernelPayload structs to Phase 2 Ink commerce components.
7
+ * This is the bridge that makes real inline component rendering viable:
8
+ * the kernel returns data, this component renders it inside the Ink tree.
9
+ */
10
+ export declare function KernelPayloadRenderer({ payload }: KernelPayloadRendererProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=KernelPayloadRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KernelPayloadRenderer.d.ts","sourceRoot":"","sources":["../../src/tui/KernelPayloadRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAStD,UAAU,0BAA0B;IAClC,OAAO,EAAE,aAAa,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,0BAA0B,2CAkD5E"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KernelPayloadRenderer = KernelPayloadRenderer;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const ink_1 = require("ink");
6
+ const StatusCard_1 = require("./components/commerce/StatusCard");
7
+ const DiscoverList_1 = require("./components/commerce/DiscoverList");
8
+ const AgreementList_1 = require("./components/commerce/AgreementList");
9
+ const WorkroomCard_1 = require("./components/commerce/WorkroomCard");
10
+ const SubscribeCard_1 = require("./components/commerce/SubscribeCard");
11
+ const RoundsList_1 = require("./components/commerce/RoundsList");
12
+ const SquadCard_1 = require("./components/commerce/SquadCard");
13
+ /**
14
+ * Maps typed KernelPayload structs to Phase 2 Ink commerce components.
15
+ * This is the bridge that makes real inline component rendering viable:
16
+ * the kernel returns data, this component renders it inside the Ink tree.
17
+ */
18
+ function KernelPayloadRenderer({ payload }) {
19
+ switch (payload.type) {
20
+ case "status":
21
+ return ((0, jsx_runtime_1.jsxs)(ink_1.Box, { flexDirection: "column", children: [(0, jsx_runtime_1.jsx)(StatusCard_1.StatusCard, { ...payload.props }), payload.guidance?.map((line, i) => ((0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: line }, i)))] }));
22
+ case "discover":
23
+ return (0, jsx_runtime_1.jsx)(DiscoverList_1.DiscoverList, { ...payload.props });
24
+ case "agreements":
25
+ return (0, jsx_runtime_1.jsx)(AgreementList_1.AgreementList, { ...payload.props });
26
+ case "workroom":
27
+ return (0, jsx_runtime_1.jsx)(WorkroomCard_1.WorkroomCard, { ...payload.props });
28
+ case "subscribe":
29
+ return (0, jsx_runtime_1.jsx)(SubscribeCard_1.SubscribeCard, { ...payload.props });
30
+ case "rounds":
31
+ return (0, jsx_runtime_1.jsx)(RoundsList_1.RoundsList, { ...payload.props });
32
+ case "squad":
33
+ return (0, jsx_runtime_1.jsx)(SquadCard_1.SquadCard, { ...payload.props });
34
+ case "squads":
35
+ return ((0, jsx_runtime_1.jsx)(ink_1.Box, { flexDirection: "column", children: payload.cards.map((card, i) => ((0, jsx_runtime_1.jsx)(ink_1.Box, { flexDirection: "column", marginBottom: 1, children: (0, jsx_runtime_1.jsx)(SquadCard_1.SquadCard, { ...card }) }, i))) }));
36
+ case "not_found":
37
+ case "error":
38
+ return ((0, jsx_runtime_1.jsxs)(ink_1.Box, { children: [(0, jsx_runtime_1.jsx)(ink_1.Text, { color: "yellow", children: "\u26A0 " }), (0, jsx_runtime_1.jsx)(ink_1.Text, { children: payload.message })] }));
39
+ }
40
+ }
41
+ //# sourceMappingURL=KernelPayloadRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KernelPayloadRenderer.js","sourceRoot":"","sources":["../../src/tui/KernelPayloadRenderer.tsx"],"names":[],"mappings":";;AAoBA,sDAkDC;;AArED,6BAAgC;AAEhC,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,SAAG,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,UAAI,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,SAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC9B,uBAAC,SAAG,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,SAAG,eACF,uBAAC,UAAI,IAAC,KAAK,EAAC,QAAQ,wBAAU,EAC9B,uBAAC,UAAI,cAAE,OAAO,CAAC,OAAO,GAAQ,IAC1B,CACP,CAAC;IACN,CAAC;AACH,CAAC"}