@pikku/cli 0.8.2 → 0.9.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.
Files changed (175) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/bin/pikku-all.ts +41 -32
  3. package/bin/pikku-fetch.ts +1 -1
  4. package/bin/pikku-openapi.ts +2 -2
  5. package/bin/pikku-queue-service.ts +2 -2
  6. package/bin/pikku-websocket.ts +1 -1
  7. package/cli.schema.json +30 -30
  8. package/dist/bin/pikku-all.js +32 -32
  9. package/dist/bin/pikku-fetch.js +1 -1
  10. package/dist/bin/pikku-openapi.js +2 -2
  11. package/dist/bin/pikku-queue-service.js +2 -2
  12. package/dist/bin/pikku-websocket.js +1 -1
  13. package/dist/bin/pikku.js +0 -0
  14. package/dist/src/events/channels/pikku-channels.js +3 -3
  15. package/dist/src/events/channels/pikku-command-channels.js +3 -3
  16. package/dist/src/events/channels/serialize-typed-channel-map.js +2 -2
  17. package/dist/src/events/channels/serialize-websocket-wrapper.js +15 -1
  18. package/dist/src/events/fetch/index.js +2 -2
  19. package/dist/src/events/http/openapi-spec-generator.d.ts +2 -2
  20. package/dist/src/events/http/pikku-command-http-map.js +4 -4
  21. package/dist/src/events/http/pikku-command-http-routes.js +3 -3
  22. package/dist/src/events/http/pikku-command-nextjs.d.ts +2 -0
  23. package/dist/src/events/http/pikku-command-nextjs.js +36 -0
  24. package/dist/src/events/http/pikku-http-routes.js +3 -3
  25. package/dist/src/events/http/serialize-typed-http-map.d.ts +2 -2
  26. package/dist/src/events/http/serialize-typed-http-map.js +11 -11
  27. package/dist/src/events/mcp/pikku-command-mcp.js +3 -3
  28. package/dist/src/events/queue/pikku-command-queue-service.js +6 -6
  29. package/dist/src/events/queue/pikku-command-queue.js +3 -3
  30. package/dist/src/events/queue/pikku-queue.js +3 -3
  31. package/dist/src/events/rpc/index.d.ts +2 -0
  32. package/dist/src/events/rpc/index.js +12 -0
  33. package/dist/src/events/rpc/pikku-command-rpc-client.js +6 -6
  34. package/dist/src/events/rpc/pikku-command-rpc.js +2 -2
  35. package/dist/src/events/rpc/pikku-rpc.js +2 -2
  36. package/dist/src/events/rpc/serialize-rpc-wrapper.js +40 -1
  37. package/dist/src/events/scheduler/pikku-command-scheduler.js +3 -3
  38. package/dist/src/inspector-glob.js +2 -2
  39. package/dist/src/pikku-cli-config.d.ts +17 -17
  40. package/dist/src/pikku-cli-config.js +31 -31
  41. package/dist/src/runtimes/nextjs/pikku-command-nextjs.js +3 -3
  42. package/dist/src/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +29 -29
  43. package/dist/src/runtimes/nextjs/serialize-nextjs-http-wrapper.js +28 -28
  44. package/dist/src/schema-generator.d.ts +2 -2
  45. package/dist/src/schema-generator.js +2 -2
  46. package/dist/src/serialize-pikku-types.js +67 -67
  47. package/dist/src/utils.js +8 -0
  48. package/dist/src/wirings/channels/pikku-channels.d.ts +2 -0
  49. package/dist/src/wirings/channels/pikku-channels.js +9 -0
  50. package/dist/src/wirings/channels/pikku-command-channels-map.d.ts +2 -0
  51. package/dist/src/wirings/channels/pikku-command-channels-map.js +8 -0
  52. package/dist/src/wirings/channels/pikku-command-channels.d.ts +2 -0
  53. package/dist/src/wirings/channels/pikku-command-channels.js +9 -0
  54. package/dist/src/wirings/channels/pikku-command-websocket-typed.d.ts +2 -0
  55. package/dist/src/wirings/channels/pikku-command-websocket-typed.js +15 -0
  56. package/dist/src/wirings/channels/serialize-typed-channel-map.d.ts +4 -0
  57. package/dist/src/wirings/channels/serialize-typed-channel-map.js +111 -0
  58. package/dist/src/wirings/channels/serialize-websocket-wrapper.d.ts +1 -0
  59. package/dist/src/wirings/channels/serialize-websocket-wrapper.js +75 -0
  60. package/dist/src/wirings/fetch/index.d.ts +2 -0
  61. package/dist/src/wirings/fetch/index.js +12 -0
  62. package/dist/src/wirings/functions/pikku-command-function-types.d.ts +2 -0
  63. package/dist/src/wirings/functions/pikku-command-function-types.js +13 -0
  64. package/dist/src/wirings/functions/pikku-command-functions.d.ts +6 -0
  65. package/dist/src/wirings/functions/pikku-command-functions.js +35 -0
  66. package/dist/src/wirings/functions/pikku-command-services.d.ts +3 -0
  67. package/dist/src/wirings/functions/pikku-command-services.js +73 -0
  68. package/dist/src/wirings/functions/pikku-function-types.d.ts +2 -0
  69. package/dist/src/wirings/functions/pikku-function-types.js +13 -0
  70. package/dist/src/wirings/functions/pikku-functions.d.ts +6 -0
  71. package/dist/src/wirings/functions/pikku-functions.js +35 -0
  72. package/dist/src/wirings/http/openapi-spec-generator.d.ts +79 -0
  73. package/dist/src/wirings/http/openapi-spec-generator.js +145 -0
  74. package/dist/src/wirings/http/pikku-command-http-map.d.ts +2 -0
  75. package/dist/src/wirings/http/pikku-command-http-map.js +8 -0
  76. package/dist/src/wirings/http/pikku-command-http-routes.d.ts +2 -0
  77. package/dist/src/wirings/http/pikku-command-http-routes.js +9 -0
  78. package/dist/src/wirings/http/pikku-command-openapi.d.ts +2 -0
  79. package/dist/src/wirings/http/pikku-command-openapi.js +20 -0
  80. package/dist/src/wirings/http/pikku-http-routes.d.ts +2 -0
  81. package/dist/src/wirings/http/pikku-http-routes.js +9 -0
  82. package/dist/src/wirings/http/serialize-fetch-wrapper.d.ts +1 -0
  83. package/dist/src/wirings/http/serialize-fetch-wrapper.js +67 -0
  84. package/dist/src/wirings/http/serialize-typed-http-map.d.ts +4 -0
  85. package/dist/src/wirings/http/serialize-typed-http-map.js +100 -0
  86. package/dist/src/wirings/mcp/pikku-command-mcp-json.d.ts +2 -0
  87. package/dist/src/wirings/mcp/pikku-command-mcp-json.js +13 -0
  88. package/dist/src/wirings/mcp/pikku-command-mcp.d.ts +2 -0
  89. package/dist/src/wirings/mcp/pikku-command-mcp.js +54 -0
  90. package/dist/src/wirings/mcp/serialize-mcp-json.d.ts +5 -0
  91. package/dist/src/wirings/mcp/serialize-mcp-json.js +101 -0
  92. package/dist/src/wirings/queue/pikku-command-queue-map.d.ts +2 -0
  93. package/dist/src/wirings/queue/pikku-command-queue-map.js +8 -0
  94. package/dist/src/wirings/queue/pikku-command-queue-service.d.ts +2 -0
  95. package/dist/src/wirings/queue/pikku-command-queue-service.js +15 -0
  96. package/dist/src/wirings/queue/pikku-command-queue.d.ts +2 -0
  97. package/dist/src/wirings/queue/pikku-command-queue.js +10 -0
  98. package/dist/src/wirings/queue/pikku-queue-map.d.ts +2 -0
  99. package/dist/src/wirings/queue/pikku-queue-map.js +8 -0
  100. package/dist/src/wirings/queue/pikku-queue.d.ts +2 -0
  101. package/dist/src/wirings/queue/pikku-queue.js +10 -0
  102. package/dist/src/wirings/queue/serialize-queue-map.d.ts +4 -0
  103. package/dist/src/wirings/queue/serialize-queue-map.js +77 -0
  104. package/dist/src/wirings/queue/serialize-queue-meta.d.ts +2 -0
  105. package/dist/src/wirings/queue/serialize-queue-meta.js +6 -0
  106. package/dist/src/wirings/queue/serialize-queue-wrapper.d.ts +1 -0
  107. package/dist/src/wirings/queue/serialize-queue-wrapper.js +35 -0
  108. package/dist/src/wirings/rpc/pikku-command-rpc-client.d.ts +2 -0
  109. package/dist/src/wirings/rpc/pikku-command-rpc-client.js +15 -0
  110. package/dist/src/wirings/rpc/pikku-command-rpc-map.d.ts +2 -0
  111. package/dist/src/wirings/rpc/pikku-command-rpc-map.js +8 -0
  112. package/dist/src/wirings/rpc/pikku-command-rpc.d.ts +2 -0
  113. package/dist/src/wirings/rpc/pikku-command-rpc.js +6 -0
  114. package/dist/src/wirings/rpc/pikku-rpc.d.ts +2 -0
  115. package/dist/src/wirings/rpc/pikku-rpc.js +6 -0
  116. package/dist/src/wirings/rpc/serialize-rpc-wrapper.d.ts +1 -0
  117. package/dist/src/wirings/rpc/serialize-rpc-wrapper.js +68 -0
  118. package/dist/src/wirings/rpc/serialize-typed-rpc-map.d.ts +4 -0
  119. package/dist/src/wirings/rpc/serialize-typed-rpc-map.js +66 -0
  120. package/dist/src/wirings/scheduler/pikku-command-scheduler.d.ts +2 -0
  121. package/dist/src/wirings/scheduler/pikku-command-scheduler.js +10 -0
  122. package/dist/src/wirings/scheduler/serialize-scheduler-meta.d.ts +2 -0
  123. package/dist/src/wirings/scheduler/serialize-scheduler-meta.js +10 -0
  124. package/dist/tsconfig.tsbuildinfo +1 -1
  125. package/lcov.info +582 -0
  126. package/package.json +3 -3
  127. package/src/inspector-glob.ts +2 -2
  128. package/src/pikku-cli-config.ts +67 -52
  129. package/src/runtimes/nextjs/pikku-command-nextjs.ts +3 -3
  130. package/src/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +29 -29
  131. package/src/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +28 -28
  132. package/src/schema-generator.ts +3 -3
  133. package/src/serialize-pikku-types.ts +67 -67
  134. package/src/utils.test.ts +38 -0
  135. package/src/utils.ts +9 -0
  136. package/src/{events → wirings}/channels/pikku-channels.ts +5 -4
  137. package/src/{events → wirings}/channels/pikku-command-channels.ts +5 -4
  138. package/src/{events → wirings}/channels/serialize-typed-channel-map.ts +3 -3
  139. package/src/{events → wirings}/channels/serialize-websocket-wrapper.ts +19 -5
  140. package/src/{events → wirings}/fetch/index.ts +2 -2
  141. package/src/{events → wirings}/http/openapi-spec-generator.ts +3 -3
  142. package/src/{events → wirings}/http/pikku-command-http-map.ts +5 -5
  143. package/src/{events → wirings}/http/pikku-command-http-routes.ts +5 -5
  144. package/src/{events → wirings}/http/pikku-http-routes.ts +5 -5
  145. package/src/wirings/http/serialize-fetch-wrapper.ts +67 -0
  146. package/src/{events → wirings}/http/serialize-typed-http-map.ts +17 -17
  147. package/src/{events → wirings}/mcp/pikku-command-mcp.ts +5 -5
  148. package/src/{events → wirings}/queue/pikku-command-queue-service.ts +9 -6
  149. package/src/{events → wirings}/queue/pikku-command-queue.ts +8 -5
  150. package/src/{events → wirings}/queue/pikku-queue.ts +8 -5
  151. package/src/{events → wirings}/rpc/pikku-command-rpc-client.ts +9 -6
  152. package/src/{events → wirings}/rpc/pikku-command-rpc.ts +2 -2
  153. package/src/{events → wirings}/rpc/pikku-rpc.ts +2 -2
  154. package/src/wirings/rpc/serialize-rpc-wrapper.ts +68 -0
  155. package/src/{events → wirings}/scheduler/pikku-command-scheduler.ts +8 -4
  156. package/src/events/http/serialize-fetch-wrapper.ts +0 -67
  157. package/src/events/rpc/serialize-rpc-wrapper.ts +0 -29
  158. /package/src/{events → wirings}/channels/pikku-command-channels-map.ts +0 -0
  159. /package/src/{events → wirings}/channels/pikku-command-websocket-typed.ts +0 -0
  160. /package/src/{events → wirings}/functions/pikku-command-function-types.ts +0 -0
  161. /package/src/{events → wirings}/functions/pikku-command-functions.ts +0 -0
  162. /package/src/{events → wirings}/functions/pikku-command-services.ts +0 -0
  163. /package/src/{events → wirings}/functions/pikku-function-types.ts +0 -0
  164. /package/src/{events → wirings}/functions/pikku-functions.ts +0 -0
  165. /package/src/{events → wirings}/http/pikku-command-openapi.ts +0 -0
  166. /package/src/{events → wirings}/mcp/pikku-command-mcp-json.ts +0 -0
  167. /package/src/{events → wirings}/mcp/serialize-mcp-json.ts +0 -0
  168. /package/src/{events → wirings}/queue/pikku-command-queue-map.ts +0 -0
  169. /package/src/{events → wirings}/queue/pikku-queue-map.ts +0 -0
  170. /package/src/{events → wirings}/queue/serialize-queue-map.ts +0 -0
  171. /package/src/{events → wirings}/queue/serialize-queue-meta.ts +0 -0
  172. /package/src/{events → wirings}/queue/serialize-queue-wrapper.ts +0 -0
  173. /package/src/{events → wirings}/rpc/pikku-command-rpc-map.ts +0 -0
  174. /package/src/{events → wirings}/rpc/serialize-typed-rpc-map.ts +0 -0
  175. /package/src/{events → wirings}/scheduler/serialize-scheduler-meta.ts +0 -0
