salt-agent-sdk 0.20.0 → 0.22.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.
Files changed (48) hide show
  1. package/README.md +28 -3
  2. package/dist/actions.d.ts.map +1 -1
  3. package/dist/actions.js +72 -1
  4. package/dist/actions.js.map +1 -1
  5. package/dist/callBundle.d.ts +90 -0
  6. package/dist/callBundle.d.ts.map +1 -0
  7. package/dist/callBundle.js +199 -0
  8. package/dist/callBundle.js.map +1 -0
  9. package/dist/client.d.ts +88 -3
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +80 -2
  12. package/dist/client.js.map +1 -1
  13. package/dist/device/client.d.ts +12 -4
  14. package/dist/device/client.d.ts.map +1 -1
  15. package/dist/device/client.js +44 -1
  16. package/dist/device/client.js.map +1 -1
  17. package/dist/device/host.d.ts +74 -3
  18. package/dist/device/host.d.ts.map +1 -1
  19. package/dist/device/host.js +262 -12
  20. package/dist/device/host.js.map +1 -1
  21. package/dist/device/http.d.ts.map +1 -1
  22. package/dist/device/http.js +3 -2
  23. package/dist/device/http.js.map +1 -1
  24. package/dist/device/protocol.d.ts +97 -1
  25. package/dist/device/protocol.d.ts.map +1 -1
  26. package/dist/device/protocol.js +155 -1
  27. package/dist/device/protocol.js.map +1 -1
  28. package/dist/help.d.ts +54 -0
  29. package/dist/help.d.ts.map +1 -0
  30. package/dist/help.js +62 -0
  31. package/dist/help.js.map +1 -0
  32. package/dist/index.d.ts +2 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/lattice.d.ts +206 -0
  37. package/dist/lattice.d.ts.map +1 -0
  38. package/dist/lattice.js +366 -0
  39. package/dist/lattice.js.map +1 -0
  40. package/dist/webhook.d.ts +67 -3
  41. package/dist/webhook.d.ts.map +1 -1
  42. package/dist/webhook.js +72 -4
  43. package/dist/webhook.js.map +1 -1
  44. package/dist/work.d.ts +2 -0
  45. package/dist/work.d.ts.map +1 -1
  46. package/dist/work.js +4 -0
  47. package/dist/work.js.map +1 -1
  48. package/package.json +1 -1
package/README.md CHANGED
@@ -72,6 +72,8 @@ const socket = createSocketClient({
72
72
  pgpPassphrase: process.env.PGP_PASSPHRASE, // the passphrase from step 1
73
73
  async onMessage(ctx) {
74
74
  await ctx.reply(`You said: ${ctx.text}`);
75
+ // The reply is linked to the message it answers. Opt out with
76
+ // ctx.reply(text, { replyTo: null }), or link another message with { replyTo: id }.
75
77
  },
76
78
  });
77
79
  socket.start(); // keep this running: it is what receives the answer in step 3
