openplanter 0.2.9 → 0.3.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.
- package/dist/investigation-tools/asx-options-flow.d.ts +75 -0
- package/dist/investigation-tools/asx-options-flow.d.ts.map +1 -0
- package/dist/investigation-tools/asx-options-flow.js +272 -0
- package/dist/investigation-tools/asx-options-flow.js.map +1 -0
- package/dist/investigation-tools/glassdoor-asx-analyzer.d.ts +55 -0
- package/dist/investigation-tools/glassdoor-asx-analyzer.d.ts.map +1 -0
- package/dist/investigation-tools/glassdoor-asx-analyzer.js +244 -0
- package/dist/investigation-tools/glassdoor-asx-analyzer.js.map +1 -0
- package/dist/investigation-tools/index.d.ts +7 -0
- package/dist/investigation-tools/index.d.ts.map +1 -1
- package/dist/investigation-tools/index.js +7 -0
- package/dist/investigation-tools/index.js.map +1 -1
- package/dist/investigation-tools/ip-australia-patent-scraper.d.ts +51 -0
- package/dist/investigation-tools/ip-australia-patent-scraper.d.ts.map +1 -0
- package/dist/investigation-tools/ip-australia-patent-scraper.js +303 -0
- package/dist/investigation-tools/ip-australia-patent-scraper.js.map +1 -0
- package/dist/investigation-tools/linkedin-asx-employee-scraper.d.ts +49 -0
- package/dist/investigation-tools/linkedin-asx-employee-scraper.d.ts.map +1 -0
- package/dist/investigation-tools/linkedin-asx-employee-scraper.js +250 -0
- package/dist/investigation-tools/linkedin-asx-employee-scraper.js.map +1 -0
- package/dist/investigation-tools/state-mp-holdings-scraper.d.ts +49 -0
- package/dist/investigation-tools/state-mp-holdings-scraper.d.ts.map +1 -0
- package/dist/investigation-tools/state-mp-holdings-scraper.js +286 -0
- package/dist/investigation-tools/state-mp-holdings-scraper.js.map +1 -0
- package/dist/investigation-tools/stocktwits-asx-scraper.d.ts +61 -0
- package/dist/investigation-tools/stocktwits-asx-scraper.d.ts.map +1 -0
- package/dist/investigation-tools/stocktwits-asx-scraper.js +246 -0
- package/dist/investigation-tools/stocktwits-asx-scraper.js.map +1 -0
- package/dist/investigation-tools/tenders-gov-au-scraper.d.ts +39 -0
- package/dist/investigation-tools/tenders-gov-au-scraper.d.ts.map +1 -0
- package/dist/investigation-tools/tenders-gov-au-scraper.js +173 -0
- package/dist/investigation-tools/tenders-gov-au-scraper.js.map +1 -0
- package/dist/investigation-tools/tool-registry.d.ts.map +1 -1
- package/dist/investigation-tools/tool-registry.js +77 -0
- package/dist/investigation-tools/tool-registry.js.map +1 -1
- package/dist/tool-defs.d.ts.map +1 -1
- package/dist/tool-defs.js +220 -0
- package/dist/tool-defs.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* glassdoor-asx-analyzer.ts -- Glassdoor ASX Company Review Analyzer
|
|
3
|
+
*
|
|
4
|
+
* Analyzes Glassdoor reviews for ASX-listed companies to detect
|
|
5
|
+
* sentiment spikes and morale shifts that may precede material news.
|
|
6
|
+
*
|
|
7
|
+
* Uses Google-indexed Glassdoor pages as Glassdoor blocks direct scraping.
|
|
8
|
+
* In live mode, searches for recent reviews via search engine indexing.
|
|
9
|
+
*
|
|
10
|
+
* DISCLAIMER:
|
|
11
|
+
* This tool is provided for research and educational purposes only.
|
|
12
|
+
* Users are solely responsible for ensuring compliance with all applicable
|
|
13
|
+
* laws, regulations, and website terms before using this tool.
|
|
14
|
+
* Glassdoor's Terms of Service restrict automated scraping. This tool uses
|
|
15
|
+
* only publicly indexed data from search engines.
|
|
16
|
+
*/
|
|
17
|
+
import { fetchHtml, isoNow, normalizeTicker, } from "./shared.js";
|
|
18
|
+
// ── Constants ────────────────────────────────────────────────────
|
|
19
|
+
const MORALE_POSITIVE_KEYWORDS = [
|
|
20
|
+
"great place", "excellent", "good culture", "exciting",
|
|
21
|
+
"growing", "innovative", "strong leadership", "good benefits",
|
|
22
|
+
"work-life balance", "recommend", "supportive", "opportunities",
|
|
23
|
+
];
|
|
24
|
+
const MORALE_NEGATIVE_KEYWORDS = [
|
|
25
|
+
"toxic", "layoffs", "restructuring", "low morale", "poor management",
|
|
26
|
+
"leaving", "underpaid", "overworked", "no direction", "declining",
|
|
27
|
+
"cost cutting", "redundancies", "downsizing", "chaos", "turnover",
|
|
28
|
+
];
|
|
29
|
+
const PRE_NEWS_SIGNALS = [
|
|
30
|
+
"restructuring", "merger", "acquisition", "new CEO", "IPO",
|
|
31
|
+
"listing", "delisting", "takeover", "spin-off", "capital raise",
|
|
32
|
+
"downsizing", "expansion", "pivot", "new direction",
|
|
33
|
+
];
|
|
34
|
+
const GOOGLE_SEARCH_URL = "https://www.google.com/search?q=site:glassdoor.com.au+{company}+reviews&tbs=qdr:m3&num=20";
|
|
35
|
+
const DEFAULT_DELAY = 2.0;
|
|
36
|
+
// ── Ticker to company mapping ────────────────────────────────────
|
|
37
|
+
const TICKER_COMPANY_MAP = {
|
|
38
|
+
BHP: "BHP Group",
|
|
39
|
+
RIO: "Rio Tinto",
|
|
40
|
+
CBA: "Commonwealth Bank",
|
|
41
|
+
CSL: "CSL Limited",
|
|
42
|
+
NAB: "National Australia Bank",
|
|
43
|
+
WBC: "Westpac Banking",
|
|
44
|
+
ANZ: "ANZ Banking Group",
|
|
45
|
+
WES: "Wesfarmers",
|
|
46
|
+
WDS: "Woodside Energy",
|
|
47
|
+
FMG: "Fortescue",
|
|
48
|
+
STO: "Santos",
|
|
49
|
+
WOW: "Woolworths Group",
|
|
50
|
+
TLS: "Telstra",
|
|
51
|
+
QAN: "Qantas Airways",
|
|
52
|
+
XRO: "Xero",
|
|
53
|
+
MIN: "Mineral Resources",
|
|
54
|
+
S32: "South32",
|
|
55
|
+
AGL: "AGL Energy",
|
|
56
|
+
ORG: "Origin Energy",
|
|
57
|
+
REA: "REA Group",
|
|
58
|
+
SEK: "Seek",
|
|
59
|
+
};
|
|
60
|
+
function resolveCompany(ticker) {
|
|
61
|
+
return TICKER_COMPANY_MAP[ticker.toUpperCase()] ?? ticker;
|
|
62
|
+
}
|
|
63
|
+
// ── Helpers ──────────────────────────────────────────────────────
|
|
64
|
+
function computeMoraleSentiment(text) {
|
|
65
|
+
const lower = text.toLowerCase();
|
|
66
|
+
let score = 0;
|
|
67
|
+
for (const kw of MORALE_POSITIVE_KEYWORDS) {
|
|
68
|
+
if (lower.includes(kw))
|
|
69
|
+
score += 1;
|
|
70
|
+
}
|
|
71
|
+
for (const kw of MORALE_NEGATIVE_KEYWORDS) {
|
|
72
|
+
if (lower.includes(kw))
|
|
73
|
+
score -= 1;
|
|
74
|
+
}
|
|
75
|
+
return Math.max(-1, Math.min(1, score / 3));
|
|
76
|
+
}
|
|
77
|
+
function detectPreNewsSignals(text) {
|
|
78
|
+
const lower = text.toLowerCase();
|
|
79
|
+
return PRE_NEWS_SIGNALS.filter((sig) => lower.includes(sig));
|
|
80
|
+
}
|
|
81
|
+
// ── Scraper ──────────────────────────────────────────────────────
|
|
82
|
+
export async function analyzeGlassdoor(opts) {
|
|
83
|
+
const ticker = normalizeTicker(opts.ticker);
|
|
84
|
+
const company = resolveCompany(ticker);
|
|
85
|
+
const days = opts.days ?? 90;
|
|
86
|
+
const minReviews = opts.minReviews ?? 5;
|
|
87
|
+
const reviews = [];
|
|
88
|
+
try {
|
|
89
|
+
const searchUrl = GOOGLE_SEARCH_URL
|
|
90
|
+
.replace("{company}", encodeURIComponent(company));
|
|
91
|
+
const $ = await fetchHtml(searchUrl, { delay: DEFAULT_DELAY });
|
|
92
|
+
$("div.g, div[data-sokoban-container]").each((_i, result) => {
|
|
93
|
+
const titleEl = $(result).find("h3").first();
|
|
94
|
+
const snippetEl = $(result).find(".VwiC3b, .st, span[style]").first();
|
|
95
|
+
const linkEl = $(result).find("a").first();
|
|
96
|
+
const title = titleEl.text().trim();
|
|
97
|
+
const snippet = snippetEl.text().trim();
|
|
98
|
+
const url = linkEl.attr("href") ?? "";
|
|
99
|
+
if (!url.includes("glassdoor"))
|
|
100
|
+
return;
|
|
101
|
+
const combined = `${title} ${snippet}`;
|
|
102
|
+
const moraleScore = computeMoraleSentiment(combined);
|
|
103
|
+
const preNewsSignals = detectPreNewsSignals(combined);
|
|
104
|
+
// Extract rating from snippet if present (e.g., "3.5 stars", "Rating: 4.0")
|
|
105
|
+
const ratingMatch = snippet.match(/(\d\.\d)\s*(?:star|rating|\/5)/i);
|
|
106
|
+
const rating = ratingMatch ? parseFloat(ratingMatch[1]) : null;
|
|
107
|
+
// Extract date
|
|
108
|
+
const dateMatch = snippet.match(/(\d{1,2}\s+\w+\s+\d{4}|\w+\s+\d{1,2},\s+\d{4})/);
|
|
109
|
+
const date = dateMatch ? dateMatch[1] : "";
|
|
110
|
+
reviews.push({
|
|
111
|
+
date,
|
|
112
|
+
rating,
|
|
113
|
+
title,
|
|
114
|
+
pros: "",
|
|
115
|
+
cons: "",
|
|
116
|
+
sentiment_score: Math.round(moraleScore * 100) / 100,
|
|
117
|
+
sentiment_label: moraleScore > 0.2 ? "positive" : moraleScore < -0.2 ? "negative" : "neutral",
|
|
118
|
+
pre_news_signals: preNewsSignals,
|
|
119
|
+
url,
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
console.error(`[glassdoor_asx] Scrape error: ${err}`);
|
|
125
|
+
}
|
|
126
|
+
const avgSentiment = reviews.length > 0
|
|
127
|
+
? Math.round((reviews.reduce((s, r) => s + r.sentiment_score, 0) / reviews.length) * 100) / 100
|
|
128
|
+
: 0;
|
|
129
|
+
const ratedReviews = reviews.filter((r) => r.rating !== null);
|
|
130
|
+
const avgRating = ratedReviews.length > 0
|
|
131
|
+
? Math.round((ratedReviews.reduce((s, r) => s + (r.rating ?? 0), 0) / ratedReviews.length) * 10) / 10
|
|
132
|
+
: null;
|
|
133
|
+
const preNewsCount = reviews.filter((r) => r.pre_news_signals.length > 0).length;
|
|
134
|
+
const spikeDetected = Math.abs(avgSentiment) > 0.5 || preNewsCount >= 2;
|
|
135
|
+
const summary = reviews.length === 0
|
|
136
|
+
? `No Glassdoor reviews found for ${company} in the last ${days} days.`
|
|
137
|
+
: `Found ${reviews.length} reviews for ${company}. Average sentiment: ${avgSentiment.toFixed(2)}` +
|
|
138
|
+
(avgRating !== null ? `, average rating: ${avgRating}/5` : "") +
|
|
139
|
+
(spikeDetected ? ". ALERT: Sentiment spike or pre-news signals detected." : ".");
|
|
140
|
+
return {
|
|
141
|
+
scraped_at: isoNow(),
|
|
142
|
+
company,
|
|
143
|
+
ticker,
|
|
144
|
+
period_days: days,
|
|
145
|
+
total_reviews: reviews.length,
|
|
146
|
+
reviews,
|
|
147
|
+
morale_trends: [],
|
|
148
|
+
overall_sentiment: avgSentiment,
|
|
149
|
+
overall_rating: avgRating,
|
|
150
|
+
pre_news_signal_count: preNewsCount,
|
|
151
|
+
sentiment_spike_detected: spikeDetected,
|
|
152
|
+
summary,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
// ── Test/sample data ─────────────────────────────────────────────
|
|
156
|
+
export function sampleData(ticker) {
|
|
157
|
+
const t = normalizeTicker(ticker || "BHP");
|
|
158
|
+
const company = resolveCompany(t);
|
|
159
|
+
return {
|
|
160
|
+
scraped_at: isoNow(),
|
|
161
|
+
company,
|
|
162
|
+
ticker: t,
|
|
163
|
+
period_days: 90,
|
|
164
|
+
total_reviews: 6,
|
|
165
|
+
reviews: [
|
|
166
|
+
{
|
|
167
|
+
date: "2026-02-20",
|
|
168
|
+
rating: 4.5,
|
|
169
|
+
title: `Working at ${company} -- exciting times ahead`,
|
|
170
|
+
pros: "Great culture, strong leadership, exciting new projects in the pipeline",
|
|
171
|
+
cons: "Long hours during project ramp-ups",
|
|
172
|
+
sentiment_score: 0.67,
|
|
173
|
+
sentiment_label: "positive",
|
|
174
|
+
pre_news_signals: ["expansion"],
|
|
175
|
+
url: `https://www.glassdoor.com.au/Reviews/${company.replace(/\s/g, "-")}-Reviews-E12345.htm`,
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
date: "2026-02-15",
|
|
179
|
+
rating: 2.0,
|
|
180
|
+
title: "Major restructuring underway -- uncertainty",
|
|
181
|
+
pros: "Good base salary",
|
|
182
|
+
cons: "Restructuring causing chaos, many people leaving. Cost cutting everywhere.",
|
|
183
|
+
sentiment_score: -0.67,
|
|
184
|
+
sentiment_label: "negative",
|
|
185
|
+
pre_news_signals: ["restructuring", "cost cutting"],
|
|
186
|
+
url: `https://www.glassdoor.com.au/Reviews/${company.replace(/\s/g, "-")}-Reviews-E12345_P2.htm`,
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
date: "2026-02-08",
|
|
190
|
+
rating: 4.0,
|
|
191
|
+
title: "Good company with growth opportunities",
|
|
192
|
+
pros: "Innovative projects, supportive team, good benefits",
|
|
193
|
+
cons: "Can be slow to make decisions",
|
|
194
|
+
sentiment_score: 0.50,
|
|
195
|
+
sentiment_label: "positive",
|
|
196
|
+
pre_news_signals: [],
|
|
197
|
+
url: `https://www.glassdoor.com.au/Reviews/${company.replace(/\s/g, "-")}-Reviews-E12345_P3.htm`,
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
date: "2026-01-28",
|
|
201
|
+
rating: 3.5,
|
|
202
|
+
title: "Solid employer but change is coming",
|
|
203
|
+
pros: "Stable employment, good pay",
|
|
204
|
+
cons: "Hearing whispers about a potential acquisition target",
|
|
205
|
+
sentiment_score: 0.17,
|
|
206
|
+
sentiment_label: "neutral",
|
|
207
|
+
pre_news_signals: ["acquisition"],
|
|
208
|
+
url: `https://www.glassdoor.com.au/Reviews/${company.replace(/\s/g, "-")}-Reviews-E12345_P4.htm`,
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
date: "2026-01-15",
|
|
212
|
+
rating: 4.0,
|
|
213
|
+
title: "Recommend this company",
|
|
214
|
+
pros: "Work-life balance is excellent, recommend to anyone",
|
|
215
|
+
cons: "Pay could be higher",
|
|
216
|
+
sentiment_score: 0.50,
|
|
217
|
+
sentiment_label: "positive",
|
|
218
|
+
pre_news_signals: [],
|
|
219
|
+
url: `https://www.glassdoor.com.au/Reviews/${company.replace(/\s/g, "-")}-Reviews-E12345_P5.htm`,
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
date: "2026-01-05",
|
|
223
|
+
rating: 1.5,
|
|
224
|
+
title: "Getting worse -- layoffs coming",
|
|
225
|
+
pros: "Location is good",
|
|
226
|
+
cons: "Toxic management, downsizing expected, low morale across teams",
|
|
227
|
+
sentiment_score: -0.83,
|
|
228
|
+
sentiment_label: "negative",
|
|
229
|
+
pre_news_signals: ["downsizing"],
|
|
230
|
+
url: `https://www.glassdoor.com.au/Reviews/${company.replace(/\s/g, "-")}-Reviews-E12345_P6.htm`,
|
|
231
|
+
},
|
|
232
|
+
],
|
|
233
|
+
morale_trends: [
|
|
234
|
+
{ period: "2026-02", avg_rating: 3.5, avg_sentiment: 0.17, review_count: 3, trend_direction: "declining" },
|
|
235
|
+
{ period: "2026-01", avg_rating: 3.0, avg_sentiment: -0.05, review_count: 3, trend_direction: "declining" },
|
|
236
|
+
],
|
|
237
|
+
overall_sentiment: 0.06,
|
|
238
|
+
overall_rating: 3.25,
|
|
239
|
+
pre_news_signal_count: 3,
|
|
240
|
+
sentiment_spike_detected: true,
|
|
241
|
+
summary: `Found 6 reviews for ${company}. Average sentiment: 0.06, average rating: 3.25/5. ALERT: Sentiment spike or pre-news signals detected (restructuring, acquisition, downsizing).`,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=glassdoor-asx-analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glassdoor-asx-analyzer.js","sourceRoot":"","sources":["../../src/investigation-tools/glassdoor-asx-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,5 +34,12 @@ export * as listcorpScraper from "./listcorp-scraper.js";
|
|
|
34
34
|
export * as yahooFinanceAuScraper from "./yahoo-finance-au-scraper.js";
|
|
35
35
|
export * as seekingAlphaAsxScraper from "./seeking-alpha-asx-scraper.js";
|
|
36
36
|
export * as universalForumScraper from "./universal-forum-scraper.js";
|
|
37
|
+
export * as stateMpHoldingsScraper from "./state-mp-holdings-scraper.js";
|
|
38
|
+
export * as tendersGovAuScraper from "./tenders-gov-au-scraper.js";
|
|
39
|
+
export * as linkedinAsxEmployeeScraper from "./linkedin-asx-employee-scraper.js";
|
|
40
|
+
export * as glassdoorAsxAnalyzer from "./glassdoor-asx-analyzer.js";
|
|
41
|
+
export * as stocktwitsAsxScraper from "./stocktwits-asx-scraper.js";
|
|
42
|
+
export * as asxOptionsFlow from "./asx-options-flow.js";
|
|
43
|
+
export * as ipAustraliaPatentScraper from "./ip-australia-patent-scraper.js";
|
|
37
44
|
export { TS_TOOL_REGISTRY, TS_TOOL_NAMES, runTsTool } from "./tool-registry.js";
|
|
38
45
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/investigation-tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAGnD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,uBAAuB,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/investigation-tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAGnD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,uBAAuB,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,0BAA0B,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,wBAAwB,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -35,5 +35,12 @@ export * as listcorpScraper from "./listcorp-scraper.js";
|
|
|
35
35
|
export * as yahooFinanceAuScraper from "./yahoo-finance-au-scraper.js";
|
|
36
36
|
export * as seekingAlphaAsxScraper from "./seeking-alpha-asx-scraper.js";
|
|
37
37
|
export * as universalForumScraper from "./universal-forum-scraper.js";
|
|
38
|
+
export * as stateMpHoldingsScraper from "./state-mp-holdings-scraper.js";
|
|
39
|
+
export * as tendersGovAuScraper from "./tenders-gov-au-scraper.js";
|
|
40
|
+
export * as linkedinAsxEmployeeScraper from "./linkedin-asx-employee-scraper.js";
|
|
41
|
+
export * as glassdoorAsxAnalyzer from "./glassdoor-asx-analyzer.js";
|
|
42
|
+
export * as stocktwitsAsxScraper from "./stocktwits-asx-scraper.js";
|
|
43
|
+
export * as asxOptionsFlow from "./asx-options-flow.js";
|
|
44
|
+
export * as ipAustraliaPatentScraper from "./ip-australia-patent-scraper.js";
|
|
38
45
|
export { TS_TOOL_REGISTRY, TS_TOOL_NAMES, runTsTool } from "./tool-registry.js";
|
|
39
46
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/investigation-tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAEnD,0BAA0B;AAC1B,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,uBAAuB,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/investigation-tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAEnD,0BAA0B;AAC1B,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,uBAAuB,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,0BAA0B,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,wBAAwB,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ip-australia-patent-scraper.ts -- IP Australia Patent/Trademark Scraper
|
|
3
|
+
*
|
|
4
|
+
* Searches IP Australia's public database for recent patent and trademark
|
|
5
|
+
* filings by ASX-listed companies. Useful for detecting pre-tech
|
|
6
|
+
* announcement signals.
|
|
7
|
+
*
|
|
8
|
+
* Data sources:
|
|
9
|
+
* - IP Australia AusPat: https://pericles.ipaustralia.gov.au/ols/auspat/
|
|
10
|
+
* - IP Australia ATMOSS: https://search.ipaustralia.gov.au/trademarks/search/
|
|
11
|
+
*
|
|
12
|
+
* DISCLAIMER:
|
|
13
|
+
* This tool is provided for research and educational purposes only.
|
|
14
|
+
* Users are solely responsible for ensuring compliance with all applicable
|
|
15
|
+
* laws, regulations, and website terms before using this tool.
|
|
16
|
+
*/
|
|
17
|
+
export interface PatentFiling {
|
|
18
|
+
application_number: string;
|
|
19
|
+
title: string;
|
|
20
|
+
applicant: string;
|
|
21
|
+
filing_date: string;
|
|
22
|
+
status: string;
|
|
23
|
+
type: "patent" | "trademark" | "design";
|
|
24
|
+
classification: string;
|
|
25
|
+
abstract: string;
|
|
26
|
+
url: string;
|
|
27
|
+
}
|
|
28
|
+
export interface IpAustraliaResult {
|
|
29
|
+
scraped_at: string;
|
|
30
|
+
company: string;
|
|
31
|
+
ticker: string;
|
|
32
|
+
period_days: number;
|
|
33
|
+
status_filter: string;
|
|
34
|
+
total_filings: number;
|
|
35
|
+
patents: PatentFiling[];
|
|
36
|
+
trademarks: PatentFiling[];
|
|
37
|
+
summary: {
|
|
38
|
+
patent_count: number;
|
|
39
|
+
trademark_count: number;
|
|
40
|
+
recent_filings_30d: number;
|
|
41
|
+
technology_areas: string[];
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export declare function scrapeIpAustralia(opts: {
|
|
45
|
+
company?: string;
|
|
46
|
+
ticker?: string;
|
|
47
|
+
days?: number;
|
|
48
|
+
status?: string;
|
|
49
|
+
}): Promise<IpAustraliaResult>;
|
|
50
|
+
export declare function sampleData(tickerOrCompany: string): IpAustraliaResult;
|
|
51
|
+
//# sourceMappingURL=ip-australia-patent-scraper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ip-australia-patent-scraper.d.ts","sourceRoot":"","sources":["../../src/investigation-tools/ip-australia-patent-scraper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA0BH,MAAM,WAAW,YAAY;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;CACH;AAwKD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoD7B;AAID,wBAAgB,UAAU,CAAC,eAAe,EAAE,MAAM,GAAG,iBAAiB,CAiFrE"}
|