@pikku/addon-console 0.12.28 → 0.12.30

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 (103) 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 +1 -1
  7. package/dist/.pikku/auth/auth.types.d.ts +1 -1
  8. package/dist/.pikku/auth/auth.types.js +1 -1
  9. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  10. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  11. package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
  12. package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
  13. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  14. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  15. package/dist/.pikku/function/pikku-functions-meta.gen.json +83 -11
  16. package/dist/.pikku/function/pikku-functions.gen.js +7 -1
  17. package/dist/.pikku/function/pikku-functions.gen.js.map +1 -1
  18. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  19. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  20. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  21. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  22. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  23. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  24. package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
  25. package/dist/.pikku/pikku-meta-service.gen.js +1 -1
  26. package/dist/.pikku/pikku-services.gen.d.ts +3 -2
  27. package/dist/.pikku/pikku-services.gen.d.ts.map +1 -1
  28. package/dist/.pikku/pikku-services.gen.js +2 -1
  29. package/dist/.pikku/pikku-services.gen.js.map +1 -1
  30. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  31. package/dist/.pikku/pikku-types.gen.js +1 -1
  32. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  33. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  34. package/dist/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +10 -5
  35. package/dist/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +10 -5
  36. package/dist/.pikku/rpc/pikku-rpc-wirings-map.remote.gen.d.ts +5 -4
  37. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  38. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +3 -0
  39. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  40. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  41. package/dist/.pikku/schemas/register.gen.js +11 -3
  42. package/dist/.pikku/schemas/register.gen.js.map +1 -1
  43. package/dist/.pikku/schemas/schemas/AddonMetaPage.schema.json +1 -0
  44. package/dist/.pikku/schemas/schemas/AddonMetaQuery.schema.json +1 -0
  45. package/dist/.pikku/schemas/schemas/GetAddonCategoriesOutput.schema.json +1 -0
  46. package/dist/.pikku/schemas/schemas/GetMyAccessOutput.schema.json +1 -0
  47. package/dist/.pikku/schemas/schemas/GetOpenapiCategoriesOutput.schema.json +1 -0
  48. package/dist/.pikku/schemas/schemas/GetOpenapisInput.schema.json +1 -1
  49. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +1 -1
  50. package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -1
  51. package/dist/.pikku/scopes/pikku-scopes-meta.gen.json +42 -0
  52. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +2 -2
  53. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts.map +1 -1
  54. package/dist/.pikku/scopes/pikku-scopes.gen.js +1 -0
  55. package/dist/.pikku/scopes/pikku-scopes.gen.js.map +1 -1
  56. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  57. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  58. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  59. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  60. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  61. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  62. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  63. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  64. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  65. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  66. package/dist/.pikku/workflow/pikku-workflow-map.gen.d.ts +1 -1
  67. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  68. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  69. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  70. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  71. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  72. package/dist/src/functions/get-addon-categories.function.d.ts +2 -0
  73. package/dist/src/functions/get-addon-categories.function.d.ts.map +1 -0
  74. package/dist/src/functions/get-addon-categories.function.js +10 -0
  75. package/dist/src/functions/get-addon-categories.function.js.map +1 -0
  76. package/dist/src/functions/get-addon-meta.function.d.ts +2 -1
  77. package/dist/src/functions/get-addon-meta.function.d.ts.map +1 -1
  78. package/dist/src/functions/get-addon-meta.function.js +3 -3
  79. package/dist/src/functions/get-addon-meta.function.js.map +1 -1
  80. package/dist/src/functions/get-my-access.function.d.ts +11 -0
  81. package/dist/src/functions/get-my-access.function.d.ts.map +1 -0
  82. package/dist/src/functions/get-my-access.function.js +13 -0
  83. package/dist/src/functions/get-my-access.function.js.map +1 -0
  84. package/dist/src/functions/get-openapi-categories.function.d.ts +2 -0
  85. package/dist/src/functions/get-openapi-categories.function.d.ts.map +1 -0
  86. package/dist/src/functions/get-openapi-categories.function.js +10 -0
  87. package/dist/src/functions/get-openapi-categories.function.js.map +1 -0
  88. package/dist/src/functions/get-openapis.function.d.ts +3 -0
  89. package/dist/src/functions/get-openapis.function.d.ts.map +1 -1
  90. package/dist/src/functions/get-openapis.function.js +3 -3
  91. package/dist/src/functions/get-openapis.function.js.map +1 -1
  92. package/dist/src/scopes.js +33 -1
  93. package/dist/src/scopes.js.map +1 -1
  94. package/dist/src/services/addon.service.d.ts +24 -1
  95. package/dist/src/services/addon.service.d.ts.map +1 -1
  96. package/dist/src/services/addon.service.js +55 -3
  97. package/dist/src/services/addon.service.js.map +1 -1
  98. package/dist/src/services/addon.service.test.js +142 -4
  99. package/dist/src/services/addon.service.test.js.map +1 -1
  100. package/dist/src/services.d.ts.map +1 -1
  101. package/dist/src/services.js +2 -1
  102. package/dist/src/services.js.map +1 -1
  103. package/package.json +11 -4
