@pikku/cli 0.8.0 → 0.8.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 (43) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/bin/pikku-all.ts +122 -64
  3. package/bin/pikku-fetch.ts +5 -1
  4. package/bin/pikku-nextjs.ts +6 -2
  5. package/bin/pikku-openapi.ts +3 -1
  6. package/bin/pikku-queue-service.ts +5 -1
  7. package/bin/pikku-websocket.ts +5 -1
  8. package/cli.schema.json +113 -10
  9. package/dist/bin/pikku-all.js +51 -50
  10. package/dist/bin/pikku-fetch.js +5 -1
  11. package/dist/bin/pikku-nextjs.js +6 -2
  12. package/dist/bin/pikku-openapi.js +3 -1
  13. package/dist/bin/pikku-queue-service.js +5 -1
  14. package/dist/bin/pikku-websocket.js +5 -1
  15. package/dist/src/events/functions/pikku-command-services.d.ts +3 -0
  16. package/dist/src/events/functions/pikku-command-services.js +73 -0
  17. package/dist/src/events/http/serialize-typed-http-map.d.ts +0 -1
  18. package/dist/src/events/http/serialize-typed-http-map.js +1 -14
  19. package/dist/src/events/rpc/pikku-command-rpc-client.d.ts +2 -0
  20. package/dist/src/events/rpc/pikku-command-rpc-client.js +12 -0
  21. package/dist/src/events/rpc/serialize-rpc-wrapper.d.ts +1 -0
  22. package/dist/src/events/rpc/serialize-rpc-wrapper.js +29 -0
  23. package/dist/src/events/rpc/serialize-typed-rpc-map.js +1 -1
  24. package/dist/src/inspector-glob.js +1 -1
  25. package/dist/src/pikku-cli-config.d.ts +4 -1
  26. package/dist/src/pikku-cli-config.js +26 -14
  27. package/dist/src/schema-generator.js +2 -2
  28. package/dist/src/utils.d.ts +3 -0
  29. package/dist/src/utils.js +9 -3
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +3 -3
  32. package/src/events/functions/pikku-command-services.ts +125 -0
  33. package/src/events/http/serialize-typed-http-map.ts +1 -18
  34. package/src/events/rpc/pikku-command-rpc-client.ts +33 -0
  35. package/src/events/rpc/serialize-rpc-wrapper.ts +29 -0
  36. package/src/events/rpc/serialize-typed-rpc-map.ts +1 -1
  37. package/src/inspector-glob.ts +1 -1
  38. package/src/pikku-cli-config.ts +33 -17
  39. package/src/schema-generator.ts +2 -2
  40. package/src/utils.ts +13 -3
  41. package/dist/src/events/http/pikku-command-nextjs.d.ts +0 -2
  42. package/dist/src/events/http/pikku-command-nextjs.js +0 -36
  43. package/src/events/http/pikku-command-nextjs.ts +0 -111
package/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
1
1
  # @pikku/cli
2
2
 
3
+ ## 0.8.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 44e3ff4: feat: enhance CLI filtering with type and directory filters
8
+
9
+ - Add --types filter to filter by PikkuEventTypes (http, channel, queue, scheduler, rpc, mcp)
10
+ - Add --directories filter to filter by file paths/directories
11
+ - All filters (tags, types, directories) now work together with AND logic
12
+ - Add comprehensive logging interface to inspector package
13
+ - Add comprehensive test suite for matchesFilters function
14
+ - Support cross-platform path handling
15
+
16
+ - 7c592b8: feat: support for required services and improved service configuration
17
+
18
+ This release includes several enhancements to service management and configuration:
19
+
20
+ - Added support for required services configuration
21
+ - Improved service discovery and registration
22
+ - Added typed RPC clients for service communication
23
+ - Updated middleware to run per function
24
+
25
+ - Updated dependencies [3261090]
26
+ - Updated dependencies [44e3ff4]
27
+ - Updated dependencies [7c592b8]
28
+ - Updated dependencies [30a082f]
29
+ - @pikku/core@0.8.1
30
+ - @pikku/inspector@0.8.1
31
+
3
32
  ## 0.8.0
4
33
 
5
34
  ### Major Features
package/bin/pikku-all.ts CHANGED
@@ -15,58 +15,60 @@ import { pikkuChannels } from '../src/events/channels/pikku-command-channels.js'
15
15
  import { inspectorGlob } from '../src/inspector-glob.js'
