@comma-agents/core 2.0.0-rc.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.
Files changed (216) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +18 -0
  3. package/dist/abortable/abortable.d.ts +5 -0
  4. package/dist/abortable/abortable.types.d.ts +10 -0
  5. package/dist/abortable/index.d.ts +2 -0
  6. package/dist/agents/agent/agent.constants.d.ts +5 -0
  7. package/dist/agents/agent/agent.d.ts +24 -0
  8. package/dist/agents/agent/agent.types.d.ts +408 -0
  9. package/dist/agents/agent/agent.utils.d.ts +107 -0
  10. package/dist/agents/built-in/user/user-agent.d.ts +32 -0
  11. package/dist/agents/built-in/user/user-agent.types.d.ts +53 -0
  12. package/dist/agents/built-in/user/user-agent.utils.d.ts +2 -0
  13. package/dist/agents/hook-into-agent/hook-into-agent.d.ts +29 -0
  14. package/dist/agents/hooks/hooks.types.d.ts +64 -0
  15. package/dist/agents/hooks/hooks.utils.d.ts +9 -0
  16. package/dist/agents/hooks/index.d.ts +2 -0
  17. package/dist/agents/loader/index.d.ts +4 -0
  18. package/dist/agents/loader/loader.d.ts +49 -0
  19. package/dist/agents/loader/loader.schema.d.ts +270 -0
  20. package/dist/agents/loader/loader.types.d.ts +15 -0
  21. package/dist/conversation-context/conversation-context.d.ts +78 -0
  22. package/dist/conversation-context/conversation-context.types.d.ts +111 -0
  23. package/dist/conversation-context/conversation-context.utils.d.ts +6 -0
  24. package/dist/conversation-context/index.d.ts +3 -0
  25. package/dist/conversation-context/retention/compaction/compaction.constants.d.ts +3 -0
  26. package/dist/conversation-context/retention/compaction/compaction.d.ts +21 -0
  27. package/dist/conversation-context/retention/compaction/compaction.types.d.ts +26 -0
  28. package/dist/conversation-context/retention/compaction/index.d.ts +2 -0
  29. package/dist/conversation-context/retention/index.d.ts +4 -0
  30. package/dist/conversation-context/retention/retention.d.ts +9 -0
  31. package/dist/conversation-context/retention/retention.types.d.ts +90 -0
  32. package/dist/conversation-context/retention/retention.utils.d.ts +3 -0
  33. package/dist/conversation-context/retention/rolling-window/index.d.ts +2 -0
  34. package/dist/conversation-context/retention/rolling-window/rolling-window.d.ts +13 -0
  35. package/dist/conversation-context/retention/rolling-window/rolling-window.types.d.ts +5 -0
  36. package/dist/credentials/backends/json-file.d.ts +21 -0
  37. package/dist/credentials/credentials.constants.d.ts +9 -0
  38. package/dist/credentials/credentials.d.ts +18 -0
  39. package/dist/credentials/credentials.schema.d.ts +102 -0
  40. package/dist/credentials/credentials.types.d.ts +118 -0
  41. package/dist/credentials/credentials.utils.d.ts +30 -0
  42. package/dist/credentials/index.d.ts +6 -0
  43. package/dist/defaults/defaults.d.ts +108 -0
  44. package/dist/defaults/defaults.types.d.ts +51 -0
  45. package/dist/defaults/index.d.ts +2 -0
  46. package/dist/errors/index.d.ts +70 -0
  47. package/dist/flows/built-in/broadcast/broadcast-flow.constants.d.ts +2 -0
  48. package/dist/flows/built-in/broadcast/broadcast-flow.d.ts +30 -0
  49. package/dist/flows/built-in/cycle/cycle-flow.d.ts +53 -0
  50. package/dist/flows/built-in/sequential/sequential-flow.d.ts +25 -0
  51. package/dist/flows/flow/flow.d.ts +79 -0
  52. package/dist/flows/flow/flow.types.d.ts +179 -0
  53. package/dist/flows/flow/flow.utils.d.ts +18 -0
  54. package/dist/flows/hook-into-flow/hook-into-flow.d.ts +30 -0
  55. package/dist/flows/index.d.ts +6 -0
  56. package/dist/flows/loader/index.d.ts +4 -0
  57. package/dist/flows/loader/loader.d.ts +55 -0
  58. package/dist/flows/loader/loader.schema.d.ts +195 -0
  59. package/dist/flows/loader/loader.types.d.ts +27 -0
  60. package/dist/guard/guard.d.ts +17 -0
  61. package/dist/guard/guard.types.d.ts +112 -0
  62. package/dist/guard/index.d.ts +3 -0
  63. package/dist/guard/policies.d.ts +28 -0
  64. package/dist/hooks/built-in/token-tracking/index.d.ts +2 -0
  65. package/dist/hooks/built-in/token-tracking/token-tracking.constants.d.ts +14 -0
  66. package/dist/hooks/built-in/token-tracking/token-tracking.d.ts +87 -0
  67. package/dist/hooks/built-in/token-tracking/token-tracking.types.d.ts +136 -0
  68. package/dist/hooks/hooks.d.ts +10 -0
  69. package/dist/hooks/hooks.types.d.ts +11 -0
  70. package/dist/hooks/index.d.ts +2 -0
  71. package/dist/index.d.ts +50 -0
  72. package/dist/index.js +8961 -0
  73. package/dist/language/index.d.ts +1 -0
  74. package/dist/language/language.types.d.ts +60 -0
  75. package/dist/model/index.d.ts +5 -0
  76. package/dist/model/model.d.ts +63 -0
  77. package/dist/model/model.types.d.ts +85 -0
  78. package/dist/model/model.utils.d.ts +151 -0
  79. package/dist/model/providers/catalog/catalog.d.ts +57 -0
  80. package/dist/model/providers/catalog/catalog.types.d.ts +50 -0
  81. package/dist/model/providers/catalog/catalog.utils.d.ts +15 -0
  82. package/dist/model/providers/catalog/index.d.ts +3 -0
  83. package/dist/model/providers/index.d.ts +7 -0
  84. package/dist/model/providers/listers/copilot.d.ts +10 -0
  85. package/dist/model/providers/listers/index.d.ts +2 -0
  86. package/dist/model/providers/listers/ollama.d.ts +9 -0
  87. package/dist/model/providers/providers.d.ts +69 -0
  88. package/dist/model/providers/providers.types.d.ts +157 -0
  89. package/dist/model/providers/providers.utils.d.ts +16 -0
  90. package/dist/prompts/index.d.ts +4 -0
  91. package/dist/prompts/message-builder.d.ts +89 -0
  92. package/dist/prompts/prompts.types.d.ts +86 -0
  93. package/dist/prompts/template/prompt-template.d.ts +22 -0
  94. package/dist/sandbox/in-sandbox.d.ts +31 -0
  95. package/dist/sandbox/index.d.ts +4 -0
  96. package/dist/sandbox/sandbox.constants.d.ts +31 -0
  97. package/dist/sandbox/sandbox.d.ts +11 -0
  98. package/dist/sandbox/sandbox.types.d.ts +105 -0
  99. package/dist/skills/index.d.ts +4 -0
  100. package/dist/skills/skills.constants.d.ts +10 -0
  101. package/dist/skills/skills.loader.d.ts +46 -0
  102. package/dist/skills/skills.registry.d.ts +18 -0
  103. package/dist/skills/skills.types.d.ts +66 -0
  104. package/dist/skills/skills.utils.d.ts +37 -0
  105. package/dist/strategy/discover/discover.d.ts +16 -0
  106. package/dist/strategy/discover/discover.types.d.ts +70 -0
  107. package/dist/strategy/discover/discover.utils.d.ts +95 -0
  108. package/dist/strategy/discover/index.d.ts +3 -0
  109. package/dist/strategy/exporter/exporter.d.ts +27 -0
  110. package/dist/strategy/exporter/exporter.types.d.ts +6 -0
  111. package/dist/strategy/index.d.ts +10 -0
  112. package/dist/strategy/loader/loader.d.ts +39 -0
  113. package/dist/strategy/loader/loader.types.d.ts +106 -0
  114. package/dist/strategy/loader/loader.utils.d.ts +20 -0
  115. package/dist/strategy/loader/project-loader.d.ts +9 -0
  116. package/dist/strategy/schema.d.ts +1032 -0
  117. package/dist/timeline/index.d.ts +4 -0
  118. package/dist/timeline/projections/conversation-context.d.ts +19 -0
  119. package/dist/timeline/projections/file-state.d.ts +8 -0
  120. package/dist/timeline/projections/index.d.ts +3 -0
  121. package/dist/timeline/timeline.d.ts +11 -0
  122. package/dist/timeline/timeline.types.d.ts +97 -0
  123. package/dist/tools/build-tool-system-prompt.d.ts +41 -0
  124. package/dist/tools/built-in/ask-question/ask-question.d.ts +21 -0
  125. package/dist/tools/built-in/ask-question/index.d.ts +2 -0
  126. package/dist/tools/built-in/create-file/create-file.d.ts +18 -0
  127. package/dist/tools/built-in/create-file/create-file.types.d.ts +11 -0
  128. package/dist/tools/built-in/create-file/index.d.ts +2 -0
  129. package/dist/tools/built-in/delete-file/delete-file.constants.d.ts +14 -0
  130. package/dist/tools/built-in/delete-file/delete-file.d.ts +5 -0
  131. package/dist/tools/built-in/delete-file/delete-file.types.d.ts +26 -0
  132. package/dist/tools/built-in/delete-file/index.d.ts +2 -0
  133. package/dist/tools/built-in/describe-tool.d.ts +61 -0
  134. package/dist/tools/built-in/edit-file/edit-file.d.ts +46 -0
  135. package/dist/tools/built-in/edit-file/edit-file.replacers.d.ts +81 -0
  136. package/dist/tools/built-in/edit-file/edit-file.types.d.ts +59 -0
  137. package/dist/tools/built-in/edit-file/edit-file.utils.d.ts +70 -0
  138. package/dist/tools/built-in/edit-file/index.d.ts +2 -0
  139. package/dist/tools/built-in/glob/glob.constants.d.ts +3 -0
  140. package/dist/tools/built-in/glob/glob.d.ts +25 -0
  141. package/dist/tools/built-in/glob/glob.types.d.ts +31 -0
  142. package/dist/tools/built-in/glob/glob.utils.d.ts +4 -0
  143. package/dist/tools/built-in/glob/index.d.ts +2 -0
  144. package/dist/tools/built-in/launch-strategy/index.d.ts +2 -0
  145. package/dist/tools/built-in/launch-strategy/launch-strategy.d.ts +26 -0
  146. package/dist/tools/built-in/launch-strategy/launch-strategy.types.d.ts +14 -0
  147. package/dist/tools/built-in/list-directory/index.d.ts +2 -0
  148. package/dist/tools/built-in/list-directory/list-directory.constants.d.ts +3 -0
  149. package/dist/tools/built-in/list-directory/list-directory.d.ts +20 -0
  150. package/dist/tools/built-in/list-directory/list-directory.types.d.ts +41 -0
  151. package/dist/tools/built-in/list-directory/list-directory.utils.d.ts +4 -0
  152. package/dist/tools/built-in/list-skills/index.d.ts +2 -0
  153. package/dist/tools/built-in/list-skills/list-skills.d.ts +5 -0
  154. package/dist/tools/built-in/list-skills/list-skills.types.d.ts +10 -0
  155. package/dist/tools/built-in/list-strategy/index.d.ts +2 -0
  156. package/dist/tools/built-in/list-strategy/list-strategy.d.ts +14 -0
  157. package/dist/tools/built-in/list-strategy/list-strategy.types.d.ts +33 -0
  158. package/dist/tools/built-in/load-skill/index.d.ts +2 -0
  159. package/dist/tools/built-in/load-skill/load-skill.d.ts +24 -0
  160. package/dist/tools/built-in/load-skill/load-skill.types.d.ts +15 -0
  161. package/dist/tools/built-in/lsp-request/index.d.ts +2 -0
  162. package/dist/tools/built-in/lsp-request/lsp-request.d.ts +4 -0
  163. package/dist/tools/built-in/lsp-request/lsp-request.schema.d.ts +23 -0
  164. package/dist/tools/built-in/lsp-request/lsp-request.types.d.ts +4 -0
  165. package/dist/tools/built-in/move-file/index.d.ts +2 -0
  166. package/dist/tools/built-in/move-file/move-file.d.ts +21 -0
  167. package/dist/tools/built-in/move-file/move-file.types.d.ts +12 -0
  168. package/dist/tools/built-in/read-file/index.d.ts +2 -0
  169. package/dist/tools/built-in/read-file/read-file.constants.d.ts +1 -0
  170. package/dist/tools/built-in/read-file/read-file.d.ts +32 -0
  171. package/dist/tools/built-in/read-file/read-file.types.d.ts +34 -0
  172. package/dist/tools/built-in/read-file/read-file.utils.d.ts +14 -0
  173. package/dist/tools/built-in/restore-file/index.d.ts +2 -0
  174. package/dist/tools/built-in/restore-file/restore-file.d.ts +16 -0
  175. package/dist/tools/built-in/restore-file/restore-file.types.d.ts +11 -0
  176. package/dist/tools/built-in/run-command/index.d.ts +2 -0
  177. package/dist/tools/built-in/run-command/run-command.constants.d.ts +23 -0
  178. package/dist/tools/built-in/run-command/run-command.d.ts +21 -0
  179. package/dist/tools/built-in/run-command/run-command.types.d.ts +81 -0
  180. package/dist/tools/built-in/run-command/run-command.utils.d.ts +37 -0
  181. package/dist/tools/built-in/search-files/index.d.ts +2 -0
  182. package/dist/tools/built-in/search-files/search-files.constants.d.ts +5 -0
  183. package/dist/tools/built-in/search-files/search-files.d.ts +30 -0
  184. package/dist/tools/built-in/search-files/search-files.types.d.ts +19 -0
  185. package/dist/tools/built-in/search-files/search-files.utils.d.ts +11 -0
  186. package/dist/tools/built-in/todo/todo.d.ts +62 -0
  187. package/dist/tools/built-in/todo/todo.types.d.ts +7 -0
  188. package/dist/tools/built-in/webfetch/webfetch.constants.d.ts +3 -0
  189. package/dist/tools/built-in/webfetch/webfetch.d.ts +33 -0
  190. package/dist/tools/built-in/webfetch/webfetch.types.d.ts +8 -0
  191. package/dist/tools/built-in/webfetch/webfetch.utils.d.ts +19 -0
  192. package/dist/tools/built-in/write-file/index.d.ts +2 -0
  193. package/dist/tools/built-in/write-file/write-file.d.ts +18 -0
  194. package/dist/tools/built-in/write-file/write-file.types.d.ts +11 -0
  195. package/dist/tools/define/define-tool.d.ts +15 -0
  196. package/dist/tools/io/atomic-write.d.ts +37 -0
  197. package/dist/tools/io/audit-sink.d.ts +29 -0
  198. package/dist/tools/io/audit.types.d.ts +115 -0
  199. package/dist/tools/io/audit.utils.d.ts +48 -0
  200. package/dist/tools/io/binary.d.ts +16 -0
  201. package/dist/tools/io/bom.d.ts +15 -0
  202. package/dist/tools/io/diff.d.ts +27 -0
  203. package/dist/tools/io/hash.d.ts +25 -0
  204. package/dist/tools/io/index.d.ts +19 -0
  205. package/dist/tools/io/newline.d.ts +34 -0
  206. package/dist/tools/io/sandbox-error.d.ts +13 -0
  207. package/dist/tools/io/session-file-state.d.ts +68 -0
  208. package/dist/tools/io/stale-file.d.ts +9 -0
  209. package/dist/tools/io/trash.d.ts +57 -0
  210. package/dist/tools/launch-strategy.types.d.ts +38 -0
  211. package/dist/tools/result/index.d.ts +1 -0
  212. package/dist/tools/result/result.d.ts +47 -0
  213. package/dist/tools/tool.constants.d.ts +7 -0
  214. package/dist/tools/tool.registry.d.ts +54 -0
  215. package/dist/tools/tool.types.d.ts +191 -0
  216. package/package.json +48 -0
