@helloworlkd/pam-cli 0.1.19 → 0.1.20

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/README.md CHANGED
@@ -12,14 +12,14 @@ npm install -g @helloworlkd/pam-cli
12
12
 
13
13
  This installs the `pam` command.
14
14
 
15
- For future global updates, prefer:
15
+ For future global updates, stop any running `pam ui` or `pam server start`
16
+ processes, then run:
16
17
 
17
18
  ```bash
18
- pam upgrade
19
+ npm install -g @helloworlkd/pam-cli@latest
19
20
  ```
20
21
 
21
- This stops running PAM UI/MCP services before invoking npm, which avoids
22
- Windows native-file locks during updates.
22
+ Stopping PAM services first avoids Windows native-file locks during updates.
23
23
 
24
24
  For automatic project bootstrap:
25
25
 
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUnC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAiHrD"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUnC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAuGrD"}
@@ -1,4 +1,4 @@
1
- import { MemoryIndex, SemanticIndex, getProjectMemoryPath, indexAllMemories, listMemories, readMemory, } from '@helloworlkd/pam-core';
1
+ import { SemanticIndex, getProjectMemoryPath, hybridSearchMemories, listMemories, readMemory, semanticMemoryText, } from '@helloworlkd/pam-core';
2
2
  export function registerSearchCommand(program) {
3
3
  program
4
4
  .command('search [query]')
@@ -20,7 +20,7 @@ export function registerSearchCommand(program) {
20
20
  const semanticIndex = new SemanticIndex(basePath);
21
21
  const memories = (await listMemories(basePath)).filter((memory) => memory.metadata.status === 'active');
22
22
  for (const memory of memories) {
23
- await semanticIndex.indexMemory(memory.metadata.id, memory.content);
23
+ await semanticIndex.indexMemory(memory.metadata.id, semanticMemoryText(memory));
24
24
  }
25
25
  const semanticResults = await semanticIndex.search(query, limit);
26
26
  semanticIndex.close();
@@ -55,34 +55,28 @@ export function registerSearchCommand(program) {
55
55
  }
56
56
  return;
57
57
  }
58
- await indexAllMemories(basePath);
59
- const index = new MemoryIndex(basePath);
60
- let usedNaturalFallback = false;
61
- let results = index.search({
58
+ const results = await hybridSearchMemories(basePath, {
62
59
  query,
63
60
  type: options.type,
64
61
  tag: options.tag,
65
62
  limit,
66
- natural: false,
67
63
  });
68
- if (query && results.length === 0) {
69
- results = index.search({
70
- query,
71
- type: options.type,
72
- tag: options.tag,
73
- limit,
74
- natural: true,
75
- });
76
- usedNaturalFallback = results.length > 0;
77
- }
78
- index.close();
79
64
  if (results.length === 0) {
80
65
  console.log(query
81
- ? 'No memories found. Try --semantic for embedding search if lexical matching is too narrow.'
66
+ ? 'No memories found. Try broader words or --semantic for embedding-only diagnostics.'
82
67
  : 'No memories found');
83
68
  return;
84
69
  }
85
- if (usedNaturalFallback) {
70
+ const usedExact = results.some((result) => result.match.sources.includes('lexical-exact'));
71
+ const usedNatural = results.some((result) => result.match.sources.includes('lexical-natural'));
72
+ const usedSemantic = results.some((result) => result.match.sources.includes('semantic'));
73
+ if (usedSemantic && (usedExact || usedNatural)) {
74
+ console.log('Showing hybrid lexical and semantic matches.\n');
75
+ }
76
+ else if (usedSemantic) {
77
+ console.log('No strong lexical hits; showing semantic matches.\n');
78
+ }
79
+ else if (usedNatural && !usedExact) {
86
80
  console.log('No exact lexical hits; showing related matches from tags and synonyms.\n');
87
81
  }
88
82
  for (const result of results) {
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -32,7 +32,6 @@ import { registerSupersedeCommand } from './commands/supersede.js';
32
32
  import { registerDebugCommand } from './commands/debug.js';
33
33
  import { registerHookCommand } from './commands/hook.js';
34
34
  import { registerIntelligenceCommand } from './commands/intelligence.js';
35
- import { registerUpgradeCommand } from './commands/upgrade.js';
36
35
  import { getCliVersion } from './version.js';
37
36
  const program = new Command();
38
37
  program.name('pam').description('Portable AI Memory CLI').version(getCliVersion());
@@ -68,6 +67,5 @@ registerSupersedeCommand(program);
68
67
  registerDebugCommand(program);
69
68
  registerHookCommand(program);
70
69
  registerIntelligenceCommand(program);
71
- registerUpgradeCommand(program);
72
70
  program.parse();
73
71
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helloworlkd/pam-cli",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "description": "PAM CLI - Command line interface for PAM",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -45,9 +45,9 @@
45
45
  "@modelcontextprotocol/sdk": "^1.29.0",
46
46
  "commander": "^15.0.0",
47
47
  "zod": "^4.4.3",
48
- "@helloworlkd/pam-core": "^0.1.10",
48
+ "@helloworlkd/pam-core": "^0.1.11",
49
49
  "@helloworlkd/pam-api": "^0.1.17",
50
- "@helloworlkd/pam-protocol": "^0.1.10"
50
+ "@helloworlkd/pam-protocol": "^0.1.11"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/node": "^25.9.3"
@@ -1,24 +0,0 @@
1
- export type UpgradePhase = 'queued' | 'waiting' | 'stopping-services' | 'installing' | 'succeeded' | 'failed';
2
- export interface UpgradeStatus {
3
- runId: string;
4
- phase: UpgradePhase;
5
- message: string;
6
- packageSpec: string;
7
- npmCommand: string;
8
- startedAt: string;
9
- updatedAt: string;
10
- logPath: string;
11
- stoppedServices?: number;
12
- exitCode?: number;
13
- }
14
- export interface UpgradeStatePaths {
15
- dir: string;
16
- statusPath: string;
17
- logPath: string;
18
- }
19
- export declare function getUpgradeStatePaths(runId?: string): UpgradeStatePaths;
20
- export declare function writeUpgradeStatus(status: UpgradeStatus): void;
21
- export declare function readUpgradeStatus(runId?: string): UpgradeStatus | null;
22
- export declare function appendUpgradeLog(logPath: string, message: string): void;
23
- export declare function formatUpgradeStatus(status: UpgradeStatus | null): string;
24
- //# sourceMappingURL=upgrade-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upgrade-state.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade-state.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,SAAS,GACT,mBAAmB,GACnB,YAAY,GACZ,WAAW,GACX,QAAQ,CAAA;AAEZ,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,SAAW,GAAG,iBAAiB,CAQxE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAK9D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,SAAW,GAAG,aAAa,GAAG,IAAI,CAIxE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAGvE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,MAAM,CAsBxE"}
@@ -1,52 +0,0 @@
1
- import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
- import { tmpdir } from 'node:os';
3
- import { join } from 'node:path';
4
- export function getUpgradeStatePaths(runId = 'latest') {
5
- const dir = process.env.PAM_UPGRADE_STATE_DIR ?? join(tmpdir(), 'pam-upgrade');
6
- const suffix = runId === 'latest' ? 'latest' : sanitizeRunId(runId);
7
- return {
8
- dir,
9
- statusPath: join(dir, `${suffix}.json`),
10
- logPath: join(dir, `${suffix}.log`),
11
- };
12
- }
13
- export function writeUpgradeStatus(status) {
14
- mkdirSync(getUpgradeStatePaths().dir, { recursive: true });
15
- const paths = getUpgradeStatePaths(status.runId);
16
- writeFileSync(paths.statusPath, `${JSON.stringify(status, null, 2)}\n`, 'utf-8');
17
- writeFileSync(getUpgradeStatePaths().statusPath, `${JSON.stringify(status, null, 2)}\n`, 'utf-8');
18
- }
19
- export function readUpgradeStatus(runId = 'latest') {
20
- const path = getUpgradeStatePaths(runId).statusPath;
21
- if (!existsSync(path))
22
- return null;
23
- return JSON.parse(readFileSync(path, 'utf-8'));
24
- }
25
- export function appendUpgradeLog(logPath, message) {
26
- mkdirSync(getUpgradeStatePaths().dir, { recursive: true });
27
- appendFileSync(logPath, message, 'utf-8');
28
- }
29
- export function formatUpgradeStatus(status) {
30
- if (!status)
31
- return 'No PAM upgrade status has been recorded yet.';
32
- const lines = [
33
- `PAM upgrade ${status.runId}`,
34
- `Phase: ${status.phase}`,
35
- `Package: ${status.packageSpec}`,
36
- `npm: ${status.npmCommand}`,
37
- `Updated: ${status.updatedAt}`,
38
- `Message: ${status.message}`,
39
- `Log: ${status.logPath}`,
40
- ];
41
- if (typeof status.stoppedServices === 'number') {
42
- lines.push(`Stopped services: ${status.stoppedServices}`);
43
- }
44
- if (typeof status.exitCode === 'number') {
45
- lines.push(`Exit code: ${status.exitCode}`);
46
- }
47
- return lines.join('\n');
48
- }
49
- function sanitizeRunId(runId) {
50
- return runId.replace(/[^a-zA-Z0-9_.-]/g, '-');
51
- }
52
- //# sourceMappingURL=upgrade-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upgrade-state.js","sourceRoot":"","sources":["../../src/commands/upgrade-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5F,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AA6BhC,MAAM,UAAU,oBAAoB,CAAC,KAAK,GAAG,QAAQ;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAA;IAC9E,MAAM,MAAM,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACnE,OAAO;QACL,GAAG;QACH,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC;QACvC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC;KACpC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAqB;IACtD,SAAS,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAChD,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAChF,aAAa,CAAC,oBAAoB,EAAE,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACnG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAK,GAAG,QAAQ;IAChD,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAA;IACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAClC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAkB,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAe;IAC/D,SAAS,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1D,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAA4B;IAC9D,IAAI,CAAC,MAAM;QAAE,OAAO,8CAA8C,CAAA;IAElE,MAAM,KAAK,GAAG;QACZ,eAAe,MAAM,CAAC,KAAK,EAAE;QAC7B,UAAU,MAAM,CAAC,KAAK,EAAE;QACxB,YAAY,MAAM,CAAC,WAAW,EAAE;QAChC,QAAQ,MAAM,CAAC,UAAU,EAAE;QAC3B,YAAY,MAAM,CAAC,SAAS,EAAE;QAC9B,YAAY,MAAM,CAAC,OAAO,EAAE;QAC5B,QAAQ,MAAM,CAAC,OAAO,EAAE;KACzB,CAAA;IAED,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;AAC/C,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function registerUpgradeCommand(program: Command): void;
3
- //# sourceMappingURL=upgrade.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAmBnC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QAmFtD"}
@@ -1,110 +0,0 @@
1
- import { spawn } from 'node:child_process';
2
- import { existsSync, readFileSync } from 'node:fs';
3
- import { dirname, join } from 'node:path';
4
- import { setTimeout as delay } from 'node:timers/promises';
5
- import { fileURLToPath } from 'node:url';
6
- import { appendUpgradeLog, formatUpgradeStatus, getUpgradeStatePaths, readUpgradeStatus, writeUpgradeStatus, } from './upgrade-state.js';
7
- const CLI_DIST_DIR = dirname(fileURLToPath(import.meta.url));
8
- export function registerUpgradeCommand(program) {
9
- const upgrade = program
10
- .command('upgrade')
11
- .description('Update the global PAM CLI without leaving running services locked')
12
- .option('--package <spec>', 'Package spec to install', '@helloworlkd/pam-cli@latest')
13
- .option('--npm <command>', 'npm executable to use')
14
- .option('--background', 'Start the upgrade in the background and print log paths')
15
- .option('--dry-run', 'Show the update steps without installing')
16
- .action(async (options) => {
17
- const runId = `upgrade-${Date.now()}`;
18
- const startedAt = new Date().toISOString();
19
- const paths = getUpgradeStatePaths(runId);
20
- const updaterPath = join(CLI_DIST_DIR, '../self-upgrade.js');
21
- const args = [updaterPath, '--package', options.package ?? '@helloworlkd/pam-cli@latest'];
22
- if (options.npm)
23
- args.push('--npm', options.npm);
24
- if (options.dryRun)
25
- args.push('--dry-run');
26
- args.push('--run-id', runId, '--log-path', paths.logPath, '--started-at', startedAt);
27
- const child = spawn(process.execPath, args, {
28
- detached: !options.dryRun,
29
- stdio: options.dryRun ? 'inherit' : 'ignore',
30
- windowsHide: true,
31
- });
32
- if (options.dryRun) {
33
- child.on('exit', (code) => {
34
- process.exit(code ?? 0);
35
- });
36
- return;
37
- }
38
- const status = {
39
- runId,
40
- phase: 'queued',
41
- message: 'Updater process started in the background.',
42
- packageSpec: options.package ?? '@helloworlkd/pam-cli@latest',
43
- npmCommand: options.npm ?? (process.platform === 'win32' ? 'npm.cmd' : 'npm'),
44
- startedAt,
45
- updatedAt: startedAt,
46
- logPath: paths.logPath,
47
- };
48
- writeUpgradeStatus(status);
49
- appendUpgradeLog(paths.logPath, `[${startedAt}] queued: ${status.message}\n`);
50
- child.unref();
51
- console.log(`PAM upgrade started (${runId}).`);
52
- console.log('Progress: queued -> stopping services -> npm install -> done.');
53
- console.log(`Status file: ${paths.statusPath}`);
54
- console.log(`Log file: ${paths.logPath}`);
55
- if (options.background) {
56
- console.log(`Follow live: ${formatLogFollowCommand(paths.logPath)}`);
57
- return;
58
- }
59
- console.log('Following progress in this terminal. Press Ctrl+C to stop watching; the upgrade will continue.');
60
- const finalStatus = await followUpgradeProgress(runId, paths.logPath);
61
- if (finalStatus?.phase === 'failed') {
62
- process.exit(finalStatus.exitCode ?? 1);
63
- }
64
- });
65
- upgrade
66
- .command('status')
67
- .description('Show the latest PAM upgrade status')
68
- .action(() => {
69
- console.log(formatUpgradeStatus(readUpgradeStatus()));
70
- });
71
- upgrade
72
- .command('log')
73
- .description('Show the latest PAM upgrade log path')
74
- .action(() => {
75
- const status = readUpgradeStatus();
76
- if (!status) {
77
- console.log('No PAM upgrade log has been recorded yet.');
78
- return;
79
- }
80
- console.log(status.logPath);
81
- });
82
- }
83
- function formatLogFollowCommand(logPath) {
84
- if (process.platform === 'win32') {
85
- return `Get-Content -Wait -LiteralPath "${logPath}"`;
86
- }
87
- return `tail -f "${logPath}"`;
88
- }
89
- async function followUpgradeProgress(runId, logPath) {
90
- let offset = 0;
91
- for (;;) {
92
- offset = printNewLogContent(logPath, offset);
93
- const status = readUpgradeStatus(runId);
94
- if (status?.phase === 'succeeded' || status?.phase === 'failed') {
95
- offset = printNewLogContent(logPath, offset);
96
- return status;
97
- }
98
- await delay(300);
99
- }
100
- }
101
- function printNewLogContent(logPath, offset) {
102
- if (!existsSync(logPath))
103
- return offset;
104
- const content = readFileSync(logPath, 'utf-8');
105
- if (content.length <= offset)
106
- return offset;
107
- process.stdout.write(content.slice(offset));
108
- return content.length;
109
- }
110
- //# sourceMappingURL=upgrade.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=self-upgrade.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"self-upgrade.d.ts","sourceRoot":"","sources":["../src/self-upgrade.ts"],"names":[],"mappings":""}
@@ -1,203 +0,0 @@
1
- #!/usr/bin/env node
2
- import { execFile, spawn } from 'node:child_process';
3
- import { setTimeout as delay } from 'node:timers/promises';
4
- import { appendUpgradeLog, getUpgradeStatePaths, writeUpgradeStatus, } from './commands/upgrade-state.js';
5
- const ownPid = process.pid;
6
- main().catch((error) => {
7
- console.error(error instanceof Error ? error.message : String(error));
8
- process.exit(1);
9
- });
10
- async function main() {
11
- const options = parseArgs(process.argv.slice(2));
12
- try {
13
- recordProgress(options, 'waiting', 'Waiting for the launcher process to exit.');
14
- if (options.waitMs > 0) {
15
- await delay(options.waitMs);
16
- }
17
- recordProgress(options, 'stopping-services', 'Stopping running PAM UI/MCP services.');
18
- const stopped = await stopRunningPAMServices(options.dryRun);
19
- recordProgress(options, 'stopping-services', `Stopped ${stopped.length} running PAM service${stopped.length === 1 ? '' : 's'}.`, { stoppedServices: stopped.length });
20
- const args = ['install', '-g', options.packageSpec];
21
- recordProgress(options, 'installing', `Running: ${options.npmCommand} ${args.join(' ')}`, {
22
- stoppedServices: stopped.length,
23
- });
24
- if (options.dryRun) {
25
- recordProgress(options, 'succeeded', 'Dry run complete.', { stoppedServices: stopped.length });
26
- return;
27
- }
28
- await execFileLogged(options.npmCommand, args, options);
29
- recordProgress(options, 'succeeded', 'PAM upgrade completed.', {
30
- stoppedServices: stopped.length,
31
- exitCode: 0,
32
- });
33
- }
34
- catch (error) {
35
- recordProgress(options, 'failed', error instanceof Error ? error.message : String(error), {
36
- exitCode: 1,
37
- });
38
- throw error;
39
- }
40
- }
41
- function parseArgs(args) {
42
- const options = {
43
- packageSpec: '@helloworlkd/pam-cli@latest',
44
- npmCommand: process.platform === 'win32' ? 'npm.cmd' : 'npm',
45
- waitMs: 1000,
46
- dryRun: false,
47
- runId: `upgrade-${Date.now()}`,
48
- logPath: '',
49
- startedAt: new Date().toISOString(),
50
- };
51
- for (let index = 0; index < args.length; index += 1) {
52
- const arg = args[index];
53
- if (arg === '--package' && args[index + 1]) {
54
- options.packageSpec = args[index + 1];
55
- index += 1;
56
- }
57
- else if (arg === '--npm' && args[index + 1]) {
58
- options.npmCommand = args[index + 1];
59
- index += 1;
60
- }
61
- else if (arg === '--wait-ms' && args[index + 1]) {
62
- const waitMs = Number.parseInt(args[index + 1], 10);
63
- if (Number.isFinite(waitMs) && waitMs >= 0)
64
- options.waitMs = waitMs;
65
- index += 1;
66
- }
67
- else if (arg === '--dry-run') {
68
- options.dryRun = true;
69
- }
70
- else if (arg === '--run-id' && args[index + 1]) {
71
- options.runId = args[index + 1];
72
- index += 1;
73
- }
74
- else if (arg === '--log-path' && args[index + 1]) {
75
- options.logPath = args[index + 1];
76
- index += 1;
77
- }
78
- else if (arg === '--started-at' && args[index + 1]) {
79
- options.startedAt = args[index + 1];
80
- index += 1;
81
- }
82
- }
83
- if (!options.logPath) {
84
- options.logPath = getUpgradeStatePaths(options.runId).logPath;
85
- }
86
- return options;
87
- }
88
- function recordProgress(options, phase, message, extra = {}) {
89
- const status = createStatus(options, phase, message, extra);
90
- writeUpgradeStatus(status);
91
- const line = `[${status.updatedAt}] ${phase}: ${message}\n`;
92
- appendUpgradeLog(options.logPath, line);
93
- console.log(message);
94
- }
95
- function createStatus(options, phase, message, extra = {}) {
96
- return {
97
- runId: options.runId,
98
- phase,
99
- message,
100
- packageSpec: options.packageSpec,
101
- npmCommand: options.npmCommand,
102
- startedAt: options.startedAt,
103
- updatedAt: new Date().toISOString(),
104
- logPath: options.logPath,
105
- ...extra,
106
- };
107
- }
108
- async function stopRunningPAMServices(dryRun) {
109
- if (process.platform === 'win32') {
110
- return stopWindowsPAMServices(dryRun);
111
- }
112
- return stopUnixPAMServices(dryRun);
113
- }
114
- function stopWindowsPAMServices(dryRun) {
115
- const command = `
116
- $ownPid = ${ownPid}
117
- $processes = Get-CimInstance Win32_Process -Filter "name = 'node.exe'" |
118
- Where-Object {
119
- $_.ProcessId -ne $ownPid -and
120
- $_.CommandLine -match 'pam-cli[\\\\/]dist[\\\\/]index\\.js' -and
121
- ($_.CommandLine -match '\\sui(\\s|$)' -or $_.CommandLine -match '\\sserver\\s+start(\\s|$)')
122
- }
123
- $ids = @($processes | ForEach-Object { $_.ProcessId })
124
- if (${dryRun ? '$false' : '$true'} -and $ids.Count -gt 0) {
125
- Stop-Process -Id $ids -Force -ErrorAction SilentlyContinue
126
- }
127
- $ids -join ','
128
- `;
129
- return new Promise((resolve) => {
130
- execFile('powershell', ['-NoProfile', '-Command', command], (error, stdout) => {
131
- if (error) {
132
- resolve([]);
133
- return;
134
- }
135
- resolve(parsePidList(stdout));
136
- });
137
- });
138
- }
139
- function stopUnixPAMServices(dryRun) {
140
- const script = `
141
- set -e
142
- ids="$(ps -eo pid=,args= | awk '/pam-cli\\/dist\\/index\\.js/ && (/ ui( |$)/ || / server start( |$)/) {print $1}' | grep -v "^${ownPid}$" || true)"
143
- if [ -n "$ids" ] && [ "${dryRun ? '0' : '1'}" = "1" ]; then
144
- kill $ids 2>/dev/null || true
145
- fi
146
- printf "%s" "$ids" | tr '\\n' ','
147
- `;
148
- return new Promise((resolve) => {
149
- execFile('sh', ['-c', script], (error, stdout) => {
150
- if (error) {
151
- resolve([]);
152
- return;
153
- }
154
- resolve(parsePidList(stdout));
155
- });
156
- });
157
- }
158
- function parsePidList(value) {
159
- return value
160
- .split(/[,\s]+/)
161
- .map((item) => Number.parseInt(item, 10))
162
- .filter((pid) => Number.isFinite(pid));
163
- }
164
- function execFileLogged(command, args, options) {
165
- return new Promise((resolve, reject) => {
166
- const invocation = getSpawnInvocation(command, args);
167
- const child = spawn(invocation.command, invocation.args, {
168
- stdio: ['ignore', 'pipe', 'pipe'],
169
- windowsHide: false,
170
- });
171
- child.stdout.on('data', (chunk) => {
172
- process.stdout.write(chunk);
173
- appendUpgradeLog(options.logPath, chunk.toString('utf-8'));
174
- });
175
- child.stderr.on('data', (chunk) => {
176
- process.stderr.write(chunk);
177
- appendUpgradeLog(options.logPath, chunk.toString('utf-8'));
178
- });
179
- child.on('error', reject);
180
- child.on('exit', (code, signal) => {
181
- if (code === 0) {
182
- resolve();
183
- return;
184
- }
185
- reject(new Error(`${command} exited with ${signal ?? `code ${code ?? 1}`}`));
186
- });
187
- });
188
- }
189
- function getSpawnInvocation(command, args) {
190
- if (process.platform === 'win32' && /\.(?:cmd|bat)$/i.test(command)) {
191
- return {
192
- command: process.env.ComSpec ?? 'cmd.exe',
193
- args: ['/d', '/s', '/c', [command, ...args].map(quoteWindowsCommandArg).join(' ')],
194
- };
195
- }
196
- return { command, args };
197
- }
198
- function quoteWindowsCommandArg(value) {
199
- if (!/[\s"&()<>^|]/.test(value))
200
- return value;
201
- return `"${value.replace(/"/g, '\\"')}"`;
202
- }
203
- //# sourceMappingURL=self-upgrade.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"self-upgrade.js","sourceRoot":"","sources":["../src/self-upgrade.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,GAEnB,MAAM,6BAA6B,CAAA;AAYpC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAA;AAE1B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA;AAEF,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAEhD,IAAI,CAAC;QACH,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,2CAA2C,CAAC,CAAA;QAC/E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QAED,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,uCAAuC,CAAC,CAAA;QACrF,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC5D,cAAc,CACZ,OAAO,EACP,mBAAmB,EACnB,WAAW,OAAO,CAAC,MAAM,uBAAuB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAClF,EAAE,eAAe,EAAE,OAAO,CAAC,MAAM,EAAE,CACpC,CAAA;QAED,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACnD,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACxF,eAAe,EAAE,OAAO,CAAC,MAAM;SAChC,CAAC,CAAA;QAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;YAC9F,OAAM;QACR,CAAC;QAED,MAAM,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACvD,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE;YAC7D,eAAe,EAAE,OAAO,CAAC,MAAM;YAC/B,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACxF,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAA;QACF,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAmB;QAC9B,WAAW,EAAE,6BAA6B;QAC1C,UAAU,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;QAC5D,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE;QAC9B,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAA;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,IAAI,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YACrC,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YACpC,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;YACnE,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAA;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAC/B,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YACjC,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC;aAAM,IAAI,GAAG,KAAK,cAAc,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YACnC,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA;IAC/D,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,cAAc,CACrB,OAAuB,EACvB,KAAmB,EACnB,OAAe,EACf,QAGK,EAAE;IAEP,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3D,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,KAAK,OAAO,IAAI,CAAA;IAC3D,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACtB,CAAC;AAED,SAAS,YAAY,CACnB,OAAuB,EACvB,KAAmB,EACnB,OAAe,EACf,QAGK,EAAE;IAEP,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK;QACL,OAAO;QACP,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,KAAK;KACT,CAAA;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,MAAe;IACnD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAe;IAC7C,MAAM,OAAO,GAAG;YACN,MAAM;;;;;;;;MAQZ,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;;;;CAIhC,CAAA;IAEC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,QAAQ,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5E,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,EAAE,CAAC,CAAA;gBACX,OAAM;YACR,CAAC;YACD,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAe;IAC1C,MAAM,MAAM,GAAG;;gIAE+G,MAAM;yBAC7G,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;;;;CAI1C,CAAA;IAEC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/C,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,EAAE,CAAC,CAAA;gBACX,OAAM;YACR,CAAC;YACD,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK;SACT,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SACxC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,IAAc,EAAE,OAAuB;IAC9E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE;YACvD,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,WAAW,EAAE,KAAK;SACnB,CAAC,CAAA;QAEF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC3B,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC3B,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACzB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAChC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,EAAE,CAAA;gBACT,OAAM;YACR,CAAC;YACD,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,OAAO,gBAAgB,MAAM,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAC9E,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe,EAAE,IAAc;IACzD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpE,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS;YACzC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACnF,CAAA;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7C,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAA;AAC1C,CAAC"}