@luckydraw/cumulus 0.31.66 → 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/CHANGELOG.md +12 -556
- package/LICENSE +150 -0
- package/README.md +27 -8
- package/dist/gateway/adapters/webchat.d.ts +15 -0
- package/dist/gateway/adapters/webchat.d.ts.map +1 -1
- package/dist/gateway/adapters/webchat.js +78 -5
- package/dist/gateway/adapters/webchat.js.map +1 -1
- package/dist/gateway/config.d.ts +17 -2
- package/dist/gateway/config.d.ts.map +1 -1
- package/dist/gateway/config.js +10 -3
- package/dist/gateway/config.js.map +1 -1
- package/dist/gateway/daemon.d.ts +3 -1
- package/dist/gateway/daemon.d.ts.map +1 -1
- package/dist/gateway/daemon.js +128 -39
- package/dist/gateway/daemon.js.map +1 -1
- package/dist/gateway/namespaces.d.ts +34 -0
- package/dist/gateway/namespaces.d.ts.map +1 -1
- package/dist/gateway/namespaces.js +58 -0
- package/dist/gateway/namespaces.js.map +1 -1
- package/dist/gateway/server.d.ts +8 -0
- package/dist/gateway/server.d.ts.map +1 -1
- package/dist/gateway/server.js +150 -41
- package/dist/gateway/server.js.map +1 -1
- package/dist/gateway/setup.d.ts +32 -0
- package/dist/gateway/setup.d.ts.map +1 -1
- package/dist/gateway/setup.js +23 -3
- package/dist/gateway/setup.js.map +1 -1
- package/dist/gateway/static/blex-render.js +341 -0
- package/dist/gateway/static/chat.html +1 -0
- package/dist/gateway/static/widget.js +1009 -738
- package/dist/lib/gateway.d.ts +30 -8
- package/dist/lib/gateway.d.ts.map +1 -1
- package/dist/lib/gateway.js +36 -11
- package/dist/lib/gateway.js.map +1 -1
- package/dist/lib/history.d.ts +22 -0
- package/dist/lib/history.d.ts.map +1 -1
- package/dist/lib/history.js +59 -21
- package/dist/lib/history.js.map +1 -1
- package/dist/lib/huggingface-provider.d.ts.map +1 -1
- package/dist/lib/huggingface-provider.js +11 -3
- package/dist/lib/huggingface-provider.js.map +1 -1
- package/dist/lib/license.d.ts +76 -0
- package/dist/lib/license.d.ts.map +1 -0
- package/dist/lib/license.js +141 -0
- package/dist/lib/license.js.map +1 -0
- package/docs/agentic-harness-primer.md +283 -0
- package/docs/conditional-continuation.md +167 -0
- package/docs/web-app-agent-guide.md +559 -0
- package/examples/web-app-agent/README.md +334 -0
- package/examples/web-app-agent/agent/mcp-shim.js +105 -0
- package/examples/web-app-agent/gateway.config.example.json +70 -0
- package/examples/web-app-agent/package.json +13 -0
- package/examples/web-app-agent/public/agent/blex-mount.js +136 -0
- package/examples/web-app-agent/public/agent/bridge-mount.js +91 -0
- package/examples/web-app-agent/public/agent/chat-client.js +104 -0
- package/examples/web-app-agent/public/agent/commands.js +256 -0
- package/examples/web-app-agent/public/agent/device-thread.js +48 -0
- package/examples/web-app-agent/public/agent/panel.css +113 -0
- package/examples/web-app-agent/public/agent/panel.js +392 -0
- package/examples/web-app-agent/public/app.js +250 -0
- package/examples/web-app-agent/public/index.html +126 -0
- package/examples/web-app-agent/server.js +379 -0
- package/package.json +7 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
Cumulus Gateway Software License Agreement
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Lucky Draw LLC. All rights reserved.
|
|
4
|
+
|
|
5
|
+
This software and its accompanying documentation ("the Software") are the
|
|
6
|
+
proprietary property of Lucky Draw LLC ("Licensor"). The Software is licensed,
|
|
7
|
+
not sold. Except for the limited rights expressly granted below, Licensor
|
|
8
|
+
reserves all right, title, and interest in and to the Software, including all
|
|
9
|
+
intellectual property rights.
|
|
10
|
+
|
|
11
|
+
Versions of this software published prior to 1.0.0 were released under the MIT
|
|
12
|
+
License. This Agreement governs version 1.0.0 and all later versions only; it
|
|
13
|
+
does not modify or revoke the terms under which any earlier version was
|
|
14
|
+
obtained.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
1. LIMITED FREE GRANT
|
|
19
|
+
|
|
20
|
+
Subject to your compliance with this Agreement, Licensor grants you a
|
|
21
|
+
non-exclusive, non-transferable, non-sublicensable, royalty-free, revocable
|
|
22
|
+
license to download, install, execute, and internally evaluate the Software
|
|
23
|
+
solely for:
|
|
24
|
+
|
|
25
|
+
(a) evaluation and assessment of the Software's suitability;
|
|
26
|
+
(b) development, prototyping, and testing;
|
|
27
|
+
(c) personal use; and
|
|
28
|
+
(d) other non-commercial use.
|
|
29
|
+
|
|
30
|
+
This grant includes the right to run the Software on your own machines and to
|
|
31
|
+
configure and integrate it for the purposes above.
|
|
32
|
+
|
|
33
|
+
2. USES REQUIRING A PAID LICENSE
|
|
34
|
+
|
|
35
|
+
You may NOT do any of the following without a separate written commercial
|
|
36
|
+
license agreement executed with Licensor:
|
|
37
|
+
|
|
38
|
+
(a) use the Software in production, or in support of any commercial,
|
|
39
|
+
business, or revenue-generating activity;
|
|
40
|
+
(b) use the Software to provide any product or service to a third party,
|
|
41
|
+
whether or not for a fee;
|
|
42
|
+
(c) host, operate, or otherwise make the Software available to third parties
|
|
43
|
+
as a hosted, managed, or software-as-a-service offering;
|
|
44
|
+
(d) redistribute, resell, lease, lend, or otherwise transfer the Software, in
|
|
45
|
+
whole or in part, alone or bundled with other software; or
|
|
46
|
+
(e) sublicense the Software to any third party.
|
|
47
|
+
|
|
48
|
+
To obtain a commercial license, contact ops@luckydrawdesign.com.
|
|
49
|
+
|
|
50
|
+
3. RESTRICTIONS
|
|
51
|
+
|
|
52
|
+
Under the free grant in Section 1, you may not:
|
|
53
|
+
|
|
54
|
+
(a) modify, adapt, translate, or create derivative works of the Software,
|
|
55
|
+
except as permitted by Section 3.1 (Example Code and Integration Code);
|
|
56
|
+
(b) reverse engineer, decompile, or disassemble the Software, or otherwise
|
|
57
|
+
attempt to derive its source code, except to the extent that applicable
|
|
58
|
+
law expressly permits this notwithstanding this limitation;
|
|
59
|
+
(c) remove, obscure, or alter any copyright, trademark, or other proprietary
|
|
60
|
+
notice contained in the Software;
|
|
61
|
+
(d) use Licensor's names, logos, or trademarks without prior written
|
|
62
|
+
permission; or
|
|
63
|
+
(e) disable, circumvent, or modify the license verification and demonstration
|
|
64
|
+
limits described in Section 4.
|
|
65
|
+
|
|
66
|
+
3.1 EXAMPLE CODE AND INTEGRATION CODE
|
|
67
|
+
|
|
68
|
+
The Software includes example, starter-kit, and template files (including,
|
|
69
|
+
without limitation, everything under the "examples/" directory) that the
|
|
70
|
+
Software's documentation directs you to copy into your own applications and
|
|
71
|
+
edit. Notwithstanding Section 3(a), you may copy, modify, and create derivative
|
|
72
|
+
works of those files, and you may distribute them as part of your own
|
|
73
|
+
application, without restriction under this Agreement.
|
|
74
|
+
|
|
75
|
+
You may also write, modify, and distribute your own code that configures,
|
|
76
|
+
calls, or otherwise interoperates with the Software, including code that runs
|
|
77
|
+
against its documented interfaces. Such code is yours.
|
|
78
|
+
|
|
79
|
+
This Section grants no rights in the rest of the Software. Copying or modifying
|
|
80
|
+
example code does not permit production or commercial use of the Software
|
|
81
|
+
itself, which continues to require a paid agreement under Section 2, and does
|
|
82
|
+
not permit anything restricted by Sections 3(b) through 3(e).
|
|
83
|
+
|
|
84
|
+
4. LICENSE KEYS AND DEMONSTRATION LIMITS
|
|
85
|
+
|
|
86
|
+
Without a valid license key, the Software operates in DEMONSTRATION MODE. In
|
|
87
|
+
demonstration mode:
|
|
88
|
+
|
|
89
|
+
(a) each configured thread namespace may create at most five (5) distinct
|
|
90
|
+
namespaced threads; requests that would create additional namespaced
|
|
91
|
+
threads are refused. Threads that already exist continue to function, and
|
|
92
|
+
no data is deleted or withheld;
|
|
93
|
+
(b) threads outside any configured namespace are not limited; and
|
|
94
|
+
(c) the Software records its unlicensed state in its logs.
|
|
95
|
+
|
|
96
|
+
A license key issued by Licensor removes these limits for the namespaces and the
|
|
97
|
+
major version it names. A key is valid only for the whole-number (major) release
|
|
98
|
+
for which it was issued; use with a different major release requires a new key.
|
|
99
|
+
|
|
100
|
+
License verification is performed locally. The Software does not transmit usage
|
|
101
|
+
information to Licensor.
|
|
102
|
+
|
|
103
|
+
Nothing in this Section grants any right to use the Software beyond the free
|
|
104
|
+
grant in Section 1. Demonstration mode is a convenience, not a license: use for
|
|
105
|
+
any purpose listed in Section 2 requires a paid license whether or not the
|
|
106
|
+
demonstration limits are reached.
|
|
107
|
+
|
|
108
|
+
5. THIRD-PARTY COMPONENTS
|
|
109
|
+
|
|
110
|
+
The Software depends on third-party open-source components, each governed by
|
|
111
|
+
its own license. Those licenses apply to those components, not to the Software,
|
|
112
|
+
and nothing in this Agreement limits your rights under them.
|
|
113
|
+
|
|
114
|
+
6. TERM AND TERMINATION
|
|
115
|
+
|
|
116
|
+
This Agreement takes effect when you first download, install, or use the
|
|
117
|
+
Software and continues until terminated. It terminates automatically and
|
|
118
|
+
immediately if you breach any term. Licensor may also terminate the free grant
|
|
119
|
+
in Section 1 at any time on written notice. On termination you must cease all
|
|
120
|
+
use of the Software and destroy all copies in your possession. Sections 3, 7,
|
|
121
|
+
8, and 9 survive termination.
|
|
122
|
+
|
|
123
|
+
7. NO WARRANTY
|
|
124
|
+
|
|
125
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
126
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
127
|
+
FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NONINFRINGEMENT. LICENSOR DOES NOT
|
|
128
|
+
WARRANT THAT THE SOFTWARE WILL BE UNINTERRUPTED, SECURE, OR ERROR-FREE.
|
|
129
|
+
|
|
130
|
+
8. LIMITATION OF LIABILITY
|
|
131
|
+
|
|
132
|
+
IN NO EVENT SHALL LICENSOR BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER
|
|
133
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM,
|
|
134
|
+
OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
135
|
+
SOFTWARE. WITHOUT LIMITING THE FOREGOING, LICENSOR SHALL NOT BE LIABLE FOR ANY
|
|
136
|
+
INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR EXEMPLARY DAMAGES, OR FOR ANY
|
|
137
|
+
LOSS OF PROFITS, REVENUE, DATA, OR GOODWILL.
|
|
138
|
+
|
|
139
|
+
9. GENERAL
|
|
140
|
+
|
|
141
|
+
This Agreement is the entire agreement between you and Licensor regarding the
|
|
142
|
+
Software and supersedes all prior understandings on its subject matter. If any
|
|
143
|
+
provision is held unenforceable, it shall be modified to the minimum extent
|
|
144
|
+
necessary to make it enforceable and the remaining provisions shall remain in
|
|
145
|
+
full force. Licensor's failure to enforce any provision is not a waiver of it.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
Lucky Draw LLC
|
|
150
|
+
Licensing inquiries: ops@luckydrawdesign.com
|
package/README.md
CHANGED
|
@@ -78,9 +78,11 @@ cumulus-gateway setup --project-root ~/projects --port 8080
|
|
|
78
78
|
# Start / stop / reload (if you skip the service install):
|
|
79
79
|
cumulus-gateway start
|
|
80
80
|
cumulus-gateway stop
|
|
81
|
-
cumulus-gateway reload #
|
|
81
|
+
cumulus-gateway reload # graceful restart — see the note below
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
+
**About `reload`:** it sends SIGHUP, which drains active streams (up to 120s) and then **exits the process**. A supervisor is what brings it back. If you installed the service, prefer your service manager — `sudo systemctl reload cumulus-gateway` (Linux) or `launchctl kickstart -k gui/$UID/com.luckydraw.cumulus` (macOS). If you started the gateway by hand, it will stay down; run `cumulus-gateway start` again.
|
|
85
|
+
|
|
84
86
|
Setup writes `~/.cumulus/gateway.config.json`, generates VAPID keys for push, scaffolds a systemd (Linux) or LaunchAgent (macOS) unit, and prints the generated API key.
|
|
85
87
|
|
|
86
88
|
Open `http://localhost:8080/chat`, paste the API key, and start talking. Messages hit your thread; responses stream back token-by-token.
|
|
@@ -111,7 +113,7 @@ Open `http://localhost:8080/chat`, paste the API key, and start talking. Message
|
|
|
111
113
|
}
|
|
112
114
|
```
|
|
113
115
|
|
|
114
|
-
Reload the daemon (`cumulus-gateway reload`
|
|
116
|
+
Reload the daemon after editing (`sudo systemctl reload cumulus-gateway`, or `cumulus-gateway reload` — see the note in Quickstart). It waits for active streams to finish first, so in-flight responses aren't dropped.
|
|
115
117
|
|
|
116
118
|
## Gateway features
|
|
117
119
|
|
|
@@ -190,7 +192,7 @@ Rate-limited per thread (default 10/hour). All sends are logged to thread histor
|
|
|
190
192
|
|
|
191
193
|
### Reliability
|
|
192
194
|
|
|
193
|
-
- **Graceful restart** —
|
|
195
|
+
- **Graceful restart** — SIGHUP drains active Claude/HF streams up to 120s, then exits for the supervisor to restart; no truncated responses on deploy.
|
|
194
196
|
- **Auto-resume after restart** — interrupted threads get a resume nudge on startup so the agent picks back up with full RAG context.
|
|
195
197
|
- **Persistent streaming buffer** — partial responses are flushed to disk every 5s during streaming and recovered on restart.
|
|
196
198
|
- **Truncation continuation** — `finish_reason: "length"` triggers max-token escalation (8k → 16k → 32k) and seamless continuation stitching.
|
|
@@ -212,7 +214,7 @@ The widget's top bar also shows an "Update available" indicator (with a manual
|
|
|
212
214
|
|
|
213
215
|
Cumulus can embed a persistent agent into any web app — one that **drives the app's UI**, **answers questions about the app and its data**, and **remembers every conversation per visitor**. No fork of the gateway, no per-app backend beyond a static file server.
|
|
214
216
|
|
|
215
|
-
|
|
217
|
+
A runnable starter kit lives in [`examples/web-app-agent`](./examples/web-app-agent) — copy it and replace the demo app with yours.
|
|
216
218
|
|
|
217
219
|
### How it works
|
|
218
220
|
|
|
@@ -284,7 +286,7 @@ One edit to `~/.cumulus/gateway.config.json` (annotated below; the real file is
|
|
|
284
286
|
"command": "node",
|
|
285
287
|
"args": ["/path/to/myapp/mcp-shim.js"],
|
|
286
288
|
"env": {
|
|
287
|
-
"
|
|
289
|
+
"GATEWAY_ORIGIN": "http://127.0.0.1:8080",
|
|
288
290
|
"GATEWAY_API_KEY": "sk-myapp-<same-scoped-key>",
|
|
289
291
|
"BRIDGE_THREAD": "{thread}",
|
|
290
292
|
},
|
|
@@ -319,7 +321,7 @@ Your app ships four small pieces (all vanilla-JS-able, no framework required):
|
|
|
319
321
|
| **Bridge mount** | Open `wss://<gateway>/bridge`, register the manifest, execute inbound `call` frames against the registry. |
|
|
320
322
|
| **Chat client** | `POST /api/thread/<thread>/message` and render the SSE stream. Mark risky commands so they route through a confirm step. |
|
|
321
323
|
|
|
322
|
-
Serve the gateway URL and scoped key
|
|
324
|
+
Serve the gateway URL and scoped key from a **session-gated endpoint** your app already protects (`GET /api/agent-config` → `401` until the visitor is logged in), and fetch it at runtime. Never commit the key into the repo, and prefer this over injecting it into the served HTML: injected config ships the key to every visitor of the page, including anonymous ones, and it lands in caches and view-source. The starter kit in [`examples/web-app-agent`](./examples/web-app-agent) does it the gated way.
|
|
323
325
|
|
|
324
326
|
### Security model
|
|
325
327
|
|
|
@@ -429,7 +431,7 @@ WebSocket (`/chat/ws`) carries the same semantics with streaming, interjection,
|
|
|
429
431
|
|
|
430
432
|
```bash
|
|
431
433
|
npm install -g @luckydraw/cumulus@latest
|
|
432
|
-
cumulus-gateway
|
|
434
|
+
sudo systemctl reload cumulus-gateway # or `cumulus-gateway reload` if self-managed
|
|
433
435
|
```
|
|
434
436
|
|
|
435
437
|
Or use the built-in updater (`cumulus-gateway update` / `rollback`), which does the same thing and keeps the previous version for a one-command rollback. See [CHANGELOG.md](./CHANGELOG.md) for release notes.
|
|
@@ -440,4 +442,21 @@ Cumulus implements the **Recursive Language Model** pattern: treat conversation
|
|
|
440
442
|
|
|
441
443
|
## License
|
|
442
444
|
|
|
443
|
-
|
|
445
|
+
Cumulus is **proprietary software**, copyright © 2026 Lucky Draw LLC. It is licensed, not sold. See [LICENSE](./LICENSE) for the full terms — the summary:
|
|
446
|
+
|
|
447
|
+
| | |
|
|
448
|
+
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
449
|
+
| **Free, no agreement needed** | Evaluation, development, prototyping, testing, personal and other non-commercial use. Install it, run it, integrate it, try it against your own app. |
|
|
450
|
+
| **Requires a paid commercial license** | Production use · commercial or revenue-generating use · providing a product or service to third parties · hosting it as a managed/SaaS offering · redistribution or resale · sublicensing. |
|
|
451
|
+
|
|
452
|
+
**Demonstration mode.** Without a license key, cumulus runs fully but each configured thread namespace may create at most **5 namespaced threads** — enough to evaluate a web-app agent end to end, not enough to serve real visitors. Threads outside a namespace (your own threads, the CLI, the TUI) are never limited, and existing threads keep working when a namespace is at its limit. Add a key to `gateway.config.json` and reload:
|
|
453
|
+
|
|
454
|
+
```json
|
|
455
|
+
{ "licenseKey": "cumulus-lic-v1...." }
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
Keys are verified offline — nothing is transmitted — and are issued per whole-number release: a `1.x` key covers every `1.x.y`.
|
|
459
|
+
|
|
460
|
+
Commercial licensing: **ops@luckydrawdesign.com**
|
|
461
|
+
|
|
462
|
+
Versions up to and including `0.31.66` were published under the MIT License and remain available under those terms. This license applies to `1.0.0` and later.
|
|
@@ -14,6 +14,8 @@ export interface WebChatAdapterConfig {
|
|
|
14
14
|
apiKeys: string[];
|
|
15
15
|
/** Thread namespaces — prefix-scoped list visibility for app/test threads (task 097 P2). */
|
|
16
16
|
namespaces?: NamespaceConfig[];
|
|
17
|
+
/** Lucky Draw licence key (task 127) — absent = demo mode, namespaces capped. */
|
|
18
|
+
licenseKey?: string;
|
|
17
19
|
/** Gateway pipeline options (basePath, claudePath, sharedMcpPort) */
|
|
18
20
|
pipelineOpts?: Partial<Pick<MessagePipelineOptions, 'basePath' | 'claudePath' | 'sharedMcpPort' | 'projectRoot' | 'gatewayAgentsConfig' | 'hfApiKey' | 'openaiApiKey' | 'models' | 'claudeModels'>>;
|
|
19
21
|
}
|
|
@@ -24,6 +26,19 @@ export interface WebChatAdapterHandle {
|
|
|
24
26
|
/** Get all thread names that have at least one connected WebSocket client */
|
|
25
27
|
getConnectedThreadNames: () => string[];
|
|
26
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Content hash (first 8 hex of sha1) for a static asset, or undefined if the
|
|
31
|
+
* file cannot be read. Cached and invalidated on mtime+size change, so a rebuild
|
|
32
|
+
* is picked up without a gateway restart.
|
|
33
|
+
*/
|
|
34
|
+
export declare function assetVersion(assetPath: string): string | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Append `?v=<hash>` to same-origin .js `src` attributes in served HTML.
|
|
37
|
+
*
|
|
38
|
+
* Only `.js` is stamped — chat.html's CSS is inline, so there is nothing else
|
|
39
|
+
* to version. Assets already carrying a query string are left alone.
|
|
40
|
+
*/
|
|
41
|
+
export declare function stampAssetUrls(html: string, versionFor: (assetPath: string) => string | undefined): string;
|
|
27
42
|
/** Get the media directory path */
|
|
28
43
|
export declare function getMediaDir(): string;
|
|
29
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webchat.d.ts","sourceRoot":"","sources":["../../../src/gateway/adapters/webchat.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"webchat.d.ts","sourceRoot":"","sources":["../../../src/gateway/adapters/webchat.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAe7B,OAAO,EAIL,KAAK,sBAAsB,EAE5B,MAAM,sBAAsB,CAAC;AAS9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAqBpD,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,YAAY,CAAC,EAAE,OAAO,CACpB,IAAI,CACF,sBAAsB,EACpB,UAAU,GACV,YAAY,GACZ,eAAe,GACf,aAAa,GACb,qBAAqB,GACrB,UAAU,GACV,cAAc,GACd,QAAQ,GACR,cAAc,CACjB,CACF,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,oFAAoF;IACpF,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAChF,6EAA6E;IAC7E,uBAAuB,EAAE,MAAM,MAAM,EAAE,CAAC;CACzC;AAmMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAelE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACpD,MAAM,CAKR;AAOD,mCAAmC;AACnC,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,OAAO,CA4FT;AA2DD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAoXvF"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Thread naming: web-{sessionId} (session ID generated client-side, stored in localStorage)
|
|
6
6
|
*/
|
|
7
|
+
import * as crypto from 'crypto';
|
|
7
8
|
import * as fs from 'fs';
|
|
8
9
|
import * as os from 'os';
|
|
9
10
|
import * as path from 'path';
|
|
@@ -12,10 +13,12 @@ import { WebSocketServer } from 'ws';
|
|
|
12
13
|
import { listAlwaysIncludeFiles, addAlwaysIncludeFile, removeAlwaysIncludeFile, saveThreadConfig, loadThreadConfig, } from '../../lib/config.js';
|
|
13
14
|
import { loadEmbeddings, generateMissingEmbeddings } from '../../lib/embeddings.js';
|
|
14
15
|
import { sendMessage, getOrCreateThread, clearThreadCache, } from '../../lib/gateway.js';
|
|
16
|
+
import { verifyLicense, majorOf } from '../../lib/license.js';
|
|
15
17
|
import { executeRevert } from '../../lib/revert.js';
|
|
16
18
|
import { catchUpSegmentation, loadSegmentBoundaries, saveSegmentBoundaries, } from '../../lib/segments.js';
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
+
import { getCurrentVersion } from '../../lib/version-check.js';
|
|
20
|
+
import { allNamespaceKeys, demoMintDenial, extraMcpServersForThread, namespaceForKey, threadAccessibleToScope, threadVisibleToScope, } from '../namespaces.js';
|
|
21
|
+
import { markThreadBusy, enqueueAgentMessage, formatAgentMessageForRecipient, isAgentSender, demoCapMessage, listExistingThreadNames, } from '../server.js';
|
|
19
22
|
import { VoiceTTSSession, isPiperAvailable, SAMPLE_RATE } from '../voice-tts.js';
|
|
20
23
|
// ─── Rate limiting ───────────────────────────────────────────────────────────
|
|
21
24
|
const RATE_LIMIT_WINDOW = 60_000; // 1 minute
|
|
@@ -52,6 +55,41 @@ const MIME_TYPES = {
|
|
|
52
55
|
};
|
|
53
56
|
// ─── Media directory ─────────────────────────────────────────────────────────
|
|
54
57
|
const MEDIA_DIR = path.join(process.env.CUMULUS_DIR || path.join(os.homedir(), '.cumulus'), 'media');
|
|
58
|
+
const assetStampCache = new Map();
|
|
59
|
+
/**
|
|
60
|
+
* Content hash (first 8 hex of sha1) for a static asset, or undefined if the
|
|
61
|
+
* file cannot be read. Cached and invalidated on mtime+size change, so a rebuild
|
|
62
|
+
* is picked up without a gateway restart.
|
|
63
|
+
*/
|
|
64
|
+
export function assetVersion(assetPath) {
|
|
65
|
+
const fileName = assetPath.replace(/^\//, '');
|
|
66
|
+
const full = path.join(STATIC_DIR, fileName);
|
|
67
|
+
try {
|
|
68
|
+
const stat = fs.statSync(full);
|
|
69
|
+
const cached = assetStampCache.get(full);
|
|
70
|
+
if (cached && cached.mtimeMs === stat.mtimeMs && cached.size === stat.size) {
|
|
71
|
+
return cached.hash;
|
|
72
|
+
}
|
|
73
|
+
const hash = crypto.createHash('sha1').update(fs.readFileSync(full)).digest('hex').slice(0, 8);
|
|
74
|
+
assetStampCache.set(full, { hash, mtimeMs: stat.mtimeMs, size: stat.size });
|
|
75
|
+
return hash;
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Append `?v=<hash>` to same-origin .js `src` attributes in served HTML.
|
|
83
|
+
*
|
|
84
|
+
* Only `.js` is stamped — chat.html's CSS is inline, so there is nothing else
|
|
85
|
+
* to version. Assets already carrying a query string are left alone.
|
|
86
|
+
*/
|
|
87
|
+
export function stampAssetUrls(html, versionFor) {
|
|
88
|
+
return html.replace(/(\ssrc=")(\/[^"?#]+\.js)(")/g, (match, pre, assetPath, post) => {
|
|
89
|
+
const v = versionFor(assetPath);
|
|
90
|
+
return v ? `${pre}${assetPath}?v=${v}${post}` : match;
|
|
91
|
+
});
|
|
92
|
+
}
|
|
55
93
|
/** Ensure the media directory exists */
|
|
56
94
|
function ensureMediaDir() {
|
|
57
95
|
fs.mkdirSync(MEDIA_DIR, { recursive: true });
|
|
@@ -65,7 +103,9 @@ export function getMediaDir() {
|
|
|
65
103
|
* Try to serve a static file. Returns true if handled.
|
|
66
104
|
*/
|
|
67
105
|
export function serveStaticFile(req, res, apiKeys) {
|
|
68
|
-
const
|
|
106
|
+
const rawUrl = req.url || '/';
|
|
107
|
+
const url = rawUrl.split('?')[0] || '/';
|
|
108
|
+
const queryString = rawUrl.slice(url.length);
|
|
69
109
|
let filePath;
|
|
70
110
|
if (url === '/chat' || url === '/chat/') {
|
|
71
111
|
filePath = path.join(STATIC_DIR, 'chat.html');
|
|
@@ -88,6 +128,12 @@ export function serveStaticFile(req, res, apiKeys) {
|
|
|
88
128
|
else if (url === '/icon-192.png') {
|
|
89
129
|
filePath = path.join(STATIC_DIR, 'icon-192.png');
|
|
90
130
|
}
|
|
131
|
+
else if (url === '/blex-render.js') {
|
|
132
|
+
// Shared blex renderer — consumed by the standalone widget AND by embedding
|
|
133
|
+
// apps (the web-app-agent kit), so it is served cross-origin like the bridge
|
|
134
|
+
// client rather than vendored into each app.
|
|
135
|
+
filePath = path.join(STATIC_DIR, 'blex-render.js');
|
|
136
|
+
}
|
|
91
137
|
else if (url === '/blex.min.js') {
|
|
92
138
|
filePath = path.join(STATIC_DIR, 'blex.min.js');
|
|
93
139
|
}
|
|
@@ -130,15 +176,24 @@ export function serveStaticFile(req, res, apiKeys) {
|
|
|
130
176
|
return false;
|
|
131
177
|
try {
|
|
132
178
|
let content = fs.readFileSync(filePath, 'utf-8');
|
|
133
|
-
// Inject API key into chat.html / dashboard.html so they can authenticate
|
|
179
|
+
// Inject API key into chat.html / dashboard.html so they can authenticate,
|
|
180
|
+
// and stamp their asset URLs with a content hash (task 131).
|
|
134
181
|
if (url === '/chat' || url === '/chat/' || url === '/dashboard' || url === '/dashboard/') {
|
|
135
182
|
const apiKey = apiKeys?.[0] || '';
|
|
136
183
|
content = content.replace('data-api-key=""', `data-api-key="${apiKey}"`);
|
|
184
|
+
content = stampAssetUrls(content, assetVersion);
|
|
137
185
|
}
|
|
138
186
|
const ext = path.extname(filePath);
|
|
187
|
+
// A request carrying a ?v= that matches the CURRENT hash is content-addressed,
|
|
188
|
+
// so it is safe to cache forever. A stale or forged ?v= must NOT be cached —
|
|
189
|
+
// that would pin current bytes under a key that no longer describes them.
|
|
190
|
+
const requestedVersion = /[?&]v=([^&]+)/.exec(queryString)?.[1];
|
|
191
|
+
const isContentAddressed = requestedVersion !== undefined && requestedVersion === assetVersion(url);
|
|
139
192
|
res.writeHead(200, {
|
|
140
193
|
'Content-Type': MIME_TYPES[ext] || 'text/plain',
|
|
141
|
-
'Cache-Control':
|
|
194
|
+
'Cache-Control': isContentAddressed
|
|
195
|
+
? 'public, max-age=31536000, immutable'
|
|
196
|
+
: 'no-cache, must-revalidate',
|
|
142
197
|
});
|
|
143
198
|
res.end(content);
|
|
144
199
|
return true;
|
|
@@ -198,6 +253,9 @@ export function createWebChatAdapter(config) {
|
|
|
198
253
|
const { server, pipelineOpts } = config;
|
|
199
254
|
const namespaces = config.namespaces ?? [];
|
|
200
255
|
resolvedNamespaces = namespaces;
|
|
256
|
+
// Task 127: same offline verification as the REST server, so both transports
|
|
257
|
+
// agree. No banner here — the server logs it once for the whole gateway.
|
|
258
|
+
const licenseStatus = verifyLicense(config.licenseKey, majorOf(getCurrentVersion()));
|
|
201
259
|
// Namespace-scoped keys (task 097 P2) authenticate like base keys.
|
|
202
260
|
const apiKeys = Array.from(new Set([...config.apiKeys, ...allNamespaceKeys(namespaces)]));
|
|
203
261
|
// Set module-level basePath for functions defined outside this closure
|
|
@@ -365,6 +423,21 @@ export function createWebChatAdapter(config) {
|
|
|
365
423
|
});
|
|
366
424
|
return;
|
|
367
425
|
}
|
|
426
|
+
// Demo capacity gate (task 127) — the WS mirror of the REST 402. Same
|
|
427
|
+
// ordering rationale: after the access check, so occupancy never leaks to
|
|
428
|
+
// an out-of-namespace caller.
|
|
429
|
+
if (typeof wsThread === 'string' && wsThread.length > 0) {
|
|
430
|
+
const capDenial = demoMintDenial(wsThread, namespaces, listExistingThreadNames(), licenseStatus);
|
|
431
|
+
if (capDenial) {
|
|
432
|
+
wsSend(ws, {
|
|
433
|
+
type: 'error',
|
|
434
|
+
error: demoCapMessage(capDenial),
|
|
435
|
+
demoMode: true,
|
|
436
|
+
threadName: wsThread,
|
|
437
|
+
});
|
|
438
|
+
return;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
368
441
|
// Handle history request
|
|
369
442
|
if (data.type === 'history') {
|
|
370
443
|
if (data.threadName)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../src/gateway/adapters/webchat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../src/gateway/adapters/webchat.ts"],"names":[],"mappings":"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"}
|