@refrainai/cli 0.4.1 → 0.4.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 (83) hide show
  1. package/dist/{ai-model-FM6GWCID.js → ai-model-DP5PKGM6.js} +2 -2
  2. package/dist/{chunk-2BVDAJZT.js → chunk-65CTEK2K.js} +9 -6
  3. package/dist/chunk-65CTEK2K.js.map +1 -0
  4. package/dist/chunk-BGC75OVR.js +30 -0
  5. package/dist/chunk-BGC75OVR.js.map +1 -0
  6. package/dist/{chunk-H47NWH7N.js → chunk-CJM3IU5Q.js} +611 -73
  7. package/dist/chunk-CJM3IU5Q.js.map +1 -0
  8. package/dist/{chunk-CLYJHKPY.js → chunk-CMWLFQXD.js} +43 -42
  9. package/dist/chunk-CMWLFQXD.js.map +1 -0
  10. package/dist/{chunk-IGFCYKHC.js → chunk-CNJ5KCDN.js} +252 -295
  11. package/dist/chunk-CNJ5KCDN.js.map +1 -0
  12. package/dist/{chunk-DJVUITRB.js → chunk-ELQ23L4Z.js} +898 -1135
  13. package/dist/chunk-ELQ23L4Z.js.map +1 -0
  14. package/dist/chunk-EMAYENG4.js +1146 -0
  15. package/dist/chunk-EMAYENG4.js.map +1 -0
  16. package/dist/{chunk-7UCVPKD4.js → chunk-F7WTOQIQ.js} +12 -72
  17. package/dist/chunk-F7WTOQIQ.js.map +1 -0
  18. package/dist/{chunk-WEYR56ZN.js → chunk-HHRHHFSK.js} +4 -4
  19. package/dist/{chunk-UGPXCQY3.js → chunk-KFNW4XR2.js} +13 -4
  20. package/dist/chunk-KFNW4XR2.js.map +1 -0
  21. package/dist/{chunk-RT664YIO.js → chunk-LZDZGI4M.js} +3 -1
  22. package/dist/chunk-LZDZGI4M.js.map +1 -0
  23. package/dist/chunk-RBZK7T76.js +349 -0
  24. package/dist/chunk-RBZK7T76.js.map +1 -0
  25. package/dist/{chunk-HQDXLWAY.js → chunk-SDV3X5UN.js} +2 -2
  26. package/dist/{chunk-Z33FCOTZ.js → chunk-VVXNFUPL.js} +4 -2
  27. package/dist/chunk-VVXNFUPL.js.map +1 -0
  28. package/dist/chunk-XIVS7N3V.js +74 -0
  29. package/dist/chunk-XIVS7N3V.js.map +1 -0
  30. package/dist/chunk-YTVEYQGA.js +64 -0
  31. package/dist/chunk-YTVEYQGA.js.map +1 -0
  32. package/dist/{chunk-RYIJPYM3.js → chunk-YW46VP57.js} +25 -8
  33. package/dist/chunk-YW46VP57.js.map +1 -0
  34. package/dist/cli.js +5 -5
  35. package/dist/{compose-MTSIJY5D.js → compose-B2IAO7YW.js} +9 -7
  36. package/dist/{compose-MTSIJY5D.js.map → compose-B2IAO7YW.js.map} +1 -1
  37. package/dist/extraction-prompt-VDCKIFLB.js +17 -0
  38. package/dist/extraction-prompt-VDCKIFLB.js.map +1 -0
  39. package/dist/{fix-runbook-ZSBOTLC2.js → fix-runbook-JJN4HVIP.js} +12 -10
  40. package/dist/{fix-runbook-ZSBOTLC2.js.map → fix-runbook-JJN4HVIP.js.map} +1 -1
  41. package/dist/prompts-XMJXIITW.js +13 -0
  42. package/dist/runbook-builder-2ZLE2AEO.js +11 -0
  43. package/dist/{runbook-data-helpers-KRR2SH76.js → runbook-data-helpers-5UAO65TZ.js} +3 -3
  44. package/dist/{runbook-executor-K7T6RJWJ.js → runbook-executor-TVV5EG6Q.js} +41 -444
  45. package/dist/runbook-executor-TVV5EG6Q.js.map +1 -0
  46. package/dist/{runbook-generator-MPXJBQ5N.js → runbook-generator-4XKNV2B7.js} +61 -136
  47. package/dist/runbook-generator-4XKNV2B7.js.map +1 -0
  48. package/dist/{runbook-schema-3T6TP3JJ.js → runbook-schema-X7DW725O.js} +2 -2
  49. package/dist/runbook-store-S24PXIHD.js +11 -0
  50. package/dist/{schema-5G6UQSPT.js → schema-XFSD5EWN.js} +2 -2
  51. package/dist/{server-AG3LXQBI.js → server-5XARL5N7.js} +1176 -128
  52. package/dist/server-5XARL5N7.js.map +1 -0
  53. package/dist/{tenant-ai-config-QPFEJUVJ.js → tenant-ai-config-4NHKRW7O.js} +4 -4
  54. package/dist/tenant-ai-config-4NHKRW7O.js.map +1 -0
  55. package/dist/yaml-patcher-32QBPXT2.js +18 -0
  56. package/dist/yaml-patcher-32QBPXT2.js.map +1 -0
  57. package/package.json +3 -2
  58. package/dist/chunk-2BVDAJZT.js.map +0 -1
  59. package/dist/chunk-7UCVPKD4.js.map +0 -1
  60. package/dist/chunk-CLYJHKPY.js.map +0 -1
  61. package/dist/chunk-DJVUITRB.js.map +0 -1
  62. package/dist/chunk-H47NWH7N.js.map +0 -1
  63. package/dist/chunk-IGFCYKHC.js.map +0 -1
  64. package/dist/chunk-RT664YIO.js.map +0 -1
  65. package/dist/chunk-RYIJPYM3.js.map +0 -1
  66. package/dist/chunk-UGPXCQY3.js.map +0 -1
  67. package/dist/chunk-VPK2MQAZ.js +0 -589
  68. package/dist/chunk-VPK2MQAZ.js.map +0 -1
  69. package/dist/chunk-Z33FCOTZ.js.map +0 -1
  70. package/dist/runbook-executor-K7T6RJWJ.js.map +0 -1
  71. package/dist/runbook-generator-MPXJBQ5N.js.map +0 -1
  72. package/dist/runbook-store-G5GUOWRR.js +0 -11
  73. package/dist/server-AG3LXQBI.js.map +0 -1
  74. package/dist/yaml-patcher-VGUS2JGH.js +0 -15
  75. /package/dist/{ai-model-FM6GWCID.js.map → ai-model-DP5PKGM6.js.map} +0 -0
  76. /package/dist/{chunk-WEYR56ZN.js.map → chunk-HHRHHFSK.js.map} +0 -0
  77. /package/dist/{chunk-HQDXLWAY.js.map → chunk-SDV3X5UN.js.map} +0 -0
  78. /package/dist/{runbook-data-helpers-KRR2SH76.js.map → prompts-XMJXIITW.js.map} +0 -0
  79. /package/dist/{runbook-schema-3T6TP3JJ.js.map → runbook-builder-2ZLE2AEO.js.map} +0 -0
  80. /package/dist/{runbook-store-G5GUOWRR.js.map → runbook-data-helpers-5UAO65TZ.js.map} +0 -0
  81. /package/dist/{schema-5G6UQSPT.js.map → runbook-schema-X7DW725O.js.map} +0 -0
  82. /package/dist/{tenant-ai-config-QPFEJUVJ.js.map → runbook-store-S24PXIHD.js.map} +0 -0
  83. /package/dist/{yaml-patcher-VGUS2JGH.js.map → schema-XFSD5EWN.js.map} +0 -0
