@sirrlock/node 0.1.0 → 1.0.1

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/dist/index.js CHANGED
@@ -2,11 +2,12 @@
2
2
  /**
3
3
  * @sirrlock/node — Sirr Node.js client
4
4
  *
5
- * Thin fetch wrapper around the Sirr HTTP API.
6
- * No native dependencies. Works in Node 18+.
5
+ * Zero-dependency TypeScript client for the Sirr HTTP API.
6
+ * Works in Node 18+, Deno, Bun, and edge runtimes.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.SirrClient = exports.SirrError = void 0;
9
+ exports.SirrClient = exports.SecretExistsError = exports.SirrError = void 0;
10
+ // ── Error ─────────────────────────────────────────────────────────────────────
10
11
  class SirrError extends Error {
11
12
  constructor(status, message) {
12
13
  super(`Sirr API error ${status}: ${message}`);
@@ -15,19 +16,64 @@ class SirrError extends Error {
15
16
  }
16
17
  }
17
18
  exports.SirrError = SirrError;
19
+ /**
20
+ * Thrown by `set()` when a secret with the given key already exists (HTTP 409).
21
+ * Delete the existing secret first, then call `set()` again.
22
+ */
23
+ class SecretExistsError extends Error {
24
+ constructor(key) {
25
+ super(`Key '${key}' already exists. Delete it first.`);
26
+ this.name = "SecretExistsError";
27
+ }
28
+ }
29
+ exports.SecretExistsError = SecretExistsError;
30
+ // ── Validation ────────────────────────────────────────────────────────────────
18
31
  function validateKey(key) {
19
32
  if (!key) {
20
33
  throw new Error("Secret key must not be empty");
21
34
  }
22
35
  }
