@datalayer/agent-runtimes 1.3.59 → 1.3.61

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/lib/chat/ChatFloating.d.ts +11 -1
  2. package/lib/chat/ChatFloating.js +142 -23
  3. package/lib/chat/assistant/AssistantStage.d.ts +13 -5
  4. package/lib/chat/assistant/AssistantStage.js +5 -3
  5. package/lib/chat/assistant/ConversationBalloon.d.ts +71 -0
  6. package/lib/chat/assistant/ConversationBalloon.js +102 -0
  7. package/lib/chat/assistant/DecisionAsk.d.ts +31 -0
  8. package/lib/chat/assistant/DecisionAsk.js +96 -0
  9. package/lib/chat/assistant/SpeechBalloon.d.ts +17 -4
  10. package/lib/chat/assistant/SpeechBalloon.js +20 -14
  11. package/lib/chat/assistant/decisions.d.ts +104 -0
  12. package/lib/chat/assistant/decisions.js +161 -0
  13. package/lib/chat/assistant/state.d.ts +1 -1
  14. package/lib/chat/assistant/state.js +1 -1
  15. package/lib/chat/base/ChatBase.js +22 -4
  16. package/lib/chat/marks/toolMarks.js +2 -2
  17. package/lib/config/AgentConfiguration.d.ts +2 -1
  18. package/lib/config/AgentConfiguration.js +2 -2
  19. package/lib/examples/AgentDecideExample.d.ts +24 -0
  20. package/lib/examples/AgentDecideExample.js +73 -0
  21. package/lib/examples/AgentNotificationsExample.js +1 -1
  22. package/lib/examples/AgentSkillsExample.js +1 -1
  23. package/lib/examples/AgentspecsExample.js +3 -3
  24. package/lib/examples/ChatAssistantExample.js +12 -1
  25. package/lib/examples/example-selector.js +1 -0
  26. package/lib/examples/index.d.ts +1 -0
  27. package/lib/examples/index.js +1 -0
  28. package/lib/examples/main.js +3 -0
  29. package/lib/loop/apps/appspec.js +4 -4
  30. package/lib/loop/apps/checks.js +6 -6
  31. package/lib/loop/apps/rules.js +2 -2
  32. package/lib/loop/plugins/assistant/index.d.ts +14 -2
  33. package/lib/loop/plugins/assistant/index.js +22 -5
  34. package/lib/specs/actions.d.ts +1 -1
  35. package/lib/specs/actions.js +1 -1
  36. package/lib/specs/agents/agents.js +197 -192
  37. package/lib/specs/apps.js +13 -13
  38. package/lib/specs/appspecSchema.js +3 -3
  39. package/lib/specs/backendTools.d.ts +31 -0
  40. package/lib/specs/{tools.js → backendTools.js} +48 -48
  41. package/lib/specs/cogs.js +8 -7
  42. package/lib/specs/frames.js +5 -5
  43. package/lib/specs/index.d.ts +1 -1
  44. package/lib/specs/index.js +1 -1
  45. package/lib/stores/agentRuntimeStore.js +2 -2
  46. package/lib/stories/loop/ReferenceScreens.d.ts +6 -2
  47. package/lib/stories/loop/ReferenceScreens.js +63 -6
  48. package/lib/types/agentspecs.d.ts +7 -5
  49. package/lib/types/chat.d.ts +12 -0
  50. package/lib/types/config.d.ts +2 -2
  51. package/lib/types/tools.d.ts +3 -3
  52. package/package.json +1 -1
  53. package/scripts/codegen/generate_agents.py +23 -12
  54. package/scripts/codegen/generate_apps.py +3 -2
  55. package/scripts/codegen/{generate_tools.py → generate_backend_tools.py} +29 -29
  56. package/scripts/codegen/generate_cogs.py +2 -2
  57. package/scripts/codegen/generate_frames.py +2 -2
  58. package/lib/specs/tools.d.ts +0 -31
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { ALPHAVANTAGE_MCP_SERVER_0_0_1, CHART_MCP_SERVER_0_0_1, EARTHDATA_MCP_SERVER_0_0_1, EURUS_MCP_SERVER_0_0_1, FILESYSTEM_MCP_SERVER_0_0_1, GITHUB_MCP_SERVER_0_0_1, GOOGLE_WORKSPACE_MCP_SERVER_0_0_1, HUGGINGFACE_MCP_SERVER_0_0_1, KAGGLE_MCP_SERVER_0_0_1, ODOO_MCP_SERVER_0_0_1, SALESFORCE_MCP_SERVER_0_0_1, SLACK_MCP_SERVER_0_0_1, TAVILY_MCP_SERVER_0_0_1, } from '../mcpServers';
6
6
  import { ACCOUNTING_SKILL_SPEC_0_0_1, CRAWL_SKILL_SPEC_0_0_1, EVENTS_SKILL_SPEC_0_0_1, GITHUB_SKILL_SPEC_0_0_1, JOKES_SKILL_SPEC_0_0_1, PDF_SKILL_SPEC_0_0_1, TEXT_SUMMARIZER_SKILL_SPEC_0_0_1, } from '../skills';
7
- import { EXAMPLE_CREATE_PLAN_TOOL_SPEC_0_0_1, EXAMPLE_CURRENT_TIME_TOOL_SPEC_0_0_1, EXAMPLE_DISPLAY_RECIPE_TOOL_SPEC_0_0_1, EXAMPLE_GENERATE_HAIKU_TOOL_SPEC_0_0_1, EXAMPLE_GENERATE_TASK_STEPS_TOOL_SPEC_0_0_1, EXAMPLE_GET_WEATHER_TOOL_SPEC_0_0_1, EXAMPLE_RENDER_A2UI_SURFACE_TOOL_SPEC_0_0_1, EXAMPLE_UPDATE_PLAN_STEP_TOOL_SPEC_0_0_1, RUNTIME_ECHO_TOOL_SPEC_0_0_1, RUNTIME_SEND_MAIL_TOOL_SPEC_0_0_1, RUNTIME_SENSITIVE_ECHO_TOOL_SPEC_0_0_1, } from '../tools';
7
+ import { DECIDE_BACKEND_TOOL_SPEC_0_0_1, EXAMPLE_CREATE_PLAN_BACKEND_TOOL_SPEC_0_0_1, EXAMPLE_CURRENT_TIME_BACKEND_TOOL_SPEC_0_0_1, EXAMPLE_DISPLAY_RECIPE_BACKEND_TOOL_SPEC_0_0_1, EXAMPLE_GENERATE_HAIKU_BACKEND_TOOL_SPEC_0_0_1, EXAMPLE_GENERATE_TASK_STEPS_BACKEND_TOOL_SPEC_0_0_1, EXAMPLE_GET_WEATHER_BACKEND_TOOL_SPEC_0_0_1, EXAMPLE_RENDER_A2UI_SURFACE_BACKEND_TOOL_SPEC_0_0_1, EXAMPLE_UPDATE_PLAN_STEP_BACKEND_TOOL_SPEC_0_0_1, RUNTIME_ECHO_BACKEND_TOOL_SPEC_0_0_1, RUNTIME_SEND_MAIL_BACKEND_TOOL_SPEC_0_0_1, RUNTIME_SENSITIVE_ECHO_BACKEND_TOOL_SPEC_0_0_1, } from '../backendTools';
8
8
  import { DECKS_FRONTEND_TOOL_SPEC_0_0_1, JUPYTER_NOTEBOOK_EDIT_FRONTEND_TOOL_SPEC_0_0_1, JUPYTER_NOTEBOOK_PROPOSE_FRONTEND_TOOL_SPEC_0_0_1, JUPYTER_NOTEBOOK_READ_FRONTEND_TOOL_SPEC_0_0_1, JUPYTER_NOTEBOOK_FRONTEND_TOOL_SPEC_0_0_1, LEXICAL_DOCUMENT_FRONTEND_TOOL_SPEC_0_0_1, } from '../frontendTools';
9
9
  // ============================================================================
10
10
  // MCP Server Lookup
@@ -68,31 +68,33 @@ function toAgentSkillSpec(skill) {
68
68
  };
69
69
  }
70
70
  /**
71
- * Map tool IDs to ToolSpec objects.
71
+ * Map backend tool IDs to BackendToolSpec objects.
72
72
  */
