hacklab 0.12.6 → 0.12.8
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 +26 -17
- package/dist/cli.js +3 -6
- package/dist/cli.js.map +1 -1
- package/dist/commands/drops.d.ts +7 -0
- package/dist/commands/drops.d.ts.map +1 -0
- package/dist/commands/drops.js +63 -0
- package/dist/commands/drops.js.map +1 -0
- package/dist/commands/hacker.d.ts.map +1 -1
- package/dist/commands/hacker.js +13 -15
- package/dist/commands/hacker.js.map +1 -1
- package/dist/commands/profile.d.ts +13 -2
- package/dist/commands/profile.d.ts.map +1 -1
- package/dist/commands/profile.js +183 -82
- package/dist/commands/profile.js.map +1 -1
- package/dist/commands/rtfm.d.ts.map +1 -1
- package/dist/commands/rtfm.js +97 -43
- package/dist/commands/rtfm.js.map +1 -1
- package/dist/commands/scan.d.ts +9 -4
- package/dist/commands/scan.d.ts.map +1 -1
- package/dist/commands/scan.js +131 -69
- package/dist/commands/scan.js.map +1 -1
- package/dist/daily-sync.d.ts +2 -0
- package/dist/daily-sync.d.ts.map +1 -1
- package/dist/daily-sync.js +21 -0
- package/dist/daily-sync.js.map +1 -1
- package/dist/dossier.d.ts +73 -0
- package/dist/dossier.d.ts.map +1 -0
- package/dist/dossier.js +141 -0
- package/dist/dossier.js.map +1 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +11 -3
- package/dist/registry.js.map +1 -1
- package/dist/scanners/index.d.ts +2 -0
- package/dist/scanners/index.d.ts.map +1 -1
- package/dist/scanners/index.js +8 -0
- package/dist/scanners/index.js.map +1 -1
- package/dist/scanners/util.d.ts +2 -0
- package/dist/scanners/util.d.ts.map +1 -1
- package/dist/scanners/util.js +23 -0
- package/dist/scanners/util.js.map +1 -1
- package/dist/share-card.d.ts +0 -1
- package/dist/share-card.d.ts.map +1 -1
- package/dist/share-card.js +2 -28
- package/dist/share-card.js.map +1 -1
- package/dist/share.d.ts +4 -2
- package/dist/share.d.ts.map +1 -1
- package/dist/share.js +30 -27
- package/dist/share.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/rtfm.js
CHANGED
|
@@ -1,52 +1,106 @@
|
|
|
1
|
-
import { bold, dim, info } from '../ui.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import { bold, dim, error, info } from '../ui.js';
|
|
2
|
+
const MANUALS = [
|
|
3
|
+
{
|
|
4
|
+
name: 'profile-setup',
|
|
5
|
+
summary: 'build a complete profile from available information',
|
|
6
|
+
sections: [
|
|
7
|
+
{
|
|
8
|
+
heading: 'objective',
|
|
9
|
+
lines: [
|
|
10
|
+
"Set up the user's hacklab profile. Make it impressive and something they're proud of.",
|
|
11
|
+
],
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
heading: 'prerequisites',
|
|
15
|
+
lines: ['- Confirm authentication with `hacklab whoami`.'],
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
heading: 'steps',
|
|
19
|
+
lines: [
|
|
20
|
+
'1. Run `hacklab ping` immediately.',
|
|
21
|
+
' This tells hacklab that profile setup is in progress and lets the user continue on the platform.',
|
|
22
|
+
'2. Inspect the current profile with `hacklab profile --json`.',
|
|
23
|
+
'3. Gather the most relevant, verifiable information about the user.',
|
|
24
|
+
'4. Look for their profiles on:',
|
|
25
|
+
' - blog or personal website',
|
|
26
|
+
' - GitHub',
|
|
27
|
+
' - Hugging Face',
|
|
28
|
+
' - X (x.com)',
|
|
29
|
+
' - LinkedIn',
|
|
30
|
+
' - YouTube',
|
|
31
|
+
' - Product Hunt',
|
|
32
|
+
' - Kaggle',
|
|
33
|
+
' - Cursor (`cursor.com/@handle`)',
|
|
34
|
+
' - Dribbble',
|
|
35
|
+
' - Behance',
|
|
36
|
+
' - GitLab',
|
|
37
|
+
' - Devpost',
|
|
38
|
+
' - Replit',
|
|
39
|
+
' - itch.io',
|
|
40
|
+
' - CodePen',
|
|
41
|
+
' - Stack Overflow',
|
|
42
|
+
' - arXiv',
|
|
43
|
+
' - Google Scholar',
|
|
44
|
+
' - Substack',
|
|
45
|
+
' - Twitch',
|
|
46
|
+
' - Farcaster',
|
|
47
|
+
' - Goodreads',
|
|
48
|
+
' - Filmweb',
|
|
49
|
+
' - IMDb',
|
|
50
|
+
' - Spotify',
|
|
51
|
+
'5. Run `hacklab profile set --help` to get the exact field names.',
|
|
52
|
+
'6. Add every verified profile field and link:',
|
|
53
|
+
' - one field: `hacklab profile set <field> <url> --json`',
|
|
54
|
+
' - several fields: create a YAML or JSON file, then run:',
|
|
55
|
+
' `hacklab profile apply <file> --json`',
|
|
56
|
+
'7. Verify the finished profile with `hacklab profile --json`.',
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
heading: 'done when',
|
|
61
|
+
lines: [
|
|
62
|
+
'- The profile looks polished and complete.',
|
|
63
|
+
'- The most relevant verified information available has been added.',
|
|
64
|
+
'- The final state has been checked with `hacklab profile --json`.',
|
|
65
|
+
],
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
heading: 'do not',
|
|
69
|
+
lines: ['- Do not put social links in the bio or README.'],
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
},
|
|
33
73
|
];
|
|
34
74
|
export function rtfm(args) {
|
|
35
|
-
|
|
36
|
-
|
|
75
|
+
const topic = args[0];
|
|
76
|
+
if (!topic || topic === '--help' || topic === '-h' || topic === 'help') {
|
|
77
|
+
printManuals();
|
|
37
78
|
return;
|
|
38
79
|
}
|
|
39
|
-
|
|
40
|
-
|
|
80
|
+
const manual = MANUALS.find(({ name }) => name === topic);
|
|
81
|
+
if (!manual) {
|
|
82
|
+
error(`manual not found: ${topic}`);
|
|
83
|
+
info(`run ${bold('hacklab rtfm')} to list manuals`);
|
|
84
|
+
process.exit(1);
|
|
85
|
+
}
|
|
86
|
+
printManual(manual);
|
|
87
|
+
}
|
|
88
|
+
function printManuals() {
|
|
89
|
+
const width = Math.max(...MANUALS.map(({ name }) => name.length));
|
|
90
|
+
console.log('');
|
|
91
|
+
for (const { name, summary } of MANUALS) {
|
|
92
|
+
console.log(` ${dim(name.padEnd(width))} ${summary}`);
|
|
93
|
+
}
|
|
94
|
+
console.log('');
|
|
41
95
|
}
|
|
42
|
-
function
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
for (const
|
|
96
|
+
function printManual(manual) {
|
|
97
|
+
console.log('');
|
|
98
|
+
console.log(` ${bold(manual.name)}`);
|
|
99
|
+
for (const section of manual.sections) {
|
|
46
100
|
console.log('');
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
101
|
+
console.log(` ${bold(section.heading)}`);
|
|
102
|
+
for (const line of section.lines)
|
|
103
|
+
console.log(` ${line}`);
|
|
50
104
|
}
|
|
51
105
|
console.log('');
|
|
52
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtfm.js","sourceRoot":"","sources":["../../src/commands/rtfm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"rtfm.js","sourceRoot":"","sources":["../../src/commands/rtfm.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/scan.d.ts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
import { type AggregateScan } from '../scanners/index.js';
|
|
1
2
|
/**
|
|
2
|
-
* Scan
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* Scan this machine, upload to the logged-in profile, draw the real card,
|
|
4
|
+
* offer the X share, and arm the daemon so the card stays true.
|
|
5
|
+
*
|
|
6
|
+
* Login is required: an anonymous card says @hacker and points at the wrong
|
|
7
|
+
* URL, which is how the viral loop dies. `--no-daemon` skips the schedule for
|
|
8
|
+
* a one-shot flex on a machine you don't want ticking.
|
|
5
9
|
*/
|
|
6
|
-
export declare function scan(): Promise<void>;
|
|
10
|
+
export declare function scan(args?: string[]): Promise<void>;
|
|
11
|
+
export declare function formatScanReceipt(scan: AggregateScan): string[];
|
|
7
12
|
//# sourceMappingURL=scan.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,aAAa,EAMnB,MAAM,sBAAsB,CAAA;AAuB7B;;;;;;;GAOG;AACH,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAoG7D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CAsC/D"}
|
package/dist/commands/scan.js
CHANGED
|
@@ -1,60 +1,89 @@
|
|
|
1
1
|
import * as clack from '@clack/prompts';
|
|
2
|
-
import { beltForTokens } from '../belt.js';
|
|
3
2
|
import { loadConfig, resolveCursorAuth, saveConfig } from '../config.js';
|
|
3
|
+
import { dailySyncInstalled, installDailySync } from '../daily-sync.js';
|
|
4
4
|
import { captureEvent } from '../posthog.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { rebuildScanState } from '../scanners/incremental.js';
|
|
6
|
+
import { collectToolScans, detectCursorUsage, mergeToolScans, rescanCursorWithApi, } from '../scanners/index.js';
|
|
7
|
+
import { formatTokens, shortModelName } from '../scanners/util.js';
|
|
8
|
+
import { loadSessionState } from '../session.js';
|
|
7
9
|
import { promptShareOnX, renderShareCard, } from '../share.js';
|
|
8
|
-
import {
|
|
10
|
+
import { checkSession, ensureFreshSession, uploadTokenScan } from '../sync.js';
|
|
11
|
+
import { bold, dim, error, info } from '../ui.js';
|
|
12
|
+
const MAX_MODELS = 8;
|
|
9
13
|
const TOOL_LABELS = {
|
|
10
|
-
claude_code: '
|
|
11
|
-
codex: '
|
|
12
|
-
cursor: '
|
|
13
|
-
openclaw: '
|
|
14
|
-
hermes: '
|
|
15
|
-
opencode: '
|
|
16
|
-
grok: '
|
|
14
|
+
claude_code: 'claude',
|
|
15
|
+
codex: 'codex',
|
|
16
|
+
cursor: 'cursor',
|
|
17
|
+
openclaw: 'openclaw',
|
|
18
|
+
hermes: 'hermes',
|
|
19
|
+
opencode: 'opencode',
|
|
20
|
+
grok: 'grok',
|
|
17
21
|
};
|
|
18
22
|
/**
|
|
19
|
-
* Scan
|
|
20
|
-
*
|
|
21
|
-
*
|
|
23
|
+
* Scan this machine, upload to the logged-in profile, draw the real card,
|
|
24
|
+
* offer the X share, and arm the daemon so the card stays true.
|
|
25
|
+
*
|
|
26
|
+
* Login is required: an anonymous card says @hacker and points at the wrong
|
|
27
|
+
* URL, which is how the viral loop dies. `--no-daemon` skips the schedule for
|
|
28
|
+
* a one-shot flex on a machine you don't want ticking.
|
|
22
29
|
*/
|
|
23
|
-
export async function scan() {
|
|
24
|
-
const
|
|
25
|
-
|
|
30
|
+
export async function scan(args = []) {
|
|
31
|
+
const noDaemon = args.includes('--no-daemon');
|
|
32
|
+
const sessionState = await loadSessionState();
|
|
33
|
+
if (!sessionState.session) {
|
|
34
|
+
error(sessionState.status === 'expired' ? 'login expired' : 'not logged in');
|
|
35
|
+
info(`run ${dim('hacklab login')} first`);
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
const sessionCheck = await checkSession(sessionState.session);
|
|
39
|
+
if (sessionCheck.status === 'unauthorized') {
|
|
40
|
+
error('login expired');
|
|
41
|
+
info(`run ${dim('hacklab login')} again`);
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
44
|
+
if (sessionCheck.status === 'failed') {
|
|
45
|
+
error(sessionCheck.message);
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
const session = await ensureFreshSession(sessionState.session);
|
|
49
|
+
if (!session.handle) {
|
|
50
|
+
error('no handle on this session');
|
|
51
|
+
info(`run ${dim('hacklab login')} again`);
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
26
54
|
let results;
|
|
27
55
|
try {
|
|
28
56
|
results = await collectToolScans();
|
|
29
57
|
}
|
|
30
58
|
catch (err) {
|
|
31
|
-
|
|
32
|
-
clack.cancel(`couldn't read local AI usage: ${err instanceof Error ? err.message : String(err)}`);
|
|
59
|
+
error(`couldn't read local AI usage: ${err instanceof Error ? err.message : String(err)}`);
|
|
33
60
|
process.exit(1);
|
|
34
61
|
}
|
|
35
|
-
spin.stop('scan complete');
|
|
36
62
|
let scanResult = mergeToolScans(results);
|
|
37
|
-
|
|
38
|
-
const rescanned = await offerCursorApiKey(results, spin);
|
|
63
|
+
const rescanned = await offerCursorApiKey(results);
|
|
39
64
|
if (rescanned) {
|
|
40
65
|
results = rescanned;
|
|
41
66
|
scanResult = mergeToolScans(results);
|
|
42
|
-
printToolTotals(scanResult);
|
|
43
67
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
68
|
+
let uploaded;
|
|
69
|
+
try {
|
|
70
|
+
uploaded = await uploadTokenScan(session, scanResult, { interactive: true });
|
|
71
|
+
await rebuildScanState(results);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
error(err instanceof Error ? err.message : 'sync failed');
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
|
48
77
|
const card = {
|
|
49
|
-
handle,
|
|
50
|
-
level:
|
|
51
|
-
title:
|
|
52
|
-
beltColor:
|
|
53
|
-
tokensTotal: scanResult.grandTotal,
|
|
54
|
-
rank: 0,
|
|
55
|
-
streak:
|
|
56
|
-
longestStreak:
|
|
57
|
-
progressPercent:
|
|
78
|
+
handle: session.handle,
|
|
79
|
+
level: Number(uploaded.level ?? 0),
|
|
80
|
+
title: String(uploaded.title ?? ''),
|
|
81
|
+
beltColor: String(uploaded.beltColor ?? 'white'),
|
|
82
|
+
tokensTotal: Number(uploaded.tokensTotal ?? scanResult.grandTotal),
|
|
83
|
+
rank: Number(uploaded.rankAfter ?? 0),
|
|
84
|
+
streak: Number(uploaded.streak ?? 0),
|
|
85
|
+
longestStreak: Number(uploaded.longestStreak ?? 0),
|
|
86
|
+
progressPercent: Number(uploaded.progressPercent ?? 0),
|
|
58
87
|
estimatedCost: estimateCost(scanResult.toolTotals),
|
|
59
88
|
toolBreakdown: {
|
|
60
89
|
claudeCode: scanResult.toolTotals.claude_code ?? 0,
|
|
@@ -66,46 +95,85 @@ export async function scan() {
|
|
|
66
95
|
.sort((a, b) => b.tokens - a.tokens),
|
|
67
96
|
dailyActivity: aggregateDailyActivity(scanResult.dailyTotals),
|
|
68
97
|
};
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
await promptShareOnX(card, cardPath);
|
|
98
|
+
for (const line of formatScanReceipt(scanResult)) {
|
|
99
|
+
console.log(line);
|
|
72
100
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
101
|
+
console.log('');
|
|
102
|
+
if (!noDaemon) {
|
|
103
|
+
const existed = await dailySyncInstalled();
|
|
104
|
+
const result = await installDailySync();
|
|
105
|
+
if (result.ok && !existed) {
|
|
106
|
+
await captureEvent(session.handle, 'cli_daily_sync_installed', {
|
|
107
|
+
mechanism: result.mechanism,
|
|
108
|
+
source: 'scan',
|
|
109
|
+
});
|
|
110
|
+
}
|
|
80
111
|
}
|
|
81
|
-
|
|
112
|
+
const cardPath = await renderShareCard(card);
|
|
113
|
+
await promptShareOnX(card, cardPath);
|
|
114
|
+
await captureEvent(session.handle, 'cli_scan_completed', {
|
|
115
|
+
tokens_total: Number(uploaded.tokensTotal ?? scanResult.grandTotal),
|
|
116
|
+
rank: Number(uploaded.rankAfter ?? 0),
|
|
117
|
+
});
|
|
82
118
|
}
|
|
83
|
-
function
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
119
|
+
export function formatScanReceipt(scan) {
|
|
120
|
+
const groups = Object.entries(scan.toolTotals)
|
|
121
|
+
.filter(([, total]) => total > 0)
|
|
122
|
+
.sort((a, b) => b[1] - a[1])
|
|
123
|
+
.map(([tool, total]) => ({
|
|
124
|
+
label: TOOL_LABELS[tool] ?? tool,
|
|
125
|
+
value: formatTokens(total),
|
|
126
|
+
models: Object.entries(scan.modelsByTool?.[tool] ?? {})
|
|
127
|
+
.filter(([, tokens]) => tokens > 0)
|
|
128
|
+
.sort((a, b) => b[1] - a[1])
|
|
129
|
+
.slice(0, MAX_MODELS)
|
|
130
|
+
.map(([name, tokens]) => ({
|
|
131
|
+
label: shortModelName(name).toLowerCase(),
|
|
132
|
+
value: formatTokens(tokens),
|
|
133
|
+
}))
|
|
134
|
+
.filter((row) => row.label.length > 0),
|
|
135
|
+
}));
|
|
136
|
+
const rows = groups.flatMap((group) => [
|
|
137
|
+
{ label: group.label, value: group.value },
|
|
138
|
+
...group.models.map((model) => ({
|
|
139
|
+
label: ` ${model.label}`,
|
|
140
|
+
value: model.value,
|
|
141
|
+
})),
|
|
142
|
+
]);
|
|
143
|
+
const aligned = alignRows(rows);
|
|
144
|
+
const lines = [
|
|
145
|
+
`you burned ${bold(`${formatTokens(scan.grandTotal)} tokens`)}`,
|
|
146
|
+
];
|
|
147
|
+
let offset = 0;
|
|
148
|
+
for (const group of groups) {
|
|
149
|
+
lines.push('');
|
|
150
|
+
const n = 1 + group.models.length;
|
|
151
|
+
lines.push(...aligned.slice(offset, offset + n));
|
|
152
|
+
offset += n;
|
|
88
153
|
}
|
|
89
|
-
|
|
154
|
+
return lines;
|
|
90
155
|
}
|
|
91
|
-
|
|
156
|
+
function alignRows(rows) {
|
|
157
|
+
if (rows.length === 0)
|
|
158
|
+
return [];
|
|
159
|
+
const labelWidth = Math.max(...rows.map((r) => r.label.length));
|
|
160
|
+
const valueWidth = Math.max(...rows.map((r) => r.value.length));
|
|
161
|
+
return rows.map((row) => `${dim(row.label.padEnd(labelWidth))} ${bold(row.value.padStart(valueWidth))}`);
|
|
162
|
+
}
|
|
163
|
+
async function offerCursorApiKey(results) {
|
|
92
164
|
const { apiKey } = await resolveCursorAuth();
|
|
93
165
|
if (apiKey)
|
|
94
166
|
return null;
|
|
95
167
|
if (!(await detectCursorUsage()))
|
|
96
168
|
return null;
|
|
97
|
-
clack.log.step('cursor detected');
|
|
98
|
-
clack.log.message(dim('a cursor api key gets exact counts. enter to skip.'));
|
|
99
169
|
const entered = await clack.password({
|
|
100
170
|
message: 'cursor api key (enter to skip)',
|
|
101
171
|
});
|
|
102
172
|
if (clack.isCancel(entered))
|
|
103
173
|
return null;
|
|
104
174
|
const key = String(entered ?? '').trim();
|
|
105
|
-
if (!key)
|
|
106
|
-
clack.log.message(dim('skipped — cursor tokens will stay estimated.'));
|
|
175
|
+
if (!key)
|
|
107
176
|
return null;
|
|
108
|
-
}
|
|
109
177
|
const emailValue = await clack.text({
|
|
110
178
|
message: 'cursor account email (optional — scopes a team key to just you)',
|
|
111
179
|
placeholder: 'enter to skip',
|
|
@@ -118,32 +186,26 @@ async function offerCursorApiKey(results, spin) {
|
|
|
118
186
|
cursorApiKey: key,
|
|
119
187
|
...(email ? { cursorEmail: email } : {}),
|
|
120
188
|
});
|
|
121
|
-
spin.start('fetching exact cursor usage');
|
|
122
189
|
let rescanned;
|
|
123
190
|
try {
|
|
124
191
|
rescanned = await rescanCursorWithApi(results);
|
|
125
192
|
}
|
|
126
193
|
catch (err) {
|
|
127
|
-
|
|
128
|
-
clack.log.message(dim(`keeping the local estimate: ${err instanceof Error ? err.message : String(err)}`));
|
|
194
|
+
console.log(dim(`keeping the local estimate: ${err instanceof Error ? err.message : String(err)}`));
|
|
129
195
|
return null;
|
|
130
196
|
}
|
|
131
197
|
const status = rescanned.find((r) => r.tool === 'cursor')?.cursorScanStatus;
|
|
132
198
|
switch (status?.source) {
|
|
133
199
|
case 'api':
|
|
134
|
-
spin.stop(`cursor: exact counts from ${status.events} usage events`);
|
|
135
200
|
return rescanned;
|
|
136
201
|
case 'api-partial':
|
|
137
|
-
|
|
138
|
-
clack.log.message(dim(`stopped early: ${status.reason}`));
|
|
202
|
+
console.log(dim(`stopped early: ${status.reason}`));
|
|
139
203
|
return rescanned;
|
|
140
204
|
case 'api-failed':
|
|
141
|
-
|
|
142
|
-
clack.log.message(dim(`${status.reason} — keeping the local estimate.`));
|
|
205
|
+
console.log(dim(`${status.reason} — keeping the local estimate.`));
|
|
143
206
|
return null;
|
|
144
207
|
default:
|
|
145
|
-
|
|
146
|
-
clack.log.message(dim('keeping the local estimate.'));
|
|
208
|
+
console.log(dim('keeping the local estimate.'));
|
|
147
209
|
return null;
|
|
148
210
|
}
|
|
149
211
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
|
package/dist/daily-sync.d.ts
CHANGED
|
@@ -64,6 +64,8 @@ export declare function schtasksCreateArgs(wrapperPath: string, time: {
|
|
|
64
64
|
/** Args for `schtasks /Create` for the tick: every minute, forever. */
|
|
65
65
|
export declare function schtasksTickCreateArgs(wrapperPath: string): string[];
|
|
66
66
|
export declare function manualInstructions(cmd: SyncCommand): string;
|
|
67
|
+
/** True when the OS scheduler already has the daily job. */
|
|
68
|
+
export declare function dailySyncInstalled(): Promise<boolean>;
|
|
67
69
|
/** Install (or refresh) both background jobs (tick + daily) for the current OS. */
|
|
68
70
|
export declare function installDailySync(): Promise<InstallResult>;
|
|
69
71
|
/** Remove both background jobs. Best-effort and never throws, so it's safe to
|
package/dist/daily-sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-sync.d.ts","sourceRoot":"","sources":["../src/daily-sync.ts"],"names":[],"mappings":"AA+BA,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1D,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,QAAQ,GAAG,aAAa,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA;AAgB5E;8EAC8E;AAC9E,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAQD,eAAO,MAAM,kBAAkB,UAAY,CAAA;AAC3C,eAAO,MAAM,mBAAmB,MAAM,CAAA;AAEtC;oEACoE;AACpE,wBAAsB,WAAW,CAC/B,QAAQ,SAAqB,EAC7B,SAAS,SAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,0EAA0E;AAC1E,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/D;AAED;wDACwD;AACxD,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOlE;AAED,qEAAqE;AACrE,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO7D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrD;AAED;2CAC2C;AAC3C,wBAAgB,kBAAkB,IAAI,WAAW,CAShD;AAyCD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACtC,OAAO,EAAE,MAAM,GACd,MAAM,CAcR;AAED;kFACkF;AAClF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAS1E;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CASvD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAcrC;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAQ3D;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAgBzC;AAED;8EAC8E;AAC9E,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;wCACwC;AACxC,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;wDAIwD;AACxD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;gFACgF;AAChF,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC,MAAM,EAAE,CAaV;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAapE;AAID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAS3D;AAiID,mFAAmF;AACnF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAwB/D;AAED;iEACiE;AACjE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BxD"}
|
|
1
|
+
{"version":3,"file":"daily-sync.d.ts","sourceRoot":"","sources":["../src/daily-sync.ts"],"names":[],"mappings":"AA+BA,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1D,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,QAAQ,GAAG,aAAa,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA;AAgB5E;8EAC8E;AAC9E,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAQD,eAAO,MAAM,kBAAkB,UAAY,CAAA;AAC3C,eAAO,MAAM,mBAAmB,MAAM,CAAA;AAEtC;oEACoE;AACpE,wBAAsB,WAAW,CAC/B,QAAQ,SAAqB,EAC7B,SAAS,SAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,0EAA0E;AAC1E,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/D;AAED;wDACwD;AACxD,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOlE;AAED,qEAAqE;AACrE,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO7D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrD;AAED;2CAC2C;AAC3C,wBAAgB,kBAAkB,IAAI,WAAW,CAShD;AAyCD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACtC,OAAO,EAAE,MAAM,GACd,MAAM,CAcR;AAED;kFACkF;AAClF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAS1E;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CASvD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAcrC;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAQ3D;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAgBzC;AAED;8EAC8E;AAC9E,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;wCACwC;AACxC,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;wDAIwD;AACxD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;gFACgF;AAChF,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC,MAAM,EAAE,CAaV;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAapE;AAID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAS3D;AAiID,4DAA4D;AAC5D,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAoB3D;AAED,mFAAmF;AACnF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAwB/D;AAED;iEACiE;AACjE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BxD"}
|
package/dist/daily-sync.js
CHANGED
|
@@ -364,6 +364,27 @@ async function installSchtasks(cmd) {
|
|
|
364
364
|
detail: `${tick === 0 ? 'tick every minute, ' : ''}full sync daily around ${pad2(time.hour)}:${pad2(time.minute)} (Task Scheduler task "${SCHTASKS_TASK}")`,
|
|
365
365
|
};
|
|
366
366
|
}
|
|
367
|
+
/** True when the OS scheduler already has the daily job. */
|
|
368
|
+
export async function dailySyncInstalled() {
|
|
369
|
+
const os = platform();
|
|
370
|
+
try {
|
|
371
|
+
if (os === 'darwin') {
|
|
372
|
+
await stat(launchAgentPath(LAUNCHD_LABEL));
|
|
373
|
+
return true;
|
|
374
|
+
}
|
|
375
|
+
if (os === 'linux') {
|
|
376
|
+
await stat(join(homedir(), '.config', 'systemd', 'user', `${SYSTEMD_UNIT}.timer`));
|
|
377
|
+
return true;
|
|
378
|
+
}
|
|
379
|
+
if (os === 'win32') {
|
|
380
|
+
return (await run('schtasks', ['/Query', '/TN', SCHTASKS_TASK])) === 0;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
catch {
|
|
384
|
+
// missing file / scheduler
|
|
385
|
+
}
|
|
386
|
+
return false;
|
|
387
|
+
}
|
|
367
388
|
/** Install (or refresh) both background jobs (tick + daily) for the current OS. */
|
|
368
389
|
export async function installDailySync() {
|
|
369
390
|
const cmd = resolveSyncCommand();
|
package/dist/daily-sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-sync.js","sourceRoot":"","sources":["../src/daily-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EACL,UAAU,EACV,KAAK,EACL,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,SAAS,GACV,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAC9E,+EAA+E;AAC/E,sEAAsE;AACtE,+EAA+E;AAC/E,uEAAuE;AACvE,wEAAwE;AACxE,kBAAkB;AAElB,MAAM,aAAa,GAAG,iBAAiB,CAAA;AACvC,MAAM,kBAAkB,GAAG,iBAAiB,CAAA;AAC5C,MAAM,YAAY,GAAG,cAAc,CAAA;AACnC,MAAM,iBAAiB,GAAG,cAAc,CAAA;AACxC,MAAM,aAAa,GAAG,cAAc,CAAA;AACpC,MAAM,kBAAkB,GAAG,cAAc,CAAA;AAQzC;6DAC6D;AAC7D,SAAS,GAAG,CACV,GAAW,EACX,IAAc,EACd,OAA+C,EAAE;IAEjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;QAC5D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACrC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;8EAC8E;AAC9E,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;AACpD,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,aAAa,CAAC,CAAA;AACvD,CAAC;AAED,6EAA6E;AAC7E,0CAA0C;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAA;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;AAEtC;oEACoE;AACpE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAQ,GAAG,kBAAkB,EAC7B,SAAS,GAAG,mBAAmB;IAE/B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,WAAW,EAAE,CAAA;QAC1B,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ;YAAE,OAAM;QAC/C,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/C,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,MAAM,CAAC,CAAA;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACxD,MAAM,UAAU,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,CAAC,CAAA;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;IACrC,CAAC;AACH,CAAC;AAED;wDACwD;AACxD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc;IACjD,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7D,MAAM,SAAS,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,cAAc;IAChB,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAClE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,cAAc;IAChB,CAAC;AACH,CAAC;AAED;2CAC2C;AAC3C,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC7B,IAAI,MAAM,GAAG,KAAK,IAAI,SAAS,CAAA;IAC/B,IAAI,CAAC;QACH,IAAI,KAAK;YAAE,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;IAChE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;AAC3C,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC7E,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAEtD,mFAAmF;AACnF,SAAS,UAAU,CACjB,KAAa,EACb,GAAgB,EAChB,IAAY,EACZ,QAAgB,EAChB,OAAe;IAEf,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;SAC9C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;SAClD,IAAI,CAAC,IAAI,CAAC,CAAA;IACb,OAAO;;;;;YAKG,KAAK;;;EAGf,IAAI;;EAEJ,QAAQ;;YAEE,SAAS,CAAC,OAAO,CAAC;;YAElB,SAAS,CAAC,OAAO,CAAC;;;;;CAK7B,CAAA;AACD,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,GAAgB,EAChB,IAAsC,EACtC,OAAe;IAEf,OAAO,UAAU,CACf,aAAa,EACb,GAAG,EACH,SAAS,EACT;;;eAGW,IAAI,CAAC,IAAI;;eAET,IAAI,CAAC,MAAM;UAChB,EACN,OAAO,CACR,CAAA;AACH,CAAC;AAED;kFACkF;AAClF,MAAM,UAAU,gBAAgB,CAAC,GAAgB,EAAE,OAAe;IAChE,OAAO,UAAU,CACf,kBAAkB,EAClB,GAAG,EACH,QAAQ,EACR;wBACoB,EACpB,OAAO,CACR,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAgB;IAC7C,qEAAqE;IACrE,OAAO;;;;;aAKI,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,MAAM;CACpC,CAAA;AACD,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,iFAAiF;IACjF,qDAAqD;IACrD,OAAO;;;;;;;;;;CAUR,CAAA;AACD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAgB;IACjD,OAAO;;;;;aAKI,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,MAAM;CACpC,CAAA;AACD,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,0CAA0C;IAC1C,OAAO;;;;;;;;;;CAUR,CAAA;AACD,CAAC;AAED;8EAC8E;AAC9E,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAA;AAC5D,CAAC;AAED;wCACwC;AACxC,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAA;AAC5D,CAAC;AAED;;;;wDAIwD;AACxD,MAAM,UAAU,eAAe,CAAC,GAAgB,EAAE,OAAe;IAC/D,OAAO,iBAAiB,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,MAAM,sBAAsB,OAAO,YAAY,CAAA;AAC3F,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,mBAAmB,CAAC,GAAgB,EAAE,OAAe;IACnE,OAAO,iBAAiB,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,MAAM,qBAAqB,OAAO,YAAY,CAAA;AAC1F,CAAC;AAED;gFACgF;AAChF,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,IAAsC;IAEtC,OAAO;QACL,SAAS;QACT,KAAK;QACL,OAAO;QACP,KAAK;QACL,aAAa;QACb,KAAK;QACL,IAAI,WAAW,GAAG;QAClB,KAAK;QACL,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACzC,IAAI;KACL,CAAA;AACH,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,OAAO;QACL,SAAS;QACT,KAAK;QACL,QAAQ;QACR,KAAK;QACL,GAAG;QACH,KAAK;QACL,kBAAkB;QAClB,KAAK;QACL,IAAI,WAAW,GAAG;QAClB,IAAI;KACL,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,iFAAiF;AACjF,MAAM,UAAU,kBAAkB,CAAC,GAAgB;IACjD,OAAO;QACL,+DAA+D;QAC/D,6EAA6E;QAC7E,6EAA6E;QAC7E,QAAQ;QACR,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,MAAM,eAAe;QAC7C,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,MAAM,gBAAgB;KAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAA;AACrE,CAAC;AAED;yCACyC;AACzC,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,QAAgB;IACrD,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IACvC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IACxC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,GAAgB,EAChB,OAAe;IAEf,MAAM,SAAS,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;IAChD,4EAA4E;IAC5E,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;QACpC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;KACvC,CAAA;IACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IAC3E,MAAM,SAAS,CACb,eAAe,CAAC,kBAAkB,CAAC,EACnC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAC/B,CAAA;IACD,yEAAyE;IACzE,0EAA0E;IAC1E,sCAAsC;IACtC,OAAO;QACL,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,SAAS;QACpB,MAAM,EACJ,MAAM,KAAK,CAAC;YACV,CAAC,CAAC,6CAA6C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,GAAG;YACpG,CAAC,CAAC,cAAc,SAAS,6BAA6B;KAC3D,CAAA;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAgB;IAC5C,+EAA+E;IAC/E,gDAAgD;IAChD,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,kBAAkB,CAAC,GAAG,CAAC;SACtC,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IACzD,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACrC,MAAM,SAAS,CACb,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,UAAU,CAAC,EACpC,cAAc,CAAC,GAAG,CAAC,EACnB,MAAM,CACP,CAAA;IACD,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,QAAQ,CAAC,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,CAAA;IAC3E,MAAM,SAAS,CACb,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,UAAU,CAAC,EACzC,kBAAkB,CAAC,GAAG,CAAC,EACvB,MAAM,CACP,CAAA;IACD,MAAM,SAAS,CACb,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,QAAQ,CAAC,EACvC,gBAAgB,EAAE,EAClB,MAAM,CACP,CAAA;IACD,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;IACnD,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAA;IAC9E,MAAM,GAAG,CAAC,WAAW,EAAE;QACrB,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,GAAG,iBAAiB,QAAQ;KAC7B,CAAC,CAAA;IACF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,wBAAwB,iBAAiB,wBAAwB,YAAY,+CAA+C,YAAY,iEAAiE;KAClN,CAAA;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAgB;IAC7C,MAAM,WAAW,GAAG,eAAe,EAAE,CAAA;IACrC,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,MAAM,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IACzE,MAAM,SAAS,CACb,eAAe,EAAE,EACjB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EACvC,MAAM,CACP,CAAA;IACD,4EAA4E;IAC5E,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;QACpC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;KACvC,CAAA;IACD,+EAA+E;IAC/E,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE;QAC3E,wBAAwB,EAAE,IAAI;KAC/B,CAAC,CAAA;IACF,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,kBAAkB,CAAC,GAAG,CAAC;SACtC,CAAA;IACH,CAAC;IACD,0EAA0E;IAC1E,gEAAgE;IAChE,MAAM,IAAI,GAAG,MAAM,GAAG,CACpB,UAAU,EACV,sBAAsB,CAAC,eAAe,EAAE,CAAC,EACzC,EAAE,wBAAwB,EAAE,IAAI,EAAE,CACnC,CAAA;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,UAAU;QACrB,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,0BAA0B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,aAAa,IAAI;KAC5J,CAAA;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAA;IAChC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAC5D,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;QACD,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;QACrB,IAAI,EAAE,KAAK,QAAQ;YAAE,OAAO,MAAM,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAA;QACpE,IAAI,EAAE,KAAK,OAAO;YAAE,OAAO,MAAM,cAAc,CAAC,GAAG,CAAC,CAAA;QACpD,IAAI,EAAE,KAAK,OAAO;YAAE,OAAO,MAAM,eAAe,CAAC,GAAG,CAAC,CAAA;QACrD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,kBAAkB,CAAC,GAAG,CAAC;SACtC,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;QAC7E,gDAAgD;QAChD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,kBAAkB,CAAC,GAAG,CAAC;SACtC,CAAA;IACH,CAAC;AACH,CAAC;AAED;iEACiE;AACjE,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;IACrB,IAAI,CAAC;QACH,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;YACpB,KAAK,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBACxD,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;gBACxC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;gBAC7C,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;aAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;YACzD,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAAE,CAAC;gBACrD,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAA;gBACvE,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBACrD,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACzD,CAAC;YACD,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;QACrD,CAAC;aAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAA;YAC9D,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAA;YACnE,MAAM,EAAE,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAC5C,MAAM,EAAE,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,cAAc;IAChB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"daily-sync.js","sourceRoot":"","sources":["../src/daily-sync.ts"],"names":[],"mappings":"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"}
|