@super-one/cli 0.74.0-alpha → 0.74.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MANIFEST.json +2 -2
- package/lib/cli.mjs +100 -66
- package/package.json +10 -10
package/MANIFEST.json
CHANGED
package/lib/cli.mjs
CHANGED
|
@@ -137,8 +137,8 @@ import { fileURLToPath } from "node:url";
|
|
|
137
137
|
function resolveCliReleaseVersion() {
|
|
138
138
|
const fromEnv = process.env.SUPERONE_CLI_VERSION?.trim();
|
|
139
139
|
if (fromEnv) return fromEnv;
|
|
140
|
-
if ("0.74.0-alpha".trim()) {
|
|
141
|
-
return "0.74.0-alpha".trim();
|
|
140
|
+
if ("0.74.0-alpha.1".trim()) {
|
|
141
|
+
return "0.74.0-alpha.1".trim();
|
|
142
142
|
}
|
|
143
143
|
const fromDist = readDistManifestVersion();
|
|
144
144
|
if (fromDist) return fromDist;
|
|
@@ -409,7 +409,7 @@ var init_interaction_memory = __esm({
|
|
|
409
409
|
});
|
|
410
410
|
|
|
411
411
|
// ../../packages/shared/src/superone-tool-descriptions.ts
|
|
412
|
-
var MANUAL_READ_DESCRIPTION, SETUP_MINI_APP_DEV_DESCRIPTION, REGISTER_DEV_MINIAPP_DESCRIPTION, PACK_MINI_APP_DESCRIPTION, UPDATE_SUPERONE_TYPES_DESCRIPTION, MINIAPP_DEV_PREVIEW_DESCRIPTION, MINIAPP_DEV_RELOAD_DESCRIPTION, MINIAPP_DEV_PREVIEW_INPUT_SCHEMA, MINIAPP_DEV_RELOAD_INPUT_SCHEMA, RENAME_SESSION_DESCRIPTION, SESSION_TAG_DESCRIPTION, SESSION_TAG_LIST_DESCRIPTION, PROJECT_LIST_DESCRIPTION, SESSION_LIST_DESCRIPTION, SESSION_SEARCH_DESCRIPTION, SESSION_READ_DESCRIPTION, SESSION_READ_MESSAGE_ID_DESCRIPTION, SESSION_READ_AROUND_DESCRIPTION, SESSION_READ_CURSOR_DESCRIPTION, SESSION_READ_LIMIT_DESCRIPTION, SESSION_READ_THINKING_DESCRIPTION, SESSION_TAGS_FILTER_DESCRIPTION, SESSION_TAG_MATCH_DESCRIPTION, SESSION_CLEANUP_DESCRIPTION, CONFIG_READ_DESCRIPTION, CONFIG_APPLY_DESCRIPTION, LIST_MEDIA_PROVIDERS_DESCRIPTION, GENERATE_IMAGE_DESCRIPTION, GENERATE_VIDEO_DESCRIPTION, VIDEO_STATUS_DESCRIPTION, SESSION_LIST_AGENTS_DESCRIPTION, SESSION_REQUEST_AGENTS_DESCRIPTION, LAUNCH_SUMMARY_DESCRIPTION, START_LAUNCH_ID_DESCRIPTION, LAUNCH_TASK_DESCRIPTION, LAUNCH_MODE_DESCRIPTION, LAUNCH_SESSION_ID_DESCRIPTION, LAUNCH_PERMISSION_MODE_DESCRIPTION, LAUNCH_ENVIRONMENT_DESCRIPTION, LAUNCH_CWD_DESCRIPTION, LAUNCH_WORKTREE_DESCRIPTION, LAUNCH_BRANCH_NAME_DESCRIPTION, SESSION_START_DESCRIPTION, SESSION_SEND_DESCRIPTION, SESSION_SEND_TO_DESCRIPTION, SESSION_SEND_CONTENT_DESCRIPTION, SESSION_RETRIEVE_DESCRIPTION, SESSION_RETRIEVE_FROM_DESCRIPTION, SESSION_SUGGEST_TASK_DESCRIPTION, SUGGEST_TASK_TITLE_DESCRIPTION, SUGGEST_TASK_TLDR_DESCRIPTION, SUGGEST_TASK_PROMPT_DESCRIPTION, SUGGEST_TASK_CWD_DESCRIPTION, AUTOMATION_LIST_DESCRIPTION, AUTOMATION_APPLY_DESCRIPTION, AUTOMATION_DELETE_DESCRIPTION, AGENT_PROFILE_LIST_DESCRIPTION, AGENT_PROFILE_APPLY_DESCRIPTION, AGENT_PROFILE_DELETE_DESCRIPTION, TERMINAL_TABS_DESCRIPTION, TERMINAL_SNAPSHOT_DESCRIPTION, TERMINAL_ACT_DESCRIPTION, TERMINAL_WAIT_FOR_DESCRIPTION, ENVIRONMENT_GET_INFO_DESCRIPTION, ENVIRONMENT_GET_INFO_IDS_DESCRIPTION, ENVIRONMENT_GET_INFO_INCLUDE_DESCRIPTION, ARCHIVE_ENVIRONMENT_DESCRIPTION, LAYOUT_SNAPSHOT_DESCRIPTION, LAYOUT_ACT_DESCRIPTION, LAYOUT_ACT_PATH_DESCRIPTION, LAYOUT_ACT_LINE_DESCRIPTION, LAYOUT_ACT_TAB_DESCRIPTION, LAYOUT_ACT_DIRECTION_DESCRIPTION, LAYOUT_ACT_SESSION_DESCRIPTION;
|
|
412
|
+
var MANUAL_READ_DESCRIPTION, SETUP_MINI_APP_DEV_DESCRIPTION, REGISTER_DEV_MINIAPP_DESCRIPTION, PACK_MINI_APP_DESCRIPTION, UPDATE_SUPERONE_TYPES_DESCRIPTION, MINIAPP_LIST_DESCRIPTION, MINIAPP_LIST_APP_ID_DESCRIPTION, MINIAPP_LIST_INCLUDE_SCHEMA_DESCRIPTION, MINIAPP_CALL_DESCRIPTION, MINIAPP_CALL_APP_ID_DESCRIPTION, MINIAPP_CALL_TOOL_DESCRIPTION, MINIAPP_CALL_INPUT_DESCRIPTION, MINIAPP_OPEN_DESCRIPTION, MINIAPP_OPEN_APP_ID_DESCRIPTION, MINIAPP_DEV_PREVIEW_DESCRIPTION, MINIAPP_DEV_RELOAD_DESCRIPTION, MINIAPP_DEV_PREVIEW_INPUT_SCHEMA, MINIAPP_DEV_RELOAD_INPUT_SCHEMA, RENAME_SESSION_DESCRIPTION, SESSION_TAG_DESCRIPTION, SESSION_TAG_LIST_DESCRIPTION, PROJECT_LIST_DESCRIPTION, SESSION_LIST_DESCRIPTION, SESSION_SEARCH_DESCRIPTION, SESSION_READ_DESCRIPTION, SESSION_READ_MESSAGE_ID_DESCRIPTION, SESSION_READ_AROUND_DESCRIPTION, SESSION_READ_CURSOR_DESCRIPTION, SESSION_READ_LIMIT_DESCRIPTION, SESSION_READ_THINKING_DESCRIPTION, SESSION_TAGS_FILTER_DESCRIPTION, SESSION_TAG_MATCH_DESCRIPTION, SESSION_CLEANUP_DESCRIPTION, CONFIG_READ_DESCRIPTION, CONFIG_APPLY_DESCRIPTION, LIST_MEDIA_PROVIDERS_DESCRIPTION, GENERATE_IMAGE_DESCRIPTION, GENERATE_VIDEO_DESCRIPTION, VIDEO_STATUS_DESCRIPTION, SESSION_LIST_AGENTS_DESCRIPTION, SESSION_REQUEST_AGENTS_DESCRIPTION, LAUNCH_SUMMARY_DESCRIPTION, START_LAUNCH_ID_DESCRIPTION, LAUNCH_TASK_DESCRIPTION, LAUNCH_MODE_DESCRIPTION, LAUNCH_SESSION_ID_DESCRIPTION, LAUNCH_PERMISSION_MODE_DESCRIPTION, LAUNCH_ENVIRONMENT_DESCRIPTION, LAUNCH_CWD_DESCRIPTION, LAUNCH_WORKTREE_DESCRIPTION, LAUNCH_BRANCH_NAME_DESCRIPTION, SESSION_START_DESCRIPTION, SESSION_SEND_DESCRIPTION, SESSION_SEND_TO_DESCRIPTION, SESSION_SEND_CONTENT_DESCRIPTION, SESSION_RETRIEVE_DESCRIPTION, SESSION_RETRIEVE_FROM_DESCRIPTION, SESSION_SUGGEST_TASK_DESCRIPTION, SUGGEST_TASK_TITLE_DESCRIPTION, SUGGEST_TASK_TLDR_DESCRIPTION, SUGGEST_TASK_PROMPT_DESCRIPTION, SUGGEST_TASK_CWD_DESCRIPTION, AUTOMATION_LIST_DESCRIPTION, AUTOMATION_APPLY_DESCRIPTION, AUTOMATION_DELETE_DESCRIPTION, AGENT_PROFILE_LIST_DESCRIPTION, AGENT_PROFILE_APPLY_DESCRIPTION, AGENT_PROFILE_DELETE_DESCRIPTION, TERMINAL_TABS_DESCRIPTION, TERMINAL_SNAPSHOT_DESCRIPTION, TERMINAL_ACT_DESCRIPTION, TERMINAL_WAIT_FOR_DESCRIPTION, ENVIRONMENT_GET_INFO_DESCRIPTION, ENVIRONMENT_GET_INFO_IDS_DESCRIPTION, ENVIRONMENT_GET_INFO_INCLUDE_DESCRIPTION, ARCHIVE_ENVIRONMENT_DESCRIPTION, LAYOUT_SNAPSHOT_DESCRIPTION, LAYOUT_ACT_DESCRIPTION, LAYOUT_ACT_PATH_DESCRIPTION, LAYOUT_ACT_LINE_DESCRIPTION, LAYOUT_ACT_TAB_DESCRIPTION, LAYOUT_ACT_GROUP_DESCRIPTION, LAYOUT_ACT_DIRECTION_DESCRIPTION, LAYOUT_ACT_INDEX_DESCRIPTION, LAYOUT_ACT_WIDTH_DESCRIPTION, LAYOUT_ACT_HEIGHT_DESCRIPTION, LAYOUT_ACT_MODE_DESCRIPTION, LAYOUT_ACT_POSITION_DESCRIPTION, LAYOUT_ACT_SESSION_DESCRIPTION;
|
|
413
413
|
var init_superone_tool_descriptions = __esm({
|
|
414
414
|
"../../packages/shared/src/superone-tool-descriptions.ts"() {
|
|
415
415
|
"use strict";
|
|
@@ -418,6 +418,15 @@ var init_superone_tool_descriptions = __esm({
|
|
|
418
418
|
REGISTER_DEV_MINIAPP_DESCRIPTION = "Register an existing mini-app directory without modifying its source files. Reads manifest.json from the directory or dist, updates dev-registry.json in the variant-specific personal data root, and optionally writes a project- or user-scoped .s1-dev.json pointer.";
|
|
419
419
|
PACK_MINI_APP_DESCRIPTION = "Package a mini-app directory into a .s1app file for distribution. The app directory must contain a valid manifest.json with a version field. Generates integrity checksums and creates a compressed archive.";
|
|
420
420
|
UPDATE_SUPERONE_TYPES_DESCRIPTION = "Update the superone.d.ts type definitions in an existing mini-app project to the latest version. Use this when the mini-app needs access to newly added SuperOne APIs.";
|
|
421
|
+
MINIAPP_LIST_DESCRIPTION = "List the mini-apps installed for this session's project and their tools. Omit appId for a compact catalog (tool names + one-line descriptions). Pass appId to inspect one app; includeSchema defaults true for that app's full tool definitions including inputSchema. Call this before miniapp_call when you do not know the tool names or parameters.";
|
|
422
|
+
MINIAPP_LIST_APP_ID_DESCRIPTION = "Optional mini-app id. When set, returns that app's tools only.";
|
|
423
|
+
MINIAPP_LIST_INCLUDE_SCHEMA_DESCRIPTION = "When appId is set, include full tool definitions with inputSchema (default true). Ignored when listing all apps.";
|
|
424
|
+
MINIAPP_CALL_DESCRIPTION = "Execute a tool of an installed mini-app. Pass appId + tool name from miniapp_list, and tool arguments as input. Tools run in the app's host without its UI; show the UI with miniapp_open. Do not invent tools \u2014 call miniapp_list first when unsure.";
|
|
425
|
+
MINIAPP_CALL_APP_ID_DESCRIPTION = "Mini-app id from miniapp_list.";
|
|
426
|
+
MINIAPP_CALL_TOOL_DESCRIPTION = "Tool name declared by that app's manifest.";
|
|
427
|
+
MINIAPP_CALL_INPUT_DESCRIPTION = "Arguments for the app tool. Validated against the tool's inputSchema at dispatch time.";
|
|
428
|
+
MINIAPP_OPEN_DESCRIPTION = "Open an installed mini-app's UI as a tab in your activity panel, in the background: the result says whether the user sees it and how to bring it forward. Use when the user wants to see or use the app itself; its tools run without the UI through miniapp_call.";
|
|
429
|
+
MINIAPP_OPEN_APP_ID_DESCRIPTION = "Mini-app id from miniapp_list.";
|
|
421
430
|
MINIAPP_DEV_PREVIEW_DESCRIPTION = "Render a development mini-app tool's chat UI (intercept, result, or standalone template) from fixture input/result without running the tool. Returns a view id to pass as tab to browser_* tools for snapshots, clicks, screenshots, and console. Intercept submit/cancel and result close are logged as info console entries instead of executing. A new call replaces the app's previous preview. Workflow: read_manual miniapp/debugging.";
|
|
422
431
|
MINIAPP_DEV_RELOAD_DESCRIPTION = "Reload a development mini-app after editing it (build first if it has a build step): restarts its MiniApp Host so changed main code loads, refreshes manifest tools and templates, and reloads its open WebViews. Then inspect them with browser_* tools via miniapp: view ids.";
|
|
423
432
|
MINIAPP_DEV_PREVIEW_INPUT_SCHEMA = {
|
|
@@ -500,12 +509,18 @@ var init_superone_tool_descriptions = __esm({
|
|
|
500
509
|
ENVIRONMENT_GET_INFO_IDS_DESCRIPTION = "Environments to read; omit for all.";
|
|
501
510
|
ENVIRONMENT_GET_INFO_INCLUDE_DESCRIPTION = 'Detail groups to add. Default ["hardware"]; [] returns IDs, labels and state only.';
|
|
502
511
|
ARCHIVE_ENVIRONMENT_DESCRIPTION = "Target environment ID from environment_get_info. Omit or use localhost for the calling session host.";
|
|
503
|
-
LAYOUT_SNAPSHOT_DESCRIPTION = "Read the SuperOne desktop layout around your session: whether the user can see your chat, the sidebar, your activity panel (open, side, maximized) and
|
|
504
|
-
LAYOUT_ACT_DESCRIPTION = "Arrange the SuperOne desktop for the user: open a file
|
|
512
|
+
LAYOUT_SNAPSHOT_DESCRIPTION = "Read the SuperOne desktop layout around your session: whether the user can see your chat, the sidebar, your activity panel (open, side, maximized), its tab groups (index and px box, so you can tell top/bottom from side by side) and tabs (id, kind, title, active, group, openedBy), your bottom terminal, the split view, chatMode and chatPosition, and sizes: px widths of the window, sidebar, panel and chat, with the min/max each column can take. Call it for tab and group ids before layout_act, for sizes before a resize, or to check what the user is looking at.";
|
|
513
|
+
LAYOUT_ACT_DESCRIPTION = "Arrange the SuperOne desktop for the user: open a file as a tab; focus or close tabs, move one beside or into a group or reorder it (move_tab), resize a group; show, hide, maximize, move or resize your activity panel; show or hide your terminal; show, hide or resize the sidebar (widen a column to narrow the chat); dock, float or iconify the chat; put a session you launched beside yours. Open browser and terminal tabs with browser_tabs / terminal_tabs. You can close only tabs and panes you opened. It never moves the user: in the background your own layout changes wait for them (status queued) and window-wide ones are skipped. `visible` says whether the user sees the result now.";
|
|
505
514
|
LAYOUT_ACT_PATH_DESCRIPTION = "open_file: the file, absolute or relative to your working folder.";
|
|
506
515
|
LAYOUT_ACT_LINE_DESCRIPTION = "open_file: 1-based line to reveal.";
|
|
507
|
-
LAYOUT_ACT_TAB_DESCRIPTION = "Tab id from layout_snapshot (browser_tabs / terminal_tabs ids work too). focus_tab, close_tab,
|
|
508
|
-
|
|
516
|
+
LAYOUT_ACT_TAB_DESCRIPTION = "Tab id from layout_snapshot (browser_tabs / terminal_tabs ids work too). focus_tab, close_tab, move_tab; maximize_panel defaults to the active tab.";
|
|
517
|
+
LAYOUT_ACT_GROUP_DESCRIPTION = "Group index from layout_snapshot groups. resize_group; move_tab target, default the tab's own group (a tab alone there goes beside the group before it).";
|
|
518
|
+
LAYOUT_ACT_DIRECTION_DESCRIPTION = "move_tab: right / down / left / up of the group as a new group, or into it. split_session: any side. Default right.";
|
|
519
|
+
LAYOUT_ACT_INDEX_DESCRIPTION = "move_tab: 0-based position among the destination group's tabs; with into and your own group it reorders.";
|
|
520
|
+
LAYOUT_ACT_WIDTH_DESCRIPTION = "resize_sidebar / resize_panel / resize_group: target width in px. Sidebar and panel clamp to layout_snapshot sizes; the result has the applied size.";
|
|
521
|
+
LAYOUT_ACT_HEIGHT_DESCRIPTION = "resize_group: target height in px.";
|
|
522
|
+
LAYOUT_ACT_MODE_DESCRIPTION = "chat_mode: docked (a column beside the panel), floating (a movable window over the panel, which then fills the window) or icon (that window collapsed).";
|
|
523
|
+
LAYOUT_ACT_POSITION_DESCRIPTION = "chat_mode: where the floating chat or its icon snaps. Alone it moves the chat without changing mode; while docked it is kept for the next float.";
|
|
509
524
|
LAYOUT_ACT_SESSION_DESCRIPTION = "split_session / close_split: a session you launched with session_collab_*.";
|
|
510
525
|
}
|
|
511
526
|
});
|
|
@@ -2682,50 +2697,44 @@ var HOST_ACTION_MINIAPP_DESCRIPTORS;
|
|
|
2682
2697
|
var init_host_action_miniapp_descriptors = __esm({
|
|
2683
2698
|
"../../packages/shared/src/environment/host-action-miniapp-descriptors.ts"() {
|
|
2684
2699
|
"use strict";
|
|
2700
|
+
init_superone_tool_descriptions();
|
|
2685
2701
|
HOST_ACTION_MINIAPP_DESCRIPTORS = [
|
|
2686
2702
|
{
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
"description": "Optional mini-app id. When set, returns that app's tools only."
|
|
2695
|
-
},
|
|
2696
|
-
"includeSchema": {
|
|
2697
|
-
"type": "boolean",
|
|
2698
|
-
"description": "When appId is set, include full tool definitions with inputSchema (default true). Ignored when listing all apps."
|
|
2699
|
-
}
|
|
2703
|
+
name: "miniapp_list",
|
|
2704
|
+
description: MINIAPP_LIST_DESCRIPTION,
|
|
2705
|
+
inputSchema: {
|
|
2706
|
+
type: "object",
|
|
2707
|
+
properties: {
|
|
2708
|
+
appId: { type: "string", description: MINIAPP_LIST_APP_ID_DESCRIPTION },
|
|
2709
|
+
includeSchema: { type: "boolean", description: MINIAPP_LIST_INCLUDE_SCHEMA_DESCRIPTION }
|
|
2700
2710
|
},
|
|
2701
|
-
|
|
2711
|
+
additionalProperties: false
|
|
2702
2712
|
}
|
|
2703
2713
|
},
|
|
2704
2714
|
{
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
},
|
|
2714
|
-
"tool": {
|
|
2715
|
-
"type": "string",
|
|
2716
|
-
"description": "Tool name declared by that app's manifest."
|
|
2717
|
-
},
|
|
2718
|
-
"input": {
|
|
2719
|
-
"type": "object",
|
|
2720
|
-
"additionalProperties": true,
|
|
2721
|
-
"description": "Arguments for the app tool. Validated against the tool's inputSchema at dispatch time."
|
|
2722
|
-
}
|
|
2715
|
+
name: "miniapp_call",
|
|
2716
|
+
description: MINIAPP_CALL_DESCRIPTION,
|
|
2717
|
+
inputSchema: {
|
|
2718
|
+
type: "object",
|
|
2719
|
+
properties: {
|
|
2720
|
+
appId: { type: "string", description: MINIAPP_CALL_APP_ID_DESCRIPTION },
|
|
2721
|
+
tool: { type: "string", description: MINIAPP_CALL_TOOL_DESCRIPTION },
|
|
2722
|
+
input: { type: "object", additionalProperties: true, description: MINIAPP_CALL_INPUT_DESCRIPTION }
|
|
2723
2723
|
},
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2724
|
+
required: ["appId", "tool"],
|
|
2725
|
+
additionalProperties: false
|
|
2726
|
+
}
|
|
2727
|
+
},
|
|
2728
|
+
{
|
|
2729
|
+
name: "miniapp_open",
|
|
2730
|
+
description: MINIAPP_OPEN_DESCRIPTION,
|
|
2731
|
+
inputSchema: {
|
|
2732
|
+
type: "object",
|
|
2733
|
+
properties: {
|
|
2734
|
+
appId: { type: "string", description: MINIAPP_OPEN_APP_ID_DESCRIPTION }
|
|
2735
|
+
},
|
|
2736
|
+
required: ["appId"],
|
|
2737
|
+
additionalProperties: false
|
|
2729
2738
|
}
|
|
2730
2739
|
}
|
|
2731
2740
|
];
|
|
@@ -4562,7 +4571,7 @@ var init_host_action_terminal_descriptors = __esm({
|
|
|
4562
4571
|
});
|
|
4563
4572
|
|
|
4564
4573
|
// ../../packages/shared/src/layout-control.ts
|
|
4565
|
-
var LAYOUT_ACT_ACTIONS;
|
|
4574
|
+
var LAYOUT_ACT_ACTIONS, LAYOUT_DIRECTIONS, LAYOUT_CHAT_MODES, LAYOUT_CHAT_POSITIONS;
|
|
4566
4575
|
var init_layout_control = __esm({
|
|
4567
4576
|
"../../packages/shared/src/layout-control.ts"() {
|
|
4568
4577
|
"use strict";
|
|
@@ -4570,7 +4579,8 @@ var init_layout_control = __esm({
|
|
|
4570
4579
|
"open_file",
|
|
4571
4580
|
"focus_tab",
|
|
4572
4581
|
"close_tab",
|
|
4573
|
-
"
|
|
4582
|
+
"move_tab",
|
|
4583
|
+
"resize_group",
|
|
4574
4584
|
"show_panel",
|
|
4575
4585
|
"hide_panel",
|
|
4576
4586
|
"maximize_panel",
|
|
@@ -4578,11 +4588,17 @@ var init_layout_control = __esm({
|
|
|
4578
4588
|
"panel_side",
|
|
4579
4589
|
"show_sidebar",
|
|
4580
4590
|
"hide_sidebar",
|
|
4591
|
+
"resize_sidebar",
|
|
4592
|
+
"resize_panel",
|
|
4593
|
+
"chat_mode",
|
|
4581
4594
|
"show_terminal",
|
|
4582
4595
|
"hide_terminal",
|
|
4583
4596
|
"split_session",
|
|
4584
4597
|
"close_split"
|
|
4585
4598
|
];
|
|
4599
|
+
LAYOUT_DIRECTIONS = ["right", "down", "left", "up", "into"];
|
|
4600
|
+
LAYOUT_CHAT_MODES = ["docked", "floating", "icon"];
|
|
4601
|
+
LAYOUT_CHAT_POSITIONS = ["top-left", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left"];
|
|
4586
4602
|
}
|
|
4587
4603
|
});
|
|
4588
4604
|
|
|
@@ -4609,9 +4625,15 @@ var init_host_action_layout_descriptors = __esm({
|
|
|
4609
4625
|
path: { type: "string", description: LAYOUT_ACT_PATH_DESCRIPTION },
|
|
4610
4626
|
line: { type: "integer", minimum: 1, description: LAYOUT_ACT_LINE_DESCRIPTION },
|
|
4611
4627
|
tab: { type: "string", description: LAYOUT_ACT_TAB_DESCRIPTION },
|
|
4612
|
-
|
|
4628
|
+
group: { type: "integer", minimum: 0, description: LAYOUT_ACT_GROUP_DESCRIPTION },
|
|
4629
|
+
direction: { type: "string", enum: [...LAYOUT_DIRECTIONS], description: LAYOUT_ACT_DIRECTION_DESCRIPTION },
|
|
4630
|
+
index: { type: "integer", minimum: 0, description: LAYOUT_ACT_INDEX_DESCRIPTION },
|
|
4613
4631
|
side: { type: "string", enum: ["left", "right"], description: "panel_side." },
|
|
4614
|
-
sessionId: { type: "string", description: LAYOUT_ACT_SESSION_DESCRIPTION }
|
|
4632
|
+
sessionId: { type: "string", description: LAYOUT_ACT_SESSION_DESCRIPTION },
|
|
4633
|
+
width: { type: "integer", minimum: 1, description: LAYOUT_ACT_WIDTH_DESCRIPTION },
|
|
4634
|
+
height: { type: "integer", minimum: 1, description: LAYOUT_ACT_HEIGHT_DESCRIPTION },
|
|
4635
|
+
mode: { type: "string", enum: [...LAYOUT_CHAT_MODES], description: LAYOUT_ACT_MODE_DESCRIPTION },
|
|
4636
|
+
position: { type: "string", enum: [...LAYOUT_CHAT_POSITIONS], description: LAYOUT_ACT_POSITION_DESCRIPTION }
|
|
4615
4637
|
},
|
|
4616
4638
|
required: ["action"],
|
|
4617
4639
|
additionalProperties: false
|
|
@@ -10118,6 +10140,9 @@ var init_tool_ui = __esm({
|
|
|
10118
10140
|
HIDDEN_SUPERONE_MCP_TOOLS = /* @__PURE__ */ new Set([
|
|
10119
10141
|
"session_rename",
|
|
10120
10142
|
"session_tag_list",
|
|
10143
|
+
// Layout changes show on screen; a row for them reads as plumbing.
|
|
10144
|
+
"layout_snapshot",
|
|
10145
|
+
"layout_act",
|
|
10121
10146
|
"session_collab_list_agents",
|
|
10122
10147
|
"session_list_agents",
|
|
10123
10148
|
"miniapp_list"
|
|
@@ -33859,9 +33884,9 @@ var init_server_request = __esm({
|
|
|
33859
33884
|
});
|
|
33860
33885
|
|
|
33861
33886
|
// ../../packages/codex/src/sandbox-policy.ts
|
|
33862
|
-
import { isAbsolute as
|
|
33887
|
+
import { isAbsolute as isAbsolute6, resolve as resolve13 } from "node:path";
|
|
33863
33888
|
function resolveCodexWritableRoots(cwd, additionalDirectories = []) {
|
|
33864
|
-
const roots = [cwd, ...additionalDirectories].filter((dir) => dir.trim().length > 0).map((dir) =>
|
|
33889
|
+
const roots = [cwd, ...additionalDirectories].filter((dir) => dir.trim().length > 0).map((dir) => isAbsolute6(dir) ? resolve13(dir) : resolve13(cwd, dir));
|
|
33865
33890
|
return Array.from(new Set(roots));
|
|
33866
33891
|
}
|
|
33867
33892
|
function buildCodexWorkspaceWriteSandboxPolicy(cwd, additionalDirectories = [], options = {}) {
|
|
@@ -45512,7 +45537,7 @@ var init_managed_official = __esm({
|
|
|
45512
45537
|
"../../packages/runtime/src/harness/managed-official.ts"() {
|
|
45513
45538
|
"use strict";
|
|
45514
45539
|
init_managed_layout();
|
|
45515
|
-
OFFICIAL_CLAUDE_SDK_VERSION = "0.3.
|
|
45540
|
+
OFFICIAL_CLAUDE_SDK_VERSION = "0.3.300";
|
|
45516
45541
|
OFFICIAL_CODEX_NPM_VERSION = "0.162.1";
|
|
45517
45542
|
OFFICIAL_CODEX_PACKAGE = "@openai/codex";
|
|
45518
45543
|
}
|
|
@@ -49441,7 +49466,7 @@ var init_runtime_ready = __esm({
|
|
|
49441
49466
|
|
|
49442
49467
|
// ../../packages/runtime/src/harness/enable.ts
|
|
49443
49468
|
import { accessSync as accessSync3, constants as constants3, existsSync as existsSync40, realpathSync as realpathSync10, statSync as statSync15 } from "node:fs";
|
|
49444
|
-
import { isAbsolute as
|
|
49469
|
+
import { isAbsolute as isAbsolute7, resolve as resolve16 } from "node:path";
|
|
49445
49470
|
async function enableHarness(manager, input, deps) {
|
|
49446
49471
|
const id = input.harnessId;
|
|
49447
49472
|
if (!isNodeHarnessId(id)) throw new Error(`unknown harnessId: ${id}`);
|
|
@@ -49656,7 +49681,7 @@ function enableAcpGrok(manager, opts) {
|
|
|
49656
49681
|
});
|
|
49657
49682
|
}
|
|
49658
49683
|
function requireRegularReadableFile(path) {
|
|
49659
|
-
if (!
|
|
49684
|
+
if (!isAbsolute7(path)) {
|
|
49660
49685
|
throw new Error(`path must be absolute: ${path}`);
|
|
49661
49686
|
}
|
|
49662
49687
|
const abs = resolve16(path);
|
|
@@ -49668,7 +49693,7 @@ function requireRegularReadableFile(path) {
|
|
|
49668
49693
|
}
|
|
49669
49694
|
function resolveExternalCommand(explicit, searchNames, options = {}) {
|
|
49670
49695
|
if (explicit) {
|
|
49671
|
-
const abs =
|
|
49696
|
+
const abs = isAbsolute7(explicit) ? explicit : resolve16(explicit);
|
|
49672
49697
|
if (!existsSync40(abs)) return null;
|
|
49673
49698
|
try {
|
|
49674
49699
|
if (!statSync15(abs).isFile()) return null;
|
|
@@ -83245,7 +83270,7 @@ var init_sqlite_backup = __esm({
|
|
|
83245
83270
|
import { createHash as createHash16, randomUUID as randomUUID14 } from "node:crypto";
|
|
83246
83271
|
import { existsSync as existsSync45, mkdirSync as mkdirSync22, readdirSync as readdirSync15, renameSync as renameSync8, rmSync as rmSync10, chmodSync as chmodSync2 } from "node:fs";
|
|
83247
83272
|
import { homedir as homedir15 } from "node:os";
|
|
83248
|
-
import { isAbsolute as
|
|
83273
|
+
import { isAbsolute as isAbsolute8, join as join41 } from "node:path";
|
|
83249
83274
|
import Database3 from "better-sqlite3";
|
|
83250
83275
|
function nativeDatabasePath(home, sessionId) {
|
|
83251
83276
|
return join41(home, "databases", `${createHash16("sha256").update(sessionId).digest("hex")}.db`);
|
|
@@ -83293,7 +83318,7 @@ function prepareNativeDatabase(home, sessionId, env, nativeId) {
|
|
|
83293
83318
|
}
|
|
83294
83319
|
const data = join41(env.XDG_DATA_HOME ?? process.env.XDG_DATA_HOME ?? join41(homedir15(), ".local", "share"), "opencode");
|
|
83295
83320
|
const configured = env.OPENCODE_DB ?? process.env.OPENCODE_DB;
|
|
83296
|
-
const originals = configured && configured !== ":memory:" ? [
|
|
83321
|
+
const originals = configured && configured !== ":memory:" ? [isAbsolute8(configured) ? configured : join41(data, configured)] : existsSync45(data) ? readdirSync15(data).filter((name) => /^opencode(?:-[\w.-]+)?\.db$/.test(name)).map((name) => join41(data, name)) : [];
|
|
83297
83322
|
const caches = readdirSync15(directory).filter((name) => name.endsWith(".db")).map((name) => join41(directory, name));
|
|
83298
83323
|
const sources = [...originals, ...caches].filter((path) => path !== target && existsSync45(path));
|
|
83299
83324
|
const source = nativeId ? sources.find((path) => containsSession(path, nativeId)) : originals.find((path) => existsSync45(path));
|
|
@@ -98607,12 +98632,13 @@ var SUPERONE_TOOL_SUMMARY_FIELDS = {
|
|
|
98607
98632
|
// The card, never the brief: the phone cannot launch it.
|
|
98608
98633
|
session_suggest_task: ["title", "tldr"],
|
|
98609
98634
|
// The layout row's verb and subject; the row reads file names out of `tab`.
|
|
98610
|
-
layout_act: ["action", "path", "line", "side", "tab"],
|
|
98635
|
+
layout_act: ["action", "path", "line", "side", "tab", "width", "height", "mode", "position"],
|
|
98611
98636
|
miniapp_dev_register: ["name", "directory", "appDir"],
|
|
98612
98637
|
miniapp_dev_update_types: ["appDir"],
|
|
98613
98638
|
miniapp_dev_setup: ["name", "directory", "description"],
|
|
98614
98639
|
miniapp_dev_preview: ["tool", "phase"],
|
|
98615
|
-
miniapp_dev_reload: ["appId"]
|
|
98640
|
+
miniapp_dev_reload: ["appId"],
|
|
98641
|
+
miniapp_open: ["appId"]
|
|
98616
98642
|
};
|
|
98617
98643
|
function sanitizeSessionTagInput(source) {
|
|
98618
98644
|
const safe = {};
|
|
@@ -101713,7 +101739,7 @@ var SESSION_OPERATION_HANDLERS = Object.fromEntries([
|
|
|
101713
101739
|
]);
|
|
101714
101740
|
|
|
101715
101741
|
// ../../packages/runtime/src/server/rpc-dispatch.ts
|
|
101716
|
-
import { dirname as configDirname, join as pathJoin, resolve as pathResolve2, sep as sep5 } from "node:path";
|
|
101742
|
+
import { dirname as configDirname, isAbsolute as isAbsolute5, join as pathJoin, resolve as pathResolve2, sep as sep5 } from "node:path";
|
|
101717
101743
|
|
|
101718
101744
|
// ../../packages/runtime/src/server/rpc-session-create.ts
|
|
101719
101745
|
init_environment();
|
|
@@ -108316,7 +108342,15 @@ function handleSessionSetUiFlags(payload, ctx) {
|
|
|
108316
108342
|
return mapThrown(err);
|
|
108317
108343
|
}
|
|
108318
108344
|
}
|
|
108319
|
-
function attachmentOriginal(
|
|
108345
|
+
function attachmentOriginal(ctx, sessionId, path) {
|
|
108346
|
+
if (ctx.sameHost) {
|
|
108347
|
+
try {
|
|
108348
|
+
return typeof path === "string" && isAbsolute5(path) && statSync9(path).isFile() ? path : null;
|
|
108349
|
+
} catch {
|
|
108350
|
+
return null;
|
|
108351
|
+
}
|
|
108352
|
+
}
|
|
108353
|
+
const zone = ctx.artifacts;
|
|
108320
108354
|
if (!zone) return null;
|
|
108321
108355
|
const prefix = pathJoin(zone.syncRoot, sessionId) + sep5;
|
|
108322
108356
|
if (typeof path !== "string" || !path.startsWith(prefix)) return null;
|
|
@@ -108364,7 +108398,7 @@ async function handleSessionSend(payload, ctx) {
|
|
|
108364
108398
|
}).filter((x2) => x2 != null).slice(0, 8);
|
|
108365
108399
|
for (const image of images) {
|
|
108366
108400
|
if (image.originalPath === void 0) continue;
|
|
108367
|
-
const original = attachmentOriginal(ctx
|
|
108401
|
+
const original = attachmentOriginal(ctx, String(p3.sessionId ?? ""), image.originalPath);
|
|
108368
108402
|
if (!original) return { error: { code: "invalid_argument", message: "attachment original must be a file in this session's sync zone" } };
|
|
108369
108403
|
image.originalPath = original;
|
|
108370
108404
|
}
|
|
@@ -128486,7 +128520,7 @@ init_environment();
|
|
|
128486
128520
|
init_config();
|
|
128487
128521
|
init_harness();
|
|
128488
128522
|
import { accessSync as accessSync4, constants as constants6, existsSync as existsSync55, realpathSync as realpathSync13, statSync as statSync19 } from "node:fs";
|
|
128489
|
-
import { isAbsolute as
|
|
128523
|
+
import { isAbsolute as isAbsolute9, resolve as resolve19 } from "node:path";
|
|
128490
128524
|
import { homedir as homedir18 } from "node:os";
|
|
128491
128525
|
|
|
128492
128526
|
// src/session/managed-harness-release.ts
|
|
@@ -128984,7 +129018,7 @@ function buildPublicConfigSummary(id, configJson, status2) {
|
|
|
128984
129018
|
}
|
|
128985
129019
|
const out = {};
|
|
128986
129020
|
if (id === "claude" || id === "codex") {
|
|
128987
|
-
if (typeof parsed.artifactPath === "string" &&
|
|
129021
|
+
if (typeof parsed.artifactPath === "string" && isAbsolute9(parsed.artifactPath)) {
|
|
128988
129022
|
out.artifactPath = parsed.artifactPath;
|
|
128989
129023
|
}
|
|
128990
129024
|
if (parsed.source === "offline-artifact") out.source = "offline-artifact";
|
|
@@ -128994,14 +129028,14 @@ function buildPublicConfigSummary(id, configJson, status2) {
|
|
|
128994
129028
|
out.digestSha256 = parsed.digestSha256;
|
|
128995
129029
|
}
|
|
128996
129030
|
} else if (id === "opencode") {
|
|
128997
|
-
if (typeof parsed.command === "string" &&
|
|
129031
|
+
if (typeof parsed.command === "string" && isAbsolute9(parsed.command)) {
|
|
128998
129032
|
out.command = parsed.command;
|
|
128999
129033
|
}
|
|
129000
129034
|
if (typeof parsed.serverUrl === "string") {
|
|
129001
129035
|
out.serverUrl = redactServerUrlForDisplay(parsed.serverUrl);
|
|
129002
129036
|
}
|
|
129003
129037
|
} else if (id === "acp-grok") {
|
|
129004
|
-
if (typeof parsed.command === "string" &&
|
|
129038
|
+
if (typeof parsed.command === "string" && isAbsolute9(parsed.command)) {
|
|
129005
129039
|
out.command = parsed.command;
|
|
129006
129040
|
}
|
|
129007
129041
|
if (Array.isArray(parsed.args)) {
|
|
@@ -129015,7 +129049,7 @@ function buildPublicConfigSummary(id, configJson, status2) {
|
|
|
129015
129049
|
}
|
|
129016
129050
|
function resolveExternalCommand2(explicit, pathCandidates) {
|
|
129017
129051
|
if (explicit) {
|
|
129018
|
-
if (!
|
|
129052
|
+
if (!isAbsolute9(explicit)) {
|
|
129019
129053
|
return null;
|
|
129020
129054
|
}
|
|
129021
129055
|
return isUsableExecutable(explicit);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@super-one/cli",
|
|
3
|
-
"version": "0.74.0-alpha",
|
|
3
|
+
"version": "0.74.0-alpha.1",
|
|
4
4
|
"description": "SuperOne headless node CLI — remote execution environment (RPC, workspaces, sessions).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "BUSL-1.1",
|
|
@@ -25,20 +25,20 @@
|
|
|
25
25
|
"directory": "apps/cli"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@anthropic-ai/claude-agent-sdk": "0.3.
|
|
28
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.300",
|
|
29
29
|
"@cursor/sdk": "1.0.30",
|
|
30
30
|
"better-sqlite3": "^13.0.1",
|
|
31
31
|
"node-pty": "^1.0.0"
|
|
32
32
|
},
|
|
33
33
|
"optionalDependencies": {
|
|
34
|
-
"@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.
|
|
35
|
-
"@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.
|
|
36
|
-
"@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.
|
|
37
|
-
"@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.
|
|
38
|
-
"@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.
|
|
39
|
-
"@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.
|
|
40
|
-
"@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.
|
|
41
|
-
"@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.
|
|
34
|
+
"@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.300",
|
|
35
|
+
"@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.300",
|
|
36
|
+
"@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.300",
|
|
37
|
+
"@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.300",
|
|
38
|
+
"@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.300",
|
|
39
|
+
"@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.300",
|
|
40
|
+
"@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.300",
|
|
41
|
+
"@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.300",
|
|
42
42
|
"@cursor/sdk-darwin-arm64": "1.0.30",
|
|
43
43
|
"@cursor/sdk-darwin-x64": "1.0.30",
|
|
44
44
|
"@cursor/sdk-linux-arm64": "1.0.30",
|