openplanter 0.2.4 → 0.2.6

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # OpenPlanter
2
2
 
3
- A recursive-language-model investigation agent with CLI, TUI investigation tools. Designed to be imported as a module into other Node.js/TypeScript projects or used standalone via the CLI.
3
+ A recursive-language-model investigation agent with a rich CLI/TUI, 86 built-in tools spanning financial forensics, blockchain analysis, prediction markets, regulatory filings, and social intelligence. Designed to be imported as a module into Node.js/TypeScript projects or used standalone via the CLI.
4
4
 
5
5
  ## Installation
6
6
 
@@ -30,7 +30,7 @@ npx openplanter-agent --task "Analyse recent director trades for BHP" --workspac
30
30
  ```typescript
31
31
  import { buildEngine, agentConfigFromEnv } from "openplanter";
32
32
 
33
- const config = agentConfigFromEnv();
33
+ const config = agentConfigFromEnv("./workspace");
34
34
  const engine = await buildEngine(config);
35
35
  ```
36
36
 
@@ -62,13 +62,35 @@ import {
62
62
  bulkAsxAnnouncements,
63
63
  hotcopperScraper,
64
64
  multiForumScraper,
65
+ polymarketMarkets,
66
+ predictionMarkets,
67
+ duneAnalytics,
68
+ blockchainScanner,
69
+ dexscreenerPairs,
70
+ walletClusterer,
71
+ secTools,
72
+ politicalFinance,
73
+ globalRegistries,
74
+ governmentRecords,
75
+ socialIntelligence,
76
+ advancedAnalytics,
77
+ documentProcessing,
78
+ investigationAutomation,
79
+ monitoringTools,
80
+ cryptoEcosystem,
65
81
  } from "openplanter/investigation-tools";
66
82
 
67
83
  // Fetch price data from Yahoo Finance
68
84
  const ohlcv = await priceFetcher.fetchOhlcv(["BHP", "RIO"], "3mo", "1d");
69
85
 
70
86
  // Scan for volume/price anomalies
71
- const anomalies = await volumeScanner.scanTickers(["BHP"], { lookbackDays: 60 });
87
+ const anomalies = await volumeScanner.scanTickers(["BHP"], 60);
88
+
89
+ // Fetch all ASX tickers and their 4C calendar data
90
+ const calendar = await asxCalendarFetcher.fetchCalendar({ tickers: "all", period: "next_90d" });
91
+
92
+ // Fetch calendar for specific tickers
93
+ const bhpCalendar = await asxCalendarFetcher.fetchCalendar({ tickers: "BHP,RIO,WES", period: "Q1_2026" });
72
94
 
73
95
  // Resolve entities across datasets
74
96
  const resolved = entityResolver.modeResolve(entities, 80);
@@ -89,6 +111,7 @@ Or import individual tools directly:
89
111
  ```typescript
90
112
  import { fetchOhlcv, computeMetrics } from "openplanter/investigation-tools/price-fetcher";
91
113
  import { scrapeHotcopper } from "openplanter/investigation-tools/hotcopper-scraper";
114
+ import { fetchAllAsxTickers, fetchCalendar } from "openplanter/investigation-tools/asx-calendar-fetcher";
92
115
  ```
93
116
 
94
117
  ## Supported Providers
@@ -99,14 +122,17 @@ import { scrapeHotcopper } from "openplanter/investigation-tools/hotcopper-scrap
99
122
  | Anthropic | `claude-opus-4-6` | `ANTHROPIC_API_KEY` |
100
123
  | OpenRouter | `anthropic/claude-sonnet-4-5` | `OPENROUTER_API_KEY` |
101
124
  | Cerebras | `qwen-3-235b-a22b-instruct-2507` | `CEREBRAS_API_KEY` |
125
+ | Grok (xAI) | `grok-4-1-fast-reasoning` | `XAI_API_KEY` / `GROK_API_KEY` |
102
126
 
103
127
  Additional service keys: `EXA_API_KEY` (web search), `VOYAGE_API_KEY` (embeddings).
104
128
 
105
- All keys can also be set with an `OPENPLANTER_` prefix, via `.env` files, or via CLI flags.
129
+ All keys can also be set with an `OPENPLANTER_` prefix (e.g. `OPENPLANTER_OPENAI_API_KEY`), via `.env` files, or via CLI flags.
106
130
 
107
131
  ## Agent Tools
108
132
 
109
- The agent has access to 19 tools organized around its investigation workflow:
133
+ The agent has access to 86 tools organized into core workspace operations and domain-specific investigation modules.
134
+
135
+ ### Core Tools (19)
110
136
 
111
137
  - **Workspace** -- `list_files`, `search_files`, `repo_map`, `read_file`, `write_file`, `edit_file`, `hashline_edit`, `apply_patch`
112
138
  - **Shell** -- `run_shell`, `run_shell_bg`, `check_shell_bg`, `kill_shell_bg`
@@ -115,6 +141,138 @@ The agent has access to 19 tools organized around its investigation workflow:
115
141
 
116
142
  In recursive mode (the default), the agent spawns sub-agents via `subtask` and `execute`.
117
143
 
