@pikku/cli 0.10.0 → 0.10.2

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 (152) hide show
  1. package/.pikku/channel/pikku-channel-types.gen.ts +4 -3
  2. package/.pikku/channel/pikku-channels-map.gen.d.ts +2 -2
  3. package/.pikku/channel/pikku-channels-meta.gen.ts +1 -1
  4. package/.pikku/channel/pikku-channels.gen.ts +1 -1
  5. package/.pikku/cli/pikku-cli-types.gen.ts +23 -1
  6. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +4 -115
  7. package/.pikku/cli/pikku-cli-wirings.gen.ts +2 -3
  8. package/.pikku/function/pikku-function-types.gen.ts +1 -1
  9. package/.pikku/function/pikku-functions-meta.gen.ts +156 -138
  10. package/.pikku/function/pikku-functions-meta.min.gen.ts +37 -32
  11. package/.pikku/function/pikku-functions.gen.ts +1 -1
  12. package/.pikku/http/pikku-http-types.gen.ts +1 -1
  13. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +2 -2
  14. package/.pikku/http/pikku-http-wirings-meta.gen.ts +1 -1
  15. package/.pikku/http/pikku-http-wirings.gen.ts +1 -1
  16. package/.pikku/mcp/pikku-mcp-types.gen.ts +1 -1
  17. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +1 -1
  18. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +1 -1
  19. package/.pikku/pikku-bootstrap.gen.ts +1 -1
  20. package/.pikku/pikku-services.gen.ts +16 -12
  21. package/.pikku/pikku-types.gen.ts +1 -1
  22. package/.pikku/pikku-websocket.gen.ts +15 -1
  23. package/.pikku/queue/pikku-queue-types.gen.ts +1 -1
  24. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +2 -2
  25. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +1 -1
  26. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +1 -1
  27. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +2 -2
  28. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +10 -9
  29. package/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts +9 -8
  30. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +1 -1
  31. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +1 -1
  32. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +1 -1
  33. package/.pikku/schemas/register.gen.ts +5 -5
  34. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  35. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  36. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  37. package/CHANGELOG.md +58 -0
  38. package/bin/pikku.ts +30 -21
  39. package/cli.schema.json +1 -1
  40. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +4 -3
  41. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  42. package/dist/.pikku/channel/pikku-channels-meta.gen.js +1 -1
  43. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  44. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  45. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +18 -1
  46. package/dist/.pikku/cli/pikku-cli-types.gen.js +20 -1
  47. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +4 -115
  48. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -2
  49. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -2
  50. package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
  51. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  52. package/dist/.pikku/function/pikku-functions-meta.gen.js +156 -138
  53. package/dist/.pikku/function/pikku-functions-meta.min.gen.js +37 -32
  54. package/dist/.pikku/function/pikku-functions.gen.js +1 -1
  55. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  56. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  57. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
  58. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  59. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  60. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  61. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  62. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +1 -1
  63. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
  64. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +1 -1
  65. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  66. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  67. package/dist/.pikku/pikku-services.gen.d.ts +9 -6
  68. package/dist/.pikku/pikku-services.gen.js +8 -2
  69. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  70. package/dist/.pikku/pikku-types.gen.js +1 -1
  71. package/dist/.pikku/pikku-websocket.gen.d.ts +15 -1
  72. package/dist/.pikku/pikku-websocket.gen.js +15 -1
  73. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  74. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  75. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  76. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  77. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  78. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +9 -8
  79. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  80. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  81. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +1 -1
  82. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
  83. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
  84. package/dist/.pikku/schemas/register.gen.js +3 -3
  85. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  86. package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  87. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  88. package/dist/bin/pikku.js +24 -19
  89. package/dist/src/cli.wiring.js +107 -99
  90. package/dist/src/functions/commands/all.js +31 -2
  91. package/dist/src/functions/commands/bootstrap.d.ts +1 -0
  92. package/dist/src/functions/commands/bootstrap.js +23 -0
  93. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +46 -2
  94. package/dist/src/functions/wirings/channels/serialize-channel-types.js +3 -2
  95. package/dist/src/functions/wirings/channels/serialize-websocket-wrapper.js +14 -0
  96. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +4 -4
  97. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.js +24 -4
  98. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +32 -7
  99. package/dist/src/functions/wirings/cli/serialize-cli-types.js +22 -0
  100. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  101. package/dist/src/functions/wirings/functions/pikku-command-services.js +54 -26
  102. package/dist/src/functions/wirings/functions/schemas.js +2 -2
  103. package/dist/src/functions/wirings/http/pikku-command-openapi.js +1 -1
  104. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +3 -10
  105. package/dist/src/middleware/log-command-info-and-time.d.ts +1 -1
  106. package/dist/src/middleware/log-command-info-and-time.js +8 -5
  107. package/dist/src/services/cli-logger.service.d.ts +7 -2
  108. package/dist/src/services/cli-logger.service.js +16 -4
  109. package/dist/src/services.js +77 -12
  110. package/dist/src/utils/check-required-types.js +11 -1
  111. package/dist/src/utils/command-summary.d.ts +43 -0
  112. package/dist/src/utils/command-summary.js +73 -0
  113. package/dist/src/utils/file-writer.js +2 -2
  114. package/dist/src/utils/pikku-cli-config.js +28 -0
  115. package/dist/src/utils/schema-generator.d.ts +2 -2
  116. package/dist/src/utils/schema-generator.js +3 -3
  117. package/dist/tsconfig.tsbuildinfo +1 -1
  118. package/package.json +3 -4
  119. package/pikku.config.json +5 -2
  120. package/src/cli.wiring.ts +106 -101
  121. package/src/functions/commands/all.ts +38 -2
  122. package/src/functions/commands/bootstrap.ts +27 -0
  123. package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +46 -2
  124. package/src/functions/wirings/channels/serialize-channel-types.ts +3 -2
  125. package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +14 -0
  126. package/src/functions/wirings/cli/pikku-command-cli-entry.ts +4 -4
  127. package/src/functions/wirings/cli/serialize-channel-cli-client.ts +24 -4
  128. package/src/functions/wirings/cli/serialize-channel-cli.ts +40 -8
  129. package/src/functions/wirings/cli/serialize-cli-types.ts +22 -0
  130. package/src/functions/wirings/functions/pikku-command-services.ts +57 -28
  131. package/src/functions/wirings/functions/schemas.ts +4 -3
  132. package/src/functions/wirings/http/pikku-command-openapi.ts +2 -1
  133. package/src/functions/wirings/middleware/pikku-command-middleware.ts +11 -22
  134. package/src/middleware/log-command-info-and-time.ts +8 -5
  135. package/src/services/cli-logger.service.ts +20 -5
  136. package/src/services.ts +86 -11
  137. package/src/utils/check-required-types.ts +16 -1
  138. package/src/utils/command-summary.ts +101 -0
  139. package/src/utils/file-writer.ts +2 -2
  140. package/src/utils/pikku-cli-config.ts +28 -0
  141. package/src/utils/schema-generator.ts +5 -4
  142. package/types/application-types.d.ts +5 -1
  143. package/types/config.d.ts +16 -6
  144. package/.pikku/cli/pikku-cli-channel.gen.ts +0 -34
  145. package/.pikku/cli/pikku-cli-client.gen.ts +0 -43
  146. package/.pikku/cli/pikku-cli.gen.ts +0 -41
  147. package/dist/.pikku/cli/pikku-cli-channel.gen.d.ts +0 -1
  148. package/dist/.pikku/cli/pikku-cli-channel.gen.js +0 -33
  149. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +0 -10
  150. package/dist/.pikku/cli/pikku-cli-client.gen.js +0 -34
  151. package/dist/.pikku/cli/pikku-cli.gen.d.ts +0 -10
  152. package/dist/.pikku/cli/pikku-cli.gen.js +0 -38