16
16
  import chokidar from 'chokidar'
17
17
  import { pikkuFunctions } from '../src/events/functions/pikku-command-functions.js'
18
+ import { pikkuServices } from '../src/events/functions/pikku-command-services.js'
18
19
  import { pikkuRPC } from '../src/events/rpc/pikku-command-rpc.js'
19
20
  import { pikkuRPCMap } from '../src/events/rpc/pikku-command-rpc-map.js'
20
- import { PikkuEventTypes } from '@pikku/core'
21
21
  import { pikkuQueue } from '../src/events/queue/pikku-command-queue.js'
22
22
  import { pikkuQueueMap } from '../src/events/queue/pikku-command-queue-map.js'
23
23
  import { pikkuFetch } from '../src/events/fetch/index.js'
24
+ import { pikkuRPCClient } from '../src/events/rpc/pikku-command-rpc-client.js'
24
25
  import { pikkuWebSocketTyped } from '../src/events/channels/pikku-command-websocket-typed.js'
25
- import { pikkuNext } from '../src/events/http/pikku-command-nextjs.js'
26
26
  import { pikkuOpenAPI } from '../src/events/http/pikku-command-openapi.js'
27
27
  import { pikkuMCP } from '../src/events/mcp/pikku-command-mcp.js'
28
28
  import { pikkuQueueService } from '../src/events/queue/pikku-command-queue-service.js'
29
29
  import { pikkuScheduler } from '../src/events/scheduler/pikku-command-scheduler.js'
30
30
  import { pikkuSchemas } from '../src/schemas.js'
31
31
  import { pikkuMCPJSON } from '../src/events/mcp/pikku-command-mcp-json.js'
32
+ import { pikkuNext } from '../src/runtimes/nextjs/pikku-command-nextjs.js'
32
33
 
