@apify/actors-mcp-server 0.14.4-beta.1 → 0.14.4-beta.3

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 (58) hide show
  1. package/dist/apify_client.d.ts.map +1 -1
  2. package/dist/apify_client.js +3 -2
  3. package/dist/apify_client.js.map +1 -1
  4. package/dist/index_internals_test_kit.d.ts +11 -0
  5. package/dist/index_internals_test_kit.d.ts.map +1 -0
  6. package/dist/index_internals_test_kit.js +15 -0
  7. package/dist/index_internals_test_kit.js.map +1 -0
  8. package/dist/test_kit/cases/actors.cases.d.ts +4 -0
  9. package/dist/test_kit/cases/actors.cases.d.ts.map +1 -0
  10. package/dist/test_kit/cases/actors.cases.js +911 -0
  11. package/dist/test_kit/cases/actors.cases.js.map +1 -0
  12. package/dist/test_kit/cases/apps.cases.d.ts +4 -0
  13. package/dist/test_kit/cases/apps.cases.d.ts.map +1 -0
  14. package/dist/test_kit/cases/apps.cases.js +111 -0
  15. package/dist/test_kit/cases/apps.cases.js.map +1 -0
  16. package/dist/test_kit/cases/payments.cases.d.ts +4 -0
  17. package/dist/test_kit/cases/payments.cases.d.ts.map +1 -0
  18. package/dist/test_kit/cases/payments.cases.js +207 -0
  19. package/dist/test_kit/cases/payments.cases.js.map +1 -0
  20. package/dist/test_kit/cases/registration.cases.d.ts +4 -0
  21. package/dist/test_kit/cases/registration.cases.d.ts.map +1 -0
  22. package/dist/test_kit/cases/registration.cases.js +431 -0
  23. package/dist/test_kit/cases/registration.cases.js.map +1 -0
  24. package/dist/test_kit/cases/storage.cases.d.ts +4 -0
  25. package/dist/test_kit/cases/storage.cases.d.ts.map +1 -0
  26. package/dist/test_kit/cases/storage.cases.js +378 -0
  27. package/dist/test_kit/cases/storage.cases.js.map +1 -0
  28. package/dist/test_kit/cases/tasks.cases.d.ts +4 -0
  29. package/dist/test_kit/cases/tasks.cases.d.ts.map +1 -0
  30. package/dist/test_kit/cases/tasks.cases.js +320 -0
  31. package/dist/test_kit/cases/tasks.cases.js.map +1 -0
  32. package/dist/test_kit/cases/tools.cases.d.ts +4 -0
  33. package/dist/test_kit/cases/tools.cases.d.ts.map +1 -0
  34. package/dist/test_kit/cases/tools.cases.js +204 -0
  35. package/dist/test_kit/cases/tools.cases.js.map +1 -0
  36. package/dist/test_kit/helpers.d.ts +69 -0
  37. package/dist/test_kit/helpers.d.ts.map +1 -0
  38. package/dist/test_kit/helpers.js +223 -0
  39. package/dist/test_kit/helpers.js.map +1 -0
  40. package/dist/test_kit/index.d.ts +20 -0
  41. package/dist/test_kit/index.d.ts.map +1 -0
  42. package/dist/test_kit/index.js +32 -0
  43. package/dist/test_kit/index.js.map +1 -0
  44. package/dist/test_kit/mcp_client.d.ts +31 -0
  45. package/dist/test_kit/mcp_client.d.ts.map +1 -0
  46. package/dist/test_kit/mcp_client.js +73 -0
  47. package/dist/test_kit/mcp_client.js.map +1 -0
  48. package/dist/test_kit/register.d.ts +9 -0
  49. package/dist/test_kit/register.d.ts.map +1 -0
  50. package/dist/test_kit/register.js +39 -0
  51. package/dist/test_kit/register.js.map +1 -0
  52. package/dist/test_kit/tsconfig.tsbuildinfo +1 -0
  53. package/dist/test_kit/types.d.ts +45 -0
  54. package/dist/test_kit/types.d.ts.map +1 -0
  55. package/dist/test_kit/types.js +2 -0
  56. package/dist/test_kit/types.js.map +1 -0
  57. package/dist/tsconfig.tsbuildinfo +1 -1
  58. package/package.json +19 -3
