@pikku/addon-console 0.12.26 → 0.12.27

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 (200) hide show
  1. package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +1 -1
  2. package/dist/.pikku/addon/pikku-addon-types.gen.js +1 -1
  3. package/dist/.pikku/addon/pikku-package.gen.js +2 -2
  4. package/dist/.pikku/addon/pikku-package.gen.js.map +1 -1
  5. package/dist/.pikku/agent/pikku-agent-map.gen.d.ts +1 -1
  6. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +3 -2
  7. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts.map +1 -1
  8. package/dist/.pikku/agent/pikku-agent-types.gen.js.map +1 -1
  9. package/dist/.pikku/auth/auth.types.d.ts +1 -1
  10. package/dist/.pikku/auth/auth.types.js +1 -1
  11. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  12. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  13. package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
  14. package/dist/.pikku/function/pikku-function-types.gen.d.ts +9 -15
  15. package/dist/.pikku/function/pikku-function-types.gen.d.ts.map +1 -1
  16. package/dist/.pikku/function/pikku-function-types.gen.js +3 -12
  17. package/dist/.pikku/function/pikku-function-types.gen.js.map +1 -1
  18. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  19. package/dist/.pikku/function/pikku-functions-meta.gen.json +368 -175
  20. package/dist/.pikku/function/pikku-functions.gen.js +27 -13
  21. package/dist/.pikku/function/pikku-functions.gen.js.map +1 -1
  22. package/dist/.pikku/http/pikku-http-types.gen.d.ts +2 -24
  23. package/dist/.pikku/http/pikku-http-types.gen.d.ts.map +1 -1
  24. package/dist/.pikku/http/pikku-http-types.gen.js +2 -24
  25. package/dist/.pikku/http/pikku-http-types.gen.js.map +1 -1
  26. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  27. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  28. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  29. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  30. package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
  31. package/dist/.pikku/pikku-meta-service.gen.js +1 -1
  32. package/dist/.pikku/pikku-services.gen.d.ts +6 -4
  33. package/dist/.pikku/pikku-services.gen.d.ts.map +1 -1
  34. package/dist/.pikku/pikku-services.gen.js +4 -2
  35. package/dist/.pikku/pikku-services.gen.js.map +1 -1
  36. package/dist/.pikku/pikku-types.gen.d.ts +2 -1
  37. package/dist/.pikku/pikku-types.gen.d.ts.map +1 -1
  38. package/dist/.pikku/pikku-types.gen.js +3 -1
  39. package/dist/.pikku/pikku-types.gen.js.map +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/rpc/pikku-rpc-wirings-map.gen.d.ts +43 -20
  43. package/dist/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +43 -20
  44. package/dist/.pikku/rpc/pikku-rpc-wirings-map.remote.gen.d.ts +200 -0
  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 +13 -6
  47. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  48. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  49. package/dist/.pikku/schemas/register.gen.js +49 -23
  50. package/dist/.pikku/schemas/register.gen.js.map +1 -1
  51. package/dist/.pikku/schemas/schemas/AddonPackageInfo.schema.json +1 -1
  52. package/dist/.pikku/schemas/schemas/AllMeta.schema.json +1 -1
  53. package/dist/.pikku/schemas/schemas/GetAddonInstancesInput.schema.json +1 -0
  54. package/dist/.pikku/schemas/schemas/GetAddonInstancesOutput.schema.json +1 -0
  55. package/dist/.pikku/schemas/schemas/GetAddonMetaOutput.schema.json +1 -1
  56. package/dist/.pikku/schemas/schemas/GetFunctionsMetaOutput.schema.json +1 -1
  57. package/dist/.pikku/schemas/schemas/GetOpenapisOutput.schema.json +1 -1
  58. package/dist/.pikku/schemas/schemas/GetWebhookDeliveryInput.schema.json +1 -0
  59. package/dist/.pikku/schemas/schemas/GetWorkflowMetaByIdOutput.schema.json +1 -1
  60. package/dist/.pikku/schemas/schemas/ListWebhookDeliveriesInput.schema.json +1 -0
  61. package/dist/.pikku/schemas/schemas/ListWebhookDeliveriesOutput.schema.json +1 -0
  62. package/dist/.pikku/schemas/schemas/ScopeAddScopeToUserInput.schema.json +1 -0
  63. package/dist/.pikku/schemas/schemas/ScopeAddScopeToUserOutput.schema.json +1 -0
  64. package/dist/.pikku/schemas/schemas/ScopeAddUserToRoleInput.schema.json +1 -0
  65. package/dist/.pikku/schemas/schemas/ScopeAddUserToRoleOutput.schema.json +1 -0
  66. package/dist/.pikku/schemas/schemas/ScopeCreateRoleInput.schema.json +1 -0
  67. package/dist/.pikku/schemas/schemas/ScopeCreateRoleOutput.schema.json +1 -0
  68. package/dist/.pikku/schemas/schemas/ScopeDeleteRoleInput.schema.json +1 -0
  69. package/dist/.pikku/schemas/schemas/ScopeDeleteRoleOutput.schema.json +1 -0
  70. package/dist/.pikku/schemas/schemas/ScopeListDeclaredOutput.schema.json +1 -0
  71. package/dist/.pikku/schemas/schemas/ScopeListRolesOutput.schema.json +1 -0
  72. package/dist/.pikku/schemas/schemas/ScopeListUserRolesInput.schema.json +1 -0
  73. package/dist/.pikku/schemas/schemas/ScopeListUserRolesOutput.schema.json +1 -0
  74. package/dist/.pikku/schemas/schemas/ScopeRemoveScopeFromUserInput.schema.json +1 -0
  75. package/dist/.pikku/schemas/schemas/ScopeRemoveScopeFromUserOutput.schema.json +1 -0
  76. package/dist/.pikku/schemas/schemas/ScopeRemoveUserFromRoleInput.schema.json +1 -0
  77. package/dist/.pikku/schemas/schemas/ScopeRemoveUserFromRoleOutput.schema.json +1 -0
  78. package/dist/.pikku/schemas/schemas/ScopeSetRoleScopesInput.schema.json +1 -0
  79. package/dist/.pikku/schemas/schemas/ScopeSetRoleScopesOutput.schema.json +1 -0
  80. package/dist/.pikku/schemas/schemas/WebhookDeliveryWithAttempts.schema.json +1 -0
  81. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +6 -0
  82. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts.map +1 -0
  83. package/dist/.pikku/scopes/pikku-scope-types.gen.js +5 -0
  84. package/dist/.pikku/scopes/pikku-scope-types.gen.js.map +1 -0
  85. package/dist/.pikku/scopes/pikku-scopes-meta.gen.json +21 -0
  86. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +36 -0
  87. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts.map +1 -0
  88. package/dist/.pikku/scopes/pikku-scopes.gen.js +30 -0
  89. package/dist/.pikku/scopes/pikku-scopes.gen.js.map +1 -0
  90. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  91. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  92. package/dist/.pikku/secrets/pikku-secrets-meta.gen.json +1 -0
  93. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -1
  94. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts.map +1 -1
  95. package/dist/.pikku/secrets/pikku-secrets.gen.js +11 -1
  96. package/dist/.pikku/secrets/pikku-secrets.gen.js.map +1 -1
  97. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  98. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  99. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  100. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  101. package/dist/.pikku/variables/pikku-variables-meta.gen.json +1 -0
  102. package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -1
  103. package/dist/.pikku/variables/pikku-variables.gen.d.ts.map +1 -1
  104. package/dist/.pikku/variables/pikku-variables.gen.js +13 -3
  105. package/dist/.pikku/variables/pikku-variables.gen.js.map +1 -1
  106. package/dist/.pikku/workflow/pikku-workflow-map.gen.d.ts +1 -1
  107. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +17 -8
  108. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts.map +1 -1
  109. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  110. package/dist/.pikku/workflow/pikku-workflow-types.gen.js.map +1 -1
  111. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  112. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  113. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  114. package/dist/src/functions/get-addon-instances.function.d.ts +25 -0
  115. package/dist/src/functions/get-addon-instances.function.d.ts.map +1 -0
  116. package/dist/src/functions/get-addon-instances.function.js +30 -0
  117. package/dist/src/functions/get-addon-instances.function.js.map +1 -0
  118. package/dist/src/functions/get-installed-package.function.d.ts.map +1 -1
  119. package/dist/src/functions/get-installed-package.function.js +13 -13
  120. package/dist/src/functions/get-installed-package.function.js.map +1 -1
  121. package/dist/src/functions/get-openapi-detail.function.d.ts.map +1 -1
  122. package/dist/src/functions/get-openapi-detail.function.js +3 -9
  123. package/dist/src/functions/get-openapi-detail.function.js.map +1 -1
  124. package/dist/src/functions/get-openapis.function.d.ts +3 -3
  125. package/dist/src/functions/get-openapis.function.d.ts.map +1 -1
  126. package/dist/src/functions/get-openapis.function.js +3 -12
  127. package/dist/src/functions/get-openapis.function.js.map +1 -1
  128. package/dist/src/functions/get-webhook-delivery.function.d.ts +9 -0
  129. package/dist/src/functions/get-webhook-delivery.function.d.ts.map +1 -0
  130. package/dist/src/functions/get-webhook-delivery.function.js +14 -0
  131. package/dist/src/functions/get-webhook-delivery.function.js.map +1 -0
  132. package/dist/src/functions/install-addon.function.d.ts.map +1 -1
  133. package/dist/src/functions/install-addon.function.js +65 -11
  134. package/dist/src/functions/install-addon.function.js.map +1 -1
  135. package/dist/src/functions/list-webhook-deliveries.function.d.ts +12 -0
  136. package/dist/src/functions/list-webhook-deliveries.function.d.ts.map +1 -0
  137. package/dist/src/functions/list-webhook-deliveries.function.js +14 -0
  138. package/dist/src/functions/list-webhook-deliveries.function.js.map +1 -0
  139. package/dist/src/functions/scope-add-scope-to-user.function.d.ts +17 -0
  140. package/dist/src/functions/scope-add-scope-to-user.function.d.ts.map +1 -0
  141. package/dist/src/functions/scope-add-scope-to-user.function.js +16 -0
  142. package/dist/src/functions/scope-add-scope-to-user.function.js.map +1 -0
  143. package/dist/src/functions/scope-add-user-to-role.function.d.ts +17 -0
  144. package/dist/src/functions/scope-add-user-to-role.function.d.ts.map +1 -0
  145. package/dist/src/functions/scope-add-user-to-role.function.js +16 -0
  146. package/dist/src/functions/scope-add-user-to-role.function.js.map +1 -0
  147. package/dist/src/functions/scope-create-role.function.d.ts +20 -0
  148. package/dist/src/functions/scope-create-role.function.d.ts.map +1 -0
  149. package/dist/src/functions/scope-create-role.function.js +18 -0
  150. package/dist/src/functions/scope-create-role.function.js.map +1 -0
  151. package/dist/src/functions/scope-delete-role.function.d.ts +14 -0
  152. package/dist/src/functions/scope-delete-role.function.d.ts.map +1 -0
  153. package/dist/src/functions/scope-delete-role.function.js +16 -0
  154. package/dist/src/functions/scope-delete-role.function.js.map +1 -0
  155. package/dist/src/functions/scope-list-declared.function.d.ts +18 -0
  156. package/dist/src/functions/scope-list-declared.function.d.ts.map +1 -0
  157. package/dist/src/functions/scope-list-declared.function.js +15 -0
  158. package/dist/src/functions/scope-list-declared.function.js.map +1 -0
  159. package/dist/src/functions/scope-list-roles.function.d.ts +9 -0
  160. package/dist/src/functions/scope-list-roles.function.d.ts.map +1 -0
  161. package/dist/src/functions/scope-list-roles.function.js +14 -0
  162. package/dist/src/functions/scope-list-roles.function.js.map +1 -0
  163. package/dist/src/functions/scope-list-user-roles.function.d.ts +20 -0
  164. package/dist/src/functions/scope-list-user-roles.function.d.ts.map +1 -0
  165. package/dist/src/functions/scope-list-user-roles.function.js +23 -0
  166. package/dist/src/functions/scope-list-user-roles.function.js.map +1 -0
  167. package/dist/src/functions/scope-remove-scope-from-user.function.d.ts +17 -0
  168. package/dist/src/functions/scope-remove-scope-from-user.function.d.ts.map +1 -0
  169. package/dist/src/functions/scope-remove-scope-from-user.function.js +16 -0
  170. package/dist/src/functions/scope-remove-scope-from-user.function.js.map +1 -0
  171. package/dist/src/functions/scope-remove-user-from-role.function.d.ts +17 -0
  172. package/dist/src/functions/scope-remove-user-from-role.function.d.ts.map +1 -0
  173. package/dist/src/functions/scope-remove-user-from-role.function.js +16 -0
  174. package/dist/src/functions/scope-remove-user-from-role.function.js.map +1 -0
  175. package/dist/src/functions/scope-set-role-scopes.function.d.ts +17 -0
  176. package/dist/src/functions/scope-set-role-scopes.function.d.ts.map +1 -0
  177. package/dist/src/functions/scope-set-role-scopes.function.js +16 -0
  178. package/dist/src/functions/scope-set-role-scopes.function.js.map +1 -0
  179. package/dist/src/lib/derive-instance-overrides.d.ts +31 -0
  180. package/dist/src/lib/derive-instance-overrides.d.ts.map +1 -0
  181. package/dist/src/lib/derive-instance-overrides.js +72 -0
  182. package/dist/src/lib/derive-instance-overrides.js.map +1 -0
  183. package/dist/src/lib/derive-instance-overrides.test.d.ts +2 -0
  184. package/dist/src/lib/derive-instance-overrides.test.d.ts.map +1 -0
  185. package/dist/src/lib/derive-instance-overrides.test.js +59 -0
  186. package/dist/src/lib/derive-instance-overrides.test.js.map +1 -0
  187. package/dist/src/scopes.d.ts +2 -0
  188. package/dist/src/scopes.d.ts.map +1 -0
  189. package/dist/src/scopes.js +29 -0
  190. package/dist/src/scopes.js.map +1 -0
  191. package/dist/src/services/addon.service.d.ts +37 -0
  192. package/dist/src/services/addon.service.d.ts.map +1 -1
  193. package/dist/src/services/addon.service.js +24 -0
  194. package/dist/src/services/addon.service.js.map +1 -1
  195. package/dist/src/services/addon.service.test.js +17 -0
  196. package/dist/src/services/addon.service.test.js.map +1 -1
  197. package/dist/src/services.d.ts.map +1 -1
  198. package/dist/src/services.js +3 -4
  199. package/dist/src/services.js.map +1 -1
  200. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-set-role-scopes.function.js","sourceRoot":"","sources":["../../../src/functions/scope-set-role-scopes.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAGzC;IACA,KAAK,EAAE,iBAAiB;IACxB,WAAW,EACT,2FAA2F;IAC7F,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,qBAAqB,CAAC;IAC/B,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QACjD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,mBAAmB,CAAC,gCAAgC,CAAC,CAAA;QACjE,CAAC;QACD,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Per-instance override derivation for a second-or-later `wireAddon` of the