@@ -880,9 +882,11 @@ either side beyond exposing both tools.
880
882
  | `webhook.ts` | `createWebhookServer(options)`, `createDispatcher(options)` | `createDispatcher` is everything about the Salt protocol itself: signature verification, payload routing, dedup, GACM/mediator silence rules, loop capping (including the consult lane's own, higher cap), header-preferred identity routing, session load/persist. `createWebhookServer` wraps it in an Express POST route; `socket.ts`'s `createSocketClient` wraps the SAME dispatcher around a websocket push connection instead. |
881
883
  | `ask.ts` | `ask(client, caller, chatId, question, opts)`, `approve(...)`, `resolveCardInteraction`, `resolveMessage` | `ctx.ask`/`ctx.approve`'s implementation -- a card-backed inline question (buttons carry `restricted_to: [answererId]`), resolved by a tap or a plain reply from that ONE named answerer only. Keyed by (identity, chat). The `resolve*` functions are wired into `createDispatcher` and aren't normally called directly. |
882
884
  | `socket.ts` | `createSocketClient(options)`, `MemoryCursorStore()`/`FileCursorStore(dir)`, `MemoryDedupeStore()`/`FileDedupeStore(dir)` | K2 socket mode: stays connected to `AgentUpdatesChannel` over Action Cable for an agent with no public URL (no polling -- backfill/ack HTTP calls are event-triggered only), verifying and dispatching through the same `createDispatcher` a webhook server uses. Cursor + delivery-id dedupe default to files under `~/.salt/agents/<agentId>/`. See **Socket mode**, above. |
883
- | `actions.ts` | `createActions(options)`, `toAnthropicTools`, `toOpenAITools` | The 22 Salt-platform actions, provider-agnostic. |
885
+ | `actions.ts` | `createActions(options)`, `toAnthropicTools`, `toOpenAITools` | The 25 Salt-platform actions, provider-agnostic. |
884
886
  | `identity.ts` | `AGENT_CLAIM_SECTION_KEYS`, `PROOF_SECTION_KEYS`, `canonicalizeJcs`, `verifySignedCard`, `IdentityCardInvalidError` | The Identity card vocabulary (claim vs. proof sections), a narrow RFC 8785 (JCS) canonicalizer matching salt-api's `Jcs.rb`, and the Ed25519/JWS signature check `client.card()` uses -- see **Identity**, above. |
885
887
  | `identityShare.ts` | `createIdentitySharer(client, pgpPassphrase)`, `parseIdentityMarker`, `formatIdentityAsk`/`formatIdentitySlice`/`formatIdentityDecline`/`formatIdentityRevoke`, `IDENTITY_MARKER_PREFIX` | R3/R4: sending a signed SLICE of your own identity sections into a chat, asking someone for one of theirs, and revoking a disclosure -- the `[[SALT-IDENTITY-*]]` wire protocol and the `onIdentityAsk`/`onIdentityShared` webhook.ts events it's wired into. See **Identity: share, ask, revoke**, above. |
888
+ | `help.ts` | `encodeHelp`, `decodeHelp`, `isHelpMessage`, `HELP_REASONS` | The `[[SALT-HELP]]` marker an agent asks a person for help with, and the `HelpRequest` record. See **Show Me**, above. |
889
+ | `callBundle.ts` | `signAndEncrypt`, `decryptAndVerify`, `isBundleFresh`, `fingerprintsMatch`, `buildCallBundle` | Calls v1 crypto binding (sign then encrypt the SDP bundle, pin DTLS fingerprints), byte-compatible with salt-fe. |
886
890
  | `config.ts` | `loadSaltAgentConfig(env?)`, `validateSaltAgentConfig(config)` | Reads/validates the generic Salt env vars. Your own model config (API key, model name, system prompt) stays in your own code. |
887
891
 
888
892
  ## Webhook event types
@@ -1139,7 +1143,7 @@ await device.click({ x: 10, y: 20 }); // one command at a time, however many c
1139
1143
  - **Queue.** `open()` against a device another agent controls is answered 202 `queued`;
1140
1144
  it resolves when a `device_session` delivery (`promoted`, then approval) makes the
1141
1145
  session `active`. Feed deliveries in with `device.handleDelivery("device_session", body)`
1142
- (from `onDeviceDelivery`) and lane results with `device.handleLaneMessage(plaintext)`.
1146
+ (from `onDeviceDelivery`) and lane results with `device.handleLaneMessage(plaintext, senderId)` (from `onMessage`: `ctx.text`, `ctx.senderId`); only the device's own account is accepted, so nobody else posting in the lane can forge a result, a still or a `pointed`.
1143
1147
  - **Reattach.** If this agent already has a live session (409 `session_live`) `open()`
1144
1148
  calls `POST /device_sessions/:id/reattach` and continues at `last_seq + 1`.
1145
1149
  - **One command in flight.** Commands carry `id`, `seq` and `exp` (epoch ms, now + 30 s).
@@ -1161,7 +1165,8 @@ Device side:
1161
1165
  const host = createDeviceHost(snapshot, handlers, httpDeviceHostTransport({ host, apiKey }), callbacks);
1162
1166
  host.start();
1163
1167
  await host.pause("person_active"); // refuses commands with `paused`; tells Salt (POST .../pause)
1164
- await host.resume(); // POST .../resume
1168
+ await host.resume(); // POST .../resume (never clears a phone pause)
1169
+ await host.resume({ local: true }); // the person pressed Resume at the machine: also clears a phone pause
1165
1170
  ```
1166
1171
 
1167
1172
  The host runs one command at a time per session, keeps the last 64 results by `id`
@@ -1170,6 +1175,26 @@ commands, and holds ONE device-wide mutex around `click/type/key/scroll/focus_ap
1170
1175
  shared by every host in the process (`sharedDeviceLock`, or pass `{deviceLock}`).
1171
1176
  Constants (`COMMAND_TTL_MS`, `RESULT_CACHE_SIZE`, `MUTATING_OPS`) live in `device/protocol.ts`.
1172
1177
 
1178
+ ### Show Me: asking for help, stills and points
1179
+
1180
+ A stuck agent can ask the person in its 1:1 for help, optionally about a live session on their computer.
1181
+ The question is an ordinary end-to-end encrypted message (`[[SALT-HELP reason=stuck|which|unclear|look]]`
1182
+ plus the question); Salt learns only the ids, the reason and the status.
1183
+
1184
+ ```ts
1185
+ const hr = await client.askForHelp(apiKey, { chatId, question: "Which Q3 file do you mean?", reason: "which", deviceSessionId });
1186
+ // in a handler: await ctx.askForHelp({ question, reason: "look", deviceSessionId });
1187
+ device.onStill((still) => { /* a downscaled picture the person is looking at: still.obs, still.image_b64 */ });
1188
+ device.onPointed((p, pointId) => { /* p.app, p.element?.name, p.refused: what is under the spot they tapped */ });
1189
+ await client.helpRequests.close(apiKey, hr.id, "answered");
1190
+ ```
1191
+
1192
+ On the computer, `host.handleDelivery(type, body)` (from `onDeviceDelivery`) tells the app a request opened,
1193
+ is being looked at or closed (`callbacks.onHelpOpened / onHelpViewing / onHelpClosed`); the app calls
1194
+ `host.postStill(body)` (2 s apart, 30 a minute, none during a secure field) and feeds lane messages to
1195
+ `host.handleLaneMessage(text, senderId)`, which answers a `[[SALT-POINT]]` from a person over the device
1196
+ through `handlers.resolvePoint`. A device account answers a live watch call with `onDeviceCall` and `callBundle.ts`.
1197
+
1173
1198
  ## Reference implementations
1174
1199
 
1175
1200
  - [`salt-claude-agent`](../salt-claude-agent) — full-featured agent built
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAcA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAMzD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAG/C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,0GAA0G;IAC1G,KAAK,EAAE,MAAM,CAAC;IACd,iHAAiH;IACjH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,qHAAqH;IACrH,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzF;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,aAAa,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,gBAAgB,EAAE,MAAM,CAAC;IACzB,iGAAiG;IACjG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gGAAgG;IAChG,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAyBD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc;;oBAgzCtB,MAAM,SAAS,OAAO,UAAU,aAAa,OAAO,aAAa,KAAG,OAAO,CAAC,OAAO,CAAC;yBAlwC/E,aAAa,KAAG,OAAO,CAAC,MAAM,CAAC;gCAtBxB,aAAa,SAAQ;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;YAmB7E,MAAM;eAAS,MAAM;iBAAW,OAAO;wBAAkB,MAAM;;EA+wCtF;AAID,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,UAAU,CAAA;CAAE,CAAC,CAExI;AAED,8GAA8G;AAC9G,wBAAgB,aAAa,CAC3B,WAAW,EAAE,gBAAgB,EAAE,GAC9B,KAAK,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE,CAAA;CAAE,CAAC,CAEtG"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAcA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAMzD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAM/C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,0GAA0G;IAC1G,KAAK,EAAE,MAAM,CAAC;IACd,iHAAiH;IACjH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,qHAAqH;IACrH,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzF;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,aAAa,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,gBAAgB,EAAE,MAAM,CAAC;IACzB,iGAAiG;IACjG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gGAAgG;IAChG,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAyBD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc;;oBA03CtB,MAAM,SAAS,OAAO,UAAU,aAAa,OAAO,aAAa,KAAG,OAAO,CAAC,OAAO,CAAC;yBA50C/E,aAAa,KAAG,OAAO,CAAC,MAAM,CAAC;gCAtBxB,aAAa,SAAQ;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;YAmB7E,MAAM;eAAS,MAAM;iBAAW,OAAO;wBAAkB,MAAM;;EAy1CtF;AAID,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,UAAU,CAAA;CAAE,CAAC,CAExI;AAED,8GAA8G;AAC9G,wBAAgB,aAAa,CAC3B,WAAW,EAAE,gBAAgB,EAAE,GAC9B,KAAK,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE,CAAA;CAAE,CAAC,CAEtG"}
package/dist/actions.js CHANGED
@@ -56,7 +56,9 @@ const delegations = __importStar(require("./delegations"));
56
56
  const work_1 = require("./work");