@@ -1,20 +1,24 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  import type { SingletonServices } from '../types/application-types.d.js'
5
5
  import type { Services } from '../types/application-types.d.js'
6
- import type { PikkuInteraction } from '@pikku/core'
7
6
 
8
- export const singletonServices = {
9
- 'config': true,
10
- 'getInspectorState': true,
11
- 'logger': true,
7
+ // Singleton services map: true if required, false if available but unused
8
+ export const requiredSingletonServices = {
9
+ 'config': true,
10
+ 'getInspectorState': false,
11
+ 'jwt': false,
12
+ 'logger': true,
13
+ 'schema': true,
14
+ 'variables': true,
12
15
  } as const
13
16
 
14
- // Singleton services (created once at startup)
15
- // Only includes services that are both required and available in SingletonServices
16
- export type RequiredSingletonServices = Pick<SingletonServices, Extract<keyof SingletonServices, 'config' | 'getInspectorState' | 'logger' | 'schema' | 'variables'>> & Partial<Omit<SingletonServices, 'config' | 'getInspectorState' | 'logger' | 'schema' | 'variables'>>
17
+ // Session services map: true if required, false if available but unused
18
+ export const requiredSessionServices = {
19
+ } as const
20
+
21
+ // Type exports
22
+ export type RequiredSingletonServices = Pick<SingletonServices, 'config' | 'logger' | 'schema' | 'variables'> & Partial<Omit<SingletonServices, 'config' | 'logger' | 'schema' | 'variables'>>
17
23
 
18
- // Session services (created per request, can access singleton services)
19
- // Omits singleton services and PikkuInteraction (mcp, rpc, http, channel)
20
- export type RequiredSessionServices = Omit<Services, keyof SingletonServices | keyof PikkuInteraction>
24
+ export type RequiredSessionServices = Partial<Services>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  /**
5
5
  * Main type export hub - re-exports all wiring-specific types
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  import { CorePikkuWebsocket, CorePikkuRouteHandler } from '@pikku/websocket'
5
5
  import { ChannelDefaultHandlerOf, ChannelWiringHandlerOf, ChannelsMap } from './channel/pikku-channels-map.gen.d.js';
@@ -28,6 +28,20 @@ class PikkuWebSocketRoute<Channel extends keyof ChannelsMap, Route extends keyof
28
28
  }
29
29
  }
30
30
 
31
+ /**
32
+ * Type-safe WebSocket wrapper for Pikku channels.
33
+ *
34
+ * @example
35
+ * // Browser usage
36
+ * const ws = new WebSocket('ws://localhost:3000')
37
+ * const pikkuWS = new PikkuWebSocket<'events'>(ws)
38
+ *
39
+ * @example
40
+ * // Node.js usage
41
+ * import WebSocket from 'ws'
42
+ * const ws = new WebSocket('ws://localhost:3000')
43
+ * const pikkuWS = new PikkuWebSocket<'events'>(ws)
44
+ */
31
45
  export class PikkuWebSocket<Channel extends keyof ChannelsMap, EventHubTopics extends Record<string, any> = {}> extends CorePikkuWebsocket {
32
46
  /**
33
47
  * Send a message to a specific route and method.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  /**
5
5
  * Queue-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  /**
5
5
  * This provides the structure needed for typescript to be aware of Queue workers and their input/output types
@@ -9,10 +9,10 @@
9
9
 
10
10
  // Custom types are those that are defined directly within generics
11
11
  // or are broken into simpler types
12
- export type PikkuSchemasOutput = false | true
13
12
  export type PikkuChannelsOutput = false | true
14
13
  export type PikkuCLIOutput = false | true
15
14
  export type PikkuFunctionsOutput = false | true
15
+ export type PikkuSchemasOutput = false | true
16
16
  export type PikkuHTTPOutput = false | true
17
17
  export type PikkuMCPOutput = false | true
18
18
  export type PikkuMiddlewareOutput = false | true
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  import { pikkuState } from '@pikku/core'
5
5
  pikkuState('queue', 'meta', {})
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  /* The files with an addQueueWorkers function call */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  /**
5
5
  * This provides the structure needed for typescript to be aware of RPCs and their return types
@@ -9,10 +9,10 @@
9
9
 
10
10
  // Custom types are those that are defined directly within generics
11
11
  // or are broken into simpler types
12
- export type PikkuSchemasOutput = false | true
13
12
  export type PikkuChannelsOutput = false | true
14
13
  export type PikkuCLIOutput = false | true
15
14
  export type PikkuFunctionsOutput = false | true
15
+ export type PikkuSchemasOutput = false | true
16
16
  export type PikkuHTTPOutput = false | true
17
17
  export type PikkuMCPOutput = false | true
18
18
  export type PikkuMiddlewareOutput = false | true
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  /**
5
5
  * This provides the structure needed for typescript to be aware of RPCs and their return types
@@ -9,10 +9,10 @@
9
9
 
10
10
  // Custom types are those that are defined directly within generics
11
11
  // or are broken into simpler types
12
- export type PikkuSchemasOutput = false | true
13
12
  export type PikkuChannelsOutput = false | true
14
13
  export type PikkuCLIOutput = false | true
15
14
  export type PikkuFunctionsOutput = false | true
15
+ export type PikkuSchemasOutput = false | true
16
16
  export type PikkuHTTPOutput = false | true
17
17
  export type PikkuMCPOutput = false | true
18
18
  export type PikkuMiddlewareOutput = false | true
@@ -27,36 +27,37 @@ interface RPCHandler<I, O> {
27
27
  }
28
28
 
29
29
  export type RPCMap = {
30
- readonly 'pikkuSchemas': RPCHandler<null, PikkuSchemasOutput>,
31
- readonly 'pikkuFetch': RPCHandler<null, null>,
32
- readonly 'pikkuWebSocketTyped': RPCHandler<null, null>,
33
- readonly 'pikkuRPCClient': RPCHandler<null, null>,
34
- readonly 'pikkuQueueService': RPCHandler<null, null>,
35
- readonly 'pikkuOpenAPI': RPCHandler<null, null>,
36
- readonly 'pikkuNext': RPCHandler<null, null>,
37
30
  readonly 'all': RPCHandler<null, null>,
31
+ readonly 'bootstrap': RPCHandler<null, null>,
38
32
  readonly 'watch': RPCHandler<null, null>,
33
+ readonly 'pikkuNext': RPCHandler<null, null>,
39
34
  readonly 'pikkuChannels': RPCHandler<null, PikkuChannelsOutput>,
40
35
  readonly 'pikkuChannelTypes': RPCHandler<null, null>,
41
36
  readonly 'pikkuChannelsMap': RPCHandler<null, null>,
37
+ readonly 'pikkuWebSocketTyped': RPCHandler<null, null>,
42
38
  readonly 'pikkuCLIEntry': RPCHandler<null, null>,
43
39
  readonly 'pikkuCLITypes': RPCHandler<null, null>,
44
40
  readonly 'pikkuCLI': RPCHandler<null, PikkuCLIOutput>,
41
+ readonly 'pikkuFetch': RPCHandler<null, null>,
45
42
  readonly 'pikkuFunctionTypesSplit': RPCHandler<null, null>,
46
43
  readonly 'pikkuFunctionTypes': RPCHandler<null, null>,
47
44
  readonly 'pikkuFunctions': RPCHandler<null, PikkuFunctionsOutput>,
48
45
  readonly 'pikkuServices': RPCHandler<null, null>,
46
+ readonly 'pikkuSchemas': RPCHandler<null, PikkuSchemasOutput>,
49
47
  readonly 'pikkuHTTPMap': RPCHandler<null, null>,
50
48
  readonly 'pikkuHTTP': RPCHandler<null, PikkuHTTPOutput>,
51
49
  readonly 'pikkuHTTPTypes': RPCHandler<null, null>,
50
+ readonly 'pikkuOpenAPI': RPCHandler<null, null>,
52
51
  readonly 'pikkuMCPJSON': RPCHandler<null, null>,
53
52
  readonly 'pikkuMCPTypes': RPCHandler<null, null>,
54
53
  readonly 'pikkuMCP': RPCHandler<null, PikkuMCPOutput>,
55
54
  readonly 'pikkuMiddleware': RPCHandler<null, PikkuMiddlewareOutput>,
56
55
  readonly 'pikkuPermissions': RPCHandler<null, PikkuPermissionsOutput>,
57
56
  readonly 'pikkuQueueMap': RPCHandler<null, null>,
57
+ readonly 'pikkuQueueService': RPCHandler<null, null>,
58
58
  readonly 'pikkuQueueTypes': RPCHandler<null, null>,
59
59
  readonly 'pikkuQueue': RPCHandler<null, PikkuQueueOutput>,
60
+ readonly 'pikkuRPCClient': RPCHandler<null, null>,
60
61
  readonly 'pikkuRPCInternalMap': RPCHandler<null, null>,
61
62
  readonly 'pikkuRPCExposedMap': RPCHandler<null, null>,
62
63
  readonly 'pikkuRPC': RPCHandler<null, PikkuRPCOutput>,
@@ -1,38 +1,39 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  import { pikkuState } from '@pikku/core'
5
5
  pikkuState('rpc', 'meta', {
6
- "pikkuSchemas": "pikkuSchemas",
7
- "pikkuFetch": "pikkuFetch",
8
- "pikkuWebSocketTyped": "pikkuWebSocketTyped",
9
- "pikkuRPCClient": "pikkuRPCClient",
10
- "pikkuQueueService": "pikkuQueueService",
11
- "pikkuOpenAPI": "pikkuOpenAPI",
12
- "pikkuNext": "pikkuNext",
13
6
  "all": "all",
7
+ "bootstrap": "bootstrap",
14
8
  "watch": "watch",
9
+ "pikkuNext": "pikkuNext",
15
10
  "pikkuChannels": "pikkuChannels",
16
11
  "pikkuChannelTypes": "pikkuChannelTypes",
17
12
  "pikkuChannelsMap": "pikkuChannelsMap",
13
+ "pikkuWebSocketTyped": "pikkuWebSocketTyped",
18
14
  "pikkuCLIEntry": "pikkuCLIEntry",
19
15
  "pikkuCLITypes": "pikkuCLITypes",
20
16
  "pikkuCLI": "pikkuCLI",
17
+ "pikkuFetch": "pikkuFetch",
21
18
  "pikkuFunctionTypesSplit": "pikkuFunctionTypesSplit",
22
19
  "pikkuFunctionTypes": "pikkuFunctionTypes",
23
20
  "pikkuFunctions": "pikkuFunctions",
24
21
  "pikkuServices": "pikkuServices",
22
+ "pikkuSchemas": "pikkuSchemas",
25
23
  "pikkuHTTPMap": "pikkuHTTPMap",
26
24
  "pikkuHTTP": "pikkuHTTP",
27
25
  "pikkuHTTPTypes": "pikkuHTTPTypes",
26
+ "pikkuOpenAPI": "pikkuOpenAPI",
28
27
  "pikkuMCPJSON": "pikkuMCPJSON",
29
28
  "pikkuMCPTypes": "pikkuMCPTypes",
30
29
  "pikkuMCP": "pikkuMCP",
31
30
  "pikkuMiddleware": "pikkuMiddleware",
32
31
  "pikkuPermissions": "pikkuPermissions",
33
32
  "pikkuQueueMap": "pikkuQueueMap",
33
+ "pikkuQueueService": "pikkuQueueService",
34
34
  "pikkuQueueTypes": "pikkuQueueTypes",
35
35
  "pikkuQueue": "pikkuQueue",
36
+ "pikkuRPCClient": "pikkuRPCClient",
36
37
  "pikkuRPCInternalMap": "pikkuRPCInternalMap",
37
38
  "pikkuRPCExposedMap": "pikkuRPCExposedMap",
38
39
  "pikkuRPC": "pikkuRPC",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  /**
5
5
  * Scheduler-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  import { pikkuState } from '@pikku/core'
5
5
  pikkuState('scheduler', 'meta', {})
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  /* The files with an addScheduledTasks function call */
@@ -1,12 +1,8 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  import { addSchema } from '@pikku/core/schema'
5
5
 
6
- import * as PikkuSchemasOutput from './schemas/PikkuSchemasOutput.schema.json' with { type: 'json' }
7
- addSchema('PikkuSchemasOutput', PikkuSchemasOutput)
8
-
9
-
10
6
  import * as PikkuChannelsOutput from './schemas/PikkuChannelsOutput.schema.json' with { type: 'json' }
11
7
  addSchema('PikkuChannelsOutput', PikkuChannelsOutput)
12
8
 
@@ -19,6 +15,10 @@ import * as PikkuFunctionsOutput from './schemas/PikkuFunctionsOutput.schema.jso
19
15
  addSchema('PikkuFunctionsOutput', PikkuFunctionsOutput)
20
16
 
21
17
 
18
+ import * as PikkuSchemasOutput from './schemas/PikkuSchemasOutput.schema.json' with { type: 'json' }
19
+ addSchema('PikkuSchemasOutput', PikkuSchemasOutput)
20
+
21
+
22
22
  import * as PikkuHTTPOutput from './schemas/PikkuHTTPOutput.schema.json' with { type: 'json' }
23
23
  addSchema('PikkuHTTPOutput', PikkuHTTPOutput)
24
24
 
@@ -1 +1 @@
1
- {"$schema":"http://json-schema.org/draft-07/schema#","type":"object","additionalProperties":false,"properties":{"outDir":{"type":"string"},"schemaDirectory":{"type":"string"},"typesDeclarationFile":{"type":"string"},"functionsFile":{"type":"string"},"functionsMetaFile":{"type":"string"},"functionsMetaMinFile":{"type":"string"},"functionTypesFile":{"type":"string"},"httpWiringsFile":{"type":"string"},"httpWiringMetaFile":{"type":"string"},"httpMapDeclarationFile":{"type":"string"},"httpTypesFile":{"type":"string"},"channelsWiringFile":{"type":"string"},"channelsWiringMetaFile":{"type":"string"},"channelsMapDeclarationFile":{"type":"string"},"channelsTypesFile":{"type":"string"},"rpcInternalWiringMetaFile":{"type":"string"},"rpcInternalMapDeclarationFile":{"type":"string"},"rpcMapDeclarationFile":{"type":"string"},"schedulersWiringFile":{"type":"string"},"schedulersWiringMetaFile":{"type":"string"},"schedulersTypesFile":{"type":"string"},"queueWorkersWiringFile":{"type":"string"},"queueWorkersWiringMetaFile":{"type":"string"},"queueMapDeclarationFile":{"type":"string"},"queueTypesFile":{"type":"string"},"mcpWiringsFile":{"type":"string"},"mcpWiringsMetaFile":{"type":"string"},"mcpTypesFile":{"type":"string"},"cliWiringsFile":{"type":"string"},"cliWiringMetaFile":{"type":"string"},"cliBootstrapFile":{"type":"string"},"cliTypesFile":{"type":"string"},"servicesFile":{"type":"string"},"middlewareFile":{"type":"string"},"middlewareGroupsMetaFile":{"type":"string"},"permissionsFile":{"type":"string"},"bootstrapFile":{"type":"string"},"$schema":{"type":"string"},"extends":{"type":"string"},"rootDir":{"type":"string"},"srcDirectories":{"type":"array","items":{"type":"string"}},"packageMappings":{"type":"object","additionalProperties":{"type":"string"}},"supportsImportAttributes":{"type":"boolean"},"configFile":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"types":{"type":"array","items":{"type":"string"}},"userSessionType":{"type":"string"},"singletonServicesFactoryType":{"type":"string"},"sessionServicesFactoryType":{"type":"string"},"configDir":{"type":"string"},"tsconfig":{"type":"string"},"nextBackendFile":{"type":"string"},"nextHTTPFile":{"type":"string"},"fetchFile":{"type":"string"},"websocketFile":{"type":"string"},"rpcWiringsFile":{"type":"string"},"queueWiringsFile":{"type":"string"},"mcpJsonFile":{"type":"string"},"openAPI":{"type":"object","properties":{"outputFile":{"type":"string"},"additionalInfo":{"$ref":"#/definitions/OpenAPISpecInfo"}},"required":["outputFile","additionalInfo"],"additionalProperties":false},"cli":{"type":"object","properties":{"entrypoints":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","const":"cli"},"path":{"type":"string"}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"channel"},"name":{"type":"string"},"route":{"type":"string"},"wirePath":{"type":"string"},"path":{"type":"string"}},"required":["type","wirePath"],"additionalProperties":false},{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","const":"cli"},"path":{"type":"string"}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"channel"},"name":{"type":"string"},"route":{"type":"string"},"wirePath":{"type":"string"},"path":{"type":"string"}},"required":["type","wirePath"],"additionalProperties":false}]}}]}}},"additionalProperties":false},"forceRequiredServices":{"type":"array","items":{"type":"string"}},"schemasFromTypes":{"type":"array","items":{"type":"string"}},"stateOutput":{"type":"string"},"stateInput":{"type":"string"},"filters":{"$ref":"#/definitions/InspectorFilters"}},"required":["bootstrapFile","channelsMapDeclarationFile","channelsTypesFile","channelsWiringFile","channelsWiringMetaFile","cliBootstrapFile","cliTypesFile","cliWiringMetaFile","cliWiringsFile","configDir","filters","functionTypesFile","functionsFile","functionsMetaFile","functionsMetaMinFile","httpMapDeclarationFile","httpTypesFile","httpWiringMetaFile","httpWiringsFile","mcpTypesFile","mcpWiringsFile","mcpWiringsMetaFile","middlewareFile","middlewareGroupsMetaFile","outDir","packageMappings","permissionsFile","queueMapDeclarationFile","queueTypesFile","queueWorkersWiringFile","queueWorkersWiringMetaFile","rootDir","rpcInternalMapDeclarationFile","rpcInternalWiringMetaFile","rpcMapDeclarationFile","schedulersTypesFile","schedulersWiringFile","schedulersWiringMetaFile","schemaDirectory","servicesFile","srcDirectories","supportsImportAttributes","tsconfig","typesDeclarationFile"],"definitions":{"OpenAPISpecInfo":{"type":"object","properties":{"info":{"type":"object","properties":{"title":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"},"termsOfService":{"type":"string"},"contact":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"email":{"type":"string"}},"additionalProperties":false},"license":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["title","version","description"],"additionalProperties":false},"servers":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"}},"required":["url"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}},"required":["name"],"additionalProperties":false}},"externalDocs":{"type":"object","properties":{"description":{"type":"string"},"url":{"type":"string"}},"required":["url"],"additionalProperties":false},"securitySchemes":{"type":"object"},"security":{"type":"array","items":{"type":"object","additionalProperties":{"type":"array","items":{}}}}},"required":["info","servers"],"additionalProperties":false},"InspectorFilters":{"type":"object","properties":{"names":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"types":{"type":"array","items":{"type":"string"}},"directories":{"type":"array","items":{"type":"string"}},"httpRoutes":{"type":"array","items":{"type":"string"}},"httpMethods":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}}
1
+ {"$schema":"http://json-schema.org/draft-07/schema#","type":"object","additionalProperties":false,"properties":{"outDir":{"type":"string"},"schemaDirectory":{"type":"string"},"typesDeclarationFile":{"type":"string"},"functionsFile":{"type":"string"},"functionsMetaFile":{"type":"string"},"functionsMetaMinFile":{"type":"string"},"functionTypesFile":{"type":"string"},"httpWiringsFile":{"type":"string"},"httpWiringMetaFile":{"type":"string"},"httpMapDeclarationFile":{"type":"string"},"httpTypesFile":{"type":"string"},"channelsWiringFile":{"type":"string"},"channelsWiringMetaFile":{"type":"string"},"channelsMapDeclarationFile":{"type":"string"},"channelsTypesFile":{"type":"string"},"rpcInternalWiringMetaFile":{"type":"string"},"rpcInternalMapDeclarationFile":{"type":"string"},"rpcMapDeclarationFile":{"type":"string"},"schedulersWiringFile":{"type":"string"},"schedulersWiringMetaFile":{"type":"string"},"schedulersTypesFile":{"type":"string"},"queueWorkersWiringFile":{"type":"string"},"queueWorkersWiringMetaFile":{"type":"string"},"queueMapDeclarationFile":{"type":"string"},"queueTypesFile":{"type":"string"},"mcpWiringsFile":{"type":"string"},"mcpWiringsMetaFile":{"type":"string"},"mcpTypesFile":{"type":"string"},"cliWiringsFile":{"type":"string"},"cliWiringMetaFile":{"type":"string"},"cliBootstrapFile":{"type":"string"},"cliTypesFile":{"type":"string"},"servicesFile":{"type":"string"},"middlewareFile":{"type":"string"},"middlewareGroupsMetaFile":{"type":"string"},"permissionsFile":{"type":"string"},"bootstrapFile":{"type":"string"},"$schema":{"type":"string"},"extends":{"type":"string"},"rootDir":{"type":"string"},"srcDirectories":{"type":"array","items":{"type":"string"}},"ignoreFiles":{"type":"array","items":{"type":"string"}},"packageMappings":{"type":"object","additionalProperties":{"type":"string"}},"configFile":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"types":{"type":"array","items":{"type":"string"}},"userSessionType":{"type":"string"},"singletonServicesFactoryType":{"type":"string"},"sessionServicesFactoryType":{"type":"string"},"configDir":{"type":"string"},"tsconfig":{"type":"string"},"nextBackendFile":{"type":"string"},"nextHTTPFile":{"type":"string"},"fetchFile":{"type":"string"},"websocketFile":{"type":"string"},"rpcWiringsFile":{"type":"string"},"queueWiringsFile":{"type":"string"},"mcpJsonFile":{"type":"string"},"openAPI":{"type":"object","properties":{"outputFile":{"type":"string"},"additionalInfo":{"$ref":"#/definitions/OpenAPISpecInfo"}},"required":["outputFile","additionalInfo"],"additionalProperties":false},"schema":{"type":"object","properties":{"additionalProperties":{"type":"boolean"},"supportsImportAttributes":{"type":"boolean"}},"additionalProperties":false},"cli":{"type":"object","properties":{"entrypoints":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","const":"local"},"path":{"type":"string"}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"channel"},"name":{"type":"string"},"route":{"type":"string"},"wirePath":{"type":"string"},"path":{"type":"string"}},"required":["type","wirePath"],"additionalProperties":false},{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","const":"local"},"path":{"type":"string"}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"channel"},"name":{"type":"string"},"route":{"type":"string"},"wirePath":{"type":"string"},"path":{"type":"string"}},"required":["type","wirePath"],"additionalProperties":false}]}}]}}},"additionalProperties":false},"forceRequiredServices":{"type":"array","items":{"type":"string"}},"schemasFromTypes":{"type":"array","items":{"type":"string"}},"stateOutput":{"type":"string"},"stateInput":{"type":"string"},"filters":{"$ref":"#/definitions/InspectorFilters"}},"required":["bootstrapFile","channelsMapDeclarationFile","channelsTypesFile","channelsWiringFile","channelsWiringMetaFile","cliBootstrapFile","cliTypesFile","cliWiringMetaFile","cliWiringsFile","configDir","filters","functionTypesFile","functionsFile","functionsMetaFile","functionsMetaMinFile","httpMapDeclarationFile","httpTypesFile","httpWiringMetaFile","httpWiringsFile","mcpTypesFile","mcpWiringsFile","mcpWiringsMetaFile","middlewareFile","middlewareGroupsMetaFile","outDir","packageMappings","permissionsFile","queueMapDeclarationFile","queueTypesFile","queueWorkersWiringFile","queueWorkersWiringMetaFile","rootDir","rpcInternalMapDeclarationFile","rpcInternalWiringMetaFile","rpcMapDeclarationFile","schedulersTypesFile","schedulersWiringFile","schedulersWiringMetaFile","schemaDirectory","servicesFile","srcDirectories","tsconfig","typesDeclarationFile"],"definitions":{"OpenAPISpecInfo":{"type":"object","properties":{"info":{"type":"object","properties":{"title":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"},"termsOfService":{"type":"string"},"contact":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"email":{"type":"string"}},"additionalProperties":false},"license":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["title","version","description"],"additionalProperties":false},"servers":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"}},"required":["url"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}},"required":["name"],"additionalProperties":false}},"externalDocs":{"type":"object","properties":{"description":{"type":"string"},"url":{"type":"string"}},"required":["url"],"additionalProperties":false},"securitySchemes":{"type":"object"},"security":{"type":"array","items":{"type":"object","additionalProperties":{"type":"array","items":{}}}}},"required":["info","servers"],"additionalProperties":false},"InspectorFilters":{"type":"object","properties":{"names":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"types":{"type":"array","items":{"type":"string"}},"directories":{"type":"array","items":{"type":"string"}},"httpRoutes":{"type":"array","items":{"type":"string"}},"httpMethods":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}}
@@ -1 +1 @@
1
- {"$schema":"http://json-schema.org/draft-07/schema#","type":"boolean","enum":[false,true],"definitions":{}}
1
+ {"$schema":"http://json-schema.org/draft-07/schema#","type":"boolean","enum":[false,true],"description":"This provides the structure needed for typescript to be aware of RPCs and their return types","definitions":{}}
@@ -1 +1 @@
1
- {"$schema":"http://json-schema.org/draft-07/schema#","type":"boolean","enum":[false,true],"description":"This provides the structure needed for typescript to be aware of RPCs and their return types","definitions":{}}
1
+ {"$schema":"http://json-schema.org/draft-07/schema#","type":"boolean","enum":[false,true],"definitions":{}}
package/CHANGELOG.md CHANGED
@@ -1,5 +1,63 @@
1
1
  # @pikku/cli
