salt-agent-sdk 0.21.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 (44) hide show
  1. package/README.md +26 -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 +74 -0
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +68 -0
  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/webhook.d.ts +60 -2
  37. package/dist/webhook.d.ts.map +1 -1
  38. package/dist/webhook.js +63 -1
  39. package/dist/webhook.js.map +1 -1
  40. package/dist/work.d.ts +2 -0
  41. package/dist/work.d.ts.map +1 -1
  42. package/dist/work.js +4 -0
  43. package/dist/work.js.map +1 -1
  44. package/package.json +1 -1
@@ -23,7 +23,15 @@ export declare const MUTATING_OPS: readonly string[];
23
23
  /** Why a session is paused (device -> Salt -> agent). `person_active` and
24
24
  * `secure_field` are the contract's two; `person_paused` is an explicit tray
25
25
  * pause or hotkey. Free-form strings are tolerated on the wire. */
26
- export type DevicePauseReason = "person_active" | "secure_field" | "person" | "other" | (string & {});
26
+ export type DevicePauseReason = "person_active" | "secure_field" | "person" | "phone" | "other" | (string & {});
27
+ /** Show Me (0.22.0): two device-to-agent ops that are not answers to a command.
28
+ * `still` is unsolicited (no `re`): the device posts a downscaled picture of its
29
+ * screen into the lane while a help request is open. `pointed` answers a person's
30
+ * `[[SALT-POINT]]` (its `re` is the point id): what is under the spot they tapped.
31
+ * They are kept out of `DEVICE_RESULT_OPS` on purpose: that list is pinned by the
32
+ * envelope-vector fixture shared byte for byte with saltapp-python. */
33
+ export type DeviceUnsolicitedOp = "still" | "pointed";
34
+ export declare const DEVICE_UNSOLICITED_OPS: readonly DeviceUnsolicitedOp[];
27
35
  /** Commands an agent sends to a device. */
28
36
  export type DeviceOp = "observe" | "click" | "type" | "key" | "scroll" | "submit" | "focus_app" | "list_apps" | "read_file" | "write_file" | "task" | "stop" | "cancel" | "shell";
29
37
  /** Results a device sends back to an agent. */