33
- const runAll = async (
34
+ const generateBootstrapFile = async (
34
35
  logger: CLILogger,
35
36
  cliConfig: PikkuCLIConfig,
36
- options: PikkuCLIOptions
37
+ bootstrapFile: string,
38
+ specificImports: string[],
39
+ schemas?: boolean
37
40
  ) => {
38
- const boostrapImports: Partial<
39
- Record<PikkuEventTypes, { meta: string[]; events: string[] }>
40
- > & { all: { meta: string[]; events: string[] } } = {
41
- all: { meta: [], events: [] },
42
- }
41
+ // Common imports that every bootstrap file needs
42
+ const commonImports = [cliConfig.functionsMetaFile, cliConfig.functionsFile]
43
43
 
44
- const addImport = (
45
- from: string,
46
- type: 'meta' | 'events' | 'other',
47
- addTo?: PikkuEventTypes[]
48
- ) => {
49
- if (type === 'meta') {
50
- boostrapImports.all.meta.push(from)
51
- } else {
52
- boostrapImports.all.events.push(from)
53
- }
54
-
55
- for (const transport of Object.keys(PikkuEventTypes)) {
56
- if (!addTo || addTo?.includes(transport as PikkuEventTypes)) {
57
- boostrapImports[transport] = boostrapImports[transport] || {
58
- meta: [],
59
- events: [],
60
- }
61
- if (type === 'meta') {
62
- boostrapImports[transport].meta.push(from)
63
- } else {
64
- boostrapImports[transport].events.push(from)
65
- }
66
- }
67
- }
44
+ // Add schema if it exists
45
+ if (schemas) {
46
+ commonImports.push(`${cliConfig.schemaDirectory}/register.gen.ts`)
68
47
  }
69
48
 
49
+ // Combine common imports with specific imports
50
+ const allImports = [...commonImports, ...specificImports]
51
+
52
+ await writeFileInDir(
53
+ logger,
54
+ bootstrapFile,
55
+ allImports
56
+ .map(
57
+ (to) =>
58
+ `import '${getFileImportRelativePath(bootstrapFile, to, cliConfig.packageMappings)}'`
59
+ )
60
+ .sort((to) => (to.includes('meta') ? -1 : 1)) // Ensure meta files are at the top
61
+ .join('\n')
62
+ )
63
+ }
64
+
65
+ const runAll = async (
66
+ logger: CLILogger,
67
+ cliConfig: PikkuCLIConfig,
68
+ options: PikkuCLIOptions
69
+ ) => {
70
+ const allImports: string[] = []
71
+
70
72
  let typesDeclarationFileExists = true
71
73
  let visitState = await inspectorGlob(
72
74
  logger,
@@ -96,53 +98,102 @@ const runAll = async (
96
98
  logger.info(`• No functions found, skipping remaining steps...\x1b[0m`)
97
99
  process.exit(1)
98
100
  }
99
- addImport(cliConfig.functionsMetaFile, 'meta')
100
- addImport(cliConfig.functionsFile, 'events')
101
+
102
+ // Base imports for all bootstrap files
103
+ allImports.push(cliConfig.functionsMetaFile, cliConfig.functionsFile)
104
+
105
+ // Generate services map
106
+ await pikkuServices(logger, cliConfig, visitState)
101
107
 
102
108
  await pikkuRPC(logger, cliConfig, visitState)
103
109
  await pikkuRPCMap(logger, cliConfig, visitState)
104
- addImport(cliConfig.rpcMetaFile, 'meta', [PikkuEventTypes.rpc])
110
+ await pikkuRPCClient(logger, cliConfig)
111
+ allImports.push(cliConfig.rpcMetaFile)
105
112
 
106
113
  const schemas = await pikkuSchemas(logger, cliConfig, visitState)
107
114
  if (schemas) {
108
- addImport(`${cliConfig.schemaDirectory}/register.gen.ts`, 'other')
115
+ allImports.push(`${cliConfig.schemaDirectory}/register.gen.ts`)
109
116
  }
110
117
 
118
+ // RPC bootstrap is always generated since RPC is always present
119
+ await generateBootstrapFile(
120
+ logger,
121
+ cliConfig,
122
+ cliConfig.bootstrapFiles.rpc,
123
+ [cliConfig.rpcMetaFile],
124
+ schemas
125
+ )
126
+
111
127
  const http = await pikkuHTTP(logger, cliConfig, visitState)
112
128
  if (http) {
113
129
  await pikkuHTTPMap(logger, cliConfig, visitState)
114
130
  await pikkuFetch(logger, cliConfig)
115
- addImport(cliConfig.httpRoutesMetaFile, 'meta', [PikkuEventTypes.http])
116
- addImport(cliConfig.httpRoutesFile, 'events', [PikkuEventTypes.http])
131
+ allImports.push(cliConfig.httpRoutesMetaFile, cliConfig.httpRoutesFile)
132
+
133
+ await generateBootstrapFile(
134
+ logger,
135
+ cliConfig,
136
+ cliConfig.bootstrapFiles.http,
137
+ [cliConfig.httpRoutesMetaFile, cliConfig.httpRoutesFile],
138
+ schemas
139
+ )
117
140
  }
118
141
 
119
- const scheduled = await pikkuScheduler(logger, cliConfig, visitState)
120
- if (scheduled) {
121
- addImport(cliConfig.schedulersMetaFile, 'meta', [PikkuEventTypes.scheduled])
122
- addImport(cliConfig.schedulersFile, 'events', [PikkuEventTypes.scheduled])
142
+ const scheduler = await pikkuScheduler(logger, cliConfig, visitState)
143
+ if (scheduler) {
144
+ allImports.push(cliConfig.schedulersMetaFile, cliConfig.schedulersFile)
145
+
146
+ await generateBootstrapFile(
147
+ logger,
148
+ cliConfig,
149
+ cliConfig.bootstrapFiles.scheduler,
150
+ [cliConfig.schedulersMetaFile, cliConfig.schedulersFile],
151
+ schemas
152
+ )
123
153
  }
124
154
 
125
155
  const queues = await pikkuQueue(logger, cliConfig, visitState)
126
156
  if (queues) {
127
157
  await pikkuQueueMap(logger, cliConfig, visitState)
128
158
  await pikkuQueueService(logger, cliConfig)
129
- addImport(cliConfig.queueWorkersMetaFile, 'meta', [PikkuEventTypes.queue])
130
- addImport(cliConfig.queueWorkersFile, 'events', [PikkuEventTypes.queue])
159
+ allImports.push(cliConfig.queueWorkersMetaFile, cliConfig.queueWorkersFile)
160
+
161
+ await generateBootstrapFile(
162
+ logger,
163
+ cliConfig,
164
+ cliConfig.bootstrapFiles.queue,
165
+ [cliConfig.queueWorkersMetaFile, cliConfig.queueWorkersFile],
166
+ schemas
167
+ )
131
168
  }
132
169
 
133
170
  const channels = await pikkuChannels(logger, cliConfig, visitState)
134
171
  if (channels) {
135
172
  await pikkuChannelsMap(logger, cliConfig, visitState)
136
173
  await pikkuWebSocketTyped(logger, cliConfig)
137
- addImport(cliConfig.channelsMetaFile, 'meta', [PikkuEventTypes.channel])
138
- addImport(cliConfig.channelsFile, 'events', [PikkuEventTypes.channel])
174
+ allImports.push(cliConfig.channelsMetaFile, cliConfig.channelsFile)
175
+
176
+ await generateBootstrapFile(
177
+ logger,
178
+ cliConfig,
179
+ cliConfig.bootstrapFiles.channel,
180
+ [cliConfig.channelsMetaFile, cliConfig.channelsFile],
181
+ schemas
182
+ )
139
183
  }
140
184
 
141
185
  const mcp = await pikkuMCP(logger, cliConfig, visitState)
142
186
  if (mcp) {
143
187
  await pikkuMCPJSON(logger, cliConfig, visitState)
144
- addImport(cliConfig.mcpEndpointsMetaFile, 'meta', [PikkuEventTypes.mcp])
145
- addImport(cliConfig.mcpEndpointsFile, 'events', [PikkuEventTypes.mcp])
188
+ allImports.push(cliConfig.mcpEndpointsMetaFile, cliConfig.mcpEndpointsFile)
189
+
190
+ await generateBootstrapFile(
191
+ logger,
192
+ cliConfig,
193
+ cliConfig.bootstrapFiles.mcp,
194
+ [cliConfig.mcpEndpointsMetaFile, cliConfig.mcpEndpointsFile],
195
+ schemas
196
+ )
146
197
  }
147
198
 
148
199
  if (cliConfig.nextBackendFile || cliConfig.nextHTTPFile) {
@@ -162,20 +213,18 @@ const runAll = async (
162
213
  await pikkuOpenAPI(logger, cliConfig, visitState)
163
214
  }
164
215
 
165
- for (const [type, { meta, events }] of Object.entries(boostrapImports)) {
166
- const bootstrapFile =
167
- type === 'all' ? cliConfig.bootstrapFile : cliConfig.bootstrapFiles[type]
168
- await writeFileInDir(
169
- logger,
170
- bootstrapFile,
171
- [...meta, ...events]
172
- .map(
173
- (to) =>
174
- `import '${getFileImportRelativePath(bootstrapFile, to, cliConfig.packageMappings)}'`
175
- )
176
- .join('\n')
177
- )
178
- }
216
+ // Generate main bootstrap file (pass all imports directly since this is the main file)
217
+ await writeFileInDir(
218
+ logger,
219
+ cliConfig.bootstrapFile,
220
+ allImports
221
+ .map(
222
+ (to) =>
223
+ `import '${getFileImportRelativePath(cliConfig.bootstrapFile, to, cliConfig.packageMappings)}'`
224
+ )
225
+ .sort((to) => (to.includes('meta') ? -1 : 1)) // Ensure meta files are at the top
226
+ .join('\n')
227
+ )
179
228
  }
180
229
 
181
230
  const watch = (
@@ -238,7 +287,11 @@ export const action = async (options: PikkuCLIOptions): Promise<void> => {
238
287
  const cliConfig = await getPikkuCLIConfig(
239
288
  options.config,
240
289
  [],
241
- options.tags,
290
+ {
291
+ tags: options.tags,
292
+ types: options.types,
293
+ directories: options.directories,
294
+ },
242
295
  true
243
296
  )
244
297
 
@@ -264,6 +317,11 @@ export const all = (program: Command): void => {
264
317
  )
265
318
  .option('-c | --config <string>', 'The path to pikku cli config file')
266
319
  .option('-t | --tags <tags...>', 'Which tags to filter by')
320
+ .option(
321
+ '--types <types...>',
322
+ 'Which types to filter by (http, channel, queue, scheduler, rpc, mcp)'
323
+ )
324
+ .option('--directories <directories...>', 'Which directories to filter by')
267
325
  .option('-w | --watch', 'Whether to watch file changes')
268
326
  .action(action)
269
327
  }
@@ -8,7 +8,11 @@ export const action = async (options: PikkuCLIOptions): Promise<void> => {
8
8
  const cliConfig = await getPikkuCLIConfig(
9
9
  options.config,
10
10
  ['rootDir', 'schemaDirectory', 'configDir', 'fetchFile'],
11
- options.tags,
11
+ {
12
+ tags: options.tags,
13
+ types: options.types,
14
+ directories: options.directories,
15
+ },
12
16
  true
13
17
  )
14
18
  await pikkuFetch(logger, cliConfig)
@@ -2,7 +2,7 @@ import { Command } from 'commander'
2
2
  import { CLILogger, PikkuCLIOptions } from '../src/utils.js'
3
3
  import { getPikkuCLIConfig } from '../src/pikku-cli-config.js'
4
4
  import { inspectorGlob } from '../src/inspector-glob.js'
5
- import { pikkuNext } from '../src/events/http/pikku-command-nextjs.js'
5
+ import { pikkuNext } from '../src/runtimes/nextjs/pikku-command-nextjs.js'
6
6
 
7
7
  export const action = async (options: PikkuCLIOptions): Promise<void> => {
8
8
  const logger = new CLILogger({ logLogo: true })
@@ -10,7 +10,11 @@ export const action = async (options: PikkuCLIOptions): Promise<void> => {
10
10
  const cliConfig = await getPikkuCLIConfig(
11
11
  options.config,
12
12
  ['rootDir', 'schemaDirectory', 'configDir'],
13
- options.tags,
13
+ {
14
+ tags: options.tags,
15
+ types: options.types,
16
+ directories: options.directories,
17
+ },
14
18
  true
15
19
  )
16
20
  const visitState = await inspectorGlob(
@@ -9,7 +9,9 @@ async function action({ config, tags }: PikkuCLIOptions): Promise<void> {
9
9
  const cliConfig = await getPikkuCLIConfig(
10
10
  config,
11
11
  ['rootDir', 'httpRoutesFile', 'openAPI', 'schemaDirectory', 'tsconfig'],
12
- tags
12
+ {
13
+ tags: tags || [],
14
+ }
13
15
  )
14
16
  const visitState = await inspectorGlob(
15
17
  logger,
@@ -9,7 +9,11 @@ export const action = async (options: PikkuCLIOptions): Promise<void> => {
9
9
  const cliConfig = await getPikkuCLIConfig(
10
10
  options.config,
11
11
  ['rootDir', 'schemaDirectory', 'configDir', 'queueFile'],
12
- options.tags,
12
+ {
13
+ tags: options.tags,
14
+ types: options.types,
15
+ directories: options.directories,
16
+ },
13
17
  true
14
18
  )
15
19
  await pikkuQueueService(logger, cliConfig)
@@ -9,7 +9,11 @@ export const action = async (options: PikkuCLIOptions): Promise<void> => {
9
9
  const cliConfig = await getPikkuCLIConfig(
10
10
  options.config,
11
11
  ['rootDir', 'schemaDirectory', 'configDir', 'fetchFile'],
12
- options.tags,
12
+ {
13
+ tags: options.tags,
14
+ types: options.types,
15
+ directories: options.directories,
16
+ },
13
17
  true
14
18
  )
15
19
  await pikkuWebSocketTyped(logger, cliConfig)
package/cli.schema.json CHANGED
@@ -2,6 +2,18 @@
2
2
  "$ref": "#/definitions/PikkuCLIConfig",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "definitions": {
5
+ "InspectorFilters": {
6
+ "additionalProperties": false,
7
+ "properties": {
8
+ "tags": {
9
+ "items": {
10
+ "type": "string"
11
+ },
12
+ "type": "array"
13
+ }
14
+ },
15
+ "type": "object"
16
+ },
5
17
  "OpenAPISpecInfo": {
6
18
  "additionalProperties": false,
7
19
  "properties": {
@@ -123,12 +135,40 @@
123
135
  "bootstrapFile": {
124
136
  "type": "string"
125
137
  },
138
+ "bootstrapFiles": {
139
+ "additionalProperties": false,
140
+ "properties": {
141
+ "channel": {
142
+ "type": "string"
143
+ },
144
+ "http": {
145
+ "type": "string"
146
+ },
147
+ "mcp": {
148
+ "type": "string"
149
+ },
150
+ "queue": {
151
+ "type": "string"
152
+ },
153
+ "rpc": {
154
+ "type": "string"
155
+ },
156
+ "scheduled": {
157
+ "type": "string"
158
+ }
159
+ },
160
+ "required": ["http", "scheduled", "channel", "rpc", "queue", "mcp"],
161
+ "type": "object"
162
+ },
126
163
  "channelsFile": {
127
164
  "type": "string"
128
165
  },
129
166
  "channelsMapDeclarationFile": {
130
167
  "type": "string"
131
168
  },
169
+ "channelsMetaFile": {
170
+ "type": "string"
171
+ },
132
172
  "configDir": {
133
173
  "type": "string"
134
174
  },
@@ -138,6 +178,33 @@
138
178
  "fetchFile": {
139
179
  "type": "string"
140
180
  },
181
+ "filters": {
182
+ "$ref": "#/definitions/InspectorFilters"
183
+ },
184
+ "functionsFile": {
185
+ "type": "string"
186
+ },
187
+ "functionsMetaFile": {
188
+ "type": "string"
189
+ },
190
+ "httpRoutesFile": {
191
+ "type": "string"
192
+ },
193
+ "httpRoutesMapDeclarationFile": {
194
+ "type": "string"
195
+ },
196
+ "httpRoutesMetaFile": {
197
+ "type": "string"
198
+ },
199
+ "mcpEndpointsFile": {
200
+ "type": "string"
201
+ },
202
+ "mcpEndpointsMetaFile": {
203
+ "type": "string"
204
+ },
205
+ "mcpJsonFile": {
206
+ "type": "string"
207
+ },
141
208
  "nextBackendFile": {
142
209
  "type": "string"
143
210
  },
@@ -166,27 +233,48 @@
166
233
  },
167
234
  "type": "object"
168
235
  },
236
+ "queueFile": {
237
+ "type": "string"
238
+ },
239
+ "queueMapDeclarationFile": {
240
+ "type": "string"
241
+ },
242
+ "queueWorkersFile": {
243
+ "type": "string"
244
+ },
245
+ "queueWorkersMetaFile": {
246
+ "type": "string"
247
+ },
169
248
  "rootDir": {
170
249
  "type": "string"
171
250
  },
172
- "srcDirectories": {
173
- "items": {
174
- "type": "string"
175
- },
176
- "type": "array"
251
+ "rpcFile": {
252
+ "type": "string"
177
253
  },
178
- "routesFile": {
254
+ "rpcMapDeclarationFile": {
179
255
  "type": "string"
180
256
  },
181
- "routesMapDeclarationFile": {
257
+ "rpcMetaFile": {
182
258
  "type": "string"
183
259
  },
184
260
  "schedulersFile": {
185
261
  "type": "string"
186
262
  },
263
+ "schedulersMetaFile": {
264
+ "type": "string"
265
+ },
187
266
  "schemaDirectory": {
188
267
  "type": "string"
189
268
  },
269
+ "servicesFile": {
270
+ "type": "string"
271
+ },
272
+ "srcDirectories": {
273
+ "items": {
274
+ "type": "string"
275
+ },
276
+ "type": "array"
277
+ },
190
278
  "supportsImportAttributes": {
191
279
  "type": "boolean"
192
280
  },
@@ -202,16 +290,31 @@
202
290
  },
203
291
  "required": [
204
292
  "bootstrapFile",
293
+ "bootstrapFiles",
205
294
  "channelsFile",
206
295
  "channelsMapDeclarationFile",
296
+ "channelsMetaFile",
207
297
  "configDir",
298
+ "filters",
299
+ "functionsFile",
300
+ "functionsMetaFile",
301
+ "httpRoutesFile",
302
+ "httpRoutesMapDeclarationFile",
303
+ "httpRoutesMetaFile",
304
+ "mcpEndpointsFile",
305
+ "mcpEndpointsMetaFile",
208
306
  "packageMappings",
307
+ "queueMapDeclarationFile",
308
+ "queueWorkersFile",
309
+ "queueWorkersMetaFile",
209
310
  "rootDir",
210
- "srcDirectories",
211
- "routesFile",
212
- "routesMapDeclarationFile",
311
+ "rpcMapDeclarationFile",
312
+ "rpcMetaFile",
213
313
  "schedulersFile",
314
+ "schedulersMetaFile",
214
315
  "schemaDirectory",
316
+ "servicesFile",
317
+ "srcDirectories",
215
318
  "supportsImportAttributes",
216
319
  "tsconfig",
217
320
  "typesDeclarationFile"