@pikku/cli 0.12.92 → 0.12.96

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 (196) hide show
  1. package/console-app/assets/{index-DDpIMCpy.js → index-CeQodYfg.js} +151 -149
  2. package/console-app/assets/{index-D0HG8q0B.css → index-CyYHTGWZ.css} +1 -1
  3. package/console-app/index.html +2 -2
  4. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
  5. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  6. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  7. package/dist/.pikku/cli/pikku-cli-channel.d.ts +13 -15
  8. package/dist/.pikku/cli/pikku-cli-channel.js +72 -3
  9. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +14 -4
  10. package/dist/.pikku/cli/pikku-cli-client.gen.js +20 -10
  11. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
  12. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
  13. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  14. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  15. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  16. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +156 -2
  17. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  18. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  19. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  20. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  21. package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
  22. package/dist/.pikku/function/pikku-function-types.gen.d.ts +55 -20
  23. package/dist/.pikku/function/pikku-function-types.gen.js +27 -1
  24. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  25. package/dist/.pikku/function/pikku-functions-meta.gen.json +176 -13
  26. package/dist/.pikku/function/pikku-functions.gen.js +11 -1
  27. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  28. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  29. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  30. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  31. package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
  32. package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
  33. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  34. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  35. package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
  36. package/dist/.pikku/pikku-meta-service.gen.js +1 -1
  37. package/dist/.pikku/pikku-services.gen.d.ts +1 -1
  38. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  39. package/dist/.pikku/pikku-types.gen.js +1 -1
  40. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  41. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  42. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  43. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  44. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  45. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  46. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +9 -0
  47. package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
  48. package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
  49. package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
  50. package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  51. package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
  52. package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
  53. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  54. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  55. package/dist/.pikku/schemas/register.gen.js +21 -3
  56. package/dist/.pikku/schemas/schemas/KnowledgeIndexInput.schema.json +1 -0
  57. package/dist/.pikku/schemas/schemas/KnowledgeIndexOutput.schema.json +1 -0
  58. package/dist/.pikku/schemas/schemas/KnowledgeValidateInput.schema.json +1 -0
  59. package/dist/.pikku/schemas/schemas/KnowledgeValidateOutput.schema.json +1 -0
  60. package/dist/.pikku/schemas/schemas/PersonaRunInput.schema.json +1 -0
  61. package/dist/.pikku/schemas/schemas/PersonaSyncInput.schema.json +1 -0
  62. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  63. package/dist/.pikku/schemas/schemas/PikkuPersonasInput.schema.json +1 -0
  64. package/dist/.pikku/schemas/schemas/PikkuRolesInput.schema.json +1 -0
  65. package/dist/.pikku/schemas/schemas/RolesAuditInput.schema.json +1 -0
  66. package/dist/.pikku/schemas/schemas/RolesPruneInput.schema.json +1 -0
  67. package/dist/.pikku/scopes/pikku-personas-meta.gen.json +1 -0
  68. package/dist/.pikku/scopes/pikku-personas.gen.d.ts +36 -0
  69. package/dist/.pikku/scopes/pikku-personas.gen.js +17 -0
  70. package/dist/.pikku/scopes/pikku-roles-meta.gen.json +1 -0
  71. package/dist/.pikku/scopes/pikku-roles.gen.d.ts +30 -0
  72. package/dist/.pikku/scopes/pikku-roles.gen.js +18 -0
  73. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +4 -2
  74. package/dist/.pikku/scopes/pikku-scope-types.gen.js +3 -2
  75. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
  76. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +2 -2
  77. package/dist/.pikku/secrets/pikku-secret-types.gen.js +2 -2
  78. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  79. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  80. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  81. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  82. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +2 -2
  83. package/dist/.pikku/variables/pikku-variable-types.gen.js +2 -2
  84. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  85. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  86. package/dist/.pikku/workflow/meta/allWorkflow.gen.json +27 -3
  87. package/dist/.pikku/workflow/pikku-personas.gen.d.ts +15 -0
  88. package/dist/.pikku/workflow/pikku-personas.gen.js +17 -0
  89. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +96 -19
  90. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +22 -2
  91. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  92. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  93. package/dist/bin/pikku-bin.mjs +2 -2
  94. package/dist/bin/pikku.js +0 -0
  95. package/dist/src/cli.wiring.js +124 -2
  96. package/dist/src/deploy/analyzer/analyzer.js +14 -0
  97. package/dist/src/deploy/analyzer/manifest.d.ts +11 -0
  98. package/dist/src/fabric/functions/validate.function.js +20 -11
  99. package/dist/src/functions/commands/bootstrap.js +3 -0
  100. package/dist/src/functions/commands/dev-ai-runner.d.ts +16 -4
  101. package/dist/src/functions/commands/dev-ai-runner.js +63 -29
  102. package/dist/src/functions/commands/dev.js +9 -4
  103. package/dist/src/functions/commands/enable.js +15 -19
  104. package/dist/src/functions/commands/{scenario-environment.d.ts → environment.d.ts} +9 -6
  105. package/dist/src/functions/commands/{scenario-environment.js → environment.js} +5 -4
  106. package/dist/src/functions/commands/knowledge-index.d.ts +30 -0
  107. package/dist/src/functions/commands/knowledge-index.js +11 -0
  108. package/dist/src/functions/commands/knowledge-validate.d.ts +33 -0
  109. package/dist/src/functions/commands/knowledge-validate.js +11 -0
  110. package/dist/src/functions/commands/new-addon.d.ts +18 -0
  111. package/dist/src/functions/commands/new-addon.js +52 -36
  112. package/dist/src/functions/commands/persona-sync.d.ts +33 -0
  113. package/dist/src/functions/commands/persona-sync.js +151 -0
  114. package/dist/src/functions/commands/persona.d.ts +58 -0
  115. package/dist/src/functions/commands/persona.js +217 -0
  116. package/dist/src/functions/commands/roles-audit.d.ts +1 -0
  117. package/dist/src/functions/commands/roles-audit.js +37 -0
  118. package/dist/src/functions/commands/roles-prune.d.ts +16 -0
  119. package/dist/src/functions/commands/roles-prune.js +52 -0
  120. package/dist/src/functions/commands/roles-shared.d.ts +40 -0
  121. package/dist/src/functions/commands/roles-shared.js +77 -0
  122. package/dist/src/functions/commands/scenario-browser.d.ts +3 -3
  123. package/dist/src/functions/commands/scenario-browser.js +1 -1
  124. package/dist/src/functions/commands/scenario-ladder.d.ts +44 -2
  125. package/dist/src/functions/commands/scenario-ladder.js +51 -2
  126. package/dist/src/functions/commands/scenario.d.ts +7 -0
  127. package/dist/src/functions/commands/scenario.js +79 -17
  128. package/dist/src/functions/commands/scopes-shared.d.ts +8 -0
  129. package/dist/src/functions/commands/scopes-shared.js +1 -1
  130. package/dist/src/functions/commands/serve.js +7 -3
  131. package/dist/src/functions/commands/virtual-user-formatter.d.ts +30 -0
  132. package/dist/src/functions/commands/virtual-user-formatter.js +65 -0
  133. package/dist/src/functions/db/local-db.js +38 -1
  134. package/dist/src/functions/knowledge/render.d.ts +3 -0
  135. package/dist/src/functions/knowledge/render.js +66 -0
  136. package/dist/src/functions/knowledge/schemas.d.ts +51 -0
  137. package/dist/src/functions/knowledge/schemas.js +25 -0
  138. package/dist/src/functions/validate/workspace-validate.js +1 -1
  139. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +2 -1
  140. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +1 -0
  141. package/dist/src/functions/wirings/auth/serialize-auth-gen.d.ts +2 -2
  142. package/dist/src/functions/wirings/auth/serialize-auth-gen.js +8 -8
  143. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.d.ts +7 -3
  144. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.js +32 -18
  145. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +63 -6
  146. package/dist/src/functions/wirings/console/serialize-console-functions.js +4 -7
  147. package/dist/src/functions/wirings/credentials/serialize-credentials-types.js +8 -1
  148. package/dist/src/functions/wirings/functions/serialize-function-types.js +88 -28
  149. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +25 -9
  150. package/dist/src/functions/wirings/package/serialize-package-types.js +5 -3
  151. package/dist/src/functions/wirings/personas/pikku-command-personas.d.ts +7 -0
  152. package/dist/src/functions/wirings/personas/pikku-command-personas.js +43 -0
  153. package/dist/src/functions/wirings/personas/serialize-personas-types.d.ts +18 -0
  154. package/dist/src/functions/wirings/personas/serialize-personas-types.js +76 -0
  155. package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.js +2 -1
  156. package/dist/src/functions/wirings/roles/pikku-command-roles.d.ts +7 -0
  157. package/dist/src/functions/wirings/roles/pikku-command-roles.js +33 -0
  158. package/dist/src/functions/wirings/roles/serialize-roles-types.d.ts +14 -0
  159. package/dist/src/functions/wirings/roles/serialize-roles-types.js +55 -0
  160. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +2 -1
  161. package/dist/src/functions/wirings/scenarios/register-scenario-instrumentation.d.ts +3 -3
  162. package/dist/src/functions/wirings/scenarios/register-scenario-instrumentation.js +3 -3
  163. package/dist/src/functions/wirings/scopes/serialize-scopes-types.d.ts +1 -1
  164. package/dist/src/functions/wirings/scopes/serialize-scopes-types.js +1 -1
  165. package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +10 -3
  166. package/dist/src/functions/wirings/user-admin/pikku-command-user-admin-functions.js +2 -1
  167. package/dist/src/functions/wirings/user-admin/serialize-user-admin-functions.js +2 -2
  168. package/dist/src/functions/wirings/variables/serialize-variables-types.js +8 -1
  169. package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.js +2 -1
  170. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +13 -13
  171. package/dist/src/functions/wirings/workflow/serialize-personas.d.ts +10 -0
  172. package/dist/src/functions/wirings/workflow/serialize-personas.js +46 -0
  173. package/dist/src/functions/wirings/workflow/serialize-scenario-step-map.js +11 -2
  174. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +165 -29
  175. package/dist/src/functions/workflows/all.workflow.js +7 -1
  176. package/dist/src/server/content-signing-jwt.d.ts +13 -0
  177. package/dist/src/server/content-signing-jwt.js +51 -0
  178. package/dist/src/server/dev-server-runner.interface.d.ts +10 -2
  179. package/dist/src/server/node-server-runner.d.ts +2 -2
  180. package/dist/src/server/node-server-runner.js +2 -1
  181. package/dist/src/services.d.ts +3 -1
  182. package/dist/src/services.js +2 -1
  183. package/dist/src/utils/pikku-cli-config.js +45 -2
  184. package/dist/src/utils/resolve-personas.d.ts +32 -0
  185. package/dist/src/utils/resolve-personas.js +46 -0
  186. package/dist/src/utils/resolve-scaffold-feature.d.ts +19 -0
  187. package/dist/src/utils/resolve-scaffold-feature.js +49 -0
  188. package/dist/tsconfig.tsbuildinfo +1 -1
  189. package/package.json +17 -13
  190. package/dist/.pikku/schemas/schemas/ScenarioRunInput.schema.json +0 -1
  191. package/dist/.pikku/workflow/pikku-scenario-actors.gen.d.ts +0 -19
  192. package/dist/.pikku/workflow/pikku-scenario-actors.gen.js +0 -17
  193. package/dist/src/functions/wirings/workflow/serialize-scenario-actors.d.ts +0 -2
  194. package/dist/src/functions/wirings/workflow/serialize-scenario-actors.js +0 -40
  195. package/dist/src/utils/resolve-scenario-actors.d.ts +0 -23
  196. package/dist/src/utils/resolve-scenario-actors.js +0 -74
