@invinite-org/invinite-data-cli 2.0.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/README.md +341 -374
  2. package/claude-plugin/.claude-plugin/plugin.json +1 -1
  3. package/claude-plugin/agents/invinite-data.md +59 -28
  4. package/claude-plugin/commands/analyze-earnings-call.md +15 -14
  5. package/claude-plugin/commands/analyze-filing.md +8 -7
  6. package/claude-plugin/commands/compare-companies.md +5 -5
  7. package/claude-plugin/commands/financial-research.md +9 -9
  8. package/claude-plugin/commands/ownership-review.md +6 -6
  9. package/claude-plugin/skills/invinite-data-cli/SKILL.md +466 -570
  10. package/dist/bin/invd.js +11 -2
  11. package/dist/bin/invd.js.map +1 -1
  12. package/dist/src/cli.d.ts +2 -0
  13. package/dist/src/cli.js +48 -29
  14. package/dist/src/cli.js.map +1 -1
  15. package/dist/src/client/api-client.d.ts +24 -24
  16. package/dist/src/client/api-client.js +52 -70
  17. package/dist/src/client/api-client.js.map +1 -1
  18. package/dist/src/client/pagination.d.ts +12 -11
  19. package/dist/src/client/pagination.js +47 -56
  20. package/dist/src/client/pagination.js.map +1 -1
  21. package/dist/src/commands/agent-setup.d.ts +21 -0
  22. package/dist/src/commands/agent-setup.js +112 -0
  23. package/dist/src/commands/agent-setup.js.map +1 -0
  24. package/dist/src/commands/api.d.ts +27 -0
  25. package/dist/src/commands/api.js +180 -0
  26. package/dist/src/commands/api.js.map +1 -0
  27. package/dist/src/commands/auth.d.ts +37 -0
  28. package/dist/src/commands/auth.js +336 -0
  29. package/dist/src/commands/auth.js.map +1 -0
  30. package/dist/src/commands/completion.d.ts +7 -0
  31. package/dist/src/commands/completion.js +115 -0
  32. package/dist/src/commands/completion.js.map +1 -0
  33. package/dist/src/commands/config.d.ts +4 -0
  34. package/dist/src/commands/config.js +85 -48
  35. package/dist/src/commands/config.js.map +1 -1
  36. package/dist/src/commands/plugin.d.ts +8 -0
  37. package/dist/src/commands/plugin.js +8 -10
  38. package/dist/src/commands/plugin.js.map +1 -1
  39. package/dist/src/config/auth.d.ts +17 -1
  40. package/dist/src/config/auth.js +50 -36
  41. package/dist/src/config/auth.js.map +1 -1
  42. package/dist/src/config/config-manager.d.ts +56 -4
  43. package/dist/src/config/config-manager.js +173 -29
  44. package/dist/src/config/config-manager.js.map +1 -1
  45. package/dist/src/config/toml.d.ts +7 -0
  46. package/dist/src/config/toml.js +79 -0
  47. package/dist/src/config/toml.js.map +1 -0
  48. package/dist/src/examples.d.ts +22 -0
  49. package/dist/src/examples.js +56 -0
  50. package/dist/src/examples.js.map +1 -0
  51. package/dist/src/generated/cli-manifest.json +5583 -4916
  52. package/dist/src/hand-written-commands.d.ts +11 -41
  53. package/dist/src/hand-written-commands.js +7 -17
  54. package/dist/src/hand-written-commands.js.map +1 -1
  55. package/dist/src/output/jq.d.ts +15 -0
  56. package/dist/src/output/jq.js +234 -0
  57. package/dist/src/output/jq.js.map +1 -0
  58. package/dist/src/output/options.d.ts +29 -0
  59. package/dist/src/output/options.js +72 -0
  60. package/dist/src/output/options.js.map +1 -0
  61. package/dist/src/output/render.d.ts +54 -0
  62. package/dist/src/output/render.js +160 -0
  63. package/dist/src/output/render.js.map +1 -0
  64. package/dist/src/shared/errors.d.ts +59 -15
  65. package/dist/src/shared/errors.js +126 -38
  66. package/dist/src/shared/errors.js.map +1 -1
  67. package/dist/src/shared/prompt.d.ts +10 -0
  68. package/dist/src/shared/prompt.js +24 -0
  69. package/dist/src/shared/prompt.js.map +1 -0
  70. package/dist/src/shared/spinner.js +2 -1
  71. package/dist/src/shared/spinner.js.map +1 -1
  72. package/dist/src/spec-commands.d.ts +14 -6
  73. package/dist/src/spec-commands.js +454 -174
  74. package/dist/src/spec-commands.js.map +1 -1
  75. package/dist/src/spec-flags.d.ts +11 -6
  76. package/dist/src/spec-flags.js +14 -7
  77. package/dist/src/spec-flags.js.map +1 -1
  78. package/dist/src/spec-manifest.d.ts +416 -116
  79. package/dist/src/spec-manifest.js +44 -13
  80. package/dist/src/spec-manifest.js.map +1 -1
  81. package/dist/src/update-notifier.d.ts +9 -0
  82. package/dist/src/update-notifier.js +63 -0
  83. package/dist/src/update-notifier.js.map +1 -0
  84. package/package.json +2 -3
  85. package/dist/src/client/earnings-live.d.ts +0 -194
  86. package/dist/src/client/earnings-live.js +0 -300
  87. package/dist/src/client/earnings-live.js.map +0 -1
  88. package/dist/src/client/news-live.d.ts +0 -72
  89. package/dist/src/client/news-live.js +0 -120
  90. package/dist/src/client/news-live.js.map +0 -1
  91. package/dist/src/client/pdf.d.ts +0 -15
  92. package/dist/src/client/pdf.js +0 -15
  93. package/dist/src/client/pdf.js.map +0 -1
  94. package/dist/src/client/websocket-client.d.ts +0 -19
  95. package/dist/src/client/websocket-client.js +0 -174
  96. package/dist/src/client/websocket-client.js.map +0 -1
  97. package/dist/src/commands/earnings.d.ts +0 -16
  98. package/dist/src/commands/earnings.js +0 -464
  99. package/dist/src/commands/earnings.js.map +0 -1
  100. package/dist/src/commands/login.d.ts +0 -15
  101. package/dist/src/commands/login.js +0 -249
  102. package/dist/src/commands/login.js.map +0 -1
  103. package/dist/src/commands/news.d.ts +0 -2
  104. package/dist/src/commands/news.js +0 -69
  105. package/dist/src/commands/news.js.map +0 -1
  106. package/dist/src/commands/sec.d.ts +0 -47
  107. package/dist/src/commands/sec.js +0 -191
  108. package/dist/src/commands/sec.js.map +0 -1
  109. package/dist/src/commands/ws.d.ts +0 -33
  110. package/dist/src/commands/ws.js +0 -116
  111. package/dist/src/commands/ws.js.map +0 -1
  112. package/dist/src/formatters/json-formatter.d.ts +0 -1
  113. package/dist/src/formatters/json-formatter.js +0 -4
  114. package/dist/src/formatters/json-formatter.js.map +0 -1
  115. package/dist/src/formatters/table-formatter.d.ts +0 -4
  116. package/dist/src/formatters/table-formatter.js +0 -73
  117. package/dist/src/formatters/table-formatter.js.map +0 -1
  118. package/dist/src/formatters/time.d.ts +0 -2
  119. package/dist/src/formatters/time.js +0 -14
  120. package/dist/src/formatters/time.js.map +0 -1
  121. package/dist/src/shared/output.d.ts +0 -3
  122. package/dist/src/shared/output.js +0 -13
  123. package/dist/src/shared/output.js.map +0 -1
  124. package/dist/src/shared/readiness.d.ts +0 -4
  125. package/dist/src/shared/readiness.js +0 -60
  126. package/dist/src/shared/readiness.js.map +0 -1
  127. package/dist/src/shared/types.d.ts +0 -11
  128. package/dist/src/shared/types.js +0 -2
  129. package/dist/src/shared/types.js.map +0 -1
