agentopology 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 +191 -0
- package/README.md +450 -0
- package/dist/analyzer/__tests__/analyzer.test.d.ts +2 -0
- package/dist/analyzer/__tests__/analyzer.test.d.ts.map +1 -0
- package/dist/analyzer/__tests__/analyzer.test.js +258 -0
- package/dist/analyzer/__tests__/analyzer.test.js.map +1 -0
- package/dist/analyzer/index.d.ts +44 -0
- package/dist/analyzer/index.d.ts.map +1 -0
- package/dist/analyzer/index.js +308 -0
- package/dist/analyzer/index.js.map +1 -0
- package/dist/bindings/__tests__/bindings.test.d.ts +2 -0
- package/dist/bindings/__tests__/bindings.test.d.ts.map +1 -0
- package/dist/bindings/__tests__/bindings.test.js +2089 -0
- package/dist/bindings/__tests__/bindings.test.js.map +1 -0
- package/dist/bindings/claude-code.d.ts +12 -0
- package/dist/bindings/claude-code.d.ts.map +1 -0
- package/dist/bindings/claude-code.js +2063 -0
- package/dist/bindings/claude-code.js.map +1 -0
- package/dist/bindings/codex.d.ts +18 -0
- package/dist/bindings/codex.d.ts.map +1 -0
- package/dist/bindings/codex.js +1633 -0
- package/dist/bindings/codex.js.map +1 -0
- package/dist/bindings/copilot-cli.d.ts +20 -0
- package/dist/bindings/copilot-cli.d.ts.map +1 -0
- package/dist/bindings/copilot-cli.js +1515 -0
- package/dist/bindings/copilot-cli.js.map +1 -0
- package/dist/bindings/cursor.d.ts +17 -0
- package/dist/bindings/cursor.d.ts.map +1 -0
- package/dist/bindings/cursor.js +1715 -0
- package/dist/bindings/cursor.js.map +1 -0
- package/dist/bindings/gemini-cli.d.ts +18 -0
- package/dist/bindings/gemini-cli.d.ts.map +1 -0
- package/dist/bindings/gemini-cli.js +1327 -0
- package/dist/bindings/gemini-cli.js.map +1 -0
- package/dist/bindings/index.d.ts +20 -0
- package/dist/bindings/index.d.ts.map +1 -0
- package/dist/bindings/index.js +33 -0
- package/dist/bindings/index.js.map +1 -0
- package/dist/bindings/kiro.d.ts +17 -0
- package/dist/bindings/kiro.d.ts.map +1 -0
- package/dist/bindings/kiro.js +1624 -0
- package/dist/bindings/kiro.js.map +1 -0
- package/dist/bindings/openclaw.d.ts +18 -0
- package/dist/bindings/openclaw.d.ts.map +1 -0
- package/dist/bindings/openclaw.js +1578 -0
- package/dist/bindings/openclaw.js.map +1 -0
- package/dist/bindings/types.d.ts +33 -0
- package/dist/bindings/types.d.ts.map +1 -0
- package/dist/bindings/types.js +23 -0
- package/dist/bindings/types.js.map +1 -0
- package/dist/cli/index.d.ts +19 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +679 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/docs/__tests__/docs.test.d.ts +2 -0
- package/dist/docs/__tests__/docs.test.d.ts.map +1 -0
- package/dist/docs/__tests__/docs.test.js +438 -0
- package/dist/docs/__tests__/docs.test.js.map +1 -0
- package/dist/docs/content.d.ts +16 -0
- package/dist/docs/content.d.ts.map +1 -0
- package/dist/docs/content.js +3273 -0
- package/dist/docs/content.js.map +1 -0
- package/dist/docs/index.d.ts +17 -0
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +117 -0
- package/dist/docs/index.js.map +1 -0
- package/dist/exporters/__tests__/exporters.test.d.ts +2 -0
- package/dist/exporters/__tests__/exporters.test.d.ts.map +1 -0
- package/dist/exporters/__tests__/exporters.test.js +731 -0
- package/dist/exporters/__tests__/exporters.test.js.map +1 -0
- package/dist/exporters/index.d.ts +13 -0
- package/dist/exporters/index.d.ts.map +1 -0
- package/dist/exporters/index.js +18 -0
- package/dist/exporters/index.js.map +1 -0
- package/dist/exporters/json.d.ts +8 -0
- package/dist/exporters/json.d.ts.map +1 -0
- package/dist/exporters/json.js +25 -0
- package/dist/exporters/json.js.map +1 -0
- package/dist/exporters/markdown.d.ts +9 -0
- package/dist/exporters/markdown.d.ts.map +1 -0
- package/dist/exporters/markdown.js +686 -0
- package/dist/exporters/markdown.js.map +1 -0
- package/dist/exporters/mermaid.d.ts +11 -0
- package/dist/exporters/mermaid.d.ts.map +1 -0
- package/dist/exporters/mermaid.js +161 -0
- package/dist/exporters/mermaid.js.map +1 -0
- package/dist/exporters/types.d.ts +22 -0
- package/dist/exporters/types.d.ts.map +1 -0
- package/dist/exporters/types.js +10 -0
- package/dist/exporters/types.js.map +1 -0
- package/dist/import/__tests__/import.test.d.ts +2 -0
- package/dist/import/__tests__/import.test.d.ts.map +1 -0
- package/dist/import/__tests__/import.test.js +781 -0
- package/dist/import/__tests__/import.test.js.map +1 -0
- package/dist/import/claude-code.d.ts +38 -0
- package/dist/import/claude-code.d.ts.map +1 -0
- package/dist/import/claude-code.js +897 -0
- package/dist/import/claude-code.js.map +1 -0
- package/dist/import/index.d.ts +18 -0
- package/dist/import/index.d.ts.map +1 -0
- package/dist/import/index.js +28 -0
- package/dist/import/index.js.map +1 -0
- package/dist/import/serializer.d.ts +11 -0
- package/dist/import/serializer.d.ts.map +1 -0
- package/dist/import/serializer.js +960 -0
- package/dist/import/serializer.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/__tests__/parser.test.d.ts +2 -0
- package/dist/parser/__tests__/parser.test.d.ts.map +1 -0
- package/dist/parser/__tests__/parser.test.js +6514 -0
- package/dist/parser/__tests__/parser.test.js.map +1 -0
- package/dist/parser/ast.d.ts +708 -0
- package/dist/parser/ast.d.ts.map +1 -0
- package/dist/parser/ast.js +12 -0
- package/dist/parser/ast.js.map +1 -0
- package/dist/parser/index.d.ts +253 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +1985 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/lexer.d.ts +100 -0
- package/dist/parser/lexer.d.ts.map +1 -0
- package/dist/parser/lexer.js +304 -0
- package/dist/parser/lexer.js.map +1 -0
- package/dist/parser/validator.d.ts +42 -0
- package/dist/parser/validator.d.ts.map +1 -0
- package/dist/parser/validator.js +2568 -0
- package/dist/parser/validator.js.map +1 -0
- package/dist/scaffold/__tests__/scaffold.test.d.ts +7 -0
- package/dist/scaffold/__tests__/scaffold.test.d.ts.map +1 -0
- package/dist/scaffold/__tests__/scaffold.test.js +295 -0
- package/dist/scaffold/__tests__/scaffold.test.js.map +1 -0
- package/dist/scaffold/incremental.d.ts +43 -0
- package/dist/scaffold/incremental.d.ts.map +1 -0
- package/dist/scaffold/incremental.js +185 -0
- package/dist/scaffold/incremental.js.map +1 -0
- package/dist/scaffold/index.d.ts +13 -0
- package/dist/scaffold/index.d.ts.map +1 -0
- package/dist/scaffold/index.js +13 -0
- package/dist/scaffold/index.js.map +1 -0
- package/dist/scaffold/manifest.d.ts +30 -0
- package/dist/scaffold/manifest.d.ts.map +1 -0
- package/dist/scaffold/manifest.js +71 -0
- package/dist/scaffold/manifest.js.map +1 -0
- package/dist/scaffold/merge.d.ts +52 -0
- package/dist/scaffold/merge.d.ts.map +1 -0
- package/dist/scaffold/merge.js +134 -0
- package/dist/scaffold/merge.js.map +1 -0
- package/dist/scaffold/types.d.ts +51 -0
- package/dist/scaffold/types.d.ts.map +1 -0
- package/dist/scaffold/types.js +10 -0
- package/dist/scaffold/types.js.map +1 -0
- package/dist/sync/index.d.ts +34 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +392 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/visualizer/index.d.ts +17 -0
- package/dist/visualizer/index.d.ts.map +1 -0
- package/dist/visualizer/index.js +1976 -0
- package/dist/visualizer/index.js.map +1 -0
- package/examples/code-review.at +167 -0
- package/examples/data-processing.at +296 -0
- package/examples/openclaw-assistant.at +142 -0
- package/examples/scheduled-monitor.at +193 -0
- package/examples/simple-pipeline.at +163 -0
- package/package.json +77 -0
- package/skill/SKILL.md +403 -0
- package/skill/scripts/emit.ts +853 -0
- package/skill/scripts/visualize.ts +89 -0
- package/spec/grammar.md +1466 -0
- package/spec/reserved-keywords.md +147 -0
- package/spec/validation.md +535 -0
|
@@ -0,0 +1,708 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgenTopology AST type definitions.
|
|
3
|
+
*
|
|
4
|
+
* These interfaces describe the complete abstract syntax tree produced by
|
|
5
|
+
* parsing an `.at` (AgenTopology) file. The types are intentionally
|
|
6
|
+
* open -- model names, permission modes, and hook events are plain strings
|
|
7
|
+
* so the parser works with any topology, not just Claude Code topologies.
|
|
8
|
+
*
|
|
9
|
+
* @module
|
|
10
|
+
*/
|
|
11
|
+
/** Key-value output enum: maps an output name to its possible values. */
|
|
12
|
+
export type OutputsMap = Record<string, string[]>;
|
|
13
|
+
/** Scale configuration for parallel agent execution. */
|
|
14
|
+
export interface ScaleDef {
|
|
15
|
+
/** Scaling strategy (e.g. "auto", "fixed"). */
|
|
16
|
+
mode: string;
|
|
17
|
+
/** Dimension to scale by (e.g. "batch-count", "doc-count"). */
|
|
18
|
+
by: string;
|
|
19
|
+
/** Minimum number of concurrent instances. */
|
|
20
|
+
min: number;
|
|
21
|
+
/** Maximum number of concurrent instances. */
|
|
22
|
+
max: number;
|
|
23
|
+
/** Optional batch size per instance. */
|
|
24
|
+
batchSize: number | null;
|
|
25
|
+
}
|
|
26
|
+
/** A single depth level definition. */
|
|
27
|
+
export interface DepthLevel {
|
|
28
|
+
/** Numeric depth value (e.g. 1, 2, 3). */
|
|
29
|
+
level: number;
|
|
30
|
+
/** Human-readable label for this depth. */
|
|
31
|
+
label: string;
|
|
32
|
+
/** Agent ids to omit at this depth. */
|
|
33
|
+
omit: string[];
|
|
34
|
+
}
|
|
35
|
+
/** The depth section of a topology. */
|
|
36
|
+
export interface DepthDef {
|
|
37
|
+
/** Factors that determine depth selection. */
|
|
38
|
+
factors: string[];
|
|
39
|
+
/** Available depth levels. */
|
|
40
|
+
levels: DepthLevel[];
|
|
41
|
+
}
|
|
42
|
+
/** A trigger (command) definition. */
|
|
43
|
+
export interface TriggerDef {
|
|
44
|
+
/** Trigger name (the command identifier). */
|
|
45
|
+
name: string;
|
|
46
|
+
/** Regex or glob pattern that activates this trigger. */
|
|
47
|
+
pattern: string;
|
|
48
|
+
/** Optional argument template variable. */
|
|
49
|
+
argument?: string;
|
|
50
|
+
}
|
|
51
|
+
/** A hook definition (global or per-agent). */
|
|
52
|
+
export interface HookDef {
|
|
53
|
+
/** Hook identifier. */
|
|
54
|
+
name: string;
|
|
55
|
+
/** Event name this hook listens to (any string, e.g. "PreToolUse"). */
|
|
56
|
+
on: string;
|
|
57
|
+
/** Pattern to match against the event payload. */
|
|
58
|
+
matcher: string;
|
|
59
|
+
/** Command or script to run when the hook fires. */
|
|
60
|
+
run: string;
|
|
61
|
+
/** Hook type (e.g. "command", "prompt"). */
|
|
62
|
+
type?: string;
|
|
63
|
+
/** Timeout in milliseconds. */
|
|
64
|
+
timeout?: number;
|
|
65
|
+
/** Platform-specific extension fields, keyed by binding name. */
|
|
66
|
+
extensions?: Record<string, Record<string, unknown>>;
|
|
67
|
+
}
|
|
68
|
+
/** A skill declaration within a topology. */
|
|
69
|
+
export interface SkillDef {
|
|
70
|
+
/** Skill identifier. */
|
|
71
|
+
id: string;
|
|
72
|
+
/** Human-readable description. */
|
|
73
|
+
description: string;
|
|
74
|
+
/** Script file names belonging to this skill. */
|
|
75
|
+
scripts?: string[];
|
|
76
|
+
/** Domain knowledge file paths. */
|
|
77
|
+
domains?: string[];
|
|
78
|
+
/** Reference file paths. */
|
|
79
|
+
references?: string[];
|
|
80
|
+
/** Prompt file path. */
|
|
81
|
+
prompt?: string;
|
|
82
|
+
/** Whether to disable automatic model invocation. */
|
|
83
|
+
disableModelInvocation?: boolean;
|
|
84
|
+
/** Whether this skill is user-invocable (shows in menu). */
|
|
85
|
+
userInvocable?: boolean;
|
|
86
|
+
/** Context mode (e.g. "fork" for subagent isolation). */
|
|
87
|
+
context?: string;
|
|
88
|
+
/** Agent type to use when context is "fork". */
|
|
89
|
+
agent?: string;
|
|
90
|
+
/** Tools allowed without permission prompt. */
|
|
91
|
+
allowedTools?: string[];
|
|
92
|
+
/** Platform-specific extension fields. */
|
|
93
|
+
extensions?: Record<string, Record<string, unknown>>;
|
|
94
|
+
}
|
|
95
|
+
/** A tool declaration within a topology-level `tools` block. */
|
|
96
|
+
export interface ToolBlockDef {
|
|
97
|
+
/** Tool identifier. */
|
|
98
|
+
id: string;
|
|
99
|
+
/** Path to the script that implements this tool. */
|
|
100
|
+
script: string;
|
|
101
|
+
/** Positional arguments to pass to the script. */
|
|
102
|
+
args?: string[];
|
|
103
|
+
/** Script language (e.g. "bash", "python", "node"). */
|
|
104
|
+
lang?: string;
|
|
105
|
+
/** Human-readable description. */
|
|
106
|
+
description: string;
|
|
107
|
+
}
|
|
108
|
+
/** A scheduled job definition. */
|
|
109
|
+
export interface ScheduleJobDef {
|
|
110
|
+
/** Job identifier. */
|
|
111
|
+
id: string;
|
|
112
|
+
/** Cron expression (mutually exclusive with `every`). */
|
|
113
|
+
cron?: string;
|
|
114
|
+
/** Human-readable recurrence (mutually exclusive with `cron`). */
|
|
115
|
+
every?: string;
|
|
116
|
+
/** Agent id to invoke. */
|
|
117
|
+
agent?: string;
|
|
118
|
+
/** Action id to invoke. */
|
|
119
|
+
action?: string;
|
|
120
|
+
/** Whether this job is enabled. Defaults to true. */
|
|
121
|
+
enabled: boolean;
|
|
122
|
+
}
|
|
123
|
+
/** An external interface definition (webhook, HTTP, etc.). */
|
|
124
|
+
export interface InterfaceDef {
|
|
125
|
+
/** Interface identifier. */
|
|
126
|
+
id: string;
|
|
127
|
+
/** Interface type (e.g. "webhook", "http"). */
|
|
128
|
+
type?: string;
|
|
129
|
+
/** All non-type configuration fields. */
|
|
130
|
+
config: Record<string, unknown>;
|
|
131
|
+
}
|
|
132
|
+
/** Metering / cost tracking configuration. */
|
|
133
|
+
export interface MeteringDef {
|
|
134
|
+
/** Metrics to track (e.g. ["tokens-in", "tokens-out", "cost"]). */
|
|
135
|
+
track: string[];
|
|
136
|
+
/** Dimensions to track per (e.g. ["agent", "run"]). */
|
|
137
|
+
per: string[];
|
|
138
|
+
/** Output file path for metrics. */
|
|
139
|
+
output: string;
|
|
140
|
+
/** Output format (e.g. "jsonl", "csv"). */
|
|
141
|
+
format: string;
|
|
142
|
+
/** Pricing model identifier. */
|
|
143
|
+
pricing: string;
|
|
144
|
+
}
|
|
145
|
+
/** A schema type expression (primitive, array, enum, or reference). */
|
|
146
|
+
export type SchemaType = {
|
|
147
|
+
kind: "primitive";
|
|
148
|
+
value: "string" | "number" | "integer" | "boolean" | "object";
|
|
149
|
+
} | {
|
|
150
|
+
kind: "array";
|
|
151
|
+
itemType: SchemaType;
|
|
152
|
+
} | {
|
|
153
|
+
kind: "enum";
|
|
154
|
+
values: string[];
|
|
155
|
+
} | {
|
|
156
|
+
kind: "ref";
|
|
157
|
+
name: string;
|
|
158
|
+
};
|
|
159
|
+
/** A single field definition within a schema block. */
|
|
160
|
+
export interface SchemaFieldDef {
|
|
161
|
+
/** Field name. */
|
|
162
|
+
name: string;
|
|
163
|
+
/** Field type expression. */
|
|
164
|
+
type: SchemaType;
|
|
165
|
+
/** Whether this field is optional (prefixed with `?`). */
|
|
166
|
+
optional: boolean;
|
|
167
|
+
}
|
|
168
|
+
/** A named schema definition from the top-level `schemas` block. */
|
|
169
|
+
export interface SchemaDef {
|
|
170
|
+
/** Schema identifier. */
|
|
171
|
+
id: string;
|
|
172
|
+
/** Field definitions. */
|
|
173
|
+
fields: SchemaFieldDef[];
|
|
174
|
+
}
|
|
175
|
+
/** Replay/time-travel configuration within a checkpoint block. */
|
|
176
|
+
export interface ReplayConfig {
|
|
177
|
+
/** Whether replay is enabled. */
|
|
178
|
+
enabled: boolean;
|
|
179
|
+
/** Maximum number of historical states to retain. */
|
|
180
|
+
maxHistory?: number;
|
|
181
|
+
/** Whether branching from a historical state is allowed. */
|
|
182
|
+
branch?: boolean;
|
|
183
|
+
}
|
|
184
|
+
/** Checkpoint / durable execution configuration. */
|
|
185
|
+
export interface CheckpointDef {
|
|
186
|
+
/** Storage backend for checkpoints. */
|
|
187
|
+
backend: string;
|
|
188
|
+
/** Connection string or secret reference. */
|
|
189
|
+
connection?: string;
|
|
190
|
+
/** Checkpointing strategy. */
|
|
191
|
+
strategy: string;
|
|
192
|
+
/** Time-to-live for checkpoint data (duration string). */
|
|
193
|
+
ttl?: string;
|
|
194
|
+
/** Replay/time-travel configuration. */
|
|
195
|
+
replay?: ReplayConfig;
|
|
196
|
+
}
|
|
197
|
+
/** An artifact definition in the top-level `artifacts` block. */
|
|
198
|
+
export interface ArtifactDef {
|
|
199
|
+
/** Artifact identifier. */
|
|
200
|
+
id: string;
|
|
201
|
+
/** Artifact type (e.g. "markdown", "json", "csv"). */
|
|
202
|
+
type: string;
|
|
203
|
+
/** File system path or prefix for artifact storage. */
|
|
204
|
+
path?: string;
|
|
205
|
+
/** Retention duration (duration string, e.g. "30d"). */
|
|
206
|
+
retention?: string;
|
|
207
|
+
/** IDs of other artifacts this artifact depends on. */
|
|
208
|
+
dependsOn?: string[];
|
|
209
|
+
}
|
|
210
|
+
/** Circuit breaker configuration for agents. */
|
|
211
|
+
export interface CircuitBreakerConfig {
|
|
212
|
+
/** Number of failures before the circuit opens. */
|
|
213
|
+
threshold: number;
|
|
214
|
+
/** Time window for counting failures (duration string, e.g. "5m"). */
|
|
215
|
+
window: string;
|
|
216
|
+
/** Cooldown before transitioning to half-open (duration string, e.g. "30s"). */
|
|
217
|
+
cooldown: string;
|
|
218
|
+
}
|
|
219
|
+
/** Structured retry configuration for agents. */
|
|
220
|
+
export interface RetryConfig {
|
|
221
|
+
/** Maximum number of retry attempts. */
|
|
222
|
+
max: number;
|
|
223
|
+
/** Backoff strategy between retries. */
|
|
224
|
+
backoff?: "none" | "linear" | "exponential";
|
|
225
|
+
/** Initial interval between retries (duration string, e.g. "1s", "5m"). */
|
|
226
|
+
interval?: string;
|
|
227
|
+
/** Maximum interval cap (duration string). */
|
|
228
|
+
maxInterval?: string;
|
|
229
|
+
/** Whether to add random jitter to retry intervals. */
|
|
230
|
+
jitter?: boolean;
|
|
231
|
+
/** Error types that should not trigger retries. */
|
|
232
|
+
nonRetryable?: string[];
|
|
233
|
+
}
|
|
234
|
+
/** A prompt variant for A/B testing within an agent. */
|
|
235
|
+
export interface PromptVariant {
|
|
236
|
+
/** Variant identifier. */
|
|
237
|
+
id: string;
|
|
238
|
+
/** Inline prompt content. */
|
|
239
|
+
prompt?: string;
|
|
240
|
+
/** Selection weight (0 to 1). */
|
|
241
|
+
weight: number;
|
|
242
|
+
/** Optional temperature override. */
|
|
243
|
+
temperature?: number;
|
|
244
|
+
/** Optional model override. */
|
|
245
|
+
model?: string;
|
|
246
|
+
}
|
|
247
|
+
/** Base fields shared by all node types. */
|
|
248
|
+
export interface BaseNode {
|
|
249
|
+
/** Unique node identifier (lowercase, kebab-case). */
|
|
250
|
+
id: string;
|
|
251
|
+
/** Human-readable display label. */
|
|
252
|
+
label: string;
|
|
253
|
+
}
|
|
254
|
+
/** An orchestrator node. */
|
|
255
|
+
export interface OrchestratorNode extends BaseNode {
|
|
256
|
+
type: "orchestrator";
|
|
257
|
+
/** Model identifier (any string, e.g. "opus", "gpt-4o"). */
|
|
258
|
+
model: string;
|
|
259
|
+
/** Template the orchestrator generates (e.g. a plan path). */
|
|
260
|
+
generates?: string;
|
|
261
|
+
/** Action ids this orchestrator handles. */
|
|
262
|
+
handles: string[];
|
|
263
|
+
/** Output enum definitions. */
|
|
264
|
+
outputs?: OutputsMap;
|
|
265
|
+
}
|
|
266
|
+
/** An action node (external command, script, or git operation). */
|
|
267
|
+
export interface ActionNode extends BaseNode {
|
|
268
|
+
type: "action";
|
|
269
|
+
/** Action kind (e.g. "external", "git", "inline"). */
|
|
270
|
+
kind?: string;
|
|
271
|
+
/** Source reference (file path or URL). */
|
|
272
|
+
source?: string;
|
|
273
|
+
/** Human-readable description. */
|
|
274
|
+
description?: string;
|
|
275
|
+
/** Shell commands to execute. */
|
|
276
|
+
commands?: string[];
|
|
277
|
+
/** Timeout duration string (e.g. "5m", "2h"). */
|
|
278
|
+
timeout?: string;
|
|
279
|
+
/** Failure behavior: "halt" | "retry" | "skip" | "continue" | "fallback <agent-id>". */
|
|
280
|
+
onFail?: string;
|
|
281
|
+
/** Join semantics for fan-in: "all" | "any" | "all-done" | "none-failed". */
|
|
282
|
+
join?: string;
|
|
283
|
+
}
|
|
284
|
+
/** An agent node. */
|
|
285
|
+
export interface AgentNode extends BaseNode {
|
|
286
|
+
type: "agent";
|
|
287
|
+
/** Execution phase (decimal ordering value). */
|
|
288
|
+
phase?: number;
|
|
289
|
+
/** Model identifier (any string). */
|
|
290
|
+
model?: string;
|
|
291
|
+
/** Permission mode (any string, e.g. "plan", "auto", "confirm"). */
|
|
292
|
+
permissions?: string;
|
|
293
|
+
/** Inline prompt content (multi-line text from prompt {} block). */
|
|
294
|
+
prompt?: string;
|
|
295
|
+
/** Allowed tool names. */
|
|
296
|
+
tools?: string[];
|
|
297
|
+
/** Skill identifiers this agent can use. */
|
|
298
|
+
skills?: string[];
|
|
299
|
+
/** Memory keys this agent can read. */
|
|
300
|
+
reads?: string[];
|
|
301
|
+
/** Memory keys this agent can write. */
|
|
302
|
+
writes?: string[];
|
|
303
|
+
/** Disallowed tool names (mutually exclusive with `tools`). */
|
|
304
|
+
disallowedTools?: string[];
|
|
305
|
+
/** Skip condition expression. */
|
|
306
|
+
skip?: string;
|
|
307
|
+
/** Behavior mode (e.g. "advisory", "blocking"). */
|
|
308
|
+
behavior?: string;
|
|
309
|
+
/** Invocation mode (e.g. "manual"). */
|
|
310
|
+
invocation?: string;
|
|
311
|
+
/** Retry configuration: simple count or structured block. */
|
|
312
|
+
retry?: number | RetryConfig;
|
|
313
|
+
/** Isolation mode (e.g. "worktree"). */
|
|
314
|
+
isolation?: string;
|
|
315
|
+
/** Whether this agent runs in the background. */
|
|
316
|
+
background?: boolean;
|
|
317
|
+
/** MCP server names this agent uses. */
|
|
318
|
+
mcpServers?: string[];
|
|
319
|
+
/** Output enum definitions. */
|
|
320
|
+
outputs?: OutputsMap;
|
|
321
|
+
/** Scale / parallelism configuration. */
|
|
322
|
+
scale?: ScaleDef;
|
|
323
|
+
/** Per-agent hook definitions. */
|
|
324
|
+
hooks?: HookDef[];
|
|
325
|
+
/** Role description (resolved from the roles block). */
|
|
326
|
+
role?: string;
|
|
327
|
+
/** Human-readable description for delegation/discovery. */
|
|
328
|
+
description?: string;
|
|
329
|
+
/** Maximum number of agentic turns before stopping. */
|
|
330
|
+
maxTurns?: number;
|
|
331
|
+
/** Sandbox mode override (e.g. "docker", "none", "network-only", true, false). */
|
|
332
|
+
sandbox?: string | boolean;
|
|
333
|
+
/** Model fallback chain (ordered list of model ids to try). */
|
|
334
|
+
fallbackChain?: string[];
|
|
335
|
+
/** Timeout duration string (e.g. "5m", "2h"). */
|
|
336
|
+
timeout?: string;
|
|
337
|
+
/** Failure behavior: "halt" | "retry" | "skip" | "continue" | "fallback <agent-id>". */
|
|
338
|
+
onFail?: string;
|
|
339
|
+
/** Sampling temperature (0-2). */
|
|
340
|
+
temperature?: number;
|
|
341
|
+
/** Maximum tokens to generate. */
|
|
342
|
+
maxTokens?: number;
|
|
343
|
+
/** Top-p (nucleus) sampling parameter. */
|
|
344
|
+
topP?: number;
|
|
345
|
+
/** Top-k sampling parameter. */
|
|
346
|
+
topK?: number;
|
|
347
|
+
/** Stop sequences. */
|
|
348
|
+
stop?: string[];
|
|
349
|
+
/** Random seed for reproducibility. */
|
|
350
|
+
seed?: number;
|
|
351
|
+
/** Thinking/reasoning level: "off" | "low" | "medium" | "high" | "max". */
|
|
352
|
+
thinking?: string;
|
|
353
|
+
/** Token budget for thinking/reasoning. */
|
|
354
|
+
thinkingBudget?: number;
|
|
355
|
+
/** Output format: "text" | "json" | "json-schema". */
|
|
356
|
+
outputFormat?: string;
|
|
357
|
+
/** Log level: "debug" | "info" | "warn" | "error". */
|
|
358
|
+
logLevel?: string;
|
|
359
|
+
/** Join semantics for fan-in: "all" | "any" | "all-done" | "none-failed". */
|
|
360
|
+
join?: string;
|
|
361
|
+
/** Circuit breaker configuration for failure isolation. */
|
|
362
|
+
circuitBreaker?: CircuitBreakerConfig;
|
|
363
|
+
/** ID of the agent whose side effects this agent can undo (compensation/saga). */
|
|
364
|
+
compensates?: string;
|
|
365
|
+
/** Typed input schema fields for structured input. */
|
|
366
|
+
inputSchema?: SchemaFieldDef[];
|
|
367
|
+
/** Typed output schema fields for structured output. */
|
|
368
|
+
outputSchema?: SchemaFieldDef[];
|
|
369
|
+
/** Artifact ids this agent produces. */
|
|
370
|
+
produces?: string[];
|
|
371
|
+
/** Artifact ids this agent consumes. */
|
|
372
|
+
consumes?: string[];
|
|
373
|
+
/** Prompt variants for A/B testing. */
|
|
374
|
+
variants?: PromptVariant[];
|
|
375
|
+
/** Rate limit expression (e.g. "60/min", "1000/hour", "5/sec"). */
|
|
376
|
+
rateLimit?: string;
|
|
377
|
+
/** Platform-specific extension fields, keyed by binding name. */
|
|
378
|
+
extensions?: Record<string, Record<string, unknown>>;
|
|
379
|
+
}
|
|
380
|
+
/** A group chat node for multi-agent conversation/debate. */
|
|
381
|
+
export interface GroupNode extends BaseNode {
|
|
382
|
+
type: "group";
|
|
383
|
+
/** Agent IDs that participate in the group chat. */
|
|
384
|
+
members: string[];
|
|
385
|
+
/** Speaker selection strategy. */
|
|
386
|
+
speakerSelection?: string;
|
|
387
|
+
/** Maximum conversation rounds. */
|
|
388
|
+
maxRounds?: number;
|
|
389
|
+
/** Termination condition (natural language or pattern). */
|
|
390
|
+
termination?: string;
|
|
391
|
+
/** Human-readable description. */
|
|
392
|
+
description?: string;
|
|
393
|
+
/** Timeout duration string. */
|
|
394
|
+
timeout?: string;
|
|
395
|
+
}
|
|
396
|
+
/** A gate node (quality / security checkpoint). */
|
|
397
|
+
export interface GateNode extends BaseNode {
|
|
398
|
+
type: "gate";
|
|
399
|
+
/** Agent or action id this gate runs after. */
|
|
400
|
+
after?: string;
|
|
401
|
+
/** Agent or action id this gate runs before. */
|
|
402
|
+
before?: string;
|
|
403
|
+
/** Script to execute for the gate check. */
|
|
404
|
+
run?: string;
|
|
405
|
+
/** List of check identifiers. */
|
|
406
|
+
checks?: string[];
|
|
407
|
+
/** Max retry count on failure. */
|
|
408
|
+
retry?: number;
|
|
409
|
+
/** Failure behavior (e.g. "halt", "bounce-back"). */
|
|
410
|
+
onFail?: string;
|
|
411
|
+
/** Behavior mode. */
|
|
412
|
+
behavior?: string;
|
|
413
|
+
/** Timeout duration string (e.g. "5m", "2h"). */
|
|
414
|
+
timeout?: string;
|
|
415
|
+
/** Platform-specific extension fields, keyed by binding name. */
|
|
416
|
+
extensions?: Record<string, Record<string, unknown>>;
|
|
417
|
+
}
|
|
418
|
+
/** A human-in-the-loop node requiring manual input or approval. */
|
|
419
|
+
export interface HumanNode extends BaseNode {
|
|
420
|
+
type: "human";
|
|
421
|
+
/** Human-readable description of what the human should do. */
|
|
422
|
+
description?: string;
|
|
423
|
+
/** How long to wait for human input (duration string, e.g. "1h", "30m"). */
|
|
424
|
+
timeout?: string;
|
|
425
|
+
/** What to do if human doesn't respond: "halt" | "skip" | "fallback <id>". */
|
|
426
|
+
onTimeout?: string;
|
|
427
|
+
}
|
|
428
|
+
/** Topology-level defaults for sampling params and shared agent config. */
|
|
429
|
+
export interface DefaultsDef {
|
|
430
|
+
/** Sampling temperature (0-2). */
|
|
431
|
+
temperature?: number;
|
|
432
|
+
/** Maximum tokens to generate. */
|
|
433
|
+
maxTokens?: number;
|
|
434
|
+
/** Top-p (nucleus) sampling parameter. */
|
|
435
|
+
topP?: number;
|
|
436
|
+
/** Top-k sampling parameter. */
|
|
437
|
+
topK?: number;
|
|
438
|
+
/** Stop sequences. */
|
|
439
|
+
stop?: string[];
|
|
440
|
+
/** Random seed for reproducibility. */
|
|
441
|
+
seed?: number;
|
|
442
|
+
/** Thinking/reasoning level: "off" | "low" | "medium" | "high" | "max". */
|
|
443
|
+
thinking?: string;
|
|
444
|
+
/** Token budget for thinking/reasoning. */
|
|
445
|
+
thinkingBudget?: number;
|
|
446
|
+
/** Output format: "text" | "json" | "json-schema". */
|
|
447
|
+
outputFormat?: string;
|
|
448
|
+
/** Timeout duration string (e.g. "5m", "2h"). */
|
|
449
|
+
timeout?: string;
|
|
450
|
+
/** Log level: "debug" | "info" | "warn" | "error". */
|
|
451
|
+
logLevel?: string;
|
|
452
|
+
}
|
|
453
|
+
/** A reference to a secret stored in an external secret manager. */
|
|
454
|
+
export interface SecretRef {
|
|
455
|
+
/** Secret manager scheme (e.g. "vault", "op", "awssm"). */
|
|
456
|
+
scheme: string;
|
|
457
|
+
/** Full URI string (e.g. "vault://secret/data/prod#key"). */
|
|
458
|
+
uri: string;
|
|
459
|
+
}
|
|
460
|
+
/** A string value marked as sensitive or referencing a secret. */
|
|
461
|
+
export interface SensitiveValue {
|
|
462
|
+
/** The raw string value. */
|
|
463
|
+
value: string;
|
|
464
|
+
/** Whether this value is sensitive and should not be echoed. */
|
|
465
|
+
sensitive: boolean;
|
|
466
|
+
/** Optional secret reference parsed from a `secret "uri"` form. */
|
|
467
|
+
secretRef?: SecretRef;
|
|
468
|
+
/** Whether the value is SOPS-encrypted at rest. */
|
|
469
|
+
encrypted?: boolean;
|
|
470
|
+
/** SOPS encryption method (parsed from ENC[METHOD,...] wrapper). */
|
|
471
|
+
sopsMethod?: string;
|
|
472
|
+
}
|
|
473
|
+
/** Union of all node types. */
|
|
474
|
+
export type NodeDef = OrchestratorNode | ActionNode | AgentNode | GateNode | HumanNode | GroupNode;
|
|
475
|
+
/** A directed edge in the flow graph. */
|
|
476
|
+
export interface EdgeDef {
|
|
477
|
+
/** Source node id. */
|
|
478
|
+
from: string;
|
|
479
|
+
/** Target node id. */
|
|
480
|
+
to: string;
|
|
481
|
+
/** Optional condition expression (from `[when ...]`). */
|
|
482
|
+
condition: string | null;
|
|
483
|
+
/** Optional max iteration count (from `[max N]`). */
|
|
484
|
+
maxIterations: number | null;
|
|
485
|
+
/** Optional per-agent scoping identifier (from `[per <id>]`). */
|
|
486
|
+
per?: string | null;
|
|
487
|
+
/** True for `-x->` error edges. */
|
|
488
|
+
isError?: boolean;
|
|
489
|
+
/** Optional error type filter from `-x[type]->`. */
|
|
490
|
+
errorType?: string;
|
|
491
|
+
/** Fan-out tolerance: integer or percentage string (e.g. "33%") from `[tolerance: N]`. */
|
|
492
|
+
tolerance?: number | string;
|
|
493
|
+
/** True for `[race]` fan-out edges. */
|
|
494
|
+
race?: boolean;
|
|
495
|
+
/** Duration string from `[wait 30s]` inline timer edge attribute. */
|
|
496
|
+
wait?: string;
|
|
497
|
+
/** Routing weight from `[weight 0.7]` edge attribute (0 exclusive to 1 inclusive). */
|
|
498
|
+
weight?: number;
|
|
499
|
+
/** Whether this back-edge represents an evaluator/reflection loop pattern. */
|
|
500
|
+
reflection?: boolean;
|
|
501
|
+
}
|
|
502
|
+
/** The `meta` block within a topology. */
|
|
503
|
+
export interface TopologyMeta {
|
|
504
|
+
/** Topology name (from the header). */
|
|
505
|
+
name: string;
|
|
506
|
+
/** Semantic version string. */
|
|
507
|
+
version: string;
|
|
508
|
+
/** Human-readable description. */
|
|
509
|
+
description: string;
|
|
510
|
+
/** Pattern tags declared in the topology header. */
|
|
511
|
+
patterns: string[];
|
|
512
|
+
/** Foundation patterns (from meta block). */
|
|
513
|
+
foundations?: string[];
|
|
514
|
+
/** Advanced patterns (from meta block). */
|
|
515
|
+
advanced?: string[];
|
|
516
|
+
/** Domain identifier (e.g. "legal", "marketing"). */
|
|
517
|
+
domain?: string;
|
|
518
|
+
/** Topology-level timeout duration string (e.g. "30m", "2h"). */
|
|
519
|
+
timeout?: string;
|
|
520
|
+
/** Node id for catch-all error handler. */
|
|
521
|
+
errorHandler?: string;
|
|
522
|
+
/** Whether durable execution is enabled. */
|
|
523
|
+
durable?: boolean;
|
|
524
|
+
}
|
|
525
|
+
/** Authentication configuration for a provider (OIDC, OAuth2, etc.). */
|
|
526
|
+
export interface AuthDef {
|
|
527
|
+
/** Auth type (e.g. "oidc", "oauth2", "api-key", "aws-iam", "gcp-sa", "azure-msi"). */
|
|
528
|
+
type: string;
|
|
529
|
+
/** Token issuer URL. */
|
|
530
|
+
issuer?: string;
|
|
531
|
+
/** Expected audience claim. */
|
|
532
|
+
audience?: string;
|
|
533
|
+
/** Token endpoint URL. */
|
|
534
|
+
tokenUrl?: string;
|
|
535
|
+
/** OAuth2 client ID. */
|
|
536
|
+
clientId?: string;
|
|
537
|
+
/** OAuth2 scopes. */
|
|
538
|
+
scopes?: string[];
|
|
539
|
+
}
|
|
540
|
+
/** A provider configuration for API credentials and model routing. */
|
|
541
|
+
export interface ProviderDef {
|
|
542
|
+
/** Provider name (e.g. "anthropic", "openai", "ollama"). */
|
|
543
|
+
name: string;
|
|
544
|
+
/** Environment variable reference for API key (must be "${ENV_VAR}" format). */
|
|
545
|
+
apiKey?: string;
|
|
546
|
+
/** Custom base URL for the provider's API endpoint. */
|
|
547
|
+
baseUrl?: string;
|
|
548
|
+
/** Model identifiers this provider serves. */
|
|
549
|
+
models: string[];
|
|
550
|
+
/** Whether this is the default provider (at most one can be true). */
|
|
551
|
+
default?: boolean;
|
|
552
|
+
/** Authentication configuration. */
|
|
553
|
+
auth?: AuthDef;
|
|
554
|
+
/** Future-proof extensibility fields. */
|
|
555
|
+
extra: Record<string, unknown>;
|
|
556
|
+
}
|
|
557
|
+
/** A typed parameter declaration for a topology's `params` block. */
|
|
558
|
+
export interface ParamDef {
|
|
559
|
+
/** Parameter name. */
|
|
560
|
+
name: string;
|
|
561
|
+
/** Parameter type. */
|
|
562
|
+
type: "string" | "number" | "boolean";
|
|
563
|
+
/** Default value (if provided, the parameter is optional). */
|
|
564
|
+
default?: string | number | boolean;
|
|
565
|
+
/** Whether this parameter is required (no default value). */
|
|
566
|
+
required: boolean;
|
|
567
|
+
}
|
|
568
|
+
/** Entry and exit points for a composable topology. */
|
|
569
|
+
export interface InterfaceEndpoints {
|
|
570
|
+
/** Node id that serves as the topology's entry point. */
|
|
571
|
+
entry: string;
|
|
572
|
+
/** Node id that serves as the topology's exit point. */
|
|
573
|
+
exit: string;
|
|
574
|
+
}
|
|
575
|
+
/** An import declaration bringing another topology into the current one. */
|
|
576
|
+
export interface ImportDef {
|
|
577
|
+
/** File path or registry address of the imported topology. */
|
|
578
|
+
source: string;
|
|
579
|
+
/** Alias identifier (from the `as` clause). */
|
|
580
|
+
alias: string;
|
|
581
|
+
/** Parameter overrides from the `with { ... }` clause. */
|
|
582
|
+
params: Record<string, string | number | boolean>;
|
|
583
|
+
/** Optional SHA-256 integrity hash. */
|
|
584
|
+
sha256?: string;
|
|
585
|
+
/** Whether this import is from a registry (vs local file). */
|
|
586
|
+
registry?: boolean;
|
|
587
|
+
/** Registry package name (parsed from source). */
|
|
588
|
+
registryPackage?: string;
|
|
589
|
+
/** Registry package version (parsed from source). */
|
|
590
|
+
registryVersion?: string;
|
|
591
|
+
}
|
|
592
|
+
/** An include directive for merging a fragment file. */
|
|
593
|
+
export interface IncludeDef {
|
|
594
|
+
/** Path to the fragment file. */
|
|
595
|
+
source: string;
|
|
596
|
+
}
|
|
597
|
+
/** The complete abstract syntax tree for an AgenTopology file. */
|
|
598
|
+
export interface TopologyAST {
|
|
599
|
+
/** Topology metadata (header + meta block). */
|
|
600
|
+
topology: TopologyMeta;
|
|
601
|
+
/** All declared nodes (orchestrator, agents, actions, gates). */
|
|
602
|
+
nodes: NodeDef[];
|
|
603
|
+
/** All flow edges. */
|
|
604
|
+
edges: EdgeDef[];
|
|
605
|
+
/** Depth configuration. */
|
|
606
|
+
depth: DepthDef;
|
|
607
|
+
/** Memory configuration (sub-blocks like domains, references, etc.). */
|
|
608
|
+
memory: Record<string, unknown>;
|
|
609
|
+
/** Batch execution configuration. */
|
|
610
|
+
batch: Record<string, unknown>;
|
|
611
|
+
/** Environment-specific overrides. */
|
|
612
|
+
environments: Record<string, Record<string, unknown>>;
|
|
613
|
+
/** Command triggers. */
|
|
614
|
+
triggers: TriggerDef[];
|
|
615
|
+
/** Global hooks. */
|
|
616
|
+
hooks: HookDef[];
|
|
617
|
+
/** Permission settings (allow/deny/ask lists). */
|
|
618
|
+
settings: Record<string, unknown>;
|
|
619
|
+
/** MCP server configurations. */
|
|
620
|
+
mcpServers: Record<string, Record<string, unknown>>;
|
|
621
|
+
/** Metering / cost tracking (null if not configured). */
|
|
622
|
+
metering: MeteringDef | null;
|
|
623
|
+
/** Skill declarations. */
|
|
624
|
+
skills: SkillDef[];
|
|
625
|
+
/** Top-level tool declarations. */
|
|
626
|
+
toolDefs: ToolBlockDef[];
|
|
627
|
+
/** Role descriptions keyed by role name. */
|
|
628
|
+
roles: Record<string, string>;
|
|
629
|
+
/** Context/instructions file configuration. */
|
|
630
|
+
context: {
|
|
631
|
+
/** Filename for the context file (e.g. "CONTEXT.md"). */
|
|
632
|
+
file?: string;
|
|
633
|
+
/** Additional files to include in context. */
|
|
634
|
+
includes?: string[];
|
|
635
|
+
};
|
|
636
|
+
/** Environment variables for the topology (plain strings or sensitive values). */
|
|
637
|
+
env: Record<string, string | SensitiveValue>;
|
|
638
|
+
/** Provider configurations for API credentials and model routing. */
|
|
639
|
+
providers: ProviderDef[];
|
|
640
|
+
/** Scheduled job definitions. */
|
|
641
|
+
schedules: ScheduleJobDef[];
|
|
642
|
+
/** External interface definitions. */
|
|
643
|
+
interfaces: InterfaceDef[];
|
|
644
|
+
/** Topology-level defaults for sampling params and shared agent config. */
|
|
645
|
+
defaults: DefaultsDef | null;
|
|
646
|
+
/** Named schema definitions from the top-level `schemas` block. */
|
|
647
|
+
schemas: SchemaDef[];
|
|
648
|
+
/** Top-level platform-specific extension fields, keyed by binding name. */
|
|
649
|
+
extensions?: Record<string, Record<string, unknown>>;
|
|
650
|
+
/** Observability / tracing configuration (null if not configured). */
|
|
651
|
+
observability: ObservabilityDef | null;
|
|
652
|
+
/** Typed parameter declarations for composition. */
|
|
653
|
+
params: ParamDef[];
|
|
654
|
+
/** Interface entry/exit endpoints for composition (null if not declared). */
|
|
655
|
+
interfaceEndpoints: InterfaceEndpoints | null;
|
|
656
|
+
/** Import declarations for sub-topologies. */
|
|
657
|
+
imports: ImportDef[];
|
|
658
|
+
/** Include directives for fragment files. */
|
|
659
|
+
includes: IncludeDef[];
|
|
660
|
+
/** Whether this file was parsed as a `fragment` rather than a `topology`. */
|
|
661
|
+
isFragment?: boolean;
|
|
662
|
+
/** Checkpoint / durable execution configuration (null if not configured). */
|
|
663
|
+
checkpoint: CheckpointDef | null;
|
|
664
|
+
/** Artifact definitions from the top-level `artifacts` block. */
|
|
665
|
+
artifacts: ArtifactDef[];
|
|
666
|
+
}
|
|
667
|
+
/** Capture settings for observability — what data to record. */
|
|
668
|
+
export interface ObservabilityCaptureConfig {
|
|
669
|
+
/** Whether to capture prompt text sent to models. */
|
|
670
|
+
prompts: boolean;
|
|
671
|
+
/** Whether to capture completion text returned from models. */
|
|
672
|
+
completions: boolean;
|
|
673
|
+
/** Whether to capture tool invocation arguments. */
|
|
674
|
+
toolArgs: boolean;
|
|
675
|
+
/** Whether to capture tool invocation results. */
|
|
676
|
+
toolResults: boolean;
|
|
677
|
+
}
|
|
678
|
+
/** Span settings for observability — which spans to emit. */
|
|
679
|
+
export interface ObservabilitySpanConfig {
|
|
680
|
+
/** Emit spans for agent execution. */
|
|
681
|
+
agents: boolean;
|
|
682
|
+
/** Emit spans for tool invocations. */
|
|
683
|
+
tools: boolean;
|
|
684
|
+
/** Emit spans for gate checks. */
|
|
685
|
+
gates: boolean;
|
|
686
|
+
/** Emit spans for memory reads/writes. */
|
|
687
|
+
memory: boolean;
|
|
688
|
+
}
|
|
689
|
+
/** Observability / tracing configuration block. */
|
|
690
|
+
export interface ObservabilityDef {
|
|
691
|
+
/** Whether observability is enabled. */
|
|
692
|
+
enabled: boolean;
|
|
693
|
+
/** Log level for observability output. */
|
|
694
|
+
level: string;
|
|
695
|
+
/** Exporter backend (e.g. "otlp", "langsmith", "datadog", "stdout", "none"). */
|
|
696
|
+
exporter: string;
|
|
697
|
+
/** Exporter endpoint URL. */
|
|
698
|
+
endpoint?: string;
|
|
699
|
+
/** Service name for trace attribution. */
|
|
700
|
+
service?: string;
|
|
701
|
+
/** Sampling rate between 0 and 1. */
|
|
702
|
+
sampleRate: number;
|
|
703
|
+
/** Data capture configuration. */
|
|
704
|
+
capture: ObservabilityCaptureConfig;
|
|
705
|
+
/** Span emission configuration. */
|
|
706
|
+
spans: ObservabilitySpanConfig;
|
|
707
|
+
}
|
|
708
|
+
//# sourceMappingURL=ast.d.ts.map
|