pi-courier 0.1.37 → 0.1.39
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/README.md +56 -3
- package/README.zh-CN.md +56 -3
- package/dist/auth/headless-login.d.ts +140 -0
- package/dist/auth/headless-login.d.ts.map +1 -0
- package/dist/auth/headless-login.js +386 -0
- package/dist/auth/headless-login.js.map +1 -0
- package/dist/quote-cache.d.ts +35 -0
- package/dist/quote-cache.d.ts.map +1 -0
- package/dist/quote-cache.js +51 -0
- package/dist/quote-cache.js.map +1 -0
- package/dist/rpc/command-map.d.ts +63 -0
- package/dist/rpc/command-map.d.ts.map +1 -1
- package/dist/rpc/command-map.js +327 -3
- package/dist/rpc/command-map.js.map +1 -1
- package/dist/rpc/message-router.d.ts +67 -2
- package/dist/rpc/message-router.d.ts.map +1 -1
- package/dist/rpc/message-router.js +297 -3
- package/dist/rpc/message-router.js.map +1 -1
- package/dist/rpc/pi-rpc.d.ts +64 -3
- package/dist/rpc/pi-rpc.d.ts.map +1 -1
- package/dist/rpc/pi-rpc.js +73 -16
- package/dist/rpc/pi-rpc.js.map +1 -1
- package/dist/rpc/project-manager.d.ts +5 -0
- package/dist/rpc/project-manager.d.ts.map +1 -1
- package/dist/rpc/project-manager.js +7 -0
- package/dist/rpc/project-manager.js.map +1 -1
- package/dist/transports/matrix.d.ts +2 -0
- package/dist/transports/matrix.d.ts.map +1 -1
- package/dist/transports/matrix.js +17 -0
- package/dist/transports/matrix.js.map +1 -1
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/scripts/crypto-native-hashes.json +3 -0
- package/scripts/ensure-crypto-native.d.mts +84 -1
- package/scripts/ensure-crypto-native.mjs +338 -10
package/dist/rpc/pi-rpc.js
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* - Retry startup handshake (cold start can take a moment)
|
|
7
7
|
* - Provide typed convenience methods used by the command map
|
|
8
8
|
* - Cache get_commands results briefly
|
|
9
|
-
* -
|
|
9
|
+
* - Carry the pi TUI send semantics: prompts go out with an explicit
|
|
10
|
+
* streamingBehavior (steer = Enter, followUp = Alt+Enter queueing)
|
|
10
11
|
*/
|
|
11
12
|
import { execFileSync } from "node:child_process";
|
|
12
13
|
import * as fs from "node:fs";
|
|
@@ -29,6 +30,13 @@ export class PiRpc {
|
|
|
29
30
|
get isConnected() {
|
|
30
31
|
return this.client !== undefined;
|
|
31
32
|
}
|
|
33
|
+
/** The --session-dir this process was spawned with, if any (issue #56 票5:
|
|
34
|
+
* /sessions scans it; undefined = pi's default ~/.pi/agent/sessions). */
|
|
35
|
+
get sessionDir() {
|
|
36
|
+
const args = this.options.args ?? [];
|
|
37
|
+
const index = args.indexOf("--session-dir");
|
|
38
|
+
return index >= 0 ? args[index + 1] : undefined;
|
|
39
|
+
}
|
|
32
40
|
/** Locate the pi CLI entry point. */
|
|
33
41
|
static async resolveCliPath() {
|
|
34
42
|
// 1. Explicit env override
|
|
@@ -127,23 +135,35 @@ export class PiRpc {
|
|
|
127
135
|
await this.start();
|
|
128
136
|
}
|
|
129
137
|
/**
|
|
130
|
-
* Send a user prompt
|
|
131
|
-
*
|
|
132
|
-
*
|
|
138
|
+
* Send a user prompt with Enter semantics (pi TUI parity): a fresh task when
|
|
139
|
+
* idle, injected into the running task when streaming. The upstream `prompt`
|
|
140
|
+
* command natively carries `streamingBehavior` ("steer" | "followUp") and
|
|
141
|
+
* idle sessions ignore it — so one plain send covers both cases, with no
|
|
142
|
+
* error-message sniffing. Sent via the private `send` (any-cast) because
|
|
143
|
+
* RpcClient.prompt() does not expose the parameter.
|
|
133
144
|
*/
|
|
134
145
|
async prompt(text) {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
146
|
+
await this.sendPrompt(text, "steer");
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Queue a message without disturbing the running task (pi TUI Alt+Enter
|
|
150
|
+
* semantics): lands in the followUp queue while streaming; an idle session
|
|
151
|
+
* degenerates to a plain prompt (upstream handles that automatically, so no
|
|
152
|
+
* state check is needed here).
|
|
153
|
+
*/
|
|
154
|
+
async promptQueued(text) {
|
|
155
|
+
await this.sendPrompt(text, "followUp");
|
|
156
|
+
}
|
|
157
|
+
/** Resolve once the agent settles ("agent_settled"). Rejects on timeout (ms). */
|
|
158
|
+
async waitForIdle(timeout) {
|
|
159
|
+
await this.requireClient().waitForIdle(timeout);
|
|
160
|
+
}
|
|
161
|
+
/** Raw `prompt` command with an explicit streaming behavior, via private send. */
|
|
162
|
+
async sendPrompt(text, streamingBehavior) {
|
|
163
|
+
const client = this.requireClient();
|
|
164
|
+
const response = await client.send({ type: "prompt", message: text, streamingBehavior });
|
|
165
|
+
if (!response.success) {
|
|
166
|
+
throw new Error(response.error ?? "prompt failed");
|
|
147
167
|
}
|
|
148
168
|
}
|
|
149
169
|
/** Subscribe to agent events. Safe to call before start(). Returns an unsubscribe function. */
|
|
@@ -182,6 +202,26 @@ export class PiRpc {
|
|
|
182
202
|
async setThinkingLevel(level) {
|
|
183
203
|
await this.requireClient().setThinkingLevel(level);
|
|
184
204
|
}
|
|
205
|
+
/** The agent's most recent assistant reply (null before the first turn). */
|
|
206
|
+
async getLastAssistantText() {
|
|
207
|
+
return this.requireClient().getLastAssistantText();
|
|
208
|
+
}
|
|
209
|
+
/** Cycle to the next model in the scoped list (null when nothing to cycle). */
|
|
210
|
+
async cycleModel() {
|
|
211
|
+
return this.requireClient().cycleModel();
|
|
212
|
+
}
|
|
213
|
+
/** Cycle to the next thinking level (null when nothing to cycle). */
|
|
214
|
+
async cycleThinkingLevel() {
|
|
215
|
+
return this.requireClient().cycleThinkingLevel();
|
|
216
|
+
}
|
|
217
|
+
/** Toggle auto-compaction (persists to pi's global settings — instance-wide). */
|
|
218
|
+
async setAutoCompaction(enabled) {
|
|
219
|
+
await this.requireClient().setAutoCompaction(enabled);
|
|
220
|
+
}
|
|
221
|
+
/** Toggle auto-retry (persists to pi's global settings — instance-wide). */
|
|
222
|
+
async setAutoRetry(enabled) {
|
|
223
|
+
await this.requireClient().setAutoRetry(enabled);
|
|
224
|
+
}
|
|
185
225
|
async setSessionName(name) {
|
|
186
226
|
await this.requireClient().setSessionName(name);
|
|
187
227
|
}
|
|
@@ -207,6 +247,23 @@ export class PiRpc {
|
|
|
207
247
|
this.commandsCache = { at: Date.now(), list: commands };
|
|
208
248
|
return commands;
|
|
209
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* Write an extension_ui_response to pi's stdin (issue #54). RpcClient has
|
|
252
|
+
* no public method for it — and its generic send() cannot be used here: it
|
|
253
|
+
* overwrites the command's `id` with its own `req_N` id (the extension
|
|
254
|
+
* request id would be lost, pi would drop the response and the dialog
|
|
255
|
+
* would hang) and then waits 30s for a reply that never comes. So the
|
|
256
|
+
* response goes straight to the child process's stdin as one strict JSONL
|
|
257
|
+
* line (LF framing, same as serializeJsonLine upstream).
|
|
258
|
+
*/
|
|
259
|
+
async respondExtensionUI(payload) {
|
|
260
|
+
const client = this.requireClient();
|
|
261
|
+
const stdin = client.process?.stdin;
|
|
262
|
+
if (!stdin || stdin.destroyed || !stdin.writable) {
|
|
263
|
+
throw new Error("pi RPC stdin is not writable");
|
|
264
|
+
}
|
|
265
|
+
stdin.write(`${JSON.stringify({ type: "extension_ui_response", ...payload })}\n`);
|
|
266
|
+
}
|
|
210
267
|
requireClient() {
|
|
211
268
|
if (!this.client)
|
|
212
269
|
throw new Error("pi RPC not connected");
|
package/dist/rpc/pi-rpc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi-rpc.js","sourceRoot":"","sources":["../../src/rpc/pi-rpc.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pi-rpc.js","sourceRoot":"","sources":["../../src/rpc/pi-rpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,11 @@ export declare class ProjectManager {
|
|
|
58
58
|
get isMultiProject(): boolean;
|
|
59
59
|
/** Whether a project process is currently running for this room. */
|
|
60
60
|
isRunning(roomId: string): boolean;
|
|
61
|
+
/** Every rpc of this instance: the shared default first, then all started
|
|
62
|
+
* project rpcs (issue #55: login success + /reload all restart the idle
|
|
63
|
+
* ones so pi subprocesses re-read the credential file). Not-yet-started
|
|
64
|
+
* projects are absent by design — their first start reads the fresh file. */
|
|
65
|
+
allRpcs(): PiRpc[];
|
|
61
66
|
private getProjectRpc;
|
|
62
67
|
/** Single write path for the projects map: copy, mutate, persist. */
|
|
63
68
|
private updateProjects;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-manager.d.ts","sourceRoot":"","sources":["../../src/rpc/project-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,UAAU,EAAE,KAAK,CAAC;IAClB,sEAAsE;IACtE,WAAW,EAAE,YAAY,CAAC;IAC1B,uEAAuE;IACvE,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAClE,8EAA8E;IAC9E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2EAA2E;IAC3E,KAAK,EAAE,WAAW,CAAC;IACnB,gFAAgF;IAChF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,KAAK,CAAC;CAC/C;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,WAAW,CAAuD;IAC1E,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAmC;IACjD,0DAA0D;IAC1D,OAAO,CAAC,WAAW,CAA4B;gBAEnC,IAAI,EAAE,qBAAqB;IASvC,4EAA4E;IAC5E,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;IAI1C,wDAAwD;IACxD,YAAY,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAI7C;;;;OAIG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IASnD;;kFAE8E;IAC9E,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAMhD,qFAAqF;IACrF,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAKtC,6CAA6C;IAC7C,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,oEAAoE;IACpE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"project-manager.d.ts","sourceRoot":"","sources":["../../src/rpc/project-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,UAAU,EAAE,KAAK,CAAC;IAClB,sEAAsE;IACtE,WAAW,EAAE,YAAY,CAAC;IAC1B,uEAAuE;IACvE,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAClE,8EAA8E;IAC9E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2EAA2E;IAC3E,KAAK,EAAE,WAAW,CAAC;IACnB,gFAAgF;IAChF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,KAAK,CAAC;CAC/C;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,WAAW,CAAuD;IAC1E,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAmC;IACjD,0DAA0D;IAC1D,OAAO,CAAC,WAAW,CAA4B;gBAEnC,IAAI,EAAE,qBAAqB;IASvC,4EAA4E;IAC5E,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;IAI1C,wDAAwD;IACxD,YAAY,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAI7C;;;;OAIG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IASnD;;kFAE8E;IAC9E,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAMhD,qFAAqF;IACrF,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAKtC,6CAA6C;IAC7C,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,oEAAoE;IACpE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlC;;;kFAG8E;IAC9E,OAAO,IAAI,KAAK,EAAE;YAIJ,aAAa;IAoC3B,qEAAqE;IACrE,OAAO,CAAC,cAAc;IAMtB,mEAAmE;IACnE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAMrE,sDAAsD;IAChD,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB1E,gDAAgD;IAChD,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAajD,gFAAgF;IAC1E,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
|
|
@@ -74,6 +74,13 @@ export class ProjectManager {
|
|
|
74
74
|
isRunning(roomId) {
|
|
75
75
|
return this.projectRpcs.has(roomId);
|
|
76
76
|
}
|
|
77
|
+
/** Every rpc of this instance: the shared default first, then all started
|
|
78
|
+
* project rpcs (issue #55: login success + /reload all restart the idle
|
|
79
|
+
* ones so pi subprocesses re-read the credential file). Not-yet-started
|
|
80
|
+
* projects are absent by design — their first start reads the fresh file. */
|
|
81
|
+
allRpcs() {
|
|
82
|
+
return [this.defaultRpc, ...this.projectRpcs.values()];
|
|
83
|
+
}
|
|
77
84
|
async getProjectRpc(roomId, entry) {
|
|
78
85
|
const existing = this.projectRpcs.get(roomId);
|
|
79
86
|
if (existing) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-manager.js","sourceRoot":"","sources":["../../src/rpc/project-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-manager.js","sourceRoot":"","sources":["../../src/rpc/project-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@ export declare class MatrixProvider implements Transport {
|
|
|
24
24
|
private joinedRooms;
|
|
25
25
|
private roomMemberCount;
|
|
26
26
|
private connectedAt;
|
|
27
|
+
/** Per-room event_id → excerpt ring cache backing reply quotes (issue #56 票5). */
|
|
28
|
+
private quoteCache;
|
|
27
29
|
/** Room-capability half of the Matrix integration (see matrix-rooms.ts). */
|
|
28
30
|
readonly roomOps: MatrixRoomOps;
|
|
29
31
|
constructor(config: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/transports/matrix.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/transports/matrix.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAWlD;;;;;;;GAOG;AACH,qBAAa,cAAe,YAAW,SAAS;IAwB5C,OAAO,CAAC,MAAM;IACd;;iDAE6C;IAC7C,OAAO,CAAC,aAAa;IA3BvB,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,MAAM,CAAC,CAAe;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAqC;IAC5D,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,WAAW,CAAK;IACxB,kFAAkF;IAClF,OAAO,CAAC,UAAU,CAAkC;IAEpD,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,gBAOb;gBAGO,MAAM,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;IACpF;;iDAE6C;IACrC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO;IAGpD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAIK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+IxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAI5D,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;YAIhC,aAAa;CA0E5B"}
|
|
@@ -2,6 +2,7 @@ import * as os from "node:os";
|
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import { AutojoinRoomsMixin, LogService, MatrixClient, RustSdkCryptoStorageProvider, SimpleFsStorageProvider, } from "matrix-bot-sdk";
|
|
4
4
|
import { logger, suppressLogLines } from "../logger.js";
|
|
5
|
+
import { createQuoteCache, toExcerpt } from "../quote-cache.js";
|
|
5
6
|
import { MatrixRoomOps } from "./matrix-rooms.js";
|
|
6
7
|
import { extractUsername, formatForMatrix, isGroupChatRoom, shouldPostJoinHint, shouldSkipEvent, stripBotMention, wasBotMentioned, } from "./matrix-utils.js";
|
|
7
8
|
/**
|
|
@@ -24,6 +25,8 @@ export class MatrixProvider {
|
|
|
24
25
|
joinedRooms = new Set();
|
|
25
26
|
roomMemberCount = new Map();
|
|
26
27
|
connectedAt = 0;
|
|
28
|
+
/** Per-room event_id → excerpt ring cache backing reply quotes (issue #56 票5). */
|
|
29
|
+
quoteCache = createQuoteCache();
|
|
27
30
|
/** Room-capability half of the Matrix integration (see matrix-rooms.ts). */
|
|
28
31
|
roomOps = new MatrixRoomOps({
|
|
29
32
|
getClient: () => this.client,
|
|
@@ -246,6 +249,19 @@ export class MatrixProvider {
|
|
|
246
249
|
const cleanContent = wasMentioned && this.botUserId
|
|
247
250
|
? stripBotMention(messageText, this.botUserId)
|
|
248
251
|
: messageText;
|
|
252
|
+
// Reply quotes (issue #56 票5): record this message first, then resolve a
|
|
253
|
+
// m.relates_to reply target against the per-room ring cache. A miss (old
|
|
254
|
+
// message from before this process started, unknown event) is a silent
|
|
255
|
+
// downgrade — the message flows on without a quote. E2EE rooms arrive
|
|
256
|
+
// decrypted, so content is read the same way as body above.
|
|
257
|
+
this.quoteCache.record(roomId, messageId, {
|
|
258
|
+
username,
|
|
259
|
+
excerpt: toExcerpt(cleanContent ?? ""),
|
|
260
|
+
});
|
|
261
|
+
const replyTargetEventId = event.content?.["m.relates_to"]?.["m.in_reply_to"]?.event_id;
|
|
262
|
+
const quoted = replyTargetEventId
|
|
263
|
+
? this.quoteCache.lookup(roomId, replyTargetEventId)
|
|
264
|
+
: undefined;
|
|
249
265
|
// Forward to message handler
|
|
250
266
|
if (this.messageHandler && cleanContent) {
|
|
251
267
|
const externalMessage = {
|
|
@@ -258,6 +274,7 @@ export class MatrixProvider {
|
|
|
258
274
|
messageId,
|
|
259
275
|
isGroupChat,
|
|
260
276
|
wasMentioned,
|
|
277
|
+
...(quoted && { quoted }),
|
|
261
278
|
};
|
|
262
279
|
this.messageHandler(externalMessage);
|
|
263
280
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../src/transports/matrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,4BAA4B,EAE5B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../src/transports/matrix.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -20,6 +20,16 @@ export interface ExternalMessage {
|
|
|
20
20
|
isGroupChat: boolean;
|
|
21
21
|
/** Was the bot mentioned? (for group chats) */
|
|
22
22
|
wasMentioned?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Quoted-message excerpt (issue #56 票5): when this message is a Matrix
|
|
25
|
+
* reply to a known historical message, the transport attaches a short
|
|
26
|
+
* cleaned quote of it. Undefined when there is no reply relation or the
|
|
27
|
+
* referenced event is not in the per-room cache (silent downgrade).
|
|
28
|
+
*/
|
|
29
|
+
quoted?: {
|
|
30
|
+
username: string;
|
|
31
|
+
excerpt: string;
|
|
32
|
+
};
|
|
23
33
|
}
|
|
24
34
|
/**
|
|
25
35
|
* Configuration for pi-courier
|
|
@@ -95,6 +105,13 @@ export interface MsgBridgeConfig {
|
|
|
95
105
|
* 这是文档写明的存量包袱。
|
|
96
106
|
*/
|
|
97
107
|
powerElevatedUsers?: string[];
|
|
108
|
+
/**
|
|
109
|
+
* 扩展 UI 提问(issue #54)的兜底超时(分钟,默认 10)。扩展经 RPC 发起的
|
|
110
|
+
* confirm/select/input/editor 悬置超过该时长后,courier 代答 cancelled
|
|
111
|
+
* 并在房间通知。上游对 select/confirm/input 可能自带更短 timeout(二者
|
|
112
|
+
* 不冲突);editor 上游无超时,此项是唯一保证。不进 setup 向导。
|
|
113
|
+
*/
|
|
114
|
+
extensionUiTimeoutMinutes?: number;
|
|
98
115
|
}
|
|
99
116
|
/** @see MsgBridgeConfig.space */
|
|
100
117
|
export interface SpaceConfig {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -4,6 +4,42 @@ export interface EnsureResult {
|
|
|
4
4
|
ok: boolean;
|
|
5
5
|
downloaded?: boolean;
|
|
6
6
|
reason?: string;
|
|
7
|
+
/** True when the binding was restored from the local cache (no download). */
|
|
8
|
+
restoredFromCache?: boolean;
|
|
9
|
+
/** How the binary's sha256 was checked: manifest match, TOFU accept, or rejected. */
|
|
10
|
+
verified?: "manifest" | "tofu" | "rejected";
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/** Options for ensureCryptoNative(); all optional, defaulting to real resolution. */
|
|
14
|
+
export interface EnsureCryptoNativeOptions {
|
|
15
|
+
cryptoDir?: string | null;
|
|
16
|
+
basename?: string | null;
|
|
17
|
+
cacheRoot?: string;
|
|
18
|
+
manifestPath?: string;
|
|
19
|
+
runDownloader?: (cryptoDir: string) => void;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** Cache entry layout under the cache root. */
|
|
23
|
+
export interface CacheEntryPaths {
|
|
24
|
+
dir: string;
|
|
25
|
+
nodePath: string;
|
|
26
|
+
shaPath: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** Result of evaluating a cache entry (readCacheEntry). */
|
|
30
|
+
export interface CacheEntryResult {
|
|
31
|
+
hit: boolean;
|
|
32
|
+
nodePath?: string;
|
|
33
|
+
sha256?: string;
|
|
34
|
+
verified?: "manifest" | "tofu";
|
|
35
|
+
reason?: "absent" | "unreadable" | "sidecar-missing" | "sidecar-mismatch" | "manifest-mismatch";
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** Verdict of verifyDownloadedBinding against the sha256 manifest. */
|
|
39
|
+
export interface VerifyDownloadedResult {
|
|
40
|
+
verdict: "manifest-match" | "manifest-mismatch" | "manifest-miss";
|
|
41
|
+
observed: string;
|
|
42
|
+
expected: string | null;
|
|
7
43
|
}
|
|
8
44
|
|
|
9
45
|
export function nativeBindingBasename(): string | null;
|
|
@@ -16,4 +52,51 @@ export function isNativeBindingMissing(cryptoDir: string, basename: string | nul
|
|
|
16
52
|
|
|
17
53
|
export function runNativeDownloader(cryptoDir: string): void;
|
|
18
54
|
|
|
19
|
-
export function
|
|
55
|
+
export function defaultCacheRoot(
|
|
56
|
+
env?: Record<string, string | undefined>,
|
|
57
|
+
home?: string
|
|
58
|
+
): string;
|
|
59
|
+
|
|
60
|
+
export function defaultManifestPath(): string;
|
|
61
|
+
|
|
62
|
+
export function cacheEntryPaths(
|
|
63
|
+
cacheRoot: string,
|
|
64
|
+
version: string,
|
|
65
|
+
basename: string
|
|
66
|
+
): CacheEntryPaths;
|
|
67
|
+
|
|
68
|
+
export function sha256FileSync(filePath: string): string;
|
|
69
|
+
|
|
70
|
+
export function readCryptoPackageVersion(cryptoDir: string): string | null;
|
|
71
|
+
|
|
72
|
+
/** Returns {} on missing/malformed manifest (warns); never throws. */
|
|
73
|
+
export function readManifest(manifestPath: string): Record<string, string>;
|
|
74
|
+
|
|
75
|
+
export function readCacheEntry(
|
|
76
|
+
cacheRoot: string,
|
|
77
|
+
version: string,
|
|
78
|
+
basename: string,
|
|
79
|
+
manifest: Record<string, string>
|
|
80
|
+
): CacheEntryResult;
|
|
81
|
+
|
|
82
|
+
export function writeCacheEntry(
|
|
83
|
+
cacheRoot: string,
|
|
84
|
+
version: string,
|
|
85
|
+
basename: string,
|
|
86
|
+
sourceNodePath: string,
|
|
87
|
+
observedSha256: string
|
|
88
|
+
): void;
|
|
89
|
+
|
|
90
|
+
export function restoreBindingFromCache(
|
|
91
|
+
cryptoDir: string,
|
|
92
|
+
basename: string,
|
|
93
|
+
cacheNodePath: string
|
|
94
|
+
): string;
|
|
95
|
+
|
|
96
|
+
export function verifyDownloadedBinding(
|
|
97
|
+
nodePath: string,
|
|
98
|
+
manifestKey: string | null,
|
|
99
|
+
manifest: Record<string, string>
|
|
100
|
+
): VerifyDownloadedResult;
|
|
101
|
+
|
|
102
|
+
export function ensureCryptoNative(options?: EnsureCryptoNativeOptions): EnsureResult;
|