2
2
 
3
+ ## 0.10.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 1967172: Update code generation to support channel middleware enhancements
8
+
9
+ **Code Generation Updates:**
10
+
11
+ - Update channel type serialization to include middleware support
12
+ - Improve WebSocket wrapper generation for middleware handling
13
+ - Update CLI channel client generation with better type support
14
+ - Enhance services and schema generation for channel configurations
15
+
16
+ **Inspector Updates:**
17
+
18
+ - Improve channel metadata extraction for middleware
19
+ - Better type analysis for channel lifecycle functions
20
+ - Enhanced post-processing for channel configurations
21
+
22
+ - 753481a: Add bootstrap command, performance optimizations, and CLI improvements
23
+
24
+ **New Features:**
25
+
26
+ - Add `pikku bootstrap` command for type-only generation (~13.5% faster than `pikku all`)
27
+ - Add configurable `ignoreFiles` option to pikku.config.json with sensible defaults (_.gen.ts, _.test.ts, \*.spec.ts)
28
+ - Export pikkuCLIRender helper from serialize-cli-types.ts with JSDoc documentation
29
+
30
+ **Performance Improvements:**
31
+
32
+ - Add aggressive TypeScript compiler options (skipDefaultLibCheck, types: []) - ~37% faster TypeScript setup
33
+ - Add detailed performance timing to inspector phases (--logLevel=debug)
34
+ - Optimize file inspection with ignore patterns - ~10-20% faster overall
35
+
36
+ **Enhancements:**
37
+
38
+ - Fix --logLevel flag to properly apply log level to logger
39
+ - Update middleware logging to use structured log format
40
+ - Improve CLI renderers to consistently use destructured logger service
41
+ - Fix middleware file generation when middleware groups exist
42
+
43
+ - 44d71a8: fix: fixing inspector ensuring pikkuConfig is set
44
+ - Updated dependencies [1967172]
45
+ - Updated dependencies [753481a]
46
+ - Updated dependencies [ea652dc]
47
+ - Updated dependencies [4349ec5]
48
+ - Updated dependencies [44d71a8]
49
+ - @pikku/inspector@0.10.2
50
+ - @pikku/core@0.10.2
51
+
52
+ ## 0.10.1
53
+
54
+ ### Patch Changes
55
+
56
+ - 778267e: fix: fixing inspector ensuring pikkuConfig is set
57
+ - Updated dependencies [778267e]
58
+ - @pikku/inspector@0.10.1
59
+ - @pikku/core@0.10.1
60
+
3
61
  ## 0.10.0
