@rubytech/create-maxy 1.0.435 → 1.0.437

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 (42) hide show
  1. package/dist/index.js +17 -0
  2. package/dist/uninstall.js +44 -26
  3. package/package.json +1 -1
  4. package/payload/maxy/server.js +295 -84
  5. package/payload/platform/neo4j/schema.cypher +6 -0
  6. package/payload/platform/plugins/admin/mcp/dist/index.js +379 -10
  7. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  8. package/payload/platform/plugins/admin/skills/onboarding/skill.md +1 -1
  9. package/payload/platform/plugins/admin/skills/plugin-management/skill.md +16 -58
  10. package/payload/platform/plugins/anthropic/PLUGIN.md +2 -2
  11. package/payload/platform/plugins/contacts/mcp/dist/index.js +34 -16
  12. package/payload/platform/plugins/contacts/mcp/dist/index.js.map +1 -1
  13. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.d.ts +2 -2
  14. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.d.ts.map +1 -1
  15. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js +34 -9
  16. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js.map +1 -1
  17. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-delete.d.ts +2 -1
  18. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-delete.d.ts.map +1 -1
  19. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-delete.js +13 -7
  20. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-delete.js.map +1 -1
  21. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-list.d.ts +2 -1
  22. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-list.d.ts.map +1 -1
  23. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-list.js +1 -0
  24. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-list.js.map +1 -1
  25. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.d.ts +2 -1
  26. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.d.ts.map +1 -1
  27. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.js +10 -1
  28. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.js.map +1 -1
  29. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-update.d.ts +1 -0
  30. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-update.d.ts.map +1 -1
  31. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-update.js +8 -4
  32. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-update.js.map +1 -1
  33. package/payload/platform/plugins/docs/references/contacts-guide.md +7 -5
  34. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.d.ts +1 -1
  35. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js +30 -4
  36. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js.map +1 -1
  37. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js +31 -3
  38. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js.map +1 -1
  39. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts +1 -1
  40. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +30 -2
  41. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  42. package/payload/platform/templates/agents/admin/IDENTITY.md +1 -1
@@ -8,9 +8,15 @@
8
8
  // ----------------------------------------------------------
9
9
 
10
10
  // Person.email must be unique (waitlist signups, future users)
11
+ // Allows multiple nulls — phone-only contacts are not affected.
11
12
  CREATE CONSTRAINT person_email_unique IF NOT EXISTS
12
13
  FOR (p:Person) REQUIRE p.email IS UNIQUE;
13
14
 
15
+ // Person.telephone must be unique (phone-first channels: WhatsApp, SMS, Telegram)
16
+ // Allows multiple nulls — email-only contacts are not affected.
17
+ CREATE CONSTRAINT person_telephone_unique IF NOT EXISTS
18
+ FOR (p:Person) REQUIRE p.telephone IS UNIQUE;
19
+
14
20
  // Service.serviceId must be unique within the Maxy account
15
21
  CREATE CONSTRAINT service_id_unique IF NOT EXISTS
16
22
  FOR (s:Service) REQUIRE s.serviceId IS UNIQUE;
@@ -4,7 +4,7 @@ import { z } from "zod";
4
4
  import { readFile, writeFile } from "node:fs/promises";
5
5
  import { resolve, join } from "node:path";
6
6
  import { execFileSync } from "node:child_process";
7
- import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
7
+ import { cpSync, existsSync, readdirSync, readFileSync, statSync } from "node:fs";
8
8
  import { createConnection } from "node:net";
9
9
  import { homedir } from "node:os";
10
10
  import QRCode from "qrcode";
@@ -19,6 +19,30 @@ const ACCOUNT_ID = process.env.ACCOUNT_ID;
19
19
  if (!ACCOUNT_ID) {
20
20
  throw new Error("ACCOUNT_ID environment variable is required");
21
21
  }
22
+ // Brand-aware config directory — reads configDir from brand.json stamped at install time.
23
+ // No fallback: if brand.json is missing or incomplete, the platform wasn't properly installed.
24
+ function resolveConfigDir() {
25
+ const brandPath = resolve(PLATFORM_ROOT, "config", "brand.json");
26
+ if (!existsSync(brandPath)) {
27
+ throw new Error(`brand.json not found at ${brandPath} — platform not properly installed`);
28
+ }
29
+ try {
30
+ const brand = JSON.parse(readFileSync(brandPath, "utf-8"));
31
+ if (!brand.configDir) {
32
+ throw new Error(`brand.json at ${brandPath} is missing the configDir field`);
33
+ }
34
+ return brand.configDir;
35
+ }
36
+ catch (err) {
37
+ if (err instanceof SyntaxError) {
38
+ throw new Error(`brand.json at ${brandPath} is not valid JSON: ${err.message}`);
39
+ }
40
+ throw err;
41
+ }
42
+ }
43
+ const CONFIG_DIR = resolve(homedir(), resolveConfigDir());
44
+ const API_KEY_FILE = resolve(CONFIG_DIR, ".anthropic-api-key");
45
+ const REMOTE_PASSWORD_FILE = resolve(CONFIG_DIR, ".remote-password");
22
46
  // Resolve account directory