@@ -0,0 +1,13 @@
1
+ import { pikkuFunc } from '#pikku';
2
+ export const getMyAccess = pikkuFunc({
3
+ title: 'Get My Access',
4
+ description: "Returns the caller's own user id and the scopes their session carries, so a UI can decide what to render.",
5
+ expose: true,
6
+ func: async (_services, _data, { session }) => {
7
+ return {
8
+ userId: session?.userId ?? '',
9
+ scopes: session?.scopes ?? [],
10
+ };
11
+ },
12
+ });
13
+ //# sourceMappingURL=get-my-access.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-my-access.function.js","sourceRoot":"","sources":["../../../src/functions/get-my-access.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAGlC;IACA,KAAK,EAAE,eAAe;IACtB,WAAW,EACT,2GAA2G;IAC7G,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5C,OAAO;YACL,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE;YAC7B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE;SAC9B,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const getOpenapiCategories: import("#pikku").PikkuFunctionConfig<null, Record<string, number>, "rpc" | "session", import("#pikku").PikkuFunction<null, Record<string, number>, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunctionSessionless<null, Record<string, number>, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
2
+ //# sourceMappingURL=get-openapi-categories.function.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-openapi-categories.function.d.ts","sourceRoot":"","sources":["../../../src/functions/get-openapi-categories.function.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,2VAQ/B,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { pikkuFunc } from '#pikku';
2
+ export const getOpenapiCategories = pikkuFunc({
3
+ title: 'Get OpenAPI Categories',
4
+ description: 'Category counts across the whole OpenAPI catalogue, for the gallery category rail. Counted by the registry rather than derived from the loaded rows, which would only ever describe the pages already scrolled past.',
5
+ expose: true,
6
+ func: async ({ addonService }) => {
7
+ return addonService.readOpenapiCategories();
8
+ },
9
+ });
10
+ //# sourceMappingURL=get-openapi-categories.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-openapi-categories.function.js","sourceRoot":"","sources":["../../../src/functions/get-openapi-categories.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAA+B;IAC1E,KAAK,EAAE,wBAAwB;IAC/B,WAAW,EACT,sNAAsN;IACxN,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;QAC/B,OAAO,YAAY,CAAC,qBAAqB,EAAE,CAAA;IAC7C,CAAC;CACF,CAAC,CAAA"}
@@ -2,6 +2,7 @@ export declare const getOpenapis: import("#pikku").PikkuFunctionConfig<{
2
2
  limit: number;
3
3
  offset: number;
4
4
  search?: string;
5
+ category?: string;
5
6
  }, {
6
7
  apis: Array<{
7
8
  name: string;
@@ -20,6 +21,7 @@ export declare const getOpenapis: import("#pikku").PikkuFunctionConfig<{
20
21
  limit: number;
21
22
  offset: number;
22
23
  search?: string;
24
+ category?: string;
23
25
  }, {
24
26
  apis: Array<{
25
27
  name: string;
@@ -38,6 +40,7 @@ export declare const getOpenapis: import("#pikku").PikkuFunctionConfig<{
38
40
  limit: number;
39
41
  offset: number;
40
42
  search?: string;
43
+ category?: string;
41
44
  }, {
42
45
  apis: Array<{
43
46
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"get-openapis.function.d.ts","sourceRoot":"","sources":["../../../src/functions/get-openapis.function.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;WACb,MAAM;YAAU,MAAM;aAAW,MAAM;;UAExC,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAC;WACK,MAAM;gBACD,MAAM,GAAG,IAAI;;WAdlB,MAAM;YAAU,MAAM;aAAW,MAAM;;UAExC,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAC;WACK,MAAM;gBACD,MAAM,GAAG,IAAI;;WAdlB,MAAM;YAAU,MAAM;aAAW,MAAM;;UAExC,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAC;WACK,MAAM;gBACD,MAAM,GAAG,IAAI;4EAS3B,CAAA"}
1
+ {"version":3,"file":"get-openapis.function.d.ts","sourceRoot":"","sources":["../../../src/functions/get-openapis.function.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;WACb,MAAM;YAAU,MAAM;aAAW,MAAM;eAAa,MAAM;;UAE3D,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAC;WACK,MAAM;gBAED,MAAM,GAAG,IAAI;;WAflB,MAAM;YAAU,MAAM;aAAW,MAAM;eAAa,MAAM;;UAE3D,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAC;WACK,MAAM;gBAED,MAAM,GAAG,IAAI;;WAflB,MAAM;YAAU,MAAM;aAAW,MAAM;eAAa,MAAM;;UAE3D,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAC;WACK,MAAM;gBAED,MAAM,GAAG,IAAI;4EAU3B,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import { pikkuFunc } from '#pikku';
2
2
  export const getOpenapis = pikkuFunc({
3
3
  title: 'Get OpenAPI Specs',
4
- description: 'Fetches available OpenAPI specs from the fabric registry.',
4
+ description: 'Fetches one page of the OpenAPI catalogue from the fabric registry. Search and category are applied by the registry so they cover every entry, not just the loaded pages.',
5
5
  expose: true,
6
- func: async ({ addonService }, { limit, offset, search }) => {
7
- return addonService.readOpenapis({ limit, offset, search });
6
+ func: async ({ addonService }, { limit, offset, search, category }) => {
7
+ return addonService.readOpenapis({ limit, offset, search, category });
8
8
  },
9
9
  });
10
10
  //# sourceMappingURL=get-openapis.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-openapis.function.js","sourceRoot":"","sources":["../../../src/functions/get-openapis.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAiBlC;IACA,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,2DAA2D;IACxE,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1D,OAAO,YAAY,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7D,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"get-openapis.function.js","sourceRoot":"","sources":["../../../src/functions/get-openapis.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAkBlC;IACA,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EACT,2KAA2K;IAC7K,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QACpE,OAAO,YAAY,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IACvE,CAAC;CACF,CAAC,CAAA"}
@@ -1,13 +1,45 @@
1
1
  import { wireScope } from '#pikku';
2
2
  /**
3
- * Scopes the console's own authorization management requires.
3
+ * Scopes the console's own authorization management requires, plus the `admin`
4
+ * tree the framework's own gates check.
4
5
  *
5
6
  * Self-hosting: the functions that grant scopes are themselves scoped, so
6
7
  * handing someone the console does not hand them the ability to grant
7
8
  * themselves anything. These flow into the host's ScopeId union and declared
8
9
  * set when the addon is wired, so a host role can grant them.
10
+ *
11
+ * The `admin` tree mirrors `ADMIN_SCOPE_TREE` in `@pikku/better-auth` — it is
12
+ * spelled out inline because `wireScope` is extracted by AST, so an imported
13
+ * constant cannot be spread here. Keep the two in sync: pikku requires every
14
+ * declaration of a shared scope root to be byte-identical, so this must match
15
+ * the `scaffold.userAdmin` output too, including the leaves whose capabilities
16
+ * only exist once better-auth's admin() plugin is wired.
9
17
  */
10
18
  wireScope({
19
+ admin: {
20
+ displayName: 'Administration',
21
+ description: 'Capabilities that act on the application as a whole',
22
+ scopes: {
23
+ impersonate: { description: 'Act as another user' },
24
+ credentials: {
25
+ description: 'Application-wide credentials',
26
+ scopes: {
27
+ link: { description: 'Bind a shared credential for every user' },
28
+ },
29
+ },
30
+ users: {
31
+ description: 'The user directory',
32
+ scopes: {
33
+ list: { description: 'List and search users' },
34
+ create: { description: 'Create users out of band' },
35
+ ban: { description: 'Ban and unban users' },
36
+ remove: { description: 'Delete users and all their data' },
37
+ sessions: { description: "Revoke a user's sessions" },
38
+ password: { description: "Set a user's password" },
39
+ },
40
+ },
41
+ },
42
+ },
11
43
  pikku: {
12
44
  displayName: 'Pikku Console',
13
45
  description: "The console's own administrative capabilities",
@@ -1 +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"}
1
+ {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/scopes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC;;;;;;;;;;;;;;;GAeG;AACH,SAAS,CAAC;IACR,KAAK,EAAE;QACL,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,qDAAqD;QAClE,MAAM,EAAE;YACN,WAAW,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE;YACnD,WAAW,EAAE;gBACX,WAAW,EAAE,8BAA8B;gBAC3C,MAAM,EAAE;oBACN,IAAI,EAAE,EAAE,WAAW,EAAE,yCAAyC,EAAE;iBACjE;aACF;YACD,KAAK,EAAE;gBACL,WAAW,EAAE,oBAAoB;gBACjC,MAAM,EAAE;oBACN,IAAI,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE;oBAC9C,MAAM,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE;oBACnD,GAAG,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE;oBAC3C,MAAM,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE;oBAC1D,QAAQ,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE;oBACrD,QAAQ,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE;iBACnD;aACF;SACF;KACF;IACD,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"}
@@ -57,6 +57,12 @@ export interface OpenApiListResult {
57
57
  total: number;
58
58
  nextCursor: number | null;
59
59
  }
60
+ /** One page of the addon catalogue, as the registry returns it. */
61
+ export interface AddonMetaPage {
62
+ packages: AddonMeta[];
63
+ total: number;
64
+ nextCursor: number | null;
65
+ }
60
66
  export interface OpenApiDetail extends OpenApiSummary {
61
67
  swaggerYamlUrl?: string;
62
68
  categories: string[];
@@ -64,17 +70,34 @@ export interface OpenApiDetail extends OpenApiSummary {
64
70
  added?: string;
65
71
  updated?: string;
66
72
  }
73
+ export interface AddonMetaQuery {
74
+ cursor?: number;
75
+ limit?: number;
76
+ /** Free-text search. Applied by the registry, across the whole catalogue. */
77
+ search?: string;
78
+ category?: string;
79
+ sort?: 'name' | 'functions' | 'agents';
80
+ /** First-party @pikku/addon-* packages only. */
81
+ official?: boolean;
82
+ /** Comma-separated package names — the gallery's "Installed" filter. */
83
+ names?: string;
84
+ }
67
85
  export declare class AddonService {
68
86
  private fabricApiUrl;
69
87
  constructor(fabricApiUrl: string);
70
- readAddonsMeta(): Promise<AddonMeta[]>;
88
+ readAddonsMeta(query?: AddonMetaQuery): Promise<AddonMetaPage>;
89
+ /** Catalogue-wide category counts, for the gallery's category rail. */
90
+ readAddonCategories(): Promise<Record<string, number>>;
71
91
  readAddon(id: string): Promise<AddonDetail | null>;
72
92
  /** Browse the fabric registry's OpenAPI catalogue (apis.guru + published). */
73
93
  readOpenapis(opts: {
74
94
  limit: number;
75
95
  offset: number;
76
96
  search?: string;
97
+ category?: string;
77
98
  }): Promise<OpenApiListResult>;
99
+ /** Catalogue-wide category counts for the OpenAPI gallery's category rail. */
100
+ readOpenapiCategories(): Promise<Record<string, number>>;
78
101
  /** Fetch one OpenAPI catalogue entry by name (returns null when absent). */
79
102
  readOpenapiDetail(name: string): Promise<OpenApiDetail | null>;
80
103
  init(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"addon.service.d.ts","sourceRoot":"","sources":["../../../src/services/addon.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addon.service.d.ts","sourceRoot":"","sources":["../../../src/services/addon.service.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,49 @@ export class AddonService {
2
2
  constructor(fabricApiUrl) {
3
3
  this.fabricApiUrl = fabricApiUrl;
4
4
  }
5
- async readAddonsMeta() {
6
- const response = await fetch(`${this.fabricApiUrl}/registry/packages?limit=500`);
5
+ async readAddonsMeta(query = {}) {
6
+ const params = new URLSearchParams();
7
+ if (query.cursor != null)
8
+ params.set('cursor', String(query.cursor));
9
+ params.set('limit', String(query.limit ?? 50));
10
+ // The registry calls the free-text param `query`; the console calls it
11
+ // `search` everywhere, so the rename happens here rather than in the UI.
12
+ if (query.search)
13
+ params.set('query', query.search);
14
+ if (query.category)
15
+ params.set('category', query.category);
16
+ if (query.sort)
17
+ params.set('sort', query.sort);
18
+ if (query.official)
19
+ params.set('official', 'true');
20
+ // Sent even when empty: an empty name list means "nothing installed", which
21
+ // must return nothing rather than falling back to the whole catalogue.
22
+ if (query.names != null)
23
+ params.set('names', query.names);
24
+ const response = await fetch(`${this.fabricApiUrl}/registry/packages?${params}`);
7
25
  if (!response.ok) {
8
26
  throw new Error(`Registry returned ${response.status}`);
9
27
  }
10
28
  const result = await response.json();
11
- return result.packages ?? [];
29
+ return {
30
+ packages: result.packages ?? [],
31
+ total: result.total ?? 0,
32
+ nextCursor: result.nextCursor ?? null,
33
+ };
34
+ }
35
+ /** Catalogue-wide category counts, for the gallery's category rail. */
36
+ async readAddonCategories() {
37
+ const response = await fetch(`${this.fabricApiUrl}/registry/packages/categories`);
38
+ if (!response.ok) {
39
+ throw new Error(`Registry returned ${response.status}`);
40
+ }
41
+ // A registry without this route matches `/registry/packages/:id` instead and
42
+ // answers 204 with no body. The rail is decoration — degrade to no counts
43
+ // rather than taking the whole catalogue down with a parse error.
44
+ const text = await response.text();
45
+ if (!text)
46
+ return {};
47
+ return JSON.parse(text);
12
48
  }
13
49
  async readAddon(id) {
14
50
  const response = await fetch(`${this.fabricApiUrl}/registry/packages/${encodeURIComponent(id)}`);
@@ -27,12 +63,28 @@ export class AddonService {
27
63
  });
28
64
  if (opts.search)
29
65
  params.set('query', opts.search);
66
+ if (opts.category)
67
+ params.set('category', opts.category);
30
68
  const response = await fetch(`${this.fabricApiUrl}/registry/openapis?${params.toString()}`);
31
69
  if (!response.ok) {
32
70
  throw new Error(`Registry returned ${response.status}`);
33
71
  }
34
72
  return response.json();
35
73
  }
74
+ /** Catalogue-wide category counts for the OpenAPI gallery's category rail. */
75
+ async readOpenapiCategories() {
76
+ const response = await fetch(`${this.fabricApiUrl}/registry/openapis/categories`);
77
+ if (!response.ok) {
78
+ throw new Error(`Registry returned ${response.status}`);
79
+ }
80
+ // A registry without this route matches `/registry/openapis/:name` instead
81
+ // and answers 204 with no body. The rail is decoration — degrade to no
82
+ // counts rather than failing the catalogue on a parse error.
83
+ const text = await response.text();
84
+ if (!text)
85
+ return {};
86
+ return JSON.parse(text);
87
+ }
36
88
  /** Fetch one OpenAPI catalogue entry by name (returns null when absent). */
37
89
  async readOpenapiDetail(name) {
38
90
  const response = await fetch(`${this.fabricApiUrl}/registry/openapis/${encodeURIComponent(name)}`);
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"addon.service.js","sourceRoot":"","sources":["../../../src/services/addon.service.ts"],"names":[],"mappings":"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"}
@@ -23,13 +23,129 @@ describe('AddonService', () => {
23
23
  };
24
24
  });
25
25
  };
26
+ // A registry without the categories route matches the by-id/by-name route
27
+ // instead, which answers 204 with no body at all.
28
+ const mockNoContent = () => {
29
+ globalThis.fetch = (async (url) => {
30
+ calls.push(String(url));
31
+ return {
32
+ ok: true,
33
+ status: 204,
34
+ json: async () => {
35
+ throw new SyntaxError('Unexpected end of JSON input');
36
+ },
37
+ text: async () => '',
38
+ };
39
+ });
40
+ };
26
41
  test('readAddonsMeta queries the fabric registry packages endpoint', async () => {
27
- mockFetch({ packages: [{ id: 'a' }] });
42
+ mockFetch({ packages: [{ id: 'a' }], total: 12, nextCursor: 50 });
28
43
  const service = new AddonService(FABRIC);
29
44
  const result = await service.readAddonsMeta();
30
45
  assert.equal(calls.length, 1);
31
46
  assert.ok(calls[0].startsWith(`${FABRIC}/registry/packages`), `expected fabric /registry/packages, got ${calls[0]}`);
32
- assert.deepEqual(result, [{ id: 'a' }]);
47
+ assert.deepEqual(result, {
48
+ packages: [{ id: 'a' }],
49
+ total: 12,
50
+ nextCursor: 50,
51
+ });
52
+ });
53
+ test('readAddonsMeta defaults the page size and omits an absent cursor', async () => {
54
+ mockFetch({ packages: [] });
55
+ const service = new AddonService(FABRIC);
56
+ const result = await service.readAddonsMeta();
57
+ const params = new URL(calls[0]).searchParams;
58
+ assert.equal(params.get('limit'), '50');
59
+ assert.equal(params.get('cursor'), null);
60
+ // A registry that answers without paging fields still has to produce a
61
+ // well-formed page, or the console's cursor walk never terminates.
62
+ assert.deepEqual(result, { packages: [], total: 0, nextCursor: null });
63
+ });
64
+ test('readAddonsMeta forwards the cursor and limit it is given', async () => {
65
+ mockFetch({ packages: [], total: 0, nextCursor: null });
66
+ const service = new AddonService(FABRIC);
67
+ await service.readAddonsMeta({ cursor: 250, limit: 250 });
68
+ const params = new URL(calls[0]).searchParams;
69
+ assert.equal(params.get('cursor'), '250');
70
+ assert.equal(params.get('limit'), '250');
71
+ });
72
+ test('readAddonsMeta forwards search, category, sort and official to the registry', async () => {
73
+ mockFetch({ packages: [], total: 0, nextCursor: null });
74
+ const service = new AddonService(FABRIC);
75
+ await service.readAddonsMeta({
76
+ search: 'slack',
77
+ category: 'messaging',
78
+ sort: 'functions',
79
+ official: true,
80
+ });
81
+ const params = new URL(calls[0]).searchParams;
82
+ // The registry calls free-text `query`, the console calls it `search`.
83
+ assert.equal(params.get('query'), 'slack');
84
+ assert.equal(params.get('search'), null);
85
+ assert.equal(params.get('category'), 'messaging');
86
+ assert.equal(params.get('sort'), 'functions');
87
+ assert.equal(params.get('official'), 'true');
88
+ });
89
+ test('readAddonsMeta omits the filters it was not given', async () => {
90
+ mockFetch({ packages: [], total: 0, nextCursor: null });
91
+ const service = new AddonService(FABRIC);
92
+ await service.readAddonsMeta({ official: false });
93
+ const params = new URL(calls[0]).searchParams;
94
+ assert.equal(params.get('query'), null);
95
+ assert.equal(params.get('category'), null);
96
+ assert.equal(params.get('sort'), null);
97
+ assert.equal(params.get('official'), null);
98
+ assert.equal(params.get('names'), null);
99
+ });
100
+ test('readAddonsMeta sends an empty names list rather than dropping it', async () => {
101
+ mockFetch({ packages: [], total: 0, nextCursor: null });
102
+ const service = new AddonService(FABRIC);
103
+ await service.readAddonsMeta({ names: '' });
104
+ const params = new URL(calls[0]).searchParams;
105
+ // Dropping it would make "Installed" with nothing installed fall back to
106
+ // the whole catalogue.
107
+ assert.equal(params.get('names'), '');
108
+ });
109
+ test('readAddonsMeta forwards a populated names list', async () => {
110
+ mockFetch({ packages: [], total: 0, nextCursor: null });
111
+ const service = new AddonService(FABRIC);
112
+ await service.readAddonsMeta({ names: '@pikku/addon-slack,@acme/addon-x' });
113
+ const params = new URL(calls[0]).searchParams;
114
+ assert.equal(params.get('names'), '@pikku/addon-slack,@acme/addon-x');
115
+ });
116
+ test('readAddonCategories queries the catalogue-wide categories endpoint', async () => {
117
+ mockFetch({ messaging: 12, storage: 3 });
118
+ const service = new AddonService(FABRIC);
119
+ const result = await service.readAddonCategories();
120
+ assert.equal(calls[0], `${FABRIC}/registry/packages/categories`);
121
+ assert.deepEqual(result, { messaging: 12, storage: 3 });
122
+ });
123
+ test('readAddonCategories degrades to no counts on an empty 204 body', async () => {
124
+ mockNoContent();
125
+ const service = new AddonService(FABRIC);
126
+ assert.deepEqual(await service.readAddonCategories(), {});
127
+ });
128
+ test('readAddonCategories throws when the registry errors', async () => {
129
+ mockFetch({}, false);
130
+ const service = new AddonService(FABRIC);
131
+ await assert.rejects(() => service.readAddonCategories(), /Registry returned 500/);
132
+ });
133
+ test('readOpenapiCategories queries the catalogue-wide categories endpoint', async () => {
134
+ mockFetch({ payments: 7 });
135
+ const service = new AddonService(FABRIC);
136
+ const result = await service.readOpenapiCategories();
137
+ assert.equal(calls[0], `${FABRIC}/registry/openapis/categories`);
138
+ assert.deepEqual(result, { payments: 7 });
139
+ });
140
+ test('readOpenapiCategories degrades to no counts on an empty 204 body', async () => {
141
+ mockNoContent();
142
+ const service = new AddonService(FABRIC);
143
+ assert.deepEqual(await service.readOpenapiCategories(), {});
144
+ });
145
+ test('readOpenapiCategories throws when the registry errors', async () => {
146
+ mockFetch({}, false);
147
+ const service = new AddonService(FABRIC);
148
+ await assert.rejects(() => service.readOpenapiCategories(), /Registry returned 500/);
33
149
  });
34
150
  test('readAddon queries the fabric registry package-by-id endpoint', async () => {
35
151
  mockFetch({ id: 'pkg-1', name: '@x/y' });
@@ -42,11 +158,33 @@ describe('AddonService', () => {
42
158
  test('readOpenapis queries the fabric registry openapis endpoint', async () => {
43
159
  mockFetch({ apis: [{ name: 'stripe' }], total: 1, nextCursor: null });
44
160
  const service = new AddonService(FABRIC);
45
- const result = await service.readOpenapis({ limit: 50, offset: 0, search: 'stripe' });
161
+ const result = await service.readOpenapis({
162
+ limit: 50,
163
+ offset: 0,
164
+ search: 'stripe',
165
+ });
46
166
  assert.equal(calls.length, 1);
47
167
  assert.ok(calls[0].startsWith(`${FABRIC}/registry/openapis`), `expected fabric /registry/openapis, got ${calls[0]}`);
48
168
  assert.ok(calls[0].includes('query=stripe'), `expected query param, got ${calls[0]}`);
49
- assert.deepEqual(result, { apis: [{ name: 'stripe' }], total: 1, nextCursor: null });
169
+ assert.deepEqual(result, {
170
+ apis: [{ name: 'stripe' }],
171
+ total: 1,
172
+ nextCursor: null,
173
+ });
174
+ });
175
+ test('readOpenapis forwards the category and paging window', async () => {
176
+ mockFetch({ apis: [], total: 0, nextCursor: null });
177
+ const service = new AddonService(FABRIC);
178
+ await service.readOpenapis({
179
+ limit: 50,
180
+ offset: 100,
181
+ category: 'payments',
182
+ });
183
+ const params = new URL(calls[0]).searchParams;
184
+ assert.equal(params.get('category'), 'payments');
185
+ assert.equal(params.get('limit'), '50');
186
+ assert.equal(params.get('offset'), '100');
187
+ assert.equal(params.get('query'), null);
50
188
  });
51
189
  test('readOpenapiDetail queries the fabric registry openapi-by-name endpoint', async () => {
52
190
  mockFetch({ name: 'stripe', title: 'Stripe' });
@@ -1 +1 @@
1
- {"version":3,"file":"addon.service.test.js","sourceRoot":"","sources":["../../../src/services/addon.service.test.ts"],"names":[],"mappings":"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"}
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":"AAQA,eAAO,MAAM,uBAAuB,0MA4EnC,CAAA"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,uBAAuB,0MA8EnC,CAAA"}
@@ -4,7 +4,7 @@ import { AddonService } from './services/addon.service.js';
4
4
  import { StateDiffService } from './services/state-diff.service.js';
5
5
  import { DbSchemaService } from './services/db-schema.service.js';
6
6
  import { findProjectRoot } from './lib/find-project-root.js';
7
- export const createSingletonServices = pikkuAddonServices(async (_config, { variables, metaService: existingMetaService, aiAgentRunner, schedulerService, agentRunService, workflowService, workflowRunService, aiStorage, aiRunState, deploymentService, credentialService, coverageService, scopeService, webhookService, }) => {
7
+ export const createSingletonServices = pikkuAddonServices(async (_config, { variables, metaService: existingMetaService, aiAgentRunner, schedulerService, agentRunService, workflowService, workflowRunService, aiStorage, aiRunState, deploymentService, credentialService, coverageService, scopeService, webhookService, auth, }) => {
8
8
  if (!existingMetaService) {
9
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');
10
10
  }
@@ -54,6 +54,7 @@ export const createSingletonServices = pikkuAddonServices(async (_config, { vari
54
54
  codeEditService,
55
55
  stateDiffService,
56
56
  dbSchemaService,
57
+ auth,
57
58
  };
58
59
  });
59
60
  //# sourceMappingURL=services.js.map
@@ -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;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"}
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,EACd,IAAI,GACL,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;QACf,IAAI;KACL,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.28",
3
+ "version": "0.12.30",
4
4
  "type": "module",
5
5
  "imports": {
6
6
  "#pikku": {
@@ -38,11 +38,18 @@
38
38
  "test:coverage": "bash run-tests.sh --coverage"
39
39
  },
40
40
  "peerDependencies": {
41
- "@pikku/core": "^0.12.66"
41
+ "@pikku/better-auth": "^0.12.19",
42
+ "@pikku/core": "^0.12.68"
43
+ },
44
+ "peerDependenciesMeta": {
45
+ "@pikku/better-auth": {
46
+ "optional": true
47
+ }
42
48
  },
43
49
  "devDependencies": {
44
- "@pikku/cli": "^0.12.85",
45
- "@pikku/core": "^0.12.66",
50
+ "@pikku/better-auth": "^0.12.19",
51
+ "@pikku/cli": "^0.12.87",
52
+ "@pikku/core": "^0.12.68",
46
53
  "oauth2-mock-server": "^7.1.1",
47
54
  "typescript": "^6.0.3"
48
55
  },