3
+ * same package. The first instance of a package uses the package's documented
4
+ * logical names as-is (no overrides); once a package is installed a second
5
+ * time, both instances would otherwise resolve to the SAME secret/variable/
6
+ * credential. Namespace-scoping the new instance's names keeps them isolated.
7
+ *
8
+ * Overrides are only a sensible default the console writes into the generated
9
+ * wiring — the user owns the file and can drop or edit them (the runtime and
10
+ * inspector both treat overrides as optional, falling back to the logical name).
11
+ */
12
+ export interface AddonDeclaredNames {
13
+ secrets: string[];
14
+ variables: string[];
15
+ credentials: string[];
16
+ }
17
+ export interface InstanceOverrides {
18
+ secretOverrides?: Record<string, string>;
19
+ variableOverrides?: Record<string, string>;
20
+ credentialOverrides?: Record<string, string>;
21
+ }
22
+ /** `@pikku/addon-mandrill` -> `mandrill`. */
23
+ export declare const packageBase: (packageName: string) => string;
24
+ export declare function deriveInstanceOverrides(namespace: string, packageName: string, declared: AddonDeclaredNames): InstanceOverrides;
25
+ /**
26
+ * Read a freshly-installed addon package's declared logical names from the
27
+ * `.pikku` meta it ships in node_modules. Missing meta files are treated as
28
+ * "declares none" — an addon may have no secrets/variables/credentials.
29
+ */
30
+ export declare function readAddonDeclaredNames(rootDir: string, packageName: string): Promise<AddonDeclaredNames>;
31
+ //# sourceMappingURL=derive-instance-overrides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derive-instance-overrides.d.ts","sourceRoot":"","sources":["../../../src/lib/derive-instance-overrides.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7C;AASD,6CAA6C;AAC7C,eAAO,MAAM,WAAW,GAAI,aAAa,MAAM,KAAG,MACW,CAAA;AA2B7D,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,kBAAkB,GAC3B,iBAAiB,CAoBnB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAyB7B"}
@@ -0,0 +1,72 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ /** `mandrill-promo` -> `MANDRILL_PROMO`. */
4
+ const screamingSnake = (s) => s
5
+ .replace(/[^a-zA-Z0-9]+/g, '_')
6
+ .replace(/([a-z])([A-Z])/g, '$1_$2')
7
+ .toUpperCase();
8
+ /** `@pikku/addon-mandrill` -> `mandrill`. */
9
+ export const packageBase = (packageName) => packageName.replace(/^@[^/]+\//, '').replace(/^addon-/, '');
10
+ /**
11
+ * Env-style secret/variable name for an instance. Strips a leading package-base
12
+ * token from the logical key (so `MANDRILL_API_KEY` under `mandrill-promo`
13
+ * becomes `MANDRILL_PROMO_API_KEY`, not `MANDRILL_PROMO_MANDRILL_API_KEY`),
14
+ * otherwise prefixes the whole key.
15
+ */
16
+ const scopedEnvName = (namespace, base, key) => {
17
+ const ns = screamingSnake(namespace);
18
+ const basePrefix = screamingSnake(base) + '_';
19
+ const bare = key.toUpperCase().startsWith(basePrefix)
20
+ ? key.slice(basePrefix.length)
21
+ : key;
22
+ return `${ns}_${bare}`;
23
+ };
24
+ /** Credential names are camelCase/kebab identifiers (they double as the
25
+ * better-auth providerId), so scope them with the kebab namespace rather than
26
+ * the env-style scream: `gmailOAuth` under `gmail-support` -> `gmail-support-gmailOAuth`. */
27
+ const scopedCredentialName = (namespace, key) => `${namespace}-${key}`;
28
+ export function deriveInstanceOverrides(namespace, packageName, declared) {
29
+ const base = packageBase(packageName);
30
+ const overrides = {};
31
+ if (declared.secrets.length > 0) {
32
+ overrides.secretOverrides = Object.fromEntries(declared.secrets.map((k) => [k, scopedEnvName(namespace, base, k)]));
33
+ }
34
+ if (declared.variables.length > 0) {
35
+ overrides.variableOverrides = Object.fromEntries(declared.variables.map((k) => [k, scopedEnvName(namespace, base, k)]));
36
+ }
37
+ if (declared.credentials.length > 0) {
38
+ overrides.credentialOverrides = Object.fromEntries(declared.credentials.map((k) => [k, scopedCredentialName(namespace, k)]));
39
+ }
40
+ return overrides;
41
+ }
42
+ /**
43
+ * Read a freshly-installed addon package's declared logical names from the
44
+ * `.pikku` meta it ships in node_modules. Missing meta files are treated as
45
+ * "declares none" — an addon may have no secrets/variables/credentials.
46
+ */
47
+ export async function readAddonDeclaredNames(rootDir, packageName) {
48
+ const pkgPikku = join(rootDir, 'node_modules', packageName, '.pikku');
49
+ // Read the id the addon actually reads by (secretId/variableId for secrets and
50
+ // variables — the string it passes to getSecret / variables.get; the meta's
51
+ // own name for credentials), falling back to the meta key for older meta. That
52
+ // id is what overrides key on, matching the runtime aliaser and the inspector
53
+ // merge.
54
+ const readIds = async (rel, idField) => {
55
+ try {
56
+ const raw = await readFile(join(pkgPikku, rel), 'utf-8');
57
+ const meta = JSON.parse(raw);
58
+ return Object.entries(meta).map(([key, def]) => idField ? (def[idField] ?? key) : key);
59
+ }
60
+ catch {
61
+ // No meta of this kind shipped — the addon declares none.
62
+ return [];
63
+ }
64
+ };
65
+ const [secrets, variables, credentials] = await Promise.all([
66
+ readIds('secrets/pikku-secrets-meta.gen.json', 'secretId'),
67
+ readIds('variables/pikku-variables-meta.gen.json', 'variableId'),
68
+ readIds('credentials/pikku-credentials-meta.gen.json'),
69
+ ]);
70
+ return { secrets, variables, credentials };
71
+ }
72
+ //# sourceMappingURL=derive-instance-overrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derive-instance-overrides.js","sourceRoot":"","sources":["../../../src/lib/derive-instance-overrides.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=derive-instance-overrides.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derive-instance-overrides.test.d.ts","sourceRoot":"","sources":["../../../src/lib/derive-instance-overrides.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ import { strict as assert } from 'assert';
2
+ import { describe, test } from 'node:test';
3
+ import { deriveInstanceOverrides, packageBase, } from './derive-instance-overrides.js';
4
+ describe('deriveInstanceOverrides', () => {
5
+ test('scopes an env secret by namespace, stripping a redundant package prefix', () => {
6
+ const o = deriveInstanceOverrides('mandrill-promo', '@pikku/addon-mandrill', {
7
+ secrets: ['MANDRILL_API_KEY'],
8
+ variables: [],
9
+ credentials: [],
10
+ });
11
+ assert.deepEqual(o.secretOverrides, {
12
+ MANDRILL_API_KEY: 'MANDRILL_PROMO_API_KEY',
13
+ });
14
+ });
15
+ test('prefixes a secret that does not start with the package base', () => {
16
+ const o = deriveInstanceOverrides('acme-mail', '@pikku/addon-mandrill', {
17
+ secrets: ['SMTP_PASSWORD'],
18
+ variables: [],
19
+ credentials: [],
20
+ });
21
+ assert.deepEqual(o.secretOverrides, {
22
+ SMTP_PASSWORD: 'ACME_MAIL_SMTP_PASSWORD',
23
+ });
24
+ });
25
+ test('scopes variables the same env-style way', () => {
26
+ const o = deriveInstanceOverrides('gmail-support', '@pikku/addon-gmail', {
27
+ secrets: [],
28
+ variables: ['GMAIL_REGION'],
29
+ credentials: [],
30
+ });
31
+ assert.deepEqual(o.variableOverrides, {
32
+ GMAIL_REGION: 'GMAIL_SUPPORT_REGION',
33
+ });
34
+ });
35
+ test('scopes credentials with the kebab namespace (providerId identity)', () => {
36
+ const o = deriveInstanceOverrides('gmail-support', '@pikku/addon-gmail', {
37
+ secrets: [],
38
+ variables: [],
39
+ credentials: ['gmailOAuth'],
40
+ });
41
+ assert.deepEqual(o.credentialOverrides, {
42
+ gmailOAuth: 'gmail-support-gmailOAuth',
43
+ });
44
+ });
45
+ test('omits override maps for kinds the addon declares none of', () => {
46
+ const o = deriveInstanceOverrides('x-two', '@pikku/addon-x', {
47
+ secrets: [],
48
+ variables: [],
49
+ credentials: [],
50
+ });
51
+ assert.deepEqual(o, {});
52
+ });
53
+ test('packageBase strips scope and addon- prefix', () => {
54
+ assert.equal(packageBase('@pikku/addon-mandrill'), 'mandrill');
55
+ assert.equal(packageBase('addon-slack'), 'slack');
56
+ assert.equal(packageBase('mypkg'), 'mypkg');
57
+ });
58
+ });
59
+ //# sourceMappingURL=derive-instance-overrides.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derive-instance-overrides.test.js","sourceRoot":"","sources":["../../../src/lib/derive-instance-overrides.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EACL,uBAAuB,EACvB,WAAW,GACZ,MAAM,gCAAgC,CAAA;AAEvC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,IAAI,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACnF,MAAM,CAAC,GAAG,uBAAuB,CAC/B,gBAAgB,EAChB,uBAAuB,EACvB;YACE,OAAO,EAAE,CAAC,kBAAkB,CAAC;YAC7B,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;SAChB,CACF,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,EAAE;YAClC,gBAAgB,EAAE,wBAAwB;SAC3C,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,GAAG,uBAAuB,CAAC,WAAW,EAAE,uBAAuB,EAAE;YACtE,OAAO,EAAE,CAAC,eAAe,CAAC;YAC1B,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;SAChB,CAAC,CAAA;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,EAAE;YAClC,aAAa,EAAE,yBAAyB;SACzC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,GAAG,uBAAuB,CAAC,eAAe,EAAE,oBAAoB,EAAE;YACvE,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,CAAC,cAAc,CAAC;YAC3B,WAAW,EAAE,EAAE;SAChB,CAAC,CAAA;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,EAAE;YACpC,YAAY,EAAE,sBAAsB;SACrC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC7E,MAAM,CAAC,GAAG,uBAAuB,CAAC,eAAe,EAAE,oBAAoB,EAAE;YACvE,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,CAAC,YAAY,CAAC;SAC5B,CAAC,CAAA;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,EAAE;YACtC,UAAU,EAAE,0BAA0B;SACvC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,GAAG,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,EAAE;YAC3D,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;SAChB,CAAC,CAAA;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,uBAAuB,CAAC,EAAE,UAAU,CAAC,CAAA;QAC9D,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/scopes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import { wireScope } from '#pikku';
2
+ /**
3
+ * Scopes the console's own authorization management requires.
4
+ *
5
+ * Self-hosting: the functions that grant scopes are themselves scoped, so
6
+ * handing someone the console does not hand them the ability to grant
7
+ * themselves anything. These flow into the host's ScopeId union and declared
8
+ * set when the addon is wired, so a host role can grant them.
9
+ */
10
+ wireScope({
11
+ pikku: {
12
+ displayName: 'Pikku Console',
13
+ description: "The console's own administrative capabilities",
14
+ scopes: {
15
+ scopes: {
16
+ description: 'Authorization management',
17
+ scopes: {
18
+ read: {
19
+ description: 'View declared scopes, roles, and who holds them',
20
+ },
21
+ manage: {
22
+ description: 'Create and delete roles, change their scopes, and grant roles to users',
23
+ },
24
+ },
25
+ },
26
+ },
27
+ },
28
+ });
29
+ //# sourceMappingURL=scopes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/scopes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC;;;;;;;GAOG;AACH,SAAS,CAAC;IACR,KAAK,EAAE;QACL,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,+CAA+C;QAC5D,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,WAAW,EAAE,0BAA0B;gBACvC,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,WAAW,EAAE,iDAAiD;qBAC/D;oBACD,MAAM,EAAE;wBACN,WAAW,EACT,wEAAwE;qBAC3E;iBACF;aACF;SACF;KACF;CACF,CAAC,CAAA"}
@@ -26,6 +26,12 @@ export interface AddonPackageInfo {
26
26
  functions: FunctionsMeta;
27
27
  agents: Record<string, unknown>;
28
28
  secrets: Record<string, unknown>;
29
+ /**
30
+ * OAuth2 + wire credentials the addon declares (from its own
31
+ * `credentials/pikku-credentials-meta.gen.json`). Entries with an `oauth2`
32
+ * field are OAuth integrations to connect; the rest are wire credentials.
33
+ */
34
+ credentials: Record<string, unknown>;
29
35
  variables: Record<string, unknown>;
30
36
  httpRoutes: HTTPWiringsMeta;
31
37
  channels: ChannelsMeta;
@@ -35,11 +41,42 @@ export interface AddonPackageInfo {
35
41
  }
36
42
  export type AddonMeta = AddonPackageInfo;
37
43
  export type AddonDetail = AddonPackageInfo;
44
+ export interface OpenApiSummary {
45
+ name: string;
46
+ version: string;
47
+ provider: string;
48
+ service: string | null;
49
+ title: string;
50
+ description: string;
51
+ openapiVer: string;
52
+ swaggerUrl: string;
53
+ logo?: string;
54
+ }
55
+ export interface OpenApiListResult {
56
+ apis: OpenApiSummary[];
57
+ total: number;
58
+ nextCursor: number | null;
59
+ }
60
+ export interface OpenApiDetail extends OpenApiSummary {
61
+ swaggerYamlUrl?: string;
62
+ categories: string[];
63
+ tags: string[];
64
+ added?: string;
65
+ updated?: string;
66
+ }
38
67
  export declare class AddonService {
39
68
  private fabricApiUrl;
40
69
  constructor(fabricApiUrl: string);
41
70
  readAddonsMeta(): Promise<AddonMeta[]>;
42
71
  readAddon(id: string): Promise<AddonDetail | null>;
72
+ /** Browse the fabric registry's OpenAPI catalogue (apis.guru + published). */
73
+ readOpenapis(opts: {
74
+ limit: number;
75
+ offset: number;
76
+ search?: string;
77
+ }): Promise<OpenApiListResult>;
78
+ /** Fetch one OpenAPI catalogue entry by name (returns null when absent). */
79
+ readOpenapiDetail(name: string): Promise<OpenApiDetail | null>;
43
80
  init(): Promise<void>;
44
81
  }
45
82
  //# sourceMappingURL=addon.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addon.service.d.ts","sourceRoot":"","sources":["../../../src/services/addon.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACd,MAAM,iBAAiB,CAAA;AAExB,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,WAAW,CAAA;IACtB,aAAa,EAAE,eAAe,CAAA;IAC9B,WAAW,EAAE,aAAa,CAAA;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,EAAE,aAAa,CAAA;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,UAAU,EAAE,eAAe,CAAA;IAC3B,QAAQ,EAAE,YAAY,CAAA;IACtB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACnC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAA;AACxC,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAA;AAE1C,qBAAa,YAAY;IACX,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,MAAM;IAElC,cAAc,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAWtC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAUlD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAC5B"}
1
+ {"version":3,"file":"addon.service.d.ts","sourceRoot":"","sources":["../../../src/services/addon.service.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,30 @@ export class AddonService {
19
19
  return null;
20
20
  return JSON.parse(text);
21
21
  }
22
+ /** Browse the fabric registry's OpenAPI catalogue (apis.guru + published). */
23
+ async readOpenapis(opts) {
24
+ const params = new URLSearchParams({
25
+ limit: String(opts.limit),
26
+ offset: String(opts.offset),
27
+ });
28
+ if (opts.search)
29
+ params.set('query', opts.search);
30
+ const response = await fetch(`${this.fabricApiUrl}/registry/openapis?${params.toString()}`);
31
+ if (!response.ok) {
32
+ throw new Error(`Registry returned ${response.status}`);
33
+ }
34
+ return response.json();
35
+ }
36
+ /** Fetch one OpenAPI catalogue entry by name (returns null when absent). */
37
+ async readOpenapiDetail(name) {
38
+ const response = await fetch(`${this.fabricApiUrl}/registry/openapis/${encodeURIComponent(name)}`);
39
+ if (!response.ok)
40
+ return null;
41
+ const text = await response.text();
42
+ if (!text)
43
+ return null;
44
+ return JSON.parse(text);
45
+ }
22
46
  async init() { }
23
47
  }
24
48
  //# sourceMappingURL=addon.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addon.service.js","sourceRoot":"","sources":["../../../src/services/addon.service.ts"],"names":[],"mappings":"AA6CA,MAAM,OAAO,YAAY;IACvB,YAAoB,YAAoB;QAApB,iBAAY,GAAZ,YAAY,CAAQ;IAAG,CAAC;IAE5C,KAAK,CAAC,cAAc;QAClB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,YAAY,8BAA8B,CACnD,CAAA;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpC,OAAO,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,YAAY,sBAAsB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CACnE,CAAA;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QAC7B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,KAAmB,CAAC;CAC/B"}
1
+ {"version":3,"file":"addon.service.js","sourceRoot":"","sources":["../../../src/services/addon.service.ts"],"names":[],"mappings":"AA6EA,MAAM,OAAO,YAAY;IACvB,YAAoB,YAAoB;QAApB,iBAAY,GAAZ,YAAY,CAAQ;IAAG,CAAC;IAE5C,KAAK,CAAC,cAAc;QAClB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,YAAY,8BAA8B,CACnD,CAAA;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpC,OAAO,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,YAAY,sBAAsB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CACnE,CAAA;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QAC7B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,YAAY,CAAC,IAIlB;QACC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SAC5B,CAAC,CAAA;QACF,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,YAAY,sBAAsB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC9D,CAAA;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxB,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,YAAY,sBAAsB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CACrE,CAAA;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QAC7B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,KAAmB,CAAC;CAC/B"}
@@ -39,5 +39,22 @@ describe('AddonService', () => {
39
39
  assert.ok(calls[0].startsWith(`${FABRIC}/registry/packages/pkg-1`), `expected fabric /registry/packages/:id, got ${calls[0]}`);
40
40
  assert.deepEqual(result, { id: 'pkg-1', name: '@x/y' });
41
41
  });
42
+ test('readOpenapis queries the fabric registry openapis endpoint', async () => {
43
+ mockFetch({ apis: [{ name: 'stripe' }], total: 1, nextCursor: null });
44
+ const service = new AddonService(FABRIC);
45
+ const result = await service.readOpenapis({ limit: 50, offset: 0, search: 'stripe' });
46
+ assert.equal(calls.length, 1);
47
+ assert.ok(calls[0].startsWith(`${FABRIC}/registry/openapis`), `expected fabric /registry/openapis, got ${calls[0]}`);
48
+ assert.ok(calls[0].includes('query=stripe'), `expected query param, got ${calls[0]}`);
49
+ assert.deepEqual(result, { apis: [{ name: 'stripe' }], total: 1, nextCursor: null });
50
+ });
51
+ test('readOpenapiDetail queries the fabric registry openapi-by-name endpoint', async () => {
52
+ mockFetch({ name: 'stripe', title: 'Stripe' });
53
+ const service = new AddonService(FABRIC);
54
+ const result = await service.readOpenapiDetail('stripe');
55
+ assert.equal(calls.length, 1);
56
+ assert.ok(calls[0].startsWith(`${FABRIC}/registry/openapis/stripe`), `expected fabric /registry/openapis/:name, got ${calls[0]}`);
57
+ assert.deepEqual(result, { name: 'stripe', title: 'Stripe' });
58
+ });
42
59
  });
