@prism-d1/cli 1.6.0 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/src/aws/connect.d.ts +1 -1
  2. package/dist/src/aws/connect.d.ts.map +1 -1
  3. package/dist/src/aws/connect.js.map +1 -1
  4. package/dist/src/commands/_top/dashboard.d.ts +4 -0
  5. package/dist/src/commands/_top/dashboard.d.ts.map +1 -1
  6. package/dist/src/commands/_top/dashboard.js +57 -5
  7. package/dist/src/commands/_top/dashboard.js.map +1 -1
  8. package/dist/src/dashboard/actions.d.ts +112 -0
  9. package/dist/src/dashboard/actions.d.ts.map +1 -0
  10. package/dist/src/dashboard/actions.js +242 -0
  11. package/dist/src/dashboard/actions.js.map +1 -0
  12. package/dist/src/dashboard/aws-identity.d.ts +115 -0
  13. package/dist/src/dashboard/aws-identity.d.ts.map +1 -0
  14. package/dist/src/dashboard/aws-identity.js +240 -0
  15. package/dist/src/dashboard/aws-identity.js.map +1 -0
  16. package/dist/src/dashboard/page.d.ts +2 -2
  17. package/dist/src/dashboard/page.d.ts.map +1 -1
  18. package/dist/src/dashboard/page.js +68 -21
  19. package/dist/src/dashboard/page.js.map +1 -1
  20. package/dist/src/dashboard/payload.d.ts +28 -1
  21. package/dist/src/dashboard/payload.d.ts.map +1 -1
  22. package/dist/src/dashboard/payload.js +34 -7
  23. package/dist/src/dashboard/payload.js.map +1 -1
  24. package/dist/src/dashboard/server.d.ts +27 -6
  25. package/dist/src/dashboard/server.d.ts.map +1 -1
  26. package/dist/src/dashboard/server.js +75 -10
  27. package/dist/src/dashboard/server.js.map +1 -1
  28. package/dist/src/dashboard/setup-api.d.ts +63 -0
  29. package/dist/src/dashboard/setup-api.d.ts.map +1 -0
  30. package/dist/src/dashboard/setup-api.js +66 -0
  31. package/dist/src/dashboard/setup-api.js.map +1 -0
  32. package/dist/src/dashboard/setup-page.d.ts +16 -0
  33. package/dist/src/dashboard/setup-page.d.ts.map +1 -0
  34. package/dist/src/dashboard/setup-page.js +347 -0
  35. package/dist/src/dashboard/setup-page.js.map +1 -0
  36. package/dist/src/dashboard/setup.d.ts +53 -1
  37. package/dist/src/dashboard/setup.d.ts.map +1 -1
  38. package/dist/src/dashboard/setup.js +126 -16
  39. package/dist/src/dashboard/setup.js.map +1 -1
  40. package/dist/src/dashboard/summary.d.ts +2 -0
  41. package/dist/src/dashboard/summary.d.ts.map +1 -1
  42. package/dist/src/dashboard/summary.js +1 -1
  43. package/dist/src/dashboard/summary.js.map +1 -1
  44. package/dist/src/dashboard/usage-cache.d.ts +44 -0
  45. package/dist/src/dashboard/usage-cache.d.ts.map +1 -0
  46. package/dist/src/dashboard/usage-cache.js +90 -0
  47. package/dist/src/dashboard/usage-cache.js.map +1 -0
  48. package/dist/src/dashboard/usage.d.ts +14 -1
  49. package/dist/src/dashboard/usage.d.ts.map +1 -1
  50. package/dist/src/dashboard/usage.js +45 -12
  51. package/dist/src/dashboard/usage.js.map +1 -1
  52. package/dist/src/utils/aws.d.ts +2 -0
  53. package/dist/src/utils/aws.d.ts.map +1 -1
  54. package/dist/src/utils/aws.js +1 -1
  55. package/dist/src/utils/aws.js.map +1 -1
  56. package/dist/src/utils/exec.d.ts +1 -1
  57. package/dist/src/utils/exec.d.ts.map +1 -1
  58. package/dist/src/utils/exec.js +3 -1
  59. package/dist/src/utils/exec.js.map +1 -1
  60. package/dist/src/utils/private-json.d.ts +5 -0
  61. package/dist/src/utils/private-json.d.ts.map +1 -0
  62. package/dist/src/utils/private-json.js +29 -0
  63. package/dist/src/utils/private-json.js.map +1 -0
  64. package/dist/src/utils/tool-check.d.ts +9 -0
  65. package/dist/src/utils/tool-check.d.ts.map +1 -1
  66. package/dist/src/utils/tool-check.js +37 -2
  67. package/dist/src/utils/tool-check.js.map +1 -1
  68. package/package.json +1 -1