57
57
  const identityShare_js_1 = require("./identityShare.js");
58
58
  const ids_js_1 = require("./ids.js");
59
+ const help_js_1 = require("./help.js");
59
60
  const identity_js_1 = require("./identity.js");
61
+ const ID_RE_TRANSFER = /^[A-Za-z0-9_-]{1,64}$/;
60
62
  // Shared block-vocabulary schema, so both card tools teach the model the
61
63
  // same shape the server enforces (Card model validation in salt-api).
62
64
  const BLOCKS_SCHEMA = {
@@ -470,7 +472,7 @@ function createActions(options) {
470
472
  }
471
473
  }
472
474
  const id = input.id && /^[A-Za-z0-9_-]{1,64}$/.test(input.id) ? input.id : (0, work_1.newWorkId)();
473
- const reported = await reportWork(caller, ctx, { id, status: input.status, kind: "task", title, detail: input.detail });
475
+ const reported = await reportWork(caller, ctx, { id, status: input.status, kind: "task", title, detail: input.detail, ...(transferId && ID_RE_TRANSFER.test(transferId) ? { transfer: transferId } : {}) });
474
476
  return reported
475
477
  ? { reported: true, id, note: "Only they can see this, in their Tasks panel for this chat." }
476
478
  : { reported: false, id, note: "The report could not be delivered; carry on with the work." };