36
+ // ── Client ────────────────────────────────────────────────────────────────────
23
37
  class SirrClient {
24
38
  constructor(opts) {
25
39
  if (!opts.token) {
26
40
  throw new Error("SirrClient requires a non-empty token");
27
41
  }
28
- this.server = (opts.server ?? "http://localhost:8080").replace(/\/$/, "");
42
+ this.server = (opts.server ?? "http://localhost:39999").replace(/\/$/, "");
29
43
  this.token = opts.token;
44
+ this.org = opts.org;
45
+ this.webhooks = {
46
+ create: (url, whOpts) => this.createWebhook(url, whOpts),
47
+ list: () => this.listWebhooks(),
48
+ delete: (id) => this.deleteWebhook(id),
49
+ };
50
+ this.orgs = {
51
+ create: (o) => this.createOrg(o),
52
+ list: () => this.listOrgs(),
53
+ delete: (id) => this.deleteOrg(id),
54
+ };
55
+ this.principals = {
56
+ create: (orgId, o) => this.createPrincipal(orgId, o),
57
+ list: (orgId) => this.listPrincipals(orgId),
58
+ delete: (orgId, principalId) => this.deletePrincipal(orgId, principalId),
59
+ };
60
+ }
61
+ // ── Path helpers ────────────────────────────────────────────────────────────
62
+ secretsPath(key) {
63
+ const base = this.org ? `/orgs/${encodeURIComponent(this.org)}/secrets` : "/secrets";
64
+ return key ? `${base}/${encodeURIComponent(key)}` : base;
65
+ }
66
+ auditPath() {
67
+ return this.org ? `/orgs/${encodeURIComponent(this.org)}/audit` : "/audit";
68
+ }
69
+ webhooksPath(id) {
70
+ const base = this.org ? `/orgs/${encodeURIComponent(this.org)}/webhooks` : "/webhooks";
71
+ return id ? `${base}/${encodeURIComponent(id)}` : base;
30
72
  }
73
+ prunePath() {
74
+ return this.org ? `/orgs/${encodeURIComponent(this.org)}/prune` : "/prune";
75
+ }
76
+ // ── HTTP helpers ────────────────────────────────────────────────────────────
31
77
  headers() {
32
78
  return {
33
79
  Authorization: `Bearer ${this.token}`,
@@ -60,6 +106,7 @@ class SirrClient {
60
106
  }
61
107
  return (await res.json());
62
108
  }
109
+ // ── Health ──────────────────────────────────────────────────────────────────
63
110
  /** Check server health. Does not require authentication. */
64
111
  async health() {
65
112
  const res = await fetch(`${this.server}/health`);
@@ -68,31 +115,82 @@ class SirrClient {
68
115
  }
69
116
  return res.json();
70
117
  }
118
+ // ── Secrets ─────────────────────────────────────────────────────────────────
119
+ /**
120
+ * Push an anonymous secret (public dead-drop).
121
+ *
122
+ * No key is required. The server assigns a random 64-char hex ID.
123
+ * Share the returned `id` with the recipient — they use `get(id)` to retrieve it.
124
+ *
125
+ * @param value Secret value (max 1 MiB)
126
+ * @param opts TTL and read limit
127
+ * @returns `{ id }` — the hex ID for retrieval
128
+ */
129
+ async push(value, opts = {}) {
130
+ const body = {
131
+ value,
132
+ ttl_seconds: opts.ttl ?? null,
133
+ max_reads: opts.reads ?? null,
134
+ };
135
+ return this.request("POST", "/secrets", body);
136
+ }
71
137
  /**
72
- * Push a secret to the vault.
138
+ * Store a named secret in an org vault.
73
139
  *
74
- * @param key Secret key name
75
- * @param value Secret value
76
- * @param opts TTL (seconds) and/or max read count
140
+ * Requires `org` in the client config or in `opts`.
141
+ * Throws `SecretExistsError` if the key already exists (HTTP 409).
142
+ *
143
+ * @param key Secret key name (1-256 chars, alphanumeric + `-_.`)
144
+ * @param value Secret value (max 1 MiB)
145
+ * @param opts TTL, read limit, webhook, allowed keys, and optional org override
146
+ * @returns `{ key }` — the stored key name
77
147
  */
78
- async push(key, value, opts = {}) {
148
+ async set(key, value, opts = {}) {
79
149
  validateKey(key);
80
- await this.request("POST", "/secrets", {
150
+ const org = opts.org ?? this.org;
151
+ if (!org) {
152
+ throw new Error("set() requires an org — pass org in SirrClientOptions or SetOptions");
153
+ }
154
+ const body = {
81
155
  key,
82
156
  value,
83
157
  ttl_seconds: opts.ttl ?? null,
84
158
  max_reads: opts.reads ?? null,
85
- });
159
+ };
160
+ if (opts.burnOnRead !== undefined)
161
+ body.delete = opts.burnOnRead;
162
+ if (opts.webhookUrl !== undefined)
163
+ body.webhook_url = opts.webhookUrl;
164
+ if (opts.allowedKeys !== undefined)
165
+ body.allowed_keys = opts.allowedKeys;
166
+ try {
167
+ return await this.request("POST", `/orgs/${encodeURIComponent(org)}/secrets`, body);
168
+ }
169
+ catch (e) {
170
+ if (e instanceof SirrError && e.status === 409) {
171
+ throw new SecretExistsError(key);
172
+ }
173
+ throw e;
174
+ }
86
175
  }
87
176
  /**
88
- * Retrieve a secret by key. Increments the read counter.
89
- * Returns `null` if the secret does not exist or has expired/burned.
177
+ * Update a secret's value, TTL, or read limit in place.
178
+ * Returns the updated metadata, or `null` if the secret does not exist.
179
+ *
180
+ * Only works on secrets created with `burnOnRead: false`. Attempting to
181
+ * patch a burn-on-read secret returns `409 Conflict` (thrown as `SirrError`).
90
182
  */
91
- async get(key) {
183
+ async patch(key, opts) {
92
184
  validateKey(key);
185
+ const body = {};
186
+ if (opts.value !== undefined)
187
+ body.value = opts.value;
188
+ if (opts.ttl !== undefined)
189
+ body.ttl_seconds = opts.ttl;
190
+ if (opts.reads !== undefined)
191
+ body.max_reads = opts.reads;
93
192
  try {
94
- const data = await this.request("GET", `/secrets/${encodeURIComponent(key)}`);
95
- return data.value;
193
+ return await this.request("PATCH", this.secretsPath(key), body);
96
194
  }
97
195
  catch (e) {
98
196
  if (e instanceof SirrError && e.status === 404)
@@ -100,16 +198,45 @@ class SirrClient {
100
198
  throw e;
101
199
  }
102
200
  }
201
+ /**
202
+ * Retrieve a secret. Increments the read counter.
203
+ *
204
+ * - **Without org** (public): `id` is the 64-char hex returned by `push()`.
205
+ * Routes to `GET /secrets/{id}`.
206
+ * - **With org** (named): `key` is the named key stored via `set()`.
207
+ * Routes to `GET /orgs/{org}/secrets/{key}`.
208
+ *
209
+ * Returns `null` if the secret does not exist, has expired, has been
210
+ * burned, or is sealed.
211
+ */
212
+ async get(idOrKey, opts) {
213
+ if (!idOrKey) {
214
+ throw new Error("Secret key must not be empty");
215
+ }
216
+ const org = opts?.org ?? this.org;
217
+ const path = org
218
+ ? `/orgs/${encodeURIComponent(org)}/secrets/${encodeURIComponent(idOrKey)}`
219
+ : `/secrets/${encodeURIComponent(idOrKey)}`;
220
+ try {
221
+ const data = await this.request("GET", path);
222
+ return data.value;
223
+ }
224
+ catch (e) {
225
+ if (e instanceof SirrError && (e.status === 404 || e.status === 410))
226
+ return null;
227
+ throw e;
228
+ }
229
+ }
103
230
  /** List metadata for all active secrets. Values are never returned. */
104
231
  async list() {
105
- const data = await this.request("GET", "/secrets");
232
+ const data = await this.request("GET", this.secretsPath());
106
233
  return data.secrets;
107
234
  }
108
- /** Delete a secret immediately. Returns true if it existed. */
235
+ /** Delete a secret immediately. Returns `true` if it existed. */
109
236
  async delete(key) {
110
237
  validateKey(key);
111
238
  try {
112
- await this.request("DELETE", `/secrets/${encodeURIComponent(key)}`);
239
+ await this.request("DELETE", this.secretsPath(key));
113
240
  return true;
114
241
  }
115
242
  catch (e) {
@@ -119,8 +246,38 @@ class SirrClient {
119
246
  }
120
247
  }
121
248
  /**
122
- * Retrieve all secrets and return them as a key→value map.
123
- * Each GET increments the respective read counter.
249
+ * Inspect a secret's metadata without consuming a read counter (HEAD request).
250
+ * Returns `null` if the secret does not exist or has expired.
251
+ *
252
+ * Use this in AI agent workflows to verify a secret is still valid before
253
+ * fetching it and triggering an irreversible read.
254
+ */
255
+ async check(key) {
256
+ validateKey(key);
257
+ const res = await fetch(`${this.server}${this.secretsPath(key)}`, {
258
+ method: "HEAD",
259
+ headers: this.headers(),
260
+ });
261
+ if (res.status === 404)
262
+ return null;
263
+ if (!res.ok && res.status !== 410) {
264
+ throw new SirrError(res.status, "check failed");
265
+ }
266
+ const readsRemainingRaw = res.headers.get("X-Sirr-Reads-Remaining");
267
+ const readsRemaining = readsRemainingRaw === "unlimited" ? "unlimited" : Number(readsRemainingRaw ?? 0);
268
+ const expiresAtRaw = res.headers.get("X-Sirr-Expires-At");
269
+ return {
270
+ status: (res.headers.get("X-Sirr-Status") ?? "active"),
271
+ readCount: Number(res.headers.get("X-Sirr-Read-Count") ?? 0),
272
+ readsRemaining,
273
+ burnOnRead: res.headers.get("X-Sirr-Delete") === "true",
274
+ createdAt: Number(res.headers.get("X-Sirr-Created-At") ?? 0),
275
+ expiresAt: expiresAtRaw ? Number(expiresAtRaw) : null,
276
+ };
277
+ }
278
+ /**
279
+ * Retrieve all secrets and return them as a `key → value` map.
280
+ * Each `get()` call increments the respective read counter.
124
281
  */
125
282
  async pullAll() {
126
283
  const metas = await this.list();
@@ -132,14 +289,14 @@ class SirrClient {
132
289
  }));
133
290
  return result;
134
291
  }
135
- /** Trigger an immediate sweep of expired secrets on the server. */
136
- async prune() {
137
- const data = await this.request("POST", "/prune");
138
- return data.pruned;
139
- }
140
292
  /**
141
- * Inject all vault secrets as process.env variables, then invoke `fn`.
142
- * Useful in test harnesses and scripts.
293
+ * Inject all vault secrets as `process.env` variables for the duration of
294
+ * `fn`, then restore the original values (even if `fn` throws).
295
+ *
296
+ * @example
297
+ * await sirr.withSecrets(async () => {
298
+ * await execa('python', ['agent.py'])
299
+ * })
143
300
  */
144
301
  async withSecrets(fn) {
145
302
  const secrets = await this.pullAll();
@@ -160,8 +317,19 @@ class SirrClient {
160
317
  }
161
318
  }
162
319
  }
163
- /** Query the audit log. */
164
- async getAuditLog(opts = {}) {
320
+ /** Trigger an immediate sweep of expired secrets on the server. Returns the pruned count. */
321
+ async prune() {
322
+ const data = await this.request("POST", this.prunePath());
323
+ return data.pruned;
324
+ }
325
+ // ── Audit log ───────────────────────────────────────────────────────────────
326
+ /**
327
+ * Query the audit log.
328
+ *
329
+ * @example
330
+ * const events = await sirr.audit({ action: 'secret.read', limit: 50 })
331
+ */
332
+ async audit(opts = {}) {
165
333
  const params = new URLSearchParams();
166
334
  if (opts.since != null)
167
335
  params.set("since", String(opts.since));
@@ -169,28 +337,36 @@ class SirrClient {
169
337
  params.set("until", String(opts.until));
170
338
  if (opts.action != null)
171
339
  params.set("action", opts.action);
340
+ if (opts.key != null)
341
+ params.set("key", opts.key);
172
342
  if (opts.limit != null)
173
343
  params.set("limit", String(opts.limit));
174
344
  const qs = params.toString();
175
- const data = await this.request("GET", `/audit${qs ? `?${qs}` : ""}`);
345
+ const data = await this.request("GET", `${this.auditPath()}${qs ? `?${qs}` : ""}`);
176
346
  return data.events;
177
347
  }
178
- /** Register a webhook. Returns the ID and signing secret. */
348
+ /** @deprecated Use `audit()`. */
349
+ async getAuditLog(opts = {}) {
350
+ return this.audit(opts);
351
+ }
352
+ // ── Webhooks ─────────────────────────────────────────────────────────────────
353
+ // Also available as `sirr.webhooks.create/list/delete`.
354
+ /** Register a webhook. Returns the ID and signing secret (shown once). */
179
355
  async createWebhook(url, opts) {
180
356
  const body = { url };
181
357
  if (opts?.events)
182
358
  body.events = opts.events;
183
- return this.request("POST", "/webhooks", body);
359
+ return this.request("POST", this.webhooksPath(), body);
184
360
  }
185
- /** List registered webhooks. Signing secrets are redacted. */
361
+ /** List all registered webhooks. Signing secrets are redacted. */
186
362
  async listWebhooks() {
187
- const data = await this.request("GET", "/webhooks");
363
+ const data = await this.request("GET", this.webhooksPath());
188
364
  return data.webhooks;
189
365
  }
190
- /** Delete a webhook by ID. Returns false if not found. */
366
+ /** Delete a webhook by ID. Returns `false` if not found. */
191
367
  async deleteWebhook(id) {
192
368
  try {
193
- await this.request("DELETE", `/webhooks/${encodeURIComponent(id)}`);
369
+ await this.request("DELETE", this.webhooksPath(id));
194
370
  return true;
195
371
  }
196
372
  catch (e) {
@@ -199,19 +375,26 @@ class SirrClient {
199
375
  throw e;
200
376
  }
201
377
  }
202
- /** Create a scoped API key. The raw key is returned once. */
203
- async createApiKey(opts) {
204
- return this.request("POST", "/keys", opts);
378
+ // ── /me ──────────────────────────────────────────────────────────────────────
379
+ /** Get the current principal's profile, role, and key list. */
380
+ async me() {
381
+ return this.request("GET", "/me");
205
382
  }
206
- /** List all scoped API keys. Key hashes are never returned. */
207
- async listApiKeys() {
208
- const data = await this.request("GET", "/keys");
209
- return data.keys;
383
+ /** Update the current principal's metadata. */
384
+ async updateMe(opts) {
385
+ return this.request("PATCH", "/me", opts);
386
+ }
387
+ /**
388
+ * Create a new API key for the current principal.
389
+ * The raw key is returned once — save it immediately.
390
+ */
391
+ async createKey(opts) {
392
+ return this.request("POST", "/me/keys", opts);
210
393
  }
211
- /** Delete an API key by ID. Returns false if not found. */
212
- async deleteApiKey(id) {
394
+ /** Revoke one of the current principal's keys. Returns `false` if not found. */
395
+ async deleteKey(keyId) {
213
396
  try {
214
- await this.request("DELETE", `/keys/${encodeURIComponent(id)}`);
397
+ await this.request("DELETE", `/me/keys/${encodeURIComponent(keyId)}`);
215
398
  return true;
216
399
  }
217
400
  catch (e) {
@@ -220,6 +403,47 @@ class SirrClient {
220
403
  throw e;
221
404
  }
222
405
  }
406
+ // ── Admin endpoints (master key only) ────────────────────────────────────────
407
+ // Also available as `sirr.orgs.*` and `sirr.principals.*`.
408
+ /** Create an org. Requires master key. */
409
+ async createOrg(opts) {
410
+ return this.request("POST", "/orgs", opts);
411
+ }
412
+ /** List all orgs. Requires master key. */
413
+ async listOrgs() {
414
+ const data = await this.request("GET", "/orgs");
415
+ return data.orgs;
416
+ }
417
+ /** Delete an org by ID. Requires master key. */
418
+ async deleteOrg(orgId) {
419
+ await this.request("DELETE", `/orgs/${encodeURIComponent(orgId)}`);
420
+ }
421
+ /** Create a principal within an org. Requires master key. */
422
+ async createPrincipal(orgId, opts) {
423
+ return this.request("POST", `/orgs/${encodeURIComponent(orgId)}/principals`, opts);
424
+ }
425
+ /** List all principals in an org. Requires master key. */
426
+ async listPrincipals(orgId) {
427
+ const data = await this.request("GET", `/orgs/${encodeURIComponent(orgId)}/principals`);
428
+ return data.principals;
429
+ }
430
+ /** Delete a principal by ID. Requires master key. */
431
+ async deletePrincipal(orgId, principalId) {
432
+ await this.request("DELETE", `/orgs/${encodeURIComponent(orgId)}/principals/${encodeURIComponent(principalId)}`);
433
+ }
434
+ /** Create a custom role within an org. Requires master key. */
435
+ async createRole(orgId, opts) {
436
+ return this.request("POST", `/orgs/${encodeURIComponent(orgId)}/roles`, opts);
437
+ }
438
+ /** List all roles (built-in and custom) in an org. Requires master key. */
439
+ async listRoles(orgId) {
440
+ const data = await this.request("GET", `/orgs/${encodeURIComponent(orgId)}/roles`);
441
+ return data.roles;
442
+ }
443
+ /** Delete a custom role by name. Requires master key. */
444
+ async deleteRole(orgId, roleName) {
445
+ await this.request("DELETE", `/orgs/${encodeURIComponent(orgId)}/roles/${encodeURIComponent(roleName)}`);
446
+ }
223
447
  }
224
448
  exports.SirrClient = SirrClient;
225
449
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@sirrlock/node",
3
- "version": "0.1.0",
3
+ "version": "1.0.1",
4
4
  "description": "Sirr (سر) — Node.js client and npx CLI for the ephemeral secret vault",
5
5
  "license": "MIT",
6
6
  "author": "sirrlock",
7
7
  "homepage": "https://github.com/sirrlock/node#readme",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "https://github.com/sirrlock/node"
10
+ "url": "git+https://github.com/sirrlock/node.git"
11
11
  },
12
12
  "bugs": {
13
13
  "url": "https://github.com/sirrlock/node/issues"
@@ -41,6 +41,7 @@
41
41
  "build": "tsc",
42
42
  "dev": "tsc --watch",
43
43
  "test": "jest",
44
+ "test:integration": "jest --testPathIgnorePatterns /node_modules/ /dist/ --testPathPattern integration --testTimeout=30000",
44
45
  "lint": "biome check src/",
45
46
  "lint:fix": "biome check --write src/",
46
47
  "prepublishOnly": "npm run lint && npm run build && npm test"
@@ -61,6 +62,10 @@
61
62
  "jest": {
62
63
  "preset": "ts-jest",
63
64
  "testEnvironment": "node",
64
- "testPathIgnorePatterns": ["/node_modules/", "/dist/"]
65
+ "testPathIgnorePatterns": [
66
+ "/node_modules/",
67
+ "/dist/",
68
+ "integration\\.test"
69
+ ]
65
70
  }
66
71
  }