@apify/actors-mcp-server 0.10.5-beta.6 → 0.10.5-beta.8

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 (90) hide show
  1. package/dist/mcp/server.d.ts +0 -2
  2. package/dist/mcp/server.d.ts.map +1 -1
  3. package/dist/mcp/server.js +12 -20
  4. package/dist/mcp/server.js.map +1 -1
  5. package/dist/mcp/utils.d.ts +1 -1
  6. package/dist/mcp/utils.js +1 -1
  7. package/dist/tools/actor_executor.d.ts +10 -0
  8. package/dist/tools/actor_executor.d.ts.map +1 -0
  9. package/dist/tools/actor_executor.js +79 -0
  10. package/dist/tools/actor_executor.js.map +1 -0
  11. package/dist/tools/apps/call_actor.d.ts +0 -1
  12. package/dist/tools/apps/call_actor.d.ts.map +1 -1
  13. package/dist/tools/apps/call_actor.js +8 -54
  14. package/dist/tools/apps/call_actor.js.map +1 -1
  15. package/dist/tools/apps/call_actor_widget.d.ts.map +1 -1
  16. package/dist/tools/apps/call_actor_widget.js +8 -52
  17. package/dist/tools/apps/call_actor_widget.js.map +1 -1
  18. package/dist/tools/apps/get_actor_run_widget.d.ts.map +1 -1
  19. package/dist/tools/apps/get_actor_run_widget.js +15 -9
  20. package/dist/tools/apps/get_actor_run_widget.js.map +1 -1
  21. package/dist/tools/categories.d.ts +6 -0
  22. package/dist/tools/categories.d.ts.map +1 -1
  23. package/dist/tools/categories.js +7 -1
  24. package/dist/tools/categories.js.map +1 -1
  25. package/dist/tools/core/actor_run_response.d.ts +127 -0
  26. package/dist/tools/core/actor_run_response.d.ts.map +1 -0
  27. package/dist/tools/core/actor_run_response.js +551 -0
  28. package/dist/tools/core/actor_run_response.js.map +1 -0
  29. package/dist/tools/core/actor_tools_factory.d.ts +8 -3
  30. package/dist/tools/core/actor_tools_factory.d.ts.map +1 -1
  31. package/dist/tools/core/actor_tools_factory.js +40 -11
  32. package/dist/tools/core/actor_tools_factory.js.map +1 -1
  33. package/dist/tools/core/call_actor_common.d.ts +16 -39
  34. package/dist/tools/core/call_actor_common.d.ts.map +1 -1
  35. package/dist/tools/core/call_actor_common.js +171 -140
  36. package/dist/tools/core/call_actor_common.js.map +1 -1
  37. package/dist/tools/core/get_actor_run_common.d.ts +10 -49
  38. package/dist/tools/core/get_actor_run_common.d.ts.map +1 -1
  39. package/dist/tools/core/get_actor_run_common.js +51 -86
  40. package/dist/tools/core/get_actor_run_common.js.map +1 -1
  41. package/dist/tools/default/call_actor.d.ts +0 -2
  42. package/dist/tools/default/call_actor.d.ts.map +1 -1
  43. package/dist/tools/default/call_actor.js +5 -85
  44. package/dist/tools/default/call_actor.js.map +1 -1
  45. package/dist/tools/default/get_actor_run.d.ts +1 -2
  46. package/dist/tools/default/get_actor_run.d.ts.map +1 -1
  47. package/dist/tools/default/get_actor_run.js +12 -6
  48. package/dist/tools/default/get_actor_run.js.map +1 -1
  49. package/dist/tools/index.d.ts +1 -2
  50. package/dist/tools/index.d.ts.map +1 -1
  51. package/dist/tools/index.js +1 -2
  52. package/dist/tools/index.js.map +1 -1
  53. package/dist/tools/structured_output_schemas.d.ts +254 -51
  54. package/dist/tools/structured_output_schemas.d.ts.map +1 -1
  55. package/dist/tools/structured_output_schemas.js +124 -68
  56. package/dist/tools/structured_output_schemas.js.map +1 -1
  57. package/dist/tsconfig.tsbuildinfo +1 -1
  58. package/dist/types.d.ts +20 -0
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/types.js.map +1 -1
  61. package/dist/utils/progress.d.ts +1 -0
  62. package/dist/utils/progress.d.ts.map +1 -1
  63. package/dist/utils/progress.js +1 -1
  64. package/dist/utils/progress.js.map +1 -1
  65. package/dist/utils/server-instructions/index.d.ts.map +1 -1
  66. package/dist/utils/server-instructions/index.js +6 -7
  67. package/dist/utils/server-instructions/index.js.map +1 -1
  68. package/dist/utils/tools_loader.d.ts.map +1 -1
  69. package/dist/utils/tools_loader.js +9 -3
  70. package/dist/utils/tools_loader.js.map +1 -1
  71. package/dist/web/dist/actor-detail-widget.js +3 -0
  72. package/dist/web/dist/actor-run-widget.js +219 -216
  73. package/dist/web/dist/search-actors-widget.js +3 -0
  74. package/package.json +1 -1
  75. package/dist/tools/apps/actor_executor.d.ts +0 -8
  76. package/dist/tools/apps/actor_executor.d.ts.map +0 -1
  77. package/dist/tools/apps/actor_executor.js +0 -29
  78. package/dist/tools/apps/actor_executor.js.map +0 -1
  79. package/dist/tools/core/actor_execution.d.ts +0 -39
  80. package/dist/tools/core/actor_execution.d.ts.map +0 -1
  81. package/dist/tools/core/actor_execution.js +0 -135
  82. package/dist/tools/core/actor_execution.js.map +0 -1
  83. package/dist/tools/core/actor_response.d.ts +0 -37
  84. package/dist/tools/core/actor_response.d.ts.map +0 -1
  85. package/dist/tools/core/actor_response.js +0 -94
  86. package/dist/tools/core/actor_response.js.map +0 -1
  87. package/dist/tools/default/actor_executor.d.ts +0 -7
  88. package/dist/tools/default/actor_executor.d.ts.map +0 -1
  89. package/dist/tools/default/actor_executor.js +0 -31
  90. package/dist/tools/default/actor_executor.js.map +0 -1
