@linkshell/wire 0.2.20 → 0.2.22
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/envelopes.d.ts +53 -0
- package/dist/envelopes.js +251 -0
- package/dist/envelopes.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/live-activity.d.ts +6 -6
- package/dist/model.d.ts +54 -0
- package/dist/model.js +28 -0
- package/dist/model.js.map +1 -1
- package/dist/rpc-mcp.d.ts +199 -0
- package/dist/rpc-mcp.js +78 -0
- package/dist/rpc-mcp.js.map +1 -0
- package/dist/rpc.d.ts +823 -6
- package/dist/rpc.js +64 -1
- package/dist/rpc.js.map +1 -1
- package/dist/side.d.ts +83 -0
- package/dist/side.js +26 -0
- package/dist/side.js.map +1 -0
- package/dist/updates.d.ts +211 -0
- package/dist/updates.js +14 -1
- package/dist/updates.js.map +1 -1
- package/dist/watch.d.ts +16 -16
- package/package.json +1 -1
- package/src/envelopes.ts +278 -0
- package/src/index.ts +3 -0
- package/src/model.ts +28 -0
- package/src/rpc-mcp.ts +81 -0
- package/src/rpc.ts +65 -1
- package/src/side.ts +30 -0
- package/src/updates.ts +15 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** Something attached to a message, shown as a chip beside the words. */
|
|
2
|
+
export interface UserContext {
|
|
3
|
+
kind: "file" | "image" | "pasted" | "selection" | "comments" | "checks" | "annotations" | "browser" | "review" | "pull-request" | "merge" | "history" | "other";
|
|
4
|
+
label: string;
|
|
5
|
+
/** A path, or the start of the attached text. */
|
|
6
|
+
detail?: string;
|
|
7
|
+
}
|
|
8
|
+
/** A message that is an event, not something said: one line in the conversation. */
|
|
9
|
+
export type UserEvent = {
|
|
10
|
+
kind: "ci";
|
|
11
|
+
count: number;
|
|
12
|
+
} | {
|
|
13
|
+
kind: "github";
|
|
14
|
+
count: number;
|
|
15
|
+
} | {
|
|
16
|
+
kind: "sessions";
|
|
17
|
+
sessions: {
|
|
18
|
+
id?: string;
|
|
19
|
+
title: string;
|
|
20
|
+
}[];
|
|
21
|
+
} | {
|
|
22
|
+
kind: "scheduled";
|
|
23
|
+
name: string;
|
|
24
|
+
detail?: string;
|
|
25
|
+
};
|
|
26
|
+
export interface UserTextView {
|
|
27
|
+
/** The words to show; empty when the message is only context, an event or a command's output. */
|
|
28
|
+
text: string;
|
|
29
|
+
context: UserContext[];
|
|
30
|
+
/** A shell command run from the prompt (Claude's `!` mode), and what it printed. */
|
|
31
|
+
shell?: {
|
|
32
|
+
command?: string;
|
|
33
|
+
stdout?: string;
|
|
34
|
+
stderr?: string;
|
|
35
|
+
};
|
|
36
|
+
/** What a local slash command printed (`/cost`, `/context`). */
|
|
37
|
+
output?: string;
|
|
38
|
+
event?: UserEvent;
|
|
39
|
+
/** Nothing in it is for a reader. */
|
|
40
|
+
hidden: boolean;
|
|
41
|
+
}
|
|
42
|
+
/** The text without what is for the model only; `keepPeers` keeps mail from other sessions and agents. */
|
|
43
|
+
export declare function stripHiddenContext(text: string, { keepPeers }?: {
|
|
44
|
+
keepPeers?: boolean;
|
|
45
|
+
}): string;
|
|
46
|
+
/**
|
|
47
|
+
* How to show a person's message: its words, what came with it, or the one event it is. `images`
|
|
48
|
+
* is how many pictures the message carries besides its text, so an envelope naming them doesn't
|
|
49
|
+
* also chip them.
|
|
50
|
+
*/
|
|
51
|
+
export declare function readUserText(raw: string, { images }?: {
|
|
52
|
+
images?: number;
|
|
53
|
+
}): UserTextView;
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
// What agents and their desktop clients wrap around a person's words. Claude Code adds reminders
|
|
2
|
+
// and IDE state, the Claude app adds session events and peer mail, Codex Desktop adds the files,
|
|
3
|
+
// selection and browser state it attached: context for the model, not what the person typed.
|
|
4
|
+
// Readers show the words, and the context as a chip or an event line where it means something to
|
|
5
|
+
// them, the way Claude's and Codex's own apps do. Shared by the host (titles, previews, what it
|
|
6
|
+
// keeps from Claude's transcripts) and every client.
|
|
7
|
+
/** Tags whose whole content is for the model only: the Claude app's own list, then Codex's. */
|
|
8
|
+
const HIDDEN_TAGS = [
|
|
9
|
+
"system-reminder",
|
|
10
|
+
"task-notification",
|
|
11
|
+
"slack_context",
|
|
12
|
+
"uploaded_files",
|
|
13
|
+
"available-deferred-tools",
|
|
14
|
+
"new-diagnostics",
|
|
15
|
+
"critical_user_preferences_reminder",
|
|
16
|
+
"persisted-output",
|
|
17
|
+
"local-command-caveat",
|
|
18
|
+
"tick",
|
|
19
|
+
"goal",
|
|
20
|
+
"mcp-resource",
|
|
21
|
+
"mcp-resource-update",
|
|
22
|
+
"mcp-polling-update",
|
|
23
|
+
"teammate-message",
|
|
24
|
+
"cross-session-message",
|
|
25
|
+
"launch-selected-element",
|
|
26
|
+
"connected_office_files",
|
|
27
|
+
"thinking",
|
|
28
|
+
"ide_opened_file",
|
|
29
|
+
"ide_selection",
|
|
30
|
+
"ide_diagnostics",
|
|
31
|
+
"browser_instruction",
|
|
32
|
+
"cell",
|
|
33
|
+
"cell_type",
|
|
34
|
+
"language",
|
|
35
|
+
"command-message",
|
|
36
|
+
"command-args",
|
|
37
|
+
"no-action-needed",
|
|
38
|
+
"comprehensive-mode-instructions",
|
|
39
|
+
"cu_window_hints",
|
|
40
|
+
"widget_context_hint",
|
|
41
|
+
"preview-annotation-context",
|
|
42
|
+
"terminal-selection",
|
|
43
|
+
"environment_context",
|
|
44
|
+
"user_instructions",
|
|
45
|
+
"turn_aborted",
|
|
46
|
+
"subagent_notification",
|
|
47
|
+
"external_codex_apps_open_page",
|
|
48
|
+
];
|
|
49
|
+
const hiddenPattern = (tags) => new RegExp(`<(${tags.join("|")})(?:\\s[^>]*)?>[\\s\\S]*?</\\1>`, "gi");
|
|
50
|
+
const HIDDEN = hiddenPattern(HIDDEN_TAGS);
|
|
51
|
+
/** Mail between sessions and agents: hidden in a person's bubble, but a message of its own when it is the whole message. */
|
|
52
|
+
const PEER_TAGS = ["teammate-message", "cross-session-message"];
|
|
53
|
+
const HIDDEN_BUT_PEERS = hiddenPattern(HIDDEN_TAGS.filter((tag) => !PEER_TAGS.includes(tag)));
|
|
54
|
+
/** The text without what is for the model only; `keepPeers` keeps mail from other sessions and agents. */
|
|
55
|
+
export function stripHiddenContext(text, { keepPeers = false } = {}) {
|
|
56
|
+
return text
|
|
57
|
+
.replace(/\r\n/g, "\n")
|
|
58
|
+
.replace(keepPeers ? HIDDEN_BUT_PEERS : HIDDEN, "")
|
|
59
|
+
.replace(/<\/?tool_use_error>/g, "")
|
|
60
|
+
// Claude's pointers to a background task's files, for itself.
|
|
61
|
+
.replace(/^(?:Full transcript available at|Read the output file to retrieve the result):.*$/gm, "")
|
|
62
|
+
.replace(/\s*\[event:[\da-f-]{36}\]\s*$/i, "")
|
|
63
|
+
.replace(/\n{3,}/g, "\n\n")
|
|
64
|
+
.trim();
|
|
65
|
+
}
|
|
66
|
+
const ANSI = /\u001b\[[\d;?]*[ -/]*[@-~]/g;
|
|
67
|
+
function tagText(source, tag) {
|
|
68
|
+
const match = new RegExp(`<${tag}(?:\\s[^>]*)?>([\\s\\S]*?)</${tag}>`, "i").exec(source);
|
|
69
|
+
return match ? match[1] : undefined;
|
|
70
|
+
}
|
|
71
|
+
function attribute(attrs, name) {
|
|
72
|
+
const match = new RegExp(`\\b${name}\\s*=\\s*(?:"([^"]*)"|'([^']*)')`, "i").exec(attrs);
|
|
73
|
+
return match ? (match[1] ?? match[2]) : undefined;
|
|
74
|
+
}
|
|
75
|
+
const EVENT_TAGS = ["side-sessions-event", "ci-monitor-event", "github-webhook-activity"];
|
|
76
|
+
const EVENT_PATTERNS = new Map(EVENT_TAGS.map((tag) => [tag, new RegExp(`<${tag}\\b[^>]*>[\\s\\S]*?</${tag}>`, "gi")]));
|
|
77
|
+
/** A message made only of one kind of tag, repeated: the count, else undefined. */
|
|
78
|
+
function only(text, tag) {
|
|
79
|
+
if (!text.startsWith(`<${tag}`))
|
|
80
|
+
return undefined;
|
|
81
|
+
const pattern = EVENT_PATTERNS.get(tag);
|
|
82
|
+
const all = text.match(pattern);
|
|
83
|
+
if (!all)
|
|
84
|
+
return undefined;
|
|
85
|
+
return text.replace(pattern, "").trim() ? undefined : all.length;
|
|
86
|
+
}
|
|
87
|
+
/** Codex Desktop's sections before "## My request:", by heading. */
|
|
88
|
+
const CONTEXT_SECTIONS = {
|
|
89
|
+
"Files mentioned by the user": "file",
|
|
90
|
+
"Files pasted by the user": "pasted",
|
|
91
|
+
"Selected text": "selection",
|
|
92
|
+
"Diff comments": "comments",
|
|
93
|
+
"Browser comments": "comments",
|
|
94
|
+
"Failing PR checks": "checks",
|
|
95
|
+
"Response annotations": "annotations",
|
|
96
|
+
};
|
|
97
|
+
const MODES = {
|
|
98
|
+
"Code review guidelines": ["review", "审查模式"],
|
|
99
|
+
"Pull request fix": ["pull-request", "PR 修复"],
|
|
100
|
+
"Auto resolve merge": ["merge", "自动解决冲突"],
|
|
101
|
+
"Prior conversation with Codex": ["history", "参考历史对话"],
|
|
102
|
+
};
|
|
103
|
+
const SECTION_LABELS = {
|
|
104
|
+
"Selected text": "选中的文本",
|
|
105
|
+
"Diff comments": "差异评论",
|
|
106
|
+
"Browser comments": "浏览器评论",
|
|
107
|
+
"Failing PR checks": "失败的 PR 检查",
|
|
108
|
+
"Response annotations": "回复批注",
|
|
109
|
+
};
|
|
110
|
+
const REQUEST = /^## My request(?: for Codex)?:[ \t]*$/gm;
|
|
111
|
+
const baseName = (path) => path.split(/[\\/]/).filter(Boolean).at(-1) ?? path;
|
|
112
|
+
function codexContext(text, images) {
|
|
113
|
+
const start = /^(#{1,2}) ([^\n:]+):[ \t]*$/m.exec(text);
|
|
114
|
+
// Only an envelope Codex wrote: it opens the message with one of its own headings.
|
|
115
|
+
if (!start || start.index !== 0)
|
|
116
|
+
return undefined;
|
|
117
|
+
const heading = start[2];
|
|
118
|
+
if (!(start[1] === "#" ? heading in CONTEXT_SECTIONS : heading in MODES || /^My request(?: for Codex)?$/.test(heading)))
|
|
119
|
+
return undefined;
|
|
120
|
+
let cut = -1;
|
|
121
|
+
let after = 0;
|
|
122
|
+
for (const match of text.matchAll(REQUEST)) {
|
|
123
|
+
cut = match.index;
|
|
124
|
+
after = match.index + match[0].length;
|
|
125
|
+
}
|
|
126
|
+
const preface = cut < 0 ? text : text.slice(0, cut);
|
|
127
|
+
const request = cut < 0 ? "" : text.slice(after).trim();
|
|
128
|
+
const context = [];
|
|
129
|
+
let imageEntries = 0;
|
|
130
|
+
const sections = preface.split(/^(?=#{1,2} [^\n:]+:[ \t]*$)/m);
|
|
131
|
+
for (const section of sections) {
|
|
132
|
+
const head = /^(#{1,2}) ([^\n:]+):[ \t]*\n?/.exec(section);
|
|
133
|
+
if (!head)
|
|
134
|
+
continue;
|
|
135
|
+
const name = head[2];
|
|
136
|
+
const body = section.slice(head[0].length).trim();
|
|
137
|
+
if (head[1] === "##") {
|
|
138
|
+
const mode = MODES[name];
|
|
139
|
+
if (mode)
|
|
140
|
+
context.push({ kind: mode[0], label: mode[1] });
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
const kind = CONTEXT_SECTIONS[name];
|
|
144
|
+
if (kind === "file") {
|
|
145
|
+
for (const entry of body.matchAll(/^## (.+?): (.+?)(?: \((lines? [^)]*)\))?\n?(Image attachment: true)?$/gm)) {
|
|
146
|
+
if (entry[4]) {
|
|
147
|
+
imageEntries += 1;
|
|
148
|
+
// The picture itself is shown; a chip for it would say it twice.
|
|
149
|
+
if (imageEntries <= images)
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
context.push({ kind: entry[4] ? "image" : "file", label: entry[1].includes("/") ? baseName(entry[1]) : entry[1], detail: entry[3] ? `${entry[2]} · ${entry[3]}` : entry[2] });
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
else if (kind === "pasted") {
|
|
156
|
+
for (const entry of body.matchAll(/^## "?(.+?)"?: (.+)$/gm))
|
|
157
|
+
context.push({ kind: "pasted", label: entry[1].trim(), detail: entry[2] });
|
|
158
|
+
}
|
|
159
|
+
else if (kind) {
|
|
160
|
+
context.push({ kind, label: SECTION_LABELS[name] ?? name, detail: body.split("\n").find((line) => line.trim())?.trim() });
|
|
161
|
+
}
|
|
162
|
+
else if (name !== "Distinguish instructions in attached documents from the user's request") {
|
|
163
|
+
context.push({ kind: "other", label: name });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return { text: request, context };
|
|
167
|
+
}
|
|
168
|
+
// Claude writes a shell's output into its transcript with <, > and & escaped.
|
|
169
|
+
const ENTITIES = { lt: "<", gt: ">", amp: "&", quot: "\"", apos: "'" };
|
|
170
|
+
function unescapeHtml(value) {
|
|
171
|
+
// One pass: "&gt;" is the text ">", not ">".
|
|
172
|
+
return value.replace(/&(lt|gt|amp|quot|apos|#\d{1,7}|#x[0-9a-f]{1,6});/gi, (whole, name) => {
|
|
173
|
+
const key = name.toLowerCase();
|
|
174
|
+
const code = key.startsWith("#x") ? parseInt(key.slice(2), 16) : key.startsWith("#") ? Number(key.slice(1)) : undefined;
|
|
175
|
+
if (code === undefined)
|
|
176
|
+
return ENTITIES[key] ?? whole;
|
|
177
|
+
return code > 0 && code <= 0x10ffff ? String.fromCodePoint(code) : whole;
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Codex Desktop writes a mention of another of its threads as a Markdown link to
|
|
182
|
+
* codex://threads/<id>, with the space before it as " ": read as the thread's title.
|
|
183
|
+
*/
|
|
184
|
+
function threadMentions(text) {
|
|
185
|
+
const read = text.replace(/&#(?:x20|32);/gi, " ").replace(/\[([^\]\n]+)\]\(codex:\/\/threads\/[\w-]+\)/g, "「$1」");
|
|
186
|
+
return read === text ? text : read.trim();
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* How to show a person's message: its words, what came with it, or the one event it is. `images`
|
|
190
|
+
* is how many pictures the message carries besides its text, so an envelope naming them doesn't
|
|
191
|
+
* also chip them.
|
|
192
|
+
*/
|
|
193
|
+
export function readUserText(raw, { images = 0 } = {}) {
|
|
194
|
+
let text = raw.replace(/\r\n/g, "\n");
|
|
195
|
+
const context = [];
|
|
196
|
+
const view = (rest) => ({ text: "", context, hidden: false, ...rest });
|
|
197
|
+
// The Claude app tells a session about the sessions it started in a reminder beside the event.
|
|
198
|
+
const sessions = [...text.matchAll(/The session "([^"\n]+)" you started \((local_[\w-]+)\)/g)].map((match) => ({ title: match[1], id: match[2] }));
|
|
199
|
+
const browser = /<in-app-browser-context\b[^>]*>[\s\S]*?<\/in-app-browser-context>/gi;
|
|
200
|
+
const withoutBrowser = text.replace(browser, "");
|
|
201
|
+
if (withoutBrowser !== text) {
|
|
202
|
+
context.push({ kind: "browser", label: "浏览器上下文" });
|
|
203
|
+
text = withoutBrowser;
|
|
204
|
+
}
|
|
205
|
+
text = stripHiddenContext(text);
|
|
206
|
+
if (only(text, "side-sessions-event"))
|
|
207
|
+
return view({ event: { kind: "sessions", sessions } });
|
|
208
|
+
if (!text)
|
|
209
|
+
return view({ hidden: images === 0 && context.length === 0 });
|
|
210
|
+
if (/^\[Request interrupted by user(?: for tool use)?\]$/.test(text))
|
|
211
|
+
return view({ hidden: true });
|
|
212
|
+
const ci = only(text, "ci-monitor-event");
|
|
213
|
+
if (ci)
|
|
214
|
+
return view({ event: { kind: "ci", count: ci } });
|
|
215
|
+
const github = only(text, "github-webhook-activity");
|
|
216
|
+
if (github)
|
|
217
|
+
return view({ event: { kind: "github", count: github } });
|
|
218
|
+
const scheduled = /^<scheduled-task\b([^>]*)>([\s\S]*?)<\/scheduled-task>$/i.exec(text);
|
|
219
|
+
if (scheduled) {
|
|
220
|
+
const name = attribute(scheduled[1], "name") ?? baseName(attribute(scheduled[1], "file") ?? "").replace(/\.md$/i, "");
|
|
221
|
+
return view({ event: { kind: "scheduled", name: name || "定时任务", detail: scheduled[2].trim() || undefined } });
|
|
222
|
+
}
|
|
223
|
+
if (/^<bash-(?:input|stdout|stderr)>/.test(text)) {
|
|
224
|
+
const clean = (value) => (value === undefined ? undefined : unescapeHtml(value).replace(ANSI, "").replace(/\n+$/, "")) || undefined;
|
|
225
|
+
const command = clean(tagText(text, "bash-input"))?.trim();
|
|
226
|
+
const stdout = clean(tagText(text, "bash-stdout"));
|
|
227
|
+
const stderr = clean(tagText(text, "bash-stderr"));
|
|
228
|
+
const rest = text.replace(/<(bash-(?:input|stdout|stderr|exit-code))>[\s\S]*?<\/\1>/g, "").trim();
|
|
229
|
+
return view({ shell: { command, stdout, stderr }, text: rest, hidden: !command && !stdout && !stderr && !rest });
|
|
230
|
+
}
|
|
231
|
+
if (/^<local-command-(?:stdout|stderr)>/.test(text)) {
|
|
232
|
+
const raw = [tagText(text, "local-command-stdout"), tagText(text, "local-command-stderr")]
|
|
233
|
+
.filter((part) => !!part?.trim())
|
|
234
|
+
.join("\n")
|
|
235
|
+
.replace(ANSI, "");
|
|
236
|
+
const output = unescapeHtml(raw).trim();
|
|
237
|
+
// /model's confirmation: the Claude app doesn't show the switch as a line either.
|
|
238
|
+
return view({ output: output || undefined, hidden: !output || /^Set model to\b/.test(output) });
|
|
239
|
+
}
|
|
240
|
+
// Slash-command plumbing the host couldn't read as a command, and notifications it didn't match.
|
|
241
|
+
if (/^<(?:command-name|local-command-|task-notification)/.test(text))
|
|
242
|
+
return view({ hidden: true });
|
|
243
|
+
const codex = codexContext(text, images);
|
|
244
|
+
if (codex) {
|
|
245
|
+
context.push(...codex.context);
|
|
246
|
+
const words = threadMentions(codex.text);
|
|
247
|
+
return view({ text: words, hidden: !words && images === 0 && context.length === 0 });
|
|
248
|
+
}
|
|
249
|
+
return view({ text: threadMentions(text) });
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=envelopes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envelopes.js","sourceRoot":"","sources":["../src/envelopes.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -17,4 +17,7 @@ export * from "./editor.js";
|
|
|
17
17
|
export * from "./live-activity.js";
|
|
18
18
|
export * from "./watch.js";
|
|
19
19
|
export * from "./usage.js";
|
|
20
|
+
export * from "./side.js";
|
|
21
|
+
export * from "./rpc-mcp.js";
|
|
22
|
+
export * from "./envelopes.js";
|
|
20
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
package/dist/live-activity.d.ts
CHANGED
|
@@ -17,8 +17,8 @@ export declare const liveActivityActionSchema: z.ZodObject<{
|
|
|
17
17
|
kind: "permission" | "answer" | "async-answer";
|
|
18
18
|
optionId: string;
|
|
19
19
|
requestId: string;
|
|
20
|
-
role: "choice" | "stop" | "reject" | "allow" | "always";
|
|
21
20
|
sessionId: string;
|
|
21
|
+
role: "choice" | "stop" | "reject" | "allow" | "always";
|
|
22
22
|
computerKey: string;
|
|
23
23
|
questionId?: string | undefined;
|
|
24
24
|
}, {
|
|
@@ -27,8 +27,8 @@ export declare const liveActivityActionSchema: z.ZodObject<{
|
|
|
27
27
|
kind: "permission" | "answer" | "async-answer";
|
|
28
28
|
optionId: string;
|
|
29
29
|
requestId: string;
|
|
30
|
-
role: "choice" | "stop" | "reject" | "allow" | "always";
|
|
31
30
|
sessionId: string;
|
|
31
|
+
role: "choice" | "stop" | "reject" | "allow" | "always";
|
|
32
32
|
computerKey: string;
|
|
33
33
|
questionId?: string | undefined;
|
|
34
34
|
}>;
|
|
@@ -137,8 +137,8 @@ export declare const liveActivityContentSchema: z.ZodObject<{
|
|
|
137
137
|
kind: "permission" | "answer" | "async-answer";
|
|
138
138
|
optionId: string;
|
|
139
139
|
requestId: string;
|
|
140
|
-
role: "choice" | "stop" | "reject" | "allow" | "always";
|
|
141
140
|
sessionId: string;
|
|
141
|
+
role: "choice" | "stop" | "reject" | "allow" | "always";
|
|
142
142
|
computerKey: string;
|
|
143
143
|
questionId?: string | undefined;
|
|
144
144
|
}, {
|
|
@@ -147,8 +147,8 @@ export declare const liveActivityContentSchema: z.ZodObject<{
|
|
|
147
147
|
kind: "permission" | "answer" | "async-answer";
|
|
148
148
|
optionId: string;
|
|
149
149
|
requestId: string;
|
|
150
|
-
role: "choice" | "stop" | "reject" | "allow" | "always";
|
|
151
150
|
sessionId: string;
|
|
151
|
+
role: "choice" | "stop" | "reject" | "allow" | "always";
|
|
152
152
|
computerKey: string;
|
|
153
153
|
questionId?: string | undefined;
|
|
154
154
|
}>, "many">>;
|
|
@@ -209,8 +209,8 @@ export declare const liveActivityContentSchema: z.ZodObject<{
|
|
|
209
209
|
kind: "permission" | "answer" | "async-answer";
|
|
210
210
|
optionId: string;
|
|
211
211
|
requestId: string;
|
|
212
|
-
role: "choice" | "stop" | "reject" | "allow" | "always";
|
|
213
212
|
sessionId: string;
|
|
213
|
+
role: "choice" | "stop" | "reject" | "allow" | "always";
|
|
214
214
|
computerKey: string;
|
|
215
215
|
questionId?: string | undefined;
|
|
216
216
|
}[] | undefined;
|
|
@@ -242,8 +242,8 @@ export declare const liveActivityContentSchema: z.ZodObject<{
|
|
|
242
242
|
kind: "permission" | "answer" | "async-answer";
|
|
243
243
|
optionId: string;
|
|
244
244
|
requestId: string;
|
|
245
|
-
role: "choice" | "stop" | "reject" | "allow" | "always";
|
|
246
245
|
sessionId: string;
|
|
246
|
+
role: "choice" | "stop" | "reject" | "allow" | "always";
|
|
247
247
|
computerKey: string;
|
|
248
248
|
questionId?: string | undefined;
|
|
249
249
|
}[] | undefined;
|
package/dist/model.d.ts
CHANGED
|
@@ -28,6 +28,8 @@ export declare const agentCapabilitiesSchema: z.ZodObject<{
|
|
|
28
28
|
* shows the conversation and its agent is told it as text.
|
|
29
29
|
*/
|
|
30
30
|
fork: z.ZodBoolean;
|
|
31
|
+
/** The agent has a side conversation of its own (`sessions.side`). Absent from older hosts. */
|
|
32
|
+
side: z.ZodOptional<z.ZodBoolean>;
|
|
31
33
|
models: z.ZodBoolean;
|
|
32
34
|
modes: z.ZodBoolean;
|
|
33
35
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -41,6 +43,7 @@ export declare const agentCapabilitiesSchema: z.ZodObject<{
|
|
|
41
43
|
acp?: boolean | undefined;
|
|
42
44
|
audio?: boolean | undefined;
|
|
43
45
|
embeddedContext?: boolean | undefined;
|
|
46
|
+
side?: boolean | undefined;
|
|
44
47
|
}, {
|
|
45
48
|
interrupt: boolean;
|
|
46
49
|
steer: boolean;
|
|
@@ -52,6 +55,7 @@ export declare const agentCapabilitiesSchema: z.ZodObject<{
|
|
|
52
55
|
acp?: boolean | undefined;
|
|
53
56
|
audio?: boolean | undefined;
|
|
54
57
|
embeddedContext?: boolean | undefined;
|
|
58
|
+
side?: boolean | undefined;
|
|
55
59
|
}>;
|
|
56
60
|
export type AgentCapabilities = z.infer<typeof agentCapabilitiesSchema>;
|
|
57
61
|
/**
|
|
@@ -115,6 +119,8 @@ export declare const agentInfoSchema: z.ZodObject<{
|
|
|
115
119
|
* shows the conversation and its agent is told it as text.
|
|
116
120
|
*/
|
|
117
121
|
fork: z.ZodBoolean;
|
|
122
|
+
/** The agent has a side conversation of its own (`sessions.side`). Absent from older hosts. */
|
|
123
|
+
side: z.ZodOptional<z.ZodBoolean>;
|
|
118
124
|
models: z.ZodBoolean;
|
|
119
125
|
modes: z.ZodBoolean;
|
|
120
126
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -128,6 +134,7 @@ export declare const agentInfoSchema: z.ZodObject<{
|
|
|
128
134
|
acp?: boolean | undefined;
|
|
129
135
|
audio?: boolean | undefined;
|
|
130
136
|
embeddedContext?: boolean | undefined;
|
|
137
|
+
side?: boolean | undefined;
|
|
131
138
|
}, {
|
|
132
139
|
interrupt: boolean;
|
|
133
140
|
steer: boolean;
|
|
@@ -139,6 +146,7 @@ export declare const agentInfoSchema: z.ZodObject<{
|
|
|
139
146
|
acp?: boolean | undefined;
|
|
140
147
|
audio?: boolean | undefined;
|
|
141
148
|
embeddedContext?: boolean | undefined;
|
|
149
|
+
side?: boolean | undefined;
|
|
142
150
|
}>;
|
|
143
151
|
}, "strip", z.ZodTypeAny, {
|
|
144
152
|
id: string;
|
|
@@ -156,6 +164,7 @@ export declare const agentInfoSchema: z.ZodObject<{
|
|
|
156
164
|
acp?: boolean | undefined;
|
|
157
165
|
audio?: boolean | undefined;
|
|
158
166
|
embeddedContext?: boolean | undefined;
|
|
167
|
+
side?: boolean | undefined;
|
|
159
168
|
};
|
|
160
169
|
version?: string | undefined;
|
|
161
170
|
problem?: string | undefined;
|
|
@@ -180,6 +189,7 @@ export declare const agentInfoSchema: z.ZodObject<{
|
|
|
180
189
|
acp?: boolean | undefined;
|
|
181
190
|
audio?: boolean | undefined;
|
|
182
191
|
embeddedContext?: boolean | undefined;
|
|
192
|
+
side?: boolean | undefined;
|
|
183
193
|
};
|
|
184
194
|
version?: string | undefined;
|
|
185
195
|
problem?: string | undefined;
|
|
@@ -2026,6 +2036,25 @@ export declare const sessionSummarySchema: z.ZodObject<{
|
|
|
2026
2036
|
branch: string;
|
|
2027
2037
|
source: string;
|
|
2028
2038
|
}>>;
|
|
2039
|
+
/**
|
|
2040
|
+
* The LinkShell session that started this one (e.g. a Claude desktop
|
|
2041
|
+
* session's start_session or hand-off): the sidebar nests it there. Set
|
|
2042
|
+
* only when this host has that session too. Absent from older hosts.
|
|
2043
|
+
*/
|
|
2044
|
+
parentId: z.ZodOptional<z.ZodString>;
|
|
2045
|
+
/**
|
|
2046
|
+
* The LinkShell session this one was forked from (made here with
|
|
2047
|
+
* `sessions.fork`, or recorded by the agent), when this host has it. Kept
|
|
2048
|
+
* apart from `parentId`: a fork is a copy, not something that session
|
|
2049
|
+
* started, so whether it nests is the list's choice.
|
|
2050
|
+
*/
|
|
2051
|
+
forkedFrom: z.ZodOptional<z.ZodString>;
|
|
2052
|
+
/**
|
|
2053
|
+
* The id an app of the agent's knows the session by (the Claude desktop
|
|
2054
|
+
* app's `local_…`): mail between its sessions names the sender by it, so a
|
|
2055
|
+
* client can open the sender. Absent from older hosts.
|
|
2056
|
+
*/
|
|
2057
|
+
appId: z.ZodOptional<z.ZodString>;
|
|
2029
2058
|
/** Live only, for sessions that started sub-agents: how many, and how many are working now (`sessions.subagents` lists them). */
|
|
2030
2059
|
subagents: z.ZodOptional<z.ZodObject<{
|
|
2031
2060
|
total: z.ZodNumber;
|
|
@@ -2213,6 +2242,9 @@ export declare const sessionSummarySchema: z.ZodObject<{
|
|
|
2213
2242
|
branch: string;
|
|
2214
2243
|
source: string;
|
|
2215
2244
|
} | undefined;
|
|
2245
|
+
parentId?: string | undefined;
|
|
2246
|
+
forkedFrom?: string | undefined;
|
|
2247
|
+
appId?: string | undefined;
|
|
2216
2248
|
subagents?: {
|
|
2217
2249
|
running: number;
|
|
2218
2250
|
total: number;
|
|
@@ -2324,6 +2356,9 @@ export declare const sessionSummarySchema: z.ZodObject<{
|
|
|
2324
2356
|
branch: string;
|
|
2325
2357
|
source: string;
|
|
2326
2358
|
} | undefined;
|
|
2359
|
+
parentId?: string | undefined;
|
|
2360
|
+
forkedFrom?: string | undefined;
|
|
2361
|
+
appId?: string | undefined;
|
|
2327
2362
|
subagents?: {
|
|
2328
2363
|
running: number;
|
|
2329
2364
|
total: number;
|
|
@@ -2419,6 +2454,8 @@ export declare const machineInfoSchema: z.ZodObject<{
|
|
|
2419
2454
|
hostname: z.ZodString;
|
|
2420
2455
|
platform: z.ZodString;
|
|
2421
2456
|
hostVersion: z.ZodString;
|
|
2457
|
+
/** The host's RPC revision (`HOST_PROTOCOL`); absent from hosts older than it. */
|
|
2458
|
+
protocol: z.ZodOptional<z.ZodNumber>;
|
|
2422
2459
|
/** The host user's home directory, so apps can show paths as `~/…`. */
|
|
2423
2460
|
home: z.ZodOptional<z.ZodString>;
|
|
2424
2461
|
agents: z.ZodArray<z.ZodObject<{
|
|
@@ -2461,6 +2498,8 @@ export declare const machineInfoSchema: z.ZodObject<{
|
|
|
2461
2498
|
* shows the conversation and its agent is told it as text.
|
|
2462
2499
|
*/
|
|
2463
2500
|
fork: z.ZodBoolean;
|
|
2501
|
+
/** The agent has a side conversation of its own (`sessions.side`). Absent from older hosts. */
|
|
2502
|
+
side: z.ZodOptional<z.ZodBoolean>;
|
|
2464
2503
|
models: z.ZodBoolean;
|
|
2465
2504
|
modes: z.ZodBoolean;
|
|
2466
2505
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -2474,6 +2513,7 @@ export declare const machineInfoSchema: z.ZodObject<{
|
|
|
2474
2513
|
acp?: boolean | undefined;
|
|
2475
2514
|
audio?: boolean | undefined;
|
|
2476
2515
|
embeddedContext?: boolean | undefined;
|
|
2516
|
+
side?: boolean | undefined;
|
|
2477
2517
|
}, {
|
|
2478
2518
|
interrupt: boolean;
|
|
2479
2519
|
steer: boolean;
|
|
@@ -2485,6 +2525,7 @@ export declare const machineInfoSchema: z.ZodObject<{
|
|
|
2485
2525
|
acp?: boolean | undefined;
|
|
2486
2526
|
audio?: boolean | undefined;
|
|
2487
2527
|
embeddedContext?: boolean | undefined;
|
|
2528
|
+
side?: boolean | undefined;
|
|
2488
2529
|
}>;
|
|
2489
2530
|
}, "strip", z.ZodTypeAny, {
|
|
2490
2531
|
id: string;
|
|
@@ -2502,6 +2543,7 @@ export declare const machineInfoSchema: z.ZodObject<{
|
|
|
2502
2543
|
acp?: boolean | undefined;
|
|
2503
2544
|
audio?: boolean | undefined;
|
|
2504
2545
|
embeddedContext?: boolean | undefined;
|
|
2546
|
+
side?: boolean | undefined;
|
|
2505
2547
|
};
|
|
2506
2548
|
version?: string | undefined;
|
|
2507
2549
|
problem?: string | undefined;
|
|
@@ -2526,6 +2568,7 @@ export declare const machineInfoSchema: z.ZodObject<{
|
|
|
2526
2568
|
acp?: boolean | undefined;
|
|
2527
2569
|
audio?: boolean | undefined;
|
|
2528
2570
|
embeddedContext?: boolean | undefined;
|
|
2571
|
+
side?: boolean | undefined;
|
|
2529
2572
|
};
|
|
2530
2573
|
version?: string | undefined;
|
|
2531
2574
|
problem?: string | undefined;
|
|
@@ -2565,6 +2608,7 @@ export declare const machineInfoSchema: z.ZodObject<{
|
|
|
2565
2608
|
acp?: boolean | undefined;
|
|
2566
2609
|
audio?: boolean | undefined;
|
|
2567
2610
|
embeddedContext?: boolean | undefined;
|
|
2611
|
+
side?: boolean | undefined;
|
|
2568
2612
|
};
|
|
2569
2613
|
version?: string | undefined;
|
|
2570
2614
|
problem?: string | undefined;
|
|
@@ -2578,6 +2622,7 @@ export declare const machineInfoSchema: z.ZodObject<{
|
|
|
2578
2622
|
hostname: string;
|
|
2579
2623
|
platform: string;
|
|
2580
2624
|
hostVersion: string;
|
|
2625
|
+
protocol?: number | undefined;
|
|
2581
2626
|
home?: string | undefined;
|
|
2582
2627
|
direct?: {
|
|
2583
2628
|
iceServers: string[];
|
|
@@ -2600,6 +2645,7 @@ export declare const machineInfoSchema: z.ZodObject<{
|
|
|
2600
2645
|
acp?: boolean | undefined;
|
|
2601
2646
|
audio?: boolean | undefined;
|
|
2602
2647
|
embeddedContext?: boolean | undefined;
|
|
2648
|
+
side?: boolean | undefined;
|
|
2603
2649
|
};
|
|
2604
2650
|
version?: string | undefined;
|
|
2605
2651
|
problem?: string | undefined;
|
|
@@ -2613,6 +2659,7 @@ export declare const machineInfoSchema: z.ZodObject<{
|
|
|
2613
2659
|
hostname: string;
|
|
2614
2660
|
platform: string;
|
|
2615
2661
|
hostVersion: string;
|
|
2662
|
+
protocol?: number | undefined;
|
|
2616
2663
|
home?: string | undefined;
|
|
2617
2664
|
direct?: {
|
|
2618
2665
|
iceServers: string[];
|
|
@@ -2665,6 +2712,11 @@ export declare const terminalInfoSchema: z.ZodObject<{
|
|
|
2665
2712
|
exitCode: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
2666
2713
|
/** Ended without an exit code: the host stopped while it ran. */
|
|
2667
2714
|
interrupted: z.ZodOptional<z.ZodBoolean>;
|
|
2715
|
+
/**
|
|
2716
|
+
* The session it was opened for. Such a terminal belongs to the session: it closes when its
|
|
2717
|
+
* shell exits or the session is archived or deleted, and isn't kept across a host restart.
|
|
2718
|
+
*/
|
|
2719
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
2668
2720
|
}, "strip", z.ZodTypeAny, {
|
|
2669
2721
|
id: string;
|
|
2670
2722
|
title: string;
|
|
@@ -2676,6 +2728,7 @@ export declare const terminalInfoSchema: z.ZodObject<{
|
|
|
2676
2728
|
command?: string | undefined;
|
|
2677
2729
|
exitCode?: number | null | undefined;
|
|
2678
2730
|
interrupted?: boolean | undefined;
|
|
2731
|
+
sessionId?: string | undefined;
|
|
2679
2732
|
}, {
|
|
2680
2733
|
id: string;
|
|
2681
2734
|
title: string;
|
|
@@ -2687,6 +2740,7 @@ export declare const terminalInfoSchema: z.ZodObject<{
|
|
|
2687
2740
|
command?: string | undefined;
|
|
2688
2741
|
exitCode?: number | null | undefined;
|
|
2689
2742
|
interrupted?: boolean | undefined;
|
|
2743
|
+
sessionId?: string | undefined;
|
|
2690
2744
|
}>;
|
|
2691
2745
|
export type TerminalInfo = z.infer<typeof terminalInfoSchema>;
|
|
2692
2746
|
/** The host's link to a v2 gateway, for `linkshell status` and the app's computer page. */
|