@apify/actors-mcp-server 0.9.20-beta.4 → 0.9.20-beta.6
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.
- package/dist/mcp/server.js +2 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/tools/core/call_actor_common.d.ts +45 -0
- package/dist/tools/core/call_actor_common.d.ts.map +1 -1
- package/dist/tools/core/call_actor_common.js +148 -13
- package/dist/tools/core/call_actor_common.js.map +1 -1
- package/dist/tools/core/fetch_actor_details_common.d.ts.map +1 -1
- package/dist/tools/core/fetch_actor_details_common.js +11 -4
- package/dist/tools/core/fetch_actor_details_common.js.map +1 -1
- package/dist/tools/core/search_actors_common.d.ts +2 -1
- package/dist/tools/core/search_actors_common.d.ts.map +1 -1
- package/dist/tools/core/search_actors_common.js +5 -4
- package/dist/tools/core/search_actors_common.js.map +1 -1
- package/dist/tools/default/call_actor.d.ts.map +1 -1
- package/dist/tools/default/call_actor.js +19 -50
- package/dist/tools/default/call_actor.js.map +1 -1
- package/dist/tools/default/search_actors.d.ts.map +1 -1
- package/dist/tools/default/search_actors.js +16 -10
- package/dist/tools/default/search_actors.js.map +1 -1
- package/dist/tools/openai/call_actor.d.ts.map +1 -1
- package/dist/tools/openai/call_actor.js +18 -62
- package/dist/tools/openai/call_actor.js.map +1 -1
- package/dist/tools/openai/fetch_actor_details.d.ts.map +1 -1
- package/dist/tools/openai/fetch_actor_details.js +9 -3
- package/dist/tools/openai/fetch_actor_details.js.map +1 -1
- package/dist/tools/openai/search_actors.d.ts.map +1 -1
- package/dist/tools/openai/search_actors.js +18 -12
- package/dist/tools/openai/search_actors.js.map +1 -1
- package/dist/tools/structured_output_schemas.d.ts +56 -4
- package/dist/tools/structured_output_schemas.d.ts.map +1 -1
- package/dist/tools/structured_output_schemas.js +27 -4
- package/dist/tools/structured_output_schemas.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +8 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/actor_card.d.ts +7 -2
- package/dist/utils/actor_card.d.ts.map +1 -1
- package/dist/utils/actor_card.js +19 -8
- package/dist/utils/actor_card.js.map +1 -1
- package/dist/utils/actor_details.d.ts +3 -1
- package/dist/utils/actor_details.d.ts.map +1 -1
- package/dist/utils/actor_details.js +3 -2
- package/dist/utils/actor_details.js.map +1 -1
- package/dist/utils/pricing_info.d.ts +71 -20
- package/dist/utils/pricing_info.d.ts.map +1 -1
- package/dist/utils/pricing_info.js +362 -129
- package/dist/utils/pricing_info.js.map +1 -1
- package/dist/utils/userid_cache.d.ts +12 -4
- package/dist/utils/userid_cache.d.ts.map +1 -1
- package/dist/utils/userid_cache.js +41 -14
- package/dist/utils/userid_cache.js.map +1 -1
- package/dist/web/dist/actor-detail-widget.js +2 -2
- package/dist/web/dist/search-actors-widget.js +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch_actor_details_common.js","sourceRoot":"","sources":["../../../src/tools/core/fetch_actor_details_common.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"fetch_actor_details_common.js","sourceRoot":"","sources":["../../../src/tools/core/fetch_actor_details_common.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAEH,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACpF,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IAC/F,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC5E,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAChF,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;IACvH,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACzF,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8EAA8E,CAAC;IACvH,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;IAC9H,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;CAClG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACtC,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,KAAK;CAClB,CAAC;AAIF;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAwD;IACzF,MAAM,kBAAkB,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAExF,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,OAAO,0BAA0B,CAAC;IACtC,CAAC;IAED,OAAO;QACH,WAAW,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,MAAK,IAAI;QACzC,KAAK,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,MAAK,IAAI;QAC7B,OAAO,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAK,IAAI;QACjC,MAAM,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,MAAK,IAAI;QAC/B,QAAQ,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,MAAK,IAAI;QACnC,WAAW,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,MAAK,IAAI;QACzC,MAAM,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,MAAK,IAAI;QAC/B,YAAY,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,MAAK,IAAI;QAC3C,QAAQ,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,MAAK,IAAI;KACtC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACZ,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,qFAAqF,CAAC;IACpG,MAAM,EAAE,+BAA+B,CAAC,QAAQ,EAAE;SAC7C,QAAQ,CAAC,sEAAsE,CAAC;CACxF,CAAC,CAAC;AAEH,MAAM,+BAA+B,GAAG;;;;;;;;;;;;;mDAaW,CAAC;AAEpD;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA6B;IAC/D,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW,CAAC,iBAAiB;IACnC,WAAW,EAAE,+BAA+B;IAC5C,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,+BAA+B,CAAoB;IAC/E,YAAY,EAAE,wBAAwB;IACtC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;IAC3E,kGAAkG;IAClG,KAAK,EAAE;QACH,GAAG,MAAA,eAAe,CAAC,WAAW,CAAC,aAAa,CAAC,0CAAE,IAAI;KACtD;IACD,WAAW,EAAE;QACT,KAAK,EAAE,qBAAqB;QAC5B,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACvB;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,SAAiB;IACxD,OAAO,gBAAgB,CAAC;QACpB,KAAK,EAAE,CAAC,MAAM,CAAA;qCACe,SAAS;;kEAEoB,WAAW,CAAC,YAAY;SACjF,CAAC;QACF,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,SAAS,EAAE,eAAe,EAAE,gBAAgB,CAAC,aAAa,EAAE;KACpG,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAK7C;IAIG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAExE,MAAM,QAAQ,GAAG,qBAAqB,OAAO,CAAC,SAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAE7F,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW;WAC7B,MAAM,CAAC,KAAK;WACZ,MAAM,CAAC,OAAO;WACd,MAAM,CAAC,MAAM;WACb,MAAM,CAAC,QAAQ,CAAC;IAEvB,IAAI,SAAS,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,IAAI,cAAc,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC;YACP,oBAAoB,QAAQ,SAAS;YACrC,SAAS;YACT,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;YACnC,KAAK;SACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,IAAI,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,UAAU,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;;;;qCAIQ,UAAU;;aAElC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;;;aAGhB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,iBAAiB,GAA4B;QAC/C,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QAC9D,MAAM,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO;QAC/B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACjE,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KAC5E,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAC9C,QAA0B,EAC1B,KAA6E;IAE7E,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;IACjF,MAAM,MAAM,GAAG,+BAA+B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjF,MAAM,cAAc,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3D,mFAAmF;IACnF,+EAA+E;IAC/E,qFAAqF;IACrF,6DAA6D;IAC7D,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO;QACvC,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY;QACjE,CAAC,CAAC,MAAM,CAAC;IACb,MAAM,WAAW,GAAG,EAAE,GAAG,gBAAgB,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IACpF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC7E,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,iBAA6D,CAAC;IAClE,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;QAC9B,iBAAiB,GAAG,cAAc,CAAC,UAAU;YACzC,CAAC,CAAC,MAAM,cAAc,CAAC,UAAU,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAC/F,CAAC,CAAC,IAAI,CAAC;IACf,CAAC;IACD,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ;QAC3C,CAAC,CAAC,MAAM,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC;QACrH,CAAC,CAAC,SAAS,CAAC;IAEhB,0FAA0F;IAC1F,sFAAsF;IACtF,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,6BAA6B,CAAC;QAC/D,OAAO;QACP,MAAM,EAAE,cAAc;QACtB,iBAAiB;QACjB,eAAe;KAClB,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import type { ActorStoreList, HelperTool, StructuredActorCard } from '../../types.js';
|
|
3
3
|
import { buildMCPResponse } from '../../utils/mcp.js';
|
|
4
|
+
import type { PricingTier } from '../../utils/pricing_info.js';
|
|
4
5
|
/**
|
|
5
6
|
* Zod schema for search-actors arguments — shared between default and openai variants.
|
|
6
7
|
*/
|
|
@@ -18,6 +19,6 @@ export type SearchActorsResult = {
|
|
|
18
19
|
actorCardText: string;
|
|
19
20
|
actorCardStructured: StructuredActorCard[];
|
|
20
21
|
};
|
|
21
|
-
export declare function buildSearchActorsResult(actors: ActorStoreList[]): SearchActorsResult;
|
|
22
|
+
export declare function buildSearchActorsResult(actors: ActorStoreList[], userTier: PricingTier): SearchActorsResult;
|
|
22
23
|
export declare function buildSearchActorsEmptyResponse(query: string): ReturnType<typeof buildMCPResponse>;
|
|
23
24
|
//# sourceMappingURL=search_actors_common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search_actors_common.d.ts","sourceRoot":"","sources":["../../../src/tools/core/search_actors_common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAmB,MAAM,gBAAgB,CAAC;AAGvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"search_actors_common.d.ts","sourceRoot":"","sources":["../../../src/tools/core/search_actors_common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAmB,MAAM,gBAAgB,CAAC;AAGvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG/D;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;iBA+BjC,CAAC;AAwCH;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAgBzD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;CAC9C,CAAC;AAEF,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,EAAE,WAAW,GACtB,kBAAkB,CAMpB;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAQjG"}
|
|
@@ -3,7 +3,7 @@ import dedent from 'dedent';
|
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { HelperTools } from '../../const.js';
|
|
5
5
|
import { getWidgetConfig, WIDGET_URIS } from '../../resources/widgets.js';
|
|
6
|
-
import { formatActorToActorCard, formatActorToStructuredCard } from '../../utils/actor_card.js';
|
|
6
|
+
import { DEFAULT_CARD_OPTIONS, formatActorToActorCard, formatActorToStructuredCard } from '../../utils/actor_card.js';
|
|
7
7
|
import { compileSchema } from '../../utils/ajv.js';
|
|
8
8
|
import { buildMCPResponse } from '../../utils/mcp.js';
|
|
9
9
|
import { actorSearchOutputSchema } from '../structured_output_schemas.js';
|
|
@@ -100,10 +100,11 @@ export const searchActorsMetadata = {
|
|
|
100
100
|
openWorldHint: false,
|
|
101
101
|
},
|
|
102
102
|
};
|
|
103
|
-
export function buildSearchActorsResult(actors) {
|
|
103
|
+
export function buildSearchActorsResult(actors, userTier) {
|
|
104
|
+
const options = { ...DEFAULT_CARD_OPTIONS, userTier, simplifyPricingForUserTier: true };
|
|
104
105
|
return {
|
|
105
|
-
actorCardText: actors.map((actor) => formatActorToActorCard(actor)).join('\n\n'),
|
|
106
|
-
actorCardStructured: actors.map((actor) => formatActorToStructuredCard(actor)),
|
|
106
|
+
actorCardText: actors.map((actor) => formatActorToActorCard(actor, options)).join('\n\n'),
|
|
107
|
+
actorCardStructured: actors.map((actor) => formatActorToStructuredCard(actor, options)),
|
|
107
108
|
};
|
|
108
109
|
}
|
|
109
110
|
export function buildSearchActorsEmptyResponse(query) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search_actors_common.js","sourceRoot":"","sources":["../../../src/tools/core/search_actors_common.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,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"search_actors_common.js","sourceRoot":"","sources":["../../../src/tools/core/search_actors_common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_actor.d.ts","sourceRoot":"","sources":["../../../src/tools/default/call_actor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"call_actor.d.ts","sourceRoot":"","sources":["../../../src/tools/default/call_actor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAuBlE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAsGpB,CAAC"}
|
|
@@ -2,32 +2,18 @@ var _a;
|
|
|
2
2
|
import log from '@apify/log';
|
|
3
3
|
import { HelperTools } from '../../const.js';
|
|
4
4
|
import { getWidgetConfig, WIDGET_URIS } from '../../resources/widgets.js';
|
|
5
|
-
import {
|
|
6
|
-
import { buildMCPResponse, buildUsageMeta } from '../../utils/mcp.js';
|
|
7
|
-
import { classifyFailureCategory, getToolStatusFromError } from '../../utils/tool_status.js';
|
|
5
|
+
import { buildUsageMeta } from '../../utils/mcp.js';
|
|
8
6
|
import { extractActorId } from '../../utils/tools.js';
|
|
9
7
|
import { callActorGetDataset } from '../core/actor_execution.js';
|
|
10
8
|
import { buildActorResponseContent } from '../core/actor_response.js';
|
|
11
|
-
import {
|
|
9
|
+
import { buildCallActorDescription, buildCallActorErrorResponse, buildStartAsyncResponse, callActorAjvValidate, callActorInputSchema, callActorPreExecute, resolveAndValidateActor, } from '../core/call_actor_common.js';
|
|
12
10
|
import { callActorOutputSchema } from '../structured_output_schemas.js';
|
|
13
|
-
const CALL_ACTOR_DEFAULT_DESCRIPTION =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
If the actor name is not in "username/name" format, use ${HelperTools.STORE_SEARCH} to resolve the correct Actor first.`,
|
|
20
|
-
CALL_ACTOR_MCP_SERVER_SECTION,
|
|
21
|
-
`IMPORTANT:
|
|
22
|
-
- Typically returns a datasetId and preview of output items
|
|
23
|
-
- Use ${HelperTools.ACTOR_OUTPUT_GET} tool with the datasetId to fetch full results
|
|
24
|
-
- Use dedicated Actor tools when available for better experience`,
|
|
25
|
-
CALL_ACTOR_USAGE_SECTION,
|
|
26
|
-
`- This tool supports async execution via the \`async\` parameter:
|
|
27
|
-
- **When \`async: false\` or not provided** (default): Waits for completion and returns results immediately with dataset preview. Use this whenever the user asks for data or results.
|
|
28
|
-
- **When \`async: true\`**: Starts the run and returns immediately with runId. Only use this when the user explicitly asks to run the Actor in the background or does not need immediate results.`,
|
|
29
|
-
CALL_ACTOR_EXAMPLES_SECTION,
|
|
30
|
-
].join('\n\n');
|
|
11
|
+
const CALL_ACTOR_DEFAULT_DESCRIPTION = buildCallActorDescription({
|
|
12
|
+
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS,
|
|
13
|
+
storeSearchTool: HelperTools.STORE_SEARCH,
|
|
14
|
+
useInternalSearchWarning: false,
|
|
15
|
+
alwaysAsync: false,
|
|
16
|
+
});
|
|
31
17
|
/**
|
|
32
18
|
* Default mode call-actor tool.
|
|
33
19
|
* Supports both sync (default) and async execution.
|
|
@@ -57,7 +43,6 @@ export const defaultCallActor = Object.freeze({
|
|
|
57
43
|
taskSupport: 'optional',
|
|
58
44
|
},
|
|
59
45
|
call: async (toolArgs) => {
|
|
60
|
-
var _a;
|
|
61
46
|
const preResult = await callActorPreExecute(toolArgs);
|
|
62
47
|
if ('earlyResponse' in preResult) {
|
|
63
48
|
return preResult.earlyResponse;
|
|
@@ -81,19 +66,14 @@ export const defaultCallActor = Object.freeze({
|
|
|
81
66
|
const actorClient = apifyClient.actor(baseActorName);
|
|
82
67
|
const actorRun = await actorClient.start(input, callOptions);
|
|
83
68
|
log.debug('Started Actor run (async)', { actorName: baseActorName, runId: actorRun.id, mcpSessionId: toolArgs.mcpSessionId });
|
|
84
|
-
const
|
|
85
|
-
runId: actorRun.id,
|
|
69
|
+
const response = buildStartAsyncResponse({
|
|
86
70
|
actorName: baseActorName,
|
|
87
|
-
|
|
88
|
-
startedAt: ((_a = actorRun.startedAt) === null || _a === void 0 ? void 0 : _a.toISOString()) || '',
|
|
71
|
+
actorRun,
|
|
89
72
|
input,
|
|
90
|
-
|
|
73
|
+
widget: false,
|
|
74
|
+
});
|
|
91
75
|
return {
|
|
92
|
-
|
|
93
|
-
type: 'text',
|
|
94
|
-
text: `Started Actor "${baseActorName}" (Run ID: ${actorRun.id}).`,
|
|
95
|
-
}],
|
|
96
|
-
structuredContent,
|
|
76
|
+
...response,
|
|
97
77
|
toolTelemetry: { actorId: resolvedActorId },
|
|
98
78
|
};
|
|
99
79
|
}
|
|
@@ -123,25 +103,14 @@ export const defaultCallActor = Object.freeze({
|
|
|
123
103
|
};
|
|
124
104
|
}
|
|
125
105
|
catch (error) {
|
|
126
|
-
|
|
127
|
-
logHttpError(error, 'Failed to call Actor', {
|
|
106
|
+
return buildCallActorErrorResponse({
|
|
128
107
|
actorName: baseActorName,
|
|
129
|
-
|
|
108
|
+
error,
|
|
109
|
+
actorId: resolvedActorId,
|
|
110
|
+
isAsync,
|
|
130
111
|
mcpSessionId: toolArgs.mcpSessionId,
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
return buildMCPResponse({
|
|
134
|
-
texts: [`Failed to call Actor '${baseActorName}': ${errMsg}.
|
|
135
|
-
Please verify the Actor name, input parameters, and ensure the Actor exists.
|
|
136
|
-
You can search for available Actors using the tool: ${HelperTools.STORE_SEARCH}, or get Actor details using: ${HelperTools.ACTOR_GET_DETAILS}.`],
|
|
137
|
-
isError: true,
|
|
138
|
-
telemetry: {
|
|
139
|
-
toolStatus: getToolStatusFromError(error, false),
|
|
140
|
-
failureCategory: classifyFailureCategory(error),
|
|
141
|
-
failureHttpStatus: getHttpStatusCode(error),
|
|
142
|
-
failureDetail: errMsg.slice(0, 200),
|
|
143
|
-
actorId: resolvedActorId,
|
|
144
|
-
},
|
|
112
|
+
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS,
|
|
113
|
+
storeSearchTool: HelperTools.STORE_SEARCH,
|
|
145
114
|
});
|
|
146
115
|
}
|
|
147
116
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_actor.js","sourceRoot":"","sources":["../../../src/tools/default/call_actor.ts"],"names":[],"mappings":";AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"call_actor.js","sourceRoot":"","sources":["../../../src/tools/default/call_actor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search_actors.d.ts","sourceRoot":"","sources":["../../../src/tools/default/search_actors.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"search_actors.d.ts","sourceRoot":"","sources":["../../../src/tools/default/search_actors.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAWlE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAwDvB,CAAC"}
|
|
@@ -2,6 +2,7 @@ import dedent from 'dedent';
|
|
|
2
2
|
import { HelperTools } from '../../const.js';
|
|
3
3
|
import { searchAndFilterActors } from '../../utils/actor_search.js';
|
|
4
4
|
import { buildMCPResponse } from '../../utils/mcp.js';
|
|
5
|
+
import { getUserInfoCached } from '../../utils/userid_cache.js';
|
|
5
6
|
import { buildSearchActorsEmptyResponse, buildSearchActorsResult, searchActorsArgsSchema, searchActorsMetadata, } from '../core/search_actors_common.js';
|
|
6
7
|
/**
|
|
7
8
|
* Default mode search-actors tool.
|
|
@@ -10,20 +11,25 @@ import { buildSearchActorsEmptyResponse, buildSearchActorsResult, searchActorsAr
|
|
|
10
11
|
export const defaultSearchActors = Object.freeze({
|
|
11
12
|
...searchActorsMetadata,
|
|
12
13
|
call: async (toolArgs) => {
|
|
13
|
-
const { args, apifyToken, userRentedActorIds, apifyMcpServer } = toolArgs;
|
|
14
|
+
const { args, apifyToken, apifyClient, userRentedActorIds, apifyMcpServer } = toolArgs;
|
|
14
15
|
const parsed = searchActorsArgsSchema.parse(args);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
// Actor search and user-info fetch are independent; run in parallel to avoid a
|
|
17
|
+
// sequential round-trip on cache miss.
|
|
18
|
+
const [actors, { userPlanTier }] = await Promise.all([
|
|
19
|
+
searchAndFilterActors({
|
|
20
|
+
keywords: parsed.keywords,
|
|
21
|
+
apifyToken,
|
|
22
|
+
limit: parsed.limit,
|
|
23
|
+
offset: parsed.offset,
|
|
24
|
+
paymentProvider: apifyMcpServer.options.paymentProvider,
|
|
25
|
+
userRentedActorIds,
|
|
26
|
+
}),
|
|
27
|
+
getUserInfoCached(apifyToken, apifyClient),
|
|
28
|
+
]);
|
|
23
29
|
if (actors.length === 0) {
|
|
24
30
|
return buildSearchActorsEmptyResponse(parsed.keywords);
|
|
25
31
|
}
|
|
26
|
-
const { actorCardText, actorCardStructured } = buildSearchActorsResult(actors);
|
|
32
|
+
const { actorCardText, actorCardStructured } = buildSearchActorsResult(actors, userPlanTier);
|
|
27
33
|
const structuredContent = {
|
|
28
34
|
actors: actorCardStructured,
|
|
29
35
|
query: parsed.keywords,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search_actors.js","sourceRoot":"","sources":["../../../src/tools/default/search_actors.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACH,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,GACvB,MAAM,iCAAiC,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAc,MAAM,CAAC,MAAM,CAAC;IACxD,GAAG,oBAAoB;IACvB,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"search_actors.js","sourceRoot":"","sources":["../../../src/tools/default/search_actors.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACH,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,GACvB,MAAM,iCAAiC,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAc,MAAM,CAAC,MAAM,CAAC;IACxD,GAAG,oBAAoB;IACvB,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;QACvF,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,+EAA+E;QAC/E,uCAAuC;QACvC,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjD,qBAAqB,CAAC;gBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU;gBACV,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,eAAe;gBACvD,kBAAkB;aACrB,CAAC;YACF,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC;SAC7C,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,8BAA8B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,uBAAuB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC7F,MAAM,iBAAiB,GAAG;YACtB,MAAM,EAAE,mBAAmB;YAC3B,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,YAAY,EAAE,MAAM,CAAA;;uEAEuC,WAAW,CAAC,iBAAiB;;;;;aAKvF;SACJ,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,CAAA;;kCAED,MAAM,CAAC,QAAQ;4CACL,MAAM,CAAC,MAAM;;;;cAI3C,aAAa;;;sDAG2B,WAAW,CAAC,iBAAiB;;;;;SAK1E,CAAC;QACF,OAAO,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1E,CAAC;CACK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_actor.d.ts","sourceRoot":"","sources":["../../../src/tools/openai/call_actor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"call_actor.d.ts","sourceRoot":"","sources":["../../../src/tools/openai/call_actor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAoBlE;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAoEnB,CAAC"}
|
|
@@ -2,29 +2,15 @@ var _a;
|
|
|
2
2
|
import log from '@apify/log';
|
|
3
3
|
import { HelperTools } from '../../const.js';
|
|
4
4
|
import { getWidgetConfig, WIDGET_URIS } from '../../resources/widgets.js';
|
|
5
|
-
import { getHttpStatusCode, logHttpError } from '../../utils/logging.js';
|
|
6
|
-
import { buildMCPResponse } from '../../utils/mcp.js';
|
|
7
|
-
import { classifyFailureCategory, getToolStatusFromError } from '../../utils/tool_status.js';
|
|
8
5
|
import { extractActorId } from '../../utils/tools.js';
|
|
9
|
-
import {
|
|
6
|
+
import { buildCallActorDescription, buildCallActorErrorResponse, buildStartAsyncResponse, callActorAjvValidate, callActorInputSchema, callActorPreExecute, resolveAndValidateActor, } from '../core/call_actor_common.js';
|
|
10
7
|
import { callActorOutputSchema } from '../structured_output_schemas.js';
|
|
11
|
-
const CALL_ACTOR_OPENAI_DESCRIPTION =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
If the actor name is not in "username/name" format, use ${HelperTools.STORE_SEARCH_INTERNAL} to resolve the correct Actor first.
|
|
18
|
-
Do NOT use ${HelperTools.STORE_SEARCH} for name resolution when the next step is running an Actor.`,
|
|
19
|
-
CALL_ACTOR_MCP_SERVER_SECTION,
|
|
20
|
-
`IMPORTANT:
|
|
21
|
-
- This tool always runs asynchronously — it starts the Actor and returns immediately with a runId. A live widget automatically tracks the run progress.
|
|
22
|
-
- After calling this tool, do NOT poll or call any other tool. Wait for the user to respond — the widget will update them when the run completes.
|
|
23
|
-
- Once the run completes, use ${HelperTools.ACTOR_OUTPUT_GET} tool with the datasetId to fetch full results.
|
|
24
|
-
- Use dedicated Actor tools when available for better experience`,
|
|
25
|
-
CALL_ACTOR_USAGE_SECTION,
|
|
26
|
-
CALL_ACTOR_EXAMPLES_SECTION,
|
|
27
|
-
].join('\n\n');
|
|
8
|
+
const CALL_ACTOR_OPENAI_DESCRIPTION = buildCallActorDescription({
|
|
9
|
+
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS_INTERNAL,
|
|
10
|
+
storeSearchTool: HelperTools.STORE_SEARCH_INTERNAL,
|
|
11
|
+
useInternalSearchWarning: true,
|
|
12
|
+
alwaysAsync: true,
|
|
13
|
+
});
|
|
28
14
|
/**
|
|
29
15
|
* OpenAI mode call-actor tool.
|
|
30
16
|
* Always runs asynchronously — starts the run and returns immediately with widget metadata.
|
|
@@ -50,7 +36,6 @@ export const openaiCallActor = Object.freeze({
|
|
|
50
36
|
openWorldHint: true,
|
|
51
37
|
},
|
|
52
38
|
call: async (toolArgs) => {
|
|
53
|
-
var _a;
|
|
54
39
|
const preResult = await callActorPreExecute(toolArgs);
|
|
55
40
|
if ('earlyResponse' in preResult) {
|
|
56
41
|
return preResult.earlyResponse;
|
|
@@ -73,55 +58,26 @@ export const openaiCallActor = Object.freeze({
|
|
|
73
58
|
const actorClient = apifyClient.actor(baseActorName);
|
|
74
59
|
const actorRun = await actorClient.start(input, callOptions);
|
|
75
60
|
log.debug('Started Actor run (async)', { actorName: baseActorName, runId: actorRun.id, mcpSessionId: toolArgs.mcpSessionId });
|
|
76
|
-
const
|
|
77
|
-
runId: actorRun.id,
|
|
61
|
+
const response = buildStartAsyncResponse({
|
|
78
62
|
actorName: baseActorName,
|
|
79
|
-
|
|
80
|
-
startedAt: ((_a = actorRun.startedAt) === null || _a === void 0 ? void 0 : _a.toISOString()) || '',
|
|
63
|
+
actorRun,
|
|
81
64
|
input,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
A live progress widget has been rendered that automatically tracks this run and refreshes status every few seconds until completion.
|
|
86
|
-
|
|
87
|
-
The widget will update the context with run status and datasetId when the run completes. Once complete (or if the user requests results), use ${HelperTools.ACTOR_OUTPUT_GET} with the datasetId to retrieve the output.
|
|
88
|
-
|
|
89
|
-
Do NOT proactively poll using ${HelperTools.ACTOR_RUNS_GET}. Wait for the widget state update or user instructions. Ask the user what they would like to do next.`;
|
|
90
|
-
const widgetConfig = getWidgetConfig(WIDGET_URIS.ACTOR_RUN);
|
|
65
|
+
widget: true,
|
|
66
|
+
});
|
|
91
67
|
return {
|
|
92
|
-
|
|
93
|
-
type: 'text',
|
|
94
|
-
text: responseText,
|
|
95
|
-
}],
|
|
96
|
-
structuredContent,
|
|
97
|
-
// Response-level meta; only returned in openai mode (this handler is openai-only)
|
|
98
|
-
_meta: {
|
|
99
|
-
...widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.meta,
|
|
100
|
-
'openai/widgetDescription': `Actor run progress for ${baseActorName}`,
|
|
101
|
-
},
|
|
68
|
+
...response,
|
|
102
69
|
toolTelemetry: { actorId: resolvedActorId },
|
|
103
70
|
};
|
|
104
71
|
}
|
|
105
72
|
catch (error) {
|
|
106
|
-
|
|
107
|
-
logHttpError(error, 'Failed to call Actor', {
|
|
73
|
+
return buildCallActorErrorResponse({
|
|
108
74
|
actorName: baseActorName,
|
|
109
|
-
|
|
75
|
+
error,
|
|
76
|
+
actorId: resolvedActorId,
|
|
77
|
+
isAsync: true,
|
|
110
78
|
mcpSessionId: toolArgs.mcpSessionId,
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return buildMCPResponse({
|
|
114
|
-
texts: [`Failed to call Actor '${baseActorName}': ${errMsg}.
|
|
115
|
-
Please verify the Actor name, input parameters, and ensure the Actor exists.
|
|
116
|
-
You can search for available Actors using the tool: ${HelperTools.STORE_SEARCH_INTERNAL}, or get Actor details using: ${HelperTools.ACTOR_GET_DETAILS_INTERNAL}.`],
|
|
117
|
-
isError: true,
|
|
118
|
-
telemetry: {
|
|
119
|
-
toolStatus: getToolStatusFromError(error, false),
|
|
120
|
-
failureCategory: classifyFailureCategory(error),
|
|
121
|
-
failureHttpStatus: getHttpStatusCode(error),
|
|
122
|
-
failureDetail: errMsg.slice(0, 200),
|
|
123
|
-
actorId: resolvedActorId,
|
|
124
|
-
},
|
|
79
|
+
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS_INTERNAL,
|
|
80
|
+
storeSearchTool: HelperTools.STORE_SEARCH_INTERNAL,
|
|
125
81
|
});
|
|
126
82
|
}
|
|
127
83
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_actor.js","sourceRoot":"","sources":["../../../src/tools/openai/call_actor.ts"],"names":[],"mappings":";AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"call_actor.js","sourceRoot":"","sources":["../../../src/tools/openai/call_actor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch_actor_details.d.ts","sourceRoot":"","sources":["../../../src/tools/openai/fetch_actor_details.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch_actor_details.d.ts","sourceRoot":"","sources":["../../../src/tools/openai/fetch_actor_details.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAgBlE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,SA6C3B,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { ApifyClient } from '../../apify_client.js';
|
|
|
3
3
|
import { getWidgetConfig, WIDGET_URIS } from '../../resources/widgets.js';
|
|
4
4
|
import { buildActorDetailsForWidget, buildCardOptions, fetchActorDetails, } from '../../utils/actor_details.js';
|
|
5
5
|
import { buildMCPResponse } from '../../utils/mcp.js';
|
|
6
|
+
import { getUserInfoCached } from '../../utils/userid_cache.js';
|
|
6
7
|
import { fixActorNameInputAndLog } from '../core/actor_tools_factory.js';
|
|
7
8
|
import { buildActorNotFoundResponse, fetchActorDetailsMetadata, fetchActorDetailsToolArgsSchema, resolveOutputOptions, } from '../core/fetch_actor_details_common.js';
|
|
8
9
|
/**
|
|
@@ -16,14 +17,19 @@ export const openaiFetchActorDetails = Object.freeze({
|
|
|
16
17
|
const parsed = fetchActorDetailsToolArgsSchema.parse(args);
|
|
17
18
|
const actorName = fixActorNameInputAndLog(parsed.actor, { mcpSessionId, route: 'fetch-actor-details' });
|
|
18
19
|
const apifyClient = new ApifyClient({ token: apifyToken });
|
|
19
|
-
const
|
|
20
|
+
const { userPlanTier } = await getUserInfoCached(apifyToken, apifyClient);
|
|
21
|
+
const cardOptions = { ...buildCardOptions(resolveOutputOptions(parsed.output)), userTier: userPlanTier };
|
|
20
22
|
const details = await fetchActorDetails(apifyClient, actorName, cardOptions);
|
|
21
23
|
if (!details) {
|
|
22
24
|
return buildActorNotFoundResponse(actorName);
|
|
23
25
|
}
|
|
24
|
-
const { actorUrl, actorDetails } = buildActorDetailsForWidget(details);
|
|
26
|
+
const { actorUrl, actorDetails } = buildActorDetailsForWidget(details, userPlanTier);
|
|
27
|
+
// Pricing is already carried by `actorDetails.actorInfo.currentPricingInfo` (widget-facing,
|
|
28
|
+
// tier-aware simplified). Omit the complete-mode `pricing` field from the top-level
|
|
29
|
+
// `actorInfo` to avoid two conflicting pricing shapes in the same response.
|
|
30
|
+
const { pricing: _pricing, ...actorInfoWithoutPricing } = details.actorCardStructured;
|
|
25
31
|
const structuredContent = {
|
|
26
|
-
actorInfo:
|
|
32
|
+
actorInfo: actorInfoWithoutPricing,
|
|
27
33
|
inputSchema: details.inputSchema,
|
|
28
34
|
actorDetails,
|
|
29
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch_actor_details.js","sourceRoot":"","sources":["../../../src/tools/openai/fetch_actor_details.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EACH,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACH,0BAA0B,EAC1B,yBAAyB,EACzB,+BAA+B,EAC/B,oBAAoB,GACvB,MAAM,uCAAuC,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAc,MAAM,CAAC,MAAM,CAAC;IAC5D,GAAG,yBAAyB;IAC5B,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;QACpD,MAAM,MAAM,GAAG,+BAA+B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACxG,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAE3D,MAAM,WAAW,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch_actor_details.js","sourceRoot":"","sources":["../../../src/tools/openai/fetch_actor_details.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EACH,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACH,0BAA0B,EAC1B,yBAAyB,EACzB,+BAA+B,EAC/B,oBAAoB,GACvB,MAAM,uCAAuC,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAc,MAAM,CAAC,MAAM,CAAC;IAC5D,GAAG,yBAAyB;IAC5B,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;QACpD,MAAM,MAAM,GAAG,+BAA+B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACxG,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAE3D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,EAAE,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;QACzG,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,0BAA0B,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACrF,4FAA4F;QAC5F,oFAAoF;QACpF,4EAA4E;QAC5E,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,uBAAuB,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACtF,MAAM,iBAAiB,GAAG;YACtB,SAAS,EAAE,uBAAuB;YAClC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY;SACf,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,MAAM,CAAA;;2BAEF,SAAS;yBACX,QAAQ;;;SAGxB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAChE,OAAO,gBAAgB,CAAC;YACpB,KAAK;YACL,iBAAiB;YACjB,kFAAkF;YAClF,KAAK,EAAE;gBACH,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI;gBACrB,0BAA0B,EAAE,qBAAqB,SAAS,mBAAmB;aAChF;SACJ,CAAC,CAAC;IACP,CAAC;CACK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search_actors.d.ts","sourceRoot":"","sources":["../../../src/tools/openai/search_actors.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"search_actors.d.ts","sourceRoot":"","sources":["../../../src/tools/openai/search_actors.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAOlE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAsFtB,CAAC"}
|
|
@@ -4,7 +4,8 @@ import { getWidgetConfig, WIDGET_URIS } from '../../resources/widgets.js';
|
|
|
4
4
|
import { formatActorForWidget } from '../../utils/actor_card.js';
|
|
5
5
|
import { searchAndFilterActors } from '../../utils/actor_search.js';
|
|
6
6
|
import { buildMCPResponse } from '../../utils/mcp.js';
|
|
7
|
-
import {
|
|
7
|
+
import { getUserInfoCached } from '../../utils/userid_cache.js';
|
|
8
|
+
import { buildSearchActorsEmptyResponse, buildSearchActorsResult, searchActorsArgsSchema, searchActorsMetadata } from '../core/search_actors_common.js';
|
|
8
9
|
/**
|
|
9
10
|
* OpenAI mode search-actors tool.
|
|
10
11
|
* Returns widget-formatted actors with interactive widget metadata.
|
|
@@ -12,20 +13,25 @@ import { buildSearchActorsEmptyResponse, buildSearchActorsResult, searchActorsAr
|
|
|
12
13
|
export const openaiSearchActors = Object.freeze({
|
|
13
14
|
...searchActorsMetadata,
|
|
14
15
|
call: async (toolArgs) => {
|
|
15
|
-
const { args, apifyToken, userRentedActorIds, apifyMcpServer } = toolArgs;
|
|
16
|
+
const { args, apifyToken, apifyClient, userRentedActorIds, apifyMcpServer } = toolArgs;
|
|
16
17
|
const parsed = searchActorsArgsSchema.parse(args);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
// Actor search and user-info fetch are independent; run in parallel to avoid a
|
|
19
|
+
// sequential round-trip on cache miss.
|
|
20
|
+
const [actors, { userPlanTier }] = await Promise.all([
|
|
21
|
+
searchAndFilterActors({
|
|
22
|
+
keywords: parsed.keywords,
|
|
23
|
+
apifyToken,
|
|
24
|
+
limit: parsed.limit,
|
|
25
|
+
offset: parsed.offset,
|
|
26
|
+
paymentProvider: apifyMcpServer.options.paymentProvider,
|
|
27
|
+
userRentedActorIds,
|
|
28
|
+
}),
|
|
29
|
+
getUserInfoCached(apifyToken, apifyClient),
|
|
30
|
+
]);
|
|
25
31
|
if (actors.length === 0) {
|
|
26
32
|
return buildSearchActorsEmptyResponse(parsed.keywords);
|
|
27
33
|
}
|
|
28
|
-
const { actorCardText, actorCardStructured } = buildSearchActorsResult(actors);
|
|
34
|
+
const { actorCardText, actorCardStructured } = buildSearchActorsResult(actors, userPlanTier);
|
|
29
35
|
const structuredContent = {
|
|
30
36
|
actors: actorCardStructured,
|
|
31
37
|
query: parsed.keywords,
|
|
@@ -41,7 +47,7 @@ export const openaiSearchActors = Object.freeze({
|
|
|
41
47
|
`,
|
|
42
48
|
};
|
|
43
49
|
// Add widget-formatted actors for the interactive UI
|
|
44
|
-
structuredContent.widgetActors = actors.map(formatActorForWidget);
|
|
50
|
+
structuredContent.widgetActors = actors.map((actor) => formatActorForWidget(actor, userPlanTier));
|
|
45
51
|
const texts = [dedent `
|
|
46
52
|
# Search results:
|
|
47
53
|
- **Search query:** ${parsed.keywords}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search_actors.js","sourceRoot":"","sources":["../../../src/tools/openai/search_actors.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,oBAAoB,EAAoB,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"search_actors.js","sourceRoot":"","sources":["../../../src/tools/openai/search_actors.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,oBAAoB,EAAoB,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAExJ;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAc,MAAM,CAAC,MAAM,CAAC;IACvD,GAAG,oBAAoB;IACvB,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;QACvF,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,+EAA+E;QAC/E,uCAAuC;QACvC,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjD,qBAAqB,CAAC;gBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU;gBACV,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,eAAe;gBACvD,kBAAkB;aACrB,CAAC;YACF,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC;SAC7C,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,8BAA8B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,uBAAuB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC7F,MAAM,iBAAiB,GAMnB;YACA,MAAM,EAAE,mBAAmB;YAC3B,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,YAAY,EAAE,MAAM,CAAA;uDACuB,WAAW,CAAC,iBAAiB;;sBAE9D,WAAW,CAAC,0BAA0B;;;;;aAK/C;SACJ,CAAC;QAEF,qDAAqD;QACrD,iBAAiB,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;QAElG,MAAM,KAAK,GAAG,CAAC,MAAM,CAAA;;kCAEK,MAAM,CAAC,QAAQ;4CACL,MAAM,CAAC,MAAM;;;;;;;;cAQ3C,aAAa;;;oBAGP,WAAW,CAAC,iBAAiB;;;oBAG7B,WAAW,CAAC,0BAA0B;;;;;;;;SAQjD,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAChE,OAAO,gBAAgB,CAAC;YACpB,KAAK;YACL,iBAAiB;YACjB,kFAAkF;YAClF,KAAK,EAAE;gBACH,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI;gBACrB,0BAA0B,EAAE,4CAA4C,MAAM,CAAC,MAAM,0BAA0B;aAClH;SACJ,CAAC,CAAC;IACP,CAAC;CACK,CAAC,CAAC"}
|