4
62
 
5
63
  This release includes significant improvements across the framework including tree-shaking support, middleware/permission factories, enhanced CLI functionality, improved TypeScript type safety, and comprehensive test strategies.
package/bin/pikku.ts CHANGED
@@ -3,30 +3,30 @@ import { Command } from 'commander'
3
3
  import { createConfig, createSingletonServices } from '../src/services.js'
4
4
  import { PikkuRPCService } from '@pikku/core/rpc'
5
5
  import { LocalVariablesService } from '@pikku/core/services'
6
- import { existsSync } from 'fs'
7
- import { fileURLToPath } from 'url'
8
- import { dirname, join } from 'path'
6
+ // import { existsSync } from 'fs'
7
+ // import { fileURLToPath } from 'url'
8
+ // import { dirname, join } from 'path'
9
9
 
10
- const __filename = fileURLToPath(import.meta.url)
11
- const __dirname = dirname(__filename)
10
+ // const __filename = fileURLToPath(import.meta.url)
11
+ // const __dirname = dirname(__filename)
12
12
 
13
13
  // Check if Pikku CLI is available
14
- const pikkuCliPath = join(__dirname, '../.pikku/cli/pikku-cli.gen.js')
14
+ // const pikkuCliPath = join(__dirname, '../.pikku/cli/pikku-cli.gen.js')
15
15
 