73
73
  const TOOL_MAP = {
74
- 'example-create-plan:0.0.1': EXAMPLE_CREATE_PLAN_TOOL_SPEC_0_0_1,
75
- 'example-create-plan': EXAMPLE_CREATE_PLAN_TOOL_SPEC_0_0_1,
76
- 'example-current-time:0.0.1': EXAMPLE_CURRENT_TIME_TOOL_SPEC_0_0_1,
77
- 'example-current-time': EXAMPLE_CURRENT_TIME_TOOL_SPEC_0_0_1,
78
- 'example-display-recipe:0.0.1': EXAMPLE_DISPLAY_RECIPE_TOOL_SPEC_0_0_1,
79
- 'example-display-recipe': EXAMPLE_DISPLAY_RECIPE_TOOL_SPEC_0_0_1,
80
- 'example-generate-haiku:0.0.1': EXAMPLE_GENERATE_HAIKU_TOOL_SPEC_0_0_1,
81
- 'example-generate-haiku': EXAMPLE_GENERATE_HAIKU_TOOL_SPEC_0_0_1,
82
- 'example-generate-task-steps:0.0.1': EXAMPLE_GENERATE_TASK_STEPS_TOOL_SPEC_0_0_1,
83
- 'example-generate-task-steps': EXAMPLE_GENERATE_TASK_STEPS_TOOL_SPEC_0_0_1,
84
- 'example-get-weather:0.0.1': EXAMPLE_GET_WEATHER_TOOL_SPEC_0_0_1,
85
- 'example-get-weather': EXAMPLE_GET_WEATHER_TOOL_SPEC_0_0_1,
86
- 'example-render-a2ui-surface:0.0.1': EXAMPLE_RENDER_A2UI_SURFACE_TOOL_SPEC_0_0_1,
87
- 'example-render-a2ui-surface': EXAMPLE_RENDER_A2UI_SURFACE_TOOL_SPEC_0_0_1,
88
- 'example-update-plan-step:0.0.1': EXAMPLE_UPDATE_PLAN_STEP_TOOL_SPEC_0_0_1,
89
- 'example-update-plan-step': EXAMPLE_UPDATE_PLAN_STEP_TOOL_SPEC_0_0_1,
90
- 'runtime-echo:0.0.1': RUNTIME_ECHO_TOOL_SPEC_0_0_1,
91
- 'runtime-echo': RUNTIME_ECHO_TOOL_SPEC_0_0_1,
92
- 'runtime-send-mail:0.0.1': RUNTIME_SEND_MAIL_TOOL_SPEC_0_0_1,
93
- 'runtime-send-mail': RUNTIME_SEND_MAIL_TOOL_SPEC_0_0_1,
94
- 'runtime-sensitive-echo:0.0.1': RUNTIME_SENSITIVE_ECHO_TOOL_SPEC_0_0_1,
95
- 'runtime-sensitive-echo': RUNTIME_SENSITIVE_ECHO_TOOL_SPEC_0_0_1,
74
+ 'decide:0.0.1': DECIDE_BACKEND_TOOL_SPEC_0_0_1,
75
+ decide: DECIDE_BACKEND_TOOL_SPEC_0_0_1,
76
+ 'example-create-plan:0.0.1': EXAMPLE_CREATE_PLAN_BACKEND_TOOL_SPEC_0_0_1,
77
+ 'example-create-plan': EXAMPLE_CREATE_PLAN_BACKEND_TOOL_SPEC_0_0_1,
78
+ 'example-current-time:0.0.1': EXAMPLE_CURRENT_TIME_BACKEND_TOOL_SPEC_0_0_1,
79
+ 'example-current-time': EXAMPLE_CURRENT_TIME_BACKEND_TOOL_SPEC_0_0_1,
80
+ 'example-display-recipe:0.0.1': EXAMPLE_DISPLAY_RECIPE_BACKEND_TOOL_SPEC_0_0_1,
81
+ 'example-display-recipe': EXAMPLE_DISPLAY_RECIPE_BACKEND_TOOL_SPEC_0_0_1,
82
+ 'example-generate-haiku:0.0.1': EXAMPLE_GENERATE_HAIKU_BACKEND_TOOL_SPEC_0_0_1,
83
+ 'example-generate-haiku': EXAMPLE_GENERATE_HAIKU_BACKEND_TOOL_SPEC_0_0_1,
84
+ 'example-generate-task-steps:0.0.1': EXAMPLE_GENERATE_TASK_STEPS_BACKEND_TOOL_SPEC_0_0_1,
85
+ 'example-generate-task-steps': EXAMPLE_GENERATE_TASK_STEPS_BACKEND_TOOL_SPEC_0_0_1,
86
+ 'example-get-weather:0.0.1': EXAMPLE_GET_WEATHER_BACKEND_TOOL_SPEC_0_0_1,
87
+ 'example-get-weather': EXAMPLE_GET_WEATHER_BACKEND_TOOL_SPEC_0_0_1,
88
+ 'example-render-a2ui-surface:0.0.1': EXAMPLE_RENDER_A2UI_SURFACE_BACKEND_TOOL_SPEC_0_0_1,
89
+ 'example-render-a2ui-surface': EXAMPLE_RENDER_A2UI_SURFACE_BACKEND_TOOL_SPEC_0_0_1,
90
+ 'example-update-plan-step:0.0.1': EXAMPLE_UPDATE_PLAN_STEP_BACKEND_TOOL_SPEC_0_0_1,
91
+ 'example-update-plan-step': EXAMPLE_UPDATE_PLAN_STEP_BACKEND_TOOL_SPEC_0_0_1,
92
+ 'runtime-echo:0.0.1': RUNTIME_ECHO_BACKEND_TOOL_SPEC_0_0_1,
93
+ 'runtime-echo': RUNTIME_ECHO_BACKEND_TOOL_SPEC_0_0_1,
94
+ 'runtime-send-mail:0.0.1': RUNTIME_SEND_MAIL_BACKEND_TOOL_SPEC_0_0_1,
95
+ 'runtime-send-mail': RUNTIME_SEND_MAIL_BACKEND_TOOL_SPEC_0_0_1,
96
+ 'runtime-sensitive-echo:0.0.1': RUNTIME_SENSITIVE_ECHO_BACKEND_TOOL_SPEC_0_0_1,
97
+ 'runtime-sensitive-echo': RUNTIME_SENSITIVE_ECHO_BACKEND_TOOL_SPEC_0_0_1,
96
98
  };
