@pikku/cli 0.10.1 → 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.
- package/.pikku/channel/pikku-channel-types.gen.ts +4 -3
- package/.pikku/channel/pikku-channels-map.gen.d.ts +2 -2
- package/.pikku/channel/pikku-channels-meta.gen.ts +1 -1
- package/.pikku/channel/pikku-channels.gen.ts +1 -1
- package/.pikku/cli/pikku-cli-types.gen.ts +23 -1
- package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +4 -115
- package/.pikku/cli/pikku-cli-wirings.gen.ts +2 -3
- package/.pikku/function/pikku-function-types.gen.ts +1 -1
- package/.pikku/function/pikku-functions-meta.gen.ts +156 -138
- package/.pikku/function/pikku-functions-meta.min.gen.ts +37 -32
- package/.pikku/function/pikku-functions.gen.ts +1 -1
- package/.pikku/http/pikku-http-types.gen.ts +1 -1
- package/.pikku/http/pikku-http-wirings-map.gen.d.ts +2 -2
- package/.pikku/http/pikku-http-wirings-meta.gen.ts +1 -1
- package/.pikku/http/pikku-http-wirings.gen.ts +1 -1
- package/.pikku/mcp/pikku-mcp-types.gen.ts +1 -1
- package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +1 -1
- package/.pikku/mcp/pikku-mcp-wirings.gen.ts +1 -1
- package/.pikku/pikku-bootstrap.gen.ts +1 -1
- package/.pikku/pikku-services.gen.ts +16 -12
- package/.pikku/pikku-types.gen.ts +1 -1
- package/.pikku/pikku-websocket.gen.ts +15 -1
- package/.pikku/queue/pikku-queue-types.gen.ts +1 -1
- package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +2 -2
- package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +1 -1
- package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +1 -1
- package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +2 -2
- package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +10 -9
- package/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts +9 -8
- package/.pikku/scheduler/pikku-scheduler-types.gen.ts +1 -1
- package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +1 -1
- package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +1 -1
- package/.pikku/schemas/register.gen.ts +5 -5
- package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
- package/CHANGELOG.md +49 -0
- package/bin/pikku.ts +30 -21
- package/cli.schema.json +1 -1
- package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +4 -3
- package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
- package/dist/.pikku/channel/pikku-channels-meta.gen.js +1 -1
- package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
- package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +18 -1
- package/dist/.pikku/cli/pikku-cli-types.gen.js +20 -1
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +4 -115
- package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -2
- package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -2
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
- package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.js +156 -138
- package/dist/.pikku/function/pikku-functions-meta.min.gen.js +37 -32
- package/dist/.pikku/function/pikku-functions.gen.js +1 -1
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
- package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
- package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
- package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
- package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
- package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +1 -1
- package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
- package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
- package/dist/.pikku/pikku-services.gen.d.ts +9 -6
- package/dist/.pikku/pikku-services.gen.js +8 -2
- package/dist/.pikku/pikku-types.gen.d.ts +1 -1
- package/dist/.pikku/pikku-types.gen.js +1 -1
- package/dist/.pikku/pikku-websocket.gen.d.ts +15 -1
- package/dist/.pikku/pikku-websocket.gen.js +15 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +9 -8
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
- package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +1 -1
- package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
- package/dist/.pikku/schemas/register.gen.js +3 -3
- package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
- package/dist/bin/pikku.js +24 -19
- package/dist/src/cli.wiring.js +107 -99
- package/dist/src/functions/commands/all.js +31 -2
- package/dist/src/functions/commands/bootstrap.d.ts +1 -0
- package/dist/src/functions/commands/bootstrap.js +23 -0
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +46 -2
- package/dist/src/functions/wirings/channels/serialize-channel-types.js +3 -2
- package/dist/src/functions/wirings/channels/serialize-websocket-wrapper.js +14 -0
- package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +4 -4
- package/dist/src/functions/wirings/cli/serialize-channel-cli-client.js +24 -4
- package/dist/src/functions/wirings/cli/serialize-channel-cli.js +32 -7
- package/dist/src/functions/wirings/cli/serialize-cli-types.js +22 -0
- package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-services.js +54 -26
- package/dist/src/functions/wirings/functions/schemas.js +2 -2
- package/dist/src/functions/wirings/http/pikku-command-openapi.js +1 -1
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +3 -10
- package/dist/src/middleware/log-command-info-and-time.d.ts +1 -1
- package/dist/src/middleware/log-command-info-and-time.js +8 -5
- package/dist/src/services/cli-logger.service.d.ts +7 -2
- package/dist/src/services/cli-logger.service.js +16 -4
- package/dist/src/services.js +77 -12
- package/dist/src/utils/command-summary.d.ts +43 -0
- package/dist/src/utils/command-summary.js +73 -0
- package/dist/src/utils/file-writer.js +2 -2
- package/dist/src/utils/pikku-cli-config.js +28 -0
- package/dist/src/utils/schema-generator.d.ts +2 -2
- package/dist/src/utils/schema-generator.js +3 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -4
- package/pikku.config.json +5 -2
- package/src/cli.wiring.ts +106 -101
- package/src/functions/commands/all.ts +38 -2
- package/src/functions/commands/bootstrap.ts +27 -0
- package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +46 -2
- package/src/functions/wirings/channels/serialize-channel-types.ts +3 -2
- package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +14 -0
- package/src/functions/wirings/cli/pikku-command-cli-entry.ts +4 -4
- package/src/functions/wirings/cli/serialize-channel-cli-client.ts +24 -4
- package/src/functions/wirings/cli/serialize-channel-cli.ts +40 -8
- package/src/functions/wirings/cli/serialize-cli-types.ts +22 -0
- package/src/functions/wirings/functions/pikku-command-services.ts +57 -28
- package/src/functions/wirings/functions/schemas.ts +4 -3
- package/src/functions/wirings/http/pikku-command-openapi.ts +2 -1
- package/src/functions/wirings/middleware/pikku-command-middleware.ts +11 -22
- package/src/middleware/log-command-info-and-time.ts +8 -5
- package/src/services/cli-logger.service.ts +20 -5
- package/src/services.ts +86 -11
- package/src/utils/command-summary.ts +101 -0
- package/src/utils/file-writer.ts +2 -2
- package/src/utils/pikku-cli-config.ts +28 -0
- package/src/utils/schema-generator.ts +5 -4
- package/types/application-types.d.ts +5 -1
- package/types/config.d.ts +16 -6
- package/.pikku/cli/pikku-cli-channel.gen.ts +0 -34
- package/.pikku/cli/pikku-cli-client.gen.ts +0 -43
- package/.pikku/cli/pikku-cli.gen.ts +0 -41
- package/dist/.pikku/cli/pikku-cli-channel.gen.d.ts +0 -1
- package/dist/.pikku/cli/pikku-cli-channel.gen.js +0 -33
- package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +0 -10
- package/dist/.pikku/cli/pikku-cli-client.gen.js +0 -34
- package/dist/.pikku/cli/pikku-cli.gen.d.ts +0 -10
- 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.
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
//
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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,12 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.10.
|
|
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"}},"
|
|
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],"
|
|
1
|
+
{"$schema":"http://json-schema.org/draft-07/schema#","type":"boolean","enum":[false,true],"definitions":{}}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,54 @@
|
|
|
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
|
+
|
|
3
52
|
## 0.10.1
|
|
4
53
|
|
|
5
54
|
### Patch Changes
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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"}},"
|
|
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.
|
|
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.
|