salt-agent-sdk 0.1.0 → 0.18.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 (103) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +941 -30
  3. package/dist/actions.d.ts +21 -5
  4. package/dist/actions.d.ts.map +1 -1
  5. package/dist/actions.js +673 -54
  6. package/dist/actions.js.map +1 -1
  7. package/dist/ask.d.ts +83 -0
  8. package/dist/ask.d.ts.map +1 -0
  9. package/dist/ask.js +215 -0
  10. package/dist/ask.js.map +1 -0
  11. package/dist/chatPrivacy.d.ts +34 -0
  12. package/dist/chatPrivacy.d.ts.map +1 -0
  13. package/dist/chatPrivacy.js +60 -0
  14. package/dist/chatPrivacy.js.map +1 -0
  15. package/dist/client.d.ts +2783 -35
  16. package/dist/client.d.ts.map +1 -1
  17. package/dist/client.js +1200 -143
  18. package/dist/client.js.map +1 -1
  19. package/dist/config.d.ts +16 -6
  20. package/dist/config.d.ts.map +1 -1
  21. package/dist/config.js +16 -5
  22. package/dist/config.js.map +1 -1
  23. package/dist/crypto.d.ts +62 -0
  24. package/dist/crypto.d.ts.map +1 -1
  25. package/dist/crypto.js +121 -0
  26. package/dist/crypto.js.map +1 -1
  27. package/dist/delegations.d.ts +25 -8
  28. package/dist/delegations.d.ts.map +1 -1
  29. package/dist/delegations.js +67 -11
  30. package/dist/delegations.js.map +1 -1
  31. package/dist/device/client.d.ts +161 -0
  32. package/dist/device/client.d.ts.map +1 -0
  33. package/dist/device/client.js +601 -0
  34. package/dist/device/client.js.map +1 -0
  35. package/dist/device/host.d.ts +222 -0
  36. package/dist/device/host.d.ts.map +1 -0
  37. package/dist/device/host.js +891 -0
  38. package/dist/device/host.js.map +1 -0
  39. package/dist/device/http.d.ts +12 -0
  40. package/dist/device/http.d.ts.map +1 -0
  41. package/dist/device/http.js +124 -0
  42. package/dist/device/http.js.map +1 -0
  43. package/dist/device/index.d.ts +5 -0
  44. package/dist/device/index.d.ts.map +1 -0
  45. package/dist/device/index.js +27 -0
  46. package/dist/device/index.js.map +1 -0
  47. package/dist/device/protocol.d.ts +312 -0
  48. package/dist/device/protocol.d.ts.map +1 -0
  49. package/dist/device/protocol.js +435 -0
  50. package/dist/device/protocol.js.map +1 -0
  51. package/dist/identities.d.ts +9 -2
  52. package/dist/identities.d.ts.map +1 -1
  53. package/dist/identities.js +33 -3
  54. package/dist/identities.js.map +1 -1
  55. package/dist/identity.d.ts +155 -0
  56. package/dist/identity.d.ts.map +1 -0
  57. package/dist/identity.js +196 -0
  58. package/dist/identity.js.map +1 -0
  59. package/dist/identityShare.d.ts +129 -0
  60. package/dist/identityShare.d.ts.map +1 -0
  61. package/dist/identityShare.js +308 -0
  62. package/dist/identityShare.js.map +1 -0
  63. package/dist/ids.d.ts +11 -0
  64. package/dist/ids.d.ts.map +1 -0
  65. package/dist/ids.js +17 -0
  66. package/dist/ids.js.map +1 -0
  67. package/dist/index.d.ts +13 -0
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +13 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/reconcile.d.ts +25 -0
  72. package/dist/reconcile.d.ts.map +1 -0
  73. package/dist/reconcile.js +60 -0
  74. package/dist/reconcile.js.map +1 -0
  75. package/dist/recovery.d.ts +51 -0
  76. package/dist/recovery.d.ts.map +1 -0
  77. package/dist/recovery.js +59 -0
  78. package/dist/recovery.js.map +1 -0
  79. package/dist/register.d.ts +32 -0
  80. package/dist/register.d.ts.map +1 -0
  81. package/dist/register.js +65 -0
  82. package/dist/register.js.map +1 -0
  83. package/dist/scriptJob.d.ts +92 -0
  84. package/dist/scriptJob.d.ts.map +1 -0
  85. package/dist/scriptJob.js +270 -0
  86. package/dist/scriptJob.js.map +1 -0
  87. package/dist/sessions.d.ts +131 -0
  88. package/dist/sessions.d.ts.map +1 -0
  89. package/dist/sessions.js +240 -0
  90. package/dist/sessions.js.map +1 -0
  91. package/dist/socket.d.ts +115 -0
  92. package/dist/socket.d.ts.map +1 -0
  93. package/dist/socket.js +1038 -0
  94. package/dist/socket.js.map +1 -0
  95. package/dist/webhook.d.ts +613 -24
  96. package/dist/webhook.d.ts.map +1 -1
  97. package/dist/webhook.js +1384 -83
  98. package/dist/webhook.js.map +1 -1
  99. package/dist/work.d.ts +57 -0
  100. package/dist/work.d.ts.map +1 -0
  101. package/dist/work.js +213 -0
  102. package/dist/work.js.map +1 -0
  103. package/package.json +26 -4