@@ -309,4 +317,92 @@ export declare class DeviceProtocolError extends Error {
309
317
  * the only property code here relies on is uniqueness. Sortable by time is a
310
318
  * convenience for logs and nothing more (ordering is enforced by `seq`). */
311
319
  export declare function deviceMessageId(now?: number, rand?: () => number): string;
320
+ /** The device posts at most one still every 2 s, and at most 30 a minute per lane. */
321
+ export declare const STILL_MIN_INTERVAL_MS = 2000;
322
+ export declare const STILL_MAX_PER_MINUTE = 30;
323
+ /** A person's optional words on a point. */
324
+ export declare const POINT_WORDS_MAX = 200;
325
+ /** Longest id a SALT-POINT header field may carry (help id, obs id, point id). */
326
+ export declare const POINT_ID_MAX = 64;
327
+ /** `pointed.words` is the point's words, same cap. */
328
+ export declare const POINTED_NAME_MAX = 200;
329
+ export interface StillBody {
330
+ help_id: string;
331
+ /** The observation id of this picture; a person's point names it back. */
332
+ obs: string;
333
+ width: number;
334
+ height: number;
335
+ scale: number;
336
+ format: "jpeg" | "png";
337
+ image_b64: string;
338
+ /** ISO8601. */
339
+ taken_at: string;
340
+ }
341
+ export type PointedRefusal = "forbidden_app" | "secure_field" | "stale" | "not_allowed";
342
+ export declare const POINTED_REFUSALS: readonly PointedRefusal[];
343
+ export interface PointedElement {
344
+ role: string;
345
+ subrole: string | null;
346
+ name: string | null;
347
+ value: string | null;
348
+ bounds: {
349
+ x: number;
350
+ y: number;
351
+ w: number;
352
+ h: number;
353
+ };
354
+ }
355
+ export interface PointedBody {
356
+ help_id: string;
357
+ x: number;
358
+ y: number;
359
+ /** The spot in screen coordinates. */
360
+ screen: {
361
+ x: number;
362
+ y: number;
363
+ };
364
+ app: string | null;
365
+ /** Null when nothing is named under the point, or when the answer was refused. */
366
+ element: PointedElement | null;
367
+ refused: PointedRefusal | null;
368
+ words: string;
369
+ }
370
+ /** A still body, allow-listed with types checked; null when it is not one. Used by the agent
371
+ * on what a device sent. Extra fields are dropped. */
372
+ export declare function normalizeStill(raw: unknown): StillBody | null;
373
+ /** A `pointed` body, allow-listed field by field; null when it is not one. A refused answer
374
+ * never carries an element, whatever the sender put there. */
375
+ export declare function normalizePointed(raw: unknown): PointedBody | null;
376
+ /** One point a person made on a still (or, live, on the call's frame). */
377
+ export interface PointMessage {
378
+ v: number;
379
+ /** The help request this point answers. */
380
+ help: string;
381
+ /** The still it was made on; absent means the live frame. */
382
+ obs?: string;
383
+ /** Fractions of the picture, 0..1. */
384
+ x: number;
385
+ y: number;
386
+ /** A fresh id per point; the device answers each id once. */
387
+ id: string;
388
+ words: string;
389
+ }
390
+ /** True when the text opens with the SALT-POINT marker (well formed or not). */
391
+ export declare function isPointMessage(plaintext: string): boolean;
392
+ /** The plaintext of a point. `x` and `y` are written with four decimals. Throws
393
+ * DeviceProtocolError("bad_args") on an out-of-range fraction, a bad id, or words over 200
394
+ * characters (nothing is cut off silently). */
395
+ export declare function encodePoint(p: {
396
+ help: string;
397
+ obs?: string;
398
+ x: number;
399
+ y: number;
400
+ id: string;
401
+ words?: string;
402
+ }): string;
403
+ /** Parse the decrypted plaintext of a lane message. Returns null when it is not a point at
404
+ * all. Throws DeviceProtocolError("bad_args") on a message that opens with the marker but
405
+ * is broken: a wrong version, a missing field, an x or y outside 0..1 (or with more than
406
+ * four decimals), a bad id, or words over 200 characters. */
407
+ export declare function decodePoint(plaintext: string): PointMessage | null;
312
408
  //# sourceMappingURL=protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/device/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/device/protocol.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@
16
16
  // change to the grammar is made in DEVICE_PROTOCOL.md first, then mirrored
17
17
  // here, then announced -- never the other way round.
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.DeviceProtocolError = exports.TASK_STEP_KINDS = exports.TASK_STATUSES = exports.TASK_CLIENT_GRACE_MS = exports.TASK_DEVICE_GRACE_MS = exports.PROGRESS_MIN_INTERVAL_MS = exports.TASK_ID_MAX = exports.TASK_CHECKED_WHAT_MAX = exports.TASK_RESULT_STEPS_MAX = exports.TASK_STEP_LINE_MAX = exports.TASK_SUMMARY_MAX = exports.PROGRESS_LINE_MAX = exports.TASK_TIMEOUT_S_DEFAULT = exports.TASK_TIMEOUT_S_MAX = exports.TASK_TIMEOUT_S_MIN = exports.TASK_MAX_STEPS_DEFAULT = exports.TASK_MAX_STEPS_MAX = exports.TASK_MAX_STEPS_MIN = exports.TASK_DONE_WHEN_MAX = exports.TASK_GOAL_MAX = exports.DEVICE_COUNT_CLASSES = exports.CAPABILITY_FOR_OP = exports.DEVICE_ERROR_CODES = exports.DEVICE_RESULT_OPS = exports.AGENT_OPS = exports.MUTATING_OPS = exports.RESULT_CACHE_SIZE = exports.COMMAND_TTL_MS = exports.MAX_OBSERVE_PER_SECOND = exports.MAX_COMMANDS_PER_SECOND = exports.MAX_DEVICE_PLAINTEXT_BYTES = exports.DEVICE_PROTOCOL_VERSION = void 0;
19
+ exports.POINTED_REFUSALS = exports.POINTED_NAME_MAX = exports.POINT_ID_MAX = exports.POINT_WORDS_MAX = exports.STILL_MAX_PER_MINUTE = exports.STILL_MIN_INTERVAL_MS = exports.DeviceProtocolError = exports.TASK_STEP_KINDS = exports.TASK_STATUSES = exports.TASK_CLIENT_GRACE_MS = exports.TASK_DEVICE_GRACE_MS = exports.PROGRESS_MIN_INTERVAL_MS = exports.TASK_ID_MAX = exports.TASK_CHECKED_WHAT_MAX = exports.TASK_RESULT_STEPS_MAX = exports.TASK_STEP_LINE_MAX = exports.TASK_SUMMARY_MAX = exports.PROGRESS_LINE_MAX = exports.TASK_TIMEOUT_S_DEFAULT = exports.TASK_TIMEOUT_S_MAX = exports.TASK_TIMEOUT_S_MIN = exports.TASK_MAX_STEPS_DEFAULT = exports.TASK_MAX_STEPS_MAX = exports.TASK_MAX_STEPS_MIN = exports.TASK_DONE_WHEN_MAX = exports.TASK_GOAL_MAX = exports.DEVICE_COUNT_CLASSES = exports.CAPABILITY_FOR_OP = exports.DEVICE_ERROR_CODES = exports.DEVICE_RESULT_OPS = exports.AGENT_OPS = exports.DEVICE_UNSOLICITED_OPS = exports.MUTATING_OPS = exports.RESULT_CACHE_SIZE = exports.COMMAND_TTL_MS = exports.MAX_OBSERVE_PER_SECOND = exports.MAX_COMMANDS_PER_SECOND = exports.MAX_DEVICE_PLAINTEXT_BYTES = exports.DEVICE_PROTOCOL_VERSION = void 0;
20
20
  exports.countClassForOp = countClassForOp;
21
21
  exports.parseTaskArgs = parseTaskArgs;
22
22
  exports.taskCommandBody = taskCommandBody;
@@ -26,6 +26,11 @@ exports.normalizeTaskResult = normalizeTaskResult;
26
26
  exports.encodeDeviceMessage = encodeDeviceMessage;
27
27
  exports.decodeDeviceMessage = decodeDeviceMessage;
28
28
  exports.deviceMessageId = deviceMessageId;
29
+ exports.normalizeStill = normalizeStill;
30
+ exports.normalizePointed = normalizePointed;
31
+ exports.isPointMessage = isPointMessage;
32
+ exports.encodePoint = encodePoint;
33
+ exports.decodePoint = decodePoint;
29
34
  /** Grammar version. An incoming message with any other `v` is answered
30
35
  * `error { code: "unsupported" }`, never guessed at. */
31
36
  exports.DEVICE_PROTOCOL_VERSION = 1;
@@ -50,6 +55,7 @@ exports.RESULT_CACHE_SIZE = 64;
50
55
  * serialises these device-wide (across every session on the machine) behind
51
56
  * one mutex. `observe`, `list_apps` and the file ops do not take it. */
52
57
  exports.MUTATING_OPS = ["click", "type", "key", "scroll", "submit", "focus_app", "task"];
58
+ exports.DEVICE_UNSOLICITED_OPS = ["still", "pointed"];
53
59
  exports.AGENT_OPS = [
54
60
  "observe",
55
61
  "click",
@@ -432,4 +438,152 @@ function deviceMessageId(now = Date.now(), rand = Math.random) {
432
438
  }
433
439
  return time + randPart;
434
440
  }
441
+ // ---- Show Me: stills and points (CONTRACT.md section 3) ---------------------
442
+ /** The device posts at most one still every 2 s, and at most 30 a minute per lane. */
443
+ exports.STILL_MIN_INTERVAL_MS = 2_000;
444
+ exports.STILL_MAX_PER_MINUTE = 30;
445
+ /** A person's optional words on a point. */
446
+ exports.POINT_WORDS_MAX = 200;
447
+ /** Longest id a SALT-POINT header field may carry (help id, obs id, point id). */
448
+ exports.POINT_ID_MAX = 64;
449
+ /** `pointed.words` is the point's words, same cap. */
450
+ exports.POINTED_NAME_MAX = 200;
451
+ exports.POINTED_REFUSALS = ["forbidden_app", "secure_field", "stale", "not_allowed"];
452
+ /** A still body, allow-listed with types checked; null when it is not one. Used by the agent
453
+ * on what a device sent. Extra fields are dropped. */
454
+ function normalizeStill(raw) {
455
+ if (!isRecord(raw))
456
+ return null;
457
+ const { help_id, obs, width, height, scale, format, image_b64, taken_at } = raw;
458
+ if (typeof help_id !== "string" || help_id === "" || typeof obs !== "string" || obs === "")
459
+ return null;
460
+ if (format !== "jpeg" && format !== "png")
461
+ return null;
462
+ if (typeof image_b64 !== "string" || image_b64 === "")
463
+ return null;
464
+ const w = wholeNumber(width);
465
+ const h = wholeNumber(height);
466
+ if (w === null || h === null || w < 1 || h < 1)
467
+ return null;
468
+ if (typeof scale !== "number" || !Number.isFinite(scale) || scale <= 0)
469
+ return null;
470
+ return { help_id, obs, width: w, height: h, scale, format, image_b64, taken_at: typeof taken_at === "string" ? taken_at : "" };
471
+ }
472
+ function finite(x) {
473
+ return typeof x === "number" && Number.isFinite(x) ? x : null;
474
+ }
475
+ /** A `pointed` body, allow-listed field by field; null when it is not one. A refused answer
476
+ * never carries an element, whatever the sender put there. */
477
+ function normalizePointed(raw) {
478
+ if (!isRecord(raw))
479
+ return null;
480
+ if (typeof raw.help_id !== "string" || raw.help_id === "")
481
+ return null;
482
+ const x = finite(raw.x);
483
+ const y = finite(raw.y);
484
+ if (x === null || y === null || x < 0 || x > 1 || y < 0 || y > 1)
485
+ return null;
486
+ const sx = isRecord(raw.screen) ? finite(raw.screen.x) : null;
487
+ const sy = isRecord(raw.screen) ? finite(raw.screen.y) : null;
488
+ if (sx === null || sy === null)
489
+ return null;
490
+ const refused = exports.POINTED_REFUSALS.includes(raw.refused) ? raw.refused : null;
491
+ let element = null;
492
+ if (refused === null && isRecord(raw.element) && typeof raw.element.role === "string") {
493
+ const e = raw.element;
494
+ const b = isRecord(e.bounds) ? e.bounds : {};
495
+ element = {
496
+ role: clip(e.role, 80),
497
+ subrole: typeof e.subrole === "string" ? clip(e.subrole, 80) : null,
498
+ name: typeof e.name === "string" ? clip(e.name, exports.POINTED_NAME_MAX) : null,
499
+ value: typeof e.value === "string" ? clip(e.value, exports.POINTED_NAME_MAX) : null,
500
+ bounds: { x: finite(b.x) ?? 0, y: finite(b.y) ?? 0, w: finite(b.w) ?? 0, h: finite(b.h) ?? 0 },
501
+ };
502
+ }
503
+ return {
504
+ help_id: raw.help_id,
505
+ x,
506
+ y,
507
+ screen: { x: sx, y: sy },
508
+ app: typeof raw.app === "string" ? clip(raw.app, 200) : null,
509
+ element,
510
+ refused,
511
+ words: typeof raw.words === "string" ? clip(raw.words, exports.POINT_WORDS_MAX) : "",
512
+ };
513
+ }
514
+ const POINT_MARKER_RE = /^\[\[SALT-POINT ((?:[a-z_]+=[^\s\]]+ ?)+)\]\]([\s\S]*)$/;
515
+ const POINT_TOKEN_RE = /^[A-Za-z0-9_-]{1,64}$/;
516
+ // 0..1 with at most four decimals: "0", "1", "0.5", "0.6012", "1.0".
517
+ const POINT_FRACTION_RE = /^(?:0(?:\.\d{1,4})?|1(?:\.0{1,4})?)$/;
518
+ /** True when the text opens with the SALT-POINT marker (well formed or not). */
519
+ function isPointMessage(plaintext) {
520
+ return plaintext.trimStart().startsWith("[[SALT-POINT");
521
+ }
522
+ function fraction(n, what) {
523
+ if (typeof n !== "number" || !Number.isFinite(n) || n < 0 || n > 1) {
524
+ throw new DeviceProtocolError("bad_args", `${what} must be between 0 and 1`);
525
+ }
526
+ return n.toFixed(4);
527
+ }
528
+ /** The plaintext of a point. `x` and `y` are written with four decimals. Throws
529
+ * DeviceProtocolError("bad_args") on an out-of-range fraction, a bad id, or words over 200
530
+ * characters (nothing is cut off silently). */
531
+ function encodePoint(p) {
532
+ for (const [what, val] of [["help", p.help], ["id", p.id], ...(p.obs !== undefined ? [["obs", p.obs]] : [])]) {
533
+ if (typeof val !== "string" || !POINT_TOKEN_RE.test(val))
534
+ throw new DeviceProtocolError("bad_args", `${what} is not a valid id`);
535
+ }
536
+ const words = p.words ?? "";
537
+ if (typeof words !== "string" || charCount(words) > exports.POINT_WORDS_MAX) {
538
+ throw new DeviceProtocolError("bad_args", `words are over ${exports.POINT_WORDS_MAX} characters`);
539
+ }
540
+ const parts = [`v=${exports.DEVICE_PROTOCOL_VERSION}`, `help=${p.help}`];
541
+ if (p.obs !== undefined)
542
+ parts.push(`obs=${p.obs}`);
543
+ parts.push(`x=${fraction(p.x, "x")}`, `y=${fraction(p.y, "y")}`, `id=${p.id}`);
544
+ const marker = `[[SALT-POINT ${parts.join(" ")}]]`;
545
+ return words === "" ? marker : `${marker}\n${words}`;
546
+ }
547
+ /** Parse the decrypted plaintext of a lane message. Returns null when it is not a point at
548
+ * all. Throws DeviceProtocolError("bad_args") on a message that opens with the marker but
549
+ * is broken: a wrong version, a missing field, an x or y outside 0..1 (or with more than
550
+ * four decimals), a bad id, or words over 200 characters. */
551
+ function decodePoint(plaintext) {
552
+ const trimmed = plaintext.trimStart();
553
+ if (!trimmed.startsWith("[[SALT-POINT"))
554
+ return null;
555
+ const m = POINT_MARKER_RE.exec(trimmed);
556
+ if (!m)
557
+ throw new DeviceProtocolError("bad_args", "malformed SALT-POINT marker");
558
+ const fields = {};
559
+ for (const pair of m[1].trim().split(/\s+/)) {
560
+ const eq = pair.indexOf("=");
561
+ if (eq === -1)
562
+ throw new DeviceProtocolError("bad_args", `bad marker field: ${pair}`);
563
+ const k = pair.slice(0, eq);
564
+ if (k in fields)
565
+ throw new DeviceProtocolError("bad_args", `repeated marker field: ${k}`);
566
+ fields[k] = pair.slice(eq + 1);
567
+ }
568
+ for (const required of ["v", "help", "x", "y", "id"]) {
569
+ if (fields[required] === undefined)
570
+ throw new DeviceProtocolError("bad_args", `marker missing ${required}`);
571
+ }
572
+ if (fields.v !== String(exports.DEVICE_PROTOCOL_VERSION))
573
+ throw new DeviceProtocolError("unsupported", `unsupported SALT-POINT version ${fields.v}`);
574
+ for (const k of ["help", "id", ...(fields.obs !== undefined ? ["obs"] : [])]) {
575
+ if (!POINT_TOKEN_RE.test(fields[k]))
576
+ throw new DeviceProtocolError("bad_args", `${k} is not a valid id`);
577
+ }
578
+ if (!POINT_FRACTION_RE.test(fields.x) || !POINT_FRACTION_RE.test(fields.y)) {
579
+ throw new DeviceProtocolError("bad_args", "x and y must be between 0 and 1 with at most four decimals");
580
+ }
581
+ const words = m[2].replace(/^\r?\n/, "").trim();
582
+ if (charCount(words) > exports.POINT_WORDS_MAX)
583
+ throw new DeviceProtocolError("bad_args", `words are over ${exports.POINT_WORDS_MAX} characters`);
584
+ const out = { v: exports.DEVICE_PROTOCOL_VERSION, help: fields.help, x: Number(fields.x), y: Number(fields.y), id: fields.id, words };
585
+ if (fields.obs !== undefined)
586
+ out.obs = fields.obs;
587
+ return out;
588
+ }
435
589
  //# sourceMappingURL=protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/device/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/device/protocol.ts"],"names":[],"mappings":"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"}
