@agentsky/sky 2.27.0 → 2.28.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/{chunk-CGBZMNTO.js → chunk-5OBCA2MM.js} +2 -2
- package/dist/{chunk-HWDI7WA5.js → chunk-ABDGMJYV.js} +1 -1
- package/dist/{chunk-FRZEEUWH.js → chunk-OFH52W34.js} +25 -25
- package/dist/index.js +32 -11
- package/dist/{src-UWCEYDU6.js → src-XZOV6WUV.js} +1 -1
- package/dist/{trace-L26WH5K6.js → trace-6KAXVDDM.js} +2 -2
- package/dist/{trace-library-HLDGAMIU.js → trace-library-C7ZM4BA2.js} +3 -3
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
apiBase,
|
|
4
4
|
apiToken,
|
|
5
5
|
currentUniverse
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ABDGMJYV.js";
|
|
7
7
|
|
|
8
8
|
// src/api.ts
|
|
9
9
|
import { createWriteStream, writeFileSync } from "fs";
|
|
@@ -149,7 +149,7 @@ async function resolveSessionRef(ref) {
|
|
|
149
149
|
return agent.defaultSessionId;
|
|
150
150
|
}
|
|
151
151
|
async function* streamEvents(sessionId, signal) {
|
|
152
|
-
const { parseSseStream } = await import("./src-
|
|
152
|
+
const { parseSseStream } = await import("./src-XZOV6WUV.js");
|
|
153
153
|
const res = await fetch(
|
|
154
154
|
`${apiBase()}/sessions/${encodeURIComponent(sessionId)}/stream`,
|
|
155
155
|
{
|
|
@@ -19069,14 +19069,14 @@ var CATALOG_MODELS = [
|
|
|
19069
19069
|
"tiers": [
|
|
19070
19070
|
{
|
|
19071
19071
|
"maxPromptTokens": 1048576,
|
|
19072
|
-
"input": 0.
|
|
19073
|
-
"output": 2.
|
|
19074
|
-
"cachedInput": 0.
|
|
19072
|
+
"input": 0.967857,
|
|
19073
|
+
"output": 2.902411,
|
|
19074
|
+
"cachedInput": 0.048741
|
|
19075
19075
|
}
|
|
19076
19076
|
],
|
|
19077
19077
|
"maxPrice": {
|
|
19078
|
-
"prompt": 0.
|
|
19079
|
-
"completion": 2.
|
|
19078
|
+
"prompt": 0.9174,
|
|
19079
|
+
"completion": 2.7511
|
|
19080
19080
|
},
|
|
19081
19081
|
"reasoningEfforts": [
|
|
19082
19082
|
"none",
|
|
@@ -19101,14 +19101,14 @@ var CATALOG_MODELS = [
|
|
|
19101
19101
|
"tiers": [
|
|
19102
19102
|
{
|
|
19103
19103
|
"maxPromptTokens": 1048576,
|
|
19104
|
-
"input": 0.
|
|
19105
|
-
"output": 0.
|
|
19106
|
-
"cachedInput":
|
|
19104
|
+
"input": 0.06963,
|
|
19105
|
+
"output": 0.20889,
|
|
19106
|
+
"cachedInput": 0.017408
|
|
19107
19107
|
}
|
|
19108
19108
|
],
|
|
19109
19109
|
"maxPrice": {
|
|
19110
|
-
"prompt": 0.
|
|
19111
|
-
"completion": 0.
|
|
19110
|
+
"prompt": 0.066,
|
|
19111
|
+
"completion": 0.198
|
|
19112
19112
|
},
|
|
19113
19113
|
"reasoningEfforts": [
|
|
19114
19114
|
"none",
|
|
@@ -19134,14 +19134,14 @@ var CATALOG_MODELS = [
|
|
|
19134
19134
|
"tiers": [
|
|
19135
19135
|
{
|
|
19136
19136
|
"maxPromptTokens": 262144,
|
|
19137
|
-
"input": 0.
|
|
19138
|
-
"output": 0.
|
|
19139
|
-
"cachedInput": 0.
|
|
19137
|
+
"input": 0.153186,
|
|
19138
|
+
"output": 0.612744,
|
|
19139
|
+
"cachedInput": 0.038297
|
|
19140
19140
|
}
|
|
19141
19141
|
],
|
|
19142
19142
|
"maxPrice": {
|
|
19143
|
-
"prompt": 0.
|
|
19144
|
-
"completion": 0.
|
|
19143
|
+
"prompt": 0.1452,
|
|
19144
|
+
"completion": 0.5808
|
|
19145
19145
|
},
|
|
19146
19146
|
"reasoningEfforts": [
|
|
19147
19147
|
"none",
|
|
@@ -19774,14 +19774,14 @@ var CATALOG_MODELS = [
|
|
|
19774
19774
|
"tiers": [
|
|
19775
19775
|
{
|
|
19776
19776
|
"maxPromptTokens": 202752,
|
|
19777
|
-
"input": 1.
|
|
19778
|
-
"output": 3.
|
|
19779
|
-
"cachedInput": 0.
|
|
19777
|
+
"input": 1.121043,
|
|
19778
|
+
"output": 3.523278,
|
|
19779
|
+
"cachedInput": 0.208194
|
|
19780
19780
|
}
|
|
19781
19781
|
],
|
|
19782
19782
|
"maxPrice": {
|
|
19783
|
-
"prompt": 1.
|
|
19784
|
-
"completion": 3.
|
|
19783
|
+
"prompt": 1.0626,
|
|
19784
|
+
"completion": 3.3396
|
|
19785
19785
|
},
|
|
19786
19786
|
"reasoningEfforts": [],
|
|
19787
19787
|
"quantizations": [
|
|
@@ -19808,8 +19808,8 @@ var CATALOG_MODELS = [
|
|
|
19808
19808
|
}
|
|
19809
19809
|
],
|
|
19810
19810
|
"maxPrice": {
|
|
19811
|
-
"prompt": 0.
|
|
19812
|
-
"completion":
|
|
19811
|
+
"prompt": 0.611072,
|
|
19812
|
+
"completion": 1.920512
|
|
19813
19813
|
},
|
|
19814
19814
|
"reasoningEfforts": [
|
|
19815
19815
|
"none",
|
|
@@ -24643,11 +24643,11 @@ var GATEWAY_CAPABILITY_IDS = [
|
|
|
24643
24643
|
"dictionary.define",
|
|
24644
24644
|
"openlibrary.search",
|
|
24645
24645
|
"googledns.resolve",
|
|
24646
|
-
"qrserver.create"
|
|
24646
|
+
"qrserver.create",
|
|
24647
|
+
"recall.meeting-record"
|
|
24647
24648
|
];
|
|
24648
24649
|
var RETIRED_CAPABILITY_IDS = [
|
|
24649
|
-
"social-boost.catalog"
|
|
24650
|
-
"recall.meeting-record"
|
|
24650
|
+
"social-boost.catalog"
|
|
24651
24651
|
];
|
|
24652
24652
|
var CAPABILITY_IDS = [...LEGACY_CAPABILITY_IDS, ...GATEWAY_CAPABILITY_IDS, ...RETIRED_CAPABILITY_IDS];
|
|
24653
24653
|
var PLATFORM_CAPABILITY_IDS = ["platform.orchestration"];
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
streamEvents,
|
|
12
12
|
uploadFile,
|
|
13
13
|
writeResponseFile
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-5OBCA2MM.js";
|
|
15
15
|
import {
|
|
16
16
|
CLI_VERSION,
|
|
17
17
|
USER_AGENT,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
currentUniverse,
|
|
23
23
|
loadConfig,
|
|
24
24
|
saveConfig
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-ABDGMJYV.js";
|
|
26
26
|
import {
|
|
27
27
|
AGENT_TYPES,
|
|
28
28
|
MODEL_SUBSCRIPTION_PLAN_PHRASE,
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
skillRefSchema,
|
|
45
45
|
splitMcpServers,
|
|
46
46
|
supersededBy
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-OFH52W34.js";
|
|
48
48
|
import "./chunk-MLKGABMK.js";
|
|
49
49
|
|
|
50
50
|
// src/index.ts
|
|
@@ -6515,6 +6515,27 @@ session.command("handoff <ref> <targetAgent>").description("hand the session's c
|
|
|
6515
6515
|
if (done.target_session) console.log(`${done.target_session} (${done.resolved_mode === "native_fork" ? "forked" : "from a written summary"})`);
|
|
6516
6516
|
})
|
|
6517
6517
|
);
|
|
6518
|
+
session.command("cloud-copy <ref>").description("what is kept in the cloud for a chat synced from your own computer: its working folder and native session").option("--json", "print the raw answer").action(
|
|
6519
|
+
run(async (ref, opts) => {
|
|
6520
|
+
const id = await resolveSessionRef(ref);
|
|
6521
|
+
const read = async (path) => {
|
|
6522
|
+
try {
|
|
6523
|
+
return await api("GET", `/sessions/${encodeURIComponent(id)}/mirror/${path}`);
|
|
6524
|
+
} catch (error) {
|
|
6525
|
+
if (error instanceof ApiError && error.status === 404) return null;
|
|
6526
|
+
throw error;
|
|
6527
|
+
}
|
|
6528
|
+
};
|
|
6529
|
+
const folder = await read("environment");
|
|
6530
|
+
const native = await read("checkpoint");
|
|
6531
|
+
if (opts.json) {
|
|
6532
|
+
console.log(JSON.stringify({ folder, session: native }, null, 2));
|
|
6533
|
+
return;
|
|
6534
|
+
}
|
|
6535
|
+
console.log(folder ? `folder ${folder.name}: ${folder.files} files, ${folder.size_bytes} bytes, stored ${folder.staged_at}; restored at /workspace/${folder.name}` : "folder none stored");
|
|
6536
|
+
console.log(native ? `session ${native.harness}${native.harness_version ? ` ${native.harness_version}` : ""}: ${native.size_bytes} bytes, stored ${native.staged_at}; resumed exactly on the same agent` : "session none stored");
|
|
6537
|
+
})
|
|
6538
|
+
);
|
|
6518
6539
|
var sessionWorkspace = session.command("workspace").description("the session's workspace: list and read files, see changes, take a patch, copy a folder in");
|
|
6519
6540
|
sessionWorkspace.command("ls <ref> [path]").description("list a directory (default: the workspace root)").option("--hidden", "include dotfiles").action(
|
|
6520
6541
|
run(async (ref, path, opts) => {
|
|
@@ -8438,7 +8459,7 @@ harness.command("connect").description("run an ACP agent (the command after --)
|
|
|
8438
8459
|
}));
|
|
8439
8460
|
var traceCmd = program.command("trace").description("correlate this machine's agent work with the cloud sessions it starts (metadata only unless you choose content)");
|
|
8440
8461
|
traceCmd.command("start").description("start a trace: a grant for this machine, a root span, and the spool the hooks write to").option("--name <name>", "a name for the task").option("--source <source>", "how this machine reports itself", "claude-code").option("--hooks [settings]", "also install the Claude Code hooks (default: ./.claude/settings.local.json)").option("--capture <scopes>", "also send content, redacted on this machine first: any of prompts,tool_output,files").option("--file <path>", "a file the files scope may send (repeatable)", collect).option("--dir <path>", "a folder whose files the files scope may send when a file tool touches them (repeatable)", collect).action(run(async (opts) => {
|
|
8441
|
-
const { readState, writeState, record, installClaudeHooks, parseContentScopes, chosenPaths, fileEvent } = await import("./trace-
|
|
8462
|
+
const { readState, writeState, record, installClaudeHooks, parseContentScopes, chosenPaths, fileEvent } = await import("./trace-6KAXVDDM.js");
|
|
8442
8463
|
if (readState()) throw new Error("a trace is already running here \u2014 `sky trace stop` it first");
|
|
8443
8464
|
const scopes = parseContentScopes(opts.capture);
|
|
8444
8465
|
const chosen = chosenPaths(opts.file ?? [], opts.dir ?? []);
|
|
@@ -8473,7 +8494,7 @@ traceCmd.command("start").description("start a trace: a grant for this machine,
|
|
|
8473
8494
|
}));
|
|
8474
8495
|
traceCmd.command("hook").description("record one Claude Code hook event read from stdin (run by the installed hooks; never fails, prints nothing)").action(async () => {
|
|
8475
8496
|
try {
|
|
8476
|
-
const { readState, record, flush, grantSender, eventsForClaudeHook, contentForClaudeHook, clearState } = await import("./trace-
|
|
8497
|
+
const { readState, record, flush, grantSender, eventsForClaudeHook, contentForClaudeHook, clearState } = await import("./trace-6KAXVDDM.js");
|
|
8477
8498
|
const chunks = [];
|
|
8478
8499
|
for await (const chunk of process.stdin) chunks.push(chunk);
|
|
8479
8500
|
const input = JSON.parse(Buffer.concat(chunks).toString("utf8") || "{}");
|
|
@@ -8486,14 +8507,14 @@ traceCmd.command("hook").description("record one Claude Code hook event read fro
|
|
|
8486
8507
|
}
|
|
8487
8508
|
});
|
|
8488
8509
|
traceCmd.command("flush").description("send what the spool holds, retrying with backoff").action(run(async () => {
|
|
8489
|
-
const { readState, flush, grantSender } = await import("./trace-
|
|
8510
|
+
const { readState, flush, grantSender } = await import("./trace-6KAXVDDM.js");
|
|
8490
8511
|
const state = readState();
|
|
8491
8512
|
if (!state) throw new Error("no trace is running here");
|
|
8492
8513
|
const outcome = await flush(grantSender(state), { attempts: 4 });
|
|
8493
8514
|
console.log(`sent ${outcome.sent}, refused ${outcome.refused}, given up ${outcome.expired}, still pending ${outcome.pending}${outcome.stopped ? ` (stopped: ${outcome.stopped})` : ""}`);
|
|
8494
8515
|
}));
|
|
8495
8516
|
traceCmd.command("status").description("the running trace and its spool").action(run(async () => {
|
|
8496
|
-
const { readState, spoolStatus } = await import("./trace-
|
|
8517
|
+
const { readState, spoolStatus } = await import("./trace-6KAXVDDM.js");
|
|
8497
8518
|
const state = readState();
|
|
8498
8519
|
if (!state) {
|
|
8499
8520
|
console.log("No trace is running here.");
|
|
@@ -8503,7 +8524,7 @@ traceCmd.command("status").description("the running trace and its spool").action
|
|
|
8503
8524
|
console.log(`${state.trace_id} as ${state.source}: ${spool.pending} pending, ${spool.dropped_full} dropped (spool full), ${spool.dropped_expired} given up, ${spool.refused} refused`);
|
|
8504
8525
|
}));
|
|
8505
8526
|
traceCmd.command("show [id]").description("the trace bundle: spans, the sessions they reach, cost counted once per session").option("--json", "print the bundle as JSON").action(run(async (id, opts) => {
|
|
8506
|
-
const { readState } = await import("./trace-
|
|
8527
|
+
const { readState } = await import("./trace-6KAXVDDM.js");
|
|
8507
8528
|
const ref = id ?? readState()?.trace_id;
|
|
8508
8529
|
if (!ref) throw new Error("name a trace, or start one here");
|
|
8509
8530
|
const bundle = await api("GET", `/traces/${ref}`);
|
|
@@ -8530,7 +8551,7 @@ traceCmd.command("show [id]").description("the trace bundle: spans, the sessions
|
|
|
8530
8551
|
for (const gap of bundle.gaps) console.log(` gap: ${gap.span_id} ${gap.reason}`);
|
|
8531
8552
|
}));
|
|
8532
8553
|
traceCmd.command("stop").description("end the root span, send what is left, and revoke this machine's grant").action(run(async () => {
|
|
8533
|
-
const { readState, record, flush, grantSender, clearState } = await import("./trace-
|
|
8554
|
+
const { readState, record, flush, grantSender, clearState } = await import("./trace-6KAXVDDM.js");
|
|
8534
8555
|
const state = readState();
|
|
8535
8556
|
if (!state) throw new Error("no trace is running here");
|
|
8536
8557
|
if (state.root_span) record(() => [{ span_id: state.root_span, kind: "end", outcome: "completed" }]);
|
|
@@ -8540,7 +8561,7 @@ traceCmd.command("stop").description("end the root span, send what is left, and
|
|
|
8540
8561
|
console.log(`Stopped ${state.trace_id}${outcome.pending ? ` (${outcome.pending} events could not be sent)` : ""}`);
|
|
8541
8562
|
}));
|
|
8542
8563
|
traceCmd.command("sync [payload]").description("upload this machine's agent sessions (Claude Code, Codex, Cursor, Gemini CLI and every other agent `--agents` lists) to the matching workspace's trace library, redacted here first").option("--enable", "turn sync on for this machine").option("--disable", "turn sync off; nothing more is uploaded").option("--route <match=workspace>", "send sessions whose folder path contains <match> to <workspace> (repeatable; replaces the saved rules)", collect).option("--default <workspace>", "where a session no rule matches goes").option("--keep-local", "keep sessions no rule matches on this machine (the default)").option("--session <ref>", "only this session: its id or transcript path (repeatable)", collect).option("--import <export>", "add a downloaded cloud export (claude.ai, ChatGPT, Gemini, Grok, DeepSeek \u2026: its .zip, folder or file) so sync uploads it (repeatable)", collect).option("--agents", "list the agents sync reads and which are on this machine").option("--full", "re-read every session, not only files that changed").option("--limit <n>", "at most this many changed sessions this run", (v) => Number.parseInt(v, 10)).option("--dry-run", "show what would be uploaded without uploading").option("--hook", "run from a Claude Code SessionEnd hook or Codex notify: upload that session in the background and return at once").option("--install-schedule", "also sweep every 15 minutes (macOS launchd)").option("--status", "what sync has done on this machine").option("--quiet", "print only failures").action(async (payload, opts) => {
|
|
8543
|
-
const lib = await import("./trace-library-
|
|
8564
|
+
const lib = await import("./trace-library-C7ZM4BA2.js");
|
|
8544
8565
|
if (opts.hook) {
|
|
8545
8566
|
try {
|
|
8546
8567
|
let raw = payload ?? "";
|
|
@@ -8655,7 +8676,7 @@ traceCmd.command("search <query...>").description("search every session in a wor
|
|
|
8655
8676
|
console.log(opts.json ? JSON.stringify(page, null, 2) : renderContextPage(page));
|
|
8656
8677
|
}));
|
|
8657
8678
|
traceCmd.command("library").description("list the sessions in a workspace's trace library, most recently updated first").option("--workspace <slug>", "the workspace (default: the current one)").option("--limit <n>", "how many", (v) => Number.parseInt(v, 10), 20).option("--json", "print the page as JSON").action(run(async (opts) => {
|
|
8658
|
-
const { libraryRequest } = await import("./trace-library-
|
|
8679
|
+
const { libraryRequest } = await import("./trace-library-C7ZM4BA2.js");
|
|
8659
8680
|
const workspace2 = opts.workspace ?? currentUniverse();
|
|
8660
8681
|
if (!workspace2) throw new Error("name a workspace with --workspace");
|
|
8661
8682
|
const page = await libraryRequest("GET", `/trace-library?limit=${opts.limit}`, workspace2);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
USER_AGENT,
|
|
3
3
|
configPath
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ABDGMJYV.js";
|
|
5
5
|
import {
|
|
6
6
|
TRACE_CONTENT_SCOPES,
|
|
7
7
|
redactTraceText
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OFH52W34.js";
|
|
9
9
|
import "./chunk-MLKGABMK.js";
|
|
10
10
|
|
|
11
11
|
// src/trace.ts
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ApiError
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5OBCA2MM.js";
|
|
4
4
|
import {
|
|
5
5
|
USER_AGENT,
|
|
6
6
|
apiBase,
|
|
7
7
|
apiToken
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-ABDGMJYV.js";
|
|
9
9
|
import {
|
|
10
10
|
SessionSourceCollector,
|
|
11
11
|
publicRemote,
|
|
12
12
|
redactTraceText
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-OFH52W34.js";
|
|
14
14
|
import "./chunk-MLKGABMK.js";
|
|
15
15
|
|
|
16
16
|
// src/trace-library.ts
|