imperium-crawl 2.4.0 → 2.5.1

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.
Files changed (166) hide show
  1. package/README.md +86 -9
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +23 -3
  4. package/dist/cli.js.map +1 -1
  5. package/dist/constants.d.ts +1 -1
  6. package/dist/constants.d.ts.map +1 -1
  7. package/dist/constants.js +31 -1
  8. package/dist/constants.js.map +1 -1
  9. package/dist/flows/engine.d.ts +7 -0
  10. package/dist/flows/engine.d.ts.map +1 -0
  11. package/dist/flows/engine.js +183 -0
  12. package/dist/flows/engine.js.map +1 -0
  13. package/dist/flows/index.d.ts +6 -0
  14. package/dist/flows/index.d.ts.map +1 -0
  15. package/dist/flows/index.js +6 -0
  16. package/dist/flows/index.js.map +1 -0
  17. package/dist/flows/server.d.ts +11 -0
  18. package/dist/flows/server.d.ts.map +1 -0
  19. package/dist/flows/server.js +81 -0
  20. package/dist/flows/server.js.map +1 -0
  21. package/dist/flows/smart-target.d.ts +9 -0
  22. package/dist/flows/smart-target.d.ts.map +1 -0
  23. package/dist/flows/smart-target.js +84 -0
  24. package/dist/flows/smart-target.js.map +1 -0
  25. package/dist/flows/storage.d.ts +26 -0
  26. package/dist/flows/storage.d.ts.map +1 -0
  27. package/dist/flows/storage.js +118 -0
  28. package/dist/flows/storage.js.map +1 -0
  29. package/dist/flows/templates.d.ts +4 -0
  30. package/dist/flows/templates.d.ts.map +1 -0
  31. package/dist/flows/templates.js +35 -0
  32. package/dist/flows/templates.js.map +1 -0
  33. package/dist/flows/types.d.ts +3356 -0
  34. package/dist/flows/types.d.ts.map +1 -0
  35. package/dist/flows/types.js +133 -0
  36. package/dist/flows/types.js.map +1 -0
  37. package/dist/knowledge/store.d.ts +19 -0
  38. package/dist/knowledge/store.d.ts.map +1 -1
  39. package/dist/knowledge/store.js +63 -4
  40. package/dist/knowledge/store.js.map +1 -1
  41. package/dist/sessions/browser-connect.d.ts +30 -0
  42. package/dist/sessions/browser-connect.d.ts.map +1 -0
  43. package/dist/sessions/browser-connect.js +68 -0
  44. package/dist/sessions/browser-connect.js.map +1 -0
  45. package/dist/sessions/browser-state.d.ts +35 -0
  46. package/dist/sessions/browser-state.d.ts.map +1 -0
  47. package/dist/sessions/browser-state.js +74 -0
  48. package/dist/sessions/browser-state.js.map +1 -0
  49. package/dist/sessions/inject-cookies.d.ts +20 -0
  50. package/dist/sessions/inject-cookies.d.ts.map +1 -0
  51. package/dist/sessions/inject-cookies.js +57 -0
  52. package/dist/sessions/inject-cookies.js.map +1 -0
  53. package/dist/sessions/manager.d.ts +11 -1
  54. package/dist/sessions/manager.d.ts.map +1 -1
  55. package/dist/sessions/manager.js +40 -6
  56. package/dist/sessions/manager.js.map +1 -1
  57. package/dist/snapshot/store.d.ts +8 -0
  58. package/dist/snapshot/store.d.ts.map +1 -1
  59. package/dist/snapshot/store.js +48 -0
  60. package/dist/snapshot/store.js.map +1 -1
  61. package/dist/stealth/antibot-detector.d.ts +1 -1
  62. package/dist/stealth/antibot-detector.d.ts.map +1 -1
  63. package/dist/stealth/antibot-detector.js +56 -0
  64. package/dist/stealth/antibot-detector.js.map +1 -1
  65. package/dist/stealth/browser-image-extract.d.ts +43 -0
  66. package/dist/stealth/browser-image-extract.d.ts.map +1 -0
  67. package/dist/stealth/browser-image-extract.js +268 -0
  68. package/dist/stealth/browser-image-extract.js.map +1 -0
  69. package/dist/stealth/browser.d.ts +5 -0
  70. package/dist/stealth/browser.d.ts.map +1 -1
  71. package/dist/stealth/browser.js +82 -1
  72. package/dist/stealth/browser.js.map +1 -1
  73. package/dist/stealth/chrome-profile.d.ts +1 -0
  74. package/dist/stealth/chrome-profile.d.ts.map +1 -1
  75. package/dist/stealth/chrome-profile.js +28 -5
  76. package/dist/stealth/chrome-profile.js.map +1 -1
  77. package/dist/stealth/detector.d.ts +10 -1
  78. package/dist/stealth/detector.d.ts.map +1 -1
  79. package/dist/stealth/detector.js +117 -25
  80. package/dist/stealth/detector.js.map +1 -1
  81. package/dist/stealth/headers.d.ts +1 -1
  82. package/dist/stealth/headers.d.ts.map +1 -1
  83. package/dist/stealth/headers.js +94 -2
  84. package/dist/stealth/headers.js.map +1 -1
  85. package/dist/stealth/index.d.ts +4 -0
  86. package/dist/stealth/index.d.ts.map +1 -1
  87. package/dist/stealth/index.js +207 -25
  88. package/dist/stealth/index.js.map +1 -1
  89. package/dist/stealth/proxy.d.ts +40 -1
  90. package/dist/stealth/proxy.d.ts.map +1 -1
  91. package/dist/stealth/proxy.js +90 -6
  92. package/dist/stealth/proxy.js.map +1 -1
  93. package/dist/tools/action-executor.d.ts +2 -0
  94. package/dist/tools/action-executor.d.ts.map +1 -1
  95. package/dist/tools/action-executor.js +38 -0
  96. package/dist/tools/action-executor.js.map +1 -1
  97. package/dist/tools/batch-download.d.ts +33 -0
  98. package/dist/tools/batch-download.d.ts.map +1 -0
  99. package/dist/tools/batch-download.js +208 -0
  100. package/dist/tools/batch-download.js.map +1 -0
  101. package/dist/tools/browser.d.ts +100 -0
  102. package/dist/tools/browser.d.ts.map +1 -0
  103. package/dist/tools/browser.js +448 -0
  104. package/dist/tools/browser.js.map +1 -0
  105. package/dist/tools/download.d.ts +35 -2
  106. package/dist/tools/download.d.ts.map +1 -1
  107. package/dist/tools/download.js +245 -44
  108. package/dist/tools/download.js.map +1 -1
  109. package/dist/tools/index.d.ts.map +1 -1
  110. package/dist/tools/index.js +23 -0
  111. package/dist/tools/index.js.map +1 -1
  112. package/dist/tools/inspect-flow.d.ts +24 -0
  113. package/dist/tools/inspect-flow.d.ts.map +1 -0
  114. package/dist/tools/inspect-flow.js +23 -0
  115. package/dist/tools/inspect-flow.js.map +1 -0
  116. package/dist/tools/interact.d.ts +28 -15
  117. package/dist/tools/interact.d.ts.map +1 -1
  118. package/dist/tools/interact.js +48 -1
  119. package/dist/tools/interact.js.map +1 -1
  120. package/dist/tools/list-flows.d.ts +21 -0
  121. package/dist/tools/list-flows.d.ts.map +1 -0
  122. package/dist/tools/list-flows.js +18 -0
  123. package/dist/tools/list-flows.js.map +1 -0
  124. package/dist/tools/manifest.d.ts.map +1 -1
  125. package/dist/tools/manifest.js +43 -0
  126. package/dist/tools/manifest.js.map +1 -1
  127. package/dist/tools/monitor.d.ts +46 -0
  128. package/dist/tools/monitor.d.ts.map +1 -0
  129. package/dist/tools/monitor.js +213 -0
  130. package/dist/tools/monitor.js.map +1 -0
  131. package/dist/tools/pdf-extract.d.ts +38 -0
  132. package/dist/tools/pdf-extract.d.ts.map +1 -0
  133. package/dist/tools/pdf-extract.js +244 -0
  134. package/dist/tools/pdf-extract.js.map +1 -0
  135. package/dist/tools/record-flow.d.ts +39 -0
  136. package/dist/tools/record-flow.d.ts.map +1 -0
  137. package/dist/tools/record-flow.js +406 -0
  138. package/dist/tools/record-flow.js.map +1 -0
  139. package/dist/tools/run-flow.d.ts +54 -0
  140. package/dist/tools/run-flow.d.ts.map +1 -0
  141. package/dist/tools/run-flow.js +47 -0
  142. package/dist/tools/run-flow.js.map +1 -0
  143. package/dist/tools/run-skill.d.ts +2 -2
  144. package/dist/tools/run-skill.d.ts.map +1 -1
  145. package/dist/tools/run-skill.js +1 -0
  146. package/dist/tools/run-skill.js.map +1 -1
  147. package/dist/tools/scrape.d.ts.map +1 -1
  148. package/dist/tools/scrape.js +17 -1
  149. package/dist/tools/scrape.js.map +1 -1
  150. package/dist/tools/serve-flow.d.ts +36 -0
  151. package/dist/tools/serve-flow.d.ts.map +1 -0
  152. package/dist/tools/serve-flow.js +42 -0
  153. package/dist/tools/serve-flow.js.map +1 -0
  154. package/dist/tools/validate-flow.d.ts +24 -0
  155. package/dist/tools/validate-flow.d.ts.map +1 -0
  156. package/dist/tools/validate-flow.js +23 -0
  157. package/dist/tools/validate-flow.js.map +1 -0
  158. package/dist/tools/watch.d.ts +68 -0
  159. package/dist/tools/watch.d.ts.map +1 -0
  160. package/dist/tools/watch.js +224 -0
  161. package/dist/tools/watch.js.map +1 -0
  162. package/dist/utils/fetcher.d.ts +13 -4
  163. package/dist/utils/fetcher.d.ts.map +1 -1
  164. package/dist/utils/fetcher.js +121 -24
  165. package/dist/utils/fetcher.js.map +1 -1
  166. package/package.json +15 -4