@@ -43,7 +43,7 @@ export interface AccessLevel {
43
43
  level: 'admin' | 'read-only' | 'unknown';
44
44
  basis: string;
45
45
  }
46
- export declare function callerIdentity(d: ConnectDeps, profile: string, region: string): Identity | {
46
+ export declare function callerIdentity(d: Pick<ConnectDeps, 'aws'>, profile: string, region: string): Identity | {
47
47
  error: string;
48
48
  };
49
49
  export declare function accountAlias(d: ConnectDeps, profile: string, region: string): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/aws/connect.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQlD,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAChE,YAAY,IAAI,MAAM,EAAE,CAAC;IACzB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9C,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,IAAI,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,IAAI,IAAI,CAAC;CACb;AAED,eAAO,MAAM,cAAc,wMAAwM,CAAC;AAEpO,MAAM,WAAW,QAAQ;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AAC1D,MAAM,MAAM,OAAO,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AACzJ,MAAM,WAAW,WAAW;IAAG,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAIxF,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAK5G;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3F;AAED,2GAA2G;AAC3G,wBAAgB,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAUjG;AAOD,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAOnG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,CAarG;AAqFD,iDAAiD;AACjD,wBAAsB,UAAU,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAyDnF"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/aws/connect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/aws/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/aws/connect.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ import type { PayloadTiming } from '../../dashboard/payload.js';
1
2
  export declare function parsePort(v: string | undefined): number;
3
+ export declare function formatTiming(t: PayloadTiming): string;
2
4
  declare const _default: {
3
5
  description: string;
4
6
  options: {
@@ -11,6 +13,8 @@ declare const _default: {
11
13
  root?: string;
12
14
  port?: string;
13
15
  open?: boolean;
16
+ fresh?: boolean;
17
+ timing?: boolean;
14
18
  }): Promise<void>;
15
19
  };
16
20
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../../src/commands/_top/dashboard.ts"],"names":[],"mappings":"AAoBA,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMvD;;;;;;;iBAWoB;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;;AATpG,wBAyCE"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../../src/commands/_top/dashboard.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAkBlF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMvD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAErD;;;;;;;iBAaoB;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;;AAXvI,wBAgFE"}
@@ -1,7 +1,14 @@
1
1
  import { spawn } from 'node:child_process';
2
+ import { homedir } from 'node:os';
2
3
  import { buildPayload } from '../../dashboard/payload.js';
3
4
  import { cachedPayload, startServer, BIND_HOST } from '../../dashboard/server.js';
4
5
  import { reportFromRepos } from '../../dashboard/report.js';
6
+ import { ActionRunner, cliEntry, repoId } from '../../dashboard/actions.js';
7
+ import { setupApi } from '../../dashboard/setup-api.js';
8
+ import { repoRootOf } from '../../aws/connection.js';
9
+ import { systemdUserAvailable } from '../../utils/otel-sync-schedule.js';
10
+ import { collectUsage, emptyUsage } from '../../dashboard/usage.js';
11
+ import { UsageCache, usageCachePath } from '../../dashboard/usage-cache.js';
5
12
  /** Opens the URL in the default browser. argv only, detached; failure is non-fatal. */
