@pikku/cli 0.11.1 → 0.11.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 +11 -12
- package/.pikku/channel/pikku-channels-map.gen.d.ts +8 -8
- package/.pikku/channel/pikku-channels-meta.gen.ts +1 -1
- package/.pikku/channel/pikku-channels.gen.ts +1 -1
- package/.pikku/cli/pikku-cli-channel.ts +2 -2
- package/.pikku/cli/pikku-cli-client.gen.ts +1 -3
- package/.pikku/cli/pikku-cli-types.gen.ts +3 -3
- package/.pikku/cli/pikku-cli-wirings-meta.gen.json +146 -0
- package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +4 -157
- package/.pikku/cli/pikku-cli-wirings.gen.ts +3 -3
- package/.pikku/cli/pikku-cli.gen.ts +3 -3
- package/.pikku/function/pikku-function-types.gen.ts +49 -63
- package/.pikku/function/pikku-functions-meta.gen.json +988 -0
- package/.pikku/function/pikku-functions-meta.gen.ts +4 -970
- package/.pikku/function/pikku-functions-meta.min.gen.json +212 -0
- package/.pikku/function/pikku-functions-meta.min.gen.ts +4 -209
- package/.pikku/http/pikku-http-types.gen.ts +2 -2
- package/.pikku/http/pikku-http-wirings-map.gen.d.ts +8 -8
- 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 +13 -13
- package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +5 -0
- package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +6 -4
- package/.pikku/mcp/pikku-mcp-wirings.gen.ts +1 -1
- package/.pikku/pikku-bootstrap.gen.ts +1 -4
- package/.pikku/pikku-services.gen.ts +4 -6
- package/.pikku/pikku-types.gen.ts +1 -1
- package/.pikku/pikku-websocket.gen.ts +1 -1
- package/.pikku/queue/pikku-queue-types.gen.ts +2 -2
- package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +8 -8
- package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +1 -0
- package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +5 -7
- package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +1 -1
- package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +2 -2
- package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +8 -8
- package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +34 -33
- package/.pikku/scheduler/pikku-scheduler-types.gen.ts +2 -2
- package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +1 -0
- package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +5 -2
- package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +1 -1
- package/.pikku/schemas/register.gen.ts +25 -25
- package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
- package/.pikku/services/config.gen.json +99 -0
- package/.pikku/services/getInspectorState.gen.json +10 -0
- package/.pikku/services/jwt.gen.json +13 -0
- package/.pikku/services/logger.gen.json +25 -0
- package/.pikku/services/queueService.gen.json +14 -0
- package/.pikku/services/schedulerService.gen.json +17 -0
- package/.pikku/services/schema.gen.json +14 -0
- package/.pikku/services/variables.gen.json +13 -0
- package/.pikku/services/workflowService.gen.json +31 -0
- package/.pikku/workflow/pikku-workflow-map.gen.d.ts +8 -8
- package/.pikku/workflow/pikku-workflow-types.gen.ts +36 -31
- package/.pikku/workflow/pikku-workflow-wirings-meta.gen.json +1 -0
- package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +5 -2
- package/.pikku/workflow/pikku-workflow-wirings.gen.ts +6 -2
- package/CHANGELOG.md +21 -0
- package/bin/pikku.ts +6 -32
- package/build.sh +53 -31
- package/cli.schema.json +1 -1
- package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +6 -7
- 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-channel.js +2 -2
- package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -3
- package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +3 -3
- package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +3 -157
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +146 -0
- package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +2 -2
- package/dist/.pikku/cli/pikku-cli-wirings.gen.js +2 -2
- package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli.gen.js +3 -3
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +29 -79
- package/dist/.pikku/function/pikku-function-types.gen.js +19 -15
- package/dist/.pikku/function/pikku-functions-meta.gen.js +3 -969
- package/dist/.pikku/function/pikku-functions-meta.gen.json +988 -0
- package/dist/.pikku/function/pikku-functions-meta.min.gen.js +3 -208
- package/dist/.pikku/function/pikku-functions-meta.min.gen.json +212 -0
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +2 -2
- 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 +13 -13
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
- package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +5 -4
- package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +5 -0
- 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 -4
- package/dist/.pikku/pikku-bootstrap.gen.js +1 -4
- package/dist/.pikku/pikku-services.gen.d.ts +3 -6
- package/dist/.pikku/pikku-services.gen.js +2 -5
- 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 +1 -1
- package/dist/.pikku/pikku-websocket.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +2 -2
- package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +3 -7
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +1 -0
- 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-remote-rpc-workers.gen.d.ts +6 -9
- package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +2 -2
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +2 -2
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
- package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +3 -2
- package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +1 -0
- 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 +15 -15
- package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +29 -25
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +22 -8
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +3 -2
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.json +1 -0
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +6 -2
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +6 -3
- package/dist/bin/pikku.js +5 -26
- package/dist/src/cli.wiring.js +4 -4
- package/dist/src/functions/commands/all.js +82 -42
- package/dist/src/functions/commands/bootstrap.js +22 -10
- package/dist/src/functions/commands/watch.js +6 -3
- package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +12 -7
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +42 -4
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +40 -2
- package/dist/src/functions/wirings/channels/pikku-channels.js +9 -2
- package/dist/src/functions/wirings/channels/serialize-channel-types.js +10 -11
- package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +4 -4
- package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli.js +9 -3
- package/dist/src/functions/wirings/cli/serialize-channel-cli.js +1 -1
- package/dist/src/functions/wirings/cli/serialize-cli-types.js +2 -2
- package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +1 -1
- package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +4 -4
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +4 -4
- package/dist/src/functions/wirings/functions/pikku-command-functions.js +15 -5
- package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-services.js +23 -23
- package/dist/src/functions/wirings/functions/schemas.js +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.js +50 -64
- package/dist/src/functions/wirings/http/openapi-spec-generator.js +4 -4
- package/dist/src/functions/wirings/http/pikku-http-routes.js +9 -2
- package/dist/src/functions/wirings/http/serialize-http-types.js +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +18 -4
- package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +12 -12
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +26 -2
- package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +5 -2
- package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +5 -13
- package/dist/src/functions/wirings/queue/pikku-command-queue.js +9 -3
- package/dist/src/functions/wirings/queue/pikku-queue.js +9 -3
- package/dist/src/functions/wirings/queue/serialize-queue-meta.d.ts +2 -1
- package/dist/src/functions/wirings/queue/serialize-queue-meta.js +10 -1
- package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +9 -2
- package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -4
- package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +1 -1
- package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +3 -3
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +6 -3
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +2 -1
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +11 -1
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
- package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +1 -0
- package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +22 -0
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.js +3 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +12 -8
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.d.ts +2 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +11 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +36 -31
- package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.d.ts +8 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.js +30 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +2 -2
- package/dist/src/middleware/log-command-info-and-time.d.ts +2 -2
- package/dist/src/middleware/log-command-info-and-time.js +1 -4
- package/dist/src/services/cli-logger-forwarder.service.js +1 -1
- package/dist/src/services.d.ts +2 -7
- package/dist/src/services.js +14 -12
- package/dist/src/utils/check-required-types.d.ts +2 -2
- package/dist/src/utils/check-required-types.js +2 -3
- package/dist/src/utils/pikku-cli-config.js +35 -2
- package/dist/src/utils/pikku-files-and-methods.d.ts +2 -2
- package/dist/src/utils/pikku-files-and-methods.js +4 -4
- package/dist/src/utils/schema-generator.d.ts +1 -1
- package/dist/src/utils/schema-generator.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -8
- package/src/cli.wiring.ts +4 -4
- package/src/functions/commands/all.ts +94 -45
- package/src/functions/commands/bootstrap.ts +25 -10
- package/src/functions/commands/watch.ts +6 -3
- package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +26 -5
- package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +43 -4
- package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +40 -1
- package/src/functions/wirings/channels/pikku-channels.ts +27 -3
- package/src/functions/wirings/channels/serialize-channel-types.ts +10 -11
- package/src/functions/wirings/cli/pikku-command-cli-entry.ts +4 -4
- package/src/functions/wirings/cli/pikku-command-cli-types.ts +1 -1
- package/src/functions/wirings/cli/pikku-command-cli.ts +26 -3
- package/src/functions/wirings/cli/serialize-channel-cli.ts +1 -1
- package/src/functions/wirings/cli/serialize-cli-types.ts +2 -2
- package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +5 -5
- package/src/functions/wirings/functions/pikku-command-function-types-split.ts +6 -6
- package/src/functions/wirings/functions/pikku-command-functions.ts +39 -4
- package/src/functions/wirings/functions/pikku-command-services.ts +25 -25
- package/src/functions/wirings/functions/schemas.ts +2 -2
- package/src/functions/wirings/functions/serialize-function-types.ts +51 -65
- package/src/functions/wirings/http/openapi-spec-generator.ts +14 -5
- package/src/functions/wirings/http/pikku-http-routes.ts +28 -2
- package/src/functions/wirings/http/serialize-http-types.ts +1 -1
- package/src/functions/wirings/mcp/pikku-command-mcp.ts +30 -4
- package/src/functions/wirings/mcp/serialize-mcp-types.ts +12 -12
- package/src/functions/wirings/middleware/pikku-command-middleware.ts +35 -2
- package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +4 -19
- package/src/functions/wirings/permissions/pikku-command-permissions.ts +2 -2
- package/src/functions/wirings/queue/pikku-command-queue.ts +27 -2
- package/src/functions/wirings/queue/pikku-queue.ts +27 -2
- package/src/functions/wirings/queue/serialize-queue-meta.ts +15 -1
- package/src/functions/wirings/queue/serialize-queue-types.ts +1 -1
- package/src/functions/wirings/rpc/pikku-command-rpc.ts +25 -2
- package/src/functions/wirings/rpc/serialize-public-rpc.ts +11 -4
- package/src/functions/wirings/rpc/serialize-remote-rpc.ts +1 -1
- package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +3 -3
- package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +30 -4
- package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +20 -1
- package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +1 -1
- package/src/functions/wirings/services/pikku-command-service-metadata.ts +25 -0
- package/src/functions/wirings/workflow/pikku-command-workflow-types.ts +8 -1
- package/src/functions/wirings/workflow/pikku-command-workflow.ts +36 -8
- package/src/functions/wirings/workflow/serialize-workflow-meta.ts +18 -1
- package/src/functions/wirings/workflow/serialize-workflow-types.ts +39 -31
- package/src/functions/wirings/workflow/serialize-workflow-wirings.ts +47 -0
- package/src/functions/wirings/workflow/serialize-workflow-workers.ts +2 -2
- package/src/middleware/log-command-info-and-time.ts +3 -6
- package/src/services/cli-logger-forwarder.service.ts +1 -1
- package/src/services.ts +15 -15
- package/src/utils/check-required-types.ts +4 -7
- package/src/utils/pikku-cli-config.ts +69 -2
- package/src/utils/pikku-files-and-methods.ts +10 -13
- package/src/utils/schema-generator.ts +2 -2
- package/types/application-types.d.ts +1 -1
- package/types/config.d.ts +12 -1
- package/.pikku/function/pikku-functions.gen.ts +0 -84
- package/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts +0 -47
- package/dist/.pikku/function/pikku-functions.gen.d.ts +0 -1
- package/dist/.pikku/function/pikku-functions.gen.js +0 -83
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +0 -1
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +0 -47
- package/dist/.pikku/schemas/schemas/PikkuRemoteInternalRPCInput.schema.json +0 -1
|
@@ -1,160 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.11.
|
|
2
|
+
* This file was generated by @pikku/cli@0.11.2
|
|
3
3
|
*/
|
|
4
4
|
import { pikkuState } from '@pikku/core';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"pikku": {
|
|
8
|
-
"program": "pikku",
|
|
9
|
-
"commands": {
|
|
10
|
-
"all": {
|
|
11
|
-
"pikkuFuncName": "all",
|
|
12
|
-
"positionals": [],
|
|
13
|
-
"options": {
|
|
14
|
-
"tags": {
|
|
15
|
-
"description": "Filter functions by tags (comma-separated)",
|
|
16
|
-
"short": "t"
|
|
17
|
-
},
|
|
18
|
-
"types": {
|
|
19
|
-
"description": "Filter functions by types (comma-separated)"
|
|
20
|
-
},
|
|
21
|
-
"directories": {
|
|
22
|
-
"description": "Filter functions by directories (comma-separated)",
|
|
23
|
-
"short": "d"
|
|
24
|
-
},
|
|
25
|
-
"httpMethods": {
|
|
26
|
-
"description": "Filter HTTP routes by methods (comma-separated)"
|
|
27
|
-
},
|
|
28
|
-
"httpRoutes": {
|
|
29
|
-
"description": "Filter HTTP routes by route patterns (comma-separated)"
|
|
30
|
-
},
|
|
31
|
-
"names": {
|
|
32
|
-
"description": "Filter functions by name patterns (supports wildcards)",
|
|
33
|
-
"short": "n"
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
"description": "Generate all Pikku files (types, schemas, wirings, etc.)",
|
|
37
|
-
"isDefault": true
|
|
38
|
-
},
|
|
39
|
-
"bootstrap": {
|
|
40
|
-
"pikkuFuncName": "bootstrap",
|
|
41
|
-
"positionals": [],
|
|
42
|
-
"options": {},
|
|
43
|
-
"description": "Generate only type files (setup phase only)"
|
|
44
|
-
},
|
|
45
|
-
"watch": {
|
|
46
|
-
"pikkuFuncName": "watch",
|
|
47
|
-
"positionals": [],
|
|
48
|
-
"options": {},
|
|
49
|
-
"description": "Watch for file changes and regenerate automatically"
|
|
50
|
-
},
|
|
51
|
-
"schemas": {
|
|
52
|
-
"pikkuFuncName": "pikkuSchemas",
|
|
53
|
-
"positionals": [],
|
|
54
|
-
"options": {},
|
|
55
|
-
"description": "Generate JSON schemas for function input/output types"
|
|
56
|
-
},
|
|
57
|
-
"fetch": {
|
|
58
|
-
"pikkuFuncName": "pikkuFetch",
|
|
59
|
-
"positionals": [],
|
|
60
|
-
"options": {},
|
|
61
|
-
"description": "Generate type-safe HTTP fetch client"
|
|
62
|
-
},
|
|
63
|
-
"websocket": {
|
|
64
|
-
"pikkuFuncName": "pikkuWebSocketTyped",
|
|
65
|
-
"positionals": [],
|
|
66
|
-
"options": {},
|
|
67
|
-
"description": "Generate type-safe WebSocket client"
|
|
68
|
-
},
|
|
69
|
-
"rpc": {
|
|
70
|
-
"pikkuFuncName": "pikkuRPCClient",
|
|
71
|
-
"positionals": [],
|
|
72
|
-
"options": {},
|
|
73
|
-
"description": "Generate RPC client wrappers"
|
|
74
|
-
},
|
|
75
|
-
"queue-service": {
|
|
76
|
-
"pikkuFuncName": "pikkuQueueService",
|
|
77
|
-
"positionals": [],
|
|
78
|
-
"options": {},
|
|
79
|
-
"description": "Generate queue service wrapper"
|
|
80
|
-
},
|
|
81
|
-
"openapi": {
|
|
82
|
-
"pikkuFuncName": "pikkuOpenAPI",
|
|
83
|
-
"positionals": [],
|
|
84
|
-
"options": {},
|
|
85
|
-
"description": "Generate OpenAPI specification from HTTP routes"
|
|
86
|
-
},
|
|
87
|
-
"nextjs": {
|
|
88
|
-
"pikkuFuncName": "pikkuNext",
|
|
89
|
-
"positionals": [],
|
|
90
|
-
"options": {},
|
|
91
|
-
"description": "Generate Next.js backend and HTTP wrappers"
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
"options": {
|
|
95
|
-
"config": {
|
|
96
|
-
"description": "Path to pikku.config.json file",
|
|
97
|
-
"short": "c"
|
|
98
|
-
},
|
|
99
|
-
"logLevel": {
|
|
100
|
-
"description": "Set log level",
|
|
101
|
-
"short": "l",
|
|
102
|
-
"choices": [
|
|
103
|
-
"trace",
|
|
104
|
-
"debug",
|
|
105
|
-
"info",
|
|
106
|
-
"warn",
|
|
107
|
-
"error",
|
|
108
|
-
"critical"
|
|
109
|
-
]
|
|
110
|
-
},
|
|
111
|
-
"userSessionType": {
|
|
112
|
-
"description": "Specify which UserSession type to use (when multiple exist)"
|
|
113
|
-
},
|
|
114
|
-
"singletonServicesFactoryType": {
|
|
115
|
-
"description": "Specify which singleton services factory to use"
|
|
116
|
-
},
|
|
117
|
-
"sessionServicesFactoryType": {
|
|
118
|
-
"description": "Specify which session services factory to use"
|
|
119
|
-
},
|
|
120
|
-
"stateOutput": {
|
|
121
|
-
"description": "Save inspector state to JSON file for reuse"
|
|
122
|
-
},
|
|
123
|
-
"stateInput": {
|
|
124
|
-
"description": "Load inspector state from JSON file (skips inspection)"
|
|
125
|
-
}
|
|
126
|
-
},
|
|
127
|
-
"defaultRenderName": "clientCLIRenderer"
|
|
128
|
-
}
|
|
129
|
-
},
|
|
130
|
-
"renderers": {
|
|
131
|
-
"defaultCLIRenderer": {
|
|
132
|
-
"name": "defaultCLIRenderer",
|
|
133
|
-
"exportedName": "defaultCLIRenderer",
|
|
134
|
-
"services": {
|
|
135
|
-
"optimized": true,
|
|
136
|
-
"services": [
|
|
137
|
-
"logger",
|
|
138
|
-
"getInspectorState",
|
|
139
|
-
"schema",
|
|
140
|
-
"jwt",
|
|
141
|
-
"config",
|
|
142
|
-
"variables",
|
|
143
|
-
"workflowService",
|
|
144
|
-
"queueService",
|
|
145
|
-
"schedulerService"
|
|
146
|
-
]
|
|
147
|
-
},
|
|
148
|
-
"filePath": "/home/runner/work/pikku/pikku/packages/cli/src/services.ts"
|
|
149
|
-
},
|
|
150
|
-
"clientCLIRenderer": {
|
|
151
|
-
"name": "clientCLIRenderer",
|
|
152
|
-
"exportedName": "clientCLIRenderer",
|
|
153
|
-
"services": {
|
|
154
|
-
"optimized": true,
|
|
155
|
-
"services": []
|
|
156
|
-
},
|
|
157
|
-
"filePath": "/home/runner/work/pikku/pikku/packages/cli/src/services.ts"
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
});
|
|
5
|
+
import metaData from './pikku-cli-wirings-meta.gen.json' with { type: 'json' };
|
|
6
|
+
pikkuState('cli', 'meta', metaData);
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
{
|
|
2
|
+
"programs": {
|
|
3
|
+
"pikku": {
|
|
4
|
+
"program": "pikku",
|
|
5
|
+
"commands": {
|
|
6
|
+
"all": {
|
|
7
|
+
"pikkuFuncName": "all",
|
|
8
|
+
"positionals": [],
|
|
9
|
+
"options": {
|
|
10
|
+
"tags": {
|
|
11
|
+
"description": "Filter functions by tags (comma-separated)",
|
|
12
|
+
"short": "t"
|
|
13
|
+
},
|
|
14
|
+
"types": {
|
|
15
|
+
"description": "Filter functions by types (comma-separated)"
|
|
16
|
+
},
|
|
17
|
+
"directories": {
|
|
18
|
+
"description": "Filter functions by directories (comma-separated)",
|
|
19
|
+
"short": "d"
|
|
20
|
+
},
|
|
21
|
+
"httpMethods": {
|
|
22
|
+
"description": "Filter HTTP routes by methods (comma-separated)"
|
|
23
|
+
},
|
|
24
|
+
"httpRoutes": {
|
|
25
|
+
"description": "Filter HTTP routes by route patterns (comma-separated)"
|
|
26
|
+
},
|
|
27
|
+
"names": {
|
|
28
|
+
"description": "Filter functions by name patterns (supports wildcards)",
|
|
29
|
+
"short": "n"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"description": "Generate all Pikku files (types, schemas, wirings, etc.)",
|
|
33
|
+
"isDefault": true
|
|
34
|
+
},
|
|
35
|
+
"bootstrap": {
|
|
36
|
+
"pikkuFuncName": "bootstrap",
|
|
37
|
+
"positionals": [],
|
|
38
|
+
"options": {},
|
|
39
|
+
"description": "Generate only type files (setup phase only)"
|
|
40
|
+
},
|
|
41
|
+
"watch": {
|
|
42
|
+
"pikkuFuncName": "watch",
|
|
43
|
+
"positionals": [],
|
|
44
|
+
"options": {},
|
|
45
|
+
"description": "Watch for file changes and regenerate automatically"
|
|
46
|
+
},
|
|
47
|
+
"schemas": {
|
|
48
|
+
"pikkuFuncName": "pikkuSchemas",
|
|
49
|
+
"positionals": [],
|
|
50
|
+
"options": {},
|
|
51
|
+
"description": "Generate JSON schemas for function input/output types"
|
|
52
|
+
},
|
|
53
|
+
"fetch": {
|
|
54
|
+
"pikkuFuncName": "pikkuFetch",
|
|
55
|
+
"positionals": [],
|
|
56
|
+
"options": {},
|
|
57
|
+
"description": "Generate type-safe HTTP fetch client"
|
|
58
|
+
},
|
|
59
|
+
"websocket": {
|
|
60
|
+
"pikkuFuncName": "pikkuWebSocketTyped",
|
|
61
|
+
"positionals": [],
|
|
62
|
+
"options": {},
|
|
63
|
+
"description": "Generate type-safe WebSocket client"
|
|
64
|
+
},
|
|
65
|
+
"rpc": {
|
|
66
|
+
"pikkuFuncName": "pikkuRPCClient",
|
|
67
|
+
"positionals": [],
|
|
68
|
+
"options": {},
|
|
69
|
+
"description": "Generate RPC client wrappers"
|
|
70
|
+
},
|
|
71
|
+
"queue-service": {
|
|
72
|
+
"pikkuFuncName": "pikkuQueueService",
|
|
73
|
+
"positionals": [],
|
|
74
|
+
"options": {},
|
|
75
|
+
"description": "Generate queue service wrapper"
|
|
76
|
+
},
|
|
77
|
+
"openapi": {
|
|
78
|
+
"pikkuFuncName": "pikkuOpenAPI",
|
|
79
|
+
"positionals": [],
|
|
80
|
+
"options": {},
|
|
81
|
+
"description": "Generate OpenAPI specification from HTTP routes"
|
|
82
|
+
},
|
|
83
|
+
"nextjs": {
|
|
84
|
+
"pikkuFuncName": "pikkuNext",
|
|
85
|
+
"positionals": [],
|
|
86
|
+
"options": {},
|
|
87
|
+
"description": "Generate Next.js backend and HTTP wrappers"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"options": {
|
|
91
|
+
"config": {
|
|
92
|
+
"description": "Path to pikku.config.json file",
|
|
93
|
+
"short": "c"
|
|
94
|
+
},
|
|
95
|
+
"logLevel": {
|
|
96
|
+
"description": "Set log level",
|
|
97
|
+
"short": "l",
|
|
98
|
+
"choices": [
|
|
99
|
+
"trace",
|
|
100
|
+
"debug",
|
|
101
|
+
"info",
|
|
102
|
+
"warn",
|
|
103
|
+
"error",
|
|
104
|
+
"critical"
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"userSessionType": {
|
|
108
|
+
"description": "Specify which UserSession type to use (when multiple exist)"
|
|
109
|
+
},
|
|
110
|
+
"singletonServicesFactoryType": {
|
|
111
|
+
"description": "Specify which singleton services factory to use"
|
|
112
|
+
},
|
|
113
|
+
"wireServicesFactoryType": {
|
|
114
|
+
"description": "Specify which wire services factory to use"
|
|
115
|
+
},
|
|
116
|
+
"stateOutput": {
|
|
117
|
+
"description": "Save inspector state to JSON file for reuse"
|
|
118
|
+
},
|
|
119
|
+
"stateInput": {
|
|
120
|
+
"description": "Load inspector state from JSON file (skips inspection)"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"renderers": {
|
|
126
|
+
"defaultCLIRenderer": {
|
|
127
|
+
"name": "defaultCLIRenderer",
|
|
128
|
+
"exportedName": "defaultCLIRenderer",
|
|
129
|
+
"services": {
|
|
130
|
+
"optimized": true,
|
|
131
|
+
"services": [
|
|
132
|
+
"logger",
|
|
133
|
+
"getInspectorState",
|
|
134
|
+
"schema",
|
|
135
|
+
"jwt",
|
|
136
|
+
"config",
|
|
137
|
+
"variables",
|
|
138
|
+
"workflowService",
|
|
139
|
+
"queueService",
|
|
140
|
+
"schedulerService"
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"filePath": "src/services.ts"
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.11.
|
|
2
|
+
* This file was generated by @pikku/cli@0.11.2
|
|
3
3
|
*/
|
|
4
4
|
import { executeCLI, CLIError } from '@pikku/core/cli';
|
|
5
5
|
import { createConfig as createConfig } from '../../src/services.js';
|
|
6
6
|
import { createSingletonServices as createSingletonServices } from '../../src/services.js';
|
|
7
|
-
import {
|
|
7
|
+
import { createWireServices as createWireServices } from '../../src/services.js';
|
|
8
8
|
import '../pikku-bootstrap.gen.js';
|
|
9
9
|
/**
|
|
10
10
|
* Pikku CLI function
|
|
@@ -17,7 +17,7 @@ export async function PikkuCLI(args) {
|
|
|
17
17
|
args: args || process.argv.slice(2),
|
|
18
18
|
createConfig,
|
|
19
19
|
createSingletonServices,
|
|
20
|
-
|
|
20
|
+
createWireServices,
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
catch (error) {
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.11.
|
|
2
|
+
* This file was generated by @pikku/cli@0.11.2
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* Core function, middleware, and permission types for all wirings
|
|
6
6
|
*/
|
|
7
|
-
import { CorePikkuFunctionConfig, CorePikkuPermission, CorePikkuMiddleware, CorePermissionGroup } from '@pikku/core';
|
|
7
|
+
import { CorePikkuFunctionConfig, CorePikkuPermission, CorePikkuMiddleware, CorePermissionGroup, PikkuWire, PickRequired } from '@pikku/core';
|
|
8
8
|
import { CorePikkuFunction, CorePikkuFunctionSessionless } from '@pikku/core/function';
|
|
9
|
-
import { PikkuChannel } from '@pikku/core/channel';
|
|
10
|
-
import { PikkuMCP } from '@pikku/core/mcp';
|
|
11
9
|
import type { UserSession } from '../../types/application-types.d.js';
|
|
12
10
|
import type { SingletonServices } from '../../types/application-types.d.js';
|
|
13
11
|
import type { Services } from '../../types/application-types.d.js';
|
|
14
12
|
import type { Config } from '../../types/application-types.d.js';
|
|
15
13
|
import type { TypedPikkuRPC } from '../rpc/pikku-rpc-wirings-map.internal.gen.d.js';
|
|
16
|
-
import type { RequiredSingletonServices,
|
|
14
|
+
import type { RequiredSingletonServices, RequiredWireServices } from '../pikku-services.gen.js';
|
|
17
15
|
type Session = UserSession;
|
|
18
16
|
/**
|
|
19
17
|
* Type-safe API permission definition that integrates with your application's session type.
|
|
@@ -22,14 +20,14 @@ type Session = UserSession;
|
|
|
22
20
|
* @template In - The input type that the permission check will receive
|
|
23
21
|
* @template RequiredServices - The services required for this permission check
|
|
24
22
|
*/
|
|
25
|
-
export type PikkuPermission<In = unknown, RequiredServices extends Services = Services> = CorePikkuPermission<In, RequiredServices, Session
|
|
23
|
+
export type PikkuPermission<In = unknown, RequiredServices extends Services = Services> = CorePikkuPermission<In, RequiredServices, PikkuWire<In, never, false, Session>>;
|
|
26
24
|
/**
|
|
27
25
|
* Type-safe middleware definition that can access your application's services and session.
|
|
28
26
|
* Use this to define reusable middleware that can be applied to multiple wirings.
|
|
29
27
|
*
|
|
30
28
|
* @template RequiredServices - The services required for this middleware
|
|
31
29
|
*/
|
|
32
|
-
export type PikkuMiddleware<RequiredServices extends SingletonServices = SingletonServices> = CorePikkuMiddleware<RequiredServices
|
|
30
|
+
export type PikkuMiddleware<RequiredServices extends SingletonServices = SingletonServices> = CorePikkuMiddleware<RequiredServices>;
|
|
33
31
|
/**
|
|
34
32
|
* Configuration object for creating a permission with metadata
|
|
35
33
|
*/
|
|
@@ -48,7 +46,8 @@ export type PikkuPermissionConfig<In = unknown, RequiredServices extends Service
|
|
|
48
46
|
* @example
|
|
49
47
|
* ```typescript
|
|
50
48
|
* // Direct function syntax
|
|
51
|
-
* const permission = pikkuPermission(({ logger }, data, session) => {
|
|
49
|
+
* const permission = pikkuPermission(async ({ logger }, data, { session }) => {
|
|
50
|
+
* const session = await session?.get()
|
|
52
51
|
* return session?.role === 'admin'
|
|
53
52
|
* })
|
|
54
53
|
*
|
|
@@ -56,7 +55,8 @@ export type PikkuPermissionConfig<In = unknown, RequiredServices extends Service
|
|
|
56
55
|
* const adminPermission = pikkuPermission({
|
|
57
56
|
* name: 'Admin Permission',
|
|
58
57
|
* description: 'Checks if user has admin role',
|
|
59
|
-
* func: async ({ logger }, data, session) => {
|
|
58
|
+
* func: async ({ logger }, data, { session }) => {
|
|
59
|
+
* const session = await session?.get()
|
|
60
60
|
* return session?.role === 'admin'
|
|
61
61
|
* }
|
|
62
62
|
* })
|
|
@@ -81,7 +81,7 @@ export type PikkuMiddlewareConfig<RequiredServices extends SingletonServices = S
|
|
|
81
81
|
* @example
|
|
82
82
|
* ```typescript
|
|
83
83
|
* // Direct function syntax
|
|
84
|
-
* const middleware = pikkuMiddleware(({ logger },
|
|
84
|
+
* const middleware = pikkuMiddleware(({ logger }, wires, next) => {
|
|
85
85
|
* logger.info('Middleware executed')
|
|
86
86
|
* await next()
|
|
87
87
|
* })
|
|
@@ -90,7 +90,7 @@ export type PikkuMiddlewareConfig<RequiredServices extends SingletonServices = S
|
|
|
90
90
|
* const logMiddleware = pikkuMiddleware({
|
|
91
91
|
* name: 'Request Logger',
|
|
92
92
|
* description: 'Logs all incoming requests',
|
|
93
|
-
* func: async ({ logger },
|
|
93
|
+
* func: async ({ logger }, wires, next) => {
|
|
94
94
|
* logger.info('Request started')
|
|
95
95
|
* await next()
|
|
96
96
|
* }
|
|
@@ -108,7 +108,7 @@ export declare const pikkuMiddleware: <RequiredServices extends SingletonService
|
|
|
108
108
|
* message,
|
|
109
109
|
* level = 'info'
|
|
110
110
|
* }) => {
|
|
111
|
-
* return pikkuMiddleware(async ({ logger },
|
|
111
|
+
* return pikkuMiddleware(async ({ logger }, next) => {
|
|
112
112
|
* logger[level](message)
|
|
113
113
|
* await next()
|
|
114
114
|
* })
|
|
@@ -125,8 +125,8 @@ export declare const pikkuMiddlewareFactory: <In = any>(factory: (input: In) =>
|
|
|
125
125
|
* export const requireRole = pikkuPermissionFactory<{ role: string }>(({
|
|
126
126
|
* role
|
|
127
127
|
* }) => {
|
|
128
|
-
* return pikkuPermission(async ({ logger }, data,
|
|
129
|
-
* if (!
|
|
128
|
+
* return pikkuPermission(async ({ logger }, data, { initialSession }) => {
|
|
129
|
+
* if (!initialSession || initialSession.role !== role) {
|
|
130
130
|
* logger.warn(`Permission denied: required role '${role}'`)
|
|
131
131
|
* return false
|
|
132
132
|
* }
|
|
@@ -142,61 +142,27 @@ export declare const pikkuPermissionFactory: <In = any>(factory: (input: In) =>
|
|
|
142
142
|
*
|
|
143
143
|
* @template In - The input type
|
|
144
144
|
* @template Out - The output type that the function returns
|
|
145
|
-
* @template ChannelData - Channel data type (null = optional channel)
|
|
146
|
-
* @template MCPData - MCP data type (null = optional MCP)
|
|
147
145
|
* @template RequiredServices - Services required by this function
|
|
148
146
|
*/
|
|
149
|
-
export type PikkuFunctionSessionless<In = unknown, Out = never,
|
|
150
|
-
MCPData = null, // null means optional MCP
|
|
151
|
-
RequiredServices extends Services = Omit<Services, 'rpc' | 'channel' | 'mcp'> & {
|
|
152
|
-
rpc: TypedPikkuRPC;
|
|
153
|
-
} & ([
|
|
154
|
-
ChannelData
|
|
155
|
-
] extends [null] ? {
|
|
156
|
-
channel?: PikkuChannel<unknown, Out>;
|
|
157
|
-
} : {
|
|
158
|
-
channel: PikkuChannel<ChannelData, Out>;
|
|
159
|
-
}) & ([MCPData] extends [null] ? {
|
|
160
|
-
mcp?: PikkuMCP;
|
|
161
|
-
} : {
|
|
162
|
-
mcp: PikkuMCP;
|
|
163
|
-
})> = CorePikkuFunctionSessionless<In, Out, ChannelData, RequiredServices, Session>;
|
|
147
|
+
export type PikkuFunctionSessionless<In = unknown, Out = never, RequiredWires extends keyof PikkuWire = never, RequiredServices extends Services = Services> = CorePikkuFunctionSessionless<In, Out, RequiredServices, PickRequired<PikkuWire<In, Out, false, Session, TypedPikkuRPC, null, any>, RequiredWires>>;
|
|
164
148
|
/**
|
|
165
149
|
* A session-aware API function that requires user authentication.
|
|
166
150
|
* Use this for protected endpoints that need access to user session data.
|
|
167
151
|
*
|
|
168
152
|
* @template In - The input type
|
|
169
153
|
* @template Out - The output type that the function returns
|
|
170
|
-
* @template ChannelData - Channel data type (null = optional channel)
|
|
171
|
-
* @template MCPData - MCP data type (null = optional MCP)
|
|
172
154
|
* @template RequiredServices - Services required by this function
|
|
173
155
|
*/
|
|
174
|
-
export type PikkuFunction<In = unknown, Out = never,
|
|
175
|
-
MCPData = null, // null means optional MCP
|
|
176
|
-
RequiredServices extends Services = Omit<Services, 'rpc' | 'channel' | 'mcp'> & {
|
|
177
|
-
rpc: TypedPikkuRPC;
|
|
178
|
-
} & ([
|
|
179
|
-
ChannelData
|
|
180
|
-
] extends [null] ? {
|
|
181
|
-
channel?: PikkuChannel<unknown, Out>;
|
|
182
|
-
} : {
|
|
183
|
-
channel: PikkuChannel<ChannelData, Out>;
|
|
184
|
-
}) & ([MCPData] extends [null] ? {
|
|
185
|
-
mcp?: PikkuMCP;
|
|
186
|
-
} : {
|
|
187
|
-
mcp: PikkuMCP;
|
|
188
|
-
})> = CorePikkuFunction<In, Out, ChannelData, RequiredServices, Session>;
|
|
156
|
+
export type PikkuFunction<In = unknown, Out = never, RequiredWires extends keyof PikkuWire = 'session', RequiredServices extends Services = Services> = CorePikkuFunction<In, Out, RequiredServices, PickRequired<PikkuWire<In, Out, true, Session, TypedPikkuRPC, null, any>, RequiredWires>>;
|
|
189
157
|
/**
|
|
190
158
|
* Configuration object for Pikku functions with optional middleware, permissions, tags, and documentation.
|
|
191
159
|
* This type wraps CorePikkuFunctionConfig with the user's custom types.
|
|
192
160
|
*
|
|
193
161
|
* @template In - The input type
|
|
194
162
|
* @template Out - The output type
|
|
195
|
-
* @template ChannelData - Channel data type
|
|
196
|
-
* @template MCPData - MCP data type
|
|
197
163
|
* @template PikkuFunc - The function type (can be narrowed to PikkuFunction or PikkuFunctionSessionless)
|
|
198
164
|
*/
|
|
199
|
-
export type PikkuFunctionConfig<In = unknown, Out = unknown,
|
|
165
|
+
export type PikkuFunctionConfig<In = unknown, Out = unknown, RequiredWires extends keyof PikkuWire = never, PikkuFunc extends PikkuFunction<In, Out, RequiredWires> | PikkuFunctionSessionless<In, Out, RequiredWires> = PikkuFunction<In, Out, RequiredWires> | PikkuFunctionSessionless<In, Out, RequiredWires>> = CorePikkuFunctionConfig<PikkuFunc, PikkuPermission<In>, PikkuMiddleware>;
|
|
200
166
|
/**
|
|
201
167
|
* Creates a Pikku function that can be either session-aware or sessionless.
|
|
202
168
|
* This is the main function wrapper for creating API endpoints.
|
|
@@ -209,7 +175,8 @@ export type PikkuFunctionConfig<In = unknown, Out = unknown, ChannelData = unkno
|
|
|
209
175
|
* @example
|
|
210
176
|
* \`\`\`typescript
|
|
211
177
|
* const createUser = pikkuFunc<{name: string, email: string}, {id: number, message: string}>({
|
|
212
|
-
* func: async ({db, logger}, input) => {
|
|
178
|
+
* func: async ({db, logger}, input, wire) => {
|
|
179
|
+
* const session = await wire.session.get()
|
|
213
180
|
* logger.info('Creating user', input.name)
|
|
214
181
|
* const user = await db.users.create(input)
|
|
215
182
|
* return {id: user.id, message: \`User \${input.name} created successfully\`}
|
|
@@ -218,13 +185,7 @@ export type PikkuFunctionConfig<In = unknown, Out = unknown, ChannelData = unkno
|
|
|
218
185
|
* })
|
|
219
186
|
* \`\`\`
|
|
220
187
|
*/
|
|
221
|
-
export declare const pikkuFunc: <In, Out = unknown>(func: PikkuFunction<In, Out> |
|
|
222
|
-
rpc: TypedPikkuRPC;
|
|
223
|
-
} & {
|
|
224
|
-
channel?: PikkuChannel<unknown, Out> | undefined;
|
|
225
|
-
} & {
|
|
226
|
-
mcp?: PikkuMCP;
|
|
227
|
-
}>, PikkuPermission<In, Services>, PikkuMiddleware<SingletonServices>>;
|
|
188
|
+
export declare const pikkuFunc: <In, Out = unknown>(func: PikkuFunction<In, Out, "session" | "rpc"> | PikkuFunctionConfig<In, Out, "session" | "rpc">) => PikkuFunctionConfig<In, Out, "rpc" | "session", PikkuFunction<In, Out, "rpc" | "session", Services> | PikkuFunctionSessionless<In, Out, "rpc" | "session", Services>>;
|
|
228
189
|
/**
|
|
229
190
|
* Creates a sessionless Pikku function that doesn't require user authentication.
|
|
230
191
|
* Use this for public endpoints, webhooks, or background tasks.
|
|
@@ -237,7 +198,7 @@ export declare const pikkuFunc: <In, Out = unknown>(func: PikkuFunction<In, Out>
|
|
|
237
198
|
* @example
|
|
238
199
|
* \`\`\`typescript
|
|
239
200
|
* const healthCheck = pikkuSessionlessFunc<void, {status: string, timestamp: string}>({
|
|
240
|
-
* func: async ({logger}) => {
|
|
201
|
+
* func: async ({logger}, input) => {
|
|
241
202
|
* logger.info('Health check requested')
|
|
242
203
|
* return {status: 'healthy', timestamp: new Date().toISOString()}
|
|
243
204
|
* },
|
|
@@ -245,13 +206,7 @@ export declare const pikkuFunc: <In, Out = unknown>(func: PikkuFunction<In, Out>
|
|
|
245
206
|
* })
|
|
246
207
|
* \`\`\`
|
|
247
208
|
*/
|
|
248
|
-
export declare const pikkuSessionlessFunc: <In, Out = unknown>(func: PikkuFunctionSessionless<In, Out> |
|
|
249
|
-
rpc: TypedPikkuRPC;
|
|
250
|
-
} & {
|
|
251
|
-
channel?: PikkuChannel<unknown, Out> | undefined;
|
|
252
|
-
} & {
|
|
253
|
-
mcp?: PikkuMCP;
|
|
254
|
-
}>, PikkuPermission<In, Services>, PikkuMiddleware<SingletonServices>>;
|
|
209
|
+
export declare const pikkuSessionlessFunc: <In, Out = unknown>(func: PikkuFunctionSessionless<In, Out, "session" | "rpc"> | PikkuFunctionConfig<In, Out, "session" | "rpc">) => PikkuFunctionConfig<In, Out, "rpc" | "session", PikkuFunctionSessionless<In, Out, "rpc" | "session", Services> | PikkuFunction<In, Out, "rpc" | "session", Services>>;
|
|
255
210
|
/**
|
|
256
211
|
* Creates a function that takes no input and returns no output.
|
|
257
212
|
* Useful for health checks, triggers, or cleanup operations.
|
|
@@ -268,13 +223,7 @@ export declare const pikkuSessionlessFunc: <In, Out = unknown>(func: PikkuFuncti
|
|
|
268
223
|
* })
|
|
269
224
|
* \`\`\`
|
|
270
225
|
*/
|
|
271
|
-
export declare const pikkuVoidFunc: (func: PikkuFunctionSessionless<void, void> |
|
|
272
|
-
rpc: TypedPikkuRPC;
|
|
273
|
-
} & {
|
|
274
|
-
channel?: PikkuChannel<unknown, void> | undefined;
|
|
275
|
-
} & {
|
|
276
|
-
mcp?: PikkuMCP;
|
|
277
|
-
}>, PikkuPermission<void, Services>>;
|
|
226
|
+
export declare const pikkuVoidFunc: (func: PikkuFunctionSessionless<void, void, "session" | "rpc"> | PikkuFunctionConfig<void, void, "session" | "rpc">) => PikkuFunctionConfig<void, void, "rpc" | "session", PikkuFunctionSessionless<void, void, "rpc" | "session", Services> | PikkuFunction<void, void, "rpc" | "session", Services>>;
|
|
278
227
|
/**
|
|
279
228
|
* Creates a Pikku config factory.
|
|
280
229
|
* Use this to define your application's configuration factory.
|
|
@@ -313,22 +262,23 @@ export declare const pikkuConfig: (func: (variables?: any, ...args: any[]) => Pr
|
|
|
313
262
|
*/
|
|
314
263
|
export declare const pikkuServices: (func: (config: Config, existingServices?: Partial<SingletonServices>) => Promise<RequiredSingletonServices>) => (config: Config, existingServices?: Partial<SingletonServices>) => Promise<RequiredSingletonServices>;
|
|
315
264
|
/**
|
|
316
|
-
* Creates a Pikku
|
|
265
|
+
* Creates a Pikku wire services factory.
|
|
317
266
|
* Use this to define services that are created per-request/session.
|
|
318
267
|
*
|
|
319
|
-
* @param func -
|
|
320
|
-
* @returns The
|
|
268
|
+
* @param func - Wire services factory function
|
|
269
|
+
* @returns The wire services factory function
|
|
321
270
|
*
|
|
322
271
|
* @example
|
|
323
272
|
* ```typescript
|
|
324
|
-
* export const
|
|
273
|
+
* export const createWireServices = pikkuWireServices(async (services, wire) => {
|
|
274
|
+
* const session = await wire.session?.get()
|
|
325
275
|
* return {
|
|
326
276
|
* userCache: new UserCache(session?.userId)
|
|
327
277
|
* }
|
|
328
278
|
* })
|
|
329
279
|
* ```
|
|
330
280
|
*/
|
|
331
|
-
export declare const
|
|
281
|
+
export declare const pikkuWireServices: (func: (services: SingletonServices, wire: any) => Promise<RequiredWireServices>) => (services: SingletonServices, wire: any) => Promise<RequiredWireServices>;
|
|
332
282
|
/**
|
|
333
283
|
* Adds global middleware for a specific tag.
|
|
334
284
|
*
|