@super-one/cli 0.55.0-alpha → 0.55.2-alpha
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 +59 -32
- package/package.json +1 -1
package/MANIFEST.json
CHANGED
package/lib/cli.mjs
CHANGED
|
@@ -171,7 +171,7 @@ var init_host_action_superone_descriptors = __esm({
|
|
|
171
171
|
HOST_ACTION_SUPERONE_TOOL_DESCRIPTORS = [
|
|
172
172
|
{
|
|
173
173
|
"name": "session_collab_list_agents",
|
|
174
|
-
"description": "List the agent profiles available for user-approved child sessions. Inspect each profile's harness and defaultConfig before session_collab_request. You may reuse one agentId for multiple launches.",
|
|
174
|
+
"description": "List the agent profiles available for user-approved child sessions. Only launchable agents are returned. Inspect each profile's harness and defaultConfig before session_collab_request. You may reuse one agentId for multiple launches. Skip this call when the user already named an agent with @ \u2014 that mention carries its agentId.",
|
|
175
175
|
"inputSchema": {
|
|
176
176
|
"type": "object",
|
|
177
177
|
"properties": {},
|
|
@@ -23331,17 +23331,12 @@ function getBuiltinCapability(id) {
|
|
|
23331
23331
|
function stripCapabilityMarkup(text) {
|
|
23332
23332
|
return text.replace(CAPABILITY_REMINDER_REGEX, "").replace(CAPABILITY_TAG_REGEX, (_2, name) => `@${String(name).trim()}`).replace(/\s+/g, " ").trim();
|
|
23333
23333
|
}
|
|
23334
|
-
var BUILTIN_CAPABILITIES, BUILTIN_CAPABILITY_IDS, byId, CAPABILITY_TAG_REGEX, CAPABILITY_REMINDER_REGEX;
|
|
23334
|
+
var LEGACY_CAPABILITY_IDS, BUILTIN_CAPABILITIES, BUILTIN_CAPABILITY_IDS, byId, legacyIds, CAPABILITY_TAG_REGEX, CAPABILITY_REMINDER_REGEX;
|
|
23335
23335
|
var init_capability_prompt_tags = __esm({
|
|
23336
23336
|
"../../packages/shared/src/capability-prompt-tags.ts"() {
|
|
23337
23337
|
"use strict";
|
|
23338
|
+
LEGACY_CAPABILITY_IDS = ["collab"];
|
|
23338
23339
|
BUILTIN_CAPABILITIES = [
|
|
23339
|
-
{
|
|
23340
|
-
id: "collab",
|
|
23341
|
-
displayName: "Agents Collaboration",
|
|
23342
|
-
intent: "spawn and coordinate child agent sessions via collaboration tools",
|
|
23343
|
-
toolPrefix: "session_collab_"
|
|
23344
|
-
},
|
|
23345
23340
|
{
|
|
23346
23341
|
id: "computer",
|
|
23347
23342
|
displayName: "Computer Use",
|
|
@@ -23369,6 +23364,7 @@ var init_capability_prompt_tags = __esm({
|
|
|
23369
23364
|
];
|
|
23370
23365
|
BUILTIN_CAPABILITY_IDS = BUILTIN_CAPABILITIES.map((c) => c.id);
|
|
23371
23366
|
byId = new Map(BUILTIN_CAPABILITIES.map((c) => [c.id, c]));
|
|
23367
|
+
legacyIds = new Set(LEGACY_CAPABILITY_IDS);
|
|
23372
23368
|
CAPABILITY_TAG_REGEX = /<superone-capability>\s*<name>([\s\S]*?)<\/name>\s*<id>([\s\S]*?)<\/id>\s*<\/superone-capability>/g;
|
|
23373
23369
|
CAPABILITY_REMINDER_REGEX = /\n*<superone-capability-reminder>[\s\S]*?<\/superone-capability-reminder>\n*/g;
|
|
23374
23370
|
}
|
|
@@ -69753,8 +69749,8 @@ import { fileURLToPath } from "node:url";
|
|
|
69753
69749
|
function resolveCliReleaseVersion() {
|
|
69754
69750
|
const fromEnv = process.env.SUPERONE_CLI_VERSION?.trim();
|
|
69755
69751
|
if (fromEnv) return fromEnv;
|
|
69756
|
-
if ("0.55.
|
|
69757
|
-
return "0.55.
|
|
69752
|
+
if ("0.55.2-alpha".trim()) {
|
|
69753
|
+
return "0.55.2-alpha".trim();
|
|
69758
69754
|
}
|
|
69759
69755
|
const fromDist = readDistManifestVersion();
|
|
69760
69756
|
if (fromDist) return fromDist;
|
|
@@ -79626,10 +79622,45 @@ init_codex_turn_runner();
|
|
|
79626
79622
|
// src/session/collaboration.ts
|
|
79627
79623
|
init_agent_types();
|
|
79628
79624
|
init_environment();
|
|
79629
|
-
init_resolve_service();
|
|
79630
79625
|
import { createHash as createHash9, randomBytes as randomBytes5, randomUUID as randomUUID10 } from "node:crypto";
|
|
79631
79626
|
import { existsSync as existsSync39, statSync as statSync15 } from "node:fs";
|
|
79632
79627
|
import { resolve as pathResolve2 } from "node:path";
|
|
79628
|
+
|
|
79629
|
+
// ../../packages/shared/src/harness/acp-brand.ts
|
|
79630
|
+
function isGrokAcpAgent(agentId) {
|
|
79631
|
+
if (!agentId) return false;
|
|
79632
|
+
const id = agentId.toLowerCase();
|
|
79633
|
+
return id.includes("grok");
|
|
79634
|
+
}
|
|
79635
|
+
function isOpenCodeAcpAgent(agentId) {
|
|
79636
|
+
if (!agentId) return false;
|
|
79637
|
+
return agentId.toLowerCase().includes("opencode");
|
|
79638
|
+
}
|
|
79639
|
+
function resolveHarnessBrandKey(harnessId, acpAgentId) {
|
|
79640
|
+
if (!harnessId) return "claude";
|
|
79641
|
+
if (harnessId !== "acp") return harnessId;
|
|
79642
|
+
if (isGrokAcpAgent(acpAgentId)) return "acp-grok";
|
|
79643
|
+
if (isOpenCodeAcpAgent(acpAgentId)) return "acp-opencode";
|
|
79644
|
+
if (acpAgentId?.trim()) {
|
|
79645
|
+
const short = acpAgentId.trim().toLowerCase().replace(/-build$/, "").replace(/[^a-z0-9]+/g, "-");
|
|
79646
|
+
return short ? `acp-${short}` : "acp";
|
|
79647
|
+
}
|
|
79648
|
+
return "acp";
|
|
79649
|
+
}
|
|
79650
|
+
function acpAgentDisplayName(agentId, catalogName) {
|
|
79651
|
+
if (catalogName?.trim()) {
|
|
79652
|
+
return catalogName.trim().replace(/\s+Build$/i, "");
|
|
79653
|
+
}
|
|
79654
|
+
if (isGrokAcpAgent(agentId)) return "Grok";
|
|
79655
|
+
if (isOpenCodeAcpAgent(agentId)) return "OpenCode";
|
|
79656
|
+
if (agentId?.trim()) {
|
|
79657
|
+
return agentId.trim().replace(/-build$/i, "").split(/[-_]/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(" ");
|
|
79658
|
+
}
|
|
79659
|
+
return "ACP";
|
|
79660
|
+
}
|
|
79661
|
+
|
|
79662
|
+
// src/session/collaboration.ts
|
|
79663
|
+
init_resolve_service();
|
|
79633
79664
|
var MAX_MESSAGES_PER_RETRIEVE = 100;
|
|
79634
79665
|
var EMPTY_MAILBOX_HINT = "No peer has replied yet. Do not retrieve again, do not sleep, do not wait in place \u2014 end your turn or do unrelated work. A task notification will start a new turn for you as soon as a message arrives.";
|
|
79635
79666
|
function hashCredential(credential) {
|
|
@@ -79642,6 +79673,12 @@ function parseConfig(raw) {
|
|
|
79642
79673
|
return {};
|
|
79643
79674
|
}
|
|
79644
79675
|
}
|
|
79676
|
+
function resolveProfile(profiles, agentId) {
|
|
79677
|
+
const direct = profiles.get(agentId);
|
|
79678
|
+
if (direct) return direct;
|
|
79679
|
+
const wire = normalizeSessionHarnessId(agentId);
|
|
79680
|
+
return wire ? profiles.get(`${wire}-base`) : void 0;
|
|
79681
|
+
}
|
|
79645
79682
|
function resolveLaunchMode(raw) {
|
|
79646
79683
|
if (raw === "link") return "link";
|
|
79647
79684
|
if (raw === "handoff") return "handoff";
|
|
@@ -79696,9 +79733,7 @@ var CollaborationService = class {
|
|
|
79696
79733
|
};
|
|
79697
79734
|
const pushProfile = (profileId, harnessId, name, description, profileConfig) => {
|
|
79698
79735
|
if (seen.has(profileId)) return;
|
|
79699
|
-
if (harnessId
|
|
79700
|
-
return;
|
|
79701
|
-
}
|
|
79736
|
+
if (!harnesses.isSessionHarnessRunnable(harnessId)) return;
|
|
79702
79737
|
seen.add(profileId);
|
|
79703
79738
|
const models = listHarnessModels(providers, harnessId, null, providerOptions).map((m2) => ({
|
|
79704
79739
|
id: m2.id,
|
|
@@ -79713,13 +79748,15 @@ var CollaborationService = class {
|
|
|
79713
79748
|
const cfg = profileConfig && typeof profileConfig === "object" && !Array.isArray(profileConfig) ? profileConfig : {};
|
|
79714
79749
|
const cfgModel = typeof cfg.model === "string" && cfg.model.trim() ? cfg.model.trim() : void 0;
|
|
79715
79750
|
const cfgEffort = typeof cfg.effort === "string" && cfg.effort.trim() ? cfg.effort.trim() : typeof cfg.reasoningEffort === "string" && cfg.reasoningEffort.trim() ? cfg.reasoningEffort.trim() : void 0;
|
|
79751
|
+
const acpAgentId = harnessId === "acp" && typeof cfg.agentId === "string" && cfg.agentId.trim() ? cfg.agentId.trim() : null;
|
|
79716
79752
|
const modelDefault = cfgModel ?? defaultModel?.id;
|
|
79717
79753
|
const effortDefault = cfgEffort ?? (efforts.has("high") ? "high" : efforts.has("medium") ? "medium" : efforts.size > 0 ? [...efforts][0] : void 0);
|
|
79718
79754
|
profiles.push({
|
|
79719
79755
|
id: profileId,
|
|
79720
|
-
name,
|
|
79756
|
+
name: harnessId === "acp" ? acpAgentDisplayName(acpAgentId) : name,
|
|
79721
79757
|
harnessId,
|
|
79722
|
-
|
|
79758
|
+
...acpAgentId ? { acpAgentId } : {},
|
|
79759
|
+
brandKey: resolveHarnessBrandKey(harnessId, acpAgentId),
|
|
79723
79760
|
description,
|
|
79724
79761
|
defaultConfig: {
|
|
79725
79762
|
...modelDefault ? { model: modelDefault } : {},
|
|
@@ -79739,25 +79776,12 @@ var CollaborationService = class {
|
|
|
79739
79776
|
p2.isBase ? `${p2.harnessId} harness with the built-in configuration` : `Custom ${p2.harnessId} profile`,
|
|
79740
79777
|
p2.config
|
|
79741
79778
|
);
|
|
79742
|
-
if (p2.isBase && p2.id === `${p2.harnessId}-base`) {
|
|
79743
|
-
pushProfile(
|
|
79744
|
-
p2.harnessId,
|
|
79745
|
-
p2.harnessId,
|
|
79746
|
-
p2.harnessId,
|
|
79747
|
-
`${p2.harnessId} harness`,
|
|
79748
|
-
p2.config
|
|
79749
|
-
);
|
|
79750
|
-
}
|
|
79751
79779
|
}
|
|
79752
79780
|
}
|
|
79753
79781
|
if (profiles.length === 0) {
|
|
79754
|
-
const
|
|
79755
|
-
const seedIds = new Set(
|
|
79756
|
-
ready.size > 0 ? [...ready] : NODE_HARNESS_DEFINITIONS.map((d) => d.sessionHarnessId)
|
|
79757
|
-
);
|
|
79782
|
+
const seedIds = new Set(harnesses.readySessionHarnessIds());
|
|
79758
79783
|
for (const s2 of sessions.list()) {
|
|
79759
79784
|
if (s2.harnessId) seedIds.add(s2.harnessId);
|
|
79760
|
-
if (s2.providerId) seedIds.add(s2.providerId);
|
|
79761
79785
|
}
|
|
79762
79786
|
for (const id of seedIds) {
|
|
79763
79787
|
const harnessId = normalizeSessionHarnessId(id) ?? id;
|
|
@@ -79862,7 +79886,7 @@ var CollaborationService = class {
|
|
|
79862
79886
|
{ code: "invalid_argument" }
|
|
79863
79887
|
);
|
|
79864
79888
|
}
|
|
79865
|
-
const profile = profiles
|
|
79889
|
+
const profile = resolveProfile(profiles, agentId);
|
|
79866
79890
|
if (!profile) {
|
|
79867
79891
|
throw Object.assign(new Error(`Unknown agent profile: ${agentId}`), {
|
|
79868
79892
|
code: "invalid_argument"
|
|
@@ -80238,7 +80262,10 @@ var CollaborationService = class {
|
|
|
80238
80262
|
});
|
|
80239
80263
|
cwd = wt.path;
|
|
80240
80264
|
}
|
|
80241
|
-
const profile =
|
|
80265
|
+
const profile = resolveProfile(
|
|
80266
|
+
new Map(this.listProfiles().map((p2) => [p2.id, p2])),
|
|
80267
|
+
grant.agent_id
|
|
80268
|
+
);
|
|
80242
80269
|
const harnessId = profile?.harnessId ?? normalizeSessionHarnessId(grant.agent_id) ?? "claude";
|
|
80243
80270
|
const displayName = deriveCollaborationName({ name: config2.name });
|
|
80244
80271
|
const role = deriveCollaborationRole({ role: config2.role, task: grant.task });
|
package/package.json
CHANGED