@vurb/core 3.7.9 → 3.7.11
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/README.md +160 -15
- package/dist/cli/commands/deploy.d.ts.map +1 -1
- package/dist/cli/commands/deploy.js +6 -5
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/dev.js +2 -2
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/lock.d.ts.map +1 -1
- package/dist/cli/commands/lock.js +1 -1
- package/dist/cli/commands/lock.js.map +1 -1
- package/dist/cli/commands/remote.d.ts +1 -1
- package/dist/cli/commands/remote.d.ts.map +1 -1
- package/dist/cli/commands/remote.js +1 -1
- package/dist/cli/commands/remote.js.map +1 -1
- package/dist/cli/progress.js +1 -1
- package/dist/cli/progress.js.map +1 -1
- package/dist/cli/registry.d.ts +2 -1
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cli/registry.js +5 -5
- package/dist/cli/registry.js.map +1 -1
- package/dist/cli/vurb.js +2 -2
- package/dist/cli/vurb.js.map +1 -1
- package/dist/client/VurbClient.js +1 -1
- package/dist/client/VurbClient.js.map +1 -1
- package/dist/core/StandardSchema.js +1 -1
- package/dist/core/StandardSchema.js.map +1 -1
- package/dist/core/builder/BuildPipeline.d.ts +2 -2
- package/dist/core/builder/BuildPipeline.d.ts.map +1 -1
- package/dist/core/builder/BuildPipeline.js +6 -1
- package/dist/core/builder/BuildPipeline.js.map +1 -1
- package/dist/core/builder/ErrorBuilder.d.ts +2 -5
- package/dist/core/builder/ErrorBuilder.d.ts.map +1 -1
- package/dist/core/builder/ErrorBuilder.js.map +1 -1
- package/dist/core/builder/FluentToolBuilder.d.ts +1 -1
- package/dist/core/builder/FluentToolBuilder.d.ts.map +1 -1
- package/dist/core/builder/FluentToolBuilder.js +34 -36
- package/dist/core/builder/FluentToolBuilder.js.map +1 -1
- package/dist/core/builder/GroupedToolBuilder.js +1 -1
- package/dist/core/builder/GroupedToolBuilder.js.map +1 -1
- package/dist/core/builder/ObservabilityHooks.js +5 -5
- package/dist/core/builder/ObservabilityHooks.js.map +1 -1
- package/dist/core/builder/ProxyHandler.d.ts.map +1 -1
- package/dist/core/builder/ProxyHandler.js +14 -16
- package/dist/core/builder/ProxyHandler.js.map +1 -1
- package/dist/core/execution/ConcurrencyGuard.d.ts.map +1 -1
- package/dist/core/execution/ConcurrencyGuard.js.map +1 -1
- package/dist/core/execution/EgressGuard.d.ts.map +1 -1
- package/dist/core/execution/EgressGuard.js +5 -3
- package/dist/core/execution/EgressGuard.js.map +1 -1
- package/dist/core/execution/MiddlewareCompiler.js.map +1 -1
- package/dist/core/execution/MutationSerializer.d.ts.map +1 -1
- package/dist/core/execution/MutationSerializer.js +16 -3
- package/dist/core/execution/MutationSerializer.js.map +1 -1
- package/dist/core/initVurb.d.ts +3 -3
- package/dist/core/initVurb.d.ts.map +1 -1
- package/dist/core/initVurb.js +1 -4
- package/dist/core/initVurb.js.map +1 -1
- package/dist/core/middleware/AuditTrail.js +1 -1
- package/dist/core/middleware/AuditTrail.js.map +1 -1
- package/dist/core/middleware/InputFirewall.js +1 -1
- package/dist/core/middleware/InputFirewall.js.map +1 -1
- package/dist/core/middleware/RateLimiter.js +1 -1
- package/dist/core/middleware/RateLimiter.js.map +1 -1
- package/dist/core/registry/ToolRegistry.d.ts.map +1 -1
- package/dist/core/registry/ToolRegistry.js +7 -5
- package/dist/core/registry/ToolRegistry.js.map +1 -1
- package/dist/core/serialization/JsonSerializer.js +4 -4
- package/dist/core/serialization/JsonSerializer.js.map +1 -1
- package/dist/edge-stub.d.ts +1 -1
- package/dist/edge-stub.d.ts.map +1 -1
- package/dist/edge-stub.js.map +1 -1
- package/dist/fsm/StateMachineGate.d.ts +0 -53
- package/dist/fsm/StateMachineGate.d.ts.map +1 -1
- package/dist/fsm/StateMachineGate.js +4 -55
- package/dist/fsm/StateMachineGate.js.map +1 -1
- package/dist/introspection/CapabilityLockfile.js +2 -2
- package/dist/introspection/CapabilityLockfile.js.map +1 -1
- package/dist/introspection/CryptoAttestation.d.ts +30 -0
- package/dist/introspection/CryptoAttestation.d.ts.map +1 -1
- package/dist/introspection/CryptoAttestation.js.map +1 -1
- package/dist/introspection/EntitlementScanner.d.ts +1 -1
- package/dist/introspection/EntitlementScanner.d.ts.map +1 -1
- package/dist/introspection/EntitlementScanner.js +1 -1
- package/dist/introspection/EntitlementScanner.js.map +1 -1
- package/dist/introspection/ToolContract.d.ts.map +1 -1
- package/dist/introspection/ToolContract.js +1 -1
- package/dist/introspection/ToolContract.js.map +1 -1
- package/dist/introspection/canonicalize.js +1 -1
- package/dist/introspection/canonicalize.js.map +1 -1
- package/dist/model/defineModel.d.ts +1 -1
- package/dist/model/defineModel.d.ts.map +1 -1
- package/dist/model/defineModel.js +46 -91
- package/dist/model/defineModel.js.map +1 -1
- package/dist/observability/TelemetryBus.d.ts.map +1 -1
- package/dist/observability/TelemetryBus.js +1 -0
- package/dist/observability/TelemetryBus.js.map +1 -1
- package/dist/presenter/Presenter.d.ts +5 -5
- package/dist/presenter/Presenter.d.ts.map +1 -1
- package/dist/presenter/Presenter.js +3 -5
- package/dist/presenter/Presenter.js.map +1 -1
- package/dist/presenter/PresenterPipeline.d.ts +2 -2
- package/dist/presenter/PresenterPipeline.d.ts.map +1 -1
- package/dist/presenter/PresenterPipeline.js +1 -1
- package/dist/presenter/PresenterPipeline.js.map +1 -1
- package/dist/presenter/PromptFirewall.d.ts.map +1 -1
- package/dist/presenter/PromptFirewall.js +2 -2
- package/dist/presenter/PromptFirewall.js.map +1 -1
- package/dist/presenter/RedactEngine.d.ts.map +1 -1
- package/dist/presenter/RedactEngine.js +2 -2
- package/dist/presenter/RedactEngine.js.map +1 -1
- package/dist/presenter/SelectUtils.js +1 -1
- package/dist/presenter/SelectUtils.js.map +1 -1
- package/dist/presenter/TelemetryCollector.js +3 -3
- package/dist/presenter/TelemetryCollector.js.map +1 -1
- package/dist/presenter/ZodDescriptionExtractor.js +1 -1
- package/dist/presenter/ZodDescriptionExtractor.js.map +1 -1
- package/dist/presenter/definePresenter.d.ts +5 -5
- package/dist/presenter/definePresenter.d.ts.map +1 -1
- package/dist/presenter/definePresenter.js +3 -3
- package/dist/presenter/definePresenter.js.map +1 -1
- package/dist/prompt/CursorCodec.d.ts.map +1 -1
- package/dist/prompt/CursorCodec.js +22 -12
- package/dist/prompt/CursorCodec.js.map +1 -1
- package/dist/prompt/FluentPromptBuilder.d.ts +1 -9
- package/dist/prompt/FluentPromptBuilder.d.ts.map +1 -1
- package/dist/prompt/PromptRegistry.js +2 -2
- package/dist/prompt/PromptRegistry.js.map +1 -1
- package/dist/resource/ResourceRegistry.d.ts.map +1 -1
- package/dist/resource/ResourceRegistry.js.map +1 -1
- package/dist/sandbox/SandboxEngine.js +2 -2
- package/dist/sandbox/SandboxEngine.js.map +1 -1
- package/dist/server/DevServer.js +2 -2
- package/dist/server/DevServer.js.map +1 -1
- package/dist/server/ServerAttachment.d.ts +1 -1
- package/dist/server/ServerAttachment.d.ts.map +1 -1
- package/dist/server/ServerAttachment.js +7 -7
- package/dist/server/ServerAttachment.js.map +1 -1
- package/dist/server/autoDiscover.js +1 -1
- package/dist/server/autoDiscover.js.map +1 -1
- package/dist/server/startServer.d.ts.map +1 -1
- package/dist/server/startServer.js +5 -7
- package/dist/server/startServer.js.map +1 -1
- package/dist/state-sync/StateSyncBuilder.d.ts.map +1 -1
- package/dist/state-sync/StateSyncBuilder.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,16 +5,17 @@
|
|
|
5
5
|
<img src="https://github.com/user-attachments/assets/86ae1b28-a938-4e12-af29-bfc60a55dbe8" style="border-radius:8px;background:#000000;padding:10px;border:1px solid #414141;" alt="Vurb.ts">
|
|
6
6
|
</picture>
|
|
7
7
|
|
|
8
|
-
**The
|
|
9
|
-
Type-safe tools
|
|
8
|
+
**The Express.js for MCP Servers.**<br>
|
|
9
|
+
Type-safe tools · Presenters that control what the LLM sees · Built-in PII redaction · Deploy once — every AI assistant connects.
|
|
10
10
|
|
|
11
11
|
[](https://www.npmjs.com/package/@vurb/core)
|
|
12
12
|
[](https://www.npmjs.com/package/@vurb/core)
|
|
13
13
|
[](https://www.typescriptlang.org/)
|
|
14
14
|
[](https://modelcontextprotocol.io/)
|
|
15
15
|
[](https://github.com/vinkius-labs/vurb.ts/blob/main/LICENSE)
|
|
16
|
+
[](https://vurb.vinkius.com/llms.txt)
|
|
16
17
|
|
|
17
|
-
[Documentation](https://vurb.vinkius.com/) · [Quick Start](https://vurb.vinkius.com/quickstart-lightspeed) · [API Reference](https://vurb.vinkius.com/api/)
|
|
18
|
+
[Documentation](https://vurb.vinkius.com/) · [Quick Start](https://vurb.vinkius.com/quickstart-lightspeed) · [API Reference](https://vurb.vinkius.com/api/) · [llms.txt](https://vurb.vinkius.com/llms.txt)
|
|
18
19
|
|
|
19
20
|
</div>
|
|
20
21
|
|
|
@@ -28,13 +29,13 @@ vurb create my-server
|
|
|
28
29
|
|
|
29
30
|
Open it in Cursor, Claude Code, or GitHub Copilot and prompt:
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
> 💬 **Tell your AI agent:**
|
|
33
|
+
>
|
|
34
|
+
> *"Build an MCP server for patient records with Prisma. Redact SSN and diagnosis from LLM output. Add an FSM that gates discharge tools until attending physician signs off."*
|
|
35
|
+
>
|
|
36
|
+
> [▶ Open in Claude](https://claude.ai/new?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Build+an+MCP+server+for+patient+records+with+Prisma.+Redact+SSN+and+diagnosis+from+LLM+output.+Add+an+FSM+that+gates+discharge+tools+until+attending+physician+signs+off.) · [▶ Open in ChatGPT](https://chatgpt.com/?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Build+an+MCP+server+for+patient+records+with+Prisma.+Redact+SSN+and+diagnosis+from+LLM+output.+Add+an+FSM+that+gates+discharge+tools+until+attending+physician+signs+off.)
|
|
36
37
|
|
|
37
|
-
The agent reads the `SKILL.md` and writes the entire server. First pass — no corrections.
|
|
38
|
+
The agent reads the [`SKILL.md`](https://agentskills.io) (or the [`llms.txt`](https://vurb.vinkius.com/llms.txt)) and writes the entire server. First pass — no corrections.
|
|
38
39
|
|
|
39
40
|
One command. Your MCP server is live on **Vinkius Edge**, **Vercel Functions**, or **Cloudflare Workers**.
|
|
40
41
|
|
|
@@ -51,6 +52,7 @@ A production-ready MCP server with file-based routing, Presenters, middleware, t
|
|
|
51
52
|
- [Zero Learning Curve — Ship a SKILL.md, Not a Tutorial](#zero-learning-curve--ship-a-skillmd-not-a-tutorial)
|
|
52
53
|
- [Deploy Targets](#deploy-targets)
|
|
53
54
|
- [Why Vurb.ts Exists](#why-vurb-ts-exists)
|
|
55
|
+
- [Raw MCP SDK vs. Vurb.ts](#raw-mcp-sdk-vs-vurbts)
|
|
54
56
|
- [The MVA Solution](#the-mva-solution)
|
|
55
57
|
- [Before vs. After](#before-vs-after)
|
|
56
58
|
- [Architecture](#architecture)
|
|
@@ -83,6 +85,7 @@ A production-ready MCP server with file-based routing, Presenters, middleware, t
|
|
|
83
85
|
- [Generators & Connectors](#generators--connectors)
|
|
84
86
|
- [Security & Auth](#security--auth)
|
|
85
87
|
- [Developer Experience](#developer-experience)
|
|
88
|
+
- [How Prompt Deep Linking Works](#how-prompt-deep-linking-works)
|
|
86
89
|
- [Documentation](#documentation)
|
|
87
90
|
- [Contributing](#contributing)
|
|
88
91
|
- [License](#license)
|
|
@@ -128,6 +131,18 @@ This works on Cursor, Claude Code, GitHub Copilot, Windsurf, Cline — any agent
|
|
|
128
131
|
|
|
129
132
|
> **You don't learn Vurb.ts. You don't teach your agent Vurb.ts.** You hand it a 400-line contract. It writes the server. You review the PR.
|
|
130
133
|
|
|
134
|
+
<details>
|
|
135
|
+
<summary>🤖 <strong>Don't have Cursor? Try it right now — zero install</strong></summary>
|
|
136
|
+
|
|
137
|
+
Click one of these links. The AI will read the Vurb.ts architecture and generate production-ready code in seconds:
|
|
138
|
+
|
|
139
|
+
- [▶ Open in Claude](https://claude.ai/new?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Create+an+invoice+query+tool+with+PII+redaction+on+customer+SSN,+tenant+isolation+middleware,+and+affordances+for+payment+actions.)
|
|
140
|
+
- [▶ Open in ChatGPT](https://chatgpt.com/?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Create+an+invoice+query+tool+with+PII+redaction+on+customer+SSN,+tenant+isolation+middleware,+and+affordances+for+payment+actions.)
|
|
141
|
+
|
|
142
|
+
The "super prompt" behind these links forces the AI to read [`vurb.vinkius.com/llms.txt`](https://vurb.vinkius.com/llms.txt) before writing code — guaranteeing correct MVA patterns, not hallucinated syntax.
|
|
143
|
+
|
|
144
|
+
</details>
|
|
145
|
+
|
|
131
146
|
---
|
|
132
147
|
|
|
133
148
|
### Scaffold Options
|
|
@@ -223,11 +238,25 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
223
238
|
});
|
|
224
239
|
```
|
|
225
240
|
|
|
226
|
-
**Data exfiltration.** `JSON.stringify(invoice)` sends `password_hash`, `internal_margin`, `customer_ssn` — every column — straight to the LLM provider. One field = one GDPR violation.
|
|
241
|
+
🔴 **Data exfiltration.** `JSON.stringify(invoice)` sends `password_hash`, `internal_margin`, `customer_ssn` — every column — straight to the LLM provider. One field = one GDPR violation.
|
|
242
|
+
|
|
243
|
+
🔴 **Token explosion.** Every tool schema is sent on every turn, even when irrelevant. System prompt rules for every domain entity are sent globally, bloating context with wasted tokens.
|
|
227
244
|
|
|
228
|
-
**
|
|
245
|
+
🔴 **Context DDoS.** An unbounded `findMany()` can dump thousands of rows into the context window. The LLM hallucinates. Your API bill explodes.
|
|
229
246
|
|
|
230
|
-
|
|
247
|
+
### Raw MCP SDK vs. Vurb.ts
|
|
248
|
+
|
|
249
|
+
| | Raw SDK | Vurb.ts |
|
|
250
|
+
|---|---|---|
|
|
251
|
+
| **Data leakage** | 🔴 `JSON.stringify()` — every column | 🟢 Presenter schema — allowlist only |
|
|
252
|
+
| **PII protection** | 🔴 Manual, error-prone | 🟢 `.redactPII()` — zero-leak guarantee |
|
|
253
|
+
| **Tool routing** | 🔴 Giant `if/else` chains | 🟢 File-based `autoDiscover()` |
|
|
254
|
+
| **Context bloat** | 🔴 Unbounded `findMany()` | 🟢 `.limit()` + TOON encoding |
|
|
255
|
+
| **Hallucination guard** | 🔴 None | 🟢 8 anti-hallucination mechanisms |
|
|
256
|
+
| **Temporal safety** | 🔴 LLM calls anything anytime | 🟢 FSM State Gate — tools disappear |
|
|
257
|
+
| **Governance** | 🔴 None | 🟢 Lockfile + SHA-256 attestation |
|
|
258
|
+
| **Lines of code** | 🔴 ~200 per tool | 🟢 ~15 per tool |
|
|
259
|
+
| **AI agent setup** | 🔴 Days of learning | 🟢 Reads SKILL.md — first pass correct |
|
|
231
260
|
|
|
232
261
|
---
|
|
233
262
|
|
|
@@ -265,7 +294,7 @@ No guessing. Undeclared fields rejected. Domain rules travel with data — not i
|
|
|
265
294
|
|
|
266
295
|
## Before vs. After
|
|
267
296
|
|
|
268
|
-
**
|
|
297
|
+
🔴 **DANGER ZONE** — raw MCP:
|
|
269
298
|
|
|
270
299
|
```typescript
|
|
271
300
|
case 'get_invoice':
|
|
@@ -274,7 +303,7 @@ case 'get_invoice':
|
|
|
274
303
|
// Leaks internal columns. No rules. No guidance.
|
|
275
304
|
```
|
|
276
305
|
|
|
277
|
-
**
|
|
306
|
+
🟢 **SAFE ZONE** — Vurb.ts with MVA:
|
|
278
307
|
|
|
279
308
|
```typescript
|
|
280
309
|
import { createPresenter, suggest, ui, t } from '@vurb/core';
|
|
@@ -313,6 +342,12 @@ export default f.query('billing.get_invoice')
|
|
|
313
342
|
|
|
314
343
|
The handler returns raw data. The Presenter shapes absolutely everything the agent perceives.
|
|
315
344
|
|
|
345
|
+
> 🏗️ **Architect's Checklist** — when reviewing AI-generated Vurb code, verify:
|
|
346
|
+
> 1. `.schema()` only declares fields the LLM needs — undeclared columns are stripped.
|
|
347
|
+
> 2. `.redactPII()` is called on the Presenter, not the handler — Late Guillotine pattern.
|
|
348
|
+
> 3. `.rules()` travel with data, not in the system prompt — contextual, not global.
|
|
349
|
+
> 4. `.suggest()` computes next actions from data state — not hardcoded.
|
|
350
|
+
|
|
316
351
|
---
|
|
317
352
|
|
|
318
353
|
## Architecture
|
|
@@ -328,6 +363,12 @@ const UserPresenter = createPresenter('User')
|
|
|
328
363
|
// A developer CANNOT accidentally expose a new column
|
|
329
364
|
```
|
|
330
365
|
|
|
366
|
+
> 💬 **Tell your AI agent:**
|
|
367
|
+
>
|
|
368
|
+
> *"Add an Egress Firewall to the User Presenter — only expose id, name, and email. Strip password_hash and tenant_id at RAM level."*
|
|
369
|
+
>
|
|
370
|
+
> [▶ Open in Claude](https://claude.ai/new?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Add+an+Egress+Firewall+to+the+User+Presenter+—+only+expose+id,+name,+and+email.+Strip+password_hash+and+tenant_id+at+RAM+level.) · [▶ Open in ChatGPT](https://chatgpt.com/?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Add+an+Egress+Firewall+to+the+User+Presenter+—+only+expose+id,+name,+and+email.+Strip+password_hash+and+tenant_id+at+RAM+level.)
|
|
371
|
+
|
|
331
372
|
### DLP Compliance Engine — PII Redaction
|
|
332
373
|
|
|
333
374
|
GDPR / LGPD / HIPAA compliance built into the framework. `.redactPII()` compiles a V8-optimized redaction function via `fast-redact` that masks sensitive fields **after** UI blocks and rules have been computed (Late Guillotine Pattern) — the LLM receives `[REDACTED]` instead of real values.
|
|
@@ -344,6 +385,14 @@ const PatientPresenter = createPresenter('Patient')
|
|
|
344
385
|
|
|
345
386
|
Custom censors, wildcard paths (`'*.email'`, `'patients[*].diagnosis'`), and centralized PII field lists. **Zero-leak guarantee** — the developer cannot accidentally bypass redaction.
|
|
346
387
|
|
|
388
|
+
> 🏗️ **Architect's Check:** Always verify that `.redactPII()` runs on the Presenter, not in the handler. The Late Guillotine pattern ensures UI blocks can use real values for logic, but the LLM never sees them.
|
|
389
|
+
|
|
390
|
+
> 💬 **Tell your AI agent:**
|
|
391
|
+
>
|
|
392
|
+
> *"Add PII redaction to the PatientPresenter — mask ssn and diagnosis. Use the Late Guillotine pattern so UI blocks can reference real values but the LLM sees [REDACTED]."*
|
|
393
|
+
>
|
|
394
|
+
> [▶ Open in Claude](https://claude.ai/new?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Add+PII+redaction+to+the+PatientPresenter+—+mask+ssn+and+diagnosis.+Use+the+Late+Guillotine+pattern+so+UI+blocks+can+reference+real+values+but+the+LLM+sees+REDACTED.) · [▶ Open in ChatGPT](https://chatgpt.com/?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Add+PII+redaction+to+the+PatientPresenter+—+mask+ssn+and+diagnosis.+Use+the+Late+Guillotine+pattern+so+UI+blocks+can+reference+real+values+but+the+LLM+sees+REDACTED.)
|
|
395
|
+
|
|
347
396
|
### 8 Anti-Hallucination Mechanisms
|
|
348
397
|
|
|
349
398
|
```
|
|
@@ -392,6 +441,12 @@ const pay = f.mutation('cart.pay')
|
|
|
392
441
|
|
|
393
442
|
Three complementary layers: **Format** (Zod validates shape), **Guidance** (HATEOAS suggests the next tool), **Gate** (FSM physically removes wrong tools). XState v5 powered, serverless-ready with `fsmStore`.
|
|
394
443
|
|
|
444
|
+
> 💬 **Tell your AI agent:**
|
|
445
|
+
>
|
|
446
|
+
> *"Add an FSM State Gate to the checkout flow — cart.pay is only visible in the 'payment' state. Use bindState to physically remove tools from tools/list."*
|
|
447
|
+
>
|
|
448
|
+
> [▶ Open in Claude](https://claude.ai/new?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Add+an+FSM+State+Gate+to+the+checkout+flow+—+cart.pay+is+only+visible+in+the+payment+state.+Use+bindState+to+physically+remove+tools+from+tools/list.) · [▶ Open in ChatGPT](https://chatgpt.com/?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Add+an+FSM+State+Gate+to+the+checkout+flow+—+cart.pay+is+only+visible+in+the+payment+state.+Use+bindState+to+physically+remove+tools+from+tools/list.)
|
|
449
|
+
|
|
395
450
|
### Zero-Trust Sandbox — Computation Delegation
|
|
396
451
|
|
|
397
452
|
The LLM sends JavaScript logic to your data instead of shipping data to the LLM. Code runs inside a sealed V8 isolate — **zero access** to `process`, `require`, `fs`, `net`, `fetch`, `Buffer`. Timeout kill, memory cap, output limit, automatic isolate recovery, and AbortSignal kill-switch (Connection Watchdog).
|
|
@@ -414,6 +469,12 @@ export default f.query('analytics.compute')
|
|
|
414
469
|
|
|
415
470
|
`.sandboxed()` auto-injects HATEOAS instructions into the tool description — the LLM knows exactly how to format its code. Prototype pollution contained. `constructor.constructor` escape blocked. One isolate per engine, new pristine context per call.
|
|
416
471
|
|
|
472
|
+
> 💬 **Tell your AI agent:**
|
|
473
|
+
>
|
|
474
|
+
> *"Add a sandboxed computation tool that lets the LLM send JavaScript to run on server-side data inside a sealed V8 isolate. Timeout 3s, memory 64MB."*
|
|
475
|
+
>
|
|
476
|
+
> [▶ Open in Claude](https://claude.ai/new?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Add+a+sandboxed+computation+tool+that+lets+the+LLM+send+JavaScript+to+run+on+server-side+data+inside+a+sealed+V8+isolate.+Timeout+3s,+memory+64MB.) · [▶ Open in ChatGPT](https://chatgpt.com/?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Add+a+sandboxed+computation+tool+that+lets+the+LLM+send+JavaScript+to+run+on+server-side+data+inside+a+sealed+V8+isolate.+Timeout+3s,+memory+64MB.)
|
|
477
|
+
|
|
417
478
|
### State Sync — Temporal Awareness for Agents
|
|
418
479
|
|
|
419
480
|
LLMs have no sense of time. After `sprints.list` then `sprints.create`, the agent still believes the list is unchanged. Vurb.ts injects RFC 7234-inspired cache-control signals:
|
|
@@ -433,6 +494,12 @@ const createSprint = f.action('sprints.create')
|
|
|
433
494
|
|
|
434
495
|
Registry-level policies with `f.stateSync()`, glob patterns (`*`, `**`), policy overlap detection, observability hooks, and MCP `notifications/resources/updated` emission.
|
|
435
496
|
|
|
497
|
+
> 💬 **Tell your AI agent:**
|
|
498
|
+
>
|
|
499
|
+
> *"Mark 'sprints.list' as stale (no-store) and configure 'sprints.create' to invalidate sprints.* and tasks.* on mutation. Use RFC 7234 cache-control signals."*
|
|
500
|
+
>
|
|
501
|
+
> [▶ Open in Claude](https://claude.ai/new?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Mark+sprints.list+as+stale+no-store+and+configure+sprints.create+to+invalidate+sprints+and+tasks+on+mutation.+Use+RFC+7234+cache-control+signals.) · [▶ Open in ChatGPT](https://chatgpt.com/?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Mark+sprints.list+as+stale+no-store+and+configure+sprints.create+to+invalidate+sprints+and+tasks+on+mutation.+Use+RFC+7234+cache-control+signals.)
|
|
502
|
+
|
|
436
503
|
### Prompt Engine — Server-Side Templates
|
|
437
504
|
|
|
438
505
|
MCP Prompts as executable server-side templates with the same Fluent API as tools. Middleware, hydration timeout, schema-informed coercion, interceptors, multi-modal messages, and the Presenter bridge:
|
|
@@ -462,6 +529,12 @@ const IncidentAnalysis = f.prompt('incident_analysis')
|
|
|
462
529
|
|
|
463
530
|
`PromptMessage.fromView()` decomposes any Presenter into prompt messages — same schema, same rules, same affordances in both tools and prompts. Multi-modal with `.image()`, `.audio()`, `.resource()`. Interceptors inject compliance footers after every handler. `PromptRegistry` with filtering, pagination, and lifecycle sync.
|
|
464
531
|
|
|
532
|
+
> 💬 **Tell your AI agent:**
|
|
533
|
+
>
|
|
534
|
+
> *"Create a prompt called 'incident_analysis' with auth middleware, severity enum input, and PromptMessage.fromView() that decomposes the IncidentPresenter into structured messages."*
|
|
535
|
+
>
|
|
536
|
+
> [▶ Open in Claude](https://claude.ai/new?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Create+a+prompt+called+incident_analysis+with+auth+middleware,+severity+enum+input,+and+PromptMessage.fromView+that+decomposes+the+IncidentPresenter+into+structured+messages.) · [▶ Open in ChatGPT](https://chatgpt.com/?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Create+a+prompt+called+incident_analysis+with+auth+middleware,+severity+enum+input,+and+PromptMessage.fromView+that+decomposes+the+IncidentPresenter+into+structured+messages.)
|
|
537
|
+
|
|
465
538
|
### Agent Skills — Progressive Instruction Distribution
|
|
466
539
|
|
|
467
540
|
**No other MCP framework has this.** Distribute domain expertise to AI agents on demand via MCP. Three-layer progressive disclosure — the agent searches a lightweight index, loads only the relevant SKILL.md, and reads auxiliary files on demand. Zero context window waste.
|
|
@@ -487,6 +560,12 @@ skills/
|
|
|
487
560
|
└── SKILL.md
|
|
488
561
|
```
|
|
489
562
|
|
|
563
|
+
> 💬 **Tell your AI agent:**
|
|
564
|
+
>
|
|
565
|
+
> *"Register all SKILL.md files from ./skills and expose them as MCP tools with progressive disclosure — search, load, and read_file."*
|
|
566
|
+
>
|
|
567
|
+
> [▶ Open in Claude](https://claude.ai/new?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Register+all+SKILL.md+files+from+./skills+and+expose+them+as+MCP+tools+with+progressive+disclosure+search,+load,+and+read_file.) · [▶ Open in ChatGPT](https://chatgpt.com/?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Register+all+SKILL.md+files+from+./skills+and+expose+them+as+MCP+tools+with+progressive+disclosure+search,+load,+and+read_file.)
|
|
568
|
+
|
|
490
569
|
### Fluent API — Semantic Verbs & Chainable Builders
|
|
491
570
|
|
|
492
571
|
```typescript
|
|
@@ -535,6 +614,12 @@ const requireAuth = f.middleware(async (ctx) => {
|
|
|
535
614
|
|
|
536
615
|
Stack `.use()` calls for layered derivations: auth → permissions → tenant resolution → audit logging. Same `MiddlewareFn` signature works for both tools and prompts.
|
|
537
616
|
|
|
617
|
+
> 💬 **Tell your AI agent:**
|
|
618
|
+
>
|
|
619
|
+
> *"Add auth middleware that validates JWT, injects tenant context, checks permissions, and passes everything as typed ctx downstream. Use f.middleware()."*
|
|
620
|
+
>
|
|
621
|
+
> [▶ Open in Claude](https://claude.ai/new?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Add+auth+middleware+that+validates+JWT,+injects+tenant+context,+checks+permissions,+and+passes+everything+as+typed+ctx+downstream.+Use+f.middleware.) · [▶ Open in ChatGPT](https://chatgpt.com/?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Add+auth+middleware+that+validates+JWT,+injects+tenant+context,+checks+permissions,+and+passes+everything+as+typed+ctx+downstream.+Use+f.middleware.)
|
|
622
|
+
|
|
538
623
|
### Fluent Router — Grouped Tooling
|
|
539
624
|
|
|
540
625
|
```typescript
|
|
@@ -612,6 +697,14 @@ PR diffs show exactly what changed in the AI-facing surface:
|
|
|
612
697
|
}
|
|
613
698
|
```
|
|
614
699
|
|
|
700
|
+
> 💬 **Tell your AI agent:**
|
|
701
|
+
>
|
|
702
|
+
> *"Add governance to my MCP server: generate a vurb.lock, add lockfile check to CI, configure contract diffing, and enable zero-trust attestation with HMAC-SHA256."*
|
|
703
|
+
>
|
|
704
|
+
> [▶ Open in Claude](https://claude.ai/new?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Add+governance+to+my+MCP+server:+generate+a+vurb.lock,+add+lockfile+check+to+CI,+configure+contract+diffing,+and+enable+zero-trust+attestation+with+HMAC-SHA256.) · [▶ Open in ChatGPT](https://chatgpt.com/?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Add+governance+to+my+MCP+server:+generate+a+vurb.lock,+add+lockfile+check+to+CI,+configure+contract+diffing,+and+enable+zero-trust+attestation+with+HMAC-SHA256.)
|
|
705
|
+
|
|
706
|
+
> 💡 **Enterprise & Compliance** — Vurb blocks PII and locks capability surfaces locally. Need to prove it in a SOC2/GDPR/HIPAA audit? [Connect your Vurb server to Vinkius Cloud](https://vinkius.com) for immutable audit logs, visual compliance dashboards, and one-click deployment.
|
|
707
|
+
|
|
615
708
|
---
|
|
616
709
|
|
|
617
710
|
## Code Generators
|
|
@@ -728,6 +821,12 @@ describe('SOC2 Data Governance', () => {
|
|
|
728
821
|
|
|
729
822
|
Assert every MVA layer: `result.data` (egress firewall), `result.systemRules` (JIT rules), `result.uiBlocks` (server-rendered charts), `result.data.length` (cognitive guardrail), `rawResponse` (HATEOAS hints). Works with Vitest, Jest, Mocha, or `node:test`.
|
|
730
823
|
|
|
824
|
+
> 💬 **Tell your AI agent:**
|
|
825
|
+
>
|
|
826
|
+
> *"Write Vitest tests that assert PII stripping, middleware access control, governance rules, and Presenter schema enforcement using createVurbTester."*
|
|
827
|
+
>
|
|
828
|
+
> [▶ Open in Claude](https://claude.ai/new?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Write+Vitest+tests+that+assert+PII+stripping,+middleware+access+control,+governance+rules,+and+Presenter+schema+enforcement+using+createVurbTester.) · [▶ Open in ChatGPT](https://chatgpt.com/?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Write+Vitest+tests+that+assert+PII+stripping,+middleware+access+control,+governance+rules,+and+Presenter+schema+enforcement+using+createVurbTester.)
|
|
829
|
+
|
|
731
830
|
---
|
|
732
831
|
|
|
733
832
|
## Deploy Anywhere
|
|
@@ -747,6 +846,12 @@ cd my-server && wrangler deploy
|
|
|
747
846
|
|
|
748
847
|
Write once, deploy to any edge. Your business logic, schemas, PII redaction, FSM gates, and HATEOAS suggestions are identical across all three targets — only the transport layer changes.
|
|
749
848
|
|
|
849
|
+
> 💬 **Tell your AI agent:**
|
|
850
|
+
>
|
|
851
|
+
> *"Set up a production Vurb server with HTTP transport, Presenter-based tools, and deploy it to Vinkius Edge with vurb deploy."*
|
|
852
|
+
>
|
|
853
|
+
> [▶ Open in Claude](https://claude.ai/new?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Set+up+a+production+Vurb+server+with+HTTP+transport,+Presenter-based+tools,+and+deploy+it+to+Vinkius+Edge+with+vurb+deploy.) · [▶ Open in ChatGPT](https://chatgpt.com/?q=You+MUST+use+the+Vurb.ts+framework+%28npm%3A+%40vurb%2Fcore%29.+Read+the+MANDATORY+architectural+spec+at+https%3A%2F%2Fvurb.vinkius.com%2Fllms.txt+%E2%80%94+this+is+NOT+optional.+ALL+code+MUST+follow+the+Vurb.ts+MVA+pattern%3A+createPresenter+for+schemas%2C+f.query%2Ff.mutation%2Ff.action+for+tools%2C+.redactPII%28%29+for+sensitive+fields%2C+.returns%28Presenter%29+on+every+tool.+DO+NOT+use+raw+MCP+SDK%2C+JSON.stringify%2C+or+manual+tool+handlers.+If+ANY+tool+lacks+a+Presenter+with+.returns%28%29%2C+your+output+is+WRONG.+Task%3A+Set+up+a+production+Vurb+server+with+HTTP+transport,+Presenter-based+tools,+and+deploy+it+to+Vinkius+Edge+with+vurb+deploy.)
|
|
854
|
+
|
|
750
855
|
### Vinkius Edge
|
|
751
856
|
|
|
752
857
|
**Zero-config managed deployment.** One command. No Dockerfile, no infra config, no CI pipeline. `vurb deploy` bundles your entire server into a **Fat Bundle** — a fully self-contained IIFE (esbuild, platform `browser`, target `es2022`, tree-shaking + minification) — compresses it with gzip, computes a SHA-256 integrity hash, and uploads to Vinkius Edge.
|
|
@@ -891,11 +996,51 @@ contextFactory: (req, env, ctx) => ({
|
|
|
891
996
|
|
|
892
997
|
---
|
|
893
998
|
|
|
999
|
+
## How Prompt Deep Linking Works
|
|
1000
|
+
|
|
1001
|
+
Every **"▶ Open in Claude / ChatGPT"** link in this README and [in our documentation](https://vurb.vinkius.com/) uses **Prompt Deep Linking** — a technique that injects an invisible "super prompt" before the visible instruction.
|
|
1002
|
+
|
|
1003
|
+
**What you read on screen:**
|
|
1004
|
+
|
|
1005
|
+
> *"Add PII redaction to the PatientPresenter — mask ssn and diagnosis."*
|
|
1006
|
+
|
|
1007
|
+
**What the link actually sends to the AI:**
|
|
1008
|
+
|
|
1009
|
+
```
|
|
1010
|
+
You MUST use the Vurb.ts framework (npm: @vurb/core).
|
|
1011
|
+
Read the MANDATORY architectural spec at https://vurb.vinkius.com/llms.txt — this is NOT optional.
|
|
1012
|
+
ALL code MUST follow the Vurb.ts MVA pattern: createPresenter for schemas,
|
|
1013
|
+
f.query/f.mutation/f.action for tools, .redactPII() for sensitive fields,
|
|
1014
|
+
.returns(Presenter) on every tool.
|
|
1015
|
+
DO NOT use raw MCP SDK, JSON.stringify, or manual tool handlers.
|
|
1016
|
+
If ANY tool lacks a Presenter with .returns(), your output is WRONG.
|
|
1017
|
+
Task: Add PII redaction to the PatientPresenter — mask ssn and diagnosis.
|
|
1018
|
+
```
|
|
1019
|
+
|
|
1020
|
+
The AI reads the Vurb.ts architectural spec **before writing a single line of code**. The enforcement language (`MUST`, `DO NOT`, `WRONG`) guarantees correct MVA patterns — not hallucinated syntax from other frameworks the LLM was trained on.
|
|
1021
|
+
|
|
1022
|
+
**The mechanics:**
|
|
1023
|
+
|
|
1024
|
+
```
|
|
1025
|
+
Claude: https://claude.ai/new?q=[SUPER_PROMPT_URL_ENCODED]
|
|
1026
|
+
ChatGPT: https://chatgpt.com/?q=[SUPER_PROMPT_URL_ENCODED]
|
|
1027
|
+
```
|
|
1028
|
+
|
|
1029
|
+
**Why this matters for Vurb.ts:** LLMs were trained on MCP SDK code from 2024 — they don't know Vurb.ts exists. Without the `llms.txt` injection, the AI will hallucinate raw Anthropic SDK patterns. With it, every generated file uses the correct Fluent API, Presenter composition, and middleware chains.
|
|
1030
|
+
|
|
1031
|
+
> 📄 **Machine-readable spec:** [vurb.vinkius.com/llms.txt](https://vurb.vinkius.com/llms.txt) — pure Markdown, zero HTML, optimized for LLM consumption.
|
|
1032
|
+
|
|
1033
|
+
---
|
|
1034
|
+
|
|
894
1035
|
## Documentation
|
|
895
1036
|
|
|
896
1037
|
Full guides, API reference, and cookbook recipes:
|
|
897
1038
|
|
|
898
|
-
**[
|
|
1039
|
+
**[vurb.vinkius.com](https://vurb.vinkius.com/)** · **[llms.txt](https://vurb.vinkius.com/llms.txt)** *(AI-optimized documentation)*
|
|
1040
|
+
|
|
1041
|
+
Every documentation page includes interactive **Prompt Cards** with one-click **Copy for IDE**, **Open in Claude**, and **Open in ChatGPT** buttons — all powered by Prompt Deep Linking.
|
|
1042
|
+
|
|
1043
|
+
> 💡 **Enterprise & Compliance** — Vurb blocks PII locally by default. Need to prove it in a SOC2/GDPR/HIPAA audit? [Connect your Vurb server to Vinkius Cloud](https://vinkius.com) for immutable audit logs, visual compliance dashboards, and one-click deployment.
|
|
899
1044
|
|
|
900
1045
|
## Contributing
|
|
901
1046
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA+F1C,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAmbhE"}
|
|
@@ -58,7 +58,7 @@ function sanitizeBundleForEdge(code) {
|
|
|
58
58
|
// Reflect.setPrototypeOf( → Reflect["setPrototypeOf"](
|
|
59
59
|
.replace(/Reflect\.setPrototypeOf\s*\(/g, 'Reflect["setPrototypeOf"](')
|
|
60
60
|
// __proto__ = or __proto__[ → ["__proto__"] = or ["__proto__"][
|
|
61
|
-
.replace(/\b__proto__\s*([
|
|
61
|
+
.replace(/\b__proto__\s*([=[])/g, '["__proto__"]$1');
|
|
62
62
|
}
|
|
63
63
|
function edgeStubPlugin() {
|
|
64
64
|
return {
|
|
@@ -167,6 +167,7 @@ export async function commandDeploy(args) {
|
|
|
167
167
|
catch { /* non-critical — if read fails, esbuild will catch it later */ }
|
|
168
168
|
// ── Step 3: bundle (esbuild) ──
|
|
169
169
|
progress.start('bundle', 'Bundling with esbuild');
|
|
170
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-imports -- typeof import() needed: namespace import cannot be used as a type
|
|
170
171
|
let esbuild;
|
|
171
172
|
try {
|
|
172
173
|
esbuild = await import('esbuild');
|
|
@@ -214,7 +215,7 @@ export async function commandDeploy(args) {
|
|
|
214
215
|
}
|
|
215
216
|
catch (err) {
|
|
216
217
|
const buildErr = err;
|
|
217
|
-
if (buildErr.errors
|
|
218
|
+
if (buildErr.errors != null && buildErr.errors.length > 0) {
|
|
218
219
|
const first = buildErr.errors[0];
|
|
219
220
|
const loc = first.location
|
|
220
221
|
? ` (${first.location.file}:${first.location.line}:${first.location.column})`
|
|
@@ -234,7 +235,7 @@ export async function commandDeploy(args) {
|
|
|
234
235
|
process.exit(1);
|
|
235
236
|
}
|
|
236
237
|
const outFile = buildResult.outputFiles?.[0];
|
|
237
|
-
if (
|
|
238
|
+
if (outFile == null) {
|
|
238
239
|
progress.fail('bundle', 'Bundling', 'esbuild produced no output');
|
|
239
240
|
process.exit(1);
|
|
240
241
|
}
|
|
@@ -445,8 +446,8 @@ export async function commandDeploy(args) {
|
|
|
445
446
|
// ── Step 7: Premium Output ──
|
|
446
447
|
const elapsed = ((Date.now() - deployStart) / 1000).toFixed(1);
|
|
447
448
|
const w = process.stderr.write.bind(process.stderr);
|
|
448
|
-
const
|
|
449
|
-
const
|
|
449
|
+
const _magenta = (s) => `\x1b[35m${s}\x1b[0m`;
|
|
450
|
+
const _bgGreen = (s) => `\x1b[42m\x1b[30m${s}\x1b[0m`;
|
|
450
451
|
const bgCyan = (s) => `\x1b[46m\x1b[30m${s}\x1b[0m`;
|
|
451
452
|
const white = (s) => `\x1b[97m${s}\x1b[0m`;
|
|
452
453
|
w('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/commands/dev.js
CHANGED
|
@@ -20,7 +20,7 @@ export async function commandDev(args, reporter) {
|
|
|
20
20
|
process.stderr.write(`\n ${ansi.bold('vurb dev')} ${ansi.dim('— HMR Development Server')}\n\n`);
|
|
21
21
|
// Step 1: Resolve registry
|
|
22
22
|
progress.start('resolve', 'Resolving server entrypoint');
|
|
23
|
-
const {
|
|
23
|
+
const { name } = await resolveRegistry(serverEntry);
|
|
24
24
|
progress.done('resolve', 'Resolving server entrypoint', name);
|
|
25
25
|
// Step 2: Determine watch directory
|
|
26
26
|
const watchDir = args.dir ?? inferWatchDir(serverEntry);
|
|
@@ -43,7 +43,7 @@ export async function commandDev(args, reporter) {
|
|
|
43
43
|
}
|
|
44
44
|
catch (err) {
|
|
45
45
|
const message = toErrorMessage(err);
|
|
46
|
-
throw new Error(`Failed to reload: ${message}
|
|
46
|
+
throw new Error(`Failed to reload: ${message}`, { cause: err });
|
|
47
47
|
}
|
|
48
48
|
if ('clear' in reg && typeof reg.clear === 'function') {
|
|
49
49
|
reg.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,qCAAqC;AACrC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAa,EAAE,QAA2B;IACvE,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACnE,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;IAEhC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAEjG,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IACzD,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lock.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAMvD,qCAAqC;AACrC,wBAAsB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgF3F"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @module
|
|
4
4
|
*/
|
|
5
5
|
import { compileContracts } from '../../introspection/ToolContract.js';
|
|
6
|
-
import { generateLockfile, writeLockfile, readLockfile, checkLockfile,
|
|
6
|
+
import { generateLockfile, writeLockfile, readLockfile, checkLockfile, LOCKFILE_NAME, } from '../../introspection/CapabilityLockfile.js';
|
|
7
7
|
import { ProgressTracker } from '../progress.js';
|
|
8
8
|
import { VURB_VERSION } from '../constants.js';
|
|
9
9
|
import { resolveRegistry } from '../registry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../src/cli/commands/lock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EACH,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../src/cli/commands/lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/remote.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/remote.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAuCjD"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { resolve } from 'node:path';
|
|
6
6
|
import { ansi, VINKIUS_CLOUD_URL } from '../constants.js';
|
|
7
7
|
import { VURBRC, readVurbRc, writeVurbRc } from '../rc.js';
|
|
8
|
-
export
|
|
8
|
+
export function commandRemote(args) {
|
|
9
9
|
const cwd = args.cwd;
|
|
10
10
|
// vurb remote <url> [--server-id <id>] [--token <tok>] — set one or more at once
|
|
11
11
|
// vurb remote --server-id <id> — uses default Vinkius Cloud URL
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/cli/commands/remote.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE3D,MAAM,
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/cli/commands/remote.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE3D,MAAM,UAAU,aAAa,CAAC,IAAa;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAErB,iFAAiF;IACjF,uEAAuE;IACvE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;QAEtC,WAAW,CAAC,GAAG,EAAE;YACb,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,cAAc,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC;QACpF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,aAAa,KAAK,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7J,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO;IACX,CAAC;IAED,qCAAqC;IACrC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACjF,OAAO;IACX,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1H,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AACpF,CAAC"}
|