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.
- package/dist/commands/agreements.d.ts.map +1 -1
- package/dist/commands/agreements.js +19 -0
- package/dist/commands/agreements.js.map +1 -1
- package/dist/commands/arena-v2.d.ts.map +1 -1
- package/dist/commands/arena-v2.js +129 -4
- package/dist/commands/arena-v2.js.map +1 -1
- package/dist/commands/auth.d.ts +11 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +188 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/chat.d.ts +3 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +752 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/compute.d.ts.map +1 -1
- package/dist/commands/compute.js +84 -10
- package/dist/commands/compute.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +44 -5
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/discover.d.ts.map +1 -1
- package/dist/commands/discover.js +20 -0
- package/dist/commands/discover.js.map +1 -1
- package/dist/commands/hermes-init.d.ts +1 -1
- package/dist/commands/hermes-init.js +9 -9
- package/dist/commands/hermes-init.js.map +1 -1
- package/dist/commands/hire.d.ts.map +1 -1
- package/dist/commands/hire.js +20 -0
- package/dist/commands/hire.js.map +1 -1
- package/dist/commands/index.d.ts +3 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +74 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/lifecycle.d.ts +3 -0
- package/dist/commands/lifecycle.d.ts.map +1 -0
- package/dist/commands/lifecycle.js +58 -0
- package/dist/commands/lifecycle.js.map +1 -0
- package/dist/commands/security.d.ts +3 -0
- package/dist/commands/security.d.ts.map +1 -0
- package/dist/commands/security.js +44 -0
- package/dist/commands/security.js.map +1 -0
- package/dist/commands/status.d.ts +18 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +179 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/subscription.d.ts +3 -0
- package/dist/commands/subscription.d.ts.map +1 -0
- package/dist/commands/subscription.js +465 -0
- package/dist/commands/subscription.js.map +1 -0
- package/dist/commands/workroom.d.ts.map +1 -1
- package/dist/commands/workroom.js +13 -0
- package/dist/commands/workroom.js.map +1 -1
- package/dist/commerce-client.d.ts +77 -0
- package/dist/commerce-client.d.ts.map +1 -0
- package/dist/commerce-client.js +224 -0
- package/dist/commerce-client.js.map +1 -0
- package/dist/commerce-index.d.ts +39 -0
- package/dist/commerce-index.d.ts.map +1 -0
- package/dist/commerce-index.js +294 -0
- package/dist/commerce-index.js.map +1 -0
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/daemon/config.d.ts +1 -0
- package/dist/daemon/config.d.ts.map +1 -1
- package/dist/daemon/config.js +7 -3
- package/dist/daemon/config.js.map +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +18 -4
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon-client.d.ts +46 -0
- package/dist/daemon-client.d.ts.map +1 -0
- package/dist/daemon-client.js +80 -0
- package/dist/daemon-client.js.map +1 -0
- package/dist/index.js +40 -34
- package/dist/index.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +14 -0
- package/dist/program.js.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +61 -58
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/InputLine.d.ts +4 -2
- package/dist/tui/InputLine.d.ts.map +1 -1
- package/dist/tui/InputLine.js +79 -60
- package/dist/tui/InputLine.js.map +1 -1
- package/dist/tui/KernelPayloadRenderer.d.ts +12 -0
- package/dist/tui/KernelPayloadRenderer.d.ts.map +1 -0
- package/dist/tui/KernelPayloadRenderer.js +41 -0
- package/dist/tui/KernelPayloadRenderer.js.map +1 -0
- package/dist/tui/Viewport.d.ts +15 -5
- package/dist/tui/Viewport.d.ts.map +1 -1
- package/dist/tui/Viewport.js +18 -24
- package/dist/tui/Viewport.js.map +1 -1
- package/dist/tui/command-catalog.d.ts +11 -0
- package/dist/tui/command-catalog.d.ts.map +1 -0
- package/dist/tui/command-catalog.js +119 -0
- package/dist/tui/command-catalog.js.map +1 -0
- package/dist/tui/command-renderers.d.ts +33 -0
- package/dist/tui/command-renderers.d.ts.map +1 -0
- package/dist/tui/command-renderers.js +215 -0
- package/dist/tui/command-renderers.js.map +1 -0
- package/dist/tui/commerce-format.d.ts +3 -0
- package/dist/tui/commerce-format.d.ts.map +1 -0
- package/dist/tui/commerce-format.js +19 -0
- package/dist/tui/commerce-format.js.map +1 -0
- package/dist/tui/components/commerce/AgentPicker.d.ts +7 -0
- package/dist/tui/components/commerce/AgentPicker.d.ts.map +1 -0
- package/dist/tui/components/commerce/AgentPicker.js +33 -0
- package/dist/tui/components/commerce/AgentPicker.js.map +1 -0
- package/dist/tui/components/commerce/AgreementList.d.ts +18 -0
- package/dist/tui/components/commerce/AgreementList.d.ts.map +1 -0
- package/dist/tui/components/commerce/AgreementList.js +25 -0
- package/dist/tui/components/commerce/AgreementList.js.map +1 -0
- package/dist/tui/components/commerce/ComputeCard.d.ts +14 -0
- package/dist/tui/components/commerce/ComputeCard.d.ts.map +1 -0
- package/dist/tui/components/commerce/ComputeCard.js +9 -0
- package/dist/tui/components/commerce/ComputeCard.js.map +1 -0
- package/dist/tui/components/commerce/DiscoverList.d.ts +20 -0
- package/dist/tui/components/commerce/DiscoverList.d.ts.map +1 -0
- package/dist/tui/components/commerce/DiscoverList.js +22 -0
- package/dist/tui/components/commerce/DiscoverList.js.map +1 -0
- package/dist/tui/components/commerce/HireCard.d.ts +14 -0
- package/dist/tui/components/commerce/HireCard.d.ts.map +1 -0
- package/dist/tui/components/commerce/HireCard.js +11 -0
- package/dist/tui/components/commerce/HireCard.js.map +1 -0
- package/dist/tui/components/commerce/ProfileCard.d.ts +19 -0
- package/dist/tui/components/commerce/ProfileCard.d.ts.map +1 -0
- package/dist/tui/components/commerce/ProfileCard.js +10 -0
- package/dist/tui/components/commerce/ProfileCard.js.map +1 -0
- package/dist/tui/components/commerce/RoundsList.d.ts +18 -0
- package/dist/tui/components/commerce/RoundsList.d.ts.map +1 -0
- package/dist/tui/components/commerce/RoundsList.js +9 -0
- package/dist/tui/components/commerce/RoundsList.js.map +1 -0
- package/dist/tui/components/commerce/SquadCard.d.ts +25 -0
- package/dist/tui/components/commerce/SquadCard.d.ts.map +1 -0
- package/dist/tui/components/commerce/SquadCard.js +10 -0
- package/dist/tui/components/commerce/SquadCard.js.map +1 -0
- package/dist/tui/components/commerce/StatusCard.d.ts +21 -0
- package/dist/tui/components/commerce/StatusCard.d.ts.map +1 -0
- package/dist/tui/components/commerce/StatusCard.js +10 -0
- package/dist/tui/components/commerce/StatusCard.js.map +1 -0
- package/dist/tui/components/commerce/SubscribeCard.d.ts +13 -0
- package/dist/tui/components/commerce/SubscribeCard.d.ts.map +1 -0
- package/dist/tui/components/commerce/SubscribeCard.js +10 -0
- package/dist/tui/components/commerce/SubscribeCard.js.map +1 -0
- package/dist/tui/components/commerce/WorkroomCard.d.ts +18 -0
- package/dist/tui/components/commerce/WorkroomCard.d.ts.map +1 -0
- package/dist/tui/components/commerce/WorkroomCard.js +10 -0
- package/dist/tui/components/commerce/WorkroomCard.js.map +1 -0
- package/dist/tui/components/commerce/common.d.ts +53 -0
- package/dist/tui/components/commerce/common.d.ts.map +1 -0
- package/dist/tui/components/commerce/common.js +71 -0
- package/dist/tui/components/commerce/common.js.map +1 -0
- package/dist/tui/components/commerce/index.d.ts +11 -0
- package/dist/tui/components/commerce/index.d.ts.map +1 -0
- package/dist/tui/components/commerce/index.js +27 -0
- package/dist/tui/components/commerce/index.js.map +1 -0
- package/dist/tui/hire-interactive.d.ts +13 -0
- package/dist/tui/hire-interactive.d.ts.map +1 -0
- package/dist/tui/hire-interactive.js +157 -0
- package/dist/tui/hire-interactive.js.map +1 -0
- package/dist/tui/kernel-payload.d.ts +45 -0
- package/dist/tui/kernel-payload.d.ts.map +1 -0
- package/dist/tui/kernel-payload.js +8 -0
- package/dist/tui/kernel-payload.js.map +1 -0
- package/dist/tui/kernel.d.ts +6 -0
- package/dist/tui/kernel.d.ts.map +1 -0
- package/dist/tui/kernel.js +791 -0
- package/dist/tui/kernel.js.map +1 -0
- package/dist/tui/render-inline.d.ts +9 -0
- package/dist/tui/render-inline.d.ts.map +1 -0
- package/dist/tui/render-inline.js +32 -0
- package/dist/tui/render-inline.js.map +1 -0
- package/dist/tui/useChat.d.ts.map +1 -1
- package/dist/tui/useChat.js +2 -2
- package/dist/tui/useChat.js.map +1 -1
- package/dist/tui/useCommand.d.ts +2 -2
- package/dist/tui/useCommand.d.ts.map +1 -1
- package/dist/tui/useCommand.js +57 -19
- package/dist/tui/useCommand.js.map +1 -1
- package/dist/tui/useDaemonEvents.d.ts +4 -0
- package/dist/tui/useDaemonEvents.d.ts.map +1 -0
- package/dist/tui/useDaemonEvents.js +69 -0
- package/dist/tui/useDaemonEvents.js.map +1 -0
- package/dist/tui/useTerminalSize.d.ts +11 -0
- package/dist/tui/useTerminalSize.d.ts.map +1 -0
- package/dist/tui/useTerminalSize.js +32 -0
- package/dist/tui/useTerminalSize.js.map +1 -0
- package/dist/tui-esm/App.js +136 -0
- package/dist/tui-esm/App.js.map +1 -0
- package/dist/tui-esm/Footer.js +13 -0
- package/dist/tui-esm/Footer.js.map +1 -0
- package/dist/tui-esm/Header.js +19 -0
- package/dist/tui-esm/Header.js.map +1 -0
- package/dist/tui-esm/InputLine.js +121 -0
- package/dist/tui-esm/InputLine.js.map +1 -0
- package/dist/tui-esm/Viewport.js +39 -0
- package/dist/tui-esm/Viewport.js.map +1 -0
- package/dist/tui-esm/WalletConnectPairing.js +61 -0
- package/dist/tui-esm/WalletConnectPairing.js.map +1 -0
- package/dist/tui-esm/command-catalog.js +20 -0
- package/dist/tui-esm/command-catalog.js.map +1 -0
- package/dist/tui-esm/command-renderers.js +180 -0
- package/dist/tui-esm/command-renderers.js.map +1 -0
- package/dist/tui-esm/commerce-format.js +19 -0
- package/dist/tui-esm/commerce-format.js.map +1 -0
- package/dist/tui-esm/components/Button.js +21 -0
- package/dist/tui-esm/components/Button.js.map +1 -0
- package/dist/tui-esm/components/CeremonyView.js +10 -0
- package/dist/tui-esm/components/CeremonyView.js.map +1 -0
- package/dist/tui-esm/components/CompletionDropdown.js +23 -0
- package/dist/tui-esm/components/CompletionDropdown.js.map +1 -0
- package/dist/tui-esm/components/ConfirmPrompt.js +10 -0
- package/dist/tui-esm/components/ConfirmPrompt.js.map +1 -0
- package/dist/tui-esm/components/CustomTextInput.js +99 -0
- package/dist/tui-esm/components/CustomTextInput.js.map +1 -0
- package/dist/tui-esm/components/InteractiveTable.js +61 -0
- package/dist/tui-esm/components/InteractiveTable.js.map +1 -0
- package/dist/tui-esm/components/StepSpinner.js +32 -0
- package/dist/tui-esm/components/StepSpinner.js.map +1 -0
- package/dist/tui-esm/components/Toast.js +29 -0
- package/dist/tui-esm/components/Toast.js.map +1 -0
- package/dist/tui-esm/components/commerce/AgreementList.js +25 -0
- package/dist/tui-esm/components/commerce/AgreementList.js.map +1 -0
- package/dist/tui-esm/components/commerce/ComputeCard.js +9 -0
- package/dist/tui-esm/components/commerce/ComputeCard.js.map +1 -0
- package/dist/tui-esm/components/commerce/DiscoverList.js +14 -0
- package/dist/tui-esm/components/commerce/DiscoverList.js.map +1 -0
- package/dist/tui-esm/components/commerce/HireCard.js +11 -0
- package/dist/tui-esm/components/commerce/HireCard.js.map +1 -0
- package/dist/tui-esm/components/commerce/RoundsList.js +9 -0
- package/dist/tui-esm/components/commerce/RoundsList.js.map +1 -0
- package/dist/tui-esm/components/commerce/SquadCard.js +10 -0
- package/dist/tui-esm/components/commerce/SquadCard.js.map +1 -0
- package/dist/tui-esm/components/commerce/StatusCard.js +10 -0
- package/dist/tui-esm/components/commerce/StatusCard.js.map +1 -0
- package/dist/tui-esm/components/commerce/SubscribeCard.js +10 -0
- package/dist/tui-esm/components/commerce/SubscribeCard.js.map +1 -0
- package/dist/tui-esm/components/commerce/WorkroomCard.js +10 -0
- package/dist/tui-esm/components/commerce/WorkroomCard.js.map +1 -0
- package/dist/tui-esm/components/commerce/common.js +71 -0
- package/dist/tui-esm/components/commerce/common.js.map +1 -0
- package/dist/tui-esm/components/commerce/index.js +27 -0
- package/dist/tui-esm/components/commerce/index.js.map +1 -0
- package/dist/tui-esm/index.js +55 -0
- package/dist/tui-esm/index.js.map +1 -0
- package/dist/tui-esm/kernel.js +734 -0
- package/dist/tui-esm/kernel.js.map +1 -0
- package/dist/tui-esm/render-inline.js +32 -0
- package/dist/tui-esm/render-inline.js.map +1 -0
- package/dist/tui-esm/useChat.js +91 -0
- package/dist/tui-esm/useChat.js.map +1 -0
- package/dist/tui-esm/useCommand.js +142 -0
- package/dist/tui-esm/useCommand.js.map +1 -0
- package/dist/tui-esm/useNotifications.js +17 -0
- package/dist/tui-esm/useNotifications.js.map +1 -0
- package/dist/tui-esm/useScroll.js +46 -0
- package/dist/tui-esm/useScroll.js.map +1 -0
- package/dist/tui-esm/useTerminalSize.js +32 -0
- package/dist/tui-esm/useTerminalSize.js.map +1 -0
- package/dist/ui/banner.d.ts.map +1 -1
- package/dist/ui/banner.js +46 -2
- package/dist/ui/banner.js.map +1 -1
- package/hermes/DELIVERY-SPEC.md +219 -0
- package/hermes/HERMES-INTEGRATION-SPEC.md +338 -0
- package/hermes/plugins/arc402_hermes/__init__.py +5 -0
- package/hermes/plugins/arc402_hermes/plugin.py +489 -0
- package/hermes/plugins/arc402_hermes/py.typed +0 -0
- package/hermes/plugins/arc402_hermes.egg-info/PKG-INFO +24 -0
- package/hermes/plugins/arc402_hermes.egg-info/SOURCES.txt +10 -0
- package/hermes/plugins/arc402_hermes.egg-info/dependency_links.txt +1 -0
- package/hermes/plugins/arc402_hermes.egg-info/entry_points.txt +2 -0
- package/hermes/plugins/arc402_hermes.egg-info/requires.txt +5 -0
- package/hermes/plugins/arc402_hermes.egg-info/top_level.txt +1 -0
- package/hermes/plugins/arc402_plugin.py +489 -0
- package/hermes/plugins/dist/arc402_hermes-1.0.0-py3-none-any.whl +0 -0
- package/hermes/plugins/dist/arc402_hermes-1.0.0.tar.gz +0 -0
- package/hermes/plugins/pyproject.toml +47 -0
- package/hermes/skills/arc402-agent/SKILL.md +559 -0
- package/hermes/workroom/README.md +174 -0
- package/hermes/workroom/hermes-daemon.toml +21 -0
- package/hermes/workroom/hermes-worker/IDENTITY.md +44 -0
- package/hermes/workroom/hermes-worker/SOUL.md +45 -0
- package/hermes/workroom/hermes-worker/config.json +32 -0
- package/hermes/workroom/hermes-worker/datasets/.gitkeep +0 -0
- package/hermes/workroom/hermes-worker/knowledge/.gitkeep +0 -0
- package/hermes/workroom/hermes-worker/memory/learnings.md +9 -0
- package/hermes/workroom/hermes-worker/skills/.gitkeep +0 -0
- package/package.json +9 -3
- package/README.md +0 -288
package/dist/tui/Viewport.d.ts
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
1
|
+
import type { KernelPayload } from "./kernel-payload";
|
|
2
|
+
export type ViewportEntry = string | KernelPayload;
|
|
1
3
|
interface ViewportProps {
|
|
2
|
-
lines:
|
|
4
|
+
lines: ViewportEntry[];
|
|
3
5
|
scrollOffset: number;
|
|
4
6
|
isAutoScroll: boolean;
|
|
7
|
+
/** Exact number of rows available for content, computed by App from measured layout. */
|
|
8
|
+
viewportHeight: number;
|
|
5
9
|
}
|
|
6
10
|
/**
|
|
7
11
|
* Scrollable output area that fills remaining terminal space.
|
|
8
|
-
* Renders
|
|
9
|
-
*
|
|
10
|
-
*
|
|
12
|
+
* Renders strings as Text lines and KernelPayloads as Phase 2 Ink components.
|
|
13
|
+
*
|
|
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.
|
|
11
21
|
*/
|
|
12
|
-
export declare function Viewport({ lines, scrollOffset, isAutoScroll }: ViewportProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare function Viewport({ lines, scrollOffset, isAutoScroll, viewportHeight }: ViewportProps): import("react/jsx-runtime").JSX.Element;
|
|
13
23
|
export {};
|
|
14
24
|
//# sourceMappingURL=Viewport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/tui/Viewport.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/tui/Viewport.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,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,2CA2C5F"}
|
package/dist/tui/Viewport.js
CHANGED
|
@@ -3,46 +3,40 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Viewport = Viewport;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const ink_1 = require("ink");
|
|
6
|
+
const KernelPayloadRenderer_1 = require("./KernelPayloadRenderer");
|
|
6
7
|
/**
|
|
7
8
|
* Scrollable output area that fills remaining terminal space.
|
|
8
|
-
* Renders
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Renders strings as Text lines and KernelPayloads as Phase 2 Ink components.
|
|
10
|
+
*
|
|
11
|
+
* NOTE: KernelPayload entries are treated as single logical blocks that always
|
|
12
|
+
* render fully — they are not sliced by the scroll window. Only string lines
|
|
13
|
+
* participate in the scroll window calculation. This keeps the Phase 2
|
|
14
|
+
* components rendering correctly while maintaining scroll for text output.
|
|
15
|
+
*
|
|
16
|
+
* For the viewport height calculation, each payload counts as 1 "slot" in
|
|
17
|
+
* the buffer but renders as a full component block.
|
|
11
18
|
*/
|
|
12
|
-
function Viewport({ lines, scrollOffset, isAutoScroll }) {
|
|
13
|
-
const { stdout } = (0, ink_1.useStdout)();
|
|
14
|
-
const termRows = stdout?.rows ?? 24;
|
|
15
|
-
// We'll compute the viewport height: total rows minus fixed areas
|
|
16
|
-
// Header is approximately bannerLines + separator (~14-16 rows)
|
|
17
|
-
// Footer is 1 row
|
|
18
|
-
// We'll use a reasonable estimate here; the parent App can pass exact height
|
|
19
|
-
const HEADER_ROWS = 15; // approximate
|
|
20
|
-
const FOOTER_ROWS = 1;
|
|
21
|
-
const viewportHeight = Math.max(1, termRows - HEADER_ROWS - FOOTER_ROWS);
|
|
22
|
-
// Compute the window slice
|
|
23
|
-
// scrollOffset=0 → show last viewportHeight lines
|
|
24
|
-
// scrollOffset=N → show lines ending viewportHeight+N from end
|
|
19
|
+
function Viewport({ lines, scrollOffset, isAutoScroll, viewportHeight }) {
|
|
25
20
|
const totalLines = lines.length;
|
|
26
21
|
let endIdx;
|
|
27
22
|
let startIdx;
|
|
28
23
|
if (scrollOffset === 0) {
|
|
29
|
-
// Auto-scroll: pinned to bottom
|
|
30
24
|
endIdx = totalLines;
|
|
31
25
|
startIdx = Math.max(0, endIdx - viewportHeight);
|
|
32
26
|
}
|
|
33
27
|
else {
|
|
34
|
-
// Scrolled up: scrollOffset lines from bottom
|
|
35
28
|
endIdx = Math.max(0, totalLines - scrollOffset);
|
|
36
29
|
startIdx = Math.max(0, endIdx - viewportHeight);
|
|
37
30
|
}
|
|
38
|
-
const
|
|
39
|
-
// Pad with empty
|
|
40
|
-
const
|
|
41
|
-
const
|
|
31
|
+
const visibleEntries = lines.slice(startIdx, endIdx);
|
|
32
|
+
// Pad with empty strings if fewer than viewportHeight string entries
|
|
33
|
+
const stringCount = visibleEntries.filter((e) => typeof e === "string").length;
|
|
34
|
+
const padCount = Math.max(0, viewportHeight - stringCount - (visibleEntries.length - stringCount));
|
|
35
|
+
const paddedEntries = [
|
|
42
36
|
...Array(padCount).fill(""),
|
|
43
|
-
...
|
|
37
|
+
...visibleEntries,
|
|
44
38
|
];
|
|
45
39
|
const canScrollDown = scrollOffset > 0;
|
|
46
|
-
return ((0, jsx_runtime_1.jsxs)(ink_1.Box, { flexDirection: "column", flexGrow: 1, children: [(0, jsx_runtime_1.jsx)(ink_1.Box, { flexDirection: "column", flexGrow: 1, children:
|
|
40
|
+
return ((0, jsx_runtime_1.jsxs)(ink_1.Box, { flexDirection: "column", flexGrow: 1, children: [(0, jsx_runtime_1.jsx)(ink_1.Box, { flexDirection: "column", flexGrow: 1, children: paddedEntries.map((entry, i) => typeof entry === "string" ? ((0, jsx_runtime_1.jsx)(ink_1.Text, { children: entry }, i)) : ((0, jsx_runtime_1.jsx)(KernelPayloadRenderer_1.KernelPayloadRenderer, { payload: entry }, i))) }), canScrollDown && !isAutoScroll && ((0, jsx_runtime_1.jsx)(ink_1.Box, { justifyContent: "flex-end", children: (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "\u2193 more" }) }))] }));
|
|
47
41
|
}
|
|
48
42
|
//# sourceMappingURL=Viewport.js.map
|
package/dist/tui/Viewport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../src/tui/Viewport.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../src/tui/Viewport.tsx"],"names":[],"mappings":";;AA2BA,4BA2CC;;AArED,6BAAgC;AAEhC,mEAAgE;AAYhE;;;;;;;;;;;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;IAErD,qEAAqE;IACrE,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,WAAW,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IACnG,MAAM,aAAa,GAAoB;QACrC,GAAG,KAAK,CAAS,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,GAAG,cAAc;KAClB,CAAC;IAEF,MAAM,aAAa,GAAG,YAAY,GAAG,CAAC,CAAC;IAEvC,OAAO,CACL,wBAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACrC,uBAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,YACpC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC9B,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC1B,uBAAC,UAAI,cAAU,KAAK,IAAT,CAAC,CAAgB,CAC7B,CAAC,CAAC,CAAC,CACF,uBAAC,6CAAqB,IAAS,OAAO,EAAE,KAAK,IAAjB,CAAC,CAAoB,CAClD,CACF,GACG,EACL,aAAa,IAAI,CAAC,YAAY,IAAI,CACjC,uBAAC,SAAG,IAAC,cAAc,EAAC,UAAU,YAC5B,uBAAC,UAAI,IAAC,QAAQ,kCAAc,GACxB,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const BUILTIN_CMDS: readonly ["help", "exit", "quit", "clear"];
|
|
2
|
+
export declare const TUI_TOP_LEVEL_COMMANDS: readonly ["status", "discover", "agreements", "workroom", "subscription", "subscribe", "arena", "hire", "accept", "deliver", "verify", "cancel", "dispute", "negotiate", "trust", "compute", "wallet", "agent", "endpoint", "daemon", "setup", "doctor", "migrate", "chat", "feed", "watch", "job", "plan", "x402"];
|
|
3
|
+
export declare const TUI_SUBCOMMANDS: Record<string, string[]>;
|
|
4
|
+
export declare const TUI_HELP_SECTIONS: {
|
|
5
|
+
label: string;
|
|
6
|
+
commands: {
|
|
7
|
+
cmd: string;
|
|
8
|
+
desc: string;
|
|
9
|
+
}[];
|
|
10
|
+
}[];
|
|
11
|
+
//# sourceMappingURL=command-catalog.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TUI_HELP_SECTIONS = exports.TUI_SUBCOMMANDS = exports.TUI_TOP_LEVEL_COMMANDS = exports.BUILTIN_CMDS = void 0;
|
|
4
|
+
exports.BUILTIN_CMDS = ["help", "exit", "quit", "clear"];
|
|
5
|
+
// Full TUI command surface — kernel-handled routes + legacy CLI adapter routes
|
|
6
|
+
exports.TUI_TOP_LEVEL_COMMANDS = [
|
|
7
|
+
// Kernel-extracted (Phase 2 Ink components)
|
|
8
|
+
"status",
|
|
9
|
+
"discover",
|
|
10
|
+
"agreements",
|
|
11
|
+
"workroom",
|
|
12
|
+
"subscription",
|
|
13
|
+
"subscribe",
|
|
14
|
+
"arena",
|
|
15
|
+
// Commerce write paths (legacy CLI adapter)
|
|
16
|
+
"hire",
|
|
17
|
+
"accept",
|
|
18
|
+
"deliver",
|
|
19
|
+
"verify",
|
|
20
|
+
"cancel",
|
|
21
|
+
"dispute",
|
|
22
|
+
"negotiate",
|
|
23
|
+
"trust",
|
|
24
|
+
// Compute
|
|
25
|
+
"compute",
|
|
26
|
+
// Wallet + identity
|
|
27
|
+
"wallet",
|
|
28
|
+
"agent",
|
|
29
|
+
"endpoint",
|
|
30
|
+
// Operator
|
|
31
|
+
"daemon",
|
|
32
|
+
"setup",
|
|
33
|
+
"doctor",
|
|
34
|
+
"migrate",
|
|
35
|
+
"chat",
|
|
36
|
+
"feed",
|
|
37
|
+
"watch",
|
|
38
|
+
"job",
|
|
39
|
+
"plan",
|
|
40
|
+
"x402",
|
|
41
|
+
];
|
|
42
|
+
// Subcommands for Tab completion
|
|
43
|
+
exports.TUI_SUBCOMMANDS = {
|
|
44
|
+
// Kernel routes
|
|
45
|
+
workroom: ["status", "start", "stop", "init", "logs", "worker", "policy-hash", "install-service"],
|
|
46
|
+
subscription: ["status", "list", "cancel", "topup"],
|
|
47
|
+
arena: ["rounds", "squad", "profile", "standings", "stats", "status", "inbox", "discover", "trending", "briefing", "newsletter"],
|
|
48
|
+
squad: ["list", "create", "join", "info", "contribute"],
|
|
49
|
+
// Legacy routes
|
|
50
|
+
compute: ["offer", "discover", "hire", "status", "end", "sessions"],
|
|
51
|
+
wallet: ["deploy", "status", "authorize-machine-key", "set-guardian", "freeze", "unfreeze", "set-spend-limits"],
|
|
52
|
+
agent: ["register", "update", "status", "info"],
|
|
53
|
+
endpoint: ["setup", "status", "doctor", "claim", "update"],
|
|
54
|
+
daemon: ["init", "start", "stop", "restart", "logs", "status", "config"],
|
|
55
|
+
negotiate: ["start", "status", "accept", "reject"],
|
|
56
|
+
job: ["files", "fetch", "manifest"],
|
|
57
|
+
plan: ["create", "list"],
|
|
58
|
+
};
|
|
59
|
+
exports.TUI_HELP_SECTIONS = [
|
|
60
|
+
{
|
|
61
|
+
label: "Status + Discovery",
|
|
62
|
+
commands: [
|
|
63
|
+
{ cmd: "status", desc: "Wallet · daemon · workroom overview" },
|
|
64
|
+
{ cmd: "discover", desc: "Find agents by capability, trust, price" },
|
|
65
|
+
{ cmd: "agreements", desc: "List active/past agreements" },
|
|
66
|
+
{ cmd: "workroom status", desc: "Workroom container + job queue" },
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
label: "Commerce",
|
|
71
|
+
commands: [
|
|
72
|
+
{ cmd: "hire <endpoint>", desc: "Propose a ServiceAgreement" },
|
|
73
|
+
{ cmd: "accept <id>", desc: "Accept an agreement as provider" },
|
|
74
|
+
{ cmd: "deliver <id>", desc: "Commit deliverable on-chain" },
|
|
75
|
+
{ cmd: "verify <id>", desc: "Release escrow after delivery" },
|
|
76
|
+
{ cmd: "cancel <id>", desc: "Cancel and refund escrow" },
|
|
77
|
+
{ cmd: "negotiate <endpoint>", desc: "Pre-hire negotiation session" },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
label: "Subscriptions",
|
|
82
|
+
commands: [
|
|
83
|
+
{ cmd: "subscribe <endpoint>", desc: "Inspect + stage subscription" },
|
|
84
|
+
{ cmd: "subscription status <id>", desc: "Check subscription state" },
|
|
85
|
+
{ cmd: "subscription list", desc: "List active subscriptions" },
|
|
86
|
+
{ cmd: "plan create", desc: "Publish a subscription plan" },
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
label: "Compute",
|
|
91
|
+
commands: [
|
|
92
|
+
{ cmd: "compute hire <provider>", desc: "Rent GPU session" },
|
|
93
|
+
{ cmd: "compute status <id>", desc: "Session metrics + cost" },
|
|
94
|
+
{ cmd: "compute end <id>", desc: "End session + settle" },
|
|
95
|
+
{ cmd: "compute discover", desc: "Find GPU providers" },
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
label: "Arena",
|
|
100
|
+
commands: [
|
|
101
|
+
{ cmd: "arena rounds", desc: "Active prediction rounds" },
|
|
102
|
+
{ cmd: "arena squad list", desc: "Research squads" },
|
|
103
|
+
{ cmd: "arena standings", desc: "Leaderboard" },
|
|
104
|
+
{ cmd: "arena stats", desc: "Protocol stats" },
|
|
105
|
+
],
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
label: "Operator",
|
|
109
|
+
commands: [
|
|
110
|
+
{ cmd: "daemon start", desc: "Start local node" },
|
|
111
|
+
{ cmd: "chat", desc: "Commerce REPL (harness-agnostic)" },
|
|
112
|
+
{ cmd: "workroom start", desc: "Start workroom container" },
|
|
113
|
+
{ cmd: "watch", desc: "Live event stream from daemon" },
|
|
114
|
+
{ cmd: "doctor", desc: "System health check" },
|
|
115
|
+
{ cmd: "setup", desc: "Guided first-run setup" },
|
|
116
|
+
],
|
|
117
|
+
},
|
|
118
|
+
];
|
|
119
|
+
//# sourceMappingURL=command-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-catalog.js","sourceRoot":"","sources":["../../src/tui/command-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ProfileCardProps } from "./components/commerce/ProfileCard";
|
|
2
|
+
import type { AgreementListProps } from "./components/commerce/AgreementList";
|
|
3
|
+
import type { ComputeCardProps } from "./components/commerce/ComputeCard";
|
|
4
|
+
import type { DiscoverListProps } from "./components/commerce/DiscoverList";
|
|
5
|
+
import type { HireCardProps } from "./components/commerce/HireCard";
|
|
6
|
+
import type { RoundsListProps } from "./components/commerce/RoundsList";
|
|
7
|
+
import type { SquadCardProps } from "./components/commerce/SquadCard";
|
|
8
|
+
import type { StatusCardProps } from "./components/commerce/StatusCard";
|
|
9
|
+
import type { SubscribeCardProps } from "./components/commerce/SubscribeCard";
|
|
10
|
+
import type { WorkroomCardProps } from "./components/commerce/WorkroomCard";
|
|
11
|
+
export declare function printStatusCard(props: StatusCardProps): Promise<void>;
|
|
12
|
+
export declare function printDiscoverList(props: DiscoverListProps): Promise<void>;
|
|
13
|
+
export declare function printHireCard(props: HireCardProps): Promise<void>;
|
|
14
|
+
export declare function printAgreementList(props: AgreementListProps): Promise<void>;
|
|
15
|
+
export declare function printComputeCard(props: ComputeCardProps): Promise<void>;
|
|
16
|
+
export declare function printSubscribeCard(props: SubscribeCardProps): Promise<void>;
|
|
17
|
+
export declare function printRoundsList(props: RoundsListProps): Promise<void>;
|
|
18
|
+
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
|
+
}
|
|
30
|
+
export declare function printProfileCard(props: ProfileCardProps): Promise<void>;
|
|
31
|
+
export declare function printStandings(props: StandingsProps): Promise<void>;
|
|
32
|
+
export declare function printWorkroomCard(props: WorkroomCardProps): Promise<void>;
|
|
33
|
+
//# sourceMappingURL=command-renderers.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.printStatusCard = printStatusCard;
|
|
4
|
+
exports.printDiscoverList = printDiscoverList;
|
|
5
|
+
exports.printHireCard = printHireCard;
|
|
6
|
+
exports.printAgreementList = printAgreementList;
|
|
7
|
+
exports.printComputeCard = printComputeCard;
|
|
8
|
+
exports.printSubscribeCard = printSubscribeCard;
|
|
9
|
+
exports.printRoundsList = printRoundsList;
|
|
10
|
+
exports.printSquadCard = printSquadCard;
|
|
11
|
+
exports.printProfileCard = printProfileCard;
|
|
12
|
+
exports.printStandings = printStandings;
|
|
13
|
+
exports.printWorkroomCard = printWorkroomCard;
|
|
14
|
+
const commerce_format_1 = require("./commerce-format");
|
|
15
|
+
const render_inline_1 = require("./render-inline");
|
|
16
|
+
function emit(lines) {
|
|
17
|
+
for (const line of lines)
|
|
18
|
+
(0, render_inline_1.writeTuiLine)(line);
|
|
19
|
+
}
|
|
20
|
+
function separator() {
|
|
21
|
+
return "─".repeat(60);
|
|
22
|
+
}
|
|
23
|
+
function badge(label) {
|
|
24
|
+
return label ? ` ${label}` : "";
|
|
25
|
+
}
|
|
26
|
+
function detail(label, value) {
|
|
27
|
+
return ` ${label.padEnd(14)} ${value}`;
|
|
28
|
+
}
|
|
29
|
+
function bullet(value) {
|
|
30
|
+
return ` • ${value}`;
|
|
31
|
+
}
|
|
32
|
+
function listItem(title, meta, detailLine, status) {
|
|
33
|
+
return [
|
|
34
|
+
`${title}${badge(status)}`,
|
|
35
|
+
...(meta ? [meta] : []),
|
|
36
|
+
...(detailLine ? [detailLine] : []),
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
async function printStatusCard(props) {
|
|
40
|
+
emit([
|
|
41
|
+
"◈ Wallet Status",
|
|
42
|
+
`${props.wallet}${badge(props.status?.label)}`,
|
|
43
|
+
props.network,
|
|
44
|
+
separator(),
|
|
45
|
+
detail("balance", props.balance ?? "n/a"),
|
|
46
|
+
detail("endpoint", props.endpoint ?? "n/a"),
|
|
47
|
+
...(typeof props.trustScore === "number"
|
|
48
|
+
? [detail("trust", (0, commerce_format_1.formatPercent)(Math.min(100, Math.max(0, props.trustScore / 5)), 1))]
|
|
49
|
+
: []),
|
|
50
|
+
...(props.agreements
|
|
51
|
+
? [
|
|
52
|
+
"",
|
|
53
|
+
"agreements",
|
|
54
|
+
detail("active", String(props.agreements.active)),
|
|
55
|
+
detail("verify", String(props.agreements.pendingVerification)),
|
|
56
|
+
detail("disputed", String(props.agreements.disputed)),
|
|
57
|
+
]
|
|
58
|
+
: []),
|
|
59
|
+
...(props.workroom
|
|
60
|
+
? [
|
|
61
|
+
"",
|
|
62
|
+
"workroom",
|
|
63
|
+
detail("status", props.workroom.status),
|
|
64
|
+
detail("jobs", String(props.workroom.activeJobs ?? 0)),
|
|
65
|
+
detail("harness", props.workroom.harness ?? "n/a"),
|
|
66
|
+
]
|
|
67
|
+
: []),
|
|
68
|
+
]);
|
|
69
|
+
}
|
|
70
|
+
async function printDiscoverList(props) {
|
|
71
|
+
emit([
|
|
72
|
+
"◈ Discover",
|
|
73
|
+
`${props.title ?? "Discover Results"}${badge(props.status?.label)}`,
|
|
74
|
+
...(props.summary ? [props.summary] : []),
|
|
75
|
+
separator(),
|
|
76
|
+
...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
|
+
`${props.agents.length} ranked result${props.agents.length === 1 ? "" : "s"}`,
|
|
78
|
+
]);
|
|
79
|
+
}
|
|
80
|
+
async function printHireCard(props) {
|
|
81
|
+
emit([
|
|
82
|
+
"◈ Hire",
|
|
83
|
+
`${props.providerName ? `${props.providerName} · ${props.providerAddress}` : props.providerAddress}${badge(props.status?.label)}`,
|
|
84
|
+
props.capability,
|
|
85
|
+
separator(),
|
|
86
|
+
detail("price", props.price),
|
|
87
|
+
detail("deadline", props.deadline ?? "open"),
|
|
88
|
+
detail("agreement", props.agreementId ?? "pending"),
|
|
89
|
+
detail("tx", props.txHash ?? "not submitted"),
|
|
90
|
+
...((props.notes ?? []).length > 0
|
|
91
|
+
? ["", "operator notes", ...(props.notes ?? []).map(bullet)]
|
|
92
|
+
: []),
|
|
93
|
+
]);
|
|
94
|
+
}
|
|
95
|
+
async function printAgreementList(props) {
|
|
96
|
+
emit([
|
|
97
|
+
"◈ Agreements",
|
|
98
|
+
`${props.roleLabel ?? "Recent Agreements"}${badge(props.status?.label)}`,
|
|
99
|
+
...(props.totalEscrowLabel ? [props.totalEscrowLabel] : []),
|
|
100
|
+
separator(),
|
|
101
|
+
...(props.agreements.length > 0
|
|
102
|
+
? props.agreements.flatMap((agreement) => listItem(`#${agreement.id} ${agreement.counterparty}`, `${agreement.serviceType}${agreement.price ? ` · ${agreement.price}` : ""}`, agreement.verifyWindowMinutes !== undefined
|
|
103
|
+
? `verify window ${(0, commerce_format_1.formatCountdown)(agreement.verifyWindowMinutes)}`
|
|
104
|
+
: agreement.deadlineMinutes !== undefined
|
|
105
|
+
? `deadline ${(0, commerce_format_1.formatCountdown)(agreement.deadlineMinutes)}`
|
|
106
|
+
: undefined, agreement.status).map((line) => ` ${line}`))
|
|
107
|
+
: [" No agreements found."]),
|
|
108
|
+
]);
|
|
109
|
+
}
|
|
110
|
+
async function printComputeCard(props) {
|
|
111
|
+
emit([
|
|
112
|
+
"◈ Compute Session",
|
|
113
|
+
`${props.sessionId}${badge(props.status?.label)}`,
|
|
114
|
+
`${props.provider} · ${props.gpuSpec}`,
|
|
115
|
+
separator(),
|
|
116
|
+
detail("rate", props.rateLabel),
|
|
117
|
+
detail("consumed", props.consumedLabel ?? "n/a"),
|
|
118
|
+
detail("cost", props.costLabel ?? "n/a"),
|
|
119
|
+
detail("remaining", props.remainingLabel ?? "n/a"),
|
|
120
|
+
...(props.utilizationPercent !== undefined
|
|
121
|
+
? [detail("utilization", (0, commerce_format_1.formatPercent)(props.utilizationPercent, 2))]
|
|
122
|
+
: []),
|
|
123
|
+
]);
|
|
124
|
+
}
|
|
125
|
+
async function printSubscribeCard(props) {
|
|
126
|
+
emit([
|
|
127
|
+
"◈ Subscription",
|
|
128
|
+
`${props.provider}${badge(props.status?.label)}`,
|
|
129
|
+
props.planId,
|
|
130
|
+
separator(),
|
|
131
|
+
detail("rate", props.rateLabel),
|
|
132
|
+
detail("months", String(props.months ?? 1)),
|
|
133
|
+
detail("renewal", props.nextRenewalLabel ?? "immediate access"),
|
|
134
|
+
detail("payments", props.paymentOptions?.length ? props.paymentOptions.join(", ") : "subscription"),
|
|
135
|
+
...((props.accessSummary ?? []).length > 0
|
|
136
|
+
? ["", "access", ...(props.accessSummary ?? []).map(bullet)]
|
|
137
|
+
: []),
|
|
138
|
+
]);
|
|
139
|
+
}
|
|
140
|
+
async function printRoundsList(props) {
|
|
141
|
+
emit([
|
|
142
|
+
"◈ Arena",
|
|
143
|
+
`${props.title ?? "Arena Rounds"}${badge(props.status?.label)}`,
|
|
144
|
+
separator(),
|
|
145
|
+
...(props.rounds.length > 0
|
|
146
|
+
? 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
|
+
: [" No arena rounds found."]),
|
|
148
|
+
"Built for round boards and live resolution views.",
|
|
149
|
+
]);
|
|
150
|
+
}
|
|
151
|
+
async function printSquadCard(props) {
|
|
152
|
+
emit([
|
|
153
|
+
"◈ Squad",
|
|
154
|
+
`${props.name}${badge(props.status?.label ?? props.statusLabel)}`,
|
|
155
|
+
props.id,
|
|
156
|
+
separator(),
|
|
157
|
+
detail("domain", props.domainTag),
|
|
158
|
+
detail("members", String(props.memberCount)),
|
|
159
|
+
detail("invite", props.inviteOnly ? "yes" : "no"),
|
|
160
|
+
detail("creator", props.creator ?? "n/a"),
|
|
161
|
+
...((props.members ?? []).length > 0
|
|
162
|
+
? ["", "members", ...(props.members ?? []).map((member) => bullet(`${member.agent}${member.role ? ` · ${member.role}` : ""}${member.trustScore !== undefined ? ` · trust ${member.trustScore}` : ""}`))]
|
|
163
|
+
: []),
|
|
164
|
+
...((props.briefings ?? []).length > 0
|
|
165
|
+
? ["", "briefings", ...(props.briefings ?? []).map((briefing) => bullet(`${briefing.preview}${briefing.publishedLabel ? ` · ${briefing.publishedLabel}` : ""}${briefing.tags?.length ? ` · ${briefing.tags.join(", ")}` : ""}`))]
|
|
166
|
+
: []),
|
|
167
|
+
]);
|
|
168
|
+
}
|
|
169
|
+
async function printProfileCard(props) {
|
|
170
|
+
emit([
|
|
171
|
+
"◈ Agent Profile",
|
|
172
|
+
`${props.name ?? props.address}${badge(props.status?.label ?? (props.isActive ? "active" : "inactive"))}`,
|
|
173
|
+
props.endpoint ?? "",
|
|
174
|
+
separator(),
|
|
175
|
+
detail("address", `${props.address.slice(0, 6)}…${props.address.slice(-4)}`),
|
|
176
|
+
...(props.serviceType ? [detail("service", props.serviceType)] : []),
|
|
177
|
+
...(typeof props.trustScore === "number" ? [detail("trust", String(props.trustScore))] : []),
|
|
178
|
+
...(typeof props.totalAgreements === "number"
|
|
179
|
+
? [detail("agreements", `${props.totalAgreements} completed · ${props.disputes ?? 0} disputes`)]
|
|
180
|
+
: []),
|
|
181
|
+
...(props.capabilities?.length
|
|
182
|
+
? [
|
|
183
|
+
"",
|
|
184
|
+
"capabilities",
|
|
185
|
+
...props.capabilities.map((c, i) => ` ${i === (props.capabilities?.length ?? 0) - 1 ? "└─" : "├─"} ${c}`),
|
|
186
|
+
]
|
|
187
|
+
: []),
|
|
188
|
+
...(props.latestStatus ? [detail("latest", props.latestStatus)] : []),
|
|
189
|
+
]);
|
|
190
|
+
}
|
|
191
|
+
async function printStandings(props) {
|
|
192
|
+
emit([
|
|
193
|
+
"◈ Arena Standings",
|
|
194
|
+
props.title ?? "Global Leaderboard",
|
|
195
|
+
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
|
+
]),
|
|
199
|
+
`${props.entries.length} agents`,
|
|
200
|
+
]);
|
|
201
|
+
}
|
|
202
|
+
async function printWorkroomCard(props) {
|
|
203
|
+
emit([
|
|
204
|
+
"◈ Workroom",
|
|
205
|
+
`${props.runtime ?? "Governed execution environment"}${badge(props.status?.label ?? props.statusLabel)}`,
|
|
206
|
+
separator(),
|
|
207
|
+
detail("harness", props.harness ?? "n/a"),
|
|
208
|
+
detail("queue", String(props.queueDepth ?? props.activeJobs?.length ?? 0)),
|
|
209
|
+
detail("policy", props.policyHash ?? "n/a"),
|
|
210
|
+
...((props.activeJobs ?? []).length > 0
|
|
211
|
+
? ["", "jobs", ...(props.activeJobs ?? []).map((job) => bullet(`${job.id} · ${job.status}${job.harness ? ` · ${job.harness}` : ""}${job.task ? ` · ${job.task}` : ""}`))]
|
|
212
|
+
: []),
|
|
213
|
+
]);
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=command-renderers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-renderers.js","sourceRoot":"","sources":["../../src/tui/command-renderers.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commerce-format.d.ts","sourceRoot":"","sources":["../../src/tui/commerce-format.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,CAG/D;AAED,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAMxD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatPercent = formatPercent;
|
|
4
|
+
exports.formatCountdown = formatCountdown;
|
|
5
|
+
function formatPercent(value, digits = 0) {
|
|
6
|
+
if (!Number.isFinite(value))
|
|
7
|
+
return "0%";
|
|
8
|
+
return `${value.toFixed(digits)}%`;
|
|
9
|
+
}
|
|
10
|
+
function formatCountdown(minutes) {
|
|
11
|
+
if (minutes === undefined || minutes === null || !Number.isFinite(minutes))
|
|
12
|
+
return "n/a";
|
|
13
|
+
if (minutes < 60)
|
|
14
|
+
return `${Math.max(0, Math.round(minutes))}m`;
|
|
15
|
+
const hours = Math.floor(minutes / 60);
|
|
16
|
+
const mins = Math.round(minutes % 60);
|
|
17
|
+
return `${hours}h ${mins}m`;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=commerce-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commerce-format.js","sourceRoot":"","sources":["../../src/tui/commerce-format.ts"],"names":[],"mappings":";;AAAA,sCAGC;AAED,0CAMC;AAXD,SAAgB,aAAa,CAAC,KAAa,EAAE,MAAM,GAAG,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACzF,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACtC,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DiscoverAgent } from "./DiscoverList";
|
|
2
|
+
export interface AgentPickerProps {
|
|
3
|
+
agents: DiscoverAgent[];
|
|
4
|
+
onSelect: (agent: DiscoverAgent | null) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function AgentPicker({ agents, onSelect }: AgentPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=AgentPicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentPicker.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/commerce/AgentPicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;CACjD;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAkCjE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentPicker = AgentPicker;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const ink_1 = require("ink");
|
|
7
|
+
function AgentPicker({ agents, onSelect }) {
|
|
8
|
+
const [selectedIndex, setSelectedIndex] = (0, react_1.useState)(0);
|
|
9
|
+
(0, ink_1.useInput)((input, key) => {
|
|
10
|
+
if (key.upArrow) {
|
|
11
|
+
setSelectedIndex((i) => Math.max(0, i - 1));
|
|
12
|
+
}
|
|
13
|
+
else if (key.downArrow) {
|
|
14
|
+
setSelectedIndex((i) => Math.min(agents.length - 1, i + 1));
|
|
15
|
+
}
|
|
16
|
+
else if (key.return) {
|
|
17
|
+
onSelect(agents[selectedIndex] ?? null);
|
|
18
|
+
}
|
|
19
|
+
else if (key.escape || input === "q") {
|
|
20
|
+
onSelect(null);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return ((0, jsx_runtime_1.jsxs)(ink_1.Text, { children: [agents.map((agent, i) => {
|
|
24
|
+
const isLast = i === agents.length - 1;
|
|
25
|
+
const border = isLast ? "└─" : "├─";
|
|
26
|
+
const isSelected = i === selectedIndex;
|
|
27
|
+
const statusBadge = agent.endpointStatus === "online" ? "◉" : agent.endpointStatus === "offline" ? "⊘" : "○";
|
|
28
|
+
const price = agent.priceLabel ?? "?";
|
|
29
|
+
const line = ` #${agent.rank} ${border} ${agent.name.padEnd(20)} trust ${String(agent.trustScore).padStart(4)} ${price.padEnd(12)} ${statusBadge}`;
|
|
30
|
+
return ((0, jsx_runtime_1.jsxs)(ink_1.Text, { color: isSelected ? "cyan" : undefined, bold: isSelected, children: [isSelected ? "▶ " : " ", line.trimStart(), "\n"] }, agent.wallet));
|
|
31
|
+
}), "\n", (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "\u2191\u2193 select \u00B7 Enter pick \u00B7 Esc cancel" })] }));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=AgentPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentPicker.js","sourceRoot":"","sources":["../../../../src/tui/components/commerce/AgentPicker.tsx"],"names":[],"mappings":";;AASA,kCAkCC;;AA3CD,iCAAmD;AACnD,6BAAqC;AAQrC,SAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAoB;IAChE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAEtD,IAAA,cAAQ,EAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACzB,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACtB,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,wBAAC,UAAI,eACF,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACvB,MAAM,MAAM,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpC,MAAM,UAAU,GAAG,CAAC,KAAK,aAAa,CAAC;gBACvC,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC7G,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC;gBACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;gBACvJ,OAAO,CACL,wBAAC,UAAI,IAAoB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,aAC9E,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,KADxC,KAAK,CAAC,MAAM,CAEhB,CACR,CAAC;YACJ,CAAC,CAAC,EACD,IAAI,EACL,uBAAC,UAAI,IAAC,QAAQ,8EAA2C,IACpD,CACR,CAAC;AACJ,CAAC"}
|