23
47
  function getAccountDir() {
24
48
  const dir = resolve(PLATFORM_ROOT, "config/accounts", ACCOUNT_ID);
@@ -32,6 +56,49 @@ async function readAccountConfig() {
32
56
  const content = await readFile(configPath, "utf-8");
33
57
  return JSON.parse(content);
34
58
  }
59
+ const STAGING_ROOT = resolve(PLATFORM_ROOT, "../premium-plugins");
60
+ const PLUGINS_DIR = resolve(PLATFORM_ROOT, "plugins");
61
+ const CORE_PLUGINS = ["admin", "memory", "docs", "cloudflare", "anthropic"];
62
+ const VALID_PLUGIN_NAME = /^[a-z0-9-]+$/;
63
+ /** Parse YAML frontmatter from markdown content. Returns key-value pairs. */
64
+ function parseFrontmatter(content) {
65
+ const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
66
+ if (!match)
67
+ return {};
68
+ const result = {};
69
+ let currentKey = "";
70
+ let currentArray = null;
71
+ for (const line of match[1].split("\n")) {
72
+ const kvMatch = line.match(/^(\w[\w-]*):\s*(.*)$/);
73
+ if (kvMatch) {
74
+ if (currentArray && currentKey) {
75
+ result[currentKey] = currentArray;
76
+ currentArray = null;
77
+ }
78
+ const [, key, rawValue] = kvMatch;
79
+ const value = rawValue.replace(/^["']|["']$/g, "").trim();
80
+ if (value) {
81
+ result[key] = value;
82
+ currentKey = key;
83
+ }
84
+ else {
85
+ // Key with no inline value — next lines may be array items
86
+ currentKey = key;
87
+ currentArray = [];
88
+ }
89
+ }
90
+ else if (currentArray !== null) {
91
+ const itemMatch = line.match(/^\s*-\s+(.+)$/);
92
+ if (itemMatch) {
93
+ currentArray.push(itemMatch[1].trim());
94
+ }
95
+ }
96
+ }
97
+ if (currentArray && currentKey) {
98
+ result[currentKey] = currentArray;
99
+ }
100
+ return result;
101
+ }
35
102
  // ===================================================================
36
103
  // System tools
37
104
  // ===================================================================
@@ -395,7 +462,7 @@ server.tool("session-resume", "Resume a previous session. Loads the selected ses
395
462
  server.tool("remote-auth-set-password", "NEVER collect a password in chat — passwords must not appear in conversation history. " +
396
463
  "Direct the user to set their remote access password in the browser at /__remote-auth/setup. " +
397
464
  "This tool exists only for admin recovery when the browser setup is unavailable. " +
398
- "Hashes with scrypt and writes to ~/.maxy/.remote-password. " +
465
+ "Hashes with scrypt and writes to the platform's brand-specific config directory. " +
399
466
  "Must be called before tunnel-enable — the tunnel refuses to start without a configured password.", { password: z.string() }, async ({ password }) => {
400
467
  const trimmed = password.trim();
401
468
  // Validate strength — same rules as the web server's validatePasswordStrength
@@ -424,7 +491,7 @@ server.tool("remote-auth-set-password", "NEVER collect a password in chat — pa
424
491
  });
425
492
  });
426
493
  const stored = `${salt.toString("hex")}:${hash.toString("hex")}`;
427
- const pwPath = resolve(homedir(), ".maxy", ".remote-password");
494
+ const pwPath = REMOTE_PASSWORD_FILE;
428
495
  await writeFile(pwPath, stored, { mode: 0o600 });
429
496
  return { content: [{ type: "text", text: "Remote access password set." }] };
430
497
  }
@@ -436,7 +503,7 @@ server.tool("remote-auth-set-password", "NEVER collect a password in chat — pa
436
503
  }
437
504
  });