package/dist/help.d.ts ADDED
@@ -0,0 +1,54 @@
1
+ export declare const HELP_REASONS: readonly ["stuck", "which", "unclear", "look"];
2
+ export type HelpReason = (typeof HELP_REASONS)[number];
3
+ /** The question is at most this many characters (Unicode code points). */
4
+ export declare const HELP_QUESTION_MAX = 500;
5
+ export interface HelpMessage {
6
+ reason: HelpReason;
7
+ question: string;
8
+ }
9
+ /** True when the text opens with the SALT-HELP marker (well formed or not). */
10
+ export declare function isHelpMessage(plaintext: string): boolean;
11
+ /** The plaintext of a help question. Throws on an unknown reason, an empty question or one
12
+ * over 500 characters (nothing is cut off silently). */
13
+ export declare function encodeHelp(h: {
14
+ reason: HelpReason;
15
+ question: string;
16
+ }): string;
17
+ /** Parse a decrypted message. Null when it is not a help message, or when it opens with the
18
+ * marker but is malformed (unknown reason, empty or over-long question): a reader treats
19
+ * that as ordinary text. */
20
+ export declare function decodeHelp(plaintext: string): HelpMessage | null;
21
+ export type HelpRequestStatus = "open" | "answered" | "withdrawn" | "ended";
22
+ /** A help request as salt-api serves it. The server stores ids, the reason and the status only;
23
+ * the question itself rides end-to-end encrypted in the 1:1 chat. */
24
+ export interface HelpRequest {
25
+ id: string;
26
+ agent: {
27
+ id: string;
28
+ username?: string;
29
+ display_name?: string;
30
+ };
31
+ person_id: string;
32
+ chat_id: string;
33
+ message_id: string;
34
+ reason: HelpReason;
35
+ status: HelpRequestStatus;
36
+ device_session_id: string | null;
37
+ device: {
38
+ id: string;
39
+ name?: string;
40
+ lane_chat_id?: string;
41
+ } | null;
42
+ created_at: string;
43
+ closed_at: string | null;
44
+ last_viewed_at: string | null;
45
+ }
46
+ /** The person looking at a help request from their phone. */
47
+ export interface HelpViewer {
48
+ id: string;
49
+ display_name?: string;
50
+ }
51
+ /** The deliveries a device receives about a help request (CONTRACT.md section 4). */
52
+ export declare const HELP_DELIVERY_TYPES: readonly ["help_request_opened", "help_request_viewing", "help_request_closed"];
53
+ export type HelpDeliveryType = (typeof HELP_DELIVERY_TYPES)[number];
54
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY,gDAAiD,CAAC;AAC3E,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAUD,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;yDACyD;AACzD,wBAAgB,UAAU,CAAC,CAAC,EAAE;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAM9E;AAED;;6BAE6B;AAC7B,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAShE;AAID,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;AAE5E;sEACsE;AACtE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,iFAAkF,CAAC;AACnH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
package/dist/help.js ADDED
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ // The `[[SALT-HELP reason=...]]` marker (Show Me, CONTRACT.md section 1).
3
+ //
4
+ // An agent that is stuck asks a person for help with an ordinary end-to-end
5
+ // encrypted message in its 1:1 with them. The first line is the marker; the
6
+ // rest is the question in plain words. Salt never parses it: the server only
7
+ // learns that a help request exists (ids and a reason) from POST /help_requests.
8
+ // salt-fe strips the marker line from every human-facing view and shows the
9
+ // question.
10
+ //
11
+ // Pure: encode and decode only.
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.HELP_DELIVERY_TYPES = exports.HELP_QUESTION_MAX = exports.HELP_REASONS = void 0;
14
+ exports.isHelpMessage = isHelpMessage;
15
+ exports.encodeHelp = encodeHelp;
16
+ exports.decodeHelp = decodeHelp;
17
+ exports.HELP_REASONS = ["stuck", "which", "unclear", "look"];
18
+ /** The question is at most this many characters (Unicode code points). */
19
+ exports.HELP_QUESTION_MAX = 500;
20
+ const HELP_RE = /^\[\[SALT-HELP reason=([a-z]+)\]\][ \t]*(?:\r?\n([\s\S]*))?$/;
21
+ function codePoints(s) {
22
+ let n = 0;
23
+ for (const _ of s)
24
+ n += 1;
25
+ return n;
26
+ }
27
+ /** True when the text opens with the SALT-HELP marker (well formed or not). */
28
+ function isHelpMessage(plaintext) {
29
+ return plaintext.trimStart().startsWith("[[SALT-HELP");
30
+ }
31
+ /** The plaintext of a help question. Throws on an unknown reason, an empty question or one
32
+ * over 500 characters (nothing is cut off silently). */
33
+ function encodeHelp(h) {
34
+ if (!exports.HELP_REASONS.includes(h.reason))
35
+ throw new Error(`help reason must be one of ${exports.HELP_REASONS.join(", ")}`);
36
+ const question = typeof h.question === "string" ? h.question.trim() : "";
37
+ if (question === "")
38
+ throw new Error("a help question cannot be empty");
39
+ if (codePoints(question) > exports.HELP_QUESTION_MAX)
40
+ throw new Error(`a help question is at most ${exports.HELP_QUESTION_MAX} characters`);
41
+ return `[[SALT-HELP reason=${h.reason}]]\n${question}`;
42
+ }
43
+ /** Parse a decrypted message. Null when it is not a help message, or when it opens with the
44
+ * marker but is malformed (unknown reason, empty or over-long question): a reader treats
45
+ * that as ordinary text. */
46
+ function decodeHelp(plaintext) {
47
+ const trimmed = plaintext.trimStart();
48
+ if (!trimmed.startsWith("[[SALT-HELP"))
49
+ return null;
50
+ const m = HELP_RE.exec(trimmed);
51
+ if (!m)
52
+ return null;
53
+ if (!exports.HELP_REASONS.includes(m[1]))
54
+ return null;
55
+ const question = (m[2] ?? "").trim();
56
+ if (question === "" || codePoints(question) > exports.HELP_QUESTION_MAX)
57
+ return null;
58
+ return { reason: m[1], question };
59
+ }
60
+ /** The deliveries a device receives about a help request (CONTRACT.md section 4). */
61
+ exports.HELP_DELIVERY_TYPES = ["help_request_opened", "help_request_viewing", "help_request_closed"];
62
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,iFAAiF;AACjF,4EAA4E;AAC5E,YAAY;AACZ,EAAE;AACF,gCAAgC;;;AAsBhC,sCAEC;AAID,gCAMC;AAKD,gCASC;AA9CY,QAAA,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;AAG3E,0EAA0E;AAC7D,QAAA,iBAAiB,GAAG,GAAG,CAAC;AAOrC,MAAM,OAAO,GAAG,8DAA8D,CAAC;AAE/E,SAAS,UAAU,CAAC,CAAS;IAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,CAAC;QAAE,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,+EAA+E;AAC/E,SAAgB,aAAa,CAAC,SAAiB;IAC7C,OAAO,SAAS,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACzD,CAAC;AAED;yDACyD;AACzD,SAAgB,UAAU,CAAC,CAA2C;IACpE,IAAI,CAAC,oBAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,oBAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/G,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,IAAI,QAAQ,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACxE,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,yBAAiB;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,yBAAiB,aAAa,CAAC,CAAC;IAC5H,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,QAAQ,EAAE,CAAC;AACzD,CAAC;AAED;;6BAE6B;AAC7B,SAAgB,UAAU,CAAC,SAAiB;IAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;IACtC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,CAAC,oBAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,QAAQ,KAAK,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,yBAAiB;QAAE,OAAO,IAAI,CAAC;IAC7E,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAe,EAAE,QAAQ,EAAE,CAAC;AAClD,CAAC;AA6BD,qFAAqF;AACxE,QAAA,mBAAmB,GAAG,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,CAAU,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,8 @@ export * from "./register";
9
9
  export * from "./reconcile";
