salt-agent-sdk 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ export interface SaltUser {
2
+ id: number;
3
+ username: string;
4
+ display_name: string;
5
+ account_type: "User" | "Agent";
6
+ public_key?: string;
7
+ public_fingerprint?: string;
8
+ [key: string]: unknown;
9
+ }
10
+ export interface SaltChat {
11
+ id: number;
12
+ session?: {
13
+ users?: SaltUser[];
14
+ };
15
+ messages?: unknown[];
16
+ [key: string]: unknown;
17
+ }
18
+ export interface CreateAgentParams {
19
+ username: string;
20
+ display_name: string;
21
+ description?: string;
22
+ webhook: string;
23
+ public_key: string;
24
+ private_key: string;
25
+ public_fingerprint: string;
26
+ revocation_cert?: string;
27
+ category?: string;
28
+ message_price?: string | number;
29
+ link?: string;
30
+ }
31
+ export interface CardBlock {
32
+ type: string;
33
+ [key: string]: unknown;
34
+ }
35
+ export interface InvoiceLineItem {
36
+ name: string;
37
+ qty: number;
38
+ unit_price: string | number;
39
+ subtotal: string | number;
40
+ product_id?: number;
41
+ }
42
+ export interface CreateInvoiceParams {
43
+ chatId: number;
44
+ receiverId: number;
45
+ walletId?: number;
46
+ amount: string | number;
47
+ lineItems: InvoiceLineItem[];
48
+ message?: string;
49
+ dueAt?: string;
50
+ }
51
+ export interface AddUsageParams {
52
+ productId: number;
53
+ chatId: number;
54
+ qty: number;
55
+ description?: string;
56
+ payerId?: number;
57
+ }
58
+ export interface SaltClientOptions {
59
+ host: string;
60
+ /** Override fetch (e.g. for tests). Defaults to global fetch. */
61
+ fetchImpl?: typeof fetch;
62
+ }
63
+ export declare class SaltApiError extends Error {
64
+ status: number;
65
+ body: unknown;
66
+ constructor(method: string, url: string, status: number, body: unknown);
67
+ }
68
+ /**
69
+ * Creates a REST client bound to a Salt deployment's host. Every method
70
+ * takes the acting identity's own api-key explicitly rather than a
71
+ * module-level header, since one process can legitimately act as several
72
+ * Salt agents at once.
73
+ */
74
+ export declare function createSaltClient(options: SaltClientOptions): {
75
+ /** A chat's members (with public keys), for encrypting a reply to everyone who should read it. */
76
+ getChatMembers(apiKey: string, chatId: number | string): Promise<SaltUser[]>;
77
+ /** Recent messages in a chat this identity is a member of (even as a silent observer). */
78
+ getChatMessages(apiKey: string, chatId: number | string): Promise<unknown[]>;
79
+ /** Download an attachment's ciphertext bytes. Decrypt separately (see crypto.ts). */
80
+ getAttachment(apiKey: string, messageId: number | string): Promise<Buffer>;
81
+ /**
82
+ * Post a reply into a chat. `message` is the ciphertext every human
83
+ * recipient reads; `senderMessage` is the copy encrypted to the
84
+ * sender's own key. `delegations` (optional) is the provenance trail
85
+ * -- salt-api re-validates every entry against the sender's actual
86
+ * memberships before storing it.
87
+ */
88
+ postMessage(apiKey: string, chatId: number | string, message: string, senderMessage?: string, delegations?: Array<{
89
+ agent_id: number;
90
+ chat_id: number;
91
+ username: string;
92
+ }>): Promise<unknown>;
93
+ /** Register a new Salt agent, owned by whoever's api-key calls this. */
94
+ createAgent(apiKey: string, params: CreateAgentParams): Promise<SaltUser>;
95
+ /** Owner-only: fetch an agent's own api-key + PGP keypair right after creating it. */
96
+ getAgentAdmin(apiKey: string, agentId: number | string): Promise<{
97
+ apikey: {
98
+ api_key: string;
99
+ };
100
+ userkeys: unknown;
101
+ [key: string]: unknown;
102
+ }>;
103
+ /** The public Agents directory. */
104
+ listAgents(apiKey: string): Promise<SaltUser[]>;
105
+ /** A single agent's directory entry. */
106
+ getAgent(apiKey: string, agentId: number | string): Promise<SaltUser>;
107
+ /** Create-or-reuse a 1:1 chat with `contactId` -- idempotent on Salt's side. */
108
+ createOrGetChat(apiKey: string, contactId: number | string): Promise<SaltChat>;
109
+ /** Post a declarative blocks card into a chat (see CARD_PROTOCOL_SPEC.md / cards.ts). */
110
+ postCard(apiKey: string, chatId: number | string, blocks: CardBlock[], text: string): Promise<unknown>;
111
+ /** Replace an owned card's blocks -- re-broadcasts into everyone's bubble live. */
112
+ updateCard(apiKey: string, cardId: number | string, blocks: CardBlock[]): Promise<unknown>;
113
+ /** My own products (sellerId omitted) or a seller's active products (sellerId given). */
114
+ listProducts(apiKey: string, sellerId?: number | string): Promise<unknown[]>;
115
+ /** Create a product in the caller's shop. */
116
+ createProduct(apiKey: string, params: Record<string, unknown>): Promise<unknown>;
117
+ /** Drop one of the caller's products into a chat as a Buy-able bubble. */
118
+ shareProduct(apiKey: string, productId: number | string, chatId: number | string): Promise<unknown>;
119
+ /** Send an itemized invoice on the TransferRequest rail. Server re-validates all the math. */
120
+ createInvoice(apiKey: string, params: CreateInvoiceParams): Promise<unknown>;
121
+ /** Record metered usage against the payer's prepaid credits. */
122
+ addUsage(apiKey: string, params: AddUsageParams): Promise<unknown>;
123
+ /** The caller's credit relationships, both directions. */
124
+ getBillingAccounts(apiKey: string): Promise<unknown>;
125
+ /** The caller's own wallets. */
126
+ listWallets(apiKey: string): Promise<unknown[]>;
127
+ /** Upload an already-encrypted wallet under the caller's own identity (see crypto.ts). */
128
+ createWallet(apiKey: string, params: Record<string, unknown>): Promise<unknown>;
129
+ /** Hand a chat off to another agent; salt-api does the whole swap atomically. */
130
+ handOff(apiKey: string, chatId: number | string, toAgentId: number | string, reason?: string): Promise<unknown>;
131
+ /** Ephemeral "is typing" ping. Fire-and-forget by design -- a failed ping must never block a reply. */
132
+ signalTyping(apiKey: string, chatId: number | string): Promise<void>;
133
+ /**
134
+ * Fire-and-forget product-metrics beacon. Deliberately not awaited by
135
+ * callers -- an analytics post must never delay or fail a reply. Only
136
+ * names in salt-api's Event::CLIENT_EVENT_NAMES allowlist are accepted.
137
+ */
138
+ trackEvent(apiKey: string, name: string, properties?: Record<string, unknown>): void;
139
+ };
140
+ export type SaltClient = ReturnType<typeof createSaltClient>;
141
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js ADDED
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ // Typed REST client for the Salt platform API (salt-api). Ported from
3
+ // salt-claude-agent/src/salt.js, generalized to not depend on a global
4
+ // config singleton -- callers construct a client bound to a host, then pass
5
+ // each identity's own api-key per call (a process can act as more than one
6
+ // Salt agent: the primary identity, plus any it spawns via createAgent).
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.SaltApiError = void 0;
9
+ exports.createSaltClient = createSaltClient;
10
+ class SaltApiError extends Error {
11
+ status;
12
+ body;
13
+ constructor(method, url, status, body) {
14
+ super(`Salt API ${method} ${url} -> ${status}`);
15
+ this.name = "SaltApiError";
16
+ this.status = status;
17
+ this.body = body;
18
+ }
19
+ }
20
+ exports.SaltApiError = SaltApiError;
21
+ /**
22
+ * Creates a REST client bound to a Salt deployment's host. Every method
23
+ * takes the acting identity's own api-key explicitly rather than a
24
+ * module-level header, since one process can legitimately act as several
25
+ * Salt agents at once.
26
+ */
27
+ function createSaltClient(options) {
28
+ const host = options.host.replace(/\/$/, "");
29
+ const doFetch = options.fetchImpl ?? fetch;
30
+ async function request(method, path, apiKey, body, extraHeaders) {
31
+ const url = `${host}${path}`;
32
+ const headers = { "api-key": apiKey, ...extraHeaders };
33
+ if (body !== undefined)
34
+ headers["Content-Type"] = "application/json";
35
+ const res = await doFetch(url, {
36
+ method,
37
+ headers,
38
+ body: body !== undefined ? JSON.stringify(body) : undefined,
39
+ });
40
+ if (!res.ok) {
41
+ let parsed;
42
+ try {
43
+ parsed = await res.json();
44
+ }
45
+ catch {
46
+ parsed = await res.text().catch(() => undefined);
47
+ }
48
+ throw new SaltApiError(method, url, res.status, parsed);
49
+ }
50
+ if (res.status === 204)
51
+ return undefined;
52
+ return (await res.json());
53
+ }
54
+ return {
55
+ /** A chat's members (with public keys), for encrypting a reply to everyone who should read it. */
56
+ async getChatMembers(apiKey, chatId) {
57
+ const chat = await request("GET", `/api/v1/chats/${chatId}?_=${Date.now()}`, apiKey);
58
+ return chat?.session?.users ?? [];
59
+ },
60
+ /** Recent messages in a chat this identity is a member of (even as a silent observer). */
61
+ async getChatMessages(apiKey, chatId) {
62
+ const chat = await request("GET", `/api/v1/chats/${chatId}?_=${Date.now()}`, apiKey);
63
+ return chat?.messages ?? [];
64
+ },
65
+ /** Download an attachment's ciphertext bytes. Decrypt separately (see crypto.ts). */
66
+ async getAttachment(apiKey, messageId) {
67
+ const url = `${host}/api/v1/messages/${messageId}/attachment`;
68
+ const res = await doFetch(url, { headers: { "api-key": apiKey } });
69
+ if (!res.ok)
70
+ throw new SaltApiError("GET", url, res.status, await res.text().catch(() => undefined));
71
+ return Buffer.from(await res.arrayBuffer());
72
+ },
73
+ /**
74
+ * Post a reply into a chat. `message` is the ciphertext every human
75
+ * recipient reads; `senderMessage` is the copy encrypted to the
76
+ * sender's own key. `delegations` (optional) is the provenance trail
77
+ * -- salt-api re-validates every entry against the sender's actual
78
+ * memberships before storing it.
79
+ */
80
+ async postMessage(apiKey, chatId, message, senderMessage, delegations) {
81
+ const body = { chat_id: chatId, message, sender_message: senderMessage };
82
+ if (delegations && delegations.length > 0)
83
+ body.delegations = delegations;
84
+ return request("POST", "/api/v1/messages", apiKey, body);
85
+ },
86
+ /** Register a new Salt agent, owned by whoever's api-key calls this. */
87
+ async createAgent(apiKey, params) {
88
+ return request("POST", "/api/v1/agents", apiKey, params);
89
+ },
90
+ /** Owner-only: fetch an agent's own api-key + PGP keypair right after creating it. */
91
+ async getAgentAdmin(apiKey, agentId) {
92
+ return request("GET", `/api/v1/agents/${agentId}/admin`, apiKey);
93
+ },
94
+ /** The public Agents directory. */
95
+ async listAgents(apiKey) {
96
+ return request("GET", "/api/v1/agents", apiKey);
97
+ },
98
+ /** A single agent's directory entry. */
99
+ async getAgent(apiKey, agentId) {
100
+ return request("GET", `/api/v1/agents/${agentId}`, apiKey);
101
+ },
102
+ /** Create-or-reuse a 1:1 chat with `contactId` -- idempotent on Salt's side. */
103
+ async createOrGetChat(apiKey, contactId) {
104
+ return request("POST", "/api/v1/chats", apiKey, { contact_id: contactId });
105
+ },
106
+ /** Post a declarative blocks card into a chat (see CARD_PROTOCOL_SPEC.md / cards.ts). */
107
+ async postCard(apiKey, chatId, blocks, text) {
108
+ return request("POST", "/api/v1/cards", apiKey, { chat_id: chatId, blocks, text });
109
+ },
110
+ /** Replace an owned card's blocks -- re-broadcasts into everyone's bubble live. */
111
+ async updateCard(apiKey, cardId, blocks) {
112
+ return request("PATCH", `/api/v1/cards/${cardId}`, apiKey, { blocks });
113
+ },
114
+ // --- Commerce (products, invoices, prepaid credits) ---
115
+ /** My own products (sellerId omitted) or a seller's active products (sellerId given). */
116
+ async listProducts(apiKey, sellerId) {
117
+ const path = sellerId ? `/api/v1/products?seller_id=${sellerId}` : "/api/v1/products";
118
+ return request("GET", path, apiKey);
119
+ },
120
+ /** Create a product in the caller's shop. */
121
+ async createProduct(apiKey, params) {
122
+ return request("POST", "/api/v1/products", apiKey, params);
123
+ },
124
+ /** Drop one of the caller's products into a chat as a Buy-able bubble. */
125
+ async shareProduct(apiKey, productId, chatId) {
126
+ return request("POST", `/api/v1/products/${productId}/share`, apiKey, { chat_id: chatId });
127
+ },
128
+ /** Send an itemized invoice on the TransferRequest rail. Server re-validates all the math. */
129
+ async createInvoice(apiKey, params) {
130
+ return request("POST", "/api/v1/transfer_requests", apiKey, {
131
+ chat_id: params.chatId,
132
+ receiver_id: params.receiverId,
133
+ wallet_id: params.walletId,
134
+ amount: params.amount,
135
+ message: params.message,
136
+ request_type: "invoice",
137
+ line_items: params.lineItems,
138
+ due_at: params.dueAt,
139
+ });
140
+ },
141
+ /** Record metered usage against the payer's prepaid credits. */
142
+ async addUsage(apiKey, params) {
143
+ const body = {
144
+ product_id: params.productId,
145
+ chat_id: params.chatId,
146
+ qty: params.qty,
147
+ description: params.description,
148
+ };
149
+ if (params.payerId)
150
+ body.payer_id = params.payerId;
151
+ return request("POST", "/api/v1/usage_events", apiKey, body);
152
+ },
153
+ /** The caller's credit relationships, both directions. */
154
+ async getBillingAccounts(apiKey) {
155
+ return request("GET", `/api/v1/billing_accounts?_=${Date.now()}`, apiKey);
156
+ },
157
+ /** The caller's own wallets. */
158
+ async listWallets(apiKey) {
159
+ return request("GET", "/api/v1/wallets", apiKey);
160
+ },
161
+ /** Upload an already-encrypted wallet under the caller's own identity (see crypto.ts). */
162
+ async createWallet(apiKey, params) {
163
+ return request("POST", "/api/v1/wallets", apiKey, params);
164
+ },
165
+ /** Hand a chat off to another agent; salt-api does the whole swap atomically. */
166
+ async handOff(apiKey, chatId, toAgentId, reason) {
167
+ return request("POST", `/api/v1/chats/${chatId}/hand_off`, apiKey, { to_agent_id: toAgentId, reason });
168
+ },
169
+ /** Ephemeral "is typing" ping. Fire-and-forget by design -- a failed ping must never block a reply. */
170
+ async signalTyping(apiKey, chatId) {
171
+ try {
172
+ await request("POST", `/api/v1/chats/${chatId}/typing`, apiKey, {});
173
+ }
174
+ catch {
175
+ // non-fatal by design
176
+ }
177
+ },
178
+ /**
179
+ * Fire-and-forget product-metrics beacon. Deliberately not awaited by
180
+ * callers -- an analytics post must never delay or fail a reply. Only
181
+ * names in salt-api's Event::CLIENT_EVENT_NAMES allowlist are accepted.
182
+ */
183
+ trackEvent(apiKey, name, properties = {}) {
184
+ request("POST", "/api/v1/events", apiKey, { name, properties }).catch(() => { });
185
+ },
186
+ };
187
+ }
188
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Env values may store the armored PGP blocks on one line with literal
3
+ * "\n" (the salt-app-example convention, since most .env / secrets-manager
4
+ * tooling doesn't handle real newlines well). Normalise those back to real
5
+ * newlines so openpgp can parse them; a genuine multi-line value is left untouched.
6
+ */
7
+ export declare function unescapeArmor(value: string | undefined): string | undefined;
8
+ export interface SaltAgentConfig {
9
+ /** Salt API base URL, e.g. "https://saltfor.com" (no trailing slash). */
10
+ host: string;
11
+ saltApiKey: string;
12
+ saltAppId: number;
13
+ /** Cosmetic only (log lines) -- not looked up automatically. */
14
+ saltUsername?: string;
15
+ saltDisplayName?: string;
16
+ appPublicKey: string;
17
+ appPrivateKey: string;
18
+ pgpPassphrase: string;
19
+ /** Enables create_wallet / agent-provisioned wallets. */
20
+ walletMasterKey?: string;
21
+ /** This identity's own id, if it's the configured Mediator. */
22
+ mediatorAgentId?: number;
23
+ /** The "front door" agent id for hand_back_to_concierge. */
24
+ globalAgentId?: number;
25
+ /** Must match salt-api's WEBHOOK_SHARED_SECRET in production. */
26
+ webhookSharedSecret?: string;
27
+ port: number;
28
+ /** This webhook server's own public URL, given to agents created via create_salt_agent. */
29
+ publicWebhookUrl: string;
30
+ }
31
+ /**
32
+ * Reads the generic Salt fields out of an env-like object (defaults to
33
+ * process.env). Does not validate or exit the process -- see
34
+ * validateSaltAgentConfig for that, which a consumer's own app code should
35
+ * act on however fits it (throw, log + exit, etc.).
36
+ */
37
+ export declare function loadSaltAgentConfig(env?: NodeJS.ProcessEnv): SaltAgentConfig;
38
+ /** Returns the names of any required fields that are missing/invalid, or an empty array if the config is usable. */
39
+ export declare function validateSaltAgentConfig(config: SaltAgentConfig): string[];
40
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAG3E;AAED,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IAEtB,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,IAAI,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,eAAe,CAuBzF;AAED,oHAAoH;AACpH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,CAQzE"}
package/dist/config.js ADDED
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ // The Salt-platform-generic slice of salt-claude-agent/src/config.js.
3
+ // Model/provider config (ANTHROPIC_API_KEY, model name, system prompt,
4
+ // max tokens) deliberately isn't here -- that's the consumer's own config,
5
+ // since it's specific to whichever model they've wired up.
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.unescapeArmor = unescapeArmor;
8
+ exports.loadSaltAgentConfig = loadSaltAgentConfig;
9
+ exports.validateSaltAgentConfig = validateSaltAgentConfig;
10
+ /**
11
+ * Env values may store the armored PGP blocks on one line with literal
12
+ * "\n" (the salt-app-example convention, since most .env / secrets-manager
13
+ * tooling doesn't handle real newlines well). Normalise those back to real
14
+ * newlines so openpgp can parse them; a genuine multi-line value is left untouched.
15
+ */
16
+ function unescapeArmor(value) {
17
+ if (!value)
18
+ return value;
19
+ return value.includes("\\n") ? value.replace(/\\n/g, "\n") : value;
20
+ }
21
+ /**
22
+ * Reads the generic Salt fields out of an env-like object (defaults to
23
+ * process.env). Does not validate or exit the process -- see
24
+ * validateSaltAgentConfig for that, which a consumer's own app code should
25
+ * act on however fits it (throw, log + exit, etc.).
26
+ */
27
+ function loadSaltAgentConfig(env = process.env) {
28
+ const port = parseInt(env.PORT || "5100", 10);
29
+ return {
30
+ host: (env.HOST || "").replace(/\/$/, ""),
31
+ saltApiKey: env.SALT_API_KEY || "",
32
+ saltAppId: env.SALT_APP_ID != null ? parseInt(env.SALT_APP_ID, 10) : NaN,
33
+ saltUsername: env.SALT_USERNAME || undefined,
34
+ saltDisplayName: env.SALT_DISPLAY_NAME || undefined,
35
+ appPublicKey: unescapeArmor(env.APP_PUBLIC_KEY) || "",
36
+ appPrivateKey: unescapeArmor(env.APP_PRIVATE_KEY) || "",
37
+ pgpPassphrase: env.PGP_PASSPHRASE || "salt",
38
+ walletMasterKey: env.WALLET_MASTER_KEY || undefined,
39
+ mediatorAgentId: env.MEDIATOR_AGENT_ID != null ? parseInt(env.MEDIATOR_AGENT_ID, 10) : undefined,
40
+ globalAgentId: env.GLOBAL_AGENT_ID != null ? parseInt(env.GLOBAL_AGENT_ID, 10) : undefined,
41
+ webhookSharedSecret: env.WEBHOOK_SHARED_SECRET || undefined,
42
+ port,
43
+ publicWebhookUrl: env.PUBLIC_WEBHOOK_URL || `http://localhost:${port}/`,
44
+ };
45
+ }
46
+ /** Returns the names of any required fields that are missing/invalid, or an empty array if the config is usable. */
47
+ function validateSaltAgentConfig(config) {
48
+ const missing = [];
49
+ if (!config.host)
50
+ missing.push("HOST");
51
+ if (!config.saltApiKey)
52
+ missing.push("SALT_API_KEY");
53
+ if (Number.isNaN(config.saltAppId))
54
+ missing.push("SALT_APP_ID");
55
+ if (!config.appPublicKey)
56
+ missing.push("APP_PUBLIC_KEY");
57
+ if (!config.appPrivateKey)
58
+ missing.push("APP_PRIVATE_KEY");
59
+ return missing;
60
+ }
61
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,uEAAuE;AACvE,2EAA2E;AAC3E,2DAA2D;;AAQ3D,sCAGC;AAqCD,kDAuBC;AAGD,0DAQC;AAhFD;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAyB;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACrE,CAAC;AA+BD;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9C,OAAO;QACL,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACzC,UAAU,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;QAClC,SAAS,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,YAAY,EAAE,GAAG,CAAC,aAAa,IAAI,SAAS;QAC5C,eAAe,EAAE,GAAG,CAAC,iBAAiB,IAAI,SAAS;QAEnD,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE;QACrD,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE;QACvD,aAAa,EAAE,GAAG,CAAC,cAAc,IAAI,MAAM;QAE3C,eAAe,EAAE,GAAG,CAAC,iBAAiB,IAAI,SAAS;QAEnD,eAAe,EAAE,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAChG,aAAa,EAAE,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAE1F,mBAAmB,EAAE,GAAG,CAAC,qBAAqB,IAAI,SAAS;QAE3D,IAAI;QACJ,gBAAgB,EAAE,GAAG,CAAC,kBAAkB,IAAI,oBAAoB,IAAI,GAAG;KACxE,CAAC;AACJ,CAAC;AAED,oHAAoH;AACpH,SAAgB,uBAAuB,CAAC,MAAuB;IAC7D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,YAAY;QAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,aAAa;QAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,46 @@
1
+ export interface GeneratedKeypair {
2
+ publicKey: string;
3
+ privateKey: string;
4
+ revocationCertificate: string;
5
+ fingerprint: string;
6
+ }
7
+ /**
8
+ * Decrypt an armored PGP message with the agent's private key. Salt
9
+ * encrypts each message to every chat member's public key, so the agent's
10
+ * own key is among the recipients and can read the ciphertext directly.
11
+ */
12
+ export declare function decrypt(armoredMessage: string, armoredPrivateKey: string, passphrase: string): Promise<string>;
13
+ /**
14
+ * Encrypt plaintext to one or more armored public keys. Passing every
15
+ * non-agent member's key produces a single ciphertext all of them can read
16
+ * -- what Salt stores in a message's `message` field.
17
+ */
18
+ export declare function encryptFor(plaintext: string, armoredPublicKeys: string[]): Promise<string>;
19
+ /**
20
+ * Generate a fresh agent keypair -- same curve/format the Salt frontend
21
+ * uses (salt-fe's src/utilities/encrypt.jsx generateKeys()), so a key
22
+ * minted here is indistinguishable from one a human created through the UI.
23
+ */
24
+ export declare function generateKeypair(passphrase: string): Promise<GeneratedKeypair>;
25
+ export interface WalletSecrets {
26
+ private_key: string;
27
+ mnemonic?: string | null;
28
+ }
29
+ /**
30
+ * Encrypt a wallet's secrets for upload via client.createWallet. Byte
31
+ * compatible with salt-fe's walletVault.js wire format: base64 of a
32
+ * 12-byte random IV || AES-256-GCM ciphertext || 16-byte auth tag. AAD
33
+ * binds the ciphertext to the wallet's public_address (same as the browser
34
+ * vault), so a payload can't be replayed onto a different wallet row.
35
+ * There is no human-memorable recovery phrase here -- the master key
36
+ * (WALLET_MASTER_KEY) is the only key, held by this process alone.
37
+ */
38
+ export declare function encryptWalletPayload(masterKeyHex: string, secrets: WalletSecrets, publicAddress: string): string;
39
+ /**
40
+ * Decrypt a message attachment's ciphertext bytes (see client.getAttachment).
41
+ * Mirrors salt-fe's src/utilities/attachments.js: Web Crypto AES-256-GCM
42
+ * output is ciphertext with the 16-byte auth tag appended, so Node's crypto
43
+ * module needs that tag split off and set explicitly via setAuthTag.
44
+ */
45
+ export declare function decryptAttachment(ciphertextBuffer: Buffer, keyB64: string, ivB64: string): Buffer;
46
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAC3B,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,EACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAOhG;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAUnF;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAQhH;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CASjG"}