@bluelibs/runner-dev 5.3.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/AI.md +25 -3
  2. package/README.md +190 -55
  3. package/dist/cli/generators/artifact.js +2 -14
  4. package/dist/cli/generators/artifact.js.map +1 -1
  5. package/dist/cli/generators/common.d.ts +1 -0
  6. package/dist/cli/generators/common.js +22 -0
  7. package/dist/cli/generators/common.js.map +1 -1
  8. package/dist/cli/generators/printNewHelp.js +2 -2
  9. package/dist/cli/generators/printNewHelp.js.map +1 -1
  10. package/dist/cli/generators/scaffold/templates/package.json.d.ts +2 -2
  11. package/dist/cli/generators/scaffold/templates/package.json.js +2 -2
  12. package/dist/cli/generators/scaffold/templates/src/main.ts.js +7 -9
  13. package/dist/cli/generators/scaffold/templates/src/main.ts.js.map +1 -1
  14. package/dist/cli/generators/scaffold.js +1 -135
  15. package/dist/cli/generators/scaffold.js.map +1 -1
  16. package/dist/cli/generators/templates.js +64 -63
  17. package/dist/cli/generators/templates.js.map +1 -1
  18. package/dist/generated/resolvers-types.d.ts +376 -144
  19. package/dist/index.d.ts +39 -43
  20. package/dist/resources/cli.config.resource.d.ts +1 -1
  21. package/dist/resources/cli.config.resource.js +2 -2
  22. package/dist/resources/cli.config.resource.js.map +1 -1
  23. package/dist/resources/coverage.resource.d.ts +2 -2
  24. package/dist/resources/coverage.resource.js +3 -3
  25. package/dist/resources/coverage.resource.js.map +1 -1
  26. package/dist/resources/dev.resource.d.ts +1 -1
  27. package/dist/resources/dev.resource.js +2 -2
  28. package/dist/resources/dev.resource.js.map +1 -1
  29. package/dist/resources/docs.generator.resource.d.ts +4 -4
  30. package/dist/resources/docs.generator.resource.js +2 -2
  31. package/dist/resources/docs.generator.resource.js.map +1 -1
  32. package/dist/resources/graphql-accumulator.resource.d.ts +2 -2
  33. package/dist/resources/graphql-accumulator.resource.js +6 -3
  34. package/dist/resources/graphql-accumulator.resource.js.map +1 -1
  35. package/dist/resources/graphql.cli.resource.d.ts +1 -1
  36. package/dist/resources/graphql.cli.resource.js +2 -2
  37. package/dist/resources/graphql.cli.resource.js.map +1 -1
  38. package/dist/resources/graphql.query.cli.task.d.ts +14 -16
  39. package/dist/resources/graphql.query.cli.task.js +3 -3
  40. package/dist/resources/graphql.query.cli.task.js.map +1 -1
  41. package/dist/resources/graphql.query.task.d.ts +18 -20
  42. package/dist/resources/graphql.query.task.js +4 -4
  43. package/dist/resources/graphql.query.task.js.map +1 -1
  44. package/dist/resources/http.tag.d.ts +1 -1
  45. package/dist/resources/http.tag.js +2 -2
  46. package/dist/resources/http.tag.js.map +1 -1
  47. package/dist/resources/introspector.cli.resource.d.ts +2 -2
  48. package/dist/resources/introspector.cli.resource.js +14 -6
  49. package/dist/resources/introspector.cli.resource.js.map +1 -1
  50. package/dist/resources/introspector.resource.d.ts +3 -3
  51. package/dist/resources/introspector.resource.js +4 -5
  52. package/dist/resources/introspector.resource.js.map +1 -1
  53. package/dist/resources/live.resource.d.ts +4 -6
  54. package/dist/resources/live.resource.js +38 -25
  55. package/dist/resources/live.resource.js.map +1 -1
  56. package/dist/resources/models/Introspector.d.ts +28 -14
  57. package/dist/resources/models/Introspector.js +334 -161
  58. package/dist/resources/models/Introspector.js.map +1 -1
  59. package/dist/resources/models/durable.runtime.js +36 -10
  60. package/dist/resources/models/durable.runtime.js.map +1 -1
  61. package/dist/resources/models/durable.tools.d.ts +1 -1
  62. package/dist/resources/models/durable.tools.js +6 -3
  63. package/dist/resources/models/durable.tools.js.map +1 -1
  64. package/dist/resources/models/initializeFromStore.js +54 -21
  65. package/dist/resources/models/initializeFromStore.js.map +1 -1
  66. package/dist/resources/models/initializeFromStore.utils.d.ts +7 -6
  67. package/dist/resources/models/initializeFromStore.utils.js +302 -25
  68. package/dist/resources/models/initializeFromStore.utils.js.map +1 -1
  69. package/dist/resources/models/introspector.tools.js +18 -6
  70. package/dist/resources/models/introspector.tools.js.map +1 -1
  71. package/dist/resources/routeHandlers/getDocsData.d.ts +4 -0
  72. package/dist/resources/routeHandlers/getDocsData.js +28 -0
  73. package/dist/resources/routeHandlers/getDocsData.js.map +1 -1
  74. package/dist/resources/routeHandlers/registerHttpRoutes.hook.d.ts +26 -25
  75. package/dist/resources/routeHandlers/registerHttpRoutes.hook.js +10 -9
  76. package/dist/resources/routeHandlers/registerHttpRoutes.hook.js.map +1 -1
  77. package/dist/resources/server.resource.d.ts +20 -22
  78. package/dist/resources/server.resource.js +6 -6
  79. package/dist/resources/server.resource.js.map +1 -1
  80. package/dist/resources/swap.cli.resource.d.ts +4 -4
  81. package/dist/resources/swap.cli.resource.js +2 -2
  82. package/dist/resources/swap.cli.resource.js.map +1 -1
  83. package/dist/resources/swap.resource.d.ts +7 -7
  84. package/dist/resources/swap.resource.js +188 -38
  85. package/dist/resources/swap.resource.js.map +1 -1
  86. package/dist/resources/swap.tools.d.ts +3 -2
  87. package/dist/resources/swap.tools.js +27 -27
  88. package/dist/resources/swap.tools.js.map +1 -1
  89. package/dist/resources/telemetry.resource.d.ts +1 -1
  90. package/dist/resources/telemetry.resource.js +46 -43
  91. package/dist/resources/telemetry.resource.js.map +1 -1
  92. package/dist/runner-compat.d.ts +85 -0
  93. package/dist/runner-compat.js +178 -0
  94. package/dist/runner-compat.js.map +1 -0
  95. package/dist/runner-node-compat.d.ts +2 -0
  96. package/dist/runner-node-compat.js +28 -0
  97. package/dist/runner-node-compat.js.map +1 -0
  98. package/dist/schema/index.js +4 -8
  99. package/dist/schema/index.js.map +1 -1
  100. package/dist/schema/model.d.ts +80 -23
  101. package/dist/schema/model.js.map +1 -1
  102. package/dist/schema/query.js +2 -1
  103. package/dist/schema/query.js.map +1 -1
  104. package/dist/schema/types/AllType.js +6 -3
  105. package/dist/schema/types/AllType.js.map +1 -1
  106. package/dist/schema/types/BaseElementCommon.js +2 -2
  107. package/dist/schema/types/ErrorType.js +1 -1
  108. package/dist/schema/types/ErrorType.js.map +1 -1
  109. package/dist/schema/types/EventType.js +19 -2
  110. package/dist/schema/types/EventType.js.map +1 -1
  111. package/dist/schema/types/LaneSummaryTypes.d.ts +3 -0
  112. package/dist/schema/types/LaneSummaryTypes.js +19 -0
  113. package/dist/schema/types/LaneSummaryTypes.js.map +1 -0
  114. package/dist/schema/types/LiveType.js +67 -0
  115. package/dist/schema/types/LiveType.js.map +1 -1
  116. package/dist/schema/types/ResourceType.js +100 -19
  117. package/dist/schema/types/ResourceType.js.map +1 -1
  118. package/dist/schema/types/RunOptionsType.js +41 -5
  119. package/dist/schema/types/RunOptionsType.js.map +1 -1
  120. package/dist/schema/types/TagType.js +35 -4
  121. package/dist/schema/types/TagType.js.map +1 -1
  122. package/dist/schema/types/TaskType.js +5 -0
  123. package/dist/schema/types/TaskType.js.map +1 -1
  124. package/dist/schema/types/index.d.ts +2 -2
  125. package/dist/schema/types/index.js +6 -7
  126. package/dist/schema/types/index.js.map +1 -1
  127. package/dist/schema/types/middleware/common.d.ts +3 -2
  128. package/dist/schema/types/middleware/common.js +19 -13
  129. package/dist/schema/types/middleware/common.js.map +1 -1
  130. package/dist/ui/.vite/manifest.json +2 -2
  131. package/dist/ui/assets/docs-Btkv97Ls.js +302 -0
  132. package/dist/ui/assets/docs-Btkv97Ls.js.map +1 -0
  133. package/dist/ui/assets/docs-CipvKUxZ.css +1 -0
  134. package/dist/utils/lane-resources.d.ts +55 -0
  135. package/dist/utils/lane-resources.js +143 -0
  136. package/dist/utils/lane-resources.js.map +1 -0
  137. package/dist/utils/zod.js +36 -3
  138. package/dist/utils/zod.js.map +1 -1
  139. package/dist/version.d.ts +1 -1
  140. package/dist/version.js +1 -1
  141. package/package.json +4 -4
  142. package/readmes/runner-AI.md +740 -0
  143. package/readmes/runner-durable-workflows.md +2247 -0
  144. package/readmes/runner-full-guide.md +5869 -0
  145. package/readmes/runner-remote-lanes.md +909 -0
  146. package/dist/ui/assets/docs-BhRuaJ5l.css +0 -1
  147. package/dist/ui/assets/docs-H4oDZj7p.js +0 -302
  148. package/dist/ui/assets/docs-H4oDZj7p.js.map +0 -1
