@noxsoft/anima 7.0.0 → 7.0.1

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 (120) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/dist/{agent-BoAAHGEA.js → agent-BjD_hkGZ.js} +3 -3
  3. package/dist/{agent-DuW0onwk.js → agent-PoYM2xa7.js} +3 -3
  4. package/dist/{agents-BUXkSDns.js → agents-y3HCk1ks.js} +4 -4
  5. package/dist/{anthropic-direct-runner-DizCei79.js → anthropic-direct-runner-Bu8w-wlJ.js} +246 -10
  6. package/dist/{anthropic-direct-runner-OjcTAH6g.js → anthropic-direct-runner-C5pnwYzT.js} +246 -10
  7. package/dist/{auth-choice-B1iGnjuE.js → auth-choice-BYOaX-W4.js} +1 -1
  8. package/dist/{auth-choice-HF9x6xk2.js → auth-choice-CRP6z43z.js} +1 -1
  9. package/dist/{banner-Dpa5d1If.js → banner-XT5N0ZF4.js} +1 -1
  10. package/dist/build-info.json +3 -3
  11. package/dist/bundled/boot-md/handler.js +2 -2
  12. package/dist/bundled/session-memory/handler.js +1 -1
  13. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  14. package/dist/{channel-web-C5mzsaa3.js → channel-web-yWytZHhN.js} +2 -2
  15. package/dist/{cli-Cuq4bIg4.js → cli-C7mOU26p.js} +2 -2
  16. package/dist/{cli-X9ikywQ3.js → cli-DfcdnRcl.js} +2 -2
  17. package/dist/{command-registry-9V4uqrBV.js → command-registry-DUTqrmna.js} +12 -12
  18. package/dist/{completion-cli-DNWDwhab.js → completion-cli-BBm9JIHZ.js} +2 -2
  19. package/dist/{completion-cli-BtvcR-U5.js → completion-cli-Cpj91U30.js} +1 -1
  20. package/dist/{config-cli-fleq7-gq.js → config-cli-CF2ERR8G.js} +1 -1
  21. package/dist/{config-cli-DfHE3KG-.js → config-cli-Dmd4Oyjp.js} +1 -1
  22. package/dist/{configure-lkozxQed.js → configure-4jIAlOdj.js} +7 -7
  23. package/dist/{configure-B2Mfnwy_.js → configure-BE8TA8Yt.js} +3 -3
  24. package/dist/{configure-ZWxixuRA.js → configure-BfWsTKMF.js} +3 -3
  25. package/dist/{configure-SnvMHZPD.js → configure-CU3kulTq.js} +7 -7
  26. package/dist/{deps-BKLIBKjK.js → deps-DKPoFoa8.js} +1 -1
  27. package/dist/{doctor-D7kKyUVk.js → doctor-CFpVHDFT.js} +4 -4
  28. package/dist/{doctor-DmCnZ-jF.js → doctor-DOudOs1k.js} +4 -4
  29. package/dist/{doctor-completion-B9SBdMoR.js → doctor-completion-DfNyJGIj.js} +1 -1
  30. package/dist/{doctor-completion-BBvW4_J9.js → doctor-completion-R0UlpjIj.js} +1 -1
  31. package/dist/{engine-DpbYPop7.js → engine-BDDM-iAi.js} +1 -1
  32. package/dist/{engine-zmn3SOYa.js → engine-BDwYEVKi.js} +1 -1
  33. package/dist/entry.js +1 -1
  34. package/dist/extensionAPI.js +1 -1
  35. package/dist/{gateway-cli-CEM1vBuk.js → gateway-cli-CFlPUx9N.js} +15 -15
  36. package/dist/{gateway-cli-iumkTohn.js → gateway-cli-DtIum1te.js} +16 -16
  37. package/dist/{health-Cndq9b7A.js → health-ngQNjXh4.js} +3 -3
  38. package/dist/{health-B5N6_UOf.js → health-yw_uaucz.js} +3 -3
  39. package/dist/{heartbeat-visibility-BQL13ZBH.js → heartbeat-visibility-BaL8JzkS.js} +1 -1
  40. package/dist/{heartbeat-visibility-CwcYugaR.js → heartbeat-visibility-mAzdNSiS.js} +1 -1
  41. package/dist/{hooks-cli-BZcvdIwE.js → hooks-cli-CPgLAn7a.js} +3 -3
  42. package/dist/{hooks-cli-DSlPBQSY.js → hooks-cli-D6YfDiUI.js} +3 -3
  43. package/dist/index.js +8 -8
  44. package/dist/llm-slug-generator.js +1 -1
  45. package/dist/{models-CdNeYfSp.js → models-BXdBXPMB.js} +3 -3
  46. package/dist/{models-cli-D7eSsPuk.js → models-cli-1Kj8gkGy.js} +3 -3
  47. package/dist/{models-cli-fTZXo1zx.js → models-cli-DdJcmOGI.js} +4 -4
  48. package/dist/{onboard-D-6QCnTi.js → onboard-BzScK9k6.js} +3 -3
  49. package/dist/{onboard-C5K37NvY.js → onboard-CHX1Jdt_.js} +3 -3
  50. package/dist/{onboard-channels-BsCq32Hn.js → onboard-channels-DfXxMbYu.js} +1 -1
  51. package/dist/{onboard-channels-bx6oelzj.js → onboard-channels-wUF4oRB-.js} +1 -1
  52. package/dist/{onboarding-CX1vIkcB.js → onboarding-6jxAKxhe.js} +4 -4
  53. package/dist/{onboarding-BeuMAyic.js → onboarding-fnZOw6Wv.js} +4 -4
  54. package/dist/{orchestrator-C1nWKIJS.js → orchestrator-B2rNfH4K.js} +5 -4
  55. package/dist/{orchestrator-C2ypFiPL.js → orchestrator-CrFD887e.js} +5 -4
  56. package/dist/{outbound-send-deps-Y9AxHeLG.js → outbound-send-deps-DMsqr5fd.js} +1 -1
  57. package/dist/{pi-embedded-D15iww51.js → pi-embedded-B1eVXOsQ.js} +245 -9
  58. package/dist/{pi-embedded-DR8Pfd05.js → pi-embedded-DbvG9mmD.js} +245 -9
  59. package/dist/{plugin-registry-ME2FQAi-.js → plugin-registry-CtkU96jV.js} +1 -1
  60. package/dist/{plugin-registry-Do2D1nDk.js → plugin-registry-DKexyPAq.js} +1 -1
  61. package/dist/plugin-sdk/index.js +6 -6
  62. package/dist/plugin-sdk/infra/architecture-awareness.d.ts +47 -0
  63. package/dist/{plugins-cli-CVFzwdmI.js → plugins-cli-B3l7kalt.js} +3 -3
  64. package/dist/{plugins-cli-CoVt2ewg.js → plugins-cli-BQmysVFP.js} +3 -3
  65. package/dist/{program-context-DP3qjW7A.js → program-context-C4x0zjOR.js} +18 -18
  66. package/dist/{program-8rF4C_wd.js → program-mSyCYzsQ.js} +7 -7
  67. package/dist/{register.agent-DnkOx0U8.js → register.agent-CzEM3bkp.js} +7 -7
  68. package/dist/{register.agent-BIrXCVtQ.js → register.agent-DBxUWr1K.js} +8 -8
  69. package/dist/{register.anima-DXT9bM9A.js → register.anima--gufBuS-.js} +4 -4
  70. package/dist/{register.anima-B36rTHUt.js → register.anima-RI6gewtj.js} +4 -4
  71. package/dist/{register.configure-CuzJxZmk.js → register.configure-Cs3uLUBo.js} +6 -6
  72. package/dist/{register.configure-DCpvHX3m.js → register.configure-Dpe8Qel3.js} +6 -6
  73. package/dist/{register.maintenance-CcxBFfv5.js → register.maintenance-BEYN8SJL.js} +9 -9
  74. package/dist/{register.maintenance-Dla0H12S.js → register.maintenance-DqAdzWBM.js} +8 -8
  75. package/dist/{register.message-Brtushvp.js → register.message-ACbKb7JS.js} +4 -4
  76. package/dist/{register.message-CD7xV-jz.js → register.message-BhGJ_1Iy.js} +4 -4
  77. package/dist/{register.onboard-6CbODzQ6.js → register.onboard-CwkY7CRm.js} +9 -9
  78. package/dist/{register.onboard-23Mra3LN.js → register.onboard-DR_YYtbi.js} +10 -10
  79. package/dist/{register.setup-DlVH7FKe.js → register.setup-BSm6O1ml.js} +9 -9
  80. package/dist/{register.setup-CqQw13Ky.js → register.setup-Cn3e7Std.js} +10 -10
  81. package/dist/{register.status-health-sessions-CxtgPKu9.js → register.status-health-sessions-CpxsZeet.js} +4 -4
  82. package/dist/{register.status-health-sessions-CduFjFDB.js → register.status-health-sessions-DAl9OeGB.js} +4 -4
  83. package/dist/{register.subclis-CtANqD5P.js → register.subclis-DEFeoyPP.js} +7 -7
  84. package/dist/{reply-prefix-B7Fb3fO8.js → reply-prefix-CEnF6TUe.js} +1 -1
  85. package/dist/{reply-prefix-BzdhJDqP.js → reply-prefix-Og65nAYv.js} +1 -1
  86. package/dist/{reply-93fMzde1.js → reply-ylwOKuOF.js} +2 -2
  87. package/dist/{run-Cq_iTGK_.js → run-B6eBjo22.js} +231 -63
  88. package/dist/{run-CF3kHOGH.js → run-D6Ete2Z-.js} +231 -63
  89. package/dist/{run-main-BiIRcc6s.js → run-main-CQHE4XaN.js} +15 -15
  90. package/dist/{server-node-events-DgvKcH5q.js → server-node-events-CV5m_fuq.js} +5 -5
  91. package/dist/{server-node-events-B3Serk9L.js → server-node-events-DIuVwITd.js} +5 -5
  92. package/dist/{session-C_d9uvLf.js → session-BqHD-8a_.js} +1 -1
  93. package/dist/{session-BMDpwIJu.js → session-Jlf3l006.js} +1 -1
  94. package/dist/{settings-cli-DsDqNpW_.js → settings-cli-LWW2xQBQ.js} +7 -7
  95. package/dist/{settings-cli-CZdlEmNi.js → settings-cli-T66kDBNA.js} +7 -7
  96. package/dist/{setup-token-C8Gg1P6T.js → setup-token-0zfSBnMQ.js} +1 -1
  97. package/dist/{setup-token-Lee4gM5w.js → setup-token-6DSKE0Tn.js} +1 -1
  98. package/dist/{start-Cs1aPMq2.js → start-BdcAszpl.js} +15 -15
  99. package/dist/{start-CK6urvnN.js → start-gVOPVCgi.js} +16 -16
  100. package/dist/{status-BO5BIf81.js → status-BhRELdY_.js} +3 -3
  101. package/dist/{status-COc4xMti.js → status-CDcFjNtS.js} +1 -1
  102. package/dist/{status-C_NBOv_V.js → status-CobgQziJ.js} +1 -1
  103. package/dist/{status-uakoP719.js → status-D37aRiV3.js} +3 -3
  104. package/dist/{subagent-registry-fLI7QDKe.js → subagent-registry-CDEUbtey.js} +2 -2
  105. package/dist/{update-cli-D3Ujz_cW.js → update-cli-BjHgpnxD.js} +9 -9
  106. package/dist/{update-cli-DEe62XGU.js → update-cli-QtM0G6CE.js} +8 -8
  107. package/dist/{update-runner-DZfnquWO.js → update-runner-C8SRcVm3.js} +1 -1
  108. package/dist/{update-runner-DUl-g4mB.js → update-runner-Fb3Un6UZ.js} +1 -1
  109. package/dist/{web-Di8j762D.js → web-BDig9tCy.js} +3 -3
  110. package/dist/{web-C-cK9OCd.js → web-C4lrKULd.js} +1 -1
  111. package/dist/{web-DzSlI8A6.js → web-CPPJ5y4c.js} +1 -1
  112. package/dist/{web-Dybw4K7C.js → web-Vx_ENtYI.js} +4 -4
  113. package/package.json +6 -2
  114. package/templates/HEART.md +32 -10
  115. package/templates/SOUL.md +37 -8
  116. package/templates/profiles/architect.profile.json5 +36 -0
  117. package/templates/profiles/builder.profile.json5 +36 -0
  118. package/templates/profiles/coordinator.profile.json5 +36 -0
  119. package/templates/profiles/guardian.profile.json5 +36 -0
  120. package/templates/profiles/researcher.profile.json5 +36 -0