438
505
  server.tool("api-key-store", "Validate and store an Anthropic API key. Key must start with sk-ant- and be at least 90 characters. " +
439
- "Writes to ~/.maxy/.anthropic-api-key. Takes effect immediately for the public agent.", { apiKey: z.string() }, async ({ apiKey }) => {
506
+ "Writes to the platform's brand-specific config directory. Takes effect immediately for the public agent.", { apiKey: z.string() }, async ({ apiKey }) => {
440
507
  const trimmed = apiKey.trim();
441
508
  if (!trimmed.startsWith("sk-ant-") || trimmed.length < 90) {
442
509
  return {
@@ -445,9 +512,8 @@ server.tool("api-key-store", "Validate and store an Anthropic API key. Key must
445
512
  };
446
513
  }
447
514
  try {
448
- const keyPath = resolve(homedir(), ".maxy", ".anthropic-api-key");
449
- await writeFile(keyPath, trimmed, { mode: 0o600 });
450
- return { content: [{ type: "text", text: "API key stored." }] };
515
+ await writeFile(API_KEY_FILE, trimmed, { mode: 0o600 });
516
+ return { content: [{ type: "text", text: `API key stored at ${API_KEY_FILE}.` }] };
451
517
  }
452
518
  catch (err) {
453
519
  return {
@@ -461,13 +527,12 @@ server.tool("api-key-verify", "Verify the stored Anthropic API key works by maki
461
527
  "user must add credits at console.anthropic.com/settings/billing), auth_error (key rejected — invalid or revoked), " +
462
528
  "missing (no key file found), error (could not verify — network issue or Anthropic outage). " +
463
529
  "Call this on greeting, during system checks, or after storing a new key.", {}, async () => {
464
- const keyPath = resolve(homedir(), ".maxy", ".anthropic-api-key");
465
530
  let apiKey;
466
531
  try {
467
- apiKey = (await readFile(keyPath, "utf-8")).trim();
532
+ apiKey = (await readFile(API_KEY_FILE, "utf-8")).trim();
468
533
  }
469
534
  catch {
470
- return { content: [{ type: "text", text: "Status: missing\nNo API key file found at ~/.maxy/.anthropic-api-key. Run the get-api-key skill to obtain one." }] };
535
+ return { content: [{ type: "text", text: `Status: missing\nNo API key file found at ${API_KEY_FILE}. Run the get-api-key skill to obtain one.` }] };
471
536
  }
472
537
  if (!apiKey) {
473
538
  return { content: [{ type: "text", text: "Status: missing\nAPI key file exists but is empty." }] };
@@ -606,6 +671,310 @@ server.tool("qr-generate", "Generate a QR code from text or a URL. Returns the Q
606
671
  };
607
672
  }
608
673
  });
674
+ // ===================================================================
675
+ // Premium plugin tools
676
+ // ===================================================================
677
+ server.tool("premium-list", "List available premium plugins and their delivery status. Returns structured data " +
678
+ "for each premium plugin in the staging area: name, type (standalone/bundle), description, " +
679
+ "purchase status, and delivery status (per sub-plugin for bundles).", {}, async () => {
680
+ try {
681
+ if (!existsSync(STAGING_ROOT)) {
682
+ return {
683
+ content: [{ type: "text", text: "No premium plugins available. The staging directory does not exist — premium plugins become available after the next platform update." }],
684
+ };
685
+ }
686
+ const config = await readAccountConfig();
687
+ const purchased = Array.isArray(config.purchasedPlugins) ? config.purchasedPlugins : [];
688
+ const enabled = Array.isArray(config.enabledPlugins) ? config.enabledPlugins : [];
689
+ const entries = readdirSync(STAGING_ROOT, { withFileTypes: true })
690
+ .filter(e => e.isDirectory())
691
+ .sort((a, b) => a.name.localeCompare(b.name));
692
+ if (entries.length === 0) {
693
+ return {
694
+ content: [{ type: "text", text: "No premium plugins found in the staging area." }],
695
+ };
696
+ }
697
+ const plugins = [];
698
+ for (const entry of entries) {
699
+ const stagingDir = resolve(STAGING_ROOT, entry.name);
700
+ const bundlePath = join(stagingDir, "BUNDLE.md");
701
+ const pluginPath = join(stagingDir, "PLUGIN.md");
702
+ if (existsSync(bundlePath)) {
703
+ // Bundle
704
+ const fm = parseFrontmatter(readFileSync(bundlePath, "utf-8"));
705
+ const subPlugins = (Array.isArray(fm.plugins) ? fm.plugins : [])
706
+ .filter(name => VALID_PLUGIN_NAME.test(name));
707
+ const subStatus = subPlugins.map(name => ({
708
+ name,
709
+ delivered: existsSync(join(PLUGINS_DIR, name, "PLUGIN.md")),
710
+ enabled: enabled.includes(name),
711
+ }));
712
+ plugins.push({
713
+ name: entry.name,
714
+ type: "bundle",
715
+ description: typeof fm.description === "string" ? fm.description : "",
716
+ purchased: purchased.includes(entry.name),
717
+ subPlugins: subStatus,
718
+ });
719
+ }
720
+ else if (existsSync(pluginPath)) {
721
+ // Standalone
722
+ const fm = parseFrontmatter(readFileSync(pluginPath, "utf-8"));
723
+ plugins.push({
724
+ name: entry.name,
725
+ type: "standalone",
726
+ description: typeof fm.description === "string" ? fm.description : "",
727
+ purchased: purchased.includes(entry.name),
728
+ delivered: existsSync(join(PLUGINS_DIR, entry.name, "PLUGIN.md")),
729
+ enabled: enabled.includes(entry.name),
730
+ });
731
+ }
732
+ // Skip directories that have neither BUNDLE.md nor PLUGIN.md
733
+ }
734
+ return {
735
+ content: [{ type: "text", text: JSON.stringify(plugins, null, 2) }],
736
+ };
737
+ }
738
+ catch (err) {
739
+ return {
740
+ content: [{ type: "text", text: `Failed to list premium plugins: ${err instanceof Error ? err.message : String(err)}` }],
741
+ isError: true,
742
+ };
743
+ }
744
+ });
745
+ server.tool("premium-deliver", "Deliver a purchased premium plugin. Copies plugin files from the staging area to the active " +
746
+ "plugin directory, verifies each copy, updates enabledPlugins in account.json, and scans for " +
747
+ "agent templates. Handles both standalone plugins and bundles (auto-detected). Idempotent — " +
748
+ "already-delivered sub-plugins are skipped. Returns a structured result with per-sub-plugin " +
749
+ "status and available templates.", {
750
+ pluginName: z.string().describe("Name of the premium plugin to deliver (e.g. 'real-agency', 'teaching')"),
751
+ }, async ({ pluginName }) => {
752
+ const TAG = "[premium-deliver]";
753
+ // --- Validate plugin name ---
754
+ if (!pluginName || !VALID_PLUGIN_NAME.test(pluginName)) {
755
+ return {
756
+ content: [{ type: "text", text: `${TAG} Invalid plugin name "${pluginName}". Must match [a-z0-9-].` }],
757
+ isError: true,
758
+ };
759
+ }
760
+ // --- Guard against clobbering core plugins ---
761
+ if (CORE_PLUGINS.includes(pluginName)) {
762
+ return {
763
+ content: [{ type: "text", text: `${TAG} "${pluginName}" is a core plugin and cannot be delivered as a premium plugin.` }],
764
+ isError: true,
765
+ };
766
+ }
767
+ // --- Check staging directory ---
768
+ if (!existsSync(STAGING_ROOT)) {
769
+ return {
770
+ content: [{ type: "text", text: `${TAG} Premium plugins staging directory does not exist. Premium plugins become available after the next platform update.` }],
771
+ isError: true,
772
+ };
773
+ }
774
+ const stagingDir = resolve(STAGING_ROOT, pluginName);
775
+ if (!existsSync(stagingDir)) {
776
+ return {
777
+ content: [{ type: "text", text: `${TAG} No premium plugin named "${pluginName}" found in the staging area.` }],
778
+ isError: true,
779
+ };
780
+ }
781
+ // --- Read account config ---
782
+ let config;
783
+ try {
784
+ config = await readAccountConfig();
785
+ }
786
+ catch (err) {
787
+ return {
788
+ content: [{ type: "text", text: `${TAG} Failed to read account config: ${err instanceof Error ? err.message : String(err)}` }],
789
+ isError: true,
790
+ };
791
+ }
792
+ const purchased = Array.isArray(config.purchasedPlugins) ? config.purchasedPlugins : [];
793
+ // --- Check purchase status ---
794
+ if (!purchased.includes(pluginName)) {
795
+ return {
796
+ content: [{ type: "text", text: `${TAG} "${pluginName}" is not in purchasedPlugins. Record the purchase first.` }],
797
+ isError: true,
798
+ };
799
+ }
800
+ // --- Detect type: bundle vs standalone ---
801
+ const bundlePath = join(stagingDir, "BUNDLE.md");
802
+ const pluginMdPath = join(stagingDir, "PLUGIN.md");
803
+ const isBundle = existsSync(bundlePath);
804
+ const isStandalone = !isBundle && existsSync(pluginMdPath);
805
+ if (!isBundle && !isStandalone) {
806
+ return {
807
+ content: [{ type: "text", text: `${TAG} Staging directory "${pluginName}" contains neither BUNDLE.md nor PLUGIN.md. Invalid premium plugin.` }],
808
+ isError: true,
809
+ };
810
+ }
811
+ const items = [];
812
+ if (isBundle) {
813
+ const fm = parseFrontmatter(readFileSync(bundlePath, "utf-8"));
814
+ const subPluginNames = Array.isArray(fm.plugins) ? fm.plugins : [];
815
+ if (subPluginNames.length === 0) {
816
+ return {
817
+ content: [{ type: "text", text: `${TAG} BUNDLE.md for "${pluginName}" has an empty or missing plugins array.` }],
818
+ isError: true,
819
+ };
820
+ }
821
+ for (const sub of subPluginNames) {
822
+ if (!VALID_PLUGIN_NAME.test(sub)) {
823
+ return {
824
+ content: [{ type: "text", text: `${TAG} Sub-plugin name "${sub}" in BUNDLE.md contains invalid characters. Aborting delivery.` }],
825
+ isError: true,
826
+ };
827
+ }
828
+ if (CORE_PLUGINS.includes(sub)) {
829
+ return {
830
+ content: [{ type: "text", text: `${TAG} Sub-plugin "${sub}" collides with a core plugin name. Aborting delivery.` }],
831
+ isError: true,
832
+ };
833
+ }
834
+ items.push({ name: sub, sourcePath: resolve(stagingDir, "plugins", sub) });
835
+ }
836
+ }
837
+ else {
838
+ items.push({ name: pluginName, sourcePath: stagingDir });
839
+ }
840
+ const results = [];
841
+ const newlyEnabled = [];
842
+ for (const item of items) {
843
+ const destPath = resolve(PLUGINS_DIR, item.name);
844
+ // Already delivered — skip (preserves user's enable/disable state)
845
+ if (existsSync(join(destPath, "PLUGIN.md"))) {
846
+ console.log(`${TAG} ${item.name} already delivered — skipping`);
847
+ results.push({ name: item.name, status: "skipped" });
848
+ continue;
849
+ }
850
+ // Validate source
851
+ if (!existsSync(join(item.sourcePath, "PLUGIN.md"))) {
852
+ const msg = `Source PLUGIN.md missing at ${item.sourcePath}`;
853
+ console.error(`${TAG} FAILED ${item.name}: ${msg}`);
854
+ results.push({ name: item.name, status: "failed", error: msg });
855
+ continue;
856
+ }
857
+ // Copy
858
+ try {
859
+ cpSync(item.sourcePath, destPath, { recursive: true });
860
+ console.log(`${TAG} copied ${item.name} from staging`);
861
+ }
862
+ catch (err) {
863
+ const msg = err instanceof Error ? err.message : String(err);
864
+ console.error(`${TAG} FAILED to copy ${item.name}: ${msg}`);
865
+ results.push({ name: item.name, status: "failed", error: msg });
866
+ continue;
867
+ }
868
+ // Verify
869
+ const verifyPath = join(destPath, "PLUGIN.md");
870
+ if (!existsSync(verifyPath)) {
871
+ console.error(`${TAG} FAILED to verify ${item.name}: PLUGIN.md missing after copy`);
872
+ results.push({ name: item.name, status: "failed", error: "PLUGIN.md missing after copy" });
873
+ continue;
874
+ }
875
+ // Count skills
876
+ const skillsDir = join(destPath, "skills");
877
+ let skillCount = 0;
878
+ if (existsSync(skillsDir)) {
879
+ skillCount = readdirSync(skillsDir, { withFileTypes: true })
880
+ .filter(e => e.isDirectory()).length;
881
+ }
882
+ console.log(`${TAG} verified ${item.name} (${skillCount} skills)`);
883
+ results.push({ name: item.name, status: "delivered", skills: skillCount });
884
+ newlyEnabled.push(item.name);
885
+ }
886
+ // --- Update enabledPlugins (only add newly delivered, deduplicate) ---
887
+ if (newlyEnabled.length > 0) {
888
+ try {
889
+ // Re-read config to reduce race window
890
+ const freshConfig = await readAccountConfig();
891
+ const freshEnabled = Array.isArray(freshConfig.enabledPlugins)
892
+ ? freshConfig.enabledPlugins
893
+ : [];
894
+ const merged = [...new Set([...freshEnabled, ...newlyEnabled])];
895
+ freshConfig.enabledPlugins = merged;
896
+ const configPath = join(getAccountDir(), "account.json");
897
+ await writeFile(configPath, JSON.stringify(freshConfig, null, 2) + "\n", "utf-8");
898
+ console.log(`${TAG} updated enabledPlugins: added ${newlyEnabled.join(", ")}`);
899
+ }
900
+ catch (err) {
901
+ const msg = err instanceof Error ? err.message : String(err);
902
+ console.error(`${TAG} FAILED to update account.json: ${msg}`);
903
+ return {
904
+ content: [{
905
+ type: "text",
906
+ text: `${TAG} Plugins were copied but account.json update failed: ${msg}\n\nDelivery results:\n${JSON.stringify(results, null, 2)}`,
907
+ }],
908
+ isError: true,
909
+ };
910
+ }
911
+ }
912
+ const templates = [];
913
+ // For bundles, templates live in the staging agents/ dir; for standalone, in the delivered plugin
914
+ const agentsSearchDirs = [];
915
+ if (isBundle) {
916
+ const bundleAgentsDir = join(stagingDir, "agents");
917
+ if (existsSync(bundleAgentsDir))
918
+ agentsSearchDirs.push(bundleAgentsDir);
919
+ }
920
+ else {
921
+ const pluginAgentsDir = join(PLUGINS_DIR, pluginName, "agents");
922
+ if (existsSync(pluginAgentsDir))
923
+ agentsSearchDirs.push(pluginAgentsDir);
924
+ }
925
+ for (const agentsDir of agentsSearchDirs) {
926
+ const subdirs = readdirSync(agentsDir, { withFileTypes: true })
927
+ .filter(e => e.isDirectory());
928
+ for (const sub of subdirs) {
929
+ const templateJsonPath = join(agentsDir, sub.name, "template.json");
930
+ if (!existsSync(templateJsonPath))
931
+ continue;
932
+ try {
933
+ const templateData = JSON.parse(readFileSync(templateJsonPath, "utf-8"));
934
+ const identityExists = existsSync(join(agentsDir, sub.name, "IDENTITY.md"));
935
+ const soulExists = existsSync(join(agentsDir, sub.name, "SOUL.md"));
936
+ if (!identityExists || !soulExists) {
937
+ console.log(`${TAG} template ${sub.name} incomplete — missing ${!identityExists ? "IDENTITY.md" : "SOUL.md"}, skipping`);
938
+ continue;
939
+ }
940
+ templates.push({
941
+ directory: join(agentsDir, sub.name),
942
+ displayName: templateData.displayName ?? sub.name,
943
+ description: templateData.description ?? "",
944
+ suggestedSlug: templateData.suggestedSlug,
945
+ });
946
+ }
947
+ catch {
948
+ console.log(`${TAG} template ${sub.name} has invalid template.json, skipping`);
949
+ }
950
+ }
951
+ }
952
+ // --- Build structured result ---
953
+ const delivered = results.filter(r => r.status === "delivered");
954
+ const skipped = results.filter(r => r.status === "skipped");
955
+ const failed = results.filter(r => r.status === "failed");
956
+ const totalSkills = delivered.reduce((sum, r) => sum + (r.skills ?? 0), 0);
957
+ const output = {
958
+ pluginName,
959
+ type: isBundle ? "bundle" : "standalone",
960
+ delivered: delivered.map(r => ({ name: r.name, skills: r.skills })),
961
+ skipped: skipped.map(r => r.name),
962
+ failed: failed.map(r => ({ name: r.name, error: r.error })),
963
+ totalDelivered: delivered.length,
964
+ totalSkipped: skipped.length,
965
+ totalFailed: failed.length,
966
+ totalSkills,
967
+ templates: templates.map(t => ({
968
+ displayName: t.displayName,
969
+ description: t.description,
970
+ suggestedSlug: t.suggestedSlug,
971
+ directory: t.directory,
972
+ })),
973
+ };
974
+ return {
975
+ content: [{ type: "text", text: JSON.stringify(output, null, 2) }],
976
+ };
977
+ });
609
978
  // Cleanup on exit (SIGTERM for systemd service stops on Pi)
610
979
  const cleanup = async () => {
611
980
  await closeDriver();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC/F,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;AAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;IAChB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACjE,CAAC;AAED,4BAA4B;AAC5B,SAAS,aAAa;IACpB,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,EAAE,iBAAiB,EAAE,UAAW,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,cAAc,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,sEAAsE;AACtE,eAAe;AACf,sEAAsE;AAEtE,SAAS,SAAS,CAAC,IAAY,EAAE,SAAS,GAAG,IAAI;IAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,IAAI,CACT,eAAe,EACf,+KAA+K,EAC/K,EAAE,EACF,KAAK,IAAI,EAAE;IACT,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,uBAAuB,CAAC;QAClE,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9D,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CACtC,CAAC;QACF,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,MAAM,GAAG,CAAC;IAClE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,GAAG,gBAAgB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,wBAAwB,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,WAAW,EAAE;YAC/C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyC,CAAC;YACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;YACpE,MAAM,CAAC,MAAM,GAAG,oBAAoB,MAAM,GAAG,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,GAAG,cAAc,GAAG,CAAC,MAAM,GAAG,CAAC;QAC9C,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,MAAM,GAAG,gBAAgB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IACrF,CAAC;IAED,oGAAoG;IACpG,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;QAC3C,IAAI,CAAC;YACH,YAAY,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7E,MAAM,CAAC,UAAU,GAAG,2BAA2B,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,UAAU,GAAG,eAAe,CAAC;QACtC,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;YACpD,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACzD,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,OAAO,GAAG,+DAA+D,CAAC;QACnF,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,KAAK;iBAClB,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,OAAO,GAAG,mCAAmC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACjC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBAC7C,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,MAAM,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,OAAO,GAAG,qCAAqC,CAAC;IACzD,CAAC;IAED,qBAAqB;IACrB,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;IAEjE,kDAAkD;IAClD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,GAAG,QAAQ;QACtB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,yEAAyE,CAAC;IAE9E,kEAAkE;IAClE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;QAChE,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,WAAW,GAAG,oCAAoC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,WAAW,GAAG,kCAAkC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBACrD,IAAI,CAAC,SAAS;wBAAE,SAAS;oBACzB,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC1B,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC;oBACxE,IAAI,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;oBAChD,IAAI,IAAI,KAAK,oBAAoB,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAC/C,MAAM,GAAG,+BAA+B,CAAC;oBAC3C,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;gBACrC,CAAC;gBACD,MAAM,CAAC,WAAW,GAAG,GAAG,OAAO,CAAC,MAAM,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,WAAW,GAAG,mCAAmC,CAAC;IAC3D,CAAC;IAED,mEAAmE;IACnE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,GAAG,kCAAkC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,KAAK,GAAG,GAAG,KAAK,CAAC,WAAW,IAAI,SAAS,eAAe,KAAK,CAAC,QAAQ,IAAI,SAAS,GAAG,CAAC;QAChG,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,GAAG,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IACnG,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC;SACnD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AACnE,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,+DAA+D,EAC/D,EAAE,EACF,KAAK,IAAI,EAAE;IACT,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SAClF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACzG,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,2DAA2D,EAC3D,EAAE,EACF,KAAK,IAAI,EAAE;IACT,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACzG,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,4XAA4X,EAC5X;IACE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACpH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IACzB,MAAM,KAAK,GAA6B;QACtC,WAAW,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;QACvC,YAAY,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC;QAClD,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;QAChD,WAAW,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;KACxC,CAAC;IACF,iGAAiG;IACjG,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iEAAiE,EAAE,CAAC;gBAC7G,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,IAAI,0CAA0C,IAAI,GAAG,EAAE,CAAC;gBAC3G,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IACD,yEAAyE;IACzE,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACvD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAClB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,qBAAqB,KAAK,iCAAiC,EAAE,CAAC;gBACvG,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,KAAK,cAAc,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,KAAK,SAAS,KAAK,mBAAmB,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAC7H,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,cAAc,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,KAAK,KAAK,cAAc,CAAC,CAAC,CAAE,MAAM,CAAC,YAAmC,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAClH,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACtB,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7E,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;YAC7B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,+BAA+B,UAAU,SAAS,KAAK,oCAAoC,EAAE,CAAC;aACxI,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,KAAK,QAAQ,KAAK,kCAAkC,EAAE,CAAC;SAC5G,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACzG,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,WAAW,EACX,udAAud,EACvd;IACE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IACzC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CAAC;QAEjD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iCAAiC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;QACpG,CAAC;QAED,2DAA2D;QAC3D,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAA2B;gBACvC,MAAM,EAAE,sBAAsB;gBAC9B,KAAK,EAAE,sBAAsB;gBAC7B,OAAO,EAAE,aAAa;gBACtB,MAAM,EAAE,sBAAsB;aAC/B,CAAC;YAEF,qEAAqE;YACrE,qGAAqG;YACrG,MAAM,cAAc,GAAG,IAAI,IAAI,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC;gBACnE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC5B,CAAC,CAAC,QAAQ,CAAC;YAEb,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YACtE,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/D,MAAM,SAAS,GAAG,QAAQ;qBACvB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;qBACjC,IAAI,EAAE,CAAC,CAAC,+BAA+B;gBAE1C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACxC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,YAAY,CACzB,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,EACpC,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;wBACpB,IAAI,MAAM,EAAE,CAAC;4BACX,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,OAAO,MAAM,MAAM,EAAE,CAAC,CAAC;wBACtD,CAAC;oBACH,CAAC;oBAAC,OAAO,OAAgB,EAAE,CAAC;wBAC1B,yDAAyD;wBACzD,MAAM,QAAQ,GAAI,OAA+B,CAAC,MAAM,CAAC;wBACzD,IAAI,QAAQ,KAAK,CAAC;4BAAE,MAAM,OAAO,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,uCAAuC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/G,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,uBAAuB,UAAU,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACzH,CAAC;QAED,qEAAqE;QACrE,MAAM,YAAY,GAAG,IAAI,IAAI,QAAQ,CAAC;QAEtC,yDAAyD;QACzD,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iEAAiE,EAAE,CAAC,EAAE,CAAC;YAC3H,CAAC;YACD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC/F,CAAC;QAED,MAAM,MAAM,GACV,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,sBAAsB;YACjD,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa;gBAC5C,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB;oBACpD,CAAC,CAAC,sBAAsB,CAAC;QAE3B,gEAAgE;QAChE,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aACvD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACrE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,+BAA+B,YAAY,QAAQ,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;QACtH,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE;YAClE,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEd,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,KAAK,CAAC,IAAI,OAAO,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;IACxF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wBAAwB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACpI,CAAC;AACH,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,qEAAqE,EACrE;IACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;IACpG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8EAA8E,CAAC;CACrH,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7B,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,IAAI,WAAW,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,IAAI,YAAY,EAAE,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAC/E,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,UAAU,EAAE,EAAE,CAAC;gBAClF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACzG,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,8DAA8D;IAC9D,iFAAiF;IACjF,iDAAiD,EACjD;IACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2FAA2F,CAAC;IACtH,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;CACxC,EACD,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CACzE,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,uGAAuG;IACvG,kGAAkG;IAClG,yCAAyC,EACzC,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CACtE,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,iGAAiG;IACjG,+FAA+F;IAC/F,0EAA0E,EAC1E,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC,EAAE,EAC7F,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CACxE,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,wFAAwF;IACxF,8FAA8F;IAC9F,kFAAkF;IAClF,6DAA6D;IAC7D,kGAAkG,EAClG,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEhC,8EAA8E;IAC9E,MAAM,MAAM,GAAG;QACb,EAAE,KAAK,EAAE,uBAAuB,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;QAC5D,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACvD,EAAE,KAAK,EAAE,8BAA8B,EAAE,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QAC5E,EAAE,KAAK,EAAE,+BAA+B,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,QAAQ,CAAC,IAAI,EAAE,EAAE;KACnG,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kCAAkC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACrH,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC/D,IAAI,GAAG;oBAAE,GAAG,CAAC,GAAG,CAAC,CAAC;;oBAAM,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC/D,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,EAAE,CAAC;IACvF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACzH,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,sGAAsG;IACtG,sFAAsF,EACtF,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EACtB,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACnB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,4EAA4E,EAAE,CAAC;YACxH,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAClE,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAC3E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wBAAwB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACtH,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,4EAA4E;IAC5E,wGAAwG;IACxG,oHAAoH;IACpH,6FAA6F;IAC7F,0EAA0E,EAC1E,EAAE,EACF,KAAK,IAAI,EAAE;IACT,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAClE,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gHAAgH,EAAE,CAAC,EAAE,CAAC;IAC1K,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oDAAoD,EAAE,CAAC,EAAE,CAAC;IAC9G,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,uCAAuC,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,MAAM;gBACnB,mBAAmB,EAAE,YAAY;aAClC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,2BAA2B;gBAClC,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAC5C,CAAC;YACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;SACnC,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACjC,gEAAgE;YAChE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,uDAAuD,EAAE,CAAC,EAAE,CAAC;QACjH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,mKAAmK,EAAE,CAAC,EAAE,CAAC;QAC7N,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,4JAA4J,EAAE,CAAC,EAAE,CAAC;QACtN,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,+DAA+D,GAAG,CAAC,MAAM,qDAAqD,EAAE,CAAC,EAAE,CAAC;IACxL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,qDAAqD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE,CAAC,EAAE,CAAC;IAC9L,CAAC;AACH,CAAC,CACF,CAAC;AAEF,sEAAsE;AACtE,mBAAmB;AACnB,sEAAsE;AAEtE,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,8EAA8E;IAC9E,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE,EACxE,EAAE,EACF,KAAK,IAAI,EAAE;IACT,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,UAAW,EAAE,aAAa,EAAE,CAAC,CAAC;QACjF,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;iBACrC,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;iBAC7F,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,gFAAgF;IAChF,iFAAiF;IACjF,+EAA+E,EAC/E;IACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uDAAuD,CAAC;CACvG,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,UAAU,EAAE,UAAW,EAAE,IAAI,CAAC,CAAC;QAC1E,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;iBACrC,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,uCAAuC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;iBAChG,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,sEAAsE;AACtE,gBAAgB;AAChB,sEAAsE;AAEtE,MAAM,CAAC,IAAI,CACT,aAAa,EACb,yGAAyG,EACzG;IACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACrE,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CACvE,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAEnD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,oBAAoB,UAAU,EAAE;qBACvC;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,0BAA0B,IAAI,EAAE;iBACvC;gBACD;oBACE,IAAI,EAAE,OAAgB;oBACtB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;oBACrD,QAAQ,EAAE,WAAW;iBACtB;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;iBAClF;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,4DAA4D;AAC5D,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;IACzB,MAAM,WAAW,EAAE,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAE/B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ If any Maxy plugins were enabled in this step, call `session-reset` immediately
44
44
 
45
45
  *(skip if `currentStep` >= 2)*
46
46
 
47
- The public-facing agent uses the Anthropic API directly. Without a key, visitors cannot chat with the business. Check if the key exists: run `test -f ~/.maxy/.anthropic-api-key && echo "exists" || echo "missing"` via Bash.
47
+ The public-facing agent uses the Anthropic API directly. Without a key, visitors cannot chat with the business. Check if the key exists by calling the `api-key-verify` tool it returns `missing` if no key file is found.
48
48
 
49
49
  If missing, use `plugin-read` to load `anthropic/skills/get-api-key.md` and follow its instructions. The skill delegates browser automation to `specialists:browser-specialist` — all Playwright interaction runs in the specialist's isolated context, keeping the main session lightweight. The user can see the browser via the VNC viewer rendered in the chat.
50
50