@@ -0,0 +1,1032 @@
1
+ import { z } from "zod";
2
+ import type { BUILT_IN_TOOL_NAMES } from "../tools/tool.constants";
3
+ export type BuiltInToolName = (typeof BUILT_IN_TOOL_NAMES)[number];
4
+ /** User agent — collects human input. */
5
+ export declare const UserAgentDefSchema: z.ZodObject<{
6
+ type: z.ZodLiteral<"user">;
7
+ description: z.ZodOptional<z.ZodString>;
8
+ config: z.ZodOptional<z.ZodObject<{
9
+ requireInput: z.ZodOptional<z.ZodBoolean>;
10
+ presetMessage: z.ZodOptional<z.ZodString>;
11
+ }, "strict", z.ZodTypeAny, {
12
+ requireInput?: boolean | undefined;
13
+ presetMessage?: string | undefined;
14
+ }, {
15
+ requireInput?: boolean | undefined;
16
+ presetMessage?: string | undefined;
17
+ }>>;
18
+ }, "strict", z.ZodTypeAny, {
19
+ type: "user";
20
+ description?: string | undefined;
21
+ config?: {
22
+ requireInput?: boolean | undefined;
23
+ presetMessage?: string | undefined;
24
+ } | undefined;
25
+ }, {
26
+ type: "user";
27
+ description?: string | undefined;
28
+ config?: {
29
+ requireInput?: boolean | undefined;
30
+ presetMessage?: string | undefined;
31
+ } | undefined;
32
+ }>;
33
+ /** LLM agent — backed by a language model. */
34
+ export declare const LLMAgentDefSchema: z.ZodObject<{
35
+ type: z.ZodOptional<z.ZodLiteral<"llm">>;
36
+ description: z.ZodOptional<z.ZodString>;
37
+ model: z.ZodOptional<z.ZodString>;
38
+ systemPrompt: z.ZodOptional<z.ZodString>;
39
+ systemPromptTemplate: z.ZodOptional<z.ZodObject<{
40
+ template: z.ZodString;
41
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString, "many">, z.ZodRecord<z.ZodString, z.ZodString>]>>>;
42
+ }, "strict", z.ZodTypeAny, {
43
+ template: string;
44
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
45
+ }, {
46
+ template: string;
47
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
48
+ }>>;
49
+ tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
50
+ /**
51
+ * Skills whose full instructions must be loaded into this agent's system
52
+ * prompt. All discovered skills remain available through the skill tools.
53
+ */
54
+ skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
55
+ /**
56
+ * Per-call provider options forwarded verbatim to the AI SDK. Used to
57
+ * enable provider-specific features such as Anthropic extended thinking
58
+ * or OpenAI reasoning effort. Shape:
59
+ * `{ <providerId>: { <option>: <value>, ... }, ... }`.
60
+ */
61
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
62
+ /**
63
+ * Model-level generation parameters (temperature, maxOutputTokens, topP, seed,
64
+ * etc.). Forwarded to `streamText` as top-level options. Provider-specific
65
+ * features should use `providerOptions` instead.
66
+ */
67
+ modelOptions: z.ZodOptional<z.ZodObject<{
68
+ temperature: z.ZodOptional<z.ZodNumber>;
69
+ topP: z.ZodOptional<z.ZodNumber>;
70
+ topK: z.ZodOptional<z.ZodNumber>;
71
+ maxOutputTokens: z.ZodOptional<z.ZodNumber>;
72
+ maxRetries: z.ZodOptional<z.ZodNumber>;
73
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
74
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
75
+ seed: z.ZodOptional<z.ZodNumber>;
76
+ }, "strict", z.ZodTypeAny, {
77
+ temperature?: number | undefined;
78
+ topP?: number | undefined;
79
+ topK?: number | undefined;
80
+ maxOutputTokens?: number | undefined;
81
+ maxRetries?: number | undefined;
82
+ frequencyPenalty?: number | undefined;
83
+ presencePenalty?: number | undefined;
84
+ seed?: number | undefined;
85
+ }, {
86
+ temperature?: number | undefined;
87
+ topP?: number | undefined;
88
+ topK?: number | undefined;
89
+ maxOutputTokens?: number | undefined;
90
+ maxRetries?: number | undefined;
91
+ frequencyPenalty?: number | undefined;
92
+ presencePenalty?: number | undefined;
93
+ seed?: number | undefined;
94
+ }>>;
95
+ /** JSON Schema describing the agent's structured output. */
96
+ outputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
97
+ /** Conversation context retention and compaction controls. */
98
+ context: z.ZodOptional<z.ZodObject<{
99
+ rollingWindow: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
100
+ maxRecords: z.ZodNumber;
101
+ }, "strict", z.ZodTypeAny, {
102
+ maxRecords: number;
103
+ }, {
104
+ maxRecords: number;
105
+ }>]>>;
106
+ compaction: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
107
+ keepRecent: z.ZodOptional<z.ZodNumber>;
108
+ threshold: z.ZodOptional<z.ZodNumber>;
109
+ }, "strict", z.ZodTypeAny, {
110
+ keepRecent?: number | undefined;
111
+ threshold?: number | undefined;
112
+ }, {
113
+ keepRecent?: number | undefined;
114
+ threshold?: number | undefined;
115
+ }>]>>;
116
+ }, "strict", z.ZodTypeAny, {
117
+ rollingWindow?: number | {
118
+ maxRecords: number;
119
+ } | undefined;
120
+ compaction?: boolean | {
121
+ keepRecent?: number | undefined;
122
+ threshold?: number | undefined;
123
+ } | undefined;
124
+ }, {
125
+ rollingWindow?: number | {
126
+ maxRecords: number;
127
+ } | undefined;
128
+ compaction?: boolean | {
129
+ keepRecent?: number | undefined;
130
+ threshold?: number | undefined;
131
+ } | undefined;
132
+ }>>;
133
+ /**
134
+ * Maximum number of LLM round-trips (steps) per call.
135
+ * Each tool-call + response counts as one step.
136
+ */
137
+ maxSteps: z.ZodOptional<z.ZodNumber>;
138
+ }, "strict", z.ZodTypeAny, {
139
+ type?: "llm" | undefined;
140
+ description?: string | undefined;
141
+ model?: string | undefined;
142
+ systemPrompt?: string | undefined;
143
+ systemPromptTemplate?: {
144
+ template: string;
145
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
146
+ } | undefined;
147
+ tools?: string[] | undefined;
148
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
149
+ modelOptions?: {
150
+ temperature?: number | undefined;
151
+ topP?: number | undefined;
152
+ topK?: number | undefined;
153
+ maxOutputTokens?: number | undefined;
154
+ maxRetries?: number | undefined;
155
+ frequencyPenalty?: number | undefined;
156
+ presencePenalty?: number | undefined;
157
+ seed?: number | undefined;
158
+ } | undefined;
159
+ outputSchema?: Record<string, unknown> | undefined;
160
+ context?: {
161
+ rollingWindow?: number | {
162
+ maxRecords: number;
163
+ } | undefined;
164
+ compaction?: boolean | {
165
+ keepRecent?: number | undefined;
166
+ threshold?: number | undefined;
167
+ } | undefined;
168
+ } | undefined;
169
+ maxSteps?: number | undefined;
170
+ skills?: string[] | undefined;
171
+ }, {
172
+ type?: "llm" | undefined;
173
+ description?: string | undefined;
174
+ model?: string | undefined;
175
+ systemPrompt?: string | undefined;
176
+ systemPromptTemplate?: {
177
+ template: string;
178
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
179
+ } | undefined;
180
+ tools?: string[] | undefined;
181
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
182
+ modelOptions?: {
183
+ temperature?: number | undefined;
184
+ topP?: number | undefined;
185
+ topK?: number | undefined;
186
+ maxOutputTokens?: number | undefined;
187
+ maxRetries?: number | undefined;
188
+ frequencyPenalty?: number | undefined;
189
+ presencePenalty?: number | undefined;
190
+ seed?: number | undefined;
191
+ } | undefined;
192
+ outputSchema?: Record<string, unknown> | undefined;
193
+ context?: {
194
+ rollingWindow?: number | {
195
+ maxRecords: number;
196
+ } | undefined;
197
+ compaction?: boolean | {
198
+ keepRecent?: number | undefined;
199
+ threshold?: number | undefined;
200
+ } | undefined;
201
+ } | undefined;
202
+ maxSteps?: number | undefined;
203
+ skills?: string[] | undefined;
204
+ }>;
205
+ /**
206
+ * An agent definition is either a user agent or an LLM agent.
207
+ * Discriminated by the `type` field (user agents must have `type: "user"`,
208
+ * LLM agents may omit `type` or set `type: "llm"`).
209
+ */
210
+ export declare const AgentDefSchema: z.ZodUnion<[z.ZodObject<{
211
+ type: z.ZodLiteral<"user">;
212
+ description: z.ZodOptional<z.ZodString>;
213
+ config: z.ZodOptional<z.ZodObject<{
214
+ requireInput: z.ZodOptional<z.ZodBoolean>;
215
+ presetMessage: z.ZodOptional<z.ZodString>;
216
+ }, "strict", z.ZodTypeAny, {
217
+ requireInput?: boolean | undefined;
218
+ presetMessage?: string | undefined;
219
+ }, {
220
+ requireInput?: boolean | undefined;
221
+ presetMessage?: string | undefined;
222
+ }>>;
223
+ }, "strict", z.ZodTypeAny, {
224
+ type: "user";
225
+ description?: string | undefined;
226
+ config?: {
227
+ requireInput?: boolean | undefined;
228
+ presetMessage?: string | undefined;
229
+ } | undefined;
230
+ }, {
231
+ type: "user";
232
+ description?: string | undefined;
233
+ config?: {
234
+ requireInput?: boolean | undefined;
235
+ presetMessage?: string | undefined;
236
+ } | undefined;
237
+ }>, z.ZodObject<{
238
+ type: z.ZodOptional<z.ZodLiteral<"llm">>;
239
+ description: z.ZodOptional<z.ZodString>;
240
+ model: z.ZodOptional<z.ZodString>;
241
+ systemPrompt: z.ZodOptional<z.ZodString>;
242
+ systemPromptTemplate: z.ZodOptional<z.ZodObject<{
243
+ template: z.ZodString;
244
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString, "many">, z.ZodRecord<z.ZodString, z.ZodString>]>>>;
245
+ }, "strict", z.ZodTypeAny, {
246
+ template: string;
247
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
248
+ }, {
249
+ template: string;
250
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
251
+ }>>;
252
+ tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
253
+ /**
254
+ * Skills whose full instructions must be loaded into this agent's system
255
+ * prompt. All discovered skills remain available through the skill tools.
256
+ */
257
+ skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
258
+ /**
259
+ * Per-call provider options forwarded verbatim to the AI SDK. Used to
260
+ * enable provider-specific features such as Anthropic extended thinking
261
+ * or OpenAI reasoning effort. Shape:
262
+ * `{ <providerId>: { <option>: <value>, ... }, ... }`.
263
+ */
264
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
265
+ /**
266
+ * Model-level generation parameters (temperature, maxOutputTokens, topP, seed,
267
+ * etc.). Forwarded to `streamText` as top-level options. Provider-specific
268
+ * features should use `providerOptions` instead.
269
+ */
270
+ modelOptions: z.ZodOptional<z.ZodObject<{
271
+ temperature: z.ZodOptional<z.ZodNumber>;
272
+ topP: z.ZodOptional<z.ZodNumber>;
273
+ topK: z.ZodOptional<z.ZodNumber>;
274
+ maxOutputTokens: z.ZodOptional<z.ZodNumber>;
275
+ maxRetries: z.ZodOptional<z.ZodNumber>;
276
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
277
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
278
+ seed: z.ZodOptional<z.ZodNumber>;
279
+ }, "strict", z.ZodTypeAny, {
280
+ temperature?: number | undefined;
281
+ topP?: number | undefined;
282
+ topK?: number | undefined;
283
+ maxOutputTokens?: number | undefined;
284
+ maxRetries?: number | undefined;
285
+ frequencyPenalty?: number | undefined;
286
+ presencePenalty?: number | undefined;
287
+ seed?: number | undefined;
288
+ }, {
289
+ temperature?: number | undefined;
290
+ topP?: number | undefined;
291
+ topK?: number | undefined;
292
+ maxOutputTokens?: number | undefined;
293
+ maxRetries?: number | undefined;
294
+ frequencyPenalty?: number | undefined;
295
+ presencePenalty?: number | undefined;
296
+ seed?: number | undefined;
297
+ }>>;
298
+ /** JSON Schema describing the agent's structured output. */
299
+ outputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
300
+ /** Conversation context retention and compaction controls. */
301
+ context: z.ZodOptional<z.ZodObject<{
302
+ rollingWindow: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
303
+ maxRecords: z.ZodNumber;
304
+ }, "strict", z.ZodTypeAny, {
305
+ maxRecords: number;
306
+ }, {
307
+ maxRecords: number;
308
+ }>]>>;
309
+ compaction: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
310
+ keepRecent: z.ZodOptional<z.ZodNumber>;
311
+ threshold: z.ZodOptional<z.ZodNumber>;
312
+ }, "strict", z.ZodTypeAny, {
313
+ keepRecent?: number | undefined;
314
+ threshold?: number | undefined;
315
+ }, {
316
+ keepRecent?: number | undefined;
317
+ threshold?: number | undefined;
318
+ }>]>>;
319
+ }, "strict", z.ZodTypeAny, {
320
+ rollingWindow?: number | {
321
+ maxRecords: number;
322
+ } | undefined;
323
+ compaction?: boolean | {
324
+ keepRecent?: number | undefined;
325
+ threshold?: number | undefined;
326
+ } | undefined;
327
+ }, {
328
+ rollingWindow?: number | {
329
+ maxRecords: number;
330
+ } | undefined;
331
+ compaction?: boolean | {
332
+ keepRecent?: number | undefined;
333
+ threshold?: number | undefined;
334
+ } | undefined;
335
+ }>>;
336
+ /**
337
+ * Maximum number of LLM round-trips (steps) per call.
338
+ * Each tool-call + response counts as one step.
339
+ */
340
+ maxSteps: z.ZodOptional<z.ZodNumber>;
341
+ }, "strict", z.ZodTypeAny, {
342
+ type?: "llm" | undefined;
343
+ description?: string | undefined;
344
+ model?: string | undefined;
345
+ systemPrompt?: string | undefined;
346
+ systemPromptTemplate?: {
347
+ template: string;
348
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
349
+ } | undefined;
350
+ tools?: string[] | undefined;
351
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
352
+ modelOptions?: {
353
+ temperature?: number | undefined;
354
+ topP?: number | undefined;
355
+ topK?: number | undefined;
356
+ maxOutputTokens?: number | undefined;
357
+ maxRetries?: number | undefined;
358
+ frequencyPenalty?: number | undefined;
359
+ presencePenalty?: number | undefined;
360
+ seed?: number | undefined;
361
+ } | undefined;
362
+ outputSchema?: Record<string, unknown> | undefined;
363
+ context?: {
364
+ rollingWindow?: number | {
365
+ maxRecords: number;
366
+ } | undefined;
367
+ compaction?: boolean | {
368
+ keepRecent?: number | undefined;
369
+ threshold?: number | undefined;
370
+ } | undefined;
371
+ } | undefined;
372
+ maxSteps?: number | undefined;
373
+ skills?: string[] | undefined;
374
+ }, {
375
+ type?: "llm" | undefined;
376
+ description?: string | undefined;
377
+ model?: string | undefined;
378
+ systemPrompt?: string | undefined;
379
+ systemPromptTemplate?: {
380
+ template: string;
381
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
382
+ } | undefined;
383
+ tools?: string[] | undefined;
384
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
385
+ modelOptions?: {
386
+ temperature?: number | undefined;
387
+ topP?: number | undefined;
388
+ topK?: number | undefined;
389
+ maxOutputTokens?: number | undefined;
390
+ maxRetries?: number | undefined;
391
+ frequencyPenalty?: number | undefined;
392
+ presencePenalty?: number | undefined;
393
+ seed?: number | undefined;
394
+ } | undefined;
395
+ outputSchema?: Record<string, unknown> | undefined;
396
+ context?: {
397
+ rollingWindow?: number | {
398
+ maxRecords: number;
399
+ } | undefined;
400
+ compaction?: boolean | {
401
+ keepRecent?: number | undefined;
402
+ threshold?: number | undefined;
403
+ } | undefined;
404
+ } | undefined;
405
+ maxSteps?: number | undefined;
406
+ skills?: string[] | undefined;
407
+ }>]>;
408
+ /** A step that references a named agent from the registry. */
409
+ export declare const AgentStepSchema: z.ZodObject<{
410
+ agent: z.ZodString;
411
+ description: z.ZodOptional<z.ZodString>;
412
+ }, "strict", z.ZodTypeAny, {
413
+ agent: string;
414
+ description?: string | undefined;
415
+ }, {
416
+ agent: string;
417
+ description?: string | undefined;
418
+ }>;
419
+ /**
420
+ * A flow step is either an agent reference or a nested flow definition.
421
+ * Uses z.lazy() to support recursive nesting.
422
+ */
423
+ export declare const FlowStepSchema: z.ZodType;
424
+ export declare const SequentialFlowDefSchema: z.ZodObject<{
425
+ type: z.ZodLiteral<"sequential">;
426
+ name: z.ZodString;
427
+ description: z.ZodOptional<z.ZodString>;
428
+ steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
429
+ }, "strict", z.ZodTypeAny, {
430
+ type: "sequential";
431
+ name: string;
432
+ steps: any[];
433
+ description?: string | undefined;
434
+ }, {
435
+ type: "sequential";
436
+ name: string;
437
+ steps: any[];
438
+ description?: string | undefined;
439
+ }>;
440
+ export declare const CycleFlowDefSchema: z.ZodObject<{
441
+ type: z.ZodLiteral<"cycle">;
442
+ cycles: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"Infinity">]>>;
443
+ observer: z.ZodOptional<z.ZodString>;
444
+ /**
445
+ * Custom break-signal tokens. The cycle ends when the observer's
446
+ * output contains one of these signals per `breakCycleSignalMatch`.
447
+ * Defaults to `["end cycle", "stop", "done"]` — fine for legacy
448
+ * strategies but brittle for verbose observers (e.g. "not done yet"
449
+ * triggers the "done" signal). Prefer a unique token like
450
+ * `"==CYCLE_DONE=="` paired with `breakCycleSignalMatch: "first-line"`.
451
+ */
452
+ breakCycleSignals: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
453
+ /**
454
+ * How to match `breakCycleSignals` against the observer's output.
455
+ * One of `"substring"` (legacy default, prone to false positives),
456
+ * `"first-line"` (recommended — observer's verdict is line 1),
457
+ * `"any-line"`, or `"exact"`. See {@link CycleFlowConfig.breakCycleSignalMatch}
458
+ * for full semantics.
459
+ */
460
+ breakCycleSignalMatch: z.ZodOptional<z.ZodEnum<["substring", "first-line", "any-line", "exact"]>>;
461
+ name: z.ZodString;
462
+ description: z.ZodOptional<z.ZodString>;
463
+ steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
464
+ }, "strict", z.ZodTypeAny, {
465
+ type: "cycle";
466
+ name: string;
467
+ steps: any[];
468
+ description?: string | undefined;
469
+ cycles?: number | "Infinity" | undefined;
470
+ observer?: string | undefined;
471
+ breakCycleSignals?: string[] | undefined;
472
+ breakCycleSignalMatch?: "exact" | "substring" | "first-line" | "any-line" | undefined;
473
+ }, {
474
+ type: "cycle";
475
+ name: string;
476
+ steps: any[];
477
+ description?: string | undefined;
478
+ cycles?: number | "Infinity" | undefined;
479
+ observer?: string | undefined;
480
+ breakCycleSignals?: string[] | undefined;
481
+ breakCycleSignalMatch?: "exact" | "substring" | "first-line" | "any-line" | undefined;
482
+ }>;
483
+ export declare const BroadcastFlowDefSchema: z.ZodObject<{
484
+ type: z.ZodLiteral<"broadcast">;
485
+ separator: z.ZodOptional<z.ZodString>;
486
+ name: z.ZodString;
487
+ description: z.ZodOptional<z.ZodString>;
488
+ steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
489
+ }, "strict", z.ZodTypeAny, {
490
+ type: "broadcast";
491
+ name: string;
492
+ steps: any[];
493
+ description?: string | undefined;
494
+ separator?: string | undefined;
495
+ }, {
496
+ type: "broadcast";
497
+ name: string;
498
+ steps: any[];
499
+ description?: string | undefined;
500
+ separator?: string | undefined;
501
+ }>;
502
+ /** A flow definition — discriminated union by `type`. */
503
+ export declare const FlowDefSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
504
+ type: z.ZodLiteral<"sequential">;
505
+ name: z.ZodString;
506
+ description: z.ZodOptional<z.ZodString>;
507
+ steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
508
+ }, "strict", z.ZodTypeAny, {
509
+ type: "sequential";
510
+ name: string;
511
+ steps: any[];
512
+ description?: string | undefined;
513
+ }, {
514
+ type: "sequential";
515
+ name: string;
516
+ steps: any[];
517
+ description?: string | undefined;
518
+ }>, z.ZodObject<{
519
+ type: z.ZodLiteral<"cycle">;
520
+ cycles: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"Infinity">]>>;
521
+ observer: z.ZodOptional<z.ZodString>;
522
+ /**
523
+ * Custom break-signal tokens. The cycle ends when the observer's
524
+ * output contains one of these signals per `breakCycleSignalMatch`.
525
+ * Defaults to `["end cycle", "stop", "done"]` — fine for legacy
526
+ * strategies but brittle for verbose observers (e.g. "not done yet"
527
+ * triggers the "done" signal). Prefer a unique token like
528
+ * `"==CYCLE_DONE=="` paired with `breakCycleSignalMatch: "first-line"`.
529
+ */
530
+ breakCycleSignals: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
531
+ /**
532
+ * How to match `breakCycleSignals` against the observer's output.
533
+ * One of `"substring"` (legacy default, prone to false positives),
534
+ * `"first-line"` (recommended — observer's verdict is line 1),
535
+ * `"any-line"`, or `"exact"`. See {@link CycleFlowConfig.breakCycleSignalMatch}
536
+ * for full semantics.
537
+ */
538
+ breakCycleSignalMatch: z.ZodOptional<z.ZodEnum<["substring", "first-line", "any-line", "exact"]>>;
539
+ name: z.ZodString;
540
+ description: z.ZodOptional<z.ZodString>;
541
+ steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
542
+ }, "strict", z.ZodTypeAny, {
543
+ type: "cycle";
544
+ name: string;
545
+ steps: any[];
546
+ description?: string | undefined;
547
+ cycles?: number | "Infinity" | undefined;
548
+ observer?: string | undefined;
549
+ breakCycleSignals?: string[] | undefined;
550
+ breakCycleSignalMatch?: "exact" | "substring" | "first-line" | "any-line" | undefined;
551
+ }, {
552
+ type: "cycle";
553
+ name: string;
554
+ steps: any[];
555
+ description?: string | undefined;
556
+ cycles?: number | "Infinity" | undefined;
557
+ observer?: string | undefined;
558
+ breakCycleSignals?: string[] | undefined;
559
+ breakCycleSignalMatch?: "exact" | "substring" | "first-line" | "any-line" | undefined;
560
+ }>, z.ZodObject<{
561
+ type: z.ZodLiteral<"broadcast">;
562
+ separator: z.ZodOptional<z.ZodString>;
563
+ name: z.ZodString;
564
+ description: z.ZodOptional<z.ZodString>;
565
+ steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
566
+ }, "strict", z.ZodTypeAny, {
567
+ type: "broadcast";
568
+ name: string;
569
+ steps: any[];
570
+ description?: string | undefined;
571
+ separator?: string | undefined;
572
+ }, {
573
+ type: "broadcast";
574
+ name: string;
575
+ steps: any[];
576
+ description?: string | undefined;
577
+ separator?: string | undefined;
578
+ }>]>;
579
+ export declare const StrategySchema: z.ZodObject<{
580
+ name: z.ZodString;
581
+ version: z.ZodString;
582
+ description: z.ZodOptional<z.ZodString>;
583
+ agents: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
584
+ type: z.ZodLiteral<"user">;
585
+ description: z.ZodOptional<z.ZodString>;
586
+ config: z.ZodOptional<z.ZodObject<{
587
+ requireInput: z.ZodOptional<z.ZodBoolean>;
588
+ presetMessage: z.ZodOptional<z.ZodString>;
589
+ }, "strict", z.ZodTypeAny, {
590
+ requireInput?: boolean | undefined;
591
+ presetMessage?: string | undefined;
592
+ }, {
593
+ requireInput?: boolean | undefined;
594
+ presetMessage?: string | undefined;
595
+ }>>;
596
+ }, "strict", z.ZodTypeAny, {
597
+ type: "user";
598
+ description?: string | undefined;
599
+ config?: {
600
+ requireInput?: boolean | undefined;
601
+ presetMessage?: string | undefined;
602
+ } | undefined;
603
+ }, {
604
+ type: "user";
605
+ description?: string | undefined;
606
+ config?: {
607
+ requireInput?: boolean | undefined;
608
+ presetMessage?: string | undefined;
609
+ } | undefined;
610
+ }>, z.ZodObject<{
611
+ type: z.ZodOptional<z.ZodLiteral<"llm">>;
612
+ description: z.ZodOptional<z.ZodString>;
613
+ model: z.ZodOptional<z.ZodString>;
614
+ systemPrompt: z.ZodOptional<z.ZodString>;
615
+ systemPromptTemplate: z.ZodOptional<z.ZodObject<{
616
+ template: z.ZodString;
617
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString, "many">, z.ZodRecord<z.ZodString, z.ZodString>]>>>;
618
+ }, "strict", z.ZodTypeAny, {
619
+ template: string;
620
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
621
+ }, {
622
+ template: string;
623
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
624
+ }>>;
625
+ tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
626
+ /**
627
+ * Skills whose full instructions must be loaded into this agent's system
628
+ * prompt. All discovered skills remain available through the skill tools.
629
+ */
630
+ skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
631
+ /**
632
+ * Per-call provider options forwarded verbatim to the AI SDK. Used to
633
+ * enable provider-specific features such as Anthropic extended thinking
634
+ * or OpenAI reasoning effort. Shape:
635
+ * `{ <providerId>: { <option>: <value>, ... }, ... }`.
636
+ */
637
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
638
+ /**
639
+ * Model-level generation parameters (temperature, maxOutputTokens, topP, seed,
640
+ * etc.). Forwarded to `streamText` as top-level options. Provider-specific
641
+ * features should use `providerOptions` instead.
642
+ */
643
+ modelOptions: z.ZodOptional<z.ZodObject<{
644
+ temperature: z.ZodOptional<z.ZodNumber>;
645
+ topP: z.ZodOptional<z.ZodNumber>;
646
+ topK: z.ZodOptional<z.ZodNumber>;
647
+ maxOutputTokens: z.ZodOptional<z.ZodNumber>;
648
+ maxRetries: z.ZodOptional<z.ZodNumber>;
649
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
650
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
651
+ seed: z.ZodOptional<z.ZodNumber>;
652
+ }, "strict", z.ZodTypeAny, {
653
+ temperature?: number | undefined;
654
+ topP?: number | undefined;
655
+ topK?: number | undefined;
656
+ maxOutputTokens?: number | undefined;
657
+ maxRetries?: number | undefined;
658
+ frequencyPenalty?: number | undefined;
659
+ presencePenalty?: number | undefined;
660
+ seed?: number | undefined;
661
+ }, {
662
+ temperature?: number | undefined;
663
+ topP?: number | undefined;
664
+ topK?: number | undefined;
665
+ maxOutputTokens?: number | undefined;
666
+ maxRetries?: number | undefined;
667
+ frequencyPenalty?: number | undefined;
668
+ presencePenalty?: number | undefined;
669
+ seed?: number | undefined;
670
+ }>>;
671
+ /** JSON Schema describing the agent's structured output. */
672
+ outputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
673
+ /** Conversation context retention and compaction controls. */
674
+ context: z.ZodOptional<z.ZodObject<{
675
+ rollingWindow: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
676
+ maxRecords: z.ZodNumber;
677
+ }, "strict", z.ZodTypeAny, {
678
+ maxRecords: number;
679
+ }, {
680
+ maxRecords: number;
681
+ }>]>>;
682
+ compaction: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
683
+ keepRecent: z.ZodOptional<z.ZodNumber>;
684
+ threshold: z.ZodOptional<z.ZodNumber>;
685
+ }, "strict", z.ZodTypeAny, {
686
+ keepRecent?: number | undefined;
687
+ threshold?: number | undefined;
688
+ }, {
689
+ keepRecent?: number | undefined;
690
+ threshold?: number | undefined;
691
+ }>]>>;
692
+ }, "strict", z.ZodTypeAny, {
693
+ rollingWindow?: number | {
694
+ maxRecords: number;
695
+ } | undefined;
696
+ compaction?: boolean | {
697
+ keepRecent?: number | undefined;
698
+ threshold?: number | undefined;
699
+ } | undefined;
700
+ }, {
701
+ rollingWindow?: number | {
702
+ maxRecords: number;
703
+ } | undefined;
704
+ compaction?: boolean | {
705
+ keepRecent?: number | undefined;
706
+ threshold?: number | undefined;
707
+ } | undefined;
708
+ }>>;
709
+ /**
710
+ * Maximum number of LLM round-trips (steps) per call.
711
+ * Each tool-call + response counts as one step.
712
+ */
713
+ maxSteps: z.ZodOptional<z.ZodNumber>;
714
+ }, "strict", z.ZodTypeAny, {
715
+ type?: "llm" | undefined;
716
+ description?: string | undefined;
717
+ model?: string | undefined;
718
+ systemPrompt?: string | undefined;
719
+ systemPromptTemplate?: {
720
+ template: string;
721
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
722
+ } | undefined;
723
+ tools?: string[] | undefined;
724
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
725
+ modelOptions?: {
726
+ temperature?: number | undefined;
727
+ topP?: number | undefined;
728
+ topK?: number | undefined;
729
+ maxOutputTokens?: number | undefined;
730
+ maxRetries?: number | undefined;
731
+ frequencyPenalty?: number | undefined;
732
+ presencePenalty?: number | undefined;
733
+ seed?: number | undefined;
734
+ } | undefined;
735
+ outputSchema?: Record<string, unknown> | undefined;
736
+ context?: {
737
+ rollingWindow?: number | {
738
+ maxRecords: number;
739
+ } | undefined;
740
+ compaction?: boolean | {
741
+ keepRecent?: number | undefined;
742
+ threshold?: number | undefined;
743
+ } | undefined;
744
+ } | undefined;
745
+ maxSteps?: number | undefined;
746
+ skills?: string[] | undefined;
747
+ }, {
748
+ type?: "llm" | undefined;
749
+ description?: string | undefined;
750
+ model?: string | undefined;
751
+ systemPrompt?: string | undefined;
752
+ systemPromptTemplate?: {
753
+ template: string;
754
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
755
+ } | undefined;
756
+ tools?: string[] | undefined;
757
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
758
+ modelOptions?: {
759
+ temperature?: number | undefined;
760
+ topP?: number | undefined;
761
+ topK?: number | undefined;
762
+ maxOutputTokens?: number | undefined;
763
+ maxRetries?: number | undefined;
764
+ frequencyPenalty?: number | undefined;
765
+ presencePenalty?: number | undefined;
766
+ seed?: number | undefined;
767
+ } | undefined;
768
+ outputSchema?: Record<string, unknown> | undefined;
769
+ context?: {
770
+ rollingWindow?: number | {
771
+ maxRecords: number;
772
+ } | undefined;
773
+ compaction?: boolean | {
774
+ keepRecent?: number | undefined;
775
+ threshold?: number | undefined;
776
+ } | undefined;
777
+ } | undefined;
778
+ maxSteps?: number | undefined;
779
+ skills?: string[] | undefined;
780
+ }>]>>;
781
+ flow: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
782
+ type: z.ZodLiteral<"sequential">;
783
+ name: z.ZodString;
784
+ description: z.ZodOptional<z.ZodString>;
785
+ steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
786
+ }, "strict", z.ZodTypeAny, {
787
+ type: "sequential";
788
+ name: string;
789
+ steps: any[];
790
+ description?: string | undefined;
791
+ }, {
792
+ type: "sequential";
793
+ name: string;
794
+ steps: any[];
795
+ description?: string | undefined;
796
+ }>, z.ZodObject<{
797
+ type: z.ZodLiteral<"cycle">;
798
+ cycles: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"Infinity">]>>;
799
+ observer: z.ZodOptional<z.ZodString>;
800
+ /**
801
+ * Custom break-signal tokens. The cycle ends when the observer's
802
+ * output contains one of these signals per `breakCycleSignalMatch`.
803
+ * Defaults to `["end cycle", "stop", "done"]` — fine for legacy
804
+ * strategies but brittle for verbose observers (e.g. "not done yet"
805
+ * triggers the "done" signal). Prefer a unique token like
806
+ * `"==CYCLE_DONE=="` paired with `breakCycleSignalMatch: "first-line"`.
807
+ */
808
+ breakCycleSignals: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
809
+ /**
810
+ * How to match `breakCycleSignals` against the observer's output.
811
+ * One of `"substring"` (legacy default, prone to false positives),
812
+ * `"first-line"` (recommended — observer's verdict is line 1),
813
+ * `"any-line"`, or `"exact"`. See {@link CycleFlowConfig.breakCycleSignalMatch}
814
+ * for full semantics.
815
+ */
816
+ breakCycleSignalMatch: z.ZodOptional<z.ZodEnum<["substring", "first-line", "any-line", "exact"]>>;
817
+ name: z.ZodString;
818
+ description: z.ZodOptional<z.ZodString>;
819
+ steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
820
+ }, "strict", z.ZodTypeAny, {
821
+ type: "cycle";
822
+ name: string;
823
+ steps: any[];
824
+ description?: string | undefined;
825
+ cycles?: number | "Infinity" | undefined;
826
+ observer?: string | undefined;
827
+ breakCycleSignals?: string[] | undefined;
828
+ breakCycleSignalMatch?: "exact" | "substring" | "first-line" | "any-line" | undefined;
829
+ }, {
830
+ type: "cycle";
831
+ name: string;
832
+ steps: any[];
833
+ description?: string | undefined;
834
+ cycles?: number | "Infinity" | undefined;
835
+ observer?: string | undefined;
836
+ breakCycleSignals?: string[] | undefined;
837
+ breakCycleSignalMatch?: "exact" | "substring" | "first-line" | "any-line" | undefined;
838
+ }>, z.ZodObject<{
839
+ type: z.ZodLiteral<"broadcast">;
840
+ separator: z.ZodOptional<z.ZodString>;
841
+ name: z.ZodString;
842
+ description: z.ZodOptional<z.ZodString>;
843
+ steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
844
+ }, "strict", z.ZodTypeAny, {
845
+ type: "broadcast";
846
+ name: string;
847
+ steps: any[];
848
+ description?: string | undefined;
849
+ separator?: string | undefined;
850
+ }, {
851
+ type: "broadcast";
852
+ name: string;
853
+ steps: any[];
854
+ description?: string | undefined;
855
+ separator?: string | undefined;
856
+ }>]>;
857
+ }, "strict", z.ZodTypeAny, {
858
+ name: string;
859
+ version: string;
860
+ agents: Record<string, {
861
+ type: "user";
862
+ description?: string | undefined;
863
+ config?: {
864
+ requireInput?: boolean | undefined;
865
+ presetMessage?: string | undefined;
866
+ } | undefined;
867
+ } | {
868
+ type?: "llm" | undefined;
869
+ description?: string | undefined;
870
+ model?: string | undefined;
871
+ systemPrompt?: string | undefined;
872
+ systemPromptTemplate?: {
873
+ template: string;
874
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
875
+ } | undefined;
876
+ tools?: string[] | undefined;
877
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
878
+ modelOptions?: {
879
+ temperature?: number | undefined;
880
+ topP?: number | undefined;
881
+ topK?: number | undefined;
882
+ maxOutputTokens?: number | undefined;
883
+ maxRetries?: number | undefined;
884
+ frequencyPenalty?: number | undefined;
885
+ presencePenalty?: number | undefined;
886
+ seed?: number | undefined;
887
+ } | undefined;
888
+ outputSchema?: Record<string, unknown> | undefined;
889
+ context?: {
890
+ rollingWindow?: number | {
891
+ maxRecords: number;
892
+ } | undefined;
893
+ compaction?: boolean | {
894
+ keepRecent?: number | undefined;
895
+ threshold?: number | undefined;
896
+ } | undefined;
897
+ } | undefined;
898
+ maxSteps?: number | undefined;
899
+ skills?: string[] | undefined;
900
+ }>;
901
+ flow: {
902
+ type: "sequential";
903
+ name: string;
904
+ steps: any[];
905
+ description?: string | undefined;
906
+ } | {
907
+ type: "cycle";
908
+ name: string;
909
+ steps: any[];
910
+ description?: string | undefined;
911
+ cycles?: number | "Infinity" | undefined;
912
+ observer?: string | undefined;
913
+ breakCycleSignals?: string[] | undefined;
914
+ breakCycleSignalMatch?: "exact" | "substring" | "first-line" | "any-line" | undefined;
915
+ } | {
916
+ type: "broadcast";
917
+ name: string;
918
+ steps: any[];
919
+ description?: string | undefined;
920
+ separator?: string | undefined;
921
+ };
922
+ description?: string | undefined;
923
+ }, {
924
+ name: string;
925
+ version: string;
926
+ agents: Record<string, {
927
+ type: "user";
928
+ description?: string | undefined;
929
+ config?: {
930
+ requireInput?: boolean | undefined;
931
+ presetMessage?: string | undefined;
932
+ } | undefined;
933
+ } | {
934
+ type?: "llm" | undefined;
935
+ description?: string | undefined;
936
+ model?: string | undefined;
937
+ systemPrompt?: string | undefined;
938
+ systemPromptTemplate?: {
939
+ template: string;
940
+ variables?: Record<string, string | number | boolean | string[] | Record<string, string>> | undefined;
941
+ } | undefined;
942
+ tools?: string[] | undefined;
943
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
944
+ modelOptions?: {
945
+ temperature?: number | undefined;
946
+ topP?: number | undefined;
947
+ topK?: number | undefined;
948
+ maxOutputTokens?: number | undefined;
949
+ maxRetries?: number | undefined;
950
+ frequencyPenalty?: number | undefined;
951
+ presencePenalty?: number | undefined;
952
+ seed?: number | undefined;
953
+ } | undefined;
954
+ outputSchema?: Record<string, unknown> | undefined;
955
+ context?: {
956
+ rollingWindow?: number | {
957
+ maxRecords: number;
958
+ } | undefined;
959
+ compaction?: boolean | {
960
+ keepRecent?: number | undefined;
961
+ threshold?: number | undefined;
962
+ } | undefined;
963
+ } | undefined;
964
+ maxSteps?: number | undefined;
965
+ skills?: string[] | undefined;
966
+ }>;
967
+ flow: {
968
+ type: "sequential";
969
+ name: string;
970
+ steps: any[];
971
+ description?: string | undefined;
972
+ } | {
973
+ type: "cycle";
974
+ name: string;
975
+ steps: any[];
976
+ description?: string | undefined;
977
+ cycles?: number | "Infinity" | undefined;
978
+ observer?: string | undefined;
979
+ breakCycleSignals?: string[] | undefined;
980
+ breakCycleSignalMatch?: "exact" | "substring" | "first-line" | "any-line" | undefined;
981
+ } | {
982
+ type: "broadcast";
983
+ name: string;
984
+ steps: any[];
985
+ description?: string | undefined;
986
+ separator?: string | undefined;
987
+ };
988
+ description?: string | undefined;
989
+ }>;
990
+ export declare const CommaProjectManifestSchema: z.ZodObject<{
991
+ name: z.ZodString;
992
+ version: z.ZodOptional<z.ZodString>;
993
+ description: z.ZodOptional<z.ZodString>;
994
+ strategies: z.ZodArray<z.ZodString, "many">;
995
+ tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
996
+ entry: z.ZodOptional<z.ZodString>;
997
+ dependencies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
998
+ }, "strict", z.ZodTypeAny, {
999
+ name: string;
1000
+ strategies: string[];
1001
+ description?: string | undefined;
1002
+ tools?: string[] | undefined;
1003
+ version?: string | undefined;
1004
+ entry?: string | undefined;
1005
+ dependencies?: string[] | undefined;
1006
+ }, {
1007
+ name: string;
1008
+ strategies: string[];
1009
+ description?: string | undefined;
1010
+ tools?: string[] | undefined;
1011
+ version?: string | undefined;
1012
+ entry?: string | undefined;
1013
+ dependencies?: string[] | undefined;
1014
+ }>;
1015
+ export type UserAgentDef = z.infer<typeof UserAgentDefSchema>;
1016
+ export type LLMAgentDef = z.infer<typeof LLMAgentDefSchema>;
1017
+ export type AgentDef = z.infer<typeof AgentDefSchema>;
1018
+ export type AgentStep = z.infer<typeof AgentStepSchema>;
1019
+ export type SequentialFlowDef = z.infer<typeof SequentialFlowDefSchema>;
1020
+ export type CycleFlowDef = z.infer<typeof CycleFlowDefSchema>;
1021
+ export type BroadcastFlowDef = z.infer<typeof BroadcastFlowDefSchema>;
1022
+ export type FlowDef = z.infer<typeof FlowDefSchema>;
1023
+ export type Strategy = z.infer<typeof StrategySchema>;
1024
+ export type CommaProjectManifest = z.infer<typeof CommaProjectManifestSchema>;
1025
+ /** Check if an agent definition is a user agent. */
1026
+ export declare function isUserAgentDef(agentDefinition: AgentDef): agentDefinition is UserAgentDef;
1027
+ /** Check if an agent definition is an LLM agent. */
1028
+ export declare function isLLMAgentDef(agentDefinition: AgentDef): agentDefinition is LLMAgentDef;
1029
+ /** Check if a flow step is an agent reference (vs a nested flow). */
1030
+ export declare function isAgentStep(step: unknown): step is AgentStep;
1031
+ /** Check if a flow step is a nested flow definition. */
1032
+ export declare function isFlowDef(step: unknown): step is FlowDef;