144
+ ### Australian Market Tools (13)
145
+
146
+ | Tool | Description |
147
+ |------|-------------|
148
+ | `aph_holdings` | Scrape APH politician holdings disclosures |
149
+ | `asx_parser` | Parse ASX announcements (Appendix 3Y, 4C, trading halts) |
150
+ | `asx_calendar_fetcher` | Fetch ASX Appendix 4C quarterly reporting calendar (supports `all` tickers via ASX company directory) |
151
+ | `bulk_asx_announcements` | Bulk-fetch ASX announcements (3Y, 4C, 3B) for multiple tickers |
152
+ | `asic_officer_lookup` | Query ASIC/ABR for company officers and directors by ABN or ticker |
153
+ | `entity_resolver` | Fuzzy entity matching and resolution across Australian datasets |
154
+ | `hotcopper_scraper` | Scrape HotCopper stock forum for ticker sentiment and rumors |
155
+ | `multi_forum_scraper` | Aggregate sentiment from HotCopper and other forums |
156
+ | `insider_graph` | Build and analyse entity-event relationship graphs |
157
+ | `insider_suspicion_scorer` | Composite insider-trading suspicion scoring |
158
+ | `price_fetcher` | Yahoo Finance OHLCV data and technical metrics |
159
+ | `timeline_linker` | Correlate trades with announcements on a timeline |
160
+ | `volume_scanner` | Detect unusual volume and price anomalies |
161
+
162
+ ### Prediction Markets (9)
163
+
164
+ | Tool | Description |
165
+ |------|-------------|
166
+ | `polymarket_markets_fetcher` | Fetch active Polymarket markets |
167
+ | `polymarket_leaderboard` | Polymarket leaderboard data |
168
+ | `polymarket_whales` | Track Polymarket whale positions |
169
+ | `polymarket_trades_history` | Historical Polymarket trade data |
170
+ | `polymarket_resolutions` | Polymarket market resolutions |
171
+ | `polymarket_anomaly_scanner` | Detect anomalies in Polymarket activity |
172
+ | `kalshi_markets` | Kalshi prediction market data |
173
+ | `predictit_markets` | PredictIt market data |
174
+ | `manifold_markets` | Manifold Markets data |
175
+
176
+ ### Blockchain & Crypto (8)
177
+
178
+ | Tool | Description |
179
+ |------|-------------|
180
+ | `dune_query_executor` | Execute Dune Analytics queries |
181
+ | `dune_polymarket` | Dune queries for Polymarket on-chain data |
182
+ | `dune_tx_timings` | Analyse transaction timing patterns |
183
+ | `polygonscan_wallet` | Polygon wallet transaction data |
184
+ | `etherscan_wallet` | Ethereum wallet transaction data |
185
+ | `blockchain_tx_tracer` | Trace blockchain transaction flows |
186
+ | `dexscreener_pairs` | DEXScreener token pair data |
187
+ | `wallet_clusterer` | Cluster related wallet addresses |
188
+
189
+ ### SEC & US Regulatory (3)
190
+
191
+ | Tool | Description |
192
+ |------|-------------|
193
+ | `sec_form4_parser` | Parse SEC Form 4 insider trading filings |
194
+ | `sec_edgar_filer` | Search SEC EDGAR filer database |
195
+ | `sec_whistleblower_awards` | SEC whistleblower award data |
196
+
197
+ ### Political Finance (4)
198
+
199
+ | Tool | Description |
200
+ |------|-------------|
201
+ | `fec_contributions` | FEC campaign contribution records |
202
+ | `opensecrets_lobbying` | OpenSecrets lobbying disclosure data |
203
+ | `congress_disclosures` | Congressional financial disclosures |
204
+ | `political_donation_tracker` | Cross-border political donation tracking |
205
+
206
+ ### Global Registries (3)
207
+
208
+ | Tool | Description |
209
+ |------|-------------|
210
+ | `opencorporates_lookup` | OpenCorporates company registry search |
211
+ | `ofac_sanctions_checker` | OFAC sanctions list screening |
212
+ | `beneficial_ownership_tracer` | Trace beneficial ownership chains |
213
+
214
+ ### Government Records (3)
215
+
216
+ | Tool | Description |
217
+ |------|-------------|
218
+ | `us_court_docket` | US court docket and case search |
219
+ | `federal_contracts` | Federal contract award records |
220
+ | `foia_request_builder` | Generate FOIA request templates |
221
+
222
+ ### Social Intelligence (6)
223
+
224
+ | Tool | Description |
225
+ |------|-------------|
226
+ | `twitter_market_mentions` | Track market-related Twitter/X mentions |
227
+ | `reddit_wsb_scanner` | Scan Reddit WallStreetBets and related subs |
228
+ | `discord_channel_scraper` | Scrape Discord channel messages |
229
+ | `telegram_channel_monitor` | Monitor Telegram channels |
230
+ | `news_sentiment_fetcher` | Fetch and score news article sentiment |
231
+ | `substack_scraper` | Scrape Substack newsletter content |
232
+
233
+ ### Advanced Analytics (4)
234
+
235
+ | Tool | Description |
236
+ |------|-------------|
237
+ | `anomaly_detector_ts` | Time-series anomaly detection |
238
+ | `timeline_correlator` | Cross-dataset timeline correlation |
239
+ | `network_centrality_analyzer` | Graph centrality and influence analysis |
240
+ | `prediction_market_arbitrage` | Detect prediction market arbitrage opportunities |
241
+
242
+ ### Document Processing (3)
243
+
244
+ | Tool | Description |
245
+ |------|-------------|
246
+ | `pdf_filings_extractor` | Extract structured data from PDF filings |
247
+ | `document_similarity_scorer` | Score document similarity |
248
+ | `sentiment_analyzer` | General-purpose text sentiment analysis |
249
+
250
+ ### Investigation Automation (5)
251
+
252
+ | Tool | Description |
253
+ |------|-------------|
254
+ | `cross_reference_engine` | Cross-reference entities across multiple data sources |
255
+ | `insider_network_expander` | Expand insider networks via graph traversal |
256
+ | `compliance_risk_report` | Generate compliance risk assessment reports |
257
+ | `global_entity_resolver` | Resolve entities across international registries |
258
+ | `jurisdiction_risk_scorer` | Score jurisdictional risk for entities |
259
+
260
+ ### Monitoring (4)
261
+
262
+ | Tool | Description |
263
+ |------|-------------|
264
+ | `whale_alert_monitor` | Monitor large crypto/market transactions |
265
+ | `dark_pool_activity` | Track dark pool trading activity |
266
+ | `corporate_filings_monitor` | Monitor new corporate filings |
267
+ | `real_estate_records` | Property ownership record search |
268
+
269
+ ### Crypto Ecosystem (2)
270
+
271
+ | Tool | Description |
272
+ |------|-------------|
273
+ | `gitcoin_grants_parser` | Parse Gitcoin grant data |
274
+ | `evidence_graph_builder` | Build evidence graphs from investigation data |
275
+
118
276
  ## CLI Reference