97
99
  /**
98
100
  * Map frontend tool IDs to FrontendToolSpec objects.
@@ -125,7 +127,7 @@ export const EXAMPLE_A2A_RESEARCHER_AGENTSPEC_0_0_1 = {
125
127
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
126
128
  mcpServers: [],
127
129
  skills: [].filter(Boolean),
128
- tools: [],
130
+ backendTools: [],
129
131
  frontendTools: [],
130
132
  environmentName: 'ai-agents-env',
131
133
  icon: 'search',
@@ -177,7 +179,7 @@ export const EXAMPLE_A2A_WRITER_AGENTSPEC_0_0_1 = {
177
179
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
178
180
  mcpServers: [],
179
181
  skills: [].filter(Boolean),
180
- tools: [],
182
+ backendTools: [],
181
183
  frontendTools: [],
182
184
  environmentName: 'ai-agents-env',
183
185
  icon: 'pencil',
@@ -229,7 +231,7 @@ export const EXAMPLE_A2A_AGENTSPEC_0_0_1 = {
229
231
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
230
232
  mcpServers: [],
231
233
  skills: [].filter(Boolean),
232
- tools: [],
234
+ backendTools: [],
233
235
  frontendTools: [],
234
236
  environmentName: 'ai-agents-env',
235
237
  icon: 'broadcast',
@@ -307,7 +309,7 @@ export const EXAMPLE_A2UI_AGENT_SPEC_0_0_1 = {
307
309
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
308
310
  mcpServers: [],
309
311
  skills: [].filter(Boolean),
310
- tools: [TOOL_MAP['example-render-a2ui-surface:0.0.1']],
312
+ backendTools: [TOOL_MAP['example-render-a2ui-surface:0.0.1']],
311
313
  frontendTools: [],
312
314
  frontendRenderTools: [
313
315
  { tool: 'render_a2ui_surface', renderer: 'a2ui-surface' },
@@ -392,7 +394,7 @@ export const EXAMPLE_A2UI_JUPYTER_OUTPUT_AGENTSPEC_0_0_1 = {
392
394
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
393
395
  mcpServers: [],
394
396
  skills: [].filter(Boolean),
395
- tools: [],
397
+ backendTools: [],
396
398
  frontendTools: [],
397
399
  environmentName: 'ai-agents-env',
398
400
  icon: 'notebook',
@@ -501,7 +503,7 @@ export const EXAMPLE_A2UI_VIEWER_AGENTSPEC_0_0_1 = {
501
503
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
502
504
  mcpServers: [],
503
505
  skills: [].filter(Boolean),
504
- tools: [TOOL_MAP['example-render-a2ui-surface:0.0.1']],
506
+ backendTools: [TOOL_MAP['example-render-a2ui-surface:0.0.1']],
505
507
  frontendTools: [],
506
508
  frontendRenderTools: [
507
509
  { tool: 'render_a2ui_surface', renderer: 'a2ui-surface' },
@@ -616,7 +618,7 @@ export const EXAMPLE_AGENT_CRITIC_LOOP_FOR_ANALYSIS_AGENTSPEC_0_0_1 = {
616
618
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
617
619
  : undefined,
618
620
  ].filter(Boolean),
619
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
621
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
620
622
  frontendTools: [
621
623
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
622
624
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -671,7 +673,7 @@ export const EXAMPLE_AGENTIC_CHAT_AGENTSPEC_0_0_1 = {
671
673
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
672
674
  mcpServers: [],
673
675
  skills: [].filter(Boolean),
674
- tools: [TOOL_MAP['example-current-time:0.0.1']],
676
+ backendTools: [TOOL_MAP['example-current-time:0.0.1']],
675
677
  frontendTools: [],
676
678
  environmentName: 'ai-agents-env',
677
679
  icon: 'clock',
@@ -722,7 +724,7 @@ export const EXAMPLE_AGENTIC_GENERATIVE_UI_AGENTSPEC_0_0_1 = {
722
724
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
723
725
  mcpServers: [],
724
726
  skills: [].filter(Boolean),
725
- tools: [
727
+ backendTools: [
726
728
  TOOL_MAP['example-create-plan:0.0.1'],
727
729
  TOOL_MAP['example-update-plan-step:0.0.1'],
728
730
  ],
@@ -797,7 +799,7 @@ export const EXAMPLE_AI_CREATES_DASHBOARDS_AGENTSPEC_0_0_1 = {
797
799
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
798
800
  : undefined,
799
801
  ].filter(Boolean),
800
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
802
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
801
803
  frontendTools: [
802
804
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
803
805
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -856,7 +858,7 @@ export const EXAMPLE_AI_EXPLAINS_NOTEBOOK_OUTPUT_AGENTSPEC_0_0_1 = {
856
858
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
857
859
  : undefined,
858
860
  ].filter(Boolean),
859
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
861
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
860
862
  frontendTools: [
861
863
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
862
864
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -915,7 +917,7 @@ export const EXAMPLE_AI_WRITES_PANDAS_CODE_AGENTSPEC_0_0_1 = {
915
917
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
916
918
  : undefined,
917
919
  ].filter(Boolean),
918
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
920
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
919
921
  frontendTools: [
920
922
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
921
923
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -974,7 +976,7 @@ export const EXAMPLE_ANALYZE_EXCEL_SPREADSHEET_AGENTSPEC_0_0_1 = {
974
976
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
975
977
  : undefined,
976
978
  ].filter(Boolean),
977
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
979
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
978
980
  frontendTools: [
979
981
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
980
982
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -1029,7 +1031,7 @@ export const EXAMPLE_BACKEND_TOOL_RENDERING_AGENTSPEC_0_0_1 = {
1029
1031
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
1030
1032
  mcpServers: [],
1031
1033
  skills: [].filter(Boolean),
1032
- tools: [TOOL_MAP['example-get-weather:0.0.1']],
1034
+ backendTools: [TOOL_MAP['example-get-weather:0.0.1']],
1033
1035
  frontendTools: [],
1034
1036
  frontendRenderTools: [
1035
1037
  { tool: 'get_weather', renderer: 'weather-card', css: 'weather-card.css' },
@@ -1099,7 +1101,7 @@ export const EXAMPLE_BUILD_NOTEBOOK_WITH_ONE_PROMPT_AGENTSPEC_0_0_1 = {
1099
1101
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1100
1102
  : undefined,
1101
1103
  ].filter(Boolean),
1102
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
1104
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
1103
1105
  frontendTools: [
1104
1106
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
1105
1107
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -1154,7 +1156,7 @@ export const EXAMPLE_CHECKPOINTS_AGENTSPEC_0_0_1 = {
1154
1156
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
1155
1157
  mcpServers: [],
1156
1158
  skills: [].filter(Boolean),
1157
- tools: [],
1159
+ backendTools: [],
1158
1160
  frontendTools: [],
1159
1161
  environmentName: 'ai-agents-env',
1160
1162
  icon: 'versions',
@@ -1226,7 +1228,7 @@ export const EXAMPLE_CLOUDFLARE_AGENTSPEC_0_0_1 = {
1226
1228
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1227
1229
  : undefined,
1228
1230
  ].filter(Boolean),
1229
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
1231
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
1230
1232
  frontendTools: [],
1231
1233
  environmentName: 'ai-agents-env',
1232
1234
  icon: 'cloud',
@@ -1286,7 +1288,7 @@ export const EXAMPLE_CODE_SANDBOX_AGENTSPEC_0_0_1 = {
1286
1288
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
1287
1289
  mcpServers: [],
1288
1290
  skills: [].filter(Boolean),
1289
- tools: [],
1291
+ backendTools: [],
1290
1292
  frontendTools: [],
1291
1293
  environmentName: 'ai-agents-env',
1292
1294
  icon: 'codespaces',
@@ -1350,7 +1352,7 @@ export const EXAMPLE_CODEMODE_AGENTSPEC_0_0_1 = {
1350
1352
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1351
1353
  : undefined,
1352
1354
  ].filter(Boolean),
1353
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
1355
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
1354
1356
  disableToolApprovals: true,
1355
1357
  frontendTools: [],
1356
1358
  environmentName: 'ai-agents-env',
@@ -1412,7 +1414,7 @@ export const EXAMPLE_COMPACTION_AGENTSPEC_0_0_1 = {
1412
1414
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
1413
1415
  mcpServers: [],
1414
1416
  skills: [].filter(Boolean),
1415
- tools: [],
1417
+ backendTools: [],
1416
1418
  frontendTools: [],
1417
1419
  environmentName: 'ai-agents-env',
1418
1420
  icon: 'history',
@@ -1476,7 +1478,7 @@ export const EXAMPLE_COMPARE_TWO_SPREADSHEETS_AGENTSPEC_0_0_1 = {
1476
1478
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1477
1479
  : undefined,
1478
1480
  ].filter(Boolean),
1479
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
1481
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
1480
1482
  frontendTools: [
1481
1483
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
1482
1484
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -1535,7 +1537,7 @@ export const EXAMPLE_COST_COMPARISON_REPORT_AGENTSPEC_0_0_1 = {
1535
1537
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1536
1538
  : undefined,
1537
1539
  ].filter(Boolean),
1538
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
1540
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
1539
1541
  frontendTools: [
1540
1542
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
1541
1543
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -1596,7 +1598,7 @@ export const EXAMPLE_DECKS_AGENTSPEC_0_0_1 = {
1596
1598
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
1597
1599
  mcpServers: [],
1598
1600
  skills: [].filter(Boolean),
1599
- tools: [],
1601
+ backendTools: [],
1600
1602
  frontendTools: [FRONTEND_TOOL_MAP['decks:0.0.1']],
1601
1603
  environmentName: 'ai-agents-env',
1602
1604
  icon: 'project',
@@ -1726,7 +1728,7 @@ export const EXAMPLE_DOCUMENT_AGENT_SIDEBAR_AGENTSPEC_0_0_1 = {
1726
1728
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1727
1729
  : undefined,
1728
1730
  ].filter(Boolean),
1729
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
1731
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
1730
1732
  frontendTools: [FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
1731
1733
  environmentName: 'ai-agents-env',
1732
1734
  icon: 'file',
@@ -1791,7 +1793,7 @@ export const EXAMPLE_DOCUMENT_AGENT_SPEC_0_0_1 = {
1791
1793
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1792
1794
  : undefined,
1793
1795
  ].filter(Boolean),
1794
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
1796
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
1795
1797
  frontendTools: [FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
1796
1798
  environmentName: 'ai-agents-env',
1797
1799
  icon: 'file',
@@ -1859,7 +1861,7 @@ export const EXAMPLE_EVALS_NOCODEMODE_AGENTSPEC_0_0_1 = {
1859
1861
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1860
1862
  : undefined,
1861
1863
  ].filter(Boolean),
1862
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
1864
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
1863
1865
  disableToolApprovals: true,
1864
1866
  frontendTools: [
1865
1867
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
@@ -1921,7 +1923,7 @@ export const EXAMPLE_EVALS_AGENTSPEC_0_0_1 = {
1921
1923
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1922
1924
  : undefined,
1923
1925
  ].filter(Boolean),
1924
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
1926
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
1925
1927
  disableToolApprovals: true,
1926
1928
  frontendTools: [],
1927
1929
  environmentName: 'ai-agents-env',
@@ -1980,7 +1982,7 @@ export const EXAMPLE_EXPLORE_SQL_DATABASE_AGENTSPEC_0_0_1 = {
1980
1982
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1981
1983
  : undefined,
1982
1984
  ].filter(Boolean),
1983
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
1985
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
1984
1986
  frontendTools: [
1985
1987
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
1986
1988
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -2039,7 +2041,7 @@ export const EXAMPLE_FIVE_AI_AGENTS_ANALYZE_CSV_AGENTSPEC_0_0_1 = {
2039
2041
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
2040
2042
  : undefined,
2041
2043
  ].filter(Boolean),
2042
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
2044
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
2043
2045
  frontendTools: [
2044
2046
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
2045
2047
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -2098,7 +2100,7 @@ export const EXAMPLE_FIVE_NOTEBOOKS_IN_PARALLEL_AGENTSPEC_0_0_1 = {
2098
2100
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
2099
2101
  : undefined,
2100
2102
  ].filter(Boolean),
2101
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
2103
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
2102
2104
  frontendTools: [
2103
2105
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
2104
2106
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -2175,7 +2177,7 @@ export const EXAMPLE_FULL_AGENTSPEC_0_0_1 = {
2175
2177
  ? toAgentSkillSpec(SKILL_MAP['datalayer-whoami:1.0.0'])
2176
2178
  : undefined,
2177
2179
  ].filter(Boolean),
2178
- tools: [
2180
+ backendTools: [
2179
2181
  TOOL_MAP['runtime-echo:0.0.1'],
2180
2182
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
2181
2183
  ],
@@ -2263,7 +2265,7 @@ export const EXAMPLE_GPT_AND_CLAUDE_COLLABORATE_AGENTSPEC_0_0_1 = {
2263
2265
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
2264
2266
  : undefined,
2265
2267
  ].filter(Boolean),
2266
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
2268
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
2267
2269
  frontendTools: [
2268
2270
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
2269
2271
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -2322,7 +2324,7 @@ export const EXAMPLE_GUARDRAILS_AGENTSPEC_0_0_1 = {
2322
2324
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
2323
2325
  : undefined,
2324
2326
  ].filter(Boolean),
2325
- tools: [
2327
+ backendTools: [
2326
2328
  TOOL_MAP['runtime-echo:0.0.1'],
2327
2329
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
2328
2330
  ],
@@ -2428,7 +2430,7 @@ export const EXAMPLE_HAIKU_GENERATIVE_UI_AGENTSPEC_0_0_1 = {
2428
2430
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
2429
2431
  mcpServers: [],
2430
2432
  skills: [].filter(Boolean),
2431
- tools: [TOOL_MAP['example-generate-haiku:0.0.1']],
2433
+ backendTools: [TOOL_MAP['example-generate-haiku:0.0.1']],
2432
2434
  frontendTools: [],
2433
2435
  frontendRenderTools: [
2434
2436
  { tool: 'generate_haiku', renderer: 'haiku-card', css: 'haiku-card.css' },
@@ -2508,7 +2510,7 @@ export const EXAMPLE_HOOKS_AGENTSPEC_0_0_1 = {
2508
2510
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
2509
2511
  mcpServers: [],
2510
2512
  skills: [].filter(Boolean),
2511
- tools: [
2513
+ backendTools: [
2512
2514
  TOOL_MAP['runtime-echo:0.0.1'],
2513
2515
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
2514
2516
  ],
@@ -2636,7 +2638,7 @@ export const EXAMPLE_HUMAN_APPROVED_AUTOMATION_AGENTSPEC_0_0_1 = {
2636
2638
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
2637
2639
  : undefined,
2638
2640
  ].filter(Boolean),
2639
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
2641
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
2640
2642
  frontendTools: [
2641
2643
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
2642
2644
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -2691,7 +2693,7 @@ export const EXAMPLE_HUMAN_IN_THE_LOOP_AGENTSPEC_0_0_1 = {
2691
2693
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
2692
2694
  mcpServers: [],
2693
2695
  skills: [].filter(Boolean),
2694
- tools: [TOOL_MAP['example-generate-task-steps:0.0.1']],
2696
+ backendTools: [TOOL_MAP['example-generate-task-steps:0.0.1']],
2695
2697
  frontendTools: [],
2696
2698
  environmentName: 'ai-agents-env',
2697
2699
  icon: 'tasklist',
@@ -2765,7 +2767,7 @@ export const EXAMPLE_INFERENCE_AGENTSPEC_0_0_1 = {
2765
2767
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
2766
2768
  : undefined,
2767
2769
  ].filter(Boolean),
2768
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
2770
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
2769
2771
  frontendTools: [],
2770
2772
  environmentName: 'ai-agents-env',
2771
2773
  icon: 'pulse',
@@ -2829,7 +2831,7 @@ export const EXAMPLE_LONG_RUNNING_AGENT_OVERNIGHT_AGENTSPEC_0_0_1 = {
2829
2831
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
2830
2832
  : undefined,
2831
2833
  ].filter(Boolean),
2832
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
2834
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
2833
2835
  frontendTools: [
2834
2836
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
2835
2837
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -2891,7 +2893,7 @@ export const EXAMPLE_MCP_AGENTSPEC_0_0_1 = {
2891
2893
  ? toAgentSkillSpec(SKILL_MAP['jokes:0.0.1'])
2892
2894
  : undefined,
2893
2895
  ].filter(Boolean),
2894
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
2896
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
2895
2897
  disableToolApprovals: true,
2896
2898
  frontendTools: [],
2897
2899
  environmentName: 'ai-agents-env',
@@ -2960,7 +2962,7 @@ export const EXAMPLE_MEMORY_AGENTSPEC_0_0_1 = {
2960
2962
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
2961
2963
  : undefined,
2962
2964
  ].filter(Boolean),
2963
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
2965
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
2964
2966
  frontendTools: [],
2965
2967
  environmentName: 'ai-agents-env',
2966
2968
  icon: 'database',
@@ -3024,7 +3026,7 @@ export const EXAMPLE_MONITORING_AGENTSPEC_0_0_1 = {
3024
3026
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
3025
3027
  : undefined,
3026
3028
  ].filter(Boolean),
3027
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
3029
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
3028
3030
  frontendTools: [],
3029
3031
  environmentName: 'ai-agents-env',
3030
3032
  icon: 'pulse',
@@ -3088,7 +3090,7 @@ export const EXAMPLE_MULTI_AGENT_DATA_CLEANING_AGENTSPEC_0_0_1 = {
3088
3090
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
3089
3091
  : undefined,
3090
3092
  ].filter(Boolean),
3091
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
3093
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
3092
3094
  frontendTools: [
3093
3095
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
3094
3096
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -3147,7 +3149,7 @@ export const EXAMPLE_MULTI_AGENT_ROOT_CAUSE_ANALYSIS_AGENTSPEC_0_0_1 = {
3147
3149
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
3148
3150
  : undefined,
3149
3151
  ].filter(Boolean),
3150
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
3152
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
3151
3153
  frontendTools: [
3152
3154
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
3153
3155
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -3206,7 +3208,7 @@ export const EXAMPLE_NO_CODEMODE_AGENTSPEC_0_0_1 = {
3206
3208
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
3207
3209
  : undefined,
3208
3210
  ].filter(Boolean),
3209
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
3211
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
3210
3212
  disableToolApprovals: true,
3211
3213
  frontendTools: [],
3212
3214
  environmentName: 'ai-agents-env',
@@ -3267,7 +3269,7 @@ export const EXAMPLE_NOTIFICATIONS_AGENTSPEC_0_0_1 = {
3267
3269
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
3268
3270
  mcpServers: [],
3269
3271
  skills: [].filter(Boolean),
3270
- tools: [],
3272
+ backendTools: [],
3271
3273
  frontendTools: [],
3272
3274
  environmentName: 'ai-agents-env',
3273
3275
  icon: 'bell',
@@ -3331,7 +3333,7 @@ export const EXAMPLE_ONE_TRIGGER_APPROVAL_AGENTSPEC_0_0_1 = {
3331
3333
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
3332
3334
  mcpServers: [],
3333
3335
  skills: [].filter(Boolean),
3334
- tools: [TOOL_MAP['runtime-sensitive-echo:0.0.1']],
3336
+ backendTools: [TOOL_MAP['runtime-sensitive-echo:0.0.1']],
3335
3337
  frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1']],
3336
3338
  environmentName: 'ai-agents-env',
3337
3339
  icon: 'shield',
@@ -3390,7 +3392,7 @@ export const EXAMPLE_ONE_TRIGGER_AGENTSPEC_0_0_1 = {
3390
3392
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
3391
3393
  : undefined,
3392
3394
  ].filter(Boolean),
3393
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
3395
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
3394
3396
  disableToolApprovals: true,
3395
3397
  frontendTools: [],
3396
3398
  environmentName: 'ai-agents-env',
@@ -3459,7 +3461,7 @@ export const EXAMPLE_OTEL_AGENTSPEC_0_0_1 = {
3459
3461
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
3460
3462
  : undefined,
3461
3463
  ].filter(Boolean),
3462
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
3464
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
3463
3465
  frontendTools: [],
3464
3466
  environmentName: 'ai-agents-env',
3465
3467
  icon: 'telescope',
@@ -3520,7 +3522,7 @@ export const EXAMPLE_OUTPUT_AGENTSPEC_0_0_1 = {
3520
3522
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
3521
3523
  mcpServers: [],
3522
3524
  skills: [].filter(Boolean),
3523
- tools: [],
3525
+ backendTools: [],
3524
3526
  disableToolApprovals: true,
3525
3527
  frontendTools: [],
3526
3528
  environmentName: 'ai-agents-env',
@@ -3594,7 +3596,7 @@ export const EXAMPLE_PARAMETERS_AGENTSPEC_0_0_1 = {
3594
3596
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
3595
3597
  mcpServers: [],
3596
3598
  skills: [].filter(Boolean),
3597
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
3599
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
3598
3600
  frontendTools: [],
3599
3601
  environmentName: 'ai-agents-env',
3600
3602
  icon: 'sliders',
@@ -3678,7 +3680,7 @@ export const EXAMPLE_REPLACE_EXCEL_PIVOT_WORK_AGENTSPEC_0_0_1 = {
3678
3680
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
3679
3681
  : undefined,
3680
3682
  ].filter(Boolean),
3681
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
3683
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
3682
3684
  frontendTools: [
3683
3685
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
3684
3686
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -3737,7 +3739,7 @@ export const EXAMPLE_RESUMABLE_ETL_WITH_CHECKPOINTS_AGENTSPEC_0_0_1 = {
3737
3739
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
3738
3740
  : undefined,
3739
3741
  ].filter(Boolean),
3740
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
3742
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
3741
3743
  frontendTools: [
3742
3744
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
3743
3745
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -3796,7 +3798,7 @@ export const EXAMPLE_RUN_PYTHON_SAFELY_IN_THE_CLOUD_AGENTSPEC_0_0_1 = {
3796
3798
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
3797
3799
  : undefined,
3798
3800
  ].filter(Boolean),
3799
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
3801
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
3800
3802
  frontendTools: [
3801
3803
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
3802
3804
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -3851,7 +3853,7 @@ export const EXAMPLE_SANDBOX_COLAB_AGENTSPEC_0_0_1 = {
3851
3853
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
3852
3854
  mcpServers: [],
3853
3855
  skills: [].filter(Boolean),
3854
- tools: [],
3856
+ backendTools: [],
3855
3857
  frontendTools: [],
3856
3858
  environmentName: 'ai-agents-env',
3857
3859
  icon: 'package',
@@ -3911,7 +3913,7 @@ export const EXAMPLE_SANDBOX_DATALAYER_AGENTSPEC_0_0_1 = {
3911
3913
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
3912
3914
  mcpServers: [],
3913
3915
  skills: [].filter(Boolean),
3914
- tools: [],
3916
+ backendTools: [],
3915
3917
  frontendTools: [],
3916
3918
  environmentName: 'ai-agents-env',
3917
3919
  icon: 'package',
@@ -3971,7 +3973,7 @@ export const EXAMPLE_SANDBOX_DOCKER_AGENTSPEC_0_0_1 = {
3971
3973
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
3972
3974
  mcpServers: [],
3973
3975
  skills: [].filter(Boolean),
3974
- tools: [],
3976
+ backendTools: [],
3975
3977
  frontendTools: [],
3976
3978
  environmentName: 'ai-agents-env',
3977
3979
  icon: 'package',
@@ -4031,7 +4033,7 @@ export const EXAMPLE_SANDBOX_EVAL_AGENTSPEC_0_0_1 = {
4031
4033
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
4032
4034
  mcpServers: [],
4033
4035
  skills: [].filter(Boolean),
4034
- tools: [],
4036
+ backendTools: [],
4035
4037
  frontendTools: [],
4036
4038
  environmentName: 'ai-agents-env',
4037
4039
  icon: 'package',
@@ -4091,7 +4093,7 @@ export const EXAMPLE_SANDBOX_JUPYTER_AGENTSPEC_0_0_1 = {
4091
4093
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
4092
4094
  mcpServers: [],
4093
4095
  skills: [].filter(Boolean),
4094
- tools: [],
4096
+ backendTools: [],
4095
4097
  frontendTools: [],
4096
4098
  environmentName: 'ai-agents-env',
4097
4099
  icon: 'package',
@@ -4151,7 +4153,7 @@ export const EXAMPLE_SANDBOX_KAGGLE_AGENTSPEC_0_0_1 = {
4151
4153
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
4152
4154
  mcpServers: [],
4153
4155
  skills: [].filter(Boolean),
4154
- tools: [],
4156
+ backendTools: [],
4155
4157
  frontendTools: [],
4156
4158
  environmentName: 'ai-agents-env',
4157
4159
  icon: 'package',
@@ -4211,7 +4213,7 @@ export const EXAMPLE_SANDBOX_MODAL_AGENTSPEC_0_0_1 = {
4211
4213
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
4212
4214
  mcpServers: [],
4213
4215
  skills: [].filter(Boolean),
4214
- tools: [],
4216
+ backendTools: [],
4215
4217
  frontendTools: [],
4216
4218
  environmentName: 'ai-agents-env',
4217
4219
  icon: 'package',
@@ -4271,7 +4273,7 @@ export const EXAMPLE_SANDBOX_MONTY_AGENTSPEC_0_0_1 = {
4271
4273
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
4272
4274
  mcpServers: [],
4273
4275
  skills: [].filter(Boolean),
4274
- tools: [],
4276
+ backendTools: [],
4275
4277
  frontendTools: [],
4276
4278
  environmentName: 'ai-agents-env',
4277
4279
  icon: 'package',
@@ -4331,7 +4333,7 @@ export const EXAMPLE_SHARED_STATE_AGENTSPEC_0_0_1 = {
4331
4333
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
4332
4334
  mcpServers: [],
4333
4335
  skills: [].filter(Boolean),
4334
- tools: [TOOL_MAP['example-display-recipe:0.0.1']],
4336
+ backendTools: [TOOL_MAP['example-display-recipe:0.0.1']],
4335
4337
  frontendTools: [],
4336
4338
  environmentName: 'ai-agents-env',
4337
4339
  icon: 'book',
@@ -4397,7 +4399,7 @@ export const EXAMPLE_SIMPLE_AGENTSPEC_0_0_1 = {
4397
4399
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
4398
4400
  : undefined,
4399
4401
  ].filter(Boolean),
4400
- tools: [TOOL_MAP['runtime-echo:0.0.1'], TOOL_MAP['decide:0.0.1']],
4402
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1'], TOOL_MAP['decide:0.0.1']],
4401
4403
  frontendTools: [
4402
4404
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
4403
4405
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -4496,7 +4498,7 @@ export const EXAMPLE_SKILLS_AGENTSPEC_0_0_1 = {
4496
4498
  ? toAgentSkillSpec(SKILL_MAP['datalayer-whoami:1.0.0'])
4497
4499
  : undefined,
4498
4500
  ].filter(Boolean),
4499
- tools: [],
4501
+ backendTools: [],
4500
4502
  frontendTools: [],
4501
4503
  environmentName: 'ai-agents-env',
4502
4504
  icon: 'briefcase',
@@ -4564,7 +4566,7 @@ export const EXAMPLE_SUBAGENTS_AGENTSPEC_0_0_1 = {
4564
4566
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
4565
4567
  : undefined,
4566
4568
  ].filter(Boolean),
4567
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
4569
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
4568
4570
  frontendTools: [],
4569
4571
  environmentName: 'ai-agents-env',
4570
4572
  icon: 'people',
@@ -4640,7 +4642,7 @@ export const EXAMPLE_TOOL_APPROVALS_AGENTSPEC_0_0_1 = {
4640
4642
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
4641
4643
  mcpServers: [],
4642
4644
  skills: [].filter(Boolean),
4643
- tools: [
4645
+ backendTools: [
4644
4646
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
4645
4647
  TOOL_MAP['runtime-echo:0.0.1'],
4646
4648
  ],
@@ -4743,7 +4745,7 @@ export const EXAMPLE_TOOL_BASED_GENERATIVE_UI_AGENTSPEC_0_0_1 = {
4743
4745
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
4744
4746
  mcpServers: [],
4745
4747
  skills: [].filter(Boolean),
4746
- tools: [],
4748
+ backendTools: [],
4747
4749
  frontendTools: [],
4748
4750
  environmentName: 'ai-agents-env',
4749
4751
  icon: 'browser',
@@ -4800,7 +4802,7 @@ export const JUPYTER_CELL_FIXER_AGENTSPEC_0_0_1 = {
4800
4802
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
4801
4803
  mcpServers: [],
4802
4804
  skills: [].filter(Boolean),
4803
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
4805
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
4804
4806
  frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook-propose:0.0.1']],
4805
4807
  environmentName: 'ai-agents-env',
4806
4808
  icon: 'bug',
@@ -4902,7 +4904,7 @@ export const JUPYTER_DATA_ANALYST_AGENTSPEC_0_0_1 = {
4902
4904
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
4903
4905
  mcpServers: [],
4904
4906
  skills: [].filter(Boolean),
4905
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
4907
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
4906
4908
  frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1']],
4907
4909
  environmentName: 'ai-agents-env',
4908
4910
  icon: 'graph',
@@ -5038,7 +5040,7 @@ export const JUPYTER_NOTEBOOK_COMPACTOR_AGENTSPEC_0_0_1 = {
5038
5040
  modelAdditionals: ['alibaba:qwen-max'],
5039
5041
  mcpServers: [],
5040
5042
  skills: [].filter(Boolean),
5041
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
5043
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
5042
5044
  frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook-edit:0.0.1']],
5043
5045
  environmentName: 'ai-agents-env',
5044
5046
  icon: 'fold',
@@ -5139,7 +5141,7 @@ export const JUPYTER_NOTEBOOK_REPRODUCER_AGENTSPEC_0_0_1 = {
5139
5141
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
5140
5142
  mcpServers: [],
5141
5143
  skills: [].filter(Boolean),
5142
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
5144
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
5143
5145
  frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook-read:0.0.1']],
5144
5146
  environmentName: 'ai-agents-env',
5145
5147
  icon: 'sync',
@@ -5240,7 +5242,7 @@ export const JUPYTER_NOTEBOOK_REVIEWER_AGENTSPEC_0_0_1 = {
5240
5242
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
5241
5243
  mcpServers: [],
5242
5244
  skills: [].filter(Boolean),
5243
- tools: [],
5245
+ backendTools: [],
5244
5246
  frontendTools: [],
5245
5247
  environmentName: 'ai-agents-env',
5246
5248
  icon: 'checklist',
@@ -5326,7 +5328,7 @@ export const JUPYTER_NOTEBOOK_WRITER_AGENTSPEC_0_0_1 = {
5326
5328
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
5327
5329
  mcpServers: [],
5328
5330
  skills: [].filter(Boolean),
5329
- tools: [],
5331
+ backendTools: [],
5330
5332
  frontendTools: [],
5331
5333
  environmentName: 'ai-agents-env',
5332
5334
  icon: 'pencil',
@@ -5423,7 +5425,7 @@ export const JUPYTER_TUTOR_AGENTSPEC_0_0_1 = {
5423
5425
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
5424
5426
  mcpServers: [],
5425
5427
  skills: [].filter(Boolean),
5426
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
5428
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
5427
5429
  frontendTools: [
5428
5430
  FRONTEND_TOOL_MAP['jupyter-notebook-read:0.0.1'],
5429
5431
  FRONTEND_TOOL_MAP['jupyter-notebook-propose:0.0.1'],
@@ -5586,7 +5588,7 @@ export const LOOP_SHELL_AGENTSPEC_0_0_1 = {
5586
5588
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
5587
5589
  mcpServers: [],
5588
5590
  skills: [].filter(Boolean),
5589
- tools: [],
5591
+ backendTools: [],
5590
5592
  frontendTools: [],
5591
5593
  environmentName: 'ai-agents-env',
5592
5594
  icon: 'browser',
@@ -5727,7 +5729,7 @@ export const WORKER_ACCOUNTANT_AGENTSPEC_0_0_1 = {
5727
5729
  ? toAgentSkillSpec(SKILL_MAP['accounting:0.0.1'])
5728
5730
  : undefined,
5729
5731
  ].filter(Boolean),
5730
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
5732
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
5731
5733
  frontendTools: [
5732
5734
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
5733
5735
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -5798,7 +5800,7 @@ export const WORKER_AGENT_REVIEWS_SQL_AGENTSPEC_0_0_1 = {
5798
5800
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
5799
5801
  : undefined,
5800
5802
  ].filter(Boolean),
5801
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
5803
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
5802
5804
  frontendTools: [
5803
5805
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
5804
5806
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -5866,7 +5868,7 @@ export const WORKER_ANALYZE_CAMPAIGN_PERFORMANCE_AGENTSPEC_0_0_1 = {
5866
5868
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
5867
5869
  : undefined,
5868
5870
  ].filter(Boolean),
5869
- tools: [],
5871
+ backendTools: [],
5870
5872
  frontendTools: [
5871
5873
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
5872
5874
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -6018,7 +6020,7 @@ export const WORKER_ANALYZE_SUPPORT_TICKETS_AGENTSPEC_0_0_1 = {
6018
6020
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
6019
6021
  : undefined,
6020
6022
  ].filter(Boolean),
6021
- tools: [],
6023
+ backendTools: [],
6022
6024
  frontendTools: [
6023
6025
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
6024
6026
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -6129,7 +6131,7 @@ export const WORKER_AP_INVOICE_AGENTSPEC_0_0_1 = {
6129
6131
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
6130
6132
  : undefined,
6131
6133
  ].filter(Boolean),
6132
- tools: [
6134
+ backendTools: [
6133
6135
  TOOL_MAP['runtime-echo:0.0.1'],
6134
6136
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
6135
6137
  ],
@@ -6196,7 +6198,7 @@ export const WORKER_AUDIT_INVENTORY_LEVELS_AGENTSPEC_0_0_1 = {
6196
6198
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
6197
6199
  : undefined,
6198
6200
  ].filter(Boolean),
6199
- tools: [],
6201
+ backendTools: [],
6200
6202
  frontendTools: [
6201
6203
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
6202
6204
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -6300,7 +6302,7 @@ export const WORKER_AUDIT_PACK_BUILDER_AGENTSPEC_0_0_1 = {
6300
6302
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
6301
6303
  : undefined,
6302
6304
  ].filter(Boolean),
6303
- tools: [
6305
+ backendTools: [
6304
6306
  TOOL_MAP['runtime-echo:0.0.1'],
6305
6307
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
6306
6308
  ],
@@ -6363,7 +6365,7 @@ export const WORKER_AUTOMATE_REGULATORY_REPORTING_AGENTSPEC_0_0_1 = {
6363
6365
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
6364
6366
  : undefined,
6365
6367
  ].filter(Boolean),
6366
- tools: [],
6368
+ backendTools: [],
6367
6369
  frontendTools: [
6368
6370
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
6369
6371
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -6501,7 +6503,7 @@ export const WORKER_BACKTEST_AUDITOR_AGENTSPEC_0_0_1 = {
6501
6503
  ? toAgentSkillSpec(SKILL_MAP['text-summarizer:0.0.1'])
6502
6504
  : undefined,
6503
6505
  ].filter(Boolean),
6504
- tools: [
6506
+ backendTools: [
6505
6507
  TOOL_MAP['runtime-echo:0.0.1'],
6506
6508
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
6507
6509
  ],
@@ -6561,7 +6563,7 @@ export const WORKER_BANK_RECONCILIATION_AGENTSPEC_0_0_1 = {
6561
6563
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
6562
6564
  : undefined,
6563
6565
  ].filter(Boolean),
6564
- tools: [
6566
+ backendTools: [
6565
6567
  TOOL_MAP['runtime-echo:0.0.1'],
6566
6568
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
6567
6569
  ],
@@ -6624,7 +6626,7 @@ export const WORKER_CAMPAIGN_PLANNING_AGENTSPEC_0_0_1 = {
6624
6626
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
6625
6627
  : undefined,
6626
6628
  ].filter(Boolean),
6627
- tools: [
6629
+ backendTools: [
6628
6630
  TOOL_MAP['runtime-echo:0.0.1'],
6629
6631
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
6630
6632
  ],
@@ -6687,7 +6689,7 @@ export const WORKER_CAT_EXPOSURE_AGENTSPEC_0_0_1 = {
6687
6689
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
6688
6690
  : undefined,
6689
6691
  ].filter(Boolean),
6690
- tools: [
6692
+ backendTools: [
6691
6693
  TOOL_MAP['runtime-echo:0.0.1'],
6692
6694
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
6693
6695
  ],
@@ -6750,7 +6752,7 @@ export const WORKER_CHANGE_DETECTION_AGENTSPEC_0_0_1 = {
6750
6752
  ? toAgentSkillSpec(SKILL_MAP['crawl:0.0.1'])
6751
6753
  : undefined,
6752
6754
  ].filter(Boolean),
6753
- tools: [
6755
+ backendTools: [
6754
6756
  TOOL_MAP['runtime-echo:0.0.1'],
6755
6757
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
6756
6758
  ],
@@ -6816,7 +6818,7 @@ export const WORKER_CLASSIFY_ROUTE_EMAILS_AGENTSPEC_0_0_1 = {
6816
6818
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
6817
6819
  : undefined,
6818
6820
  ].filter(Boolean),
6819
- tools: [],
6821
+ backendTools: [],
6820
6822
  frontendTools: [
6821
6823
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
6822
6824
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -6923,7 +6925,7 @@ export const WORKER_CMS_ASTRO_AGENTSPEC_0_0_1 = {
6923
6925
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
6924
6926
  mcpServers: [],
6925
6927
  skills: [].filter(Boolean),
6926
- tools: [],
6928
+ backendTools: [],
6927
6929
  frontendTools: [],
6928
6930
  environmentName: 'ai-agents-env',
6929
6931
  icon: 'file-added',
@@ -7085,7 +7087,7 @@ export const WORKER_CODING_TUTOR_AGENTSPEC_0_0_1 = {
7085
7087
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
7086
7088
  : undefined,
7087
7089
  ].filter(Boolean),
7088
- tools: [
7090
+ backendTools: [
7089
7091
  TOOL_MAP['runtime-echo:0.0.1'],
7090
7092
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
7091
7093
  ],
@@ -7148,7 +7150,7 @@ export const WORKER_COHORT_COMPARISON_AGENTSPEC_0_0_1 = {
7148
7150
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
7149
7151
  : undefined,
7150
7152
  ].filter(Boolean),
7151
- tools: [
7153
+ backendTools: [
7152
7154
  TOOL_MAP['runtime-echo:0.0.1'],
7153
7155
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
7154
7156
  ],
@@ -7208,7 +7210,7 @@ export const WORKER_COLLECTIONS_AGENTSPEC_0_0_1 = {
7208
7210
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
7209
7211
  : undefined,
7210
7212
  ].filter(Boolean),
7211
- tools: [
7213
+ backendTools: [
7212
7214
  TOOL_MAP['runtime-echo:0.0.1'],
7213
7215
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
7214
7216
  ],
@@ -7271,7 +7273,7 @@ export const WORKER_COMMUNITY_RESPONSE_AGENTSPEC_0_0_1 = {
7271
7273
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
7272
7274
  : undefined,
7273
7275
  ].filter(Boolean),
7274
- tools: [
7276
+ backendTools: [
7275
7277
  TOOL_MAP['runtime-echo:0.0.1'],
7276
7278
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
7277
7279
  ],
@@ -7334,7 +7336,7 @@ export const WORKER_COMPETITIVE_INTELLIGENCE_AGENTSPEC_0_0_1 = {
7334
7336
  ? toAgentSkillSpec(SKILL_MAP['crawl:0.0.1'])
7335
7337
  : undefined,
7336
7338
  ].filter(Boolean),
7337
- tools: [
7339
+ backendTools: [
7338
7340
  TOOL_MAP['runtime-echo:0.0.1'],
7339
7341
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
7340
7342
  ],
@@ -7397,7 +7399,7 @@ export const WORKER_COMPLIANCE_REPORT_DRAFT_AGENTSPEC_0_0_1 = {
7397
7399
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
7398
7400
  : undefined,
7399
7401
  ].filter(Boolean),
7400
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
7402
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
7401
7403
  frontendTools: [
7402
7404
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
7403
7405
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -7470,7 +7472,7 @@ export const WORKER_COMPREHENSIVE_SALES_ANALYTICS_AGENTSPEC_0_0_1 = {
7470
7472
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
7471
7473
  : undefined,
7472
7474
  ].filter(Boolean),
7473
- tools: [],
7475
+ backendTools: [],
7474
7476
  frontendTools: [
7475
7477
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
7476
7478
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -7564,7 +7566,7 @@ export const WORKER_COMPUTE_COST_OPTIMIZER_AGENTSPEC_0_0_1 = {
7564
7566
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
7565
7567
  : undefined,
7566
7568
  ].filter(Boolean),
7567
- tools: [
7569
+ backendTools: [
7568
7570
  TOOL_MAP['runtime-echo:0.0.1'],
7569
7571
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
7570
7572
  ],
@@ -7627,7 +7629,7 @@ export const WORKER_CONTENT_REPURPOSING_AGENTSPEC_0_0_1 = {
7627
7629
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
7628
7630
  : undefined,
7629
7631
  ].filter(Boolean),
7630
- tools: [
7632
+ backendTools: [
7631
7633
  TOOL_MAP['runtime-echo:0.0.1'],
7632
7634
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
7633
7635
  ],
@@ -7688,7 +7690,7 @@ export const WORKER_CRAWLER_AGENTSPEC_0_0_1 = {
7688
7690
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
7689
7691
  : undefined,
7690
7692
  ].filter(Boolean),
7691
- tools: [],
7693
+ backendTools: [],
7692
7694
  frontendTools: [
7693
7695
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
7694
7696
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -7789,7 +7791,7 @@ export const WORKER_CROP_MONITORING_AGENTSPEC_0_0_1 = {
7789
7791
  ? toAgentSkillSpec(SKILL_MAP['crawl:0.0.1'])
7790
7792
  : undefined,
7791
7793
  ].filter(Boolean),
7792
- tools: [
7794
+ backendTools: [
7793
7795
  TOOL_MAP['runtime-echo:0.0.1'],
7794
7796
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
7795
7797
  ],
@@ -7846,7 +7848,7 @@ export const WORKER_CURTAILMENT_INVESTIGATOR_AGENTSPEC_0_0_1 = {
7846
7848
  ? toAgentSkillSpec(SKILL_MAP['text-summarizer:0.0.1'])
7847
7849
  : undefined,
7848
7850
  ].filter(Boolean),
7849
- tools: [
7851
+ backendTools: [
7850
7852
  TOOL_MAP['runtime-echo:0.0.1'],
7851
7853
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
7852
7854
  ],
@@ -7909,7 +7911,7 @@ export const WORKER_CUSTOMER_CHURN_ANALYSIS_AGENTSPEC_0_0_1 = {
7909
7911
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
7910
7912
  : undefined,
7911
7913
  ].filter(Boolean),
7912
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
7914
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
7913
7915
  frontendTools: [
7914
7916
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
7915
7917
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -7975,7 +7977,7 @@ export const WORKER_CUSTOMER_INTERVIEWER_AGENTSPEC_0_0_1 = {
7975
7977
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
7976
7978
  : undefined,
7977
7979
  ].filter(Boolean),
7978
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
7980
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
7979
7981
  frontendTools: [
7980
7982
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
7981
7983
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -8096,7 +8098,7 @@ export const WORKER_DATA_ACQUISITION_AGENTSPEC_0_0_1 = {
8096
8098
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
8097
8099
  : undefined,
8098
8100
  ].filter(Boolean),
8099
- tools: [],
8101
+ backendTools: [],
8100
8102
  frontendTools: [
8101
8103
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
8102
8104
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -8192,7 +8194,7 @@ export const WORKER_DISASTER_ASSESSMENT_AGENTSPEC_0_0_1 = {
8192
8194
  ? toAgentSkillSpec(SKILL_MAP['crawl:0.0.1'])
8193
8195
  : undefined,
8194
8196
  ].filter(Boolean),
8195
- tools: [
8197
+ backendTools: [
8196
8198
  TOOL_MAP['runtime-echo:0.0.1'],
8197
8199
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
8198
8200
  ],
@@ -8255,7 +8257,7 @@ export const WORKER_DOCUMENT_QA_AGENTSPEC_0_0_1 = {
8255
8257
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
8256
8258
  : undefined,
8257
8259
  ].filter(Boolean),
8258
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
8260
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
8259
8261
  frontendTools: [
8260
8262
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
8261
8263
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -8322,7 +8324,7 @@ export const WORKER_END_OF_MONTH_PERFORMANCE_AGENTSPEC_0_0_1 = {
8322
8324
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
8323
8325
  : undefined,
8324
8326
  ].filter(Boolean),
8325
- tools: [],
8327
+ backendTools: [],
8326
8328
  frontendTools: [
8327
8329
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
8328
8330
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -8543,7 +8545,7 @@ export const WORKER_ENERGY_TRADING_ANALYST_AGENTSPEC_0_0_1 = {
8543
8545
  ? toAgentSkillSpec(SKILL_MAP['text-summarizer:0.0.1'])
8544
8546
  : undefined,
8545
8547
  ].filter(Boolean),
8546
- tools: [
8548
+ backendTools: [
8547
8549
  TOOL_MAP['runtime-echo:0.0.1'],
8548
8550
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
8549
8551
  ],
@@ -8606,7 +8608,7 @@ export const WORKER_ENVIRONMENTAL_COMPLIANCE_AGENTSPEC_0_0_1 = {
8606
8608
  ? toAgentSkillSpec(SKILL_MAP['crawl:0.0.1'])
8607
8609
  : undefined,
8608
8610
  ].filter(Boolean),
8609
- tools: [
8611
+ backendTools: [
8610
8612
  TOOL_MAP['runtime-echo:0.0.1'],
8611
8613
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
8612
8614
  ],
@@ -8669,7 +8671,7 @@ export const WORKER_EVENT_RESPONSE_AGENTSPEC_0_0_1 = {
8669
8671
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
8670
8672
  : undefined,
8671
8673
  ].filter(Boolean),
8672
- tools: [
8674
+ backendTools: [
8673
8675
  TOOL_MAP['runtime-echo:0.0.1'],
8674
8676
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
8675
8677
  ],
@@ -8732,7 +8734,7 @@ export const WORKER_EVIDENCE_REPOSITORY_AGENTSPEC_0_0_1 = {
8732
8734
  ? toAgentSkillSpec(SKILL_MAP['crawl:0.0.1'])
8733
8735
  : undefined,
8734
8736
  ].filter(Boolean),
8735
- tools: [
8737
+ backendTools: [
8736
8738
  TOOL_MAP['runtime-echo:0.0.1'],
8737
8739
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
8738
8740
  ],
@@ -8792,7 +8794,7 @@ export const WORKER_EXPENSE_AUDIT_AGENTSPEC_0_0_1 = {
8792
8794
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
8793
8795
  : undefined,
8794
8796
  ].filter(Boolean),
8795
- tools: [
8797
+ backendTools: [
8796
8798
  TOOL_MAP['runtime-echo:0.0.1'],
8797
8799
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
8798
8800
  ],
@@ -8855,7 +8857,7 @@ export const WORKER_EXPOSURE_DATA_QUALITY_AGENTSPEC_0_0_1 = {
8855
8857
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
8856
8858
  : undefined,
8857
8859
  ].filter(Boolean),
8858
- tools: [
8860
+ backendTools: [
8859
8861
  TOOL_MAP['runtime-echo:0.0.1'],
8860
8862
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
8861
8863
  ],
@@ -8928,7 +8930,7 @@ export const WORKER_EXTRACT_DATA_FROM_FILES_AGENTSPEC_0_0_1 = {
8928
8930
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
8929
8931
  : undefined,
8930
8932
  ].filter(Boolean),
8931
- tools: [],
8933
+ backendTools: [],
8932
8934
  frontendTools: [
8933
8935
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
8934
8936
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -9039,7 +9041,7 @@ export const WORKER_EXTRACT_KPIS_FROM_QUARTERLY_PDF_AGENTSPEC_0_0_1 = {
9039
9041
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
9040
9042
  : undefined,
9041
9043
  ].filter(Boolean),
9042
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
9044
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
9043
9045
  frontendTools: [
9044
9046
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
9045
9047
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -9107,7 +9109,7 @@ export const WORKER_FACTOR_ANALYSIS_AGENTSPEC_0_0_1 = {
9107
9109
  ? toAgentSkillSpec(SKILL_MAP['text-summarizer:0.0.1'])
9108
9110
  : undefined,
9109
9111
  ].filter(Boolean),
9110
- tools: [
9112
+ backendTools: [
9111
9113
  TOOL_MAP['runtime-echo:0.0.1'],
9112
9114
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
9113
9115
  ],
@@ -9167,7 +9169,7 @@ export const WORKER_FINANCIAL_VIZ_AGENTSPEC_0_0_1 = {
9167
9169
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
9168
9170
  : undefined,
9169
9171
  ].filter(Boolean),
9170
- tools: [],
9172
+ backendTools: [],
9171
9173
  frontendTools: [
9172
9174
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
9173
9175
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -9267,7 +9269,7 @@ export const WORKER_GENERATE_WEEKLY_REPORTS_AGENTSPEC_0_0_1 = {
9267
9269
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
9268
9270
  : undefined,
9269
9271
  ].filter(Boolean),
9270
- tools: [],
9272
+ backendTools: [],
9271
9273
  frontendTools: [
9272
9274
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
9273
9275
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -9398,7 +9400,7 @@ export const WORKER_GITHUB_AGENT_SPEC_0_0_1 = {
9398
9400
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
9399
9401
  : undefined,
9400
9402
  ].filter(Boolean),
9401
- tools: [],
9403
+ backendTools: [],
9402
9404
  frontendTools: [
9403
9405
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
9404
9406
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -9488,7 +9490,7 @@ export const WORKER_GRID_FORECAST_AGENTSPEC_0_0_1 = {
9488
9490
  ? toAgentSkillSpec(SKILL_MAP['text-summarizer:0.0.1'])
9489
9491
  : undefined,
9490
9492
  ].filter(Boolean),
9491
- tools: [
9493
+ backendTools: [
9492
9494
  TOOL_MAP['runtime-echo:0.0.1'],
9493
9495
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
9494
9496
  ],
@@ -9554,7 +9556,7 @@ export const WORKER_INFORMATION_ROUTING_AGENTSPEC_0_0_1 = {
9554
9556
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
9555
9557
  : undefined,
9556
9558
  ].filter(Boolean),
9557
- tools: [],
9559
+ backendTools: [],
9558
9560
  frontendTools: [
9559
9561
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
9560
9562
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -9654,7 +9656,7 @@ export const WORKER_INFRASTRUCTURE_MONITORING_AGENTSPEC_0_0_1 = {
9654
9656
  ? toAgentSkillSpec(SKILL_MAP['crawl:0.0.1'])
9655
9657
  : undefined,
9656
9658
  ].filter(Boolean),
9657
- tools: [
9659
+ backendTools: [
9658
9660
  TOOL_MAP['runtime-echo:0.0.1'],
9659
9661
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
9660
9662
  ],
@@ -9711,7 +9713,7 @@ export const WORKER_INSURANCE_CLAIMS_REVIEW_AGENTSPEC_0_0_1 = {
9711
9713
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
9712
9714
  : undefined,
9713
9715
  ].filter(Boolean),
9714
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
9716
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
9715
9717
  frontendTools: [
9716
9718
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
9717
9719
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -9780,7 +9782,7 @@ export const WORKER_INTERVIEW_GUIDE_AGENTSPEC_0_0_1 = {
9780
9782
  ? toAgentSkillSpec(SKILL_MAP['crawl:0.0.1'])
9781
9783
  : undefined,
9782
9784
  ].filter(Boolean),
9783
- tools: [
9785
+ backendTools: [
9784
9786
  TOOL_MAP['runtime-echo:0.0.1'],
9785
9787
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
9786
9788
  ],
@@ -9843,7 +9845,7 @@ export const WORKER_INVENTORY_DEMAND_PLANNING_AGENTSPEC_0_0_1 = {
9843
9845
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
9844
9846
  : undefined,
9845
9847
  ].filter(Boolean),
9846
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
9848
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
9847
9849
  frontendTools: [
9848
9850
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
9849
9851
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -9911,7 +9913,7 @@ export const WORKER_JOB_HUNTER_AGENTSPEC_0_0_1 = {
9911
9913
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
9912
9914
  : undefined,
9913
9915
  ].filter(Boolean),
9914
- tools: [
9916
+ backendTools: [
9915
9917
  TOOL_MAP['runtime-echo:0.0.1'],
9916
9918
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
9917
9919
  ],
@@ -9977,7 +9979,7 @@ export const WORKER_MAIL_TRIAGE_AGENTSPEC_0_0_1 = {
9977
9979
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
9978
9980
  : undefined,
9979
9981
  ].filter(Boolean),
9980
- tools: [
9982
+ backendTools: [
9981
9983
  TOOL_MAP['runtime-echo:0.0.1'],
9982
9984
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
9983
9985
  ],
@@ -10034,7 +10036,7 @@ export const WORKER_MARKETING_ANALYTICS_AGENTSPEC_0_0_1 = {
10034
10036
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
10035
10037
  : undefined,
10036
10038
  ].filter(Boolean),
10037
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
10039
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
10038
10040
  frontendTools: [
10039
10041
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
10040
10042
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -10093,7 +10095,7 @@ export const WORKER_MEDICAL_RESEARCH_REVIEW_AGENTSPEC_0_0_1 = {
10093
10095
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
10094
10096
  : undefined,
10095
10097
  ].filter(Boolean),
10096
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
10098
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
10097
10099
  frontendTools: [
10098
10100
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
10099
10101
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -10164,7 +10166,7 @@ export const WORKER_MODEL_COMPARISON_AGENTSPEC_0_0_1 = {
10164
10166
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
10165
10167
  : undefined,
10166
10168
  ].filter(Boolean),
10167
- tools: [
10169
+ backendTools: [
10168
10170
  TOOL_MAP['runtime-echo:0.0.1'],
10169
10171
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
10170
10172
  ],
@@ -10227,7 +10229,7 @@ export const WORKER_MONITOR_SALES_KPIS_AGENTSPEC_0_0_1 = {
10227
10229
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
10228
10230
  : undefined,
10229
10231
  ].filter(Boolean),
10230
- tools: [
10232
+ backendTools: [
10231
10233
  TOOL_MAP['runtime-echo:0.0.1'],
10232
10234
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
10233
10235
  TOOL_MAP['runtime-send-mail:0.0.1'],
@@ -10360,7 +10362,7 @@ export const WORKER_MONTH_END_CLOSE_AGENTSPEC_0_0_1 = {
10360
10362
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
10361
10363
  : undefined,
10362
10364
  ].filter(Boolean),
10363
- tools: [
10365
+ backendTools: [
10364
10366
  TOOL_MAP['runtime-echo:0.0.1'],
10365
10367
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
10366
10368
  ],
@@ -10423,7 +10425,10 @@ export const WORKER_NEWS_AGGREGATOR_AGENTSPEC_0_0_1 = {
10423
10425
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
10424
10426
  : undefined,
10425
10427
  ].filter(Boolean),
10426
- tools: [TOOL_MAP['runtime-echo:0.0.1'], TOOL_MAP['runtime-send-mail:0.0.1']],
10428
+ backendTools: [
10429
+ TOOL_MAP['runtime-echo:0.0.1'],
10430
+ TOOL_MAP['runtime-send-mail:0.0.1'],
10431
+ ],
10427
10432
  frontendTools: [
10428
10433
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
10429
10434
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -10553,7 +10558,7 @@ export const WORKER_OPTIMIZE_DYNAMIC_PRICING_AGENTSPEC_0_0_1 = {
10553
10558
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
10554
10559
  : undefined,
10555
10560
  ].filter(Boolean),
10556
- tools: [],
10561
+ backendTools: [],
10557
10562
  frontendTools: [
10558
10563
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
10559
10564
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -10700,7 +10705,7 @@ export const WORKER_OPTIMIZE_GRID_OPERATIONS_AGENTSPEC_0_0_1 = {
10700
10705
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
10701
10706
  : undefined,
10702
10707
  ].filter(Boolean),
10703
- tools: [],
10708
+ backendTools: [],
10704
10709
  frontendTools: [
10705
10710
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
10706
10711
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -10832,7 +10837,7 @@ export const WORKER_OPTIMIZE_SQL_QUERY_PERFORMANCE_AGENTSPEC_0_0_1 = {
10832
10837
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
10833
10838
  : undefined,
10834
10839
  ].filter(Boolean),
10835
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
10840
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
10836
10841
  frontendTools: [
10837
10842
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
10838
10843
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -10894,7 +10899,7 @@ export const WORKER_PERFORMANCE_ATTRIBUTION_AGENTSPEC_0_0_1 = {
10894
10899
  ? toAgentSkillSpec(SKILL_MAP['text-summarizer:0.0.1'])
10895
10900
  : undefined,
10896
10901
  ].filter(Boolean),
10897
- tools: [
10902
+ backendTools: [
10898
10903
  TOOL_MAP['runtime-echo:0.0.1'],
10899
10904
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
10900
10905
  ],
@@ -10961,7 +10966,7 @@ export const WORKER_PIPELINE_DEBUGGER_AGENTSPEC_0_0_1 = {
10961
10966
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
10962
10967
  : undefined,
10963
10968
  ].filter(Boolean),
10964
- tools: [
10969
+ backendTools: [
10965
10970
  TOOL_MAP['runtime-echo:0.0.1'],
10966
10971
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
10967
10972
  ],
@@ -11021,7 +11026,7 @@ export const WORKER_PITCHER_AGENTSPEC_0_0_1 = {
11021
11026
  model: 'bedrock:us.anthropic.claude-sonnet-4-6',
11022
11027
  mcpServers: [],
11023
11028
  skills: [].filter(Boolean),
11024
- tools: [],
11029
+ backendTools: [],
11025
11030
  frontendTools: [FRONTEND_TOOL_MAP['decks:0.0.1']],
11026
11031
  environmentName: 'ai-agents-env',
11027
11032
  icon: 'rocket',
@@ -11201,7 +11206,7 @@ export const WORKER_PORTFOLIO_ACCUMULATION_AGENTSPEC_0_0_1 = {
11201
11206
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
11202
11207
  : undefined,
11203
11208
  ].filter(Boolean),
11204
- tools: [
11209
+ backendTools: [
11205
11210
  TOOL_MAP['runtime-echo:0.0.1'],
11206
11211
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
11207
11212
  ],
@@ -11261,7 +11266,7 @@ export const WORKER_PORTFOLIO_RISK_AGENTSPEC_0_0_1 = {
11261
11266
  ? toAgentSkillSpec(SKILL_MAP['text-summarizer:0.0.1'])
11262
11267
  : undefined,
11263
11268
  ].filter(Boolean),
11264
- tools: [
11269
+ backendTools: [
11265
11270
  TOOL_MAP['runtime-echo:0.0.1'],
11266
11271
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
11267
11272
  ],
@@ -11318,7 +11323,7 @@ export const WORKER_PREDICTIVE_MAINTENANCE_AGENTSPEC_0_0_1 = {
11318
11323
  ? toAgentSkillSpec(SKILL_MAP['text-summarizer:0.0.1'])
11319
11324
  : undefined,
11320
11325
  ].filter(Boolean),
11321
- tools: [
11326
+ backendTools: [
11322
11327
  TOOL_MAP['runtime-echo:0.0.1'],
11323
11328
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
11324
11329
  ],
@@ -11378,7 +11383,7 @@ export const WORKER_PROCESS_CITIZEN_REQUESTS_AGENTSPEC_0_0_1 = {
11378
11383
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
11379
11384
  : undefined,
11380
11385
  ].filter(Boolean),
11381
- tools: [],
11386
+ backendTools: [],
11382
11387
  frontendTools: [
11383
11388
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
11384
11389
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -11523,7 +11528,7 @@ export const WORKER_PROCESS_CLINICAL_TRIAL_DATA_AGENTSPEC_0_0_1 = {
11523
11528
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
11524
11529
  : undefined,
11525
11530
  ].filter(Boolean),
11526
- tools: [],
11531
+ backendTools: [],
11527
11532
  frontendTools: [
11528
11533
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
11529
11534
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -11670,7 +11675,7 @@ export const WORKER_PROCESS_FINANCIAL_TRANSACTIONS_AGENTSPEC_0_0_1 = {
11670
11675
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
11671
11676
  : undefined,
11672
11677
  ].filter(Boolean),
11673
- tools: [],
11678
+ backendTools: [],
11674
11679
  frontendTools: [
11675
11680
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
11676
11681
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -11799,7 +11804,7 @@ export const WORKER_PRODUCT_FINDER_AGENTSPEC_0_0_1 = {
11799
11804
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
11800
11805
  : undefined,
11801
11806
  ].filter(Boolean),
11802
- tools: [
11807
+ backendTools: [
11803
11808
  TOOL_MAP['runtime-echo:0.0.1'],
11804
11809
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
11805
11810
  ],
@@ -11859,7 +11864,7 @@ export const WORKER_QUANT_RESEARCH_AGENTSPEC_0_0_1 = {
11859
11864
  ? toAgentSkillSpec(SKILL_MAP['text-summarizer:0.0.1'])
11860
11865
  : undefined,
11861
11866
  ].filter(Boolean),
11862
- tools: [
11867
+ backendTools: [
11863
11868
  TOOL_MAP['runtime-echo:0.0.1'],
11864
11869
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
11865
11870
  ],
@@ -11916,7 +11921,7 @@ export const WORKER_RENEWABLE_ASSET_PERFORMANCE_AGENTSPEC_0_0_1 = {
11916
11921
  ? toAgentSkillSpec(SKILL_MAP['text-summarizer:0.0.1'])
11917
11922
  : undefined,
11918
11923
  ].filter(Boolean),
11919
- tools: [
11924
+ backendTools: [
11920
11925
  TOOL_MAP['runtime-echo:0.0.1'],
11921
11926
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
11922
11927
  ],
@@ -11979,7 +11984,7 @@ export const WORKER_RESEARCH_RECRUITER_AGENTSPEC_0_0_1 = {
11979
11984
  ? toAgentSkillSpec(SKILL_MAP['crawl:0.0.1'])
11980
11985
  : undefined,
11981
11986
  ].filter(Boolean),
11982
- tools: [
11987
+ backendTools: [
11983
11988
  TOOL_MAP['runtime-echo:0.0.1'],
11984
11989
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
11985
11990
  ],
@@ -12042,7 +12047,7 @@ export const WORKER_RNA_SEQ_AGENTSPEC_0_0_1 = {
12042
12047
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
12043
12048
  : undefined,
12044
12049
  ].filter(Boolean),
12045
- tools: [
12050
+ backendTools: [
12046
12051
  TOOL_MAP['runtime-echo:0.0.1'],
12047
12052
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
12048
12053
  ],
@@ -12099,7 +12104,7 @@ export const WORKER_SALES_FORECASTING_AGENTSPEC_0_0_1 = {
12099
12104
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
12100
12105
  : undefined,
12101
12106
  ].filter(Boolean),
12102
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
12107
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
12103
12108
  frontendTools: [
12104
12109
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
12105
12110
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -12158,7 +12163,7 @@ export const WORKER_SALES_PIPELINE_BOARD_REPORT_AGENTSPEC_0_0_1 = {
12158
12163
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
12159
12164
  : undefined,
12160
12165
  ].filter(Boolean),
12161
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
12166
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
12162
12167
  frontendTools: [
12163
12168
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
12164
12169
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -12225,7 +12230,7 @@ export const WORKER_SCENARIO_TESTING_AGENTSPEC_0_0_1 = {
12225
12230
  ? toAgentSkillSpec(SKILL_MAP['text-summarizer:0.0.1'])
12226
12231
  : undefined,
12227
12232
  ].filter(Boolean),
12228
- tools: [
12233
+ backendTools: [
12229
12234
  TOOL_MAP['runtime-echo:0.0.1'],
12230
12235
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
12231
12236
  ],
@@ -12288,7 +12293,7 @@ export const WORKER_SCHEDULED_NIGHTLY_DATA_QUALITY_CHECKS_AGENTSPEC_0_0_1 = {
12288
12293
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
12289
12294
  : undefined,
12290
12295
  ].filter(Boolean),
12291
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
12296
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
12292
12297
  frontendTools: [
12293
12298
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
12294
12299
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -12351,7 +12356,7 @@ export const WORKER_SCIENTIFIC_NOTEBOOK_ASSISTANT_AGENTSPEC_0_0_1 = {
12351
12356
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
12352
12357
  : undefined,
12353
12358
  ].filter(Boolean),
12354
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
12359
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
12355
12360
  frontendTools: [
12356
12361
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
12357
12362
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -12422,7 +12427,7 @@ export const WORKER_SINGLE_CELL_PROCESSING_AGENTSPEC_0_0_1 = {
12422
12427
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
12423
12428
  : undefined,
12424
12429
  ].filter(Boolean),
12425
- tools: [
12430
+ backendTools: [
12426
12431
  TOOL_MAP['runtime-echo:0.0.1'],
12427
12432
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
12428
12433
  ],
@@ -12485,7 +12490,7 @@ export const WORKER_SOCIAL_LISTENING_AGENTSPEC_0_0_1 = {
12485
12490
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
12486
12491
  : undefined,
12487
12492
  ].filter(Boolean),
12488
- tools: [
12493
+ backendTools: [
12489
12494
  TOOL_MAP['runtime-echo:0.0.1'],
12490
12495
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
12491
12496
  ],
@@ -12548,7 +12553,7 @@ export const WORKER_SOCIAL_MARKETER_AGENTSPEC_0_0_1 = {
12548
12553
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
12549
12554
  : undefined,
12550
12555
  ].filter(Boolean),
12551
- tools: [
12556
+ backendTools: [
12552
12557
  TOOL_MAP['runtime-echo:0.0.1'],
12553
12558
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
12554
12559
  ],
@@ -12666,7 +12671,7 @@ export const WORKER_SPATIAL_DATA_ANALYSIS_AGENTSPEC_0_0_1 = {
12666
12671
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
12667
12672
  : undefined,
12668
12673
  ].filter(Boolean),
12669
- tools: [],
12674
+ backendTools: [],
12670
12675
  frontendTools: [
12671
12676
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
12672
12677
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -12750,7 +12755,7 @@ export const WORKER_SUMMARIZE_DOCUMENTS_AGENTSPEC_0_0_1 = {
12750
12755
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
12751
12756
  : undefined,
12752
12757
  ].filter(Boolean),
12753
- tools: [],
12758
+ backendTools: [],
12754
12759
  frontendTools: [
12755
12760
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
12756
12761
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -12860,7 +12865,7 @@ export const WORKER_SYNC_CRM_CONTACTS_AGENTSPEC_0_0_1 = {
12860
12865
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
12861
12866
  : undefined,
12862
12867
  ].filter(Boolean),
12863
- tools: [],
12868
+ backendTools: [],
12864
12869
  frontendTools: [
12865
12870
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
12866
12871
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
@@ -12967,7 +12972,7 @@ export const WORKER_THEMATIC_ANALYSIS_AGENTSPEC_0_0_1 = {
12967
12972
  ? toAgentSkillSpec(SKILL_MAP['crawl:0.0.1'])
12968
12973
  : undefined,
12969
12974
  ].filter(Boolean),
12970
- tools: [
12975
+ backendTools: [
12971
12976
  TOOL_MAP['runtime-echo:0.0.1'],
12972
12977
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
12973
12978
  ],
@@ -13033,7 +13038,7 @@ export const WORKER_TRAVEL_RECOMMENDER_AGENTSPEC_0_0_1 = {
13033
13038
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
13034
13039
  : undefined,
13035
13040
  ].filter(Boolean),
13036
- tools: [
13041
+ backendTools: [
13037
13042
  TOOL_MAP['runtime-echo:0.0.1'],
13038
13043
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
13039
13044
  ],
@@ -13099,7 +13104,7 @@ export const WORKER_TRENDS_SEEKER_AGENTSPEC_0_0_1 = {
13099
13104
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
13100
13105
  : undefined,
13101
13106
  ].filter(Boolean),
13102
- tools: [
13107
+ backendTools: [
13103
13108
  TOOL_MAP['runtime-echo:0.0.1'],
13104
13109
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
13105
13110
  ],
@@ -13162,7 +13167,7 @@ export const WORKER_VARIANT_ANALYSIS_AGENTSPEC_0_0_1 = {
13162
13167
  ? toAgentSkillSpec(SKILL_MAP['pdf:0.0.1'])
13163
13168
  : undefined,
13164
13169
  ].filter(Boolean),
13165
- tools: [
13170
+ backendTools: [
13166
13171
  TOOL_MAP['runtime-echo:0.0.1'],
13167
13172
  TOOL_MAP['runtime-sensitive-echo:0.0.1'],
13168
13173
  ],
@@ -13225,7 +13230,7 @@ export const WORKER_WEEKLY_EXECUTIVE_BRIEFING_AGENTSPEC_0_0_1 = {
13225
13230
  ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
13226
13231
  : undefined,
13227
13232
  ].filter(Boolean),
13228
- tools: [TOOL_MAP['runtime-echo:0.0.1']],
13233
+ backendTools: [TOOL_MAP['runtime-echo:0.0.1']],
13229
13234
  frontendTools: [
13230
13235
  FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
13231
13236
  FRONTEND_TOOL_MAP['lexical-document:0.0.1'],