@bluelibs/runner-dev 6.1.0 → 6.3.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 +143 -14
- package/dist/cli/generators/initUtils.js +1 -1
- package/dist/cli/generators/initUtils.js.map +1 -1
- package/dist/cli/generators/scaffold/templates/README.md.js +21 -5
- package/dist/cli/generators/scaffold/templates/README.md.js.map +1 -1
- package/dist/cli/generators/scaffold/templates/index.d.ts +2 -3
- package/dist/cli/generators/scaffold/templates/index.js +5 -7
- package/dist/cli/generators/scaffold/templates/index.js.map +1 -1
- package/dist/cli/generators/scaffold/templates/package.json.d.ts +11 -8
- package/dist/cli/generators/scaffold/templates/package.json.js +11 -8
- package/dist/cli/generators/scaffold/templates/package.json.js.map +1 -1
- package/dist/cli/generators/scaffold/templates/src/app.test.ts.d.ts +1 -0
- package/dist/cli/generators/scaffold/templates/src/app.test.ts.js +29 -0
- package/dist/cli/generators/scaffold/templates/src/app.test.ts.js.map +1 -0
- package/dist/cli/generators/scaffold/templates/src/app.ts.d.ts +1 -0
- package/dist/cli/generators/scaffold/templates/src/app.ts.js +15 -0
- package/dist/cli/generators/scaffold/templates/src/app.ts.js.map +1 -0
- package/dist/cli/generators/scaffold/templates/src/main.test.ts.js +3 -1
- package/dist/cli/generators/scaffold/templates/src/main.test.ts.js.map +1 -1
- package/dist/cli/generators/scaffold/templates/src/main.ts.js +3 -10
- package/dist/cli/generators/scaffold/templates/src/main.ts.js.map +1 -1
- package/dist/cli/generators/scaffold/templates/tsconfig.json.d.ts +2 -0
- package/dist/cli/generators/scaffold/templates/tsconfig.json.js +2 -0
- package/dist/cli/generators/scaffold/templates/tsconfig.json.js.map +1 -1
- package/dist/cli/generators/scaffold.js +2 -3
- package/dist/cli/generators/scaffold.js.map +1 -1
- package/dist/cli/init.js +1 -2
- package/dist/cli/init.js.map +1 -1
- package/dist/docs/packageDocs.d.ts +16 -0
- package/dist/docs/packageDocs.js +107 -0
- package/dist/docs/packageDocs.js.map +1 -0
- package/dist/exportDocs.d.ts +10 -0
- package/dist/exportDocs.js +98 -0
- package/dist/exportDocs.js.map +1 -0
- package/dist/generated/resolvers-types.d.ts +127 -42
- package/dist/index.d.ts +5 -2
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/env.d.ts +5 -0
- package/dist/mcp/env.js +30 -1
- package/dist/mcp/env.js.map +1 -1
- package/dist/mcp/help.d.ts +8 -1
- package/dist/mcp/help.js +30 -4
- package/dist/mcp/help.js.map +1 -1
- package/dist/mcp/http.js +10 -0
- package/dist/mcp/http.js.map +1 -1
- package/dist/mcp/projectOverview.js +13 -4
- package/dist/mcp/projectOverview.js.map +1 -1
- package/dist/mcp/snapshot.d.ts +22 -0
- package/dist/mcp/snapshot.js +347 -0
- package/dist/mcp/snapshot.js.map +1 -0
- package/dist/mcp/tools/graphql.mutation.js +4 -1
- package/dist/mcp/tools/graphql.mutation.js.map +1 -1
- package/dist/mcp/tools/graphql.ping.js +1 -1
- package/dist/mcp/tools/graphql.ping.js.map +1 -1
- package/dist/mcp/tools/graphql.query.js +1 -1
- package/dist/mcp/tools/graphql.query.js.map +1 -1
- package/dist/mcp/tools/help.read.js +7 -5
- package/dist/mcp/tools/help.read.js.map +1 -1
- package/dist/mcp/tools/help.runner.js +3 -1
- package/dist/mcp/tools/help.runner.js.map +1 -1
- package/dist/mcp/tools/help.runnerDev.js +4 -4
- package/dist/mcp/tools/help.runnerDev.js.map +1 -1
- package/dist/mcp.js +4 -9
- package/dist/mcp.js.map +1 -1
- package/dist/resources/cli.config.resource.js +1 -1
- package/dist/resources/cli.config.resource.js.map +1 -1
- package/dist/resources/coverage.resource.js +1 -1
- package/dist/resources/coverage.resource.js.map +1 -1
- package/dist/resources/dev.resource.d.ts +1 -1
- package/dist/resources/dev.resource.js +1 -1
- package/dist/resources/dev.resource.js.map +1 -1
- package/dist/resources/docs.generator.resource.js +1 -1
- package/dist/resources/docs.generator.resource.js.map +1 -1
- package/dist/resources/docsPayload.d.ts +33 -0
- package/dist/resources/docsPayload.js +171 -0
- package/dist/resources/docsPayload.js.map +1 -0
- package/dist/resources/docsUiAssets.d.ts +27 -0
- package/dist/resources/docsUiAssets.js +150 -0
- package/dist/resources/docsUiAssets.js.map +1 -0
- package/dist/resources/graphql-accumulator.resource.d.ts +1 -0
- package/dist/resources/graphql-accumulator.resource.js +31 -27
- package/dist/resources/graphql-accumulator.resource.js.map +1 -1
- package/dist/resources/graphql.cli.resource.js +1 -1
- package/dist/resources/graphql.cli.resource.js.map +1 -1
- package/dist/resources/graphql.query.cli.task.d.ts +2 -4
- package/dist/resources/graphql.query.cli.task.js +1 -1
- package/dist/resources/graphql.query.cli.task.js.map +1 -1
- package/dist/resources/graphql.query.task.d.ts +2 -4
- package/dist/resources/graphql.query.task.js +1 -1
- package/dist/resources/graphql.query.task.js.map +1 -1
- package/dist/resources/http.tag.js +1 -1
- package/dist/resources/http.tag.js.map +1 -1
- package/dist/resources/introspector.cli.resource.js +1 -1
- package/dist/resources/introspector.cli.resource.js.map +1 -1
- package/dist/resources/introspector.resource.js +1 -1
- package/dist/resources/introspector.resource.js.map +1 -1
- package/dist/resources/live.resource.js +4 -4
- package/dist/resources/live.resource.js.map +1 -1
- package/dist/resources/models/Introspector.d.ts +16 -4
- package/dist/resources/models/Introspector.js +68 -39
- package/dist/resources/models/Introspector.js.map +1 -1
- package/dist/resources/models/durable.tools.js +3 -1
- package/dist/resources/models/durable.tools.js.map +1 -1
- package/dist/resources/models/initializeFromStore.js +5 -5
- package/dist/resources/models/initializeFromStore.js.map +1 -1
- package/dist/resources/models/initializeFromStore.utils.d.ts +2 -2
- package/dist/resources/models/initializeFromStore.utils.js +424 -78
- package/dist/resources/models/initializeFromStore.utils.js.map +1 -1
- package/dist/resources/models/introspector.tools.js +103 -19
- package/dist/resources/models/introspector.tools.js.map +1 -1
- package/dist/resources/routeHandlers/createDocsServeHandler.js +13 -37
- package/dist/resources/routeHandlers/createDocsServeHandler.js.map +1 -1
- package/dist/resources/routeHandlers/getDocsData.d.ts +1 -6
- package/dist/resources/routeHandlers/getDocsData.js +10 -168
- package/dist/resources/routeHandlers/getDocsData.js.map +1 -1
- package/dist/resources/routeHandlers/registerHttpRoutes.hook.js +1 -1
- package/dist/resources/routeHandlers/registerHttpRoutes.hook.js.map +1 -1
- package/dist/resources/server.resource.js +1 -2
- package/dist/resources/server.resource.js.map +1 -1
- package/dist/resources/swap.cli.resource.js +1 -1
- package/dist/resources/swap.cli.resource.js.map +1 -1
- package/dist/resources/swap.resource.js +1 -1
- package/dist/resources/swap.resource.js.map +1 -1
- package/dist/resources/telemetry.resource.js +27 -6
- package/dist/resources/telemetry.resource.js.map +1 -1
- package/dist/resources/ui.static.js +4 -9
- package/dist/resources/ui.static.js.map +1 -1
- package/dist/runtime/symbolMetadata.d.ts +1 -0
- package/dist/{architect/core/interfaces.js → runtime/symbolMetadata.js} +1 -1
- package/dist/runtime/symbolMetadata.js.map +1 -0
- package/dist/schema/model.d.ts +18 -0
- package/dist/schema/model.js +14 -0
- package/dist/schema/model.js.map +1 -1
- package/dist/schema/query.js +6 -4
- package/dist/schema/query.js.map +1 -1
- package/dist/schema/types/AllType.js +2 -21
- package/dist/schema/types/AllType.js.map +1 -1
- package/dist/schema/types/AsyncContextType.js +21 -17
- package/dist/schema/types/AsyncContextType.js.map +1 -1
- package/dist/schema/types/ErrorType.js +1 -3
- package/dist/schema/types/ErrorType.js.map +1 -1
- package/dist/schema/types/EventType.js +6 -19
- package/dist/schema/types/EventType.js.map +1 -1
- package/dist/schema/types/HookType.js +4 -16
- package/dist/schema/types/HookType.js.map +1 -1
- package/dist/schema/types/ResourceType.js +50 -23
- package/dist/schema/types/ResourceType.js.map +1 -1
- package/dist/schema/types/TaskLikeCommon.js +2 -2
- package/dist/schema/types/TaskLikeCommon.js.map +1 -1
- package/dist/schema/types/TaskType.js +6 -19
- package/dist/schema/types/TaskType.js.map +1 -1
- package/dist/schema/types/middleware/UsageTypes.d.ts +1 -0
- package/dist/schema/types/middleware/UsageTypes.js +16 -5
- package/dist/schema/types/middleware/UsageTypes.js.map +1 -1
- package/dist/schema/types/middleware/common.js +2 -2
- package/dist/schema/types/middleware/common.js.map +1 -1
- package/dist/ui/.vite/manifest.json +2 -2
- package/dist/ui/assets/docs-Beb_xRuE.js +304 -0
- package/dist/ui/assets/docs-Beb_xRuE.js.map +1 -0
- package/dist/ui/assets/docs-lid1amCk.css +1 -0
- package/dist/ui/docs/favicon.ico +0 -0
- package/dist/utils/lane-resources.d.ts +69 -0
- package/dist/utils/lane-resources.js +154 -1
- package/dist/utils/lane-resources.js.map +1 -1
- package/dist/utils/runner-namespace.d.ts +1 -0
- package/dist/utils/runner-namespace.js +9 -0
- package/dist/utils/runner-namespace.js.map +1 -0
- package/dist/utils/schemaFormat.d.ts +6 -0
- package/dist/utils/schemaFormat.js +244 -0
- package/dist/utils/schemaFormat.js.map +1 -0
- package/dist/utils/system-namespace.d.ts +1 -0
- package/dist/utils/system-namespace.js +9 -0
- package/dist/utils/system-namespace.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +29 -11
- package/readmes/API_REFERENCE.md +364 -0
- package/readmes/COMPACT_GUIDE.md +254 -0
- package/skills/core/SKILL.md +27 -0
- package/skills/core/references/readmes/API_REFERENCE.md +364 -0
- package/skills/core/references/readmes/COMPACT_GUIDE.md +254 -0
- package/AI.md +0 -622
- package/dist/app/tasks/create-user.task.d.ts +0 -5
- package/dist/app/tasks/create-user.task.js +0 -20
- package/dist/app/tasks/create-user.task.js.map +0 -1
- package/dist/app/tasks/index.d.ts +0 -1
- package/dist/app/tasks/index.js +0 -18
- package/dist/app/tasks/index.js.map +0 -1
- package/dist/architect/core/errors.d.ts +0 -39
- package/dist/architect/core/errors.js +0 -143
- package/dist/architect/core/errors.js.map +0 -1
- package/dist/architect/core/index.d.ts +0 -3
- package/dist/architect/core/index.js +0 -21
- package/dist/architect/core/index.js.map +0 -1
- package/dist/architect/core/interfaces.d.ts +0 -158
- package/dist/architect/core/interfaces.js.map +0 -1
- package/dist/architect/core/types.d.ts +0 -544
- package/dist/architect/core/types.js +0 -49
- package/dist/architect/core/types.js.map +0 -1
- package/dist/architect/execution/executor.d.ts +0 -23
- package/dist/architect/execution/executor.js +0 -476
- package/dist/architect/execution/executor.js.map +0 -1
- package/dist/architect/execution/index.d.ts +0 -1
- package/dist/architect/execution/index.js +0 -19
- package/dist/architect/execution/index.js.map +0 -1
- package/dist/architect/executor.d.ts +0 -7
- package/dist/architect/executor.js +0 -150
- package/dist/architect/executor.js.map +0 -1
- package/dist/architect/index.d.ts +0 -45
- package/dist/architect/index.js +0 -76
- package/dist/architect/index.js.map +0 -1
- package/dist/architect/llmClient.d.ts +0 -10
- package/dist/architect/llmClient.js +0 -33
- package/dist/architect/llmClient.js.map +0 -1
- package/dist/architect/models/base.d.ts +0 -16
- package/dist/architect/models/base.js +0 -68
- package/dist/architect/models/base.js.map +0 -1
- package/dist/architect/models/factory.d.ts +0 -16
- package/dist/architect/models/factory.js +0 -73
- package/dist/architect/models/factory.js.map +0 -1
- package/dist/architect/models/index.d.ts +0 -3
- package/dist/architect/models/index.js +0 -21
- package/dist/architect/models/index.js.map +0 -1
- package/dist/architect/models/openai.d.ts +0 -7
- package/dist/architect/models/openai.js +0 -71
- package/dist/architect/models/openai.js.map +0 -1
- package/dist/architect/planner.d.ts +0 -9
- package/dist/architect/planner.js +0 -42
- package/dist/architect/planner.js.map +0 -1
- package/dist/architect/planning/index.d.ts +0 -4
- package/dist/architect/planning/index.js +0 -22
- package/dist/architect/planning/index.js.map +0 -1
- package/dist/architect/planning/optimizer.d.ts +0 -14
- package/dist/architect/planning/optimizer.js +0 -275
- package/dist/architect/planning/optimizer.js.map +0 -1
- package/dist/architect/planning/planner.d.ts +0 -15
- package/dist/architect/planning/planner.js +0 -124
- package/dist/architect/planning/planner.js.map +0 -1
- package/dist/architect/planning/prompts.d.ts +0 -6
- package/dist/architect/planning/prompts.js +0 -111
- package/dist/architect/planning/prompts.js.map +0 -1
- package/dist/architect/planning/validator.d.ts +0 -16
- package/dist/architect/planning/validator.js +0 -331
- package/dist/architect/planning/validator.js.map +0 -1
- package/dist/architect/prompt.d.ts +0 -1
- package/dist/architect/prompt.js +0 -13
- package/dist/architect/prompt.js.map +0 -1
- package/dist/architect/types.d.ts +0 -4
- package/dist/architect/types.js +0 -24
- package/dist/architect/types.js.map +0 -1
- package/dist/cli/generators/scaffold/templates/jest.config.cjs.d.ts +0 -1
- package/dist/cli/generators/scaffold/templates/jest.config.cjs.js +0 -24
- package/dist/cli/generators/scaffold/templates/jest.config.cjs.js.map +0 -1
- package/dist/cli/generators/scaffold/templates/tsconfig.jest.json.d.ts +0 -11
- package/dist/cli/generators/scaffold/templates/tsconfig.jest.json.js +0 -17
- package/dist/cli/generators/scaffold/templates/tsconfig.jest.json.js.map +0 -1
- package/dist/client/documentation.d.ts +0 -8
- package/dist/client/documentation.js +0 -144
- package/dist/client/documentation.js.map +0 -1
- package/dist/components/Documentation/Documentation.d.ts +0 -8
- package/dist/components/Documentation/Documentation.js +0 -283
- package/dist/components/Documentation/Documentation.js.map +0 -1
- package/dist/components/Documentation/components/DiagnosticsPanel.d.ts +0 -7
- package/dist/components/Documentation/components/DiagnosticsPanel.js +0 -189
- package/dist/components/Documentation/components/DiagnosticsPanel.js.map +0 -1
- package/dist/components/Documentation/components/EventCard.d.ts +0 -8
- package/dist/components/Documentation/components/EventCard.js +0 -290
- package/dist/components/Documentation/components/EventCard.js.map +0 -1
- package/dist/components/Documentation/components/HookCard.d.ts +0 -8
- package/dist/components/Documentation/components/HookCard.js +0 -282
- package/dist/components/Documentation/components/HookCard.js.map +0 -1
- package/dist/components/Documentation/components/MiddlewareCard.d.ts +0 -8
- package/dist/components/Documentation/components/MiddlewareCard.js +0 -314
- package/dist/components/Documentation/components/MiddlewareCard.js.map +0 -1
- package/dist/components/Documentation/components/ResourceCard.d.ts +0 -8
- package/dist/components/Documentation/components/ResourceCard.js +0 -228
- package/dist/components/Documentation/components/ResourceCard.js.map +0 -1
- package/dist/components/Documentation/components/Sidebar.d.ts +0 -13
- package/dist/components/Documentation/components/Sidebar.js +0 -165
- package/dist/components/Documentation/components/Sidebar.js.map +0 -1
- package/dist/components/Documentation/components/TagCard.d.ts +0 -7
- package/dist/components/Documentation/components/TagCard.js +0 -75
- package/dist/components/Documentation/components/TagCard.js.map +0 -1
- package/dist/components/Documentation/components/TaskCard.d.ts +0 -8
- package/dist/components/Documentation/components/TaskCard.js +0 -196
- package/dist/components/Documentation/components/TaskCard.js.map +0 -1
- package/dist/components/Documentation/index.d.ts +0 -2
- package/dist/components/Documentation/index.js +0 -6
- package/dist/components/Documentation/index.js.map +0 -1
- package/dist/components/Documentation/utils/formatting.d.ts +0 -8
- package/dist/components/Documentation/utils/formatting.js +0 -84
- package/dist/components/Documentation/utils/formatting.js.map +0 -1
- package/dist/components/ExampleComponent.d.ts +0 -10
- package/dist/components/ExampleComponent.js +0 -89
- package/dist/components/ExampleComponent.js.map +0 -1
- package/dist/mcp/z3.d.ts +0 -1
- package/dist/mcp/z3.js +0 -9
- package/dist/mcp/z3.js.map +0 -1
- package/dist/project-writer/AIModel.d.ts +0 -29
- package/dist/project-writer/AIModel.js +0 -48
- package/dist/project-writer/AIModel.js.map +0 -1
- package/dist/resources/docs.route.d.ts +0 -23
- package/dist/resources/docs.route.js +0 -73
- package/dist/resources/docs.route.js.map +0 -1
- package/dist/resources/durable.workflow.tag.d.ts +0 -2
- package/dist/resources/durable.workflow.tag.js +0 -28
- package/dist/resources/durable.workflow.tag.js.map +0 -1
- package/dist/resources/getFileContents.task.d.ts +0 -17
- package/dist/resources/getFileContents.task.js +0 -44
- package/dist/resources/getFileContents.task.js.map +0 -1
- package/dist/resources/introspector.tools.d.ts +0 -47
- package/dist/resources/introspector.tools.js +0 -505
- package/dist/resources/introspector.tools.js.map +0 -1
- package/dist/resources/models/extractTunnelInfo.d.ts +0 -8
- package/dist/resources/models/extractTunnelInfo.js +0 -85
- package/dist/resources/models/extractTunnelInfo.js.map +0 -1
- package/dist/resources/models/tunnel.tools.d.ts +0 -3
- package/dist/resources/models/tunnel.tools.js +0 -35
- package/dist/resources/models/tunnel.tools.js.map +0 -1
- package/dist/runner-compat.d.ts +0 -85
- package/dist/runner-compat.js +0 -178
- package/dist/runner-compat.js.map +0 -1
- package/dist/runner-node-compat.d.ts +0 -2
- package/dist/runner-node-compat.js +0 -28
- package/dist/runner-node-compat.js.map +0 -1
- package/dist/schema/types/TunnelInfoType.d.ts +0 -5
- package/dist/schema/types/TunnelInfoType.js +0 -86
- package/dist/schema/types/TunnelInfoType.js.map +0 -1
- package/dist/tasks/create-user.d.ts +0 -5
- package/dist/tasks/create-user.js +0 -20
- package/dist/tasks/create-user.js.map +0 -1
- package/dist/tasks/index.d.ts +0 -1
- package/dist/tasks/index.js +0 -18
- package/dist/tasks/index.js.map +0 -1
- package/dist/ui/assets/docs-CHvYnckk.js +0 -302
- package/dist/ui/assets/docs-CHvYnckk.js.map +0 -1
- package/dist/ui/assets/docs-CipvKUxZ.css +0 -1
- package/dist/ui-test/index.html +0 -1
- package/readmes/runner-AI.md +0 -740
- package/readmes/runner-durable-workflows.md +0 -2247
- package/readmes/runner-full-guide.md +0 -5869
- package/readmes/runner-remote-lanes.md +0 -909
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bluelibs/runner-dev",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.3.0",
|
|
4
4
|
"description": "BlueLibs Runner DevTools",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -11,34 +11,42 @@
|
|
|
11
11
|
"build": "tsc -p config/ts/tsconfig.json && npm run build:ui",
|
|
12
12
|
"watch": "tsc -p config/ts/tsconfig.json -w",
|
|
13
13
|
"clean": "rm -rf dist",
|
|
14
|
+
"skills:pack:materialize": "node ./scripts/pack-npm-skills.mjs materialize",
|
|
15
|
+
"skills:pack:restore": "node ./scripts/pack-npm-skills.mjs restore",
|
|
14
16
|
"cli": "ts-node --project config/ts/tsconfig.json src/cli.ts",
|
|
17
|
+
"cli:local": "ts-node --project config/ts/tsconfig.json src/cli.ts",
|
|
15
18
|
"start": "node dist/main.js",
|
|
16
|
-
"dev": "
|
|
19
|
+
"dev": "tsx watch --tsconfig config/ts/tsconfig.json src/main.ts",
|
|
17
20
|
"build:ui": "cd src/ui && vite build",
|
|
18
21
|
"dev:ui": "cd src/ui && vite",
|
|
19
22
|
"preview:ui": "cd src/ui && vite preview --port 5173",
|
|
20
23
|
"build:ui:watch": "cd src/ui && vite build --watch --clearScreen=false",
|
|
21
|
-
"play:server": "
|
|
24
|
+
"play:server": "tsx watch --tsconfig config/ts/tsconfig.json src/__tests__/dummy/dummyServer.ts",
|
|
22
25
|
"test": "jest --config config/jest/jest.config.js --verbose --runInBand",
|
|
26
|
+
"test:qa": "node ./scripts/run-jest-summary.mjs",
|
|
23
27
|
"test:dev": "jest --config config/jest/jest.config.js --verbose --watch",
|
|
24
28
|
"coverage": "jest --config config/jest/jest.config.js --verbose --coverage",
|
|
25
29
|
"test:clean": "jest --config config/jest/jest.config.js --clearCache",
|
|
26
30
|
"testonly": "npm test",
|
|
27
31
|
"test:ci": "npm run build && npm run test",
|
|
32
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
28
33
|
"prepublishOnly": "node scripts/check-runner-dependency.mjs && npm run build",
|
|
29
34
|
"typedoc": "typedoc --options config/typedoc/typedoc.json",
|
|
30
35
|
"lint": "eslint src --config config/eslint/eslint.config.mjs",
|
|
31
36
|
"lint:fix": "eslint src --config config/eslint/eslint.config.mjs --fix",
|
|
32
|
-
"qa": "npm run lint:fix && npm run build && npm run test && npm run typedoc",
|
|
37
|
+
"qa": "npm run lint:fix && npm run typecheck && npm run build && npm run test:qa && npm run typedoc",
|
|
33
38
|
"coverage:ai": "jest --config config/jest/jest.config.js --coverage --coverageReporters=text-summary",
|
|
34
39
|
"codegen": "graphql-codegen --config config/codegen.ts",
|
|
35
40
|
"prebuild": "ts-node --project config/ts/tsconfig.json scripts/sync-version.ts && npm run codegen",
|
|
36
41
|
"play": "concurrently -k -n UI,SRV -c blue,green \"npm:build:ui:watch\" \"npm:play:server\"",
|
|
37
42
|
"play:cli": "npm run play:server",
|
|
43
|
+
"play:export": "ts-node --project config/ts/tsconfig.json src/__tests__/dummy/exportPlayCatalog.ts",
|
|
38
44
|
"demo:ping": "ENDPOINT=http://localhost:31337/graphql node dist/cli.js ping",
|
|
39
45
|
"demo:query": "ENDPOINT=http://localhost:31337/graphql node dist/cli.js query 'query { tasks { id } }' --format pretty",
|
|
40
46
|
"demo:overview": "ENDPOINT=http://localhost:31337/graphql node dist/cli.js overview --details 5",
|
|
41
|
-
"
|
|
47
|
+
"postinstall": "npm-skills extract --skip-production --override",
|
|
48
|
+
"prepack": "npm run build && npm run skills:pack:materialize",
|
|
49
|
+
"postpack": "npm run skills:pack:restore"
|
|
42
50
|
},
|
|
43
51
|
"bin": {
|
|
44
52
|
"runner-dev": "dist/cli.js"
|
|
@@ -57,7 +65,7 @@
|
|
|
57
65
|
"@types/benchmark": "^2.1.5",
|
|
58
66
|
"@types/express": "^5.0.3",
|
|
59
67
|
"@types/graphql": "^0.11.3",
|
|
60
|
-
"@types/jest": "^
|
|
68
|
+
"@types/jest": "^30.0.0",
|
|
61
69
|
"@types/marked": "^5.0.2",
|
|
62
70
|
"@types/node": "^20.0.0",
|
|
63
71
|
"@types/react": "^18.3.11",
|
|
@@ -75,7 +83,7 @@
|
|
|
75
83
|
"eslint-plugin-jest": "^29.12.2",
|
|
76
84
|
"eslint-plugin-prettier": "3.1.1",
|
|
77
85
|
"globals": "^15.15.0",
|
|
78
|
-
"jest": "^
|
|
86
|
+
"jest": "^30.2.0",
|
|
79
87
|
"jest-environment-jsdom": "^30.2.0",
|
|
80
88
|
"jest-junit": "^10.0.0",
|
|
81
89
|
"marked": "^16.2.1",
|
|
@@ -86,9 +94,9 @@
|
|
|
86
94
|
"reflect-metadata": "^0.2.2",
|
|
87
95
|
"sass-embedded": "^1.90.0",
|
|
88
96
|
"supertest": "^7.1.4",
|
|
89
|
-
"ts-jest": "^29.
|
|
97
|
+
"ts-jest": "^29.4.6",
|
|
90
98
|
"ts-node": "^10.9.2",
|
|
91
|
-
"
|
|
99
|
+
"tsx": "^4.20.5",
|
|
92
100
|
"typedoc": "^0.26.7",
|
|
93
101
|
"typedoc-material-theme": "^1.1.0",
|
|
94
102
|
"typescript": "^5.6.2",
|
|
@@ -104,7 +112,6 @@
|
|
|
104
112
|
"@adobe/jsonschema2md": "^8.0.5",
|
|
105
113
|
"@apollo/server": "^5.0.0",
|
|
106
114
|
"@as-integrations/express5": "^1.1.2",
|
|
107
|
-
"@bluelibs/runner": "^6.1.0",
|
|
108
115
|
"@bluelibs/smart": "^2.2.1",
|
|
109
116
|
"@modelcontextprotocol/sdk": "^1.17.2",
|
|
110
117
|
"@types/prismjs": "^1.26.5",
|
|
@@ -116,7 +123,8 @@
|
|
|
116
123
|
"react": "18.3.1",
|
|
117
124
|
"react-dom": "18.3.1",
|
|
118
125
|
"zod": "3.25.76",
|
|
119
|
-
"zod-to-json-schema": "^3.24.6"
|
|
126
|
+
"zod-to-json-schema": "^3.24.6",
|
|
127
|
+
"npm-skills": "^0.4.0"
|
|
120
128
|
},
|
|
121
129
|
"overrides": {
|
|
122
130
|
"react": "18.3.1",
|
|
@@ -126,6 +134,13 @@
|
|
|
126
134
|
"react-dom": "18.3.1"
|
|
127
135
|
}
|
|
128
136
|
},
|
|
137
|
+
"npmSkills": {
|
|
138
|
+
"consume": {
|
|
139
|
+
"only": [
|
|
140
|
+
"@bluelibs/runner"
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
},
|
|
129
144
|
"prettier": {
|
|
130
145
|
"trailingComma": "es5",
|
|
131
146
|
"tabWidth": 2,
|
|
@@ -141,5 +156,8 @@
|
|
|
141
156
|
}
|
|
142
157
|
}
|
|
143
158
|
]
|
|
159
|
+
},
|
|
160
|
+
"peerDependencies": {
|
|
161
|
+
"@bluelibs/runner": "^6.3.3"
|
|
144
162
|
}
|
|
145
163
|
}
|
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
# GraphQL API Reference
|
|
2
|
+
|
|
3
|
+
This document tracks the current `@bluelibs/runner-dev` GraphQL surface.
|
|
4
|
+
It has been refreshed for the current SDL and focuses on the entry points people actually reach for first: root queries, mutations, live telemetry, and the higher-signal topology types.
|
|
5
|
+
|
|
6
|
+
If you need the complete schema SDL instead of the guided summary below, print it directly from the current build:
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
# Against a running app
|
|
10
|
+
runner-dev schema sdl --endpoint http://localhost:1337/graphql
|
|
11
|
+
|
|
12
|
+
# Or in dry-run mode from a local entry file
|
|
13
|
+
runner-dev schema sdl --entry-file src/main.ts
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Highlights
|
|
17
|
+
|
|
18
|
+
- Introspection spans tasks, hooks, resources, events, tags, errors, async contexts, middleware, run options, and interceptor ownership.
|
|
19
|
+
- Resource docs now include `isolation`, `subtree`, cooldown/ready/health flags, and resolved registrations.
|
|
20
|
+
- Task docs include durable workflow metadata, `flowShape`, RPC lane summary, and runtime interceptor ownership.
|
|
21
|
+
- Live telemetry includes logs, event emissions, errors, runs, process stats, and per-resource health reports.
|
|
22
|
+
- Mutations cover task swapping, unswapping, task/event invocation, file editing, and guarded eval.
|
|
23
|
+
|
|
24
|
+
## Query Root
|
|
25
|
+
|
|
26
|
+
The current `Query` type exposes:
|
|
27
|
+
|
|
28
|
+
- `root: Resource`
|
|
29
|
+
- `runOptions: RunOptions!`
|
|
30
|
+
- `interceptorOwners: InterceptorOwnersSnapshot!`
|
|
31
|
+
- `all(idIncludes: ID): [BaseElement!]!`
|
|
32
|
+
- `tags: [Tag!]!`
|
|
33
|
+
- `tag(id: ID!): Tag`
|
|
34
|
+
- `task(id: ID!): Task`
|
|
35
|
+
- `tasks(idIncludes: ID): [Task!]!`
|
|
36
|
+
- `hook(id: ID!): Hook`
|
|
37
|
+
- `hooks(idIncludes: ID): [Hook!]!`
|
|
38
|
+
- `resource(id: ID!): Resource`
|
|
39
|
+
- `resources(idIncludes: ID): [Resource!]!`
|
|
40
|
+
- `event(id: ID!): Event`
|
|
41
|
+
- `events(filter: EventFilterInput): [Event!]!`
|
|
42
|
+
- `middleware(id: ID!): Middleware`
|
|
43
|
+
- `middlewares(idIncludes: ID): [Middleware!]!`
|
|
44
|
+
- `taskMiddlewares(idIncludes: ID): [TaskMiddleware!]!`
|
|
45
|
+
- `resourceMiddlewares(idIncludes: ID): [ResourceMiddleware!]!`
|
|
46
|
+
- `error(id: ID!): Error`
|
|
47
|
+
- `errors(idIncludes: ID): [Error!]!`
|
|
48
|
+
- `asyncContext(id: ID!): AsyncContext`
|
|
49
|
+
- `asyncContexts(idIncludes: ID): [AsyncContext!]!`
|
|
50
|
+
- `live: Live!`
|
|
51
|
+
- `diagnostics: [Diagnostic!]!`
|
|
52
|
+
- `swappedTasks: [SwappedTask!]!`
|
|
53
|
+
|
|
54
|
+
### Common Query Filters
|
|
55
|
+
|
|
56
|
+
- `EventFilterInput`
|
|
57
|
+
- `hasNoHooks: Boolean`
|
|
58
|
+
- `hideSystem: Boolean`
|
|
59
|
+
- `idIncludes: String`
|
|
60
|
+
- `RunFilterInput`
|
|
61
|
+
- `nodeKinds`, `nodeIds`, `ok`, `parentIds`, `rootIds`, `correlationIds`
|
|
62
|
+
- `LogFilterInput`
|
|
63
|
+
- `levels`, `messageIncludes`, `correlationIds`
|
|
64
|
+
- `EmissionFilterInput`
|
|
65
|
+
- `eventIds`, `emitterIds`, `correlationIds`
|
|
66
|
+
- `ErrorFilterInput`
|
|
67
|
+
- `sourceKinds`, `sourceIds`, `messageIncludes`, `correlationIds`
|
|
68
|
+
|
|
69
|
+
## Mutation Root
|
|
70
|
+
|
|
71
|
+
The current `Mutation` type exposes:
|
|
72
|
+
|
|
73
|
+
- `swapTask(taskId: ID!, runCode: String!): SwapResult!`
|
|
74
|
+
- `unswapTask(taskId: ID!): SwapResult!`
|
|
75
|
+
- `unswapAllTasks: [SwapResult!]!`
|
|
76
|
+
- `invokeTask(taskId: ID!, inputJson: String, pure: Boolean = false, evalInput: Boolean = false): InvokeResult!`
|
|
77
|
+
- `invokeEvent(eventId: ID!, inputJson: String, evalInput: Boolean = false): InvokeEventResult!`
|
|
78
|
+
- `editFile(path: String!, content: String!): EditFileResult!`
|
|
79
|
+
- `eval(code: String!): EvalResult!`
|
|
80
|
+
|
|
81
|
+
### Mutation Notes
|
|
82
|
+
|
|
83
|
+
- `swapTask` replaces a task's `run()` implementation at runtime.
|
|
84
|
+
- `invokeTask` supports `pure: true` to bypass middleware.
|
|
85
|
+
- `editFile` accepts structured paths such as `workspace:src/index.ts`.
|
|
86
|
+
- `eval` is guarded and disabled in production unless `RUNNER_DEV_EVAL=1`.
|
|
87
|
+
|
|
88
|
+
## Core Types
|
|
89
|
+
|
|
90
|
+
### BaseElement
|
|
91
|
+
|
|
92
|
+
Shared across tasks, hooks, resources, middleware, events, tags, errors, and async contexts:
|
|
93
|
+
|
|
94
|
+
- `id`
|
|
95
|
+
- `meta`
|
|
96
|
+
- `filePath`
|
|
97
|
+
- `fileContents(startLine, endLine)`
|
|
98
|
+
- `markdownDescription`
|
|
99
|
+
- `isPrivate`
|
|
100
|
+
- `visibilityReason`
|
|
101
|
+
- `tags`
|
|
102
|
+
- `tagsDetailed`
|
|
103
|
+
|
|
104
|
+
Many concrete element types also expose:
|
|
105
|
+
|
|
106
|
+
- `coverage`
|
|
107
|
+
- `coverageContents`
|
|
108
|
+
- `registeredBy`
|
|
109
|
+
- resolved variants such as `registeredByResolved`
|
|
110
|
+
|
|
111
|
+
### Task
|
|
112
|
+
|
|
113
|
+
Key fields:
|
|
114
|
+
|
|
115
|
+
- `dependsOn`, `dependsOnResolved`
|
|
116
|
+
- `middleware`, `middlewareResolved`, `middlewareResolvedDetailed`
|
|
117
|
+
- `emits`, `emitsResolved`
|
|
118
|
+
- `inputSchema`, `inputSchemaReadable`
|
|
119
|
+
- `rpcLane`
|
|
120
|
+
- `interceptorCount`, `hasInterceptors`, `interceptorOwnerIds`
|
|
121
|
+
- `runs(afterTimestamp, last, filter)`
|
|
122
|
+
- `isDurable`, `durableResource`, `flowShape`
|
|
123
|
+
- `overriddenBy`, `registeredBy`
|
|
124
|
+
|
|
125
|
+
The middleware usage objects now include subtree provenance details:
|
|
126
|
+
|
|
127
|
+
- `TaskMiddlewareUsage.id`
|
|
128
|
+
- `TaskMiddlewareUsage.config`
|
|
129
|
+
- `TaskMiddlewareUsage.origin`
|
|
130
|
+
- `TaskMiddlewareUsage.subtreeOwnerId`
|
|
131
|
+
- `TaskMiddlewareUsage.node`
|
|
132
|
+
|
|
133
|
+
### Hook
|
|
134
|
+
|
|
135
|
+
Key fields:
|
|
136
|
+
|
|
137
|
+
- `events`
|
|
138
|
+
- `event` (deprecated singular form)
|
|
139
|
+
- `hookOrder`
|
|
140
|
+
- `dependsOn`, `depenendsOnResolved`
|
|
141
|
+
- `middleware`, `middlewareResolvedDetailed`
|
|
142
|
+
- `runs(...)`
|
|
143
|
+
|
|
144
|
+
### Resource
|
|
145
|
+
|
|
146
|
+
Key fields:
|
|
147
|
+
|
|
148
|
+
- `dependsOn`, `dependsOnResolved`
|
|
149
|
+
- `config`, `configSchema`, `configSchemaReadable`
|
|
150
|
+
- `context`
|
|
151
|
+
- `middleware`, `middlewareResolvedDetailed`
|
|
152
|
+
- `overrides`, `overridesResolved`
|
|
153
|
+
- `registers`, `registersResolved`
|
|
154
|
+
- `usedBy`
|
|
155
|
+
- `emits`
|
|
156
|
+
- `registeredBy`, `registeredByResolved`
|
|
157
|
+
- `hasCooldown`, `hasReady`, `hasHealthCheck`
|
|
158
|
+
- `isolation`
|
|
159
|
+
- `subtree`
|
|
160
|
+
|
|
161
|
+
Important nested resource types:
|
|
162
|
+
|
|
163
|
+
- `ResourceIsolation`
|
|
164
|
+
- `deny`
|
|
165
|
+
- `only`
|
|
166
|
+
- `whitelist`
|
|
167
|
+
- `exports`
|
|
168
|
+
- `exportsMode`
|
|
169
|
+
- `ResourceSubtreePolicy`
|
|
170
|
+
- `tasks`
|
|
171
|
+
- `middleware`
|
|
172
|
+
- `resources`
|
|
173
|
+
- `hooks`
|
|
174
|
+
- `taskMiddleware`
|
|
175
|
+
- `resourceMiddleware`
|
|
176
|
+
- `events`
|
|
177
|
+
- `tags`
|
|
178
|
+
|
|
179
|
+
Subtree policy now covers identity-aware summaries too:
|
|
180
|
+
|
|
181
|
+
- `ResourceSubtreeTaskBranch.identity`
|
|
182
|
+
- `ResourceSubtreeMiddlewareScope.identityScope`
|
|
183
|
+
|
|
184
|
+
### Middleware
|
|
185
|
+
|
|
186
|
+
The generic `Middleware` type exposes the combined view used by the introspector:
|
|
187
|
+
|
|
188
|
+
- `autoApply`
|
|
189
|
+
- `emits`
|
|
190
|
+
- `configSchema`, `configSchemaReadable`
|
|
191
|
+
- `usedByTasks`, `usedByTasksResolved`, `usedByTasksDetailed`
|
|
192
|
+
- `usedByResources`, `usedByResourcesResolved`, `usedByResourcesDetailed`
|
|
193
|
+
|
|
194
|
+
Specialized views:
|
|
195
|
+
|
|
196
|
+
- `TaskMiddleware.usedBy`
|
|
197
|
+
- `TaskMiddleware.usedByDetailed`
|
|
198
|
+
- `ResourceMiddleware.usedBy`
|
|
199
|
+
- `ResourceMiddleware.usedByDetailed`
|
|
200
|
+
|
|
201
|
+
### Event
|
|
202
|
+
|
|
203
|
+
Key fields:
|
|
204
|
+
|
|
205
|
+
- `payloadSchema`, `payloadSchemaReadable`
|
|
206
|
+
- `transactional`
|
|
207
|
+
- `parallel`
|
|
208
|
+
- `eventLane`
|
|
209
|
+
- `rpcLane`
|
|
210
|
+
- `emittedBy`, `emittedByResolved`
|
|
211
|
+
- `listenedToBy`, `listenedToByResolved`
|
|
212
|
+
- `registeredBy`, `registeredByResolved`
|
|
213
|
+
|
|
214
|
+
### Tag
|
|
215
|
+
|
|
216
|
+
Tags now fan out across the full model:
|
|
217
|
+
|
|
218
|
+
- `configSchema`
|
|
219
|
+
- `config`
|
|
220
|
+
- `targets`
|
|
221
|
+
- `tasks`
|
|
222
|
+
- `hooks`
|
|
223
|
+
- `resources`
|
|
224
|
+
- `taskMiddlewares`
|
|
225
|
+
- `resourceMiddlewares`
|
|
226
|
+
- `events`
|
|
227
|
+
- `errors`
|
|
228
|
+
- `all`
|
|
229
|
+
|
|
230
|
+
### Error
|
|
231
|
+
|
|
232
|
+
Key fields:
|
|
233
|
+
|
|
234
|
+
- `dataSchema`
|
|
235
|
+
- `thrownBy`
|
|
236
|
+
|
|
237
|
+
### AsyncContext
|
|
238
|
+
|
|
239
|
+
Key fields:
|
|
240
|
+
|
|
241
|
+
- `serialize`
|
|
242
|
+
- `parse`
|
|
243
|
+
- `usedBy`
|
|
244
|
+
- `requiredBy`
|
|
245
|
+
- `providedBy`
|
|
246
|
+
|
|
247
|
+
### RunOptions
|
|
248
|
+
|
|
249
|
+
Runner-dev now exposes effective startup/runtime settings through `runOptions`:
|
|
250
|
+
|
|
251
|
+
- `mode`
|
|
252
|
+
- `debug`, `debugMode`
|
|
253
|
+
- `logsEnabled`, `logsPrintThreshold`, `logsPrintStrategy`, `logsBuffer`
|
|
254
|
+
- `errorBoundary`
|
|
255
|
+
- `shutdownHooks`
|
|
256
|
+
- `dryRun`
|
|
257
|
+
- `lazy`
|
|
258
|
+
- `lifecycleMode`
|
|
259
|
+
- `dispose`
|
|
260
|
+
- `executionContext`
|
|
261
|
+
- `hasOnUnhandledError`
|
|
262
|
+
- `rootId`
|
|
263
|
+
|
|
264
|
+
Nested types:
|
|
265
|
+
|
|
266
|
+
- `RunDisposeOptions`
|
|
267
|
+
- `totalBudgetMs`
|
|
268
|
+
- `drainingBudgetMs`
|
|
269
|
+
- `cooldownWindowMs`
|
|
270
|
+
- `RunExecutionContextOptions`
|
|
271
|
+
- `enabled`
|
|
272
|
+
- `cycleDetection`
|
|
273
|
+
|
|
274
|
+
### InterceptorOwnersSnapshot
|
|
275
|
+
|
|
276
|
+
Useful when debugging `taskDependency.intercept(...)` and middleware interceptors:
|
|
277
|
+
|
|
278
|
+
- `tasksById`
|
|
279
|
+
- `middleware.globalTaskInterceptorOwnerIds`
|
|
280
|
+
- `middleware.globalResourceInterceptorOwnerIds`
|
|
281
|
+
- `middleware.perTaskMiddlewareInterceptorOwnerIds`
|
|
282
|
+
- `middleware.perResourceMiddlewareInterceptorOwnerIds`
|
|
283
|
+
|
|
284
|
+
## Live Telemetry
|
|
285
|
+
|
|
286
|
+
`live: Live!` exposes:
|
|
287
|
+
|
|
288
|
+
- `memory: MemoryStats!`
|
|
289
|
+
- `cpu: CpuStats!`
|
|
290
|
+
- `eventLoop(reset: Boolean): EventLoopStats!`
|
|
291
|
+
- `gc(windowMs: Float): GcStats!`
|
|
292
|
+
- `logs(afterTimestamp, last, filter): [LogEntry!]!`
|
|
293
|
+
- `emissions(afterTimestamp, last, filter): [EmissionEntry!]!`
|
|
294
|
+
- `errors(afterTimestamp, last, filter): [ErrorEntry!]!`
|
|
295
|
+
- `runs(afterTimestamp, last, filter): [RunRecord!]!`
|
|
296
|
+
- `healthReport: ResourceHealthReport`
|
|
297
|
+
|
|
298
|
+
Supporting types include:
|
|
299
|
+
|
|
300
|
+
- `LogEntry`
|
|
301
|
+
- `EmissionEntry`
|
|
302
|
+
- `ErrorEntry`
|
|
303
|
+
- `RunRecord`
|
|
304
|
+
- `ResourceHealthReport`
|
|
305
|
+
- `ResourceHealthTotals`
|
|
306
|
+
- `ResourceHealthEntry`
|
|
307
|
+
|
|
308
|
+
## Durable Workflow Types
|
|
309
|
+
|
|
310
|
+
Durable tasks now surface extracted structure without execution:
|
|
311
|
+
|
|
312
|
+
- `DurableFlowShape.nodes`
|
|
313
|
+
- `FlowStepNode`
|
|
314
|
+
- `FlowSleepNode`
|
|
315
|
+
- `FlowSignalNode`
|
|
316
|
+
- `FlowEmitNode`
|
|
317
|
+
- `FlowSwitchNode`
|
|
318
|
+
- `FlowNoteNode`
|
|
319
|
+
|
|
320
|
+
## Diagnostics And Swap Types
|
|
321
|
+
|
|
322
|
+
- `Diagnostic`
|
|
323
|
+
- `severity`
|
|
324
|
+
- `code`
|
|
325
|
+
- `message`
|
|
326
|
+
- `nodeId`
|
|
327
|
+
- `nodeKind`
|
|
328
|
+
- `SwapResult`
|
|
329
|
+
- `SwappedTask`
|
|
330
|
+
- `InvokeResult`
|
|
331
|
+
- `InvokeEventResult`
|
|
332
|
+
- `EvalResult`
|
|
333
|
+
- `EditFileResult`
|
|
334
|
+
|
|
335
|
+
## Enums Worth Knowing
|
|
336
|
+
|
|
337
|
+
- `LogLevelEnum`
|
|
338
|
+
- `trace`, `debug`, `info`, `warn`, `error`, `fatal`, `log`
|
|
339
|
+
- `SourceKindEnum`
|
|
340
|
+
- `TASK`, `HOOK`, `RESOURCE`, `MIDDLEWARE`, `INTERNAL`
|
|
341
|
+
- `NodeKindEnum`
|
|
342
|
+
- `TASK`, `HOOK`
|
|
343
|
+
- `MiddlewareApplyScope`
|
|
344
|
+
- `WHERE_VISIBLE`, `SUBTREE`
|
|
345
|
+
- `IsolationExportsMode`
|
|
346
|
+
- `UNSET`, `NONE`, `LIST`
|
|
347
|
+
- `TagTarget`
|
|
348
|
+
- `TASKS`, `RESOURCES`, `EVENTS`, `HOOKS`, `TASK_MIDDLEWARES`, `RESOURCE_MIDDLEWARES`, `ERRORS`
|
|
349
|
+
- `ResourceHealthStatus`
|
|
350
|
+
- `healthy`, `degraded`, `unhealthy`
|
|
351
|
+
|
|
352
|
+
## SDL Regeneration
|
|
353
|
+
|
|
354
|
+
When this file drifts, regenerate your view from the actual schema rather than hand-guessing:
|
|
355
|
+
|
|
356
|
+
```bash
|
|
357
|
+
runner-dev schema sdl --endpoint http://localhost:1337/graphql
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
Or from the repo without a running server:
|
|
361
|
+
|
|
362
|
+
```bash
|
|
363
|
+
runner-dev schema sdl --entry-file src/main.ts
|
|
364
|
+
```
|