@velarscript/cli 0.12.1 → 0.14.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.
- package/README.md +5 -13
- package/dist/browser-process-owner.d.ts +23 -0
- package/dist/browser-process-owner.d.ts.map +1 -1
- package/dist/browser-process-owner.js +46 -2
- package/dist/browser-process-owner.js.map +1 -1
- package/dist/browser-test-runner.d.ts.map +1 -1
- package/dist/browser-test-runner.js +110 -14
- package/dist/browser-test-runner.js.map +1 -1
- package/dist/cli.js +186 -106
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +28 -4
- package/dist/config.js.map +1 -1
- package/dist/dev-server.d.ts +18 -0
- package/dist/dev-server.d.ts.map +1 -1
- package/dist/dev-server.js +168 -8
- package/dist/dev-server.js.map +1 -1
- package/dist/extension-metadata.d.ts +6 -0
- package/dist/extension-metadata.d.ts.map +1 -1
- package/dist/extension-metadata.js +71 -4
- package/dist/extension-metadata.js.map +1 -1
- package/dist/format-guard.d.ts +20 -0
- package/dist/format-guard.d.ts.map +1 -0
- package/dist/format-guard.js +13 -0
- package/dist/format-guard.js.map +1 -0
- package/dist/framework-host.d.ts.map +1 -1
- package/dist/framework-host.js +15 -2
- package/dist/framework-host.js.map +1 -1
- package/dist/language-server-bundle-entry.js +0 -2
- package/dist/language-server-bundle-entry.js.map +1 -1
- package/dist/language-server-tool.d.ts.map +1 -1
- package/dist/language-server-tool.js +0 -2
- package/dist/language-server-tool.js.map +1 -1
- package/dist/language-server.d.ts +1 -1
- package/dist/language-server.d.ts.map +1 -1
- package/dist/language-server.js +87 -293
- package/dist/language-server.js.map +1 -1
- package/dist/local-request-guard.d.ts +18 -0
- package/dist/local-request-guard.d.ts.map +1 -0
- package/dist/local-request-guard.js +75 -0
- package/dist/local-request-guard.js.map +1 -0
- package/dist/mechanical-fixer.d.ts.map +1 -1
- package/dist/mechanical-fixer.js +116 -2
- package/dist/mechanical-fixer.js.map +1 -1
- package/dist/module-assets.d.ts +23 -0
- package/dist/module-assets.d.ts.map +1 -1
- package/dist/module-assets.js +216 -14
- package/dist/module-assets.js.map +1 -1
- package/dist/node-application.d.ts +8 -7
- package/dist/node-application.d.ts.map +1 -1
- package/dist/node-application.js +63 -32
- package/dist/node-application.js.map +1 -1
- package/dist/node-runtime-dependencies.d.ts +3 -0
- package/dist/node-runtime-dependencies.d.ts.map +1 -0
- package/dist/node-runtime-dependencies.js +32 -0
- package/dist/node-runtime-dependencies.js.map +1 -0
- package/dist/npm.d.ts +29 -0
- package/dist/npm.d.ts.map +1 -1
- package/dist/npm.js +39 -2
- package/dist/npm.js.map +1 -1
- package/dist/official-language-server-extensions.d.ts.map +1 -1
- package/dist/official-language-server-extensions.js +13 -0
- package/dist/official-language-server-extensions.js.map +1 -1
- package/dist/ownership-graph.d.ts.map +1 -1
- package/dist/ownership-graph.js +155 -38
- package/dist/ownership-graph.js.map +1 -1
- package/dist/package-manager.d.ts.map +1 -1
- package/dist/package-manager.js +4 -1
- package/dist/package-manager.js.map +1 -1
- package/dist/preview-server.d.ts.map +1 -1
- package/dist/preview-server.js +12 -4
- package/dist/preview-server.js.map +1 -1
- package/dist/production-build.d.ts.map +1 -1
- package/dist/production-build.js +24 -6
- package/dist/production-build.js.map +1 -1
- package/dist/production-verifier.js +3 -0
- package/dist/production-verifier.js.map +1 -1
- package/dist/project-check.d.ts +14 -1
- package/dist/project-check.d.ts.map +1 -1
- package/dist/project-check.js +17 -4
- package/dist/project-check.js.map +1 -1
- package/dist/project-format.d.ts +9 -0
- package/dist/project-format.d.ts.map +1 -1
- package/dist/project-format.js +13 -0
- package/dist/project-format.js.map +1 -1
- package/dist/project-semantic.d.ts.map +1 -1
- package/dist/project-semantic.js +15 -4
- package/dist/project-semantic.js.map +1 -1
- package/dist/project.d.ts +25 -0
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +341 -42
- package/dist/project.js.map +1 -1
- package/dist/reproduction.d.ts +18 -0
- package/dist/reproduction.d.ts.map +1 -1
- package/dist/reproduction.js +47 -6
- package/dist/reproduction.js.map +1 -1
- package/dist/stable-order.d.ts +17 -0
- package/dist/stable-order.d.ts.map +1 -0
- package/dist/stable-order.js +19 -0
- package/dist/stable-order.js.map +1 -0
- package/dist/standard-modules.d.ts +2 -2
- package/dist/standard-modules.d.ts.map +1 -1
- package/dist/standard-modules.js +2 -2
- package/dist/standard-modules.js.map +1 -1
- package/dist/static-deployment.d.ts.map +1 -1
- package/dist/static-deployment.js +27 -0
- package/dist/static-deployment.js.map +1 -1
- package/dist/test-runner.d.ts.map +1 -1
- package/dist/test-runner.js +196 -100
- package/dist/test-runner.js.map +1 -1
- package/dist/test-worker.d.ts +64 -0
- package/dist/test-worker.d.ts.map +1 -0
- package/dist/test-worker.js +161 -0
- package/dist/test-worker.js.map +1 -0
- package/dist/typescript-declarations.d.ts +1 -1
- package/dist/typescript-declarations.d.ts.map +1 -1
- package/dist/typescript-declarations.js +233 -21
- package/dist/typescript-declarations.js.map +1 -1
- package/dist/unowned-errors.d.ts +15 -2
- package/dist/unowned-errors.d.ts.map +1 -1
- package/dist/unowned-errors.js +13 -2
- package/dist/unowned-errors.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/workspace-index.d.ts.map +1 -1
- package/dist/workspace-index.js +42 -17
- package/dist/workspace-index.js.map +1 -1
- package/package.json +8 -8
- package/skill/ai-skill-node.md +91 -22
- package/skill/ai-skill-server.md +173 -0
- package/skill/ai-skill-web.md +51 -1
- package/skill/ai-skill.md +36 -13
- package/dist/official-script-language-service.d.ts +0 -2
- package/dist/official-script-language-service.d.ts.map +0 -1
- package/dist/official-script-language-service.js +0 -10
- package/dist/official-script-language-service.js.map +0 -1
- package/dist/official-tool-assets.d.ts +0 -3
- package/dist/official-tool-assets.d.ts.map +0 -1
- package/dist/official-tool-assets.js +0 -60
- package/dist/official-tool-assets.js.map +0 -1
- package/dist/script-language-service.d.ts +0 -82
- package/dist/script-language-service.d.ts.map +0 -1
- package/dist/script-language-service.js +0 -18
- package/dist/script-language-service.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-index.js","sourceRoot":"","sources":["../src/workspace-index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-index.js","sourceRoot":"","sources":["../src/workspace-index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velarscript/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "The VelarScript command-line compiler, dev server, test runner, and language server.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
"velar": "./dist/cli.js"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@velarscript/compiler": "0.
|
|
34
|
-
"@velarscript/core": "0.
|
|
35
|
-
"@velarscript/desktop": "0.
|
|
36
|
-
"@velarscript/node": "0.
|
|
37
|
-
"@velarscript/
|
|
38
|
-
"@velarscript/web": "0.
|
|
39
|
-
"create-velar": "0.
|
|
33
|
+
"@velarscript/compiler": "0.14.0",
|
|
34
|
+
"@velarscript/core": "0.14.0",
|
|
35
|
+
"@velarscript/desktop": "0.14.0",
|
|
36
|
+
"@velarscript/node": "0.14.0",
|
|
37
|
+
"@velarscript/server": "0.14.0",
|
|
38
|
+
"@velarscript/web": "0.14.0",
|
|
39
|
+
"create-velar": "0.14.0",
|
|
40
40
|
"esbuild": "^0.28.1",
|
|
41
41
|
"playwright": "^1.58.2"
|
|
42
42
|
}
|
package/skill/ai-skill-node.md
CHANGED
|
@@ -4,9 +4,17 @@ Load this after `velar skill core`. This brief contains only the Node owner’s
|
|
|
4
4
|
contract. Core does not learn server declarations, path-pattern strings, Node
|
|
5
5
|
capabilities, or application configuration.
|
|
6
6
|
|
|
7
|
-
## Ownership and application entry
|
|
7
|
+
## Ownership and low-level application entry
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
`@velarscript/node` is a capability extension. It owns route syntax,
|
|
10
|
+
path-pattern strings, Node modules, HTTP/WebSocket transport, and low-level
|
|
11
|
+
server lifecycle; it does not own convention-based application configuration.
|
|
12
|
+
An ordinary service activates `@velarscript/server` and then loads
|
|
13
|
+
`velar skill server` for root `application.*`, application assembly, and
|
|
14
|
+
connection lifecycle.
|
|
15
|
+
|
|
16
|
+
A deliberately low-level Node application may activate Node directly and name
|
|
17
|
+
one exported zero-argument async startup function:
|
|
10
18
|
|
|
11
19
|
```json
|
|
12
20
|
{
|
|
@@ -16,28 +24,47 @@ A Node service activates the extension and names one exported `ServeApp`:
|
|
|
16
24
|
"publicDir": "public",
|
|
17
25
|
"extensions": ["@velarscript/node"],
|
|
18
26
|
"node": {
|
|
19
|
-
"app": "
|
|
20
|
-
"host": "127.0.0.1",
|
|
21
|
-
"port": 3000,
|
|
22
|
-
"maxBodyBytes": 16777216,
|
|
27
|
+
"app": "start",
|
|
23
28
|
"build": {"sourceMaps": false}
|
|
24
29
|
}
|
|
25
30
|
}
|
|
26
31
|
```
|
|
27
32
|
|
|
28
|
-
The entry
|
|
29
|
-
or top-level `serve(...)` call:
|
|
33
|
+
The low-level entry owns its own startup arguments in code:
|
|
30
34
|
|
|
31
35
|
```velar fragment
|
|
32
|
-
import {
|
|
36
|
+
import {serve} from "velar/serve"
|
|
37
|
+
import {app} from "./app.vel"
|
|
38
|
+
|
|
39
|
+
export async def start():
|
|
40
|
+
return await serve(app, port=3000, host="127.0.0.1")
|
|
41
|
+
```
|
|
33
42
|
|
|
34
|
-
|
|
43
|
+
For one shared HTTP/WebSocket application port, the same exact zero-argument
|
|
44
|
+
shape returns `Promise<WebSocketServer>`:
|
|
45
|
+
|
|
46
|
+
```velar fragment
|
|
47
|
+
import {app as routes} from "./app.vel"
|
|
48
|
+
import {listen} from "velar/websocket"
|
|
49
|
+
|
|
50
|
+
export async def start():
|
|
51
|
+
return await listen({
|
|
52
|
+
host: "127.0.0.1",
|
|
53
|
+
port: 3000,
|
|
54
|
+
http: routes,
|
|
55
|
+
path: "/api/events",
|
|
56
|
+
origins: ["https://app.example.com"],
|
|
57
|
+
maxBodyBytes: 16777216,
|
|
58
|
+
})
|
|
35
59
|
```
|
|
36
60
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
61
|
+
The exact result is `Promise<WebSocketServer>`. The launcher supplies no
|
|
62
|
+
host, port, or body-limit parameters.
|
|
63
|
+
|
|
64
|
+
Use direct Node activation for tools, embedded adapters, and tests. For an
|
|
65
|
+
application service, activate `@velarscript/server`; it provides the same
|
|
66
|
+
`velar dev`, `velar serve`, and standalone `velar build` workflow without a
|
|
67
|
+
second runtime configuration source.
|
|
41
68
|
|
|
42
69
|
`@name` keeps its one language-wide role: it qualifies a compiler-owned name
|
|
43
70
|
in the current context. In a `server` block, the available names are `@get`,
|
|
@@ -178,6 +205,23 @@ and explicit error recovery. A timeout response does not pretend downstream
|
|
|
178
205
|
work was cancelled: its request resources remain alive until that work really
|
|
179
206
|
ends, and the runtime caps unfinished timed-out tasks.
|
|
180
207
|
|
|
208
|
+
Overlapping routes are refused by two referees. At compile time the analyzer
|
|
209
|
+
follows the path-preserving combinators: `use`, `bodyLimit`, `docs`, and
|
|
210
|
+
`lifecycle` carry their app argument’s routes through unchanged, and `prefix`
|
|
211
|
+
translates them when its path is a string literal. So
|
|
212
|
+
`...prefix("/api", routes)` is checked against the composing server’s own
|
|
213
|
+
routes at the translated addresses, and the diagnostic names that address and
|
|
214
|
+
the server the route was composed in from. A module-level `const` alias of a
|
|
215
|
+
server resolves, and so does a `let` the module never reassigns. A spread the
|
|
216
|
+
analyzer cannot resolve, such as an imported server, a computed prefix path, or
|
|
217
|
+
an app handed back by a function, is deliberately let through; a false conflict
|
|
218
|
+
here would block a correct program. The final route table exists only at
|
|
219
|
+
assembly, so the runtime judges it there: an overlapping table refuses to build,
|
|
220
|
+
and the failure names both routes, where each one came from, and the method and
|
|
221
|
+
path shape they share. Both referees read one definition of that shape, and a
|
|
222
|
+
program the compiler rejected never reaches assembly, so nothing is reported
|
|
223
|
+
twice.
|
|
224
|
+
|
|
181
225
|
`lifecycle` owns paired startup and shutdown hooks. Successful startups unwind
|
|
182
226
|
in reverse order; a failed startup does not run its paired shutdown.
|
|
183
227
|
`background(response, task)` keeps request-scoped resources valid until the
|
|
@@ -212,9 +256,13 @@ total stream are bounded. SSE accepts text or checked
|
|
|
212
256
|
root-contained, streamed reads with validators and one byte range.
|
|
213
257
|
|
|
214
258
|
`velar/websocket.listen({http: app, ...})` serves a `ServeApp` and WebSocket
|
|
215
|
-
upgrades on one native server and owns the application lifecycle.
|
|
216
|
-
|
|
217
|
-
|
|
259
|
+
upgrades on one native server and owns the application lifecycle. Set
|
|
260
|
+
`maxBodyBytes` to the supplied application value. `origins` contains exact
|
|
261
|
+
canonical HTTP/HTTPS origins. The default rejects any upgrade carrying
|
|
262
|
+
`Origin`; no-Origin non-browser clients remain allowed. Use `["*"]` only for an
|
|
263
|
+
intentional unrestricted policy. A rejected browser origin receives 403 before
|
|
264
|
+
it consumes connection-queue capacity. Connections are pull-based. Always
|
|
265
|
+
consume `next()`, handle backpressure, and stop the server.
|
|
218
266
|
|
|
219
267
|
## Tests
|
|
220
268
|
|
|
@@ -290,11 +338,32 @@ read-modify-write sequence atomic.
|
|
|
290
338
|
|
|
291
339
|
Use `velar/fs`, `velar/path`, `velar/process`, `velar/env`,
|
|
292
340
|
`velar/terminal`, `velar/http`, `velar/worker`, and `velar/websocket` instead of
|
|
293
|
-
ambient Node globals.
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
341
|
+
ambient Node globals. Database contracts, drivers, codecs, and other
|
|
342
|
+
application integrations are project-owned modules or dependencies. Declare
|
|
343
|
+
third-party boundaries with checked `extern module`; keep `import js unsafe`
|
|
344
|
+
at one narrow validation boundary.
|
|
345
|
+
|
|
346
|
+
An HTTP response has no `ok` field on any target: `response()` throws
|
|
347
|
+
`HttpResponseError` for every non-2xx status before the value exists, so every
|
|
348
|
+
response the code can hold already succeeded. Wrap the call in `try:` /
|
|
349
|
+
`catch failure:`, narrow with `if failure is HttpResponseError:` —
|
|
350
|
+
`HttpResponseError` is imported from `velar/http` — and read `failure.status`
|
|
351
|
+
there.
|
|
352
|
+
|
|
353
|
+
Wire-shaped values arrive as `unknown`, not as a checked shape. An
|
|
354
|
+
`HttpError`’s `body`, the payload of a response whose declared type is
|
|
355
|
+
`ServeResponse`, the path items of an `openapi(...)` document, the error handed
|
|
356
|
+
to a `middleware.errors` handler, and a test response’s parsed body are all
|
|
357
|
+
`unknown`: validate one with `Type.parse`, or narrow it, before touching a
|
|
358
|
+
member. A middleware reaches no payload at all: `await next()` answers the whole
|
|
359
|
+
`ServeResponse` union, whose three variants share no payload field and no
|
|
360
|
+
discriminant, so `status` and `headers` are the members it can read.
|
|
361
|
+
`request.parse(Report)` is unchanged and stays the checked way in. Constructing
|
|
362
|
+
responses is unchanged too; `json` and `created` accept any payload and hand
|
|
363
|
+
back a response whose payload keeps the type it was given, and that payload
|
|
364
|
+
turns into a read-only `unknown` once the value is widened to `ServeResponse`,
|
|
365
|
+
which is what lets a response carrying a concrete payload still be a
|
|
366
|
+
`ServeResponse`.
|
|
298
367
|
|
|
299
368
|
Run `velar format --check`, `velar check`, `velar test`, and
|
|
300
369
|
`velar build`. The complete runnable spelling lives in
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# The VelarScript Server AI skill brief
|
|
2
|
+
|
|
3
|
+
Load this after `velar skill core` and `velar skill node`. This brief contains
|
|
4
|
+
only the convention-based Server application framework. Node still owns route
|
|
5
|
+
syntax, HTTP/WebSocket transport, filesystem, process, and the low-level
|
|
6
|
+
`velar/serve` runtime.
|
|
7
|
+
|
|
8
|
+
## Activation and ownership
|
|
9
|
+
|
|
10
|
+
A service installs and explicitly activates `@velarscript/server`, just as a
|
|
11
|
+
browser application activates `@velarscript/web`:
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@velarscript/server": "0.14.0"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"formatVersion": 2,
|
|
24
|
+
"entry": "src/main.vel",
|
|
25
|
+
"outDir": "dist",
|
|
26
|
+
"publicDir": "public",
|
|
27
|
+
"extensions": ["@velarscript/server"]
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The Server application extension composes the Node capability. Do not list both
|
|
32
|
+
extensions. Without `@velarscript/server`, `velar/server` is unavailable and
|
|
33
|
+
root application configuration is not loaded.
|
|
34
|
+
|
|
35
|
+
The conventional entry export is `start`. A different exported binding may be
|
|
36
|
+
selected with the optional `server.app` manifest field; `server.build.sourceMaps`
|
|
37
|
+
is the only build setting. Host, port, request limits, database locations, and
|
|
38
|
+
other runtime settings never belong in `velar.json`.
|
|
39
|
+
|
|
40
|
+
## Convention-based application configuration
|
|
41
|
+
|
|
42
|
+
The only conventional configuration file is root `application.yml`.
|
|
43
|
+
|
|
44
|
+
YAML and JSON enter the same checked runtime-Type boundary. Files are bounded;
|
|
45
|
+
YAML is strict, rejects duplicate keys, and limits aliases. An explicit
|
|
46
|
+
`.yml`, `.yaml`, or `.json` path is the escape hatch for deployment-specific
|
|
47
|
+
configuration; other root filenames are never discovered by convention.
|
|
48
|
+
|
|
49
|
+
The framework-owned server section is:
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
server:
|
|
53
|
+
host: 127.0.0.1
|
|
54
|
+
port: 3000
|
|
55
|
+
maxBodyBytes: 16777216
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
All three fields are optional. Their defaults are `127.0.0.1`, `3000`, and
|
|
59
|
+
16 MiB. `application(app)` reads this section when the server starts:
|
|
60
|
+
|
|
61
|
+
```velar
|
|
62
|
+
import {application} from "velar/server"
|
|
63
|
+
|
|
64
|
+
export server routes:
|
|
65
|
+
@get(p"/health") => {status: "ready"}
|
|
66
|
+
|
|
67
|
+
export const start = application(routes)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
`velar dev`, `velar serve`, and the standalone `velar build` output use the
|
|
71
|
+
same root configuration. CLI `--host` and Node `--port` overrides are not a
|
|
72
|
+
second configuration channel. A missing conventional file uses the server
|
|
73
|
+
defaults; when application-specific settings are required, load the full file
|
|
74
|
+
with `configuration(Type)`, which requires the file to exist.
|
|
75
|
+
|
|
76
|
+
## Typed application settings
|
|
77
|
+
|
|
78
|
+
Declare the application-owned shape and load it through its Runtime Type:
|
|
79
|
+
|
|
80
|
+
```velar
|
|
81
|
+
import {configuration} from "velar/server"
|
|
82
|
+
|
|
83
|
+
type ServerSettings:
|
|
84
|
+
host: string
|
|
85
|
+
port: number
|
|
86
|
+
maxBodyBytes: number
|
|
87
|
+
|
|
88
|
+
type DatabaseSettings:
|
|
89
|
+
path: string
|
|
90
|
+
busyTimeoutMilliseconds: number
|
|
91
|
+
|
|
92
|
+
type ApplicationSettings:
|
|
93
|
+
server: ServerSettings
|
|
94
|
+
database: DatabaseSettings
|
|
95
|
+
|
|
96
|
+
export const settings = await configuration(ApplicationSettings)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
`configuration(Type, path=null, maxBytes=65536)` returns
|
|
100
|
+
`Promise<Type>`. A non-null path must end in `.yml`, `.yaml`, or `.json`.
|
|
101
|
+
The framework parses syntax; the application Runtime Type owns field names and
|
|
102
|
+
types, and application validation still owns domain ranges and invariants.
|
|
103
|
+
Environment variables may form an explicit deployment override layer, but
|
|
104
|
+
secrets do not belong in application configuration.
|
|
105
|
+
|
|
106
|
+
## Abstract database connection lifecycle
|
|
107
|
+
|
|
108
|
+
`database(connect, disconnect)` creates an eager application-scoped
|
|
109
|
+
`Provider<Connection>`. It establishes one typed connection during application
|
|
110
|
+
startup, injects that same value into routes, and disconnects it during
|
|
111
|
+
application shutdown after admitted work has drained:
|
|
112
|
+
|
|
113
|
+
```velar
|
|
114
|
+
import {database} from "velar/server"
|
|
115
|
+
import {input} from "velar/serve"
|
|
116
|
+
|
|
117
|
+
type Connection:
|
|
118
|
+
name: string
|
|
119
|
+
close: () -> Promise<null>
|
|
120
|
+
|
|
121
|
+
const connection = database(
|
|
122
|
+
connect=async () => {name: "primary", close: async () => null},
|
|
123
|
+
disconnect=async value => await value.close(),
|
|
124
|
+
)
|
|
125
|
+
|
|
126
|
+
export server databaseRoutes:
|
|
127
|
+
@get(p"/database", value=input.dependency(connection)) => {name: value.name}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
The framework owns only this connect/inject/disconnect lifecycle. Concrete
|
|
131
|
+
drivers, pools, database models, schemas, queries, migrations, transactions,
|
|
132
|
+
dialect behavior, retry rules, and credentials remain independently installed
|
|
133
|
+
application dependencies. Do not add SQLite, PostgreSQL, an ORM, or model
|
|
134
|
+
syntax to `@velarscript/server` or `@velarscript/node`.
|
|
135
|
+
|
|
136
|
+
## Custom shared HTTP/WebSocket startup
|
|
137
|
+
|
|
138
|
+
A service that needs one custom shared HTTP/WebSocket listener may load the same
|
|
139
|
+
typed configuration and export an exact zero-argument async startup function:
|
|
140
|
+
|
|
141
|
+
```velar fragment
|
|
142
|
+
import {configuration} from "velar/server"
|
|
143
|
+
import {listen} from "velar/websocket"
|
|
144
|
+
|
|
145
|
+
type ServerSettings:
|
|
146
|
+
host: string
|
|
147
|
+
port: number
|
|
148
|
+
maxBodyBytes: number
|
|
149
|
+
|
|
150
|
+
type Settings:
|
|
151
|
+
server: ServerSettings
|
|
152
|
+
|
|
153
|
+
const settings = await configuration(Settings)
|
|
154
|
+
|
|
155
|
+
export async def start():
|
|
156
|
+
return await listen({
|
|
157
|
+
host: settings.server.host,
|
|
158
|
+
port: settings.server.port,
|
|
159
|
+
http: routes,
|
|
160
|
+
path: "/events",
|
|
161
|
+
origins: ["https://app.example.com"],
|
|
162
|
+
maxBodyBytes: settings.server.maxBodyBytes,
|
|
163
|
+
})
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
The result must be exactly `Promise<WebSocketServer>`. The launcher supplies no
|
|
167
|
+
host, port, or body-limit arguments; the root application configuration remains
|
|
168
|
+
the single runtime authority.
|
|
169
|
+
|
|
170
|
+
Use direct `serve(app, port=0)` in tests or embedded low-level adapters. Use
|
|
171
|
+
`velar/server-test` only from `*.test.vel`. Route, provider, transport,
|
|
172
|
+
Origin-admission, resource-limit, and shutdown semantics are documented in the
|
|
173
|
+
Node brief because Node owns those primitives.
|
package/skill/ai-skill-web.md
CHANGED
|
@@ -64,6 +64,22 @@ A resource loads once at mount. Refetching after an input changes is an
|
|
|
64
64
|
explicit `watch` plus detached `async resource.reload()`. Actions do not queue;
|
|
65
65
|
disable or otherwise guard a trigger when concurrent calls are unwanted.
|
|
66
66
|
|
|
67
|
+
A watch subject is a reactive name — a `state`, a `computed`, a prop, or a
|
|
68
|
+
resource field — or a read path out of one, such as `items[0].done`. An operator
|
|
69
|
+
or a call there is refused; declare the value with `computed` and watch that
|
|
70
|
+
name. A subject that is not reactive is refused as well: `watch total:` over a
|
|
71
|
+
plain `const` is a body that can never run. `computed` is the only spelling for
|
|
72
|
+
a reactive derived value. A `const` inside a component is not a second one: its
|
|
73
|
+
initializer is evaluated once at construction and never recomputes, and no
|
|
74
|
+
diagnostic marks it.
|
|
75
|
+
|
|
76
|
+
A watch may write state and declares nothing to do so. Within a flush, watches
|
|
77
|
+
run in the order they were written: source order in one module, mount order
|
|
78
|
+
across instances of one component, module initialization order across modules.
|
|
79
|
+
Two watches that write one `state` both take effect, in that order. Put a value
|
|
80
|
+
that must be correct before anything reads it in a `computed`, which settles
|
|
81
|
+
before any DOM is written and never depends on watch order.
|
|
82
|
+
|
|
67
83
|
`@mounted:` runs after insertion and may await. `@cleanup:` runs before removal
|
|
68
84
|
and is synchronous. A component may still declare ordinary methods named
|
|
69
85
|
`mounted` or `cleanup` because compiler-owned names occupy a separate namespace.
|
|
@@ -72,7 +88,35 @@ Events use `on:click={handler}`. Writable form paths use `bind:value`,
|
|
|
72
88
|
`bind:checked`, or `bind:group`; do not read `event.target`. A JSX tag body is
|
|
73
89
|
received only through an explicitly declared `children: WebNode` prop.
|
|
74
90
|
Conditional rendering is an expression, and repeated children need stable
|
|
75
|
-
`key` values.
|
|
91
|
+
`key` values. Reuse asks two questions: the key must match, and the row it names
|
|
92
|
+
must still be the same value. `items = items.map(item => { ...item, done: true })`
|
|
93
|
+
rebuilds every row, so the keyed list recognises none of them and destroys and
|
|
94
|
+
rebuilds all of its children — an input being typed into loses focus. Change the
|
|
95
|
+
field in place, `items[index].done = true`. The compiler raises advisory **A4**
|
|
96
|
+
where the rewritten list is the one a keyed position renders; `// velar-allow
|
|
97
|
+
A4: <reason>` suppresses it where a `map` is the only spelling, which a
|
|
98
|
+
`readonly` list or one API response makes it.
|
|
99
|
+
|
|
100
|
+
A native element rejects every attribute name beginning with `on` other than
|
|
101
|
+
the `on:` directive itself. `onclick`, `onClick`, and `ONCLICK` are one
|
|
102
|
+
attribute to the browser, and the browser compiles that attribute's value as
|
|
103
|
+
script in the application's origin, which VelarScript reserves for
|
|
104
|
+
`unsafe:html`. The prefix is reserved by name rather than by a roster of
|
|
105
|
+
handler names, so the next handler spelling the platform adds is closed in
|
|
106
|
+
advance. A component prop may still be named `onSave`; the reservation belongs
|
|
107
|
+
to the native element.
|
|
108
|
+
|
|
109
|
+
`host` marks the element that receives what an invocation attaches to a
|
|
110
|
+
component — `class`, `look`, `look:*`, and `style:*`. `class:*` is a native
|
|
111
|
+
element directive and is not among them; an invocation that writes it is
|
|
112
|
+
reported as an unknown prop. A component whose root is a single native element
|
|
113
|
+
or a single component needs no marker. A nested component's `host` names that
|
|
114
|
+
component's host and never the enclosing one's, wherever the nested component
|
|
115
|
+
sits: buried inside one of the enclosing component's elements, or standing
|
|
116
|
+
directly among its roots. An enclosing component forwards to a nested
|
|
117
|
+
component's host only when it marks no native element of its own, so a
|
|
118
|
+
component whose roots are two nested components must mark a native element of
|
|
119
|
+
its own to say which one receives the invocation.
|
|
76
120
|
|
|
77
121
|
Props are live reactive inputs. Their data is mutable unless the author writes
|
|
78
122
|
an explicit `readonly` view.
|
|
@@ -102,6 +146,12 @@ or a typed `look:color={...}` binding. Checked motion is a module-level
|
|
|
102
146
|
animation string. Unsupported styling uses explicit `import css unsafe
|
|
103
147
|
"./file.css" before look` or `after look`.
|
|
104
148
|
|
|
149
|
+
A `look` written on a component invocation composes after the look the
|
|
150
|
+
component applies to its own host, per property and per condition: declare a
|
|
151
|
+
property unconditionally to override the component's outright, and declare it
|
|
152
|
+
under a condition to refine that condition alone and leave the component's
|
|
153
|
+
other values standing.
|
|
154
|
+
|
|
105
155
|
## Storage and tests
|
|
106
156
|
|
|
107
157
|
`velar/storage` stores JSON and validates on read. A generic type spelling is
|
package/skill/ai-skill.md
CHANGED
|
@@ -23,7 +23,13 @@ one round.
|
|
|
23
23
|
The working loop:
|
|
24
24
|
|
|
25
25
|
1. Write ordinary code the way a fluent JS/Python author would.
|
|
26
|
-
2. Run `velar check`. Do exactly what each diagnostic says.
|
|
26
|
+
2. Run `velar check`. Do exactly what each diagnostic says. It reports
|
|
27
|
+
**advisories** as well — a second channel for a spelling Vel accepts with a
|
|
28
|
+
meaning other than the one your JS/Python reflex intended. An advisory never
|
|
29
|
+
fails the check, and leaving one unresolved means the work is not done:
|
|
30
|
+
either write the spelling it names, or put `// velar-allow <CODE>: <reason>`
|
|
31
|
+
on that line saying why the code is right as written. A suppression with no
|
|
32
|
+
reason, and one that no longer applies, are both compile errors.
|
|
27
33
|
3. Run `velar fix` to apply every rewrite the diagnostics already named
|
|
28
34
|
(retired spellings with one successor, line-ending semicolons, and the rest
|
|
29
35
|
of that family); it never rewrites anything that needs a decision, so what
|
|
@@ -53,7 +59,8 @@ These names need no import and cannot be shadowed: `const Text = 1` is rejected.
|
|
|
53
59
|
protects these names. Capabilities stay explicit imports. Durations use `ms` or
|
|
54
60
|
`s`, so write `await Promise.sleep(250ms)`, not a bare number.
|
|
55
61
|
|
|
56
|
-
Use checked binary, random,
|
|
62
|
+
Use checked binary, random, and task APIs. Project-specific codecs, storage,
|
|
63
|
+
and algorithms come from project-owned modules or dependencies. A direct
|
|
57
64
|
`for index in range(...):` is a native counter; range as a value is a List. Use `UInt16Buffer` for 16-bit numeric state,
|
|
58
65
|
`UInt8Buffer` for compact data, and bounded `UInt32Builder`/`Float32Builder` values for variable-size numeric output.
|
|
59
66
|
|
|
@@ -90,19 +97,28 @@ module; the body may `await` directly and needs no `export`. A file that declare
|
|
|
90
97
|
|
|
91
98
|
## The traps your reflexes will hit
|
|
92
99
|
|
|
93
|
-
Everything in this table was hit by real models writing Vel blind.
|
|
94
|
-
|
|
95
|
-
|
|
100
|
+
Everything in this table was hit by real models writing Vel blind. Most rows
|
|
101
|
+
produce a teaching diagnostic, so `velar check` will catch them; the rows
|
|
102
|
+
marked **A1**, **A2**, **A3**, **A5**, and **A6** are answered by an advisory
|
|
103
|
+
instead, which reports without failing the check. Two rows are still silent —
|
|
104
|
+
nothing is reported at all and the program runs with the other meaning:
|
|
105
|
+
`a // b` where the divisor is a name rather than arithmetic, and a collection
|
|
106
|
+
`==` between two bindings, since only a collection literal written inside the
|
|
107
|
+
comparison is reported. Read those twice. The `Type.parse` row is silent as
|
|
108
|
+
well, but it is a guarantee rather than a trap.
|
|
96
109
|
|
|
97
110
|
| Your reflex | Write instead |
|
|
98
111
|
| --- | --- |
|
|
99
|
-
| `"${value}"` or `` `${value}` `` template interpolation | `f"{value}"` or `` f`{value}` ``. Only the `f` prefix interpolates, in either delimiter
|
|
100
|
-
| `a // b` floor division | `//` starts a comment, so the rest of the line disappears and `const c = a // b` silently binds `a`. Write `(a / b).floor()`. |
|
|
112
|
+
| `"${value}"` or `` `${value}` `` template interpolation (**A5**), `f"${value}"` (**A6**) | `f"{value}"` or `` f`{value}` ``. Only the `f` prefix interpolates, in either delimiter, and a `$` in front of the brace keeps it literal even under that prefix. `${...}` stays legal text in every string — including a backtick one — so nothing fails: the advisory reports and the build continues. Suppress it with `// velar-allow A5: <reason>` where the characters are what you meant, as they are when the string is JavaScript source; under the `f` prefix the code is `A6`, and naming the one that did not fire is a compile error. A raw `r"..."` never raises A5, since asking for literal text is what the prefix says; `rf` still raises A6. |
|
|
113
|
+
| `a // b` floor division (**A1**) | `//` starts a comment, so the rest of the line disappears and `const c = a // b` silently binds `a`. Write `(a / b).floor()`. The advisory reaches only a comment body made of digits and arithmetic — `a // 2` reports, `a // b` does not, because a body carrying letters is an ordinary comment. |
|
|
114
|
+
| `for i, v in nums:` (**A2**) | `for v, i in nums:` — the two-slot `for` gives `value, index`, like JS `forEach((v, i) => …)` and unlike Python's `enumerate`. |
|
|
115
|
+
| `-7 % 3` expecting `2` (**A3**) | Vel's `%` is JavaScript's, so it is `-1`. Python's non-negative modulo is `((a % b) + b) % b`. |
|
|
101
116
|
| `# comment` | `// comment` (`///` documents the following declaration). |
|
|
102
117
|
| `function f(...)`, `fn f(...)` | `def f(...) -> Result:` |
|
|
103
118
|
| `interface X:`, `record X:`, `struct X:` | `type X:` — one keyword for record shapes and aliases. |
|
|
104
119
|
| `items.length` | `items.size` (also on strings, Sets, Maps). |
|
|
105
120
|
| `items.push(x)` | `items.append(x)`. There is no `splice`/`shift`/`unshift`/mutating `sort`; use `insert`, `pop`, `remove`, `extend`, and the copying `sorted()`/`reversed()`. |
|
|
121
|
+
| `{retry: 1, timeoutMs: 30}` where the type declares `timeout` | A record literal written at an annotated position is closed: an undeclared key is reported, and the nearest declared field named when one is near enough — `Type 'Options' has no field 'timeoutMs'; did you mean 'timeout'?`, against a bare `Type 'Options' has no field 'extra'` when no declared name is close. The annotation may sit on the binding, the parameter, the result, or the collection the literal is written into. A value that is not a literal stays structurally open, so passing a record that happens to carry more is unaffected. |
|
|
106
122
|
| `const items = []`, `const tags = Set()` | An empty collection takes its type where it is written: `const items: List<string> = []`. A later `append`/`add`/`set` never types the declaration. A contextual position supplies it too, so `take(Set())` and `return Map()` need no annotation. |
|
|
107
123
|
| `if value:` truthiness | Conditions accept only `bool`/`bool?`. Test presence explicitly: `if value != null:`. |
|
|
108
124
|
| `value is null` | `value == null` / `value != null` — `is` tests runtime types, `null` is a value. |
|
|
@@ -117,6 +133,7 @@ them; the first two are the **silent traps** in the list — read them twice.
|
|
|
117
133
|
| `"""triple-quoted"""` for a block of text | A layout string: a double quote followed immediately by a newline opens it; a quote back at the opening line's indentation closes it. Backtick strings are real, but always single-line. |
|
|
118
134
|
| Escaping `\"` through a JSON, HTML, or selector string | Use backticks: `` `{"name":"Nova"}` `` is the same `string` value, with `"` as ordinary text. Prefixes are orthogonal (`` f` ``, `` r` ``, `` rf` ``), and `velar format` picks the delimiter for you (`"` by default, backticks when the text contains `"`), so write whichever is convenient. |
|
|
119
135
|
| `007`, `.5` | Write `7`, `0.5`. Explicit `0xFF`, `0b1010`, and `0o17` integers are supported; legacy leading-zero octal is not. Group long digits with `_` — `1_000_000`. `Infinity` and `NaN` are not literals: write `1 / 0` and `0 / 0`. |
|
|
136
|
+
| Pasting a wide id or an exact bit pattern as a number literal | An integer literal `number` cannot hold exactly is refused rather than rounded: `9007199254740993` and `0x20000000000001` both report instead of becoming `9007199254740992`. Carry an identifier that wide as a `string`. Only a literal written as an integer is tested — a fraction or exponent spelling keeps the ordinary nearest-value reading. |
|
|
120
137
|
| `a == b == c` | Equality never chains: `a == b and b == c`. Ordered chains work but must point one way — `0 < index <= size` is fine, `a < b > c` is not. An `in` or `is` test inside a comparison needs parentheses. |
|
|
121
138
|
| A line that is only a value — `x == 5`, `items[0]`, `"a note"` | A statement must do something: call, assign, `await`, or `async`. A computed-and-discarded value is a compile error, and a bare string is not a docstring — use `//`. |
|
|
122
139
|
| A block comment that starts or ends beside code on a multi-line span | `/* */` exists and nests — commenting out a region that already holds a comment works — but a multi-line one takes whole lines: only `/*` on its opening line, only `*/` on its closing line. Within a single line it can sit anywhere: `call(/* why */ value)`. |
|
|
@@ -128,12 +145,15 @@ them; the first two are the **silent traps** in the list — read them twice.
|
|
|
128
145
|
| `map[key]` reads | `map.get(key)` returns `T?`. On Lists, `[index]` throws on a bug; `.get(index)` returns `null` when absence is an expected answer. |
|
|
129
146
|
| `[...text]` or `list(text)` for characters | `text.split("")` — the empty separator splits per Unicode code point. |
|
|
130
147
|
| `x !== x` or `Number.isNaN(x)` | Number predicates are members: `x.isNaN()`, `x.isFinite()`, `x.isInteger()`. `NaN == NaN` is `true` — equality is SameValueZero. |
|
|
148
|
+
| `Math.min(a, b)` or `values.sorted()` where a NaN may be present | A NaN may be held and tested, and one policy governs the rest: `Math.min`, `Math.max`, `Math.clamp`, `sorted()`, `sorted(by=)`, `min()`, `max()`, `sum()`, and the ordering a `Comparable`-bounded type parameter performs all raise instead of answering. The bare `<`, `<=`, `>`, and `>=` on a plain `number` are the one exception and keep IEEE behavior, so every comparison against a NaN is `false` and `if a < b:` reports nothing. Drop it first — `values.filter(v => not v.isNaN())`. |
|
|
131
149
|
| `text.trim().size == 0` blank test | `text.isBlank()` — `true` for empty or whitespace-only text. |
|
|
132
150
|
| `while true:` plus a `pop()` null check to drain a List | `pop(index=-1)` returns `T` and throws `IndexError` when empty or out of range, so drain with `while items.size > 0:`. |
|
|
133
151
|
| `1 == "1"`, `user == "a"`, `A.member == B.member`, `raw == Kind.member` | `==`/`!=` require the operand types to intersect. Compare enums with `Kind.parse(raw) == Kind.member` when the text must name a member — `parse` throws otherwise — or `str(Kind.member) == raw` when unknown values must be ignored, as on an open wire protocol. `value == null` on an optional is always fine. |
|
|
134
152
|
| `[1, 2] == [1, 2]` content comparison | Collection `==` is identity; `equals(a, b)` compares data deeply (Lists ordered, Sets/Maps by members, SameValueZero leaves) with no import. |
|
|
135
153
|
| Iterating or spreading an enum object | `Status.values()` returns the members in declaration order as a fresh `List<Status>`. |
|
|
136
154
|
| `sorted()`, `min()`, or `sorted(by=)` over enums | Only `number`, `string`, and single-category unions are ordered. Give the order explicitly with `sorted(by=row => row.rank)` or a string-backed enum (`low = "1-low"`). |
|
|
155
|
+
| Writing through the value you handed to `Type.parse` | `parse` returns a copy, so "validated" means "and it stays valid" rather than "it was correct at that instant": neither side's later writes reach the other. Positions the type leaves opaque — an `unknown` field, a class instance — stay shared. |
|
|
156
|
+
| `export const client = thing`, where `thing` came out of `unsafe js` | This compiles, and what it publishes is an `unknown`: the JavaScript boundary hands back `unknown`, so a consuming module that never writes `unsafe` is stopped at its own first read — `Cannot access 'name' on unknown without validation`. Nothing leaks, but nothing is usable either. Validate into a declared type in this module and export that, so the shape is named once instead of at every consumer. `any` is not a type source can write at any position — the word names the boundary, and the boundary answers `unknown`. |
|
|
137
157
|
|
|
138
158
|
The long tail is deliberately not in this table: the diagnostic will name
|
|
139
159
|
the current spelling when you hit it.
|
|
@@ -471,12 +491,15 @@ the Vel side observes it — no recompute, no re-render, no refreshed flow fact
|
|
|
471
491
|
until some unrelated Vel assignment invalidates. Have the package **return** the
|
|
472
492
|
data and assign the result on the Vel side.
|
|
473
493
|
|
|
474
|
-
2. **
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
`
|
|
478
|
-
|
|
479
|
-
|
|
494
|
+
2. **A boundary with no contract to write** — `import js unsafe` admits the
|
|
495
|
+
value as `unknown`, so it needs no `extern module` block. It skips the
|
|
496
|
+
declaration, not the checking: a member read, a call, an `await`, an
|
|
497
|
+
f-string or `str()`, and an assignment to a typed binding are each refused
|
|
498
|
+
by name while the value is still unvalidated. `print`, `Json.stringify`,
|
|
499
|
+
`== null`, and passing it on as `unknown` are the operations an unvalidated
|
|
500
|
+
boundary value still answers. Validate at the import — `Type.parse` a
|
|
501
|
+
declared shape, or narrow with `value is string` — before the value touches
|
|
502
|
+
typed code.
|
|
480
503
|
3. **A suspected compiler defect blocking you** — run `velar repro` (below),
|
|
481
504
|
then take the final exit: `velar build` output is readable, source-mapped
|
|
482
505
|
JavaScript that runs without the toolchain.
|