@invinite-org/invinite-data-cli 0.6.0 → 0.8.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.
|
@@ -15,8 +15,8 @@ Analyze the earnings call requested in `$ARGUMENTS` using Invinite Data. Prefer
|
|
|
15
15
|
- Q&A: `invd earnings qa` (`earnings_call_qa`) and participants: `invd earnings participants` (`earnings_call_participants`)
|
|
16
16
|
- diff vs the prior call: `invd earnings diff` (`earnings_call_diff`)
|
|
17
17
|
- optional, price moves during the call: `invd earnings price-attribution` (`earnings_call_price_moves`) — minute returns next to what was being said; skip it on a `404 price_attribution_unavailable`
|
|
18
|
-
- only when a claim needs the exact wording: `invd earnings transcript` (`earnings_call_transcript`) or `invd earnings search -q "<
|
|
19
|
-
- when the call has documents (`has_documents`): `invd earnings documents` (`earnings_call_documents`) — CFO commentary, shareholder letter, data sheets; for context beyond the call (annual report, investor-day deck) `invd earnings document-search -q "<
|
|
18
|
+
- only when a claim needs the exact wording: `invd earnings transcript` (`earnings_call_transcript`) or `invd earnings search -q "<keywords>" --event-id <event_id>` (`earnings_call_search`; keywords, not a question: any word may match and the answer follows a matched analyst question) or `invd earnings search -q "<exact quote>" --mode literal --event-id <event_id>` for an exact figure, term or quote
|
|
19
|
+
- when the call has documents (`has_documents`): `invd earnings documents` (`earnings_call_documents`) — CFO commentary, shareholder letter, data sheets; for context beyond the call (annual report, investor-day deck) `invd earnings document-search -q "<keywords>" -i <TICKER>` (`earnings_document_search`; every word must match); a `coverage.completeness` of `partial` / `unknown` means no hits is not proof the topic is absent
|
|
20
20
|
3. **Summarise**:
|
|
21
21
|
- **Results vs guidance** — reported figures from the press release against the guidance given on the prior call (`invd earnings guidance-history -i <TICKER> --metric <metric>` for a metric's series).
|
|
22
22
|
- **Guidance changes** — each item raised, lowered, maintained, introduced or withdrawn (`direction`), with the period and basis (GAAP / non-GAAP).
|
|
@@ -128,6 +128,7 @@ Commands about one call take a selector: `--event-id <event_id>` (from `events`
|
|
|
128
128
|
- `earnings event --include observations` adds the date / time observations; `earnings participants --include evidence` the participation evidence.
|
|
129
129
|
- Every `*_ms` field is milliseconds from the call's start: cite it as `[m:ss]`. `qa_start_ms` is where the Q&A begins (null without one).
|
|
130
130
|
- Company documents and document-search hits are company-published material: quote them as "passages from company-published documents", never as verified facts, and cite each with its document title, year and page (`page`; open `url` at `#page=<page>`). A `webcast` row is link-only (`url` null, `source_url` = the replay page, `link_status`).
|
|
131
|
+
- `earnings search` and `earnings document-search` take `-m, --mode`: `lexical` (the default) matches words and quoted phrases (stemmed; `OR` and `-word` work), `literal` matches the exact characters such as `FY2027` or `10b5-1` (case-sensitive; `--case-sensitive false` for a case-insensitive match). Search with keywords, not a whole question: scoped to one call (`--event-id`) or one company (`-i`), `earnings search` needs any of the words and returns the management answer right after a matching analyst question (its `match.spans` may be empty); without a scope, and in `document-search`, every word must match. Both modes cost the same. In `--json` output read `coverage.completeness` before concluding anything from few or no hits: `partial` / `unknown` means the index does not cover the whole scope yet, so absence is not proof. `match.spans` are code-point offsets of the matched characters in `text`.
|
|
131
132
|
- Media signed URLs expire after 15 minutes; `--output` on the download commands saves the file.
|
|
132
133
|
- The live transcript (`ws listen --earnings`), audio, slides, the live stream and webhooks need the PRO plan (calendar, events and `live` need LITE, the other reads STANDARD); a `403` names the plan a route needs.
|
|
133
134
|
|
|
@@ -200,11 +201,11 @@ invd earnings calendar --json
|
|
|
200
201
|
# Call-over-call diff (optional: --event-id, --identifier, --year, --quarter, --date, --event-type, --vs)
|
|
201
202
|
invd earnings diff --event-id cfbcf4f8-6d4d-41ef-9197-1c91ff2aef8c --json
|
|
202
203
|
|
|
203
|
-
# Search investor documents (optional: --identifier, --kind, --section, --year, --table, --limit)
|
|
204
|
+
# Search investor documents (optional: --mode, --case-sensitive, --identifier, --kind, --section, --year, --table, --limit)
|
|
204
205
|
invd earnings document-search -q "Azure growth" -i MSFT --json
|
|
205
206
|
|
|
206
207
|
# Earnings call by ID (optional: --include)
|
|
207
|
-
invd earnings event --event-id
|
|
208
|
+
invd earnings event --event-id 9655a5db-8968-40be-8c79-7cd1a8aed8e9 --json
|
|
208
209
|
|
|
209
210
|
# Event history of a company (optional: --from, --to, --include, --event-type, --sort, --limit, --offset, --all)
|
|
210
211
|
invd earnings events -i MSFT --json
|
|
@@ -236,8 +237,8 @@ invd earnings prosody --event-id cfbcf4f8-6d4d-41ef-9197-1c91ff2aef8c --json
|
|
|
236
237
|
# Earnings call Q&A (optional: --event-id, --identifier, --year, --quarter, --date, --event-type, --limit, --offset, --include, --all)
|
|
237
238
|
invd earnings qa --event-id cfbcf4f8-6d4d-41ef-9197-1c91ff2aef8c --json
|
|
238
239
|
|
|
239
|
-
# Search earnings calls (optional: --event-id, --identifier, --from, --to, --type, --event-type, --limit)
|
|
240
|
-
invd earnings search -q "Azure growth" -i MSFT --json
|
|
240
|
+
# Search earnings calls (optional: --mode, --case-sensitive, --event-id, --identifier, --from, --to, --type, --event-type, --limit)
|
|
241
|
+
invd earnings search -q "Azure growth" -m lexical -i MSFT --json
|
|
241
242
|
|
|
242
243
|
# Live audio stream URL (optional: --event-id, --identifier, --year, --quarter, --date, --event-type)
|
|
243
244
|
invd earnings stream --event-id cfbcf4f8-6d4d-41ef-9197-1c91ff2aef8c --json
|
|
@@ -633,6 +634,8 @@ invd earnings events -i NVDA -s desc -l 4 --json # pick the event_id
|
|
|
633
634
|
invd earnings transcript --event-id <event_id> --format sections --json
|
|
634
635
|
invd earnings extractions --event-id <event_id> --kind guidance --json
|
|
635
636
|
invd earnings search -q "gross margin outlook" --event-id <event_id> --json
|
|
637
|
+
invd earnings search -q "data center revenue" --mode literal --event-id <event_id> --json # exact quote in the call
|
|
638
|
+
invd earnings document-search -q FY2027 -i NVDA --mode literal --json # exact token in the company's documents
|
|
636
639
|
invd earnings price-attribution --event-id <event_id> --json # optional: price moves during the call
|
|
637
640
|
```
|
|
638
641
|
`price-attribution` (MCP `earnings_call_price_moves`, STANDARD, 1 credit) lines up minute returns with what was said in that minute: temporal coincidence, not attribution of cause; pre-market bars are sparse, and a `404 price_attribution_unavailable` means the call is not attributed yet.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"specVersion": "1.0.0",
|
|
3
|
-
"specSha256": "
|
|
3
|
+
"specSha256": "d632bccc5d4a587bdf30590211ef565f5503e2f50502a0fffa5a9fc2e8891717",
|
|
4
4
|
"groups": [
|
|
5
5
|
{
|
|
6
6
|
"name": "company",
|
|
@@ -708,9 +708,35 @@
|
|
|
708
708
|
"required": true,
|
|
709
709
|
"type": "string",
|
|
710
710
|
"example": "Azure growth",
|
|
711
|
-
"description": "The
|
|
711
|
+
"description": "The keywords or phrases (mode=lexical) or exact text (mode=literal) to search for",
|
|
712
712
|
"alias": "q"
|
|
713
713
|
},
|
|
714
|
+
{
|
|
715
|
+
"name": "mode",
|
|
716
|
+
"in": "query",
|
|
717
|
+
"required": false,
|
|
718
|
+
"type": "string",
|
|
719
|
+
"enum": [
|
|
720
|
+
"lexical",
|
|
721
|
+
"literal"
|
|
722
|
+
],
|
|
723
|
+
"default": "lexical",
|
|
724
|
+
"example": "lexical",
|
|
725
|
+
"description": "lexical (keywords and phrases, default) or literal (exact characters)",
|
|
726
|
+
"alias": "m"
|
|
727
|
+
},
|
|
728
|
+
{
|
|
729
|
+
"name": "case_sensitive",
|
|
730
|
+
"in": "query",
|
|
731
|
+
"required": false,
|
|
732
|
+
"type": "string",
|
|
733
|
+
"enum": [
|
|
734
|
+
"true",
|
|
735
|
+
"false"
|
|
736
|
+
],
|
|
737
|
+
"example": "false",
|
|
738
|
+
"description": "mode=literal only: \"false\" matches regardless of case (default \"true\": case-sensitive)"
|
|
739
|
+
},
|
|
714
740
|
{
|
|
715
741
|
"name": "identifier",
|
|
716
742
|
"in": "query",
|
|
@@ -780,6 +806,7 @@
|
|
|
780
806
|
"rowsPath": "hits",
|
|
781
807
|
"columns": [
|
|
782
808
|
"score",
|
|
809
|
+
"match.type",
|
|
783
810
|
"kind",
|
|
784
811
|
"year",
|
|
785
812
|
"group",
|
|
@@ -819,7 +846,7 @@
|
|
|
819
846
|
"in": "path",
|
|
820
847
|
"required": true,
|
|
821
848
|
"type": "string",
|
|
822
|
-
"example": "
|
|
849
|
+
"example": "9655a5db-8968-40be-8c79-7cd1a8aed8e9",
|
|
823
850
|
"description": "Event identifier (event_id of any earnings-calls response)"
|
|
824
851
|
}
|
|
825
852
|
],
|
|
@@ -1742,9 +1769,35 @@
|
|
|
1742
1769
|
"required": true,
|
|
1743
1770
|
"type": "string",
|
|
1744
1771
|
"example": "Azure growth",
|
|
1745
|
-
"description": "The
|
|
1772
|
+
"description": "The keywords or phrases (mode=lexical) or exact text (mode=literal) to search for",
|
|
1746
1773
|
"alias": "q"
|
|
1747
1774
|
},
|
|
1775
|
+
{
|
|
1776
|
+
"name": "mode",
|
|
1777
|
+
"in": "query",
|
|
1778
|
+
"required": false,
|
|
1779
|
+
"type": "string",
|
|
1780
|
+
"enum": [
|
|
1781
|
+
"lexical",
|
|
1782
|
+
"literal"
|
|
1783
|
+
],
|
|
1784
|
+
"default": "lexical",
|
|
1785
|
+
"example": "lexical",
|
|
1786
|
+
"description": "lexical (keywords and phrases, default) or literal (exact characters)",
|
|
1787
|
+
"alias": "m"
|
|
1788
|
+
},
|
|
1789
|
+
{
|
|
1790
|
+
"name": "case_sensitive",
|
|
1791
|
+
"in": "query",
|
|
1792
|
+
"required": false,
|
|
1793
|
+
"type": "string",
|
|
1794
|
+
"enum": [
|
|
1795
|
+
"true",
|
|
1796
|
+
"false"
|
|
1797
|
+
],
|
|
1798
|
+
"example": "false",
|
|
1799
|
+
"description": "mode=literal only: \"false\" matches regardless of case (default \"true\": case-sensitive)"
|
|
1800
|
+
},
|
|
1748
1801
|
{
|
|
1749
1802
|
"name": "event_id",
|
|
1750
1803
|
"in": "query",
|
|
@@ -1813,12 +1866,14 @@
|
|
|
1813
1866
|
}
|
|
1814
1867
|
],
|
|
1815
1868
|
"exampleParams": [
|
|
1816
|
-
"identifier"
|
|
1869
|
+
"identifier",
|
|
1870
|
+
"mode"
|
|
1817
1871
|
],
|
|
1818
1872
|
"view": "table",
|
|
1819
1873
|
"rowsPath": "hits",
|
|
1820
1874
|
"columns": [
|
|
1821
1875
|
"score",
|
|
1876
|
+
"match.type",
|
|
1822
1877
|
"type",
|
|
1823
1878
|
"symbol",
|
|
1824
1879
|
"conference_date",
|