43
60
  //# sourceMappingURL=addon.service.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addon.service.test.js","sourceRoot":"","sources":["../../../src/services/addon.service.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACjE,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,MAAM,MAAM,GAAG,wBAAwB,CAAA;AAEvC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,KAAe,CAAA;IACnB,IAAI,aAAsC,CAAA;IAE1C,UAAU,CAAC,GAAG,EAAE;QACd,KAAK,GAAG,EAAE,CAAA;QACV,aAAa,GAAG,UAAU,CAAC,KAAK,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,KAAK,GAAG,aAAa,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,CAAC,IAAa,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE;QAC7C,UAAU,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,GAAiB,EAAE,EAAE;YAC9C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACvB,OAAO;gBACL,EAAE;gBACF,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;gBACtB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;gBACtB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAA;QACf,CAAC,CAA4B,CAAA;IAC/B,CAAC,CAAA;IAED,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC9E,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAA;QAC7C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC7B,MAAM,CAAC,EAAE,CACP,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,oBAAoB,CAAC,EAClD,2CAA2C,KAAK,CAAC,CAAC,CAAC,EAAE,CACtD,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC9E,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QACxC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC/C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC7B,MAAM,CAAC,EAAE,CACP,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,0BAA0B,CAAC,EACxD,+CAA+C,KAAK,CAAC,CAAC,CAAC,EAAE,CAC1D,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"addon.service.test.js","sourceRoot":"","sources":["../../../src/services/addon.service.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,uBAAuB,0MA0EnC,CAAA"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,uBAAuB,0MA4EnC,CAAA"}
