{"_id":"@aiassist-secure/intelligence-signal","name":"@aiassist-secure/intelligence-signal","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@aiassist-secure/intelligence-signal","version":"1.0.0","description":"Official TypeScript/JavaScript SDK for the AiAS Intelligence Signal API — multi-source signal scanning, AI intent scoring, and lead enrichment across 22+ platforms.","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"build":"tsc","clean":"rm -rf dist","prepublishOnly":"npm run clean && npm run build","typecheck":"tsc --noEmit"},"engines":{"node":">=18.0.0"},"keywords":["aiassist","aias","intelligence","signal","saas-signal","intent-scoring","lead-generation","signal-scanning","api-client","ai","llm","mcp","openai-tools"],"author":{"name":"AiAssist Secure","email":"dev@aiassist.net","url":"https://aiassist.net"},"license":"MIT","homepage":"https://saas-signal.com","repository":{"type":"git","url":"git+https://github.com/aiassist-secure/intelligence-signal-typescript.git"},"bugs":{"url":"https://github.com/aiassist-secure/intelligence-signal-typescript/issues"},"devDependencies":{"typescript":"^5.3.0"},"_id":"@aiassist-secure/intelligence-signal@1.0.0","gitHead":"15fc9d3badafa357615989a47510be532b48013c","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-fWaSvUQ8zuoIrzYmdXfu027SHuyPUkzKEKwFCQBAXqutZsL1MVzeFuGOdvj07NLR1S9KP/NC+dz732myDsiBtg==","shasum":"33de7332f78f6fb3e4fef814abcf9fcfe6276dac","tarball":"https://registry.npmjs.org/@aiassist-secure/intelligence-signal/-/intelligence-signal-1.0.0.tgz","fileCount":6,"unpackedSize":53778,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDSCSqa2gvLvdgAPzLt1zkt7gZx15jJkTHQjaEb5nQLdAiBf9leBTvTQh5lWN+1DZG5jQ7Y6Sor5dKPGAJejF7VRug=="}]},"_npmUser":{"name":"interchained","email":"interchained@gmail.com"},"directories":{},"maintainers":[{"name":"interchained","email":"interchained@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/intelligence-signal_1.0.0_1771545553682_0.4144313734609908"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-19T23:59:13.599Z","1.0.0":"2026-02-19T23:59:13.828Z","modified":"2026-02-19T23:59:14.408Z"},"maintainers":[{"name":"interchained","email":"interchained@gmail.com"}],"description":"Official TypeScript/JavaScript SDK for the AiAS Intelligence Signal API — multi-source signal scanning, AI intent scoring, and lead enrichment across 22+ platforms.","homepage":"https://saas-signal.com","keywords":["aiassist","aias","intelligence","signal","saas-signal","intent-scoring","lead-generation","signal-scanning","api-client","ai","llm","mcp","openai-tools"],"repository":{"type":"git","url":"git+https://github.com/aiassist-secure/intelligence-signal-typescript.git"},"author":{"name":"AiAssist Secure","email":"dev@aiassist.net","url":"https://aiassist.net"},"bugs":{"url":"https://github.com/aiassist-secure/intelligence-signal-typescript/issues"},"license":"MIT","readme":"# @aiassist-secure/intelligence-signal\n\nOfficial TypeScript/JavaScript SDK for the **AiAS Intelligence Signal API** — real-time signal intelligence across 22+ online platforms with AI-powered intent scoring.\n\nBuilt by [AiAssist Secure](https://aiassist.net) | API: [saas-signal.com](https://saas-signal.com)\n\n## Features\n\n- Full TypeScript types for all API requests and responses\n- 8 endpoint methods: `scan`, `scanStream`, `sources`, `signals`, `score`, `enrich`, `usage`, `tools`\n- SSE streaming via async iterator for real-time scan results\n- Auto-retry with exponential backoff (configurable)\n- AbortController/timeout support\n- Zero runtime dependencies (native `fetch`)\n- Node.js 18+ and modern browsers\n\n## Installation\n\n```bash\nnpm install @aiassist-secure/intelligence-signal\n```\n\n## Quick Start\n\n```typescript\nimport { AiASClient } from '@aiassist-secure/intelligence-signal';\n\nconst client = new AiASClient({\n  apiKey: 'aai_your_api_key_here',\n});\n\n// Scan Reddit and Hacker News for buying signals\nconst result = await client.scan({\n  sources: ['reddit', 'hackernews'],\n  keywords: { include: ['CRM', 'project management'] },\n  mode: 'LEAD',\n  min_intent_score: 0.6,\n  limit: 25,\n});\n\nfor (const signal of result.data.signals) {\n  console.log(`[${signal.intent.category}] ${signal.title}`);\n  console.log(`  Score: ${signal.intent.score} | Source: ${signal.source}`);\n  console.log(`  URL: ${signal.url}`);\n}\n```\n\n## Usage Examples\n\n### Multi-Source Scan with Campaign Context\n\n```typescript\nconst result = await client.scan({\n  sources: ['reddit', 'hackernews', 'devto', 'producthunt'],\n  keywords: {\n    include: ['workflow automation', 'no-code', 'zapier alternative'],\n    exclude: ['free', 'open source'],\n    subreddits: ['SaaS', 'startups', 'Entrepreneur'],\n  },\n  mode: 'LEAD',\n  context: {\n    company_name: 'FlowBot',\n    campaign_intent: 'Find users frustrated with existing automation tools',\n    campaign_goal: 'Generate qualified leads for enterprise plan',\n  },\n  min_intent_score: 0.5,\n  limit: 50,\n});\n\nconsole.log(`Found ${result.data.scan_summary.total_returned} high-intent signals`);\nconsole.log(`Scanned ${result.data.scan_summary.total_fetched} posts across ${result.data.scan_summary.sources_scanned.length} sources`);\n```\n\n### Real-Time Streaming Scan\n\n```typescript\nfor await (const event of client.scanStream({\n  sources: ['reddit', 'twitter', 'hackernews'],\n  keywords: { include: ['AI agent', 'LLM framework'] },\n})) {\n  switch (event.type) {\n    case 'scan_started':\n      console.log(`Scanning ${event.data.total_sources} sources...`);\n      break;\n    case 'source_started':\n      console.log(`  Scanning ${event.data.source}...`);\n      break;\n    case 'signal':\n      console.log(`  Found: ${event.data.title} (score: ${event.data.intent.score})`);\n      break;\n    case 'source_completed':\n      console.log(`  ${event.data.source}: ${event.data.signals_found} signals`);\n      break;\n    case 'scan_completed':\n      console.log(`Done! ${event.data.total_signals} signals in ${event.data.processing_ms}ms`);\n      break;\n  }\n}\n```\n\n### Score Your Own Content\n\n```typescript\nconst result = await client.score({\n  items: [\n    { id: '1', text: 'Looking for a CRM that integrates with Slack and has good API docs' },\n    { id: '2', text: 'Just launched my new side project for todo lists!' },\n    { id: '3', text: 'We need to migrate off Salesforce ASAP, budget approved' },\n  ],\n  keywords: { include: ['CRM', 'Slack integration'] },\n  mode: 'LEAD',\n});\n\nfor (const scored of result.data.scores) {\n  console.log(`${scored.id}: ${scored.category} (${scored.score}) — ${scored.reasoning}`);\n}\n```\n\n### Enrich a Signal with AI Outreach\n\n```typescript\nconst scanResult = await client.scan({\n  sources: ['reddit'],\n  keywords: { include: ['need help with analytics'] },\n  min_intent_score: 0.7,\n  limit: 5,\n});\n\nif (scanResult.data.signals.length > 0) {\n  const topSignal = scanResult.data.signals[0];\n\n  const enriched = await client.enrich({\n    signal: topSignal,\n    generate: ['outreach', 'analysis', 'lead_packet'],\n    outreach_style: 'helpful',\n    custom_directives: 'Focus on our free tier and migration assistance',\n  });\n\n  console.log(enriched.data.enrichment);\n}\n```\n\n### List Available Sources\n\n```typescript\nconst sources = await client.sources();\n\nconsole.log(`${sources.data.total_sources} sources available:`);\nconsole.log(`  Tier 1 (no config needed): ${sources.data.tier_1_count}`);\nconsole.log(`  Tier 2 (requires API keys): ${sources.data.tier_2_count}`);\n\nfor (const source of sources.data.sources) {\n  const status = source.requires_config ? '(requires config)' : '(ready)';\n  console.log(`  ${source.name} ${status} — max ${source.capabilities.max_results} results`);\n}\n```\n\n### Get LLM Tool Definitions\n\n```typescript\n// For OpenAI function calling\nconst openaiTools = await client.tools('openai');\n// Pass openaiTools.data.tools to chat.completions.create()\n\n// For MCP server integration\nconst mcpManifest = await client.tools('mcp');\n\n// For LangChain\nconst langchainTools = await client.tools('langchain');\n```\n\n### Check Usage Stats\n\n```typescript\nconst usage = await client.usage();\nconsole.log(`Scans today: ${usage.data.scans_today}`);\nconsole.log(`Signals cached: ${usage.data.signals_cached}`);\n```\n\n### Browse Cached Signals\n\n```typescript\nconst signals = await client.signals({\n  source: 'reddit',\n  min_score: 0.8,\n  category: 'buying',\n  limit: 20,\n});\n\nconsole.log(`${signals.data.total} total buying signals from Reddit`);\n```\n\n## Error Handling\n\n```typescript\nimport { AiASClient, AiASError } from '@aiassist-secure/intelligence-signal';\n\ntry {\n  const result = await client.scan({ ... });\n} catch (err) {\n  if (err instanceof AiASError) {\n    console.error(`API Error [${err.errorCode}]: ${err.message}`);\n    console.error(`Status: ${err.statusCode}`);\n    console.error(`Request ID: ${err.requestId}`);\n    if (err.details) console.error('Details:', err.details);\n  }\n}\n```\n\n## Configuration\n\n```typescript\nconst client = new AiASClient({\n  apiKey: 'aai_your_key',\n  baseUrl: 'https://saas-signal.com',  // default\n  maxRetries: 3,                        // default, set 0 to disable\n  retryBaseDelay: 500,                  // ms, default\n  timeout: 60_000,                      // ms, default\n});\n```\n\n## API Reference\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| `scan(request)` | `POST /v1/scan` | Multi-source signal scan with AI scoring |\n| `scanStream(request)` | `POST /v1/scan/stream` | Real-time SSE streaming scan |\n| `sources()` | `GET /v1/sources` | List 22+ available signal sources |\n| `signals(query?)` | `GET /v1/signals` | Browse cached signals with filters |\n| `score(request)` | `POST /v1/score` | Score arbitrary text for intent |\n| `enrich(request)` | `POST /v1/enrich` | AI outreach, analysis, lead packets |\n| `usage()` | `GET /v1/usage` | Organization usage statistics |\n| `tools(format?)` | `GET /v1/tools` | LLM tool definitions (OpenAI/MCP/LangChain) |\n\n## 22+ Signal Sources\n\n**Tier 1 (no configuration needed):** Reddit, Hacker News, Product Hunt, IndieHackers, Dev.to, Lobsters, Hashnode, BetaList, EchoJS, WIP, LaunchingNext, HackerNoon, Makerlog, AlternativeTo, SaaSHub, TLDR, Changelog\n\n**Tier 2 (requires API keys):** Twitter/X, LinkedIn Jobs, LinkedIn People, Telegram, Google News, Indeed\n\n## Intent Categories\n\n`buying` | `evaluating` | `frustrated` | `hiring` | `building` | `asking` | `announcing` | `discussing`\n\n## License\n\nMIT - [AiAssist Secure](https://aiassist.net)\n","readmeFilename":"README.md","_rev":"1-86b58a56fcb0c64d5d84947e4c30ecc6"}