@selleragent/sa-admin 0.1.0 → 0.2.0

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/dist/context.js CHANGED
@@ -1,43 +1,127 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveSaHomeDir = resolveSaHomeDir;
4
+ exports.resolveSaAdminAuthFilePath = resolveSaAdminAuthFilePath;
5
+ exports.resolveSaAdminAuthContext = resolveSaAdminAuthContext;
3
6
  exports.resolveSaAdminContext = resolveSaAdminContext;
4
7
  exports.relativizeToRoot = relativizeToRoot;
8
+ const node_os_1 = require("node:os");
5
9
  const node_path_1 = require("node:path");
6
10
  const api_contract_1 = require("@selleragent/api-contract");
7
11
  const shared_1 = require("@selleragent/shared");
12
+ const HOSTED_API_BASE_URLS = {
13
+ beta: 'https://api-beta.selleragent.pro',
14
+ production: 'https://api.selleragent.pro',
15
+ prod: 'https://api.selleragent.pro',
16
+ local: 'http://127.0.0.1:8787'
17
+ };
18
+ const HOSTED_WEB_BASE_URLS = {
19
+ beta: 'https://beta.selleragent.pro',
20
+ production: 'https://selleragent.pro',
21
+ prod: 'https://selleragent.pro',
22
+ local: 'http://127.0.0.1:3000'
23
+ };
8
24
  function uniquePaths(paths) {
9
25
  return Array.from(new Set(paths));
10
26
  }
27
+ function resolveStringValue(value) {
28
+ if (typeof value !== 'string') {
29
+ return null;
30
+ }
31
+ const trimmed = value.trim();
32
+ return trimmed.length > 0 ? trimmed : null;
33
+ }
34
+ function normalizeEnvironment(value) {
35
+ return resolveStringValue(value) ?? 'beta';
36
+ }
37
+ function normalizeBaseUrl(baseUrl) {
38
+ return baseUrl.replace(/\/+$/, '');
39
+ }
40
+ function defaultApiBaseUrlForEnvironment(environment) {
41
+ return HOSTED_API_BASE_URLS[environment] ?? HOSTED_API_BASE_URLS.local ?? 'http://127.0.0.1:8787';
42
+ }
43
+ function defaultWebBaseUrlForEnvironment(environment) {
44
+ return HOSTED_WEB_BASE_URLS[environment] ?? HOSTED_WEB_BASE_URLS.local ?? null;
45
+ }
11
46
  function resolveEnvFiles(manifest, rootDir, explicitEnvFiles) {
12
47
  const manifestFiles = manifest.secret_refs.env_files ?? [];
13
48
  const nonDefaultManifestFiles = manifestFiles.filter((entry) => entry !== '.env' && entry !== '.env.local');
14
49
  return uniquePaths(['.env', ...nonDefaultManifestFiles, '.env.local', ...explicitEnvFiles].map((entry) => (0, node_path_1.resolve)(rootDir, entry)));
15
50
  }
51
+ function resolveSaHomeDir(env = process.env) {
52
+ const explicit = resolveStringValue(env.SELLERAGENT_HOME);
53
+ if (explicit) {
54
+ return (0, node_path_1.resolve)(explicit);
55
+ }
56
+ if (process.platform === 'win32') {
57
+ const localAppData = resolveStringValue(env.LOCALAPPDATA);
58
+ if (localAppData) {
59
+ return (0, node_path_1.resolve)(localAppData, 'Selleragent');
60
+ }
61
+ const userProfile = resolveStringValue(env.USERPROFILE);
62
+ if (userProfile) {
63
+ return (0, node_path_1.resolve)(userProfile, '.selleragent');
64
+ }
65
+ }
66
+ return (0, node_path_1.resolve)((0, node_os_1.homedir)(), '.selleragent');
67
+ }
68
+ function resolveSaAdminAuthFilePath(saHomeDir) {
69
+ return (0, node_path_1.join)(saHomeDir, 'sa-admin', 'auth.json');
70
+ }
71
+ function resolveAuthTarget(input) {
72
+ const env = input.env ?? process.env;
73
+ const environment = normalizeEnvironment(input.environment ??
74
+ env.SA_ENVIRONMENT ??
75
+ env.APP_ENV ??
76
+ input.manifestDefaultEnvironment ??
77
+ 'beta');
78
+ const explicitBaseUrl = resolveStringValue(input.baseUrl) ??
79
+ resolveStringValue(env.SA_API_BASE_URL) ??
80
+ resolveStringValue(env.API_BASE_URL) ??
81
+ resolveStringValue(input.manifestDefaultBaseUrl);
82
+ const explicitWebBaseUrl = resolveStringValue(input.webBaseUrl) ??
83
+ resolveStringValue(env.SA_WEB_BASE_URL) ??
84
+ resolveStringValue(env.WEB_BASE_URL) ??
85
+ resolveStringValue(input.manifestDefaultWebBaseUrl);
86
+ return {
87
+ environment,
88
+ baseUrl: normalizeBaseUrl(explicitBaseUrl ?? defaultApiBaseUrlForEnvironment(environment)),
89
+ webBaseUrl: explicitWebBaseUrl ?? defaultWebBaseUrlForEnvironment(environment)
90
+ };
91
+ }
92
+ async function resolveSaAdminAuthContext(input) {
93
+ const saHomeDir = resolveSaHomeDir();
94
+ const target = resolveAuthTarget(input);
95
+ return {
96
+ ...target,
97
+ saHomeDir,
98
+ authFilePath: resolveSaAdminAuthFilePath(saHomeDir)
99
+ };
100
+ }
16
101
  async function resolveSaAdminContext(input) {
17
102
  const root = (0, shared_1.detectBusinessProfileRoot)(input.cwd ?? process.cwd());
18
103
  const manifest = api_contract_1.businessProfileProjectManifestSchema.parse(await (0, shared_1.loadYamlFile)(root.manifestPath));
19
104
  const envValues = Object.assign({}, ...resolveEnvFiles(manifest, root.rootDir, input.envFiles ?? []).map((path) => (0, shared_1.loadEnvFileToMap)(path)));
20
105
  (0, shared_1.applyResolvedEnv)(envValues);
21
- const environment = input.environment?.trim() ||
22
- process.env.SA_ENVIRONMENT?.trim() ||
23
- process.env.APP_ENV?.trim() ||
24
- manifest.default_environment;
25
- const baseUrl = input.baseUrl?.trim() ||
26
- process.env.SA_API_BASE_URL?.trim() ||
27
- process.env.API_BASE_URL?.trim() ||
28
- manifest.defaults.api_base_url ||
29
- 'http://127.0.0.1:8787';
106
+ const saHomeDir = resolveSaHomeDir();
107
+ const target = resolveAuthTarget({
108
+ ...(input.baseUrl !== undefined ? { baseUrl: input.baseUrl } : {}),
109
+ ...(input.environment !== undefined ? { environment: input.environment } : {}),
110
+ ...(manifest.default_environment ? { manifestDefaultEnvironment: manifest.default_environment } : {}),
111
+ ...(manifest.defaults.api_base_url
112
+ ? { manifestDefaultBaseUrl: manifest.defaults.api_base_url }
113
+ : {}),
114
+ ...(manifest.defaults.web_base_url
115
+ ? { manifestDefaultWebBaseUrl: manifest.defaults.web_base_url }
116
+ : {})
117
+ });
30
118
  return {
119
+ ...target,
120
+ saHomeDir,
121
+ authFilePath: resolveSaAdminAuthFilePath(saHomeDir),
31
122
  root,
32
123
  manifest,
33
- environment,
34
- baseUrl,
35
- webBaseUrl: process.env.SA_WEB_BASE_URL?.trim() ||
36
- process.env.WEB_BASE_URL?.trim() ||
37
- manifest.defaults.web_base_url ||
38
- null,
39
- stateDir: (0, node_path_1.resolve)(root.rootDir, '.sa-admin'),
40
- sessionFilePath: (0, node_path_1.resolve)(root.rootDir, '.sa-admin', 'session.json')
124
+ stateDir: (0, node_path_1.resolve)(root.rootDir, '.sa-admin')
41
125
  };
42
126
  }