@@ -1,11 +1,10 @@
1
1
  import { pikkuAddonServices } from '#pikku';
2
2
  import { WiringService } from './services/wiring.service.js';
3
3
  import { AddonService } from './services/addon.service.js';
4
- import { OAuthService } from './services/oauth.service.js';
5
4
  import { StateDiffService } from './services/state-diff.service.js';
6
5
  import { DbSchemaService } from './services/db-schema.service.js';
7
6
  import { findProjectRoot } from './lib/find-project-root.js';
8
- export const createSingletonServices = pikkuAddonServices(async (_config, { variables, metaService: existingMetaService, aiAgentRunner, schedulerService, agentRunService, workflowService, workflowRunService, aiStorage, aiRunState, deploymentService, credentialService, coverageService, }) => {
7
+ export const createSingletonServices = pikkuAddonServices(async (_config, { variables, metaService: existingMetaService, aiAgentRunner, schedulerService, agentRunService, workflowService, workflowRunService, aiStorage, aiRunState, deploymentService, credentialService, coverageService, scopeService, webhookService, }) => {
9
8
  if (!existingMetaService) {
10
9
  throw new Error('metaService is required for the console addon. Set it in your createSingletonServices using PikkuMetaService from #pikku/pikku-meta-service.gen.js');
11
10
  }
@@ -14,7 +13,6 @@ export const createSingletonServices = pikkuAddonServices(async (_config, { vari
14
13
  const wiringService = new WiringService(metaService);
15
14
  const addonService = new AddonService(fabricApiUrl);
16
15
  await addonService.init();
17
- const oauthService = new OAuthService();
18
16
  const metaBasePath = existingMetaService?.basePath;
19
17
  let codeEditService = null;
20
18
  let stateDiffService = null;
@@ -41,7 +39,6 @@ export const createSingletonServices = pikkuAddonServices(async (_config, { vari
41
39
  metaService,
42
40
  wiringService,
43
41
  addonService,
44
- oauthService,
45
42
  workflowService,
46
43
  workflowRunService,
47
44
  agentRunService,
@@ -52,6 +49,8 @@ export const createSingletonServices = pikkuAddonServices(async (_config, { vari
52
49
  schedulerService,
53
50
  credentialService,
54
51
  coverageService,
52
+ scopeService,
53
+ webhookService,
55
54
  codeEditService,
56
55
  stateDiffService,
57
56
  dbSchemaService,
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CACvD,KAAK,EACH,OAAO,EACP,EACE,SAAS,EACT,WAAW,EAAE,mBAAmB,EAChC,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,EACD,EAAE;IACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,oJAAoJ,CACrJ,CAAA;IACH,CAAC;IACD,MAAM,WAAW,GAAG,mBAAmB,CAAA;IACvC,MAAM,YAAY,GAChB,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,6BAA6B,CAAA;IAE1E,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAA;IACpD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAA;IACnD,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;IACzB,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;IAEvC,MAAM,YAAY,GAAG,mBAAmB,EAAE,QAAQ,CAAA;IAClD,IAAI,eAAe,GAA2B,IAAI,CAAA;IAClD,IAAI,gBAAgB,GAA4B,IAAI,CAAA;IACpD,IAAI,eAAe,GAA2B,IAAI,CAAA;IAClD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;QACjD,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAA;QACpD,eAAe,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;QAClD,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,iCAAiC,CAAA;YACtD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAA;YACtD,eAAe,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW;QACX,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,eAAe;QACf,kBAAkB;QAClB,eAAe;QACf,SAAS;QACT,UAAU;QACV,iBAAiB;QACjB,aAAa;QACb,gBAAgB;QAChB,iBAAiB;QACjB,eAAe;QACf,eAAe;QACf,gBAAgB;QAChB,eAAe;KAChB,CAAA;AACH,CAAC,CACF,CAAA"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CACvD,KAAK,EACH,OAAO,EACP,EACE,SAAS,EACT,WAAW,EAAE,mBAAmB,EAChC,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,cAAc,GACf,EACD,EAAE;IACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,oJAAoJ,CACrJ,CAAA;IACH,CAAC;IACD,MAAM,WAAW,GAAG,mBAAmB,CAAA;IACvC,MAAM,YAAY,GAChB,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,6BAA6B,CAAA;IAE1E,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAA;IACpD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAA;IACnD,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;IAEzB,MAAM,YAAY,GAAG,mBAAmB,EAAE,QAAQ,CAAA;IAClD,IAAI,eAAe,GAA2B,IAAI,CAAA;IAClD,IAAI,gBAAgB,GAA4B,IAAI,CAAA;IACpD,IAAI,eAAe,GAA2B,IAAI,CAAA;IAClD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;QACjD,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAA;QACpD,eAAe,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;QAClD,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,iCAAiC,CAAA;YACtD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAA;YACtD,eAAe,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW;QACX,aAAa;QACb,YAAY;QACZ,eAAe;QACf,kBAAkB;QAClB,eAAe;QACf,SAAS;QACT,UAAU;QACV,iBAAiB;QACjB,aAAa;QACb,gBAAgB;QAChB,iBAAiB;QACjB,eAAe;QACf,YAAY;QACZ,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,eAAe;KAChB,CAAA;AACH,CAAC,CACF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pikku/addon-console",
3
- "version": "0.12.26",
3
+ "version": "0.12.27",
4
4
  "type": "module",
5
5
  "imports": {
6
6
  "#pikku": {
@@ -38,11 +38,11 @@
38
38
  "test:coverage": "bash run-tests.sh --coverage"
39
39
  },
40
40
  "peerDependencies": {
41
- "@pikku/core": "^0.12.54"
41
+ "@pikku/core": "^0.12.64"
42
42
  },
43
43
  "devDependencies": {
44
- "@pikku/cli": "^0.12.71",
45
- "@pikku/core": "^0.12.54",
44
+ "@pikku/cli": "^0.12.83",
45
+ "@pikku/core": "^0.12.64",
46
46
  "oauth2-mock-server": "^7.1.1",
47
47
  "typescript": "^6.0.3"
48
48
  },