@pikku/addon-console 0.12.44 → 0.12.46

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/CHANGELOG.md +136 -0
  2. package/dist/.pikku/addon/agent/index.d.ts +1 -1
  3. package/dist/.pikku/addon/agent/index.js +1 -1
  4. package/dist/.pikku/addon/agent/pikku-agent-map.gen.d.ts +1 -1
  5. package/dist/.pikku/addon/agent/pikku-agent-types.gen.d.ts +42 -1
  6. package/dist/.pikku/addon/agent/pikku-agent-types.gen.d.ts.map +1 -1
  7. package/dist/.pikku/addon/agent/pikku-agent-types.gen.js +41 -0
  8. package/dist/.pikku/addon/agent/pikku-agent-types.gen.js.map +1 -1
  9. package/dist/.pikku/addon/agent/pikku-model-aliases.gen.js +1 -1
  10. package/dist/.pikku/addon/agent/pikku-scorer-names.gen.d.ts +1 -1
  11. package/dist/.pikku/addon/auth/auth.types.d.ts +1 -1
  12. package/dist/.pikku/addon/auth/auth.types.js +1 -1
  13. package/dist/.pikku/addon/auth/index.d.ts +1 -1
  14. package/dist/.pikku/addon/auth/index.js +1 -1
  15. package/dist/.pikku/addon/auth/pikku-auth-types.gen.d.ts +10 -20
  16. package/dist/.pikku/addon/auth/pikku-auth-types.gen.d.ts.map +1 -1
  17. package/dist/.pikku/addon/auth/pikku-auth-types.gen.js +2 -19
  18. package/dist/.pikku/addon/auth/pikku-auth-types.gen.js.map +1 -1
  19. package/dist/.pikku/addon/channel/index.d.ts +1 -1
  20. package/dist/.pikku/addon/channel/index.js +1 -1
  21. package/dist/.pikku/addon/channel/pikku-channel-types.gen.d.ts +8 -18
  22. package/dist/.pikku/addon/channel/pikku-channel-types.gen.d.ts.map +1 -1
  23. package/dist/.pikku/addon/channel/pikku-channel-types.gen.js +7 -1
  24. package/dist/.pikku/addon/channel/pikku-channel-types.gen.js.map +1 -1
  25. package/dist/.pikku/addon/error/index.d.ts +1 -1
  26. package/dist/.pikku/addon/error/index.js +1 -1
  27. package/dist/.pikku/addon/error/pikku-error-types.gen.d.ts +1 -1
  28. package/dist/.pikku/addon/error/pikku-error-types.gen.js +1 -1
  29. package/dist/.pikku/addon/function/index.d.ts +1 -1
  30. package/dist/.pikku/addon/function/index.js +1 -1
  31. package/dist/.pikku/addon/function/pikku-function-types.gen.d.ts +47 -38
  32. package/dist/.pikku/addon/function/pikku-function-types.gen.d.ts.map +1 -1
  33. package/dist/.pikku/addon/function/pikku-function-types.gen.js +21 -9
  34. package/dist/.pikku/addon/function/pikku-function-types.gen.js.map +1 -1
  35. package/dist/.pikku/addon/function/pikku-functions-meta-verbose.gen.json +150 -22
  36. package/dist/.pikku/addon/function/pikku-functions-meta.gen.js +1 -1
  37. package/dist/.pikku/addon/function/pikku-functions-meta.gen.json +117 -16
  38. package/dist/.pikku/addon/function/pikku-functions.gen.js +7 -1
  39. package/dist/.pikku/addon/function/pikku-functions.gen.js.map +1 -1
  40. package/dist/.pikku/addon/http/index.d.ts +1 -1
  41. package/dist/.pikku/addon/http/index.js +1 -1
  42. package/dist/.pikku/addon/http/pikku-http-types.gen.d.ts +3 -1
  43. package/dist/.pikku/addon/http/pikku-http-types.gen.d.ts.map +1 -1
  44. package/dist/.pikku/addon/http/pikku-http-types.gen.js +1 -1
  45. package/dist/.pikku/addon/http/pikku-http-types.gen.js.map +1 -1
  46. package/dist/.pikku/addon/mcp/index.d.ts +1 -1
  47. package/dist/.pikku/addon/mcp/index.js +1 -1
  48. package/dist/.pikku/addon/mcp/pikku-mcp-types.gen.d.ts +7 -1
  49. package/dist/.pikku/addon/mcp/pikku-mcp-types.gen.d.ts.map +1 -1
  50. package/dist/.pikku/addon/mcp/pikku-mcp-types.gen.js +1 -1
  51. package/dist/.pikku/addon/mcp/pikku-mcp-types.gen.js.map +1 -1
  52. package/dist/.pikku/addon/middleware/index.d.ts +1 -1
  53. package/dist/.pikku/addon/middleware/index.js +1 -1
  54. package/dist/.pikku/addon/middleware/pikku-middleware-types.gen.d.ts +41 -25
  55. package/dist/.pikku/addon/middleware/pikku-middleware-types.gen.d.ts.map +1 -1
  56. package/dist/.pikku/addon/middleware/pikku-middleware-types.gen.js +29 -24
  57. package/dist/.pikku/addon/middleware/pikku-middleware-types.gen.js.map +1 -1
  58. package/dist/.pikku/addon/permissions/pikku-permissions.gen.d.ts +5 -0
  59. package/dist/.pikku/addon/permissions/pikku-permissions.gen.d.ts.map +1 -0
  60. package/dist/.pikku/addon/permissions/pikku-permissions.gen.js +5 -0
  61. package/dist/.pikku/addon/permissions/pikku-permissions.gen.js.map +1 -0
  62. package/dist/.pikku/addon/pikku-bootstrap-scenarios.gen.d.ts +1 -1
  63. package/dist/.pikku/addon/pikku-bootstrap-scenarios.gen.js +1 -1
  64. package/dist/.pikku/addon/pikku-bootstrap.gen.d.ts +2 -1
  65. package/dist/.pikku/addon/pikku-bootstrap.gen.d.ts.map +1 -1
  66. package/dist/.pikku/addon/pikku-bootstrap.gen.js +2 -1
  67. package/dist/.pikku/addon/pikku-bootstrap.gen.js.map +1 -1
  68. package/dist/.pikku/addon/pikku-package.gen.js +1 -1
  69. package/dist/.pikku/addon/pikku-services.gen.d.ts +5 -4
  70. package/dist/.pikku/addon/pikku-services.gen.d.ts.map +1 -1
  71. package/dist/.pikku/addon/pikku-services.gen.js +3 -2
  72. package/dist/.pikku/addon/pikku-services.gen.js.map +1 -1
  73. package/dist/.pikku/addon/rpc/pikku-rpc-wirings-map.gen.d.ts +11 -2
  74. package/dist/.pikku/addon/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +11 -2
  75. package/dist/.pikku/addon/rpc/pikku-rpc-wirings-map.remote.gen.d.ts +8 -2
  76. package/dist/.pikku/addon/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  77. package/dist/.pikku/addon/rpc/pikku-rpc-wirings-meta.internal.gen.json +3 -0
  78. package/dist/.pikku/addon/scenarios/index.d.ts +1 -1
  79. package/dist/.pikku/addon/scenarios/index.js +1 -1
  80. package/dist/.pikku/addon/scenarios/pikku-personas.gen.d.ts +4 -0
  81. package/dist/.pikku/addon/scenarios/pikku-personas.gen.d.ts.map +1 -1
  82. package/dist/.pikku/addon/scenarios/pikku-personas.gen.js +1 -1
  83. package/dist/.pikku/addon/scenarios/pikku-personas.gen.js.map +1 -1
  84. package/dist/.pikku/addon/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
  85. package/dist/.pikku/addon/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
  86. package/dist/.pikku/addon/scenarios/pikku-scenario-types.gen.d.ts +13 -1
  87. package/dist/.pikku/addon/scenarios/pikku-scenario-types.gen.d.ts.map +1 -1
  88. package/dist/.pikku/addon/scenarios/pikku-scenario-types.gen.js +4 -0
  89. package/dist/.pikku/addon/scenarios/pikku-scenario-types.gen.js.map +1 -1
  90. package/dist/.pikku/addon/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
  91. package/dist/.pikku/addon/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  92. package/dist/.pikku/addon/scenarios/schemas/register.gen.d.ts +1 -1
  93. package/dist/.pikku/addon/scenarios/schemas/register.gen.js +1 -1
  94. package/dist/.pikku/addon/schemas/register.gen.js +13 -1
  95. package/dist/.pikku/addon/schemas/register.gen.js.map +1 -1
  96. package/dist/.pikku/addon/schemas/schemas/AddonMetaPage.schema.json +1 -1
  97. package/dist/.pikku/addon/schemas/schemas/AddonPackageInfo.schema.json +1 -1
  98. package/dist/.pikku/addon/schemas/schemas/AllMeta.schema.json +1 -1
  99. package/dist/.pikku/addon/schemas/schemas/GetFunctionsMetaOutput.schema.json +1 -1
  100. package/dist/.pikku/addon/schemas/schemas/GetVirtualUserRunStepsInput.schema.json +1 -0
  101. package/dist/.pikku/addon/schemas/schemas/GetVirtualUserRunStepsOutput.schema.json +1 -0
  102. package/dist/.pikku/addon/schemas/schemas/GetVirtualUserRunsInput.schema.json +1 -0
  103. package/dist/.pikku/addon/schemas/schemas/GetVirtualUserRunsOutput.schema.json +1 -0
  104. package/dist/.pikku/addon/schemas/schemas/GetWorkflowMetaByIdOutput.schema.json +1 -1
  105. package/dist/.pikku/addon/schemas/schemas/StartVirtualUserRunInput.schema.json +1 -0
  106. package/dist/.pikku/addon/schemas/schemas/StartVirtualUserRunOutput.schema.json +1 -0
  107. package/dist/.pikku/addon/schemas/schemas/UpdateFunctionConfigInput.schema.json +1 -1
  108. package/dist/.pikku/addon/scopes/index.d.ts +1 -1
  109. package/dist/.pikku/addon/scopes/index.js +1 -1
  110. package/dist/.pikku/addon/scopes/pikku-personas.gen.js +1 -1
  111. package/dist/.pikku/addon/scopes/pikku-roles.gen.d.ts +1 -1
  112. package/dist/.pikku/addon/scopes/pikku-scope-types.gen.d.ts +1 -1
  113. package/dist/.pikku/addon/scopes/pikku-scope-types.gen.js +1 -1
  114. package/dist/.pikku/addon/scopes/pikku-scopes-meta.gen.json +11 -0
  115. package/dist/.pikku/addon/scopes/pikku-scopes.gen.d.ts +2 -2
  116. package/dist/.pikku/addon/scopes/pikku-scopes.gen.d.ts.map +1 -1
  117. package/dist/.pikku/addon/scopes/pikku-scopes.gen.js.map +1 -1
  118. package/dist/.pikku/addon/secrets/index.d.ts +1 -1
  119. package/dist/.pikku/addon/secrets/index.js +1 -1
  120. package/dist/.pikku/addon/secrets/pikku-secret-types.gen.d.ts +1 -1
  121. package/dist/.pikku/addon/secrets/pikku-secret-types.gen.js +1 -1
  122. package/dist/.pikku/addon/secrets/pikku-secrets.gen.d.ts +9 -1
  123. package/dist/.pikku/addon/secrets/pikku-secrets.gen.d.ts.map +1 -1
  124. package/dist/.pikku/addon/secrets/pikku-secrets.gen.js +5 -1
  125. package/dist/.pikku/addon/secrets/pikku-secrets.gen.js.map +1 -1
  126. package/dist/.pikku/addon/services/pikku-meta-service.gen.d.ts +1 -1
  127. package/dist/.pikku/addon/services/pikku-meta-service.gen.js +1 -1
  128. package/dist/.pikku/addon/setup/index.d.ts +1 -1
  129. package/dist/.pikku/addon/setup/index.js +1 -1
  130. package/dist/.pikku/addon/setup/pikku-addon-setup-types.gen.d.ts +1 -1
  131. package/dist/.pikku/addon/setup/pikku-addon-setup-types.gen.js +1 -1
  132. package/dist/.pikku/addon/setup/pikku-setup-types.gen.d.ts +7 -19
  133. package/dist/.pikku/addon/setup/pikku-setup-types.gen.d.ts.map +1 -1
  134. package/dist/.pikku/addon/setup/pikku-setup-types.gen.js +11 -19
  135. package/dist/.pikku/addon/setup/pikku-setup-types.gen.js.map +1 -1
  136. package/dist/.pikku/addon/trigger/index.d.ts +1 -1
  137. package/dist/.pikku/addon/trigger/index.js +1 -1
  138. package/dist/.pikku/addon/trigger/pikku-trigger-types.gen.d.ts +1 -1
  139. package/dist/.pikku/addon/trigger/pikku-trigger-types.gen.js +1 -1
  140. package/dist/.pikku/addon/variables/index.d.ts +1 -1
  141. package/dist/.pikku/addon/variables/index.js +1 -1
  142. package/dist/.pikku/addon/variables/pikku-variable-types.gen.d.ts +1 -1
  143. package/dist/.pikku/addon/variables/pikku-variable-types.gen.js +1 -1
  144. package/dist/.pikku/addon/variables/pikku-variables.gen.d.ts +9 -1
  145. package/dist/.pikku/addon/variables/pikku-variables.gen.d.ts.map +1 -1
  146. package/dist/.pikku/addon/variables/pikku-variables.gen.js +5 -1
  147. package/dist/.pikku/addon/variables/pikku-variables.gen.js.map +1 -1
  148. package/dist/.pikku/addon/workflow/index.d.ts +1 -1
  149. package/dist/.pikku/addon/workflow/index.js +1 -1
  150. package/dist/.pikku/addon/workflow/pikku-scenario-step-map.gen.d.ts +1 -1
  151. package/dist/.pikku/addon/workflow/pikku-workflow-map.gen.d.ts +1 -1
  152. package/dist/.pikku/addon/workflow/pikku-workflow-types.gen.d.ts +29 -1
  153. package/dist/.pikku/addon/workflow/pikku-workflow-types.gen.d.ts.map +1 -1
  154. package/dist/.pikku/addon/workflow/pikku-workflow-types.gen.js +8 -1
  155. package/dist/.pikku/addon/workflow/pikku-workflow-types.gen.js.map +1 -1
  156. package/dist/.pikku/addon/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  157. package/dist/.pikku/addon/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  158. package/dist/.pikku/addon/workflow/pikku-workflow-wirings.gen.js +1 -1
  159. package/dist/src/functions/delete-agent-thread.function.d.ts.map +1 -1
  160. package/dist/src/functions/delete-agent-thread.function.js +3 -1
  161. package/dist/src/functions/delete-agent-thread.function.js.map +1 -1
  162. package/dist/src/functions/delete-agent-thread.function.test.d.ts +2 -0
  163. package/dist/src/functions/delete-agent-thread.function.test.d.ts.map +1 -0
  164. package/dist/src/functions/delete-agent-thread.function.test.js +8 -0
  165. package/dist/src/functions/delete-agent-thread.function.test.js.map +1 -0
  166. package/dist/src/functions/get-agent-thread-messages.function.d.ts.map +1 -1
  167. package/dist/src/functions/get-agent-thread-messages.function.js +3 -1
  168. package/dist/src/functions/get-agent-thread-messages.function.js.map +1 -1
  169. package/dist/src/functions/get-agent-thread-messages.function.test.d.ts +2 -0
  170. package/dist/src/functions/get-agent-thread-messages.function.test.d.ts.map +1 -0
  171. package/dist/src/functions/get-agent-thread-messages.function.test.js +8 -0
  172. package/dist/src/functions/get-agent-thread-messages.function.test.js.map +1 -0
  173. package/dist/src/functions/get-virtual-user-run-steps.function.d.ts +14 -0
  174. package/dist/src/functions/get-virtual-user-run-steps.function.d.ts.map +1 -0
  175. package/dist/src/functions/get-virtual-user-run-steps.function.js +31 -0
  176. package/dist/src/functions/get-virtual-user-run-steps.function.js.map +1 -0
  177. package/dist/src/functions/get-virtual-user-runs.function.d.ts +14 -0
  178. package/dist/src/functions/get-virtual-user-runs.function.d.ts.map +1 -0
  179. package/dist/src/functions/get-virtual-user-runs.function.js +39 -0
  180. package/dist/src/functions/get-virtual-user-runs.function.js.map +1 -0
  181. package/dist/src/functions/is-thread-owner.permission.d.ts +13 -0
  182. package/dist/src/functions/is-thread-owner.permission.d.ts.map +1 -0
  183. package/dist/src/functions/is-thread-owner.permission.js +23 -0
  184. package/dist/src/functions/is-thread-owner.permission.js.map +1 -0
  185. package/dist/src/functions/is-thread-owner.permission.test.d.ts +2 -0
  186. package/dist/src/functions/is-thread-owner.permission.test.d.ts.map +1 -0
  187. package/dist/src/functions/is-thread-owner.permission.test.js +25 -0
  188. package/dist/src/functions/is-thread-owner.permission.test.js.map +1 -0
  189. package/dist/src/functions/start-virtual-user-run.function.d.ts +33 -0
  190. package/dist/src/functions/start-virtual-user-run.function.d.ts.map +1 -0
  191. package/dist/src/functions/start-virtual-user-run.function.js +31 -0
  192. package/dist/src/functions/start-virtual-user-run.function.js.map +1 -0
  193. package/dist/src/functions/update-agent-config.function.d.ts +1 -1
  194. package/dist/src/functions/update-agent-config.function.d.ts.map +1 -1
  195. package/dist/src/functions/update-function-config.function.d.ts +1 -1
  196. package/dist/src/functions/update-function-config.function.d.ts.map +1 -1
  197. package/dist/src/scopes.js +11 -0
  198. package/dist/src/scopes.js.map +1 -1
  199. package/dist/src/services.js +1 -1
  200. package/dist/src/services.js.map +1 -1
  201. package/dist/types/application-types.d.ts +1 -1
  202. package/package.json +5 -4
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.109
2
+ * This file was generated by @pikku/cli@0.12.118
3
3
  */
