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.
- package/README.md +28 -3
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +72 -1
- package/dist/actions.js.map +1 -1
- package/dist/callBundle.d.ts +90 -0
- package/dist/callBundle.d.ts.map +1 -0
- package/dist/callBundle.js +199 -0
- package/dist/callBundle.js.map +1 -0
- package/dist/client.d.ts +88 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +80 -2
- package/dist/client.js.map +1 -1
- package/dist/device/client.d.ts +12 -4
- package/dist/device/client.d.ts.map +1 -1
- package/dist/device/client.js +44 -1
- package/dist/device/client.js.map +1 -1
- package/dist/device/host.d.ts +74 -3
- package/dist/device/host.d.ts.map +1 -1
- package/dist/device/host.js +262 -12
- package/dist/device/host.js.map +1 -1
- package/dist/device/http.d.ts.map +1 -1
- package/dist/device/http.js +3 -2
- package/dist/device/http.js.map +1 -1
- package/dist/device/protocol.d.ts +97 -1
- package/dist/device/protocol.d.ts.map +1 -1
- package/dist/device/protocol.js +155 -1
- package/dist/device/protocol.js.map +1 -1
- package/dist/help.d.ts +54 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +62 -0
- package/dist/help.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lattice.d.ts +206 -0
- package/dist/lattice.d.ts.map +1 -0
- package/dist/lattice.js +366 -0
- package/dist/lattice.js.map +1 -0
- package/dist/webhook.d.ts +67 -3
- package/dist/webhook.d.ts.map +1 -1
- package/dist/webhook.js +72 -4
- package/dist/webhook.js.map +1 -1
- package/dist/work.d.ts +2 -0
- package/dist/work.d.ts.map +1 -1
- package/dist/work.js +4 -0
- package/dist/work.js.map +1 -1
- 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
|
|
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
|
package/dist/actions.d.ts.map
CHANGED
|
@@ -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;
|
|
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) {
|
package/dist/actions.js.map
CHANGED
|
@@ -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":"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"}
|