43
127
  function relativizeToRoot(rootDir, path) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;AA0CA,sDA0CC;AAED,4CAEC;AAxFD,yCAA8C;AAE9C,4DAAiF;AACjF,gDAM6B;AAY7B,SAAS,WAAW,CAAC,KAAe;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,eAAe,CACtB,QAAwC,EACxC,OAAe,EACf,gBAA0B;IAE1B,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC;IAC3D,MAAM,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAClD,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,YAAY,CAC9D,CAAC;IAEF,OAAO,WAAW,CAChB,CAAC,MAAM,EAAE,GAAG,uBAAuB,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACpF,IAAA,mBAAO,EAAC,OAAO,EAAE,KAAK,CAAC,CACxB,CACF,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,KAK3C;IACC,MAAM,IAAI,GAAG,IAAA,kCAAyB,EAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,mDAAoC,CAAC,KAAK,CACzD,MAAM,IAAA,qBAAY,EAAU,IAAI,CAAC,YAAY,CAAC,CAC/C,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAC7B,EAAE,EACF,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,yBAAgB,EAAC,IAAI,CAAC,CAAC,CACvG,CAAC;IACF,IAAA,yBAAgB,EAAC,SAAS,CAAC,CAAC;IAE5B,MAAM,WAAW,GACf,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE;QAC3B,QAAQ,CAAC,mBAAmB,CAAC;IAE/B,MAAM,OAAO,GACX,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE;QAChC,QAAQ,CAAC,QAAQ,CAAC,YAAY;QAC9B,uBAAuB,CAAC;IAE1B,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,WAAW;QACX,OAAO;QACP,UAAU,EACR,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE;YACnC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE;YAChC,QAAQ,CAAC,QAAQ,CAAC,YAAY;YAC9B,IAAI;QACN,QAAQ,EAAE,IAAA,mBAAO,EAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;QAC5C,eAAe,EAAE,IAAA,mBAAO,EAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAe,EAAE,IAAY;IAC5D,OAAO,IAAA,oBAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AA0cA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAiCrD"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAqeA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAiCrD"}