package/README.md CHANGED
@@ -1,20 +1,34 @@
1
1
  <div align="center">
2
2
 
3
+ <img src="assets/hero-banner.png" alt="imperium-crawl — 3-level auto-escalating stealth engine" width="800" />
4
+
3
5
  # imperium-crawl
4
6
 
5
7
  **The most powerful open-source CLI tool for web scraping, crawling, and data extraction.**
6
8
 
7
- 29 tools. Zero API keys required. One `npx` command.
9
+ 39 tools. Zero API keys required. One `npx` command.
8
10
 
9
11
  [![npm version](https://img.shields.io/npm/v/imperium-crawl.svg)](https://www.npmjs.com/package/imperium-crawl)
10
12
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)
11
- [![Tests](https://img.shields.io/badge/tests-546%20passing-brightgreen.svg)]()
13
+ [![Tests](https://img.shields.io/badge/tests-580%20passing-brightgreen.svg)]()
12
14
  [![npm downloads](https://img.shields.io/npm/dm/imperium-crawl.svg)](https://www.npmjs.com/package/imperium-crawl)
13
15
 
14
16
  </div>
15
17
 
16
18
  ---
17
19
 
20
+ ## What's new in 2.5.0
21
+
22
+ Three new tools for document extraction and content monitoring — all zero-API-key, all native:
23
+
24
+ - **`pdf-extract`** — Pull text, pages, tables, and metadata from any PDF (local or remote) via `pdfjs-dist`. Ideal for regulatory docs, sustainability reports, invoices. Smoke-tested on a 98-page CBAM Guidance PDF (199K chars, confidence 0.99).
25
+ - **`watch`** — Hash-based one-shot change detector for a single URL. Cron-friendly. Fires a webhook on change.
26
+ - **`monitor`** — Multi-URL intelligence digest. Reads a JSON config grouping URLs by topic, emits a markdown digest filtered by minimum change percentage.
27
+
28
+ See [CHANGELOG.md](./CHANGELOG.md) for the full release notes.
29
+
30
+ ---
31
+
18
32
  ## Quick Start
19
33
 
20
34
  Get running in 30 seconds.
@@ -31,7 +45,13 @@ npx -y imperium-crawl scrape --url https://example.com
31
45
  npm install -g imperium-crawl
32
46
  ```
33
47
 
34
- > That's it. 23 of 29 tools work with zero API keys. Add optional keys later to unlock search, AI extraction, and CAPTCHA solving.
48
+ **Install from a local tarball** (e.g. pre-release testing):
49
+
50
+ ```bash
51
+ npm install -g ./imperium-crawl-2.5.0.tgz
52
+ ```
53
+
54
+ > That's it. 33 of 39 tools work with zero API keys. Add optional keys later to unlock search, AI extraction, and CAPTCHA solving.
35
55
 
36
56
  ---
37
57
 
@@ -107,7 +127,7 @@ Scraping 4 URLs (concurrency: 3)...
107
127
  ## Why imperium-crawl?
108
128
 
109
129
  🔓 **Zero API Keys Required**
110
- 23 of 29 tools work out of the box. No accounts, no tokens, no credit cards. Just `npx` and go.
130
+ 33 of 39 tools work out of the box. No accounts, no tokens, no credit cards. Just `npx` and go.
111
131
 
112
132
  🛡️ **3-Level Auto-Escalating Stealth**
113
133
  Headers → TLS fingerprinting → headless browser + CAPTCHA solving. Automatically escalates until it gets through.
@@ -115,7 +135,7 @@ Headers → TLS fingerprinting → headless browser + CAPTCHA solving. Automatic
115
135
  🧠 **Self-Improving**
116
136
  Adaptive learning engine remembers what works per domain. Second visit is 3x faster. The more you use it, the smarter it gets.
117
137
 
118
- 🧰 **29 Tools, 2 Modes**
138
+ 🧰 **33 Tools, 2 Modes**
119
139
  CLI tool or interactive TUI. Scraping, crawling, search, extraction, API discovery, WebSocket monitoring, browser automation, batch processing.
120
140
 
121
141
  📜 **14 Built-in Recipes**
@@ -131,7 +151,7 @@ Teach it once, run forever. Auto-detect patterns on any page, save as reusable s
131
151
  | Feature | **imperium-crawl** | Firecrawl | Crawl4AI | Browserbase | Puppeteer |
132
152
  |---------|:------------------:|:---------:|:--------:|:-----------:|:---------:|
133
153
  | Price | **Free forever** | $19+/month | Free | $0.01/min | Free |
134
- | Total tools | **29** | 5 | 2 | 4 | N/A |
154
+ | Total tools | **33** | 5 | 2 | 4 | N/A |
135
155
  | Stealth levels | **3 (auto-escalate)** | Cloud-based | 1 | Cloud-based | None |
136
156
  | Anti-bot detection | **7 systems** | Partial | Partial | Partial | None |
137
157
  | TLS fingerprinting | **JA3/JA4** | No | No | No | No |
@@ -224,7 +244,7 @@ Second visit to cloudflare.com:
224
244
 
225
245
  ---
226
246
 
227
- ## All 29 Tools
247
+ ## All 39 Tools
228
248
 
229
249
  ### 📄 Scraping (no API key needed)
230
250
 
@@ -305,6 +325,63 @@ Second visit to cloudflare.com:
305
325
  |------|-------------|
306
326
  | **knowledge** | Dump adaptive knowledge engine stats — per-domain success rates, optimal stealth levels, anti-bot detection history, rate limits. Use to debug scraping issues and understand problematic domains. |
307
327
 
328
+ ### 📄 Documents (no API key needed)
329
+
330
+ | Tool | What It Does |
331
+ |------|-------------|
332
+ | **pdf_extract** | Extract text, pages, tables, and metadata from a local or remote PDF. Native text-layer strategy via `pdfjs-dist`. OCR + Claude Vision fallbacks deferred to v2.6.0. Use for sustainability reports, invoices, regulatory PDFs. |
333
+
334
+ ```bash
335
+ imperium-crawl pdf-extract --input ./report.pdf --output ./extracted.json
336
+ imperium-crawl pdf-extract --input https://example.com/report.pdf --max-pages 20
337
+ ```
338
+
339
+ ### 👀 Change Tracking (no API key needed)
340
+
341
+ | Tool | What It Does |
342
+ |------|-------------|
343
+ | **watch** | One-shot change detector: scrape a URL, hash its content (readability / markdown / full), compare against the last snapshot, fire a webhook on change. Pair with cron for periodic monitoring. |
344
+ | **monitor** | Portfolio-level change tracker across many URLs grouped by topic. Reads a JSON config, runs `watch` on each URL, emits a markdown digest filtered by minimum change percentage. |
345
+
346
+ ```bash
347
+ # Watch a single URL — run periodically via cron
348
+ imperium-crawl watch --url https://carbonchain.com/pricing \
349
+ --output-dir ./data/watch \
350
+ --webhook https://hooks.example.com/on-change
351
+
352
+ # Monitor many URLs grouped by topic, emit a daily digest
353
+ imperium-crawl monitor --config ./monitor.json --output-dir ./data/monitor
354
+ ```
355
+
356
+ `monitor.json`:
357
+ ```json
358
+ {
359
+ "topics": [
360
+ {
361
+ "name": "Competitor pricing",
362
+ "urls": ["https://carbonchain.com/pricing", "https://spherasolutions.com/cbam"]
363
+ }
364
+ ]
365
+ }
366
+ ```
367
+
368
+ ### 🔁 Imperium Flows (no API key needed; browser workflows may require Playwright)
369
+
370
+ | Tool | What It Does |
371
+ |------|-------------|
372
+ | **record_flow** | Record a headed browser workflow as a generic flow family/variant. Stores smart selector metadata and reusable input placeholders. |
373
+ | **run_flow** | Run a saved flow with runtime JSON input, CAPTCHA policy, browser mode, and evidence collection. |
374
+ | **serve_flow** | Expose saved flows through a local HTTP API. Requires bearer auth when bound publicly. |
375
+ | **list_flows** | List project-local and global flow definitions. |
376
+ | **inspect_flow** | Inspect a saved flow JSON definition. |
377
+ | **validate_flow** | Validate a flow schema and report inputs, steps, and storage path. |
378
+
379
+ ```bash
380
+ imperium-crawl record-flow --family generic-search --variant site-a --url https://example.com
381
+ imperium-crawl run-flow generic-search/site-a --input '{"query":"example"}'
382
+ imperium-crawl serve-flow generic-search --port 8787
383
+ ```
384
+
308
385
  ---
309
386
 
310
387
  ## Setup
@@ -492,7 +569,7 @@ Turn any website into an API. No documentation needed.
492
569
 
493
570
  ## AI Agent Guide
494
571
 
495
- imperium-crawl ships with [`SKILL/`](./SKILL/) — a structured guide that teaches AI agents how to use all 29 tools effectively. Includes proven workflows, decision trees, error recovery, and advanced patterns.
572
+ imperium-crawl ships with [`SKILL/`](./SKILL/) — a structured guide that teaches AI agents how to use all 39 tools effectively. Includes proven workflows, decision trees, error recovery, and advanced patterns.
496
573
 
497
574
  ### Two Ways to Connect
498
575
 
@@ -560,7 +637,7 @@ Every tool tested against production websites with real anti-bot defenses:
560
637
  | 📥 **download** | YouTube video, web page images | Auto-detect URL type, download media files — images, video, og:image |
561
638
  | 📡 **rss** | Hacker News RSS | Parsed feed items with title, link, date, author, categories |
562
639
 
563
- > **29/29 tools. 34 hidden APIs on Airbnb. Live BTC feed. Zero API keys for scraping.**
640
+ > **39 tools. 34 hidden APIs on Airbnb. Live BTC feed. Reusable browser flows. Zero API keys for scraping.**
564
641
 
565
642
  ---
566
643
 
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAuU5C,wBAAsB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CA+DjD;AA2ED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAG5C"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AA6U5C,wBAAsB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAwEjD;AA2ED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAG5C"}
package/dist/cli.js CHANGED
@@ -216,6 +216,13 @@ function getRequestedCmd() {
216
216
  return null;
217
217
  return arg; // e.g., "scrape", "list-jobs", "setup"
218
218
  }
219
+ function positionalKeyForCmd(cmd) {
220
+ if (["run-flow", "inspect-flow", "validate-flow"].includes(cmd))
221
+ return "flow";
222
+ if (cmd === "serve-flow")
223
+ return "family";
224
+ return null;
225
+ }
219
226
  // ── Table Renderers ──────────────────────────────────────────────────
220
227
  function tryRenderTable(toolName, data) {
221
228
  if (!isTTY)
@@ -302,7 +309,7 @@ export async function buildCli() {
302
309
  const program = new Command();
303
310
  program
304
311
  .name("imperiumcrawl")
305
- .description("27-tool web scraping, crawling, search, media download, and API discovery CLI.\nRun without arguments in TTY for interactive TUI.")
312
+ .description("39-tool web scraping, crawling, search, media download, API discovery, and reusable browser workflow CLI.\nRun without arguments in TTY for interactive TUI.")
306
313
  .version(PACKAGE_VERSION)
307
314
  .addOption(new Option("--output-format <fmt>", "Output format")
308
315
  .choices(["json", "jsonl", "csv", "markdown"])
@@ -330,22 +337,35 @@ export async function buildCli() {
330
337
  const requestedCmd = getRequestedCmd();
331
338
  for (const { cmd, description } of TOOL_MANIFEST) {
332
339
  const sub = program.command(cmd).description(description);
340
+ const positionalKey = positionalKeyForCmd(cmd);
341
+ if (positionalKey === "flow")
342
+ sub.argument("[flow]", "Flow reference in '<family>/<variant>' form");
343
+ if (positionalKey === "family")
344
+ sub.argument("[family]", "Optional flow family to expose");
333
345
  if (cmd === requestedCmd) {
334
346
  // Load the full tool module for this command only.
335
347
  // This is the only heavy import at startup — all others are skipped.
336
348
  const toolModule = await import(`./tools/${cmd}.js`);
337
349
  addOptionsFromSchema(sub, toolModule.schema);
338
- sub.action(async (localOpts) => {
350
+ sub.action(async (...args) => {
351
+ const last = args[args.length - 1];
352
+ const localOpts = typeof last.opts === "function"
353
+ ? last.opts()
354
+ : last;
355
+ if (positionalKey && typeof args[0] === "string")
356
+ localOpts[positionalKey] = args[0];
339
357
  await runTool(toolModule, localOpts, program);
340
358
  });
341
359
  }
342
360
  else {
343
361
  // For all other commands: register with just name + description.
344
362
  // Options are loaded lazily if the command is somehow invoked.
345
- sub.action(async (_localOpts) => {
363
+ sub.action(async (...args) => {
346
364
  const toolModule = await import(`./tools/${cmd}.js`);
347
365
  // Re-parse options now that we have the schema
348
366
  const rawOpts = sub.opts();
367
+ if (positionalKey && typeof args[0] === "string")
368
+ rawOpts[positionalKey] = args[0];
349
369
  await runTool(toolModule, rawOpts, program);
350
370
  });
351
371
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare const PACKAGE_NAME = "imperium-crawl";
2
- export declare const PACKAGE_VERSION = "2.3.1";
2
+ export declare const PACKAGE_VERSION = "2.5.0";
3
3
  export declare const DEFAULT_TIMEOUT_MS = 30000;
4
4
  export declare const DEFAULT_MAX_PAGES = 10;
5
5
  export declare const DEFAULT_MAX_DEPTH = 2;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,mBAAmB,CAAC;AAC7C,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,2BAA2B,QAAiB,CAAC;AAE1D,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,eAAO,MAAM,cAAc,wCAAwC,CAAC;AAEpE,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,+BAA+B,SAAU,CAAC;AAEvD,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAI/C,eAAO,MAAM,YAAY,EAAE,MAAM,EAgBhC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAAgC,CAAC;AAE9D,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAIxC,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,eAAO,MAAM,eAAe,UAAY,CAAC;AACzC,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AACtC,eAAO,MAAM,mBAAmB,OAAQ,CAAC;AACzC,eAAO,MAAM,cAAc,OAAQ,CAAC;AACpC,eAAO,MAAM,SAAS,MAAM,CAAC;AAC7B,eAAO,MAAM,QAAQ,QAAS,CAAC;AAC/B,eAAO,MAAM,SAAS,OAAQ,CAAC;AAC/B,eAAO,MAAM,YAAY,OAAQ,CAAC;AAClC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,cAAc,SAAU,CAAC;AACtC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAIlD,eAAO,MAAM,oBAAoB,MAAM,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,mBAAmB,CAAC;AAC7C,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,2BAA2B,QAAiB,CAAC;AAE1D,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,eAAO,MAAM,cAAc,wCAAwC,CAAC;AAEpE,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,+BAA+B,SAAU,CAAC;AAEvD,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAQ/C,eAAO,MAAM,YAAY,EAAE,MAAM,EA2ChC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAAgC,CAAC;AAE9D,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAIxC,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,eAAO,MAAM,eAAe,UAAY,CAAC;AACzC,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AACtC,eAAO,MAAM,mBAAmB,OAAQ,CAAC;AACzC,eAAO,MAAM,cAAc,OAAQ,CAAC;AACpC,eAAO,MAAM,SAAS,MAAM,CAAC;AAC7B,eAAO,MAAM,QAAQ,QAAS,CAAC;AAC/B,eAAO,MAAM,SAAS,OAAQ,CAAC;AAC/B,eAAO,MAAM,YAAY,OAAQ,CAAC;AAClC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,cAAc,SAAU,CAAC;AACtC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAIlD,eAAO,MAAM,oBAAoB,MAAM,CAAC"}
package/dist/constants.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export const PACKAGE_NAME = "imperium-crawl";
2
- export const PACKAGE_VERSION = "2.3.1";
2
+ export const PACKAGE_VERSION = "2.5.0";
3
3
  export const DEFAULT_TIMEOUT_MS = 30_000;
4
4
  export const DEFAULT_MAX_PAGES = 10;
5
5
  export const DEFAULT_MAX_DEPTH = 2;
@@ -14,7 +14,11 @@ export const DEFAULT_BROWSER_POOL_SIZE = 3;
14
14
  export const DEFAULT_BROWSER_IDLE_TIMEOUT_MS = 300_000; // 5 min
15
15
  export const KNOWLEDGE_FILE = "knowledge.json";
16
16
  // ── Stealth defaults ──
17
+ // Random window size variation for fingerprint diversity
18
+ const W_OFFSET = Math.floor(Math.random() * 101) - 50; // -50 to +50
19
+ const H_OFFSET = Math.floor(Math.random() * 101) - 50;
17
20
  export const STEALTH_ARGS = [
21
+ // ── Core automation hiding ──
18
22
  "--disable-blink-features=AutomationControlled",
19
23
  "--disable-features=AutomationControlled",
20
24
  "--disable-infobars",
@@ -30,6 +34,32 @@ export const STEALTH_ARGS = [
30
34
  "--metrics-recording-only",
31
35
  "--no-service-autorun",
32
36
  "--password-store=basic",
37
+ // ── Phase 9 additions ──
38
+ "--disable-dev-shm-usage", // Docker compatibility (shared memory)
39
+ "--disable-extensions", // No extension detection fingerprint
40
+ "--lang=en-US,en", // Consistent language fingerprint
41
+ `--window-size=${1920 + W_OFFSET},${1080 + H_OFFSET}`, // Random window size variation
42
+ // ── Anti-fingerprinting: WebGL ──
43
+ "--disable-webgl",
44
+ "--disable-webgl2",
45
+ // ── Anti-fingerprinting: Canvas noise suppression ──
46
+ "--disable-canvas-aa",
47
+ // ── Anti-fingerprinting: Client Hints (reduce entropy surface) ──
48
+ "--disable-client-side-phishing-detection",
49
+ "--disable-histogram-customizer",
50
+ "--disable-peer-connection",
51
+ "--disable-permissions-api",
52
+ // ── Additional anti-bot ──
53
+ "--disable-background-timer-throttling",
54
+ "--disable-renderer-backgrounding",
55
+ "--disable-backgrounding-occluded-windows",
56
+ "--disable-ipc-flooding-protection",
57
+ "--disable-gpu-sandbox",
58
+ "--enable-features=NetworkService,NetworkServiceInProcess",
59
+ // ── Webdriver flag ──
60
+ "--webdriver-active=false",
61
+ // ── Hide Chromium presence via prefs ──
62
+ "--browser.search.isOnDefaultSearchProvider=false",
33
63
  ];
34
64
  export const DEFAULT_VIEWPORT = { width: 1920, height: 1080 };
35
65
  export const HUMAN_DELAY_MIN_MS = 800;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AAEvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAEpE,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC;AACtC,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAElC,MAAM,CAAC,MAAM,cAAc,GAAG,qCAAqC,CAAC;AAEpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,+BAA+B,GAAG,OAAO,CAAC,CAAC,QAAQ;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE/C,yBAAyB;AAEzB,MAAM,CAAC,MAAM,YAAY,GAAa;IACpC,+CAA+C;IAC/C,yCAAyC;IACzC,oBAAoB;IACpB,gBAAgB;IAChB,4BAA4B;IAC5B,iCAAiC;IACjC,4BAA4B;IAC5B,wBAAwB;IACxB,wBAAwB;IACxB,0BAA0B;IAC1B,4BAA4B;IAC5B,gBAAgB;IAChB,0BAA0B;IAC1B,sBAAsB;IACtB,wBAAwB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAE9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEvC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,gCAAgC;AAEhC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC,CAAI,MAAM;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AACtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AACpC,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC,CAAC,QAAQ;AAE3D,wBAAwB;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { FlowDefinition, FlowRunOptions, FlowRunResult } from "./types.js";
2
+ export declare function runFlowDefinition(flow: FlowDefinition, options?: FlowRunOptions): Promise<FlowRunResult>;
3
+ export declare function runFlow(ref: {
4
+ family: string;
5
+ variant: string;
6
+ }, options?: FlowRunOptions): Promise<FlowRunResult>;
7
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/flows/engine.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAmC,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAoDjH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CA8HlH;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAG5H"}
@@ -0,0 +1,183 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { htmlToMarkdown } from "../utils/markdown.js";
4
+ import { getTwoCaptchaApiKey } from "../config.js";
5
+ import { acquirePage } from "../stealth/chrome-profile.js";
6
+ import { getPool } from "../stealth/browser-pool.js";
7
+ import { trySolveCaptcha, hasCaptcha, detectCaptcha } from "../captcha/index.js";
8
+ import { executeAction } from "../tools/action-executor.js";
9
+ import { getRequestLog } from "../network/interceptor.js";
10
+ import { loadFlow } from "./storage.js";
11
+ import { resolveFlowInputs, resolveStepTemplates } from "./templates.js";
12
+ import { resolveSmartTarget } from "./smart-target.js";
13
+ function runId() {
14
+ return `flowrun_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
15
+ }
16
+ function actionFromStep(step) {
17
+ const { id: _id, output: _output, output_from: _outputFrom, target: _target, ...rest } = step;
18
+ return rest;
19
+ }
20
+ async function maybeHandleCaptcha(page, policy, manualTimeoutMs) {
21
+ const html = await page.content();
22
+ if (!hasCaptcha(html))
23
+ return { detected: false, policy, action: "none" };
24
+ const info = detectCaptcha(html);
25
+ if (policy === "off")
26
+ return { detected: true, policy, action: "off", captcha_type: info?.type };
27
+ if (policy === "fail") {
28
+ return { detected: true, policy, action: "failed", captcha_type: info?.type, error: "CAPTCHA detected and policy is fail" };
29
+ }
30
+ const key = getTwoCaptchaApiKey();
31
+ if (policy === "auto" && key) {
32
+ const attempt = await trySolveCaptcha(page, key);
33
+ return {
34
+ detected: attempt.detected,
35
+ policy,
36
+ action: attempt.solved ? "solved" : "failed",
37
+ captcha_type: attempt.captchaType ?? info?.type,
38
+ solve_time_ms: attempt.solveTimeMs,
39
+ error: attempt.error,
40
+ };
41
+ }
42
+ if (policy === "manual" || policy === "auto") {
43
+ await page.waitForTimeout(manualTimeoutMs);
44
+ return { detected: true, policy, action: "manual", captcha_type: info?.type };
45
+ }
46
+ return { detected: true, policy, action: "failed", captcha_type: info?.type };
47
+ }
48
+ async function saveText(filePath, text) {
49
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
50
+ await fs.writeFile(filePath, text, "utf-8");
51
+ return filePath;
52
+ }
53
+ export async function runFlowDefinition(flow, options = {}) {
54
+ const started = Date.now();
55
+ const id = runId();
56
+ const actionLogs = [];
57
+ const captchaEvents = [];
58
+ const outputs = {};
59
+ const evidenceMode = options.evidence ?? "configured";
60
+ const evidenceConfig = evidenceMode === "all"
61
+ ? { screenshots: true, html: true, markdown: true, network_log: true, action_log: true }
62
+ : evidenceMode === "off"
63
+ ? {}
64
+ : flow.evidence ?? {};
65
+ const runDir = options.outputDir ? path.resolve(options.outputDir, id) : undefined;
66
+ const screenshots = [];
67
+ let handle;
68
+ try {
69
+ const input = resolveFlowInputs(flow, options.input ?? {});
70
+ handle = await acquirePage({
71
+ chromeProfile: options.chromeProfile ?? flow.chrome_profile,
72
+ proxyUrl: options.proxy ?? flow.proxy,
73
+ headless: !(options.browser === "headed" ||
74
+ (options.browser === "auto" && (options.captcha ?? flow.captcha) === "manual")),
75
+ });
76
+ const { page } = handle;
77
+ const timeout = options.timeout ?? flow.timeout ?? 30_000;
78
+ const captchaPolicy = options.captcha ?? flow.captcha ?? "auto";
79
+ await page.goto(flow.url, { waitUntil: "load", timeout });
80
+ captchaEvents.push(await maybeHandleCaptcha(page, captchaPolicy, options.manualCaptchaTimeoutMs ?? 120_000));
81
+ const firstCaptcha = captchaEvents[captchaEvents.length - 1];
82
+ if (firstCaptcha.action === "failed" && captchaPolicy === "fail") {
83
+ throw new Error(firstCaptcha.error ?? "CAPTCHA blocked flow");
84
+ }
85
+ for (const rawStep of flow.steps) {
86
+ const stepStart = Date.now();
87
+ const resolvedStep = resolveStepTemplates(rawStep, flow, input);
88
+ const { action, strategy } = await resolveSmartTarget(page, resolvedStep);
89
+ const result = await executeAction(page, actionFromStep(action), screenshots, timeout, options.sessionId ?? flow.session_id);
90
+ if (rawStep.output) {
91
+ if (rawStep.output_from === "page_html")
92
+ outputs[rawStep.output] = await page.content();
93
+ else if (rawStep.output_from === "page_text")
94
+ outputs[rawStep.output] = htmlToMarkdown(await page.content());
95
+ else if (rawStep.output_from === "url")
96
+ outputs[rawStep.output] = page.url();
97
+ else
98
+ outputs[rawStep.output] = result.result ?? result.success;
99
+ }
100
+ actionLogs.push({
101
+ id: rawStep.id,
102
+ type: rawStep.type,
103
+ success: result.success,
104
+ error: result.error,
105
+ result: result.result,
106
+ target_strategy: strategy,
107
+ duration_ms: Date.now() - stepStart,
108
+ });
109
+ captchaEvents.push(await maybeHandleCaptcha(page, captchaPolicy, options.manualCaptchaTimeoutMs ?? 120_000));
110
+ if (!result.success)
111
+ throw new Error(result.error ?? `Flow step failed: ${rawStep.type}`);
112
+ const latestCaptcha = captchaEvents[captchaEvents.length - 1];
113
+ if (latestCaptcha.action === "failed" && captchaPolicy === "fail") {
114
+ throw new Error(latestCaptcha.error ?? "CAPTCHA blocked flow");
115
+ }
116
+ }
117
+ const evidence = {
118
+ ...(runDir && { run_dir: runDir }),
119
+ ...(evidenceConfig.action_log && { action_log: actionLogs }),
120
+ };
121
+ if (evidenceConfig.screenshots) {
122
+ evidence.screenshots = [];
123
+ for (let i = 0; i < screenshots.length; i++) {
124
+ if (!runDir)
125
+ continue;
126
+ const file = path.join(runDir, `screenshot-${i + 1}.png`);
127
+ await fs.mkdir(path.dirname(file), { recursive: true });
128
+ await fs.writeFile(file, Buffer.from(screenshots[i], "base64"));
129
+ evidence.screenshots.push(file);
130
+ }
131
+ }
132
+ if (evidenceConfig.html) {
133
+ const html = await page.content();
134
+ evidence.html = runDir ? await saveText(path.join(runDir, "final.html"), html) : html;
135
+ }
136
+ if (evidenceConfig.markdown) {
137
+ const md = htmlToMarkdown(await page.content());
138
+ evidence.markdown = runDir ? await saveText(path.join(runDir, "final.md"), md) : md;
139
+ }
140
+ if (evidenceConfig.network_log)
141
+ evidence.network_log = getRequestLog(page);
142
+ return {
143
+ ok: true,
144
+ run_id: id,
145
+ family: flow.family,
146
+ variant: flow.variant,
147
+ outputs,
148
+ actions: actionLogs,
149
+ captcha: captchaEvents.filter((e) => e.detected),
150
+ evidence,
151
+ duration_ms: Date.now() - started,
152
+ };
153
+ }
154
+ catch (err) {
155
+ return {
156
+ ok: false,
157
+ run_id: id,
158
+ family: flow.family,
159
+ variant: flow.variant,
160
+ outputs,
161
+ actions: actionLogs,
162
+ captcha: captchaEvents.filter((e) => e.detected),
163
+ evidence: { ...(runDir && { run_dir: runDir }), action_log: actionLogs },
164
+ duration_ms: Date.now() - started,
165
+ error: {
166
+ code: "FLOW_RUN_FAILED",
167
+ message: err instanceof Error ? err.message : String(err),
168
+ },
169
+ };
170
+ }
171
+ finally {
172
+ const wasProfile = handle?.isProfile;
173
+ await handle?.cleanup();
174
+ if (handle && !wasProfile) {
175
+ await getPool().closeAll();
176
+ }
177
+ }
178
+ }
179
+ export async function runFlow(ref, options = {}) {
180
+ const { flow } = await loadFlow(ref, options);
181
+ return runFlowDefinition(flow, options);
182
+ }
183
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/flows/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from "./types.js";
2
+ export * from "./storage.js";
3
+ export * from "./templates.js";
4
+ export * from "./engine.js";
5
+ export * from "./server.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/flows/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./types.js";
2
+ export * from "./storage.js";
3
+ export * from "./templates.js";
4
+ export * from "./engine.js";
5
+ export * from "./server.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flows/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,11 @@
1
+ import http from "node:http";
2
+ import type { FlowStorageOptions } from "./types.js";
3
+ export interface ServeFlowOptions extends FlowStorageOptions {
4
+ family?: string;
5
+ host: string;
6
+ port: number;
7
+ requireAuth?: boolean;
8
+ apiToken?: string;
9
+ }
10
+ export declare function createFlowServer(options: ServeFlowOptions): http.Server;
11
+ //# sourceMappingURL=server.d.ts.map