@@ -2,7 +2,7 @@ import "./paths-zhVksOvm.js";
2
2
  import { A as info, B as isRich, F as setVerbose, V as theme, d as defaultRuntime } from "./subsystem-BAADN1B8.js";
3
3
  import "./utils-CLYlhJuc.js";
4
4
  import "./pi-embedded-helpers-BZ9GspxK.js";
5
- import { nr as lookupContextTokens } from "./reply-93fMzde1.js";
5
+ import { nr as lookupContextTokens } from "./reply-ylwOKuOF.js";
6
6
  import "./exec-BylR5qWS.js";
7
7
  import "./agent-scope-CXxC8FFX.js";
8
8
  import { _ as DEFAULT_MODEL, d as resolveConfiguredModelRef, g as DEFAULT_CONTEXT_TOKENS, v as DEFAULT_PROVIDER } from "./model-selection-CY6r_3wt.js";
@@ -29,7 +29,7 @@ import "./auth-profiles-C-LuhW6c.js";
29
29
  import "./file-lock-Z53aFHvY.js";
30
30
  import "./model-auth-CHB3EySM.js";
31
31
  import "./tokens-SP2Q7i59.js";
32
- import "./anthropic-direct-runner-OjcTAH6g.js";
32
+ import "./anthropic-direct-runner-C5pnwYzT.js";
33
33
  import "./deliver-BKzX3YoN.js";