119
277
 
120
278
  ```
@@ -123,76 +281,159 @@ openplanter-agent [options]
123
281
 
124
282
  | Flag | Description |
125
283
  |------|-------------|
126
- | `--workspace DIR` | Workspace root (default: `.`) |
127
- | `--provider NAME` | `auto`, `openai`, `anthropic`, `openrouter`, `cerebras` |
128
- | `--model NAME` | Model name or `newest` to auto-select |
129
- | `--task OBJECTIVE` | Run a single task and exit (headless) |
284
+ | `--workspace <dir>` | Workspace root directory (default: `.`) |
285
+ | `--model <name>` | Model name override |
286
+ | `--default-model <name>` | Persist workspace default model |
287
+ | `--default-model-openai <name>` | Persist default model for OpenAI provider |
288
+ | `--default-model-anthropic <name>` | Persist default model for Anthropic provider |
289
+ | `--default-model-openrouter <name>` | Persist default model for OpenRouter provider |
290
+ | `--default-model-cerebras <name>` | Persist default model for Cerebras provider |
291
+ | `--default-model-grok <name>` | Persist default model for Grok (xAI) provider |
292
+ | `--base-url <url>` | Provider base URL override |
293
+ | `--api-key <key>` | Legacy API key alias (maps to OpenAI) |
294
+ | `--openai-api-key <key>` | OpenAI API key override |
295
+ | `--anthropic-api-key <key>` | Anthropic API key override |
296
+ | `--openrouter-api-key <key>` | OpenRouter API key override |
297
+ | `--cerebras-api-key <key>` | Cerebras API key override |
298
+ | `--grok-api-key <key>` | Grok (xAI) API key override |
299
+ | `--exa-api-key <key>` | Exa API key override |
300
+ | `--voyage-api-key <key>` | Voyage API key override |
301
+ | `--configure-keys` | Interactive key configuration |
302
+ | `--task <objective>` | Run a single task and exit (headless) |
130
303
  | `--recursive` | Enable recursive sub-agent delegation |
131
- | `--max-depth N` | Maximum recursion depth (default: 4) |
132
- | `--max-steps N` | Maximum steps per call (default: 100) |
304
+ | `--max-depth <n>` | Maximum recursion depth (default: 4) |
305
+ | `--max-steps <n>` | Maximum steps per recursive call (default: 100) |
306
+ | `--timeout <n>` | Shell command timeout in seconds (default: 45) |
307
+ | `--headless` | Disable interactive UI/prompts (for CI) |
133
308
  | `--no-tui` | Plain REPL (no colors or spinner) |
134
- | `--headless` | Non-interactive mode (for CI) |
135
- | `--resume` | Resume the latest session |
136
- | `--configure-keys` | Interactive key configuration |
137
- | `--list-models` | Fetch available models |
138
- | `--show-settings` | Show workspace settings |
309
+ | `--session-id <id>` | Session id to use |
310
+ | `--resume` | Resume an existing session |
311
+ | `--list-sessions` | List known sessions and exit |
312
+ | `--list-models` | Fetch and list available provider models |
313
+ | `--acceptance-criteria` | Enable acceptance criteria judging |
314
+ | `--demo` | Censor entity names in output |
315
+ | `--show-settings` | Show persistent workspace defaults and exit |
139
316
 
140
317
  ## TUI Commands
141
318
 
142
319
  | Command | Action |
143
320
  |---------|--------|
144
- | `/model [NAME]` | Show or switch model |
145
- | `/reasoning LEVEL` | Change reasoning effort |
146
- | `/status` | Show session status and token usage |
321
+ | `/model` | Show current model, provider, and aliases |
322
+ | `/model <name>` | Switch model (e.g. `/model opus`, `/model gpt5`) |
323
+ | `/model <name> --save` | Switch model and persist as workspace default |
324
+ | `/model list [all]` | List available models |
325
+ | `/reasoning [low\|medium\|high\|off]` | Show or change reasoning effort |
326
+ | `/status` | Show session status, provider, and token usage |
147
327
  | `/clear` | Clear the screen |
148
- | `/quit` | Exit |
328
+ | `/quit` or `/exit` | Exit |
329
+ | `/help` | Show command help |
330
+
331
+ ### Model Aliases
332
+
333
+ | Alias | Model |
334
+ |-------|-------|
335
+ | `opus` / `opus4.6` | `claude-opus-4-6` |
336
+ | `sonnet` / `sonnet4.5` | `claude-sonnet-4-5-20250929` |
337
+ | `haiku` / `haiku4.5` | `claude-haiku-4-5-20251001` |
338
+ | `gpt5` / `gpt5.2` | `gpt-5.2` |
339
+ | `gpt4` / `gpt4.1` | `gpt-4.1` |
340
+ | `gpt4o` | `gpt-4o` |
341
+ | `o4` / `o4-mini` | `o4-mini` |
342
+ | `o3` / `o3-mini` | `o3-mini` |
343
+ | `cerebras` / `qwen235b` | `qwen-3-235b-a22b-instruct-2507` |
344
+ | `oss120b` | `gpt-oss-120b` |
345
+ | `grok` / `grok41fast` | `grok-4-1-fast-reasoning` |
346
+ | `grok3mini` | `grok-3-mini` |
347
+ | `grok4` | `grok-4-0709` |
348
+ | `grok4fast` | `grok-4-fast-reasoning` |
149
349
 
150
350
  ## Configuration
151
351
 
152
352
  Keys are resolved in priority order:
153
353
 
154
- 1. CLI flags
354
+ 1. CLI flags (`--openai-api-key`, `--anthropic-api-key`, etc.)
155
355
  2. Environment variables (`OPENAI_API_KEY` or `OPENPLANTER_OPENAI_API_KEY`)
156
356
  3. `.env` file in the workspace
157
357
  4. Workspace credential store (`.openplanter/credentials.json`)
158
358
  5. User credential store (`~/.openplanter/credentials.json`)
159
359
 
360
+ ### Environment Variables
361
+
362
+ All engine parameters can be configured via environment variables with the `OPENPLANTER_` prefix:
363
+
364
+ | Variable | Default | Description |
365
+ |----------|---------|-------------|
366
+ | `OPENPLANTER_PROVIDER` | `auto` | Provider selection |
367
+ | `OPENPLANTER_MODEL` | `claude-opus-4-6` | Model name |
368
+ | `OPENPLANTER_REASONING_EFFORT` | `high` | Reasoning effort level |
369
+ | `OPENPLANTER_MAX_DEPTH` | `4` | Maximum recursion depth |
370
+ | `OPENPLANTER_MAX_STEPS` | `100` | Maximum steps per call |
371
+ | `OPENPLANTER_CMD_TIMEOUT` | `45` | Shell command timeout (seconds) |
372
+ | `OPENPLANTER_RECURSIVE` | `true` | Enable recursive mode |
373
+ | `OPENPLANTER_DEMO` | `false` | Censor entity names |
374
+ | `OPENPLANTER_ABR_GUID` | _(none)_ | ABR API GUID for ASIC officer lookups (register at https://abr.business.gov.au) |
375
+ | `OPENPLANTER_MAX_OBS_CHARS` | `6000` | Max observation characters |
376
+ | `OPENPLANTER_MAX_FILES` | `400` | Max files listed |
377
+ | `OPENPLANTER_MAX_FILE_CHARS` | `20000` | Max file read characters |
378
+ | `OPENPLANTER_MAX_SEARCH_HITS` | `200` | Max search result hits |
379
+ | `OPENPLANTER_MAX_SHELL_CHARS` | `16000` | Max shell output characters |
380
+ | `OPENPLANTER_SESSION_DIR` | `.openplanter` | Session root directory |
381
+ | `OPENPLANTER_SHELL` | `/bin/sh` | Shell for command execution |
382
+
160
383
  ## Project Structure
161
384
 
162
385
  ```
