@luckydraw/cumulus 0.31.66 → 1.0.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 (60) hide show
  1. package/CHANGELOG.md +6 -559
  2. package/LICENSE +150 -0
  3. package/README.md +27 -8
  4. package/dist/gateway/adapters/webchat.d.ts +2 -0
  5. package/dist/gateway/adapters/webchat.d.ts.map +1 -1
  6. package/dist/gateway/adapters/webchat.js +22 -2
  7. package/dist/gateway/adapters/webchat.js.map +1 -1
  8. package/dist/gateway/config.d.ts +17 -2
  9. package/dist/gateway/config.d.ts.map +1 -1
  10. package/dist/gateway/config.js +10 -3
  11. package/dist/gateway/config.js.map +1 -1
  12. package/dist/gateway/daemon.d.ts +3 -1
  13. package/dist/gateway/daemon.d.ts.map +1 -1
  14. package/dist/gateway/daemon.js +128 -39
  15. package/dist/gateway/daemon.js.map +1 -1
  16. package/dist/gateway/namespaces.d.ts +34 -0
  17. package/dist/gateway/namespaces.d.ts.map +1 -1
  18. package/dist/gateway/namespaces.js +58 -0
  19. package/dist/gateway/namespaces.js.map +1 -1
  20. package/dist/gateway/server.d.ts +8 -0
  21. package/dist/gateway/server.d.ts.map +1 -1
  22. package/dist/gateway/server.js +150 -41
  23. package/dist/gateway/server.js.map +1 -1
  24. package/dist/gateway/setup.d.ts +32 -0
  25. package/dist/gateway/setup.d.ts.map +1 -1
  26. package/dist/gateway/setup.js +23 -3
  27. package/dist/gateway/setup.js.map +1 -1
  28. package/dist/gateway/static/widget.js +897 -611
  29. package/dist/lib/gateway.d.ts +30 -8
  30. package/dist/lib/gateway.d.ts.map +1 -1
  31. package/dist/lib/gateway.js +36 -11
  32. package/dist/lib/gateway.js.map +1 -1
  33. package/dist/lib/history.d.ts +22 -0
  34. package/dist/lib/history.d.ts.map +1 -1
  35. package/dist/lib/history.js +59 -21
  36. package/dist/lib/history.js.map +1 -1
  37. package/dist/lib/huggingface-provider.d.ts.map +1 -1
  38. package/dist/lib/huggingface-provider.js +11 -3
  39. package/dist/lib/huggingface-provider.js.map +1 -1
  40. package/dist/lib/license.d.ts +76 -0
  41. package/dist/lib/license.d.ts.map +1 -0
  42. package/dist/lib/license.js +141 -0
  43. package/dist/lib/license.js.map +1 -0
  44. package/docs/agentic-harness-primer.md +283 -0
  45. package/docs/conditional-continuation.md +167 -0
  46. package/docs/web-app-agent-guide.md +520 -0
  47. package/examples/web-app-agent/README.md +187 -0
  48. package/examples/web-app-agent/agent/mcp-shim.js +105 -0
  49. package/examples/web-app-agent/gateway.config.example.json +52 -0
  50. package/examples/web-app-agent/package.json +13 -0
  51. package/examples/web-app-agent/public/agent/bridge-mount.js +75 -0
  52. package/examples/web-app-agent/public/agent/chat-client.js +104 -0
  53. package/examples/web-app-agent/public/agent/commands.js +250 -0
  54. package/examples/web-app-agent/public/agent/device-thread.js +48 -0
  55. package/examples/web-app-agent/public/agent/panel.css +107 -0
  56. package/examples/web-app-agent/public/agent/panel.js +369 -0
  57. package/examples/web-app-agent/public/app.js +250 -0
  58. package/examples/web-app-agent/public/index.html +111 -0
  59. package/examples/web-app-agent/server.js +242 -0
  60. package/package.json +7 -3
