{"id":"@lssm-tech/app.osint-api","slug":"app.osint-api","name":"@lssm-tech/app.osint-api","version":"0.2.1","path":"packages/apps/osint-api","manifestPath":"packages/apps/osint-api/package.json","manifestBlobSha":"75a9954239ab680d16d2614defa4769185b7c680","layer":"apps","physicalArea":null,"primaryArea":"intelligence-and-research","classification":{"privateDeclared":true,"catalogFamily":null,"catalogKind":null,"catalogStatus":null,"adoptionMode":null,"stability":null},"description":null,"descriptionOrigin":"package.json","catalog":{},"canonicalImports":[],"scripts":{"start":"bun run src/server.ts","test":"bun test","typecheck":"tsgo --noEmit","lint:check":"node ../../../scripts/biome.cjs check ."},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/integration.osint-managed-runtime":"workspace:^","@lssm-tech/integration.osint-transport":"workspace:^","@lssm-tech/integration.self-improving-system-transport":"workspace:^","@lssm-tech/lib.contracts-spec":"workspace:^","@lssm-tech/lib.osint-runtime":"workspace:^","@lssm-tech/module.self-improving-system":"workspace:^","@lssm-tech/lib.osint-spec":"workspace:^"},"devDependencies":{"@lssm-tech/tool.typescript":"workspace:*","@types/bun":"catalog:types","typescript":"catalog:"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts"},"publishExports":null,"types":null,"files":null,"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/app.osint-api","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/apps/osint-api/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/osint-api/src/index.ts","sourceStatus":"verified source file"}]}],"entryCount":1,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/osint-api","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/osint-api/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/osint-api/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/app.osint-api.txt"},"readme":{"status":"available","body":"# OSINT API\n\nREST/OpenAPI composition root for scoped OSINT and governed self-improvement\noperation handlers. This app owns no domain rules. `OSINT_PORT` defaults to\n`3108`.\n\nBy default the standalone service uses the managed composition: OIDC/JWKS\nverification, a fresh authority decision, FORCE-RLS PostgreSQL reads, and the\ndurable mutation queue. Configure `OSINT_DATABASE_URL`, `OSINT_AUTHOS_ISSUER`,\n`OSINT_AUTHOS_AUDIENCE`, `OSINT_AUTHOS_JWKS_URL`, and `OSINT_AUTHORITY_URL`.\nDeployments may instead set an allowlisted `OSINT_API_COMPOSITION_MODULE`\nmatching `@lssm-tech/integration.osint-api-*`.\nSet `OSINT_DEPLOYMENT_PROFILE_ID` for an explicit managed profile. Known\ndata-isolated deployment IDs, including Hirly France, are also recognized from\nthe authenticated scope and enforced even when the optional environment value\nis absent; disallowed vertical reads fail before SQL.\n\nThe managed composition polls the canonical append-only outbox for\nscope-isolated, replayable SSE and WebSocket sessions.\n`OSINT_STREAM_POLL_INTERVAL_MS` and `OSINT_STREAM_BATCH_SIZE` tune bounded\ndelivery without changing authority.\n\nThe composition supplies the authenticated context resolver, shared headless\noperation handler, dependency readiness probe, optional scoped stream broker,\nand graceful shutdown hook. `/livez`\nreports process liveness while `/readyz` fails closed on dependency health.\nAuthenticated SSE and WebSocket sessions both bind replay cursors to the exact\nresolved scope; WebSocket upgrades are accepted only at the generated event\npath and detach from the scoped broker on close.\nBrowser WebSocket origins default to the request origin; deployments with a\nseparate console origin set the explicit comma-separated `OSINT_ALLOWED_ORIGINS`.\n\nAn allowlisted composition may also supply `selfImprovement` with its own\nauthenticated context, headless handler, and scoped broker. The host then serves\nthe generated `/api/self-improvement/v1` REST/OpenAPI surface plus program-bound\nSSE and WebSocket replay. The generated OpenAPI remains discoverable when the\nruntime is absent, but every call and stream fails closed with `503`; production\nqualification requires a concrete governed module/store/authority composition.\n\nThe managed host now supplies that composition when\n`SELF_IMPROVEMENT_CONTROL_URL` and `SELF_IMPROVEMENT_WORKLOAD_TOKEN` are both\nset. `SELF_IMPROVEMENT_AUTHORITY_URL` may select a separate fresh-authority\nendpoint and otherwise uses `OSINT_AUTHORITY_URL`. HTTP callers provide the\nexplicit `x-self-improvement-*` ecosystem, tenant, workspace, optional program,\njurisdiction, and purpose headers. Readiness remains red until the FORCE-RLS\n`self_improvement_*` tables have been migrated; the app never auto-migrates a\nruntime database role. The managed composition also supplies the program-scoped\nevent broker and publishes declared lifecycle events only after successful\nheadless mutations.\n","sourcePath":"packages/apps/osint-api/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/osint-api/README.md","blobSha":"ba438b680ae3a113c3ae8f20ae1243fa3865ead9","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"intelligence-and-research","areaTitle":"Intelligence, research and applications","displayName":"app.osint-api","runtimes":[],"platforms":[],"kind":"apps","scope":"Workspace only","canonicalRoute":"/docs/packages/app.osint-api/","contextUrl":"/docs/packages/app.osint-api.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}