@serverless-dna/sop-agents 0.1.0 → 0.1.2

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 (39) hide show
  1. package/README.md +126 -0
  2. package/dist/agents/tool-generator.d.ts +9 -0
  3. package/dist/agents/tool-generator.d.ts.map +1 -1
  4. package/dist/agents/tool-generator.js +35 -1
  5. package/dist/agents/tool-generator.js.map +1 -1
  6. package/dist/orchestrator/orchestrator.d.ts.map +1 -1
  7. package/dist/orchestrator/orchestrator.js +26 -6
  8. package/dist/orchestrator/orchestrator.js.map +1 -1
  9. package/dist/types/types.d.ts +1 -0
  10. package/dist/types/types.d.ts.map +1 -1
  11. package/package.json +8 -5
  12. package/dist/agent-discovery.d.ts +0 -21
  13. package/dist/agent-discovery.d.ts.map +0 -1
  14. package/dist/agent-discovery.js +0 -97
  15. package/dist/agent-discovery.js.map +0 -1
  16. package/dist/default-orchestrator.d.ts +0 -7
  17. package/dist/default-orchestrator.d.ts.map +0 -1
  18. package/dist/default-orchestrator.js +0 -50
  19. package/dist/default-orchestrator.js.map +0 -1
  20. package/dist/errors.d.ts +0 -51
  21. package/dist/errors.d.ts.map +0 -1
  22. package/dist/errors.js +0 -80
  23. package/dist/errors.js.map +0 -1
  24. package/dist/orchestrator.d.ts +0 -50
  25. package/dist/orchestrator.d.ts.map +0 -1
  26. package/dist/orchestrator.js +0 -281
  27. package/dist/orchestrator.js.map +0 -1
  28. package/dist/sop-loader.d.ts +0 -20
  29. package/dist/sop-loader.d.ts.map +0 -1
  30. package/dist/sop-loader.js +0 -150
  31. package/dist/sop-loader.js.map +0 -1
  32. package/dist/tool-generator.d.ts +0 -66
  33. package/dist/tool-generator.d.ts.map +0 -1
  34. package/dist/tool-generator.js +0 -171
  35. package/dist/tool-generator.js.map +0 -1
  36. package/dist/types.d.ts +0 -157
  37. package/dist/types.d.ts.map +0 -1
  38. package/dist/types.js +0 -2
  39. package/dist/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"sop-loader.js","sourceRoot":"","sources":["../src/sop-loader.ts"],"names":[],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- import type { InvokableTool } from "@strands-agents/sdk";