@@ -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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"}
package/dist/ask.d.ts ADDED
@@ -0,0 +1,83 @@
1
+ import type { SaltClient } from "./client";
2
+ import type { AgentIdentity } from "./identities";
3
+ import { type SaltId } from "./ids.js";
4
+ export interface AskOptions {
5
+ /** Button labels, one row of buttons. Omit for a free-text-only question. */
6
+ options?: string[];
7
+ /** Also accept a plain typed reply as the answer. Defaults to true when
8
+ * `options` is omitted (there'd be no other way to answer), false when
9
+ * `options` is given (buttons only, unless set explicitly). */
10
+ freeText?: boolean;
11
+ /** Defaults to 10 minutes -- the person asking may not be looking right now. */
12
+ timeoutMs?: number;
13
+ /** The ONE person allowed to answer. `ctx.ask`/`ctx.approve` default this
14
+ * to whoever sent the message onMessage is currently handling (see
15
+ * webhook.ts's makeAsk) -- pass it explicitly only to ask someone else
16
+ * (e.g. from onChatOpened, where the natural default is `openedBy`).
17
+ * Required one way or the other: without a named answerer there is
18
+ * nobody left once agent tappers and everyone else are ignored. */
19
+ answererId?: SaltId;
20
+ }
21
+ export interface AskResult {
22
+ answer: string;
23
+ by: SaltId;
24
+ via: "button" | "message";
25
+ }
26
+ /**
27
+ * Posts the question as a card and waits for an answer. Resolves with
28
+ * `{answer, by, via}` -- `via: "button"` when the named answerer tapped a
29
+ * listed option (`answer` is that option's label), `via: "message"` when
30
+ * their plain reply answered it instead (`answer` is that message's
31
+ * text). A tap or reply from anyone else -- including any agent -- is
32
+ * ignored outright, never resolves the ask, and never reaches the
33
+ * consumer's own onCardInteraction/onMessage either (see
34
+ * resolveCardInteraction/resolveMessage below). Rejects if `timeoutMs`
35
+ * elapses first, or synchronously if this (identity, chat) already has a
36
+ * pending ask, or if no answerer could be determined at all.
37
+ *
38
+ * On resolution, the card is updated in place to show the chosen answer
39
+ * (best-effort -- a failure to update it never fails the already-settled
40
+ * answer).
41
+ */
42
+ export declare function ask(client: SaltClient, caller: AgentIdentity, chatId: SaltId, question: string, opts?: AskOptions): Promise<AskResult>;
43
+ /**
44
+ * Sugar for a yes/no `ask`: two buttons, and an EXACT "y"/"yes" typed
45
+ * reply (case-insensitive, an optional trailing "." or "!") also counts as
46
+ * approval -- anything else typed, including a near-miss like "yeah",
47
+ * resolves `approved: false`, same as tapping "No".
48
+ */
49
+ export declare function approve(client: SaltClient, caller: AgentIdentity, chatId: SaltId, summary: string, opts?: {
50
+ timeoutMs?: number;
51
+ answererId?: SaltId;
52
+ }): Promise<{
53
+ approved: boolean;
54
+ by: SaltId;
55
+ via: "button" | "message";
56
+ }>;
57
+ /** True while any ctx.ask is waiting. socket.ts uses it to skip the early
58
+ * answer-resolution pass (a decrypt) for frames when nothing is waiting. */
59
+ export declare function hasPendingAsks(): boolean;
60
+ /**
61
+ * Called from webhook.ts's handleCardInteraction, BEFORE the consumer's own
62
+ * onCardInteraction runs -- a tap answering one of THIS module's cards is
63
+ * wire-level bookkeeping for ctx.ask, never something the consumer's own
64
+ * card-interaction handler should also see. Returns true when this tap was
65
+ * consumed (matched a pending ask for this identity+chat, its card, a real
66
+ * option on it, and -- client-side, on top of the server's own
67
+ * restricted_to gate -- the named answerer, never an agent).
68
+ */
69
+ export declare function resolveCardInteraction(identityId: SaltId, chatId: SaltId, cardId: SaltId | undefined, actionId: string, user: {
70
+ id: SaltId;
71
+ account_type?: string;
72
+ }): boolean;
73
+ /**
74
+ * Called from webhook.ts's handleMessage, alongside delegations.resolveIfPending
75
+ * -- same shape: if this (identity, chat) has a pending free-text-eligible
76
+ * ask and the sender is the named answerer (never an agent, never anyone
77
+ * else), this message IS the answer, and the caller should stop
78
+ * processing it as a fresh prompt. `text` is the raw decrypted plaintext
79
+ * (before delegation-depth/consult-marker stripping), matching what
80
+ * delegations.resolveIfPending is handed at the same call site.
81
+ */
82
+ export declare function resolveMessage(identityId: SaltId, chatId: SaltId, senderId: SaltId, senderIsHuman: boolean, text: string): boolean;
83
+ //# sourceMappingURL=ask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;oEAEgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;wEAKoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC3B;AA4CD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CA6DhJ;AAQD;;;;;GAKG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACrD,OAAO,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,CAAC,CAQvE;AAED;6EAC6E;AAC7E,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,OAAO,CAWT;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CASlI"}
package/dist/ask.js ADDED
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ // ctx.ask (K3): an agent asks a person a quick question INLINE and waits
3
+ // for whichever answer arrives first -- a tap on one of the buttons this
4
+ // posts as a card, or the next plain message from a human member of the
5
+ // chat. Built on the existing card machinery (client.postCard/updateCard,
6
+ // the same block vocabulary actions.ts's BLOCKS_SCHEMA documents), so it
7
+ // needs nothing new from salt-api.
8
+ //
9
+ // Wiring: resolveCardInteraction/resolveMessage are called from
10
+ // webhook.ts's createDispatcher, the ONE place both delivery modes
11
+ // (webhook POST and the K2 socket long-poll/Cable envelope) end up --
12
+ // see socket.ts, which drains the same dispatcher. That's what makes
13
+ // `ctx.ask` behave identically under either mode with no extra wiring at
14
+ // the call site: register a pending wait here, and whichever transport
15
+ // happens to deliver the reply resolves it.
16
+ //
17
+ // Mirrors delegations.ts's register/resolveIfPending shape on purpose (one
18
+ // pending wait per chat, a timer, resolve/reject) -- same problem, a
19
+ // different kind of reply.
20
+ //
21
+ // M2 (security review, 2026-09-18): a pending ask is keyed by (identity,
22
+ // chat) rather than chat alone -- two hosted identities in the same chat
23
+ // (delegation makes this possible) must not resolve each other's
24
+ // questions. It also names ONE expected answerer up front (defaulting to
25
+ // whoever's message triggered the onMessage call this ask() was made
26
+ // from) and is restricted to them two ways: server-side, via the card
27
+ // button's own `restricted_to` (Card#find_button / cards_controller#actions
28
+ // -- salt-api refuses a tap from anyone not on that list, 403), and
29
+ // client-side here, which additionally covers the free-text path (the
30
+ // server has no equivalent gate on a plain message) and always ignores an
31
+ // agent tapper regardless of id.
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.ask = ask;
34
+ exports.approve = approve;
35
+ exports.hasPendingAsks = hasPendingAsks;
36
+ exports.resolveCardInteraction = resolveCardInteraction;
37
+ exports.resolveMessage = resolveMessage;
38
+ const node_crypto_1 = require("node:crypto");
39
+ const ids_js_1 = require("./ids.js");
40
+ const DEFAULT_TIMEOUT_MS = 10 * 60 * 1000;
41
+ const mapKey = (id) => String(id).toLowerCase();
42
+ const pendingKey = (identityId, chatId) => `${mapKey(identityId)}:${mapKey(chatId)}`;
43
+ // One pending ask per (identity, chat), like delegations.ts's `pending` --
44
+ // a second concurrent ask() from the SAME identity in the SAME chat is a
45
+ // clear synchronous error rather than an ambiguous race over which reply
46
+ // answers which question. A DIFFERENT identity asking in the same chat
47
+ // (delegation) gets its own independent slot.
48
+ const pendingByKey = new Map();
49
+ function buildBlocks(question, options, freeText, answererId, optionLabels) {
50
+ const blocks = [{ type: "section", text: question }];
51
+ if (options.length > 0) {
52
+ const elements = options.map((label, i) => {
53
+ const actionId = `ask_${i}_${(0, node_crypto_1.randomUUID)().slice(0, 8)}`;
54
+ optionLabels?.set(actionId, label);
55
+ // Server-enforced (cards_controller#actions): a tap from anyone not
56
+ // on this list is refused with 403 before it ever reaches
57
+ // card_interaction/resolveCardInteraction at all.
58
+ return { type: "button", action_id: actionId, label, restricted_to: [answererId] };
59
+ });
60
+ blocks.push({ type: "actions", elements });
61
+ }
62
+ if (freeText) {
63
+ blocks.push({ type: "section", text: options.length > 0 ? "Or just reply with your own answer." : "Reply to answer." });
64
+ }
65
+ return blocks;
66
+ }
67
+ /**
68
+ * Posts the question as a card and waits for an answer. Resolves with
69
+ * `{answer, by, via}` -- `via: "button"` when the named answerer tapped a
70
+ * listed option (`answer` is that option's label), `via: "message"` when
71
+ * their plain reply answered it instead (`answer` is that message's
72
+ * text). A tap or reply from anyone else -- including any agent -- is
73
+ * ignored outright, never resolves the ask, and never reaches the
74
+ * consumer's own onCardInteraction/onMessage either (see
75
+ * resolveCardInteraction/resolveMessage below). Rejects if `timeoutMs`
76
+ * elapses first, or synchronously if this (identity, chat) already has a
77
+ * pending ask, or if no answerer could be determined at all.
78
+ *
79
+ * On resolution, the card is updated in place to show the chosen answer
80
+ * (best-effort -- a failure to update it never fails the already-settled
81
+ * answer).
82
+ */
83
+ async function ask(client, caller, chatId, question, opts = {}) {
84
+ const answererId = opts.answererId;
85
+ if (answererId == null) {
86
+ throw new Error("ask() needs an answerer -- pass answererId, or call it from a context that has a natural default (see webhook.ts's makeAsk).");
87
+ }
88
+ const key = pendingKey(caller.saltAppId, chatId);
89
+ if (pendingByKey.has(key)) {
90
+ throw new Error("Already waiting on an answer in this chat -- wait for that to finish first.");
91
+ }
92
+ const options = opts.options ?? [];
93
+ const freeText = opts.freeText ?? options.length === 0;
94
+ const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
95
+ const optionLabels = new Map();
96
+ const blocks = buildBlocks(question, options, freeText, answererId, optionLabels);
97
+ const settle = new Promise((resolve, reject) => {
98
+ const timer = setTimeout(() => {
99
+ pendingByKey.delete(key);
100
+ reject(new Error(`No answer within ${Math.round(timeoutMs / 1000)}s.`));
101
+ }, timeoutMs);
102
+ pendingByKey.set(key, { cardId: null, optionLabels, freeText, answererId, timer, resolve, reject });
103
+ });
104
+ // Captured here, before the wait resolves (which deletes the registry
105
+ // entry) -- this is the only place cardId is readable after that point,
106
+ // for updating the card once an answer comes in.
107
+ let cardId = null;
108
+ try {
109
+ const posted = await client.postCard(caller.apiKey, chatId, blocks, question);
110
+ // POST /api/v1/cards answers a MESSAGE envelope (chat_id, message_id,
111
+ // resource_type: "Card", resource_id, resource: {id, ...}) -- there is no
112
+ // top-level `id`. actions.ts's post_card reads resource_id the same way.
113
+ const envelope = posted;
114
+ cardId = envelope?.resource_id ?? envelope?.resource?.id ?? null;
115
+ const entry = pendingByKey.get(key);
116
+ // The wait may already have settled between posting and this line (a
117
+ // very fast reply, or a near-zero timeoutMs in a test) -- if so there's
118
+ // no entry left to attach the id to, and a stale card's buttons simply
119
+ // stay inert (resolveCardInteraction has nothing to match them against).
120
+ if (entry)
121
+ entry.cardId = cardId;
122
+ }
123
+ catch (err) {
124
+ // The card itself failed to post -- nothing will ever resolve this
125
+ // wait, so clear the registry entry and surface the real failure
126
+ // instead of a timeout many minutes later.
127
+ const entry = pendingByKey.get(key);
128
+ if (entry) {
129
+ clearTimeout(entry.timer);
130
+ pendingByKey.delete(key);
131
+ }
132
+ throw err;
133
+ }
134
+ const result = await settle;
135
+ if (cardId) {
136
+ try {
137
+ await client.updateCard(caller.apiKey, cardId, [{ type: "section", text: question }, { type: "section", text: `Answered: ${result.answer}` }]);
138
+ }
139
+ catch {
140
+ // Best-effort: the answer is already settled either way.
141
+ }
142
+ }
143
+ return result;
144
+ }
145
+ // M2: an exact yes/no word (with at most one trailing "." or "!"), not a
146
+ // prefix match -- "yesterday I..." must never read as an approval, and
147
+ // this is the one place that decides it, so `ask`'s own freeText path
148
+ // stays a plain, ungoverned answer for every other question.
149
+ const APPROVE_YES_RE = /^(y|yes)[.!]?$/i;
150
+ /**
151
+ * Sugar for a yes/no `ask`: two buttons, and an EXACT "y"/"yes" typed
152
+ * reply (case-insensitive, an optional trailing "." or "!") also counts as
153
+ * approval -- anything else typed, including a near-miss like "yeah",
154
+ * resolves `approved: false`, same as tapping "No".
155
+ */
156
+ async function approve(client, caller, chatId, summary, opts = {}) {
157
+ const result = await ask(client, caller, chatId, summary, {
158
+ options: ["Yes", "No"],
159
+ freeText: true,
160
+ timeoutMs: opts.timeoutMs,
161
+ answererId: opts.answererId,
162
+ });
163
+ return { approved: APPROVE_YES_RE.test(result.answer.trim()), by: result.by, via: result.via };
164
+ }
165
+ /** True while any ctx.ask is waiting. socket.ts uses it to skip the early
166
+ * answer-resolution pass (a decrypt) for frames when nothing is waiting. */
167
+ function hasPendingAsks() {
168
+ return pendingByKey.size > 0;
169
+ }
170
+ /**
171
+ * Called from webhook.ts's handleCardInteraction, BEFORE the consumer's own
172
+ * onCardInteraction runs -- a tap answering one of THIS module's cards is
173
+ * wire-level bookkeeping for ctx.ask, never something the consumer's own
174
+ * card-interaction handler should also see. Returns true when this tap was
175
+ * consumed (matched a pending ask for this identity+chat, its card, a real
176
+ * option on it, and -- client-side, on top of the server's own
177
+ * restricted_to gate -- the named answerer, never an agent).
178
+ */
179
+ function resolveCardInteraction(identityId, chatId, cardId, actionId, user) {
180
+ const key = pendingKey(identityId, chatId);
181
+ const entry = pendingByKey.get(key);
182
+ if (!entry || !entry.cardId || cardId === undefined || !(0, ids_js_1.sameId)(entry.cardId, cardId))
183
+ return false;
184
+ if (user.account_type === "Agent" || !(0, ids_js_1.sameId)(user.id, entry.answererId))
185
+ return false;
186
+ const label = entry.optionLabels.get(actionId);
187
+ if (label === undefined)
188
+ return false;
189
+ clearTimeout(entry.timer);
190
+ pendingByKey.delete(key);
191
+ entry.resolve({ answer: label, by: user.id, via: "button" });
192
+ return true;
193
+ }
194
+ /**
195
+ * Called from webhook.ts's handleMessage, alongside delegations.resolveIfPending
196
+ * -- same shape: if this (identity, chat) has a pending free-text-eligible
197
+ * ask and the sender is the named answerer (never an agent, never anyone
198
+ * else), this message IS the answer, and the caller should stop
199
+ * processing it as a fresh prompt. `text` is the raw decrypted plaintext
200
+ * (before delegation-depth/consult-marker stripping), matching what
201
+ * delegations.resolveIfPending is handed at the same call site.
202
+ */
203
+ function resolveMessage(identityId, chatId, senderId, senderIsHuman, text) {
204
+ if (!senderIsHuman)
205
+ return false;
206
+ const key = pendingKey(identityId, chatId);
207
+ const entry = pendingByKey.get(key);
208
+ if (!entry || !entry.freeText || !(0, ids_js_1.sameId)(senderId, entry.answererId))
209
+ return false;
210
+ clearTimeout(entry.timer);
211
+ pendingByKey.delete(key);
212
+ entry.resolve({ answer: text, by: senderId, via: "message" });
213
+ return true;
214
+ }
215
+ //# sourceMappingURL=ask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask.js","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { type SaltId } from "./ids.js";
2
+ /** The slice of a chat record isPrivateChat reads: the `session` block of `GET /api/v1/chats/:id`. */
3
+ export interface ChatRecord {
4
+ session?: {
5
+ public?: boolean;
6
+ encrypted?: boolean;
7
+ users?: Array<{
8
+ id?: SaltId;
9
+ observer?: boolean;
10
+ [key: string]: unknown;
11
+ }>;
12
+ [key: string]: unknown;
13
+ };
14
+ [key: string]: unknown;
15
+ }
16
+ /**
17
+ * True only when this chat is private to `speakerId` and `myId`: encrypted,
18
+ * not public, and its members are exactly those two -- a 1:1 or a private
19
+ * lane (sidechain, advisor) -- with no observer among them, silent or not.
20
+ *
21
+ * - `encrypted` must not be `false`. An absent flag means an ordinary
22
+ * encrypted chat (a server that predates open rooms), as everywhere else in
23
+ * this SDK.
24
+ * - `public` must not be true.
25
+ * - `session.users` must be a list, every entry with an id. A record with no
26
+ * `session`, no member list, or a member without an id is not private.
27
+ * - Any member flagged `observer` makes it not private (brain.chat_is_private
28
+ * ignores observers; this does not -- someone who can read the chat is in it).
29
+ * - `speakerId` and `myId` must both be given.
30
+ *
31
+ * Ids compare case-insensitively (see sameId in ids.ts). The speaker and `myId` must be two different accounts.
32
+ */
33
+ export declare function isPrivateChat(chat: ChatRecord | null | undefined, speakerId: SaltId | null | undefined, myId: SaltId | null | undefined): boolean;
34
+ //# sourceMappingURL=chatPrivacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatPrivacy.d.ts","sourceRoot":"","sources":["../src/chatPrivacy.ts"],"names":[],"mappings":"AAeA,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAE/C,sGAAsG;AACtG,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAE,CAAC,CAAC;QAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAiBjJ"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ // Who is in this chat? Ask Salt's own record of it.
3
+ //
4
+ // Privacy-sensitive actions -- running a tool on a person's computer, reading
5
+ // out what they told you in private -- must be decided from Salt's chat
6
+ // record: fetch `GET /api/v1/chats/:id` with client.getChatRecord when you
7
+ // need it. NEVER from a cache, a memory service or a roster you built
8
+ // earlier. Those are fast when they are right
9
+ // and wrong when they are slow or stale, and a wrong answer here is a privacy
10
+ // error in one direction and a dead feature in the other: a slow memory
11
+ // service once switched a person's computer tools off inside their own 1:1.
12
+ //
13
+ // isPrivateChat mirrors salt-personal-agent's brain.chat_is_private, with one
14
+ // addition (no observer at all), and fails closed: anything the record cannot
15
+ // show is NOT private.
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.isPrivateChat = isPrivateChat;
18
+ const ids_js_1 = require("./ids.js");
19
+ /**
20
+ * True only when this chat is private to `speakerId` and `myId`: encrypted,
21
+ * not public, and its members are exactly those two -- a 1:1 or a private
22
+ * lane (sidechain, advisor) -- with no observer among them, silent or not.
23
+ *
24
+ * - `encrypted` must not be `false`. An absent flag means an ordinary
25
+ * encrypted chat (a server that predates open rooms), as everywhere else in
26
+ * this SDK.
27
+ * - `public` must not be true.
28
+ * - `session.users` must be a list, every entry with an id. A record with no
29
+ * `session`, no member list, or a member without an id is not private.
30
+ * - Any member flagged `observer` makes it not private (brain.chat_is_private
31
+ * ignores observers; this does not -- someone who can read the chat is in it).
32
+ * - `speakerId` and `myId` must both be given.
33
+ *
34
+ * Ids compare case-insensitively (see sameId in ids.ts). The speaker and `myId` must be two different accounts.
35
+ */
36
+ function isPrivateChat(chat, speakerId, myId) {
37
+ if (!chat || typeof chat !== "object" || !speakerId || !myId || (0, ids_js_1.sameId)(speakerId, myId))
38
+ return false;
39
+ const session = chat.session;
40
+ if (!session || typeof session !== "object")
41
+ return false;
42
+ if (session.public)
43
+ return false;
44
+ if (session.encrypted === false)
45
+ return false;
46
+ const users = session.users;
47
+ if (!Array.isArray(users))
48
+ return false;
49
+ const ids = [];
50
+ for (const u of users) {
51
+ if (!u || typeof u !== "object" || u.id == null || u.id === "")
52
+ return false;
53
+ if (u.observer)
54
+ return false;
55
+ ids.push(String(u.id).toLowerCase());
56
+ }
57
+ const members = new Set(ids);
58
+ return members.size === 2 && members.has(String(speakerId).toLowerCase()) && members.has(String(myId).toLowerCase());
59
+ }
60
+ //# sourceMappingURL=chatPrivacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatPrivacy.js","sourceRoot":"","sources":["../src/chatPrivacy.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,EAAE;AACF,8EAA8E;AAC9E,wEAAwE;AACxE,2EAA2E;AAC3E,sEAAsE;AACtE,8CAA8C;AAC9C,8EAA8E;AAC9E,wEAAwE;AACxE,4EAA4E;AAC5E,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,uBAAuB;;AAgCvB,sCAiBC;AA/CD,qCAA+C;AAa/C;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,aAAa,CAAC,IAAmC,EAAE,SAAoC,EAAE,IAA+B;IACtI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,IAAA,eAAM,EAAC,SAAS,EAAE,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACtG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE;YAAE,OAAO,KAAK,CAAC;QAC7E,IAAI,CAAC,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACvH,CAAC"}