@pikku/addon-execution 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/.pikku/addon/pikku-addon-types.gen.ts +105 -0
  2. package/.pikku/addon/pikku-package.gen.ts +9 -0
  3. package/.pikku/agent/pikku-agent-map.gen.d.ts +4 -0
  4. package/.pikku/agent/pikku-agent-types.gen.ts +82 -0
  5. package/.pikku/channel/pikku-channel-types.gen.ts +177 -0
  6. package/.pikku/console/pikku-addon-meta.gen.json +36 -0
  7. package/.pikku/console/pikku-node-types.gen.ts +8 -0
  8. package/.pikku/function/pikku-function-types.gen.ts +754 -0
  9. package/.pikku/function/pikku-functions-meta-verbose.gen.json +56 -0
  10. package/.pikku/function/pikku-functions-meta.gen.json +40 -0
  11. package/.pikku/function/pikku-functions-meta.gen.ts +7 -0
  12. package/.pikku/function/pikku-functions.gen.ts +10 -0
  13. package/.pikku/http/pikku-http-types.gen.ts +147 -0
  14. package/.pikku/mcp/pikku-mcp-types.gen.ts +183 -0
  15. package/.pikku/pikku-bootstrap.gen.ts +8 -0
  16. package/.pikku/pikku-meta-service.gen.ts +10 -0
  17. package/.pikku/pikku-services.gen.ts +41 -0
  18. package/.pikku/pikku-types.gen.ts +21 -0
  19. package/.pikku/queue/pikku-queue-types.gen.ts +27 -0
  20. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +128 -0
  21. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +130 -0
  22. package/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +4 -0
  23. package/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts +6 -0
  24. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +25 -0
  25. package/.pikku/schemas/register.gen.ts +19 -0
  26. package/.pikku/schemas/schemas/ExecuteInput.schema.json +1 -0
  27. package/.pikku/schemas/schemas/ExecuteOutput.schema.json +1 -0
  28. package/.pikku/schemas/schemas/SpawnCommandInput.schema.json +1 -0
  29. package/.pikku/schemas/schemas/SpawnCommandOutput.schema.json +1 -0
  30. package/.pikku/secrets/pikku-secret-types.gen.ts +5 -0
  31. package/.pikku/secrets/pikku-secrets-meta.gen.json +1 -0
  32. package/.pikku/secrets/pikku-secrets.gen.ts +21 -0
  33. package/.pikku/trigger/pikku-trigger-types.gen.ts +160 -0
  34. package/.pikku/variables/pikku-variable-types.gen.ts +5 -0
  35. package/.pikku/variables/pikku-variables-meta.gen.json +1 -0
  36. package/.pikku/variables/pikku-variables.gen.ts +21 -0
  37. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +38 -0
  38. package/.pikku/workflow/pikku-workflow-types.gen.ts +167 -0
  39. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +9 -0
  40. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +3 -0
  41. package/README.md +16 -0
  42. package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +65 -0
  43. package/dist/.pikku/addon/pikku-addon-types.gen.d.ts.map +1 -0
  44. package/dist/.pikku/addon/pikku-addon-types.gen.js +78 -0
  45. package/dist/.pikku/addon/pikku-addon-types.gen.js.map +1 -0
  46. package/dist/.pikku/addon/pikku-addon-types.gen.ts +105 -0
  47. package/dist/.pikku/addon/pikku-package.gen.d.ts +2 -0
  48. package/dist/.pikku/addon/pikku-package.gen.d.ts.map +1 -0
  49. package/dist/.pikku/addon/pikku-package.gen.js +9 -0
  50. package/dist/.pikku/addon/pikku-package.gen.js.map +1 -0
  51. package/dist/.pikku/addon/pikku-package.gen.ts +9 -0
  52. package/dist/.pikku/agent/pikku-agent-map.gen.d.ts +4 -0
  53. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +47 -0
  54. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts.map +1 -0
  55. package/dist/.pikku/agent/pikku-agent-types.gen.js +18 -0
  56. package/dist/.pikku/agent/pikku-agent-types.gen.js.map +1 -0
  57. package/dist/.pikku/agent/pikku-agent-types.gen.ts +82 -0
  58. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +112 -0
  59. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts.map +1 -0
  60. package/dist/.pikku/channel/pikku-channel-types.gen.js +60 -0
  61. package/dist/.pikku/channel/pikku-channel-types.gen.js.map +1 -0
  62. package/dist/.pikku/channel/pikku-channel-types.gen.ts +177 -0
  63. package/dist/.pikku/console/pikku-addon-meta.gen.json +36 -0
  64. package/dist/.pikku/console/pikku-node-types.gen.d.ts +7 -0
  65. package/dist/.pikku/console/pikku-node-types.gen.d.ts.map +1 -0
  66. package/dist/.pikku/console/pikku-node-types.gen.js +2 -0
  67. package/dist/.pikku/console/pikku-node-types.gen.js.map +1 -0
  68. package/dist/.pikku/console/pikku-node-types.gen.ts +8 -0
  69. package/dist/.pikku/function/pikku-function-types.gen.d.ts +490 -0
  70. package/dist/.pikku/function/pikku-function-types.gen.d.ts.map +1 -0
  71. package/dist/.pikku/function/pikku-function-types.gen.js +334 -0
  72. package/dist/.pikku/function/pikku-function-types.gen.js.map +1 -0
  73. package/dist/.pikku/function/pikku-function-types.gen.ts +754 -0
  74. package/dist/.pikku/function/pikku-functions-meta-verbose.gen.json +56 -0
  75. package/dist/.pikku/function/pikku-functions-meta.gen.d.ts +2 -0
  76. package/dist/.pikku/function/pikku-functions-meta.gen.d.ts.map +1 -0
  77. package/dist/.pikku/function/pikku-functions-meta.gen.js +7 -0
  78. package/dist/.pikku/function/pikku-functions-meta.gen.js.map +1 -0
  79. package/dist/.pikku/function/pikku-functions-meta.gen.json +40 -0
  80. package/dist/.pikku/function/pikku-functions-meta.gen.ts +7 -0
  81. package/dist/.pikku/function/pikku-functions.gen.d.ts +2 -0
  82. package/dist/.pikku/function/pikku-functions.gen.d.ts.map +1 -0
  83. package/dist/.pikku/function/pikku-functions.gen.js +10 -0
  84. package/dist/.pikku/function/pikku-functions.gen.js.map +1 -0
  85. package/dist/.pikku/function/pikku-functions.gen.ts +10 -0
  86. package/dist/.pikku/http/pikku-http-types.gen.d.ts +120 -0
  87. package/dist/.pikku/http/pikku-http-types.gen.d.ts.map +1 -0
  88. package/dist/.pikku/http/pikku-http-types.gen.js +72 -0
  89. package/dist/.pikku/http/pikku-http-types.gen.js.map +1 -0
  90. package/dist/.pikku/http/pikku-http-types.gen.ts +147 -0
  91. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +131 -0
  92. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts.map +1 -0
  93. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +38 -0
  94. package/dist/.pikku/mcp/pikku-mcp-types.gen.js.map +1 -0
  95. package/dist/.pikku/mcp/pikku-mcp-types.gen.ts +183 -0
  96. package/dist/.pikku/pikku-bootstrap.gen.d.ts +9 -0
  97. package/dist/.pikku/pikku-bootstrap.gen.d.ts.map +1 -0
  98. package/dist/.pikku/pikku-bootstrap.gen.js +9 -0
  99. package/dist/.pikku/pikku-bootstrap.gen.js.map +1 -0
  100. package/dist/.pikku/pikku-bootstrap.gen.ts +8 -0
  101. package/dist/.pikku/pikku-meta-service.gen.d.ts +8 -0
  102. package/dist/.pikku/pikku-meta-service.gen.d.ts.map +1 -0
  103. package/dist/.pikku/pikku-meta-service.gen.js +10 -0
  104. package/dist/.pikku/pikku-meta-service.gen.js.map +1 -0
  105. package/dist/.pikku/pikku-meta-service.gen.ts +10 -0
  106. package/dist/.pikku/pikku-services.gen.d.ts +34 -0
  107. package/dist/.pikku/pikku-services.gen.d.ts.map +1 -0
  108. package/dist/.pikku/pikku-services.gen.js +29 -0
  109. package/dist/.pikku/pikku-services.gen.js.map +1 -0
  110. package/dist/.pikku/pikku-services.gen.ts +41 -0
  111. package/dist/.pikku/pikku-types.gen.d.ts +12 -0
  112. package/dist/.pikku/pikku-types.gen.d.ts.map +1 -0
  113. package/dist/.pikku/pikku-types.gen.js +17 -0
  114. package/dist/.pikku/pikku-types.gen.js.map +1 -0
  115. package/dist/.pikku/pikku-types.gen.ts +21 -0
  116. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +24 -0
  117. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts.map +1 -0
  118. package/dist/.pikku/queue/pikku-queue-types.gen.js +17 -0
  119. package/dist/.pikku/queue/pikku-queue-types.gen.js.map +1 -0
  120. package/dist/.pikku/queue/pikku-queue-types.gen.ts +27 -0
  121. package/dist/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +128 -0
  122. package/dist/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +130 -0
  123. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +2 -0
  124. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts.map +1 -0
  125. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +7 -0
  126. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js.map +1 -0
  127. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +4 -0
  128. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts +6 -0
  129. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +22 -0
  130. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts.map +1 -0
  131. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +17 -0
  132. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js.map +1 -0
  133. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.ts +25 -0
  134. package/dist/.pikku/schemas/register.gen.d.ts +2 -0
  135. package/dist/.pikku/schemas/register.gen.d.ts.map +1 -0
  136. package/dist/.pikku/schemas/register.gen.js +13 -0
  137. package/dist/.pikku/schemas/register.gen.js.map +1 -0
  138. package/dist/.pikku/schemas/register.gen.ts +19 -0
  139. package/dist/.pikku/schemas/schemas/ExecuteInput.schema.json +1 -0
  140. package/dist/.pikku/schemas/schemas/ExecuteOutput.schema.json +1 -0
  141. package/dist/.pikku/schemas/schemas/SpawnCommandInput.schema.json +1 -0
  142. package/dist/.pikku/schemas/schemas/SpawnCommandOutput.schema.json +1 -0
  143. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +6 -0
  144. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts.map +1 -0
  145. package/dist/.pikku/secrets/pikku-secret-types.gen.js +5 -0
  146. package/dist/.pikku/secrets/pikku-secret-types.gen.js.map +1 -0
  147. package/dist/.pikku/secrets/pikku-secret-types.gen.ts +5 -0
  148. package/dist/.pikku/secrets/pikku-secrets-meta.gen.json +1 -0
  149. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +12 -0
  150. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts.map +1 -0
  151. package/dist/.pikku/secrets/pikku-secrets.gen.js +11 -0
  152. package/dist/.pikku/secrets/pikku-secrets.gen.js.map +1 -0
  153. package/dist/.pikku/secrets/pikku-secrets.gen.ts +21 -0
  154. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +114 -0
  155. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts.map +1 -0
  156. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +34 -0
  157. package/dist/.pikku/trigger/pikku-trigger-types.gen.js.map +1 -0
  158. package/dist/.pikku/trigger/pikku-trigger-types.gen.ts +160 -0
  159. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +6 -0
  160. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts.map +1 -0
  161. package/dist/.pikku/variables/pikku-variable-types.gen.js +5 -0
  162. package/dist/.pikku/variables/pikku-variable-types.gen.js.map +1 -0
  163. package/dist/.pikku/variables/pikku-variable-types.gen.ts +5 -0
  164. package/dist/.pikku/variables/pikku-variables-meta.gen.json +1 -0
  165. package/dist/.pikku/variables/pikku-variables.gen.d.ts +12 -0
  166. package/dist/.pikku/variables/pikku-variables.gen.d.ts.map +1 -0
  167. package/dist/.pikku/variables/pikku-variables.gen.js +11 -0
  168. package/dist/.pikku/variables/pikku-variables.gen.js.map +1 -0
  169. package/dist/.pikku/variables/pikku-variables.gen.ts +21 -0
  170. package/dist/.pikku/workflow/pikku-workflow-map.gen.d.ts +38 -0
  171. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +90 -0
  172. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts.map +1 -0
  173. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +18 -0
  174. package/dist/.pikku/workflow/pikku-workflow-types.gen.js.map +1 -0
  175. package/dist/.pikku/workflow/pikku-workflow-types.gen.ts +167 -0
  176. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.d.ts +2 -0
  177. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.d.ts.map +1 -0
  178. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +7 -0
  179. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js.map +1 -0
  180. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +9 -0
  181. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +5 -0
  182. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts.map +1 -0
  183. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +5 -0
  184. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js.map +1 -0
  185. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.ts +3 -0
  186. package/dist/src/functions/execute.function.d.ts +37 -0
  187. package/dist/src/functions/execute.function.d.ts.map +1 -0
  188. package/dist/src/functions/execute.function.js +31 -0
  189. package/dist/src/functions/execute.function.js.map +1 -0
  190. package/dist/src/functions/spawn.function.d.ts +41 -0
  191. package/dist/src/functions/spawn.function.d.ts.map +1 -0
  192. package/dist/src/functions/spawn.function.js +38 -0
  193. package/dist/src/functions/spawn.function.js.map +1 -0
  194. package/dist/src/index.d.ts +3 -0
  195. package/dist/src/index.d.ts.map +1 -0
  196. package/dist/src/index.js +3 -0
  197. package/dist/src/index.js.map +1 -0
  198. package/dist/src/services.d.ts +2 -0
  199. package/dist/src/services.d.ts.map +1 -0
  200. package/dist/src/services.js +5 -0
  201. package/dist/src/services.js.map +1 -0
  202. package/package.json +39 -0