@@ -32,141 +32,7 @@ const initUtils_1 = require("./initUtils");
32
32
  const templates = __importStar(require("./scaffold/templates"));
33
33
  async function scaffold(opts) {
34
34
  const { targetDir, projectName } = opts;
35
- // Legacy inline templates kept for reference; actual generation uses templates.*
36
- const _pkg = {
37
- name: projectName,
38
- version: "0.1.0",
39
- private: true,
40
- type: "module",
41
- scripts: {
42
- dev: "tsx watch src/main.ts",
43
- start: "node --enable-source-maps dist/main.js",
44
- build: "tsc -p tsconfig.json",
45
- test: "jest",
46
- "test:watch": "jest --watch",
47
- "schema:sdl": "runner-dev schema sdl",
48
- },
49
- dependencies: {
50
- "@bluelibs/runner": "^5.2.0",
51
- },
52
- devDependencies: {
53
- "@bluelibs/runner-dev": "^5.0.0",
54
- typescript: "^5.6.3",
55
- tsx: "^4.19.2",
56
- jest: "^29.7.0",
57
- "ts-jest": "^29.1.1",
58
- "@types/jest": "^29.5.12",
59
- },
60
- };
61
- const _tsconfig = {
62
- compilerOptions: {
63
- target: "ESNext",
64
- module: "Node16",
65
- moduleResolution: "node16",
66
- strict: true,
67
- esModuleInterop: true,
68
- forceConsistentCasingInFileNames: true,
69
- declaration: true,
70
- outDir: "dist",
71
- rootDir: "src",
72
- skipLibCheck: true,
73
- resolveJsonModule: true,
74
- lib: ["ESNext"],
75
- },
76
- include: ["src"],
77
- };
78
- const _jestConfig = `/** @type {import('jest').Config} */
79
- module.exports = {
80
- preset: 'ts-jest/presets/default-esm',
81
- testEnvironment: 'node',
82
- roots: ['<rootDir>/src'],
83
- moduleFileExtensions: ['ts', 'tsx', 'js'],
84
- extensionsToTreatAsEsm: ['.ts', '.tsx'],
85
- transform: {
86
- '^.+\\.(ts|tsx)$': [
87
- 'ts-jest',
88
- {
89
- useESM: true,
90
- tsconfig: 'tsconfig.jest.json',
91
- },
92
- ],
93
- },
94
- };
95
- `;
96
- const _tsconfigJest = {
97
- extends: "./tsconfig.json",
98
- compilerOptions: {
99
- module: "CommonJS",
100
- moduleResolution: "node",
101
- target: "ES2019",
102
- esModuleInterop: true,
103
- isolatedModules: false,
104
- },
105
- include: ["src/**/*.ts", "src/**/*.tsx"],
106
- };
107
- const _mainTs = `
108
- import { run, resource } from '@bluelibs/runner';
109
- import { dev } from '@bluelibs/runner-dev';
110
-
111
- // Minimal Runner app using runner-dev's dev resource
112
- const app = resource({
113
- id: 'app.${projectName}',
114
- register: [
115
- dev.with({ port: 1337 }),
116
- ],
117
- });
118
-
119
- run(app)
120
- .then(() => {
121
- // eslint-disable-next-line no-console
122
- console.log('Runner app started on http://localhost:1337');
123
- })
124
- .catch((err) => {
125
- // eslint-disable-next-line no-console
126
- console.error(err);
127
- process.exit(1);
128
- });
129
- `;
130
- const _exampleTest = `describe('smoke', () => {
131
- it('works', () => {
132
- expect(1 + 1).toBe(2);
133
- });
134
- });
135
- `;
136
- const _readme = `# ${projectName}
137
-
138
- Generated by \`runner-dev new\`.
139
-
140
- ## Quick start
141
-
142
- 1. Install dependencies:
143
- - npm install
144
- 2. Start the dev server:
145
- - npm run dev
146
-
147
- The server starts on http://localhost:1337
148
-
149
- - GraphQL endpoint: http://localhost:1337/graphql (how to query your guts and live telemetry)
150
- - Voyager UI: http://localhost:1337/voyager (how the guts of your app look like)
151
- - Project docs: http://localhost:1337/docs (beautiful docs with live telemetry and easy task and event dispatching)
152
-
153
- ## Scripts
154
-
155
- - dev: Run with tsx watch (TypeScript ESM)
156
- - build: Type-check and emit to dist
157
- - start: Run built app
158
- - test: Run Jest
159
-
160
- ## Useful CLI commands
161
-
162
- These commands are available from \`@bluelibs/runner-dev\`:
163
-
164
- - Query your API:
165
- - ENDPOINT=http://localhost:1337/graphql npx runner-dev query 'query { tasks { id } }' --format pretty
166
- - Print the GraphQL schema SDL:
167
- - npx runner-dev schema sdl --endpoint http://localhost:1337/graphql
168
-
169
- `;
35
+ // Generation is fully delegated to templates.*
170
36
  // Use template renderers
171
37
  await (0, initUtils_1.writeJson)(path_1.default.join(targetDir, "package.json"), templates.packageJson(projectName));
172
38
  await (0, initUtils_1.writeJson)(path_1.default.join(targetDir, "tsconfig.json"), templates.tsconfig());
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/cli/generators/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/cli/generators/scaffold.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,4BAkCC;AA3CD,gDAAwB;AACxB,2CAA8E;AAC9E,gEAAkD;AAO3C,KAAK,UAAU,QAAQ,CAAC,IAAqB;IAClD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAExC,+CAA+C;IAE/C,yBAAyB;IACzB,MAAM,IAAA,qBAAS,EACb,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EACpC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,CACnC,CAAC;IACF,MAAM,IAAA,qBAAS,EAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7E,MAAM,IAAA,qBAAS,EACb,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EACvC,SAAS,CAAC,UAAU,EAAE,CACvB,CAAC;IACF,MAAM,IAAA,qBAAS,EACb,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAC1C,SAAS,CAAC,YAAY,EAAE,CACzB,CAAC;IAEF,MAAM,IAAA,qBAAS,EAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7C,MAAM,IAAA,qBAAS,EACb,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,EACtC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAC9B,CAAC;IACF,MAAM,IAAA,qBAAS,EACb,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,EAC3C,SAAS,CAAC,QAAQ,EAAE,CACrB,CAAC;IACF,MAAM,IAAA,qBAAS,EACb,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EACjC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAC9B,CAAC;IACF,MAAM,IAAA,0BAAc,EAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
@@ -9,7 +9,7 @@ exports.taskMiddlewareTemplate = taskMiddlewareTemplate;
9
9
  exports.resourceMiddlewareTemplate = resourceMiddlewareTemplate;
10
10
  function resourceTemplate({ header, id, camel, pascal, }) {
11
11
  return `${header}
12
- import { resource } from '@bluelibs/runner';
12
+ import { r } from '@bluelibs/runner';
13
13
 
14
14
  export interface ${pascal}Config {
15
15
  // Add your config shape here
@@ -19,25 +19,25 @@ export interface ${pascal}Value {
19
19
  // The resource value (what init returns)
20
20
  }
21
21
 
22
- export const ${camel} = resource({
23
- id: '${id}',
24
- meta: {
22
+ export const ${camel} = r
23
+ .resource<${pascal}Config>('${id}')
24
+ .meta({
25
25
  title: '${pascal} Resource',
26
26
  description: 'TODO: Add description for ${pascal} resource',
27
- },
28
- // tags: [],
29
- // dependencies: { /* other resources */ },
30
- init: async (config: ${pascal}Config, deps): Promise<${pascal}Value> => {
27
+ })
28
+ // .tags([])
29
+ // .dependencies({ /* other resources */ })
30
+ .init(async (config, deps): Promise<${pascal}Value> => {
31
31
  // Initialize and return the resource value
32
32
  return {} as ${pascal}Value;
33
- },
34
- // dispose: async (value, config, deps) => { /* clean up */ },
35
- });
33
+ })
34
+ // .dispose(async (value, config, deps) => { /* clean up */ })
35
+ .build();
36
36
  `;
37
37
  }
38
38
  function taskTemplate({ header, id, camel, pascal, }) {
39
39
  return `${header}
40
- import { task } from '@bluelibs/runner';
40
+ import { r } from '@bluelibs/runner';
41
41
 
42
42
  export interface ${pascal}Input {
43
43
  // Define input fields
@@ -47,65 +47,65 @@ export interface ${pascal}Result {
47
47
  // Define result fields
48
48
  }
49
49
 
50
- export const ${camel} = task({
51
- id: '${id}',
52
- meta: {
50
+ export const ${camel} = r
51
+ .task<${pascal}Input>('${id}')
52
+ .meta({
53
53
  title: '${pascal} Task',
54
54
  description: 'TODO: Add description for ${pascal} task',
55
- },
56
- // middleware: [],
57
- // dependencies: { /* resources */ },
58
- run: async (_input: ${pascal}Input, deps): Promise<${pascal}Result> => {
55
+ })
56
+ // .middleware([])
57
+ // .dependencies({ /* resources */ })
58
+ .run(async (_input, deps): Promise<${pascal}Result> => {
59
59
  return {} as ${pascal}Result;
60
- },
61
- // inputSchema,
62
- // resultSchema,
63
- });
60
+ })
61
+ // .inputSchema(...)
62
+ // .resultSchema(...)
63
+ .build();
64
64
  `;
65
65
  }
66
66
  function eventTemplate({ header, id, camel, pascal, }) {
67
67
  return `${header}
68
- import { event } from '@bluelibs/runner';
68
+ import { r } from '@bluelibs/runner';
69
69
 
70
70
  export interface ${pascal}Payload {
71
71
  // Define event payload
72
72
  }
73
73
 
74
- export const ${camel} = event<${pascal}Payload>({
75
- id: '${id}',
76
- meta: {
74
+ export const ${camel} = r
75
+ .event<${pascal}Payload>('${id}')
76
+ .meta({
77
77
  title: '${pascal} Event',
78
78
  description: 'TODO: Add description for ${pascal} event',
79
- },
80
- // tags: [],
81
- });
79
+ })
80
+ // .tags([])
81
+ .build();
82
82
  `;
83
83
  }
84
84
  function hookTemplate({ header, id, camel, pascal, }) {
85
85
  return `${header}
86
- import { hook } from '@bluelibs/runner';
86
+ import { r } from '@bluelibs/runner';
87
87
 
88
88
  export interface ${pascal}Payload {
89
89
  // The payload delivered to the hook from the event
90
90
  }
91
91
 
92
- export const ${camel} = hook({
93
- id: '${id}',
94
- meta: {
92
+ export const ${camel} = r
93
+ .hook('${id}')
94
+ .meta({
95
95
  title: '${pascal} Hook',
96
96
  description: 'TODO: Add description for ${pascal} hook',
97
- },
98
- // on: someEvent, // import your event and set it here
99
- // dependencies: { /* resources */ },
100
- run: async (event, deps) => {
97
+ })
98
+ // .on(someEvent) // import your event and set it here
99
+ // .dependencies({ /* resources */ })
100
+ .run(async (event, deps) => {
101
101
  // Implement hook reaction logic
102
- },
103
- });
102
+ })
103
+ .build();
104
104
  `;
105
105
  }
106
106
  function tagTemplate({ header, id, camel, pascal, }) {
107
107
  return `${header}
108
- import { tag } from '@bluelibs/runner';
108
+ import { r } from '@bluelibs/runner';
109
109
 
110
110
  export interface ${pascal}Config {
111
111
  // Optional config carried by the tag (available via extract())
@@ -119,18 +119,18 @@ export interface ${pascal}ResultContract {
119
119
  // Optional contract for results
120
120
  }
121
121
 
122
- export const ${camel} = tag<${pascal}Config, ${pascal}InputContract, ${pascal}ResultContract>({
123
- id: '${id}',
124
- meta: {
122
+ export const ${camel} = r
123
+ .tag<${pascal}Config, ${pascal}InputContract, ${pascal}ResultContract>('${id}')
124
+ .meta({
125
125
  title: '${pascal} Tag',
126
126
  description: 'TODO: Add description for ${pascal} tag',
127
- },
128
- });
127
+ })
128
+ .build();
129
129
  `;
130
130
  }
131
131
  function taskMiddlewareTemplate({ header, id, camel, pascal, }) {
132
132
  return `${header}
133
- import { taskMiddleware } from '@bluelibs/runner';
133
+ import { r } from '@bluelibs/runner';
134
134
 
135
135
  export interface ${pascal}Config {
136
136
  // Configuration passed via .with({ ... })
@@ -144,42 +144,43 @@ export interface ${pascal}Output {
144
144
  // The task output after middleware
145
145
  }
146
146
 
147
- export const ${camel} = taskMiddleware<${pascal}Config, ${pascal}Input, ${pascal}Output>({
148
- id: '${id}',
149
- meta: {
147
+ export const ${camel} = r
148
+ .taskMiddleware<${pascal}Config, ${pascal}Input, ${pascal}Output>('${id}')
149
+ .meta({
150
150
  title: '${pascal} Task Middleware',
151
151
  description: 'TODO: Add description for ${pascal} task middleware',
152
- },
153
- // everywhere: true,
154
- run: async ({ task, next }, deps, config) => {
152
+ })
153
+ // Auto-apply globally via resource.subtree({ tasks: { middleware: [${camel}] } })
154
+ // or intercept executions with globals.resources.taskRunner.intercept(...).
155
+ .run(async ({ task, next }, deps, config) => {
155
156
  // pre-process task.input
156
157
  const result = await next(task.input as ${pascal}Input);
157
158
  // post-process result
158
159
  return result as ${pascal}Output;
159
- },
160
- });
160
+ })
161
+ .build();
161
162
  `;
162
163
  }
163
164
  function resourceMiddlewareTemplate({ header, id, camel, pascal, }) {
164
165
  return `${header}
165
- import { resourceMiddleware } from '@bluelibs/runner';
166
+ import { r } from '@bluelibs/runner';
166
167
 
167
168
  export interface ${pascal}Config {
168
169
  // Configuration passed via .with({ ... })
169
170
  }
170
171
 
171
- export const ${camel} = resourceMiddleware<${pascal}Config>({
172
- id: '${id}',
173
- meta: {
172
+ export const ${camel} = r
173
+ .resourceMiddleware<${pascal}Config>('${id}')
174
+ .meta({
174
175
  title: '${pascal} Resource Middleware',
175
176
  description: 'TODO: Add description for ${pascal} resource middleware',
176
- },
177
- run: async ({ next }, deps, config) => {
177
+ })
178
+ .run(async ({ next }, deps, config) => {
178
179
  const value = await next();
179
180
  // Wrap or augment the resource value here
180
181
  return value;
181
- },
182
- });
182
+ })
183
+ .build();
183
184
  `;
184
185
  }
185
186
  //# sourceMappingURL=templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/cli/generators/templates.ts"],"names":[],"mappings":";;AAOA,4CAgCC;AAED,oCAgCC;AAED,sCAsBC;AAED,oCA0BC;AAED,kCA6BC;AAED,wDAoCC;AAED,gEA0BC;AAvND,SAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;mBAIN,MAAM;;;;eAIV,KAAK;SACX,EAAE;;cAEG,MAAM;8CAC0B,MAAM;;;;yBAI3B,MAAM,0BAA0B,MAAM;;mBAE5C,MAAM;;;;CAIxB,CAAC;AACF,CAAC;AAED,SAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;mBAIN,MAAM;;;;eAIV,KAAK;SACX,EAAE;;cAEG,MAAM;8CAC0B,MAAM;;;;wBAI5B,MAAM,yBAAyB,MAAM;mBAC1C,MAAM;;;;;CAKxB,CAAC;AACF,CAAC;AAED,SAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;eAIV,KAAK,YAAY,MAAM;SAC7B,EAAE;;cAEG,MAAM;8CAC0B,MAAM;;;;CAInD,CAAC;AACF,CAAC;AAED,SAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;eAIV,KAAK;SACX,EAAE;;cAEG,MAAM;8CAC0B,MAAM;;;;;;;;CAQnD,CAAC;AACF,CAAC;AAED,SAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;mBAIN,MAAM;;;;mBAIN,MAAM;;;;eAIV,KAAK,UAAU,MAAM,WAAW,MAAM,kBAAkB,MAAM;SACpE,EAAE;;cAEG,MAAM;8CAC0B,MAAM;;;CAGnD,CAAC;AACF,CAAC;AAED,SAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;mBAIN,MAAM;;;;mBAIN,MAAM;;;;eAIV,KAAK,qBAAqB,MAAM,WAAW,MAAM,UAAU,MAAM;SACvE,EAAE;;cAEG,MAAM;8CAC0B,MAAM;;;;;8CAKN,MAAM;;uBAE7B,MAAM;;;CAG5B,CAAC;AACF,CAAC;AAED,SAAgB,0BAA0B,CAAC,EACzC,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;eAIV,KAAK,yBAAyB,MAAM;SAC1C,EAAE;;cAEG,MAAM;8CAC0B,MAAM;;;;;;;;CAQnD,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/cli/generators/templates.ts"],"names":[],"mappings":";;AAOA,4CAgCC;AAED,oCAgCC;AAED,sCAsBC;AAED,oCA0BC;AAED,kCA6BC;AAED,wDAqCC;AAED,gEA0BC;AAxND,SAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;mBAIN,MAAM;;;;eAIV,KAAK;cACN,MAAM,YAAY,EAAE;;cAEpB,MAAM;8CAC0B,MAAM;;;;wCAIZ,MAAM;;mBAE3B,MAAM;;;;CAIxB,CAAC;AACF,CAAC;AAED,SAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;mBAIN,MAAM;;;;eAIV,KAAK;UACV,MAAM,WAAW,EAAE;;cAEf,MAAM;8CAC0B,MAAM;;;;uCAIb,MAAM;mBAC1B,MAAM;;;;;CAKxB,CAAC;AACF,CAAC;AAED,SAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;eAIV,KAAK;WACT,MAAM,aAAa,EAAE;;cAElB,MAAM;8CAC0B,MAAM;;;;CAInD,CAAC;AACF,CAAC;AAED,SAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;eAIV,KAAK;WACT,EAAE;;cAEC,MAAM;8CAC0B,MAAM;;;;;;;;CAQnD,CAAC;AACF,CAAC;AAED,SAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;mBAIN,MAAM;;;;mBAIN,MAAM;;;;eAIV,KAAK;SACX,MAAM,WAAW,MAAM,kBAAkB,MAAM,oBAAoB,EAAE;;cAEhE,MAAM;8CAC0B,MAAM;;;CAGnD,CAAC;AACF,CAAC;AAED,SAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;mBAIN,MAAM;;;;mBAIN,MAAM;;;;eAIV,KAAK;oBACA,MAAM,WAAW,MAAM,UAAU,MAAM,YAAY,EAAE;;cAE3D,MAAM;8CAC0B,MAAM;;wEAEoB,KAAK;;;;8CAI/B,MAAM;;uBAE7B,MAAM;;;CAG5B,CAAC;AACF,CAAC;AAED,SAAgB,0BAA0B,CAAC,EACzC,MAAM,EACN,EAAE,EACF,KAAK,EACL,MAAM,GACS;IACf,OAAO,GAAG,MAAM;;;mBAGC,MAAM;;;;eAIV,KAAK;wBACI,MAAM,YAAY,EAAE;;cAE9B,MAAM;8CAC0B,MAAM;;;;;;;;CAQnD,CAAC;AACF,CAAC"}