@@ -7,8 +7,9 @@ import { getWidgetConfig, WIDGET_URIS } from '../../resources/widgets.js';
7
7
  import { compileSchema } from '../../utils/ajv.js';
8
8
  import { buildMCPResponse } from '../../utils/mcp.js';
9
9
  import { extractActorId } from '../../utils/tools.js';
10
- import { buildCallActorErrorResponse, buildStartAsyncResponse, callActorPreExecute, resolveAndValidateActor, } from '../core/call_actor_common.js';
11
- import { callActorOutputSchema } from '../structured_output_schemas.js';
10
+ import { buildStartRunResponse } from '../core/actor_run_response.js';
11
+ import { buildCallActorErrorResponse, callActorPreExecute, callOptionsSchema, resolveAndValidateActor, } from '../core/call_actor_common.js';
12
+ import { getActorRunOutputSchema } from '../structured_output_schemas.js';
12
13
  /**
13
14
  * Widget-only input: `actor` + `input` + optional `callOptions`.
14
15
  *
@@ -24,44 +25,8 @@ const callActorWidgetArgsSchema = z.object({
24
25
  .describe('The name of the Actor to call. Format: "username/name" (e.g., "apify/rag-web-browser").'),
25
26
  input: z.object({}).passthrough()
26
27
  .describe('The input JSON to pass to the Actor. Required.'),
27
- callOptions: z.object({
28
- memory: z.number()
29
- .min(128, 'Memory must be at least 128 MB')
30
- .max(32768, 'Memory cannot exceed 32 GB (32768 MB)')
31
- .optional()
32
- .describe(dedent `
33
- Memory per run in MB. Power of 2 from 128 to 32768.
34
- Apify also caps total memory across all your concurrent runs (account plan limit); if a run is rejected because that quota would be exceeded, retry with a smaller value.
35
- `),
36
- timeout: z.number()
37
- .min(0, 'Timeout must be 0 or greater')
38
- .optional()
39
- .describe(dedent `
40
- Maximum runtime for the Actor in seconds. After this time elapses, the Actor will be automatically terminated.
41
- Use 0 for infinite timeout (no time limit). Minimum: 0 seconds (infinite).
42
- `),
43
- build: z.string()
44
- .optional()
45
- .describe('Tag or number of the Actor build to run (e.g., "latest", "beta", "1.2.345"). If omitted, the Actor\'s default build is used.'),
46
- maxItems: z.number()
47
- .int()
48
- .positive()
49
- .optional()
50
- .describe(dedent `
51
- Pay-per-result Actors ONLY — has no effect on any other pricing model (pay-per-event, pay-per-usage, rental, free).
52
- Caps the number of dataset items billed for this run; does NOT limit how many items the Actor produces.
53
- Most Actors also expose their own input field (e.g. "maxResults", "maxPages", "maxItems") to bound how much work they do — prefer those when limiting actual output, since this option only caps billing.
54
- `),
55
- maxTotalChargeUsd: z.number()
56
- .positive()
57
- .optional()
58
- .describe(dedent `
59
- Pay-per-event Actors ONLY — has no effect on any other pricing model (pay-per-result, pay-per-usage, rental, free).
60
- Caps the total USD billed for this run; does NOT limit how much work the Actor does.
61
- Most Actors also expose their own input field to bound work — prefer those when limiting actual output, since this option only caps billing.
62
- `),
63
- }).optional()
64
- .describe('Optional call options for the Actor run configuration.'),
28
+ callOptions: callOptionsSchema.optional()
29
+ .describe('Optional run config: memory (MB), timeout (s), build, maxItems (pay-per-result cap), maxTotalChargeUsd (pay-per-event cap).'),
65
30
  }).strict();
66
31
  const CALL_ACTOR_WIDGET_DESCRIPTION = dedent `
67
32
  Render an interactive UI element (widget) that displays live Actor run progress for the user.
@@ -88,14 +53,11 @@ export const appsCallActorWidget = Object.freeze({
88
53
  name: HelperTools.ACTOR_CALL_WIDGET,
89
54
  description: CALL_ACTOR_WIDGET_DESCRIPTION,
90
55
  inputSchema: z.toJSONSchema(callActorWidgetArgsSchema),
91
- outputSchema: callActorOutputSchema,
56
+ outputSchema: getActorRunOutputSchema,
92
57
  // Allow arbitrary keys inside `input` (dynamic Actor input) while keeping the outer shape strict.
93
58
  ajvValidate: compileSchema(z.toJSONSchema(callActorWidgetArgsSchema)),
94
59
  paymentRequired: true,
95
- // Tool-level widget meta; only registered in apps mode so stripWidgetMeta is a no-op here.
96
- _meta: {
97
- ...(_a = getWidgetConfig(WIDGET_URIS.ACTOR_RUN)) === null || _a === void 0 ? void 0 : _a.meta,
98
- },
60
+ _meta: (_a = getWidgetConfig(WIDGET_URIS.ACTOR_RUN)) === null || _a === void 0 ? void 0 : _a.meta,
99
61
  annotations: {
100
62
  title: 'Call Actor (widget)',
101
63
  readOnlyHint: false,
@@ -136,12 +98,7 @@ export const appsCallActorWidget = Object.freeze({
136
98
  const actorClient = apifyClient.actor(baseActorName);
137
99
  const actorRun = await actorClient.start(input, callOptions);
138
100
  log.debug('Started Actor run (widget)', { actorName: baseActorName, runId: actorRun.id, mcpSessionId: toolArgs.mcpSessionId });
139
- const response = buildStartAsyncResponse({
140
- actorName: baseActorName,
141
- actorRun,
142
- input,
143
- widget: true,
144
- });
101
+ const response = buildStartRunResponse({ actorName: baseActorName, actorRun, widget: true });
145
102
  return {
146
103
  ...response,
147
104
  toolTelemetry: { actorId: resolvedActorId },
@@ -152,7 +109,6 @@ export const appsCallActorWidget = Object.freeze({
152
109
  actorName: baseActorName,
153
110
  error,
154
111
  actorId: resolvedActorId,
155
- isAsync: true,
156
112
  mcpSessionId: toolArgs.mcpSessionId,
157
113
  actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS,
158
114
  });
@@ -1 +1 @@
1
- {"version":3,"file":"call_actor_widget.js","sourceRoot":"","sources":["../../../src/tools/apps/call_actor_widget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call_actor_widget.js","sourceRoot":"","sources":["../../../src/tools/apps/call_actor_widget.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get_actor_run_widget.d.ts","sourceRoot":"","sources":["../../../src/tools/apps/get_actor_run_widget.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAiCnF,eAAO,MAAM,qBAAqB,EAAE,SAuCzB,CAAC"}
1
+ {"version":3,"file":"get_actor_run_widget.d.ts","sourceRoot":"","sources":["../../../src/tools/apps/get_actor_run_widget.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAkCnF,eAAO,MAAM,qBAAqB,EAAE,SAyCzB,CAAC"}
@@ -5,12 +5,13 @@ import { HelperTools } from '../../const.js';
5
5
  import { getWidgetConfig, WIDGET_URIS } from '../../resources/widgets.js';
6
6
  import { compileSchema } from '../../utils/ajv.js';
7
7
  import { logHttpError } from '../../utils/logging.js';
8
- import { buildGetActorRunError, buildGetActorRunSuccessResponse, fetchActorRunData, } from '../core/get_actor_run_common.js';
8
+ import { fetchActorRunData } from '../core/actor_run_response.js';
9
+ import { buildGetActorRunError, buildGetActorRunSuccessResponse, } from '../core/get_actor_run_common.js';
9
10
  import { getActorRunOutputSchema } from '../structured_output_schemas.js';
10
11
  /**
11
- * Widget-only input: `runId` only. In the normal tool path, AJV validation
12
- * runs first and strips unknown keys at the boundary; `.strict()` mainly
13
- * protects any bypass paths by rejecting stray keys before use here.
12
+ * Widget input is `runId` only. The tool always returns immediately so the widget can render
13
+ * without delay; live status updates are driven by the widget UI itself, which polls
14
+ * `get-actor-run` with `waitSecs: 0`. Strict so stray keys are rejected on bypass paths.
14
15
  */
