@linkshell/host 0.4.69 → 0.4.71
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/host/src/acp-settings.js +1 -1
- package/dist/host/src/acp-settings.js.map +1 -1
- package/dist/host/src/computer-preview.d.ts +1 -9
- package/dist/host/src/drivers/acp/antigravity.d.ts +13 -0
- package/dist/host/src/drivers/acp/antigravity.js +13 -0
- package/dist/host/src/drivers/acp/antigravity.js.map +1 -1
- package/dist/host/src/drivers/acp/driver.d.ts +14 -1
- package/dist/host/src/drivers/acp/driver.js +45 -3
- package/dist/host/src/drivers/acp/driver.js.map +1 -1
- package/dist/host/src/drivers/acp/mapper.d.ts +2 -0
- package/dist/host/src/drivers/acp/mapper.js +6 -1
- package/dist/host/src/drivers/acp/mapper.js.map +1 -1
- package/dist/host/src/drivers/acp/questions.js +2 -2
- package/dist/host/src/drivers/acp/questions.js.map +1 -1
- package/dist/host/src/drivers/claude/app-sessions.d.ts +58 -0
- package/dist/host/src/drivers/claude/app-sessions.js +183 -0
- package/dist/host/src/drivers/claude/app-sessions.js.map +1 -0
- package/dist/host/src/drivers/claude/driver.d.ts +22 -1
- package/dist/host/src/drivers/claude/driver.js +99 -11
- package/dist/host/src/drivers/claude/driver.js.map +1 -1
- package/dist/host/src/drivers/claude/holders.d.ts +3 -1
- package/dist/host/src/drivers/claude/holders.js +4 -0
- package/dist/host/src/drivers/claude/holders.js.map +1 -1
- package/dist/host/src/drivers/claude/routing.d.ts +19 -0
- package/dist/host/src/drivers/claude/routing.js +145 -0
- package/dist/host/src/drivers/claude/routing.js.map +1 -0
- package/dist/host/src/drivers/claude/tasks.d.ts +3 -3
- package/dist/host/src/drivers/claude/transcript.d.ts +393 -348
- package/dist/host/src/drivers/claude/transcript.js +97 -22
- package/dist/host/src/drivers/claude/transcript.js.map +1 -1
- package/dist/host/src/drivers/codex/driver.d.ts +15 -0
- package/dist/host/src/drivers/codex/driver.js +47 -9
- package/dist/host/src/drivers/codex/driver.js.map +1 -1
- package/dist/host/src/drivers/codex/mapper.d.ts +41 -7
- package/dist/host/src/drivers/codex/mapper.js +167 -26
- package/dist/host/src/drivers/codex/mapper.js.map +1 -1
- package/dist/host/src/drivers/codex/mcp-apps.d.ts +69 -0
- package/dist/host/src/drivers/codex/mcp-apps.js +340 -0
- package/dist/host/src/drivers/codex/mcp-apps.js.map +1 -0
- package/dist/host/src/drivers/codex/settings.d.ts +13 -0
- package/dist/host/src/drivers/codex/settings.js +22 -6
- package/dist/host/src/drivers/codex/settings.js.map +1 -1
- package/dist/host/src/drivers/types.d.ts +50 -1
- package/dist/host/src/fs.d.ts +9 -9
- package/dist/host/src/hub.d.ts +118 -81
- package/dist/host/src/hub.js +157 -13
- package/dist/host/src/hub.js.map +1 -1
- package/dist/host/src/input.d.ts +43 -89
- package/dist/host/src/input.js +1 -1
- package/dist/host/src/input.js.map +1 -1
- package/dist/host/src/rpc/mcp.d.ts +8 -0
- package/dist/host/src/rpc/mcp.js +33 -0
- package/dist/host/src/rpc/mcp.js.map +1 -0
- package/dist/host/src/rpc/server.js +16 -2
- package/dist/host/src/rpc/server.js.map +1 -1
- package/dist/host/src/screen-session.d.ts +3 -17
- package/dist/host/src/screen-session.js +2 -2
- package/dist/host/src/screen-session.js.map +1 -1
- package/dist/host/src/store.d.ts +7 -0
- package/dist/host/src/store.js +27 -3
- package/dist/host/src/store.js.map +1 -1
- package/dist/host/src/terminals.d.ts +12 -6
- package/dist/host/src/terminals.js +29 -2
- package/dist/host/src/terminals.js.map +1 -1
- package/dist/host/src/usage.d.ts +5 -0
- package/dist/host/src/usage.js +10 -2
- package/dist/host/src/usage.js.map +1 -1
- package/dist/host/tsconfig.tsbuildinfo +1 -1
- package/dist/wire/src/acp.d.ts +68 -430
- package/dist/wire/src/acp.js +5 -5
- package/dist/wire/src/acp.js.map +1 -1
- package/dist/wire/src/async-questions.d.ts +2 -10
- package/dist/wire/src/computer-preview.d.ts +1 -15
- package/dist/wire/src/computer-preview.js +1 -1
- package/dist/wire/src/computer-preview.js.map +1 -1
- package/dist/wire/src/content.d.ts +207 -372
- package/dist/wire/src/content.js +4 -4
- package/dist/wire/src/content.js.map +1 -1
- package/dist/wire/src/editor.d.ts +48 -592
- package/dist/wire/src/envelopes.d.ts +53 -0
- package/dist/wire/src/envelopes.js +263 -0
- package/dist/wire/src/envelopes.js.map +1 -0
- package/dist/wire/src/goal.d.ts +15 -48
- package/dist/wire/src/index.d.ts +2 -0
- package/dist/wire/src/index.js +2 -0
- package/dist/wire/src/index.js.map +1 -1
- package/dist/wire/src/live-activity.d.ts +83 -212
- package/dist/wire/src/live-activity.js +1 -1
- package/dist/wire/src/live-activity.js.map +1 -1
- package/dist/wire/src/model.d.ts +458 -2281
- package/dist/wire/src/model.js +24 -0
- package/dist/wire/src/model.js.map +1 -1
- package/dist/wire/src/relay.d.ts +41 -267
- package/dist/wire/src/relay.js +1 -1
- package/dist/wire/src/relay.js.map +1 -1
- package/dist/wire/src/rpc-mcp.d.ts +84 -0
- package/dist/wire/src/rpc-mcp.js +78 -0
- package/dist/wire/src/rpc-mcp.js.map +1 -0
- package/dist/wire/src/rpc.d.ts +6891 -31073
- package/dist/wire/src/rpc.js +35 -7
- package/dist/wire/src/rpc.js.map +1 -1
- package/dist/wire/src/side.d.ts +13 -61
- package/dist/wire/src/updates.d.ts +1771 -6680
- package/dist/wire/src/updates.js +14 -1
- package/dist/wire/src/updates.js.map +1 -1
- package/dist/wire/src/usage.d.ts +17 -195
- package/dist/wire/src/watch.d.ts +223 -1141
- package/dist/wire/src/workflow.d.ts +46 -139
- package/package.json +4 -4
|
@@ -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,263 @@
|
|
|
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
|
+
// eslint-disable-next-line no-control-regex -- terminal colour codes start with ESC.
|
|
67
|
+
const ANSI = /\u001b\[[\d;?]*[ -/]*[@-~]/g;
|
|
68
|
+
function tagText(source, tag) {
|
|
69
|
+
const match = new RegExp(`<${tag}(?:\\s[^>]*)?>([\\s\\S]*?)</${tag}>`, "i").exec(source);
|
|
70
|
+
return match ? match[1] : undefined;
|
|
71
|
+
}
|
|
72
|
+
function attribute(attrs, name) {
|
|
73
|
+
const match = new RegExp(`\\b${name}\\s*=\\s*(?:"([^"]*)"|'([^']*)')`, "i").exec(attrs);
|
|
74
|
+
return match ? (match[1] ?? match[2]) : undefined;
|
|
75
|
+
}
|
|
76
|
+
const EVENT_TAGS = ["side-sessions-event", "ci-monitor-event", "github-webhook-activity"];
|
|
77
|
+
const EVENT_PATTERNS = new Map(EVENT_TAGS.map((tag) => [tag, new RegExp(`<${tag}\\b[^>]*>[\\s\\S]*?</${tag}>`, "gi")]));
|
|
78
|
+
/** A message made only of one kind of tag, repeated: the count, else undefined. */
|
|
79
|
+
function only(text, tag) {
|
|
80
|
+
if (!text.startsWith(`<${tag}`))
|
|
81
|
+
return undefined;
|
|
82
|
+
const pattern = EVENT_PATTERNS.get(tag);
|
|
83
|
+
const all = text.match(pattern);
|
|
84
|
+
if (!all)
|
|
85
|
+
return undefined;
|
|
86
|
+
return text.replace(pattern, "").trim() ? undefined : all.length;
|
|
87
|
+
}
|
|
88
|
+
/** Codex Desktop's sections before "## My request:", by heading. */
|
|
89
|
+
const CONTEXT_SECTIONS = {
|
|
90
|
+
"Files mentioned by the user": "file",
|
|
91
|
+
"Files pasted by the user": "pasted",
|
|
92
|
+
"Selected text": "selection",
|
|
93
|
+
"Diff comments": "comments",
|
|
94
|
+
"Browser comments": "comments",
|
|
95
|
+
"Failing PR checks": "checks",
|
|
96
|
+
"Response annotations": "annotations",
|
|
97
|
+
};
|
|
98
|
+
const MODES = {
|
|
99
|
+
"Code review guidelines": ["review", "审查模式"],
|
|
100
|
+
"Pull request fix": ["pull-request", "PR 修复"],
|
|
101
|
+
"Auto resolve merge": ["merge", "自动解决冲突"],
|
|
102
|
+
"Prior conversation with Codex": ["history", "参考历史对话"],
|
|
103
|
+
};
|
|
104
|
+
const SECTION_LABELS = {
|
|
105
|
+
"Selected text": "选中的文本",
|
|
106
|
+
"Diff comments": "差异评论",
|
|
107
|
+
"Browser comments": "浏览器评论",
|
|
108
|
+
"Failing PR checks": "失败的 PR 检查",
|
|
109
|
+
"Response annotations": "回复批注",
|
|
110
|
+
};
|
|
111
|
+
const REQUEST = /^## My request(?: for Codex)?:[ \t]*$/gm;
|
|
112
|
+
const baseName = (path) => path.split(/[\\/]/).filter(Boolean).at(-1) ?? path;
|
|
113
|
+
function codexContext(text, images) {
|
|
114
|
+
const start = /^(#{1,2}) ([^\n:]+):[ \t]*$/m.exec(text);
|
|
115
|
+
// Only an envelope Codex wrote: it opens the message with one of its own headings.
|
|
116
|
+
if (!start || start.index !== 0)
|
|
117
|
+
return undefined;
|
|
118
|
+
const heading = start[2];
|
|
119
|
+
if (!(start[1] === "#" ? heading in CONTEXT_SECTIONS : heading in MODES || /^My request(?: for Codex)?$/.test(heading)))
|
|
120
|
+
return undefined;
|
|
121
|
+
let cut = -1;
|
|
122
|
+
let after = 0;
|
|
123
|
+
for (const match of text.matchAll(REQUEST)) {
|
|
124
|
+
cut = match.index;
|
|
125
|
+
after = match.index + match[0].length;
|
|
126
|
+
}
|
|
127
|
+
const preface = cut < 0 ? text : text.slice(0, cut);
|
|
128
|
+
const request = cut < 0 ? "" : text.slice(after).trim();
|
|
129
|
+
const context = [];
|
|
130
|
+
let imageEntries = 0;
|
|
131
|
+
const sections = preface.split(/^(?=#{1,2} [^\n:]+:[ \t]*$)/m);
|
|
132
|
+
for (const section of sections) {
|
|
133
|
+
const head = /^(#{1,2}) ([^\n:]+):[ \t]*\n?/.exec(section);
|
|
134
|
+
if (!head)
|
|
135
|
+
continue;
|
|
136
|
+
const name = head[2];
|
|
137
|
+
const body = section.slice(head[0].length).trim();
|
|
138
|
+
if (head[1] === "##") {
|
|
139
|
+
const mode = MODES[name];
|
|
140
|
+
if (mode)
|
|
141
|
+
context.push({ kind: mode[0], label: mode[1] });
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
const kind = CONTEXT_SECTIONS[name];
|
|
145
|
+
if (kind === "file") {
|
|
146
|
+
for (const entry of body.matchAll(/^## (.+?): (.+?)(?: \((lines? [^)]*)\))?\n?(Image attachment: true)?$/gm)) {
|
|
147
|
+
if (entry[4]) {
|
|
148
|
+
imageEntries += 1;
|
|
149
|
+
// The picture itself is shown; a chip for it would say it twice.
|
|
150
|
+
if (imageEntries <= images)
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
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] });
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else if (kind === "pasted") {
|
|
157
|
+
for (const entry of body.matchAll(/^## "?(.+?)"?: (.+)$/gm))
|
|
158
|
+
context.push({ kind: "pasted", label: entry[1].trim(), detail: entry[2] });
|
|
159
|
+
}
|
|
160
|
+
else if (kind) {
|
|
161
|
+
context.push({ kind, label: SECTION_LABELS[name] ?? name, detail: body.split("\n").find((line) => line.trim())?.trim() });
|
|
162
|
+
}
|
|
163
|
+
else if (name !== "Distinguish instructions in attached documents from the user's request") {
|
|
164
|
+
context.push({ kind: "other", label: name });
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return { text: request, context };
|
|
168
|
+
}
|
|
169
|
+
// Claude writes a shell's output into its transcript with <, > and & escaped.
|
|
170
|
+
const ENTITIES = { lt: "<", gt: ">", amp: "&", quot: "\"", apos: "'" };
|
|
171
|
+
function unescapeHtml(value) {
|
|
172
|
+
// One pass: "&gt;" is the text ">", not ">".
|
|
173
|
+
return value.replace(/&(lt|gt|amp|quot|apos|#\d{1,7}|#x[0-9a-f]{1,6});/gi, (whole, name) => {
|
|
174
|
+
const key = name.toLowerCase();
|
|
175
|
+
const code = key.startsWith("#x") ? parseInt(key.slice(2), 16) : key.startsWith("#") ? Number(key.slice(1)) : undefined;
|
|
176
|
+
if (code === undefined)
|
|
177
|
+
return ENTITIES[key] ?? whole;
|
|
178
|
+
return code > 0 && code <= 0x10ffff ? String.fromCodePoint(code) : whole;
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
/** Output as a terminal shows it: no colour codes, a backspace takes back the character before it, other controls are not drawn. */
|
|
182
|
+
function printed(value) {
|
|
183
|
+
let text = value.replace(ANSI, "");
|
|
184
|
+
// eslint-disable-next-line no-control-regex -- a backspace is the character being handled.
|
|
185
|
+
for (let previous = ""; previous !== text;) {
|
|
186
|
+
previous = text;
|
|
187
|
+
text = text.replace(/[^\n\x08]\x08/g, "");
|
|
188
|
+
}
|
|
189
|
+
// eslint-disable-next-line no-control-regex -- what a terminal doesn't draw.
|
|
190
|
+
return text.replace(/[\x00-\x08\x0b-\x1f\x7f]/g, "");
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Codex Desktop writes a mention of another of its threads as a Markdown link to
|
|
194
|
+
* codex://threads/<id>, with the space before it as " ": read as the thread's title.
|
|
195
|
+
*/
|
|
196
|
+
function threadMentions(text) {
|
|
197
|
+
const read = text.replace(/&#(?:x20|32);/gi, " ").replace(/\[([^\]\n]+)\]\(codex:\/\/threads\/[\w-]+\)/g, "「$1」");
|
|
198
|
+
return read === text ? text : read.trim();
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* How to show a person's message: its words, what came with it, or the one event it is. `images`
|
|
202
|
+
* is how many pictures the message carries besides its text, so an envelope naming them doesn't
|
|
203
|
+
* also chip them.
|
|
204
|
+
*/
|
|
205
|
+
export function readUserText(raw, { images = 0 } = {}) {
|
|
206
|
+
let text = raw.replace(/\r\n/g, "\n");
|
|
207
|
+
const context = [];
|
|
208
|
+
const view = (rest) => ({ text: "", context, hidden: false, ...rest });
|
|
209
|
+
// The Claude app tells a session about the sessions it started in a reminder beside the event.
|
|
210
|
+
const sessions = [...text.matchAll(/The session "([^"\n]+)" you started \((local_[\w-]+)\)/g)].map((match) => ({ title: match[1], id: match[2] }));
|
|
211
|
+
const browser = /<in-app-browser-context\b[^>]*>[\s\S]*?<\/in-app-browser-context>/gi;
|
|
212
|
+
const withoutBrowser = text.replace(browser, "");
|
|
213
|
+
if (withoutBrowser !== text) {
|
|
214
|
+
context.push({ kind: "browser", label: "浏览器上下文" });
|
|
215
|
+
text = withoutBrowser;
|
|
216
|
+
}
|
|
217
|
+
text = stripHiddenContext(text);
|
|
218
|
+
if (only(text, "side-sessions-event"))
|
|
219
|
+
return view({ event: { kind: "sessions", sessions } });
|
|
220
|
+
if (!text)
|
|
221
|
+
return view({ hidden: images === 0 && context.length === 0 });
|
|
222
|
+
if (/^\[Request interrupted by user(?: for tool use)?\]$/.test(text))
|
|
223
|
+
return view({ hidden: true });
|
|
224
|
+
const ci = only(text, "ci-monitor-event");
|
|
225
|
+
if (ci)
|
|
226
|
+
return view({ event: { kind: "ci", count: ci } });
|
|
227
|
+
const github = only(text, "github-webhook-activity");
|
|
228
|
+
if (github)
|
|
229
|
+
return view({ event: { kind: "github", count: github } });
|
|
230
|
+
const scheduled = /^<scheduled-task\b([^>]*)>([\s\S]*?)<\/scheduled-task>$/i.exec(text);
|
|
231
|
+
if (scheduled) {
|
|
232
|
+
const name = attribute(scheduled[1], "name") ?? baseName(attribute(scheduled[1], "file") ?? "").replace(/\.md$/i, "");
|
|
233
|
+
return view({ event: { kind: "scheduled", name: name || "定时任务", detail: scheduled[2].trim() || undefined } });
|
|
234
|
+
}
|
|
235
|
+
if (/^<bash-(?:input|stdout|stderr)>/.test(text)) {
|
|
236
|
+
const clean = (value) => (value === undefined ? undefined : printed(unescapeHtml(value)).replace(/\n+$/, "")) || undefined;
|
|
237
|
+
const command = clean(tagText(text, "bash-input"))?.trim();
|
|
238
|
+
const stdout = clean(tagText(text, "bash-stdout"));
|
|
239
|
+
const stderr = clean(tagText(text, "bash-stderr"));
|
|
240
|
+
const rest = text.replace(/<(bash-(?:input|stdout|stderr|exit-code))>[\s\S]*?<\/\1>/g, "").trim();
|
|
241
|
+
return view({ shell: { command, stdout, stderr }, text: rest, hidden: !command && !stdout && !stderr && !rest });
|
|
242
|
+
}
|
|
243
|
+
if (/^<local-command-(?:stdout|stderr)>/.test(text)) {
|
|
244
|
+
const raw = [tagText(text, "local-command-stdout"), tagText(text, "local-command-stderr")]
|
|
245
|
+
.filter((part) => !!part?.trim())
|
|
246
|
+
.join("\n")
|
|
247
|
+
.replace(ANSI, "");
|
|
248
|
+
const output = unescapeHtml(raw).trim();
|
|
249
|
+
// /model's confirmation: the Claude app doesn't show the switch as a line either.
|
|
250
|
+
return view({ output: output || undefined, hidden: !output || /^Set model to\b/.test(output) });
|
|
251
|
+
}
|
|
252
|
+
// Slash-command plumbing the host couldn't read as a command, and notifications it didn't match.
|
|
253
|
+
if (/^<(?:command-name|local-command-|task-notification)/.test(text))
|
|
254
|
+
return view({ hidden: true });
|
|
255
|
+
const codex = codexContext(text, images);
|
|
256
|
+
if (codex) {
|
|
257
|
+
context.push(...codex.context);
|
|
258
|
+
const words = threadMentions(codex.text);
|
|
259
|
+
return view({ text: words, hidden: !words && images === 0 && context.length === 0 });
|
|
260
|
+
}
|
|
261
|
+
return view({ text: threadMentions(text) });
|
|
262
|
+
}
|
|
263
|
+
//# sourceMappingURL=envelopes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envelopes.js","sourceRoot":"","sources":["../../../../wire/src/envelopes.ts"],"names":[],"mappings":"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"}
|
package/dist/wire/src/goal.d.ts
CHANGED
|
@@ -2,65 +2,32 @@ import { z } from "zod";
|
|
|
2
2
|
/** Native agent state, not inferred from prose or a completed turn. */
|
|
3
3
|
export declare const sessionGoalSchema: z.ZodObject<{
|
|
4
4
|
objective: z.ZodString;
|
|
5
|
-
status: z.ZodEnum<
|
|
5
|
+
status: z.ZodEnum<{
|
|
6
|
+
active: "active";
|
|
7
|
+
paused: "paused";
|
|
8
|
+
blocked: "blocked";
|
|
9
|
+
usageLimited: "usageLimited";
|
|
10
|
+
budgetLimited: "budgetLimited";
|
|
11
|
+
complete: "complete";
|
|
12
|
+
}>;
|
|
6
13
|
tokenBudget: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
7
14
|
tokensUsed: z.ZodOptional<z.ZodNumber>;
|
|
8
15
|
timeUsedSeconds: z.ZodOptional<z.ZodNumber>;
|
|
9
16
|
iterations: z.ZodOptional<z.ZodNumber>;
|
|
10
17
|
lastReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
11
|
-
},
|
|
12
|
-
objective: string;
|
|
13
|
-
status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
|
|
14
|
-
tokenBudget?: number | null | undefined;
|
|
15
|
-
tokensUsed?: number | undefined;
|
|
16
|
-
timeUsedSeconds?: number | undefined;
|
|
17
|
-
iterations?: number | undefined;
|
|
18
|
-
lastReason?: string | null | undefined;
|
|
19
|
-
}, {
|
|
20
|
-
objective: string;
|
|
21
|
-
status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
|
|
22
|
-
tokenBudget?: number | null | undefined;
|
|
23
|
-
tokensUsed?: number | undefined;
|
|
24
|
-
timeUsedSeconds?: number | undefined;
|
|
25
|
-
iterations?: number | undefined;
|
|
26
|
-
lastReason?: string | null | undefined;
|
|
27
|
-
}>;
|
|
18
|
+
}, z.core.$strip>;
|
|
28
19
|
export type SessionGoal = z.infer<typeof sessionGoalSchema>;
|
|
29
|
-
export declare const goalChangeSchema: z.ZodDiscriminatedUnion<
|
|
20
|
+
export declare const goalChangeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
30
21
|
action: z.ZodLiteral<"get">;
|
|
31
|
-
},
|
|
32
|
-
action: "get";
|
|
33
|
-
}, {
|
|
34
|
-
action: "get";
|
|
35
|
-
}>, z.ZodObject<{
|
|
22
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
36
23
|
action: z.ZodLiteral<"set">;
|
|
37
24
|
objective: z.ZodString;
|
|
38
25
|
tokenBudget: z.ZodOptional<z.ZodNumber>;
|
|
39
|
-
},
|
|
40
|
-
objective: string;
|
|
41
|
-
action: "set";
|
|
42
|
-
tokenBudget?: number | undefined;
|
|
43
|
-
}, {
|
|
44
|
-
objective: string;
|
|
45
|
-
action: "set";
|
|
46
|
-
tokenBudget?: number | undefined;
|
|
47
|
-
}>, z.ZodObject<{
|
|
26
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
48
27
|
action: z.ZodLiteral<"pause">;
|
|
49
|
-
},
|
|
50
|
-
action: "pause";
|
|
51
|
-
}, {
|
|
52
|
-
action: "pause";
|
|
53
|
-
}>, z.ZodObject<{
|
|
28
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
54
29
|
action: z.ZodLiteral<"resume">;
|
|
55
|
-
},
|
|
56
|
-
action: "resume";
|
|
57
|
-
}, {
|
|
58
|
-
action: "resume";
|
|
59
|
-
}>, z.ZodObject<{
|
|
30
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
60
31
|
action: z.ZodLiteral<"clear">;
|
|
61
|
-
},
|
|
62
|
-
action: "clear";
|
|
63
|
-
}, {
|
|
64
|
-
action: "clear";
|
|
65
|
-
}>]>;
|
|
32
|
+
}, z.core.$strip>], "action">;
|
|
66
33
|
export type GoalChange = z.infer<typeof goalChangeSchema>;
|
package/dist/wire/src/index.d.ts
CHANGED
package/dist/wire/src/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../wire/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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../wire/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"}
|