package/dist/help.js CHANGED
@@ -168,17 +168,32 @@ const helpPages = [
168
168
  {
169
169
  path: ['profile'],
170
170
  summary: 'Governed business-profile project actions.',
171
- usage: ['sa-admin profile <validate|upload|download|activate|status|versions> [options]'],
171
+ usage: ['sa-admin profile <validate|upload|download|activate|status|versions|access|members> [options]'],
172
172
  subcommands: [
173
173
  { name: 'validate', description: 'Validate the local repo, manifest, and secret refs without changing the server.' },
174
- { name: 'upload', description: 'Upload the resolved profile bundle and optional secrets to the server.' },
174
+ {
175
+ name: 'upload',
176
+ description: 'Upload the resolved profile bundle and optional secrets to the server, skipping environment-compatible Telegram integrations whose local secret refs are still missing.'
177
+ },
175
178
  { name: 'download', description: 'Download the active or selected profile version back into files.' },
176
179
  { name: 'activate', description: 'Activate a specific uploaded version.' },
177
180
  { name: 'status', description: 'Show the current business profile, active version, and member counts.' },
178
- { name: 'versions', description: 'List uploaded profile versions for this business.' }
181
+ { name: 'versions', description: 'List uploaded profile versions for this business.' },
182
+ { name: 'access', description: 'Show the effective access and allowed actions for the current business-profile repo.' },
183
+ { name: 'members', description: 'List, add, or promote members for the current business profile.' }
179
184
  ],
180
- notes: contextDefaults,
181
- examples: ['sa-admin profile validate', 'sa-admin profile upload --activate', 'sa-admin profile download --output-dir ./tmp/readback']
185
+ notes: [
186
+ ...contextDefaults,
187
+ 'For membership management, `add` defaults to the read-safe employee tier and `promote` upgrades to workspace admin.'
188
+ ],
189
+ examples: [
190
+ 'sa-admin profile validate',
191
+ 'sa-admin profile upload --activate',
192
+ 'sa-admin profile access',
193
+ 'sa-admin profile members list',
194
+ 'sa-admin profile members add --email teammate@company.example',
195
+ 'sa-admin profile members promote --email owner@company.example'
196
+ ]
182
197
  },
183
198
  {
184
199
  path: ['rollout'],
@@ -188,7 +203,10 @@ const helpPages = [
188
203
  { name: 'preflight', description: 'Inspect auth, deploy-pair reachability, migration status, profile validity, and Telegram targets before mutation.' },
189
204
  { name: 'migrate', description: 'Apply schema migrations through the rollout-aware mutation path.' },
190
205
  { name: 'promote-profile', description: 'Upload and activate the current business-profile bundle for the resolved environment.' },
191
- { name: 'finalize-telegram', description: 'Verify, sync webhook, sync commands, and reconcile all environment-compatible Telegram integrations.' },
206
+ {
207
+ name: 'finalize-telegram',
208
+ description: 'Verify, sync webhook, sync commands, and reconcile environment-compatible Telegram integrations that survived local secret-ref filtering.'
209
+ },
192
210
  { name: 'promote', description: 'Run the full governed rollout sequence and persist rollout evidence.' },
193
211
  { name: 'verify', description: 'Run the post-release smoke pack and persist a release verification verdict.' },
194
212
  { name: 'verdict', description: 'Inspect the compact verdict for one persisted release verification.' },
@@ -390,34 +408,41 @@ const helpPages = [
390
408
  {
391
409
  path: ['auth'],
392
410
  summary: 'Login, inspect, and safely manage employee-backed sa-admin auth state.',
393
- usage: ['sa-admin auth <login|logout|session|whoami|preflight|seed-policy> [options]'],
411
+ usage: ['sa-admin auth <login|logout|session|whoami|access|preflight|seed-policy> [options]'],
394
412
  subcommands: [
395
- { name: 'login', description: 'Acquire a normal employee-backed sa-admin session and store it locally.' },
396
- { name: 'logout', description: 'Remove the local sa-admin session file.' },
397
- { name: 'session', description: 'Inspect the stored session file and stale-session state.' },
413
+ { name: 'login', description: 'Acquire a normal employee-backed sa-admin session and store it in the global auth home.' },
414
+ { name: 'logout', description: 'Remove the selected sa-admin session from the global auth registry.' },
415
+ { name: 'session', description: 'Inspect the selected stored session and stale-session state from the global auth registry.' },
398
416
  { name: 'preflight', description: 'Inspect auth prerequisites, Supabase contract hints, and provisioning policy.' },
399
417
  { name: 'seed-policy', description: 'Show which provisioning classes are allowed in the current environment.' },
400
- { name: 'whoami', description: 'Inspect the current session and access context.' }
418
+ { name: 'whoami', description: 'Inspect the current session and access context.' },
419
+ { name: 'access', description: 'List current business-profile memberships and effective capabilities.' }
401
420
  ],
402
421
  options: [
403
- { flag: '--email <email>', description: 'Required for `auth login`; identifies the invited work account.' },
404
- { flag: '--no-browser', description: 'Do not auto-open the device verification URL in a browser.' },
405
- { flag: '--timeout-seconds <n>', description: 'How long `auth login` should wait for browser/device approval.' }
422
+ { flag: '--email <email>', description: 'Optional local/testing override. Normal hosted login collects email in the browser.' },
423
+ { flag: '--environment <env>', description: 'Target auth environment; defaults to `beta` when no repo or explicit target is present.' },
424
+ { flag: '--base-url <url>', description: 'Explicit API base URL; otherwise sa-admin uses env overrides or governed defaults.' },
425
+ { flag: '--no-browser', description: 'Do not auto-open the browser authorization URL.' },
426
+ { flag: '--timeout-seconds <n>', description: 'How long `auth login` should wait for browser authorization to finish.' }
406
427
  ],
407
428
  notes: [
408
429
  ...contextDefaults,
409
430
  'login is the normal day-to-day path for employee access and is the only supported auth acquisition flow in the publishable CLI.',
410
- 'Hosted login now uses browser/device approval: sa-admin prints a user code and verification URL, and attempts to open the browser automatically unless you pass --no-browser.',
431
+ 'Auth state lives in SELLERAGENT_HOME/sa-admin/auth.json, not in the current business-profile checkout.',
432
+ 'You can run `sa-admin auth login` before entering a repo; profile commands later resolve business context from `sa.profile.yaml` and auth context from the global store.',
433
+ 'Hosted login now uses a browser-first authorization flow: sa-admin prints the full authorization URL and attempts to open it automatically unless you pass --no-browser.',
411
434
  'Bootstrap, first-admin provisioning, and system-admin recovery live in the internal `sales-agent-cli` surface.',
412
435
  'Production rollout commands expect an employee-backed session from `sa-admin auth login`.'
413
436
  ],
414
437
  examples: [
415
- 'sa-admin auth login --email employee@company.example',
416
- 'sa-admin auth login --email employee@company.example --no-browser',
438
+ 'sa-admin auth login',
439
+ 'sa-admin auth login --environment production',
440
+ 'sa-admin auth login --no-browser',
417
441
  'sa-admin auth session',
418
442
  'sa-admin auth preflight',
419
443
  'sa-admin auth seed-policy',
420
- 'sa-admin auth whoami'
444
+ 'sa-admin auth whoami',
445
+ 'sa-admin auth access'
421
446
  ]
422
447
  }
423
448
  ];
package/dist/help.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":";;AAqeA,wCAiCC;AA3fD,MAAM,eAAe,GAAG;IACtB,6EAA6E;IAC7E,0GAA0G;IAC1G,wGAAwG;IACxG,gIAAgI;CACjI,CAAC;AAEF,MAAM,SAAS,GAAe;IAC5B;QACE,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,6GAA6G;QACtH,KAAK,EAAE;YACL,uCAAuC;YACvC,kCAAkC;YAClC,0BAA0B;SAC3B;QACD,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uEAAuE,EAAE;YACzG,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,sEAAsE,EAAE;YACnG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mFAAmF,EAAE;YACpH,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,sEAAsE,EAAE;YACxG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,yEAAyE,EAAE;YAC5G,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kEAAkE,EAAE;YACpG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,oDAAoD,EAAE;YAC1F,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,sEAAsE,EAAE;YAC1G,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gFAAgF,EAAE;YAClH,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,8DAA8D,EAAE;SAC9F;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,kKAAkK;YAClK,sIAAsI;SACvI;QACD,QAAQ,EAAE;YACR,yBAAyB;YACzB,+BAA+B;YAC/B,kDAAkD;YAClD,uCAAuC;YACvC,4BAA4B;YAC5B,gCAAgC;YAChC,6BAA6B;SAC9B;KACF;IACD;QACE,IAAI,EAAE,CAAC,IAAI,CAAC;QACZ,OAAO,EAAE,qCAAqC;QAC9C,KAAK,EAAE;YACL,iDAAiD;YACjD,qDAAqD;YACrD,yDAAyD;SAC1D;QACD,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,uDAAuD,EAAE;YAC5F,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,wDAAwD,EAAE;YAC1F,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,4DAA4D,EAAE;SACtG;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,0HAA0H;YAC1H,kJAAkJ;SACnJ;QACD,QAAQ,EAAE;YACR,+BAA+B;YAC/B,sDAAsD;YACtD,mDAAmD;SACpD;KACF;IACD;QACE,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC;QAC1B,OAAO,EAAE,6CAA6C;QACtD,KAAK,EAAE,CAAC,iDAAiD,CAAC;QAC1D,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uEAAuE,EAAE;YACxG,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,6DAA6D,EAAE;SAC9F;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,oEAAoE;YACpE,+EAA+E;YAC/E,8DAA8D;SAC/D;QACD,QAAQ,EAAE,CAAC,+BAA+B,EAAE,qCAAqC,CAAC;KACnF;IACD;QACE,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;QACvB,OAAO,EAAE,oCAAoC;QAC7C,KAAK,EAAE,CAAC,qDAAqD,CAAC;QAC9D,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sEAAsE,EAAE;YACvG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,oEAAoE,EAAE;YACnG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,6CAA6C,EAAE;SAChF;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,6HAA6H;YAC7H,kGAAkG;SACnG;QACD,QAAQ,EAAE;YACR,sDAAsD;YACtD,0BAA0B;YAC1B,8EAA8E;SAC/E;KACF;IACD;QACE,IAAI,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAC9B,OAAO,EAAE,wDAAwD;QACjE,KAAK,EAAE,CAAC,yDAAyD,CAAC;QAClE,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,wGAAwG,EAAE;YACtI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,6BAA6B,EAAE;YAC5D,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yCAAyC,EAAE;SAC5E;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,4FAA4F;YAC5F,mFAAmF;SACpF;QACD,QAAQ,EAAE;YACR,iFAAiF;YACjF,iCAAiC;YACjC,4FAA4F;SAC7F;KACF;IACD;QACE,IAAI,EAAE,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,qCAAqC;QAC9C,KAAK,EAAE,CAAC,iDAAiD,CAAC;QAC1D,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sEAAsE,EAAE;YACvG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,qEAAqE,EAAE;YACpG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,sDAAsD,EAAE;SACzF;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,2HAA2H;YAC3H,iHAAiH;SAClH;QACD,QAAQ,EAAE;YACR,kDAAkD;YAClD,sBAAsB;YACtB,0EAA0E;SAC3E;QACD,OAAO,EAAE,CAAC,gDAAgD,CAAC;KAC5D;IACD;QACE,IAAI,EAAE,CAAC,SAAS,CAAC;QACjB,OAAO,EAAE,yDAAyD;QAClE,KAAK,EAAE,CAAC,+CAA+C,CAAC;QACxD,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,kEAAkE,EAAE;YAChG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,6BAA6B,EAAE;YAC5D,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yCAAyC,EAAE;SAC5E;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,+HAA+H;YAC/H,oFAAoF;SACrF;QACD,QAAQ,EAAE;YACR,uEAAuE;YACvE,uBAAuB;YACvB,kFAAkF;SACnF;QACD,OAAO,EAAE,CAAC,uDAAuD,CAAC;KACnE;IACD;QACE,IAAI,EAAE,CAAC,SAAS,CAAC;QACjB,OAAO,EAAE,4CAA4C;QACrD,KAAK,EAAE,CAAC,+FAA+F,CAAC;QACxG,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iFAAiF,EAAE;YACpH;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,yKAAyK;aAC5K;YACD,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,kEAAkE,EAAE;YACrG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,uCAAuC,EAAE;YAC1E,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uEAAuE,EAAE;YACxG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,mDAAmD,EAAE;YACtF,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sFAAsF,EAAE;YACvH,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,iEAAiE,EAAE;SACpG;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,qHAAqH;SACtH;QACD,QAAQ,EAAE;YACR,2BAA2B;YAC3B,oCAAoC;YACpC,yBAAyB;YACzB,+BAA+B;YAC/B,+DAA+D;YAC/D,gEAAgE;SACjE;KACF;IACD;QACE,IAAI,EAAE,CAAC,SAAS,CAAC;QACjB,OAAO,EAAE,8FAA8F;QACvG,KAAK,EAAE,CAAC,+HAA+H,CAAC;QACxI,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,mHAAmH,EAAE;YACvJ,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kEAAkE,EAAE;YACpG,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,uFAAuF,EAAE;YACjI;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EACT,2IAA2I;aAC9I;YACD,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,sEAAsE,EAAE;YACxG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6EAA6E,EAAE;YAC9G,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qEAAqE,EAAE;YACvG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,gEAAgE,EAAE;YACnG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,6EAA6E,EAAE;YAC5G,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uDAAuD,EAAE;SAC1F;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,0HAA0H;YAC1H,2KAA2K;YAC3K,4HAA4H;YAC5H,mJAAmJ;SACpJ;QACD,QAAQ,EAAE;YACR,4BAA4B;YAC5B,kEAAkE;YAClE,2EAA2E;YAC3E,iFAAiF;YACjF,uBAAuB;YACvB,4EAA4E;SAC7E;KACF;IACD;QACE,IAAI,EAAE,CAAC,UAAU,CAAC;QAClB,OAAO,EAAE,yFAAyF;QAClG,KAAK,EAAE,CAAC,kFAAkF,CAAC;QAC3F,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,gEAAgE,EAAE;YACvG,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,gDAAgD,EAAE;YAC5F,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,0EAA0E,EAAE;SAC/G;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,yIAAyI;SAC1I;QACD,QAAQ,EAAE,CAAC,uCAAuC,EAAE,4CAA4C,EAAE,sCAAsC,CAAC;KAC1I;IACD;QACE,IAAI,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC;QAClC,OAAO,EAAE,2DAA2D;QACpE,KAAK,EAAE,CAAC,sIAAsI,CAAC;QAC/I,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kFAAkF,EAAE;YACnH,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oDAAoD,EAAE;YACrF,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,4CAA4C,EAAE;YAC/E,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qEAAqE,EAAE;YACtG,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,6DAA6D,EAAE;YACpG,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,wEAAwE,EAAE;YAChH,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,oEAAoE,EAAE;YACxG;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EACT,sIAAsI;aACzI;SACF;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,mJAAmJ;YACnJ,sHAAsH;SACvH;QACD,QAAQ,EAAE;YACR,uCAAuC;YACvC,+EAA+E;YAC/E,0CAA0C;YAC1C,2JAA2J;SAC5J;KACF;IACD;QACE,IAAI,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC;QACvC,OAAO,EAAE,uDAAuD;QAChE,KAAK,EAAE,CAAC,uFAAuF,CAAC;QAChG,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mEAAmE,EAAE;YACpG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iDAAiD,EAAE;YACpF,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kDAAkD,EAAE;YACpF,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,2DAA2D,EAAE;YAC3F,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qDAAqD,EAAE;SACxF;QACD,KAAK,EAAE,eAAe;QACtB,QAAQ,EAAE;YACR,4CAA4C;YAC5C,2EAA2E;YAC3E,2EAA2E;SAC5E;KACF;IACD;QACE,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;QAC/B,OAAO,EAAE,+DAA+D;QACxE,KAAK,EAAE,CAAC,4FAA4F,CAAC;QACrG,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,uEAAuE,EAAE;YAC1G,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,2CAA2C,EAAE;YAC9E,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wEAAwE,EAAE;YACzG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,gDAAgD,EAAE;YAC/E,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;YAC9D,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2EAA2E,EAAE;YAC5G,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iEAAiE,EAAE;SACnG;QACD,KAAK,EAAE,eAAe;QACtB,QAAQ,EAAE;YACR,yDAAyD;YACzD,uFAAuF;YACvF,8DAA8D;SAC/D;QACD,OAAO,EAAE,CAAC,2CAA2C,CAAC;KACvD;IACD;QACE,IAAI,EAAE,CAAC,SAAS,CAAC;QACjB,OAAO,EAAE,qEAAqE;QAC9E,KAAK,EAAE,CAAC,0EAA0E,CAAC;QACnF,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,4DAA4D,EAAE;YAChG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,4DAA4D,EAAE;YAC9F,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,6BAA6B,EAAE;YAC7D,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,gCAAgC,EAAE;SACrE;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,iIAAiI;SAClI;QACD,QAAQ,EAAE,CAAC,mCAAmC,EAAE,kDAAkD,EAAE,gCAAgC,CAAC;KACtI;IACD;QACE,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;QAC9B,OAAO,EAAE,sCAAsC;QAC/C,KAAK,EAAE,CAAC,iEAAiE,CAAC;QAC1E,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wEAAwE,EAAE;YACzG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uDAAuD,EAAE;YACzF,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,6DAA6D,EAAE;SAClG;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,wFAAwF;SACzF;QACD,QAAQ,EAAE;YACR,mCAAmC;YACnC,6DAA6D;YAC7D,sCAAsC;SACvC;KACF;IACD;QACE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;QAC5B,OAAO,EAAE,mDAAmD;QAC5D,KAAK,EAAE,CAAC,uDAAuD,CAAC;QAChE,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2FAA2F,EAAE;YAC5H,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,6DAA6D,EAAE;SAClG;QACD,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC;QAC3B,QAAQ,EAAE,CAAC,iCAAiC,EAAE,qDAAqD,CAAC;KACrG;IACD;QACE,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;QAC1B,OAAO,EAAE,gCAAgC;QACzC,KAAK,EAAE,CAAC,0CAA0C,CAAC;QACnD,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC;QAC3B,QAAQ,EAAE,CAAC,gCAAgC,EAAE,8CAA8C,CAAC;KAC7F;IACD;QACE,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;QAC9B,OAAO,EAAE,kCAAkC;QAC3C,KAAK,EAAE,CAAC,2CAA2C,CAAC;QACpD,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC;QAC3B,QAAQ,EAAE,CAAC,iCAAiC,EAAE,+CAA+C,CAAC;KAC/F;IACD;QACE,IAAI,EAAE,CAAC,aAAa,CAAC;QACrB,OAAO,EAAE,oDAAoD;QAC7D,KAAK,EAAE,CAAC,sDAAsD,CAAC;QAC/D,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,oDAAoD,EAAE;YACxF,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,0EAA0E,EAAE;SAC/G;QACD,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC;QAC3B,QAAQ,EAAE,CAAC,gCAAgC,EAAE,mEAAmE,CAAC;KAClH;IACD;QACE,IAAI,EAAE,CAAC,WAAW,CAAC;QACnB,OAAO,EAAE,iEAAiE;QAC1E,KAAK,EAAE,CAAC,+EAA+E,CAAC;QACxF,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,oDAAoD,EAAE;YACvF,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,qCAAqC,EAAE;YAC3E,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,uCAAuC,EAAE;YAC1E,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uCAAuC,EAAE;YACzE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,kDAAkD,EAAE;SACtF;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,mGAAmG;SACpG;QACD,QAAQ,EAAE;YACR,6BAA6B;YAC7B,wEAAwE;YACxE,uDAAuD;SACxD;KACF;IACD;QACE,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,wEAAwE;QACjF,KAAK,EAAE,CAAC,oFAAoF,CAAC;QAC7F,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,yFAAyF,EAAE;YACzH,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qEAAqE,EAAE;YACtG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,4FAA4F,EAAE;YAC9H,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,+EAA+E,EAAE;YACnH,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,yEAAyE,EAAE;YAC/G,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;YAClF,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uEAAuE,EAAE;SACzG;QACD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,qFAAqF,EAAE;YAC/H,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,yFAAyF,EAAE;YACvI,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,oFAAoF,EAAE;YAC/H,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,iDAAiD,EAAE;YACxF,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,wEAAwE,EAAE;SACzH;QACD,KAAK,EAAE;YACL,GAAG,eAAe;YAClB,iIAAiI;YACjI,wGAAwG;YACxG,0KAA0K;YAC1K,0KAA0K;YAC1K,gHAAgH;YAChH,2FAA2F;SAC5F;QACD,QAAQ,EAAE;YACR,qBAAqB;YACrB,8CAA8C;YAC9C,kCAAkC;YAClC,uBAAuB;YACvB,yBAAyB;YACzB,2BAA2B;YAC3B,sBAAsB;YACtB,sBAAsB;SACvB;KACF;CACF,CAAC;AAEF,SAAS,aAAa,CAAC,IAAc;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,QAAQ,CAAC,IAAc;IAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC;IAEhF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC;QAE7E,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,CAAC,CAAE,CAAC;AACvB,CAAC;AAED,SAAgB,cAAc,CAAC,IAAc;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;IAEvD,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC"}
package/dist/project.d.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  import type { BusinessProfileProjectBundle } from '@selleragent/api-contract';
2
2
  import type { SaAdminContext } from './context';
3
+ type LocalSkippedDeclaration = {
4
+ kind: 'telegram_bot' | 'media_folder';
5
+ key: string;
6
+ reason: string | null;
7
+ };
3
8
  export declare function validateProfileProject(context: SaAdminContext): Promise<{
4
9
  rootDir: string;
5
10
  manifestPath: string;
@@ -11,6 +16,8 @@ export declare function validateProfileProject(context: SaAdminContext): Promise
11
16
  baseUrl: string;
12
17
  fileCount: number;
13
18
  files: string[];
19
+ mediaFolders: import("@selleragent/shared").BusinessProfileMediaFolderRegistryEntry[];
20
+ mediaAssets: import("@selleragent/shared").BusinessProfileMediaAssetRegistryEntry[];
14
21
  secretRefs: {
15
22
  integrationKey: string;
16
23
  field: "botToken" | "webhookSecret";
@@ -47,6 +54,7 @@ export declare function buildProfileBundleForUpload(context: SaAdminContext): Pr
47
54
  expectation_blocks_root: string;
48
55
  expectation_profiles_root: string;
49
56
  seeds_root: string;
57
+ media_root?: string | undefined;
50
58
  judge_rules_root?: string | undefined;
51
59
  judge_scorecards_root?: string | undefined;
52
60
  judge_transcripts_root?: string | undefined;
@@ -56,10 +64,18 @@ export declare function buildProfileBundleForUpload(context: SaAdminContext): Pr
56
64
  allowed_prefixes: string[];
57
65
  };
58
66
  };
59
- files: {
67
+ files: ({
60
68
  relativePath: string;
69
+ contentKind: "text";
61
70
  content: string;
62
- }[];
71
+ } | {
72
+ relativePath: string;
73
+ contentKind: "binary";
74
+ contentBase64: string;
75
+ byteSize: number;
76
+ sha256: string;
77
+ mimeType: string | null;
78
+ })[];
63
79
  secretRefs: {
64
80
  integrationKey: string;
65
81
  field: "botToken" | "webhookSecret";
@@ -92,6 +108,21 @@ export declare function buildProfileBundleForUpload(context: SaAdminContext): Pr
92
108
  botUsername?: string | null;
93
109
  telegramBotId?: string | null;
94
110
  }[];
111
+ uploadableDeclarations: {
112
+ integrationKey: string;
113
+ environments: string[];
114
+ environmentMatches: boolean;
115
+ label: string;
116
+ mode: "standard" | "business" | "hybrid";
117
+ enabled: boolean;
118
+ webhookPath?: string;
119
+ allowDirectCommands?: boolean;
120
+ allowDebugCommands?: boolean;
121
+ channelAccountId?: string | null;
122
+ botUsername?: string | null;
123
+ telegramBotId?: string | null;
124
+ }[];
125
+ locallySkippedDeclarations: LocalSkippedDeclaration[];
95
126
  }>;
96
127
  export declare function loadTelegramBotDeclarations(context: SaAdminContext): Promise<{
97
128
  integrationKey: string;
@@ -117,4 +148,5 @@ export declare function buildTelegramBotSnapshotYaml(input: {
117
148
  export declare function buildTelegramBusinessAccountSnapshotYaml(input: {
118
149
  items: Array<Record<string, unknown>>;
119
150
  }): string;
151
+ export {};
120
152
  //# sourceMappingURL=project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,4BAA4B,EAE7B,MAAM,2BAA2B,CAAC;AAiBnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA6MhD,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;GAkCnE;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAqC3C,MAAM;mBAAa,MAAM,GAAG,IAAI;wBAAkB,MAAM,GAAG,IAAI;;;wBAjJ3E,MAAM;sBACR,MAAM,EAAE;4BACF,OAAO;eACpB,MAAM;cACP,UAAU,GAAG,UAAU,GAAG,QAAQ;iBAC/B,OAAO;sBACF,MAAM;8BACE,OAAO;6BACR,OAAO;2BACT,MAAM,GAAG,IAAI;sBAClB,MAAM,GAAG,IAAI;wBACX,MAAM,GAAG,IAAI;;GA0L9B;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,cAAc;oBAvMvD,MAAM;kBACR,MAAM,EAAE;wBACF,OAAO;WACpB,MAAM;UACP,UAAU,GAAG,UAAU,GAAG,QAAQ;aAC/B,OAAO;kBACF,MAAM;0BACE,OAAO;yBACR,OAAO;uBACT,MAAM,GAAG,IAAI;kBAClB,MAAM,GAAG,IAAI;oBACX,MAAM,GAAG,IAAI;KAsM9B;AAED,wBAAsB,4BAA4B,CAAC,KAAK,EAAE;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,4BAA4B,CAAC;CACtC,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C,GAAG,MAAM,CAKT;AAED,wBAAgB,wCAAwC,CAAC,KAAK,EAAE;IAC9D,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvC,GAAG,MAAM,CAOT"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,4BAA4B,EAE7B,MAAM,2BAA2B,CAAC;AAmBnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,cAAc,GAAG,cAAc,CAAC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AA+RF,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;GAyCnE;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAiF3C,MAAM;mBAAa,MAAM,GAAG,IAAI;wBAAkB,MAAM,GAAG,IAAI;;;wBArM3E,MAAM;sBACR,MAAM,EAAE;4BACF,OAAO;eACpB,MAAM;cACP,UAAU,GAAG,UAAU,GAAG,QAAQ;iBAC/B,OAAO;sBACF,MAAM;8BACE,OAAO;6BACR,OAAO;2BACT,MAAM,GAAG,IAAI;sBAClB,MAAM,GAAG,IAAI;wBACX,MAAM,GAAG,IAAI;;;wBAXb,MAAM;sBACR,MAAM,EAAE;4BACF,OAAO;eACpB,MAAM;cACP,UAAU,GAAG,UAAU,GAAG,QAAQ;iBAC/B,OAAO;sBACF,MAAM;8BACE,OAAO;6BACR,OAAO;2BACT,MAAM,GAAG,IAAI;sBAClB,MAAM,GAAG,IAAI;wBACX,MAAM,GAAG,IAAI;;;GA4O9B;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,cAAc;oBAzPvD,MAAM;kBACR,MAAM,EAAE;wBACF,OAAO;WACpB,MAAM;UACP,UAAU,GAAG,UAAU,GAAG,QAAQ;aAC/B,OAAO;kBACF,MAAM;0BACE,OAAO;yBACR,OAAO;uBACT,MAAM,GAAG,IAAI;kBAClB,MAAM,GAAG,IAAI;oBACX,MAAM,GAAG,IAAI;KAwP9B;AAED,wBAAsB,4BAA4B,CAAC,KAAK,EAAE;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,4BAA4B,CAAC;CACtC,GAAG,OAAO,CAAC,IAAI,CAAC,CAShB;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C,GAAG,MAAM,CAKT;AAED,wBAAgB,wCAAwC,CAAC,KAAK,EAAE;IAC9D,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvC,GAAG,MAAM,CAOT"}
package/dist/project.js CHANGED
@@ -9,6 +9,15 @@ exports.buildTelegramBusinessAccountSnapshotYaml = buildTelegramBusinessAccountS
9
9
  const node_path_1 = require("node:path");
10
10
  const api_contract_1 = require("@selleragent/api-contract");
11
11
  const shared_1 = require("@selleragent/shared");
12
+ function requireTextBundleFile(file, relativePath) {
13
+ if (!file) {
14
+ return null;
15
+ }
16
+ if (file.contentKind !== 'text') {
17
+ throw new shared_1.BusinessProfileProjectError('PROFILE_MANIFEST_INVALID', `Expected text file at ${relativePath}, but received a binary bundle entry.`);
18
+ }
19
+ return file;
20
+ }
12
21
  function uniquePaths(paths) {
13
22
  return Array.from(new Set(paths));
14
23
  }
@@ -20,10 +29,27 @@ async function collectManifestFiles(manifest, rootDir) {
20
29
  for (const manifestPath of resolveManifestFiles(manifest)) {
21
30
  const absolutePath = (0, node_path_1.resolve)(rootDir, manifestPath);
22
31
  const discoveredFiles = await (0, shared_1.listFilesRecursively)(absolutePath);
32
+ const allowBinary = manifest.paths.media_root === manifestPath;
23
33
  for (const filePath of discoveredFiles) {
24
- const file = await (0, shared_1.readProjectFile)(filePath);
34
+ const file = allowBinary
35
+ ? await (0, shared_1.readProjectFileWithOptions)(filePath, {
36
+ allowBinary: true
37
+ })
38
+ : await (0, shared_1.readProjectFile)(filePath);
39
+ if (file.contentKind === 'binary') {
40
+ files.push({
41
+ relativePath: (0, node_path_1.relative)(rootDir, file.path),
42
+ contentKind: 'binary',
43
+ contentBase64: file.contentBase64,
44
+ byteSize: file.byteSize,
45
+ sha256: file.sha256,
46
+ mimeType: file.mimeType
47
+ });
48
+ continue;
49
+ }
25
50
  files.push({
26
51
  relativePath: (0, node_path_1.relative)(rootDir, file.path),
52
+ contentKind: 'text',
27
53
  content: file.content
28
54
  });
29
55
  }
@@ -32,10 +58,11 @@ async function collectManifestFiles(manifest, rootDir) {
32
58
  }
33
59
  function collectSecretRefs(bundle, allowedIntegrationKeys) {
34
60
  const botsFile = bundle.files.find((file) => file.relativePath === bundle.manifest.paths.telegram_bots);
35
- if (!botsFile) {
61
+ const textFile = requireTextBundleFile(botsFile, bundle.manifest.paths.telegram_bots);
62
+ if (!textFile) {
36
63
  return [];
37
64
  }
38
- const payload = (0, shared_1.parseYamlText)(botsFile.content);
65
+ const payload = (0, shared_1.parseYamlText)(textFile.content);
39
66
  return (payload.telegram_bots ?? []).flatMap((entry) => {
40
67
  const integrationKey = entry.integration_key?.trim();
41
68
  if (!integrationKey || (allowedIntegrationKeys && !allowedIntegrationKeys.has(integrationKey))) {
@@ -59,6 +86,35 @@ function collectSecretRefs(bundle, allowedIntegrationKeys) {
59
86
  return refs;
60
87
  });
61
88
  }
89
+ function filterTelegramBotDeclarationsForIntegrations(input) {
90
+ const botsPath = input.bundle.manifest.paths.telegram_bots;
91
+ return {
92
+ ...input.bundle,
93
+ files: input.bundle.files.map((file) => {
94
+ if (file.relativePath !== botsPath) {
95
+ return file;
96
+ }
97
+ if (file.contentKind !== 'text') {
98
+ throw new shared_1.BusinessProfileProjectError('PROFILE_MANIFEST_INVALID', `Expected text file at ${botsPath}, but received a binary bundle entry.`);
99
+ }
100
+ const payload = (0, shared_1.parseYamlText)(file.content);
101
+ return {
102
+ relativePath: file.relativePath,
103
+ contentKind: 'text',
104
+ content: (0, shared_1.stringifyYaml)({
105
+ version: 1,
106
+ telegram_bots: (payload.telegram_bots ?? []).filter((entry) => {
107
+ const integrationKey = typeof entry.integration_key === 'string' ? entry.integration_key.trim() : '';
108
+ if (!integrationKey) {
109
+ return true;
110
+ }
111
+ return input.includedIntegrationKeys.has(integrationKey);
112
+ })
113
+ })
114
+ };
115
+ })
116
+ };
117
+ }
62
118
  function validateSecretRefPolicy(manifest, secretRefs) {
63
119
  const allowedPrefixes = manifest.secret_refs.allowed_prefixes ?? [];
64
120
  for (const entry of secretRefs) {
@@ -82,10 +138,11 @@ function resolveSecretValue(ref) {
82
138
  }
83
139
  function parseTelegramBotDeclarations(bundle, contextEnvironment) {
84
140
  const botsFile = bundle.files.find((file) => file.relativePath === bundle.manifest.paths.telegram_bots);
85
- if (!botsFile) {
141
+ const textFile = requireTextBundleFile(botsFile, bundle.manifest.paths.telegram_bots);
142
+ if (!textFile) {
86
143
  return [];
87
144
  }
88
- const payload = (0, shared_1.parseYamlText)(botsFile.content);
145
+ const payload = (0, shared_1.parseYamlText)(textFile.content);
89
146
  return (payload.telegram_bots ?? [])
90
147
  .map((entry) => {
91
148
  const integrationKey = String(entry.integration_key ?? '').trim();
@@ -125,6 +182,11 @@ async function validateProfileProject(context) {
125
182
  secretRefs: [],
126
183
  secretStatuses: []
127
184
  });
185
+ const mediaScope = (0, shared_1.resolveBusinessProfileMediaScope)({
186
+ files: bundle.files,
187
+ mediaRootRelativePath: manifest.paths.media_root ?? null,
188
+ targetEnvironment: context.environment
189
+ });
128
190
  const compatibleIntegrations = new Set(parseTelegramBotDeclarations(bundle, context.environment)
129
191
  .filter((entry) => entry.environmentMatches)
130
192
  .map((entry) => entry.integrationKey));
@@ -141,6 +203,8 @@ async function validateProfileProject(context) {
141
203
  baseUrl: context.baseUrl,
142
204
  fileCount: files.length,
143
205
  files: files.map((file) => file.relativePath),
206
+ mediaFolders: mediaScope.registry.folders,
207
+ mediaAssets: mediaScope.registry.assets,
144
208
  secretRefs: filteredSecretRefs,
145
209
  envFiles: ['.env', ...(manifest.secret_refs.env_files ?? []), '.env.local']
146
210
  };
@@ -164,7 +228,41 @@ async function buildProfileBundleForUpload(context) {
164
228
  const compatibleIntegrations = new Set(declarations.filter((entry) => entry.environmentMatches).map((entry) => entry.integrationKey));
165
229
  const secretRefs = collectSecretRefs(bundleBase, compatibleIntegrations);
166
230
  validateSecretRefPolicy(context.manifest, secretRefs);
167
- const resolvedSecrets = Array.from(secretRefs
231
+ const secretRefsByIntegration = secretRefs.reduce((accumulator, entry) => {
232
+ const current = accumulator.get(entry.integrationKey) ?? [];
233
+ current.push(entry);
234
+ accumulator.set(entry.integrationKey, current);
235
+ return accumulator;
236
+ }, new Map());
237
+ const locallySkippedDeclarations = [];
238
+ const uploadableIntegrationKeys = new Set();
239
+ for (const declaration of declarations) {
240
+ if (!declaration.environmentMatches) {
241
+ continue;
242
+ }
243
+ const declarationSecretRefs = secretRefsByIntegration.get(declaration.integrationKey) ?? [];
244
+ const missingSecretRefs = declarationSecretRefs.filter((entry) => !resolveSecretValue(entry.ref));
245
+ if (missingSecretRefs.length > 0) {
246
+ locallySkippedDeclarations.push({
247
+ kind: 'telegram_bot',
248
+ key: declaration.integrationKey,
249
+ reason: `missing_secret_refs:${missingSecretRefs.map((entry) => entry.field).join(',')}`
250
+ });
251
+ continue;
252
+ }
253
+ uploadableIntegrationKeys.add(declaration.integrationKey);
254
+ }
255
+ const filteredBundleBase = filterTelegramBotDeclarationsForIntegrations({
256
+ bundle: bundleBase,
257
+ includedIntegrationKeys: uploadableIntegrationKeys
258
+ });
259
+ const filteredSecretRefs = secretRefs.filter((entry) => uploadableIntegrationKeys.has(entry.integrationKey));
260
+ const mediaScope = (0, shared_1.resolveBusinessProfileMediaScope)({
261
+ files: filteredBundleBase.files,
262
+ mediaRootRelativePath: context.manifest.paths.media_root ?? null,
263
+ targetEnvironment: context.environment
264
+ });
265
+ const resolvedSecrets = Array.from(filteredSecretRefs
168
266
  .reduce((accumulator, entry) => {
169
267
  const current = accumulator.get(entry.integrationKey) ?? {
170
268
  integrationKey: entry.integrationKey
@@ -180,29 +278,29 @@ async function buildProfileBundleForUpload(context) {
180
278
  return accumulator;
181
279
  }, new Map())
182
280
  .values());
183
- const secretStatuses = secretRefs.map((entry) => ({
281
+ const secretStatuses = filteredSecretRefs.map((entry) => ({
184
282
  integrationKey: entry.integrationKey,
185
283
  field: entry.field,
186
284
  ref: entry.ref,
187
285
  status: resolveSecretValue(entry.ref) ? 'resolved' : 'missing',
188
286
  keyId: null
189
287
  }));
190
- const missingSecretRefs = secretStatuses.filter((entry) => entry.status === 'missing');
191
- if (missingSecretRefs.length > 0) {
192
- throw new shared_1.BusinessProfileProjectError('PROFILE_SECRET_REF_INVALID', `Missing required secret refs: ${missingSecretRefs
193
- .map((entry) => `${entry.integrationKey}.${entry.field}:${entry.ref ?? 'unknown'}`)
194
- .join(', ')}`);
195
- }
196
288
  return {
197
289
  sourceRepositoryUrl: git.repositoryUrl,
198
290
  sourceCommitSha: git.commitSha,
199
291
  bundle: api_contract_1.businessProfileProjectBundleSchema.parse({
200
- ...bundleBase,
201
- secretRefs,
292
+ ...filteredBundleBase,
293
+ files: mediaScope.bundleFiles,
294
+ secretRefs: filteredSecretRefs,
202
295
  secretStatuses
203
296
  }),
204
297
  resolvedSecrets,
205
- declarations
298
+ declarations,
299
+ uploadableDeclarations: declarations.filter((entry) => entry.environmentMatches && uploadableIntegrationKeys.has(entry.integrationKey)),
300
+ locallySkippedDeclarations: [
301
+ ...locallySkippedDeclarations,
302
+ ...mediaScope.skippedDeclarations
303
+ ]
206
304
  };
207
305
  }
208
306
  async function loadTelegramBotDeclarations(context) {
@@ -219,6 +317,7 @@ async function writeDownloadedProfileBundle(input) {
219
317
  await (0, shared_1.writeProjectFiles)(input.rootDir, [
220
318
  {
221
319
  relativePath: 'sa.profile.yaml',
320
+ contentKind: 'text',
222
321
  content: (0, shared_1.stringifyYaml)(input.bundle.manifest)
223
322
  },
224
323
  ...input.bundle.files