@disclosure-api/cli 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,79 @@
1
+ # Disclosure API CLI
2
+
3
+ Agent-friendly command line client for the Disclosure API.
4
+
5
+ ## Install
6
+
7
+ ```sh
8
+ npm install -g @disclosure-api/cli
9
+ ```
10
+
11
+ The package exposes one binary:
12
+
13
+ ```sh
14
+ disclosure --help
15
+ ```
16
+
17
+ ## Environment
18
+
19
+ ```sh
20
+ export DISCLOSURE_API_KEY="your_api_key"
21
+ export DISCLOSURE_API_BASE_URL="https://disclosureapi.com"
22
+ ```
23
+
24
+ `DISCLOSURE_API_BASE_URL` is optional and defaults to `https://disclosureapi.com`. A local API
25
+ server can be used with:
26
+
27
+ ```sh
28
+ DISCLOSURE_API_BASE_URL=http://127.0.0.1:5173 disclosure status
29
+ ```
30
+
31
+ `DISCLOSURE_API_KEY` is required for all protected `/v1` commands. `disclosure status` is public.
32
+
33
+ ## Output Contract
34
+
35
+ Success writes JSON to stdout. Errors write a JSON error envelope to stderr and exit non-zero.
36
+ List commands support `--format jsonl` for one returned data row per line.
37
+
38
+ Use `--all` on list commands to follow `pagination.has_more` and `pagination.next_offset` until
39
+ the API has no more pages.
40
+
41
+ ## Agent Help
42
+
43
+ The CLI is self-describing:
44
+
45
+ ```sh
46
+ disclosure --help
47
+ disclosure help --json
48
+ disclosure help filings list
49
+ disclosure filings list --help
50
+ ```
51
+
52
+ `disclosure help --json` returns a machine-readable command catalog with command names,
53
+ arguments, flags, API endpoints, auth requirements, output behavior, and examples.
54
+
55
+ For coding agents:
56
+
57
+ - Prefer `--format json` unless `--format jsonl` is easier to stream.
58
+ - Use `--all` only when a complete dataset is required.
59
+ - Avoid `--include-text` unless full extracted filing text is needed.
60
+ - On non-zero exit, parse stderr JSON and inspect `error.code` and `error.details`.
61
+ - Cite returned SEC/source URLs when relevant.
62
+
63
+ ## Examples
64
+
65
+ ```sh
66
+ disclosure status
67
+ disclosure companies search AAPL --limit 5
68
+ disclosure companies get AAPL
69
+ disclosure filings list --ticker AAPL --form-type 8-K --format jsonl
70
+ disclosure filings get 0000320193-24-000037
71
+ disclosure filings sections 0000320193-24-000037 --item-code 2.02
72
+ disclosure earnings list --ticker DELL --limit 5
73
+ disclosure insider-transactions list --ticker AAPL --transaction-class buy
74
+ disclosure insider-holdings list --ticker AAPL --format jsonl
75
+ disclosure insiders search "Cook"
76
+ disclosure insiders transactions 0001214156 --all --format jsonl
77
+ disclosure material-events list --ticker AAPL --event-type earnings_release
78
+ disclosure confidential-filings list --ticker AAPL
79
+ ```
@@ -0,0 +1,38 @@
1
+ export declare const CLI_NAME = "disclosure";
2
+ export declare const CLI_VERSION = "0.0.1";
3
+ export declare const DEFAULT_BASE_URL = "https://disclosureapi.com";
4
+ export type FlagKind = 'string' | 'number' | 'boolean-string';
5
+ export interface FlagSpec {
6
+ readonly name: string;
7
+ readonly apiName: string;
8
+ readonly kind: FlagKind;
9
+ readonly valueName?: string;
10
+ readonly description: string;
11
+ }
12
+ export interface PositionalSpec {
13
+ readonly name: string;
14
+ readonly label: string;
15
+ readonly required: boolean;
16
+ readonly description: string;
17
+ readonly pathParam?: string;
18
+ readonly queryParam?: string;
19
+ }
20
+ export interface CommandSpec {
21
+ readonly id: string;
22
+ readonly segments: readonly string[];
23
+ readonly summary: string;
24
+ readonly description: string;
25
+ readonly endpoint: string;
26
+ readonly authRequired: boolean;
27
+ readonly list: boolean;
28
+ readonly positionals?: readonly PositionalSpec[];
29
+ readonly flags?: readonly FlagSpec[];
30
+ readonly examples: readonly string[];
31
+ readonly notes?: readonly string[];
32
+ }
33
+ export declare const COMMANDS: readonly CommandSpec[];
34
+ export declare function findCommand(argv: readonly string[]): {
35
+ command: CommandSpec;
36
+ rest: string[];
37
+ } | null;
38
+ export declare function commandName(command: CommandSpec): string;
@@ -0,0 +1,455 @@
1
+ export const CLI_NAME = 'disclosure';
2
+ export const CLI_VERSION = '0.0.1';
3
+ export const DEFAULT_BASE_URL = 'https://disclosureapi.com';
4
+ const paginationFlags = [
5
+ flag('limit', 'number', 'Maximum rows to return. The API maximum is 100.', 'N'),
6
+ flag('offset', 'number', 'Zero-based row offset for pagination.', 'N')
7
+ ];
8
+ const companyIdentityFlags = [
9
+ flag('ticker', 'string', 'Company ticker symbol, for example AAPL.', 'SYMBOL'),
10
+ flag('cik', 'string', 'Company CIK, usually zero-padded.', 'CIK'),
11
+ flag('company-id', 'string', 'Disclosure API company id.', 'ID')
12
+ ];
13
+ const filingDateFlags = [
14
+ flag('filed-from', 'string', 'Filter by filing date on or after YYYY-MM-DD.', 'DATE'),
15
+ flag('filed-to', 'string', 'Filter by filing date on or before YYYY-MM-DD.', 'DATE'),
16
+ flag('accepted-from', 'string', 'Filter by accepted timestamp on or after an ISO date/time.', 'DATE'),
17
+ flag('accepted-to', 'string', 'Filter by accepted timestamp on or before an ISO date/time.', 'DATE'),
18
+ flag('ingested-from', 'string', 'Filter by ingestion timestamp on or after an ISO date/time.', 'DATE'),
19
+ flag('ingested-to', 'string', 'Filter by ingestion timestamp on or before an ISO date/time.', 'DATE')
20
+ ];
21
+ const transactionValueFlags = [
22
+ flag('min-value', 'number', 'Minimum transaction value.', 'N'),
23
+ flag('max-value', 'number', 'Maximum transaction value.', 'N'),
24
+ flag('min-shares', 'number', 'Minimum share count.', 'N'),
25
+ flag('max-shares', 'number', 'Maximum share count.', 'N')
26
+ ];
27
+ const insiderRelationshipFlags = [
28
+ flag('owner-cik', 'string', 'Reporting owner CIK.', 'CIK'),
29
+ flag('owner-name', 'string', 'Reporting owner name search.', 'NAME'),
30
+ flag('insider-id', 'string', 'Disclosure API insider id.', 'ID')
31
+ ];
32
+ export const COMMANDS = [
33
+ {
34
+ id: 'status',
35
+ segments: ['status'],
36
+ summary: 'Read public API and ingestion freshness status.',
37
+ description: 'Returns public operational status for API availability, ingestion freshness, parse health, task queues, and recent failures.',
38
+ endpoint: '/v1/status',
39
+ authRequired: false,
40
+ list: false,
41
+ examples: [`${CLI_NAME} status`],
42
+ notes: ['This is the only v1 command that does not require DISCLOSURE_API_KEY.']
43
+ },
44
+ {
45
+ id: 'companies.search',
46
+ segments: ['companies', 'search'],
47
+ summary: 'Search companies by name, ticker, CIK, SIC, or exchange.',
48
+ description: 'Searches company records and returns a paginated data envelope.',
49
+ endpoint: '/v1/companies/search',
50
+ authRequired: true,
51
+ list: true,
52
+ positionals: [
53
+ {
54
+ name: 'query',
55
+ label: '[query]',
56
+ required: false,
57
+ description: 'Optional free-text search query. Same as --query.',
58
+ queryParam: 'query'
59
+ }
60
+ ],
61
+ flags: [
62
+ flag('query', 'string', 'Free-text search query.', 'TEXT'),
63
+ flag('ticker', 'string', 'Exact ticker filter.', 'SYMBOL'),
64
+ flag('cik', 'string', 'Exact CIK filter.', 'CIK'),
65
+ flag('sic', 'string', 'SIC code filter.', 'CODE'),
66
+ flag('exchange', 'string', 'Exchange filter.', 'NAME'),
67
+ ...paginationFlags
68
+ ],
69
+ examples: [
70
+ `${CLI_NAME} companies search AAPL`,
71
+ `${CLI_NAME} companies search --query "Apple" --limit 5`,
72
+ `${CLI_NAME} companies search --exchange Nasdaq --format jsonl`
73
+ ]
74
+ },
75
+ {
76
+ id: 'companies.get',
77
+ segments: ['companies', 'get'],
78
+ summary: 'Get a company by ticker or CIK.',
79
+ description: 'Returns one company record by ticker symbol or CIK.',
80
+ endpoint: '/v1/companies/{ticker}',
81
+ authRequired: true,
82
+ list: false,
83
+ positionals: [pathArg('ticker', '<ticker-or-cik>', 'Ticker symbol or CIK.')],
84
+ examples: [`${CLI_NAME} companies get AAPL`, `${CLI_NAME} companies get 0000320193`]
85
+ },
86
+ {
87
+ id: 'filings.list',
88
+ segments: ['filings', 'list'],
89
+ summary: 'List SEC filings with rich filters.',
90
+ description: 'Lists filings with company, form, status, date, and sort filters.',
91
+ endpoint: '/v1/filings',
92
+ authRequired: true,
93
+ list: true,
94
+ flags: [
95
+ ...companyIdentityFlags,
96
+ flag('accession-number', 'string', 'SEC accession number.', 'ACCESSION'),
97
+ flag('form-type', 'string', 'Comma-separated SEC form types, for example 4,4/A,8-K.', 'FORMS'),
98
+ flag('form-family', 'string', 'Form family filter, for example ownership.', 'FAMILY'),
99
+ flag('status', 'string', 'Filing fetch status.', 'STATUS'),
100
+ flag('parse-status', 'string', 'Filing parse status.', 'STATUS'),
101
+ flag('is-amendment', 'boolean-string', 'Filter amendment filings. Optional value: true or false.'),
102
+ flag('is-confidential-related', 'boolean-string', 'Filter filings related to confidential filing artifacts. Optional value: true or false.'),
103
+ flag('item', 'string', 'Comma-separated 8-K item codes, for example 2.02,9.01.', 'ITEMS'),
104
+ flag('discovery-source', 'string', 'Discovery source filter.', 'SOURCE'),
105
+ ...filingDateFlags,
106
+ flag('discovered-from', 'string', 'Filter by discovered timestamp on or after an ISO date/time.', 'DATE'),
107
+ flag('discovered-to', 'string', 'Filter by discovered timestamp on or before an ISO date/time.', 'DATE'),
108
+ flag('sort', 'string', 'Sort key: filed_at, accepted_at, discovered_at, ingested_at, accession_number.', 'KEY'),
109
+ flag('order', 'string', 'Sort direction: asc or desc.', 'DIR'),
110
+ ...paginationFlags
111
+ ],
112
+ examples: [
113
+ `${CLI_NAME} filings list --ticker AAPL --form-type 8-K --limit 10`,
114
+ `${CLI_NAME} filings list --ticker AAPL --filed-from 2024-01-01 --format jsonl`,
115
+ `${CLI_NAME} filings list --form-family ownership --all`
116
+ ]
117
+ },
118
+ {
119
+ id: 'filings.get',
120
+ segments: ['filings', 'get'],
121
+ summary: 'Get a filing with documents and extracted sections.',
122
+ description: 'Returns filing detail by accession number.',
123
+ endpoint: '/v1/filings/{accession_number}',
124
+ authRequired: true,
125
+ list: false,
126
+ positionals: [pathArg('accession_number', '<accession-number>', 'SEC accession number.')],
127
+ flags: [
128
+ flag('include-text', 'boolean-string', 'Include full extracted section text. Optional value: true or false.')
129
+ ],
130
+ examples: [
131
+ `${CLI_NAME} filings get 0000320193-24-000037`,
132
+ `${CLI_NAME} filings get 0000320193-24-000037 --include-text`
133
+ ],
134
+ notes: ['For coding agents, avoid --include-text unless the full source text is needed.']
135
+ },
136
+ {
137
+ id: 'filings.documents',
138
+ segments: ['filings', 'documents'],
139
+ summary: 'List documents attached to a filing.',
140
+ description: 'Returns filing documents by accession number.',
141
+ endpoint: '/v1/filings/{accession_number}/documents',
142
+ authRequired: true,
143
+ list: true,
144
+ positionals: [pathArg('accession_number', '<accession-number>', 'SEC accession number.')],
145
+ flags: [
146
+ flag('doc-type', 'string', 'Document type filter.', 'TYPE'),
147
+ flag('mime-type', 'string', 'MIME type filter.', 'TYPE'),
148
+ flag('is-primary', 'boolean-string', 'Filter primary filing document. Optional value: true or false.'),
149
+ flag('parse-status', 'string', 'Document parse status.', 'STATUS'),
150
+ ...paginationFlags
151
+ ],
152
+ examples: [
153
+ `${CLI_NAME} filings documents 0000320193-24-000037`,
154
+ `${CLI_NAME} filings documents 0000320193-24-000037 --is-primary`
155
+ ]
156
+ },
157
+ {
158
+ id: 'filings.sections',
159
+ segments: ['filings', 'sections'],
160
+ summary: 'List extracted filing sections.',
161
+ description: 'Returns extracted filing sections by accession number.',
162
+ endpoint: '/v1/filings/{accession_number}/sections',
163
+ authRequired: true,
164
+ list: true,
165
+ positionals: [pathArg('accession_number', '<accession-number>', 'SEC accession number.')],
166
+ flags: [
167
+ flag('section-type', 'string', 'Section type filter.', 'TYPE'),
168
+ flag('item-code', 'string', '8-K item code filter.', 'ITEM'),
169
+ flag('canonical-section', 'string', 'Canonical section filter.', 'SECTION'),
170
+ flag('include-text', 'boolean-string', 'Include full section text. Optional value: true or false.'),
171
+ ...paginationFlags
172
+ ],
173
+ examples: [
174
+ `${CLI_NAME} filings sections 0000320193-24-000037 --item-code 2.02`,
175
+ `${CLI_NAME} filings sections 0000320193-24-000037 --include-text --format jsonl`
176
+ ],
177
+ notes: ['For coding agents, avoid --include-text unless the full source text is needed.']
178
+ },
179
+ {
180
+ id: 'earnings.list',
181
+ segments: ['earnings', 'list'],
182
+ summary: 'List source-linked earnings release events.',
183
+ description: 'Lists current-feed 8-K Item 2.02 earnings events with metrics and citations.',
184
+ endpoint: '/v1/earnings-events',
185
+ authRequired: true,
186
+ list: true,
187
+ flags: [
188
+ ...companyIdentityFlags,
189
+ flag('accession-number', 'string', 'SEC accession number.', 'ACCESSION'),
190
+ flag('has-metrics', 'boolean-string', 'Filter events with extracted metrics. Optional value: true or false.'),
191
+ ...filingDateFlags,
192
+ flag('sort', 'string', 'Sort key: accepted_at, ingested_at, filed_at.', 'KEY'),
193
+ flag('order', 'string', 'Sort direction: asc or desc.', 'DIR'),
194
+ ...paginationFlags
195
+ ],
196
+ examples: [
197
+ `${CLI_NAME} earnings list --ticker DELL --limit 5`,
198
+ `${CLI_NAME} earnings list --has-metrics --format jsonl`
199
+ ]
200
+ },
201
+ {
202
+ id: 'insider-transactions.list',
203
+ segments: ['insider-transactions', 'list'],
204
+ summary: 'List normalized insider transactions.',
205
+ description: 'Lists insider transactions across issuers with owner, value, class, and date filters.',
206
+ endpoint: '/v1/insider-transactions',
207
+ authRequired: true,
208
+ list: true,
209
+ flags: [
210
+ flag('ticker', 'string', 'Friendly alias for --issuer-ticker.', 'SYMBOL'),
211
+ flag('issuer-ticker', 'string', 'Issuer ticker filter.', 'SYMBOL'),
212
+ flag('issuer-cik', 'string', 'Issuer CIK filter.', 'CIK'),
213
+ ...insiderRelationshipFlags,
214
+ flag('filing-id', 'string', 'Disclosure API filing id.', 'ID'),
215
+ flag('transaction-class', 'string', 'Comma-separated transaction classes, for example buy,sell.', 'CLASS'),
216
+ flag('transaction-code', 'string', 'Comma-separated SEC transaction codes, for example P,S.', 'CODE'),
217
+ flag('acquired-disposed', 'string', 'Comma-separated acquired/disposed codes, for example A,D.', 'CODE'),
218
+ flag('ownership-directness', 'string', 'Comma-separated directness filters, for example direct,indirect.', 'VALUE'),
219
+ flag('open-market', 'boolean-string', 'Filter open-market transactions. Optional value: true or false.'),
220
+ flag('ten-b5-1', 'boolean-string', 'Filter 10b5-1 transactions. Optional value: true or false.'),
221
+ flag('large-purchase', 'boolean-string', 'Filter large open-market purchases. Optional value: true or false.'),
222
+ flag('is-amendment', 'boolean-string', 'Filter amended filings. Optional value: true or false.'),
223
+ ...transactionValueFlags,
224
+ flag('transaction-from', 'string', 'Transaction date on or after YYYY-MM-DD.', 'DATE'),
225
+ flag('transaction-to', 'string', 'Transaction date on or before YYYY-MM-DD.', 'DATE'),
226
+ flag('order', 'string', 'Sort direction: asc or desc.', 'DIR'),
227
+ ...paginationFlags
228
+ ],
229
+ examples: [
230
+ `${CLI_NAME} insider-transactions list --ticker AAPL --transaction-class buy --limit 10`,
231
+ `${CLI_NAME} insider-transactions list --large-purchase --format jsonl`
232
+ ]
233
+ },
234
+ {
235
+ id: 'insider-holdings.list',
236
+ segments: ['insider-holdings', 'list'],
237
+ summary: 'List historical insider holdings.',
238
+ description: 'Lists insider holdings reported in ownership filings.',
239
+ endpoint: '/v1/insider-holdings',
240
+ authRequired: true,
241
+ list: true,
242
+ flags: [
243
+ flag('ticker', 'string', 'Friendly alias for --issuer-ticker.', 'SYMBOL'),
244
+ flag('issuer-ticker', 'string', 'Issuer ticker filter.', 'SYMBOL'),
245
+ flag('issuer-cik', 'string', 'Issuer CIK filter.', 'CIK'),
246
+ ...insiderRelationshipFlags,
247
+ flag('form-type', 'string', 'SEC form type filter.', 'FORM'),
248
+ flag('table-type', 'string', 'Ownership table type filter.', 'TYPE'),
249
+ flag('source-kind', 'string', 'Holding source kind filter.', 'KIND'),
250
+ flag('security-title', 'string', 'Security title filter.', 'TITLE'),
251
+ flag('ownership-directness', 'string', 'Comma-separated directness filters, for example direct,indirect.', 'VALUE'),
252
+ flag('min-shares', 'number', 'Minimum shares owned.', 'N'),
253
+ flag('max-shares', 'number', 'Maximum shares owned.', 'N'),
254
+ flag('is-amendment', 'boolean-string', 'Filter amended filings. Optional value: true or false.'),
255
+ flag('holding-from', 'string', 'Holding date on or after YYYY-MM-DD.', 'DATE'),
256
+ flag('holding-to', 'string', 'Holding date on or before YYYY-MM-DD.', 'DATE'),
257
+ flag('order', 'string', 'Sort direction: asc or desc.', 'DIR'),
258
+ ...paginationFlags
259
+ ],
260
+ examples: [
261
+ `${CLI_NAME} insider-holdings list --ticker AAPL --limit 10`,
262
+ `${CLI_NAME} insider-holdings list --owner-name "Cook" --format jsonl`
263
+ ]
264
+ },
265
+ {
266
+ id: 'insiders.search',
267
+ segments: ['insiders', 'search'],
268
+ summary: 'Search insiders by name, CIK, or issuer relationship.',
269
+ description: 'Searches insider records and issuer relationships.',
270
+ endpoint: '/v1/insiders/search',
271
+ authRequired: true,
272
+ list: true,
273
+ positionals: [
274
+ {
275
+ name: 'query',
276
+ label: '[query]',
277
+ required: false,
278
+ description: 'Optional free-text search query. Same as --query.',
279
+ queryParam: 'query'
280
+ }
281
+ ],
282
+ flags: [
283
+ flag('query', 'string', 'Free-text search query.', 'TEXT'),
284
+ flag('name', 'string', 'Insider name filter.', 'NAME'),
285
+ flag('cik', 'string', 'Insider CIK filter.', 'CIK'),
286
+ flag('ticker', 'string', 'Friendly alias for --issuer-ticker.', 'SYMBOL'),
287
+ flag('issuer-ticker', 'string', 'Issuer ticker filter.', 'SYMBOL'),
288
+ flag('issuer-cik', 'string', 'Issuer CIK filter.', 'CIK'),
289
+ ...paginationFlags
290
+ ],
291
+ examples: [
292
+ `${CLI_NAME} insiders search "Cook"`,
293
+ `${CLI_NAME} insiders search --ticker AAPL --format jsonl`
294
+ ]
295
+ },
296
+ {
297
+ id: 'insiders.get',
298
+ segments: ['insiders', 'get'],
299
+ summary: 'Get an insider with recent transactions and holdings.',
300
+ description: 'Returns insider detail by Disclosure API insider id or zero-padded CIK.',
301
+ endpoint: '/v1/insiders/{id}',
302
+ authRequired: true,
303
+ list: false,
304
+ positionals: [pathArg('id', '<id-or-cik>', 'Insider database id or zero-padded CIK.')],
305
+ flags: [
306
+ flag('include-limit', 'number', 'Number of recent transactions and holdings to include.', 'N')
307
+ ],
308
+ examples: [
309
+ `${CLI_NAME} insiders get 0001214156`,
310
+ `${CLI_NAME} insiders get ins_123 --include-limit 10`
311
+ ]
312
+ },
313
+ {
314
+ id: 'insiders.transactions',
315
+ segments: ['insiders', 'transactions'],
316
+ summary: 'List transactions for one insider.',
317
+ description: 'Lists transactions for an insider by Disclosure API insider id or zero-padded CIK.',
318
+ endpoint: '/v1/insiders/{id}/transactions',
319
+ authRequired: true,
320
+ list: true,
321
+ positionals: [pathArg('id', '<id-or-cik>', 'Insider database id or zero-padded CIK.')],
322
+ flags: [
323
+ flag('ticker', 'string', 'Friendly alias for --issuer-ticker.', 'SYMBOL'),
324
+ flag('issuer-ticker', 'string', 'Issuer ticker filter.', 'SYMBOL'),
325
+ flag('issuer-cik', 'string', 'Issuer CIK filter.', 'CIK'),
326
+ flag('owner-cik', 'string', 'Reporting owner CIK.', 'CIK'),
327
+ flag('owner-name', 'string', 'Reporting owner name search.', 'NAME'),
328
+ flag('filing-id', 'string', 'Disclosure API filing id.', 'ID'),
329
+ flag('transaction-from', 'string', 'Transaction date on or after YYYY-MM-DD.', 'DATE'),
330
+ flag('transaction-to', 'string', 'Transaction date on or before YYYY-MM-DD.', 'DATE'),
331
+ flag('transaction-class', 'string', 'Comma-separated transaction classes, for example buy,sell.', 'CLASS'),
332
+ flag('transaction-code', 'string', 'Comma-separated SEC transaction codes, for example P,S.', 'CODE'),
333
+ flag('acquired-disposed', 'string', 'Comma-separated acquired/disposed codes, for example A,D.', 'CODE'),
334
+ flag('ownership-directness', 'string', 'Comma-separated directness filters, for example direct,indirect.', 'VALUE'),
335
+ flag('open-market', 'boolean-string', 'Filter open-market transactions. Optional value: true or false.'),
336
+ flag('ten-b5-1', 'boolean-string', 'Filter 10b5-1 transactions. Optional value: true or false.'),
337
+ flag('large-purchase', 'boolean-string', 'Filter large open-market purchases. Optional value: true or false.'),
338
+ flag('is-amendment', 'boolean-string', 'Filter amended filings. Optional value: true or false.'),
339
+ ...transactionValueFlags,
340
+ flag('order', 'string', 'Sort direction: asc or desc.', 'DIR'),
341
+ ...paginationFlags
342
+ ],
343
+ examples: [
344
+ `${CLI_NAME} insiders transactions 0001214156 --ticker AAPL`,
345
+ `${CLI_NAME} insiders transactions ins_123 --all --format jsonl`
346
+ ]
347
+ },
348
+ {
349
+ id: 'material-events.list',
350
+ segments: ['material-events', 'list'],
351
+ summary: 'List classified 8-K and 6-K material events.',
352
+ description: 'Lists classified material events with company, event, date, confidence, and status filters.',
353
+ endpoint: '/v1/material-events',
354
+ authRequired: true,
355
+ list: true,
356
+ flags: [
357
+ ...companyIdentityFlags,
358
+ flag('filing-id', 'string', 'Disclosure API filing id.', 'ID'),
359
+ flag('event-type', 'string', 'Material event type, for example earnings_release.', 'TYPE'),
360
+ flag('status', 'string', 'Event classification status.', 'STATUS'),
361
+ flag('event-from', 'string', 'Event date on or after YYYY-MM-DD.', 'DATE'),
362
+ flag('event-to', 'string', 'Event date on or before YYYY-MM-DD.', 'DATE'),
363
+ flag('classifier-version', 'string', 'Classifier version filter.', 'VERSION'),
364
+ flag('min-confidence', 'number', 'Minimum classifier confidence, from 0 to 1.', 'N'),
365
+ flag('max-confidence', 'number', 'Maximum classifier confidence, from 0 to 1.', 'N'),
366
+ flag('order', 'string', 'Sort direction: asc or desc.', 'DIR'),
367
+ ...paginationFlags
368
+ ],
369
+ examples: [
370
+ `${CLI_NAME} material-events list --ticker AAPL --event-type earnings_release`,
371
+ `${CLI_NAME} material-events list --min-confidence 0.8 --format jsonl`
372
+ ]
373
+ },
374
+ {
375
+ id: 'material-events.get',
376
+ segments: ['material-events', 'get'],
377
+ summary: 'Get a material event with classification evidence.',
378
+ description: 'Returns one material event by id, optionally including extracted source text.',
379
+ endpoint: '/v1/material-events/{id}',
380
+ authRequired: true,
381
+ list: false,
382
+ positionals: [pathArg('id', '<id>', 'Material event id.')],
383
+ flags: [
384
+ flag('include-text', 'boolean-string', 'Include full extracted evidence text. Optional value: true or false.')
385
+ ],
386
+ examples: [
387
+ `${CLI_NAME} material-events get evt_123`,
388
+ `${CLI_NAME} material-events get evt_123 --include-text`
389
+ ],
390
+ notes: ['For coding agents, avoid --include-text unless the full source text is needed.']
391
+ },
392
+ {
393
+ id: 'confidential-filings.list',
394
+ segments: ['confidential-filings', 'list'],
395
+ summary: 'List public EDGAR artifacts related to confidential filings.',
396
+ description: 'Lists public artifacts tied to confidential filings.',
397
+ endpoint: '/v1/confidential-filings',
398
+ authRequired: true,
399
+ list: true,
400
+ flags: [
401
+ ...companyIdentityFlags,
402
+ flag('confidential-kind', 'string', 'Confidential filing artifact kind.', 'KIND'),
403
+ flag('public-status', 'string', 'Public release status filter.', 'STATUS'),
404
+ flag('file-number', 'string', 'SEC file number filter.', 'NUMBER'),
405
+ flag('has-redactions', 'boolean-string', 'Filter artifacts with redactions. Optional value: true or false.'),
406
+ flag('received-from', 'string', 'Received date on or after YYYY-MM-DD.', 'DATE'),
407
+ flag('received-to', 'string', 'Received date on or before YYYY-MM-DD.', 'DATE'),
408
+ flag('released-from', 'string', 'Released date on or after YYYY-MM-DD.', 'DATE'),
409
+ flag('released-to', 'string', 'Released date on or before YYYY-MM-DD.', 'DATE'),
410
+ flag('order', 'string', 'Sort direction: asc or desc.', 'DIR'),
411
+ ...paginationFlags
412
+ ],
413
+ examples: [
414
+ `${CLI_NAME} confidential-filings list --ticker AAPL`,
415
+ `${CLI_NAME} confidential-filings list --has-redactions --format jsonl`
416
+ ]
417
+ }
418
+ ];
419
+ export function findCommand(argv) {
420
+ const sorted = [...COMMANDS].sort((a, b) => b.segments.length - a.segments.length);
421
+ for (const command of sorted) {
422
+ if (command.segments.every((segment, index) => argv[index] === segment)) {
423
+ return {
424
+ command,
425
+ rest: argv.slice(command.segments.length)
426
+ };
427
+ }
428
+ }
429
+ return null;
430
+ }
431
+ export function commandName(command) {
432
+ return command.segments.join(' ');
433
+ }
434
+ function pathArg(name, label, description) {
435
+ return {
436
+ name,
437
+ label,
438
+ required: true,
439
+ description,
440
+ pathParam: name
441
+ };
442
+ }
443
+ function flag(name, kind, description, valueName, apiName = kebabToSnake(name)) {
444
+ return {
445
+ name,
446
+ apiName,
447
+ kind,
448
+ valueName,
449
+ description
450
+ };
451
+ }
452
+ function kebabToSnake(value) {
453
+ return value.replaceAll('-', '_');
454
+ }
455
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export type QueryValue = string | number;
2
+ export type QueryParams = Record<string, QueryValue>;
3
+ export interface PageEnvelope {
4
+ readonly data?: unknown;
5
+ readonly pagination?: {
6
+ readonly limit?: number;
7
+ readonly offset?: number;
8
+ readonly has_more?: boolean;
9
+ readonly next_offset?: number | null;
10
+ };
11
+ }
12
+ export interface AllPagesEnvelope {
13
+ readonly data: readonly unknown[];
14
+ readonly pagination: {
15
+ readonly limit: number | null;
16
+ readonly offset: number;
17
+ readonly has_more: false;
18
+ readonly next_offset: null;
19
+ readonly total_retrieved: number;
20
+ readonly pages: number;
21
+ };
22
+ }
23
+ export declare class ApiRequestError extends Error {
24
+ readonly code: string;
25
+ readonly status?: number;
26
+ readonly details?: unknown;
27
+ readonly rateLimit?: Record<string, string>;
28
+ constructor(input: {
29
+ code: string;
30
+ message: string;
31
+ status?: number;
32
+ details?: unknown;
33
+ rateLimit?: Record<string, string>;
34
+ });
35
+ }
36
+ export declare class DisclosureApiClient {
37
+ readonly baseUrl: string;
38
+ private readonly apiKey;
39
+ constructor(env?: NodeJS.ProcessEnv);
40
+ getJson(path: string, query: QueryParams, authRequired: boolean): Promise<unknown>;
41
+ getAllPages(path: string, query: QueryParams, authRequired: boolean): Promise<AllPagesEnvelope>;
42
+ }