@@ -0,0 +1,378 @@
1
+ import { expect } from 'vitest';
2
+ import { actorNameToToolName } from '@apify/actors-mcp-server/internals.js';
3
+ import { actorRunOutputSchema, HELPER_TOOLS } from '@apify/actors-mcp-server/internals/test-kit.js';
4
+ import { ACTOR_NORMAL_MODE, expectNormalModeTestStructuredContent, expectUsageCostMeta, validateStructuredOutput, validateStructuredOutputForTool, withClient, } from '../helpers.js';
5
+ /** One seeded normal-mode run, shared via getFixture. */
6
+ const normalModeRunFixture = {
7
+ key: 'storage.normal-mode-run',
8
+ setup: async (ctx) => {
9
+ var _a, _b, _c, _d, _e, _f;
10
+ const setupClient = await ctx.createClientFn({ tools: ['actors', 'storage'] });
11
+ try {
12
+ const callResult = await setupClient.callTool({
13
+ name: HELPER_TOOLS.ACTOR_CALL,
14
+ arguments: { actor: ACTOR_NORMAL_MODE, input: { firstNumber: 1, secondNumber: 2 }, waitSecs: 45 },
15
+ });
16
+ const callStructured = callResult;
17
+ const sc = callStructured.structuredContent;
18
+ expect(sc === null || sc === void 0 ? void 0 : sc.runId).toBeDefined();
19
+ expect((_c = (_b = (_a = sc === null || sc === void 0 ? void 0 : sc.storages) === null || _a === void 0 ? void 0 : _a.datasets) === null || _b === void 0 ? void 0 : _b.default) === null || _c === void 0 ? void 0 : _c.id).toBeDefined();
20
+ expect((_f = (_e = (_d = sc === null || sc === void 0 ? void 0 : sc.storages) === null || _d === void 0 ? void 0 : _d.keyValueStores) === null || _e === void 0 ? void 0 : _e.default) === null || _f === void 0 ? void 0 : _f.id).toBeDefined();
21
+ return {
22
+ datasetId: sc.storages.datasets.default.id,
23
+ defaultKvId: sc.storages.keyValueStores.default.id,
24
+ runId: sc.runId,
25
+ };
26
+ }
27
+ finally {
28
+ await setupClient.close();
29
+ }
30
+ },
31
+ };
32
+ /** withClient + seeded normalModeRunFixture. */
33
+ function withNormalModeRun(clientOptions, testFn) {
34
+ return async (ctx) => {
35
+ const run = await ctx.getFixture(normalModeRunFixture);
36
+ const client = await ctx.createClientFn(clientOptions);
37
+ try {
38
+ await testFn(client, run);
39
+ }
40
+ finally {
41
+ await client.close();
42
+ }
43
+ };
44
+ }
45
+ /** Dataset/KV read tools. */
46
+ export const storageCases = [
47
+ {
48
+ name: 'rejects get-key-value-store-record when required keyValueStoreId is missing',
49
+ isDeploymentTest: false,
50
+ run: withClient({ tools: ['storage'] }, async (client) => {
51
+ await expect(client.callTool({ name: HELPER_TOOLS.KEY_VALUE_STORE_RECORD_GET, arguments: { recordKey: 'INPUT' } })).rejects.toThrow(/must have required property 'keyValueStoreId'/);
52
+ }),
53
+ },
54
+ {
55
+ name: 'calls normal-mode-test-actor, verifies canonical shape and dataset fields, and fetches via get-dataset-items',
56
+ isDeploymentTest: false,
57
+ run: withClient({ tools: ['actors', 'storage'] }, async (client) => {
58
+ var _a, _b, _c, _d, _e, _f, _g, _h;
59
+ const callResult = await client.callTool({
60
+ name: 'call-actor',
61
+ arguments: { actor: ACTOR_NORMAL_MODE, input: { firstNumber: 1, secondNumber: 2 } },
62
+ });
63
+ // content[0] mirrors structuredContent as JSON; content[1] is "${summary}\n${nextStep}".
64
+ const content = callResult.content;
65
+ expect(content.length).toBe(2);
66
+ const sc = callResult.structuredContent;
67
+ expect(sc === null || sc === void 0 ? void 0 : sc.status).toBe('SUCCEEDED');
68
+ const datasetId = (_c = (_b = (_a = sc === null || sc === void 0 ? void 0 : sc.storages) === null || _a === void 0 ? void 0 : _a.datasets) === null || _b === void 0 ? void 0 : _b.default) === null || _c === void 0 ? void 0 : _c.id;
69
+ expect(datasetId).toBeDefined();
70
+ // Dataset field paths surface in `storages.datasets.default.fields`.
71
+ const fields = (_g = (_f = (_e = (_d = sc === null || sc === void 0 ? void 0 : sc.storages) === null || _d === void 0 ? void 0 : _d.datasets) === null || _e === void 0 ? void 0 : _e.default) === null || _f === void 0 ? void 0 : _f.fields) !== null && _g !== void 0 ? _g : [];
72
+ expect(fields).toEqual(expect.arrayContaining(['firstNumber', 'secondNumber', 'sum']));
73
+ // #911/#894: collapse index-expanded fields to `math.fibonacci`.
74
+ expect(fields).toEqual(expect.arrayContaining(['math.fibonacci']));
75
+ expect(fields.some((f) => /\.\d+(\.|$)/.test(f))).toBe(false);
76
+ expect(new Set(fields).size).toBe(fields.length);
77
+ const outputResult = await client.callTool({
78
+ name: HELPER_TOOLS.DATASET_GET_ITEMS,
79
+ arguments: { datasetId: datasetId, fields: 'firstNumber,sum' },
80
+ });
81
+ const items = (_h = outputResult
82
+ .structuredContent) === null || _h === void 0 ? void 0 : _h.items;
83
+ expect(Array.isArray(items)).toBe(true);
84
+ expect(items.length).toBeGreaterThan(0);
85
+ expect(items[0]).toHaveProperty('firstNumber', 1);
86
+ expect(items[0]).toHaveProperty('sum', 3);
87
+ }),
88
+ },
89
+ {
90
+ name: 'calls apify/normal-mode-test-actor tool directly and retrieves sum via get-dataset-items',
91
+ isDeploymentTest: false,
92
+ run: withClient({ tools: ['storage'], actors: [ACTOR_NORMAL_MODE] }, async (client) => {
93
+ var _a, _b, _c, _d, _e, _f, _g, _h;
94
+ const result = await client.callTool({
95
+ name: actorNameToToolName(ACTOR_NORMAL_MODE),
96
+ // Max wait (45s) so the test does not flake on a slow run.
97
+ arguments: { firstNumber: 4, secondNumber: 6, waitSecs: 45 },
98
+ });
99
+ // content[0] mirrors structuredContent as JSON; content[1] is "${summary}\n${nextStep}".
100
+ const content = result.content;
101
+ expect(content.length).toBe(2);
102
+ // Direct actor tools return the canonical RunResponse shape — same as call-actor.
103
+ const normalModeToolName = actorNameToToolName(ACTOR_NORMAL_MODE);
104
+ validateStructuredOutput(result, actorRunOutputSchema, normalModeToolName);
105
+ const sc = result.structuredContent;
106
+ expect(sc === null || sc === void 0 ? void 0 : sc.status).toBe('SUCCEEDED');
107
+ const datasetId = (_c = (_b = (_a = sc === null || sc === void 0 ? void 0 : sc.storages) === null || _a === void 0 ? void 0 : _a.datasets) === null || _b === void 0 ? void 0 : _b.default) === null || _c === void 0 ? void 0 : _c.id;
108
+ expect(datasetId).toBeDefined();
109
+ // summary/nextStep must name datasetId + follow-up tool.
110
+ expect(content[1].text).toContain(datasetId);
111
+ expect(content[1].text).toContain(HELPER_TOOLS.DATASET_GET_ITEMS);
112
+ // Dataset field paths surface in `storages.datasets.default.fields`.
113
+ const fields = (_g = (_f = (_e = (_d = sc === null || sc === void 0 ? void 0 : sc.storages) === null || _d === void 0 ? void 0 : _d.datasets) === null || _e === void 0 ? void 0 : _e.default) === null || _f === void 0 ? void 0 : _f.fields) !== null && _g !== void 0 ? _g : [];
114
+ expect(fields).toEqual(expect.arrayContaining(['firstNumber', 'secondNumber', 'sum']));
115
+ const outputResult = await client.callTool({
116
+ name: HELPER_TOOLS.DATASET_GET_ITEMS,
117
+ arguments: { datasetId: datasetId, fields: 'sum' },
118
+ });
119
+ const items = (_h = outputResult
120
+ .structuredContent) === null || _h === void 0 ? void 0 : _h.items;
121
+ expect(Array.isArray(items)).toBe(true);
122
+ expect(items.length).toBeGreaterThan(0);
123
+ expect(items[0]).toHaveProperty('sum', 10);
124
+ validateStructuredOutputForTool(outputResult, HELPER_TOOLS.DATASET_GET_ITEMS, 'default');
125
+ }),
126
+ },
127
+ {
128
+ name: 'calls apify/normal-mode-test-actor tool directly and retrieves full dataset via get-dataset-items',
129
+ isDeploymentTest: false,
130
+ run: withClient({ tools: ['storage'], actors: [ACTOR_NORMAL_MODE] }, async (client) => {
131
+ var _a, _b, _c, _d, _e;
132
+ const selectedToolName = actorNameToToolName(ACTOR_NORMAL_MODE);
133
+ const input = { firstNumber: 5, secondNumber: 7 };
134
+ const result = await client.callTool({ name: selectedToolName, arguments: input });
135
+ const content = result.content;
136
+ expect(content.length).toBe(2);
137
+ // Direct actor tools return the canonical RunResponse shape — same as call-actor.
138
+ validateStructuredOutput(result, actorRunOutputSchema, selectedToolName);
139
+ expectNormalModeTestStructuredContent(result);
140
+ expectUsageCostMeta(result);
141
+ const datasetId = (_d = (_c = (_b = (_a = result.structuredContent) === null || _a === void 0 ? void 0 : _a.storages) === null || _b === void 0 ? void 0 : _b.datasets) === null || _c === void 0 ? void 0 : _c.default) === null || _d === void 0 ? void 0 : _d.id;
142
+ expect(datasetId).toBeDefined();
143
+ const outputResult = await client.callTool({
144
+ name: HELPER_TOOLS.DATASET_GET_ITEMS,
145
+ arguments: { datasetId: datasetId },
146
+ });
147
+ const items = (_e = outputResult
148
+ .structuredContent) === null || _e === void 0 ? void 0 : _e.items;
149
+ expect(Array.isArray(items)).toBe(true);
150
+ expect(items.length).toBe(1);
151
+ expect(items[0]).toHaveProperty('firstNumber', input.firstNumber);
152
+ expect(items[0]).toHaveProperty('secondNumber', input.secondNumber);
153
+ expect(items[0]).toHaveProperty('sum', input.firstNumber + input.secondNumber);
154
+ validateStructuredOutputForTool(outputResult, HELPER_TOOLS.DATASET_GET_ITEMS, 'default');
155
+ }),
156
+ },
157
+ {
158
+ name: 'should return structured output for get-dataset-items matching outputSchema',
159
+ isDeploymentTest: false,
160
+ run: withClient({ tools: ['actors', 'storage'] }, async (client) => {
161
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
162
+ // First, run an actor to get a datasetId
163
+ const callResult = await client.callTool({
164
+ name: HELPER_TOOLS.ACTOR_CALL,
165
+ arguments: { actor: ACTOR_NORMAL_MODE, input: { firstNumber: 3, secondNumber: 4 } },
166
+ });
167
+ const resultWithStructured = callResult;
168
+ const datasetId = (_d = (_c = (_b = (_a = resultWithStructured.structuredContent) === null || _a === void 0 ? void 0 : _a.storages) === null || _b === void 0 ? void 0 : _b.datasets) === null || _c === void 0 ? void 0 : _c.default) === null || _d === void 0 ? void 0 : _d.id;
169
+ expect(datasetId).toBeDefined();
170
+ // Now test get-dataset-items
171
+ const datasetResult = await client.callTool({
172
+ name: HELPER_TOOLS.DATASET_GET_ITEMS,
173
+ arguments: { datasetId },
174
+ });
175
+ expect(datasetResult.content).toBeDefined();
176
+ // Validate structured output for get-dataset-items
177
+ validateStructuredOutputForTool(datasetResult, HELPER_TOOLS.DATASET_GET_ITEMS, 'default');
178
+ // Validate structured content has items with actual results
179
+ const datasetWithStructured = datasetResult;
180
+ expect(datasetWithStructured.structuredContent).toBeDefined();
181
+ expect((_f = (_e = datasetWithStructured.structuredContent) === null || _e === void 0 ? void 0 : _e.items) === null || _f === void 0 ? void 0 : _f.length).toBeGreaterThan(0);
182
+ expect((_h = (_g = datasetWithStructured.structuredContent) === null || _g === void 0 ? void 0 : _g.items) === null || _h === void 0 ? void 0 : _h[0]).toHaveProperty('sum', 7);
183
+ expect((_k = (_j = datasetWithStructured.structuredContent) === null || _j === void 0 ? void 0 : _j.items) === null || _k === void 0 ? void 0 : _k[0]).toHaveProperty('firstNumber', 3);
184
+ expect((_m = (_l = datasetWithStructured.structuredContent) === null || _l === void 0 ? void 0 : _l.items) === null || _m === void 0 ? void 0 : _m[0]).toHaveProperty('secondNumber', 4);
185
+ }),
186
+ },
187
+ {
188
+ name: 'applies the default `limit` of 20 when omitted on get-dataset-items',
189
+ isDeploymentTest: false,
190
+ run: withNormalModeRun({ tools: ['storage'] }, async (client, { datasetId }) => {
191
+ var _a;
192
+ const result = await client.callTool({ name: HELPER_TOOLS.DATASET_GET_ITEMS, arguments: { datasetId } });
193
+ expect(result.isError).not.toBe(true);
194
+ const structured = result
195
+ .structuredContent;
196
+ expect(structured === null || structured === void 0 ? void 0 : structured.limit).toBe(20);
197
+ expect(((_a = structured === null || structured === void 0 ? void 0 : structured.items) !== null && _a !== void 0 ? _a : []).length).toBeLessThanOrEqual(20);
198
+ }),
199
+ },
200
+ {
201
+ name: "reads INPUT from the run's default KV store via get-actor-run + get-key-value-store-record",
202
+ isDeploymentTest: false,
203
+ run: withNormalModeRun({ tools: ['runs', 'storage'] }, async (client, { runId }) => {
204
+ var _a, _b, _c;
205
+ const runResult = await client.callTool({ name: HELPER_TOOLS.ACTOR_RUNS_GET, arguments: { runId } });
206
+ expect(runResult.isError).not.toBe(true);
207
+ const runText = runResult.content[0].text;
208
+ // content[0] is JSON.stringify(structuredContent), not markdown-embedded JSON.
209
+ const runData = JSON.parse(runText);
210
+ const kvId = (_c = (_b = (_a = runData.storages) === null || _a === void 0 ? void 0 : _a.keyValueStores) === null || _b === void 0 ? void 0 : _b.default) === null || _c === void 0 ? void 0 : _c.id;
211
+ expect(kvId).toBeDefined();
212
+ const kvResult = await client.callTool({
213
+ name: HELPER_TOOLS.KEY_VALUE_STORE_RECORD_GET,
214
+ arguments: { keyValueStoreId: kvId, recordKey: 'INPUT' },
215
+ });
216
+ expect(kvResult.isError).not.toBe(true);
217
+ expect(kvResult.content[0].text).toContain('firstNumber');
218
+ // Reading a record is terminal: summary present, no nextStep.
219
+ const kvSc = kvResult
220
+ .structuredContent;
221
+ expect(kvSc === null || kvSc === void 0 ? void 0 : kvSc.summary).toContain("Read 'INPUT'");
222
+ expect(kvSc).not.toHaveProperty('nextStep');
223
+ }),
224
+ },
225
+ {
226
+ name: 'returns dataset metadata via get-dataset',
227
+ isDeploymentTest: false,
228
+ run: withNormalModeRun({ tools: ['storage'] }, async (client, { datasetId }) => {
229
+ const result = await client.callTool({ name: HELPER_TOOLS.DATASET_GET, arguments: { datasetId } });
230
+ expect(result.isError).not.toBe(true);
231
+ const { text } = result.content[0];
232
+ expect(text).toContain(datasetId);
233
+ expect(text).toContain('firstNumber');
234
+ expect(text).toContain('sum');
235
+ const sc = result.structuredContent;
236
+ expect(sc === null || sc === void 0 ? void 0 : sc.summary).toContain('items');
237
+ expect(sc === null || sc === void 0 ? void 0 : sc.nextStep).toContain(HELPER_TOOLS.DATASET_GET_ITEMS);
238
+ }),
239
+ },
240
+ {
241
+ name: 'infers schema from dataset items via get-dataset-schema',
242
+ isDeploymentTest: false,
243
+ run: withNormalModeRun({ tools: ['storage'] }, async (client, { datasetId }) => {
244
+ const result = await client.callTool({ name: HELPER_TOOLS.DATASET_SCHEMA_GET, arguments: { datasetId } });
245
+ expect(result.isError).not.toBe(true);
246
+ const { text } = result.content[0];
247
+ expect(text).toContain('properties');
248
+ // Nested `math` proves schema inference walks objects.
249
+ expect(text).toContain('math');
250
+ const sc = result.structuredContent;
251
+ expect(sc === null || sc === void 0 ? void 0 : sc.summary).toContain('Schema inferred');
252
+ expect(sc === null || sc === void 0 ? void 0 : sc.nextStep).toContain(HELPER_TOOLS.DATASET_GET_ITEMS);
253
+ }),
254
+ },
255
+ {
256
+ name: 'returns key-value store metadata via get-key-value-store',
257
+ isDeploymentTest: false,
258
+ run: withNormalModeRun({ tools: ['storage'] }, async (client, { defaultKvId }) => {
259
+ const result = await client.callTool({
260
+ name: HELPER_TOOLS.KEY_VALUE_STORE_GET,
261
+ arguments: { keyValueStoreId: defaultKvId },
262
+ });
263
+ expect(result.isError).not.toBe(true);
264
+ const { text } = result.content[0];
265
+ expect(text).toContain(defaultKvId);
266
+ const sc = result.structuredContent;
267
+ expect(sc === null || sc === void 0 ? void 0 : sc.nextStep).toContain(HELPER_TOOLS.KEY_VALUE_STORE_KEYS_GET);
268
+ }),
269
+ },
270
+ {
271
+ name: 'lists keys in the run KV store via get-key-value-store-keys',
272
+ isDeploymentTest: false,
273
+ run: withNormalModeRun({ tools: ['storage'] }, async (client, { defaultKvId }) => {
274
+ const result = await client.callTool({
275
+ name: HELPER_TOOLS.KEY_VALUE_STORE_KEYS_GET,
276
+ arguments: { keyValueStoreId: defaultKvId, limit: 10 },
277
+ });
278
+ expect(result.isError).not.toBe(true);
279
+ const { text } = result.content[0];
280
+ expect(text).toContain('INPUT');
281
+ expect(text).toContain('RESULT');
282
+ expect(text).toContain('STATS');
283
+ expect(text).toContain('LOG');
284
+ expect(text).toContain('COVER');
285
+ const sc = result.structuredContent;
286
+ expect(sc === null || sc === void 0 ? void 0 : sc.summary).toContain('keys');
287
+ expect(sc === null || sc === void 0 ? void 0 : sc.nextStep).toContain(HELPER_TOOLS.KEY_VALUE_STORE_RECORD_GET);
288
+ }),
289
+ },
290
+ {
291
+ // Skip recency assert — concurrent runs can push KV past top-10.
292
+ name: 'lists unnamed key-value stores via get-key-value-store-list',
293
+ isDeploymentTest: false,
294
+ run: withNormalModeRun({ tools: ['storage'] }, async (client) => {
295
+ const result = await client.callTool({
296
+ name: HELPER_TOOLS.KEY_VALUE_STORE_LIST_GET,
297
+ arguments: { desc: true, unnamed: true, limit: 10 },
298
+ });
299
+ expect(result.isError).not.toBe(true);
300
+ const sc = result
301
+ .structuredContent;
302
+ expect(sc === null || sc === void 0 ? void 0 : sc.unnamed).toBe(true);
303
+ expect(sc === null || sc === void 0 ? void 0 : sc.total).toBeGreaterThan(0);
304
+ expect(Array.isArray(sc === null || sc === void 0 ? void 0 : sc.items)).toBe(true);
305
+ expect(sc.items.length).toBeGreaterThan(0);
306
+ expect(sc.items.length).toBeLessThanOrEqual(10);
307
+ }),
308
+ },
309
+ {
310
+ // #880 canary: flatten=math must still surface nested math.factorial.first.
311
+ name: 'flattens 3-level nested fields via get-dataset-items',
312
+ isDeploymentTest: false,
313
+ run: withNormalModeRun({ tools: ['storage'] }, async (client, { datasetId }) => {
314
+ var _a;
315
+ const result = await client.callTool({
316
+ name: HELPER_TOOLS.DATASET_GET_ITEMS,
317
+ arguments: { datasetId, fields: 'math.factorial.first' },
318
+ });
319
+ expect(result.isError).not.toBe(true);
320
+ const items = (_a = result.structuredContent) === null || _a === void 0 ? void 0 : _a.items;
321
+ expect(Array.isArray(items)).toBe(true);
322
+ // >=1 (not ==1): the signal is whether the nested field surfaces, not the count.
323
+ expect(items.length).toBeGreaterThanOrEqual(1);
324
+ // factorial.first = 1! = 1; if flatten recurses, the value appears under the dot-notated key.
325
+ expect(items[0]['math.factorial.first']).toBe(1);
326
+ }),
327
+ },
328
+ {
329
+ name: 'reads dataset items via resources/read',
330
+ isDeploymentTest: false,
331
+ run: withNormalModeRun({ tools: ['storage'] }, async (client, { datasetId }) => {
332
+ const result = await client.readResource({
333
+ uri: `https://api.apify.com/v2/datasets/${datasetId}/items?limit=5`,
334
+ });
335
+ const contents = result.contents[0];
336
+ // Content-Type may include charset — match base type only.
337
+ expect(contents.mimeType).toContain('application/json');
338
+ // The generic proxy returns the raw API body — a bare JSON array of items.
339
+ const items = JSON.parse(contents.text);
340
+ expect(Array.isArray(items)).toBe(true);
341
+ }),
342
+ },
343
+ {
344
+ name: 'reads a KV record via resources/read',
345
+ isDeploymentTest: false,
346
+ run: withNormalModeRun({ tools: ['storage'] }, async (client, { defaultKvId }) => {
347
+ const result = await client.readResource({
348
+ uri: `https://api.apify.com/v2/key-value-stores/${defaultKvId}/records/INPUT`,
349
+ });
350
+ const contents = result.contents[0];
351
+ expect(contents.text).toContain('firstNumber');
352
+ }),
353
+ },
354
+ {
355
+ name: 'rejects resources/read of a nonexistent dataset with a JSON-RPC error',
356
+ isDeploymentTest: false,
357
+ run: withNormalModeRun({ tools: ['storage'] }, async (client) => {
358
+ await expect(client.readResource({ uri: 'https://api.apify.com/v2/datasets/this-dataset-does-not-exist-xyz/items' })).rejects.toThrow(/Failed to read/i);
359
+ }),
360
+ },
361
+ {
362
+ name: 'rejects resources/read of a non-Apify URL with a JSON-RPC error',
363
+ isDeploymentTest: false,
364
+ run: withNormalModeRun({ tools: ['storage'] }, async (client) => {
365
+ await expect(client.readResource({ uri: 'https://example.com/steal-my-token' })).rejects.toThrow(/Failed to read/i);
366
+ }),
367
+ },
368
+ {
369
+ name: 'advertises API URL templates via resources/templates/list',
370
+ isDeploymentTest: false,
371
+ run: withNormalModeRun({ tools: ['storage'] }, async (client) => {
372
+ const { resourceTemplates } = await client.listResourceTemplates();
373
+ const datasetItems = resourceTemplates.find((t) => t.name === 'dataset-items');
374
+ expect(datasetItems === null || datasetItems === void 0 ? void 0 : datasetItems.uriTemplate).toContain('/v2/datasets/{datasetId}/items{?limit,offset,');
375
+ }),
376
+ },
377
+ ];
378
+ //# sourceMappingURL=storage.cases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.cases.js","sourceRoot":"","sources":["../../../tests/test_kit/cases/storage.cases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAEpG,OAAO,EACH,iBAAiB,EACjB,qCAAqC,EACrC,mBAAmB,EACnB,wBAAwB,EACxB,+BAA+B,EAC/B,UAAU,GACb,MAAM,eAAe,CAAC;AASvB,yDAAyD;AACzD,MAAM,oBAAoB,GAA2B;IACjD,GAAG,EAAE,yBAAyB;IAC9B,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;;QACjB,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC;gBAC1C,IAAI,EAAE,YAAY,CAAC,UAAU;gBAC7B,SAAS,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;aACpG,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,UAQtB,CAAC;YACF,MAAM,EAAE,GAAG,cAAc,CAAC,iBAAiB,CAAC;YAC5C,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,CAAC,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,0CAAE,QAAQ,0CAAE,OAAO,0CAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1D,MAAM,CAAC,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,0CAAE,cAAc,0CAAE,OAAO,0CAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAChE,OAAO;gBACH,SAAS,EAAE,EAAG,CAAC,QAAS,CAAC,QAAS,CAAC,OAAQ,CAAC,EAAG;gBAC/C,WAAW,EAAE,EAAG,CAAC,QAAS,CAAC,cAAe,CAAC,OAAQ,CAAC,EAAG;gBACvD,KAAK,EAAE,EAAG,CAAC,KAAM;aACpB,CAAC;QACN,CAAC;gBAAS,CAAC;YACP,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;IACL,CAAC;CACJ,CAAC;AAEF,gDAAgD;AAChD,SAAS,iBAAiB,CACtB,aAAuD,EACvD,MAAkE;IAElE,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE;QACjB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACP,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED,6BAA6B;AAC7B,MAAM,CAAC,MAAM,YAAY,GAAW;IAChC;QACI,IAAI,EAAE,6EAA6E;QACnF,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrD,MAAM,MAAM,CACR,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,0BAA0B,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CACxG,CAAC,OAAO,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC;QACvE,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,8GAA8G;QACpH,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;;YAC/D,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACrC,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;aACtF,CAAC,CAAC;YAEH,yFAAyF;YACzF,MAAM,OAAO,GAAG,UAAU,CAAC,OAA2C,CAAC;YACvE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE/B,MAAM,EAAE,GACJ,UAOH,CAAC,iBAAiB,CAAC;YACpB,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,0CAAE,QAAQ,0CAAE,OAAO,0CAAE,EAAE,CAAC;YACtD,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAEhC,qEAAqE;YACrE,MAAM,MAAM,GAAG,MAAA,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,0CAAE,QAAQ,0CAAE,OAAO,0CAAE,MAAM,mCAAI,EAAE,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAEvF,iEAAiE;YACjE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9D,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEjD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACvC,IAAI,EAAE,YAAY,CAAC,iBAAiB;gBACpC,SAAS,EAAE,EAAE,SAAS,EAAE,SAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE;aAClE,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAC,YAA8E;iBACxF,iBAAiB,0CAAE,KAAK,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,KAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,0FAA0F;QAChG,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;;YAClF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACjC,IAAI,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;gBAC5C,2DAA2D;gBAC3D,SAAS,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;aAC/D,CAAC,CAAC;YAEH,yFAAyF;YACzF,MAAM,OAAO,GAAG,MAAM,CAAC,OAA2C,CAAC;YACnE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE/B,kFAAkF;YAClF,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;YAClE,wBAAwB,CAAC,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;YAC3E,MAAM,EAAE,GACJ,MAOH,CAAC,iBAAiB,CAAC;YACpB,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,0CAAE,QAAQ,0CAAE,OAAO,0CAAE,EAAE,CAAC;YACtD,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAEhC,yDAAyD;YACzD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;YAElE,qEAAqE;YACrE,MAAM,MAAM,GAAG,MAAA,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,0CAAE,QAAQ,0CAAE,OAAO,0CAAE,MAAM,mCAAI,EAAE,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAEvF,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACvC,IAAI,EAAE,YAAY,CAAC,iBAAiB;gBACpC,SAAS,EAAE,EAAE,SAAS,EAAE,SAAU,EAAE,MAAM,EAAE,KAAK,EAAE;aACtD,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAC,YAA8E;iBACxF,iBAAiB,0CAAE,KAAK,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,KAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAE5C,+BAA+B,CAAC,YAAY,EAAE,YAAY,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAC7F,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,mGAAmG;QACzG,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;;YAClF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM,KAAK,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAEnF,MAAM,OAAO,GAAG,MAAM,CAAC,OAA2C,CAAC;YACnE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE/B,kFAAkF;YAClF,wBAAwB,CAAC,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;YACzE,qCAAqC,CAAC,MAAM,CAAC,CAAC;YAC9C,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAE5B,MAAM,SAAS,GAAG,MAAA,MAAA,MAAA,MACd,MACH,CAAC,iBAAiB,0CAAE,QAAQ,0CAAE,QAAQ,0CAAE,OAAO,0CAAE,EAAE,CAAC;YACrD,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAEhC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACvC,IAAI,EAAE,YAAY,CAAC,iBAAiB;gBACpC,SAAS,EAAE,EAAE,SAAS,EAAE,SAAU,EAAE;aACvC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAC,YAA8E;iBACxF,iBAAiB,0CAAE,KAAK,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,KAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YACrE,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YAEhF,+BAA+B,CAAC,YAAY,EAAE,YAAY,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAC7F,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,6EAA6E;QACnF,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;;YAC/D,yCAAyC;YACzC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACrC,IAAI,EAAE,YAAY,CAAC,UAAU;gBAC7B,SAAS,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;aACtF,CAAC,CAAC;YAEH,MAAM,oBAAoB,GAAG,UAE5B,CAAC;YACF,MAAM,SAAS,GAAG,MAAA,MAAA,MAAA,MAAA,oBAAoB,CAAC,iBAAiB,0CAAE,QAAQ,0CAAE,QAAQ,0CAAE,OAAO,0CAAE,EAAE,CAAC;YAC1F,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAEhC,6BAA6B;YAC7B,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACxC,IAAI,EAAE,YAAY,CAAC,iBAAiB;gBACpC,SAAS,EAAE,EAAE,SAAS,EAAE;aAC3B,CAAC,CAAC;YAEH,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5C,mDAAmD;YACnD,+BAA+B,CAAC,aAAa,EAAE,YAAY,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAE1F,4DAA4D;YAC5D,MAAM,qBAAqB,GAAG,aAS7B,CAAC;YACF,MAAM,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9D,MAAM,CAAC,MAAA,MAAA,qBAAqB,CAAC,iBAAiB,0CAAE,KAAK,0CAAE,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAClF,MAAM,CAAC,MAAA,MAAA,qBAAqB,CAAC,iBAAiB,0CAAE,KAAK,0CAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACrF,MAAM,CAAC,MAAA,MAAA,qBAAqB,CAAC,iBAAiB,0CAAE,KAAK,0CAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAC7F,MAAM,CAAC,MAAA,MAAA,qBAAqB,CAAC,iBAAiB,0CAAE,KAAK,0CAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAClG,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,qEAAqE;QAC3E,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;;YAC3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,iBAAiB,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACzG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,UAAU,GAAI,MAAwE;iBACvF,iBAAiB,CAAC;YACvB,MAAM,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,4FAA4F;QAClG,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;;YAC/E,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACrG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,OAAO,GAAI,SAAS,CAAC,OAA8B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,+EAA+E;YAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsE,CAAC;YACzG,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,OAAO,CAAC,QAAQ,0CAAE,cAAc,0CAAE,OAAO,0CAAE,EAAE,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAE3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACnC,IAAI,EAAE,YAAY,CAAC,0BAA0B;gBAC7C,SAAS,EAAE,EAAE,eAAe,EAAE,IAAK,EAAE,SAAS,EAAE,OAAO,EAAE;aAC5D,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAE,QAAQ,CAAC,OAA8B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAClF,8DAA8D;YAC9D,MAAM,IAAI,GAAI,QAA4E;iBACrF,iBAAiB,CAAC;YACvB,MAAM,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,0CAA0C;QAChD,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YAC3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACnG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,EAAE,IAAI,EAAE,GAAI,MAAM,CAAC,OAA8B,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,EAAE,GAAI,MAA0E,CAAC,iBAAiB,CAAC;YACzG,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACnE,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,yDAAyD;QAC/D,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YAC3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,kBAAkB,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAC1G,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,EAAE,IAAI,EAAE,GAAI,MAAM,CAAC,OAA8B,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACrC,uDAAuD;YACvD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,EAAE,GAAI,MAA0E,CAAC,iBAAiB,CAAC;YACzG,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YACjD,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACnE,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,0DAA0D;QAChE,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC7E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACjC,IAAI,EAAE,YAAY,CAAC,mBAAmB;gBACtC,SAAS,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE;aAC9C,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,EAAE,IAAI,EAAE,GAAI,MAAM,CAAC,OAA8B,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACpC,MAAM,EAAE,GAAI,MAAwD,CAAC,iBAAiB,CAAC;YACvF,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;QAC1E,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,6DAA6D;QACnE,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC7E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACjC,IAAI,EAAE,YAAY,CAAC,wBAAwB;gBAC3C,SAAS,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;aACzD,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,EAAE,IAAI,EAAE,GAAI,MAAM,CAAC,OAA8B,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,EAAE,GAAI,MAA0E,CAAC,iBAAiB,CAAC;YACzG,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;QAC5E,CAAC,CAAC;KACL;IACD;QACI,iEAAiE;QACjE,IAAI,EAAE,6DAA6D;QACnE,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACjC,IAAI,EAAE,YAAY,CAAC,wBAAwB;gBAC3C,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;aACtD,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,EAAE,GAAI,MAA2F;iBAClG,iBAAiB,CAAC;YACvB,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,CAAC,EAAG,CAAC,KAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,EAAG,CAAC,KAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC;KACL;IACD;QACI,4EAA4E;QAC5E,IAAI,EAAE,sDAAsD;QAC5D,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;;YAC3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACjC,IAAI,EAAE,YAAY,CAAC,iBAAiB;gBACpC,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB,EAAE;aAC3D,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,MAAC,MAAwE,CAAC,iBAAiB,0CACnG,KAAK,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,iFAAiF;YACjF,MAAM,CAAC,KAAM,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAChD,8FAA8F;YAC9F,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,wCAAwC;QAC9C,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YAC3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACrC,GAAG,EAAE,qCAAqC,SAAS,gBAAgB;aACtE,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAyC,CAAC;YAC5E,2DAA2D;YAC3D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACxD,2EAA2E;YAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAc,CAAc,CAAC;YAC/D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,sCAAsC;QAC5C,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC7E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACrC,GAAG,EAAE,6CAA6C,WAAW,gBAAgB;aAChF,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAsB,CAAC;YACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,uEAAuE;QAC7E,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,MAAM,CACR,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,yEAAyE,EAAE,CAAC,CAC1G,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACzC,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,iEAAiE;QACvE,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,oCAAoC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5F,iBAAiB,CACpB,CAAC;QACN,CAAC,CAAC;KACL;IACD;QACI,IAAI,EAAE,2DAA2D;QACjE,gBAAgB,EAAE,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACnE,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;YAC/E,MAAM,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,CAAC,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAC;QACjG,CAAC,CAAC;KACL;CACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Case } from '../types.js';
2
+ /** Async tasks: call/get/list/cancel + statusMessage. All isDeploymentTest. */
3
+ export declare const tasksCases: Case[];
4
+ //# sourceMappingURL=tasks.cases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.cases.d.ts","sourceRoot":"","sources":["../../../tests/test_kit/cases/tasks.cases.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,aAAa,CAAC;AAOjD,+EAA+E;AAC/E,eAAO,MAAM,UAAU,EAAE,IAAI,EA0V5B,CAAC"}