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.
Files changed (36) hide show
  1. package/README.md +56 -3
  2. package/README.zh-CN.md +56 -3
  3. package/dist/auth/headless-login.d.ts +140 -0
  4. package/dist/auth/headless-login.d.ts.map +1 -0
  5. package/dist/auth/headless-login.js +386 -0
  6. package/dist/auth/headless-login.js.map +1 -0
  7. package/dist/quote-cache.d.ts +35 -0
  8. package/dist/quote-cache.d.ts.map +1 -0
  9. package/dist/quote-cache.js +51 -0
  10. package/dist/quote-cache.js.map +1 -0
  11. package/dist/rpc/command-map.d.ts +63 -0
  12. package/dist/rpc/command-map.d.ts.map +1 -1
  13. package/dist/rpc/command-map.js +327 -3
  14. package/dist/rpc/command-map.js.map +1 -1
  15. package/dist/rpc/message-router.d.ts +67 -2
  16. package/dist/rpc/message-router.d.ts.map +1 -1
  17. package/dist/rpc/message-router.js +297 -3
  18. package/dist/rpc/message-router.js.map +1 -1
  19. package/dist/rpc/pi-rpc.d.ts +64 -3
  20. package/dist/rpc/pi-rpc.d.ts.map +1 -1
  21. package/dist/rpc/pi-rpc.js +73 -16
  22. package/dist/rpc/pi-rpc.js.map +1 -1
  23. package/dist/rpc/project-manager.d.ts +5 -0
  24. package/dist/rpc/project-manager.d.ts.map +1 -1
  25. package/dist/rpc/project-manager.js +7 -0
  26. package/dist/rpc/project-manager.js.map +1 -1
  27. package/dist/transports/matrix.d.ts +2 -0
  28. package/dist/transports/matrix.d.ts.map +1 -1
  29. package/dist/transports/matrix.js +17 -0
  30. package/dist/transports/matrix.js.map +1 -1
  31. package/dist/types.d.ts +17 -0
  32. package/dist/types.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/scripts/crypto-native-hashes.json +3 -0
  35. package/scripts/ensure-crypto-native.d.mts +84 -1
  36. package/scripts/ensure-crypto-native.mjs +338 -10
@@ -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
- * - Fall back to steer() when a prompt arrives while the agent is streaming
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. If the agent is streaming, the RPC server rejects a
131
- * plain prompt — retry as a steering message (queued, delivered after the
132
- * current tool calls finish).
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
- if (!this.client)
136
- throw new Error("pi RPC not connected");
137
- try {
138
- await this.client.prompt(text);
139
- }
140
- catch (err) {
141
- if (/streaming/i.test(err.message)) {
142
- await this.client.steer(text);
143
- }
144
- else {
145
- throw err;
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");
@@ -1 +1 @@
1
- {"version":3,"file":"pi-rpc.js","sourceRoot":"","sources":["../../src/rpc/pi-rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi-rpc.js","sourceRoot":"","sources":["../../src/rpc/pi-rpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAEL,SAAS,GAGV,MAAM,iCAAiC,CAAC;AAgCzC,MAAM,OAAO,KAAK;IACR,MAAM,CAAa;IACnB,aAAa,CAA+C;IAC5D,OAAO,CAAe;IAC9B,8EAA8E;IACtE,SAAS,GAAwC,EAAE,CAAC;IAE5D;sEACkE;IAClE,KAAK,CAAqB;IAE1B,YAAY,UAAwB,EAAE;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IACnC,CAAC;IAED;8EAC0E;IAC1E,IAAI,UAAU;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC5C,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,CAAC;IAED,qCAAqC;IACrC,MAAM,CAAC,KAAK,CAAC,cAAc;QACzB,2BAA2B;QAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAE5D,uEAAuE;QACvE,uEAAuE;QACvE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACxE,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;QAED,0EAA0E;QAC1E,uEAAuE;QACvE,qCAAqC;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;QAED,MAAM,IAAI,KAAK,CACb,2IAA2I,CAC5I,CAAC;IACJ,CAAC;IAEO,YAAY,GAAyB,IAAI,CAAC;IAElD,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,mEAAmE;QACnE,iDAAiD;QACjD,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,OAAO;QAEnB,uEAAuE;QACvE,iCAAiC;QACjC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACrB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;YAC3B,OAAO;YACP,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;YACrB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;SACxB,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAErB,wEAAwE;QACxE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,QAAQ;gBAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAED,wEAAwE;QACxE,qEAAqE;QACrE,qEAAqE;QACrE,IAAI,SAAkB,CAAC;QACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,OAAO;YACT,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,GAAG,GAAG,CAAC;gBAChB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,gCAAiC,SAAmB,EAAE,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;QACrC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,WAAW,CAAC,OAAgB;QAChC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,kFAAkF;IAC1E,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,iBAAuC;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAMhC,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,+FAA+F;IAC/F,OAAO,CAAC,QAA0B;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,WAAqC,CAAC;QAC1C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;YAClC,WAAW,EAAE,EAAE,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,2DAA2D;IAC3D,4EAA4E;IAE5E,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,kBAA2B;QACvC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,kBAAkB,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,OAAe;QAC9C,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAa;QAClC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,gBAAgB,CAAC,KAAc,CAAC,CAAC;IAC9D,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,oBAAoB,EAAE,CAAC;IACrD,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,UAAU;QAKd,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,CAAC;IAC3C,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,kBAAkB,EAAE,CAAC;IACnD,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,iBAAiB,CAAC,OAAgB;QACtC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,YAAY,CAAC,OAAgB;QACjC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,eAAe;QAMnB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,eAAe,EAAE,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAmB;QAClC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,gGAAgG;IAChG,KAAK,CAAC,WAAW;QACf,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAErD,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACxD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAmC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAIhC,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;QACpC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IACpF,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
@@ -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;YAIpB,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"}
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":"AAYA,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;IAsB5C,OAAO,CAAC,MAAM;IACd;;iDAE6C;IAC7C,OAAO,CAAC,aAAa;IAzBvB,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;IAExB,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;CA2D5B"}
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":"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"}
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 {
@@ -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;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,cAAc,CAAA;SAAE,CAAC,CAAC;KAC5F,CAAC;IACF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;+BAC2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;yCACqC;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;yCAEqC;IACrC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-courier",
3
- "version": "0.1.37",
3
+ "version": "0.1.39",
4
4
  "description": "Run pi coding agent from Matrix. Slash commands, skills and prompts fully work from messengers via the RPC protocol.",
5
5
  "type": "module",
6
6
  "main": "dist/standalone.js",
@@ -0,0 +1,3 @@
1
+ {
2
+ "0.4.0/matrix-sdk-crypto.linux-x64-gnu": "7078d4dd987128f79afd192c4f621f64adece37e43f2a8756f1d0a9f034de718"
3
+ }
@@ -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 ensureCryptoNative(): EnsureResult;
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;