34
34
  import "./memory-cli-DLtBA6r5.js";
35
35
  import "./manager-D8VCuzru.js";
@@ -67,8 +67,8 @@ import "./service-Dd1DfPia.js";
67
67
  import "./diagnostics-Cu9pZAFn.js";
68
68
  import "./table-Blmz7glr.js";
69
69
  import "./audit-B05W5ckN.js";
70
- import { t as statusCommand } from "./status-BO5BIf81.js";
71
- import { r as healthCommand } from "./health-B5N6_UOf.js";
70
+ import { t as statusCommand } from "./status-BhRELdY_.js";
71
+ import { r as healthCommand } from "./health-yw_uaucz.js";
72
72
  import "./channels-status-issues-WkG3Tmxk.js";
73
73
  import "./skill-scanner-5_Y3u6SU.js";
74
74
  import "./node-service-qZXF7T7A.js";
@@ -31,7 +31,7 @@ const entries = [
31
31
  name: "gateway",
32
32
  description: "ANIMA Gateway management and control",
33
33
  register: async (program) => {
34
- (await import("./gateway-cli-iumkTohn.js")).registerGatewayCli(program);
34
+ (await import("./gateway-cli-DtIum1te.js")).registerGatewayCli(program);
35
35
  }
36
36
  },
37
37
  {
@@ -52,7 +52,7 @@ const entries = [
52
52
  name: "models",
53
53
  description: "Model discovery, switching, and provider configuration",
54
54
  register: async (program) => {
55
- (await import("./models-cli-fTZXo1zx.js")).registerModelsCli(program);
55
+ (await import("./models-cli-DdJcmOGI.js")).registerModelsCli(program);
56
56
  }
57
57
  },
58
58
  {
@@ -115,7 +115,7 @@ const entries = [
115
115
  name: "hooks",
116
116
  description: "Agent hook lifecycle and dependency management",
117
117
  register: async (program) => {
118
- (await import("./hooks-cli-BZcvdIwE.js")).registerHooksCli(program);
118
+ (await import("./hooks-cli-CPgLAn7a.js")).registerHooksCli(program);
119
119
  }
120
120
  },
121
121
  {
@@ -129,8 +129,8 @@ const entries = [
129
129
  name: "plugins",
130
130
  description: "Install, update, and manage ANIMA extensions",
131
131
  register: async (program) => {
132
- (await import("./plugins-cli-CVFzwdmI.js")).registerPluginsCli(program);
133
- const { registerPluginCliCommands } = await import("./cli-X9ikywQ3.js");
132
+ (await import("./plugins-cli-B3l7kalt.js")).registerPluginsCli(program);
133
+ const { registerPluginCliCommands } = await import("./cli-DfcdnRcl.js");
134
134
  registerPluginCliCommands(program, await loadConfig());
135
135
  }
136
136
  },
@@ -152,14 +152,14 @@ const entries = [
152
152
  name: "update",
153
153
  description: "Update ANIMA to the latest version",
154
154
  register: async (program) => {
155
- (await import("./update-cli-D3Ujz_cW.js")).registerUpdateCli(program);
155
+ (await import("./update-cli-BjHgpnxD.js")).registerUpdateCli(program);
156
156
  }
157
157
  },
158
158
  {
159
159
  name: "completion",
160
160
  description: "Generate shell completion for tab-complete support",
161
161
  register: async (program) => {
162
- (await import("./completion-cli-DNWDwhab.js").then((n) => n.n)).registerCompletionCli(program);
162
+ (await import("./completion-cli-BBm9JIHZ.js").then((n) => n.n)).registerCompletionCli(program);
163
163
  }
164
164
  }
165
165
  ];
@@ -1,4 +1,4 @@
1
- import { $n as resolveIdentityName, Pn as CURRENT_MESSAGE_MARKER, Qn as resolveEffectiveMessagesConfig, bn as extractShortModelName } from "./reply-93fMzde1.js";
1
+ import { $n as resolveIdentityName, Pn as CURRENT_MESSAGE_MARKER, Qn as resolveEffectiveMessagesConfig, bn as extractShortModelName } from "./reply-ylwOKuOF.js";
2
2
 
3
3
  //#region src/auto-reply/reply/history.ts
4
4
  const HISTORY_CONTEXT_MARKER = "[Chat messages since your last reply - for context]";
@@ -1,4 +1,4 @@
1
- import { Rt as extractShortModelName, br as resolveEffectiveMessagesConfig, gr as CURRENT_MESSAGE_MARKER, xr as resolveIdentityName } from "./subagent-registry-fLI7QDKe.js";
1
+ import { Rt as extractShortModelName, br as resolveEffectiveMessagesConfig, gr as CURRENT_MESSAGE_MARKER, xr as resolveIdentityName } from "./subagent-registry-CDEUbtey.js";
2
2
 
3
3
  //#region src/auto-reply/reply/history.ts
4
4
  const HISTORY_CONTEXT_MARKER = "[Chat messages since your last reply - for context]";
@@ -29,7 +29,7 @@ import { t as sanitizeToolResultImages } from "./tool-images-CgDT0Xzv.js";
29
29
  import { C as saveJsonFile, O as normalizeSecretInput, S as loadJsonFile, a as markAuthProfileUsed, i as markAuthProfileFailure, l as listProfilesForProvider, n as resolveAuthProfileOrder, p as ensureAuthProfileStore, r as isProfileInCooldown, s as resolveApiKeyForProfile, u as markAuthProfileGood, v as resolveAuthStorePathForDisplay, w as resolveAuthProfileDisplayLabel, y as resolveAnimaAgentDir } from "./auth-profiles-C-LuhW6c.js";
30
30
  import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-CHB3EySM.js";
31
31
  import { n as SILENT_REPLY_TOKEN, r as isSilentReplyText, t as HEARTBEAT_TOKEN } from "./tokens-SP2Q7i59.js";
32
- import { $ as isVoiceCompatibleAudio, A as getLastTtsAttempt, B as resolveTtsConfig, C as formatUserTime, D as killProcessTree, E as getShellConfig, F as isTtsProviderConfigured, G as setTtsEnabled, I as maybeApplyTtsToPayload, J as textToSpeech, K as setTtsMaxLength, L as normalizeTtsAutoMode, M as getTtsProvider, N as isSummarizationEnabled, O as sanitizeBinaryOutput, P as isTtsEnabled, R as resolveTtsApiKey, S as buildSystemPromptParams, T as resolveUserTimezone, U as setLastTtsAttempt, V as resolveTtsPrefsPath, W as setSummarizationEnabled, Y as textToSpeechTelephony, _ as resolvePromptInput, at as makeBootstrapWarn, b as writeCliImages, c as appendImagePathsToPrompt, ct as createInternalHookEvent, d as cleanupResumeProcesses, f as cleanupSuspendedCliProcesses, g as parseCliJsonl, h as parseCliJson, ht as stripHeartbeatToken, i as resolveRunWorkspaceDir, j as getTtsMaxLength, k as buildTtsSystemPromptHint, l as buildCliArgs, lt as registerInternalHook, m as normalizeCliModel, mt as resolveHeartbeatPrompt, o as appendRunnerCapabilityPrompt, ot as resolveBootstrapContextForRun, p as enqueueCliRun, q as setTtsProvider, r as redactRunIdentifier, s as resolveAnimaDocsPath, t as runAnthropicDirectAgent, u as buildSystemPrompt, ut as triggerInternalHook, v as resolveSessionIdToSend, w as resolveUserTimeFormat, x as buildAgentSystemPrompt, y as resolveSystemPromptUsage, z as resolveTtsAutoMode } from "./anthropic-direct-runner-OjcTAH6g.js";
32
+ import { $ as isVoiceCompatibleAudio, A as getLastTtsAttempt, B as resolveTtsConfig, C as formatUserTime, D as killProcessTree, E as getShellConfig, F as isTtsProviderConfigured, G as setTtsEnabled, I as maybeApplyTtsToPayload, J as textToSpeech, K as setTtsMaxLength, L as normalizeTtsAutoMode, M as getTtsProvider, N as isSummarizationEnabled, O as sanitizeBinaryOutput, P as isTtsEnabled, R as resolveTtsApiKey, S as buildSystemPromptParams, T as resolveUserTimezone, U as setLastTtsAttempt, V as resolveTtsPrefsPath, W as setSummarizationEnabled, Y as textToSpeechTelephony, _ as resolvePromptInput, at as makeBootstrapWarn, b as writeCliImages, c as appendImagePathsToPrompt, ct as createInternalHookEvent, d as cleanupResumeProcesses, f as cleanupSuspendedCliProcesses, g as parseCliJsonl, h as parseCliJson, ht as stripHeartbeatToken, i as resolveRunWorkspaceDir, j as getTtsMaxLength, k as buildTtsSystemPromptHint, l as buildCliArgs, lt as registerInternalHook, m as normalizeCliModel, mt as resolveHeartbeatPrompt, o as appendRunnerCapabilityPrompt, ot as resolveBootstrapContextForRun, p as enqueueCliRun, q as setTtsProvider, r as redactRunIdentifier, s as resolveAnimaDocsPath, t as runAnthropicDirectAgent, u as buildSystemPrompt, ut as triggerInternalHook, v as resolveSessionIdToSend, w as resolveUserTimeFormat, x as buildAgentSystemPrompt, y as resolveSystemPromptUsage, z as resolveTtsAutoMode } from "./anthropic-direct-runner-C5pnwYzT.js";
33
33
  import { _ as throwIfAborted, b as initializeGlobalHookRunner, c as applyReplyThreading, d as shouldSuppressMessagingToolReplies, f as createReplyToModeFilterForChannel, g as normalizeTargetForProvider, h as normalizeChannelTargetInput, l as filterMessagingToolDuplicates, m as buildTargetResolverSignature, o as normalizeReplyPayloadsForDelivery, p as resolveReplyToMode, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as isRenderablePayload, v as parseReplyDirectives, y as getGlobalHookRunner } from "./deliver-BKzX3YoN.js";
34
34
  import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-DLtBA6r5.js";
35
35
  import { n as resolveMemorySearchConfig } from "./manager-D8VCuzru.js";
@@ -9646,7 +9646,7 @@ function loadWebLoginQr() {
9646
9646
  return webLoginQrPromise;
9647
9647
  }
9648
9648
  function loadWebChannel() {
9649
- webChannelPromise ??= import("./web-Dybw4K7C.js");
9649
+ webChannelPromise ??= import("./web-Vx_ENtYI.js");
9650
9650
  return webChannelPromise;
9651
9651
  }
9652
9652
  function loadWhatsAppActions() {