4
4
  export { defineVariable } from '@pikku/core/variable';
5
5
  //# sourceMappingURL=pikku-variable-types.gen.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.109
2
+ * This file was generated by @pikku/cli@0.12.118
3
3
  */
4
4
  import { TypedVariablesService as CoreTypedVariablesService } from '@pikku/core/services';
5
5
  import type { VariablesService } from '@pikku/core/services';
@@ -11,8 +11,16 @@ import type { VariablesService } from '@pikku/core/services';
11
11
  * sidecar is not part of `#pikku/variables`.
12
12
  */
13
13
  import './pikku-variables-meta.gen.json';
14
+ /**
15
+ * Every variable this project declares with `defineVariable`, keyed by name. It
16
+ * is what gives `variables.get('NAME')` a real type.
17
+ */
14
18
  export interface VariablesMap {
15
19
  }
20
+ /**
21
+ * The `variables` service as this project sees it: `get('NAME')` resolves the
22
+ * value's type from `VariablesMap` instead of returning `unknown`.
23
+ */
16
24
  export declare class TypedVariablesService extends CoreTypedVariablesService<VariablesMap> {
17
25
  constructor(variables: VariablesService);
18
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pikku-variables.gen.d.ts","sourceRoot":"","sources":["../../../../.pikku/addon/variables/pikku-variables.gen.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,qBAAqB,IAAI,yBAAyB,EAEnD,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D;;;;;;GAMG;AACH,OAAO,iCAAiC,CAAsB;AAE9D,MAAM,WAAW,YAAY;CAE5B;AAMD,qBAAa,qBAAsB,SAAQ,yBAAyB,CAAC,YAAY,CAAC;gBACpE,SAAS,EAAE,gBAAgB;CAGxC"}
1
+ {"version":3,"file":"pikku-variables.gen.d.ts","sourceRoot":"","sources":["../../../../.pikku/addon/variables/pikku-variables.gen.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,qBAAqB,IAAI,yBAAyB,EAEnD,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D;;;;;;GAMG;AACH,OAAO,iCAAiC,CAAsB;AAE9D;;;GAGG;AACH,MAAM,WAAW,YAAY;CAE5B;AAMD;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,yBAAyB,CAAC,YAAY,CAAC;gBACpE,SAAS,EAAE,gBAAgB;CAGxC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.109
2
+ * This file was generated by @pikku/cli@0.12.118
3
3
  */
4
4
  import { TypedVariablesService as CoreTypedVariablesService, } from '@pikku/core/services';
5
5
  /**
@@ -11,6 +11,10 @@ import { TypedVariablesService as CoreTypedVariablesService, } from '@pikku/core
11
11
  */
12
12
  import './pikku-variables-meta.gen.json' with { type: 'json' };
13
13
  const TYPED_VARIABLES_META = {};
14
+ /**
15
+ * The `variables` service as this project sees it: `get('NAME')` resolves the
16
+ * value's type from `VariablesMap` instead of returning `unknown`.
17
+ */
14
18
  export class TypedVariablesService extends CoreTypedVariablesService {
15
19
  constructor(variables) {
16
20
  super(variables, TYPED_VARIABLES_META);
@@ -1 +1 @@
1
- {"version":3,"file":"pikku-variables.gen.js","sourceRoot":"","sources":["../../../../.pikku/addon/variables/pikku-variables.gen.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,qBAAqB,IAAI,yBAAyB,GAEnD,MAAM,sBAAsB,CAAA;AAE7B;;;;;;GAMG;AACH,OAAO,iCAAiC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAM9D,MAAM,oBAAoB,GAAiC,EAE1D,CAAA;AAED,MAAM,OAAO,qBAAsB,SAAQ,yBAAuC;IAChF,YAAY,SAA2B;QACrC,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"pikku-variables.gen.js","sourceRoot":"","sources":["../../../../.pikku/addon/variables/pikku-variables.gen.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,qBAAqB,IAAI,yBAAyB,GAEnD,MAAM,sBAAsB,CAAA;AAE7B;;;;;;GAMG;AACH,OAAO,iCAAiC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAU9D,MAAM,oBAAoB,GAAiC,EAE1D,CAAA;AAED;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,yBAAuC;IAChF,YAAY,SAA2B;QACrC,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;IACxC,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.109
2
+ * This file was generated by @pikku/cli@0.12.118
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/workflow` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.109
2
+ * This file was generated by @pikku/cli@0.12.118
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/workflow` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.109
2
+ * This file was generated by @pikku/cli@0.12.118
3
3
  */
4
4
  /**
5
5
  * Scenario step map: the names `scenario.given/when/then` accepts, with
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.109
2
+ * This file was generated by @pikku/cli@0.12.118
3
3
  */
4
4
  /**
5
5
  * Workflow type map with input/output types for each workflow
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.109
2
+ * This file was generated by @pikku/cli@0.12.118
3
3
  */
4
4
  import { WorkflowCancelledException } from '@pikku/core/workflow';
5
5
  import type { PikkuWorkflowGraphConfig, PikkuWorkflowGraphResult } from '@pikku/core/workflow';
@@ -9,6 +9,10 @@ import type { PikkuFunctionSessionless, PikkuFunctionConfig } from '../function/
9
9
  import type { FlattenedRPCMap } from '../rpc/pikku-rpc-wirings-map.internal.gen.d.js';
10
10
  import type { FlattenedWorkflowMap } from './pikku-workflow-map.gen.d.js';
11
11
  import type { AgentMap as FlattenedAgentMap } from '../agent/pikku-agent-map.gen.d.js';
12
+ /**
13
+ * The wire a workflow step is handed: `step` to run one durably, plus sleeping,
14
+ * waiting for a signal and asking for approval.
15
+ */
12
16
  export interface TypedWorkflow extends PikkuWorkflowWire {
13
17
  do<K extends keyof FlattenedRPCMap>(stepName: string, rpcName: K, data: FlattenedRPCMap[K]['input'], options?: WorkflowStepOptions): Promise<FlattenedRPCMap[K]['output']>;
14
18
  do<K extends keyof FlattenedWorkflowMap>(stepName: string, workflowName: K, data: FlattenedWorkflowMap[K]['input'], options?: WorkflowStepOptions): Promise<FlattenedWorkflowMap[K]['output']>;
@@ -21,6 +25,9 @@ import type { PikkuMiddleware } from '../middleware/pikku-middleware-types.gen.j
21
25
  import type { ScopeId } from '../scopes/pikku-scopes.gen.js';
22
26
  import { PikkuError } from '@pikku/core/errors';
23
27
  import type { CorePermissionGroup } from '@pikku/core/function';
28
+ /**
29
+ * The shape of a workflow's body — services, input, and the workflow wire.
30
+ */
24
31
  export type PikkuFunctionWorkflow<In = unknown, Out = never> = PikkuFunctionSessionless<In, Out, 'workflow'>;
25
32
  type PikkuWorkflowConfigWithSchema<InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined> = {
26
33
  title?: string;
@@ -50,8 +57,22 @@ type PikkuWorkflowConfigWithSchema<InputSchema extends StandardSchemaV1 | undefi
50
57
  scopes?: ScopeId[];
51
58
  permissions?: InputSchema extends StandardSchemaV1 ? CorePermissionGroup<PikkuPermission<InferSchemaOutput<InputSchema>>> : undefined;
52
59
  };
60
+ /**
61
+ * Declares a workflow: the DSL form, where each step is awaited in order and
62
+ * the runner persists progress between them so a restart resumes rather than
63
+ * replays. The default choice for a workflow.
64
+ *
65
+ * @example snippet: workflowSteps
66
+ */
53
67
  export declare function pikkuWorkflowFunc<InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined>(config: PikkuWorkflowConfigWithSchema<InputSchema, OutputSchema>): PikkuFunctionConfig<InputSchema extends StandardSchemaV1 ? InferSchemaOutput<InputSchema> : unknown, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, 'workflow', PikkuFunctionWorkflow<InputSchema extends StandardSchemaV1 ? InferSchemaOutput<InputSchema> : unknown, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown>, InputSchema, OutputSchema>;
54
68
  export declare function pikkuWorkflowFunc<In, Out = unknown>(func: PikkuFunctionWorkflow<In, Out> | PikkuFunctionConfig<In, Out, 'workflow', PikkuFunctionWorkflow<In, Out>>): PikkuFunctionConfig<In, Out, 'workflow'>;
69
+ /**
70
+ * Declares a workflow whose control flow the DSL cannot express - a loop whose
71
+ * bound is only known at runtime, or branching that rejoins. An escape hatch:
72
+ * reach for `pikkuWorkflowFunc` unless the shape genuinely needs this.
73
+ *
74
+ * @example snippet: workflowComplexFunc
75
+ */
55
76
  export declare function pikkuWorkflowComplexFunc<InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined>(config: PikkuWorkflowConfigWithSchema<InputSchema, OutputSchema>): PikkuFunctionConfig<InputSchema extends StandardSchemaV1 ? InferSchemaOutput<InputSchema> : unknown, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, 'workflow', PikkuFunctionWorkflow<InputSchema extends StandardSchemaV1 ? InferSchemaOutput<InputSchema> : unknown, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown>, InputSchema, OutputSchema>;
56
77
  export declare function pikkuWorkflowComplexFunc<In, Out = unknown>(func: PikkuFunctionWorkflow<In, Out> | PikkuFunctionConfig<In, Out, 'workflow', PikkuFunctionWorkflow<In, Out>>): PikkuFunctionConfig<In, Out, 'workflow'>;
57
78
  type TypedRef<T> = {
@@ -102,5 +123,12 @@ type NextConfig<NodeIds extends string> = NodeIds | NodeIds[] | {
102
123
  then: NodeIds;
103
124
  else?: NodeIds;
104
125
  };
126
+ /**
127
+ * Declares a workflow as an explicit node graph, for a genuine cyclic
128
+ * dependency or a Node-only import the DSL cannot carry. The last resort of the
129
+ * three.
130
+ *
131
+ * @example snippet: workflowGraph
132
+ */
105
133
  export declare function pikkuWorkflowGraph<const FuncMap extends Record<string, (keyof FlattenedRPCMap & string) | (keyof FlattenedWorkflowMap & string) | (keyof FlattenedAgentMap & string)>>(config: PikkuWorkflowGraphConfig<FuncMap, GraphNodeConfigMap<FuncMap>>): PikkuWorkflowGraphResult;
106
134
  //# sourceMappingURL=pikku-workflow-types.gen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pikku-workflow-types.gen.d.ts","sourceRoot":"","sources":["../../../../.pikku/addon/workflow/pikku-workflow-types.gen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pikku-workflow-types.gen.d.ts","sourceRoot":"","sources":["../../../../.pikku/addon/workflow/pikku-workflow-types.gen.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.109
2
+ * This file was generated by @pikku/cli@0.12.118
3
3
  */
4
4
  import { WorkflowCancelledException } from '@pikku/core/workflow';
5
5
  import { pikkuWorkflowGraph as corePikkuWorkflowGraph } from '@pikku/core/workflow';
@@ -10,6 +10,13 @@ export function pikkuWorkflowFunc(func) {
10
10
  export function pikkuWorkflowComplexFunc(func) {
11
11
  return typeof func === 'function' ? { func } : func;
12
12
  }
13
+ /**
14
+ * Declares a workflow as an explicit node graph, for a genuine cyclic
15
+ * dependency or a Node-only import the DSL cannot carry. The last resort of the
16
+ * three.
17
+ *
18
+ * @example snippet: workflowGraph
19
+ */
13
20
  export function pikkuWorkflowGraph(config) {
14
21
  return corePikkuWorkflowGraph(config);
15
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pikku-workflow-types.gen.js","sourceRoot":"","sources":["../../../../.pikku/addon/workflow/pikku-workflow-types.gen.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAUnF,OAAO,EAAE,0BAA0B,EAAE,CAAA;AAuFrC,MAAM,UAAU,iBAAiB,CAAC,IAAS;IACzC,OAAO,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC;AAaD,MAAM,UAAU,wBAAwB,CAAC,IAAS;IAChD,OAAO,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC;AAqED,MAAM,UAAU,kBAAkB,CAQhC,MAAsE;IAEtE,OAAO,sBAAsB,CAAC,MAAa,CAAC,CAAA;AAC9C,CAAC"}
1
+ {"version":3,"file":"pikku-workflow-types.gen.js","sourceRoot":"","sources":["../../../../.pikku/addon/workflow/pikku-workflow-types.gen.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAUnF,OAAO,EAAE,0BAA0B,EAAE,CAAA;AAqGrC,MAAM,UAAU,iBAAiB,CAAC,IAAS;IACzC,OAAO,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC;AAoBD,MAAM,UAAU,wBAAwB,CAAC,IAAS;IAChD,OAAO,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC;AAqED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAQhC,MAAsE;IAEtE,OAAO,sBAAsB,CAAC,MAAa,CAAC,CAAA;AAC9C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.109
2
+ * This file was generated by @pikku/cli@0.12.118
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/state';
5
5
  const workflowsMeta = {};
@@ -1,5 +1,5 @@
1
1
  export {};
2
2
  /**
3
- * This file was generated by @pikku/cli@0.12.109
3
+ * This file was generated by @pikku/cli@0.12.118
4
4
  */
5
5
  //# sourceMappingURL=pikku-workflow-wirings.gen.d.ts.map
@@ -1,5 +1,5 @@
1
1
  export {};
2
2
  /**
3
- * This file was generated by @pikku/cli@0.12.109
3
+ * This file was generated by @pikku/cli@0.12.118
4
4
  */
5
5
  //# sourceMappingURL=pikku-workflow-wirings.gen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete-agent-thread.function.d.ts","sourceRoot":"","sources":["../../../src/functions/delete-agent-thread.function.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB;cAChB,MAAM;;aACP,OAAO;;cADN,MAAM;;aACP,OAAO;;cADN,MAAM;;aACP,OAAO;oGAWlB,CAAA"}
1
+ {"version":3,"file":"delete-agent-thread.function.d.ts","sourceRoot":"","sources":["../../../src/functions/delete-agent-thread.function.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB;cAChB,MAAM;;aACP,OAAO;;cADN,MAAM;;aACP,OAAO;;cADN,MAAM;;aACP,OAAO;oGAYlB,CAAA"}
@@ -1,9 +1,11 @@
1
1
  import { pikkuFunc } from '#pikku/addon/function';
2
+ import { isThreadOwner } from './is-thread-owner.permission.js';
2
3
  export const deleteAgentThread = pikkuFunc({
3
4
  title: 'Delete Agent Thread',
4
- description: 'Deletes an AI agent thread and all its associated messages and runs via cascade.',
5
+ description: 'Deletes an AI agent thread and all its associated messages and runs via cascade. A caller without the admin scope may only delete a thread its own session owns.',
5
6
  expose: true,
6
7
  scopes: ['pikku:console:agents:manage'],
8
+ permissions: { owner: isThreadOwner },
7
9
  func: async ({ agentRunService }, input) => {
8
10
  const deleted = await agentRunService.deleteThread(input.threadId);
9
11
  return { deleted };
@@ -1 +1 @@
1
- {"version":3,"file":"delete-agent-thread.function.js","sourceRoot":"","sources":["../../../src/functions/delete-agent-thread.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAGxC;IACA,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EACT,kFAAkF;IACpF,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,6BAA6B,CAAC;IACvC,IAAI,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClE,OAAO,EAAE,OAAO,EAAE,CAAA;IACpB,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"delete-agent-thread.function.js","sourceRoot":"","sources":["../../../src/functions/delete-agent-thread.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAGxC;IACA,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EACT,kKAAkK;IACpK,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,6BAA6B,CAAC;IACvC,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;IACrC,IAAI,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClE,OAAO,EAAE,OAAO,EAAE,CAAA;IACpB,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=delete-agent-thread.function.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-agent-thread.function.test.d.ts","sourceRoot":"","sources":["../../../src/functions/delete-agent-thread.function.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import assert from 'node:assert/strict';
2
+ import { test } from 'node:test';
3
+ import { deleteAgentThread } from './delete-agent-thread.function.js';
4
+ import { isThreadOwner } from './is-thread-owner.permission.js';
5
+ test('deleting a thread is gated on thread ownership', () => {
6
+ assert.deepEqual(deleteAgentThread.permissions, { owner: isThreadOwner });
7
+ });
8
+ //# sourceMappingURL=delete-agent-thread.function.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-agent-thread.function.test.js","sourceRoot":"","sources":["../../../src/functions/delete-agent-thread.function.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC1D,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAA;AAC3E,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-agent-thread-messages.function.d.ts","sourceRoot":"","sources":["../../../src/functions/get-agent-thread-messages.function.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB;cAAyB,MAAM;;cAAN,MAAM;;cAAN,MAAM;2GAShE,CAAA"}
1
+ {"version":3,"file":"get-agent-thread-messages.function.d.ts","sourceRoot":"","sources":["../../../src/functions/get-agent-thread-messages.function.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB;cAAyB,MAAM;;cAAN,MAAM;;cAAN,MAAM;2GAUhE,CAAA"}
@@ -1,9 +1,11 @@
1
1
  import { pikkuFunc } from '#pikku/addon/function';
2
+ import { isThreadOwner } from './is-thread-owner.permission.js';
2
3
  export const getAgentThreadMessages = pikkuFunc({
3
4
  title: 'Get Agent Thread Messages',
4
- description: 'Returns all messages for a given AI agent thread, ordered by creation time.',
5
+ description: 'Returns all messages for a given AI agent thread, ordered by creation time. A caller without the admin scope may only read a thread its own session owns.',
5
6
  expose: true,
6
7
  scopes: ['pikku:console:agents:read'],
8
+ permissions: { owner: isThreadOwner },
7
9
  func: async ({ agentRunService }, input) => {
8
10
  return await agentRunService.getThreadMessages(input.threadId);
9
11
  },
@@ -1 +1 @@
1
- {"version":3,"file":"get-agent-thread-messages.function.js","sourceRoot":"","sources":["../../../src/functions/get-agent-thread-messages.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAA8B;IAC3E,KAAK,EAAE,2BAA2B;IAClC,WAAW,EACT,6EAA6E;IAC/E,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,2BAA2B,CAAC;IACrC,IAAI,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE;QACzC,OAAO,MAAM,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAChE,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"get-agent-thread-messages.function.js","sourceRoot":"","sources":["../../../src/functions/get-agent-thread-messages.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAA8B;IAC3E,KAAK,EAAE,2BAA2B;IAClC,WAAW,EACT,2JAA2J;IAC7J,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,2BAA2B,CAAC;IACrC,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;IACrC,IAAI,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE;QACzC,OAAO,MAAM,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAChE,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=get-agent-thread-messages.function.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-agent-thread-messages.function.test.d.ts","sourceRoot":"","sources":["../../../src/functions/get-agent-thread-messages.function.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import assert from 'node:assert/strict';
2
+ import { test } from 'node:test';
3
+ import { getAgentThreadMessages } from './get-agent-thread-messages.function.js';
4
+ import { isThreadOwner } from './is-thread-owner.permission.js';
5
+ test('thread messages are gated on thread ownership', () => {
6
+ assert.deepEqual(getAgentThreadMessages.permissions, { owner: isThreadOwner });
7
+ });
8
+ //# sourceMappingURL=get-agent-thread-messages.function.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-agent-thread-messages.function.test.js","sourceRoot":"","sources":["../../../src/functions/get-agent-thread-messages.function.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;IACzD,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAA;AAChF,CAAC,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ export declare const getVirtualUserRunSteps: import("#pikku/addon/function").PikkuFunctionConfig<{
2
+ runId: string;
3
+ limit?: number;
4
+ offset?: number;
5
+ }, any[], "rpc" | "session", import("#pikku/addon/function").PikkuFunction<{
6
+ runId: string;
7
+ limit?: number;
8
+ offset?: number;
9
+ }, any[], "rpc" | "session", import("#pikku/addon/function").WiredServices> | import("#pikku/addon/function").PikkuFunctionSessionless<{
10
+ runId: string;
11
+ limit?: number;
12
+ offset?: number;
13
+ }, any[], "rpc" | "session", import("#pikku/addon/function").WiredServices, unknown>, undefined, undefined>;
14
+ //# sourceMappingURL=get-virtual-user-run-steps.function.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-virtual-user-run-steps.function.d.ts","sourceRoot":"","sources":["../../../src/functions/get-virtual-user-run-steps.function.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,sBAAsB;WACxB,MAAM;YAAU,MAAM;aAAW,MAAM;;WAAvC,MAAM;YAAU,MAAM;aAAW,MAAM;;WAAvC,MAAM;YAAU,MAAM;aAAW,MAAM;2GAoBhD,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { pikkuFunc } from '#pikku/addon/function';
2
+ /**
3
+ * One run's turns, in the order they happened.
4
+ *
5
+ * Its own call rather than a field on the run: a run at a 500-step budget
6
+ * carries more transcript than every other column together, so the list would
7
+ * pay for it on every row.
8
+ *
9
+ * SECURITY: the transcript is strictly more sensitive than the summary it
10
+ * belongs to — it carries the live ids and payloads the run actually sent.
11
+ */
12
+ const MAX_STEPS = 500;
13
+ export const getVirtualUserRunSteps = pikkuFunc({
14
+ title: 'Get Virtual User Run Steps',
15
+ description: 'Returns every turn one virtual user run took: what it called, what came back, and what that cost.',
16
+ expose: true,
17
+ scopes: ['pikku:console:virtualUsers:read'],
18
+ func: async ({ virtualUserRunStore }, input) => {
19
+ if (!virtualUserRunStore) {
20
+ return [];
21
+ }
22
+ return await virtualUserRunStore.steps(input.runId, {
23
+ // A run's whole transcript at the largest budget pikku allows, and no
24
+ // more: the input is a plain type, so the ceiling cannot come from a
25
+ // schema the way the scaffolded read's does.
26
+ limit: Math.min(input?.limit ?? MAX_STEPS, MAX_STEPS),
27
+ offset: input?.offset,
28
+ });
29
+ },
30
+ });
31
+ //# sourceMappingURL=get-virtual-user-run-steps.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-virtual-user-run-steps.function.js","sourceRoot":"","sources":["../../../src/functions/get-virtual-user-run-steps.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD;;;;;;;;;GASG;AACH,MAAM,SAAS,GAAG,GAAG,CAAA;AAErB,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAG7C;IACA,KAAK,EAAE,4BAA4B;IACnC,WAAW,EACT,mGAAmG;IACrG,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,iCAAiC,CAAC;IAC3C,IAAI,EAAE,KAAK,EAAE,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,EAAE;QAC7C,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,MAAM,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;YAClD,sEAAsE;YACtE,qEAAqE;YACrE,6CAA6C;YAC7C,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,CAAC;YACrD,MAAM,EAAE,KAAK,EAAE,MAAM;SACtB,CAAC,CAAA;IACJ,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ export declare const getVirtualUserRuns: import("#pikku/addon/function").PikkuFunctionConfig<{
2
+ persona?: string;
3
+ limit?: number;
4
+ offset?: number;
5
+ }, any[], "rpc" | "session", import("#pikku/addon/function").PikkuFunction<{
6
+ persona?: string;
7
+ limit?: number;
8
+ offset?: number;
9
+ }, any[], "rpc" | "session", import("#pikku/addon/function").WiredServices> | import("#pikku/addon/function").PikkuFunctionSessionless<{
10
+ persona?: string;
11
+ limit?: number;
12
+ offset?: number;
13
+ }, any[], "rpc" | "session", import("#pikku/addon/function").WiredServices, unknown>, undefined, undefined>;
14
+ //# sourceMappingURL=get-virtual-user-runs.function.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-virtual-user-runs.function.d.ts","sourceRoot":"","sources":["../../../src/functions/get-virtual-user-runs.function.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,kBAAkB;cACjB,MAAM;YAAU,MAAM;aAAW,MAAM;;cAAvC,MAAM;YAAU,MAAM;aAAW,MAAM;;cAAvC,MAAM;YAAU,MAAM;aAAW,MAAM;2GA0BnD,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { pikkuFunc } from '#pikku/addon/function';
2
+ /**
3
+ * What the virtual users have been doing, newest first.
4
+ *
5
+ * Read off the host's own `virtualUserRunStore` rather than through the
6
+ * scaffolded RPCs, so the console shows a project's runs whether or not that
7
+ * project turned `scaffold.virtualUser` on — wiring the store is the only thing
8
+ * a run needs, and it is what a run already needs.
9
+ *
10
+ * SECURITY: an `adversarial` run's findings are working exploits carrying live
11
+ * ids. This is a privileged read, which is why it has a scope of its own rather
12
+ * than riding on the wirings one.
13
+ */
14
+ const MAX_RUNS = 100;
15
+ export const getVirtualUserRuns = pikkuFunc({
16
+ title: 'Get Virtual User Runs',
17
+ description: 'Returns recorded virtual user runs, newest first. Accepts optional persona, limit and offset.',
18
+ expose: true,
19
+ scopes: ['pikku:console:virtualUsers:read'],
20
+ func: async ({ virtualUserRunStore }, input) => {
21
+ if (!virtualUserRunStore) {
22
+ return [];
23
+ }
24
+ const runs = await virtualUserRunStore.list({
25
+ persona: input?.persona,
26
+ // The scaffolded read bounds this through zod; nothing types a console
27
+ // function's input at runtime, so the ceiling is applied here instead of
28
+ // letting a caller ask the store for every run an app has ever recorded.
29
+ limit: Math.min(input?.limit ?? MAX_RUNS, MAX_RUNS),
30
+ offset: input?.offset,
31
+ });
32
+ return runs.map((run) => ({
33
+ ...run,
34
+ createdAt: run.createdAt.toISOString(),
35
+ finishedAt: run.finishedAt ? run.finishedAt.toISOString() : null,
36
+ }));
37
+ },
38
+ });
39
+ //# sourceMappingURL=get-virtual-user-runs.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-virtual-user-runs.function.js","sourceRoot":"","sources":["../../../src/functions/get-virtual-user-runs.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,QAAQ,GAAG,GAAG,CAAA;AAEpB,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAGzC;IACA,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EACT,+FAA+F;IACjG,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,iCAAiC,CAAC;IAC3C,IAAI,EAAE,KAAK,EAAE,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,EAAE;QAC7C,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC;YAC1C,OAAO,EAAE,KAAK,EAAE,OAAO;YACvB,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,QAAQ,EAAE,QAAQ,CAAC;YACnD,MAAM,EAAE,KAAK,EAAE,MAAM;SACtB,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,GAAG,GAAG;YACN,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;YACtC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;SACjE,CAAC,CAAC,CAAA;IACL,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * A single-thread read is keyed by a caller-supplied `threadId`, so ownership
3
+ * cannot come from the request — it is derived from the session and checked
4
+ * against the stored thread's resourceId. The sibling list endpoints filter
5
+ * instead; a lookup of one thread has nothing to filter, so it is refused.
6
+ *
7
+ * A missing thread is refused rather than 404'd so it is indistinguishable from
8
+ * one owned by someone else — no existence oracle.
9
+ */
10
+ export declare const isThreadOwner: import("#pikku/addon/auth").PikkuPermission<{
11
+ threadId: string;
12
+ }, import("../../.pikku/addon/function/pikku-function-types.gen.js").WiredServices>;
13
+ //# sourceMappingURL=is-thread-owner.permission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-thread-owner.permission.d.ts","sourceRoot":"","sources":["../../../src/functions/is-thread-owner.permission.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;cAA+B,MAAM;mFAS9D,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { hasScopes } from '@pikku/core/scope';
2
+ import { canAccessThread } from '@pikku/core/agent';
3
+ import { pikkuPermission } from '#pikku/addon/auth';
4
+ const ADMIN_SCOPE_ROOT = 'admin';
5
+ /**
6
+ * A single-thread read is keyed by a caller-supplied `threadId`, so ownership
7
+ * cannot come from the request — it is derived from the session and checked
8
+ * against the stored thread's resourceId. The sibling list endpoints filter
9
+ * instead; a lookup of one thread has nothing to filter, so it is refused.
10
+ *
11
+ * A missing thread is refused rather than 404'd so it is indistinguishable from
12
+ * one owned by someone else — no existence oracle.
13
+ */
14
+ export const isThreadOwner = pikkuPermission(async ({ agentRunService }, { threadId }, { session }) => {
15
+ if (hasScopes([ADMIN_SCOPE_ROOT], session?.scopes)) {
16
+ return true;
17
+ }
18
+ const thread = await agentRunService.getThread(threadId);
19
+ if (!thread)
20
+ return false;
21
+ return canAccessThread(thread.resourceId, session);
22
+ });
23
+ //# sourceMappingURL=is-thread-owner.permission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-thread-owner.permission.js","sourceRoot":"","sources":["../../../src/functions/is-thread-owner.permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,gBAAgB,GAAG,OAAO,CAAA;AAEhC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAC1C,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACvD,IAAI,SAAS,CAAC,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACxD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACzB,OAAO,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC,CACF,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=is-thread-owner.permission.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-thread-owner.permission.test.d.ts","sourceRoot":"","sources":["../../../src/functions/is-thread-owner.permission.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import assert from 'node:assert/strict';
2
+ import { test } from 'node:test';
3
+ import { isThreadOwner } from './is-thread-owner.permission.js';
4
+ const services = {
5
+ agentRunService: {
6
+ getThread: async (threadId) => threadId === 'thread-1' ? { threadId, resourceId: 'alice' } : null,
7
+ },
8
+ };
9
+ const check = (session, threadId = 'thread-1') => isThreadOwner(services, { threadId }, { session });
10
+ test('the owning session is allowed', async () => {
11
+ assert.equal(await check({ userId: 'alice', scopes: [] }), true);
12
+ });
13
+ test("someone else's thread is refused", async () => {
14
+ assert.equal(await check({ userId: 'carol', scopes: [] }), false);
15
+ });
16
+ test('an admin reaches any thread', async () => {
17
+ assert.equal(await check({ userId: 'root', scopes: ['admin'] }), true);
18
+ });
19
+ test('a missing thread reads the same as one owned by someone else', async () => {
20
+ assert.equal(await check({ userId: 'alice', scopes: [] }, 'nope'), false);
21
+ });
22
+ test('a session with no principals is refused', async () => {
23
+ assert.equal(await check({ scopes: [] }), false);
24
+ });
25
+ //# sourceMappingURL=is-thread-owner.permission.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-thread-owner.permission.test.js","sourceRoot":"","sources":["../../../src/functions/is-thread-owner.permission.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,MAAM,QAAQ,GAAG;IACf,eAAe,EAAE;QACf,SAAS,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE,CACpC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;KACrE;CACO,CAAA;AAEV,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAE,QAAQ,GAAG,UAAU,EAAE,EAAE,CACxD,aAAa,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAW,CAAC,CAAA;AAE7D,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;AAClE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;IAClD,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;AACnE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;IAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;AACxE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;IAC9E,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAA;AAC3E,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;IACzD,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;AAClD,CAAC,CAAC,CAAA"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Turns a persona loose now, rather than waiting for its schedule.
3
+ *
4
+ * Dispatches the project's own scaffolded `runVirtualUser` rather than starting
5
+ * a run itself: the persona lookup, the acted-upon check and the production
6
+ * guard live there, and a second copy of them in the console would eventually
7
+ * disagree with the first. The cost is that this needs `scaffold.virtualUser`
8
+ * on, while reading runs does not — so the absence is reported as the missing
9
+ * scaffold it is, not as a broken button.
10
+ *
11
+ * SECURITY: its own scope, separate from reading. A run acts as a real user
12
+ * against the real API, and an adversarial one is trying to break things.
13
+ */
14
+ export declare const startVirtualUserRun: import("#pikku/addon/function").PikkuFunctionConfig<{
15
+ persona: string;
16
+ disposition?: string;
17
+ goals?: string[];
18
+ }, {
19
+ runId: string;
20
+ }, "rpc" | "session", import("#pikku/addon/function").PikkuFunction<{
21
+ persona: string;
22
+ disposition?: string;
23
+ goals?: string[];
24
+ }, {
25
+ runId: string;
26
+ }, "rpc" | "session", import("#pikku/addon/function").WiredServices> | import("#pikku/addon/function").PikkuFunctionSessionless<{
27
+ persona: string;
28
+ disposition?: string;
29
+ goals?: string[];
30
+ }, {
31
+ runId: string;
32
+ }, "rpc" | "session", import("#pikku/addon/function").WiredServices, unknown>, undefined, undefined>;
33
+ //# sourceMappingURL=start-virtual-user-run.function.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-virtual-user-run.function.d.ts","sourceRoot":"","sources":["../../../src/functions/start-virtual-user-run.function.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB;aACnB,MAAM;kBAAgB,MAAM;YAAU,MAAM,EAAE;;WAChD,MAAM;;aADJ,MAAM;kBAAgB,MAAM;YAAU,MAAM,EAAE;;WAChD,MAAM;;aADJ,MAAM;kBAAgB,MAAM;YAAU,MAAM,EAAE;;WAChD,MAAM;oGAmBf,CAAA"}