@@ -843,6 +845,43 @@ function createActions(options) {
843
845
  note: "Stops it being served again and sends a notice into the chat -- cannot reach a copy already read on someone's device.",
844
846
  };
845
847
  }
848
+ // --- ask_for_help / close_help_request (Show Me) -----------------------
849
+ async function askForHelpAction(caller, input, ctx) {
850
+ const chatId = (typeof input.chat_id === "string" && input.chat_id) || ctx.mainChatId;
851
+ if (chatId == null)
852
+ throw new Error("ask_for_help needs a chat_id, or must be called while replying in a chat.");
853
+ const question = typeof input.question === "string" ? input.question.trim() : "";
854
+ if (!question)
855
+ throw new Error("question is required: say in plain words what you need.");
856
+ const reason = typeof input.reason === "string" ? input.reason : "";
857
+ if (!help_js_1.HELP_REASONS.includes(reason))
858
+ throw new Error(`reason must be one of ${help_js_1.HELP_REASONS.join(", ")}.`);
859
+ const deviceSessionId = typeof input.device_session_id === "string" && input.device_session_id ? input.device_session_id : undefined;
860
+ const hr = await client.askForHelp(caller.apiKey, {
861
+ chatId,
862
+ question,
863
+ reason: reason,
864
+ deviceSessionId,
865
+ selfId: caller.saltAppId,
866
+ });
867
+ return {
868
+ asked: true,
869
+ help_request_id: hr.id,
870
+ status: hr.status,
871
+ device_session_id: hr.device_session_id ?? null,
872
+ note: "Their phone is ringing. They may answer in the chat" +
873
+ (hr.device_session_id ? ", or look at the computer's screen and point at it; a point arrives as a `pointed` result on the device lane" : "") +
874
+ ". Close the request with close_help_request once you have what you need. Asking again withdraws this one; six asks an hour per chat is the limit.",
875
+ };
876
+ }
877
+ async function closeHelpRequestAction(caller, input) {
878
+ const id = typeof input.help_request_id === "string" ? input.help_request_id.trim() : "";
879
+ if (!id)
880
+ throw new Error("help_request_id is required -- the id ask_for_help returned.");
881
+ const status = input.status === "withdrawn" ? "withdrawn" : "answered";
882
+ const hr = await client.helpRequests.close(caller.apiKey, id, status);
883
+ return { closed: true, help_request_id: id, status: hr?.status ?? status };
884
+ }
846
885
  const definitions = [
847
886
  {
848
887
  name: "create_salt_agent",
@@ -1300,6 +1339,38 @@ function createActions(options) {
1300
1339
  },
1301
1340
  execute: identityRevokeAction,
1302
1341
  },
1342
+ {
1343
+ name: "ask_for_help",
1344
+ description: "Ask the person you are talking to for help, when you are stuck, cannot tell which of several things they mean, " +
1345
+ "find the request unclear, or need them to look at something. Posts your question into this 1:1 and rings " +
1346
+ "their phone. With device_session_id (a live session on their computer) their phone also shows the computer's " +
1347
+ "screen, and they can point at it. Only works in an encrypted 1:1 with exactly one other person. At most six " +
1348
+ "asks an hour per chat; asking again withdraws the open one. Close it with close_help_request when you have what you need.",
1349
+ schema: {
1350
+ type: "object",
1351
+ properties: {
1352
+ question: { type: "string", description: "Your question in plain words, at most 500 characters." },
1353
+ reason: { type: "string", enum: [...help_js_1.HELP_REASONS], description: "stuck: you cannot proceed. which: several things could be meant. unclear: the request is vague. look: you want them to see the screen." },
1354
+ device_session_id: { type: "string", description: "Optional: the live device session this is about." },
1355
+ chat_id: { type: "string", description: "Optional: defaults to the current chat." },
1356
+ },
1357
+ required: ["question", "reason"],
1358
+ },
1359
+ execute: askForHelpAction,
1360
+ },
1361
+ {
1362
+ name: "close_help_request",
1363
+ description: "Close a help request you opened with ask_for_help: answered (you have what you need) or withdrawn. Stops the computer sending the screen.",
1364
+ schema: {
1365
+ type: "object",
1366
+ properties: {
1367
+ help_request_id: { type: "string", description: "The id ask_for_help returned." },
1368
+ status: { type: "string", enum: ["answered", "withdrawn"], description: "Default answered." },
1369
+ },
1370
+ required: ["help_request_id"],
1371
+ },
1372
+ execute: closeHelpRequestAction,
1373
+ },
1303
1374
  ];