@@ -27,6 +27,8 @@ export class HistoryStore {
27
27
  cachedMessages = null;
28
28
  /** File size at the time of the last cache population. -1 means unknown. */
29
29
  cachedFileSize = -1;
30
+ /** Id index over cachedMessages — kept in lockstep so dedupe is O(1). */
31
+ cachedIds = null;
30
32
  /**
31
33
  * Create a new HistoryStore instance.
32
34
  * @param threadPath - Absolute path to the JSONL file for this thread
@@ -34,6 +36,42 @@ export class HistoryStore {
34
36
  constructor(threadPath) {
35
37
  this.threadPath = threadPath;
36
38
  }
39
+ /**
40
+ * Replace the cache wholesale, keeping the id index in lockstep.
41
+ * Every assignment to cachedMessages goes through here.
42
+ */
43
+ setCache(messages, fileSize) {
44
+ this.cachedMessages = messages;
45
+ this.cachedIds = messages === null ? null : new Set(messages.map(m => m.id));
46
+ this.cachedFileSize = fileSize;
47
+ }
48
+ /**
49
+ * Add messages to the cache, skipping any id already present.
50
+ *
51
+ * THE one rule that makes the cache safe under concurrency: a message id
52
+ * enters cachedMessages at most once. Both writers race each other across
53
+ * `await` boundaries — append() persists the line, yields, and only then
54
+ * updates the cache, while getAll()'s incremental branch computes its read
55
+ * offset, yields for open()/read(), and then merges. Whichever resumes
56
+ * second would otherwise re-add a message the other already merged, which
57
+ * surfaced as a thread reporting 3 messages after two appends (the same id
58
+ * twice in the API response, while the file on disk held exactly 2 lines).
59
+ *
60
+ * @returns the messages actually added (i.e. not already cached)
61
+ */
62
+ addToCache(messages) {
63
+ if (this.cachedMessages === null || this.cachedIds === null)
64
+ return [];
65
+ const added = [];
66
+ for (const m of messages) {
67
+ if (this.cachedIds.has(m.id))
68
+ continue;
69
+ this.cachedMessages.push(m);
70
+ this.cachedIds.add(m.id);
71
+ added.push(m);
72
+ }
73
+ return added;
74
+ }
37
75
  /**
38
76
  * Estimate token count from content using whitespace-based approximation.
39
77
  * Multiplies word count by 1.3 to account for subword tokenization.
@@ -90,13 +128,15 @@ export class HistoryStore {
90
128
  // Append to file with newline (locked for concurrent worker safety)
91
129
  const line = JSON.stringify(message) + '\n';
92
130
  await lockedAppend(this.threadPath, message);
93
- // Update in-memory cache: push message (with relative attachment paths as stored on disk)
94
- if (this.cachedMessages !== null) {
95
- this.cachedMessages.push(message);
96
- }
97
- // Update cached file size by adding the byte length of the written line
98
- if (this.cachedFileSize >= 0) {
99
- this.cachedFileSize += Buffer.byteLength(line, 'utf-8');
131
+ // Update in-memory cache: push message (with relative attachment paths as
132
+ // stored on disk). A getAll() that interleaved the write above may already
133
+ // have merged this message — addToCache() is what makes that a no-op, and
134
+ // the byte accounting only advances when the push actually happened.
135
+ const added = this.addToCache([message]);
136
+ if (this.cachedMessages === null || added.length > 0) {
137
+ if (this.cachedFileSize >= 0) {
138
+ this.cachedFileSize += Buffer.byteLength(line, 'utf-8');
139
+ }
100
140
  }
101
141
  // Fire embed-on-write hook (non-blocking, errors must not propagate)
102
142
  if (onAppendHook) {
@@ -143,8 +183,7 @@ export class HistoryStore {
143
183
  catch (error) {
144
184
  if (error.code === 'ENOENT') {
145
185
  // File doesn't exist
146
- this.cachedMessages = [];
147
- this.cachedFileSize = 0;
186
+ this.setCache([], 0);
148
187
  return [];
149
188
  }
150
189
  throw error;
@@ -172,22 +211,24 @@ export class HistoryStore {
172
211
  .split('\n')
173
212
  .filter(line => line.trim())
174
213
  .map(line => JSON.parse(line));
175
- this.cachedMessages.push(...newMessages);
176
- this.cachedFileSize = currentSize;
214
+ // An append() may have merged some of these while we were awaiting
215
+ // open()/read() above; addToCache() drops those. The size only ever
216
+ // advances, so a concurrent append that already accounted for its own
217
+ // bytes cannot be rolled backwards here.
218
+ this.addToCache(newMessages);
219
+ this.cachedFileSize = Math.max(this.cachedFileSize, currentSize);
177
220
  return this.resolveAttachmentPaths(this.cachedMessages);
178
221
  }
179
222
  catch {
180
223
  // If incremental read fails for any reason, fall through to full read
181
- this.cachedMessages = null;
182
- this.cachedFileSize = -1;
224
+ this.setCache(null, -1);
183
225
  }
184
226
  }
185
227
  // Full read (cold start or file shrank / was rewritten)
186
228
  try {
187
229
  const content = await fs.readFile(this.threadPath, 'utf-8');
188
230
  if (!content.trim()) {
189
- this.cachedMessages = [];
190
- this.cachedFileSize = currentSize;
231
+ this.setCache([], currentSize);
191
232
  return [];
192
233
  }
193
234
  const messages = content
@@ -195,15 +236,13 @@ export class HistoryStore {
195
236
  .split('\n')
196
237
  .filter(line => line.trim())
197
238
  .map(line => JSON.parse(line));
198
- this.cachedMessages = messages;
199
- this.cachedFileSize = currentSize;
239
+ this.setCache(messages, currentSize);
200
240
  return this.resolveAttachmentPaths(messages);
201
241
  }
202
242
  catch (error) {
203
243
  // File doesn't exist - return empty array
204
244
  if (error.code === 'ENOENT') {
205
- this.cachedMessages = [];
206
- this.cachedFileSize = 0;
245
+ this.setCache([], 0);
207
246
  return [];
208
247
  }
209
248
  throw error;
@@ -290,8 +329,7 @@ export class HistoryStore {
290
329
  await fs.writeFile(tmpPath, content, 'utf-8');
291
330
  await fs.rename(tmpPath, this.threadPath);
292
331
  // Invalidate cache: file was rewritten (not just appended)
293
- this.cachedMessages = null;
294
- this.cachedFileSize = -1;
332
+ this.setCache(null, -1);
295
333
  return removed.map(m => m.id);
296
334
  }
297
335
  }
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/lib/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/lib/history.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"huggingface-provider.d.ts","sourceRoot":"","sources":["../../src/lib/huggingface-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,WAAW,EAGZ,MAAM,eAAe,CAAC;AAyEvB;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AASD,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBACZ,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAK1D,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YAkDxC,WAAW;CA+P1B"}
1
+ {"version":3,"file":"huggingface-provider.d.ts","sourceRoot":"","sources":["../../src/lib/huggingface-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,WAAW,EAGZ,MAAM,eAAe,CAAC;AA2EvB;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AASD,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBACZ,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAK1D,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YAuDxC,WAAW;CA+P1B"}
@@ -13,6 +13,7 @@ const MODEL_CONTEXT_LIMITS = {
13
13
  'moonshotai/Kimi-K2.5': 131_072,
14
14
  'google/gemma-4-31B-it': 131_072,
15
15
  'Qwen/Qwen3-235B-A22B': 131_072,
16
+ 'Qwen/Qwen2.5-Coder-32B-Instruct': 131_072,
16
17
  'mistralai/Mistral-Large-Latest': 131_072,
17
18
  'meta-llama/Llama-3.3-70B-Instruct': 131_072,
18
19
  };
@@ -21,6 +22,7 @@ const MODEL_MAX_OUTPUT = {
21
22
  'zai-org/GLM-5': 32_768,
22
23
  'moonshotai/Kimi-K2.5': 65_536,
23
24
  'google/gemma-4-31B-it': 8_192,
25
+ 'Qwen/Qwen2.5-Coder-32B-Instruct': 32_768,
24
26
  };
25
27
  const DEFAULT_CONTEXT_LIMIT = 131_072;
26
28
  const DEFAULT_MAX_OUTPUT = 32_768;
@@ -72,9 +74,15 @@ export class HuggingFaceProvider {
72
74
  ];
73
75
  const isTransientError = TRANSIENT_ERROR_PATTERNS.some(p => p.test(message));
74
76
  // Model doesn't support function calling — retry without tools
75
- if (status === 400 &&
76
- message.includes('function calling not support') &&
77
- options.tools.length > 0) {
77
+ // HF providers reject tool use with a few different error shapes:
78
+ // - "function calling not support" (some routers)
79
+ // - "UNSUPPORTED_OPENAI_PARAMS" / "parameters are not supported for this model: tools" (Qwen on HF router)
80
+ const toolsNotSupported = status === 400 &&
81
+ options.tools.length > 0 &&
82
+ (message.includes('function calling not support') ||
83
+ message.includes('UNSUPPORTED_OPENAI_PARAMS') ||
84
+ message.includes('not supported for this model: tools'));
85
+ if (toolsNotSupported) {
78
86
  console.warn(`[HuggingFaceProvider] Model does not support function calling, retrying without tools`);
79
87
  return await this._streamChat({ ...options, tools: [] });
80
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"huggingface-provider.js","sourceRoot":"","sources":["../../src/lib/huggingface-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"huggingface-provider.js","sourceRoot":"","sources":["../../src/lib/huggingface-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Licence verification (task 127) — pure, synchronous, offline.
3
+ *
4
+ * Cumulus is freely installable and evaluable. What a licence unlocks is
5
+ * *persistent web-app agent capacity*: an unlicensed namespace may mint at most
6
+ * `DEMO_VISITOR_THREAD_CAP` distinct visitor threads. Everything else — personal
7
+ * threads, the CLI, the TUI, every non-namespaced use — is never gated.
8
+ *
9
+ * A key is `cumulus-lic-v1.<base64url payload>.<base64url ed25519 signature>`.
10
+ * The payload is readable by anyone (it is a claim, not a secret); the signature
11
+ * is what makes it unforgeable. The signature covers the payload SEGMENT bytes
12
+ * verbatim — the base64url text, not a re-serialization of the parsed JSON — so
13
+ * there is no canonicalization ambiguity between signer and verifier.
14
+ *
15
+ * `major` is the only version scoping (Karl, 2026-08-06): a key issued for
16
+ * major 1 unlocks every 1.x.y and no 2.x. Crossing a major is a renewal event.
17
+ * There is no expiry field and no phone-home.
18
+ *
19
+ * This module knows nothing about namespaces as a config shape — it takes plain
20
+ * strings. The namespace capacity rule lives in the gateway layer
21
+ * (`gateway/namespaces.ts`), the same boundary task 097 P5 drew.
22
+ *
23
+ * Honest limitation, stated in the task doc too: `dist/` is readable JavaScript
24
+ * and this check is deletable. It is a compliance mechanism, not DRM.
25
+ */
26
+ /** Distinct visitor threads an UNLICENSED namespace may mint. */
27
+ export declare const DEMO_VISITOR_THREAD_CAP = 5;
28
+ /** Where an unlicensed operator is told to go. */
29
+ export declare const LICENSE_CONTACT = "ops@luckydrawdesign.com";
30
+ /** Key string prefix; bumping this is a format break, not a licence break. */
31
+ export declare const LICENSE_KEY_PREFIX = "cumulus-lic-v1";
32
+ /**
33
+ * Lucky Draw's Ed25519 public verification key, raw 32 bytes, base64url.
34
+ * Public by design — it can verify but cannot sign. Rotating it invalidates
35
+ * every issued key, so it changes only in a new major release.
36
+ */
37
+ export declare const LICENSE_PUBLIC_KEY_B64 = "JjwM5B0kzouidZHoK4OMwDaEp4HpUFs7WlrVRoXQL6M";
38
+ export interface LicensePayload {
39
+ /** Who the key was issued to. Recorded, displayed, not otherwise enforced. */
40
+ licensee: string;
41
+ /** Major version this key unlocks. */
42
+ major: number;
43
+ /** Namespaces unlocked. Absent or `["*"]` = all. */
44
+ namespaces?: string[];
45
+ /** Issue date, informational. */
46
+ issued?: string;
47
+ note?: string;
48
+ }
49
+ export type LicenseFailureReason = 'absent' | 'malformed' | 'bad-signature' | 'major-mismatch';
50
+ export type LicenseStatus = {
51
+ licensed: true;
52
+ licensee: string;
53
+ namespaces: string[] | null;
54
+ major: number;
55
+ } | {
56
+ licensed: false;
57
+ reason: LicenseFailureReason;
58
+ };
59
+ /**
60
+ * Verify a licence key against the running gateway's major version.
61
+ *
62
+ * Never throws — a malformed key is a status, not an exception, because this is
63
+ * called on the request path and from the daemon banner.
64
+ *
65
+ * @param key the `licenseKey` config value (may be undefined/empty)
66
+ * @param currentMajor the gateway's own package.json major
67
+ * @param publicKeyB64 override for tests (a test keypair); defaults to Lucky Draw's
68
+ */
69
+ export declare function verifyLicense(key: string | undefined, currentMajor: number, publicKeyB64?: string): LicenseStatus;
70
+ /** Is namespace `ns` covered by this licence? `namespaces: null` = all. */
71
+ export declare function namespaceLicensed(status: LicenseStatus, ns: string): boolean;
72
+ /** Human-readable one-liner for the daemon banner and the 402 body. */
73
+ export declare function describeLicenseFailure(reason: LicenseFailureReason): string;
74
+ /** Parse a semver-ish version string's major. Returns 0 when unparseable. */
75
+ export declare function majorOf(version: string): number;
76
+ //# sourceMappingURL=license.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../src/lib/license.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,kDAAkD;AAClD,eAAO,MAAM,eAAe,4BAA4B,CAAC;AAEzD,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,gDAAgD,CAAC;AAKpF,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,WAAW,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAE/F,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChF;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAsCtD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,MAA+B,GAC5C,aAAa,CA+Bf;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAG5E;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAW3E;AAED,6EAA6E;AAC7E,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG/C"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Licence verification (task 127) — pure, synchronous, offline.
3
+ *
4
+ * Cumulus is freely installable and evaluable. What a licence unlocks is
5
+ * *persistent web-app agent capacity*: an unlicensed namespace may mint at most
6
+ * `DEMO_VISITOR_THREAD_CAP` distinct visitor threads. Everything else — personal
7
+ * threads, the CLI, the TUI, every non-namespaced use — is never gated.
8
+ *
9
+ * A key is `cumulus-lic-v1.<base64url payload>.<base64url ed25519 signature>`.
10
+ * The payload is readable by anyone (it is a claim, not a secret); the signature
11
+ * is what makes it unforgeable. The signature covers the payload SEGMENT bytes
12
+ * verbatim — the base64url text, not a re-serialization of the parsed JSON — so
13
+ * there is no canonicalization ambiguity between signer and verifier.
14
+ *
15
+ * `major` is the only version scoping (Karl, 2026-08-06): a key issued for
16
+ * major 1 unlocks every 1.x.y and no 2.x. Crossing a major is a renewal event.
17
+ * There is no expiry field and no phone-home.
18
+ *
19
+ * This module knows nothing about namespaces as a config shape — it takes plain
20
+ * strings. The namespace capacity rule lives in the gateway layer
21
+ * (`gateway/namespaces.ts`), the same boundary task 097 P5 drew.
22
+ *
23
+ * Honest limitation, stated in the task doc too: `dist/` is readable JavaScript
24
+ * and this check is deletable. It is a compliance mechanism, not DRM.
25
+ */
26
+ import * as crypto from 'crypto';
27
+ /** Distinct visitor threads an UNLICENSED namespace may mint. */
28
+ export const DEMO_VISITOR_THREAD_CAP = 5;
29
+ /** Where an unlicensed operator is told to go. */
30
+ export const LICENSE_CONTACT = 'ops@luckydrawdesign.com';
31
+ /** Key string prefix; bumping this is a format break, not a licence break. */
32
+ export const LICENSE_KEY_PREFIX = 'cumulus-lic-v1';
33
+ /**
34
+ * Lucky Draw's Ed25519 public verification key, raw 32 bytes, base64url.
35
+ * Public by design — it can verify but cannot sign. Rotating it invalidates
36
+ * every issued key, so it changes only in a new major release.
37
+ */
38
+ export const LICENSE_PUBLIC_KEY_B64 = 'JjwM5B0kzouidZHoK4OMwDaEp4HpUFs7WlrVRoXQL6M';
39
+ /** DER prefix for an Ed25519 SubjectPublicKeyInfo wrapping 32 raw key bytes. */
40
+ const SPKI_ED25519_PREFIX = Buffer.from('302a300506032b6570032100', 'hex');
41
+ /** Build a verifier KeyObject from raw base64url public key bytes. */
42
+ function publicKeyObject(rawB64) {
43
+ const raw = Buffer.from(rawB64, 'base64url');
44
+ if (raw.length !== 32)
45
+ return undefined;
46
+ return crypto.createPublicKey({
47
+ key: Buffer.concat([SPKI_ED25519_PREFIX, raw]),
48
+ format: 'der',
49
+ type: 'spki',
50
+ });
51
+ }
52
+ /** Decode + shape-check the payload segment. Undefined when it is not a payload. */
53
+ function parsePayload(payloadB64) {
54
+ let parsed;
55
+ try {
56
+ parsed = JSON.parse(Buffer.from(payloadB64, 'base64url').toString('utf8'));
57
+ }
58
+ catch {
59
+ return undefined;
60
+ }
61
+ if (!parsed || typeof parsed !== 'object')
62
+ return undefined;
63
+ const p = parsed;
64
+ if (typeof p.licensee !== 'string' || typeof p.major !== 'number')
65
+ return undefined;
66
+ return p;
67
+ }
68
+ /** Ed25519 check over the payload SEGMENT bytes. Never throws. */
69
+ function signatureValid(payloadB64, sigB64, pub) {
70
+ try {
71
+ const sig = Buffer.from(sigB64, 'base64url');
72
+ if (sig.length !== 64)
73
+ return false;
74
+ return crypto.verify(null, Buffer.from(payloadB64, 'utf8'), pub, sig);
75
+ }
76
+ catch {
77
+ return false;
78
+ }
79
+ }
80
+ /**
81
+ * Verify a licence key against the running gateway's major version.
82
+ *
83
+ * Never throws — a malformed key is a status, not an exception, because this is
84
+ * called on the request path and from the daemon banner.
85
+ *
86
+ * @param key the `licenseKey` config value (may be undefined/empty)
87
+ * @param currentMajor the gateway's own package.json major
88
+ * @param publicKeyB64 override for tests (a test keypair); defaults to Lucky Draw's
89
+ */
90
+ export function verifyLicense(key, currentMajor, publicKeyB64 = LICENSE_PUBLIC_KEY_B64) {
91
+ if (!key || typeof key !== 'string' || !key.trim()) {
92
+ return { licensed: false, reason: 'absent' };
93
+ }
94
+ const parts = key.trim().split('.');
95
+ if (parts.length !== 3 || parts[0] !== LICENSE_KEY_PREFIX || !parts[1] || !parts[2]) {
96
+ return { licensed: false, reason: 'malformed' };
97
+ }
98
+ const [, payloadB64, sigB64] = parts;
99
+ const payload = parsePayload(payloadB64);
100
+ if (!payload)
101
+ return { licensed: false, reason: 'malformed' };
102
+ const pub = publicKeyObject(publicKeyB64);
103
+ if (!pub)
104
+ return { licensed: false, reason: 'malformed' };
105
+ if (!signatureValid(payloadB64, sigB64, pub)) {
106
+ return { licensed: false, reason: 'bad-signature' };
107
+ }
108
+ // Signature is good — only NOW is the payload trustworthy enough to act on.
109
+ if (payload.major !== currentMajor) {
110
+ return { licensed: false, reason: 'major-mismatch' };
111
+ }
112
+ const namespaces = Array.isArray(payload.namespaces) && !payload.namespaces.includes('*')
113
+ ? payload.namespaces.filter((n) => typeof n === 'string')
114
+ : null;
115
+ return { licensed: true, licensee: payload.licensee, namespaces, major: payload.major };
116
+ }
117
+ /** Is namespace `ns` covered by this licence? `namespaces: null` = all. */
118
+ export function namespaceLicensed(status, ns) {
119
+ if (!status.licensed)
120
+ return false;
121
+ return status.namespaces === null || status.namespaces.includes(ns);
122
+ }
123
+ /** Human-readable one-liner for the daemon banner and the 402 body. */
124
+ export function describeLicenseFailure(reason) {
125
+ switch (reason) {
126
+ case 'absent':
127
+ return 'no licence key configured';
128
+ case 'malformed':
129
+ return 'licence key is malformed';
130
+ case 'bad-signature':
131
+ return 'licence key signature is invalid';
132
+ case 'major-mismatch':
133
+ return 'licence key was issued for a different major version';
134
+ }
135
+ }
136
+ /** Parse a semver-ish version string's major. Returns 0 when unparseable. */
137
+ export function majorOf(version) {
138
+ const m = /^(\d+)\./.exec(version.trim());
139
+ return m ? Number(m[1]) : 0;
140
+ }
141
+ //# sourceMappingURL=license.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license.js","sourceRoot":"","sources":["../../src/lib/license.ts"],"names":[],"mappings":"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"}