@ouispec/agent-worker 0.1.0
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/LICENSE +21 -0
- package/README.md +175 -0
- package/dist/approvals/client.d.ts +29 -0
- package/dist/approvals/client.d.ts.map +1 -0
- package/dist/approvals/client.js +50 -0
- package/dist/approvals/client.js.map +1 -0
- package/dist/approvals/continuation.d.ts +28 -0
- package/dist/approvals/continuation.d.ts.map +1 -0
- package/dist/approvals/continuation.js +43 -0
- package/dist/approvals/continuation.js.map +1 -0
- package/dist/approvals/preview.d.ts +15 -0
- package/dist/approvals/preview.d.ts.map +1 -0
- package/dist/approvals/preview.js +33 -0
- package/dist/approvals/preview.js.map +1 -0
- package/dist/approvals/requirement.d.ts +15 -0
- package/dist/approvals/requirement.d.ts.map +1 -0
- package/dist/approvals/requirement.js +26 -0
- package/dist/approvals/requirement.js.map +1 -0
- package/dist/authz/tool-policy.d.ts +63 -0
- package/dist/authz/tool-policy.d.ts.map +1 -0
- package/dist/authz/tool-policy.js +23 -0
- package/dist/authz/tool-policy.js.map +1 -0
- package/dist/container/server.d.ts +24 -0
- package/dist/container/server.d.ts.map +1 -0
- package/dist/container/server.js +119 -0
- package/dist/container/server.js.map +1 -0
- package/dist/emit/http-adapter.d.ts +15 -0
- package/dist/emit/http-adapter.d.ts.map +1 -0
- package/dist/emit/http-adapter.js +35 -0
- package/dist/emit/http-adapter.js.map +1 -0
- package/dist/emit/types.d.ts +9 -0
- package/dist/emit/types.d.ts.map +1 -0
- package/dist/emit/types.js +7 -0
- package/dist/emit/types.js.map +1 -0
- package/dist/events/http-waiter.d.ts +19 -0
- package/dist/events/http-waiter.d.ts.map +1 -0
- package/dist/events/http-waiter.js +20 -0
- package/dist/events/http-waiter.js.map +1 -0
- package/dist/index.d.ts +60 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/lambda/handler.d.ts +38 -0
- package/dist/lambda/handler.d.ts.map +1 -0
- package/dist/lambda/handler.js +26 -0
- package/dist/lambda/handler.js.map +1 -0
- package/dist/model.d.ts +33 -0
- package/dist/model.d.ts.map +1 -0
- package/dist/model.js +15 -0
- package/dist/model.js.map +1 -0
- package/dist/openapi/document.d.ts +87 -0
- package/dist/openapi/document.d.ts.map +1 -0
- package/dist/openapi/document.js +117 -0
- package/dist/openapi/document.js.map +1 -0
- package/dist/openapi/executor.d.ts +51 -0
- package/dist/openapi/executor.d.ts.map +1 -0
- package/dist/openapi/executor.js +140 -0
- package/dist/openapi/executor.js.map +1 -0
- package/dist/openapi/index.d.ts +14 -0
- package/dist/openapi/index.d.ts.map +1 -0
- package/dist/openapi/index.js +9 -0
- package/dist/openapi/index.js.map +1 -0
- package/dist/openapi/loader.d.ts +81 -0
- package/dist/openapi/loader.d.ts.map +1 -0
- package/dist/openapi/loader.js +361 -0
- package/dist/openapi/loader.js.map +1 -0
- package/dist/openapi/x-agent.d.ts +34 -0
- package/dist/openapi/x-agent.d.ts.map +1 -0
- package/dist/openapi/x-agent.js +102 -0
- package/dist/openapi/x-agent.js.map +1 -0
- package/dist/orchestrator.d.ts +12 -0
- package/dist/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator.js +1019 -0
- package/dist/orchestrator.js.map +1 -0
- package/dist/prompt/builder.d.ts +29 -0
- package/dist/prompt/builder.d.ts.map +1 -0
- package/dist/prompt/builder.js +129 -0
- package/dist/prompt/builder.js.map +1 -0
- package/dist/prompt/index.d.ts +15 -0
- package/dist/prompt/index.d.ts.map +1 -0
- package/dist/prompt/index.js +13 -0
- package/dist/prompt/index.js.map +1 -0
- package/dist/prompt/rules/base.d.ts +6 -0
- package/dist/prompt/rules/base.d.ts.map +1 -0
- package/dist/prompt/rules/base.js +38 -0
- package/dist/prompt/rules/base.js.map +1 -0
- package/dist/prompt/rules/communication.d.ts +7 -0
- package/dist/prompt/rules/communication.d.ts.map +1 -0
- package/dist/prompt/rules/communication.js +53 -0
- package/dist/prompt/rules/communication.js.map +1 -0
- package/dist/prompt/rules/tool-strategy.d.ts +6 -0
- package/dist/prompt/rules/tool-strategy.d.ts.map +1 -0
- package/dist/prompt/rules/tool-strategy.js +42 -0
- package/dist/prompt/rules/tool-strategy.js.map +1 -0
- package/dist/prompt/rules/ui-control.d.ts +10 -0
- package/dist/prompt/rules/ui-control.d.ts.map +1 -0
- package/dist/prompt/rules/ui-control.js +44 -0
- package/dist/prompt/rules/ui-control.js.map +1 -0
- package/dist/prompt/types.d.ts +85 -0
- package/dist/prompt/types.d.ts.map +1 -0
- package/dist/prompt/types.js +10 -0
- package/dist/prompt/types.js.map +1 -0
- package/dist/realtime/long-poll.d.ts +21 -0
- package/dist/realtime/long-poll.d.ts.map +1 -0
- package/dist/realtime/long-poll.js +36 -0
- package/dist/realtime/long-poll.js.map +1 -0
- package/dist/runtime/config.d.ts +4 -0
- package/dist/runtime/config.d.ts.map +1 -0
- package/dist/runtime/config.js +29 -0
- package/dist/runtime/config.js.map +1 -0
- package/dist/runtime/turn-runner.d.ts +32 -0
- package/dist/runtime/turn-runner.d.ts.map +1 -0
- package/dist/runtime/turn-runner.js +216 -0
- package/dist/runtime/turn-runner.js.map +1 -0
- package/dist/runtime/types.d.ts +244 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +2 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/testing/desk-events.d.ts +12 -0
- package/dist/testing/desk-events.d.ts.map +1 -0
- package/dist/testing/desk-events.js +62 -0
- package/dist/testing/desk-events.js.map +1 -0
- package/dist/testing/index.d.ts +8 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +7 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/openapi-fixture.d.ts +47 -0
- package/dist/testing/openapi-fixture.d.ts.map +1 -0
- package/dist/testing/openapi-fixture.js +370 -0
- package/dist/testing/openapi-fixture.js.map +1 -0
- package/dist/tools/async-binding.d.ts +71 -0
- package/dist/tools/async-binding.d.ts.map +1 -0
- package/dist/tools/async-binding.js +104 -0
- package/dist/tools/async-binding.js.map +1 -0
- package/dist/tools/builtin-tools.d.ts +20 -0
- package/dist/tools/builtin-tools.d.ts.map +1 -0
- package/dist/tools/builtin-tools.js +108 -0
- package/dist/tools/builtin-tools.js.map +1 -0
- package/dist/tools/entity-tools.d.ts +6 -0
- package/dist/tools/entity-tools.d.ts.map +1 -0
- package/dist/tools/entity-tools.js +227 -0
- package/dist/tools/entity-tools.js.map +1 -0
- package/dist/tools/input-validation.d.ts +16 -0
- package/dist/tools/input-validation.d.ts.map +1 -0
- package/dist/tools/input-validation.js +75 -0
- package/dist/tools/input-validation.js.map +1 -0
- package/dist/tools/load-all-tools.d.ts +12 -0
- package/dist/tools/load-all-tools.d.ts.map +1 -0
- package/dist/tools/load-all-tools.js +42 -0
- package/dist/tools/load-all-tools.js.map +1 -0
- package/dist/tools/schema-loader.d.ts +24 -0
- package/dist/tools/schema-loader.d.ts.map +1 -0
- package/dist/tools/schema-loader.js +267 -0
- package/dist/tools/schema-loader.js.map +1 -0
- package/dist/tools/types.d.ts +85 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +22 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/turn-policy.d.ts +68 -0
- package/dist/turn-policy.d.ts.map +1 -0
- package/dist/turn-policy.js +21 -0
- package/dist/turn-policy.js.map +1 -0
- package/dist/types.d.ts +151 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/channel.d.ts +64 -0
- package/dist/ui/channel.d.ts.map +1 -0
- package/dist/ui/channel.js +81 -0
- package/dist/ui/channel.js.map +1 -0
- package/dist/ui/knowledge.d.ts +30 -0
- package/dist/ui/knowledge.d.ts.map +1 -0
- package/dist/ui/knowledge.js +66 -0
- package/dist/ui/knowledge.js.map +1 -0
- package/dist/ui/observations.d.ts +41 -0
- package/dist/ui/observations.d.ts.map +1 -0
- package/dist/ui/observations.js +236 -0
- package/dist/ui/observations.js.map +1 -0
- package/dist/ui/snapshot.d.ts +33 -0
- package/dist/ui/snapshot.d.ts.map +1 -0
- package/dist/ui/snapshot.js +75 -0
- package/dist/ui/snapshot.js.map +1 -0
- package/dist/ui/ui-sequence.d.ts +75 -0
- package/dist/ui/ui-sequence.d.ts.map +1 -0
- package/dist/ui/ui-sequence.js +73 -0
- package/dist/ui/ui-sequence.js.map +1 -0
- package/dist/ui/ui-tools.d.ts +59 -0
- package/dist/ui/ui-tools.d.ts.map +1 -0
- package/dist/ui/ui-tools.js +244 -0
- package/dist/ui/ui-tools.js.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt Builder — assembles the full system prompt from:
|
|
3
|
+
* 1. Platform persona (identity, capabilities, knowledge, workflows, instructions)
|
|
4
|
+
* 2. SDK base rules (anti-hallucination, communication, tool strategy, UI control)
|
|
5
|
+
* 3. Runtime context (userId, current UI state)
|
|
6
|
+
*
|
|
7
|
+
* Pure function — no side effects. Platforms can inspect, cache, or modify the output.
|
|
8
|
+
*/
|
|
9
|
+
import type { AgentPersonaConfig, PromptBuildContext } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Build a complete system prompt by combining SDK behavioral rules
|
|
12
|
+
* with the platform's persona configuration and runtime context.
|
|
13
|
+
*
|
|
14
|
+
* Order of sections:
|
|
15
|
+
* 1. Platform identity (who the agent is)
|
|
16
|
+
* 2. SDK base rules (anti-hallucination, anti-repetition, identity boundaries)
|
|
17
|
+
* 3. SDK communication rules (formatting, tone)
|
|
18
|
+
* 4. SDK tool strategy rules (discovery-first, error handling, options)
|
|
19
|
+
* 5. SDK UI control rules (navigation, forms, player, toasts)
|
|
20
|
+
* 6. Platform capabilities
|
|
21
|
+
* 7. Platform knowledge
|
|
22
|
+
* 8. Platform workflows
|
|
23
|
+
* 9. Platform instructions (tool-specific, domain rules)
|
|
24
|
+
* 10. Platform routes
|
|
25
|
+
* 11. Few-shot examples
|
|
26
|
+
* 12. Runtime UI context
|
|
27
|
+
*/
|
|
28
|
+
export declare function buildAgentSystemPrompt(persona: AgentPersonaConfig, context?: PromptBuildContext): string;
|
|
29
|
+
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/prompt/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAOzE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CA4GR"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt Builder — assembles the full system prompt from:
|
|
3
|
+
* 1. Platform persona (identity, capabilities, knowledge, workflows, instructions)
|
|
4
|
+
* 2. SDK base rules (anti-hallucination, communication, tool strategy, UI control)
|
|
5
|
+
* 3. Runtime context (userId, current UI state)
|
|
6
|
+
*
|
|
7
|
+
* Pure function — no side effects. Platforms can inspect, cache, or modify the output.
|
|
8
|
+
*/
|
|
9
|
+
import { getBaseRules } from './rules/base.js';
|
|
10
|
+
import { getCommunicationRules } from './rules/communication.js';
|
|
11
|
+
import { getToolStrategyRules } from './rules/tool-strategy.js';
|
|
12
|
+
import { getUIControlRules } from './rules/ui-control.js';
|
|
13
|
+
import { withoutClientUI } from '../ui/snapshot.js';
|
|
14
|
+
/**
|
|
15
|
+
* Build a complete system prompt by combining SDK behavioral rules
|
|
16
|
+
* with the platform's persona configuration and runtime context.
|
|
17
|
+
*
|
|
18
|
+
* Order of sections:
|
|
19
|
+
* 1. Platform identity (who the agent is)
|
|
20
|
+
* 2. SDK base rules (anti-hallucination, anti-repetition, identity boundaries)
|
|
21
|
+
* 3. SDK communication rules (formatting, tone)
|
|
22
|
+
* 4. SDK tool strategy rules (discovery-first, error handling, options)
|
|
23
|
+
* 5. SDK UI control rules (navigation, forms, player, toasts)
|
|
24
|
+
* 6. Platform capabilities
|
|
25
|
+
* 7. Platform knowledge
|
|
26
|
+
* 8. Platform workflows
|
|
27
|
+
* 9. Platform instructions (tool-specific, domain rules)
|
|
28
|
+
* 10. Platform routes
|
|
29
|
+
* 11. Few-shot examples
|
|
30
|
+
* 12. Runtime UI context
|
|
31
|
+
*/
|
|
32
|
+
export function buildAgentSystemPrompt(persona, context) {
|
|
33
|
+
const parts = [];
|
|
34
|
+
const overrides = persona.overrides ?? {};
|
|
35
|
+
const style = overrides.communicationStyle ?? 'conversational';
|
|
36
|
+
// 1. Platform identity
|
|
37
|
+
parts.push(persona.identity);
|
|
38
|
+
// 2. SDK base rules
|
|
39
|
+
if (!overrides.disableAntiHallucination && !overrides.disableAntiRepetition) {
|
|
40
|
+
parts.push('\n\n' + getBaseRules(persona.name));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
if (!overrides.disableAntiHallucination) {
|
|
44
|
+
const baseRules = getBaseRules(persona.name);
|
|
45
|
+
const antiHallucSection = baseRules.split('### Anti-Repetition')[0];
|
|
46
|
+
parts.push('\n\n' + antiHallucSection.trim());
|
|
47
|
+
}
|
|
48
|
+
if (!overrides.disableAntiRepetition) {
|
|
49
|
+
const baseRules = getBaseRules(persona.name);
|
|
50
|
+
const repetitionStart = baseRules.indexOf('### Anti-Repetition');
|
|
51
|
+
const identityStart = baseRules.indexOf('### Identity Boundaries');
|
|
52
|
+
if (repetitionStart !== -1 && identityStart !== -1) {
|
|
53
|
+
parts.push('\n\n' + baseRules.slice(repetitionStart, identityStart).trim());
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// 3. SDK communication rules
|
|
58
|
+
parts.push('\n\n' + getCommunicationRules(style));
|
|
59
|
+
// 4. SDK tool strategy rules
|
|
60
|
+
if (!overrides.disableToolStrategy) {
|
|
61
|
+
parts.push('\n\n' + getToolStrategyRules());
|
|
62
|
+
}
|
|
63
|
+
// 5. SDK UI control rules
|
|
64
|
+
if (!overrides.disableUIControlRules) {
|
|
65
|
+
parts.push('\n\n' + getUIControlRules());
|
|
66
|
+
}
|
|
67
|
+
// 6. Platform capabilities
|
|
68
|
+
if (persona.capabilities?.length) {
|
|
69
|
+
parts.push('\n\n## CAPABILITIES\n');
|
|
70
|
+
parts.push(persona.capabilities.map(c => `- ${c}`).join('\n'));
|
|
71
|
+
}
|
|
72
|
+
// 7. Platform knowledge
|
|
73
|
+
if (persona.knowledge?.length) {
|
|
74
|
+
parts.push('\n\n## DOMAIN KNOWLEDGE\n');
|
|
75
|
+
for (const entry of persona.knowledge) {
|
|
76
|
+
parts.push(`\n### ${entry.title}\n${entry.content}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// 8. Platform workflows
|
|
80
|
+
if (persona.workflows?.length) {
|
|
81
|
+
parts.push('\n\n## GUIDED WORKFLOWS\n');
|
|
82
|
+
for (const wf of persona.workflows) {
|
|
83
|
+
parts.push(`\n### ${wf.name}`);
|
|
84
|
+
parts.push(`**Trigger:** ${wf.trigger}`);
|
|
85
|
+
parts.push(wf.steps.map((s, i) => `${i + 1}. ${s}`).join('\n'));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// 9. Platform instructions
|
|
89
|
+
if (persona.instructions?.length) {
|
|
90
|
+
parts.push('\n\n## PLATFORM-SPECIFIC INSTRUCTIONS\n');
|
|
91
|
+
parts.push(persona.instructions.join('\n\n'));
|
|
92
|
+
}
|
|
93
|
+
// 10. Platform routes
|
|
94
|
+
if (persona.routes && Object.keys(persona.routes).length > 0) {
|
|
95
|
+
parts.push('\n\n## PLATFORM ROUTES\n');
|
|
96
|
+
parts.push('Key pages you can navigate to:');
|
|
97
|
+
for (const [path, desc] of Object.entries(persona.routes)) {
|
|
98
|
+
parts.push(`- ${path} — ${desc}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// 11. Few-shot examples
|
|
102
|
+
if (persona.fewShotExamples?.length) {
|
|
103
|
+
parts.push('\n\n## EXAMPLE CONVERSATIONS\n');
|
|
104
|
+
for (const example of persona.fewShotExamples) {
|
|
105
|
+
parts.push(`\n**User:** ${example.user}`);
|
|
106
|
+
if (example.toolCalls?.length) {
|
|
107
|
+
parts.push(`*[Uses tools: ${example.toolCalls.join(', ')}]*`);
|
|
108
|
+
}
|
|
109
|
+
parts.push(`**Assistant:** ${example.assistant}`);
|
|
110
|
+
if (example.followUp) {
|
|
111
|
+
parts.push(`**Follow-up:** ${example.followUp}`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// 12. Runtime UI context. What the client's UI sent for the worker is
|
|
116
|
+
// excluded: its surface snapshot is the turn's UI tools, not prose, and
|
|
117
|
+
// repeating every manifest here would cost thousands of tokens for nothing;
|
|
118
|
+
// its knowledge is rendered once, after this prompt (ui/knowledge.ts).
|
|
119
|
+
const uiContext = withoutClientUI(context?.context);
|
|
120
|
+
if (uiContext && Object.keys(uiContext).length > 0) {
|
|
121
|
+
parts.push('\n\n## CURRENT UI CONTEXT\n');
|
|
122
|
+
parts.push('The user is currently on this page/state:');
|
|
123
|
+
parts.push('```json');
|
|
124
|
+
parts.push(JSON.stringify(uiContext, null, 2));
|
|
125
|
+
parts.push('```');
|
|
126
|
+
}
|
|
127
|
+
return parts.join('\n');
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/prompt/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt Framework — composable system prompt builder for the agent SDK.
|
|
3
|
+
*
|
|
4
|
+
* Platforms provide an AgentPersonaConfig (identity, knowledge, workflows, instructions).
|
|
5
|
+
* The SDK handles generic behavioral intelligence (anti-hallucination, communication style,
|
|
6
|
+
* tool strategy, UI control protocol).
|
|
7
|
+
*/
|
|
8
|
+
export { buildAgentSystemPrompt } from './builder.js';
|
|
9
|
+
export type { AgentPersonaConfig, AgentKnowledgeEntry, AgentWorkflow, AgentFewShotExample, AgentPersonaOverrides, PromptBuildContext, } from './types.js';
|
|
10
|
+
export { getBaseRules } from './rules/base.js';
|
|
11
|
+
export { getCommunicationRules } from './rules/communication.js';
|
|
12
|
+
export type { CommunicationStyle } from './rules/communication.js';
|
|
13
|
+
export { getToolStrategyRules } from './rules/tool-strategy.js';
|
|
14
|
+
export { getUIControlRules } from './rules/ui-control.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt Framework — composable system prompt builder for the agent SDK.
|
|
3
|
+
*
|
|
4
|
+
* Platforms provide an AgentPersonaConfig (identity, knowledge, workflows, instructions).
|
|
5
|
+
* The SDK handles generic behavioral intelligence (anti-hallucination, communication style,
|
|
6
|
+
* tool strategy, UI control protocol).
|
|
7
|
+
*/
|
|
8
|
+
export { buildAgentSystemPrompt } from './builder.js';
|
|
9
|
+
export { getBaseRules } from './rules/base.js';
|
|
10
|
+
export { getCommunicationRules } from './rules/communication.js';
|
|
11
|
+
export { getToolStrategyRules } from './rules/tool-strategy.js';
|
|
12
|
+
export { getUIControlRules } from './rules/ui-control.js';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAStD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/prompt/rules/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAgCtD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base behavioral rules — anti-hallucination, anti-repetition, identity.
|
|
3
|
+
* These are universal and apply to ANY agent on ANY platform.
|
|
4
|
+
*/
|
|
5
|
+
export function getBaseRules(agentName) {
|
|
6
|
+
return `## NON-NEGOTIABLE BEHAVIORAL RULES
|
|
7
|
+
|
|
8
|
+
### Anti-Hallucination
|
|
9
|
+
- NEVER invent, fabricate, or assume data. Tool results are ground truth.
|
|
10
|
+
- NEVER claim something exists unless a tool confirmed it.
|
|
11
|
+
- When in doubt, say you don't know. Never fabricate plausible-sounding information.
|
|
12
|
+
- NEVER match by similarity unless explicitly confirmed by the user.
|
|
13
|
+
- If a tool returns no results, say so honestly — do not invent alternative data.
|
|
14
|
+
|
|
15
|
+
### Anti-Repetition (CRITICAL)
|
|
16
|
+
- You may introduce yourself ONCE at the very start of a conversation (the first message only).
|
|
17
|
+
- On ALL subsequent messages, get straight to the point. Do NOT re-state who you are, what you can do, or list your capabilities again.
|
|
18
|
+
- NEVER say "Welcome! I'm ${agentName}..." or re-list capabilities after the first message.
|
|
19
|
+
- If the user asks a question, ANSWER IT DIRECTLY. Do not preface with an introduction or capability summary.
|
|
20
|
+
- The user already knows who you are. Repeating it is annoying and wastes their time.
|
|
21
|
+
|
|
22
|
+
#### MULTI-ROUND TURNS (tool use)
|
|
23
|
+
- When you call tools during a turn, you will speak BEFORE the tool call and AFTER the tool result returns.
|
|
24
|
+
- IMPORTANT: Text you write BEFORE a tool call is treated as preamble and is CLEARED from the user's view when the tool executes. Only your FINAL text (after the last tool result, or the text in the round that ends the turn) is shown.
|
|
25
|
+
- Therefore: Keep pre-tool narration to ONE short sentence ("Let me check..."). Do NOT write your full answer before calling a tool — it will be wiped.
|
|
26
|
+
- Write your substantive answer in the FINAL round (after all tools complete), OR in a tool_use round if you must call a tool after presenting your answer. In that case, your answer text WILL be preserved and shown as the final message.
|
|
27
|
+
- After a tool returns: continue where you left off. Reference the result and move forward. Do NOT start fresh.
|
|
28
|
+
- If you said "Let me check..." before a tool call, after it returns just present the findings — do NOT say "Great news! I checked and here's what I found..." with a fresh intro.
|
|
29
|
+
- NEVER re-summarize context, re-list capabilities, or re-introduce yourself between rounds.
|
|
30
|
+
|
|
31
|
+
### Identity Boundaries
|
|
32
|
+
- NEVER explain APIs, endpoints, or function schemas to users. You USE tools — you don't describe them.
|
|
33
|
+
- NEVER output raw JSON, code, stack traces, or technical details unless the user is explicitly debugging.
|
|
34
|
+
- NEVER mention internal model names, tool names, or technical identifiers. These are implementation details.
|
|
35
|
+
- Describe capabilities by what they DO, not by the system behind them.
|
|
36
|
+
- Everything you write is user-facing prose. No chain-of-thought, no self-instructions, no meta-commentary.`;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/prompt/rules/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,OAAO;;;;;;;;;;;;4BAYmB,SAAS;;;;;;;;;;;;;;;;;;4GAkBuE,CAAC;AAC7G,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Communication style rules — formatting, tone, output constraints.
|
|
3
|
+
* Configurable by style preset: conversational, concise, or formal.
|
|
4
|
+
*/
|
|
5
|
+
export type CommunicationStyle = 'conversational' | 'concise' | 'formal';
|
|
6
|
+
export declare function getCommunicationRules(style?: CommunicationStyle): string;
|
|
7
|
+
//# sourceMappingURL=communication.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"communication.d.ts","sourceRoot":"","sources":["../../../src/prompt/rules/communication.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzE,wBAAgB,qBAAqB,CAAC,KAAK,GAAE,kBAAqC,GAAG,MAAM,CAkD1F"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Communication style rules — formatting, tone, output constraints.
|
|
3
|
+
* Configurable by style preset: conversational, concise, or formal.
|
|
4
|
+
*/
|
|
5
|
+
export function getCommunicationRules(style = 'conversational') {
|
|
6
|
+
const baseRules = `## COMMUNICATION RULES
|
|
7
|
+
|
|
8
|
+
### Output Format
|
|
9
|
+
- NEVER output internal reasoning, meta-instructions, or self-directed prompts.
|
|
10
|
+
- Format responses with rich markdown: **bold**, headings, bullet lists, and tables when comparing data.
|
|
11
|
+
- When presenting data from tools, format as clean tables or lists — never dump raw JSON.
|
|
12
|
+
- Everything you write is shown directly to the user as prose.
|
|
13
|
+
|
|
14
|
+
### Truthfulness About Async Work
|
|
15
|
+
- NEVER tell the user that a generation, export, or other async job is "in progress," "processing," or "rendering" unless the tool returned a real jobId.
|
|
16
|
+
- If a tool returns an error, an empty result, or no jobId, say what actually happened: "That didn't work — the backend rejected the request." Do NOT pretend the work started.
|
|
17
|
+
- If a tool returns a jobId, you may say it's processing and quote the jobId.
|
|
18
|
+
- A tool started real work only if its result says so (a job id, or a started status). Moving around the UI starts nothing by itself.`;
|
|
19
|
+
switch (style) {
|
|
20
|
+
case 'concise':
|
|
21
|
+
return `${baseRules}
|
|
22
|
+
|
|
23
|
+
### Style: Concise
|
|
24
|
+
- Keep responses short and direct. Answer the question, then stop.
|
|
25
|
+
- Use bullet points over paragraphs.
|
|
26
|
+
- Omit filler phrases ("Great question!", "Let me help you with that!").
|
|
27
|
+
- One sentence of narration per tool use, maximum.
|
|
28
|
+
- Only ask follow-up questions when you genuinely cannot proceed without more information.`;
|
|
29
|
+
case 'formal':
|
|
30
|
+
return `${baseRules}
|
|
31
|
+
|
|
32
|
+
### Style: Formal
|
|
33
|
+
- Maintain a professional, structured tone throughout.
|
|
34
|
+
- Use complete sentences and proper paragraph structure.
|
|
35
|
+
- Avoid emojis, slang, or overly casual language.
|
|
36
|
+
- Organize complex responses with numbered lists and clear headings.
|
|
37
|
+
- Address the user respectfully — no assumptions of familiarity.
|
|
38
|
+
- Narrate tool usage with brief, factual statements.`;
|
|
39
|
+
case 'conversational':
|
|
40
|
+
default:
|
|
41
|
+
return `${baseRules}
|
|
42
|
+
|
|
43
|
+
### Style: Conversational
|
|
44
|
+
- Be conversational and enthusiastic. You are a collaborator, not a bot.
|
|
45
|
+
- Speak as a partner with opinions and expertise in the domain.
|
|
46
|
+
- Briefly narrate what you're doing when using tools — but keep it to ONE short sentence, never a paragraph.
|
|
47
|
+
- Ask ONE focused question at a time. Do NOT ask 5 questions in one message.
|
|
48
|
+
- Suggest defaults the user can accept: "I'm thinking X — sound right?"
|
|
49
|
+
- If a tool returns an error, acknowledge it briefly: "That didn't work — let me try another approach."
|
|
50
|
+
- When tools fail silently or return empty results, pivot immediately to an alternative without narrating each failure.`;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=communication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"communication.js","sourceRoot":"","sources":["../../../src/prompt/rules/communication.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,UAAU,qBAAqB,CAAC,QAA4B,gBAAgB;IAChF,MAAM,SAAS,GAAG;;;;;;;;;;;;sIAYkH,CAAC;IAErI,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,GAAG,SAAS;;;;;;;2FAOkE,CAAC;QAExF,KAAK,QAAQ;YACX,OAAO,GAAG,SAAS;;;;;;;;qDAQ4B,CAAC;QAElD,KAAK,gBAAgB,CAAC;QACtB;YACE,OAAO,GAAG,SAAS;;;;;;;;;wHAS+F,CAAC;IACvH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-strategy.d.ts","sourceRoot":"","sources":["../../../src/prompt/rules/tool-strategy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,oBAAoB,IAAI,MAAM,CAoC7C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool strategy rules — discovery-first patterns, error handling,
|
|
3
|
+
* multi-round behavior, and options presentation.
|
|
4
|
+
*/
|
|
5
|
+
export function getToolStrategyRules() {
|
|
6
|
+
return `## TOOL STRATEGY
|
|
7
|
+
|
|
8
|
+
### Discovery First
|
|
9
|
+
When the user asks an exploratory question ("What do you have?", "Show me my stuff"), use explore/list tools FIRST for a dimensional summary. Only drill into search or get tools when they ask for something specific. Never dump raw data.
|
|
10
|
+
|
|
11
|
+
Granularity levels:
|
|
12
|
+
1. explore/list → dimensional summary (counts, facets, recent items)
|
|
13
|
+
2. search/filter → filtered results with pagination
|
|
14
|
+
3. get → full detail for a single item by ID
|
|
15
|
+
|
|
16
|
+
### Multi-Round Behavior
|
|
17
|
+
- When executing multi-step workflows, work on MULTIPLE THINGS IN PARALLEL when tools support it.
|
|
18
|
+
- While one operation processes, move on to the next — narrate this briefly: "That's processing — meanwhile, let's handle..."
|
|
19
|
+
- Do NOT emit filler text between tool rounds. Users see text accumulate in real-time.
|
|
20
|
+
- If a tool fails and you retry with a different approach, do NOT re-emit the same explanation.
|
|
21
|
+
- When tools fail silently or return empty results, pivot immediately without narrating each failure.
|
|
22
|
+
- Users should see a smooth experience, not a log of your retries.
|
|
23
|
+
|
|
24
|
+
### Error Handling
|
|
25
|
+
- If a tool returns an error, acknowledge briefly and try an alternative approach.
|
|
26
|
+
- Never expose error messages, stack traces, or internal tool names to the user.
|
|
27
|
+
- If multiple approaches fail, inform the user honestly and suggest a manual alternative.
|
|
28
|
+
- Never retry the exact same operation more than twice.
|
|
29
|
+
|
|
30
|
+
### Options Presentation
|
|
31
|
+
When you need the user to pick from choices, use the present_options tool with a structured options array. Do NOT write options as text bullets — the UI renders them as clickable elements.
|
|
32
|
+
- Set allowCustom:true when the user might want to type their own answer.
|
|
33
|
+
- Use style:"cards" or style:"list" when options have descriptions, and style:"buttons" for simple labels.
|
|
34
|
+
- Asking the user ends your response: their answer arrives as their next message. Only ask when you genuinely need their choice to continue — not as a substitute for an action you can take.
|
|
35
|
+
|
|
36
|
+
### Approvals
|
|
37
|
+
- A tool marked "Needs the user's approval" (an order, a payment, a send, a publish, a permanent deletion) shows the user an approval card with exactly the arguments you called it with, and runs only if they approve it there. Call it directly when they ask for it; do not ask for a yes in chat first, and never treat a typed yes as an approval.
|
|
38
|
+
- Calling one ends your response: you are told the outcome in the next turn. Only one such action is approved at a time.
|
|
39
|
+
- A message may carry an <approval> block: what the user decided on the card and whether the action ran. Report that outcome as it says, and never say an action ran when the block says it did not.
|
|
40
|
+
- For anything else that is significant or expensive but needs no approval (a long generation, say), a brief check is enough: "Ready to generate?"`;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=tool-strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-strategy.js","sourceRoot":"","sources":["../../../src/prompt/rules/tool-strategy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,oBAAoB;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mJAkC0I,CAAC;AACpJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI rules — how the agent works in the client's UI through OUI surface tools
|
|
3
|
+
* (ADR-0209): the tools come from what is on the user's screen, every action
|
|
4
|
+
* returns what really happened, and the tool list follows the page.
|
|
5
|
+
*
|
|
6
|
+
* Product-neutral by design: no tool, route or page is named here. Which UI
|
|
7
|
+
* exists is the client's to say, at runtime, as tools (ADR-0168).
|
|
8
|
+
*/
|
|
9
|
+
export declare function getUIControlRules(): string;
|
|
10
|
+
//# sourceMappingURL=ui-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-control.d.ts","sourceRoot":"","sources":["../../../src/prompt/rules/ui-control.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wBAAgB,iBAAiB,IAAI,MAAM,CAkC1C"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI rules — how the agent works in the client's UI through OUI surface tools
|
|
3
|
+
* (ADR-0209): the tools come from what is on the user's screen, every action
|
|
4
|
+
* returns what really happened, and the tool list follows the page.
|
|
5
|
+
*
|
|
6
|
+
* Product-neutral by design: no tool, route or page is named here. Which UI
|
|
7
|
+
* exists is the client's to say, at runtime, as tools (ADR-0168).
|
|
8
|
+
*/
|
|
9
|
+
export function getUIControlRules() {
|
|
10
|
+
return `## THE USER'S UI
|
|
11
|
+
|
|
12
|
+
You act in the user's UI, as the user would. Your UI tools are marked "[UI · <surface>]" and come from what is on the user's screen right now.
|
|
13
|
+
|
|
14
|
+
### What you can do
|
|
15
|
+
- Your abilities are exactly the tools in your current list. If a request needs something that is not in the list, you cannot do it from here: say so plainly. If a tool in the list leads to a page that offers it, use that tool first.
|
|
16
|
+
- Never say you are doing something in the UI ("Let me take you there", "I'll open that") unless you call the tool for it in the same response. Never describe an action as done before its result says so.
|
|
17
|
+
|
|
18
|
+
### How UI tools behave
|
|
19
|
+
- A UI tool runs in the user's browser and returns what really happened: its result or error, the surfaces now on screen, and the page's current state. Read it before your next step.
|
|
20
|
+
- When an action changes the page (navigating, opening an editor), its result lists the tools added and removed, and your next step has the new page's tools. Carry on with the task on the new page in the same response; do not stop to wait for the user unless you need their input.
|
|
21
|
+
- UI tools run one at a time, in the order you call them: each starts after the one before has answered, and its result shows the page as those before it left it. To fill a form and submit it, call the field tools first and the submit last; you can do all of it in one response.
|
|
22
|
+
- If a UI tool fails, report the actual error. If the page did not answer, check what it shows before trying again.
|
|
23
|
+
- The user's message may end with a <page_state> block: what their screen offered, and its values, when they sent it.
|
|
24
|
+
|
|
25
|
+
### Checking what you did
|
|
26
|
+
- The page state is the truth about the screen. A surface's \`problems\` observation lists what its page cannot draw, load or read — something it does not show, a file or asset that failed, what an import could not reproduce. Read it after every change you make.
|
|
27
|
+
- Never tell the user that something worked, is visible or renders unless the page state confirms it. A successful result says the action ran, not that the outcome is what the user will see.
|
|
28
|
+
- When the page reports a problem with what you made, fix it with the page's own tools, or tell the user plainly what is wrong and what they can do about it. Never describe it as fine.
|
|
29
|
+
- When a page does not open, the \`problems\` of the Pages surface say why, such as access the user does not have. Tell the user that, in the page's words. Never say its tools are missing or not surfacing: the page did not open.
|
|
30
|
+
- Build things with the tools a person would use on the page. Importing a raw file is for the user's own files, not a way around the page's tools.
|
|
31
|
+
|
|
32
|
+
### Offering what comes next
|
|
33
|
+
- Only suggest a next step, or offer it as an option, when a tool in your current list can carry it out, or leads to a page that can. Never offer something no tool can do.
|
|
34
|
+
- A request is something no tool can do when no tool does that very thing: an effect, material, style or result that no tool's description names, even if other tools could imitate it.
|
|
35
|
+
- When the user asks for something no tool can do, your reply opens with that: the first sentence says it cannot be done here, with no praise or preamble before it, and comes before any tool call. Then offer what the tools can do instead.
|
|
36
|
+
- Build a substitute only after the user says yes to it, and call it a substitute when you describe it. Never present an imitation as the thing asked for, and never promise it for later.
|
|
37
|
+
|
|
38
|
+
### Rules
|
|
39
|
+
1. Prefer a UI tool over any other tool that does the same job: the screen then shows what you did.
|
|
40
|
+
2. Only call tools that are in your current list. Never invent tool names, routes or ids.
|
|
41
|
+
3. Do not name tools in your text. The user sees the result on screen.
|
|
42
|
+
4. A tool marked "Needs the user's approval" shows them an approval card when you call it, and runs only if they approve it there. Call it directly when they ask for it; the card is the confirmation. A yes typed in chat is not an approval.`;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=ui-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-control.js","sourceRoot":"","sources":["../../../src/prompt/rules/ui-control.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gPAgCuO,CAAC;AACjP,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentPersonaConfig — the platform-specific configuration that integrators
|
|
3
|
+
* provide to define their agent's identity, knowledge, and behavior.
|
|
4
|
+
*
|
|
5
|
+
* The SDK's buildAgentSystemPrompt() combines this with generic behavioral
|
|
6
|
+
* rules (anti-hallucination, communication style, tool strategy, UI control)
|
|
7
|
+
* so platforms never re-invent the wheel.
|
|
8
|
+
*/
|
|
9
|
+
export interface AgentPersonaConfig {
|
|
10
|
+
/** Display name of the agent (e.g. "PA", "Atlas", "Helper") */
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* The agent's identity block — who it is, its role, and platform-specific
|
|
14
|
+
* personality. This becomes the opening of the system prompt.
|
|
15
|
+
* Can include markdown formatting.
|
|
16
|
+
*/
|
|
17
|
+
identity: string;
|
|
18
|
+
/** High-level capabilities the agent can perform on this platform. */
|
|
19
|
+
capabilities?: string[];
|
|
20
|
+
/** Domain knowledge entries — each gets its own titled section. */
|
|
21
|
+
knowledge?: AgentKnowledgeEntry[];
|
|
22
|
+
/** Guided workflows with trigger conditions and step sequences. */
|
|
23
|
+
workflows?: AgentWorkflow[];
|
|
24
|
+
/** Few-shot conversation examples for calibrating tone and behavior. */
|
|
25
|
+
fewShotExamples?: AgentFewShotExample[];
|
|
26
|
+
/**
|
|
27
|
+
* Platform-specific behavioral instructions appended AFTER SDK base rules.
|
|
28
|
+
* Use these for tool-specific guidance, domain rules, and platform conventions.
|
|
29
|
+
*/
|
|
30
|
+
instructions?: string[];
|
|
31
|
+
/**
|
|
32
|
+
* Platform routes/pages the agent can navigate to.
|
|
33
|
+
* Key is the path, value is a human-readable description.
|
|
34
|
+
*/
|
|
35
|
+
routes?: Record<string, string>;
|
|
36
|
+
/**
|
|
37
|
+
* Override SDK default behavioral rules.
|
|
38
|
+
* All rules are enabled by default — set these to disable specific categories.
|
|
39
|
+
*/
|
|
40
|
+
overrides?: AgentPersonaOverrides;
|
|
41
|
+
}
|
|
42
|
+
export interface AgentKnowledgeEntry {
|
|
43
|
+
title: string;
|
|
44
|
+
content: string;
|
|
45
|
+
}
|
|
46
|
+
export interface AgentWorkflow {
|
|
47
|
+
name: string;
|
|
48
|
+
trigger: string;
|
|
49
|
+
steps: string[];
|
|
50
|
+
}
|
|
51
|
+
export interface AgentFewShotExample {
|
|
52
|
+
user: string;
|
|
53
|
+
assistant: string;
|
|
54
|
+
toolCalls?: string[];
|
|
55
|
+
followUp?: string | null;
|
|
56
|
+
}
|
|
57
|
+
export interface AgentPersonaOverrides {
|
|
58
|
+
/** Disable anti-hallucination rules (not recommended). */
|
|
59
|
+
disableAntiHallucination?: boolean;
|
|
60
|
+
/** Disable anti-repetition / never-re-introduce rules. */
|
|
61
|
+
disableAntiRepetition?: boolean;
|
|
62
|
+
/** Disable generic UI control protocol rules. */
|
|
63
|
+
disableUIControlRules?: boolean;
|
|
64
|
+
/** Disable tool strategy rules (discovery-first, error handling). */
|
|
65
|
+
disableToolStrategy?: boolean;
|
|
66
|
+
/** Disable options presentation rules. */
|
|
67
|
+
disableOptionsPresentation?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Communication style preset. Affects tone and formatting rules.
|
|
70
|
+
* - 'conversational' (default): Friendly, collaborative, uses markdown liberally
|
|
71
|
+
* - 'concise': Minimal, direct answers, less personality
|
|
72
|
+
* - 'formal': Professional, structured, no emojis
|
|
73
|
+
*/
|
|
74
|
+
communicationStyle?: 'concise' | 'conversational' | 'formal';
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Context passed to the prompt builder at runtime.
|
|
78
|
+
* Includes user identity and current UI state.
|
|
79
|
+
*/
|
|
80
|
+
export interface PromptBuildContext {
|
|
81
|
+
userId: string;
|
|
82
|
+
accountId: string;
|
|
83
|
+
context?: Record<string, unknown> | null;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=types.d.ts.map
|