@adityanair98/api-oracle 0.5.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 (119) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +216 -0
  3. package/dist/cli.d.ts +11 -0
  4. package/dist/cli.js +74 -0
  5. package/dist/dashboard/public/app.js +1004 -0
  6. package/dist/dashboard/public/index.html +142 -0
  7. package/dist/dashboard/public/public/app.js +1004 -0
  8. package/dist/dashboard/public/public/index.html +142 -0
  9. package/dist/dashboard/public/public/styles.css +1464 -0
  10. package/dist/dashboard/public/styles.css +1464 -0
  11. package/dist/dashboard/routes/api.d.ts +7 -0
  12. package/dist/dashboard/routes/api.js +245 -0
  13. package/dist/dashboard/server.d.ts +9 -0
  14. package/dist/dashboard/server.js +45 -0
  15. package/dist/index.d.ts +5 -0
  16. package/dist/index.js +23 -0
  17. package/dist/knowledge/db.d.ts +22 -0
  18. package/dist/knowledge/db.js +182 -0
  19. package/dist/knowledge/schema.d.ts +275 -0
  20. package/dist/knowledge/schema.js +135 -0
  21. package/dist/knowledge/scorer.d.ts +63 -0
  22. package/dist/knowledge/scorer.js +314 -0
  23. package/dist/knowledge/search.d.ts +37 -0
  24. package/dist/knowledge/search.js +111 -0
  25. package/dist/knowledge/synonyms.d.ts +36 -0
  26. package/dist/knowledge/synonyms.js +523 -0
  27. package/dist/knowledge/tfidf.d.ts +42 -0
  28. package/dist/knowledge/tfidf.js +138 -0
  29. package/dist/server.d.ts +9 -0
  30. package/dist/server.js +40 -0
  31. package/dist/tools/check-freshness.d.ts +9 -0
  32. package/dist/tools/check-freshness.js +95 -0
  33. package/dist/tools/compare-apis.d.ts +8 -0
  34. package/dist/tools/compare-apis.js +149 -0
  35. package/dist/tools/find-api.d.ts +9 -0
  36. package/dist/tools/find-api.js +120 -0
  37. package/dist/tools/get-setup-guide.d.ts +8 -0
  38. package/dist/tools/get-setup-guide.js +127 -0
  39. package/dist/updater/linter.d.ts +31 -0
  40. package/dist/updater/linter.js +219 -0
  41. package/dist/updater/report.d.ts +29 -0
  42. package/dist/updater/report.js +96 -0
  43. package/dist/updater/staleness.d.ts +39 -0
  44. package/dist/updater/staleness.js +66 -0
  45. package/dist/updater/version-tracker.d.ts +28 -0
  46. package/dist/updater/version-tracker.js +50 -0
  47. package/dist/utils/config.d.ts +11 -0
  48. package/dist/utils/config.js +13 -0
  49. package/dist/utils/logger.d.ts +20 -0
  50. package/dist/utils/logger.js +32 -0
  51. package/package.json +56 -0
  52. package/src/entries/ai/anthropic.json +95 -0
  53. package/src/entries/ai/eleven-labs.json +90 -0
  54. package/src/entries/ai/openai.json +95 -0
  55. package/src/entries/ai/replicate.json +87 -0
  56. package/src/entries/ai/resemble-ai.json +88 -0
  57. package/src/entries/ai/stability-ai.json +89 -0
  58. package/src/entries/analytics/posthog.json +88 -0
  59. package/src/entries/analytics/sentry.json +84 -0
  60. package/src/entries/auth/auth0.json +90 -0
  61. package/src/entries/auth/clerk.json +95 -0
  62. package/src/entries/cms/contentful.json +92 -0
  63. package/src/entries/cms/sanity.json +92 -0
  64. package/src/entries/cms/strapi.json +93 -0
  65. package/src/entries/commerce/medusa.json +91 -0
  66. package/src/entries/commerce/shopify-api.json +91 -0
  67. package/src/entries/communication/sendbird.json +85 -0
  68. package/src/entries/communication/stream-chat.json +94 -0
  69. package/src/entries/database/firebase.json +88 -0
  70. package/src/entries/database/neon.json +94 -0
  71. package/src/entries/database/planetscale.json +95 -0
  72. package/src/entries/database/supabase.json +94 -0
  73. package/src/entries/database/upstash.json +94 -0
  74. package/src/entries/devops/fly-io.json +90 -0
  75. package/src/entries/devops/netlify.json +90 -0
  76. package/src/entries/devops/railway.json +90 -0
  77. package/src/entries/devops/vercel.json +90 -0
  78. package/src/entries/email/mailgun.json +91 -0
  79. package/src/entries/email/postmark.json +91 -0
  80. package/src/entries/email/resend.json +89 -0
  81. package/src/entries/email/sendgrid.json +90 -0
  82. package/src/entries/forms/formspark.json +85 -0
  83. package/src/entries/forms/typeform.json +98 -0
  84. package/src/entries/infrastructure/aws-s3.json +104 -0
  85. package/src/entries/infrastructure/cloudflare-r2.json +92 -0
  86. package/src/entries/infrastructure/cloudflare-workers.json +92 -0
  87. package/src/entries/infrastructure/digital-ocean-spaces.json +87 -0
  88. package/src/entries/integration/nango.json +90 -0
  89. package/src/entries/integration/zapier.json +92 -0
  90. package/src/entries/maps/google-maps.json +89 -0
  91. package/src/entries/maps/mapbox.json +87 -0
  92. package/src/entries/media/deepgram.json +84 -0
  93. package/src/entries/media/imgix.json +84 -0
  94. package/src/entries/media/mux.json +94 -0
  95. package/src/entries/messaging/ably.json +94 -0
  96. package/src/entries/messaging/pusher.json +94 -0
  97. package/src/entries/messaging/twilio.json +94 -0
  98. package/src/entries/messaging/vonage.json +89 -0
  99. package/src/entries/notifications/knock.json +84 -0
  100. package/src/entries/notifications/novu.json +84 -0
  101. package/src/entries/notifications/onesignal.json +84 -0
  102. package/src/entries/payments/lemonsqueezy.json +91 -0
  103. package/src/entries/payments/paddle.json +90 -0
  104. package/src/entries/payments/paypal.json +91 -0
  105. package/src/entries/payments/razorpay.json +85 -0
  106. package/src/entries/payments/square.json +91 -0
  107. package/src/entries/payments/stripe.json +96 -0
  108. package/src/entries/scheduling/cal-com.json +90 -0
  109. package/src/entries/scheduling/calendly.json +90 -0
  110. package/src/entries/search/algolia.json +96 -0
  111. package/src/entries/security/arcjet.json +89 -0
  112. package/src/entries/security/snyk.json +90 -0
  113. package/src/entries/storage/cloudinary.json +93 -0
  114. package/src/entries/storage/uploadthing.json +90 -0
  115. package/src/entries/testing/browserstack.json +86 -0
  116. package/src/entries/testing/checkly.json +89 -0
  117. package/src/entries/workflow/inngest.json +88 -0
  118. package/src/entries/workflow/temporal.json +90 -0
  119. package/src/entries/workflow/trigger-dev.json +89 -0