@@ -15,7 +15,7 @@ import {
15
15
  trackedGenerateObject,
16
16
  trackedGenerateText,
17
17
  withAIRetry
18
- } from "./chunk-UGPXCQY3.js";
18
+ } from "./chunk-KFNW4XR2.js";
19
19
  import "./chunk-2H7UOFLK.js";
20
20
  export {
21
21
  DEFAULT_MODEL_ID,
@@ -34,4 +34,4 @@ export {
34
34
  trackedGenerateText,
35
35
  withAIRetry
36
36
  };
37
- //# sourceMappingURL=ai-model-FM6GWCID.js.map
37
+ //# sourceMappingURL=ai-model-DP5PKGM6.js.map
@@ -1,11 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
- cancel,
4
- t
5
- } from "./chunk-7UCVPKD4.js";
3
+ cancel
4
+ } from "./chunk-XIVS7N3V.js";
6
5
  import {
7
6
  PROVIDER_DEFAULT_MODELS
8
- } from "./chunk-UGPXCQY3.js";
7
+ } from "./chunk-KFNW4XR2.js";
8
+ import {
9
+ t
10
+ } from "./chunk-F7WTOQIQ.js";
9
11
 
10
12
  // src/cli/config-helpers.ts
11
13
  import { readFile } from "fs/promises";
