@rubytech/create-maxy-code 0.1.540 → 0.1.542
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.
- package/package.json +1 -1
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +3 -1
- package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +10 -0
- package/payload/platform/plugins/docs/references/internals.md +2 -0
- package/payload/platform/plugins/whatsapp/PLUGIN.md +1 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/config-forwards-every-declared-field.test.d.ts +2 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/config-forwards-every-declared-field.test.d.ts.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/config-forwards-every-declared-field.test.js +57 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/config-forwards-every-declared-field.test.js.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/deliverability-grounding.test.js +9 -2
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/deliverability-grounding.test.js.map +1 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/group-info-call-site.test.d.ts +2 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/group-info-call-site.test.d.ts.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/group-info-call-site.test.js +98 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/group-info-call-site.test.js.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/index.js +18 -7
- package/payload/platform/plugins/whatsapp/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +3 -3
- package/payload/platform/scripts/check-no-live-location-claims.mjs +73 -0
- package/payload/platform/services/claude-session-manager/dist/http-server.js +4 -4
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/index.js +41 -28
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/server/{chunk-TQTZXAK3.js → chunk-HZP7BKBF.js} +0 -91
- package/payload/server/{manager-F6NXSOJW.js → manager-CM55K4J2.js} +1 -1
- package/payload/server/server.js +154 -40
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: platform-architecture
|
|
3
3
|
description: Use when grounding any documented-surface claim about what Maxy ships — plugins, skills, specialists, install/deploy flows, internals. This is the install catalogue, not evidence of what is enabled on the current account. For install state on this account, call `capabilities-here`; for documented surface, cite the `Source:` URL inline.
|
|
4
|
-
content-hash: sha256:
|
|
4
|
+
content-hash: sha256:4140a189871ed59fff6f5edd3c48c8836a40f6999c584a611164533d12021cd2
|
|
5
5
|
brand: maxy-code
|
|
6
6
|
product-name: Maxy
|
|
7
7
|
---
|
|
@@ -5438,6 +5438,8 @@ There is exactly one place each datum is read from, and every subsystem reads it
|
|
|
5438
5438
|
- **Default agent + account id** come from the canonical account config `data/accounts/<id>/account.json`, resolved via `resolveAccount` / `resolveDefaultAgentSlug` / `getDefaultAccountId` (`app/lib/claude-agent/account.ts`). The UI server's bare-root handler and branding loader read it through these helpers — never from `~/.<brand>/account.json`, which nothing writes. A `null` default means a genuinely unset `defaultAgent`; the root logs `[public-root] op=serve-default slug=<s>` on success and `op=no-default` only when the canonical default is truly empty.
|
|
5439
5439
|
- **Identity files** (IDENTITY.md, SOUL.md, KNOWLEDGE.md) come from `agents/<slug>/` — keyed on the agent's slug, never the literal role. A public agent renamed to a slug `≠ "public"` (e.g. `maxy-info`) spawns from `agents/maxy-info/`. Admin reads `agents/admin/`. The spawn composer and the standing reachability audit resolve this directory through one shared function, `resolveAgentIdentityDir(accountDir, role, slug)` (`claude-session-manager/src/agent-identity-locator.ts`), so the path the audit vouches for is byte-identical to the path the spawn reads — the audit's `reachable=true` implies the spawn will find the files, and a slug whose files are misplaced is reported `reachable=false reason=files-missing file=<path>` without a visitor request.
|
|
5440
5440
|
|
|
5441
|
+
Which account is `<id>`? The slug is the address, and the address names the account. `resolvePublicAddressFromDisk` (`platform/ui/app/lib/claude-agent/public-address.ts`) walks every valid account for an active agent at the requested slug: exactly one claimant serves; the house serves when it is among several claimants and the others are refused by name; two or more non-house claimants serve nobody. The bare root `/` carries no slug and stays the house's door with the house's `defaultAgent`. The four public surfaces — the `/{slug}` page, `POST /api/chat`, `POST /api/session` and the visitor transcript reader — share that one resolver, and the resolved account rides `agentAccountId` to `/public-spawn`, which re-scopes the spawn onto it. A visitor's uploads follow the same account, and the reader locates them from the session's own sidecar `accountId` rather than re-deriving them from the slug, because a slug's owner can change after the session ran. Slugs are not unique across accounts, so a collision is reported on every refusal (`[webchat] op=address-collision`) and counted on every run of the `webchat-address-audit` loop.
|
|
5442
|
+
|
|
5441
5443
|
### Observability
|
|
5442
5444
|
|
|
5443
5445
|
Admin: `[admin-query-classifier]` log line with `topicChange`, `topicChangeConfidence`, `existingTopic`, `latencyMs`.
|
|
@@ -9,6 +9,16 @@ Invoked by the admin agent directly.
|
|
|
9
9
|
|
|
10
10
|
This is the platform's release timeline, newest first. Each entry shows the date it shipped and the version it shipped in, so you can tell the operator how current their install is. To compare, read the installed version from `capabilities-here` and match it against the versions below. Keep answers high level and in plain English; this is a summary, not a full commit log.
|
|
11
11
|
|
|
12
|
+
## 2026-08-01 (0.1.542)
|
|
13
|
+
|
|
14
|
+
- A public agent's web chat now runs in the account that owns it, including its branding, rather than always the main account. A standing check reports the same agent name claimed by two accounts.
|
|
15
|
+
- Reading WhatsApp group details is now limited to the account entitled to see them.
|
|
16
|
+
|
|
17
|
+
## 2026-08-01 (0.1.541)
|
|
18
|
+
|
|
19
|
+
- Setting whether a registered party gets a reply now takes effect. The setting was accepted but never sent through.
|
|
20
|
+
- The start-up check now reads the credentials the device actually uses, so it no longer reports a problem that is not there.
|
|
21
|
+
|
|
12
22
|
## 2026-07-31 (0.1.540)
|
|
13
23
|
|
|
14
24
|
- A registered party can now be set to notify you without the assistant replying to them, so you see the message and decide yourself.
|
|
@@ -238,6 +238,8 @@ There is exactly one place each datum is read from, and every subsystem reads it
|
|
|
238
238
|
- **Default agent + account id** come from the canonical account config `data/accounts/<id>/account.json`, resolved via `resolveAccount` / `resolveDefaultAgentSlug` / `getDefaultAccountId` (`app/lib/claude-agent/account.ts`). The UI server's bare-root handler and branding loader read it through these helpers — never from `~/.<brand>/account.json`, which nothing writes. A `null` default means a genuinely unset `defaultAgent`; the root logs `[public-root] op=serve-default slug=<s>` on success and `op=no-default` only when the canonical default is truly empty.
|
|
239
239
|
- **Identity files** (IDENTITY.md, SOUL.md, KNOWLEDGE.md) come from `agents/<slug>/` — keyed on the agent's slug, never the literal role. A public agent renamed to a slug `≠ "public"` (e.g. `maxy-info`) spawns from `agents/maxy-info/`. Admin reads `agents/admin/`. The spawn composer and the standing reachability audit resolve this directory through one shared function, `resolveAgentIdentityDir(accountDir, role, slug)` (`claude-session-manager/src/agent-identity-locator.ts`), so the path the audit vouches for is byte-identical to the path the spawn reads — the audit's `reachable=true` implies the spawn will find the files, and a slug whose files are misplaced is reported `reachable=false reason=files-missing file=<path>` without a visitor request.
|
|
240
240
|
|
|
241
|
+
Which account is `<id>`? The slug is the address, and the address names the account. `resolvePublicAddressFromDisk` (`platform/ui/app/lib/claude-agent/public-address.ts`) walks every valid account for an active agent at the requested slug: exactly one claimant serves; the house serves when it is among several claimants and the others are refused by name; two or more non-house claimants serve nobody. The bare root `/` carries no slug and stays the house's door with the house's `defaultAgent`. The four public surfaces — the `/{slug}` page, `POST /api/chat`, `POST /api/session` and the visitor transcript reader — share that one resolver, and the resolved account rides `agentAccountId` to `/public-spawn`, which re-scopes the spawn onto it. A visitor's uploads follow the same account, and the reader locates them from the session's own sidecar `accountId` rather than re-deriving them from the slug, because a slug's owner can change after the session ran. Slugs are not unique across accounts, so a collision is reported on every refusal (`[webchat] op=address-collision`) and counted on every run of the `webchat-address-audit` loop.
|
|
242
|
+
|
|
241
243
|
### Observability
|
|
242
244
|
|
|
243
245
|
Admin: `[admin-query-classifier]` log line with `topicChange`, `topicChangeConfidence`, `existingTopic`, `latencyMs`.
|
|
@@ -98,7 +98,7 @@ Four tools for reading WhatsApp conversation context. The first two read from th
|
|
|
98
98
|
| `whatsapp-conversations` | JIDs with recent message activity, conversation type (group/DM), last message timestamp, message count |
|
|
99
99
|
| `whatsapp-messages` | In-memory ring-buffer messages for a specific JID — sender, body, timestamp, reply context. Supports optional `limit` for most recent N messages |
|
|
100
100
|
| `whatsapp-conversation-graph-state` | Persisted WhatsApp messages from the on-disk store (no longer Neo4j). Pass `jid` for one conversation (plus the resolved `sessionId` and a divergence header vs in-memory count). Omit `jid` for every sender across the account in one call, each resolved to its `:Person` name. Use when the question is "what got persisted" or "who has messaged us that never got a reply session". Defaults to the calling session's own account (`ACCOUNT_ID`); for a sub-account session this returns the house-store threads whose counterparty is bound to that sub-account(read-time projection — the store itself stays house-keyed) |
|
|
101
|
-
| `whatsapp-group-info` | Group metadata from WhatsApp servers — subject, description, participants with admin flags, creation date. Requires active connection |
|
|
101
|
+
| `whatsapp-group-info` | Group metadata from WhatsApp servers — subject, description, participants with admin flags, creation date. Requires active connection. Defaults to the calling session's own account; a house admin may pass another `accountId`, and any other cross-account request is refused |
|
|
102
102
|
|
|
103
103
|
## Group access — observation-only
|
|
104
104
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-forwards-every-declared-field.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/config-forwards-every-declared-field.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// Task 2292 follow-up — every parameter the `whatsapp-config` tool declares must
|
|
2
|
+
// reach the route, or the route reads `undefined` and answers truthfully while
|
|
3
|
+
// the operator sees a tool that accepts a value and does nothing with it.
|
|
4
|
+
//
|
|
5
|
+
// Measured on a device 2026-08-01: `set-registered-party-dispatch` with
|
|
6
|
+
// `dispatch:false` returned `Missing required boolean field "dispatch"` three
|
|
7
|
+
// times. The route's validation (`whatsapp.ts:1069`, `typeof body.dispatch !==
|
|
8
|
+
// 'boolean'`) was correct; the handler destructured
|
|
9
|
+
// `{ action, phone, …, dispatchInbound, policy, enabled }` and forwarded the same
|
|
10
|
+
// list, so `dispatch` was never in the body at any value. `dispatch:true` would
|
|
11
|
+
// have failed identically, and `add-registered-party` created rows at the
|
|
12
|
+
// default while reporting success.
|
|
13
|
+
//
|
|
14
|
+
// Same class as Task 2233, where three tools omitted `callerScopeHeaders` and
|
|
15
|
+
// every unit test passed while the route did nothing on a device. A schema key
|
|
16
|
+
// that never reaches the wire is invisible to tests that mock the call.
|
|
17
|
+
import { describe, expect, it } from 'vitest';
|
|
18
|
+
import { readFileSync } from 'node:fs';
|
|
19
|
+
import { join } from 'node:path';
|
|
20
|
+
const SRC = readFileSync(join(__dirname, '..', 'index.ts'), 'utf8');
|
|
21
|
+
/** Top-level keys of the whatsapp-config input schema. Nested keys (the members
|
|
22
|
+
* of `policy`) are deliberately excluded: they travel inside their parent. */
|
|
23
|
+
function declaredTopLevelKeys() {
|
|
24
|
+
const start = SRC.indexOf('"whatsapp-config"');
|
|
25
|
+
const block = SRC.slice(start, start + 9000);
|
|
26
|
+
const handler = block.indexOf('async ({ action');
|
|
27
|
+
const schema = block.slice(0, handler);
|
|
28
|
+
// Two-space indent inside the schema object; four-space keys are nested.
|
|
29
|
+
return [...schema.matchAll(/^ {4}(\w+): z\./gm)].map((m) => m[1]);
|
|
30
|
+
}
|
|
31
|
+
function forwardedKeys() {
|
|
32
|
+
const m = SRC.match(/callApi\("whatsapp-config"[\s\S]*?POST",\s*\{([\s\S]*?)\},\s*callerScopeHeaders/);
|
|
33
|
+
if (!m)
|
|
34
|
+
throw new Error('whatsapp-config callApi body not found');
|
|
35
|
+
return [...m[1].matchAll(/(\w+)\s*(?::[^,]+)?(?:,|$)/g)].map((x) => x[1]);
|
|
36
|
+
}
|
|
37
|
+
describe('whatsapp-config forwards every declared field (Task 2292 follow-up)', () => {
|
|
38
|
+
it('sends `dispatch` to the route', () => {
|
|
39
|
+
// The specific regression. Red before the fix.
|
|
40
|
+
expect(forwardedKeys()).toContain('dispatch');
|
|
41
|
+
});
|
|
42
|
+
it('leaves no declared top-level parameter unforwarded', () => {
|
|
43
|
+
const declared = declaredTopLevelKeys();
|
|
44
|
+
const forwarded = new Set(forwardedKeys());
|
|
45
|
+
expect(declared.length).toBeGreaterThan(0);
|
|
46
|
+
const missing = declared.filter((k) => !forwarded.has(k));
|
|
47
|
+
expect(missing).toEqual([]);
|
|
48
|
+
});
|
|
49
|
+
it('destructures `dispatch` from the handler arguments', () => {
|
|
50
|
+
// Forwarding a name the handler never bound would be a ReferenceError at
|
|
51
|
+
// build time, but the assertion states the requirement rather than relying
|
|
52
|
+
// on tsc to imply it.
|
|
53
|
+
const handler = SRC.match(/async \(\{ action[^)]*\}\) => \{/);
|
|
54
|
+
expect(handler?.[0]).toContain('dispatch');
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=config-forwards-every-declared-field.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-forwards-every-declared-field.test.js","sourceRoot":"","sources":["../../src/__tests__/config-forwards-every-declared-field.test.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,+EAA+E;AAC/E,0EAA0E;AAC1E,EAAE;AACF,wEAAwE;AACxE,8EAA8E;AAC9E,+EAA+E;AAC/E,oDAAoD;AACpD,kFAAkF;AAClF,gFAAgF;AAChF,0EAA0E;AAC1E,mCAAmC;AACnC,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,wEAAwE;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAA;AAEnE;+EAC+E;AAC/E,SAAS,oBAAoB;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACtC,yEAAyE;IACzE,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAA;IACtG,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3E,CAAC;AAED,QAAQ,CAAC,qEAAqE,EAAE,GAAG,EAAE;IACnF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,+CAA+C;QAC/C,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAA;QACvC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC,CAAA;QAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACzD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,yEAAyE;QACzE,2EAA2E;QAC3E,sBAAsB;QACtB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAC7D,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/deliverability-grounding.test.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
//
|
|
3
3
|
// The agent confabulated a false constraint ("the single line is pointed at
|
|
4
4
|
// the wrong account so it can't message this manager") because the skill named
|
|
5
|
-
// only
|
|
5
|
+
// only a since-falsified `whatsapp-send-admin` limit and never pointed at
|
|
6
6
|
// the scheduled-dispatch path. The routing code is correct (1377/1382/1383/1385);
|
|
7
7
|
// this gate keeps the *grounding text* that removes the confabulation's foothold
|
|
8
8
|
// from silently regressing. Mirrors scheduling's time-resolve-description.test.ts.
|
|
@@ -18,7 +18,14 @@ describe("WhatsApp deliverability grounding", () => {
|
|
|
18
18
|
});
|
|
19
19
|
it("the config skill routes proactive/scheduled manager sends to agentDispatch", () => {
|
|
20
20
|
expect(SKILL).toContain("An account manager is a valid dispatch destination");
|
|
21
|
-
|
|
21
|
+
// Task 1435 pinned "accepts admin phones only, not managers". That was true
|
|
22
|
+
// when written and became false: the route admits THREE classes
|
|
23
|
+
// (`server/routes/whatsapp.ts:1130-1175` — isAdmin | managerMatch |
|
|
24
|
+
// partyMatch, via=admin-phone|account-manager|registered-party). A grounding
|
|
25
|
+
// gate that pins a stale limit teaches the agent to refuse a supported send,
|
|
26
|
+
// so this now asserts the corrected fact instead.
|
|
27
|
+
expect(SKILL).toContain("it admits **three** destination classes, not one");
|
|
28
|
+
expect(SKILL).not.toContain("accepts admin phones only");
|
|
22
29
|
});
|
|
23
30
|
it("the config skill forbids the false line-ownership moves", () => {
|
|
24
31
|
expect(SKILL).toContain('"pointed at the wrong account"');
|
package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/deliverability-grounding.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliverability-grounding.test.js","sourceRoot":"","sources":["../../src/__tests__/deliverability-grounding.test.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,
|
|
1
|
+
{"version":3,"file":"deliverability-grounding.test.js","sourceRoot":"","sources":["../../src/__tests__/deliverability-grounding.test.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,0EAA0E;AAC1E,kFAAkF;AAClF,iFAAiF;AACjF,mFAAmF;AACnF,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,KAAK,GAAG,YAAY,CACxB,OAAO,CAAC,SAAS,EAAE,iDAAiD,CAAC,EACrE,MAAM,CACP,CAAC;AACF,MAAM,SAAS,GAAG,YAAY,CAC5B,OAAO,CAAC,SAAS,EAAE,0CAA0C,CAAC,EAC9D,MAAM,CACP,CAAC;AAEF,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,mDAAmD,CAAC,CAAC;QAC7E,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CACrB,kEAAkE,CACnE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,oDAAoD,CAAC,CAAC;QAC9E,4EAA4E;QAC5E,gEAAgE;QAChE,oEAAoE;QACpE,6EAA6E;QAC7E,6EAA6E;QAC7E,kDAAkD;QAClD,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CACrB,uCAAuC,CACxC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;QAC3E,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,8CAA8C,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/group-info-call-site.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-info-call-site.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/group-info-call-site.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// Task 2247 — the caller-scope gate on /api/whatsapp/group-info is only real if
|
|
2
|
+
// this call site actually stamps the caller headers. A helper-level test of
|
|
3
|
+
// `callerScopeHeaders` passes whether or not any tool calls it; Task 2233's gate
|
|
4
|
+
// went inert exactly that way. So this spawns the compiled server, points
|
|
5
|
+
// PLATFORM_PORT at a stub, and asserts what the stub RECEIVED.
|
|
6
|
+
import { describe, it, expect } from "vitest";
|
|
7
|
+
import { spawn } from "node:child_process";
|
|
8
|
+
import { createServer } from "node:http";
|
|
9
|
+
import { resolve } from "node:path";
|
|
10
|
+
const SERVER_BIN = resolve(__dirname, "..", "..", "dist", "index.js");
|
|
11
|
+
const GROUP = "120363000000000000@g.us";
|
|
12
|
+
/** Start a stub that answers every request with a minimal group-info body and
|
|
13
|
+
* records what it was sent. */
|
|
14
|
+
async function startStub() {
|
|
15
|
+
const received = [];
|
|
16
|
+
const server = createServer((req, res) => {
|
|
17
|
+
received.push({ url: req.url ?? "", headers: req.headers });
|
|
18
|
+
res.writeHead(200, { "content-type": "application/json" });
|
|
19
|
+
res.end(JSON.stringify({ jid: GROUP, subject: "Stub", participantCount: 0, participants: [] }));
|
|
20
|
+
});
|
|
21
|
+
await new Promise((r) => server.listen(0, "127.0.0.1", r));
|
|
22
|
+
const addr = server.address();
|
|
23
|
+
const port = typeof addr === "object" && addr ? addr.port : 0;
|
|
24
|
+
return {
|
|
25
|
+
port,
|
|
26
|
+
received,
|
|
27
|
+
close: () => new Promise((r) => { server.close(() => r()); }),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/** Drive one `tools/call` against the compiled stdio server and resolve once the
|
|
31
|
+
* child has exited, so the stub has certainly seen the request. */
|
|
32
|
+
async function callTool(port, env, args) {
|
|
33
|
+
const child = spawn(process.execPath, [SERVER_BIN], {
|
|
34
|
+
env: { PATH: process.env.PATH ?? "", PLATFORM_PORT: String(port), ...env },
|
|
35
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
36
|
+
});
|
|
37
|
+
child.stdout.resume();
|
|
38
|
+
child.stderr.resume();
|
|
39
|
+
child.stdin.write(JSON.stringify({
|
|
40
|
+
jsonrpc: "2.0", id: 1, method: "initialize",
|
|
41
|
+
params: { protocolVersion: "2024-11-05", capabilities: {}, clientInfo: { name: "call-site-test", version: "0" } },
|
|
42
|
+
}) + "\n");
|
|
43
|
+
child.stdin.write(JSON.stringify({ jsonrpc: "2.0", method: "notifications/initialized" }) + "\n");
|
|
44
|
+
child.stdin.write(JSON.stringify({
|
|
45
|
+
jsonrpc: "2.0", id: 2, method: "tools/call",
|
|
46
|
+
params: { name: "whatsapp-group-info", arguments: args },
|
|
47
|
+
}) + "\n");
|
|
48
|
+
await new Promise((r) => setTimeout(r, 800));
|
|
49
|
+
child.stdin.end();
|
|
50
|
+
await new Promise((r) => { child.on("exit", () => r()); });
|
|
51
|
+
}
|
|
52
|
+
describe("whatsapp-group-info call site (Task 2247)", () => {
|
|
53
|
+
it("stamps the caller account header on the route call", async () => {
|
|
54
|
+
const stub = await startStub();
|
|
55
|
+
try {
|
|
56
|
+
await callTool(stub.port, { ACCOUNT_ID: "sub-1" }, { jid: GROUP });
|
|
57
|
+
expect(stub.received.length).toBeGreaterThan(0);
|
|
58
|
+
expect(stub.received[0].headers["x-maxy-caller-account"]).toBe("sub-1");
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
await stub.close();
|
|
62
|
+
}
|
|
63
|
+
}, 15_000);
|
|
64
|
+
it("stamps the house-admin scope header when the env carries one", async () => {
|
|
65
|
+
const stub = await startStub();
|
|
66
|
+
try {
|
|
67
|
+
await callTool(stub.port, { ACCOUNT_ID: "house-1", HOUSE_ADMIN_SCOPE: "house-1" }, { jid: GROUP });
|
|
68
|
+
expect(stub.received.length).toBeGreaterThan(0);
|
|
69
|
+
expect(stub.received[0].headers["x-maxy-house-admin-scope"]).toBe("house-1");
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
await stub.close();
|
|
73
|
+
}
|
|
74
|
+
}, 15_000);
|
|
75
|
+
it("sends no accountId param when the agent named no account", async () => {
|
|
76
|
+
const stub = await startStub();
|
|
77
|
+
try {
|
|
78
|
+
await callTool(stub.port, { ACCOUNT_ID: "sub-1" }, { jid: GROUP });
|
|
79
|
+
expect(stub.received.length).toBeGreaterThan(0);
|
|
80
|
+
expect(stub.received[0].url).not.toContain("accountId=");
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
await stub.close();
|
|
84
|
+
}
|
|
85
|
+
}, 15_000);
|
|
86
|
+
it("sends the accountId param verbatim when the agent named one", async () => {
|
|
87
|
+
const stub = await startStub();
|
|
88
|
+
try {
|
|
89
|
+
await callTool(stub.port, { ACCOUNT_ID: "sub-1" }, { jid: GROUP, accountId: "other-9" });
|
|
90
|
+
expect(stub.received.length).toBeGreaterThan(0);
|
|
91
|
+
expect(stub.received[0].url).toContain("accountId=other-9");
|
|
92
|
+
}
|
|
93
|
+
finally {
|
|
94
|
+
await stub.close();
|
|
95
|
+
}
|
|
96
|
+
}, 15_000);
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=group-info-call-site.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-info-call-site.test.js","sourceRoot":"","sources":["../../src/__tests__/group-info-call-site.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -236,7 +236,7 @@ lifelineTool(server, "whatsapp-config", [
|
|
|
236
236
|
adminPhones: z.array(z.string()).optional(),
|
|
237
237
|
allowFrom: z.array(z.string()).optional(),
|
|
238
238
|
}).optional().describe("For set-account-policy: the fields to set on this account's own inbound policy. At least one required. dmPolicy 'open' requires allowFrom to contain '*' in the same call."),
|
|
239
|
-
}, async ({ action, phone, managesAccount, mode, account, party, slug, fields, accountId, dispatchInbound, policy, enabled }) => {
|
|
239
|
+
}, async ({ action, phone, managesAccount, mode, account, party, slug, fields, accountId, dispatchInbound, dispatch, policy, enabled }) => {
|
|
240
240
|
try {
|
|
241
241
|
// Parse fields JSON string for update-config
|
|
242
242
|
let parsedFields;
|
|
@@ -248,7 +248,7 @@ lifelineTool(server, "whatsapp-config", [
|
|
|
248
248
|
return textResult('Invalid JSON in "fields" parameter. Expected a JSON object, e.g. {"dmPolicy":"open","allowFrom":["*"]}', true);
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
|
-
const result = await callApi("whatsapp-config", "/api/whatsapp/config", "POST", { action, phone, managesAccount, mode, account, party, slug, fields: parsedFields, accountId, dispatchInbound, policy, enabled }, callerScopeHeaders(process.env));
|
|
251
|
+
const result = await callApi("whatsapp-config", "/api/whatsapp/config", "POST", { action, phone, managesAccount, mode, account, party, slug, fields: parsedFields, accountId, dispatchInbound, dispatch, policy, enabled }, callerScopeHeaders(process.env));
|
|
252
252
|
if (!result.ok)
|
|
253
253
|
return textResult(result.error ?? "Config operation failed.", true);
|
|
254
254
|
// Task 2235 — an inherited value and a chosen one read identically, so the
|
|
@@ -552,13 +552,24 @@ lifelineTool(server, "whatsapp-conversation-graph-state", [
|
|
|
552
552
|
// ─── whatsapp-group-info ─────────────────────────────────────────────
|
|
553
553
|
lifelineTool(server, "whatsapp-group-info", "Get metadata for a WhatsApp group: subject (name), description, participant list with admin flags, creation date, and owner. Queries WhatsApp servers directly (requires active connection). The JID must be a group JID ending in @g.us — use whatsapp-conversations or whatsapp-config action list-groups to find group JIDs.", {
|
|
554
554
|
jid: z.string().describe("Group JID (must end with @g.us)"),
|
|
555
|
-
accountId: z.string().optional().describe('Account ID
|
|
555
|
+
accountId: z.string().optional().describe('Account ID. Defaults to the calling session’s own account; the house admin may pass another account id explicitly.'),
|
|
556
556
|
}, async ({ jid, accountId }) => {
|
|
557
557
|
try {
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
558
|
+
// Task 2247 — `accountId` rides the query string ONLY when the agent named
|
|
559
|
+
// one. Hardcoding "default" here made every call look explicit to the
|
|
560
|
+
// route, which never ran the Task 2242 caller-default arm and would be
|
|
561
|
+
// refused by the gate that task added. Omitting the param lets the route
|
|
562
|
+
// resolve the caller's own account and keeps `targetSource` a live
|
|
563
|
+
// discriminator on agent traffic rather than a constant `explicit`.
|
|
564
|
+
const params = new URLSearchParams({ jid });
|
|
565
|
+
if (accountId)
|
|
566
|
+
params.set("accountId", accountId);
|
|
567
|
+
// Not "caller-default": that is one of the route's OWN targetSource values,
|
|
568
|
+
// and a house session omitting the account resolves to `house-default`
|
|
569
|
+
// there. This line reports only what this process knows, which is that it
|
|
570
|
+
// named nobody.
|
|
571
|
+
console.error(`[whatsapp-mcp] whatsapp-group-info called for account ${accountId ?? "(unnamed — route resolves)"} jid=${jid}`);
|
|
572
|
+
const result = await callApi("whatsapp-group-info", `/api/whatsapp/group-info?${params}`, "GET", undefined, callerScopeHeaders(process.env));
|
|
562
573
|
if (result.error)
|
|
563
574
|
return textResult(`Failed to get group info: ${result.error}`, true);
|
|
564
575
|
const parts = (result.participants ?? []).map((p) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,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,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE1E,qEAAqE;AACrE,+DAA+D;AAC/D,uDAAuD;AACvD,EAAE;AACF,wEAAwE;AACxE,oEAAoE;AACpE,uEAAuE;AACvE,sEAAsE;AACtE,IAAI,aAAa,GAAkB,IAAI,CAAC;AACxC,SAAS,UAAU,CAAC,QAAgB;IAClC,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,aAAa,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,cAAc,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;QAClE,aAAa,GAAG,oBAAoB,IAAI,EAAE,CAAC;QAC3C,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,QAAQ,6BAA6B,CAAC,CAAC;QAChG,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,SAAS,OAAO,CAAC,QAAgB,EAAE,IAAY,EAAE,SAAyB,MAAM,EAAE,IAAc,EAAE,YAAqC;IACrI,OAAO,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,OAAO,GAAG,KAAK;IAC/C,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;QAC1C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,0EAA0E;AAE1E,YAAY,CAAC,MAAM,EACjB,sBAAsB,EACtB,sTAAsT,EACtT;IACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;IAC3G,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oHAAoH,CAAC;IAC/J,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CAClF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAQ,CAAC;QAC/J,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,uBAAuB,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QACjF,OAAO,UAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrG,CAAC;AACH,CAAC,CACF,CAAC;AAEF,0EAA0E;AAE1E,YAAY,CAAC,MAAM,EACjB,qBAAqB,EACrB,4PAA4P,EAC5P;IACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oHAAoH,CAAC;IAC/J,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAClF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAQ,CAAC;QAC1J,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,sBAAsB,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAEhF,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACzC,QAAQ,IAAI,mBAAmB,MAAM,CAAC,SAAS,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACpG,CAAC;AACH,CAAC,CACF,CAAC;AAEF,0EAA0E;AAE1E,YAAY,CAAC,MAAM,EACjB,iBAAiB,EACjB,6IAA6I,EAC7I,EAAE,EACF,KAAK,IAAI,EAAE;IACT,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAQ,CAAC;QAClI,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,wBAAwB,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAElF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,2EAA2E,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACpC,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,OAAO,GAAG,CAAC,CAAC,SAAS,GAAG,KAAK,kKAAkK,CAAC;YAClM,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,OAAO,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,KAAK,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,wBAAwB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACtG,CAAC;AACH,CAAC,CACF,CAAC;AAEF,yEAAyE;AAEzE,YAAY,CAAC,MAAM,EACjB,mBAAmB,EACnB,iOAAiO,EACjO;IACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;CAClG,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,EAAE,yBAAyB,KAAK,EAAE,EAAE,KAAK,CAAQ,CAAC;QAClG,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,0BAA0B,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAEpF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/E,KAAK,CAAC,IAAI,CACR,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,QAAQ,+BAA+B,MAAM,EAAE,CAChH,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;QACzC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YAChD,+BAA+B;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC/C,KAAK,CAAC,IAAI,CACR,KAAK,EAAE,IAAI,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7G,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,GAAG,EAAE,cAAc,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACxG,CAAC;AACH,CAAC,CACF,CAAC;AAEF,0EAA0E;AAE1E,YAAY,CAAC,MAAM,EACjB,qBAAqB,EACrB,iFAAiF,EACjF;IACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kIAAkI,CAAC;CAC9K,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAQ,CAAC;QAC/I,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,sBAAsB,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAChF,OAAO,UAAU,CAAC,qBAAqB,MAAM,CAAC,SAAS,iBAAiB,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACpG,CAAC;AACH,CAAC,CACF,CAAC;AAEF,yEAAyE;AAEzE,YAAY,CAAC,MAAM,EACjB,iBAAiB,EACjB;IACE,yCAAyC;IACzC,2GAA2G;IAC3G,mDAAmD;IACnD,mDAAmD;IACnD,oXAAoX;IACpX,wFAAwF;IACxF,+DAA+D;IAC/D,0XAA0X;IAC1X,wYAAwY;IACxY,+FAA+F;IAC/F,8DAA8D;IAC9D,gUAAgU;IAChU,gKAAgK;IAChK,wIAAwI;IACxI,0eAA0e;IAC1e,6lBAA6lB;IAC7lB,sKAAsK;IACtK,4GAA4G;IAC5G,iEAAiE;IACjE,iRAAiR;IACjR,gbAAgb;IAChb,+JAA+J;IAC/J,sGAAsG;IACtG,mGAAmG;IACnG,iJAAiJ;IACjJ,iTAAiT;IACjT,qcAAqc;IACrc,4qBAA4qB;IAC5qB,0DAA0D;CAC3D,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ;IACE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;QACb,iBAAiB;QACjB,oBAAoB;QACpB,mBAAmB;QACnB,qBAAqB;QACrB,wBAAwB;QACxB,uBAAuB;QACvB,sBAAsB;QACtB,+BAA+B;QAC/B,yBAAyB;QACzB,yBAAyB;QACzB,kBAAkB;QAClB,kBAAkB;QAClB,oBAAoB;QACpB,0BAA0B;QAC1B,4BAA4B;QAC5B,4BAA4B;QAC5B,eAAe;QACf,YAAY;QACZ,sBAAsB;QACtB,oBAAoB;QACpB,oBAAoB;QACpB,QAAQ;QACR,aAAa;KACd,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mGAAmG,CAAC;IAC1I,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0JAA0J,CAAC;IAC1M,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kSAAkS,CAAC;IAC3V,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qOAAqO,CAAC;IAC9Q,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wPAAwP,CAAC;IAC/R,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yTAAyT,CAAC;IACpW,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAClF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sXAAsX,CAAC;IACha,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qHAAqH,CAAC;IAC7J,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oVAAoV,CAAC;IAC/X,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0IAA0I,CAAC;IAC5L,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC9D,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC3C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC1C,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4KAA4K,CAAC;CACrM,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IAC3H,IAAI,CAAC;QACH,6CAA6C;QAC7C,IAAI,YAAiD,CAAC;QACtD,IAAI,MAAM,KAAK,eAAe,IAAI,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,UAAU,CAAC,wGAAwG,EAAE,IAAI,CAAC,CAAC;YACpI,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAQ,CAAC;QAC1P,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,0BAA0B,EAAE,IAAI,CAAC,CAAC;QAEpF,2EAA2E;QAC3E,0EAA0E;QAC1E,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG;gBACZ,8BAA8B,MAAM,CAAC,GAAG,GAAG;gBAC3C,kBAAkB,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,0BAA0B,GAAG;gBAChH,kBAAkB,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,0BAA0B,GAAG;gBACzL,kBAAkB,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,0BAA0B,GAAG;aACpL,CAAC;YACF,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC,4CAA4C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC,kEAAkE,CAAC,CAAC;YAC/G,OAAO,UAAU,CAAC,kBAAkB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,MAAM,KAAK,uBAAuB,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAuE,CAAC;YACtH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC,2FAA2F,CAAC,CAAC;YACzI,OAAO,UAAU,CAAC,sBAAsB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBACzD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC;gBACxE,OAAO,KAAK,CAAC,MAAM,GAAG,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACvE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAED,0EAA0E;QAC1E,sEAAsE;QACtE,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;YACzC,wEAAwE;YACxE,mEAAmE;YACnE,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAA2E,CAAC;YAC3H,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC,sJAAsJ,CAAC,CAAC;YACpM,OAAO,UAAU,CAAC,wBAAwB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/L,CAAC;QAED,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAmC,CAAC;YAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,UAAU,CAAC,8EAA8E,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO,UAAU,CAAC,0BAA0B,SAAS,GAAG,WAAW,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,6EAA6E;QAC7E,0EAA0E;QAC1E,0DAA0D;QAC1D,IAAI,MAAM,KAAK,4BAA4B,EAAE,CAAC;YAC5C,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAA4B,CAAC;YACnD,MAAM,WAAW,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,aAAa,MAAM,GAAG,CAAC;YAC/H,OAAO,UAAU,CACf,EAAE;gBACA,CAAC,CAAC,wCAAwC,WAAW,wFAAwF;gBAC7I,CAAC,CAAC,yCAAyC,WAAW,sGAAsG,CAC/J,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC,2FAA2F,CAAC,CAAC;YACxI,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACvE,OAAO,UAAU,CAAC,kBAAkB,MAAM,CAAC,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,qBAAqB,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,QAAQ;gBAAE,OAAO,UAAU,CAAC,mDAAmD,CAAC,CAAC;YACtF,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC,+FAA+F,CAAC,CAAC;YAC5I,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,gBAAgB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/F,OAAO,UAAU,CAAC,oBAAoB,MAAM,CAAC,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1G,CAAC;AACH,CAAC,CACF,CAAC;AAEF,yEAAyE;AAEzE,YAAY,CAAC,MAAM,EACjB,qBAAqB,EACrB,yeAAye,EACze;IACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yGAAyG,CAAC;IACrI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kLAAkL,CAAC;CAC9N,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IACnC,IAAI,CAAC;QACH,yEAAyE;QACzE,wEAAwE;QACxE,sEAAsE;QACtE,0BAA0B;QAC1B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAQ,CAAC;QAC5J,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,gBAAgB,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1E,OAAO,UAAU,CAAC,WAAW,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,gBAAgB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC,CACF,CAAC;AAEF,yEAAyE;AAEzE,YAAY,CAAC,MAAM,EACjB,yBAAyB,EACzB,6ZAA6Z,EAC7Z;IACE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iFAAiF,CAAC;IACrH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;IAChG,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;CACrG,EACD,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE;IAClD,IAAI,CAAC;QACH,kEAAkE;QAClE,iEAAiE;QACjE,oEAAoE;QACpE,uDAAuD;QACvD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAQ,CAAC;QACnL,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,kBAAkB,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5E,OAAO,UAAU,CAAC,YAAY,MAAM,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACrF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChG,CAAC;AACH,CAAC,CACF,CAAC;AAEF,wEAAwE;AAExE,YAAY,CAAC,MAAM,EACjB,gBAAgB,EAChB,sdAAsd,EACtd;IACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6IAA6I,CAAC;IAC7K,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oIAAoI,CAAC;CAChL,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IACvC,IAAI,CAAC;QACH,6EAA6E;QAC7E,8EAA8E;QAC9E,MAAM,EAAE,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAQ,CAAC;QAC1J,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,iBAAiB,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3E,OAAO,UAAU,CAAC,cAAc,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC,CACF,CAAC;AAEF,wEAAwE;AAExE,YAAY,CAAC,MAAM,EACjB,wBAAwB,EACxB,+YAA+Y,EAC/Y;IACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oHAAoH,CAAC;CAChK,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,4DAA4D,EAAE,EAAE,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,wBAAwB,EAAE,yCAAyC,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAQ,CAAC;QACpL,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,iCAAiC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAE3F,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;QACjD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,UAAU,CAAC,0GAA0G,CAAC,CAAC;QAChI,CAAC;QAED,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;YACrD,MAAM,EAAE,GAAG,CAAC,CAAC,oBAAoB;gBAC/B,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;gBACvD,CAAC,CAAC,SAAS,CAAC;YACd,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,YAAY,oBAAoB,EAAE,EAAE,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,kBAAkB,aAAa,CAAC,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,gDAAgD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClH,OAAO,UAAU,CAAC,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/G,CAAC;AACH,CAAC,CACF,CAAC;AAEF,wEAAwE;AAExE,YAAY,CAAC,MAAM,EACjB,mBAAmB,EACnB,wWAAwW,EACxW;IACE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;IAC/F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oHAAoH,CAAC;IAC/J,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;CACrG,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;IAClC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE,QAAQ,GAAG,UAAU,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;QAC9G,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3D,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,EAAE,0BAA0B,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAQ,CAAC;QAChJ,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,2BAA2B,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAErF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,0BAA0B,GAAG,iEAAiE,CAAC,CAAC;QACpH,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACpC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACvC,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACzE,IAAI,IAAI,GAAG,IAAI,EAAE,KAAK,SAAS,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YACvD,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;gBACnB,IAAI,IAAI,uBAAuB,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;YAClD,CAAC;YACD,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,gBAAgB,GAAG,KAAK,QAAQ,CAAC,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,2CAA2C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7G,OAAO,UAAU,CAAC,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzG,CAAC;AACH,CAAC,CACF,CAAC;AAEF,wEAAwE;AACxE,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,oEAAoE;AACpE,qEAAqE;AACrE,mEAAmE;AACnE,EAAE;AACF,yEAAyE;AACzE,8EAA8E;AAC9E,4EAA4E;AAE5E,YAAY,CAAC,MAAM,EACjB,mCAAmC,EACnC;IACE,+HAA+H;IAC/H,4FAA4F;IAC5F,yRAAyR;IACzR,oLAAoL;CACrL,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ;IACE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4HAA4H,CAAC;IACjK,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uHAAuH,CAAC;IACnK,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sIAAsI,CAAC;CAClL,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEtD,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,oBAAoB;YACpB,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mCAAmC,EAAE,0CAA0C,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAQ,CAAC;YAC9J,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,UAAU,CAAC,uBAAuB,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;YAEjF,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,uBAAuB,MAAM,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,MAAM,CAAC,IAAI,CAAC,MAAM,sBAAsB,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAEhM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,UAAU,CAAC,cAAc,EAAE,yCAAyC,MAAM,CAAC,EAAE,uDAAuD,CAAC,CAAC;YAC/I,CAAC;YACD,MAAM,MAAM,GAAG,cAAc,EAAE,gBAAgB,MAAM,CAAC,IAAI,CAAC,MAAM,sBAAsB,MAAM,CAAC,iBAAiB,OAAO,MAAM,CAAC,EAAE,GAAG,CAAC;YACnI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACvC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC;gBACrC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACvC,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,WAAW,CAAC;gBACvG,OAAO,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YACjH,CAAC,CAAC,CAAC;YACH,OAAO,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,iDAAiD;QACjD,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAC3C,IAAI,UAAU;YAAE,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC3D,IAAI,GAAG,EAAE,CAAC;YACR,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC7B,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mCAAmC,EAAE,0CAA0C,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAQ,CAAC;QACpK,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,uBAAuB,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAEjF,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG;YAClB,cAAc,MAAM,CAAC,UAAU,EAAE;YACjC,aAAa,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE;YACzC,aAAa,IAAI,CAAC,MAAM,EAAE;SAC3B,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAE5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC;gBAChB,MAAM;gBACN,EAAE;gBACF,kDAAkD;aACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAChC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;YACjD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACvC,MAAM,MAAM,GAAG,CAAC,CAAC,eAAe,IAAI,WAAW,CAAC;YAChD,OAAO,IAAI,EAAE,KAAK,SAAS,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QACrG,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrG,CAAC;AACH,CAAC,CACF,CAAC;AAEF,wEAAwE;AAExE,YAAY,CAAC,MAAM,EACjB,qBAAqB,EACrB,iUAAiU,EACjU;IACE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CAC7E,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;IAC3B,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,SAAS,IAAI,SAAS,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,yDAAyD,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,qBAAqB,EAAE,4BAA4B,MAAM,EAAE,EAAE,KAAK,CAAQ,CAAC;QACxG,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,6BAA6B,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAEvF,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACvD,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACjG,OAAO,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG;YACZ,UAAU,MAAM,CAAC,OAAO,EAAE;YAC1B,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;YAChE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI;YAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;YACrF,iBAAiB,MAAM,CAAC,gBAAgB,IAAI;YAC5C,GAAG,KAAK;SACT,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAElB,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,6CAA6C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/G,OAAO,UAAU,CAAC,6BAA6B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3G,CAAC;AACH,CAAC,CACF,CAAC;AAEF,0EAA0E;AAE1E,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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"}
|
|
@@ -274,15 +274,15 @@ Inbound only, in both shapes. `extractMessage` (`platform/ui/app/lib/whatsapp/in
|
|
|
274
274
|
|
|
275
275
|
Structured `isLocation` and `locationText` fields are set alongside the body but have no consumer anywhere in `platform/`. Everything downstream re-parses the label out of the body, which is why already-stored history renders a map and why the label shape is pinned by a round-trip test (`platform/ui/app/whatsapp/__tests__/location-parse.test.ts`).
|
|
276
276
|
|
|
277
|
-
**
|
|
277
|
+
**A live share delivers one fix and nothing follows.** WhatsApp does not fan live-location updates out to linked companion devices, and a companion device is the seat this platform's socket occupies. Measured on a device 2026-08-01: the sender walked about 100 metres, one `op=live-location-payload` line was written, and no update frame arrived under any tag for the next thirteen minutes. WhatsApp Web signed in to the same account cannot even render the message, showing "This message can't be displayed here. Please open WhatsApp on your phone to view the message." There is no subscribe and no polling that changes this. Signal: `op=live-location-payload`, once per share.
|
|
278
278
|
|
|
279
|
-
The wire carries no URL. `LiveLocationMessage` is ten fields, all coordinates and motion data; the tappable map on a handset is that client drawing the coordinates. There is nothing to store or forward but the numbers.
|
|
279
|
+
The wire carries no URL. `LiveLocationMessage` is ten fields, all coordinates and motion data; the tappable map on a handset is that client drawing the coordinates. There is nothing to store or forward but the numbers. The end of a share is not observable either, for the same reason no update is: nothing after the first message reaches a companion seat.
|
|
280
280
|
|
|
281
281
|
**Operator reader.** `platform/ui/app/whatsapp/location-map.tsx` draws an OpenStreetMap tile block on any bubble whose whole trimmed body parses as a coordinate. Attribution is mandatory and load-bearing, not decoration. Tile policy, the census counters (`op=wa-location-census`) and the alarm conditions live in `.docs/whatsapp-location-map.md` in the source repo. That file is a platform-developer note: it ships to no install and is not reachable through `plugin-read`, which is why the operator-facing facts are stated here rather than linked.
|
|
282
282
|
|
|
283
283
|
**Outbound is absent.** The reply surface is `reply` (text) and `reply-document` only; no code path sends a `locationMessage`. Putting a pin into a chat is unbuilt work, not a setting.
|
|
284
284
|
|
|
285
|
-
|
|
285
|
+
One verification gap is open: the map has never been rendered in a browser. Tell a sender plainly that only static snapshots arrive, one per share, and that live tracking is not something this platform can do.
|
|
286
286
|
|
|
287
287
|
## Session Credentials (Baileys Auth)
|
|
288
288
|
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Build-time gate: the shipped plugin surface must not claim WhatsApp live
|
|
3
|
+
// location can be tracked, and must not forbid saying it is unavailable.
|
|
4
|
+
//
|
|
5
|
+
// Task 2306 measured the truth on a device. A live-location share delivers one
|
|
6
|
+
// fix to a linked companion seat and nothing follows: the subscribe IQ drew
|
|
7
|
+
// neither a result nor an error, and no update frame arrived under any tag
|
|
8
|
+
// across thirteen minutes of movement. `fskmsg`, named in earlier notes as the
|
|
9
|
+
// update stanza type, is not a WhatsApp binary token at all — whatsmeow's
|
|
10
|
+
// `binary/token/token.go` carries `skmsg`.
|
|
11
|
+
//
|
|
12
|
+
// The failure this guards is silent: an agent telling a sender that live
|
|
13
|
+
// tracking works emits no log line and never reproduces on demand, so there is
|
|
14
|
+
// no runtime signal to hang a check on. Build time is the only place it can be
|
|
15
|
+
// caught.
|
|
16
|
+
//
|
|
17
|
+
// Scope is `platform/plugins/` because that is what an agent reads. Server
|
|
18
|
+
// source is deliberately not gated: no agent loads it, and the frame census
|
|
19
|
+
// legitimately uses `fskmsg` as an arbitrary tag/type fixture in its keying
|
|
20
|
+
// test.
|
|
21
|
+
|
|
22
|
+
import { readFileSync, readdirSync, statSync } from 'node:fs'
|
|
23
|
+
import { dirname, join, relative } from 'node:path'
|
|
24
|
+
import { fileURLToPath } from 'node:url'
|
|
25
|
+
|
|
26
|
+
const SCRIPT_DIR = dirname(fileURLToPath(import.meta.url))
|
|
27
|
+
// Overridable so a self-test can point the gate at a fixture tree without
|
|
28
|
+
// dropping offending strings into the real corpus.
|
|
29
|
+
const REPO_ROOT = process.env.LIVE_LOCATION_CLAIMS_ROOT
|
|
30
|
+
? process.env.LIVE_LOCATION_CLAIMS_ROOT
|
|
31
|
+
: join(SCRIPT_DIR, '..', '..')
|
|
32
|
+
const SCAN_ROOT = join(REPO_ROOT, 'platform', 'plugins')
|
|
33
|
+
const SKIP_DIR_NAMES = new Set(['node_modules', 'dist', 'build', '.next', 'payload'])
|
|
34
|
+
|
|
35
|
+
const PATTERNS = [
|
|
36
|
+
{
|
|
37
|
+
re: /fskmsg/i,
|
|
38
|
+
why: '`fskmsg` is not a WhatsApp binary token; live-location updates never arrive',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
re: /never that it is unavailable/i,
|
|
42
|
+
why: 'live location IS unavailable on a companion seat; an agent must be free to say so',
|
|
43
|
+
},
|
|
44
|
+
]
|
|
45
|
+
|
|
46
|
+
const offenders = []
|
|
47
|
+
|
|
48
|
+
function walk(dir) {
|
|
49
|
+
for (const entry of readdirSync(dir)) {
|
|
50
|
+
if (SKIP_DIR_NAMES.has(entry)) continue
|
|
51
|
+
const full = join(dir, entry)
|
|
52
|
+
if (statSync(full).isDirectory()) {
|
|
53
|
+
walk(full)
|
|
54
|
+
continue
|
|
55
|
+
}
|
|
56
|
+
const rel = relative(REPO_ROOT, full)
|
|
57
|
+
const lines = readFileSync(full, 'utf8').split('\n')
|
|
58
|
+
lines.forEach((line, i) => {
|
|
59
|
+
for (const p of PATTERNS) {
|
|
60
|
+
if (p.re.test(line)) offenders.push(`${rel}:${i + 1}: ${p.why}`)
|
|
61
|
+
}
|
|
62
|
+
})
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
walk(SCAN_ROOT)
|
|
67
|
+
|
|
68
|
+
if (offenders.length > 0) {
|
|
69
|
+
console.error('check-no-live-location-claims: shipped plugin surface claims WhatsApp live location can be tracked:')
|
|
70
|
+
for (const o of offenders) console.error(' ' + o)
|
|
71
|
+
console.error('A companion seat receives one static fix per share, never an update. See .tasks/archive/2306-*.md.')
|
|
72
|
+
process.exit(1)
|
|
73
|
+
}
|
|
@@ -1066,10 +1066,10 @@ export function buildHttpApp(deps) {
|
|
|
1066
1066
|
// Task 2271 — the account whose agent directory, working directory and
|
|
1067
1067
|
// session scope this spawn must use. Distinct from `targetAccountId`, which
|
|
1068
1068
|
// the passive branch owns with different semantics, and from `accountId`,
|
|
1069
|
-
// which every caller sends
|
|
1070
|
-
//
|
|
1071
|
-
//
|
|
1072
|
-
//
|
|
1069
|
+
// which every caller sends and this route never reads. Set by any caller
|
|
1070
|
+
// that resolved the agent slug from that account's own configuration: the
|
|
1071
|
+
// WhatsApp public branch (Task 2271) and, since Task 2273, the webchat
|
|
1072
|
+
// public route, whose slug names the account that owns the agent.
|
|
1073
1073
|
const agentAccountId = typeof body.agentAccountId === 'string' && /^[A-Za-z0-9_-]{1,64}$/.test(body.agentAccountId)
|
|
1074
1074
|
? body.agentAccountId
|
|
1075
1075
|
: undefined;
|