@@ -1,10 +1,10 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.92
2
+ * This file was generated by @pikku/cli@0.12.96
3
3
  */
4
4
  /**
5
5
  * Core function, middleware, and permission types for all wirings
6
6
  */
7
- import type { CorePikkuMiddleware, CorePermissionGroup, ListInput, ListOutput, PikkuWire, PickRequired } from '@pikku/core';
7
+ import type { CorePikkuMiddleware, CorePermissionGroup, ListInput, ListOutput, PikkuWire, PickRequired, SecretlessServices, SecretService } from '@pikku/core';
8
8
  import type { CorePikkuFunctionConfig, CorePikkuAuth, CorePikkuAuthConfig, CorePikkuPermission } from '@pikku/core/function';
9
9
  import { CreateWireServices } from '@pikku/core/internal';
10
10
  import type { NodeType } from '@pikku/core/node';
@@ -17,7 +17,7 @@ import type { Services } from '../../types/application-types.d.js';
17
17
  import type { Config } from '../../types/application-types.d.js';
18
18
  import type { TypedPikkuRPC, FlattenedRPCMap } from '../rpc/pikku-rpc-wirings-map.internal.gen.d.js';
19
19
  import type { RequiredSingletonServices, RequiredWireServices } from '../pikku-services.gen.js';
20
- import type { TypedWorkflow, TypedScenario, TypedScenarioActors } from '../workflow/pikku-workflow-types.gen.js';
20
+ import type { TypedWorkflow, TypedScenario, TypedPersonas } from '../workflow/pikku-workflow-types.gen.js';
21
21
  export type { SingletonServices as SingletonServices };
22
22
  export type { Services as Services };