@@ -1,116 +0,0 @@
1
- import { connectWebSocket } from '../client/websocket-client.js';
2
- import { parseKeywordMatch, parseKeywords, parseMinRank, parseSinceSeq, parseSpeakerRoles, parseTarget, } from '../client/earnings-live.js';
3
- import { parseCiks, parseNewsKinds, parseNewsSources, parseTickers } from '../client/news-live.js';
4
- import { withErrorHandling } from '../shared/errors.js';
5
- const NEWS_FLAGS = ['tickers', 'ciks', 'newsKinds', 'newsSources', 'earningsNews'];
6
- const EARNINGS_FLAGS = ['sinceSeq', 'partials', 'names', 'prices', 'keywords', 'keywordMatch', 'speakerRoles', 'minRank'];
7
- /**
8
- * `ws listen` options → the `news.live` subscription, or null when `--news` is absent. Refused before connecting:
9
- * `--news` with `--earnings` / `--all-live` or any live-call flag, and the news filters without `--news`.
10
- */
11
- export function buildNewsOptions(cmdOpts, json) {
12
- if (!cmdOpts.news) {
13
- if (NEWS_FLAGS.some(key => cmdOpts[key] !== undefined)) {
14
- throw new Error('--tickers, --ciks, --news-kinds, --news-sources and --earnings-news need --news');
15
- }
16
- return null;
17
- }
18
- if (cmdOpts.earnings !== undefined)
19
- throw new Error('--news and --earnings exclude each other');
20
- if (cmdOpts.allLive)
21
- throw new Error('--news and --all-live exclude each other');
22
- if (EARNINGS_FLAGS.some(key => cmdOpts[key] !== undefined)) {
23
- throw new Error('--since-seq, --partials, --names, --prices, --keywords, --keyword-match, --speaker-roles and --min-rank follow a live call; not with --news');
24
- }
25
- const tickers = parseTickers(cmdOpts.tickers);
26
- const ciks = parseCiks(cmdOpts.ciks);
27
- const kinds = parseNewsKinds(cmdOpts.newsKinds);
28
- const sources = parseNewsSources(cmdOpts.newsSources);
29
- return {
30
- ...(tickers ? { tickers } : {}),
31
- ...(ciks ? { ciks } : {}),
32
- ...(kinds ? { kinds } : {}),
33
- ...(sources ? { sources } : {}),
34
- earningsOnly: Boolean(cmdOpts.earningsNews),
35
- json,
36
- };
37
- }
38
- /**
39
- * `ws listen` options → the earnings subscription, or null for the filing stream. Mirrors the
40
- * API's refusals client-side: the global scope needs keywords, the alert tuning needs keywords,
41
- * the per-call replay / partials / names / prices need one call.
42
- */
43
- export function buildListenOptions(cmdOpts, json) {
44
- const perCall = ['sinceSeq', 'partials', 'names', 'prices'];
45
- const alerts = ['keywords', 'keywordMatch', 'speakerRoles', 'minRank'];
46
- if (!cmdOpts.earnings && !cmdOpts.allLive) {
47
- if ([...perCall, ...alerts].some(key => cmdOpts[key] !== undefined)) {
48
- throw new Error('--since-seq, --partials, --names, --prices, --keywords, --keyword-match, --speaker-roles and --min-rank need --earnings or --all-live');
49
- }
50
- return null;
51
- }
52
- if (cmdOpts.earnings && cmdOpts.allLive)
53
- throw new Error('--earnings and --all-live exclude each other');
54
- if (cmdOpts.allLive && cmdOpts.keywords === undefined)
55
- throw new Error('--all-live needs --keywords (keyword alerts across every live call)');
56
- if (cmdOpts.keywords === undefined && (cmdOpts.keywordMatch !== undefined || cmdOpts.speakerRoles !== undefined)) {
57
- throw new Error('--keyword-match and --speaker-roles need --keywords');
58
- }
59
- if (cmdOpts.allLive && perCall.some(key => cmdOpts[key] !== undefined)) {
60
- throw new Error('--since-seq, --partials, --names and --prices follow one call; they need --earnings');
61
- }
62
- if (!cmdOpts.allLive && cmdOpts.minRank !== undefined)
63
- throw new Error('--min-rank needs --all-live');
64
- const keywords = cmdOpts.keywords === undefined
65
- ? undefined
66
- : {
67
- keywords: parseKeywords(cmdOpts.keywords),
68
- keywordMatch: parseKeywordMatch(cmdOpts.keywordMatch),
69
- speakerRoles: parseSpeakerRoles(cmdOpts.speakerRoles),
70
- minRank: parseMinRank(cmdOpts.minRank),
71
- };
72
- return {
73
- target: cmdOpts.allLive ? { scope: 'all_live' } : parseTarget(cmdOpts.earnings),
74
- sinceSeq: parseSinceSeq(cmdOpts.sinceSeq),
75
- partials: Boolean(cmdOpts.partials),
76
- names: Boolean(cmdOpts.names),
77
- json,
78
- ...(cmdOpts.prices ? { prices: true } : {}),
79
- ...(keywords ? { keywords } : {}),
80
- };
81
- }
82
- export function registerWsCommands(program) {
83
- const ws = program
84
- .command('ws')
85
- .description('WebSocket streaming');
86
- ws
87
- .command('listen')
88
- .description('Listen to real-time SEC filing stream, or with --earnings follow a live earnings call transcript (with --keywords: keyword alerts; --all-live: keyword alerts across every live call), or with --news new news items')
89
- .option('--earnings <event_id|cik>', 'Follow a live earnings call transcript (PRO): event ID (UUID) or CIK')
90
- .option('--all-live', 'Keyword alerts across every live call (PRO; needs --keywords)')
91
- .option('--since-seq <n>', 'Replay finals after this seq (default -1 = the whole call so far)')
92
- .option('--partials', 'Show interim segments, overwritten in place (terminal only; --json emits them)')
93
- .option('--names', 'Print each speaker-name snapshot')
94
- .option('--prices', 'Price ticks of the call\'s stock (≤ 1/s, one line updated in place; --json emits them). Coincidence, not cause')
95
- .option('--keywords <list>', 'Comma-separated keywords (max 20, 2–64 chars each): one keyword_hit line per mention')
96
- .option('--keyword-match <mode>', 'exact (default) or stem (tariff also hits "tariffs")')
97
- .option('--speaker-roles <list>', 'Only hits by these speakers: executive, ir_host, analyst, operator')
98
- .option('--min-rank <n>', 'With --all-live: only companies ranked ≤ n by market cap')
99
- .option('--news', 'New news items (SEC filings and company newsrooms) as they are published (STANDARD); one line each, NDJSON with --json')
100
- .option('--tickers <list>', 'With --news: items mentioning these tickers (≤ 50; with --ciks either matches). Default: every company')
101
- .option('--ciks <list>', 'With --news: items mentioning these CIKs (≤ 50, padded or not)')
102
- .option('--news-kinds <list>', 'With --news: only these kinds (earnings_results, guidance, m_and_a, dividend, …)')
103
- .option('--news-sources <list>', 'With --news: edgar (SEC filings) and / or ir (company newsrooms)')
104
- .option('--earnings-news', 'With --news: earnings news only (results, results dates, call announcements, guidance)')
105
- .action(withErrorHandling(async (cmdOpts) => {
106
- const json = Boolean(program.opts().json);
107
- const news = buildNewsOptions(cmdOpts, json);
108
- if (news) {
109
- await connectWebSocket({ news });
110
- return;
111
- }
112
- const earnings = buildListenOptions(cmdOpts, json);
113
- await connectWebSocket(earnings ? { earnings } : {});
114
- }));
115
- }
116
- //# sourceMappingURL=ws.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ws.js","sourceRoot":"","sources":["../../../src/commands/ws.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function formatJson(data: unknown): void;
@@ -1,4 +0,0 @@
1
- export function formatJson(data) {
2
- console.log(JSON.stringify(data, null, 2));
3
- }
4
- //# sourceMappingURL=json-formatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json-formatter.js","sourceRoot":"","sources":["../../../src/formatters/json-formatter.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare function formatTable(rows: Record<string, unknown>[], columns?: string[]): void;
2
- export declare function formatKeyValue(data: Record<string, unknown>): void;
3
- /** One dim line under a table that has a next page: a cursor-paged route names its `--cursor`, else offset/limit. */
4
- export declare function printPaginationHint(nextUrl?: string): void;
@@ -1,73 +0,0 @@
1
- import chalk from 'chalk';
2
- export function formatTable(rows, columns) {
3
- if (rows.length === 0) {
4
- console.log(chalk.yellow('No results.'));
5
- return;
6
- }
7
- const cols = columns || Object.keys(rows[0]);
8
- const widths = {};
9
- for (const col of cols) {
10
- widths[col] = col.length;
11
- for (const row of rows) {
12
- const val = formatValue(row[col], col);
13
- widths[col] = Math.max(widths[col], val.length);
14
- }
15
- }
16
- // Header
17
- const header = cols.map(c => chalk.bold(c.padEnd(widths[c]))).join(' ');
18
- console.log(header);
19
- console.log(cols.map(c => '─'.repeat(widths[c])).join(' '));
20
- // Rows
21
- for (const row of rows) {
22
- const line = cols.map(c => formatValue(row[c], c).padEnd(widths[c])).join(' ');
23
- console.log(line);
24
- }
25
- }
26
- function formatValue(val, columnName) {
27
- if (val === null || val === undefined)
28
- return '—';
29
- if (typeof val === 'number')
30
- return formatNumber(val, columnName);
31
- if (typeof val === 'boolean')
32
- return val ? 'Yes' : 'No';
33
- if (Array.isArray(val))
34
- return val.join(', ');
35
- return String(val);
36
- }
37
- const YEAR_LIKE_COLUMNS = new Set(['fiscal_year', 'calendar_year']);
38
- function formatNumber(n, columnName) {
39
- // Don't add thousand separators to year-like values
40
- if (columnName && YEAR_LIKE_COLUMNS.has(columnName)) {
41
- return String(n);
42
- }
43
- if (Number.isInteger(n) && Math.abs(n) >= 1000) {
44
- return n.toLocaleString('en-US');
45
- }
46
- if (!Number.isInteger(n)) {
47
- return n.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 4 });
48
- }
49
- return String(n);
50
- }
51
- export function formatKeyValue(data) {
52
- const maxKeyLen = Math.max(...Object.keys(data).map(k => k.length));
53
- for (const [key, value] of Object.entries(data)) {
54
- const label = chalk.bold(key.padEnd(maxKeyLen));
55
- console.log(` ${label} ${formatValue(value)}`);
56
- }
57
- }
58
- /** One dim line under a table that has a next page: a cursor-paged route names its `--cursor`, else offset/limit. */
59
- export function printPaginationHint(nextUrl) {
60
- if (!nextUrl)
61
- return;
62
- let cursor = null;
63
- try {
64
- cursor = new URL(nextUrl).searchParams.get('cursor');
65
- }
66
- catch {
67
- // not a URL: the offset hint
68
- }
69
- console.log(chalk.dim(cursor
70
- ? `\nMore results available. Use --all to fetch all pages, or --cursor ${cursor} (same filters) for the next one.`
71
- : '\nMore results available. Use --all to fetch all pages, or --offset/--limit to paginate.'));
72
- }
73
- //# sourceMappingURL=table-formatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-formatter.js","sourceRoot":"","sources":["../../../src/formatters/table-formatter.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- /** Milliseconds into a call → `m:ss`, or `h:mm:ss` from one hour; `—` when untimed. */
2
- export declare function formatMs(ms: number | null | undefined): string;
@@ -1,14 +0,0 @@
1
- /** Milliseconds into a call → `m:ss`, or `h:mm:ss` from one hour; `—` when untimed. */
2
- export function formatMs(ms) {
3
- if (ms === null || ms === undefined || !Number.isFinite(ms))
4
- return '—';
5
- const total = Math.max(0, Math.floor(ms / 1000));
6
- const hours = Math.floor(total / 3600);
7
- const minutes = Math.floor((total % 3600) / 60);
8
- const seconds = String(total % 60).padStart(2, '0');
9
- if (hours > 0) {
10
- return `${hours}:${String(minutes).padStart(2, '0')}:${seconds}`;
11
- }
12
- return `${minutes}:${seconds}`;
13
- }
14
- //# sourceMappingURL=time.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/formatters/time.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,MAAM,UAAU,QAAQ,CAAC,EAA6B;IACpD,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAE,OAAO,GAAG,CAAC;IACxE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;AACjC,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function output(data: unknown, opts: {
2
- json?: boolean;
3
- }, tableFormatter?: (data: unknown) => void): void;
@@ -1,13 +0,0 @@
1
- import { formatJson } from '../formatters/json-formatter.js';
2
- export function output(data, opts, tableFormatter) {
3
- if (opts.json) {
4
- formatJson(data);
5
- }
6
- else if (tableFormatter) {
7
- tableFormatter(data);
8
- }
9
- else {
10
- formatJson(data);
11
- }
12
- }
13
- //# sourceMappingURL=output.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/shared/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,MAAM,UAAU,MAAM,CAAC,IAAa,EAAE,IAAwB,EAAE,cAAwC;IACtG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- /** The lines a person should read beside the output; empty for a ready, complete answer or a non-SEC body. */
2
- export declare function readinessNotes(data: unknown): string[];
3
- /** Prints `readinessNotes` dimmed on stderr (stdout keeps only the answer). */
4
- export declare function printReadinessNotes(data: unknown): void;
@@ -1,60 +0,0 @@
1
- import chalk from 'chalk';
2
- /**
3
- * The typed state of a `/v1/sec/*` answer (`api_schema` + `readiness`, the search `coverage`), told apart from a
4
- * genuine result: a 202 `pending` or a `partial` page, and a search whose coverage is not `complete`, may hold zero
5
- * rows that are NOT "nothing exists". One generic rule over the response, never per command.
6
- */
7
- const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
8
- const text = (value) => (typeof value === 'string' && value !== '' ? value : undefined);
9
- /** How the capped passages were picked, from `coverage.matches.order` (an unknown order is printed as sent). */
10
- function examinedOrder(matches) {
11
- const order = text(matches.order);
12
- if (order === 'newest_first') {
13
- const complete = text(matches.complete_since)
14
- ? `every match filed since ${text(matches.complete_since)}`
15
- : 'even the newest week has more matches';
16
- const band = text(matches.window_from) ? `older ones from ${text(matches.window_from)} on` : 'older ones';
17
- return `newest first: ${complete}, then ${band} in index order`;
18
- }
19
- if (order === 'index_order' || order === undefined)
20
- return 'index order';
21
- return `order ${order}`;
22
- }
23
- /** The lines a person should read beside the output; empty for a ready, complete answer or a non-SEC body. */
24
- export function readinessNotes(data) {
25
- if (!isRecord(data) || !isRecord(data.readiness) || typeof data.api_schema !== 'string')
26
- return [];
27
- const notes = [];
28
- const { status, reason, recoverable } = data.readiness;
29
- if (status === 'pending') {
30
- notes.push(`readiness: pending${text(reason) ? ` (${text(reason)})` : ''} — not available yet, retry later (not billed)`);
31
- }
32
- else if (typeof status === 'string' && status !== 'ready') {
33
- const retry = recoverable === true ? '; the backend can still obtain the rest' : '';
34
- notes.push(`readiness: ${status}${text(reason) ? ` (${text(reason)})` : ''} — the answer is incomplete${retry}`);
35
- }
36
- const coverage = data.coverage;
37
- if (isRecord(coverage) && typeof coverage.completeness === 'string' && coverage.completeness !== 'complete') {
38
- const reasons = Array.isArray(coverage.reasons) ? coverage.reasons.filter(item => typeof item === 'string') : [];
39
- notes.push(`coverage: ${coverage.completeness}${reasons.length ? ` (${reasons.join(', ')})` : ''} — `
40
- + 'no hits here is not proof that nothing matches');
41
- // An unfiltered search over the selectivity cap (`coverage.matches.capped`): what was examined and how to narrow.
42
- const matches = coverage.matches;
43
- if (isRecord(matches) && matches.capped === true) {
44
- const span = text(matches.filed_from) && text(matches.filed_to)
45
- ? `, filed ${text(matches.filed_from)} to ${text(matches.filed_to)}`
46
- : '';
47
- notes.push(`matches: ranked among ${String(matches.examined)} examined of at least ${String(matches.total_at_least)} `
48
- + `matching passages (${examinedOrder(matches)}${span})`);
49
- }
50
- if (text(coverage.hint))
51
- notes.push(`hint: ${text(coverage.hint)}`);
52
- }
53
- return notes;
54
- }
55
- /** Prints `readinessNotes` dimmed on stderr (stdout keeps only the answer). */
56
- export function printReadinessNotes(data) {
57
- for (const note of readinessNotes(data))
58
- console.error(chalk.yellow(note));
59
- }
60
- //# sourceMappingURL=readiness.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../../src/shared/readiness.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- export interface ApiResponse<T> {
2
- data: T;
3
- status: number;
4
- }
5
- export interface PaginatedResponse {
6
- next_url?: string;
7
- }
8
- export interface CommandOptions {
9
- json?: boolean;
10
- all?: boolean;
11
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":""}