poly-weaver 1.1.0 → 1.2.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/agents/implementors/index.d.ts +2 -2
- package/dist/agents/implementors/index.d.ts.map +1 -1
- package/dist/agents/implementors/index.js.map +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +7 -6
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/interviewers/index.d.ts +2 -2
- package/dist/agents/interviewers/index.d.ts.map +1 -1
- package/dist/agents/planners/index.d.ts +2 -2
- package/dist/agents/planners/index.d.ts.map +1 -1
- package/dist/agents/planners/index.js.map +1 -1
- package/dist/agents/registry.d.ts +2 -1
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +1 -1
- package/dist/agents/registry.js.map +1 -1
- package/dist/agents/reviewers/index.d.ts +2 -2
- package/dist/agents/reviewers/index.d.ts.map +1 -1
- package/dist/agents/reviewers/index.js.map +1 -1
- package/dist/agents/runner.d.ts +3 -1
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +106 -64
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/simplifiers/adapter.d.ts.map +1 -1
- package/dist/agents/simplifiers/adapter.js +1 -0
- package/dist/agents/simplifiers/adapter.js.map +1 -1
- package/dist/agents/simplifiers/dsl.d.ts +1 -0
- package/dist/agents/simplifiers/dsl.d.ts.map +1 -1
- package/dist/agents/simplifiers/dsl.js +1 -0
- package/dist/agents/simplifiers/dsl.js.map +1 -1
- package/dist/agents/simplifiers/handler.d.ts.map +1 -1
- package/dist/agents/simplifiers/handler.js +1 -0
- package/dist/agents/simplifiers/handler.js.map +1 -1
- package/dist/agents/simplifiers/index.d.ts +2 -2
- package/dist/agents/simplifiers/index.d.ts.map +1 -1
- package/dist/agents/simplifiers/index.js.map +1 -1
- package/dist/agents/simplifiers/prompts.d.ts +1 -0
- package/dist/agents/simplifiers/prompts.d.ts.map +1 -1
- package/dist/agents/simplifiers/prompts.js +1 -1
- package/dist/agents/simplifiers/prompts.js.map +1 -1
- package/dist/agents/simplifiers/types.d.ts +1 -0
- package/dist/agents/simplifiers/types.d.ts.map +1 -1
- package/dist/cleanup.d.ts +9 -0
- package/dist/cleanup.d.ts.map +1 -0
- package/dist/cleanup.js +35 -0
- package/dist/cleanup.js.map +1 -0
- package/dist/cli.js +30 -13
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +5 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/crosscheck/coordinator.d.ts.map +1 -1
- package/dist/crosscheck/coordinator.js +52 -36
- package/dist/crosscheck/coordinator.js.map +1 -1
- package/dist/crosscheck/live-agent-session.d.ts +8 -1
- package/dist/crosscheck/live-agent-session.d.ts.map +1 -1
- package/dist/crosscheck/live-agent-session.js +62 -31
- package/dist/crosscheck/live-agent-session.js.map +1 -1
- package/dist/dump/collector.d.ts.map +1 -1
- package/dist/dump/collector.js +1 -0
- package/dist/dump/collector.js.map +1 -1
- package/dist/dump/observer-diagnostics.d.ts +6 -0
- package/dist/dump/observer-diagnostics.d.ts.map +1 -0
- package/dist/dump/observer-diagnostics.js +19 -0
- package/dist/dump/observer-diagnostics.js.map +1 -0
- package/dist/dump/service.d.ts.map +1 -1
- package/dist/dump/service.js +2 -3
- package/dist/dump/service.js.map +1 -1
- package/dist/dump/types.d.ts +2 -0
- package/dist/dump/types.d.ts.map +1 -1
- package/dist/flow/built-in/simplify-factory.d.ts.map +1 -1
- package/dist/flow/built-in/simplify-factory.js +4 -1
- package/dist/flow/built-in/simplify-factory.js.map +1 -1
- package/dist/flow/built-in/simplify.d.ts +1 -0
- package/dist/flow/built-in/simplify.d.ts.map +1 -1
- package/dist/flow/built-in/simplify.js +3 -2
- package/dist/flow/built-in/simplify.js.map +1 -1
- package/dist/flow/dsl.d.ts +1 -0
- package/dist/flow/dsl.d.ts.map +1 -1
- package/dist/flow/dsl.js +1 -0
- package/dist/flow/dsl.js.map +1 -1
- package/dist/flow/executor.d.ts.map +1 -1
- package/dist/flow/executor.js +3 -3
- package/dist/flow/executor.js.map +1 -1
- package/dist/flow/params.d.ts +3 -1
- package/dist/flow/params.d.ts.map +1 -1
- package/dist/flow/params.js +85 -121
- package/dist/flow/params.js.map +1 -1
- package/dist/flow/types.d.ts +5 -2
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/flow/types.js.map +1 -1
- package/dist/offscreen/controller.d.ts +1 -1
- package/dist/offscreen/controller.d.ts.map +1 -1
- package/dist/offscreen/controller.js +67 -45
- package/dist/offscreen/controller.js.map +1 -1
- package/dist/offscreen/fork.d.ts +6 -3
- package/dist/offscreen/fork.d.ts.map +1 -1
- package/dist/offscreen/fork.js +57 -33
- package/dist/offscreen/fork.js.map +1 -1
- package/dist/offscreen/inquiry-pane.d.ts.map +1 -1
- package/dist/offscreen/inquiry-pane.js +7 -2
- package/dist/offscreen/inquiry-pane.js.map +1 -1
- package/dist/offscreen/inquiry-sender.d.ts +1 -0
- package/dist/offscreen/inquiry-sender.d.ts.map +1 -1
- package/dist/offscreen/inquiry-sender.js +12 -2
- package/dist/offscreen/inquiry-sender.js.map +1 -1
- package/dist/offscreen/registry.d.ts.map +1 -1
- package/dist/offscreen/registry.js +14 -12
- package/dist/offscreen/registry.js.map +1 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +20 -24
- package/dist/orchestrator.js.map +1 -1
- package/dist/preview-panel.d.ts +4 -1
- package/dist/preview-panel.d.ts.map +1 -1
- package/dist/preview-panel.js +114 -55
- package/dist/preview-panel.js.map +1 -1
- package/dist/providers/configuration-presentation.d.ts.map +1 -1
- package/dist/providers/configuration-presentation.js +5 -8
- package/dist/providers/configuration-presentation.js.map +1 -1
- package/dist/providers/copilot/capability-discovery.d.ts +16 -0
- package/dist/providers/copilot/capability-discovery.d.ts.map +1 -0
- package/dist/providers/copilot/capability-discovery.js +238 -0
- package/dist/providers/copilot/capability-discovery.js.map +1 -0
- package/dist/providers/copilot/capability-extension/extension.d.mts +2 -0
- package/dist/providers/copilot/capability-extension/extension.d.mts.map +1 -0
- package/dist/providers/copilot/capability-extension/extension.mjs +46 -0
- package/dist/providers/copilot/capability-extension/extension.mjs.map +1 -0
- package/dist/providers/copilot/completion.d.ts +2 -0
- package/dist/providers/copilot/completion.d.ts.map +1 -1
- package/dist/providers/copilot/completion.js +27 -0
- package/dist/providers/copilot/completion.js.map +1 -1
- package/dist/providers/copilot/model-capabilities.d.ts +21 -0
- package/dist/providers/copilot/model-capabilities.d.ts.map +1 -0
- package/dist/providers/copilot/model-capabilities.js +76 -0
- package/dist/providers/copilot/model-capabilities.js.map +1 -0
- package/dist/providers/copilot/observation.d.ts +123 -15
- package/dist/providers/copilot/observation.d.ts.map +1 -1
- package/dist/providers/copilot/observation.js +807 -179
- package/dist/providers/copilot/observation.js.map +1 -1
- package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.mjs +332 -66
- package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.mjs.map +1 -1
- package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/history-evidence.d.mts +17 -0
- package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/history-evidence.d.mts.map +1 -0
- package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/history-evidence.mjs +54 -0
- package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/history-evidence.mjs.map +1 -0
- package/dist/providers/copilot/strategy.d.ts +8 -8
- package/dist/providers/copilot/strategy.d.ts.map +1 -1
- package/dist/providers/copilot/strategy.js +61 -145
- package/dist/providers/copilot/strategy.js.map +1 -1
- package/dist/providers/copilot/trust.js +1 -1
- package/dist/providers/copilot/trust.js.map +1 -1
- package/dist/providers/fork-cleanup.d.ts.map +1 -1
- package/dist/providers/fork-cleanup.js +3 -19
- package/dist/providers/fork-cleanup.js.map +1 -1
- package/dist/providers/initialization.d.ts +14 -0
- package/dist/providers/initialization.d.ts.map +1 -0
- package/dist/providers/initialization.js +74 -0
- package/dist/providers/initialization.js.map +1 -0
- package/dist/providers/invoke.d.ts.map +1 -1
- package/dist/providers/invoke.js +54 -32
- package/dist/providers/invoke.js.map +1 -1
- package/dist/providers/observer-run.d.ts.map +1 -1
- package/dist/providers/observer-run.js +3 -2
- package/dist/providers/observer-run.js.map +1 -1
- package/dist/providers/option-catalog.d.ts +12 -8
- package/dist/providers/option-catalog.d.ts.map +1 -1
- package/dist/providers/option-catalog.js +25 -13
- package/dist/providers/option-catalog.js.map +1 -1
- package/dist/providers/registry.d.ts +3 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +20 -9
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/session-launch.d.ts.map +1 -1
- package/dist/providers/session-launch.js +2 -1
- package/dist/providers/session-launch.js.map +1 -1
- package/dist/providers/types.d.ts +35 -8
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/pty/exit.d.ts +3 -1
- package/dist/pty/exit.d.ts.map +1 -1
- package/dist/pty/exit.js +39 -6
- package/dist/pty/exit.js.map +1 -1
- package/dist/pty/spawn.d.ts.map +1 -1
- package/dist/pty/spawn.js +7 -3
- package/dist/pty/spawn.js.map +1 -1
- package/dist/pty/types.d.ts +1 -1
- package/dist/pty/types.d.ts.map +1 -1
- package/dist/session/resume.d.ts.map +1 -1
- package/dist/session/resume.js +7 -0
- package/dist/session/resume.js.map +1 -1
- package/dist/startup-tui.d.ts +1 -0
- package/dist/startup-tui.d.ts.map +1 -1
- package/dist/startup-tui.js +17 -6
- package/dist/startup-tui.js.map +1 -1
- package/dist/terminal/color-negotiation.d.ts +37 -0
- package/dist/terminal/color-negotiation.d.ts.map +1 -0
- package/dist/terminal/color-negotiation.js +154 -0
- package/dist/terminal/color-negotiation.js.map +1 -0
- package/dist/terminal/color-protocol.d.ts +36 -0
- package/dist/terminal/color-protocol.d.ts.map +1 -0
- package/dist/terminal/color-protocol.js +88 -0
- package/dist/terminal/color-protocol.js.map +1 -0
- package/dist/terminal/host-input-mode.d.ts.map +1 -1
- package/dist/terminal/host-input-mode.js +6 -2
- package/dist/terminal/host-input-mode.js.map +1 -1
- package/dist/terminal/host.d.ts +13 -4
- package/dist/terminal/host.d.ts.map +1 -1
- package/dist/terminal/host.js +147 -51
- package/dist/terminal/host.js.map +1 -1
- package/dist/terminal/input-session.d.ts +23 -0
- package/dist/terminal/input-session.d.ts.map +1 -0
- package/dist/terminal/input-session.js +97 -0
- package/dist/terminal/input-session.js.map +1 -0
- package/dist/terminal/key-event-source.d.ts +5 -1
- package/dist/terminal/key-event-source.d.ts.map +1 -1
- package/dist/terminal/key-event-source.js +1 -0
- package/dist/terminal/key-event-source.js.map +1 -1
- package/dist/terminal/stdin-byte-source.d.ts +13 -8
- package/dist/terminal/stdin-byte-source.d.ts.map +1 -1
- package/dist/terminal/stdin-byte-source.js +84 -40
- package/dist/terminal/stdin-byte-source.js.map +1 -1
- package/dist/terminal/virtual-terminal.d.ts +2 -0
- package/dist/terminal/virtual-terminal.d.ts.map +1 -1
- package/dist/terminal/virtual-terminal.js +17 -0
- package/dist/terminal/virtual-terminal.js.map +1 -1
- package/dist/terminal-input.d.ts +19 -2
- package/dist/terminal-input.d.ts.map +1 -1
- package/dist/terminal-input.js +162 -6
- package/dist/terminal-input.js.map +1 -1
- package/dist/user/host-curate-prompt.d.ts.map +1 -1
- package/dist/user/host-curate-prompt.js +9 -5
- package/dist/user/host-curate-prompt.js.map +1 -1
- package/dist/user/host-prompt.d.ts.map +1 -1
- package/dist/user/host-prompt.js +9 -5
- package/dist/user/host-prompt.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { colorIdentity, encodeColorQuery, encodeColorReport, inputClock, } from "./color-protocol.js";
|
|
2
|
+
export const COLOR_REPLY_TIMEOUT_MS = 1_500;
|
|
3
|
+
export const MAX_COLOR_REQUESTS = 256;
|
|
4
|
+
export const MAX_COLOR_WIRE_SLOTS = 1_024;
|
|
5
|
+
/** OSC replies carry no request IDs. An abandoned wire slot cannot be safely reused until drained. */
|
|
6
|
+
export class ColorNegotiation {
|
|
7
|
+
options;
|
|
8
|
+
pending = new Set();
|
|
9
|
+
wire = new Map();
|
|
10
|
+
owners = new Set();
|
|
11
|
+
clock;
|
|
12
|
+
suspended = false;
|
|
13
|
+
disposed = false;
|
|
14
|
+
failed = false;
|
|
15
|
+
pumpScheduled = false;
|
|
16
|
+
constructor(options) {
|
|
17
|
+
this.options = options;
|
|
18
|
+
this.clock = options.clock ?? inputClock;
|
|
19
|
+
}
|
|
20
|
+
register = (writeReply, signal) => {
|
|
21
|
+
const owner = { write: this.disposed || signal?.aborted ? undefined : writeReply };
|
|
22
|
+
if (owner.write)
|
|
23
|
+
this.owners.add(owner);
|
|
24
|
+
const dispose = () => {
|
|
25
|
+
owner.write = undefined;
|
|
26
|
+
owner.removeAbort?.();
|
|
27
|
+
owner.removeAbort = undefined;
|
|
28
|
+
this.owners.delete(owner);
|
|
29
|
+
for (const request of this.pending) {
|
|
30
|
+
if (request.owner === owner)
|
|
31
|
+
this.retire(request);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
if (owner.write && signal) {
|
|
35
|
+
signal.addEventListener("abort", dispose, { once: true });
|
|
36
|
+
owner.removeAbort = () => signal.removeEventListener("abort", dispose);
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
query: (query) => {
|
|
40
|
+
if (!owner.write || this.disposed || this.failed || !this.options.enabled
|
|
41
|
+
|| this.pending.size >= MAX_COLOR_REQUESTS)
|
|
42
|
+
return;
|
|
43
|
+
const request = {
|
|
44
|
+
owner,
|
|
45
|
+
query,
|
|
46
|
+
deadline: this.clock.now() + COLOR_REPLY_TIMEOUT_MS,
|
|
47
|
+
timer: this.clock.setTimeout(() => this.retire(request), COLOR_REPLY_TIMEOUT_MS),
|
|
48
|
+
};
|
|
49
|
+
this.pending.add(request);
|
|
50
|
+
this.pump();
|
|
51
|
+
},
|
|
52
|
+
dispose,
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
receive(report) {
|
|
56
|
+
if (this.disposed)
|
|
57
|
+
return;
|
|
58
|
+
const key = colorIdentity(report);
|
|
59
|
+
const slot = this.wire.get(key);
|
|
60
|
+
if (!slot)
|
|
61
|
+
return;
|
|
62
|
+
const request = slot.request;
|
|
63
|
+
this.wire.delete(key);
|
|
64
|
+
if (request) {
|
|
65
|
+
this.pending.delete(request);
|
|
66
|
+
this.clock.clearTimeout(request.timer);
|
|
67
|
+
if (this.clock.now() < request.deadline && request.owner.write && !this.failed) {
|
|
68
|
+
try {
|
|
69
|
+
request.owner.write(encodeColorReport(report));
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
this.options.warn("Terminal color reply write failed.");
|
|
73
|
+
request.owner.write = undefined;
|
|
74
|
+
request.owner.removeAbort?.();
|
|
75
|
+
request.owner.removeAbort = undefined;
|
|
76
|
+
this.owners.delete(request.owner);
|
|
77
|
+
for (const pending of this.pending) {
|
|
78
|
+
if (pending.owner === request.owner)
|
|
79
|
+
this.retire(pending);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// Finish dispatching this input burst before issuing another indistinguishable ask.
|
|
85
|
+
if (!this.pumpScheduled) {
|
|
86
|
+
this.pumpScheduled = true;
|
|
87
|
+
queueMicrotask(() => {
|
|
88
|
+
this.pumpScheduled = false;
|
|
89
|
+
this.pump();
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
setSuspended(suspended) {
|
|
94
|
+
this.suspended = suspended;
|
|
95
|
+
if (!suspended)
|
|
96
|
+
this.pump();
|
|
97
|
+
}
|
|
98
|
+
fail() {
|
|
99
|
+
if (this.disposed || this.failed)
|
|
100
|
+
return;
|
|
101
|
+
this.failed = true;
|
|
102
|
+
for (const request of this.pending)
|
|
103
|
+
this.retire(request);
|
|
104
|
+
this.options.warn("Terminal color negotiation stream failed.");
|
|
105
|
+
}
|
|
106
|
+
dispose() {
|
|
107
|
+
if (this.disposed)
|
|
108
|
+
return;
|
|
109
|
+
this.disposed = true;
|
|
110
|
+
for (const request of this.pending)
|
|
111
|
+
this.clock.clearTimeout(request.timer);
|
|
112
|
+
for (const owner of this.owners) {
|
|
113
|
+
owner.write = undefined;
|
|
114
|
+
owner.removeAbort?.();
|
|
115
|
+
}
|
|
116
|
+
this.owners.clear();
|
|
117
|
+
this.pending.clear();
|
|
118
|
+
this.wire.clear();
|
|
119
|
+
}
|
|
120
|
+
retire(request) {
|
|
121
|
+
if (!this.pending.delete(request))
|
|
122
|
+
return;
|
|
123
|
+
this.clock.clearTimeout(request.timer);
|
|
124
|
+
const slot = this.wire.get(colorIdentity(request.query));
|
|
125
|
+
if (slot?.request === request)
|
|
126
|
+
slot.request = undefined;
|
|
127
|
+
}
|
|
128
|
+
pump() {
|
|
129
|
+
if (this.disposed || this.failed || this.suspended || this.pumpScheduled)
|
|
130
|
+
return;
|
|
131
|
+
for (const request of this.pending) {
|
|
132
|
+
if (this.clock.now() >= request.deadline || !request.owner.write) {
|
|
133
|
+
this.retire(request);
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
const key = colorIdentity(request.query);
|
|
137
|
+
if (this.wire.has(key) || this.wire.size >= MAX_COLOR_WIRE_SLOTS)
|
|
138
|
+
continue;
|
|
139
|
+
this.wire.set(key, { request });
|
|
140
|
+
try {
|
|
141
|
+
this.options.writeQuery(encodeColorQuery(request.query), (error) => {
|
|
142
|
+
if (error)
|
|
143
|
+
this.fail();
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
this.fail();
|
|
148
|
+
}
|
|
149
|
+
if (this.disposed || this.failed || this.suspended)
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=color-negotiation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-negotiation.js","sourceRoot":"","sources":["../../src/terminal/color-negotiation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type ColorQuery = {
|
|
2
|
+
kind: "foreground" | "background" | "appearance";
|
|
3
|
+
} | {
|
|
4
|
+
kind: "palette";
|
|
5
|
+
index: number;
|
|
6
|
+
};
|
|
7
|
+
export type ColorReport = {
|
|
8
|
+
kind: "foreground" | "background";
|
|
9
|
+
value: string;
|
|
10
|
+
} | {
|
|
11
|
+
kind: "palette";
|
|
12
|
+
index: number;
|
|
13
|
+
value: string;
|
|
14
|
+
} | {
|
|
15
|
+
kind: "appearance";
|
|
16
|
+
value: "1" | "2";
|
|
17
|
+
};
|
|
18
|
+
export declare const COLOR_PREFIX_TIMEOUT_MS = 50;
|
|
19
|
+
export declare const COLOR_FRAME_TIMEOUT_MS = 1000;
|
|
20
|
+
export declare const MAX_COLOR_FRAME_BYTES: number;
|
|
21
|
+
export declare const MAX_PALETTE_INDEX = 65535;
|
|
22
|
+
export declare const COLOR_REPORT_HEADERS: readonly ["\u001B]10;", "\u001B]11;", "\u001B]4;", "\u001B[?997;"];
|
|
23
|
+
export interface InputClock {
|
|
24
|
+
now(): number;
|
|
25
|
+
setTimeout(callback: () => void, ms: number): ReturnType<typeof setTimeout>;
|
|
26
|
+
clearTimeout: typeof clearTimeout;
|
|
27
|
+
}
|
|
28
|
+
export declare const inputClock: InputClock;
|
|
29
|
+
/** Extract only read components; never forward an agent's original OSC payload. */
|
|
30
|
+
export declare function parseColorQueries(command: number, data: string): ColorQuery[];
|
|
31
|
+
export declare function colorIdentity(query: ColorQuery): string;
|
|
32
|
+
export declare function encodeColorQuery(query: ColorQuery): string;
|
|
33
|
+
export declare function encodeColorReport(report: ColorReport): string;
|
|
34
|
+
/** The framer has already removed the terminator and enforced byte/time bounds. */
|
|
35
|
+
export declare function parseColorReports(header: string, body: string): ColorReport[];
|
|
36
|
+
//# sourceMappingURL=color-protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-protocol.d.ts","sourceRoot":"","sources":["../../src/terminal/color-protocol.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,YAAY,GAAG,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAAA;CAAE,CAAC;AAE7C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,sBAAsB,OAAQ,CAAC;AAC5C,eAAO,MAAM,qBAAqB,QAAY,CAAC;AAC/C,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,eAAO,MAAM,oBAAoB,oEAA6D,CAAC;AAE/F,MAAM,WAAW,UAAU;IACzB,GAAG,IAAI,MAAM,CAAC;IACd,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAC5E,YAAY,EAAE,OAAO,YAAY,CAAC;CACnC;AAED,eAAO,MAAM,UAAU,EAAE,UAIxB,CAAC;AAeF,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAe7E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEvD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAO1D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAO7D;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAsB7E"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
export const COLOR_PREFIX_TIMEOUT_MS = 50;
|
|
2
|
+
export const COLOR_FRAME_TIMEOUT_MS = 1_000;
|
|
3
|
+
export const MAX_COLOR_FRAME_BYTES = 64 * 1024;
|
|
4
|
+
export const MAX_PALETTE_INDEX = 65_535;
|
|
5
|
+
export const COLOR_REPORT_HEADERS = ["\x1b]10;", "\x1b]11;", "\x1b]4;", "\x1b[?997;"];
|
|
6
|
+
export const inputClock = {
|
|
7
|
+
now: () => performance.now(),
|
|
8
|
+
setTimeout: (callback, ms) => setTimeout(callback, ms),
|
|
9
|
+
clearTimeout: (timer) => clearTimeout(timer),
|
|
10
|
+
};
|
|
11
|
+
function paletteIndex(value) {
|
|
12
|
+
if (!/^\d{1,5}$/.test(value))
|
|
13
|
+
return undefined;
|
|
14
|
+
const index = Number(value);
|
|
15
|
+
return index <= MAX_PALETTE_INDEX ? index : undefined;
|
|
16
|
+
}
|
|
17
|
+
function isColor(value) {
|
|
18
|
+
return /^rgb:[\da-f]{1,4}\/[\da-f]{1,4}\/[\da-f]{1,4}$/i.test(value)
|
|
19
|
+
|| /^#(?:[\da-f]{3}|[\da-f]{6}|[\da-f]{9}|[\da-f]{12})$/i.test(value)
|
|
20
|
+
|| (/^rgbi:(?:\d*\.?\d+)\/(?:\d*\.?\d+)\/(?:\d*\.?\d+)$/i.test(value)
|
|
21
|
+
&& value.slice(5).split("/").every((part) => Number(part) <= 1));
|
|
22
|
+
}
|
|
23
|
+
/** Extract only read components; never forward an agent's original OSC payload. */
|
|
24
|
+
export function parseColorQueries(command, data) {
|
|
25
|
+
if (data.length > MAX_COLOR_FRAME_BYTES)
|
|
26
|
+
return [];
|
|
27
|
+
const parts = data.split(";");
|
|
28
|
+
const queries = [];
|
|
29
|
+
if (command === 4) {
|
|
30
|
+
for (let i = 0; i + 1 < parts.length; i += 2) {
|
|
31
|
+
const index = paletteIndex(parts[i]);
|
|
32
|
+
if (index !== undefined && parts[i + 1] === "?")
|
|
33
|
+
queries.push({ kind: "palette", index });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
else if (command === 10 || command === 11) {
|
|
37
|
+
for (let i = 0; i < parts.length && command + i <= 11; i++) {
|
|
38
|
+
if (parts[i] === "?")
|
|
39
|
+
queries.push({ kind: command + i === 10 ? "foreground" : "background" });
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return queries;
|
|
43
|
+
}
|
|
44
|
+
export function colorIdentity(query) {
|
|
45
|
+
return query.kind === "palette" ? `palette:${query.index}` : query.kind;
|
|
46
|
+
}
|
|
47
|
+
export function encodeColorQuery(query) {
|
|
48
|
+
switch (query.kind) {
|
|
49
|
+
case "appearance": return "\x1b[?996n";
|
|
50
|
+
case "foreground": return "\x1b]10;?\x07";
|
|
51
|
+
case "background": return "\x1b]11;?\x07";
|
|
52
|
+
case "palette": return `\x1b]4;${query.index};?\x07`;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export function encodeColorReport(report) {
|
|
56
|
+
switch (report.kind) {
|
|
57
|
+
case "appearance": return `\x1b[?997;${report.value}n`;
|
|
58
|
+
case "foreground": return `\x1b]10;${report.value}\x07`;
|
|
59
|
+
case "background": return `\x1b]11;${report.value}\x07`;
|
|
60
|
+
case "palette": return `\x1b]4;${report.index};${report.value}\x07`;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/** The framer has already removed the terminator and enforced byte/time bounds. */
|
|
64
|
+
export function parseColorReports(header, body) {
|
|
65
|
+
if (header === "\x1b[?997;") {
|
|
66
|
+
return body === "1" || body === "2" ? [{ kind: "appearance", value: body }] : [];
|
|
67
|
+
}
|
|
68
|
+
const parts = body.split(";");
|
|
69
|
+
const reports = [];
|
|
70
|
+
if (header === "\x1b]4;") {
|
|
71
|
+
for (let i = 0; i + 1 < parts.length; i += 2) {
|
|
72
|
+
const index = paletteIndex(parts[i]);
|
|
73
|
+
if (index !== undefined && isColor(parts[i + 1])) {
|
|
74
|
+
reports.push({ kind: "palette", index, value: parts[i + 1] });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const command = header === "\x1b]10;" ? 10 : 11;
|
|
80
|
+
for (let i = 0; i < parts.length && command + i <= 11; i++) {
|
|
81
|
+
if (isColor(parts[i])) {
|
|
82
|
+
reports.push({ kind: command + i === 10 ? "foreground" : "background", value: parts[i] });
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return reports;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=color-protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-protocol.js","sourceRoot":"","sources":["../../src/terminal/color-protocol.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAC5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,CAAU,CAAC;AAQ/F,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;IAC5B,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;IACtD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;CAC7C,CAAC;AAEF,SAAS,YAAY,CAAC,KAAa;IACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,KAAK,IAAI,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,iDAAiD,CAAC,IAAI,CAAC,KAAK,CAAC;WAC/D,sDAAsD,CAAC,IAAI,CAAC,KAAK,CAAC;WAClE,CAAC,qDAAqD,CAAC,IAAI,CAAC,KAAK,CAAC;eAChE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,IAAY;IAC7D,IAAI,IAAI,CAAC,MAAM,GAAG,qBAAqB;QAAE,OAAO,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3D,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC7C,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAChD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,YAAY,CAAC,CAAC,OAAO,YAAY,CAAC;QACvC,KAAK,YAAY,CAAC,CAAC,OAAO,eAAe,CAAC;QAC1C,KAAK,YAAY,CAAC,CAAC,OAAO,eAAe,CAAC;QAC1C,KAAK,SAAS,CAAC,CAAC,OAAO,UAAU,KAAK,CAAC,KAAK,QAAQ,CAAC;IACvD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACnD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,YAAY,CAAC,CAAC,OAAO,aAAa,MAAM,CAAC,KAAK,GAAG,CAAC;QACvD,KAAK,YAAY,CAAC,CAAC,OAAO,WAAW,MAAM,CAAC,KAAK,MAAM,CAAC;QACxD,KAAK,YAAY,CAAC,CAAC,OAAO,WAAW,MAAM,CAAC,KAAK,MAAM,CAAC;QACxD,KAAK,SAAS,CAAC,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC;IACtE,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,IAAY;IAC5D,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3D,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-input-mode.d.ts","sourceRoot":"","sources":["../../src/terminal/host-input-mode.ts"],"names":[],"mappings":"AAyBA,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAIrE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"host-input-mode.d.ts","sourceRoot":"","sources":["../../src/terminal/host-input-mode.ts"],"names":[],"mappings":"AAyBA,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAIrE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAOtE;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,MAAM,IAAI,CAQrF;AAED,wBAAgB,4BAA4B,IAAI,IAAI,CAMnD"}
|
|
@@ -20,8 +20,12 @@ export function enableHostInputModes(out) {
|
|
|
20
20
|
export function disableHostInputModes(out) {
|
|
21
21
|
if (kittyDepth === 0)
|
|
22
22
|
return;
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
try {
|
|
24
|
+
out.write(BRACKETED_PASTE_OFF + KITTY_POP);
|
|
25
|
+
}
|
|
26
|
+
finally {
|
|
27
|
+
kittyDepth--;
|
|
28
|
+
}
|
|
25
29
|
}
|
|
26
30
|
export function enableRightClickPasteMouseMode(out) {
|
|
27
31
|
out.write(MOUSE_BUTTON_EVENT_ON + MOUSE_SGR_ON);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-input-mode.js","sourceRoot":"","sources":["../../src/terminal/host-input-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,IAAI,UAAU,GAAG,CAAC,CAAC;AACnB,IAAI,WAAqC,CAAC;AAE1C,SAAS,iBAAiB;IACxB,IAAI,WAAW;QAAE,OAAO;IACxB,WAAW,GAAG,GAAG,EAAE;QACjB,IAAI,UAAU,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACzE,UAAU,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAA0B;IAC7D,iBAAiB,EAAE,CAAC;IACpB,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,kBAAkB,CAAC,CAAC;IAC3C,UAAU,EAAE,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAA0B;IAC9D,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO;IAC7B,GAAG,CAAC,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"host-input-mode.js","sourceRoot":"","sources":["../../src/terminal/host-input-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,IAAI,UAAU,GAAG,CAAC,CAAC;AACnB,IAAI,WAAqC,CAAC;AAE1C,SAAS,iBAAiB;IACxB,IAAI,WAAW;QAAE,OAAO;IACxB,WAAW,GAAG,GAAG,EAAE;QACjB,IAAI,UAAU,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACzE,UAAU,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAA0B;IAC7D,iBAAiB,EAAE,CAAC;IACpB,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,kBAAkB,CAAC,CAAC;IAC3C,UAAU,EAAE,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAA0B;IAC9D,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO;IAC7B,IAAI,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAC7C,CAAC;YAAS,CAAC;QACT,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,GAA0B;IACvE,GAAG,CAAC,KAAK,CAAC,qBAAqB,GAAG,YAAY,CAAC,CAAC;IAChD,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,OAAO,GAAG,EAAE;QACV,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,GAAG,KAAK,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,sBAAsB,GAAG,aAAa,CAAC,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,UAAU,GAAG,CAAC,CAAC;IACf,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC5C,WAAW,GAAG,SAAS,CAAC;IAC1B,CAAC;AACH,CAAC"}
|
package/dist/terminal/host.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { VirtualTerminal } from "./virtual-terminal.js";
|
|
|
3
3
|
import { BufferOrchestrationOutput, type OrchestrationOutput } from "./output.js";
|
|
4
4
|
import { type ParentUiMode } from "./input-router.js";
|
|
5
5
|
import { type KeyEventSource } from "./key-event-source.js";
|
|
6
|
+
import { type RegisterTerminalColors } from "./color-negotiation.js";
|
|
6
7
|
import { type MouseMode } from "./mouse-mode-tracker.js";
|
|
7
8
|
import { copyToClipboard } from "./clipboard-write.js";
|
|
8
9
|
import { type DocSurfaceSelectionPane, type SelectionRegion } from "./selection.js";
|
|
@@ -42,10 +43,10 @@ export interface TerminalHostOptions {
|
|
|
42
43
|
/**
|
|
43
44
|
* I/O surface handed to a callback running inside `runIsolatedAltScreen`.
|
|
44
45
|
* The callback owns the alternate screen for its duration; the host has
|
|
45
|
-
* left its own alt screen
|
|
46
|
+
* left its own alt screen. The supplied source borrows the host's framing owner.
|
|
46
47
|
*/
|
|
47
48
|
export interface IsolatedAltScreenIo {
|
|
48
|
-
|
|
49
|
+
source: KeyEventSource;
|
|
49
50
|
stdout: NodeJS.WriteStream;
|
|
50
51
|
/** Current terminal columns. */
|
|
51
52
|
columns: number;
|
|
@@ -174,6 +175,12 @@ export declare class TerminalHost implements FeedbackSink {
|
|
|
174
175
|
private suspended;
|
|
175
176
|
private resizeListener;
|
|
176
177
|
private source;
|
|
178
|
+
private isolatedSource;
|
|
179
|
+
private inputSession;
|
|
180
|
+
private colorBroker;
|
|
181
|
+
private childColors;
|
|
182
|
+
private reportUnsubscribe;
|
|
183
|
+
private readonly colorStreamError;
|
|
177
184
|
private readonly injectedSource;
|
|
178
185
|
private sourceUnsubscribe;
|
|
179
186
|
private sourceResizeUnsubscribe;
|
|
@@ -270,6 +277,7 @@ export declare class TerminalHost implements FeedbackSink {
|
|
|
270
277
|
* The returned function detaches the child idempotently.
|
|
271
278
|
*/
|
|
272
279
|
attachChild(handle: PtyHandle): () => void;
|
|
280
|
+
private attachRegisteredChild;
|
|
273
281
|
detachChild(handle?: PtyHandle): void;
|
|
274
282
|
/**
|
|
275
283
|
* Discard the current child surface (VT screen + scrollback) and
|
|
@@ -284,6 +292,7 @@ export declare class TerminalHost implements FeedbackSink {
|
|
|
284
292
|
clearMouseModeSource(source: string): void;
|
|
285
293
|
/** Dispose the current `VirtualTerminal` and create a fresh one sized to the current layout. */
|
|
286
294
|
private resetVirtualTerminal;
|
|
295
|
+
registerTerminalColors: RegisterTerminalColors;
|
|
287
296
|
/**
|
|
288
297
|
* Reset the per-child negotiation trackers (kitty keyboard + mouse modes)
|
|
289
298
|
* and re-derive the host's mouse capture from the now-empty child mode set.
|
|
@@ -307,7 +316,7 @@ export declare class TerminalHost implements FeedbackSink {
|
|
|
307
316
|
* - leaves its own alternate screen,
|
|
308
317
|
* - disables reflected child mouse reporting so the foreign UI is not
|
|
309
318
|
* flooded with mouse sequences,
|
|
310
|
-
* -
|
|
319
|
+
* - releases its keyboard lease while retaining the framing reader,
|
|
311
320
|
* - restores the prior raw-mode state,
|
|
312
321
|
* - blocks `scheduleRender()`/`renderNow()` until resume,
|
|
313
322
|
* - keeps the virtual terminal, output buffer, router, and status bar
|
|
@@ -315,7 +324,7 @@ export declare class TerminalHost implements FeedbackSink {
|
|
|
315
324
|
* repaint after resume.
|
|
316
325
|
*
|
|
317
326
|
* On resume the host re-enters its alt screen, re-applies still-active
|
|
318
|
-
* child-requested mouse modes,
|
|
327
|
+
* child-requested mouse modes, reacquires a borrowed raw-mode input lease,
|
|
319
328
|
* recomputes layout, resizes the attached child if any, and schedules a
|
|
320
329
|
* repaint.
|
|
321
330
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/terminal/host.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/terminal/host.ts"],"names":[],"mappings":"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"}
|