@positronic/core 0.0.76 → 0.0.78

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 (130) hide show
  1. package/dist/src/dsl/brain-runner.js +37 -182
  2. package/dist/src/dsl/brain-state-machine.js +58 -112
  3. package/dist/src/dsl/brain.js +1 -0
  4. package/dist/src/dsl/builder/brain.js +250 -404
  5. package/dist/src/dsl/builder/continuation.js +67 -0
  6. package/dist/src/dsl/constants.js +16 -17
  7. package/dist/src/dsl/create-brain.js +29 -45
  8. package/dist/src/dsl/example-webhook.js +1 -1
  9. package/dist/src/dsl/execution/constants.js +0 -4
  10. package/dist/src/dsl/execution/event-channel.js +77 -0
  11. package/dist/src/dsl/execution/event-stream.js +1625 -1462
  12. package/dist/src/dsl/signal-validation.js +0 -1
  13. package/dist/src/dsl/webhook.js +4 -1
  14. package/dist/src/files/event-wrapper.js +268 -0
  15. package/dist/src/files/index.js +1 -0
  16. package/dist/src/files/mime.js +31 -0
  17. package/dist/src/files/types.js +13 -0
  18. package/dist/src/index.js +10 -3
  19. package/dist/src/jsx-runtime.js +49 -0
  20. package/dist/src/memory/{scoped-memory.js → create-memory.js} +5 -5
  21. package/dist/src/plugins/collect-webhooks.js +49 -0
  22. package/dist/src/plugins/define-plugin.js +15 -0
  23. package/dist/src/plugins/index.js +1 -0
  24. package/dist/src/plugins/types.js +4 -0
  25. package/dist/src/store/types.js +2 -3
  26. package/dist/src/template/render-html.js +282 -0
  27. package/dist/src/template/render.js +357 -0
  28. package/dist/src/tools/index.js +88 -27
  29. package/dist/src/ui/generate-page-html.js +6 -6
  30. package/dist/src/ui/{generate-ui.js → generate-page.js} +24 -12
  31. package/dist/src/ui/parse-form-data.js +1 -11
  32. package/dist/src/ui/types.js +0 -123
  33. package/dist/src/yaml/data-validator.js +0 -27
  34. package/dist/src/yaml/type-inference.js +10 -9
  35. package/dist/types/clients/types.d.ts +15 -5
  36. package/dist/types/clients/types.d.ts.map +1 -1
  37. package/dist/types/dsl/brain-runner.d.ts +9 -14
  38. package/dist/types/dsl/brain-runner.d.ts.map +1 -1
  39. package/dist/types/dsl/brain-state-machine.d.ts +18 -28
  40. package/dist/types/dsl/brain-state-machine.d.ts.map +1 -1
  41. package/dist/types/dsl/brain.d.ts +3 -2
  42. package/dist/types/dsl/brain.d.ts.map +1 -1
  43. package/dist/types/dsl/builder/brain.d.ts +87 -230
  44. package/dist/types/dsl/builder/brain.d.ts.map +1 -1
  45. package/dist/types/dsl/builder/continuation.d.ts +16 -0
  46. package/dist/types/dsl/builder/continuation.d.ts.map +1 -0
  47. package/dist/types/dsl/constants.d.ts +12 -12
  48. package/dist/types/dsl/constants.d.ts.map +1 -1
  49. package/dist/types/dsl/create-brain.d.ts +17 -57
  50. package/dist/types/dsl/create-brain.d.ts.map +1 -1
  51. package/dist/types/dsl/definitions/blocks.d.ts +67 -55
  52. package/dist/types/dsl/definitions/blocks.d.ts.map +1 -1
  53. package/dist/types/dsl/definitions/brain-types.d.ts +8 -11
  54. package/dist/types/dsl/definitions/brain-types.d.ts.map +1 -1
  55. package/dist/types/dsl/definitions/events.d.ts +61 -55
  56. package/dist/types/dsl/definitions/events.d.ts.map +1 -1
  57. package/dist/types/dsl/definitions/run-params.d.ts +20 -21
  58. package/dist/types/dsl/definitions/run-params.d.ts.map +1 -1
  59. package/dist/types/dsl/definitions/steps.d.ts +1 -1
  60. package/dist/types/dsl/definitions/steps.d.ts.map +1 -1
  61. package/dist/types/dsl/example-webhook.d.ts +3 -3
  62. package/dist/types/dsl/example-webhook.d.ts.map +1 -1
  63. package/dist/types/dsl/execution/constants.d.ts +0 -5
  64. package/dist/types/dsl/execution/constants.d.ts.map +1 -1
  65. package/dist/types/dsl/execution/event-channel.d.ts +16 -0
  66. package/dist/types/dsl/execution/event-channel.d.ts.map +1 -0
  67. package/dist/types/dsl/execution/event-stream.d.ts +46 -34
  68. package/dist/types/dsl/execution/event-stream.d.ts.map +1 -1
  69. package/dist/types/dsl/signal-validation.d.ts.map +1 -1
  70. package/dist/types/dsl/types.d.ts +21 -83
  71. package/dist/types/dsl/types.d.ts.map +1 -1
  72. package/dist/types/dsl/webhook.d.ts +12 -2
  73. package/dist/types/dsl/webhook.d.ts.map +1 -1
  74. package/dist/types/files/event-wrapper.d.ts +20 -0
  75. package/dist/types/files/event-wrapper.d.ts.map +1 -0
  76. package/dist/types/files/index.d.ts +2 -0
  77. package/dist/types/files/index.d.ts.map +1 -0
  78. package/dist/types/files/mime.d.ts +2 -0
  79. package/dist/types/files/mime.d.ts.map +1 -0
  80. package/dist/types/files/types.d.ts +88 -0
  81. package/dist/types/files/types.d.ts.map +1 -0
  82. package/dist/types/index.d.ts +22 -12
  83. package/dist/types/index.d.ts.map +1 -1
  84. package/dist/types/jsx-runtime.d.ts +35 -0
  85. package/dist/types/jsx-runtime.d.ts.map +1 -0
  86. package/dist/types/memory/{scoped-memory.d.ts → create-memory.d.ts} +7 -7
  87. package/dist/types/memory/create-memory.d.ts.map +1 -0
  88. package/dist/types/memory/types.d.ts +4 -4
  89. package/dist/types/memory/types.d.ts.map +1 -1
  90. package/dist/types/plugins/collect-webhooks.d.ts +8 -0
  91. package/dist/types/plugins/collect-webhooks.d.ts.map +1 -0
  92. package/dist/types/plugins/define-plugin.d.ts +25 -0
  93. package/dist/types/plugins/define-plugin.d.ts.map +1 -0
  94. package/dist/types/plugins/index.d.ts +3 -0
  95. package/dist/types/plugins/index.d.ts.map +1 -0
  96. package/dist/types/plugins/types.d.ts +83 -0
  97. package/dist/types/plugins/types.d.ts.map +1 -0
  98. package/dist/types/store/index.d.ts +1 -1
  99. package/dist/types/store/index.d.ts.map +1 -1
  100. package/dist/types/store/types.d.ts +0 -8
  101. package/dist/types/store/types.d.ts.map +1 -1
  102. package/dist/types/template/render-html.d.ts +9 -0
  103. package/dist/types/template/render-html.d.ts.map +1 -0
  104. package/dist/types/template/render.d.ts +15 -0
  105. package/dist/types/template/render.d.ts.map +1 -0
  106. package/dist/types/tools/index.d.ts +39 -27
  107. package/dist/types/tools/index.d.ts.map +1 -1
  108. package/dist/types/ui/generate-page-html.d.ts +4 -6
  109. package/dist/types/ui/generate-page-html.d.ts.map +1 -1
  110. package/dist/types/ui/{generate-ui.d.ts → generate-page.d.ts} +6 -6
  111. package/dist/types/ui/generate-page.d.ts.map +1 -0
  112. package/dist/types/ui/parse-form-data.d.ts +1 -5
  113. package/dist/types/ui/parse-form-data.d.ts.map +1 -1
  114. package/dist/types/ui/types.d.ts +0 -49
  115. package/dist/types/ui/types.d.ts.map +1 -1
  116. package/dist/types/yaml/data-validator.d.ts +0 -5
  117. package/dist/types/yaml/data-validator.d.ts.map +1 -1
  118. package/dist/types/yaml/type-inference.d.ts +4 -2
  119. package/dist/types/yaml/type-inference.d.ts.map +1 -1
  120. package/dist/types/yaml/types.d.ts +0 -1
  121. package/dist/types/yaml/types.d.ts.map +1 -1
  122. package/package.json +5 -1
  123. package/dist/src/dsl/agent-messages.js +0 -5
  124. package/dist/src/ui/validate-form.js +0 -428
  125. package/dist/types/dsl/agent-messages.d.ts +0 -12
  126. package/dist/types/dsl/agent-messages.d.ts.map +0 -1
  127. package/dist/types/memory/scoped-memory.d.ts.map +0 -1
  128. package/dist/types/ui/generate-ui.d.ts.map +0 -1
  129. package/dist/types/ui/validate-form.d.ts +0 -45
  130. package/dist/types/ui/validate-form.d.ts.map +0 -1
