@datalayer/agent-runtimes 1.3.10 → 1.3.11
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/lib/api/runtimes/environments.d.ts +22 -1
- package/lib/api/runtimes/environments.js +31 -0
- package/lib/chat/ChatFloating.d.ts +8 -1
- package/lib/chat/ChatFloating.js +5 -2
- package/lib/chat/display/ButtonGlow.d.ts +9 -0
- package/lib/chat/display/ButtonGlow.js +60 -0
- package/lib/chat/display/EmptyState.js +4 -1
- package/lib/chat/header/ChatHeaderBase.js +4 -56
- package/lib/chat/header/ChatViewModeToggle.d.ts +29 -0
- package/lib/chat/header/ChatViewModeToggle.js +55 -0
- package/lib/chat/index.d.ts +1 -0
- package/lib/chat/index.js +1 -0
- package/lib/components/code-sandboxes/CodeSandboxLauncher.d.ts +8 -0
- package/lib/components/code-sandboxes/CodeSandboxLauncher.js +54 -5
- package/lib/components/code-sandboxes/codeSandboxEnvironments.d.ts +12 -1
- package/lib/components/code-sandboxes/codeSandboxEnvironments.js +38 -1
- package/lib/components/icons/ArtifactIcon.js +2 -1
- package/lib/examples/DecksAgent.d.ts +1 -1
- package/lib/examples/DecksAgent.js +1 -1
- package/lib/loop/core/index.d.ts +11 -2
- package/lib/loop/embed/LoopEmbed.js +6 -0
- package/lib/loop/plugins/chat/ChatView.js +14 -5
- package/lib/loop/plugins/page-layout/index.d.ts +36 -0
- package/lib/loop/plugins/page-layout/index.js +87 -7
- package/lib/loop/presets.d.ts +14 -0
- package/lib/loop/presets.js +3 -1
- package/lib/models/Deck.d.ts +14 -0
- package/lib/models/Deck.js +5 -0
- package/lib/models/Environment.d.ts +117 -0
- package/lib/models/ItemType.d.ts +1 -1
- package/lib/models/Runtime.d.ts +6 -0
- package/lib/models/SpaceItem.d.ts +2 -1
- package/lib/models/environments.generated.d.ts +29 -1
- package/lib/models/environments.generated.js +1 -1
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.js +1 -0
- package/lib/protocols/BrowserAgentAdapter.d.ts +9 -1
- package/lib/protocols/BrowserAgentAdapter.js +11 -4
- package/lib/runtimes/actions.d.ts +5 -0
- package/lib/runtimes/actions.js +19 -0
- package/lib/specs/agents/agents.d.ts +2 -1
- package/lib/specs/agents/agents.js +314 -130
- package/lib/specs/frontendTools.d.ts +1 -0
- package/lib/specs/frontendTools.js +31 -0
- package/lib/specs/mcpServers.js +13 -13
- package/lib/specs/models.js +4 -4
- package/lib/specs/outputs.js +9 -0
- package/lib/specs/skills.js +7 -7
- package/lib/specs/teams/teams.js +1 -1
- package/lib/types/outputs.d.ts +2 -0
- package/package.json +1 -1
- package/scripts/codegen/generate_mcp_servers.py +2 -2
- package/scripts/codegen/generate_outputs.py +2 -0
- package/scripts/codegen/generate_skills.py +2 -2
- package/scripts/codegen/__pycache__/compose.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
package/lib/models/index.js
CHANGED
|
@@ -11,6 +11,7 @@ export * from './CodeSandboxSnapshot';
|
|
|
11
11
|
export * from './CodeSandboxSnapshotDTO';
|
|
12
12
|
export * from './Content';
|
|
13
13
|
export * from './Course';
|
|
14
|
+
export * from './Deck';
|
|
14
15
|
export * from './Document';
|
|
15
16
|
export * from './Environment';
|
|
16
17
|
export * from './EnvironmentDTO';
|
|
@@ -102,7 +102,14 @@ export declare class BrowserAgentAdapter extends BaseProtocolAdapter {
|
|
|
102
102
|
* it and a host should not have to know which adapter it is holding.
|
|
103
103
|
*/
|
|
104
104
|
sendToolResult(): Promise<void>;
|
|
105
|
-
/**
|
|
105
|
+
/**
|
|
106
|
+
* The model this agent asks, resolved once per request.
|
|
107
|
+
*
|
|
108
|
+
* The chat's model menu sends its choice with each message, as it does to
|
|
109
|
+
* a server-side harness; here it names the model the inference service is
|
|
110
|
+
* asked for, over the one the agent was built with. A ready-made
|
|
111
|
+
* `languageModel` is the host's own choice and is not swapped out.
|
|
112
|
+
*/
|
|
106
113
|
private resolveModel;
|
|
107
114
|
/**
|
|
108
115
|
* Run one turn of the loop and report it as it happens.
|
|
@@ -113,5 +120,6 @@ export declare class BrowserAgentAdapter extends BaseProtocolAdapter {
|
|
|
113
120
|
*/
|
|
114
121
|
sendMessage(message: ChatMessage, options?: {
|
|
115
122
|
messages?: ChatMessage[];
|
|
123
|
+
model?: string;
|
|
116
124
|
}): Promise<void>;
|
|
117
125
|
}
|
|
@@ -122,8 +122,15 @@ export class BrowserAgentAdapter extends BaseProtocolAdapter {
|
|
|
122
122
|
* it and a host should not have to know which adapter it is holding.
|
|
123
123
|
*/
|
|
124
124
|
async sendToolResult() { }
|
|
125
|
-
/**
|
|
126
|
-
|
|
125
|
+
/**
|
|
126
|
+
* The model this agent asks, resolved once per request.
|
|
127
|
+
*
|
|
128
|
+
* The chat's model menu sends its choice with each message, as it does to
|
|
129
|
+
* a server-side harness; here it names the model the inference service is
|
|
130
|
+
* asked for, over the one the agent was built with. A ready-made
|
|
131
|
+
* `languageModel` is the host's own choice and is not swapped out.
|
|
132
|
+
*/
|
|
133
|
+
resolveModel(requested) {
|
|
127
134
|
const { languageModel, inference, model } = this.browserConfig;
|
|
128
135
|
if (languageModel) {
|
|
129
136
|
return languageModel;
|
|
@@ -131,7 +138,7 @@ export class BrowserAgentAdapter extends BaseProtocolAdapter {
|
|
|
131
138
|
if (!inference) {
|
|
132
139
|
throw new Error('A browser agent needs either a `languageModel` or an `inference` endpoint to reach one.');
|
|
133
140
|
}
|
|
134
|
-
return createBrowserModel({ ...inference, model });
|
|
141
|
+
return createBrowserModel({ ...inference, model: requested || model });
|
|
135
142
|
}
|
|
136
143
|
/**
|
|
137
144
|
* Run one turn of the loop and report it as it happens.
|
|
@@ -188,7 +195,7 @@ export class BrowserAgentAdapter extends BaseProtocolAdapter {
|
|
|
188
195
|
};
|
|
189
196
|
try {
|
|
190
197
|
const result = streamText({
|
|
191
|
-
model: this.resolveModel(),
|
|
198
|
+
model: this.resolveModel(options?.model),
|
|
192
199
|
system: this.browserConfig.instructions,
|
|
193
200
|
messages: history,
|
|
194
201
|
tools: this.tools,
|
|
@@ -12,6 +12,11 @@ export declare function createRuntime(options: IRuntimeOptions): Promise<IRuntim
|
|
|
12
12
|
* Get the Runtimes.
|
|
13
13
|
*/
|
|
14
14
|
export declare function getRuntimes(): Promise<IRuntimeRecord[]>;
|
|
15
|
+
/**
|
|
16
|
+
* One runtime as the platform answers it now — why its pod waits included —
|
|
17
|
+
* or `null` when there is none by that uid (E2-19).
|
|
18
|
+
*/
|
|
19
|
+
export declare function getRuntimeRecord(id: string): Promise<IRuntimeRecord | null>;
|
|
15
20
|
/**
|
|
16
21
|
* Delete a Runtime
|
|
17
22
|
*/
|
package/lib/runtimes/actions.js
CHANGED
|
@@ -109,6 +109,25 @@ export async function getRuntimes() {
|
|
|
109
109
|
}
|
|
110
110
|
return data.runtimes ?? [];
|
|
111
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* One runtime as the platform answers it now — why its pod waits included —
|
|
114
|
+
* or `null` when there is none by that uid (E2-19).
|
|
115
|
+
*/
|
|
116
|
+
export async function getRuntimeRecord(id) {
|
|
117
|
+
try {
|
|
118
|
+
const data = await requestDatalayerAPI({
|
|
119
|
+
url: runtimeUrl(runtimesStore.getState().runtimesUrl, id),
|
|
120
|
+
token: iamStore.getState().token,
|
|
121
|
+
});
|
|
122
|
+
return data.runtime ?? null;
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
if (error.response?.status === 404) {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
throw error;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
112
131
|
/**
|
|
113
132
|
* Delete a Runtime
|
|
114
133
|
*/
|
|
@@ -26,6 +26,7 @@ export declare const EXAMPLE_CODEMODE_AGENTSPEC_0_0_1: Agentspec;
|
|
|
26
26
|
export declare const EXAMPLE_COMPACTION_AGENTSPEC_0_0_1: Agentspec;
|
|
27
27
|
export declare const EXAMPLE_COMPARE_TWO_SPREADSHEETS_AGENTSPEC_0_0_1: Agentspec;
|
|
28
28
|
export declare const EXAMPLE_COST_COMPARISON_REPORT_AGENTSPEC_0_0_1: Agentspec;
|
|
29
|
+
export declare const EXAMPLE_DECKS_AGENTSPEC_0_0_1: Agentspec;
|
|
29
30
|
export declare const EXAMPLE_DOCUMENT_AGENT_SIDEBAR_AGENTSPEC_0_0_1: Agentspec;
|
|
30
31
|
export declare const EXAMPLE_DOCUMENT_AGENT_SPEC_0_0_1: Agentspec;
|
|
31
32
|
export declare const EXAMPLE_EVALS_NOCODEMODE_AGENTSPEC_0_0_1: Agentspec;
|
|
@@ -109,7 +110,6 @@ export declare const WORKER_CURTAILMENT_INVESTIGATOR_AGENTSPEC_0_0_1: Agentspec;
|
|
|
109
110
|
export declare const WORKER_CUSTOMER_CHURN_ANALYSIS_AGENTSPEC_0_0_1: Agentspec;
|
|
110
111
|
export declare const WORKER_CUSTOMER_INTERVIEWER_AGENTSPEC_0_0_1: Agentspec;
|
|
111
112
|
export declare const WORKER_DATA_ACQUISITION_AGENTSPEC_0_0_1: Agentspec;
|
|
112
|
-
export declare const WORKER_DECKS_AGENTSPEC_0_0_1: Agentspec;
|
|
113
113
|
export declare const WORKER_DISASTER_ASSESSMENT_AGENTSPEC_0_0_1: Agentspec;
|
|
114
114
|
export declare const WORKER_DOCUMENT_QA_AGENTSPEC_0_0_1: Agentspec;
|
|
115
115
|
export declare const WORKER_END_OF_MONTH_PERFORMANCE_AGENTSPEC_0_0_1: Agentspec;
|
|
@@ -144,6 +144,7 @@ export declare const WORKER_OPTIMIZE_GRID_OPERATIONS_AGENTSPEC_0_0_1: Agentspec;
|
|
|
144
144
|
export declare const WORKER_OPTIMIZE_SQL_QUERY_PERFORMANCE_AGENTSPEC_0_0_1: Agentspec;
|
|
145
145
|
export declare const WORKER_PERFORMANCE_ATTRIBUTION_AGENTSPEC_0_0_1: Agentspec;
|
|
146
146
|
export declare const WORKER_PIPELINE_DEBUGGER_AGENTSPEC_0_0_1: Agentspec;
|
|
147
|
+
export declare const WORKER_PITCHER_AGENTSPEC_0_0_1: Agentspec;
|
|
147
148
|
export declare const WORKER_PORTFOLIO_ACCUMULATION_AGENTSPEC_0_0_1: Agentspec;
|
|
148
149
|
export declare const WORKER_PORTFOLIO_RISK_AGENTSPEC_0_0_1: Agentspec;
|
|
149
150
|
export declare const WORKER_PREDICTIVE_MAINTENANCE_AGENTSPEC_0_0_1: Agentspec;
|
|
@@ -5,7 +5,7 @@
|
|
|
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
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';
|
|
8
|
-
import { 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';
|
|
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
|
|
11
11
|
// ============================================================================
|
|
@@ -98,6 +98,8 @@ const TOOL_MAP = {
|
|
|
98
98
|
* Map frontend tool IDs to FrontendToolSpec objects.
|
|
99
99
|
*/
|
|
100
100
|
const FRONTEND_TOOL_MAP = {
|
|
101
|
+
'decks:0.0.1': DECKS_FRONTEND_TOOL_SPEC_0_0_1,
|
|
102
|
+
decks: DECKS_FRONTEND_TOOL_SPEC_0_0_1,
|
|
101
103
|
'jupyter-notebook-edit:0.0.1': JUPYTER_NOTEBOOK_EDIT_FRONTEND_TOOL_SPEC_0_0_1,
|
|
102
104
|
'jupyter-notebook-edit': JUPYTER_NOTEBOOK_EDIT_FRONTEND_TOOL_SPEC_0_0_1,
|
|
103
105
|
'jupyter-notebook-propose:0.0.1': JUPYTER_NOTEBOOK_PROPOSE_FRONTEND_TOOL_SPEC_0_0_1,
|
|
@@ -1401,6 +1403,138 @@ export const EXAMPLE_COST_COMPARISON_REPORT_AGENTSPEC_0_0_1 = {
|
|
|
1401
1403
|
parameters: undefined,
|
|
1402
1404
|
subagents: undefined,
|
|
1403
1405
|
};
|
|
1406
|
+
export const EXAMPLE_DECKS_AGENTSPEC_0_0_1 = {
|
|
1407
|
+
id: 'example-decks',
|
|
1408
|
+
version: '0.0.1',
|
|
1409
|
+
name: 'Decks',
|
|
1410
|
+
description: `Writes presentations as data and drives them on screen: drafts a deck from a brief, edits one you have, and steps through it while you talk.`,
|
|
1411
|
+
tags: [
|
|
1412
|
+
'personal-assistant',
|
|
1413
|
+
'agent-worker',
|
|
1414
|
+
'decks',
|
|
1415
|
+
'presentations',
|
|
1416
|
+
'reactor',
|
|
1417
|
+
],
|
|
1418
|
+
domain: 'personal-assistant',
|
|
1419
|
+
enabled: true,
|
|
1420
|
+
model: 'bedrock:us.anthropic.claude-sonnet-4-6',
|
|
1421
|
+
mcpServers: [],
|
|
1422
|
+
skills: [].filter(Boolean),
|
|
1423
|
+
tools: [],
|
|
1424
|
+
frontendTools: [FRONTEND_TOOL_MAP['decks:0.0.1']],
|
|
1425
|
+
environmentName: 'ai-agents-env',
|
|
1426
|
+
icon: 'project',
|
|
1427
|
+
emoji: '🖼️',
|
|
1428
|
+
color: '#8250DF',
|
|
1429
|
+
suggestions: [
|
|
1430
|
+
{
|
|
1431
|
+
text: 'Draft a five-slide deck introducing our Q3 roadmap',
|
|
1432
|
+
summary: 'Q3 roadmap deck',
|
|
1433
|
+
emoji: '✨',
|
|
1434
|
+
},
|
|
1435
|
+
{
|
|
1436
|
+
text: 'Open the Q2 review at the metrics slide',
|
|
1437
|
+
summary: 'Open the Q2 review',
|
|
1438
|
+
emoji: '📂',
|
|
1439
|
+
},
|
|
1440
|
+
{
|
|
1441
|
+
text: 'Turn the bullets on slide 3 of "Reactor in five slides" into a two-column comparison',
|
|
1442
|
+
summary: 'Bullets to two columns',
|
|
1443
|
+
emoji: '✏️',
|
|
1444
|
+
},
|
|
1445
|
+
{ text: 'Present the open deck', summary: 'Present the deck', emoji: '🎬' },
|
|
1446
|
+
],
|
|
1447
|
+
welcomeMessage: 'I make and drive decks. Give me a brief and I will write a deck as data — title, sections, metrics, charts, comparisons — save it and open it here. Ask me to move through one, present it, or print it to PDF.',
|
|
1448
|
+
welcomeNotebook: undefined,
|
|
1449
|
+
welcomeDocument: undefined,
|
|
1450
|
+
sandboxVariant: 'browser',
|
|
1451
|
+
harness: 'vercel-ai',
|
|
1452
|
+
systemPrompt: `You are the Decks agent. Presentations here are data: a deck is
|
|
1453
|
+
\`{deck: {title, subtitle?, template?}, slides: [...]}\`, and each slide has
|
|
1454
|
+
a \`type\` and the fields that type needs:
|
|
1455
|
+
|
|
1456
|
+
- \`title\` — title, subtitle?, meta?
|
|
1457
|
+
- \`section\` — title
|
|
1458
|
+
- \`statement\` — statement, attribution?
|
|
1459
|
+
- \`bullets\` — title, items (strings; \`**bold**\` and \`\` \`code\` \`\` allowed), fragments?
|
|
1460
|
+
- \`two-columns\` — title, left, right; \`three-columns\` — title, columns.
|
|
1461
|
+
A column is \`{type: 'text', heading?, content}\` or \`{type: 'bullets', heading?, items}\`
|
|
1462
|
+
- \`metrics\` — title, metrics: [{value, label, detail?}]
|
|
1463
|
+
- \`chart\` — title, series: [{label, value}], max?
|
|
1464
|
+
- \`comparison\` — title, columns: [..], rows: [{label, values: [..]}], highlight?
|
|
1465
|
+
- \`timeline\` — title, items: [{when, title, detail?}]
|
|
1466
|
+
- \`quote\` — quote, author?, role?
|
|
1467
|
+
- \`code\` — title, language, code
|
|
1468
|
+
- \`image\` — title?, src, alt
|
|
1469
|
+
|
|
1470
|
+
Templates: \`datalayer\` (default), \`datalayer-brand\`, \`datalayer-ink\`.
|
|
1471
|
+
Every slide may carry \`notes\` for the speaker.
|
|
1472
|
+
|
|
1473
|
+
Your tools come in two kinds, and all of them run on the person's page.
|
|
1474
|
+
\`decks_list_decks\`, \`decks_get_deck\`, \`decks_create_deck\`,
|
|
1475
|
+
\`decks_update_deck\`, \`decks_update_slide\`, \`decks_insert_slide\`,
|
|
1476
|
+
\`decks_delete_slide\` and \`decks_delete_deck\` read and write the decks —
|
|
1477
|
+
in the page, and on the server when there is one.
|
|
1478
|
+
\`decks_get_deck\` answers with the full spec and an \`outline\` (slide
|
|
1479
|
+
number, type, title), which is how you find "the metrics slide" or
|
|
1480
|
+
"slide 3" before you open or change it. Beside an open deck, three tools
|
|
1481
|
+
need no \`id\` at all: \`decks_list_slides\` (the outline), \`decks_get_slide\`
|
|
1482
|
+
(one slide, whole) and \`decks_add_slide\` (append a slide and show it) —
|
|
1483
|
+
reach for these first when the person is looking at a deck and asks
|
|
1484
|
+
about its slides. The others drive the deck on the
|
|
1485
|
+
person's screen: \`decks_open\` opens a deck by id, optionally at a slide,
|
|
1486
|
+
\`decks_go_to_slide\`, \`decks_next_slide\` and \`decks_previous_slide\` move
|
|
1487
|
+
through it, \`decks_present\` goes fullscreen, \`decks_print\` opens the print
|
|
1488
|
+
view, and \`decks_list\` goes back to the list. A deck you create or change
|
|
1489
|
+
opens beside the conversation by itself. Browsers only allow fullscreen
|
|
1490
|
+
and new tabs from a person's click: when \`decks_present\` or \`decks_print\`
|
|
1491
|
+
answers that it was blocked, say so and tell them to press F (or the
|
|
1492
|
+
Present button) or to open the address the result gives.
|
|
1493
|
+
|
|
1494
|
+
When asked for a new deck: write the whole spec, keep it to what was
|
|
1495
|
+
asked — five to eight slides unless told otherwise, one idea per slide, a
|
|
1496
|
+
\`metrics\` or \`chart\` slide when there are numbers, a \`section\` slide
|
|
1497
|
+
before each part — and create it with \`decks_create_deck\` under a short
|
|
1498
|
+
slug. The result names the deck's \`id\` and any \`issues\` validation found;
|
|
1499
|
+
fix issues with \`decks_update_deck\` before you say you are done. Then say
|
|
1500
|
+
in one or two sentences what is on it.
|
|
1501
|
+
|
|
1502
|
+
When asked to change a deck: \`decks_get_deck\` first, then change only
|
|
1503
|
+
what was asked — \`decks_update_slide\` for one slide, \`decks_insert_slide\`
|
|
1504
|
+
or \`decks_delete_slide\` to add or remove one, \`decks_update_deck\` (same
|
|
1505
|
+
\`slug\` to keep the address) only when most of the deck changes — then
|
|
1506
|
+
\`decks_go_to_slide\` to the slide you touched. To find a deck by its name,
|
|
1507
|
+
\`decks_list_decks\` and match the title. Never delete a deck without an
|
|
1508
|
+
explicit request naming it.
|
|
1509
|
+
|
|
1510
|
+
When asked to move, present or print, call the tool and say nothing more
|
|
1511
|
+
than needed. A question about the deck, or a greeting, gets an ordinary
|
|
1512
|
+
reply and no tool call. Only call the tools you have been given; never
|
|
1513
|
+
invent a tool name.
|
|
1514
|
+
`,
|
|
1515
|
+
systemPromptCodemodeAddons: undefined,
|
|
1516
|
+
goal: undefined,
|
|
1517
|
+
delegable: [{ id: 'document.author' }],
|
|
1518
|
+
protocol: 'vercel-ai',
|
|
1519
|
+
uiExtension: undefined,
|
|
1520
|
+
trigger: undefined,
|
|
1521
|
+
modelConfig: undefined,
|
|
1522
|
+
mcpServerTools: undefined,
|
|
1523
|
+
guardrails: undefined,
|
|
1524
|
+
evals: undefined,
|
|
1525
|
+
codemode: undefined,
|
|
1526
|
+
output: undefined,
|
|
1527
|
+
advanced: undefined,
|
|
1528
|
+
checkpoints: undefined,
|
|
1529
|
+
authorizationPolicy: undefined,
|
|
1530
|
+
notifications: undefined,
|
|
1531
|
+
memory: 'ephemeral',
|
|
1532
|
+
preHooks: undefined,
|
|
1533
|
+
postHooks: undefined,
|
|
1534
|
+
toolHooks: undefined,
|
|
1535
|
+
parameters: undefined,
|
|
1536
|
+
subagents: undefined,
|
|
1537
|
+
};
|
|
1404
1538
|
export const EXAMPLE_DOCUMENT_AGENT_SIDEBAR_AGENTSPEC_0_0_1 = {
|
|
1405
1539
|
id: 'example-document-agent-sidebar',
|
|
1406
1540
|
version: '0.0.1',
|
|
@@ -7857,134 +7991,6 @@ export const WORKER_DATA_ACQUISITION_AGENTSPEC_0_0_1 = {
|
|
|
7857
7991
|
parameters: undefined,
|
|
7858
7992
|
subagents: undefined,
|
|
7859
7993
|
};
|
|
7860
|
-
export const WORKER_DECKS_AGENTSPEC_0_0_1 = {
|
|
7861
|
-
id: 'worker-decks',
|
|
7862
|
-
version: '0.0.1',
|
|
7863
|
-
name: 'Decks',
|
|
7864
|
-
description: `Writes presentations as data and drives them on screen: drafts a deck from a brief, edits one you have, and steps through it while you talk.`,
|
|
7865
|
-
tags: [
|
|
7866
|
-
'personal-assistant',
|
|
7867
|
-
'agent-worker',
|
|
7868
|
-
'decks',
|
|
7869
|
-
'presentations',
|
|
7870
|
-
'reactor',
|
|
7871
|
-
],
|
|
7872
|
-
domain: 'personal-assistant',
|
|
7873
|
-
enabled: true,
|
|
7874
|
-
model: 'bedrock:us.anthropic.claude-sonnet-4-6',
|
|
7875
|
-
mcpServers: [],
|
|
7876
|
-
skills: [].filter(Boolean),
|
|
7877
|
-
tools: [],
|
|
7878
|
-
frontendTools: [],
|
|
7879
|
-
environmentName: 'ai-agents-env',
|
|
7880
|
-
icon: 'project',
|
|
7881
|
-
emoji: '🖼️',
|
|
7882
|
-
color: '#8250DF',
|
|
7883
|
-
suggestions: [
|
|
7884
|
-
{
|
|
7885
|
-
text: 'Draft a five-slide deck introducing our Q3 roadmap',
|
|
7886
|
-
summary: 'Q3 roadmap deck',
|
|
7887
|
-
emoji: '✨',
|
|
7888
|
-
},
|
|
7889
|
-
{
|
|
7890
|
-
text: 'Open the Q2 review at the metrics slide',
|
|
7891
|
-
summary: 'Open the Q2 review',
|
|
7892
|
-
emoji: '📂',
|
|
7893
|
-
},
|
|
7894
|
-
{
|
|
7895
|
-
text: 'Turn the bullets on slide 3 of "Reactor in five slides" into a two-column comparison',
|
|
7896
|
-
summary: 'Bullets to two columns',
|
|
7897
|
-
emoji: '✏️',
|
|
7898
|
-
},
|
|
7899
|
-
{ text: 'Present the open deck', summary: 'Present the deck', emoji: '🎬' },
|
|
7900
|
-
],
|
|
7901
|
-
welcomeMessage: 'I make and drive decks. Give me a brief and I will write a deck as data — title, sections, metrics, charts, comparisons — save it and open it here. Ask me to move through one, present it, or print it to PDF.',
|
|
7902
|
-
welcomeNotebook: undefined,
|
|
7903
|
-
welcomeDocument: undefined,
|
|
7904
|
-
sandboxVariant: 'browser',
|
|
7905
|
-
harness: 'vercel-ai',
|
|
7906
|
-
systemPrompt: `You are the Decks agent. Presentations here are data: a deck is
|
|
7907
|
-
\`{deck: {title, subtitle?, template?}, slides: [...]}\`, and each slide has
|
|
7908
|
-
a \`type\` and the fields that type needs:
|
|
7909
|
-
|
|
7910
|
-
- \`title\` — title, subtitle?, meta?
|
|
7911
|
-
- \`section\` — title
|
|
7912
|
-
- \`statement\` — statement, attribution?
|
|
7913
|
-
- \`bullets\` — title, items (strings; \`**bold**\` and \`\` \`code\` \`\` allowed), fragments?
|
|
7914
|
-
- \`two-columns\` — title, left, right; \`three-columns\` — title, columns.
|
|
7915
|
-
A column is \`{type: 'text', heading?, content}\` or \`{type: 'bullets', heading?, items}\`
|
|
7916
|
-
- \`metrics\` — title, metrics: [{value, label, detail?}]
|
|
7917
|
-
- \`chart\` — title, series: [{label, value}], max?
|
|
7918
|
-
- \`comparison\` — title, columns: [..], rows: [{label, values: [..]}], highlight?
|
|
7919
|
-
- \`timeline\` — title, items: [{when, title, detail?}]
|
|
7920
|
-
- \`quote\` — quote, author?, role?
|
|
7921
|
-
- \`code\` — title, language, code
|
|
7922
|
-
- \`image\` — title?, src, alt
|
|
7923
|
-
|
|
7924
|
-
Templates: \`datalayer\` (default), \`datalayer-brand\`, \`datalayer-ink\`.
|
|
7925
|
-
Every slide may carry \`notes\` for the speaker.
|
|
7926
|
-
|
|
7927
|
-
Your tools come in two kinds, and all of them run on the person's page.
|
|
7928
|
-
\`decks_list_decks\`, \`decks_get_deck\`, \`decks_create_deck\`,
|
|
7929
|
-
\`decks_update_deck\`, \`decks_update_slide\`, \`decks_insert_slide\`,
|
|
7930
|
-
\`decks_delete_slide\` and \`decks_delete_deck\` read and write the decks —
|
|
7931
|
-
in the page, and on the server when there is one.
|
|
7932
|
-
\`decks_get_deck\` answers with the full spec and an \`outline\` (slide
|
|
7933
|
-
number, type, title), which is how you find "the metrics slide" or
|
|
7934
|
-
"slide 3" before you open or change it. The others drive the deck on the
|
|
7935
|
-
person's screen: \`decks_open\` opens a deck by id, optionally at a slide,
|
|
7936
|
-
\`decks_go_to_slide\`, \`decks_next_slide\` and \`decks_previous_slide\` move
|
|
7937
|
-
through it, \`decks_present\` goes fullscreen, \`decks_print\` opens the print
|
|
7938
|
-
view, and \`decks_list\` goes back to the list. A deck you create or change
|
|
7939
|
-
opens beside the conversation by itself. Browsers only allow fullscreen
|
|
7940
|
-
and new tabs from a person's click: when \`decks_present\` or \`decks_print\`
|
|
7941
|
-
answers that it was blocked, say so and tell them to press F (or the
|
|
7942
|
-
Present button) or to open the address the result gives.
|
|
7943
|
-
|
|
7944
|
-
When asked for a new deck: write the whole spec, keep it to what was
|
|
7945
|
-
asked — five to eight slides unless told otherwise, one idea per slide, a
|
|
7946
|
-
\`metrics\` or \`chart\` slide when there are numbers, a \`section\` slide
|
|
7947
|
-
before each part — and create it with \`decks_create_deck\` under a short
|
|
7948
|
-
slug. The result names the deck's \`id\` and any \`issues\` validation found;
|
|
7949
|
-
fix issues with \`decks_update_deck\` before you say you are done. Then say
|
|
7950
|
-
in one or two sentences what is on it.
|
|
7951
|
-
|
|
7952
|
-
When asked to change a deck: \`decks_get_deck\` first, then change only
|
|
7953
|
-
what was asked — \`decks_update_slide\` for one slide, \`decks_insert_slide\`
|
|
7954
|
-
or \`decks_delete_slide\` to add or remove one, \`decks_update_deck\` (same
|
|
7955
|
-
\`slug\` to keep the address) only when most of the deck changes — then
|
|
7956
|
-
\`decks_go_to_slide\` to the slide you touched. To find a deck by its name,
|
|
7957
|
-
\`decks_list_decks\` and match the title. Never delete a deck without an
|
|
7958
|
-
explicit request naming it.
|
|
7959
|
-
|
|
7960
|
-
When asked to move, present or print, call the tool and say nothing more
|
|
7961
|
-
than needed. A question about the deck, or a greeting, gets an ordinary
|
|
7962
|
-
reply and no tool call. Only call the tools you have been given; never
|
|
7963
|
-
invent a tool name.
|
|
7964
|
-
`,
|
|
7965
|
-
systemPromptCodemodeAddons: undefined,
|
|
7966
|
-
goal: undefined,
|
|
7967
|
-
delegable: [{ id: 'document.author' }],
|
|
7968
|
-
protocol: 'vercel-ai',
|
|
7969
|
-
uiExtension: undefined,
|
|
7970
|
-
trigger: undefined,
|
|
7971
|
-
modelConfig: undefined,
|
|
7972
|
-
mcpServerTools: undefined,
|
|
7973
|
-
guardrails: undefined,
|
|
7974
|
-
evals: undefined,
|
|
7975
|
-
codemode: undefined,
|
|
7976
|
-
output: undefined,
|
|
7977
|
-
advanced: undefined,
|
|
7978
|
-
checkpoints: undefined,
|
|
7979
|
-
authorizationPolicy: undefined,
|
|
7980
|
-
notifications: undefined,
|
|
7981
|
-
memory: 'ephemeral',
|
|
7982
|
-
preHooks: undefined,
|
|
7983
|
-
postHooks: undefined,
|
|
7984
|
-
toolHooks: undefined,
|
|
7985
|
-
parameters: undefined,
|
|
7986
|
-
subagents: undefined,
|
|
7987
|
-
};
|
|
7988
7994
|
export const WORKER_DISASTER_ASSESSMENT_AGENTSPEC_0_0_1 = {
|
|
7989
7995
|
id: 'worker-disaster-assessment',
|
|
7990
7996
|
version: '0.0.1',
|
|
@@ -10817,6 +10823,183 @@ export const WORKER_PIPELINE_DEBUGGER_AGENTSPEC_0_0_1 = {
|
|
|
10817
10823
|
parameters: undefined,
|
|
10818
10824
|
subagents: undefined,
|
|
10819
10825
|
};
|
|
10826
|
+
export const WORKER_PITCHER_AGENTSPEC_0_0_1 = {
|
|
10827
|
+
id: 'worker-pitcher',
|
|
10828
|
+
version: '0.0.1',
|
|
10829
|
+
name: 'Pitcher',
|
|
10830
|
+
description: `Writes pitch decks as data — the story investors, boards and buyers expect, one idea per slide, the numbers as metrics — and drives them on screen.`,
|
|
10831
|
+
tags: [
|
|
10832
|
+
'personal-assistant',
|
|
10833
|
+
'agent-worker',
|
|
10834
|
+
'decks',
|
|
10835
|
+
'presentations',
|
|
10836
|
+
'pitch',
|
|
10837
|
+
'fundraising',
|
|
10838
|
+
],
|
|
10839
|
+
domain: 'personal-assistant',
|
|
10840
|
+
enabled: true,
|
|
10841
|
+
model: 'bedrock:us.anthropic.claude-sonnet-4-6',
|
|
10842
|
+
mcpServers: [],
|
|
10843
|
+
skills: [].filter(Boolean),
|
|
10844
|
+
tools: [],
|
|
10845
|
+
frontendTools: [FRONTEND_TOOL_MAP['decks:0.0.1']],
|
|
10846
|
+
environmentName: 'ai-agents-env',
|
|
10847
|
+
icon: 'rocket',
|
|
10848
|
+
emoji: '🚀',
|
|
10849
|
+
color: '#BF3989',
|
|
10850
|
+
suggestions: [
|
|
10851
|
+
{
|
|
10852
|
+
text: 'Draft a seed pitch deck: problem, solution, traction, market, team, ask',
|
|
10853
|
+
summary: 'Seed pitch deck',
|
|
10854
|
+
emoji: '🚀',
|
|
10855
|
+
},
|
|
10856
|
+
{
|
|
10857
|
+
text: 'Turn these notes into a ten-slide investor deck with action titles',
|
|
10858
|
+
summary: 'Notes to investor deck',
|
|
10859
|
+
emoji: '✨',
|
|
10860
|
+
},
|
|
10861
|
+
{
|
|
10862
|
+
text: 'Make the traction slide a metrics slide and add a comparison against the alternatives',
|
|
10863
|
+
summary: 'Traction and competition',
|
|
10864
|
+
emoji: '📈',
|
|
10865
|
+
},
|
|
10866
|
+
{
|
|
10867
|
+
text: 'Tighten every slide to one idea and at most four bullets',
|
|
10868
|
+
summary: 'Tighten the deck',
|
|
10869
|
+
emoji: '✂️',
|
|
10870
|
+
},
|
|
10871
|
+
],
|
|
10872
|
+
welcomeMessage: 'I write pitch decks as data. Tell me who you are pitching, what you do, for whom, what you have to show for it and what you are asking — I will draft the deck, one idea per slide with the numbers as metrics, open it here and step through it with you.',
|
|
10873
|
+
welcomeNotebook: undefined,
|
|
10874
|
+
welcomeDocument: undefined,
|
|
10875
|
+
sandboxVariant: 'browser',
|
|
10876
|
+
harness: 'vercel-ai',
|
|
10877
|
+
systemPrompt: `You are the Pitcher, the agent that writes pitch decks. Presentations here
|
|
10878
|
+
are data: a deck is \`{deck: {title, subtitle?, template?}, slides: [...]}\`,
|
|
10879
|
+
and each slide has a \`type\` and the fields that type needs:
|
|
10880
|
+
|
|
10881
|
+
- \`title\` — title, subtitle?, meta?
|
|
10882
|
+
- \`section\` — title
|
|
10883
|
+
- \`statement\` — statement, attribution?
|
|
10884
|
+
- \`bullets\` — title, items (strings; \`**bold**\` and \`\` \`code\` \`\` allowed), fragments?
|
|
10885
|
+
- \`two-columns\` — title, left, right; \`three-columns\` — title, columns.
|
|
10886
|
+
A column is \`{type: 'text', heading?, content}\` or \`{type: 'bullets', heading?, items}\`
|
|
10887
|
+
- \`metrics\` — title, metrics: [{value, label, detail?}]
|
|
10888
|
+
- \`chart\` — title, series: [{label, value}], max?
|
|
10889
|
+
- \`comparison\` — title, columns: [..], rows: [{label, values: [..]}], highlight?
|
|
10890
|
+
- \`timeline\` — title, items: [{when, title, detail?}]
|
|
10891
|
+
- \`quote\` — quote, author?, role?
|
|
10892
|
+
- \`code\` — title, language, code
|
|
10893
|
+
- \`image\` — title?, src, alt
|
|
10894
|
+
|
|
10895
|
+
Templates: \`datalayer\` (default), \`datalayer-brand\`, \`datalayer-ink\`.
|
|
10896
|
+
Every slide may carry \`notes\` for the speaker.
|
|
10897
|
+
|
|
10898
|
+
A pitch is a story with a known shape. Unless told otherwise, an investor
|
|
10899
|
+
deck runs ten to fourteen slides in this order, each drawn with the slide
|
|
10900
|
+
type that fits it:
|
|
10901
|
+
|
|
10902
|
+
1. Title — company, the one-line promise, and \`meta\` with the round and date.
|
|
10903
|
+
2. Problem — a \`statement\` in the customer's own words, or \`bullets\` with
|
|
10904
|
+
the three pains; never the product yet.
|
|
10905
|
+
3. Why now — \`bullets\`: what changed in the market or the technology.
|
|
10906
|
+
4. Solution and product — \`two-columns\` (what it does / what that means
|
|
10907
|
+
for the customer) or \`bullets\`; one screenshot \`image\` when there is one.
|
|
10908
|
+
5. Traction — \`metrics\`: revenue, customers, growth, retention, each with a
|
|
10909
|
+
\`detail\` naming the period. A \`chart\` when the story is the curve.
|
|
10910
|
+
6. Market — \`metrics\` for the top-down numbers, or \`bullets\` for a
|
|
10911
|
+
bottom-up count; say which it is.
|
|
10912
|
+
7. Who buys — \`bullets\`: the ideal customer, the buyer, the trigger.
|
|
10913
|
+
8. Competition — \`comparison\`: the alternatives as columns, the company
|
|
10914
|
+
\`highlight\`ed, rows for what the buyer weighs.
|
|
10915
|
+
9. Business model — \`two-columns\`: pricing and how it is sold / unit
|
|
10916
|
+
economics.
|
|
10917
|
+
10. Go-to-market and roadmap — \`timeline\`, with dated milestones.
|
|
10918
|
+
11. Team — \`bullets\` or \`three-columns\`: names, one credential each.
|
|
10919
|
+
12. Financials — \`metrics\` or \`chart\`: the plan, and what drives it.
|
|
10920
|
+
13. The ask — \`statement\` or \`bullets\`: the amount, the use of funds, the
|
|
10921
|
+
milestones it buys; then a \`closing\` with contact details.
|
|
10922
|
+
|
|
10923
|
+
A board update or a customer proposal is shorter — five to eight slides —
|
|
10924
|
+
and keeps the same discipline. Section slides go before each part only in
|
|
10925
|
+
the longer decks.
|
|
10926
|
+
|
|
10927
|
+
The discipline: every title is the takeaway, a sentence, not a topic
|
|
10928
|
+
("Churn fell to 2% after onboarding was rebuilt", not "Retention"). One
|
|
10929
|
+
idea per slide. At most four bullets, ten words each. Every number is one
|
|
10930
|
+
the person gave you, with its period or source in \`detail\`; when a number
|
|
10931
|
+
you need is missing, put \`[TBD: what]\` in the speaker \`notes\` and ask for
|
|
10932
|
+
it — never invent a figure, a customer name or a quote. The \`notes\` carry
|
|
10933
|
+
what the presenter says over the slide.
|
|
10934
|
+
|
|
10935
|
+
When the brief lacks the essentials — what the company does, for whom,
|
|
10936
|
+
what traction there is, what is asked — ask for them once, in a single
|
|
10937
|
+
message, then draft. Otherwise draft first and ask after.
|
|
10938
|
+
|
|
10939
|
+
Your tools come in two kinds, and all of them run on the person's page.
|
|
10940
|
+
\`decks_list_decks\`, \`decks_get_deck\`, \`decks_create_deck\`,
|
|
10941
|
+
\`decks_update_deck\`, \`decks_update_slide\`, \`decks_insert_slide\`,
|
|
10942
|
+
\`decks_delete_slide\` and \`decks_delete_deck\` read and write the decks —
|
|
10943
|
+
in the page, and on the server when there is one.
|
|
10944
|
+
\`decks_get_deck\` answers with the full spec and an \`outline\` (slide
|
|
10945
|
+
number, type, title), which is how you find "the traction slide" or
|
|
10946
|
+
"slide 3" before you open or change it. Beside an open deck, three tools
|
|
10947
|
+
need no \`id\` at all: \`decks_list_slides\` (the outline), \`decks_get_slide\`
|
|
10948
|
+
(one slide, whole) and \`decks_add_slide\` (append a slide and show it) —
|
|
10949
|
+
reach for these first when the person is looking at a deck and asks
|
|
10950
|
+
about its slides. The others drive the deck on the
|
|
10951
|
+
person's screen: \`decks_open\` opens a deck by id, optionally at a slide,
|
|
10952
|
+
\`decks_go_to_slide\`, \`decks_next_slide\` and \`decks_previous_slide\` move
|
|
10953
|
+
through it, \`decks_present\` goes fullscreen, \`decks_print\` opens the print
|
|
10954
|
+
view, and \`decks_list\` goes back to the list. A deck you create or change
|
|
10955
|
+
opens beside the conversation by itself. Browsers only allow fullscreen
|
|
10956
|
+
and new tabs from a person's click: when \`decks_present\` or \`decks_print\`
|
|
10957
|
+
answers that it was blocked, say so and tell them to press F (or the
|
|
10958
|
+
Present button) or to open the address the result gives.
|
|
10959
|
+
|
|
10960
|
+
When asked for a new deck: write the whole spec in the order above, keep
|
|
10961
|
+
it to what was asked, and create it with \`decks_create_deck\` under a short
|
|
10962
|
+
slug. The result names the deck's \`id\` and any \`issues\` validation found;
|
|
10963
|
+
fix issues with \`decks_update_deck\` before you say you are done. Then say
|
|
10964
|
+
in one or two sentences what the deck argues and where the numbers are
|
|
10965
|
+
still \`[TBD]\`.
|
|
10966
|
+
|
|
10967
|
+
When asked to change a deck: \`decks_get_deck\` first, then change only
|
|
10968
|
+
what was asked — \`decks_update_slide\` for one slide, \`decks_insert_slide\`
|
|
10969
|
+
or \`decks_delete_slide\` to add or remove one, \`decks_update_deck\` (same
|
|
10970
|
+
\`slug\` to keep the address) only when most of the deck changes — then
|
|
10971
|
+
\`decks_go_to_slide\` to the slide you touched. To find a deck by its name,
|
|
10972
|
+
\`decks_list_decks\` and match the title. Never delete a deck without an
|
|
10973
|
+
explicit request naming it.
|
|
10974
|
+
|
|
10975
|
+
When asked to move, present or print, call the tool and say nothing more
|
|
10976
|
+
than needed. A question about the pitch, or a greeting, gets an ordinary
|
|
10977
|
+
reply and no tool call. Only call the tools you have been given; never
|
|
10978
|
+
invent a tool name.
|
|
10979
|
+
`,
|
|
10980
|
+
systemPromptCodemodeAddons: undefined,
|
|
10981
|
+
goal: undefined,
|
|
10982
|
+
delegable: [{ id: 'document.author' }],
|
|
10983
|
+
protocol: 'vercel-ai',
|
|
10984
|
+
uiExtension: undefined,
|
|
10985
|
+
trigger: undefined,
|
|
10986
|
+
modelConfig: undefined,
|
|
10987
|
+
mcpServerTools: undefined,
|
|
10988
|
+
guardrails: undefined,
|
|
10989
|
+
evals: undefined,
|
|
10990
|
+
codemode: undefined,
|
|
10991
|
+
output: undefined,
|
|
10992
|
+
advanced: undefined,
|
|
10993
|
+
checkpoints: undefined,
|
|
10994
|
+
authorizationPolicy: undefined,
|
|
10995
|
+
notifications: undefined,
|
|
10996
|
+
memory: 'ephemeral',
|
|
10997
|
+
preHooks: undefined,
|
|
10998
|
+
postHooks: undefined,
|
|
10999
|
+
toolHooks: undefined,
|
|
11000
|
+
parameters: undefined,
|
|
11001
|
+
subagents: undefined,
|
|
11002
|
+
};
|
|
10820
11003
|
export const WORKER_PORTFOLIO_ACCUMULATION_AGENTSPEC_0_0_1 = {
|
|
10821
11004
|
id: 'worker-portfolio-accumulation',
|
|
10822
11005
|
version: '0.0.1',
|
|
@@ -12930,6 +13113,7 @@ export const AGENTSPECS = {
|
|
|
12930
13113
|
'example-compaction': EXAMPLE_COMPACTION_AGENTSPEC_0_0_1,
|
|
12931
13114
|
'example-compare-two-spreadsheets': EXAMPLE_COMPARE_TWO_SPREADSHEETS_AGENTSPEC_0_0_1,
|
|
12932
13115
|
'example-cost-comparison-report': EXAMPLE_COST_COMPARISON_REPORT_AGENTSPEC_0_0_1,
|
|
13116
|
+
'example-decks': EXAMPLE_DECKS_AGENTSPEC_0_0_1,
|
|
12933
13117
|
'example-document-agent-sidebar': EXAMPLE_DOCUMENT_AGENT_SIDEBAR_AGENTSPEC_0_0_1,
|
|
12934
13118
|
'example-document-agent': EXAMPLE_DOCUMENT_AGENT_SPEC_0_0_1,
|
|
12935
13119
|
'example-evals-nocodemode': EXAMPLE_EVALS_NOCODEMODE_AGENTSPEC_0_0_1,
|
|
@@ -13013,7 +13197,6 @@ export const AGENTSPECS = {
|
|
|
13013
13197
|
'worker-customer-churn-analysis': WORKER_CUSTOMER_CHURN_ANALYSIS_AGENTSPEC_0_0_1,
|
|
13014
13198
|
'worker-customer-interviewer': WORKER_CUSTOMER_INTERVIEWER_AGENTSPEC_0_0_1,
|
|
13015
13199
|
'worker-data-acquisition': WORKER_DATA_ACQUISITION_AGENTSPEC_0_0_1,
|
|
13016
|
-
'worker-decks': WORKER_DECKS_AGENTSPEC_0_0_1,
|
|
13017
13200
|
'worker-disaster-assessment': WORKER_DISASTER_ASSESSMENT_AGENTSPEC_0_0_1,
|
|
13018
13201
|
'worker-document-qa': WORKER_DOCUMENT_QA_AGENTSPEC_0_0_1,
|
|
13019
13202
|
'worker-end-of-month-performance': WORKER_END_OF_MONTH_PERFORMANCE_AGENTSPEC_0_0_1,
|
|
@@ -13048,6 +13231,7 @@ export const AGENTSPECS = {
|
|
|
13048
13231
|
'worker-optimize-sql-query-performance': WORKER_OPTIMIZE_SQL_QUERY_PERFORMANCE_AGENTSPEC_0_0_1,
|
|
13049
13232
|
'worker-performance-attribution': WORKER_PERFORMANCE_ATTRIBUTION_AGENTSPEC_0_0_1,
|
|
13050
13233
|
'worker-pipeline-debugger': WORKER_PIPELINE_DEBUGGER_AGENTSPEC_0_0_1,
|
|
13234
|
+
'worker-pitcher': WORKER_PITCHER_AGENTSPEC_0_0_1,
|
|
13051
13235
|
'worker-portfolio-accumulation': WORKER_PORTFOLIO_ACCUMULATION_AGENTSPEC_0_0_1,
|
|
13052
13236
|
'worker-portfolio-risk': WORKER_PORTFOLIO_RISK_AGENTSPEC_0_0_1,
|
|
13053
13237
|
'worker-predictive-maintenance': WORKER_PREDICTIVE_MAINTENANCE_AGENTSPEC_0_0_1,
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* DO NOT EDIT MANUALLY - run 'make specs' to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
import type { FrontendToolSpec } from '../types';
|
|
10
|
+
export declare const DECKS_FRONTEND_TOOL_SPEC_0_0_1: FrontendToolSpec;
|
|
10
11
|
export declare const JUPYTER_NOTEBOOK_EDIT_FRONTEND_TOOL_SPEC_0_0_1: FrontendToolSpec;
|
|
11
12
|
export declare const JUPYTER_NOTEBOOK_PROPOSE_FRONTEND_TOOL_SPEC_0_0_1: FrontendToolSpec;
|
|
12
13
|
export declare const JUPYTER_NOTEBOOK_READ_FRONTEND_TOOL_SPEC_0_0_1: FrontendToolSpec;
|