hive-intelligence 0.1.1 → 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.
Files changed (84) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +112 -77
  3. package/bin/hive.js +25 -0
  4. package/build/alias-INGXWFCG.js +41 -0
  5. package/build/alias-INGXWFCG.js.map +1 -0
  6. package/build/auth-PVT4GTAD.js +233 -0
  7. package/build/auth-PVT4GTAD.js.map +1 -0
  8. package/build/cache-US4LSZPI.js +52 -0
  9. package/build/cache-US4LSZPI.js.map +1 -0
  10. package/build/chunk-FAFUYZQS.js +280 -0
  11. package/build/chunk-FAFUYZQS.js.map +1 -0
  12. package/build/chunk-IWBWPHYY.js +212 -0
  13. package/build/chunk-IWBWPHYY.js.map +1 -0
  14. package/build/chunk-LBTLYTZS.js +115 -0
  15. package/build/chunk-LBTLYTZS.js.map +1 -0
  16. package/build/chunk-N43VRMVB.js +3108 -0
  17. package/build/chunk-N43VRMVB.js.map +1 -0
  18. package/build/chunk-NEKSTV6P.js +911 -0
  19. package/build/chunk-NEKSTV6P.js.map +1 -0
  20. package/build/chunk-OK3LSM73.js +22 -0
  21. package/build/chunk-OK3LSM73.js.map +1 -0
  22. package/build/chunk-QMRVH5ZP.js +44 -0
  23. package/build/chunk-QMRVH5ZP.js.map +1 -0
  24. package/build/chunk-WKVZVQTG.js +66 -0
  25. package/build/chunk-WKVZVQTG.js.map +1 -0
  26. package/build/chunk-XQJ6PB2L.js +95 -0
  27. package/build/chunk-XQJ6PB2L.js.map +1 -0
  28. package/build/cli.js +3858 -0
  29. package/build/cli.js.map +1 -0
  30. package/build/completion-N35TWBLT.js +274 -0
  31. package/build/completion-N35TWBLT.js.map +1 -0
  32. package/build/config-2VDB2ZHE.js +100 -0
  33. package/build/config-2VDB2ZHE.js.map +1 -0
  34. package/build/config-dir-IEOID7Q6.js +31 -0
  35. package/build/config-dir-IEOID7Q6.js.map +1 -0
  36. package/build/doctor-GYP6IHPP.js +231 -0
  37. package/build/doctor-GYP6IHPP.js.map +1 -0
  38. package/build/errors-HRGXEUZR.js +17 -0
  39. package/build/errors-HRGXEUZR.js.map +1 -0
  40. package/build/format-4OIUGZKY.js +43 -0
  41. package/build/format-4OIUGZKY.js.map +1 -0
  42. package/build/init-YOJK6CH2.js +102 -0
  43. package/build/init-YOJK6CH2.js.map +1 -0
  44. package/build/namespace-GWTS6U6J.js +13 -0
  45. package/build/namespace-GWTS6U6J.js.map +1 -0
  46. package/build/open-FUXYIHFO.js +37 -0
  47. package/build/open-FUXYIHFO.js.map +1 -0
  48. package/build/output-6TJ3JTZ7.js +41 -0
  49. package/build/output-6TJ3JTZ7.js.map +1 -0
  50. package/build/server.js +14763 -0
  51. package/build/server.js.map +1 -0
  52. package/build/telemetry-KNWMQURH.js +18 -0
  53. package/build/telemetry-KNWMQURH.js.map +1 -0
  54. package/build/tools-4W3GGCUC.js +178 -0
  55. package/build/tools-4W3GGCUC.js.map +1 -0
  56. package/build/version-3TZ3U4IR.js +9 -0
  57. package/build/version-3TZ3U4IR.js.map +1 -0
  58. package/build/watch-P2QWGFYV.js +67 -0
  59. package/build/watch-P2QWGFYV.js.map +1 -0
  60. package/package.json +56 -15
  61. package/.env,example +0 -1
  62. package/dist/client.d.ts +0 -7
  63. package/dist/client.js +0 -52
  64. package/dist/errors.d.ts +0 -7
  65. package/dist/errors.js +0 -15
  66. package/dist/index.d.ts +0 -3
  67. package/dist/index.js +0 -20
  68. package/dist/types.d.ts +0 -19
  69. package/dist/types.js +0 -2
  70. package/example.ts +0 -35
  71. package/jest.config.js +0 -7
  72. package/src/client.js +0 -52
  73. package/src/client.ts +0 -42
  74. package/src/errors.js +0 -15
  75. package/src/errors.ts +0 -11
  76. package/src/index.js +0 -20
  77. package/src/index.ts +0 -5
  78. package/src/types.js +0 -2
  79. package/src/types.ts +0 -21
  80. package/tests/client.test.js +0 -28
  81. package/tests/client.test.ts +0 -18
  82. package/tests/hive.test.js +0 -69
  83. package/tests/hive.test.ts +0 -63
  84. package/tsconfig.json +0 -117
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/api-client.ts"],"sourcesContent":["import { resolveApiKey, resolveApiUrl, getNoRetry } from \"./config-dir.js\";\n\ninterface ApiResponse {\n ok: boolean;\n data?: unknown;\n error?: { code: string; message: string; suggestion?: string };\n meta: { tool?: string; duration_ms?: number };\n}\n\nconst MAX_RETRIES = 3;\nconst BASE_DELAY_MS = 500;\nconst MAX_DELAY_MS = 5000;\n\ntype FetchFn = (url: string, init: RequestInit) => Promise<Response>;\n\nfunction isRetryable(status: number): boolean {\n return status >= 500 || status === 429;\n}\n\nfunction isRetryableError(err: unknown): boolean {\n if (!(err instanceof Error)) return false;\n const msg = err.message.toLowerCase();\n return (\n err.name === \"AbortError\" ||\n msg.includes(\"econnreset\") ||\n msg.includes(\"econnrefused\") ||\n msg.includes(\"etimedout\") ||\n msg.includes(\"fetch failed\")\n );\n}\n\nfunction delay(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nfunction computeDelay(\n attempt: number,\n retryAfterHeader?: string | null,\n): number {\n if (retryAfterHeader) {\n const seconds = parseInt(retryAfterHeader, 10);\n if (!isNaN(seconds) && seconds > 0)\n return Math.min(seconds * 1000, MAX_DELAY_MS);\n }\n const exponential = BASE_DELAY_MS * Math.pow(2, attempt);\n const jitter = exponential * (0.75 + Math.random() * 0.5);\n return Math.min(jitter, MAX_DELAY_MS);\n}\n\nexport async function fetchWithRetry(\n url: string,\n init: RequestInit,\n fetchFn: FetchFn = fetch,\n): Promise<Response> {\n const maxRetries = getNoRetry() ? 0 : MAX_RETRIES;\n let lastResponse: Response | undefined;\n\n for (let attempt = 0; attempt <= maxRetries; attempt++) {\n try {\n const response = await fetchFn(url, init);\n if (\n response.ok ||\n !isRetryable(response.status) ||\n attempt === maxRetries\n ) {\n return response;\n }\n lastResponse = response;\n const retryAfter = response.headers?.get?.(\"retry-after\") ?? null;\n const waitMs = computeDelay(attempt, retryAfter);\n await delay(waitMs);\n } catch (err) {\n if (!isRetryableError(err) || attempt === maxRetries) throw err;\n const waitMs = computeDelay(attempt);\n await delay(waitMs);\n }\n }\n\n return lastResponse!;\n}\n\nfunction getHeaders(apiKey?: string): Record<string, string> {\n const headers: Record<string, string> = {\n \"Content-Type\": \"application/json\",\n \"User-Agent\": `hive-cli/${process.env.npm_package_version ?? \"0.1.2\"}`,\n };\n if (apiKey) headers.Authorization = `Bearer ${apiKey}`;\n return headers;\n}\n\nexport async function executeRemoteTool(\n toolName: string,\n args: Record<string, unknown>,\n timeoutMs: number = 30000,\n): Promise<ApiResponse> {\n const url = `${resolveApiUrl()}/api/v1/execute`;\n const apiKey = resolveApiKey();\n\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), timeoutMs);\n\n try {\n const response = await fetchWithRetry(url, {\n method: \"POST\",\n headers: getHeaders(apiKey),\n body: JSON.stringify({ tool: toolName, args }),\n signal: controller.signal,\n });\n\n const data: ApiResponse = await response.json();\n return data;\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n return {\n ok: false,\n error: {\n code: \"TIMEOUT\",\n message: `Request timed out after ${timeoutMs}ms`,\n suggestion: \"Increase with --timeout <ms>\",\n },\n meta: { tool: toolName },\n };\n }\n const msg = error instanceof Error ? error.message : String(error);\n return {\n ok: false,\n error: {\n code: \"API_ERROR\",\n message: `Connection failed: ${msg}`,\n suggestion: `Check HIVE_API_URL (${resolveApiUrl()})`,\n },\n meta: { tool: toolName },\n };\n } finally {\n clearTimeout(timer);\n }\n}\n\nexport async function fetchToolCatalog(): Promise<ApiResponse> {\n const url = `${resolveApiUrl()}/api/v1/tools`;\n const apiKey = resolveApiKey();\n\n const response = await fetchWithRetry(url, {\n headers: getHeaders(apiKey),\n });\n return response.json();\n}\n"],"mappings":"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","names":[]}