6
13
  function openBrowser(url) {
7
14
  const [cmd, args] = process.platform === 'darwin' ? ['open', [url]]
@@ -26,24 +33,47 @@ export function parsePort(v) {
26
33
  throw new Error('--port must be 0 or between 1024 and 65535');
27
34
  return n;
28
35
  }
36
+ export function formatTiming(t) {
37
+ return `prism dashboard timing: scan ${t.scan} ms, setup ${t.setup} ms, usage ${t.usage} ms (${t.cacheHit ? 'cache hit' : 'codeburn export'}), total ${t.total} ms`;
38
+ }
29
39
  export default {
30
- description: 'Local web dashboard (127.0.0.1 only): codewatch results, codeburn usage and setup checklist. No AWS calls.',
40
+ description: 'Local web dashboard (127.0.0.1 only): codewatch results, codeburn usage, and a Setup page that runs local setup steps. Read-only in AWS.',
31
41
  options: [
32
42
  { flags: '--json', description: 'Print the dashboard data as JSON and exit (no server)' },
33
43
  { flags: '--root <dir>', description: 'Where to look for git repos, 3 levels deep (default: your home directory)' },
34
44
  { flags: '--all', description: '[deprecated, no effect] every repo under --root is now shown by default' },
35
45
  { flags: '--port <n>', description: 'Port on 127.0.0.1 (default: a random free port)' },
36
46
  { flags: '--no-open', description: 'Do not open a browser' },
47
+ { flags: '--fresh', description: 'With --json: run the codeburn exports now instead of using the usage cache (~/.prism/cache, 5 minutes)' },
48
+ { flags: '--timing', description: 'With --json: print how long each stage took to stderr' },
37
49
  ],
38
50
  async action(opts) {
39
51
  // stderr, so --json output stays parseable.
40
52
  if (opts.all)
41
53
  console.error('prism: --all is deprecated and has no effect; the dashboard now scans your home directory (or --root) by default.');
42
- const build = () => buildPayload({ cwd: process.cwd(), root: opts.root });
54
+ const usageCache = new UsageCache({ file: usageCachePath(homedir()), collect: () => collectUsage() });
43
55
  if (opts.json) {
44
- process.stdout.write(JSON.stringify(await build(), null, 2) + '\n');
56
+ let refresh = null;
57
+ const payload = await buildPayload({
58
+ cwd: process.cwd(), root: opts.root,
59
+ usage: async () => { const r = await usageCache.get({ fresh: opts.fresh }); refresh = r.refresh; return r; },
60
+ });
61
+ process.stdout.write(JSON.stringify(payload, null, 2) + '\n');
62
+ if (opts.timing)
63
+ console.error(formatTiming(payload.timing));
64
+ // A stale cache was printed; finish its background refresh so the next run gets new data.
65
+ if (refresh)
66
+ await refresh;
45
67
  return;
46
68
  }
69
+ // The page's first paint never waits for codeburn: it shows the cached usage, or "loading" until /api/usage answers.
70
+ const build = () => buildPayload({
71
+ cwd: process.cwd(), root: opts.root,
72
+ usage: async () => {
73
+ const u = usageCache.current();
74
+ return u ? { usage: u, cacheHit: true } : { usage: emptyUsage('loading', 'Loading usage from codeburn...'), cacheHit: false };
75
+ },
76
+ });
47
77
  let port;
48
78
  try {
49
79
  port = parsePort(opts.port);
@@ -55,9 +85,31 @@ export default {
55
85
  let srv;
56
86
  try {
57
87
  const payload = cachedPayload(build);
88
+ const repos = async () => (await payload()).repos;
58
89
  // Reports are looked up only in the repos the dashboard itself discovered.
59
- const getReport = async (id) => reportFromRepos((await payload()).repos.map((r) => r.path), id);
60
- srv = await startServer({ port, getPayload: payload, getReport });
90
+ const getReport = async (id) => reportFromRepos((await repos()).map((r) => r.path), id);
91
+ let systemd;
92
+ const runner = new ActionRunner({
93
+ execPath: process.execPath, entry: cliEntry(), cwd: process.cwd(), home: homedir(), platform: process.platform,
94
+ repos: async () => (await repos()).map((r) => ({ id: repoId(r.path), name: r.name, path: r.path })),
95
+ systemdAvailable: () => (systemd ??= systemdUserAvailable()),
96
+ onDone: () => payload.invalidate(),
97
+ });
98
+ const api = setupApi({
99
+ runner, cwd: process.cwd(),
100
+ repoPaths: async () => (await repos()).map((r) => r.path),
101
+ identity: { env: process.env, home: homedir(), repoRoot: repoRootOf(process.cwd()) },
102
+ refresh: () => { payload.invalidate(); return payload(); },
103
+ });
104
+ // fresh=1 (the Refresh button) waits for new exports; otherwise the cache, refreshed in the background when stale.
105
+ const getUsage = async (url) => {
106
+ const r = await usageCache.get({ fresh: url.searchParams.get('fresh') === '1' });
107
+ if (!r.cacheHit)
108
+ payload.invalidate();
109
+ r.refresh?.then(() => payload.invalidate(), () => { });
110
+ return { usage: r.usage, cacheHit: r.cacheHit };
111
+ };
112
+ srv = await startServer({ port, getPayload: payload, getReport, getApi: { ...api.getApi, '/api/usage': getUsage }, postApi: api.postApi });
61
113
  }
62
114
  catch (e) {
63
115
  console.error(`Error: could not start the dashboard on ${BIND_HOST}${port ? `:${port}` : ''}: ${e.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../../src/commands/_top/dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../../src/commands/_top/dashboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * The Setup page's Run buttons: a fixed allowlist of action ids, each mapped
3
+ * here (server side) to a fixed argv for this CLI's own binary.
4
+ *
5
+ * Safety properties, enforced in start():
6
+ * - spawn(process.execPath, [cli entry, ...fixed args]) with shell:false and
7
+ * stdin closed, so prompts take their no-terminal path and nothing is parsed
8
+ * by a shell;
9
+ * - the request names an action id and nothing else free-form: a repo is an
10
+ * id resolved against the dashboard's own scan list (never a client path),
11
+ * and the only text input is a collector URL for team mode, validated as
12
+ * https with a hostname, no userinfo, at most 2048 characters;
13
+ * - one action at a time, each with a timeout;
14
+ * - output is redacted before it leaves the server, and every run is
15
+ * appended to ~/.prism/logs/dashboard-actions.log (time, id, repo name,
16
+ * exit code; never output or URLs);
17
+ * - no action writes to AWS. aws check and team info are read-only;
18
+ * AWS-writing commands are copy-only on the page.
19
+ */
20
+ import { type ChildProcess, type SpawnOptions } from 'node:child_process';
21
+ export type ActionId = 'codewatch-repo' | 'codewatch-global' | 'codeburn-local' | 'codeburn-systemd' | 'codeburn-team' | 'codeburn-remove' | 'codeburn-status' | 'aws-check' | 'team-info';
22
+ export interface ActionDef {
23
+ label: string;
24
+ /** Fixed CLI arguments after the entry script. codeburn-team appends the validated URL. */
25
+ args: readonly string[];
26
+ /** Runs inside a repo picked from the scan list. */
27
+ repo?: true;
28
+ /** Takes the collector URL. */
29
+ url?: true;
30
+ /** Needs `confirm: true` in the request (a second confirmation on the page). */
31
+ confirm?: true;
32
+ /** Makes read-only AWS calls (describe/get/list). No action writes to AWS. */
33
+ readOnlyAws?: true;
34
+ /** Linux with a working `systemctl --user` only. */
35
+ systemd?: true;
36
+ timeoutMs: number;
37
+ }
38
+ export declare const ACTIONS: Record<ActionId, ActionDef>;
39
+ export declare const MAX_URL_LENGTH = 2048;
40
+ /** null when `s` is an acceptable collector URL, else why not. */
41
+ export declare function collectorUrlError(s: unknown): string | null;
42
+ /** Stable id for a scanned repo: never a path the client could choose. */
43
+ export declare function repoId(path: string): string;
44
+ /**
45
+ * Masks secrets in command output: AWS key ids, key=value secrets, bearer
46
+ * tokens, JWTs, URL userinfo and token-like query parameters.
47
+ * shortcut: pattern-based, so an unusual secret format can slip through; add its pattern when one is seen.
48
+ */
49
+ export declare function redact(s: string): string;
50
+ /** This CLI's own entry script: dist/bin/prism-cli.js beside dist/src/dashboard/. */
51
+ export declare function cliEntry(): string;
52
+ export interface ScanRepo {
53
+ id: string;
54
+ name: string;
55
+ path: string;
56
+ }
57
+ export type SpawnFn = (file: string, args: string[], opts: SpawnOptions) => ChildProcess;
58
+ export interface RunnerDeps {
59
+ execPath: string;
60
+ entry: string;
61
+ /** Where repo-less actions run (the dashboard's working directory). */
62
+ cwd: string;
63
+ home: string;
64
+ repos(): Promise<ScanRepo[]>;
65
+ systemdAvailable(): boolean;
66
+ platform: NodeJS.Platform;
67
+ spawn?: SpawnFn;
68
+ now?: () => Date;
69
+ /** Called after each action finishes (the dashboard drops its cached payload). */
70
+ onDone?: () => void;
71
+ /** Kill grace after SIGTERM. */
72
+ killGraceMs?: number;
73
+ }
74
+ export interface ApiResult {
75
+ status: number;
76
+ json: unknown;
77
+ }
78
+ export interface ActionStatus {
79
+ state: 'idle' | 'running' | 'done';
80
+ runId?: number;
81
+ action?: ActionId;
82
+ repo?: string | null;
83
+ command?: string;
84
+ cwd?: string;
85
+ output?: string;
86
+ exitCode?: number | null;
87
+ timedOut?: boolean;
88
+ startedAt?: string;
89
+ finishedAt?: string | null;
90
+ }
91
+ /** `prism-cli <args>` as shown on the page. Arguments are fixed words or the validated https URL. */
92
+ export declare function displayCommand(args: readonly string[]): string;
93
+ export declare function actionLogPath(home: string): string;
94
+ export declare class ActionRunner {
95
+ private d;
96
+ private cur;
97
+ private busy;
98
+ private seq;
99
+ constructor(d: RunnerDeps);
100
+ /** True while an action (or Check now) holds the lock. */
101
+ get running(): boolean;
102
+ /** Runs `fn` under the same one-at-a-time lock as the actions. */
103
+ exclusive<T>(fn: () => T | Promise<T>): Promise<ApiResult>;
104
+ available(id: ActionId): boolean;
105
+ /** Validates the request, then starts the action. 202 with the command, else 4xx with the reason. */
106
+ start(body: unknown): Promise<ApiResult>;
107
+ private finish;
108
+ private log;
109
+ /** The current or last action, output redacted. */
110
+ status(): ActionStatus;
111
+ }
112
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/dashboard/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,242 @@
1
+ /**
2
+ * The Setup page's Run buttons: a fixed allowlist of action ids, each mapped
3
+ * here (server side) to a fixed argv for this CLI's own binary.
4
+ *
5
+ * Safety properties, enforced in start():
6
+ * - spawn(process.execPath, [cli entry, ...fixed args]) with shell:false and
7
+ * stdin closed, so prompts take their no-terminal path and nothing is parsed
8
+ * by a shell;
9
+ * - the request names an action id and nothing else free-form: a repo is an
10
+ * id resolved against the dashboard's own scan list (never a client path),
11
+ * and the only text input is a collector URL for team mode, validated as
12
+ * https with a hostname, no userinfo, at most 2048 characters;
13
+ * - one action at a time, each with a timeout;
14
+ * - output is redacted before it leaves the server, and every run is
15
+ * appended to ~/.prism/logs/dashboard-actions.log (time, id, repo name,
16
+ * exit code; never output or URLs);
17
+ * - no action writes to AWS. aws check and team info are read-only;
18
+ * AWS-writing commands are copy-only on the page.
19
+ */
20
+ import { spawn as nodeSpawn } from 'node:child_process';
21
+ import { createHash } from 'node:crypto';
22
+ import { appendFileSync, mkdirSync } from 'node:fs';
23
+ import { dirname, join } from 'node:path';
24
+ import { fileURLToPath } from 'node:url';
25
+ const MIN = 60_000;
26
+ export const ACTIONS = {
27
+ 'codewatch-repo': { label: 'Enable codewatch in this repo', args: ['enable', 'codewatch'], repo: true, timeoutMs: 2 * MIN },
28
+ 'codewatch-global': { label: 'Enable codewatch for every repo', args: ['enable', 'codewatch', '--global'], timeoutMs: 2 * MIN },
29
+ 'codeburn-local': { label: 'Keep usage local', args: ['enable', 'codeburn', '--local'], timeoutMs: 2 * MIN },
30
+ 'codeburn-systemd': { label: 'Schedule with a systemd user timer', args: ['enable', 'codeburn', '--schedule', 'systemd'], systemd: true, timeoutMs: 5 * MIN },
31
+ // codeburn sync setup opens a browser to sign in, so this one gets longer.
32
+ 'codeburn-team': { label: "Sync to my team's PRISM", args: ['enable', 'codeburn', '--url'], url: true, timeoutMs: 10 * MIN },
33
+ 'codeburn-remove': { label: 'Remove the sync schedule', args: ['enable', 'codeburn', '--remove'], confirm: true, timeoutMs: 2 * MIN },
34
+ 'codeburn-status': { label: 'codeburn status', args: ['enable', 'codeburn', '--status'], timeoutMs: MIN },
35
+ 'aws-check': { label: 'AWS account check (read-only)', args: ['aws', 'check'], readOnlyAws: true, timeoutMs: 10 * MIN },
36
+ 'team-info': { label: 'Team stack info (read-only)', args: ['team', 'info'], readOnlyAws: true, timeoutMs: 2 * MIN },
37
+ };
38
+ const isActionId = (x) => typeof x === 'string' && Object.prototype.hasOwnProperty.call(ACTIONS, x);
39
+ export const MAX_URL_LENGTH = 2048;
40
+ /** null when `s` is an acceptable collector URL, else why not. */
41
+ export function collectorUrlError(s) {
42
+ if (typeof s !== 'string' || !s)
43
+ return 'a collector URL is required';
44
+ if (s.length > MAX_URL_LENGTH)
45
+ return `the URL is longer than ${MAX_URL_LENGTH} characters`;
46
+ if (/[\s\u0000-\u001f\u007f]/.test(s))
47
+ return 'the URL contains spaces or control characters';
48
+ let u;
49
+ try {
50
+ u = new URL(s);
51
+ }
52
+ catch {
53
+ return 'not a valid URL';
54
+ }
55
+ if (u.protocol !== 'https:')
56
+ return 'the URL must start with https://';
57
+ if (!u.hostname)
58
+ return 'the URL has no hostname';
59
+ if (u.username || u.password || /^https:\/\/[^/?#]*@/i.test(s))
60
+ return 'the URL must not contain a user name or password';
61
+ return null;
62
+ }
63
+ /** Stable id for a scanned repo: never a path the client could choose. */
64
+ export function repoId(path) {
65
+ return createHash('sha256').update(path).digest('hex').slice(0, 16);
66
+ }
67
+ const ANSI_RE = /\u001b\[[0-9;?]*[A-Za-z]/g;
68
+ /**
69
+ * Masks secrets in command output: AWS key ids, key=value secrets, bearer
70
+ * tokens, JWTs, URL userinfo and token-like query parameters.
71
+ * shortcut: pattern-based, so an unusual secret format can slip through; add its pattern when one is seen.
72
+ */
73
+ export function redact(s) {
74
+ return s
75
+ .replace(ANSI_RE, '')
76
+ .replace(/\b(?:AKIA|ASIA|ABIA|ACCA|A3T[A-Z0-9])[A-Z0-9]{16}\b/g, '[REDACTED]')
77
+ .replace(/\b((?:aws_)?(?:secret_access_key|session_token|security_token|secret|password|passwd|api[_-]?key|access_token|refresh_token|id_token|client_secret)["']?\s*[:=]\s*["']?)[^\s"',;&]+/gi, '$1[REDACTED]')
78
+ .replace(/\b(Bearer|Basic)\s+[A-Za-z0-9._~+/=-]{8,}/g, '$1 [REDACTED]')
79
+ .replace(/\beyJ[A-Za-z0-9_-]{6,}\.[A-Za-z0-9_-]{6,}\.[A-Za-z0-9_-]{6,}/g, '[REDACTED]')
80
+ .replace(/\b([a-z][a-z0-9+.-]*:\/\/)[^\s/@]+@/gi, '$1[REDACTED]@')
81
+ .replace(/([?&#](?:token|access_token|id_token|code|signature|sig|key|x-amz-[a-z-]+)=)[^&\s#"']+/gi, '$1[REDACTED]');
82
+ }
83
+ /** This CLI's own entry script: dist/bin/prism-cli.js beside dist/src/dashboard/. */
84
+ export function cliEntry() {
85
+ return fileURLToPath(new URL('../../bin/prism-cli.js', import.meta.url));
86
+ }
87
+ const MAX_OUTPUT = 256 * 1024;
88
+ const ALLOWED_KEYS = new Set(['action', 'repo', 'url', 'confirm']);
89
+ /** `prism-cli <args>` as shown on the page. Arguments are fixed words or the validated https URL. */
90
+ export function displayCommand(args) {
91
+ return ['prism-cli', ...args.map((a) => (/^[A-Za-z0-9_./:=@%+,-]+$/.test(a) ? a : `'${a.replace(/'/g, `'\\''`)}'`))].join(' ');
92
+ }
93
+ export function actionLogPath(home) {
94
+ return join(home, '.prism', 'logs', 'dashboard-actions.log');
95
+ }
96
+ /** Repo names go into a one-line log: anything but name characters becomes _. */
97
+ const logSafe = (s) => s.replace(/[^A-Za-z0-9._-]/g, '_').slice(0, 120);
98
+ export class ActionRunner {
99
+ d;
100
+ cur = null;
101
+ busy = false;
102
+ seq = 0;
103
+ constructor(d) {
104
+ this.d = d;
105
+ }
106
+ /** True while an action (or Check now) holds the lock. */
107
+ get running() { return this.busy; }
108
+ /** Runs `fn` under the same one-at-a-time lock as the actions. */
109
+ async exclusive(fn) {
110
+ if (this.busy)
111
+ return { status: 409, json: { error: 'another action is running; wait for it to finish' } };
112
+ this.busy = true;
113
+ try {
114
+ return { status: 200, json: await fn() };
115
+ }
116
+ finally {
117
+ this.busy = false;
118
+ }
119
+ }
120
+ available(id) {
121
+ return !ACTIONS[id].systemd || (this.d.platform === 'linux' && this.d.systemdAvailable());
122
+ }
123
+ /** Validates the request, then starts the action. 202 with the command, else 4xx with the reason. */
124
+ async start(body) {
125
+ const bad = (error, status = 400) => ({ status, json: { error } });
126
+ if (!body || typeof body !== 'object' || Array.isArray(body))
127
+ return bad('expected a JSON object');
128
+ const b = body;
129
+ const extra = Object.keys(b).filter((k) => !ALLOWED_KEYS.has(k));
130
+ if (extra.length)
131
+ return bad(`unexpected field ${extra[0]}`);
132
+ if (!isActionId(b.action))
133
+ return bad('unknown action');
134
+ const id = b.action, def = ACTIONS[id];
135
+ if (!this.available(id))
136
+ return bad('this action is not available on this machine');
137
+ let repo = null;
138
+ if (def.repo) {
139
+ if (typeof b.repo !== 'string' || !/^[a-f0-9]{16}$/.test(b.repo))
140
+ return bad('repo must be an id from the scan list');
141
+ repo = (await this.d.repos()).find((r) => r.id === b.repo) ?? null;
142
+ if (!repo)
143
+ return bad('repo is not in the scan list');
144
+ }
145
+ else if (b.repo !== undefined)
146
+ return bad('this action does not take a repo');
147
+ if (def.url) {
148
+ const e = collectorUrlError(b.url);
149
+ if (e)
150
+ return bad(`collector URL: ${e}`);
151
+ }
152
+ else if (b.url !== undefined)
153
+ return bad('this action does not take a URL');
154
+ if (def.confirm && b.confirm !== true)
155
+ return bad('this action needs confirm: true');
156
+ if (b.confirm !== undefined && typeof b.confirm !== 'boolean')
157
+ return bad('confirm must be true or false');
158
+ if (this.busy)
159
+ return bad('another action is running; wait for it to finish', 409);
160
+ const args = [...def.args, ...(def.url ? [b.url] : [])];
161
+ const cwd = repo ? repo.path : this.d.cwd;
162
+ const now = this.d.now ?? (() => new Date());
163
+ this.busy = true;
164
+ const runId = ++this.seq;
165
+ const st = this.cur = {
166
+ state: 'running', runId, action: id, repo: repo?.name ?? null, command: displayCommand(args), cwd,
167
+ buf: '', exitCode: null, timedOut: false, startedAt: now().toISOString(), finishedAt: null,
168
+ };
169
+ const add = (chunk) => {
170
+ st.buf += chunk.toString();
171
+ if (st.buf.length > MAX_OUTPUT)
172
+ st.buf = '[earlier output trimmed]\n' + st.buf.slice(-MAX_OUTPUT);
173
+ };
174
+ let child;
175
+ try {
176
+ child = (this.d.spawn ?? nodeSpawn)(this.d.execPath, [this.d.entry, ...args], {
177
+ cwd, shell: false, windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'],
178
+ env: { ...process.env, NO_COLOR: '1', FORCE_COLOR: '0' },
179
+ });
180
+ }
181
+ catch (e) {
182
+ add(`could not start: ${e.message}\n`);
183
+ this.finish(st, 1);
184
+ return { status: 202, json: this.status() };
185
+ }
186
+ child.stdout?.on('data', add);
187
+ child.stderr?.on('data', add);
188
+ let killer;
189
+ const timer = setTimeout(() => {
190
+ st.timedOut = true;
191
+ add(`\n[timed out after ${Math.round(def.timeoutMs / 1000)} s; stopping it]\n`);
192
+ child.kill('SIGTERM');
193
+ killer = setTimeout(() => child.kill('SIGKILL'), this.d.killGraceMs ?? 5000);
194
+ killer.unref();
195
+ }, def.timeoutMs);
196
+ timer.unref();
197
+ let settled = false;
198
+ const done = (code) => {
199
+ if (settled)
200
+ return;
201
+ settled = true;
202
+ clearTimeout(timer);
203
+ if (killer)
204
+ clearTimeout(killer);
205
+ this.finish(st, st.timedOut ? 124 : code ?? 1);
206
+ };
207
+ child.on('error', (e) => { add(`could not start: ${e.message}\n`); done(1); });
208
+ child.on('close', (code) => done(code));
209
+ return { status: 202, json: this.status() };
210
+ }
211
+ finish(st, code) {
212
+ st.exitCode = code;
213
+ st.state = 'done';
214
+ st.finishedAt = (this.d.now ?? (() => new Date()))().toISOString();
215
+ this.busy = false;
216
+ this.log(st);
217
+ try {
218
+ this.d.onDone?.();
219
+ }
220
+ catch { /* a refresh hook must not break the runner */ }
221
+ }
222
+ log(st) {
223
+ const line = JSON.stringify({ time: st.finishedAt, action: st.action, repo: st.repo ? logSafe(st.repo) : null, exit: st.exitCode }) + '\n';
224
+ const p = actionLogPath(this.d.home);
225
+ try {
226
+ mkdirSync(dirname(p), { recursive: true, mode: 0o700 });
227
+ appendFileSync(p, line, { mode: 0o600 });
228
+ }
229
+ catch (e) {
230
+ process.stderr.write(`prism dashboard: could not write ${p}: ${e.message}\n`);
231
+ }
232
+ }
233
+ /** The current or last action, output redacted. */
234
+ status() {
235
+ const c = this.cur;
236
+ if (!c)
237
+ return { state: 'idle' };
238
+ const { buf, ...rest } = c;
239
+ return { ...rest, output: redact(buf) };
240
+ }
241
+ }
242
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/dashboard/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,KAAK,IAAI,SAAS,EAAwC,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAsBzC,MAAM,GAAG,GAAG,MAAM,CAAC;AACnB,MAAM,CAAC,MAAM,OAAO,GAAgC;IAClD,gBAAgB,EAAE,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,GAAG,EAAE;IAC3H,kBAAkB,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,GAAG,EAAE;IAC/H,gBAAgB,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,GAAG,EAAE;IAC5G,kBAAkB,EAAE,EAAE,KAAK,EAAE,oCAAoC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,GAAG,EAAE;IAC7J,2EAA2E;IAC3E,eAAe,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,GAAG,EAAE;IAC5H,iBAAiB,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,GAAG,EAAE;IACrI,iBAAiB,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;IACzG,WAAW,EAAE,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,GAAG,EAAE;IACvH,WAAW,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,GAAG,EAAE;CACrH,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,CAAU,EAAiB,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAE5H,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC,kEAAkE;AAClE,MAAM,UAAU,iBAAiB,CAAC,CAAU;IAC1C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC;QAAE,OAAO,6BAA6B,CAAC;IACtE,IAAI,CAAC,CAAC,MAAM,GAAG,cAAc;QAAE,OAAO,0BAA0B,cAAc,aAAa,CAAC;IAC5F,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,+CAA+C,CAAC;IAC9F,IAAI,CAAM,CAAC;IACX,IAAI,CAAC;QAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,iBAAiB,CAAC;IAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,kCAAkC,CAAC;IACvE,IAAI,CAAC,CAAC,CAAC,QAAQ;QAAE,OAAO,yBAAyB,CAAC;IAClD,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,kDAAkD,CAAC;IAC1H,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,OAAO,GAAG,2BAA2B,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,OAAO,CAAC;SACL,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,sDAAsD,EAAE,YAAY,CAAC;SAC7E,OAAO,CAAC,uLAAuL,EAAE,cAAc,CAAC;SAChN,OAAO,CAAC,4CAA4C,EAAE,eAAe,CAAC;SACtE,OAAO,CAAC,+DAA+D,EAAE,YAAY,CAAC;SACtF,OAAO,CAAC,uCAAuC,EAAE,eAAe,CAAC;SACjE,OAAO,CAAC,0FAA0F,EAAE,cAAc,CAAC,CAAC;AACzH,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,QAAQ;IACtB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3E,CAAC;AAuCD,MAAM,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC;AAC9B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAEnE,qGAAqG;AACrG,MAAM,UAAU,cAAc,CAAC,IAAuB;IACpD,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjI,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAC/D,CAAC;AAED,iFAAiF;AACjF,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAEhF,MAAM,OAAO,YAAY;IAIH;IAHZ,GAAG,GAA4C,IAAI,CAAC;IACpD,IAAI,GAAG,KAAK,CAAC;IACb,GAAG,GAAG,CAAC,CAAC;IAChB,YAAoB,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAErC,0DAA0D;IAC1D,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5C,kEAAkE;IAClE,KAAK,CAAC,SAAS,CAAI,EAAwB;QACzC,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,kDAAkD,EAAE,EAAE,CAAC;QAC3G,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC;YAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAAC,CAAC;gBAAS,CAAC;YAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAAC,CAAC;IAClF,CAAC;IAED,SAAS,CAAC,EAAY;QACpB,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,qGAAqG;IACrG,KAAK,CAAC,KAAK,CAAC,IAAa;QACvB,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,MAAM,GAAG,GAAG,EAAa,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACnG,MAAM,CAAC,GAAG,IAA+B,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,KAAK,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC,oBAAoB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,OAAO,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAAE,OAAO,GAAG,CAAC,8CAA8C,CAAC,CAAC;QACpF,IAAI,IAAI,GAAoB,IAAI,CAAC;QACjC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACtH,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;YACnE,IAAI,CAAC,IAAI;gBAAE,OAAO,GAAG,CAAC,8BAA8B,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChF,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC;gBAAE,OAAO,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC9E,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACrF,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC3G,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,GAAG,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAC;QAEnF,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG;YACpB,KAAK,EAAE,SAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG;YAC1G,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI;SACzD,CAAC;QACpC,MAAM,GAAG,GAAG,CAAC,KAAsB,EAAE,EAAE;YACrC,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,UAAU;gBAAE,EAAE,CAAC,GAAG,GAAG,4BAA4B,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;QACpG,CAAC,CAAC;QACF,IAAI,KAAmB,CAAC;QACxB,IAAI,CAAC;YACH,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE;gBAC5E,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACvE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;aACzD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,oBAAqB,CAAW,CAAC,OAAO,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACnB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,CAAC;QACD,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,IAAI,MAAkC,CAAC;QACvC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnB,GAAG,CAAC,sBAAsB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAChF,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;YAC7E,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAClB,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,IAAI,GAAG,CAAC,IAAmB,EAAE,EAAE;YACnC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,MAAM;gBAAE,YAAY,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IAC9C,CAAC;IAEO,MAAM,CAAC,EAAkC,EAAE,IAAY;QAC7D,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;QACnB,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC;QAClB,EAAE,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC;YAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,8CAA8C,CAAC,CAAC;IACrF,CAAC;IAEO,GAAG,CAAC,EAAgB;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;QAC3I,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,KAAM,CAAW,CAAC,OAAO,IAAI,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,MAAM;QACJ,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACnB,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1C,CAAC;CACF"}