10
10
  export * from "./delegations";
11
11
  export * from "./work";
12
+ export * from "./help";
13
+ export * from "./callBundle";
12
14
  export * from "./sessions";
13
15
  export * from "./scriptJob";
14
16
  export * from "./chatPrivacy";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -25,6 +25,8 @@ __exportStar(require("./register"), exports);
25
25
  __exportStar(require("./reconcile"), exports);
26
26
  __exportStar(require("./delegations"), exports);
27
27
  __exportStar(require("./work"), exports);
28
+ __exportStar(require("./help"), exports);
29
+ __exportStar(require("./callBundle"), exports);
28
30
  __exportStar(require("./sessions"), exports);
29
31
  __exportStar(require("./scriptJob"), exports);
30
32
  __exportStar(require("./chatPrivacy"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,kDAAgC;AAChC,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B;AAC5B,gDAA8B;AAC9B,yCAAuB;AACvB,6CAA2B;AAC3B,8CAA4B;AAC5B,gDAA8B;AAC9B,4CAA0B;AAC1B,wCAAsB;AACtB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,kDAAgC;AAChC,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B;AAC5B,gDAA8B;AAC9B,yCAAuB;AACvB,yCAAuB;AACvB,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B;AAC5B,gDAA8B;AAC9B,4CAA0B;AAC1B,wCAAsB;AACtB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,oDAAkC"}