@timmeck/brain-core 2.15.0 → 2.17.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/api/server.js +10 -0
- package/dist/api/server.js.map +1 -1
- package/dist/codegen/code-generator.d.ts +42 -0
- package/dist/codegen/code-generator.js +225 -0
- package/dist/codegen/code-generator.js.map +1 -0
- package/dist/codegen/code-miner.d.ts +45 -0
- package/dist/codegen/code-miner.js +243 -0
- package/dist/codegen/code-miner.js.map +1 -0
- package/dist/codegen/context-builder.d.ts +15 -0
- package/dist/codegen/context-builder.js +137 -0
- package/dist/codegen/context-builder.js.map +1 -0
- package/dist/codegen/index.d.ts +5 -0
- package/dist/codegen/index.js +5 -0
- package/dist/codegen/index.js.map +1 -0
- package/dist/codegen/pattern-extractor.d.ts +25 -0
- package/dist/codegen/pattern-extractor.js +222 -0
- package/dist/codegen/pattern-extractor.js.map +1 -0
- package/dist/codegen/types.d.ts +127 -0
- package/dist/codegen/types.js +3 -0
- package/dist/codegen/types.js.map +1 -0
- package/dist/consciousness/consciousness-server.js +10 -0
- package/dist/consciousness/consciousness-server.js.map +1 -1
- package/dist/index.d.ts +12 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/http-server.js +10 -0
- package/dist/mcp/http-server.js.map +1 -1
- package/dist/prediction/types.d.ts +1 -1
- package/dist/research/adapters/index.d.ts +1 -0
- package/dist/research/adapters/index.js +1 -0
- package/dist/research/adapters/index.js.map +1 -1
- package/dist/research/adapters/scanner-adapter.d.ts +14 -0
- package/dist/research/adapters/scanner-adapter.js +209 -0
- package/dist/research/adapters/scanner-adapter.js.map +1 -0
- package/dist/research/data-miner.d.ts +3 -1
- package/dist/research/data-miner.js +79 -69
- package/dist/research/data-miner.js.map +1 -1
- package/dist/research/research-orchestrator.d.ts +13 -1
- package/dist/research/research-orchestrator.js +78 -2
- package/dist/research/research-orchestrator.js.map +1 -1
- package/dist/scanner/crypto-collector.d.ts +17 -0
- package/dist/scanner/crypto-collector.js +89 -0
- package/dist/scanner/crypto-collector.js.map +1 -0
- package/dist/scanner/github-collector.d.ts +22 -0
- package/dist/scanner/github-collector.js +104 -0
- package/dist/scanner/github-collector.js.map +1 -0
- package/dist/scanner/hn-collector.d.ts +17 -0
- package/dist/scanner/hn-collector.js +58 -0
- package/dist/scanner/hn-collector.js.map +1 -0
- package/dist/scanner/index.d.ts +6 -0
- package/dist/scanner/index.js +6 -0
- package/dist/scanner/index.js.map +1 -0
- package/dist/scanner/signal-scanner.d.ts +83 -0
- package/dist/scanner/signal-scanner.js +859 -0
- package/dist/scanner/signal-scanner.js.map +1 -0
- package/dist/scanner/signal-scorer.d.ts +31 -0
- package/dist/scanner/signal-scorer.js +205 -0
- package/dist/scanner/signal-scorer.js.map +1 -0
- package/dist/scanner/types.d.ts +170 -0
- package/dist/scanner/types.js +3 -0
- package/dist/scanner/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hn-collector.js","sourceRoot":"","sources":["../../src/scanner/hn-collector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;AAExB;;;GAGG;AACH,MAAM,OAAO,WAAW;IACd,OAAO,GAAG,KAAK,CAAC;IAExB,KAAK,KAAW,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IACtC,KAAK,KAAW,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;IAEvC,0DAA0D;IAC1D,KAAK,CAAC,gBAAgB;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,gGAAgG,SAAS,kBAAkB,CAAC;QACxI,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,UAAU,CAAC,YAAoB;QACnC,MAAM,GAAG,GAAG,8CAA8C,kBAAkB,CAAC,YAAY,CAAC,4BAA4B,CAAC;QACvH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,cAAc,CAAC,SAAmB;QACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM;YACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,2BAA2B;YAC3B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,GAAW;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;gBACtC,OAAO,EAAE,EAAE,YAAY,EAAE,yBAAyB,EAAE;gBACpD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;aACvD,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,GAAG,CAAC,KAAK,CAAC,gCAAgC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC1E,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAoB,CAAC;YAChD,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,yBAA0B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { SignalScanner, runScannerMigration } from './signal-scanner.js';
|
|
2
|
+
export { GitHubCollector } from './github-collector.js';
|
|
3
|
+
export { HnCollector } from './hn-collector.js';
|
|
4
|
+
export { CryptoCollector } from './crypto-collector.js';
|
|
5
|
+
export { scoreRepo, classifyLevel, classifyWithHysteresis, classifyPhase, scoreCrypto } from './signal-scorer.js';
|
|
6
|
+
export type { ScannerConfig, ScannedRepo, DailyStats, HnMention, CryptoToken, ScanResult, ScannerStatus, SignalLevel, RepoPhase, ScoreBreakdown, GitHubSearchResult, GitHubRepo, HnSearchResult, HnHit, CoinGeckoMarket, CoinGeckoTrending, } from './types.js';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { SignalScanner, runScannerMigration } from './signal-scanner.js';
|
|
2
|
+
export { GitHubCollector } from './github-collector.js';
|
|
3
|
+
export { HnCollector } from './hn-collector.js';
|
|
4
|
+
export { CryptoCollector } from './crypto-collector.js';
|
|
5
|
+
export { scoreRepo, classifyLevel, classifyWithHysteresis, classifyPhase, scoreCrypto } from './signal-scorer.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,sBAAsB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import Database from 'better-sqlite3';
|
|
2
|
+
import type { ScannerConfig, ScanResult, ScannerStatus, ScannedRepo, SignalLevel, HnMention, CryptoToken, DailyStats } from './types.js';
|
|
3
|
+
export declare function runScannerMigration(db: Database.Database): void;
|
|
4
|
+
export declare class SignalScanner {
|
|
5
|
+
private db;
|
|
6
|
+
private config;
|
|
7
|
+
private github;
|
|
8
|
+
private hn;
|
|
9
|
+
private crypto;
|
|
10
|
+
private timer;
|
|
11
|
+
private scanning;
|
|
12
|
+
private lastResult;
|
|
13
|
+
constructor(db: Database.Database, config: Partial<ScannerConfig> & {
|
|
14
|
+
githubToken?: string;
|
|
15
|
+
});
|
|
16
|
+
/** Start periodic scanning. */
|
|
17
|
+
start(): void;
|
|
18
|
+
/** Stop periodic scanning. */
|
|
19
|
+
stop(): void;
|
|
20
|
+
/** Abort currently running scan. */
|
|
21
|
+
abortScan(): void;
|
|
22
|
+
/** Run a full scan pipeline. */
|
|
23
|
+
scan(): Promise<ScanResult>;
|
|
24
|
+
getStatus(): ScannerStatus;
|
|
25
|
+
getSignals(level: SignalLevel, limit?: number): ScannedRepo[];
|
|
26
|
+
getTrending(limit?: number): ScannedRepo[];
|
|
27
|
+
searchRepos(query: string, language?: string, limit?: number): ScannedRepo[];
|
|
28
|
+
getRepo(githubId: number): (ScannedRepo & {
|
|
29
|
+
daily_stats: DailyStats[];
|
|
30
|
+
}) | null;
|
|
31
|
+
getHnMentions(limit?: number): HnMention[];
|
|
32
|
+
getCryptoTokens(limit?: number): CryptoToken[];
|
|
33
|
+
getCryptoTrending(): CryptoToken[];
|
|
34
|
+
getStats(): Record<string, unknown>;
|
|
35
|
+
getConfig(): ScannerConfig;
|
|
36
|
+
updateConfig(updates: Partial<ScannerConfig>): ScannerConfig;
|
|
37
|
+
/** Upsert a GitHub repo. Returns true if new. */
|
|
38
|
+
private upsertRepo;
|
|
39
|
+
/** Record daily stats (UPSERT). */
|
|
40
|
+
private recordDailyStats;
|
|
41
|
+
/** Calculate velocity for all active repos from daily_stats. */
|
|
42
|
+
private calculateVelocities;
|
|
43
|
+
/** Process HN mentions and link to repos. */
|
|
44
|
+
private processHnMentions;
|
|
45
|
+
/** Score all active repos. */
|
|
46
|
+
private scoreAllRepos;
|
|
47
|
+
/** Classify all repos with hysteresis. Returns new breakout/signal counts. */
|
|
48
|
+
private classifyAll;
|
|
49
|
+
private getPhase;
|
|
50
|
+
/** Scan crypto tokens. */
|
|
51
|
+
private scanCrypto;
|
|
52
|
+
private upsertCrypto;
|
|
53
|
+
/**
|
|
54
|
+
* Import repos from the reposignal.dev API into scanned_repos.
|
|
55
|
+
* Fetches all signals from the live API and upserts them.
|
|
56
|
+
*/
|
|
57
|
+
importFromApi(apiUrl?: string, options?: {
|
|
58
|
+
limit?: number;
|
|
59
|
+
level?: string;
|
|
60
|
+
adminKey?: string;
|
|
61
|
+
}): Promise<{
|
|
62
|
+
repos: number;
|
|
63
|
+
skipped: number;
|
|
64
|
+
duration_ms: number;
|
|
65
|
+
}>;
|
|
66
|
+
/**
|
|
67
|
+
* Import repos from a reposignal/aisurvival SQLite database directly into scanned_repos.
|
|
68
|
+
* Copies: repositories → scanned_repos, repo_daily_stats → repo_daily_stats,
|
|
69
|
+
* hn_mentions → hn_mentions, crypto_tokens → crypto_tokens.
|
|
70
|
+
*/
|
|
71
|
+
importFromReposignal(dbPath: string, options?: {
|
|
72
|
+
minLevel?: string;
|
|
73
|
+
}): {
|
|
74
|
+
repos: number;
|
|
75
|
+
dailyStats: number;
|
|
76
|
+
hnMentions: number;
|
|
77
|
+
crypto: number;
|
|
78
|
+
skipped: number;
|
|
79
|
+
duration_ms: number;
|
|
80
|
+
};
|
|
81
|
+
private saveState;
|
|
82
|
+
private loadLastResult;
|
|
83
|
+
}
|