@@ -0,0 +1,56 @@
1
+ {
2
+ "execute": {
3
+ "pikkuFuncId": "execute",
4
+ "functionType": "user",
5
+ "funcWrapper": "pikkuSessionlessFunc",
6
+ "sessionless": true,
7
+ "name": "execute",
8
+ "services": {
9
+ "optimized": true,
10
+ "services": []
11
+ },
12
+ "inputSchemaName": "ExecuteInput",
13
+ "outputSchemaName": "ExecuteOutput",
14
+ "inputs": [
15
+ "ExecuteInput"
16
+ ],
17
+ "outputs": [
18
+ "ExecuteOutput"
19
+ ],
20
+ "implementationHash": "024cf5e88c516ed4",
21
+ "description": "Run a shell command, capturing stdout, stderr, and the exit code",
22
+ "isDirectFunction": false,
23
+ "sourceFile": "/home/runner/work/addons/addons/packages/devops/execution/src/functions/execute.function.ts",
24
+ "exportedName": "execute",
25
+ "contractHash": "72114d5627382940",
26
+ "inputHash": "23a075d3",
27
+ "outputHash": "797bca3d"
28
+ },
29
+ "spawnCommand": {
30
+ "pikkuFuncId": "spawnCommand",
31
+ "functionType": "user",
32
+ "funcWrapper": "pikkuSessionlessFunc",
33
+ "sessionless": true,
34
+ "name": "spawnCommand",
35
+ "services": {
36
+ "optimized": true,
37
+ "services": []
38
+ },
39
+ "inputSchemaName": "SpawnCommandInput",
40
+ "outputSchemaName": "SpawnCommandOutput",
41
+ "inputs": [
42
+ "SpawnCommandInput"
43
+ ],
44
+ "outputs": [
45
+ "SpawnCommandOutput"
46
+ ],
47
+ "implementationHash": "798368c6f578c859",
48
+ "description": "Spawn a program with an argument array (no shell), capturing stdout, stderr, and the exit code",
49
+ "isDirectFunction": false,
50
+ "sourceFile": "/home/runner/work/addons/addons/packages/devops/execution/src/functions/spawn.function.ts",
51
+ "exportedName": "spawnCommand",
52
+ "contractHash": "dd6f2e61ffc426e8",
53
+ "inputHash": "75c1bf18",
54
+ "outputHash": "c91b5978"
55
+ }
56
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "execute": {
3
+ "pikkuFuncId": "execute",
4
+ "functionType": "user",
5
+ "funcWrapper": "pikkuSessionlessFunc",
6
+ "sessionless": true,
7
+ "name": "execute",
8
+ "inputSchemaName": "ExecuteInput",
9
+ "outputSchemaName": "ExecuteOutput",
10
+ "inputs": [
11
+ "ExecuteInput"
12
+ ],
13
+ "outputs": [
14
+ "ExecuteOutput"
15
+ ],
16
+ "implementationHash": "024cf5e88c516ed4",
17
+ "contractHash": "72114d5627382940",
18
+ "inputHash": "23a075d3",
19
+ "outputHash": "797bca3d"
20
+ },
21
+ "spawnCommand": {
22
+ "pikkuFuncId": "spawnCommand",
23
+ "functionType": "user",
24
+ "funcWrapper": "pikkuSessionlessFunc",
25
+ "sessionless": true,
26
+ "name": "spawnCommand",
27
+ "inputSchemaName": "SpawnCommandInput",
28
+ "outputSchemaName": "SpawnCommandOutput",
29
+ "inputs": [
30
+ "SpawnCommandInput"
31
+ ],
32
+ "outputs": [
33
+ "SpawnCommandOutput"
34
+ ],
35
+ "implementationHash": "798368c6f578c859",
36
+ "contractHash": "dd6f2e61ffc426e8",
37
+ "inputHash": "75c1bf18",
38
+ "outputHash": "c91b5978"
39
+ }
40
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This file was generated by @pikku/cli@0.12.55
3
+ */
4
+ import { pikkuState } from '@pikku/core/internal'
5
+ import type { FunctionsMeta } from '@pikku/core'
6
+ import metaData from './pikku-functions-meta.gen.json' with { type: 'json' }
7
+ pikkuState('@pikku/addon-execution', 'function', 'meta', metaData as FunctionsMeta)
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file was generated by @pikku/cli@0.12.55
3
+ */
4
+ /* Import and register functions used by RPCs */
5
+ import { addFunction } from '@pikku/core/function'
6
+ import { execute } from '../../src/functions/execute.function.js'
7
+ import { spawnCommand } from '../../src/functions/spawn.function.js'
8
+
9
+ addFunction('execute', execute, '@pikku/addon-execution')
10
+ addFunction('spawnCommand', spawnCommand, '@pikku/addon-execution')
@@ -0,0 +1,147 @@
1
+ /**
2
+ * This file was generated by @pikku/cli@0.12.55
3
+ */
4
+ /**
5
+ * HTTP-specific type definitions for tree-shaking optimization
6
+ */
7
+
8
+ import { AssertHTTPWiringParams, wireHTTP as wireHTTPCore, addHTTPMiddleware as addHTTPMiddlewareCore, addHTTPPermission as addHTTPPermissionCore, wireHTTPRoutes as wireHTTPRoutesCore, defineHTTPRoutes as defineHTTPRoutesCore } from '@pikku/core/http'
9
+ import type { PikkuFunction, PikkuFunctionSessionless, PikkuPermission, PikkuMiddleware, PikkuFunctionConfig } from '../function/pikku-function-types.gen.js'
10
+ import type { CoreHTTPFunctionWiring, HTTPMethod, HTTPRouteBaseConfig } from '@pikku/core/http'
11
+
12
+ /**
13
+ * Type definition for HTTP API wirings with type-safe path parameters.
14
+ * Supports both authenticated and unauthenticated functions.
15
+ *
16
+ * @template In - Input type for the HTTP wiring
17
+ * @template Out - Output type for the HTTP wiring
18
+ * @template Route - String literal type for the HTTP path (e.g., "/users/:id")
19
+ */
20
+ type HTTPWiring<In, Out, Route extends string> = CoreHTTPFunctionWiring<In, Out, Route, PikkuFunction<In, Out, 'rpc' | 'session'>, PikkuFunctionSessionless<In, Out, 'rpc' | 'session'>, PikkuPermission<In>, PikkuMiddleware>
21
+
22
+ /**
23
+ * Registers an HTTP wiring with the Pikku framework.
24
+ *
25
+ * @template In - Input type for the HTTP wiring
26
+ * @template Out - Output type for the HTTP wiring
27
+ * @template Route - String literal type for the HTTP path (e.g., "/users/:id")
28
+ * @param httpWiring - HTTP wiring definition with handler, method, and optional middleware
29
+ */
30
+ export const wireHTTP = <In, Out, Route extends string>(
31
+ httpWiring: HTTPWiring<In, Out, Route> & AssertHTTPWiringParams<In, Route>
32
+ ) => {
33
+ wireHTTPCore(httpWiring as any)
34
+ }
35
+
36
+ /**
37
+ * Registers HTTP middleware either globally or for a specific route pattern.
38
+ *
39
+ * When a string route pattern is provided along with middleware, the middleware
40
+ * is applied only to that route. Otherwise, if an array is provided, it is treated
41
+ * as global middleware (applied to all routes).
42
+ *
43
+ * @param routeOrMiddleware - Either a global middleware array or a route pattern string
44
+ * @param middleware - The middleware array to apply when a route pattern is specified
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * // Add global HTTP middleware
49
+ * addHTTPMiddleware([authMiddleware, loggingMiddleware])
50
+ *
51
+ * // Add route-specific middleware
52
+ * addHTTPMiddleware('/api/admin/*', [adminAuthMiddleware])
53
+ * ```
54
+ */
55
+ export const addHTTPMiddleware = (
56
+ routeOrMiddleware: PikkuMiddleware[] | string,
57
+ middleware?: PikkuMiddleware[]
58
+ ) => {
59
+ addHTTPMiddlewareCore(routeOrMiddleware as any, middleware as any)
60
+ }
61
+
62
+ /**
63
+ * Registers HTTP permissions either globally or for a specific route pattern.
64
+ *
65
+ * When a string route pattern is provided along with permissions, the permissions
66
+ * are applied only to that route. Permissions can be passed as an array or as a
67
+ * permission group object.
68
+ *
69
+ * @param pattern - Route pattern string (e.g., '*' for all routes, '/api/*' for specific routes)
70
+ * @param permissions - The permissions to apply for the specified route pattern
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * // Add global HTTP permissions
75
+ * addHTTPPermission('*', { global: globalPermission })
76
+ *
77
+ * // Add route-specific permissions
78
+ * addHTTPPermission('/api/admin/*', { admin: adminPermission })
79
+ * ```
80
+ */
81
+ export const addHTTPPermission = <In = unknown>(
82
+ pattern: string,
83
+ permissions: Record<string, PikkuPermission<In>> | PikkuPermission<In>[]
84
+ ) => {
85
+ addHTTPPermissionCore(pattern, permissions as any)
86
+ }
87
+
88
+ /**
89
+ * Route configuration for wireHTTPRoutes with proper typing
90
+ */
91
+ type HTTPRouteConfig = HTTPRouteBaseConfig & {
92
+ method: HTTPMethod
93
+ route: string
94
+ func: PikkuFunctionConfig<any, any, any, any, any, any>
95
+ auth?: boolean
96
+ permissions?: Record<string, PikkuPermission | PikkuPermission[]>
97
+ middleware?: PikkuMiddleware[]
98
+ sse?: boolean
99
+ }
100
+
101
+ /**
102
+ * Typed route map for wireHTTPRoutes
103
+ */
104
+ type TypedHTTPRouteMap = {
105
+ [key: string]: HTTPRouteConfig | TypedHTTPRouteMap | TypedHTTPRouteContract
106
+ }
107
+
108
+ /**
109
+ * Typed route contract for defineHTTPRoutes
110
+ */
111
+ type TypedHTTPRouteContract<T extends TypedHTTPRouteMap = TypedHTTPRouteMap> = TypedHTTPRoutesGroupConfig & {
112
+ routes: T
113
+ }
114
+
115
+ /**
116
+ * Group config with typed middleware/permissions
117
+ */
118
+ type TypedHTTPRoutesGroupConfig = {
119
+ basePath?: string
120
+ tags?: string[]
121
+ auth?: boolean
122
+ middleware?: PikkuMiddleware[]
123
+ permissions?: Record<string, PikkuPermission | PikkuPermission[]>
124
+ }
125
+
126
+ /**
127
+ * Full config for wireHTTPRoutes
128
+ */
129
+ type TypedWireHTTPRoutesConfig = TypedHTTPRoutesGroupConfig & {
130
+ routes: TypedHTTPRouteMap | HTTPRouteConfig[]
131
+ }
132
+
133
+ /**
134
+ * Type-safe helper for defining route contracts that can be composed.
135
+ */
136
+ export function defineHTTPRoutes<T extends TypedHTTPRouteMap>(routes: T): TypedHTTPRouteContract<T>
137
+ export function defineHTTPRoutes<T extends TypedHTTPRouteMap>(config: TypedHTTPRoutesGroupConfig & { routes: T }): TypedHTTPRouteContract<T>
138
+ export function defineHTTPRoutes<T extends TypedHTTPRouteMap>(configOrRoutes: T | (TypedHTTPRoutesGroupConfig & { routes: T })): TypedHTTPRouteContract<T> {
139
+ return defineHTTPRoutesCore(configOrRoutes as any) as unknown as TypedHTTPRouteContract<T>
140
+ }
141
+
142
+ /**
143
+ * Wires multiple HTTP routes from a nested map or array configuration.
144
+ */
145
+ export const wireHTTPRoutes = (config: TypedWireHTTPRoutesConfig): void => {
146
+ wireHTTPRoutesCore(config as any)
147
+ }
@@ -0,0 +1,183 @@
1
+ /**
2
+ * This file was generated by @pikku/cli@0.12.55
3
+ */
4
+ /**
5
+ * MCP-specific type definitions for tree-shaking optimization
6
+ */
7
+
8
+ import {
9
+ CoreMCPResource,
10
+ CoreMCPPrompt,
11
+ wireMCPResource as wireMCPResourceCore,
12
+ wireMCPPrompt as wireMCPPromptCore,
13
+ MCPResourceResponse,
14
+ MCPToolResponse,
15
+ MCPPromptResponse,
16
+ AssertMCPResourceURIParams
17
+ } from '@pikku/core/mcp'
18
+
19
+ import type { PikkuFunctionConfig, PikkuFunctionSessionless, PikkuMiddleware, PikkuPermission, InferSchemaOutput } from '../function/pikku-function-types.gen.js'
20
+ import type { CorePermissionGroup } from '@pikku/core'
21
+ import type { StandardSchemaV1 } from '@standard-schema/spec'
22
+
23
+ /**
24
+ * Type definition for MCP resources that provide data to AI models.
25
+ *
26
+ * @template In - Input type for the resource request
27
+ * @template URI - URI template string type for compile-time parameter validation
28
+ */
29
+ type MCPResourceWiring<In, URI extends string> = CoreMCPResource<PikkuFunctionConfig<In, MCPResourceResponse, 'rpc' | 'session' | 'mcp'>> & { uri: URI }
30
+
31
+ /**
32
+ * Type definition for MCP prompts that provide templates to AI models.
33
+ *
34
+ * @template In - Input type for the prompt parameters
35
+ */
36
+ type MCPPromptWiring<In> = CoreMCPPrompt<PikkuFunctionConfig<In, MCPPromptResponse, 'rpc' | 'session' | 'mcp'>>
37
+
38
+ /**
39
+ * Registers an MCP resource with the Pikku framework.
40
+ * Resources provide data that AI models can access.
41
+ *
42
+ * @template In - Input type for the resource request
43
+ * @template URI - URI template string for compile-time parameter validation
44
+ * @param mcpResource - MCP resource definition with data provider function
45
+ */
46
+ export const wireMCPResource = <In, URI extends string>(
47
+ mcpResource: MCPResourceWiring<In, URI> & AssertMCPResourceURIParams<In, URI>
48
+ ) => {
49
+ wireMCPResourceCore(mcpResource as any)
50
+ }
51
+
52
+ /**
53
+ * Registers an MCP prompt with the Pikku framework.
54
+ * Prompts provide templates that AI models can use.
55
+ *
56
+ * @template In - Input type for the prompt parameters
57
+ * @param mcpPrompt - MCP prompt definition with template function
58
+ */
59
+ export const wireMCPPrompt = <In>(
60
+ mcpPrompt: MCPPromptWiring<In>
61
+ ) => {
62
+ wireMCPPromptCore(mcpPrompt as any)
63
+ }
64
+
65
+ /**
66
+ * Configuration for MCP prompt with Zod schema input validation.
67
+ */
68
+ type MCPPromptFuncConfigWithSchema<InputSchema extends StandardSchemaV1> = {
69
+ func: PikkuFunctionSessionless<InferSchemaOutput<InputSchema>, MCPPromptResponse, 'mcp' | 'rpc'>
70
+ name?: string
71
+ input: InputSchema
72
+ }
73
+
74
+ /**
75
+ * Creates a function for handling MCP prompt requests.
76
+ * These functions generate prompt templates for AI models.
77
+ *
78
+ * Supports two patterns:
79
+ * 1. Generic types: `pikkuMCPPromptFunc<Input>({ func: ... })`
80
+ * 2. Zod schemas: `pikkuMCPPromptFunc({ input: z.object(...), func: ... })`
81
+ *
82
+ * @template In - Input type for the prompt parameters (inferred from schema if provided)
83
+ * @param func - Function definition, either direct function or configuration object
84
+ * @returns The unwrapped function for internal use
85
+ */
86
+ export function pikkuMCPPromptFunc<InputSchema extends StandardSchemaV1>(
87
+ config: MCPPromptFuncConfigWithSchema<InputSchema>
88
+ ): PikkuFunctionConfig<InferSchemaOutput<InputSchema>, MCPPromptResponse, 'mcp' | 'rpc'>
89
+ export function pikkuMCPPromptFunc<In>(
90
+ func:
91
+ | PikkuFunctionSessionless<In, MCPPromptResponse, 'mcp' | 'rpc'>
92
+ | {
93
+ func: PikkuFunctionSessionless<In, MCPPromptResponse, 'mcp' | 'rpc'>
94
+ name?: string
95
+ }
96
+ ): PikkuFunctionConfig<In, MCPPromptResponse, 'mcp' | 'rpc'>
97
+ export function pikkuMCPPromptFunc(func: any): any {
98
+ return typeof func === 'function' ? { func } : func
99
+ }
100
+
101
+ /**
102
+ * Configuration for MCP tool with Zod schema input validation.
103
+ */
104
+ type MCPToolFuncConfigWithSchema<InputSchema extends StandardSchemaV1> = {
105
+ func: PikkuFunctionSessionless<InferSchemaOutput<InputSchema>, MCPToolResponse, 'mcp' | 'rpc'>
106
+ description?: string
107
+ tags?: string[]
108
+ title?: string
109
+ summary?: string
110
+ name?: string
111
+ middleware?: PikkuMiddleware[]
112
+ permissions?: CorePermissionGroup<PikkuPermission<InferSchemaOutput<InputSchema>>>
113
+ input: InputSchema
114
+ }
115
+
116
+ /**
117
+ * Creates a function for handling MCP tool invocations.
118
+ * These functions perform actions that AI models can request.
119
+ *
120
+ * Supports two patterns:
121
+ * 1. Generic types: `pikkuMCPToolFunc<Input>({ func: ... })`
122
+ * 2. Zod schemas: `pikkuMCPToolFunc({ input: z.object(...), func: ... })`
123
+ *
124
+ * @template In - Input type for the tool invocation (inferred from schema if provided)
125
+ * @param func - Function definition, either direct function or configuration object
126
+ * @returns The unwrapped function for internal use
127
+ */
128
+ export function pikkuMCPToolFunc<InputSchema extends StandardSchemaV1>(
129
+ config: MCPToolFuncConfigWithSchema<InputSchema>
130
+ ): PikkuFunctionConfig<InferSchemaOutput<InputSchema>, MCPToolResponse, 'mcp' | 'rpc'>
131
+ export function pikkuMCPToolFunc<In>(
132
+ func:
133
+ | PikkuFunctionSessionless<In, MCPToolResponse, 'mcp' | 'rpc'>
134
+ | {
135
+ func: PikkuFunctionSessionless<In, MCPToolResponse, 'mcp' | 'rpc'>
136
+ description?: string
137
+ tags?: string[]
138
+ title?: string
139
+ summary?: string
140
+ name?: string
141
+ middleware?: PikkuMiddleware[]
142
+ permissions?: CorePermissionGroup<PikkuPermission<In>>
143
+ }
144
+ ): PikkuFunctionConfig<In, MCPToolResponse, 'mcp' | 'rpc'>
145
+ export function pikkuMCPToolFunc(func: any): any {
146
+ return typeof func === 'function' ? { func } : func
147
+ }
148
+
149
+ /**
150
+ * Configuration for MCP resource with Zod schema input validation.
151
+ */
152
+ type MCPResourceFuncConfigWithSchema<InputSchema extends StandardSchemaV1> = {
153
+ func: PikkuFunctionSessionless<InferSchemaOutput<InputSchema>, MCPResourceResponse, 'mcp' | 'rpc'>
154
+ name?: string
155
+ input: InputSchema
156
+ }
157
+
158
+ /**
159
+ * Creates a function for handling MCP resource requests.
160
+ * These functions provide data that AI models can access.
161
+ *
162
+ * Supports two patterns:
163
+ * 1. Generic types: `pikkuMCPResourceFunc<Input>({ func: ... })`
164
+ * 2. Zod schemas: `pikkuMCPResourceFunc({ input: z.object(...), func: ... })`
165
+ *
166
+ * @template In - Input type for the resource request (inferred from schema if provided)
167
+ * @param func - Function definition, either direct function or configuration object
168
+ * @returns The unwrapped function for internal use
169
+ */
170
+ export function pikkuMCPResourceFunc<InputSchema extends StandardSchemaV1>(
171
+ config: MCPResourceFuncConfigWithSchema<InputSchema>
172
+ ): PikkuFunctionConfig<InferSchemaOutput<InputSchema>, MCPResourceResponse, 'mcp' | 'rpc'>
173
+ export function pikkuMCPResourceFunc<In>(
174
+ func:
175
+ | PikkuFunctionSessionless<In, MCPResourceResponse, 'mcp' | 'rpc'>
176
+ | {
177
+ func: PikkuFunctionSessionless<In, MCPResourceResponse, 'mcp' | 'rpc'>
178
+ name?: string
179
+ }
180
+ ): PikkuFunctionConfig<In, MCPResourceResponse, 'mcp' | 'rpc'>
181
+ export function pikkuMCPResourceFunc(func: any): any {
182
+ return typeof func === 'function' ? { func } : func
183
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * This file was generated by @pikku/cli@0.12.55
3
+ */
4
+ import './rpc/pikku-rpc-wirings-meta.internal.gen.js'
5
+ import './function/pikku-functions-meta.gen.js'
6
+ import './addon/pikku-package.gen.js'
7
+ import './schemas/register.gen.js'
8
+ import './function/pikku-functions.gen.js'
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file was generated by @pikku/cli@0.12.55
3
+ */
4
+ import { LocalMetaService } from '@pikku/core/services/local-meta'
5
+
6
+ export class PikkuMetaService extends LocalMetaService {
7
+ constructor() {
8
+ super('/home/runner/work/addons/addons/packages/devops/execution/.pikku')
9
+ }
10
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * This file was generated by @pikku/cli@0.12.55
3
+ */
4
+ import type { SingletonServices } from '../types/application-types.d.js'
5
+ import type { Services } from '../types/application-types.d.js'
6
+
7
+ // Singleton services map: true if required, false if available but unused
8
+ export const requiredSingletonServices = {
9
+ 'agentRunService': false,
10
+ 'aiAgentRunner': false,
11
+ 'aiRunState': false,
12
+ 'aiStorage': false,
13
+ 'audit': false,
14
+ 'auditLog': false,
15
+ 'config': true,
16
+ 'content': false,
17
+ 'credentialService': false,
18
+ 'deploymentService': false,
19
+ 'emailService': false,
20
+ 'eventHub': false,
21
+ 'jwt': false,
22
+ 'logger': true,
23
+ 'metaService': false,
24
+ 'queueService': false,
25
+ 'schedulerService': false,
26
+ 'schema': true,
27
+ 'secrets': true,
28
+ 'sessionStore': false,
29
+ 'variables': true,
30
+ 'workflowRunService': false,
31
+ 'workflowService': false,
32
+ } as const
33
+
34
+ // Wire services map: true if required, false if available but unused
35
+ export const requiredWireServices = {
36
+ } as const
37
+
38
+ // Type exports
39
+ export type RequiredSingletonServices = Required<Pick<SingletonServices, 'config' | 'logger' | 'schema' | 'secrets' | 'variables'>> & Partial<Omit<SingletonServices, 'config' | 'logger' | 'schema' | 'secrets' | 'variables'>>
40
+
41
+ export type RequiredWireServices = Partial<Services>
@@ -0,0 +1,21 @@
1
+ /**
2
+ * This file was generated by @pikku/cli@0.12.55
3
+ */
4
+ /**
5
+ * Main type export hub - re-exports all wiring-specific types
6
+ */
7
+
8
+ // Core function, middleware, and permission types
9
+ export * from './function/pikku-function-types.gen.js'
10
+
11
+ // Trigger wiring types
12
+ export * from './trigger/pikku-trigger-types.gen.js'
13
+
14
+ // Node wiring types
15
+ export * from './console/pikku-node-types.gen.js'
16
+
17
+ // Secret definition types
18
+ export * from './secrets/pikku-secret-types.gen.js'
19
+
20
+ // Addon types
21
+ export * from './addon/pikku-addon-types.gen.js'
@@ -0,0 +1,27 @@
1
+ /**
2
+ * This file was generated by @pikku/cli@0.12.55
3
+ */
4
+ /**
5
+ * Queue-specific type definitions for tree-shaking optimization
6
+ */
7
+
8
+ import { CoreQueueWorker, wireQueueWorker as wireQueueWorkerCore } from '@pikku/core/queue'
9
+ import type { PikkuFunctionConfig } from '../function/pikku-function-types.gen.js'
10
+
11
+ /**
12
+ * Type definition for queue workers that process background jobs.
13
+ *
14
+ * @template In - Input type for the queue job
15
+ * @template Out - Output type for the queue job
16
+ */
17
+ type QueueWiring<In, Out> = CoreQueueWorker<PikkuFunctionConfig<In, Out, 'session' | 'rpc'>>
18
+
19
+ /**
20
+ * Registers a queue worker with the Pikku framework.
21
+ * Workers process background jobs from queues.
22
+ *
23
+ * @param queueWorker - Queue worker definition with job handler
24
+ */
25
+ export const wireQueueWorker = (queueWorker: QueueWiring<any, any>) => {
26
+ wireQueueWorkerCore(queueWorker as any)
27
+ }