163
386
  src/
164
- index.ts Library entry point
165
- cli.ts CLI entry point and REPL
166
- engine.ts Recursive language model engine
167
- runtime.ts Session persistence and lifecycle
168
- model.ts Provider-agnostic LLM abstraction
169
- builder.ts Engine/model factory
170
- tools.ts Workspace tool implementations
171
- tool-defs.ts Tool JSON schemas
172
- prompts.ts System prompt construction
173
- config.ts Configuration dataclass
174
- credentials.ts Credential management
175
- tui.ts Rich terminal UI
176
- demo.ts Demo mode (output censoring)
177
- patching.ts File patching utilities
178
- settings.ts Persistent settings
179
- replay-log.ts Replay logging
387
+ index.ts Library entry point
388
+ cli.ts CLI entry point and REPL
389
+ engine.ts Recursive language model engine
390
+ runtime.ts Session persistence and lifecycle
391
+ model.ts Provider-agnostic LLM abstraction
392
+ builder.ts Engine/model factory
393
+ tools.ts Workspace tool implementations
394
+ tool-defs.ts Tool JSON schemas (86 tools)
395
+ prompts.ts System prompt construction
396
+ config.ts Configuration and provider defaults
397
+ credentials.ts Credential management and discovery
398
+ tui.ts Rich terminal UI with slash commands
399
+ demo.ts Demo mode (output censoring)
400
+ patching.ts File patching utilities
401
+ settings.ts Persistent workspace settings
402
+ replay-log.ts Replay logging
180
403
  investigation-tools/