@@ -0,0 +1,142 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>API Oracle</title>
7
+ <link rel="stylesheet" href="/styles.css">
8
+ </head>
9
+ <body>
10
+ <div id="app">
11
+ <aside class="sidebar" id="sidebar">
12
+ <div class="sidebar-header">
13
+ <span class="logo-icon">đź”®</span>
14
+ <span class="logo-text">API Oracle</span>
15
+ </div>
16
+ <nav class="sidebar-nav">
17
+ <a href="#" class="nav-item active" data-view="dashboard">
18
+ <span class="nav-icon">⊞</span> Dashboard
19
+ </a>
20
+ <a href="#report" class="nav-item" data-view="report">
21
+ <span class="nav-icon">đź“‹</span> Refresh Report
22
+ </a>
23
+ <a href="#lint" class="nav-item" data-view="lint">
24
+ <span class="nav-icon">âś“</span> Linter
25
+ </a>
26
+ <a href="#test" class="nav-item" data-view="test">
27
+ <span class="nav-icon">🔍</span> Search Test
28
+ </a>
29
+ </nav>
30
+ <div class="sidebar-categories">
31
+ <div class="sidebar-section-title">Categories</div>
32
+ <div id="category-list">
33
+ <a class="category-item active" data-category="all" href="#category=all">
34
+ All <span class="category-count" id="cat-count-all">—</span>
35
+ </a>
36
+ </div>
37
+ </div>
38
+ </aside>
39
+
40
+ <main class="main">
41
+ <!-- DASHBOARD VIEW -->
42
+ <div id="view-dashboard" class="view active">
43
+ <header class="main-header">
44
+ <div class="stats-bar" id="stats-bar">
45
+ <div class="stat-item"><span class="stat-num" id="stat-total">—</span><span class="stat-label">APIs</span></div>
46
+ <div class="stat-item"><span class="stat-num" id="stat-categories">—</span><span class="stat-label">Categories</span></div>
47
+ <div class="stat-item"><span class="stat-num stat-green" id="stat-fresh">—</span><span class="stat-label">Fresh</span></div>
48
+ <div class="stat-item"><span class="stat-num stat-yellow" id="stat-aging">—</span><span class="stat-label">Aging</span></div>
49
+ <div class="stat-item"><span class="stat-num stat-red" id="stat-stale">—</span><span class="stat-label">Stale+</span></div>
50
+ <div class="stat-item"><span class="stat-num" id="stat-avg-score">—</span><span class="stat-label">Avg Score</span></div>
51
+ </div>
52
+ <div class="search-bar">
53
+ <input
54
+ type="text"
55
+ id="search-input"
56
+ class="search-input"
57
+ placeholder="Search APIs… try 'send emails' or 'deploy my app' or 'real-time chat'"
58
+ autocomplete="off"
59
+ >
60
+ <button class="search-clear" id="search-clear" hidden>âś•</button>
61
+ </div>
62
+ <div class="toolbar">
63
+ <span id="results-count" class="results-count"></span>
64
+ <div class="sort-controls">
65
+ <label class="sort-label">Sort:</label>
66
+ <select id="sort-select" class="sort-select">
67
+ <option value="qualityScore-desc">Quality ↓</option>
68
+ <option value="qualityScore-asc">Quality ↑</option>
69
+ <option value="name-asc">Name A–Z</option>
70
+ <option value="name-desc">Name Z–A</option>
71
+ <option value="lastVerified-desc">Newest first</option>
72
+ <option value="staleness-desc">Most stale</option>
73
+ </select>
74
+ </div>
75
+ </div>
76
+ </header>
77
+
78
+ <div id="entries-grid" class="entries-grid">
79
+ <div class="loading-state">Loading…</div>
80
+ </div>
81
+ </div>
82
+
83
+ <!-- REFRESH REPORT VIEW -->
84
+ <div id="view-report" class="view">
85
+ <header class="view-header">
86
+ <h1>Refresh Report</h1>
87
+ <p class="view-subtitle">Entries that need their information verified and updated.</p>
88
+ </header>
89
+ <div id="report-content" class="report-content">
90
+ <div class="loading-state">Loading…</div>
91
+ </div>
92
+ </div>
93
+
94
+ <!-- LINTER VIEW -->
95
+ <div id="view-lint" class="view">
96
+ <header class="view-header">
97
+ <h1>Quality Linter</h1>
98
+ <p class="view-subtitle">Content quality checks beyond schema validation.</p>
99
+ </header>
100
+ <div id="lint-content" class="lint-content">
101
+ <div class="loading-state">Loading…</div>
102
+ </div>
103
+ </div>
104
+
105
+ <!-- SEARCH TEST VIEW -->
106
+ <div id="view-test" class="view">
107
+ <header class="view-header">
108
+ <h1>Search Test Tool</h1>
109
+ <p class="view-subtitle">Test search quality and inspect score breakdowns.</p>
110
+ </header>
111
+ <div class="search-test-box">
112
+ <div class="search-test-input-row">
113
+ <input type="text" id="test-query-input" class="search-input" placeholder="Enter a search query…">
114
+ <button id="test-query-btn" class="btn btn-primary">Search</button>
115
+ </div>
116
+ <div class="test-presets">
117
+ <span class="preset-label">Try:</span>
118
+ <button class="preset-btn" data-q="send transactional emails">send transactional emails</button>
119
+ <button class="preset-btn" data-q="deploy a Next.js app">deploy a Next.js app</button>
120
+ <button class="preset-btn" data-q="add user authentication">add user authentication</button>
121
+ <button class="preset-btn" data-q="run background jobs">run background jobs</button>
122
+ <button class="preset-btn" data-q="real-time chat">real-time chat</button>
123
+ </div>
124
+ </div>
125
+ <div id="test-results" class="test-results"></div>
126
+ </div>
127
+ </main>
128
+ </div>
129
+
130
+ <!-- DETAIL MODAL -->
131
+ <div id="detail-modal" class="modal-overlay" hidden>
132
+ <div class="modal-container">
133
+ <button class="modal-close" id="modal-close">âś•</button>
134
+ <div id="modal-content" class="modal-content">
135
+ <div class="loading-state">Loading…</div>
136
+ </div>
137
+ </div>
138
+ </div>
139
+
140
+ <script src="/app.js"></script>
141
+ </body>
142
+ </html>