16
- if (existsSync(pikkuCliPath)) {
17
- try {
18
- // Use the generated Pikku CLI
19
- const { PikkuCLI } = await import('../.pikku/cli/pikku-cli.gen.js')
20
- await PikkuCLI(process.argv.slice(2))
21
- process.exit(0)
22
- } catch (error) {
23
- // If import fails, fall back to Commander.js
24
- console.warn(
25
- 'Failed to load Pikku CLI, using fallback mode:',
26
- error.message
27
- )
28
- }
29
- }
16
+ // if (existsSync(pikkuCliPath)) {
17
+ // try {
18
+ // // Use the generated Pikku CLI
19
+ // const { PikkuCLI } = await import('../.pikku/cli/pikku-cli.gen.js')
20
+ // await PikkuCLI(process.argv.slice(2))
21
+ // process.exit(0)
22
+ // } catch (error) {
23
+ // // If import fails, fall back to Commander.js
24
+ // console.warn(
25
+ // 'Failed to load Pikku CLI, using fallback mode:',
26
+ // error.message
27
+ // )
28
+ // }
29
+ // }
30
30
 
31
31
  // Fallback to Commander.js for initial setup
32
32
  // Import bootstrap if it exists
@@ -84,7 +84,16 @@ const all = (program, name, description) => {
84
84
  '--httpRoutes <routes...>',
85
85
  'Filter HTTP routes by route patterns (comma-separated)'
86
86
  )