2
- import { Agent } from "@strands-agents/sdk";
3
- import { type ModelProvider } from "./model-factory.js";
4
- import type { SOPDefinition } from "./types.js";
5
- /**
6
- * Builds a structured prompt for the agent from task and input parameters
7
- * @param task - The specific task to perform
8
- * @param inputs - Input parameters for the task
9
- * @returns Formatted prompt string
10
- */
11
- export declare function buildAgentPrompt(task: string, inputs: Record<string, unknown>): string;
12
- /**
13
- * Gets or creates a cached agent instance for the given SOP
14
- * @param sop - The SOP definition to create an agent for
15
- * @param logger - Optional logger for logging agent creation
16
- * @returns The agent instance (cached or newly created)
17
- */
18
- export declare function getOrCreateAgent(sop: SOPDefinition, logger?: {
19
- info: (msg: string) => void;
20
- }): Agent;
21
- /**
22
- * Sets the default model spec for creating new agents
23
- * @param modelSpec - The model spec to use as default (e.g., "bedrock/us.anthropic.claude-sonnet-4-20250514-v1:0")
24
- */
25
- export declare function setDefaultModelSpec(modelSpec: string | undefined): void;
26
- /**
27
- * Gets the current default model spec (undefined means Strands default)
28
- */
29
- export declare function getDefaultModelSpec(): string | undefined;
30
- /**
31
- * Sets the default provider when model spec has no provider prefix
32
- * @param provider - The default provider ("bedrock" or "openai")
33
- */
34
- export declare function setDefaultProvider(provider: ModelProvider): void;
35
- /**
36
- * Gets the current default provider
37
- */
38
- export declare function getDefaultProvider(): ModelProvider;
39
- /**
40
- * Sets whether agent output should be printed to console
41
- * @param enabled - true to print output (debug), false to suppress (production)
42
- */
43
- export declare function setPrinterEnabled(enabled: boolean): void;
44
- /**
45
- * Gets whether printer is enabled
46
- */
47
- export declare function isPrinterEnabled(): boolean;
48
- /**
49
- * Clears the agent cache
50
- */
51
- export declare function clearCache(): void;
52
- /**
53
- * Creates a Strands tool from an SOP definition
54
- * Tool name follows pattern: agent_{sop.name}
55
- * Uses async generator to stream sub-agent output
56
- * @param sop - The SOP definition to create a tool from
57
- * @returns An InvokableTool that delegates to the agent
58
- */
59
- export declare function createTool(sop: SOPDefinition): InvokableTool<Record<string, unknown>, string>;
60
- /**
61
- * Creates tools for all agents in a registry
62
- * @param registry - Map of agent names to SOP definitions
63
- * @returns Array of InvokableTool instances
64
- */
65
- export declare function createAllTools(registry: Map<string, SOPDefinition>): InvokableTool<Record<string, unknown>, string>[];
66
- //# sourceMappingURL=tool-generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-generator.d.ts","sourceRoot":"","sources":["../src/tool-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAQ,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAEN,KAAK,aAAa,EAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAsBhD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,aAAa,EAClB,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACtC,KAAK,CA+BP;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAEvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAExD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAEhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAElD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACzB,GAAG,EAAE,aAAa,GAChB,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CA6ChD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAClC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,CAQlD"}
@@ -1,171 +0,0 @@
1
- import { Agent, tool } from "@strands-agents/sdk";
2
- import { createModelFromSpec, parseModelSpec, } from "./model-factory.js";
3
- /**
4
- * Cache for agent instances to avoid recreating agents for repeated invocations
5
- */
6
- const agentCache = new Map();
7
- /**
8
- * Current default model spec for creating agents (undefined = use Strands default)
9
- */
10
- let currentDefaultModelSpec;
11
- /**
12
- * Current default provider when model spec has no provider prefix
13
- */
14
- let currentDefaultProvider = "bedrock";
15
- /**
16
- * Whether to print agent output to console (default: true, set false for non-debug)
17
- */
18
- let printerEnabled = true;
19
- /**
20
- * Builds a structured prompt for the agent from task and input parameters
21
- * @param task - The specific task to perform
22
- * @param inputs - Input parameters for the task
23
- * @returns Formatted prompt string
24
- */
25
- export function buildAgentPrompt(task, inputs) {
26
- const inputEntries = Object.entries(inputs).filter(([key]) => key !== "task");
27
- if (inputEntries.length === 0) {
28
- return `## Task\n${task}`;
29
- }
30
- const inputSection = inputEntries
31
- .map(([key, value]) => `- ${key}: ${JSON.stringify(value)}`)
32
- .join("\n");
33
- return `## Task\n${task}\n\n## Input Parameters\n${inputSection}`;
34
- }
35
- /**
36
- * Gets or creates a cached agent instance for the given SOP
37
- * @param sop - The SOP definition to create an agent for
38
- * @param logger - Optional logger for logging agent creation
39
- * @returns The agent instance (cached or newly created)
40
- */
41
- export function getOrCreateAgent(sop, logger) {
42
- const cached = agentCache.get(sop.name);
43
- if (cached) {
44
- return cached;
45
- }
46
- // Use SOP-specific model, then default, then Strands default (undefined)
47
- const modelSpec = sop.model ?? currentDefaultModelSpec;
48
- let modelDisplay;
49
- const agentConfig = {
50
- systemPrompt: sop.body,
51
- tools: [],
52
- printer: printerEnabled,
53
- };
54
- if (modelSpec) {
55
- const parsed = parseModelSpec(modelSpec, currentDefaultProvider);
56
- modelDisplay = `${parsed.provider}/${parsed.modelId}`;
57
- agentConfig.model = createModelFromSpec(modelSpec, currentDefaultProvider);
58
- }
59
- else {
60
- modelDisplay = "default (Strands SDK)";
61
- }
62
- if (logger) {
63
- logger.info(`Creating agent with model: ${modelDisplay}`);
64
- }
65
- const agent = new Agent(agentConfig);
66
- agentCache.set(sop.name, agent);
67
- return agent;
68
- }
69
- /**
70
- * Sets the default model spec for creating new agents
71
- * @param modelSpec - The model spec to use as default (e.g., "bedrock/us.anthropic.claude-sonnet-4-20250514-v1:0")
72
- */
73
- export function setDefaultModelSpec(modelSpec) {
74
- currentDefaultModelSpec = modelSpec;
75
- }
76
- /**
77
- * Gets the current default model spec (undefined means Strands default)
78
- */
79
- export function getDefaultModelSpec() {
80
- return currentDefaultModelSpec;
81
- }
82
- /**
83
- * Sets the default provider when model spec has no provider prefix
84
- * @param provider - The default provider ("bedrock" or "openai")
85
- */
86
- export function setDefaultProvider(provider) {
87
- currentDefaultProvider = provider;
88
- }
89
- /**
90
- * Gets the current default provider
91
- */
92
- export function getDefaultProvider() {
93
- return currentDefaultProvider;
94
- }
95
- /**
96
- * Sets whether agent output should be printed to console
97
- * @param enabled - true to print output (debug), false to suppress (production)
98
- */
99
- export function setPrinterEnabled(enabled) {
100
- printerEnabled = enabled;
101
- }
102
- /**
103
- * Gets whether printer is enabled
104
- */
105
- export function isPrinterEnabled() {
106
- return printerEnabled;
107
- }
108
- /**
109
- * Clears the agent cache
110
- */
111
- export function clearCache() {
112
- agentCache.clear();
113
- }
114
- /**
115
- * Creates a Strands tool from an SOP definition
116
- * Tool name follows pattern: agent_{sop.name}
117
- * Uses async generator to stream sub-agent output
118
- * @param sop - The SOP definition to create a tool from
119
- * @returns An InvokableTool that delegates to the agent
120
- */
121
- export function createTool(sop) {
122
- return tool({
123
- name: `agent_${sop.name}`,
124
- description: sop.description,
125
- inputSchema: sop.zodSchema,
126
- callback: async function* (input) {
127
- const task = input.task;
128
- const agent = getOrCreateAgent(sop);
129
- const prompt = buildAgentPrompt(task, input);
130
- // Stream from the sub-agent
131
- const generator = agent.stream(prompt);
132
- let result = await generator.next();
133
- let fullText = "";
134
- while (!result.done) {
135
- // Process events from the sub-agent
136
- // biome-ignore lint/suspicious/noExplicitAny: SDK event types vary
137
- const event = result.value;
138
- if (event.type === "modelContentBlockDeltaEvent" &&
139
- event.delta?.type === "textDelta") {
140
- const text = event.delta.text ?? "";
141
- fullText += text;
142
- yield text;
143
- }
144
- result = await generator.next();
145
- }
146
- // Return the full text as the final result
147
- const lastMessage = result.value.lastMessage;
148
- if (lastMessage?.content?.[0]) {
149
- const content = lastMessage.content[0];
150
- if (content.type === "textBlock") {
151
- return content.text;
152
- }
153
- return String(content);
154
- }
155
- return fullText;
156
- },
157
- });
158
- }
159
- /**
160
- * Creates tools for all agents in a registry
161
- * @param registry - Map of agent names to SOP definitions
162
- * @returns Array of InvokableTool instances
163
- */
164
- export function createAllTools(registry) {
165
- const tools = [];
166
- for (const sop of registry.values()) {
167
- tools.push(createTool(sop));
168
- }
169
- return tools;
170
- }
171
- //# sourceMappingURL=tool-generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-generator.js","sourceRoot":"","sources":["../src/tool-generator.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts DELETED
@@ -1,157 +0,0 @@
1
- import type { z } from "zod";
2
- /**
3
- * Supported input types for SOP parameters
4
- */
5
- export type InputType = "string" | "number" | "boolean" | "enum" | "list";
6
- /**
7
- * Definition for a single input parameter in an SOP
8
- */
9
- export interface InputDef {
10
- type: InputType;
11
- description: string;
12
- required?: boolean;
13
- default?: unknown;
14
- values?: string[];
15
- }
16
- /**
17
- * YAML frontmatter structure for SOP files
18
- */
19
- export interface SOPFrontmatter {
20
- name: string;
21
- description: string;
22
- version?: string;
23
- tools?: string[];
24
- inputs?: Record<string, InputDef>;
25
- type?: "agent" | "orchestrator";
26
- model?: string;
27
- }
28
- /**
29
- * Complete parsed SOP definition
30
- */
31
- export interface SOPDefinition {
32
- name: string;
33
- description: string;
34
- version: string;
35
- tools: string[];
36
- inputs: Record<string, InputDef>;
37
- body: string;
38
- filepath: string;
39
- type: "agent" | "orchestrator";
40
- zodSchema: z.ZodObject<z.ZodRawShape>;
41
- model?: string;
42
- }
43
- /**
44
- * Error handling mode for orchestrator
45
- */
46
- export type ErrorMode = "fail-fast" | "continue";
47
- /**
48
- * Log level for orchestrator logging
49
- */
50
- export type LogLevel = "debug" | "info" | "warn" | "error";
51
- /**
52
- * Supported model providers
53
- */
54
- export type ModelProvider = "bedrock" | "openai";
55
- /**
56
- * Configuration options for the orchestrator
57
- */
58
- export interface OrchestratorConfig {
59
- directory?: string;
60
- errorMode?: ErrorMode;
61
- logLevel?: LogLevel;
62
- defaultModel?: string;
63
- defaultProvider?: ModelProvider;
64
- showThinking?: boolean;
65
- }
66
- /**
67
- * Result from orchestrator invocation
68
- */
69
- export interface InvokeResult {
70
- /** The final response text */
71
- response: string;
72
- /** Orchestrator's thinking/reasoning (only populated if showThinking is enabled) */
73
- thinking?: string[];
74
- /** Tool calls made during execution */
75
- toolCalls?: Array<{
76
- name: string;
77
- input: Record<string, unknown>;
78
- }>;
79
- }
80
- /**
81
- * Stream event from orchestrator (re-exported from SDK)
82
- */
83
- export type OrchestratorStreamEvent = {
84
- type: string;
85
- [key: string]: unknown;
86
- };
87
- /**
88
- * Orchestrator interface for managing multi-agent orchestration
89
- */
90
- export interface Orchestrator {
91
- /**
92
- * Initialize the orchestrator by discovering agents and creating tools
93
- */
94
- initialize(): Promise<void>;
95
- /**
96
- * Process a request through the orchestrator agent
97
- * @returns Final response string (for backward compatibility)
98
- */
99
- invoke(request: string): Promise<string>;
100
- /**
101
- * Process a request and return detailed result including thinking
102
- * @returns InvokeResult with response, thinking, and tool calls
103
- */
104
- invokeWithDetails(request: string): Promise<InvokeResult>;
105
- /**
106
- * Stream events from the orchestrator in real-time
107
- * @returns AsyncGenerator of stream events
108
- */
109
- stream(request: string): AsyncGenerator<OrchestratorStreamEvent>;
110
- /**
111
- * Clear agent cache
112
- */
113
- clearCache(): void;
114
- /**
115
- * Get the agent registry (for inspection/debugging)
116
- */
117
- getRegistry(): Map<string, SOPDefinition>;
118
- /**
119
- * Current configuration (readonly for inspection)
120
- */
121
- readonly config: OrchestratorConfig;
122
- }
123
- /**
124
- * Log entry structure for orchestrator logging
125
- */
126
- export interface LogEntry {
127
- timestamp: Date;
128
- correlationId: string;
129
- level: LogLevel;
130
- agentName?: string;
131
- message: string;
132
- duration?: number;
133
- error?: Error;
134
- metadata?: Record<string, unknown>;
135
- }
136
- /**
137
- * Logger interface for orchestrator logging
138
- */
139
- export interface Logger {
140
- debug(message: string, metadata?: Record<string, unknown>): void;
141
- info(message: string, metadata?: Record<string, unknown>): void;
142
- warn(message: string, metadata?: Record<string, unknown>): void;
143
- error(message: string, error?: Error, metadata?: Record<string, unknown>): void;
144
- /**
145
- * Create a child logger with correlation ID
146
- */
147
- withCorrelationId(correlationId: string): Logger;
148
- /**
149
- * Create a child logger with agent context
150
- */
151
- withAgent(agentName: string): Logger;
152
- /**
153
- * Set the minimum log level
154
- */
155
- setLevel(level: LogLevel): void;
156
- }
157
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,cAAc,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,uCAAuC;IACvC,SAAS,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,CAAC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE1D;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,uBAAuB,CAAC,CAAC;IAEjE;;OAEG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB;;OAEG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACtB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,KAAK,CACJ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,KAAK,EACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAAC;IAER;;OAEG;IACH,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;IAEjD;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CAChC"}
package/dist/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}