@@ -1,4 +1,4 @@
1
- import { FunctionsMeta, HTTPRoutesMeta } from '@pikku/core';
1
+ import { FunctionsMeta, HTTPWiringsMeta } from '@pikku/core';
2
2
  interface OpenAPISpec {
3
3
  openapi: string;
4
4
  info: {
@@ -75,5 +75,5 @@ export interface OpenAPISpecInfo {
75
75
  [key: string]: any[];
76
76
  }[];
77
77
  }
78
- export declare function generateOpenAPISpec(functionsMeta: FunctionsMeta, routeMeta: HTTPRoutesMeta, schemas: Record<string, any>, additionalInfo: OpenAPISpecInfo): Promise<OpenAPISpec>;
78
+ export declare function generateOpenAPISpec(functionsMeta: FunctionsMeta, routeMeta: HTTPWiringsMeta, schemas: Record<string, any>, additionalInfo: OpenAPISpecInfo): Promise<OpenAPISpec>;
79
79
  export {};
@@ -1,8 +1,8 @@
1
1
  import { logCommandInfoAndTime, writeFileInDir } from '../../utils.js';
2
- import { serializeTypedRoutesMap } from './serialize-typed-http-map.js';
3
- export const pikkuHTTPMap = async (logger, { httpRoutesMapDeclarationFile, packageMappings }, { http, functions }) => {
2
+ import { serializeTypedHTTPWiringsMap } from './serialize-typed-http-map.js';
3
+ export const pikkuHTTPMap = async (logger, { httpMapDeclarationFile, packageMappings }, { http, functions }) => {
4
4
  return await logCommandInfoAndTime(logger, 'Creating HTTP map', 'Created HTTP map', [http.files.size === 0], async () => {
5
- const content = serializeTypedRoutesMap(httpRoutesMapDeclarationFile, packageMappings, functions.typesMap, functions.meta, http.meta, http.metaInputTypes);
6
- await writeFileInDir(logger, httpRoutesMapDeclarationFile, content);
5
+ const content = serializeTypedHTTPWiringsMap(httpMapDeclarationFile, packageMappings, functions.typesMap, functions.meta, http.meta, http.metaInputTypes);
6
+ await writeFileInDir(logger, httpMapDeclarationFile, content);
7
7
  });
8
8
  };
@@ -1,9 +1,9 @@
1
1
  import { logCommandInfoAndTime, serializeFileImports, writeFileInDir, } from '../../utils.js';
2
2
  export const pikkuHTTP = async (logger, cliConfig, visitState) => {
3
3
  return await logCommandInfoAndTime(logger, 'Finding HTTP routes', 'Found HTTP routes', [visitState.http.files.size === 0], async () => {
4
- const { httpRoutesFile, httpRoutesMetaFile, packageMappings } = cliConfig;
4
+ const { httpWiringsFile, httpWiringMetaFile, packageMappings } = cliConfig;
5
5
  const { http } = visitState;
6
- await writeFileInDir(logger, httpRoutesFile, serializeFileImports('addHTTPRoute', httpRoutesFile, http.files, packageMappings));
7
- await writeFileInDir(logger, httpRoutesMetaFile, `import { pikkuState } from '@pikku/core'\npikkuState('http', 'meta', ${JSON.stringify(http.meta, null, 2)})`);
6
+ await writeFileInDir(logger, httpWiringsFile, serializeFileImports('wireHTTP', httpWiringsFile, http.files, packageMappings));
7
+ await writeFileInDir(logger, httpWiringMetaFile, `import { pikkuState } from '@pikku/core'\npikkuState('http', 'meta', ${JSON.stringify(http.meta, null, 2)})`);
8
8
  });
9
9
  };
@@ -0,0 +1,2 @@
1
+ import { PikkuCommand } from '../../types.js';
2
+ export declare const pikkuNext: PikkuCommand;
@@ -0,0 +1,36 @@
1
+ import { serializeNextJsBackendWrapper as serializeNextBackendWrapper } from '../../runtimes/nextjs/serialize-nextjs-backend-wrapper.js';
2
+ import { serializeNextJsHTTPWrapper as serializeNextHTTPWrapper } from '../../runtimes/nextjs/serialize-nextjs-http-wrapper.js';
3
+ import { getFileImportRelativePath, getPikkuFilesAndMethods, logCommandInfoAndTime, writeFileInDir, } from '../../utils.js';
4
+ export const pikkuNext = async (logger, { nextBackendFile, nextHTTPFile, httpRoutesMapDeclarationFile, packageMappings, fetchFile, bootstrapFiles, }, visitState, options = {}) => {
5
+ return await logCommandInfoAndTime(logger, 'Generating nextjs wrapper', 'Generated nextjs wrapper', [
6
+ nextBackendFile === undefined && nextHTTPFile === undefined,
7
+ 'nextjs outfile is not defined',
8
+ ], async () => {
9
+ if (!nextBackendFile && !nextHTTPFile) {
10
+ throw new Error('nextBackendFile or nextHTTPFile is required in pikku config for nextJS');
11
+ }
12
+ if (nextHTTPFile && !fetchFile) {
13
+ throw new Error('fetchFile is required in pikku config in order for nextJS http wrapper to work');
14
+ }
15
+ if (nextBackendFile) {
16
+ const { pikkuConfigFactory, singletonServicesFactory, sessionServicesFactory, } = await getPikkuFilesAndMethods(logger, visitState, packageMappings, nextBackendFile, options, {
17
+ config: true,
18
+ singletonServicesFactory: true,
19
+ sessionServicesFactory: true,
20
+ });
21
+ const pikkuConfigImport = `import { ${pikkuConfigFactory.variable} as createConfig } from '${getFileImportRelativePath(nextBackendFile, pikkuConfigFactory.file, packageMappings)}'`;
22
+ const singletonServicesImport = `import { ${singletonServicesFactory.variable} as createSingletonServices } from '${getFileImportRelativePath(nextBackendFile, singletonServicesFactory.file, packageMappings)}'`;
23
+ const sessionServicesImport = `import { ${sessionServicesFactory.variable} as createSessionServices } from '${getFileImportRelativePath(nextBackendFile, sessionServicesFactory.file, packageMappings)}'`;
24
+ const httpBootstrapPath = getFileImportRelativePath(nextBackendFile, bootstrapFiles.http, packageMappings);
25
+ const routesMapDeclarationPath = getFileImportRelativePath(nextBackendFile, httpRoutesMapDeclarationFile, packageMappings);
26
+ const content = serializeNextBackendWrapper(httpBootstrapPath, routesMapDeclarationPath, pikkuConfigImport, singletonServicesImport, sessionServicesImport);
27
+ await writeFileInDir(logger, nextBackendFile, content);
28
+ }
29
+ if (nextHTTPFile && fetchFile) {
30
+ const routesMapDeclarationPath = getFileImportRelativePath(nextHTTPFile, httpRoutesMapDeclarationFile, packageMappings);
31
+ const fetchPath = getFileImportRelativePath(nextHTTPFile, fetchFile, packageMappings);
32
+ const content = serializeNextHTTPWrapper(routesMapDeclarationPath, fetchPath);
33
+ await writeFileInDir(logger, nextHTTPFile, content);
34
+ }
35
+ });
36
+ };
@@ -1,9 +1,9 @@
1
1
  import { logCommandInfoAndTime, serializeFileImports, writeFileInDir, } from '../../utils.js';
2
2
  export const pikkuHTTP = async (logger, cliConfig, visitState) => {
3
3
  return await logCommandInfoAndTime(logger, 'Finding HTTP routes', 'Found HTTP routes', [visitState.http.files.size === 0], async () => {
4
- const { httpRoutesFile, httpRoutesMetaFile, packageMappings } = cliConfig;
4
+ const { httpWiringsFile, httpWiringMetaFile, packageMappings } = cliConfig;
5
5
  const { http } = visitState;
6
- await writeFileInDir(logger, httpRoutesFile, serializeFileImports('addHTTPRoute', httpRoutesFile, http.files, packageMappings));
7
- await writeFileInDir(logger, httpRoutesMetaFile, `import { pikkuState } from '@pikku/core'\npikkuState('http', 'meta', ${JSON.stringify(http.meta, null, 2)})`);
6
+ await writeFileInDir(logger, httpWiringsFile, serializeFileImports('wireHTTP', httpWiringsFile, http.files, packageMappings));
7
+ await writeFileInDir(logger, httpWiringMetaFile, `import { pikkuState } from '@pikku/core'\npikkuState('http', 'meta', ${JSON.stringify(http.meta, null, 2)})`);
8
8
  });
9
9
  };
@@ -1,4 +1,4 @@
1
- import { HTTPRoutesMeta } from '@pikku/core/http';
1
+ import { HTTPWiringsMeta } from '@pikku/core/http';
2
2
  import { MetaInputTypes, TypesMap } from '@pikku/inspector';
3
3
  import { FunctionsMeta } from '@pikku/core';
4
- export declare const serializeTypedRoutesMap: (relativeToPath: string, packageMappings: Record<string, string>, typesMap: TypesMap, functionsMeta: FunctionsMeta, routesMeta: HTTPRoutesMeta, metaTypes: MetaInputTypes) => string;
4
+ export declare const serializeTypedHTTPWiringsMap: (relativeToPath: string, packageMappings: Record<string, string>, typesMap: TypesMap, functionsMeta: FunctionsMeta, wiringsMeta: HTTPWiringsMeta, metaTypes: MetaInputTypes) => string;
@@ -1,10 +1,10 @@
1
1
  import { serializeImportMap } from '../../serialize-import-map.js';
2
2
  import { generateCustomTypes } from '../../utils.js';
3
- export const serializeTypedRoutesMap = (relativeToPath, packageMappings, typesMap, functionsMeta, routesMeta, metaTypes) => {
3
+ export const serializeTypedHTTPWiringsMap = (relativeToPath, packageMappings, typesMap, functionsMeta, wiringsMeta, metaTypes) => {
4
4
  const requiredTypes = new Set();
5
5
  const serializedCustomTypes = generateCustomTypes(typesMap, requiredTypes);
6
6
  const serializedMetaTypes = generateMetaTypes(metaTypes, typesMap);
7
- const serializedRoutes = generateRoutes(routesMeta, functionsMeta, typesMap, requiredTypes);
7
+ const serializedHTTPWirings = generateHTTPWirings(wiringsMeta, functionsMeta, typesMap, requiredTypes);
8
8
  const serializedImportMap = serializeImportMap(relativeToPath, packageMappings, typesMap, requiredTypes);
9
9
  return `/**
10
10
  * This provides the structure needed for typescript to be aware of routes and their return types
@@ -14,24 +14,24 @@ ${serializedImportMap}
14
14
  ${serializedCustomTypes}
15
15
  ${serializedMetaTypes}
16
16
 
17
- interface RouteHandler<I, O> {
17
+ interface HTTPWiringHandler<I, O> {
18
18
  input: I;
19
19
  output: O;
20
20
  }
21
21
 
22
- ${serializedRoutes}
22
+ ${serializedHTTPWirings}
23
23
 
24
- export type RouteHandlerOf<Route extends keyof RoutesMap, Method extends keyof RoutesMap[Route]> =
25
- RoutesMap[Route][Method] extends { input: infer I; output: infer O }
26
- ? RouteHandler<I, O>
24
+ export type HTTPWiringHandlerOf<HTTPWiring extends keyof HTTPWiringsMap, Method extends keyof HTTPWiringsMap[HTTPWiring]> =
25
+ HTTPWiringsMap[HTTPWiring][Method] extends { input: infer I; output: infer O }
26
+ ? HTTPWiringHandler<I, O>
27
27
  : never;
28
28
 
29
- export type RoutesWithMethod<Method extends string> = {
30
- [Route in keyof RoutesMap]: Method extends keyof RoutesMap[Route] ? Route : never;
31
- }[keyof RoutesMap];
29
+ export type HTTPWiringsWithMethod<Method extends string> = {
30
+ [HTTPWiring in keyof HTTPWiringsMap]: Method extends keyof HTTPWiringsMap[HTTPWiring] ? HTTPWiring : never;
31
+ }[keyof HTTPWiringsMap];
32
32
  `;
33
33
  };
34
- function generateRoutes(routesMeta, functionsMeta, typesMap, requiredTypes) {
34
+ function generateHTTPWirings(routesMeta, functionsMeta, typesMap, requiredTypes) {
35
35
  // Initialize an object to collect routes
36
36
  const routesObj = {};
37
37
  for (const meta of routesMeta) {
@@ -34,9 +34,9 @@ const generateArgumentsFromSchema = async (inputSchema, schemaDirectory, typesMa
34
34
  return [];
35
35
  }
36
36
  };
37
- export const pikkuMCP = async (logger, { mcpEndpointsFile, mcpEndpointsMetaFile, packageMappings, schemaDirectory }, { mcpEndpoints, functions }) => {
37
+ export const pikkuMCP = async (logger, { mcpWiringsFile, mcpWiringsMetaFile, packageMappings, schemaDirectory }, { mcpEndpoints, functions }) => {
38
38
  return await logCommandInfoAndTime(logger, 'Finding MCP endpoints', 'Found MCP endpoints', [mcpEndpoints.files.size === 0], async () => {
39
- await writeFileInDir(logger, mcpEndpointsFile, serializeFileImports('addMCPResource or addMCPTool', mcpEndpointsFile, mcpEndpoints.files, packageMappings));
39
+ await writeFileInDir(logger, mcpWiringsFile, serializeFileImports('wireMCPResource or wireMCPTool', mcpWiringsFile, mcpEndpoints.files, packageMappings));
40
40
  // Populate arguments for prompts meta before serializing
41
41
  const promptsMetaWithArguments = { ...mcpEndpoints.promptsMeta };
42
42
  for (const promptMeta of Object.values(promptsMetaWithArguments)) {
@@ -46,7 +46,7 @@ export const pikkuMCP = async (logger, { mcpEndpointsFile, mcpEndpointsMetaFile,
46
46
  promptMeta.arguments = await generateArgumentsFromSchema(inputType || null, schemaDirectory || '', functions.typesMap, logger);
47
47
  }
48
48
  }
49
- await writeFileInDir(logger, mcpEndpointsMetaFile, `import { pikkuState } from '@pikku/core'
49
+ await writeFileInDir(logger, mcpWiringsMetaFile, `import { pikkuState } from '@pikku/core'
50
50
  pikkuState('mcp', 'resourcesMeta', ${JSON.stringify(mcpEndpoints.resourcesMeta, null, 2)})
51
51
  pikkuState('mcp', 'toolsMeta', ${JSON.stringify(mcpEndpoints.toolsMeta, null, 2)})
52
52
  pikkuState('mcp', 'promptsMeta', ${JSON.stringify(promptsMetaWithArguments, null, 2)})`);
@@ -1,12 +1,12 @@
1
1
  import { serializeQueueWrapper } from './serialize-queue-wrapper.js';
2
2
  import { getFileImportRelativePath, logCommandInfoAndTime, writeFileInDir, } from '../../utils.js';
3
- export const pikkuQueueService = async (logger, { queueFile, queueMapDeclarationFile, packageMappings }) => {
4
- return await logCommandInfoAndTime(logger, 'Generating queue service wrapper', 'Generated queue service wrapper', [queueFile === undefined, "queueFile isn't set in the pikku config"], async () => {
5
- if (!queueFile) {
6
- throw new Error("queueFile is isn't set in the pikku config");
3
+ export const pikkuQueueService = async (logger, { queueWiringsFile, queueMapDeclarationFile, packageMappings }) => {
4
+ return await logCommandInfoAndTime(logger, 'Generating queue service wrapper', 'Generated queue service wrapper', [queueWiringsFile === undefined, "queueWiringsFile isn't set in the pikku config"], async () => {
5
+ if (!queueWiringsFile) {
6
+ throw new Error("queueWiringsFile is isn't set in the pikku config");
7
7
  }
8
- const queueMapDeclarationPath = getFileImportRelativePath(queueFile, queueMapDeclarationFile, packageMappings);
8
+ const queueMapDeclarationPath = getFileImportRelativePath(queueWiringsFile, queueMapDeclarationFile, packageMappings);
9
9
  const content = [serializeQueueWrapper(queueMapDeclarationPath)];
10
- await writeFileInDir(logger, queueFile, content.join('\n'));
10
+ await writeFileInDir(logger, queueWiringsFile, content.join('\n'));
11
11
  });
12
12
  };
@@ -2,9 +2,9 @@ import { logCommandInfoAndTime, serializeFileImports, writeFileInDir, } from '..
2
2
  import { serializeQueueMeta } from './serialize-queue-meta.js';
3
3
  export const pikkuQueue = async (logger, cliConfig, visitState) => {
4
4
  return await logCommandInfoAndTime(logger, 'Finding queues', 'Found queue', [visitState.queueWorkers.files.size === 0], async () => {
5
- const { queueWorkersFile, queueWorkersMetaFile, packageMappings } = cliConfig;
5
+ const { queueWorkersWiringFile, queueWorkersWiringMetaFile, packageMappings } = cliConfig;
6
6
  const { queueWorkers } = visitState;
7
- await writeFileInDir(logger, queueWorkersMetaFile, serializeQueueMeta(queueWorkers.meta));
8
- await writeFileInDir(logger, queueWorkersFile, serializeFileImports('addQueueWorkers', queueWorkersFile, queueWorkers.files, packageMappings));
7
+ await writeFileInDir(logger, queueWorkersWiringMetaFile, serializeQueueMeta(queueWorkers.meta));
8
+ await writeFileInDir(logger, queueWorkersWiringFile, serializeFileImports('addQueueWorkers', queueWorkersWiringFile, queueWorkers.files, packageMappings));
9
9
  });
10
10
  };
@@ -2,9 +2,9 @@ import { logCommandInfoAndTime, serializeFileImports, writeFileInDir, } from '..
2
2
  import { serializeQueueMeta } from './serialize-queue-meta.js';
3
3
  export const pikkuQueue = async (logger, cliConfig, visitState) => {
4
4
  return await logCommandInfoAndTime(logger, 'Finding queues', 'Found queue', [visitState.queueWorkers.files.size === 0], async () => {
5
- const { queueWorkersFile, queueWorkersMetaFile, packageMappings } = cliConfig;
5
+ const { queueWorkersWiringFile, queueWorkersWiringMetaFile, packageMappings } = cliConfig;
6
6
  const { queueWorkers } = visitState;
7
- await writeFileInDir(logger, queueWorkersMetaFile, serializeQueueMeta(queueWorkers.meta));
8
- await writeFileInDir(logger, queueWorkersFile, serializeFileImports('addQueueWorkers', queueWorkersFile, queueWorkers.files, packageMappings));
7
+ await writeFileInDir(logger, queueWorkersWiringMetaFile, serializeQueueMeta(queueWorkers.meta));
8
+ await writeFileInDir(logger, queueWorkersWiringFile, serializeFileImports('addQueueWorkers', queueWorkersWiringFile, queueWorkers.files, packageMappings));
9
9
  });
10
10
  };
@@ -0,0 +1,2 @@
1
+ import { PikkuCommandWithoutState } from '../../types.js';
2
+ export declare const pikkuRPCClient: PikkuCommandWithoutState;
@@ -0,0 +1,12 @@
1
+ import { serializeRPCWrapper } from './serialize-rpc-wrapper.js';
2
+ import { getFileImportRelativePath, logCommandInfoAndTime, writeFileInDir, } from '../../utils.js';
3
+ export const pikkuRPCClient = async (logger, { rpcFile, rpcMapDeclarationFile, packageMappings }) => {
4
+ return await logCommandInfoAndTime(logger, 'Generating RPC wrapper', 'Generated RPC wrapper', [rpcFile === undefined, "rpcFile isn't set in the pikku config"], async () => {
5
+ if (!rpcFile) {
6
+ throw new Error("rpcFile isn't set in the pikku config");
7
+ }
8
+ const rpcMapDeclarationPath = getFileImportRelativePath(rpcFile, rpcMapDeclarationFile, packageMappings);
9
+ const content = [serializeRPCWrapper(rpcMapDeclarationPath)];
10
+ await writeFileInDir(logger, rpcFile, content.join('\n'));
11
+ });
12
+ };
@@ -1,12 +1,12 @@
1
1
  import { serializeRPCWrapper } from './serialize-rpc-wrapper.js';
2
2
  import { getFileImportRelativePath, logCommandInfoAndTime, writeFileInDir, } from '../../utils.js';
3
- export const pikkuRPCClient = async (logger, { rpcFile, rpcMapDeclarationFile, packageMappings }) => {
4
- return await logCommandInfoAndTime(logger, 'Generating RPC wrapper', 'Generated RPC wrapper', [rpcFile === undefined, "rpcFile isn't set in the pikku config"], async () => {
5
- if (!rpcFile) {
6
- throw new Error("rpcFile isn't set in the pikku config");
3
+ export const pikkuRPCClient = async (logger, { rpcWiringsFile, rpcMapDeclarationFile, packageMappings }) => {
4
+ return await logCommandInfoAndTime(logger, 'Generating RPC wrapper', 'Generated RPC wrapper', [rpcWiringsFile === undefined, "rpcWiringsFile isn't set in the pikku config"], async () => {
5
+ if (!rpcWiringsFile) {
6
+ throw new Error("rpcWiringsFile isn't set in the pikku config");
7
7
  }
8
- const rpcMapDeclarationPath = getFileImportRelativePath(rpcFile, rpcMapDeclarationFile, packageMappings);
8
+ const rpcMapDeclarationPath = getFileImportRelativePath(rpcWiringsFile, rpcMapDeclarationFile, packageMappings);
9
9
  const content = [serializeRPCWrapper(rpcMapDeclarationPath)];
10
- await writeFileInDir(logger, rpcFile, content.join('\n'));
10
+ await writeFileInDir(logger, rpcWiringsFile, content.join('\n'));
11
11
  });
12
12
  };
@@ -1,6 +1,6 @@
1
1
  import { logCommandInfoAndTime, writeFileInDir } from '../../utils.js';
2
- export const pikkuRPC = async (logger, { rpcMetaFile }, { rpc }) => {
2
+ export const pikkuRPC = async (logger, { rpcWiringMetaFile }, { rpc }) => {
3
3
  return await logCommandInfoAndTime(logger, 'Finding RPCs tasks', 'Found RPCs', [false], async () => {
4
- await writeFileInDir(logger, rpcMetaFile, `import { pikkuState } from '@pikku/core'\npikkuState('rpc', 'meta', ${JSON.stringify(rpc.meta, null, 2)})`);
4
+ await writeFileInDir(logger, rpcWiringMetaFile, `import { pikkuState } from '@pikku/core'\npikkuState('rpc', 'meta', ${JSON.stringify(rpc.meta, null, 2)})`);
5
5
  });
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import { logCommandInfoAndTime, writeFileInDir } from '../../utils.js';
2
- export const pikkuRPC = async (logger, { rpcMetaFile }, { rpc }) => {
2
+ export const pikkuRPC = async (logger, { rpcWiringMetaFile }, { rpc }) => {
3
3
  return await logCommandInfoAndTime(logger, 'Finding RPCs tasks', 'Found RPCs', [false], async () => {
4
- await writeFileInDir(logger, rpcMetaFile, `import { pikkuState } from '@pikku/core'\npikkuState('rpc', 'meta', ${JSON.stringify(rpc.meta, null, 2)})`);
4
+ await writeFileInDir(logger, rpcWiringMetaFile, `import { pikkuState } from '@pikku/core'\npikkuState('rpc', 'meta', ${JSON.stringify(rpc.meta, null, 2)})`);
5
5
  });
6
6
  };
@@ -3,22 +3,61 @@ export const serializeRPCWrapper = (rpcMapPath) => {
3
3
  import { PikkuFetch } from "./pikku-fetch.gen.js"
4
4
  import type { RPCInvoke } from '${rpcMapPath}'
5
5
 
6
+ /**
7
+ * PikkuRPC provides a type-safe client for making Remote Procedure Calls (RPC)
8
+ * to your Pikku server. It wraps the underlying HTTP client and provides a
9
+ * simple interface for invoking server-side functions.
10
+ */
6
11
  export class PikkuRPC {
12
+ /** The underlying HTTP client used for making RPC calls */
7
13
  pikkuFetch = new PikkuFetch()
8
14
 
15
+ /**
16
+ * Sets a custom PikkuFetch instance to use for RPC calls.
17
+ * This allows you to configure custom settings or use a shared client instance.
18
+ *
19
+ * @param pikkuFetch - The PikkuFetch instance to use
20
+ */
9
21
  setPikkuFetch(pikkuFetch: PikkuFetch): void {
10
22
  this.pikkuFetch = pikkuFetch
11
23
  }
12
24
 
25
+ /**
26
+ * Sets the base server URL for all RPC calls.
27
+ *
28
+ * @param serverUrl - The base URL of your Pikku server (e.g., 'https://api.example.com')
29
+ */
13
30
  setServerUrl(serverUrl: string): void {
14
31
  this.pikkuFetch.setServerUrl(serverUrl)
15
32
  }
16
33
 
34
+ /**
35
+ * Sets the JWT token for authorization on all RPC calls.
36
+ *
37
+ * @param jwt - The JWT token to use for authorization, or null to remove authorization
38
+ */
17
39
  setAuthorizationJWT(jwt: string | null): void {
18
40
  this.pikkuFetch.setAuthorizationJWT(jwt)
19
41
  }
20
42
 
21
- // Generic RPC invoke method
43
+ /**
44
+ * Sets the API key for authorization on all RPC calls.
45
+ *
46
+ * @param apiKey - The API key to use for authorization, or null to remove the API key
47
+ */
48
+ setAPIKey(apiKey: string | null): void {
49
+ this.pikkuFetch.setAPIKey(apiKey)
50
+ }
51
+
52
+ /**
53
+ * Invokes a remote procedure call on the server.
54
+ * This is a generic method that routes to the appropriate server function
55
+ * based on the function name and passes the provided data.
56
+ *
57
+ * @param name - The name of the server function to invoke
58
+ * @param data - The data to pass to the server function
59
+ * @returns A promise that resolves with the function's return value
60
+ */
22
61
  invoke: RPCInvoke = async (name, data) => {
23
62
  return await this.pikkuFetch.post('/rpc', { name, data })
24
63
  }
@@ -2,9 +2,9 @@ import { logCommandInfoAndTime, serializeFileImports, writeFileInDir, } from '..
2
2
  import { serializeSchedulerMeta } from './serialize-scheduler-meta.js';
3
3
  export const pikkuScheduler = async (logger, cliConfig, visitState) => {
4
4
  return await logCommandInfoAndTime(logger, 'Finding scheduled tasks', 'Found scheduled tasks', [visitState.scheduledTasks.files.size === 0], async () => {
5
- const { schedulersFile, schedulersMetaFile, packageMappings } = cliConfig;
5
+ const { schedulersWiringFile, schedulersWiringMetaFile, packageMappings } = cliConfig;
6
6
  const { scheduledTasks } = visitState;
7
- await writeFileInDir(logger, schedulersMetaFile, serializeSchedulerMeta(scheduledTasks.meta));
8
- await writeFileInDir(logger, schedulersFile, serializeFileImports('addScheduledTasks', schedulersFile, scheduledTasks.files, packageMappings));
7
+ await writeFileInDir(logger, schedulersWiringMetaFile, serializeSchedulerMeta(scheduledTasks.meta));
8
+ await writeFileInDir(logger, schedulersWiringFile, serializeFileImports('addScheduledTasks', schedulersWiringFile, scheduledTasks.files, packageMappings));
9
9
  });
10
10
  };
@@ -5,8 +5,8 @@ import { logCommandInfoAndTime } from './utils.js';
5
5
  export const inspectorGlob = async (logger, rootDir, srcDirectories, filters) => {
6
6
  let result;
7
7
  await logCommandInfoAndTime(logger, 'Inspecting codebase', 'Inspected codebase', [false], async () => {
8
- const routeFiles = (await Promise.all(srcDirectories.map((dir) => glob(`${path.join(rootDir, dir)}/**/*.ts`)))).flat();
9
- result = await inspect(logger, routeFiles, filters);
8
+ const wiringFiles = (await Promise.all(srcDirectories.map((dir) => glob(`${path.join(rootDir, dir)}/**/*.ts`)))).flat();
9
+ result = await inspect(logger, wiringFiles, filters);
10
10
  });
11
11
  return result;
12
12
  };
@@ -1,30 +1,30 @@
1
- import { OpenAPISpecInfo } from './events/http/openapi-spec-generator.js';
1
+ import { OpenAPISpecInfo } from './wirings/http/openapi-spec-generator.js';
2
2
  import { InspectorFilters } from '@pikku/inspector';
3
- import { PikkuEventTypes } from '@pikku/core';
3
+ import { PikkuWiringTypes } from '@pikku/core';
4
4
  export interface PikkuCLICoreOutputFiles {
5
5
  outDir?: string;
6
6
  schemaDirectory: string;
7
7
  typesDeclarationFile: string;
8
8
  functionsFile: string;
9
9
  functionsMetaFile: string;
10
- httpRoutesFile: string;
11
- httpRoutesMetaFile: string;
12
- httpRoutesMapDeclarationFile: string;
13
- channelsFile: string;
14
- channelsMetaFile: string;
10
+ httpWiringsFile: string;
11
+ httpWiringMetaFile: string;
12
+ httpMapDeclarationFile: string;
13
+ channelsWiringFile: string;
14
+ channelsWiringMetaFile: string;
15
15
  channelsMapDeclarationFile: string;
16
- rpcMetaFile: string;
16
+ rpcWiringMetaFile: string;
17
17
  rpcMapDeclarationFile: string;
18
- schedulersFile: string;
19
- schedulersMetaFile: string;
20
- queueWorkersFile: string;
21
- queueWorkersMetaFile: string;
18
+ schedulersWiringFile: string;
19
+ schedulersWiringMetaFile: string;
20
+ queueWorkersWiringFile: string;
21
+ queueWorkersWiringMetaFile: string;
22
22
  queueMapDeclarationFile: string;
23
- mcpEndpointsFile: string;
24
- mcpEndpointsMetaFile: string;
23
+ mcpWiringsFile: string;
24
+ mcpWiringsMetaFile: string;
25
25
  servicesFile: string;
26
26
  bootstrapFile: string;
27
- bootstrapFiles: Record<PikkuEventTypes, string>;
27
+ bootstrapFiles: Record<PikkuWiringTypes, string>;
28
28
  }
29
29
  export type PikkuCLIConfig = {
30
30
  $schema?: string;
@@ -39,8 +39,8 @@ export type PikkuCLIConfig = {
39
39
  nextHTTPFile?: string;
40
40
  fetchFile?: string;
41
41
  websocketFile?: string;
42
- rpcFile?: string;
43
- queueFile?: string;
42
+ rpcWiringsFile?: string;
43
+ queueWiringsFile?: string;
44
44
  mcpJsonFile?: string;
45
45
  openAPI?: {
46
46
  outputFile: string;
@@ -1,13 +1,13 @@
1
1
  import { join, dirname, resolve, isAbsolute } from 'path';
2
2
  import { readdir, readFile } from 'fs/promises';
3
- import { PikkuEventTypes } from '@pikku/core';
3
+ import { PikkuWiringTypes } from '@pikku/core';
4
4
  const CONFIG_DIR_FILES = [
5
5
  'nextBackendFile',
6
6
  'nextHTTPFile',
7
7
  'fetchFile',
8
8
  'websocketFile',
9
- 'rpcFile',
10
- 'queueFile',
9
+ 'rpcWiringsFile',
10
+ 'queueWiringsFile',
11
11
  'mcpJsonFile',
12
12
  ];
13
13
  export const getPikkuCLIConfig = async (configFile = undefined, requiredFields, filters = {}, exitProcess = false) => {
@@ -80,48 +80,48 @@ const _getPikkuCLIConfig = async (configFile = undefined, requiredFields, filter
80
80
  result.typesDeclarationFile = join(result.outDir, 'pikku-types.gen.ts');
81
81
  }
82
82
  // HTTP
83
- if (!result.httpRoutesFile) {
84
- result.httpRoutesFile = join(httpDir, 'pikku-http-routes.gen.ts');
83
+ if (!result.httpWiringsFile) {
84
+ result.httpWiringsFile = join(httpDir, 'pikku-http-wirings.gen.ts');
85
85
  }
86
- if (!result.httpRoutesMetaFile) {
87
- result.httpRoutesMetaFile = join(httpDir, 'pikku-http-routes-meta.gen.ts');
86
+ if (!result.httpWiringMetaFile) {
87
+ result.httpWiringMetaFile = join(httpDir, 'pikku-http-wirings-meta.gen.ts');
88
88
  }
89
- if (!result.httpRoutesMapDeclarationFile) {
90
- result.httpRoutesMapDeclarationFile = join(httpDir, 'pikku-http-routes-map.gen.d.ts');
89
+ if (!result.httpMapDeclarationFile) {
90
+ result.httpMapDeclarationFile = join(httpDir, 'pikku-http-wirings-map.gen.d.ts');
91
91
  }
92
92
  // Channels/WebSocket
93
- if (!result.channelsFile) {
94
- result.channelsFile = join(channelDir, 'pikku-channels.gen.ts');
93
+ if (!result.channelsWiringFile) {
94
+ result.channelsWiringFile = join(channelDir, 'pikku-channels.gen.ts');
95
95
  }
96
- if (!result.channelsMetaFile) {
97
- result.channelsMetaFile = join(channelDir, 'pikku-channels-meta.gen.ts');
96
+ if (!result.channelsWiringMetaFile) {
97
+ result.channelsWiringMetaFile = join(channelDir, 'pikku-channels-meta.gen.ts');
98
98
  }
99
99
  if (!result.channelsMapDeclarationFile) {
100
100
  result.channelsMapDeclarationFile = join(channelDir, 'pikku-channels-map.gen.d.ts');
101
101
  }
102
102
  // RPC
103
- if (!result.rpcMetaFile) {
104
- result.rpcMetaFile = join(rpcDir, 'pikku-rpc-meta.gen.ts');
103
+ if (!result.rpcWiringMetaFile) {
104
+ result.rpcWiringMetaFile = join(rpcDir, 'pikku-rpc-wirings-meta.gen.ts');
105
105
  }
106
106
  if (!result.rpcMapDeclarationFile) {
107
- result.rpcMapDeclarationFile = join(rpcDir, 'pikku-rpc-map.gen.ts');
107
+ result.rpcMapDeclarationFile = join(rpcDir, 'pikku-rpc-wirings-map.gen.d.ts');
108
108
  }
109
109
  // Scheduler
110
- if (!result.schedulersFile) {
111
- result.schedulersFile = join(schedulerDir, 'pikku-scheduler.gen.ts');
110
+ if (!result.schedulersWiringFile) {
111
+ result.schedulersWiringFile = join(schedulerDir, 'pikku-schedulers-wirings.gen.ts');
112
112
  }
113
- if (!result.schedulersMetaFile) {
114
- result.schedulersMetaFile = join(schedulerDir, 'pikku-scheduler-meta.gen.ts');
113
+ if (!result.schedulersWiringMetaFile) {
114
+ result.schedulersWiringMetaFile = join(schedulerDir, 'pikku-schedulers-wirings-meta.gen.ts');
115
115
  }
116
116
  // Queue
117
- if (!result.queueWorkersFile) {
118
- result.queueWorkersFile = join(queueDir, 'pikku-queue-workers.gen.ts');
117
+ if (!result.queueWorkersWiringFile) {
118
+ result.queueWorkersWiringFile = join(queueDir, 'pikku-queue-workers-wirings.gen.ts');
119
119
  }
120
- if (!result.queueWorkersMetaFile) {
121
- result.queueWorkersMetaFile = join(queueDir, 'pikku-queue-workers-meta.gen.ts');
120
+ if (!result.queueWorkersWiringMetaFile) {
121
+ result.queueWorkersWiringMetaFile = join(queueDir, 'pikku-queue-workers-wirings-meta.gen.ts');
122
122
  }
123
123
  if (!result.queueMapDeclarationFile) {
124
- result.queueMapDeclarationFile = join(queueDir, 'pikku-queue-map.gen.ts');
124
+ result.queueMapDeclarationFile = join(queueDir, 'pikku-queue-workers-wirings-map.gen.d.ts');
125
125
  }
126
126
  // Services
127
127
  if (!result.servicesFile) {
@@ -132,17 +132,17 @@ const _getPikkuCLIConfig = async (configFile = undefined, requiredFields, filter
132
132
  result.bootstrapFile = join(result.outDir, 'pikku-bootstrap.gen.ts');
133
133
  }
134
134
  // MCP
135
- if (!result.mcpEndpointsMetaFile) {
136
- result.mcpEndpointsMetaFile = join(mcpDir, 'mcp-endpoints-meta.gen.ts');
135
+ if (!result.mcpWiringsMetaFile) {
136
+ result.mcpWiringsMetaFile = join(mcpDir, 'pikku-mcp-wirings-meta.gen.ts');
137
137
  }
138
- if (!result.mcpEndpointsFile) {
139
- result.mcpEndpointsFile = join(mcpDir, 'mcp-endpoints.gen.ts');
138
+ if (!result.mcpWiringsFile) {
139
+ result.mcpWiringsFile = join(mcpDir, 'pikku-mcp-wirings.gen.ts');
140
140
  }
141
141
  if (!result.mcpJsonFile) {
142
- result.mcpJsonFile = join(mcpDir, 'mcp.gen.json');
142
+ result.mcpJsonFile = join(mcpDir, 'pikku-mcp.gen.json');
143
143
  }
144
144
  result.bootstrapFiles = result.bootstrapFiles || {};
145
- for (const key of Object.keys(PikkuEventTypes)) {
145
+ for (const key of Object.keys(PikkuWiringTypes)) {
146
146
  const eventDir = join(result.outDir, key.toLowerCase());
147
147
  result.bootstrapFiles[key] = join(eventDir, `pikku-bootstrap-${key}.gen.ts`);
148
148
  }
@@ -1,7 +1,7 @@
1
1
  import { logCommandInfoAndTime, getPikkuFilesAndMethods, getFileImportRelativePath, writeFileInDir, } from '../../utils.js';
2
2
  import { serializeNextJsBackendWrapper as serializeNextBackendWrapper } from './serialize-nextjs-backend-wrapper.js';
3
3
  import { serializeNextJsHTTPWrapper as serializeNextHTTPWrapper } from './serialize-nextjs-http-wrapper.js';
4
- export const pikkuNext = async (logger, { nextBackendFile, nextHTTPFile, httpRoutesMapDeclarationFile, packageMappings, fetchFile, bootstrapFiles, }, visitState, options = {}) => {
4
+ export const pikkuNext = async (logger, { nextBackendFile, nextHTTPFile, httpMapDeclarationFile, packageMappings, fetchFile, bootstrapFiles, }, visitState, options = {}) => {
5
5
  return await logCommandInfoAndTime(logger, 'Generating nextjs wrapper', 'Generated nextjs wrapper', [
6
6
  nextBackendFile === undefined && nextHTTPFile === undefined,
7
7
  'nextjs outfile is not defined',
@@ -22,12 +22,12 @@ export const pikkuNext = async (logger, { nextBackendFile, nextHTTPFile, httpRou
22
22
  const singletonServicesImport = `import { ${singletonServicesFactory.variable} as createSingletonServices } from '${getFileImportRelativePath(nextBackendFile, singletonServicesFactory.file, packageMappings)}'`;
23
23
  const sessionServicesImport = `import { ${sessionServicesFactory.variable} as createSessionServices } from '${getFileImportRelativePath(nextBackendFile, sessionServicesFactory.file, packageMappings)}'`;
24
24
  const httpBootstrapPath = getFileImportRelativePath(nextBackendFile, bootstrapFiles.http, packageMappings);
25
- const routesMapDeclarationPath = getFileImportRelativePath(nextBackendFile, httpRoutesMapDeclarationFile, packageMappings);
25
+ const routesMapDeclarationPath = getFileImportRelativePath(nextBackendFile, httpMapDeclarationFile, packageMappings);
26
26
  const content = serializeNextBackendWrapper(httpBootstrapPath, routesMapDeclarationPath, pikkuConfigImport, singletonServicesImport, sessionServicesImport);
27
27
  await writeFileInDir(logger, nextBackendFile, content);
28
28
  }
29
29
  if (nextHTTPFile && fetchFile) {
30
- const routesMapDeclarationPath = getFileImportRelativePath(nextHTTPFile, httpRoutesMapDeclarationFile, packageMappings);
30
+ const routesMapDeclarationPath = getFileImportRelativePath(nextHTTPFile, httpMapDeclarationFile, packageMappings);
31
31
  const fetchPath = getFileImportRelativePath(nextHTTPFile, fetchFile, packageMappings);
32
32
  const content = serializeNextHTTPWrapper(routesMapDeclarationPath, fetchPath);
33
33
  await writeFileInDir(logger, nextHTTPFile, content);