87
- .option('-s, --silent', 'Silent mode - only show errors')
87
+ .option('-s, --silent', 'Silent mode - only show critical errors')
88
+ .option(
89
+ '--info',
90
+ 'Show info messages and above (info, warn, error, critical)'
91
+ )
92
+ .option('--verbose', 'Show all debug messages (most detailed)')
93
+ .option(
94
+ '--loglevel <level>',
95
+ 'Set explicit log level (trace, debug, info, warn, error, critical)'
96
+ )
88
97
  .option(
89
98
  '--state-output <path>',
90
99
  'Save inspector state to JSON file for reuse'
package/cli.schema.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"http://json-schema.org/draft-07/schema#","type":"object","additionalProperties":false,"properties":{"outDir":{"type":"string"},"schemaDirectory":{"type":"string"},"typesDeclarationFile":{"type":"string"},"functionsFile":{"type":"string"},"functionsMetaFile":{"type":"string"},"functionsMetaMinFile":{"type":"string"},"functionTypesFile":{"type":"string"},"httpWiringsFile":{"type":"string"},"httpWiringMetaFile":{"type":"string"},"httpMapDeclarationFile":{"type":"string"},"httpTypesFile":{"type":"string"},"channelsWiringFile":{"type":"string"},"channelsWiringMetaFile":{"type":"string"},"channelsMapDeclarationFile":{"type":"string"},"channelsTypesFile":{"type":"string"},"rpcInternalWiringMetaFile":{"type":"string"},"rpcInternalMapDeclarationFile":{"type":"string"},"rpcMapDeclarationFile":{"type":"string"},"schedulersWiringFile":{"type":"string"},"schedulersWiringMetaFile":{"type":"string"},"schedulersTypesFile":{"type":"string"},"queueWorkersWiringFile":{"type":"string"},"queueWorkersWiringMetaFile":{"type":"string"},"queueMapDeclarationFile":{"type":"string"},"queueTypesFile":{"type":"string"},"mcpWiringsFile":{"type":"string"},"mcpWiringsMetaFile":{"type":"string"},"mcpTypesFile":{"type":"string"},"cliWiringsFile":{"type":"string"},"cliWiringMetaFile":{"type":"string"},"cliBootstrapFile":{"type":"string"},"cliTypesFile":{"type":"string"},"servicesFile":{"type":"string"},"middlewareFile":{"type":"string"},"middlewareGroupsMetaFile":{"type":"string"},"permissionsFile":{"type":"string"},"bootstrapFile":{"type":"string"},"$schema":{"type":"string"},"extends":{"type":"string"},"rootDir":{"type":"string"},"srcDirectories":{"type":"array","items":{"type":"string"}},"packageMappings":{"type":"object","additionalProperties":{"type":"string"}},"supportsImportAttributes":{"type":"boolean"},"configFile":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"types":{"type":"array","items":{"type":"string"}},"userSessionType":{"type":"string"},"singletonServicesFactoryType":{"type":"string"},"sessionServicesFactoryType":{"type":"string"},"configDir":{"type":"string"},"tsconfig":{"type":"string"},"nextBackendFile":{"type":"string"},"nextHTTPFile":{"type":"string"},"fetchFile":{"type":"string"},"websocketFile":{"type":"string"},"rpcWiringsFile":{"type":"string"},"queueWiringsFile":{"type":"string"},"mcpJsonFile":{"type":"string"},"openAPI":{"type":"object","properties":{"outputFile":{"type":"string"},"additionalInfo":{"$ref":"#/definitions/OpenAPISpecInfo"}},"required":["outputFile","additionalInfo"],"additionalProperties":false},"cli":{"type":"object","properties":{"entrypoints":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","const":"cli"},"path":{"type":"string"}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"channel"},"name":{"type":"string"},"route":{"type":"string"},"wirePath":{"type":"string"},"path":{"type":"string"}},"required":["type","wirePath"],"additionalProperties":false},{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","const":"cli"},"path":{"type":"string"}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"channel"},"name":{"type":"string"},"route":{"type":"string"},"wirePath":{"type":"string"},"path":{"type":"string"}},"required":["type","wirePath"],"additionalProperties":false}]}}]}}},"additionalProperties":false},"forceRequiredServices":{"type":"array","items":{"type":"string"}},"schemasFromTypes":{"type":"array","items":{"type":"string"}},"stateOutput":{"type":"string"},"stateInput":{"type":"string"},"filters":{"$ref":"#/definitions/InspectorFilters"}},"required":["bootstrapFile","channelsMapDeclarationFile","channelsTypesFile","channelsWiringFile","channelsWiringMetaFile","cliBootstrapFile","cliTypesFile","cliWiringMetaFile","cliWiringsFile","configDir","filters","functionTypesFile","functionsFile","functionsMetaFile","functionsMetaMinFile","httpMapDeclarationFile","httpTypesFile","httpWiringMetaFile","httpWiringsFile","mcpTypesFile","mcpWiringsFile","mcpWiringsMetaFile","middlewareFile","middlewareGroupsMetaFile","outDir","packageMappings","permissionsFile","queueMapDeclarationFile","queueTypesFile","queueWorkersWiringFile","queueWorkersWiringMetaFile","rootDir","rpcInternalMapDeclarationFile","rpcInternalWiringMetaFile","rpcMapDeclarationFile","schedulersTypesFile","schedulersWiringFile","schedulersWiringMetaFile","schemaDirectory","servicesFile","srcDirectories","supportsImportAttributes","tsconfig","typesDeclarationFile"],"definitions":{"OpenAPISpecInfo":{"type":"object","properties":{"info":{"type":"object","properties":{"title":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"},"termsOfService":{"type":"string"},"contact":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"email":{"type":"string"}},"additionalProperties":false},"license":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["title","version","description"],"additionalProperties":false},"servers":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"}},"required":["url"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}},"required":["name"],"additionalProperties":false}},"externalDocs":{"type":"object","properties":{"description":{"type":"string"},"url":{"type":"string"}},"required":["url"],"additionalProperties":false},"securitySchemes":{"type":"object"},"security":{"type":"array","items":{"type":"object","additionalProperties":{"type":"array","items":{}}}}},"required":["info","servers"],"additionalProperties":false},"InspectorFilters":{"type":"object","properties":{"names":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"types":{"type":"array","items":{"type":"string"}},"directories":{"type":"array","items":{"type":"string"}},"httpRoutes":{"type":"array","items":{"type":"string"}},"httpMethods":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}}
1
+ {"$schema":"http://json-schema.org/draft-07/schema#","type":"object","additionalProperties":false,"properties":{"outDir":{"type":"string"},"schemaDirectory":{"type":"string"},"typesDeclarationFile":{"type":"string"},"functionsFile":{"type":"string"},"functionsMetaFile":{"type":"string"},"functionsMetaMinFile":{"type":"string"},"functionTypesFile":{"type":"string"},"httpWiringsFile":{"type":"string"},"httpWiringMetaFile":{"type":"string"},"httpMapDeclarationFile":{"type":"string"},"httpTypesFile":{"type":"string"},"channelsWiringFile":{"type":"string"},"channelsWiringMetaFile":{"type":"string"},"channelsMapDeclarationFile":{"type":"string"},"channelsTypesFile":{"type":"string"},"rpcInternalWiringMetaFile":{"type":"string"},"rpcInternalMapDeclarationFile":{"type":"string"},"rpcMapDeclarationFile":{"type":"string"},"schedulersWiringFile":{"type":"string"},"schedulersWiringMetaFile":{"type":"string"},"schedulersTypesFile":{"type":"string"},"queueWorkersWiringFile":{"type":"string"},"queueWorkersWiringMetaFile":{"type":"string"},"queueMapDeclarationFile":{"type":"string"},"queueTypesFile":{"type":"string"},"mcpWiringsFile":{"type":"string"},"mcpWiringsMetaFile":{"type":"string"},"mcpTypesFile":{"type":"string"},"cliWiringsFile":{"type":"string"},"cliWiringMetaFile":{"type":"string"},"cliBootstrapFile":{"type":"string"},"cliTypesFile":{"type":"string"},"servicesFile":{"type":"string"},"middlewareFile":{"type":"string"},"middlewareGroupsMetaFile":{"type":"string"},"permissionsFile":{"type":"string"},"bootstrapFile":{"type":"string"},"$schema":{"type":"string"},"extends":{"type":"string"},"rootDir":{"type":"string"},"srcDirectories":{"type":"array","items":{"type":"string"}},"ignoreFiles":{"type":"array","items":{"type":"string"}},"packageMappings":{"type":"object","additionalProperties":{"type":"string"}},"configFile":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"types":{"type":"array","items":{"type":"string"}},"userSessionType":{"type":"string"},"singletonServicesFactoryType":{"type":"string"},"sessionServicesFactoryType":{"type":"string"},"configDir":{"type":"string"},"tsconfig":{"type":"string"},"nextBackendFile":{"type":"string"},"nextHTTPFile":{"type":"string"},"fetchFile":{"type":"string"},"websocketFile":{"type":"string"},"rpcWiringsFile":{"type":"string"},"queueWiringsFile":{"type":"string"},"mcpJsonFile":{"type":"string"},"openAPI":{"type":"object","properties":{"outputFile":{"type":"string"},"additionalInfo":{"$ref":"#/definitions/OpenAPISpecInfo"}},"required":["outputFile","additionalInfo"],"additionalProperties":false},"schema":{"type":"object","properties":{"additionalProperties":{"type":"boolean"},"supportsImportAttributes":{"type":"boolean"}},"additionalProperties":false},"cli":{"type":"object","properties":{"entrypoints":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","const":"local"},"path":{"type":"string"}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"channel"},"name":{"type":"string"},"route":{"type":"string"},"wirePath":{"type":"string"},"path":{"type":"string"}},"required":["type","wirePath"],"additionalProperties":false},{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","const":"local"},"path":{"type":"string"}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"channel"},"name":{"type":"string"},"route":{"type":"string"},"wirePath":{"type":"string"},"path":{"type":"string"}},"required":["type","wirePath"],"additionalProperties":false}]}}]}}},"additionalProperties":false},"forceRequiredServices":{"type":"array","items":{"type":"string"}},"schemasFromTypes":{"type":"array","items":{"type":"string"}},"stateOutput":{"type":"string"},"stateInput":{"type":"string"},"filters":{"$ref":"#/definitions/InspectorFilters"}},"required":["bootstrapFile","channelsMapDeclarationFile","channelsTypesFile","channelsWiringFile","channelsWiringMetaFile","cliBootstrapFile","cliTypesFile","cliWiringMetaFile","cliWiringsFile","configDir","filters","functionTypesFile","functionsFile","functionsMetaFile","functionsMetaMinFile","httpMapDeclarationFile","httpTypesFile","httpWiringMetaFile","httpWiringsFile","mcpTypesFile","mcpWiringsFile","mcpWiringsMetaFile","middlewareFile","middlewareGroupsMetaFile","outDir","packageMappings","permissionsFile","queueMapDeclarationFile","queueTypesFile","queueWorkersWiringFile","queueWorkersWiringMetaFile","rootDir","rpcInternalMapDeclarationFile","rpcInternalWiringMetaFile","rpcMapDeclarationFile","schedulersTypesFile","schedulersWiringFile","schedulersWiringMetaFile","schemaDirectory","servicesFile","srcDirectories","tsconfig","typesDeclarationFile"],"definitions":{"OpenAPISpecInfo":{"type":"object","properties":{"info":{"type":"object","properties":{"title":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"},"termsOfService":{"type":"string"},"contact":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"email":{"type":"string"}},"additionalProperties":false},"license":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["title","version","description"],"additionalProperties":false},"servers":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"}},"required":["url"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}},"required":["name"],"additionalProperties":false}},"externalDocs":{"type":"object","properties":{"description":{"type":"string"},"url":{"type":"string"}},"required":["url"],"additionalProperties":false},"securitySchemes":{"type":"object"},"security":{"type":"array","items":{"type":"object","additionalProperties":{"type":"array","items":{}}}}},"required":["info","servers"],"additionalProperties":false},"InspectorFilters":{"type":"object","properties":{"names":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"types":{"type":"array","items":{"type":"string"}},"directories":{"type":"array","items":{"type":"string"}},"httpRoutes":{"type":"array","items":{"type":"string"}},"httpMethods":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  /**
5
5
 
@@ -8,15 +8,16 @@
8
8
  import { CoreChannel } from '@pikku/core/channel';
9
9
  import { CorePikkuFunctionConfig } from '@pikku/core';
10
10
  import { AssertHTTPWiringParams } from '@pikku/core/http';
11
- import type { PikkuFunctionSessionless, PikkuPermission, PikkuMiddleware } from '../function/pikku-function-types.gen.js';
11
+ import type { PikkuFunction, PikkuFunctionSessionless, PikkuPermission, PikkuMiddleware } from '../function/pikku-function-types.gen.js';
12
12
  /**
13
13
  * Type definition for WebSocket channels with typed data exchange.
14
14
  * Supports connection, disconnection, and message handling.
15
+ * Accepts both session-based (PikkuFunction) and sessionless (PikkuFunctionSessionless) functions.
15
16
  *
16
17
  * @template ChannelData - Type of data exchanged through the channel
17
18
  * @template Channel - String literal type for the channel name
18
19
  */
19
- type ChannelWiring<ChannelData, Channel extends string> = CoreChannel<ChannelData, Channel, CorePikkuFunctionConfig<PikkuFunctionSessionless<void, any, ChannelData>, PikkuPermission<void>, PikkuMiddleware>, CorePikkuFunctionConfig<PikkuFunctionSessionless<void, void, ChannelData>, PikkuPermission<void>, PikkuMiddleware>, CorePikkuFunctionConfig<PikkuFunctionSessionless<any, any, ChannelData>, PikkuPermission<any>, PikkuMiddleware>, PikkuPermission, PikkuMiddleware>;
20
+ type ChannelWiring<ChannelData, Channel extends string> = CoreChannel<ChannelData, Channel, CorePikkuFunctionConfig<PikkuFunctionSessionless<void, any, ChannelData>, PikkuPermission<void>, PikkuMiddleware>, CorePikkuFunctionConfig<PikkuFunctionSessionless<void, void, ChannelData>, PikkuPermission<void>, PikkuMiddleware>, CorePikkuFunctionConfig<PikkuFunctionSessionless<any, any, ChannelData> | PikkuFunction<any, any, ChannelData>, PikkuPermission<any>, PikkuMiddleware>, PikkuPermission, PikkuMiddleware>;
20
21
  /**
21
22
  * Creates a function that handles WebSocket channel connections.
22
23
  * Called when a client connects to a channel.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  /**
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.10.0
2
+ * This file was generated by @pikku/cli@0.10.2
3
3
  */
4
4
  import { pikkuState } from '@pikku/core';
5
5
  pikkuState('channel', 'meta', {});
@@ -1,4 +1,4 @@
1
1
  export {};
2
2
  /**
3
- * This file was generated by @pikku/cli@0.10.0
3
+ * This file was generated by @pikku/cli@0.10.2
4
4
  */
@@ -1,5 +1,5 @@
1
1
  export {};
2
2
  /**
3
- * This file was generated by @pikku/cli@0.10.0
3
+ * This file was generated by @pikku/cli@0.10.2
4
4
  */
5
5
  /* The files with an addChannel function call */