181
- index.ts Investigation tools barrel export
182
- shared.ts Shared utilities (HTTP, dates, sentiment, normalization)
183
- aph-holdings.ts APH politician holdings scraper
404
+ index.ts Barrel export for all investigation modules
405
+ shared.ts HTTP helpers, date parsing, sentiment, normalization
406
+ shared-crypto.ts Shared crypto/blockchain utilities
407
+ tool-registry.ts Investigation tool dispatch registry
408
+ aph-holdings.ts APH politician holdings scraper
184
409
  asic-officer-lookup.ts ASIC officer/director lookup
185
- asx-calendar-fetcher.ts ASX 4C calendar fetcher
186
- asx-parser.ts ASX announcement parser (3Y, 4C, halts)
410
+ asx-calendar-fetcher.ts ASX 4C calendar (supports all ~2,000 ASX tickers)
411
+ asx-parser.ts ASX announcement parser (3Y, 4C, halts)
187
412
  bulk-asx-announcements.ts Bulk ASX announcement fetcher
188
- entity-resolver.ts Fuzzy entity matching and resolution
189
- hotcopper-scraper.ts HotCopper forum scraper
190
- insider-graph.ts Entity-event graph analysis
413
+ entity-resolver.ts Fuzzy entity matching and resolution
414
+ hotcopper-scraper.ts HotCopper forum scraper
415
+ insider-graph.ts Entity-event graph analysis
191
416
  insider-suspicion-scorer.ts Composite suspicion scorer
192
- multi-forum-scraper.ts Multi-forum sentiment aggregator
193
- price-fetcher.ts Yahoo Finance OHLCV data and metrics
194
- timeline-linker.ts Trade-announcement timeline correlation
195
- volume-scanner.ts Volume/price anomaly scanner
417
+ multi-forum-scraper.ts Multi-forum sentiment aggregator
418
+ price-fetcher.ts Yahoo Finance OHLCV data and metrics
419
+ timeline-linker.ts Trade-announcement timeline correlation
420
+ volume-scanner.ts Volume/price anomaly scanner
421
+ polymarket-markets.ts Polymarket market data tools
422
+ prediction-markets.ts Kalshi, PredictIt, Manifold data
423
+ dune-analytics.ts Dune Analytics query tools
424
+ blockchain-scanner.ts Blockchain transaction tracing
425
+ dexscreener-pairs.ts DEXScreener token pair data
426
+ wallet-clusterer.ts Wallet address clustering
427
+ sec-tools.ts SEC EDGAR, Form 4, whistleblower tools
428
+ political-finance.ts FEC, OpenSecrets, Congress disclosures
429
+ global-registries.ts OpenCorporates, OFAC, beneficial ownership
430
+ government-records.ts Court dockets, federal contracts, FOIA
431
+ social-intelligence.ts Twitter, Reddit, Discord, Telegram, news
432
+ advanced-analytics.ts Anomaly detection, centrality, arbitrage
433
+ document-processing.ts PDF extraction, similarity, sentiment
434
+ investigation-automation.ts Cross-reference, network expansion, compliance
435
+ monitoring-tools.ts Whale alerts, dark pools, filings, real estate
436
+ crypto-ecosystem.ts Gitcoin grants, evidence graph builder
196
437
  ```
197
438
 
198
439
  ## Development
@@ -202,7 +443,7 @@ npm install
202
443
  npm run build # Compile TypeScript
203
444
  npm run lint # Type-check without emitting
204
445
  npm run dev # Run CLI via tsx (development)
205
- npm test # Run tests
446
+ npm test # Run tests (vitest)
206
447
  ```
207
448
 
208
449
  ## License
@@ -4,11 +4,13 @@
4
4
  *
5
5
  * Data sources:
6
6
  * - ASIC Connect Registry Search:
7
- * https://connectonline.asic.gov.au/RegistrySearch/faces/landing/SearchRegisters.jspx
7
+ * https://asicconnect.asic.gov.au/public/
8
+ * (fallback: https://connectonline.asic.gov.au/RegistrySearch/)
8
9
  * - Australian Business Register (ABR) JSON API:
9
- * https://abr.business.gov.au/json/AbnDetails.aspx?abn=XXX&callback=callback
10
- * - ASX Company Info API:
11
- * https://www.asx.com.au/asx/1/company/{ticker}
10
+ * https://abr.business.gov.au/json/AbnDetails.aspx?abn=XXX&guid=YYY&callback=callback
11
+ * Requires ABR_GUID env var — register at https://abr.business.gov.au
12
+ * - ASX Markit Digital Company Header API:
13
+ * https://asx.api.markitdigital.com/asx-research/1.0/companies/{ticker}/header
12
14
  */
13
15
  export interface AsxCompanyInfo {
14
16
  name_full?: string;
@@ -23,6 +25,7 @@ export interface AbrData {
23
25
  BusinessName?: Array<string | {
24
26
  Value?: string;
25
27
  }>;
28
+ Message?: string;
26
29
  [key: string]: unknown;
27
30
  }
28
31
  export interface OfficerRecord {
@@ -1 +1 @@
1
- {"version":3,"file":"asic-officer-lookup.d.ts","sourceRoot":"","sources":["../../src/investigation-tools/asic-officer-lookup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA6BH,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAsB,GAC5B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAShC;AAID,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,MAAsB,GAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAsBzB;AAID,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAsB,GAC5B,OAAO,CAAC,aAAa,EAAE,CAAC,CAgE1B;AAID,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,MAA4B,GACvC,OAAO,CAAC,aAAa,EAAE,CAAC,CA0F1B"}
1
+ {"version":3,"file":"asic-officer-lookup.d.ts","sourceRoot":"","sources":["../../src/investigation-tools/asic-officer-lookup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAgCH,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAwBD,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAsB,GAC5B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAsBhC;AAYD,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,MAAsB,GAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAsCzB;AAuBD,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAsB,GAC5B,OAAO,CAAC,aAAa,EAAE,CAAC,CA6E1B;AAID,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,MAA4B,GACvC,OAAO,CAAC,aAAa,EAAE,CAAC,CA0F1B"}
@@ -4,18 +4,22 @@
4
4
  *
5
5
  * Data sources:
6
6
  * - ASIC Connect Registry Search:
7
- * https://connectonline.asic.gov.au/RegistrySearch/faces/landing/SearchRegisters.jspx
7
+ * https://asicconnect.asic.gov.au/public/
8
+ * (fallback: https://connectonline.asic.gov.au/RegistrySearch/)
8
9
  * - Australian Business Register (ABR) JSON API:
9
- * https://abr.business.gov.au/json/AbnDetails.aspx?abn=XXX&callback=callback
10
- * - ASX Company Info API:
11
- * https://www.asx.com.au/asx/1/company/{ticker}
10
+ * https://abr.business.gov.au/json/AbnDetails.aspx?abn=XXX&guid=YYY&callback=callback
11
+ * Requires ABR_GUID env var — register at https://abr.business.gov.au
12
+ * - ASX Markit Digital Company Header API:
13
+ * https://asx.api.markitdigital.com/asx-research/1.0/companies/{ticker}/header
12
14
  */
13
- import { fetchHtml, fetchWithDelay, fetchJson, cleanAbn, formatAbn, sleep, } from "./shared.js";
15
+ import { fetchHtml, fetchWithDelay, fetchJson, cleanAbn, formatAbn, sleep, DEFAULT_USER_AGENT, } from "./shared.js";
14
16
  // ── Constants ────────────────────────────────────────────────────
15
- const ASIC_SEARCH_URL = "https://connectonline.asic.gov.au/RegistrySearch/faces/landing/" +
16
- "SearchRegisters.jspx";
17
+ const ASIC_SEARCH_URLS = [
18
+ "https://asicconnect.asic.gov.au/public/",
19
+ "https://connectonline.asic.gov.au/RegistrySearch/faces/landing/SearchRegisters.jspx",
20
+ ];
17
21
  const ABR_API_URL = "https://abr.business.gov.au/json/AbnDetails.aspx";
18
- const ASX_COMPANY_URL = "https://www.asx.com.au/asx/1/company/{ticker}";
22
+ const ASX_MARKIT_HEADER_URL = "https://asx.api.markitdigital.com/asx-research/1.0/companies/{ticker}/header";
19
23
  const DEFAULT_MAX_RESULTS = 20;
20
24
  const DEFAULT_DELAY = 1.0;
21
25
  // ── Helpers ──────────────────────────────────────────────────────
@@ -23,11 +27,24 @@ function isAbnInput(value) {
23
27
  const digits = value.replace(/\D/g, "");
24
28
  return digits.length === 11;
25
29
  }
26
- // ── ASX company info lookup ──────────────────────────────────────
27
30
  export async function resolveTicker(ticker, delay = DEFAULT_DELAY) {
28
- const url = ASX_COMPANY_URL.replace("{ticker}", ticker.toUpperCase());
31
+ const url = ASX_MARKIT_HEADER_URL.replace("{ticker}", ticker.toUpperCase());
29
32
  try {
30
- return await fetchJson(url, { delay });
33
+ const resp = await fetchJson(url, {
34
+ delay,
35
+ userAgent: DEFAULT_USER_AGENT,
36
+ });
37
+ const d = resp.data;
38
+ if (!d)
39
+ return null;
40
+ return {
41
+ name_full: d.displayName ?? undefined,
42
+ name_short: d.symbol ?? undefined,
43
+ industry_group_name: d.industryGroup ?? d.sector ?? undefined,
44
+ listing_date: d.dateListed ?? undefined,
45
+ market_cap: d.marketCap,
46
+ security_type: d.securityType,
47
+ };
31
48
  }
32
49
  catch (err) {
33
50
  const msg = err instanceof Error ? err.message : String(err);
@@ -36,21 +53,39 @@ export async function resolveTicker(ticker, delay = DEFAULT_DELAY) {
36
53
  }
37
54
  }
38
55
  // ── ABR API lookup ───────────────────────────────────────────────
56
+ function getAbrGuid() {
57
+ return (process.env["OPENPLANTER_ABR_GUID"] ??
58
+ process.env["ABR_GUID"] ??
59
+ null);
60
+ }
39
61
  export async function queryAbr(abn, delay = DEFAULT_DELAY) {
62
+ const guid = getAbrGuid();
63
+ if (!guid) {
64
+ console.error("[WARN] ABR lookup skipped: no ABR_GUID configured. " +
65
+ "Register at https://abr.business.gov.au to obtain a GUID, " +
66
+ "then set ABR_GUID or OPENPLANTER_ABR_GUID env var.");
67
+ return null;
68
+ }
40
69
  const clean = cleanAbn(abn);
41
- const url = `${ABR_API_URL}?abn=${clean}&callback=callback`;
70
+ const url = `${ABR_API_URL}?abn=${clean}&guid=${encodeURIComponent(guid)}&callback=callback`;
42
71
  try {
43
72
  const resp = await fetchWithDelay(url, { delay });
44
73
  if (!resp.ok) {
45
74
  throw new Error(`HTTP ${resp.status}`);
46
75
  }
47
76
  const text = (await resp.text()).trim();
48
- // Strip JSONP wrapper: callback({...})
49
77
  const match = text.match(/^callback\((.+)\)\s*$/s);
50
- if (match) {
51
- return JSON.parse(match[1]);
78
+ if (!match)
79
+ return null;
80
+ const data = JSON.parse(match[1]);
81
+ if (data.Message && !data.Abn) {
82
+ console.error(`[WARN] ABR API error for ABN ${clean}: ${data.Message}`);
83
+ return null;
52
84
  }
53
- return null;
85
+ if (!data.EntityName && !data.Abn) {
86
+ return null;
87
+ }
88
+ return data;
54
89
  }
55
90
  catch (err) {
56
91
  const msg = err instanceof Error ? err.message : String(err);
@@ -59,33 +94,58 @@ export async function queryAbr(abn, delay = DEFAULT_DELAY) {
59
94
  }
60
95
  }
61
96
  // ── ASIC Connect scraping (best-effort) ──────────────────────────
97
+ async function tryAsicUrl(url, delay) {
98
+ try {
99
+ const ch = await fetchHtml(url, { delay });
100
+ const title = ch("title").text().trim().toLowerCase();
101
+ if (title.includes("service availability") || title.includes("maintenance")) {
102
+ console.error(`[WARN] ASIC Connect at ${url} is showing a maintenance page.`);
103
+ return null;
104
+ }
105
+ return { ch, url };
106
+ }
107
+ catch {
108
+ return null;
109
+ }
110
+ }
62
111
  export async function queryAsic(_searchTerm, delay = DEFAULT_DELAY) {
63
112
  const officers = [];
64
113
  try {
65
- // Step 1: GET the landing page to obtain ViewState
66
- const ch = await fetchHtml(ASIC_SEARCH_URL, { delay });
114
+ let page = null;
115
+ for (const url of ASIC_SEARCH_URLS) {
116
+ page = await tryAsicUrl(url, delay);
117
+ if (page)
118
+ break;
119
+ }
120
+ if (!page) {
121
+ console.error("[WARN] ASIC Connect is unavailable (all endpoints returned " +
122
+ "maintenance pages). Officer scraping skipped.");
123
+ return officers;
124
+ }
125
+ const { ch, url: activeUrl } = page;
67
126
  const viewstateTag = ch('input[name="javax.faces.ViewState"]');
68
127
  if (!viewstateTag.length) {
69
- console.error("[WARN] ASIC Connect: could not locate ViewState falling back to ABR.");
128
+ console.error("[WARN] ASIC Connect: could not locate ViewState on " +
129
+ activeUrl + " – page structure may have changed.");
70
130
  return officers;
71
131
  }
72
132
  const viewstate = viewstateTag.attr("value") ?? "";
73
- // Step 2: POST a search form submission
74
- // ASIC Connect form IDs change frequently; this is best-effort.
75
133
  const formData = new URLSearchParams({
76
134
  "javax.faces.ViewState": viewstate,
77
135
  "javax.faces.partial.ajax": "true",
78
136
  });
79
137
  await sleep(delay * 1000);
80
- const searchResp = await fetch(ASIC_SEARCH_URL, {
138
+ const searchResp = await fetch(activeUrl, {
81
139
  method: "POST",
82
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
140
+ headers: {
141
+ "Content-Type": "application/x-www-form-urlencoded",
142
+ "User-Agent": DEFAULT_USER_AGENT,
143
+ },
83
144
  body: formData.toString(),
84
145
  });
85
146
  if (!searchResp.ok) {
86
147
  throw new Error(`HTTP ${searchResp.status}`);
87
148
  }
88
- // Step 3: Parse officer table from results
89
149
  const cheerio = await import("cheerio");
90
150
  const resultHtml = await searchResp.text();
91
151
  const result$ = cheerio.load(resultHtml);
@@ -1 +1 @@
1
- {"version":3,"file":"asic-officer-lookup.js","sourceRoot":"","sources":["../../src/investigation-tools/asic-officer-lookup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asic-officer-lookup.js","sourceRoot":"","sources":["../../src/investigation-tools/asic-officer-lookup.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export interface PeriodRange {
18
18
  end: Date;
19
19
  }
20
20
  export declare function parsePeriod(period: string): PeriodRange;
21
+ export declare function fetchAllAsxTickers(): Promise<string[]>;
21
22
  export declare function fetchCalendarLive(): Promise<CalendarEntry[]>;
22
23
  export declare function fetchCalendar(options?: {
23
24
  tickers?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"asx-calendar-fetcher.d.ts","sourceRoot":"","sources":["../../src/investigation-tools/asx-calendar-fetcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,QAAA,MAAM,cAAc,yFAOV,CAAC;AAiCX,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;CACX;AAwBD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAsCvD;AA6HD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAGlE;AAID,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA0C3B;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"asx-calendar-fetcher.d.ts","sourceRoot":"","sources":["../../src/investigation-tools/asx-calendar-fetcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,QAAA,MAAM,cAAc,yFAOV,CAAC;AAiCX,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;CACX;AAwBD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAsCvD;AA+ED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAuB5D;AAkDD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAQlE;AAID,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAqD3B;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -4,9 +4,10 @@
4
4
  * Fetches recent ASX quarterly activity / Appendix 4C announcements from
5
5
  * the ASX Markit Digital API and outputs structured data for downstream analysis.
6
6
  */
7
- import { fetchJson, normalizeTicker, isValidTicker, DEFAULT_USER_AGENT } from "./shared.js";
7
+ import { fetchJson, fetchWithDelay, normalizeTicker, isValidTicker, DEFAULT_USER_AGENT } from "./shared.js";
8
8
  // ── Constants ────────────────────────────────────────────────────
9
9
  const ASX_MARKIT_API = "https://asx.api.markitdigital.com/asx-research/1.0/companies/{ticker}/announcements";
10
+ const ASX_COMPANY_DIRECTORY_CSV = "https://www.asx.com.au/asx/research/ASXListedCompanies.csv";
10
11
  const OUTPUT_COLUMNS = [
11
12
  "ticker",
12
13
  "company_name",
@@ -132,6 +133,32 @@ function filterByPeriod(records, startDate, endDate) {
132
133
  return dueDt >= startDate && dueDt <= endDate;
133
134
  });
134
135
  }
136
+ // ── ASX Company Directory ────────────────────────────────────────
137
+ export async function fetchAllAsxTickers() {
138
+ const resp = await fetchWithDelay(ASX_COMPANY_DIRECTORY_CSV, {
139
+ delay: 0,
140
+ userAgent: DEFAULT_USER_AGENT,
141
+ });
142
+ if (!resp.ok) {
143
+ throw new Error(`HTTP ${resp.status} fetching ASX company directory`);
144
+ }
145
+ const text = await resp.text();
146
+ const lines = text.split("\n");
147
+ const tickers = [];
148
+ for (let i = 3; i < lines.length; i++) {
149
+ const line = lines[i].trim();
150
+ if (!line)
151
+ continue;
152
+ const match = line.match(/^"[^"]*","([^"]+)"/);
153
+ if (match) {
154
+ const ticker = match[1].trim();
155
+ if (isValidTicker(ticker)) {
156
+ tickers.push(ticker);
157
+ }
158
+ }
159
+ }
160
+ return tickers;
161
+ }
135
162
  // ── Live data fetching ───────────────────────────────────────────
136
163
  async function fetchTickerCalendar(ticker) {
137
164
  const clean = normalizeTicker(ticker);
@@ -175,8 +202,13 @@ async function fetchTickerCalendar(ticker) {
175
202
  }
176
203
  }
177
204
  export async function fetchCalendarLive() {
178
- console.warn("[warn] fetchCalendarLive() requires explicit tickers with the Markit Digital API. Use fetchCalendar({ tickers }) instead.");
179
- return [];
205
+ const tickers = await fetchAllAsxTickers();
206
+ const allRecords = [];
207
+ for (const ticker of tickers) {
208
+ const records = await fetchTickerCalendar(ticker);
209
+ allRecords.push(...records);
210
+ }
211
+ return allRecords;
180
212
  }
181
213
  // ── Main entry point ─────────────────────────────────────────────
182
214
  export async function fetchCalendar(options) {
@@ -203,8 +235,19 @@ export async function fetchCalendar(options) {
203
235
  records = allRecords;
204
236
  }
205
237
  else {
206
- console.warn("[warn] asx_calendar_fetcher requires specific tickers. Pass tickers='BHP,RIO,...' instead of 'all'.");
207
- return [];
238
+ console.log("[info] Fetching ASX company directory for all tickers...");
239
+ const allTickers = await fetchAllAsxTickers();
240
+ console.log(`[info] Found ${allTickers.length} ASX-listed tickers. Fetching calendar data...`);
241
+ const allRecords = [];
242
+ for (let i = 0; i < allTickers.length; i++) {
243
+ const tickerRecords = await fetchTickerCalendar(allTickers[i]);
244
+ allRecords.push(...tickerRecords);
245
+ if ((i + 1) % 100 === 0) {
246
+ console.log(`[info] Progress: ${i + 1}/${allTickers.length} tickers processed (${allRecords.length} records so far)`);
247
+ }
248
+ }
249
+ records = allRecords;
250
+ console.log(`[info] Done. ${records.length} calendar records from ${allTickers.length} tickers.`);
208
251
  }
209
252
  }
210
253
  if (!records.length)
@@ -1 +1 @@
1
- {"version":3,"file":"asx-calendar-fetcher.js","sourceRoot":"","sources":["../../src/investigation-tools/asx-calendar-fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asx-calendar-fetcher.js","sourceRoot":"","sources":["../../src/investigation-tools/asx-calendar-fetcher.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openplanter",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "A recursive-language-model investigation agent with CLI, TUI investigation tools.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",