15
16
  const getActorRunWidgetArgsSchema = z.object({
16
17
  runId: z.string()
@@ -18,15 +19,16 @@ const getActorRunWidgetArgsSchema = z.object({
18
19
  .describe('The ID of the Actor run.'),
19
20
  }).strict();
20
21
  const GET_ACTOR_RUN_WIDGET_DESCRIPTION = dedent `
21
- Render an interactive UI element (widget) showing live progress and status of an Actor run.
22
+ Render an interactive UI element (widget) that displays live progress and status of an Actor run.
23
+
24
+ The tool returns immediately after rendering the widget — it never blocks waiting for the run.
25
+ The widget itself polls run status and updates in place until the run reaches a terminal state.
22
26
 
23
27
  Use this tool ONLY when the user explicitly wants to see run progress visually
24
28
  (e.g., "show progress for run y2h7sK3Wc", "display the status of that run").
25
29
 
26
30
  For silent data lookups (run status, dataset IDs, stats, resource IDs), use
27
31
  ${HelperTools.ACTOR_RUNS_GET} instead — it returns the same data without rendering a widget.
28
-
29
- Input: the run ID only.
30
32
  `;
31
33
  export const getActorRunWidgetTool = Object.freeze({
32
34
  type: 'internal',
@@ -52,12 +54,16 @@ export const getActorRunWidgetTool = Object.freeze({
52
54
  try {
53
55
  const fetchResult = await fetchActorRunData({
54
56
  runId: parsed.runId,
57
+ waitSecs: 0,
55
58
  client,
56
59
  mcpSessionId,
57
60
  });
58
- if ('error' in fetchResult) {
61
+ // Widget always passes waitSecs=0 with no abort signal, so 'aborted' is unreachable
62
+ // here — the discriminator just keeps the type-checker happy.
63
+ if ('aborted' in fetchResult)
64
+ return {};
65
+ if ('error' in fetchResult)
59
66
  return fetchResult.error;
60
- }
61
67
  return buildGetActorRunSuccessResponse({ ...fetchResult.result, widget: true });
62
68
  }
63
69
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"get_actor_run_widget.js","sourceRoot":"","sources":["../../../src/tools/apps/get_actor_run_widget.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EACH,qBAAqB,EACrB,+BAA+B,EAC/B,iBAAiB,GACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACZ,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,0BAA0B,CAAC;CAC5C,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,gCAAgC,GAAG,MAAM,CAAA;;;;;;;MAOzC,WAAW,CAAC,cAAc;;;CAG/B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAc,MAAM,CAAC,MAAM,CAAC;IAC1D,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW,CAAC,qBAAqB;IACvC,WAAW,EAAE,gCAAgC;IAC7C,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,2BAA2B,CAAoB;IAC3E,YAAY,EAAE,uBAAuB;IACrC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC;IACvE,eAAe,EAAE,IAAI;IACrB,KAAK,EAAE;QACH,GAAG,MAAA,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,0CAAE,IAAI;KAClD;IACD,WAAW,EAAE;QACT,KAAK,EAAE,wBAAwB;QAC/B,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACvB;IACD,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;QAC7D,MAAM,MAAM,GAAG,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvD,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC;gBACxC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM;gBACN,YAAY;aACf,CAAC,CAAC;YAEH,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;gBACzB,OAAO,WAAW,CAAC,KAAK,CAAC;YAC7B,CAAC;YAED,OAAO,+BAA+B,CAAC,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,YAAY,CAAC,KAAK,EAAE,kCAAkC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACjF,OAAO,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;CACK,CAAC,CAAC"}
1
+ {"version":3,"file":"get_actor_run_widget.js","sourceRoot":"","sources":["../../../src/tools/apps/get_actor_run_widget.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EACH,qBAAqB,EACrB,+BAA+B,GAClC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACZ,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,0BAA0B,CAAC;CAC5C,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,gCAAgC,GAAG,MAAM,CAAA;;;;;;;;;;MAUzC,WAAW,CAAC,cAAc;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAc,MAAM,CAAC,MAAM,CAAC;IAC1D,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW,CAAC,qBAAqB;IACvC,WAAW,EAAE,gCAAgC;IAC7C,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,2BAA2B,CAAoB;IAC3E,YAAY,EAAE,uBAAuB;IACrC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC;IACvE,eAAe,EAAE,IAAI;IACrB,KAAK,EAAE;QACH,GAAG,MAAA,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,0CAAE,IAAI;KAClD;IACD,WAAW,EAAE;QACT,KAAK,EAAE,wBAAwB;QAC/B,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACvB;IACD,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;QAC7D,MAAM,MAAM,GAAG,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvD,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC;gBACxC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,CAAC;gBACX,MAAM;gBACN,YAAY;aACf,CAAC,CAAC;YAEH,oFAAoF;YACpF,8DAA8D;YAC9D,IAAI,SAAS,IAAI,WAAW;gBAAE,OAAO,EAAE,CAAC;YACxC,IAAI,OAAO,IAAI,WAAW;gBAAE,OAAO,WAAW,CAAC,KAAK,CAAC;YAErD,OAAO,+BAA+B,CAAC,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,YAAY,CAAC,KAAK,EAAE,kCAAkC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACjF,OAAO,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;CACK,CAAC,CAAC"}
@@ -12,6 +12,12 @@
12
12
  * - A plain ToolEntry — mode-independent, always included
13
13
  * - A mode map (e.g. { default: ToolEntry, apps: ToolEntry }) — resolver picks entry[mode]
14
14
  * - A partial mode map (e.g. { apps: ToolEntry }) — included only for listed modes
15
+ *
16
+ * Apps vs default mode invariant:
17
+ * Only `*-widget` tools differ between modes — they live in `tools/apps/` and render an
18
+ * interactive UI element. All non-widget tools (`call-actor`, `get-actor-run`, direct actor
19
+ * tools, `search-actors`, `fetch-actor-details`) share a single implementation across modes.
20
+ * Do NOT add per-mode runtime variants for non-widget tools.
15
21
  */
16
22
  import { HelperTools } from '../const.js';
17
23
  import type { ToolEntry } from '../types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/tools/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyCzC;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;CAiCoB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAkC,CAAC,MAAM,OAAO,cAAc,CAAC,EAAE,CAAC;AAE7F,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAmC,CAAC;AAEtF,mEAAmE;AACnE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AAwBnF;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,UAA+B,GAAG,eAAe,CAIvF;AAED,eAAO,MAAM,8BAA8B,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,EAG3E,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,WAAW,EAAE,SAAS,CAKlE,CAAC"}
1
+ {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/tools/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyCzC;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;CAiCoB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAkC,CAAC,MAAM,OAAO,cAAc,CAAC,EAAE,CAAC;AAE7F,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAmC,CAAC;AAEtF,mEAAmE;AACnE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AAwBnF;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,UAA+B,GAAG,eAAe,CAIvF;AAED,eAAO,MAAM,8BAA8B,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,EAG3E,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,WAAW,EAAE,SAAS,CAKlE,CAAC"}
@@ -12,6 +12,12 @@
12
12
  * - A plain ToolEntry — mode-independent, always included
13
13
  * - A mode map (e.g. { default: ToolEntry, apps: ToolEntry }) — resolver picks entry[mode]
14
14
  * - A partial mode map (e.g. { apps: ToolEntry }) — included only for listed modes
15
+ *
16
+ * Apps vs default mode invariant:
17
+ * Only `*-widget` tools differ between modes — they live in `tools/apps/` and render an
18
+ * interactive UI element. All non-widget tools (`call-actor`, `get-actor-run`, direct actor
19
+ * tools, `search-actors`, `fetch-actor-details`) share a single implementation across modes.
20
+ * Do NOT add per-mode runtime variants for non-widget tools.
15
21
  */
16
22
  import { HelperTools } from '../const.js';
17
23
  import { ServerMode } from '../types.js';
@@ -58,7 +64,7 @@ export const toolCategories = {
58
64
  actors: [
59
65
  defaultSearchActors,
60
66
  defaultFetchActorDetails,
61
- // call-actor is different for default and apps mode (sync vs async call)
67
+ // call-actor is identical between modes; apps mode appends a widget addendum to the description.
62
68
  { default: defaultCallActor, apps: appsCallActor },
63
69
  ],
64
70
  docs: [
@@ -1 +1 @@
1
- {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/tools/categories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/tools/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAYjE,0EAA0E;AAC1E,SAAS,SAAS,CAAC,KAAwB;IACvC,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,YAAY,EAAE;QACV,OAAO;KACV;IACD,MAAM,EAAE;QACJ,mBAAmB;QACnB,wBAAwB;QACxB,iGAAiG;QACjG,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE;KACrD;IACD,IAAI,EAAE;QACF,mBAAmB;QACnB,kBAAkB;KACrB;IACD,IAAI,EAAE;QACF,kBAAkB;QAClB,eAAe;QACf,cAAc;QACd,aAAa;KAChB;IACD,OAAO,EAAE;QACL,UAAU;QACV,eAAe;QACf,gBAAgB;QAChB,cAAc;QACd,gBAAgB;QAChB,oBAAoB;QACpB,sBAAsB;QACtB,mBAAmB;QACnB,yBAAyB;KAC5B;IACD,GAAG,EAAE,EACJ;CAC0C,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAoC,CAAC;AAE7F,8DAA8D;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAS,cAAc,CAAC,CAAC;AAKtF;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,OAAqC,EAAE,IAAgB;IACnF,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAmB,UAAU,CAAC,OAAO;IAClE,OAAO,MAAM,CAAC,WAAW,CACrB,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CACxE,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAsC;IAC7E,QAAQ;IACR,MAAM;CACT,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAwC,IAAI,GAAG,CAAC;IAC5E,CAAC,WAAW,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAClD,CAAC,WAAW,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;IAC5D,CAAC,WAAW,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAC7C,CAAC,WAAW,CAAC,cAAc,EAAE,qBAAqB,CAAC;CACtD,CAAC,CAAC"}
@@ -0,0 +1,127 @@
1
+ import type { ActorRun } from 'apify-client';
2
+ import type { ApifyClient } from '../../apify_client.js';
3
+ import { buildMCPResponse } from '../../utils/mcp.js';
4
+ import { type ProgressTracker } from '../../utils/progress.js';
5
+ /** nextStep text for widget-rendered responses: suppresses LLM polling. */
6
+ export declare const WIDGET_NO_POLL_NEXT_STEP = "Widget is rendering live progress. Do NOT poll \u2014 the widget self-updates until completion.";
7
+ /** Maximum value for `waitSecs`. Stays under the 60s tool-call ceiling several MCP clients impose. */
8
+ export declare const WAIT_SECS_MAX = 45;
9
+ /** Default seconds to wait for completion on `call-actor` and direct actor tools. `get-actor-run` also defaults to 30. */
10
+ export declare const CALL_ACTOR_WAIT_SECS_DEFAULT = 30;
11
+ export type RunDataset = {
12
+ id: string;
13
+ name?: string;
14
+ title?: string;
15
+ itemCount?: number;
16
+ cleanItemCount?: number;
17
+ fields?: string[];
18
+ /**
19
+ * JSON Schema fragment for each dataset row. Populated only by direct actor tools (where
20
+ * the target Actor is known at tools/list time, so historical row shape can be looked up
21
+ * via `actorStore`). Absent for `call-actor` / `get-actor-run` (dynamic target).
22
+ */
23
+ itemsSchema?: {
24
+ type: 'object';
25
+ properties: Record<string, unknown>;
26
+ };
27
+ };
28
+ export type RunKeyValueStore = {
29
+ id: string;
30
+ name?: string;
31
+ title?: string;
32
+ keyCount?: number;
33
+ keys?: string[];
34
+ };
35
+ /**
36
+ * Storage shape mirrors `ActorRunStorageIds` from the Apify client — a map of alias → storage
37
+ * object where `default` is always the primary entry. Using the same plural alias-map structure
38
+ * means named Actor storages (e.g. `storages.datasets.results`) can be added without introducing
39
+ * new field names. Each value extends the bare Apify ID string with fetched metadata.
40
+ */
41
+ export type RunStorages = {
42
+ datasets?: {
43
+ default: RunDataset;
44
+ [alias: string]: RunDataset;
45
+ };
46
+ keyValueStores?: {
47
+ default: RunKeyValueStore;
48
+ [alias: string]: RunKeyValueStore;
49
+ };
50
+ };
51
+ /**
52
+ * Canonical run response shape returned by `call-actor` and `get-actor-run`.
53
+ * content[0] mirrors structuredContent as JSON (spec compat); content[1] is the
54
+ * LLM-readable summary + nextStep narrative.
55
+ */
56
+ export type RunResponse = {
57
+ runId: string;
58
+ actorId: string;
59
+ actorName?: string;
60
+ status: string;
61
+ statusMessage?: string;
62
+ exitCode?: number;
63
+ startedAt?: string;
64
+ finishedAt?: string;
65
+ stats?: {
66
+ runTimeSecs?: number;
67
+ computeUnits?: number;
68
+ memMaxBytes?: number;
69
+ };
70
+ storages: RunStorages;
71
+ summary: string;
72
+ nextStep: string;
73
+ };
74
+ export type FetchActorRunResult = {
75
+ run: ActorRun;
76
+ structuredContent: RunResponse;
77
+ };
78
+ /**
79
+ * Build {summary, nextStep} per status. Returns one primary action — never two.
80
+ */
81
+ export declare function buildStatusSummaryNextStep(params: {
82
+ run: ActorRun;
83
+ dataset?: RunDataset;
84
+ keyValueStore?: RunKeyValueStore;
85
+ }): {
86
+ summary: string;
87
+ nextStep: string;
88
+ };
89
+ /**
90
+ * Build a RunResponse from an already-started ActorRun without waiting.
91
+ * Used when waitSecs=0 (default and apps modes) and by widget variants that return immediately.
92
+ * Storage metadata contains IDs only; pollers/widgets fetch updates via get-actor-run.
93
+ *
94
+ * Pass `widget: true` for widget-rendered responses: nextStep is replaced with a no-poll
95
+ * message and widget _meta is included so the UI renders automatically.
96
+ *
97
+ * Invariant: `widget: true` is only valid from `*-widget` tools. Non-widget tools (call-actor,
98
+ * direct actor tools) must omit it or pass `false`.
99
+ */
100
+ export declare function buildStartRunResponse(params: {
101
+ actorName: string;
102
+ actorRun: ActorRun;
103
+ widget?: boolean;
104
+ }): ReturnType<typeof buildMCPResponse>;
105
+ /**
106
+ * Default `onAbort` for callers that want the run cancelled when the MCP request is cancelled.
107
+ * Logs and swallows abort failures so a transient API error doesn't override the original
108
+ * cancellation result.
109
+ */
110
+ export declare const abortRunOnSignal: (runId: string, client: ApifyClient) => Promise<void>;
111
+ export declare function fetchActorRunData(params: {
112
+ runId: string;
113
+ waitSecs?: number;
114
+ actorName?: string;
115
+ client: ApifyClient;
116
+ progressTracker?: ProgressTracker | null;
117
+ abortSignal?: AbortSignal;
118
+ mcpSessionId?: string;
119
+ onAbort?: (runId: string, client: ApifyClient) => Promise<void>;
120
+ }): Promise<{
121
+ error: object;
122
+ } | {
123
+ aborted: true;
124
+ } | {
125
+ result: FetchActorRunResult;
126
+ }>;
127
+ //# sourceMappingURL=actor_run_response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actor_run_response.d.ts","sourceRoot":"","sources":["../../../src/tools/core/actor_run_response.ts"],"names":[],"mappings":"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"}