@pikku/addon-console 0.12.29 → 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 (85) 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 +1 -1
  4. package/dist/.pikku/agent/pikku-agent-map.gen.d.ts +1 -1
  5. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
  6. package/dist/.pikku/auth/auth.types.d.ts +1 -1
  7. package/dist/.pikku/auth/auth.types.js +1 -1
  8. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  9. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  10. package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
  11. package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
  12. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  13. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  14. package/dist/.pikku/function/pikku-functions-meta.gen.json +61 -11
  15. package/dist/.pikku/function/pikku-functions.gen.js +5 -1
  16. package/dist/.pikku/function/pikku-functions.gen.js.map +1 -1
  17. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  18. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  19. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  20. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  21. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  22. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  23. package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
  24. package/dist/.pikku/pikku-meta-service.gen.js +1 -1
  25. package/dist/.pikku/pikku-services.gen.d.ts +1 -1
  26. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  27. package/dist/.pikku/pikku-types.gen.js +1 -1
  28. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  29. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  30. package/dist/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +8 -5
  31. package/dist/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +8 -5
  32. package/dist/.pikku/rpc/pikku-rpc-wirings-map.remote.gen.d.ts +4 -4
  33. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  34. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +2 -0
  35. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  36. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  37. package/dist/.pikku/schemas/register.gen.js +9 -3
  38. package/dist/.pikku/schemas/register.gen.js.map +1 -1
  39. package/dist/.pikku/schemas/schemas/AddonMetaPage.schema.json +1 -0
  40. package/dist/.pikku/schemas/schemas/AddonMetaQuery.schema.json +1 -0
  41. package/dist/.pikku/schemas/schemas/GetAddonCategoriesOutput.schema.json +1 -0
  42. package/dist/.pikku/schemas/schemas/GetOpenapiCategoriesOutput.schema.json +1 -0
  43. package/dist/.pikku/schemas/schemas/GetOpenapisInput.schema.json +1 -1
  44. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +1 -1
  45. package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -1
  46. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
  47. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  48. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  49. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  50. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  51. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  52. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  53. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  54. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  55. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  56. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  57. package/dist/.pikku/workflow/pikku-workflow-map.gen.d.ts +1 -1
  58. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  59. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  60. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  61. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  62. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  63. package/dist/src/functions/get-addon-categories.function.d.ts +2 -0
  64. package/dist/src/functions/get-addon-categories.function.d.ts.map +1 -0
  65. package/dist/src/functions/get-addon-categories.function.js +10 -0
  66. package/dist/src/functions/get-addon-categories.function.js.map +1 -0
  67. package/dist/src/functions/get-addon-meta.function.d.ts +2 -1
  68. package/dist/src/functions/get-addon-meta.function.d.ts.map +1 -1
  69. package/dist/src/functions/get-addon-meta.function.js +3 -3
  70. package/dist/src/functions/get-addon-meta.function.js.map +1 -1
  71. package/dist/src/functions/get-openapi-categories.function.d.ts +2 -0
  72. package/dist/src/functions/get-openapi-categories.function.d.ts.map +1 -0
  73. package/dist/src/functions/get-openapi-categories.function.js +10 -0
  74. package/dist/src/functions/get-openapi-categories.function.js.map +1 -0
  75. package/dist/src/functions/get-openapis.function.d.ts +3 -0
  76. package/dist/src/functions/get-openapis.function.d.ts.map +1 -1
  77. package/dist/src/functions/get-openapis.function.js +3 -3
  78. package/dist/src/functions/get-openapis.function.js.map +1 -1
  79. package/dist/src/services/addon.service.d.ts +24 -1
  80. package/dist/src/services/addon.service.d.ts.map +1 -1
  81. package/dist/src/services/addon.service.js +55 -3
  82. package/dist/src/services/addon.service.js.map +1 -1
  83. package/dist/src/services/addon.service.test.js +142 -4
  84. package/dist/src/services/addon.service.test.js.map +1 -1
  85. package/package.json +4 -4
@@ -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":"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,0EAA0E;IAC1E,kDAAkD;IAClD,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,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,EAAE,IAAI;gBACR,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,KAAK,IAAI,EAAE;oBACf,MAAM,IAAI,WAAW,CAAC,8BAA8B,CAAC,CAAA;gBACvD,CAAC;gBACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;aACE,CAAA;QAC1B,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,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;QACjE,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;YACvB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;YACvB,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;SACf,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAClF,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;QAC3B,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;QAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;QACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;QACxC,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QAC1E,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;QACzD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;QAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAA;QACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC7F,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,OAAO,CAAC,cAAc,CAAC;YAC3B,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;QAC7C,uEAAuE;QACvE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;QAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;QACxC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAA;QAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACnE,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;QACjD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;QAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;QACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAA;QAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;QACtC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAA;QAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAClF,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;QAC7C,yEAAyE;QACzE,uBAAuB;QACvB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAChE,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAA;QAC3E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;QAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,kCAAkC,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QACpF,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;QACxC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAA;QAClD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,+BAA+B,CAAC,CAAA;QAChE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAChF,aAAa,EAAE,CAAA;QACf,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,CAAC,SAAS,CAAC,MAAM,OAAO,CAAC,mBAAmB,EAAE,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACrE,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACpB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,EACnC,uBAAuB,CACxB,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACtF,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,qBAAqB,EAAE,CAAA;QACpD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,+BAA+B,CAAC,CAAA;QAChE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAClF,aAAa,EAAE,CAAA;QACf,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,CAAC,SAAS,CAAC,MAAM,OAAO,CAAC,qBAAqB,EAAE,EAAE,EAAE,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACvE,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACpB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,EACrC,uBAAuB,CACxB,CAAA;IACH,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;IAEF,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC5E,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QACrE,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;YACxC,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAA;QACF,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,EAAE,CACP,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EACjC,6BAA6B,KAAK,CAAC,CAAC,CAAC,EAAE,CACxC,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE;YACvB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC1B,KAAK,EAAE,CAAC;YACR,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACtE,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QACnD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;QAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAA;QAChD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;QACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAA;QACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACxF,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QACxD,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,2BAA2B,CAAC,EACzD,iDAAiD,KAAK,CAAC,CAAC,CAAC,EAAE,CAC5D,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pikku/addon-console",
3
- "version": "0.12.29",
3
+ "version": "0.12.30",
4
4
  "type": "module",
5
5
  "imports": {
6
6
  "#pikku": {
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@pikku/better-auth": "^0.12.19",
42
- "@pikku/core": "^0.12.67"
42
+ "@pikku/core": "^0.12.68"
43
43
  },
44
44
  "peerDependenciesMeta": {
45
45
  "@pikku/better-auth": {
@@ -48,8 +48,8 @@
48
48
  },
49
49
  "devDependencies": {
50
50
  "@pikku/better-auth": "^0.12.19",
51
- "@pikku/cli": "^0.12.86",
52
- "@pikku/core": "^0.12.67",
51
+ "@pikku/cli": "^0.12.87",
52
+ "@pikku/core": "^0.12.68",
53
53
  "oauth2-mock-server": "^7.1.1",
54
54
  "typescript": "^6.0.3"
55
55
  },