@@ -1,36 +1,33 @@
1
1
  import { z } from 'zod';
2
2
  import type { ObjectGenerator } from '../../clients/types.js';
3
3
  import type { IterateResult } from '../iterate-result.js';
4
- import type { State, JsonObject, AgentTool, AgentConfig, AgentOutputSchema, StepContext } from '../types.js';
5
- import type { Resources } from '../../resources/resources.js';
4
+ import type { State, JsonObject, StepContext } from '../types.js';
6
5
  import type { WebhookRegistration, ExtractWebhookResponses, NormalizeToArray } from '../webhook.js';
7
6
  import type { UIComponent } from '../../ui/types.js';
8
- import type { MemoryProvider } from '../../memory/types.js';
9
- import type { StoreSchema, InferStoreTypes, StoreContext } from '../../store/types.js';
10
- import type { JsonValue } from '../types.js';
7
+ import type { StoreSchema, InferStoreTypes, Store } from '../../store/types.js';
8
+ import type { ConfiguredPlugin, PluginInjection, PluginCreateReturn, PluginsFrom } from '../../plugins/types.js';
11
9
  import type { BrainEvent } from '../definitions/events.js';
12
10
  import type { BrainStructure } from '../definitions/steps.js';
11
+ import type { PromptConfig, PromptLoopConfig, TemplateReturn } from '../definitions/blocks.js';
13
12
  import type { GeneratedPage } from '../definitions/brain-types.js';
13
+ import type { TemplateChild } from '../../jsx-runtime.js';
14
14
  import type { InitialRunParams, ResumeRunParams } from '../definitions/run-params.js';