@@ -114,6 +116,7 @@ Options:
114
116
  --stealth Enable stealth mode
115
117
  --proxy <url> Proxy URL
116
118
  --skill <name>,<name> Skill names (comma-separated)
119
+ --report Force report generation
117
120
 
118
121
  AI Model:
119
122
  --model <id> AI model ID (default: claude-sonnet-4-6)
@@ -143,7 +146,7 @@ Options:
143
146
  --headless <bool> Run in headless mode (default: true)
144
147
  --step-delay <ms> Delay between steps in ms
145
148
  --screenshots <path> Screenshot output directory
146
- --skip-confirmation Skip approval prompts
149
+ --yes, -y Skip all confirmation prompts
147
150
  --data <path> CSV/JSON data file for batch execution
148
151
  --secrets <path> Secrets JSON file path
149
152
  --debug-log <path> Debug log output path
@@ -233,4 +236,4 @@ export {
233
236
  parseModelConfig,
234
237
  checkHelpFlag
235
238
  };
236
- //# sourceMappingURL=chunk-2BVDAJZT.js.map
239
+ //# sourceMappingURL=chunk-65CTEK2K.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cli/config-helpers.ts","../../../src/cli/help.ts"],"sourcesContent":["/**\n * cli/config-helpers --- CLI引数パースの共通ヘルパー\n */\n\nimport { readFile } from \"node:fs/promises\";\nimport { cancel } from \"./prompts\";\nimport type { AIModelConfig, ModelProvider, ModelPurpose } from \"../harness/ai-model\";\nimport { PROVIDER_DEFAULT_MODELS } from \"../harness/ai-model\";\nimport { t } from \"../i18n\";\n\n/** process.argv から先頭の \"--\" を除去して引数を取得 */\nexport function getRawArgs(): string[] {\n const rawArgs = process.argv.slice(2);\n return rawArgs[0] === \"--\" ? rawArgs.slice(1) : rawArgs;\n}\n\n/** context markdown ファイルの読み込み(path は呼び出し元でバリデーション済み) */\nexport async function readContextFile(path: string): Promise<string> {\n return readFile(path, \"utf-8\");\n}\n\n/** --notify のバリデーション */\nexport function validateNotifyMode(raw?: string): \"slack\" | \"teams\" | \"discord\" | undefined {\n if (!raw) return undefined;\n const valid = [\"slack\", \"teams\", \"discord\"];\n if (!valid.includes(raw)) {\n cancel(`--notify must be one of: ${valid.join(\", \")}`);\n process.exit(1);\n }\n return raw as \"slack\" | \"teams\" | \"discord\";\n}\n\nconst VALID_PROVIDERS: ModelProvider[] = [\n \"anthropic\", \"openai\", \"openai-compatible\", \"google\", \"azure\", \"bedrock\", \"vertex\",\n];\n\n/** モデル関連のCLI引数 + 環境変数 → AIModelConfig を生成 */\nexport function parseModelConfig(values: {\n model?: string;\n \"model-provider\"?: string;\n \"model-base-url\"?: string;\n \"model-selector\"?: string;\n \"model-extraction\"?: string;\n \"model-exploration\"?: string;\n \"model-review\"?: string;\n \"model-fallback\"?: string;\n \"model-vision\"?: string;\n \"model-exploration-light\"?: string;\n}): AIModelConfig {\n const modelId = values.model ?? process.env.AI_MODEL_ID;\n const rawProvider = values[\"model-provider\"] ?? process.env.AI_MODEL_PROVIDER;\n const baseURL = values[\"model-base-url\"] ?? process.env.OPENAI_COMPATIBLE_BASE_URL;\n const modelSelector = values[\"model-selector\"];\n const modelExtraction = values[\"model-extraction\"];\n const modelExploration = values[\"model-exploration\"];\n const modelReview = values[\"model-review\"];\n const modelFallback = values[\"model-fallback\"];\n const modelVision = values[\"model-vision\"];\n const modelExplorationLight = values[\"model-exploration-light\"];\n\n // provider 必須\n if (!rawProvider) {\n cancel(t(\"cli.providerRequired\"));\n process.exit(1);\n }\n\n // provider バリデーション\n const provider = rawProvider as ModelProvider;\n if (!VALID_PROVIDERS.includes(provider)) {\n cancel(`--model-provider は ${VALID_PROVIDERS.join(\" / \")} を指定してください`);\n process.exit(1);\n }\n\n // 用途別オーバーライドの構築\n const modelOverrides = buildModelOverrides({ modelSelector, modelExtraction, modelExploration, modelReview, modelFallback, modelVision, modelExplorationLight });\n\n return {\n modelId: modelId ?? PROVIDER_DEFAULT_MODELS[provider],\n provider,\n baseURL,\n apiKey: process.env.OPENAI_COMPATIBLE_API_KEY,\n // Bedrock\n bedrockRegion: process.env.AWS_REGION,\n bedrockAccessKeyId: process.env.AWS_ACCESS_KEY_ID,\n bedrockSecretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,\n bedrockSessionToken: process.env.AWS_SESSION_TOKEN,\n // Vertex\n vertexProject: process.env.GOOGLE_VERTEX_PROJECT,\n vertexLocation: process.env.GOOGLE_VERTEX_LOCATION,\n // Azure\n azureResourceName: process.env.AZURE_RESOURCE_NAME,\n azureApiVersion: process.env.AZURE_API_VERSION,\n modelOverrides,\n };\n}\n\n/** --model-* から用途別オーバーライドを構築 */\nfunction buildModelOverrides(opts: {\n modelSelector?: string;\n modelExtraction?: string;\n modelExploration?: string;\n modelExplorationLight?: string;\n modelReview?: string;\n modelFallback?: string;\n modelVision?: string;\n}): Partial<Record<ModelPurpose, string>> | undefined {\n const overrides: Partial<Record<ModelPurpose, string>> = {};\n if (opts.modelSelector) overrides.selector = opts.modelSelector;\n if (opts.modelExtraction) overrides.extraction = opts.modelExtraction;\n if (opts.modelExploration) overrides.exploration = opts.modelExploration;\n if (opts.modelExplorationLight) overrides[\"exploration-light\"] = opts.modelExplorationLight;\n if (opts.modelReview) overrides.review = opts.modelReview;\n if (opts.modelFallback) overrides.fallback = opts.modelFallback;\n if (opts.modelVision) overrides.vision = opts.modelVision;\n return Object.keys(overrides).length > 0 ? overrides : undefined;\n}\n","/**\n * CLI コマンド別ヘルプテキスト\n */\n\nconst GENERATE_HELP = `Usage: refrain generate [options]\n\nGenerate a runbook YAML by exploring a website with AI\n\nRequired:\n --url <url> Start URL\n --goal <text> Goal to achieve\n --output <path> Output YAML path\n --context <path> Context markdown file path\n\nOptions:\n --headless <bool> Run in headless mode (default: true)\n --screenshots <path> Screenshot output directory\n --secrets <path> Secrets JSON file path\n --max-iterations <num> Max exploration iterations (default: 20)\n --step-delay <ms> Delay between steps in ms (default: 500)\n --stall-check-interval <secs> Stall detection interval in seconds (default: 3)\n --history-window <num> History window size (default: 10)\n --max-failures <num> Max consecutive failures (default: 3)\n --no-snapshot-filter Disable snapshot filtering\n --debug-log <path> Debug log output path\n --debug Enable debug console output\n --video <path> Video recording output directory\n --locale <lang> Locale (en / ja)\n --stealth Enable stealth mode\n --proxy <url> Proxy URL\n --skill <name>,<name> Skill names (comma-separated)\n --report Force report generation\n\nAI Model:\n --model <id> AI model ID (default: claude-sonnet-4-6)\n --model-provider <provider> Provider (anthropic / openai / openai-compatible / google / azure / bedrock / vertex)\n --model-base-url <url> Base URL for openai-compatible provider\n --model-selector <id> Override model for selector resolution\n --model-extraction <id> Override model for data extraction\n --model-exploration <id> Override model for exploration\n --model-review <id> Override model for review\n --model-fallback <id> Override model for fallback\n --model-exploration-light <id> Override model for light exploration\n --enable-multi-model Enable multi-model mode\n\nExamples:\n $ refrain generate --url https://example.com --goal \"Log in and view dashboard\" --output ./runbook.yaml --context ./context.md\n $ refrain generate --url https://example.com --goal \"Search for products\" --output ./search.yaml --context ./context.md --headless false\n $ refrain generate --url https://example.com --goal \"Create an order\" --output ./order.yaml --context ./context.md --secrets ./secrets.json --model gpt-4o --model-provider openai`;\n\nconst EXECUTE_HELP = `Usage: refrain execute [options]\n\nExecute a runbook YAML to automate browser operations\n\nRequired:\n --runbook <path> Runbook YAML path\n --context <path> Context markdown file path\n\nOptions:\n --headless <bool> Run in headless mode (default: true)\n --step-delay <ms> Delay between steps in ms\n --screenshots <path> Screenshot output directory\n --yes, -y Skip all confirmation prompts\n --data <path> CSV/JSON data file for batch execution\n --secrets <path> Secrets JSON file path\n --debug-log <path> Debug log output path\n --debug Enable debug console output\n --output-dir <path> Output directory for extracted data\n --video <path> Video recording output directory\n --locale <lang> Locale (en / ja)\n --stealth Enable stealth mode\n --proxy <url> Proxy URL\n --skill <name>,<name> Skill names (comma-separated)\n --report Force report generation\n\nApproval & Notification:\n --approval-mode <mode> Approval mode (web / slack / teams / discord)\n --approval-timeout <ms> Approval timeout in ms\n --notify <mode> Completion notification (slack / teams / discord)\n\nSelf-Healing:\n --self-heal Enable self-healing mode\n --max-retries <num> Max retries (self-heal default: 5)\n --retry-warning-threshold <num> Retry warning threshold (self-heal default: 3)\n --enable-selector-cache Enable selector cache\n --enable-agent-fallback Enable agent fallback\n --enable-vision-fallback Enable vision fallback\n\nPlan:\n --api-key <key> API key\n\nAI Model:\n --model <id> AI model ID (default: claude-sonnet-4-6)\n --model-provider <provider> Provider (anthropic / openai / openai-compatible / google / azure / bedrock / vertex)\n --model-base-url <url> Base URL for openai-compatible provider\n --model-selector <id> Override model for selector resolution\n --model-extraction <id> Override model for data extraction\n --model-review <id> Override model for review\n --model-fallback <id> Override model for fallback\n --model-vision <id> Override model for vision\n\nExamples:\n $ refrain execute --runbook ./runbook.yaml --context ./context.md --headless false\n $ refrain execute --runbook ./runbook.yaml --context ./context.md --data ./users.csv\n $ refrain execute --runbook ./runbook.yaml --context ./context.md --self-heal\n $ refrain execute --runbook ./runbook.yaml --context ./context.md --approval-mode slack --notify slack`;\n\nconst FIX_RUNBOOK_HELP = `Usage: refrain fix-runbook [options]\n\nApply fix suggestions from an execution report to a runbook\n\nRequired:\n --runbook <path> Runbook YAML path\n --report <path> Execution report path\n\nOptions:\n --locale <lang> Locale (en / ja)\n\nAI Model:\n --model <id> AI model ID (default: claude-sonnet-4-6)\n --model-provider <provider> Provider (anthropic / openai / openai-compatible / google / azure / bedrock / vertex)\n --model-base-url <url> Base URL for openai-compatible provider\n --model-review <id> Override model for review\n\nExamples:\n $ refrain fix-runbook --runbook ./runbook.yaml --report ./report.md\n $ refrain fix-runbook --runbook ./runbook.yaml --report ./report.md --model gpt-4o --model-provider openai`;\n\nconst commandHelp: Record<string, string> = {\n generate: GENERATE_HELP,\n execute: EXECUTE_HELP,\n \"fix-runbook\": FIX_RUNBOOK_HELP,\n};\n\n/**\n * コマンド別ヘルプを出力する。対応コマンドなら true を返す。\n */\nexport function printCommandHelp(command: string): boolean {\n const help = commandHelp[command];\n if (!help) return false;\n console.log(help);\n return true;\n}\n\n/**\n * process.argv に --help / -h が含まれていればヘルプを表示して exit する。\n * 各コマンドの parseArgs() 冒頭で呼ぶ。\n */\nexport function checkHelpFlag(command: string): void {\n const args = process.argv.slice(2);\n if (args.includes(\"--help\") || args.includes(\"-h\")) {\n printCommandHelp(command);\n process.exit(0);\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ createReviewUserPrompt,
4
+ getReviewSystemPrompt
5
+ } from "./chunk-EMAYENG4.js";
6
+
7
+ // src/runbook-generator/prompts.ts
8
+ import { z } from "zod";
9
+ var reviewResponseSchema = z.object({
10
+ reviewedSteps: z.array(z.object({
11
+ originalOrdinal: z.number(),
12
+ keep: z.boolean(),
13
+ removalReason: z.string().optional(),
14
+ riskLevel: z.enum(["low", "medium", "high"]),
15
+ requiresConfirmation: z.boolean(),
16
+ confirmationReason: z.string().optional()
17
+ })),
18
+ summary: z.string()
19
+ });
20
+ function createReviewPrompt(goal, recordedSteps, goalAchieved, interventions, locale) {
21
+ const system = getReviewSystemPrompt(locale);
22
+ const userPrompt = createReviewUserPrompt(goal, recordedSteps, goalAchieved, interventions, locale);
23
+ return { system, userPrompt };
24
+ }
25
+
26
+ export {
27
+ reviewResponseSchema,
28
+ createReviewPrompt
29
+ };
30
+ //# sourceMappingURL=chunk-BGC75OVR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/runbook-generator/prompts.ts"],"sourcesContent":["/**\n * AI プロンプト\n *\n * 探索後のレビュー用プロンプトを提供。\n * 探索ループ自体は Mastra Agent (exploration-agent.ts) が担当。\n */\n\nimport { z } from \"zod\";\nimport {\n getReviewSystemPrompt,\n createReviewUserPrompt,\n} from \"../i18n/prompts\";\nimport type {\n RecordedStep,\n InterventionRecord,\n} from \"./types\";\n\nexport const reviewResponseSchema = z.object({\n reviewedSteps: z.array(z.object({\n originalOrdinal: z.number(),\n keep: z.boolean(),\n removalReason: z.string().optional(),\n riskLevel: z.enum([\"low\", \"medium\", \"high\"]),\n requiresConfirmation: z.boolean(),\n confirmationReason: z.string().optional(),\n })),\n summary: z.string(),\n});\n\n/**\n * ステップレビュー用プロンプトを生成(system / userPrompt 分離)\n */\nexport function createReviewPrompt(\n goal: string,\n recordedSteps: RecordedStep[],\n goalAchieved: boolean,\n interventions?: InterventionRecord[],\n locale?: \"en\" | \"ja\",\n): { system: string; userPrompt: string } {\n const system = getReviewSystemPrompt(locale);\n const userPrompt = createReviewUserPrompt(goal, recordedSteps, goalAchieved, interventions, locale);\n return { system, userPrompt };\n}\n"],"mappings":";;;;;;;AAOA,SAAS,SAAS;AAUX,IAAM,uBAAuB,EAAE,OAAO;AAAA,EAC3C,eAAe,EAAE,MAAM,EAAE,OAAO;AAAA,IAC9B,iBAAiB,EAAE,OAAO;AAAA,IAC1B,MAAM,EAAE,QAAQ;AAAA,IAChB,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,IACnC,WAAW,EAAE,KAAK,CAAC,OAAO,UAAU,MAAM,CAAC;AAAA,IAC3C,sBAAsB,EAAE,QAAQ;AAAA,IAChC,oBAAoB,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1C,CAAC,CAAC;AAAA,EACF,SAAS,EAAE,OAAO;AACpB,CAAC;AAKM,SAAS,mBACd,MACA,eACA,cACA,eACA,QACwC;AACxC,QAAM,SAAS,sBAAsB,MAAM;AAC3C,QAAM,aAAa,uBAAuB,MAAM,eAAe,cAAc,eAAe,MAAM;AAClG,SAAO,EAAE,QAAQ,WAAW;AAC9B;","names":[]}