23
23
  export type Session = UserSession;
@@ -30,7 +30,20 @@ export type Session = UserSession;
30
30
  * why an `if (!service)` guard inside a function body is always dead code.
31
31
  */
32
32
  export type WiredSingletonServices = RequiredSingletonServices & SingletonServices;
33
- export type WiredServices = RequiredSingletonServices & Services;
33
+ export type WiredServices = SecretlessServices<RequiredSingletonServices & Services>;
34
+ /** `WiredSingletonServices` without `secrets`, for auth gates. */
35
+ export type WiredAuthServices = SecretlessServices<WiredSingletonServices>;
36
+ /**
37
+ * `WiredServices` with `secrets` restored, for the console's secret-admin
38
+ * functions. Reached by declaring `secretBroker: true` on a `pikkuFunc` config.
39
+ *
40
+ * Declaring it does not grant the service. The runner hands out the real
41
+ * `SecretService` only to the functions the inspector marks as secret brokers;
42
+ * every other function still receives the throwing accessor.
43
+ */
44
+ export type WiredSecretBrokerServices = WiredServices & {
45
+ secrets: SecretService;
46
+ };
34
47
  /**
35
48
  * Inline node configuration for function definitions.
36
49
  */
@@ -47,7 +60,7 @@ export type NodeConfig = {
47
60
  * @template In - The input type that the permission check will receive
48
61
  * @template RequiredServices - The services required for this permission check
49
62
  */
50
- export type PikkuPermission<In = unknown, RequiredServices extends Services = WiredServices> = CorePikkuPermission<In, RequiredServices, PikkuWire<In, never, false, Session>>;
63
+ export type PikkuPermission<In = unknown, RequiredServices extends SecretlessServices<Services> = WiredServices> = CorePikkuPermission<In, RequiredServices, PikkuWire<In, never, false, Session>>;
51
64
  /**
52
65
  * Type-safe middleware definition that can access your application's services and session.
53
66
  * Use this to define reusable middleware that can be applied to multiple wirings.
@@ -58,7 +71,7 @@ export type PikkuMiddleware<RequiredServices extends SingletonServices = WiredSi
58
71
  /**
59
72
  * Configuration object for creating a permission with metadata
60
73
  */
61
- export type PikkuPermissionConfig<In = unknown, RequiredServices extends Services = WiredServices> = {
74
+ export type PikkuPermissionConfig<In = unknown, RequiredServices extends SecretlessServices<Services> = WiredServices> = {
62
75
  /** The permission function */
63
76
  func: PikkuPermission<In, RequiredServices>;
64
77
  /** Optional human-readable name for the permission */
@@ -97,11 +110,11 @@ export declare const pikkuPermission: <In>(permission: PikkuPermission<In> | Pik
97
110
  *
98
111
  * @template RequiredServices - The services required for this auth check
99
112
  */
100
- export type PikkuAuth<RequiredServices extends SingletonServices = WiredSingletonServices> = CorePikkuAuth<RequiredServices, Session>;
113
+ export type PikkuAuth<RequiredServices extends SecretlessServices<SingletonServices> = WiredAuthServices> = CorePikkuAuth<RequiredServices, Session>;
101
114
  /**
102
115
  * Configuration object for creating an auth permission with metadata
103
116
  */
104
- export type PikkuAuthConfig<RequiredServices extends SingletonServices = WiredSingletonServices> = CorePikkuAuthConfig<RequiredServices, Session>;
117
+ export type PikkuAuthConfig<RequiredServices extends SecretlessServices<SingletonServices> = WiredAuthServices> = CorePikkuAuthConfig<RequiredServices, Session>;
105
118
  /**
106
119
  * Factory function for creating auth-only permissions with tree-shaking support.
107
120
  * Auth permissions only receive services and session (no request data),
@@ -122,7 +135,7 @@ export type PikkuAuthConfig<RequiredServices extends SingletonServices = WiredSi
122
135
  * })
123
136
  * \`\`\`
124
137
  */
125
- export declare const pikkuAuth: <RequiredServices extends SingletonServices = WiredSingletonServices>(auth: PikkuAuth<RequiredServices> | PikkuAuthConfig<RequiredServices>) => PikkuPermission<any, any>;
138
+ export declare const pikkuAuth: <RequiredServices extends SecretlessServices<SingletonServices> = WiredAuthServices>(auth: PikkuAuth<RequiredServices> | PikkuAuthConfig<RequiredServices>) => PikkuPermission<any, any>;
126
139
  /**
127
140
  * Configuration object for creating middleware with metadata
128
141
  */
@@ -203,7 +216,7 @@ export declare const pikkuPermissionFactory: <In = any>(factory: (input: In) =>
203
216
  * @template In - The input type (same as the function it describes)
204
217
  * @template RequiredServices - The services required for this description function
205
218
  */
206
- export type PikkuApprovalDescription<In = unknown, RequiredServices extends Services = WiredServices> = (services: RequiredServices, data: In) => Promise<string>;
219
+ export type PikkuApprovalDescription<In = unknown, RequiredServices extends SecretlessServices<Services> = WiredServices> = (services: RequiredServices, data: In) => Promise<string>;
207
220
  /**
208
221
  * Factory function for creating approval description functions with tree-shaking support.
209
222
  *
@@ -217,7 +230,7 @@ export type PikkuApprovalDescription<In = unknown, RequiredServices extends Serv
217
230
  * )
218
231
  * ```
219
232
  */
220
- export declare const pikkuApprovalDescription: <In = unknown, RequiredServices extends Services = WiredServices>(fn: PikkuApprovalDescription<In, RequiredServices>) => PikkuApprovalDescription<In, RequiredServices>;
233
+ export declare const pikkuApprovalDescription: <In = unknown, RequiredServices extends SecretlessServices<Services> = WiredServices>(fn: PikkuApprovalDescription<In, RequiredServices>) => PikkuApprovalDescription<In, RequiredServices>;
221
234
  /**
222
235
  * A sessionless API function that doesn't require user authentication.
223
236
  * Use this for public endpoints, health checks, or operations that don't need user context.
@@ -226,7 +239,7 @@ export declare const pikkuApprovalDescription: <In = unknown, RequiredServices e
226
239
  * @template Out - The output type that the function returns
227
240
  * @template RequiredServices - Services required by this function
228
241
  */
229
- export type PikkuFunctionSessionless<In = unknown, Out = never, RequiredWires extends keyof PikkuWire = never, RequiredServices extends Services = WiredServices> = CorePikkuFunctionSessionless<In, Out, RequiredServices, Session, PickRequired<PikkuWire<In, Out, false, Session, TypedPikkuRPC, null, any, TypedWorkflow, unknown, TypedScenario, TypedScenarioActors>, RequiredWires>>;
242
+ export type PikkuFunctionSessionless<In = unknown, Out = never, RequiredWires extends keyof PikkuWire = never, RequiredServices extends SecretlessServices<Services> = WiredServices> = CorePikkuFunctionSessionless<In, Out, RequiredServices, Session, PickRequired<PikkuWire<In, Out, false, Session, TypedPikkuRPC, null, any, TypedWorkflow, unknown, TypedScenario, TypedPersonas>, RequiredWires>>;
230
243
  /**
231
244
  * A session-aware API function that requires user authentication.
232
245
  * Use this for protected endpoints that need access to user session data.
@@ -235,7 +248,7 @@ export type PikkuFunctionSessionless<In = unknown, Out = never, RequiredWires ex
235
248
  * @template Out - The output type that the function returns
236
249
  * @template RequiredServices - Services required by this function
237
250
  */
238
- export type PikkuFunction<In = unknown, Out = never, RequiredWires extends keyof PikkuWire = 'session', RequiredServices extends Services = WiredServices> = CorePikkuFunction<In, Out, RequiredServices, Session, PickRequired<PikkuWire<In, Out, true, Session, TypedPikkuRPC, null, any, TypedWorkflow, unknown, TypedScenario, TypedScenarioActors>, RequiredWires>>;
251
+ export type PikkuFunction<In = unknown, Out = never, RequiredWires extends keyof PikkuWire = 'session', RequiredServices extends SecretlessServices<Services> = WiredServices> = CorePikkuFunction<In, Out, RequiredServices, Session, PickRequired<PikkuWire<In, Out, true, Session, TypedPikkuRPC, null, any, TypedWorkflow, unknown, TypedScenario, TypedPersonas>, RequiredWires>>;
239
252
  /**
240
253
  * Helper type to infer the output type from a Standard Schema
241
254
  */
@@ -248,7 +261,7 @@ export type InferSchemaOutput<T> = T extends StandardSchemaV1<any, infer Output>
248
261
  * @template Out - The output type
249
262
  * @template PikkuFunc - The function type (can be narrowed to PikkuFunction or PikkuFunctionSessionless)
250
263
  */
251
- 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>, InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined> = CorePikkuFunctionConfig<PikkuFunc, PikkuPermission<In>, PikkuMiddleware, InputSchema, OutputSchema, ScopeId>;
264
+ export type PikkuFunctionConfig<In = unknown, Out = unknown, RequiredWires extends keyof PikkuWire = never, PikkuFunc extends PikkuFunction<In, Out, RequiredWires, any> | PikkuFunctionSessionless<In, Out, RequiredWires, any> = PikkuFunction<In, Out, RequiredWires> | PikkuFunctionSessionless<In, Out, RequiredWires>, InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined> = CorePikkuFunctionConfig<PikkuFunc, PikkuPermission<In>, PikkuMiddleware, InputSchema, OutputSchema, ScopeId>;
252
265
  /**
253
266
  * Configuration object for Pikku functions with Zod schema validation.
254
267
  * Use this when you want to define input/output schemas using Zod.
@@ -259,8 +272,8 @@ type SchemaInferred<S, Fallback = unknown> = S extends StandardSchemaV1 ? InferS
259
272
  * Schema-overload variant for pikkuFunc. Derived from CorePikkuFunctionConfig
260
273
  * so adding a field on the core type automatically propagates here.
261
274
  */
262
- export type PikkuFunctionConfigWithSchema<InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined, RequiredWires extends keyof PikkuWire = never> = Omit<CorePikkuFunctionConfig<PikkuFunction<SchemaInferred<InputSchema>, SchemaInferred<OutputSchema>, RequiredWires> | PikkuFunctionSessionless<SchemaInferred<InputSchema>, SchemaInferred<OutputSchema>, RequiredWires>, CorePikkuPermission<any>, PikkuMiddleware, undefined, undefined, ScopeId>, 'func' | 'input' | 'output' | 'permissions' | 'approvalDescription'> & {
263
- func: PikkuFunction<SchemaInferred<InputSchema>, SchemaInferred<OutputSchema>, RequiredWires> | PikkuFunctionSessionless<SchemaInferred<InputSchema>, SchemaInferred<OutputSchema>, RequiredWires>;
275
+ export type PikkuFunctionConfigWithSchema<InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined, RequiredWires extends keyof PikkuWire = never, RequiredServices extends SecretlessServices<Services> = WiredServices> = Omit<CorePikkuFunctionConfig<PikkuFunction<SchemaInferred<InputSchema>, SchemaInferred<OutputSchema>, RequiredWires, RequiredServices> | PikkuFunctionSessionless<SchemaInferred<InputSchema>, SchemaInferred<OutputSchema>, RequiredWires, RequiredServices>, CorePikkuPermission<any>, PikkuMiddleware, undefined, undefined, ScopeId>, 'func' | 'input' | 'output' | 'permissions' | 'approvalDescription'> & {
276
+ func: PikkuFunction<SchemaInferred<InputSchema>, SchemaInferred<OutputSchema>, RequiredWires, RequiredServices> | PikkuFunctionSessionless<SchemaInferred<InputSchema>, SchemaInferred<OutputSchema>, RequiredWires, RequiredServices>;
264
277
  input?: InputSchema;
265
278
  output?: OutputSchema;
266
279
  permissions?: InputSchema extends StandardSchemaV1 ? CorePermissionGroup<PikkuPermission<InferSchemaOutput<InputSchema>>> : undefined;
@@ -292,6 +305,9 @@ export type PikkuFunctionConfigWithSchema<InputSchema extends StandardSchemaV1 |
292
305
  * })
293
306
  * ```
294
307
  */
308
+ export declare function pikkuFunc<InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined>(config: PikkuFunctionConfigWithSchema<InputSchema, OutputSchema, 'session' | 'rpc', WiredSecretBrokerServices> & {
309
+ secretBroker: true;
310
+ }): PikkuFunctionConfig<InputSchema extends StandardSchemaV1 ? InferSchemaOutput<InputSchema> : unknown, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, 'session' | 'rpc'>;
295
311
  export declare function pikkuFunc<InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined>(config: PikkuFunctionConfigWithSchema<InputSchema, OutputSchema, 'session' | 'rpc'>): PikkuFunctionConfig<InputSchema extends StandardSchemaV1 ? InferSchemaOutput<InputSchema> : unknown, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, 'session' | 'rpc'>;
296
312
  export declare function pikkuFunc<In, Out = unknown>(func: PikkuFunction<In, Out, 'session' | 'rpc'> | PikkuFunctionConfig<In, Out, 'session' | 'rpc'>): PikkuFunctionConfig<In, Out, 'session' | 'rpc'>;
297
313
  export type PikkuListFunction<F extends Record<string, unknown> = {}, Row = unknown, S extends string = never> = PikkuFunction<ListInput<F, S>, ListOutput<Row>, 'session' | 'rpc'> | PikkuFunctionSessionless<ListInput<F, S>, ListOutput<Row>, 'session' | 'rpc'>;
@@ -303,8 +319,8 @@ export declare const pikkuListFunc: <F extends Record<string, unknown> = {}, Row
303
319
  * Schema-overload variant for pikkuSessionlessFunc. Derived from
304
320
  * CorePikkuFunctionConfig to stay in sync with the generic-typed config.
305
321
  */
306
- export type PikkuFunctionSessionlessConfigWithSchema<InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined, RequiredWires extends keyof PikkuWire = never> = Omit<CorePikkuFunctionConfig<PikkuFunctionSessionless<SchemaInferred<InputSchema>, SchemaInferred<OutputSchema>, RequiredWires>>, 'func' | 'input' | 'output' | 'permissions' | 'approvalDescription'> & {
307
- func: PikkuFunctionSessionless<SchemaInferred<InputSchema>, SchemaInferred<OutputSchema>, RequiredWires>;
322
+ export type PikkuFunctionSessionlessConfigWithSchema<InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined, RequiredWires extends keyof PikkuWire = never, RequiredServices extends SecretlessServices<Services> = WiredServices> = Omit<CorePikkuFunctionConfig<PikkuFunctionSessionless<SchemaInferred<InputSchema>, SchemaInferred<OutputSchema>, RequiredWires, RequiredServices>>, 'func' | 'input' | 'output' | 'permissions' | 'approvalDescription'> & {
323
+ func: PikkuFunctionSessionless<SchemaInferred<InputSchema>, SchemaInferred<OutputSchema>, RequiredWires, RequiredServices>;
308
324
  input?: InputSchema;
309
325
  output?: OutputSchema;
310
326
  permissions?: InputSchema extends StandardSchemaV1 ? CorePermissionGroup<PikkuPermission<InferSchemaOutput<InputSchema>>> : undefined;
@@ -334,8 +350,8 @@ export type PikkuFunctionSessionlessConfigWithSchema<InputSchema extends Standar
334
350
  * })
335
351
  * ```
336
352
  */
337
- export declare function pikkuSessionlessFunc<InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined>(config: PikkuFunctionSessionlessConfigWithSchema<InputSchema, OutputSchema, 'session' | 'rpc'>): PikkuFunctionConfig<InputSchema extends StandardSchemaV1 ? InferSchemaOutput<InputSchema> : unknown, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, 'session' | 'rpc'>;
338
- export declare function pikkuSessionlessFunc<In, Out = unknown>(func: PikkuFunctionSessionless<In, Out, 'session' | 'rpc'> | PikkuFunctionConfig<In, Out, 'session' | 'rpc'>): PikkuFunctionConfig<In, Out, 'session' | 'rpc'>;
353
+ export declare function pikkuSessionlessFunc<InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined, RequiredServices extends SecretlessServices<Services> = WiredServices>(config: PikkuFunctionSessionlessConfigWithSchema<InputSchema, OutputSchema, 'session' | 'rpc', RequiredServices>): PikkuFunctionConfig<InputSchema extends StandardSchemaV1 ? InferSchemaOutput<InputSchema> : unknown, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, 'session' | 'rpc'>;
354
+ export declare function pikkuSessionlessFunc<In, Out = unknown, RequiredServices extends SecretlessServices<Services> = WiredServices>(func: PikkuFunctionSessionless<In, Out, 'session' | 'rpc', RequiredServices> | PikkuFunctionConfig<In, Out, 'session' | 'rpc', PikkuFunctionSessionless<In, Out, 'session' | 'rpc', RequiredServices>>): PikkuFunctionConfig<In, Out, 'session' | 'rpc'>;
339
355
  /**
340
356
  * Creates a function that takes no input and returns no output.
341
357
  * Useful for health checks, triggers, or cleanup operations.
@@ -371,6 +387,25 @@ export declare const pikkuVoidFunc: (func: PikkuFunctionSessionless<void, void,
371
387
  * ```
372
388
  */
373
389
  export declare const ref: <Name extends keyof FlattenedRPCMap>(rpcName: Name) => PikkuFunctionConfig<FlattenedRPCMap[Name]["input"], FlattenedRPCMap[Name]["output"], "session" | "rpc">;
390
+ /**
391
+ * Declares a capability the connected client answers, reachable from any
392
+ * `wireChannel` function as `channel.remote(name, input)`.
393
+ *
394
+ * There is no `func`: this side owns the contract, the client owns the body.
395
+ * The `description` is what a person is shown when asked to approve the call,
396
+ * so write it for them rather than for the caller.
397
+ *
398
+ * @example
399
+ * ```typescript
400
+ * export const localCheckoutOutput = z.object({ sha: z.string(), branch: z.string() })
401
+ *
402
+ * export const localCheckout = pikkuRemoteChannelFunc({
403
+ * description: 'Read the current commit and branch of your working tree',
404
+ * output: localCheckoutOutput,
405
+ * })
406
+ * ```
407
+ */
408
+ export declare function pikkuRemoteChannelFunc<InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined>(config: Omit<PikkuFunctionSessionlessConfigWithSchema<InputSchema, OutputSchema, 'session' | 'rpc'>, 'func'>): PikkuFunctionConfig<SchemaInferred<InputSchema>, SchemaInferred<OutputSchema>, 'session' | 'rpc'>;
374
409
  /**
375
410
  * Creates a Pikku config factory.
376
411
  * Use this to define your application's configuration factory.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.92
2
+ * This file was generated by @pikku/cli@0.12.96
3
3
  */
4
4
  /**
5
5
  * Core function, middleware, and permission types for all wirings
@@ -192,6 +192,32 @@ export const ref = (rpcName) => {
192
192
  }
193
193
  };
194
194
  };
195
+ /**
196
+ * Declares a capability the connected client answers, reachable from any
197
+ * `wireChannel` function as `channel.remote(name, input)`.
198
+ *
199
+ * There is no `func`: this side owns the contract, the client owns the body.
200
+ * The `description` is what a person is shown when asked to approve the call,
201
+ * so write it for them rather than for the caller.
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * export const localCheckoutOutput = z.object({ sha: z.string(), branch: z.string() })
206
+ *
207
+ * export const localCheckout = pikkuRemoteChannelFunc({
208
+ * description: 'Read the current commit and branch of your working tree',
209
+ * output: localCheckoutOutput,
210
+ * })
211
+ * ```
212
+ */
213
+ export function pikkuRemoteChannelFunc(config) {
214
+ return {
215
+ ...config,
216
+ func: async (_services, _data, _wire) => {
217
+ throw new Error(`${config.title ?? 'This'} is a remote channel capability and has no local implementation — reach it with channel.remote() on the channel whose client exposes it.`);
218
+ },
219
+ };
220
+ }
195
221
  /**
196
222
  * Creates a Pikku config factory.
197
223
  * Use this to define your application's configuration factory.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.92
2
+ * This file was generated by @pikku/cli@0.12.96
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/internal';
5
5
  import metaData from './pikku-functions-meta.gen.json' with { type: 'json' };
@@ -551,7 +551,7 @@
551
551
  "inputs": [],
552
552
  "outputs": [],
553
553
  "remote": true,
554
- "implementationHash": "a68bb301aa2fd2b7"
554
+ "implementationHash": "ada89cdedc610d42"
555
555
  },
556
556
  "dbAudit": {
557
557
  "pikkuFuncId": "dbAudit",
@@ -750,7 +750,7 @@
750
750
  ],
751
751
  "outputs": [],
752
752
  "remote": true,
753
- "implementationHash": "94987498de1905ff"
753
+ "implementationHash": "f84702bbe3753086"
754
754
  },
755
755
  "pikkuEmailsInit": {
756
756
  "pikkuFuncId": "pikkuEmailsInit",
@@ -974,6 +974,44 @@
974
974
  "inputHash": "b5bbc92b",
975
975
  "outputHash": "e830c051"
976
976
  },
977
+ "knowledgeIndex": {
978
+ "pikkuFuncId": "knowledgeIndex",
979
+ "functionType": "user",
980
+ "funcWrapper": "pikkuSessionlessFunc",
981
+ "sessionless": true,
982
+ "name": "knowledgeIndex",
983
+ "inputSchemaName": "KnowledgeIndexInput",
984
+ "outputSchemaName": "KnowledgeIndexOutput",
985
+ "inputs": [
986
+ "KnowledgeIndexInput"
987
+ ],
988
+ "outputs": [
989
+ "KnowledgeIndexOutput"
990
+ ],
991
+ "implementationHash": "249932db6a018cd7",
992
+ "contractHash": "b903894d1051003a",
993
+ "inputHash": "aff763d8",
994
+ "outputHash": "274b63c7"
995
+ },
996
+ "knowledgeValidate": {
997
+ "pikkuFuncId": "knowledgeValidate",
998
+ "functionType": "user",
999
+ "funcWrapper": "pikkuSessionlessFunc",
1000
+ "sessionless": true,
1001
+ "name": "knowledgeValidate",
1002
+ "inputSchemaName": "KnowledgeValidateInput",
1003
+ "outputSchemaName": "KnowledgeValidateOutput",
1004
+ "inputs": [
1005
+ "KnowledgeValidateInput"
1006
+ ],
1007
+ "outputs": [
1008
+ "KnowledgeValidateOutput"
1009
+ ],
1010
+ "implementationHash": "30be2e275e523ab2",
1011
+ "contractHash": "711cdbfc5c0b407e",
1012
+ "inputHash": "b652c479",
1013
+ "outputHash": "f16756f6"
1014
+ },
977
1015
  "login": {
978
1016
  "pikkuFuncId": "login",
979
1017
  "functionType": "user",
@@ -1433,6 +1471,53 @@
1433
1471
  "inputHash": "7034161d",
1434
1472
  "outputHash": "fe940ba5"
1435
1473
  },
1474
+ "personaSync": {
1475
+ "pikkuFuncId": "personaSync",
1476
+ "functionType": "user",
1477
+ "funcWrapper": "pikkuSessionlessFunc",
1478
+ "sessionless": true,
1479
+ "name": "personaSync",
1480
+ "inputSchemaName": "PersonaSyncInput",
1481
+ "outputSchemaName": null,
1482
+ "inputs": [
1483
+ "PersonaSyncInput"
1484
+ ],
1485
+ "outputs": [],
1486
+ "remote": true,
1487
+ "implementationHash": "612c80e1814cadf5"
1488
+ },
1489
+ "personaRun": {
1490
+ "pikkuFuncId": "personaRun",
1491
+ "functionType": "user",
1492
+ "funcWrapper": "pikkuSessionlessFunc",
1493
+ "sessionless": true,
1494
+ "name": "personaRun",
1495
+ "inputSchemaName": "PersonaRunInput",
1496
+ "outputSchemaName": null,
1497
+ "inputs": [
1498
+ "PersonaRunInput"
1499
+ ],
1500
+ "outputs": [],
1501
+ "implementationHash": "f25d1104a05fb96a",
1502
+ "contractHash": "b8d9a71fb0cde9b7",
1503
+ "inputHash": "79b1ac3d",
1504
+ "outputHash": "14154fe3"
1505
+ },
1506
+ "personaList": {
1507
+ "pikkuFuncId": "personaList",
1508
+ "functionType": "user",
1509
+ "funcWrapper": "pikkuSessionlessFunc",
1510
+ "sessionless": true,
1511
+ "name": "personaList",
1512
+ "inputSchemaName": null,
1513
+ "outputSchemaName": null,
1514
+ "inputs": [],
1515
+ "outputs": [],
1516
+ "implementationHash": "63b7e99179b4e2f9",
1517
+ "contractHash": "4145e8286a5c52e0",
1518
+ "inputHash": "67a062ca",
1519
+ "outputHash": "b20ca8fc"
1520
+ },
1436
1521
  "pikkuBootstrap": {
1437
1522
  "pikkuFuncId": "pikkuBootstrap",
1438
1523
  "functionType": "user",
@@ -1465,6 +1550,36 @@
1465
1550
  "inputHash": "914f8a46",
1466
1551
  "outputHash": "dc82a9b9"
1467
1552
  },
1553
+ "rolesAudit": {
1554
+ "pikkuFuncId": "rolesAudit",
1555
+ "functionType": "user",
1556
+ "funcWrapper": "pikkuSessionlessFunc",
1557
+ "sessionless": true,
1558
+ "name": "rolesAudit",
1559
+ "inputSchemaName": "RolesAuditInput",
1560
+ "outputSchemaName": null,
1561
+ "inputs": [
1562
+ "RolesAuditInput"
1563
+ ],
1564
+ "outputs": [],
1565
+ "remote": true,
1566
+ "implementationHash": "1a53646e97a53d66"
1567
+ },
1568
+ "rolesPrune": {
1569
+ "pikkuFuncId": "rolesPrune",
1570
+ "functionType": "user",
1571
+ "funcWrapper": "pikkuSessionlessFunc",
1572
+ "sessionless": true,
1573
+ "name": "rolesPrune",
1574
+ "inputSchemaName": "RolesPruneInput",
1575
+ "outputSchemaName": null,
1576
+ "inputs": [
1577
+ "RolesPruneInput"
1578
+ ],
1579
+ "outputs": [],
1580
+ "remote": true,
1581
+ "implementationHash": "be08d55d26bdc4d0"
1582
+ },
1468
1583
  "scenarioList": {
1469
1584
  "pikkuFuncId": "scenarioList",
1470
1585
  "functionType": "user",
@@ -1494,9 +1609,9 @@
1494
1609
  "ScenarioRunInput"
1495
1610
  ],
1496
1611
  "outputs": [],
1497
- "implementationHash": "affe4a39e48566db",
1498
- "contractHash": "aba3a8b79c67445a",
1499
- "inputHash": "257a9d3c",
1612
+ "implementationHash": "4e21555c8e6a53cd",
1613
+ "contractHash": "346e500e709d7f93",
1614
+ "inputHash": "c033e2c4",
1500
1615
  "outputHash": "73729ce5"
1501
1616
  },
1502
1617
  "scopesAudit": {
@@ -1542,7 +1657,7 @@
1542
1657
  ],
1543
1658
  "outputs": [],
1544
1659
  "remote": true,
1545
- "implementationHash": "14a058c5e2987c14"
1660
+ "implementationHash": "67fbbb819b0c3898"
1546
1661
  },
1547
1662
  "pikkuSkillsList": {
1548
1663
  "pikkuFuncId": "pikkuSkillsList",
@@ -1805,7 +1920,7 @@
1805
1920
  "outputs": [
1806
1921
  "PikkuPublicAgentOutput"
1807
1922
  ],
1808
- "implementationHash": "20cd376f3e7e90fa",
1923
+ "implementationHash": "fad892b27fad1b99",
1809
1924
  "middleware": [
1810
1925
  {
1811
1926
  "type": "wire",
@@ -2629,6 +2744,30 @@
2629
2744
  "inputHash": "d7b18af5",
2630
2745
  "outputHash": "09d7f16a"
2631
2746
  },
2747
+ "pikkuPersonas": {
2748
+ "pikkuFuncId": "pikkuPersonas",
2749
+ "functionType": "user",
2750
+ "funcWrapper": "pikkuSessionlessFunc",
2751
+ "sessionless": true,
2752
+ "name": "pikkuPersonas",
2753
+ "inputSchemaName": "PikkuPersonasInput",
2754
+ "outputSchemaName": null,
2755
+ "inputs": [
2756
+ "PikkuPersonasInput"
2757
+ ],
2758
+ "outputs": [],
2759
+ "implementationHash": "9a04f80d68ac818f",
2760
+ "middleware": [
2761
+ {
2762
+ "type": "wire",
2763
+ "name": "logCommandInfoAndTime",
2764
+ "inline": false
2765
+ }
2766
+ ],
2767
+ "contractHash": "c2a10af2f542e3ca",
2768
+ "inputHash": "52c1e871",
2769
+ "outputHash": "090c7bc1"
2770
+ },
2632
2771
  "pikkuCommandQueueMap": {
2633
2772
  "pikkuFuncId": "pikkuCommandQueueMap",
2634
2773
  "functionType": "user",
@@ -2777,7 +2916,7 @@
2777
2916
  "outputs": [
2778
2917
  "PikkuEventsScaffoldOutput"
2779
2918
  ],
2780
- "implementationHash": "59a5caca66a24f35",
2919
+ "implementationHash": "6a86ff2af6fcb9e9",
2781
2920
  "middleware": [
2782
2921
  {
2783
2922
  "type": "wire",
@@ -2811,6 +2950,30 @@
2811
2950
  "inputHash": "b8beaacf",
2812
2951
  "outputHash": "df7ce0f6"
2813
2952
  },
2953
+ "pikkuRoles": {
2954
+ "pikkuFuncId": "pikkuRoles",
2955
+ "functionType": "user",
2956
+ "funcWrapper": "pikkuSessionlessFunc",
2957
+ "sessionless": true,
2958
+ "name": "pikkuRoles",
2959
+ "inputSchemaName": "PikkuRolesInput",
2960
+ "outputSchemaName": null,
2961
+ "inputs": [
2962
+ "PikkuRolesInput"
2963
+ ],
2964
+ "outputs": [],
2965
+ "implementationHash": "31d0fe86d21412d0",
2966
+ "middleware": [
2967
+ {
2968
+ "type": "wire",
2969
+ "name": "logCommandInfoAndTime",
2970
+ "inline": false
2971
+ }
2972
+ ],
2973
+ "contractHash": "0d5e9c9ad9b564bc",
2974
+ "inputHash": "c432d4bb",
2975
+ "outputHash": "306527ae"
2976
+ },
2814
2977
  "pikkuPublicRPC": {
2815
2978
  "pikkuFuncId": "pikkuPublicRPC",
2816
2979
  "functionType": "user",
@@ -2823,7 +2986,7 @@
2823
2986
  "outputs": [
2824
2987
  "PikkuPublicRPCOutput"
2825
2988
  ],
2826
- "implementationHash": "c1362000becfea01",
2989
+ "implementationHash": "9e532d246ad0f002",
2827
2990
  "middleware": [
2828
2991
  {
2829
2992
  "type": "wire",
@@ -3145,7 +3308,7 @@
3145
3308
  "outputs": [
3146
3309
  "PikkuUserAdminFunctionsOutput"
3147
3310
  ],
3148
- "implementationHash": "02a648d9614ddac6",
3311
+ "implementationHash": "2f56f5186bcbf7cf",
3149
3312
  "middleware": [
3150
3313
  {
3151
3314
  "type": "wire",
@@ -3215,7 +3378,7 @@
3215
3378
  "outputs": [
3216
3379
  "PikkuWorkflowRoutesOutput"
3217
3380
  ],
3218
- "implementationHash": "e7bf1baed80d990f",
3381
+ "implementationHash": "35983d43b838eaba",
3219
3382
  "middleware": [
3220
3383
  {
3221
3384
  "type": "wire",
@@ -3241,7 +3404,7 @@
3241
3404
  "outputs": [
3242
3405
  "PikkuWorkflowOutput"
3243
3406
  ],
3244
- "implementationHash": "2b6fc206093884ae",
3407
+ "implementationHash": "74146a47629d69d5",
3245
3408
  "middleware": [
3246
3409
  {
3247
3410
  "type": "wire",
@@ -3263,7 +3426,7 @@
3263
3426
  "outputSchemaName": null,
3264
3427
  "inputs": [],
3265
3428
  "outputs": [],
3266
- "implementationHash": "19756e8c1224e730",
3429
+ "implementationHash": "7e9b506e9d8a8c66",
3267
3430
  "contractHash": "5cf046fc5045a072",
3268
3431
  "inputHash": "d5ff2f31",
3269
3432
  "outputHash": "391c291d"
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.92
2
+ * This file was generated by @pikku/cli@0.12.96
3
3
  */
4
4
  /* Import and register functions used by RPCs */
5
5
  import { addFunction } from '@pikku/core/function';
@@ -16,6 +16,7 @@ import { dbReset } from '../../src/functions/commands/db-reset.js';
16
16
  import { dbSeed } from '../../src/functions/commands/db-seed.js';
17
17
  import { dev } from '../../src/functions/commands/dev.js';
18
18
  import { FabricAddonVerify } from '../../src/fabric/functions/addon-verify.function.js';
19
+ import { personaSync } from '../../src/functions/commands/persona-sync.js';
19
20
  import { pikkuAddonTypes } from '../../src/functions/wirings/functions/pikku-command-addon-types.js';
20
21
  import { pikkuAIAgent } from '../../src/functions/wirings/ai-agent/pikku-command-ai-agent.js';
21
22
  import { pikkuAIAgentTypes } from '../../src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js';
@@ -52,6 +53,7 @@ import { pikkuNodeTypes } from '../../src/functions/wirings/console/pikku-comman
52
53
  import { pikkuOpenAPI } from '../../src/functions/wirings/http/pikku-command-openapi.js';
53
54
  import { pikkuPackage } from '../../src/functions/wirings/package/pikku-command-package.js';
54
55
  import { pikkuPermissions } from '../../src/functions/wirings/permissions/pikku-command-permissions.js';
56
+ import { pikkuPersonas } from '../../src/functions/wirings/personas/pikku-command-personas.js';
55
57
  import { pikkuPublicAgent } from '../../src/functions/wirings/ai-agent/pikku-command-public-agent.js';
56
58
  import { pikkuPublicRPC } from '../../src/functions/wirings/rpc/pikku-command-public-rpc.js';
57
59
  import { pikkuQueueService } from '../../src/functions/wirings/queue/pikku-command-queue-service.js';
@@ -59,6 +61,7 @@ import { pikkuQueueTypes } from '../../src/functions/wirings/queue/pikku-command
59
61
  import { pikkuReactQuery } from '../../src/functions/wirings/rpc/pikku-command-react-query.js';
60
62
  import { pikkuRealtime } from '../../src/functions/wirings/realtime/pikku-command-realtime.js';
61
63
  import { pikkuRemoteRPC } from '../../src/functions/wirings/rpc/pikku-command-remote-rpc.js';
64
+ import { pikkuRoles } from '../../src/functions/wirings/roles/pikku-command-roles.js';
62
65
  import { pikkuRPC } from '../../src/functions/wirings/rpc/pikku-command-rpc.js';
63
66
  import { pikkuRPCClient } from '../../src/functions/wirings/rpc/pikku-command-rpc-client.js';
64
67
  import { pikkuRPCExposedMap } from '../../src/functions/wirings/rpc/pikku-command-rpc-map.js';
@@ -84,6 +87,8 @@ import { pikkuWebhook } from '../../src/functions/wirings/webhook/pikku-command-
84
87
  import { pikkuWebSocketTyped } from '../../src/functions/runtimes/websocket/pikku-command-websocket-typed.js';
85
88
  import { pikkuWorkflow } from '../../src/functions/wirings/workflow/pikku-command-workflow.js';
86
89
  import { pikkuWorkflowRoutes } from '../../src/functions/wirings/workflow/pikku-command-workflow-routes.js';
90
+ import { rolesAudit } from '../../src/functions/commands/roles-audit.js';
91
+ import { rolesPrune } from '../../src/functions/commands/roles-prune.js';
87
92
  import { scopesAudit } from '../../src/functions/commands/scopes-audit.js';
88
93
  import { scopesPrune } from '../../src/functions/commands/scopes-prune.js';
89
94
  import { serve } from '../../src/functions/commands/serve.js';
@@ -101,6 +106,7 @@ addFunction('dbReset', dbReset);
101
106
  addFunction('dbSeed', dbSeed);
102
107
  addFunction('dev', dev);
103
108
  addFunction('FabricAddonVerify', FabricAddonVerify);
109
+ addFunction('personaSync', personaSync);
104
110
  addFunction('pikkuAddonTypes', pikkuAddonTypes);
105
111
  addFunction('pikkuAIAgent', pikkuAIAgent);
106
112
  addFunction('pikkuAIAgentTypes', pikkuAIAgentTypes);
@@ -137,6 +143,7 @@ addFunction('pikkuNodeTypes', pikkuNodeTypes);
137
143
  addFunction('pikkuOpenAPI', pikkuOpenAPI);
138
144
  addFunction('pikkuPackage', pikkuPackage);
139
145
  addFunction('pikkuPermissions', pikkuPermissions);
146
+ addFunction('pikkuPersonas', pikkuPersonas);
140
147
  addFunction('pikkuPublicAgent', pikkuPublicAgent);
141
148
  addFunction('pikkuPublicRPC', pikkuPublicRPC);
142
149
  addFunction('pikkuQueueService', pikkuQueueService);
@@ -144,6 +151,7 @@ addFunction('pikkuQueueTypes', pikkuQueueTypes);
144
151
  addFunction('pikkuReactQuery', pikkuReactQuery);
145
152
  addFunction('pikkuRealtime', pikkuRealtime);
146
153
  addFunction('pikkuRemoteRPC', pikkuRemoteRPC);
154
+ addFunction('pikkuRoles', pikkuRoles);
147
155
  addFunction('pikkuRPC', pikkuRPC);
148
156
  addFunction('pikkuRPCClient', pikkuRPCClient);
149
157
  addFunction('pikkuRPCExposedMap', pikkuRPCExposedMap);
@@ -169,6 +177,8 @@ addFunction('pikkuWebhook', pikkuWebhook);
169
177
  addFunction('pikkuWebSocketTyped', pikkuWebSocketTyped);
170
178
  addFunction('pikkuWorkflow', pikkuWorkflow);
171
179
  addFunction('pikkuWorkflowRoutes', pikkuWorkflowRoutes);
180
+ addFunction('rolesAudit', rolesAudit);
181
+ addFunction('rolesPrune', rolesPrune);
172
182
  addFunction('scopesAudit', scopesAudit);
173
183
  addFunction('scopesPrune', scopesPrune);
174
184
  addFunction('serve', serve);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.92
2
+ * This file was generated by @pikku/cli@0.12.96
3
3
  */
4
4
  /**
5
5
  * HTTP-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.92
2
+ * This file was generated by @pikku/cli@0.12.96
3
3
  */
4
4
  /**
5
5
  * HTTP-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.92
2
+ * This file was generated by @pikku/cli@0.12.96
3
3
  */
4
4
  /**
5
5
  * MCP-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.92
2
+ * This file was generated by @pikku/cli@0.12.96
3
3
  */
4
4
  /**
5
5
  * MCP-specific type definitions for tree-shaking optimization