@invinite-org/invinite-data-cli 0.7.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 "<topic>" --mode hybrid --event-id <event_id>` (`earnings_call_search`; `--mode literal` for an exact figure or term)
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 "<topic>" --mode hybrid -i <TICKER>` (`earnings_document_search`); a `coverage.completeness` of `partial` / `unknown` means no hits is not proof the topic is absent
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,7 +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`: `hybrid` for natural-language questions, `lexical` (the default) for words and phrases, `literal` for exact strings such as `FY2027` or `10b5-1` (case-sensitive; `--case-sensitive false` ignores case), `semantic` for meaning only. Every mode costs 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
+ - `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`.
132
132
  - Media signed URLs expire after 15 minutes; `--output` on the download commands saves the file.
133
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.
134
134
 
@@ -238,7 +238,7 @@ invd earnings prosody --event-id cfbcf4f8-6d4d-41ef-9197-1c91ff2aef8c --json
238
238
  invd earnings qa --event-id cfbcf4f8-6d4d-41ef-9197-1c91ff2aef8c --json
239
239
 
240
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 semantic -i MSFT --json
241
+ invd earnings search -q "Azure growth" -m lexical -i MSFT --json
242
242
 
243
243
  # Live audio stream URL (optional: --event-id, --identifier, --year, --quarter, --date, --event-type)
244
244
  invd earnings stream --event-id cfbcf4f8-6d4d-41ef-9197-1c91ff2aef8c --json
@@ -633,7 +633,8 @@ Find the call, then read it from the cheapest source to the most detailed:
633
633
  invd earnings events -i NVDA -s desc -l 4 --json # pick the event_id
634
634
  invd earnings transcript --event-id <event_id> --format sections --json
635
635
  invd earnings extractions --event-id <event_id> --kind guidance --json
636
- invd earnings search -q "gross margin outlook" --mode hybrid --event-id <event_id> --json
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
637
638
  invd earnings document-search -q FY2027 -i NVDA --mode literal --json # exact token in the company's documents
638
639
  invd earnings price-attribution --event-id <event_id> --json # optional: price moves during the call
639
640
  ```
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "specVersion": "1.0.0",
3
- "specSha256": "9f4094202acf89ee7a89a522e9825beac9df8a364d2d4b0f59710dc05d986cc5",
3
+ "specSha256": "d632bccc5d4a587bdf30590211ef565f5503e2f50502a0fffa5a9fc2e8891717",
4
4
  "groups": [
5
5
  {
6
6
  "name": "company",
@@ -708,7 +708,7 @@
708
708
  "required": true,
709
709
  "type": "string",
710
710
  "example": "Azure growth",
711
- "description": "The keywords, exact text (mode=literal) or question (semantic / hybrid) to search for",
711
+ "description": "The keywords or phrases (mode=lexical) or exact text (mode=literal) to search for",
712
712
  "alias": "q"
713
713
  },
714
714
  {
@@ -718,13 +718,11 @@
718
718
  "type": "string",
719
719
  "enum": [
720
720
  "lexical",
721
- "literal",
722
- "semantic",
723
- "hybrid"
721
+ "literal"
724
722
  ],
725
723
  "default": "lexical",
726
- "example": "hybrid",
727
- "description": "lexical (keywords, default), literal (exact characters), semantic (meaning) or hybrid (lexical + semantic, fused)",
724
+ "example": "lexical",
725
+ "description": "lexical (keywords and phrases, default) or literal (exact characters)",
728
726
  "alias": "m"
729
727
  },
730
728
  {
@@ -1771,7 +1769,7 @@
1771
1769
  "required": true,
1772
1770
  "type": "string",
1773
1771
  "example": "Azure growth",
1774
- "description": "The keywords, exact text (mode=literal) or question (semantic / hybrid) to search for",
1772
+ "description": "The keywords or phrases (mode=lexical) or exact text (mode=literal) to search for",
1775
1773
  "alias": "q"
1776
1774
  },
1777
1775
  {
@@ -1781,13 +1779,11 @@
1781
1779
  "type": "string",
1782
1780
  "enum": [
1783
1781
  "lexical",
1784
- "literal",
1785
- "semantic",
1786
- "hybrid"
1782
+ "literal"
1787
1783
  ],
1788
1784
  "default": "lexical",
1789
- "example": "semantic",
1790
- "description": "lexical (keywords, default), literal (exact characters), semantic (meaning) or hybrid (lexical + semantic, fused)",
1785
+ "example": "lexical",
1786
+ "description": "lexical (keywords and phrases, default) or literal (exact characters)",
1791
1787
  "alias": "m"
1792
1788
  },
1793
1789
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invinite-org/invinite-data-cli",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "type": "module",
5
5
  "description": "CLI for the Invinite Data API",
6
6
  "publishConfig": {