1304
1375
  const byName = new Map(definitions.map((d) => [d.name, d]));
1305
1376
  async function execute(name, input, caller, ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ export declare const CALL_BUNDLE_VERSION = 1;
2
+ /** Reject a bundle whose `ts` has drifted more than this from wall-clock. */
3
+ export declare const TS_SKEW_MS: number;
4
+ /** A legacy server-custody private key is still armored under this constant passphrase. */
5
+ export declare const LEGACY_KEY_PASSPHRASE = "salt";
6
+ export interface CallBundle {
7
+ v: number;
8
+ call_id: string;
9
+ kind: string;
10
+ /** Present on a mid-call renegotiation only. */
11
+ sdp_type?: "offer" | "answer";
12
+ sdp: string;
13
+ dtls_fingerprints: string[];
14
+ /** Unix SECONDS (not milliseconds). */
15
+ ts: number;
16
+ nonce: string;
17
+ [key: string]: unknown;
18
+ }
19
+ /** A trickle-ICE batch, signed and encrypted like an offer. */
20
+ export interface CallSignalBundle {
21
+ v: number;
22
+ call_id: string;
23
+ candidates: unknown[];
24
+ ts: number;
25
+ nonce: string;
26
+ [key: string]: unknown;
27
+ }
28
+ /** A 128-bit random nonce, hex (section 4's bundle shape). */
29
+ export declare function randomNonce(): string;
30
+ /** Build the plaintext offer/answer bundle. `dtls_fingerprints` is always derived from `sdp` itself,
31
+ * never supplied: pinning only means something if the fingerprints are the ones in the SDP being sent.
32
+ * `ts` is unix seconds. Throws when the SDP carries no `a=fingerprint:` line. */
33
+ export declare function buildCallBundle(p: {
34
+ callId: string;
35
+ kind: string;
36
+ sdp: string;
37
+ sdpType?: "offer" | "answer";
38
+ ts?: number;
39
+ nonce?: string;
40
+ }): CallBundle;
41
+ /** Build the plaintext trickle-ICE bundle. */
42
+ export declare function buildSignalBundle(p: {
43
+ callId: string;
44
+ candidates: unknown[];
45
+ ts?: number;
46
+ nonce?: string;
47
+ }): CallSignalBundle;
48
+ /** Sign `bundle` with the sender's private key and encrypt the result to the receiver's public key.
49
+ * Returns armored ciphertext, ready for the opaque `payload` field of POST /api/v1/calls (or /answer,
50
+ * /signal). `passphrase` only matters for a legacy key that is still locked (default "salt"). */
51
+ export declare function signAndEncrypt(p: {
52
+ bundle: CallBundle | CallSignalBundle | Record<string, unknown>;
53
+ signingPrivateKey: string;
54
+ receiverPublicKey: string;
55
+ passphrase?: string;
56
+ }): Promise<string>;
57
+ /** Decrypt an armored bundle and check its signature against the SENDER's public key (never a key
58
+ * embedded in the message). Never throws for an ordinary crypto failure (corrupted payload, a signature
59
+ * from the wrong key): those come back as `{ bundle: null, signatureValid: false }` so callers fail
60
+ * closed. A bundle that decrypts but is not JSON is the same. */
61
+ export declare function decryptAndVerify(p: {
62
+ armored: string;
63
+ decryptionPrivateKey: string;
64
+ senderPublicKey: string;
65
+ passphrase?: string;
66
+ }): Promise<{
67
+ bundle: Record<string, any> | null;
68
+ signatureValid: boolean;
69
+ }>;
70
+ /** Section 4's replay half: `call_id` and `ts` bind the bundle to THIS call. No crypto here. `ts` is
71
+ * unix SECONDS and must be within 5 minutes of `now` (milliseconds, default the wall clock); when
72
+ * `expectedCallId` is given the bundle's `call_id` must equal it. */
73
+ export declare function isBundleFresh(p: {
74
+ bundle: Record<string, any> | null | undefined;
75
+ expectedCallId?: string;
76
+ now?: number;
77
+ }): boolean;
78
+ /** Every `a=fingerprint:<algo> <hex>` line of an SDP, normalised (trimmed, upper-cased, whitespace
79
+ * collapsed): `"SHA-256 AB:CD:..."`. Accepts CRLF or LF line ends. */
80
+ export declare function parseSdpFingerprints(sdp: string): string[];
81
+ /** Section 4's pin: every fingerprint in the SDP being applied must be one the signed bundle carries
82
+ * (case and whitespace insensitive). False when either side has none. A mismatch means: hang up with
83
+ * reason `error`, do not apply the SDP. */
84
+ export declare function fingerprintsMatch(signed: string[] | null | undefined, actualSdp: string): boolean;
85
+ /** The verified badge: only when the signing key's own fingerprint matches the stored public key. */
86
+ export declare function senderKeyMatchesContact(p: {
87
+ senderPublicKey: string;
88
+ contactPublicKey: string;
89
+ }): Promise<boolean>;
90
+ //# sourceMappingURL=callBundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callBundle.d.ts","sourceRoot":"","sources":["../src/callBundle.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,6EAA6E;AAC7E,eAAO,MAAM,UAAU,QAAgB,CAAC;AAExC,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,SAAS,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,+DAA+D;AAC/D,MAAM,WAAW,gBAAgB;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,EAAE,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAUD,8DAA8D;AAC9D,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;kFAEkF;AAClF,wBAAgB,eAAe,CAAC,CAAC,EAAE;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,UAAU,CAcb;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,EAAE,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,CAQ7H;AAED;;kGAEkG;AAClG,wBAAsB,cAAc,CAAC,CAAC,EAAE;IACtC,MAAM,EAAE,UAAU,GAAG,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlB;AAED;;;kEAGkE;AAClE,wBAAsB,gBAAgB,CAAC,CAAC,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAAC,CAgC3E;AAED;;sEAEsE;AACtE,wBAAgB,aAAa,CAAC,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAOnI;AAMD;uEACuE;AACvE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAE1D;AAED;;4CAE4C;AAC5C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAKjG;AAED,qGAAqG;AACrG,wBAAsB,uBAAuB,CAAC,CAAC,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAQxH"}