15
- export declare class Brain<TOptions extends JsonObject = JsonObject, TState extends State = object, TServices extends object = object, TResponse extends JsonObject | undefined = undefined, TPage extends GeneratedPage | undefined = undefined, TStore extends Record<string, JsonValue> = never> {
15
+ import { Continuation } from './continuation.js';
16
+ export declare class Brain<TOptions extends JsonObject = JsonObject, TState extends State = object, TPlugins extends object = object> {
16
17
  readonly title: string;
17
18
  private description?;
18
19
  readonly __optionsType: TOptions;
19
20
  private blocks;
20
21
  type: 'brain';
21
- private services;
22
22
  optionsSchema?: z.ZodSchema<any>;
23
23
  private components?;
24
- private defaultTools?;
25
- private extraTools?;
26
- private memoryProvider?;
27
24
  private storeSchema?;
25
+ private pluginConfigs;
28
26
  constructor(title: string, description?: string | undefined);
29
27
  get structure(): BrainStructure;
30
- withServices<TNewServices extends object>(services: TNewServices): Brain<TOptions, TState, TNewServices, TResponse, TPage, TStore>;
31
- withOptionsSchema<TSchema extends z.ZodSchema>(schema: TSchema): Brain<z.infer<TSchema>, TState, TServices, TResponse, TPage, TStore>;
28
+ withOptions<TSchema extends z.ZodSchema>(schema: TSchema): Brain<z.infer<TSchema>, TState, TPlugins>;
32
29
  /**
33
- * Configure UI components for generative UI steps.
30
+ * Configure UI components for page generation steps.
34
31
  *
35
32
  * @param components - Record of component definitions
36
33
  *
@@ -40,71 +37,10 @@ export declare class Brain<TOptions extends JsonObject = JsonObject, TState exte
40
37
  *
41
38
  * const myBrain = brain('my-brain')
42
39
  * .withComponents(components)
43
- * .ui('Show Form', formPrompt);
40
+ * .page('Show Form', ({ state }) => ({ prompt: `Create a form for ${state.userName}` }));
44
41
  * ```
45
42
  */
46
- withComponents(components: Record<string, UIComponent<any>>): Brain<TOptions, TState, TServices, TResponse, TPage, TStore>;
47
- /**
48
- * Configure default tools for agent steps.
49
- * These tools will be automatically available in all agent steps and can be
50
- * extended or overridden in individual step configurations.
51
- *
52
- * @param tools - Record of default tool definitions
53
- *
54
- * @example
55
- * ```typescript
56
- * import { defaultTools } from '@positronic/core';
57
- *
58
- * const myBrain = brain('my-brain')
59
- * .withTools(defaultTools)
60
- * .brain('agent', ({ tools }) => ({
61
- * system: 'You are helpful',
62
- * prompt: 'Do something',
63
- * tools // uses defaults
64
- * }));
65
- * ```
66
- */
67
- withTools<TTools extends Record<string, AgentTool<any>>>(tools: TTools): Brain<TOptions, TState, TServices, TResponse, TPage, TStore>;
68
- /**
69
- * Add extra tools on top of whatever default tools are already configured.
70
- * Unlike `withTools()` which replaces defaults, this merges additively.
71
- *
72
- * @param tools - Record of additional tool definitions
73
- *
74
- * @example
75
- * ```typescript
76
- * const myBrain = createBrain({ defaultTools })
77
- * ('my-brain')
78
- * .withExtraTools({ myCustomTool })
79
- * .brain('agent', ({ tools }) => ({
80
- * system: 'You are helpful',
81
- * prompt: 'Do something',
82
- * tools // includes both defaults and myCustomTool
83
- * }));
84
- * ```
85
- */
86
- withExtraTools<TTools extends Record<string, AgentTool<any>>>(tools: TTools): Brain<TOptions, TState, TServices, TResponse, TPage, TStore>;
87
- /**
88
- * Configure a memory provider for this brain.
89
- * When configured, steps receive a scoped memory instance in their context.
90
- *
91
- * @param provider - The memory provider to use
92
- *
93
- * @example
94
- * ```typescript
95
- * import { createMem0Provider } from '@positronic/mem0';
96
- *
97
- * const memory = createMem0Provider({ apiKey: process.env.MEM0_API_KEY });
98
- *
99
- * const myBrain = brain('my-brain')
100
- * .withMemory(memory)
101
- * .brain('agent', async ({ memory }) => {
102
- * const prefs = await memory.search('user preferences');
103
- * return { system: `User preferences: ${prefs}`, prompt: 'Help me' };
104
- * });
105
- * ```
106
- */
107
- withMemory(provider: MemoryProvider): Brain<TOptions, TState, TServices, TResponse, TPage, TStore>;
43
+ withComponents(components: Record<string, UIComponent<any>>): Brain<TOptions, TState, TPlugins>;
108
44
  /**
109
45
  * Configure a typed key-value store for this brain.
110
46
  * When configured, steps receive a `store` object in their context with typed get/set/delete/has.
@@ -126,172 +62,93 @@ export declare class Brain<TOptions extends JsonObject = JsonObject, TState exte
126
62
  * });
127
63
  * ```
128
64
  */
129
- withStore<T extends StoreSchema>(storeSchema: T): Brain<TOptions, TState, TServices, TResponse, TPage, InferStoreTypes<T>>;
130
- step<TNewState extends State>(title: string, action: (params: StepContext<TState, TOptions, TResponse, TPage> & TServices & StoreContext<TStore>) => TNewState | Promise<TNewState>): Brain<TOptions, TNewState, TServices, undefined, undefined, TStore>;
131
- wait<TWaitFor extends WebhookRegistration<any> | readonly WebhookRegistration<any>[]>(title: string, action: (params: StepContext<TState, TOptions, TResponse, TPage> & TServices & StoreContext<TStore>) => TWaitFor | Promise<TWaitFor>, options?: {
65
+ withStore<T extends StoreSchema>(storeSchema: T): Brain<TOptions, TState, TPlugins & {
66
+ store: Store<InferStoreTypes<T>>;
67
+ }>;
68
+ /**
69
+ * Add a plugin to this brain. The plugin's create() is called per brain run,
70
+ * and its return value is placed on StepContext under the plugin name.
71
+ *
72
+ * Replaces any existing plugin with the same name.
73
+ */
74
+ withPlugin<TName extends string, TConfig, TCreate extends PluginCreateReturn>(plugin: ConfiguredPlugin<TName, TConfig, TCreate>): Brain<TOptions, TState, TPlugins & {
75
+ [K in TName]: PluginInjection<TCreate>;
76
+ }>;
77
+ step<TNewState extends State>(title: string, action: (params: StepContext<TState, TOptions> & TPlugins) => TNewState | Promise<TNewState>): Brain<TOptions, TNewState, TPlugins>;
78
+ wait<TWaitFor extends WebhookRegistration<any> | readonly WebhookRegistration<any>[]>(title: string, action: (params: StepContext<TState, TOptions> & TPlugins) => TWaitFor | Promise<TWaitFor>, options?: {
132
79
  timeout?: number | string;
133
- }): Brain<TOptions, TState, TServices, ExtractWebhookResponses<NormalizeToArray<TWaitFor>>, undefined, TStore>;
134
- guard(predicate: (params: {
135
- state: TState;
136
- options: TOptions;
137
- }) => boolean, title?: string): Brain<TOptions, TState, TServices, TResponse, TPage, TStore>;
138
- brain<TInnerState extends State, TNewState extends State>(title: string, innerBrain: Brain<TOptions, TInnerState, TServices>, action: (params: {
139
- state: TState;
140
- brainState: TInnerState;
141
- services: TServices;
142
- }) => TNewState, initialState?: State | ((state: TState) => State)): Brain<TOptions, TNewState, TServices, TResponse, undefined, TStore>;
143
- brain<TTools extends Record<string, AgentTool<any>>, TName extends string & {
144
- readonly brand?: unique symbol;
145
- }, TSchema extends z.ZodObject<any>, TNewState extends State = TState & {
146
- [K in TName]: z.infer<TSchema>;
147
- }>(title: string, config: AgentConfig<TTools, AgentOutputSchema<TSchema, TName>>): Brain<TOptions, TNewState, TServices, TResponse, undefined, TStore>;
148
- brain<TTools extends Record<string, AgentTool<any>>, TName extends string & {
149
- readonly brand?: unique symbol;
150
- }, TSchema extends z.ZodObject<any>, TNewState extends State = TState & {
151
- [K in TName]: z.infer<TSchema>;
152
- }>(title: string, configFn: (params: StepContext<TState, TOptions, TResponse, TPage> & TServices & StoreContext<TStore> & {
153
- /** Default tools available for agent steps */
154
- tools: Record<string, AgentTool<any>>;
155
- }) => AgentConfig<TTools, AgentOutputSchema<TSchema, TName>> | Promise<AgentConfig<TTools, AgentOutputSchema<TSchema, TName>>>): Brain<TOptions, TNewState, TServices, TResponse, undefined, TStore>;
156
- brain<TTools extends Record<string, AgentTool<any>> = Record<string, AgentTool<any>>, TNewState extends State = TState>(title: string, config: AgentConfig<TTools>): Brain<TOptions, TNewState, TServices, TResponse, undefined, TStore>;
157
- brain<TTools extends Record<string, AgentTool<any>> = Record<string, AgentTool<any>>, TNewState extends State = TState>(title: string, configFn: (params: StepContext<TState, TOptions, TResponse, TPage> & TServices & StoreContext<TStore> & {
158
- /** Default tools available for agent steps */
159
- tools: Record<string, AgentTool<any>>;
160
- }) => AgentConfig<TTools> | Promise<AgentConfig<TTools>>): Brain<TOptions, TNewState, TServices, TResponse, undefined, TStore>;
161
- brain<TItem, TInnerState extends State, TOutputKey extends string & {
80
+ }): Continuation<TOptions, TState, TPlugins, ExtractWebhookResponses<NormalizeToArray<TWaitFor>>>;
81
+ guard(predicate: (params: StepContext<TState, TOptions> & TPlugins) => boolean, title?: string): Brain<TOptions, TState, TPlugins>;
82
+ brain<TInnerOptions extends JsonObject, TInnerState extends State, TNewState extends State = TState & TInnerState>(title: string, innerBrain: Brain<TInnerOptions, TInnerState, any>, config?: {
83
+ initialState?: State | ((context: StepContext<TState, TOptions> & TPlugins) => State);
84
+ options?: TInnerOptions | ((context: StepContext<TState, TOptions> & TPlugins) => TInnerOptions);
85
+ }): Brain<TOptions, TNewState, TPlugins>;
86
+ prompt<TSchema extends z.ZodObject<any>, TNewState extends State = TState & z.infer<TSchema>>(title: string, configFn: (context: StepContext<TState, TOptions> & TPlugins) => PromptConfig<TSchema> | Promise<PromptConfig<TSchema>>): Brain<TOptions, TNewState, TPlugins>;
87
+ map<TItems extends any[], TInnerOptions extends JsonObject, TInnerState extends State, TStateKey extends string & {
162
88
  readonly brand?: unique symbol;
163
89
  }, TNewState extends State = TState & {
164
- [K in TOutputKey]: IterateResult<TItem, TInnerState>;
165
- }>(title: string, innerBrain: Brain<TOptions, TInnerState, TServices>, iterateConfig: {
166
- over: (context: StepContext<TState, TOptions> & TServices & StoreContext<TStore>) => TItem[] | Promise<TItem[]>;
167
- initialState: (item: TItem, outerState: TState) => State;
168
- outputKey: TOutputKey & (string extends TOutputKey ? never : unknown);
169
- error?: (item: TItem, error: Error) => TInnerState | null;
170
- }): Brain<TOptions, TNewState, TServices, TResponse, undefined, TStore>;
171
- brain<TItem, TTools extends Record<string, AgentTool<any>>, TName extends string & {
172
- readonly brand?: unique symbol;
173
- }, TSchema extends z.ZodObject<any>, TOutputKey extends string & {
90
+ [K in TStateKey]: IterateResult<TItems[number], TInnerState>;
91
+ }>(title: string, stateKey: TStateKey & (string extends TStateKey ? never : unknown), configFn: (context: StepContext<TState, TOptions> & TPlugins) => {
92
+ run: Brain<TInnerOptions, TInnerState, any>;
93
+ over: TItems | Promise<TItems>;
94
+ initialState: (item: TItems[number]) => State;
95
+ error?: (item: TItems[number], error: Error) => TInnerState | null;
96
+ options?: TInnerOptions;
97
+ }): Brain<TOptions, TNewState, TPlugins>;
98
+ map<TItems extends any[], TSchema extends z.ZodObject<any>, TStateKey extends string & {
174
99
  readonly brand?: unique symbol;
175
100
  }, TNewState extends State = TState & {
176
- [K in TOutputKey]: IterateResult<TItem, z.infer<TSchema>>;
177
- }>(title: string, configFn: (item: TItem, params: StepContext<TState, TOptions, TResponse, TPage> & TServices & StoreContext<TStore> & {
178
- tools: Record<string, AgentTool<any>>;
179
- }) => AgentConfig<TTools, AgentOutputSchema<TSchema, TName>> | Promise<AgentConfig<TTools, AgentOutputSchema<TSchema, TName>>>, iterateConfig: {
180
- over: (context: StepContext<TState, TOptions> & TServices & StoreContext<TStore>) => TItem[] | Promise<TItem[]>;
181
- outputKey: TOutputKey & (string extends TOutputKey ? never : unknown);
182
- error?: (item: TItem, error: Error) => z.infer<TSchema> | null;
183
- }): Brain<TOptions, TNewState, TServices, TResponse, undefined, TStore>;
184
- brain<TItem, TTools extends Record<string, AgentTool<any>> = Record<string, AgentTool<any>>, TOutputKey extends string = string, TNewState extends State = TState & {
185
- [K in TOutputKey]: IterateResult<TItem, any>;
186
- }>(title: string, configFn: (item: TItem, params: StepContext<TState, TOptions, TResponse, TPage> & TServices & StoreContext<TStore> & {
187
- tools: Record<string, AgentTool<any>>;
188
- }) => AgentConfig<TTools> | Promise<AgentConfig<TTools>>, iterateConfig: {
189
- over: (context: StepContext<TState, TOptions> & TServices & StoreContext<TStore>) => TItem[] | Promise<TItem[]>;
190
- outputKey: TOutputKey & (string extends TOutputKey ? never : unknown);
191
- error?: (item: TItem, error: Error) => any | null;
192
- }): Brain<TOptions, TNewState, TServices, TResponse, undefined, TStore>;
193
- prompt<TResponseKey extends string & {
194
- readonly brand?: unique symbol;
195
- }, TSchema extends z.ZodObject<any>, TNewState extends State = TState & {
196
- [K in TResponseKey]: z.infer<TSchema>;
197
- }>(title: string, config: {
198
- template: (state: TState, resources: Resources) => string | Promise<string>;
199
- outputSchema: {
200
- schema: TSchema;
201
- name: TResponseKey & (string extends TResponseKey ? never : unknown);
202
- };
203
- client?: ObjectGenerator;
204
- }): Brain<TOptions, TNewState, TServices, TResponse, undefined, TStore>;
205
- prompt<TItem, TResponseKey extends string & {
206
- readonly brand?: unique symbol;
207
- }, TSchema extends z.ZodObject<any>, TNewState extends State = TState & {
208
- [K in TResponseKey]: IterateResult<TItem, z.infer<TSchema>>;
209
- }>(title: string, config: {
210
- template: (item: TItem, resources: Resources) => string | Promise<string>;
211
- outputSchema: {
212
- schema: TSchema;
213
- name: TResponseKey & (string extends TResponseKey ? never : unknown);
101
+ [K in TStateKey]: IterateResult<TItems[number], z.infer<TSchema>>;
102
+ }>(title: string, stateKey: TStateKey & (string extends TStateKey ? never : unknown), configFn: (context: StepContext<TState, TOptions> & TPlugins) => {
103
+ prompt: {
104
+ message: (item: NoInfer<TItems[number]>) => TemplateReturn;
105
+ system?: TemplateReturn | ((item: NoInfer<TItems[number]>) => TemplateReturn);
106
+ outputSchema: TSchema;
107
+ loop?: PromptLoopConfig;
214
108
  };
215
109
  client?: ObjectGenerator;
216
- }, iterateConfig: {
217
- over: (context: StepContext<TState, TOptions> & TServices & StoreContext<TStore>) => TItem[] | Promise<TItem[]>;
218
- error?: (item: TItem, error: Error) => z.infer<TSchema> | null;
219
- }): Brain<TOptions, TNewState, TServices, TResponse, undefined, TStore>;
220
- prompt(title: string, config: {
221
- template: (state: TState, resources: Resources) => string | Promise<string>;
222
- client?: ObjectGenerator;
223
- }): Brain<TOptions, TState, TServices, {
224
- text: string;
225
- }, undefined, TStore>;
226
- /**
227
- * Add a UI generation step that creates an interactive page.
228
- *
229
- * The step:
230
- * 1. Calls an LLM agent to generate UI components based on the prompt
231
- * 2. Renders the components to an HTML page
232
- * 3. Stores the page and makes it available via URL
233
- * 4. Creates a webhook for form submissions (typed based on responseSchema)
234
- *
235
- * The next step receives a `page` object with:
236
- * - `url`: URL to the generated page
237
- * - `webhook`: Pre-configured WebhookRegistration for form submissions
238
- *
239
- * The brain author is responsible for notifying users about the page (via Slack,
240
- * email, etc.) and using `.wait()` to pause until the form is submitted.
241
- * Form data arrives in the `response` parameter of the step after `.wait()`.
242
- *
243
- * @example
244
- * ```typescript
245
- * brain('feedback-form')
246
- * .step('Initialize', () => ({ userName: 'John' }))
247
- * .ui('Create Form', {
248
- * template: (state) => `Create a feedback form for ${state.userName}`,
249
- * responseSchema: z.object({
250
- * rating: z.number().min(1).max(5),
251
- * comments: z.string(),
252
- * }),
253
- * })
254
- * .step('Notify', async ({ state, page, slack }) => {
255
- * await slack.post('#general', `Please fill out: ${page.url}`);
256
- * return state;
257
- * })
258
- * .wait('Wait for submission', ({ page }) => page.webhook)
259
- * .step('Process Feedback', ({ state, response }) => ({
260
- * ...state,
261
- * // response is typed: { rating: number, comments: string }
262
- * rating: response.rating,
263
- * comments: response.comments,
264
- * }))
265
- * ```
266
- */
267
- ui<TSchema extends z.ZodObject<any> = z.ZodObject<any>>(title: string, config: {
268
- template: (state: TState, resources: Resources) => string | Promise<string>;
269
- responseSchema?: TSchema;
270
- }): Brain<TOptions, TState, TServices, TResponse, GeneratedPage<TSchema>, TStore>;
110
+ over: TItems | Promise<TItems>;
111
+ error?: (item: TItems[number], error: Error) => z.infer<TSchema> | null;
112
+ }): Brain<TOptions, TNewState, TPlugins>;
113
+ page<TSchema extends z.ZodObject<any>, TNewState extends State = TState & z.infer<TSchema>>(title: string, configFn: (context: StepContext<TState, TOptions> & TPlugins) => {
114
+ prompt: TemplateReturn;
115
+ formSchema: TSchema;
116
+ onCreated?: (page: GeneratedPage<TSchema>) => void | Promise<void>;
117
+ props?: Record<string, unknown>;
118
+ ttl?: number;
119
+ persist?: boolean;
120
+ }): Brain<TOptions, TNewState, TPlugins>;
121
+ page(title: string, configFn: (context: StepContext<TState, TOptions> & TPlugins) => {
122
+ prompt: TemplateReturn;
123
+ onCreated?: (page: GeneratedPage) => void | Promise<void>;
124
+ props?: Record<string, unknown>;
125
+ ttl?: number;
126
+ persist?: boolean;
127
+ }): Brain<TOptions, TState, TPlugins>;
128
+ page<TSchema extends z.ZodObject<any>, TNewState extends State = TState & z.infer<TSchema>>(title: string, configFn: (context: StepContext<TState, TOptions> & TPlugins) => {
129
+ html: TemplateChild;
130
+ formSchema: TSchema;
131
+ onCreated?: (page: GeneratedPage<TSchema>) => void | Promise<void>;
132
+ ttl?: number;
133
+ persist?: boolean;
134
+ }): Brain<TOptions, TNewState, TPlugins>;
135
+ page(title: string, configFn: (context: StepContext<TState, TOptions> & TPlugins) => {
136
+ html: TemplateChild;
137
+ onCreated?: (page: GeneratedPage) => void | Promise<void>;
138
+ ttl?: number;
139
+ persist?: boolean;
140
+ }): Brain<TOptions, TState, TPlugins>;
271
141
  run(params: InitialRunParams<TOptions>): AsyncGenerator<BrainEvent<TOptions>>;
272
142
  run(params: ResumeRunParams<TOptions>): AsyncGenerator<BrainEvent<TOptions>>;
273
143
  private withBlocks;
144
+ private copyConfigTo;
274
145
  private nextBrain;
146
+ private continuationCallbacks;
275
147
  }
276
- export declare function brain<TOptions extends JsonObject = JsonObject, TState extends State = object, TServices extends object = object>(title: string): Brain<TOptions, TState, TServices>;
277
- export declare function brain<TOptions extends JsonObject = JsonObject, TState extends State = object, TServices extends object = object>(config: {
148
+ export declare function brain<TOptions extends JsonObject = JsonObject, TState extends State = object>(title: string): Brain<TOptions, TState, object>;
149
+ export declare function brain<TOptions extends JsonObject = JsonObject, TState extends State = object, TPluginMap extends Record<string, ConfiguredPlugin> = {}>(config: {
278
150
  title: string;
279
151
  description?: string;
280
- }): Brain<TOptions, TState, TServices>;
281
- export declare function brain<TTools extends Record<string, AgentTool<any>>, TName extends string & {
282
- readonly brand?: unique symbol;
283
- }, TSchema extends z.ZodObject<any>, TNewState extends State = {
284
- [K in TName]: z.infer<TSchema>;
285
- }>(title: string, config: AgentConfig<TTools, AgentOutputSchema<TSchema, TName>>): Brain<JsonObject, TNewState, object, undefined, undefined>;
286
- export declare function brain<TTools extends Record<string, AgentTool<any>>, TName extends string & {
287
- readonly brand?: unique symbol;
288
- }, TSchema extends z.ZodObject<any>, TNewState extends State = {
289
- [K in TName]: z.infer<TSchema>;
290
- }>(title: string, configFn: (params: StepContext<object, JsonObject, undefined, undefined> & {
291
- tools: Record<string, AgentTool<any>>;
292
- }) => AgentConfig<TTools, AgentOutputSchema<TSchema, TName>> | Promise<AgentConfig<TTools, AgentOutputSchema<TSchema, TName>>>): Brain<JsonObject, TNewState, object, undefined, undefined>;
293
- export declare function brain<TTools extends Record<string, AgentTool<any>> = Record<string, AgentTool<any>>, TState extends State = object>(title: string, config: AgentConfig<TTools>): Brain<JsonObject, TState, object, undefined, undefined>;
294
- export declare function brain<TTools extends Record<string, AgentTool<any>> = Record<string, AgentTool<any>>, TState extends State = object>(title: string, configFn: (params: StepContext<object, JsonObject, undefined, undefined> & {
295
- tools: Record<string, AgentTool<any>>;
296
- }) => AgentConfig<TTools> | Promise<AgentConfig<TTools>>): Brain<JsonObject, TState, object, undefined, undefined>;
152
+ plugins?: TPluginMap;
153
+ }): Brain<TOptions, TState, PluginsFrom<TPluginMap>>;
297
154
  //# sourceMappingURL=brain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../../../src/dsl/builder/brain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../../../src/dsl/builder/brain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Brain } from './brain.js';
2
+ import type { State, JsonObject, StepContext } from '../types.js';
3
+ import type { Block } from '../definitions/blocks.js';
4
+ export declare class Continuation<TOptions extends JsonObject, TState extends State, TPlugins extends object, TResponse> {
5
+ private addBlock;
6
+ private createNextBrain;
7
+ constructor(addBlock: (block: Block<any, any, any, any, any, any>) => void, createNextBrain: <TNewState extends State>() => Brain<TOptions, TNewState, TPlugins>);
8
+ handle<TNewState extends State>(title: string, action: (params: StepContext<TState, TOptions> & TPlugins & {
9
+ response: TResponse;
10
+ }) => TNewState | Promise<TNewState>): Brain<TOptions, TNewState, TPlugins>;
11
+ guard(predicate: (params: {
12
+ state: TState;
13
+ options: TOptions;
14
+ }) => boolean, title?: string): Continuation<TOptions, TState, TPlugins, TResponse>;
15
+ }
16
+ //# sourceMappingURL=continuation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation.d.ts","sourceRoot":"","sources":["../../../../src/dsl/builder/continuation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,qBAAa,YAAY,CACvB,QAAQ,SAAS,UAAU,EAC3B,MAAM,SAAS,KAAK,EACpB,QAAQ,SAAS,MAAM,EACvB,SAAS;IAGP,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;gBADf,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,EAC9D,eAAe,EAAE,CAAC,SAAS,SAAS,KAAK,OAAO,KAAK,CAC3D,QAAQ,EACR,SAAS,EACT,QAAQ,CACT;IAGH,MAAM,CAAC,SAAS,SAAS,KAAK,EAC5B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CACN,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,QAAQ,GAAG;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KACvE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,GAClC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;IASvC,KAAK,CACH,SAAS,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAA;KAAE,KAAK,OAAO,EACpE,KAAK,CAAC,EAAE,MAAM,GACb,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;CAQvD"}
@@ -11,18 +11,19 @@ export declare const BRAIN_EVENTS: {
11
11
  readonly RESUMED: "brain:resumed";
12
12
  readonly WEBHOOK: "brain:webhook";
13
13
  readonly WEBHOOK_RESPONSE: "brain:webhook_response";
14
- readonly AGENT_START: "agent:start";
15
- readonly AGENT_ITERATION: "agent:iteration";
16
- readonly AGENT_TOOL_CALL: "agent:tool_call";
17
- readonly AGENT_TOOL_RESULT: "agent:tool_result";
18
- readonly AGENT_ASSISTANT_MESSAGE: "agent:assistant_message";
19
- readonly AGENT_COMPLETE: "agent:complete";
20
- readonly AGENT_TOKEN_LIMIT: "agent:token_limit";
21
- readonly AGENT_ITERATION_LIMIT: "agent:iteration_limit";
22
- readonly AGENT_WEBHOOK: "agent:webhook";
23
- readonly AGENT_RAW_RESPONSE_MESSAGE: "agent:raw_response_message";
24
- readonly AGENT_USER_MESSAGE: "agent:user_message";
25
14
  readonly ITERATE_ITEM_COMPLETE: "iterate:item_complete";
15
+ readonly PROMPT_START: "prompt:start";
16
+ readonly PROMPT_ITERATION: "prompt:iteration";
17
+ readonly PROMPT_TOOL_CALL: "prompt:tool_call";
18
+ readonly PROMPT_TOOL_RESULT: "prompt:tool_result";
19
+ readonly PROMPT_ASSISTANT_MESSAGE: "prompt:assistant_message";
20
+ readonly PROMPT_COMPLETE: "prompt:complete";
21
+ readonly PROMPT_TOKEN_LIMIT: "prompt:token_limit";
22
+ readonly PROMPT_ITERATION_LIMIT: "prompt:iteration_limit";
23
+ readonly PROMPT_RAW_RESPONSE_MESSAGE: "prompt:raw_response_message";
24
+ readonly PROMPT_WEBHOOK: "prompt:webhook";
25
+ readonly FILE_WRITE_START: "file:write_start";
26
+ readonly FILE_WRITE_COMPLETE: "file:write_complete";
26
27
  };
27
28
  export declare const STATUS: {
28
29
  readonly PENDING: "pending";
@@ -33,6 +34,5 @@ export declare const STATUS: {
33
34
  readonly WAITING: "waiting";
34
35
  readonly PAUSED: "paused";
35
36
  readonly HALTED: "halted";
36
- readonly AGENT_LOOP: "agent_loop";
37
37
  };
38
38
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/dsl/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;CA6Bf,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;;;;CAYT,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/dsl/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bf,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;;;CAST,CAAC"}
@@ -1,83 +1,43 @@
1
- import { z } from 'zod';
2
1
  import { Brain } from './builder/brain.js';
3
- import type { AgentConfig, AgentTool, AgentOutputSchema, StepContext, State, JsonObject } from './types.js';
2
+ import type { State, JsonObject } from './types.js';
4
3
  import type { UIComponent } from '../ui/types.js';
5
- import type { MemoryProvider } from '../memory/types.js';
6
- import type { StoreSchema, InferStoreTypes, StoreContext } from '../store/types.js';
4
+ import type { ConfiguredPlugin, PluginsFromArray } from '../plugins/types.js';
7
5
  /**
8
6
  * Configuration for creating a project-level brain function.
9
7
  */
10
- export interface CreateBrainConfig<TServices extends object = {}, TComponents extends Record<string, UIComponent<any>> = {}, TTools extends Record<string, AgentTool<any>> = {}, TStoreSchema extends StoreSchema | undefined = undefined> {
11
- /** Services available to all brains (e.g., slack, gmail, database clients) */
12
- services?: TServices;
8
+ export interface CreateBrainConfig<TPlugins extends readonly ConfiguredPlugin[] = readonly ConfiguredPlugin[], TComponents extends Record<string, UIComponent<any>> = {}> {
9
+ /** Plugins available to all brains */
10
+ plugins?: TPlugins;
13
11
  /** UI components for generative UI steps */
14
12
  components?: TComponents;
15
- /** Default tools available to all agent steps */
16
- defaultTools?: TTools;
17
- /** Memory provider for long-term memory storage */
18
- memory?: MemoryProvider;
19
- /** Store field definitions for typed key-value storage */
20
- store?: TStoreSchema;
21
13
  }
22
14
  /**
23
- * Creates a project-level brain function with pre-configured services, components, and tools.
15
+ * Creates a project-level brain function with pre-configured plugins and components.
24
16
  *
25
- * This is the recommended way to set up brains in a Positronic project. It provides:
26
- * - Type-safe access to services in all brain steps
27
- * - Automatic injection of components and default tools
28
- * - Support for both builder pattern and direct agent creation
17
+ * Plugin types are inferred from the array and propagated to all brains
18
+ * created by the returned factory function.
29
19
  *
30
20
  * @example
31
21
  * ```typescript
32
- * // brain.ts - your project's brain configuration
33
22
  * import { createBrain } from '@positronic/core';
23
+ * import { mem0 } from '@positronic/mem0';
34
24
  * import { components } from './components/index.js';
35
- * import slack from './services/slack.js';
36
- * import gmail from './services/gmail.js';
37
25
  *
38
26
  * export const brain = createBrain({
39
- * services: { slack, gmail },
27
+ * plugins: [mem0.setup({ provider })],
40
28
  * components,
41
29
  * });
42
30
  * ```
43
- *
44
- * @example
45
- * ```typescript
46
- * // brains/my-brain.ts - using the configured brain
47
- * import { brain } from '../brain.js';
48
- *
49
- * // Builder pattern
50
- * export default brain('my-workflow')
51
- * .step('Init', ({ slack }) => {
52
- * slack.postMessage('#general', 'Starting workflow');
53
- * return { started: true };
54
- * });
55
- *
56
- * // Or direct agent creation
57
- * export default brain('my-agent', ({ slack, env }) => ({
58
- * system: 'You are helpful',
59
- * prompt: 'Help the user',
60
- * tools: { ... }
61
- * }));
62
- * ```
63
31
  */
64
- export declare function createBrain<TServices extends object = {}, TComponents extends Record<string, UIComponent<any>> = {}, TTools extends Record<string, AgentTool<any>> = {}, TStoreSchema extends StoreSchema | undefined = undefined>(config: CreateBrainConfig<TServices, TComponents, TTools, TStoreSchema>): {
65
- <T extends Record<string, AgentTool<any>>, TName extends string & {
66
- readonly brand?: unique symbol;
67
- }, TSchema extends z.ZodObject<any>, TNewState extends State = { [K in TName]: z.TypeOf<TSchema>; }>(title: string, config: AgentConfig<T, AgentOutputSchema<TSchema, TName>>): Brain<{}, TNewState, TServices, undefined, undefined, TStoreSchema extends StoreSchema ? InferStoreTypes<TStoreSchema> : never>;
68
- <T extends Record<string, AgentTool<any>>, TName extends string & {
69
- readonly brand?: unique symbol;
70
- }, TSchema extends z.ZodObject<any>, TNewState extends State = { [K in TName]: z.TypeOf<TSchema>; }>(title: string, configFn: (params: StepContext<object, {}, undefined, undefined> & TServices & StoreContext<TStoreSchema extends StoreSchema ? InferStoreTypes<TStoreSchema> : never> & {
71
- tools: TTools extends {} ? Record<string, AgentTool<any>> : TTools;
72
- }) => AgentConfig<T, AgentOutputSchema<TSchema, TName>> | Promise<AgentConfig<T, AgentOutputSchema<TSchema, TName>>>): Brain<{}, TNewState, TServices, undefined, undefined, TStoreSchema extends StoreSchema ? InferStoreTypes<TStoreSchema> : never>;
73
- <T extends Record<string, AgentTool<any>>>(title: string, configFn: (params: StepContext<object, {}, undefined, undefined> & TServices & StoreContext<TStoreSchema extends StoreSchema ? InferStoreTypes<TStoreSchema> : never> & {
74
- tools: TTools extends {} ? Record<string, AgentTool<any>> : TTools;
75
- }) => AgentConfig<T> | Promise<AgentConfig<T>>): Brain<{}, object, TServices, undefined, undefined, TStoreSchema extends StoreSchema ? InferStoreTypes<TStoreSchema> : never>;
76
- <T extends Record<string, AgentTool<any>>>(title: string, config: AgentConfig<T>): Brain<{}, object, TServices, undefined, undefined, TStoreSchema extends StoreSchema ? InferStoreTypes<TStoreSchema> : never>;
77
- <TOptions extends JsonObject = {}, TState extends State = object>(title: string): Brain<TOptions, TState, TServices, undefined, undefined, TStoreSchema extends StoreSchema ? InferStoreTypes<TStoreSchema> : never>;
32
+ export declare function createBrain<const TPlugins extends readonly ConfiguredPlugin[] = readonly [], TComponents extends Record<string, UIComponent<any>> = {}>(config: {
33
+ plugins?: TPlugins;
34
+ components?: TComponents;
35
+ }): {
36
+ <TOptions extends JsonObject = {}, TState extends State = object>(title: string): Brain<TOptions, TState, PluginsFromArray<TPlugins>>;
78
37
  <TOptions extends JsonObject = {}, TState extends State = object>(config: {
79
38
  title: string;
80
39
  description?: string;
81
- }): Brain<TOptions, TState, TServices, undefined, undefined, TStoreSchema extends StoreSchema ? InferStoreTypes<TStoreSchema> : never>;
40
+ }): Brain<TOptions, TState, PluginsFromArray<TPlugins>>;
41
+ plugins: readonly ConfiguredPlugin<string, any, import("../plugins/types.js").PluginCreateReturn>[];
82
42
  };
83
43
  //# sourceMappingURL=create-brain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-brain.d.ts","sourceRoot":"","sources":["../../../src/dsl/create-brain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-brain.d.ts","sourceRoot":"","sources":["../../../src/dsl/create-brain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAChC,QAAQ,SAAS,SAAS,gBAAgB,EAAE,GAAG,SAAS,gBAAgB,EAAE,EAC1E,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;IAEzD,sCAAsC;IACtC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CACzB,KAAK,CAAC,QAAQ,SAAS,SAAS,gBAAgB,EAAE,GAAG,SAAS,EAAE,EAChE,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EACzD,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;IAAC,UAAU,CAAC,EAAE,WAAW,CAAA;CAAE;KAKtD,QAAQ,SAAS,UAAU,OAC3B,MAAM,SAAS,KAAK,kBACb,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KAInE,QAAQ,SAAS,UAAU,OAC3B,MAAM,SAAS,KAAK,mBACZ;QACR,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;;EAwBxD"}