@chaaskit/server 0.1.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 (189) hide show
  1. package/dist/api/admin.js +438 -0
  2. package/dist/api/admin.js.map +1 -0
  3. package/dist/api/agents.js +21 -0
  4. package/dist/api/agents.js.map +1 -0
  5. package/dist/api/api-keys.js +122 -0
  6. package/dist/api/api-keys.js.map +1 -0
  7. package/dist/api/auth.js +399 -0
  8. package/dist/api/auth.js.map +1 -0
  9. package/dist/api/chat.js +900 -0
  10. package/dist/api/chat.js.map +1 -0
  11. package/dist/api/config.js +91 -0
  12. package/dist/api/config.js.map +1 -0
  13. package/dist/api/documents.js +237 -0
  14. package/dist/api/documents.js.map +1 -0
  15. package/dist/api/export.js +107 -0
  16. package/dist/api/export.js.map +1 -0
  17. package/dist/api/health.js +25 -0
  18. package/dist/api/health.js.map +1 -0
  19. package/dist/api/mcp-server.js +84 -0
  20. package/dist/api/mcp-server.js.map +1 -0
  21. package/dist/api/mcp.js +400 -0
  22. package/dist/api/mcp.js.map +1 -0
  23. package/dist/api/mentions.js +94 -0
  24. package/dist/api/mentions.js.map +1 -0
  25. package/dist/api/oauth.js +366 -0
  26. package/dist/api/oauth.js.map +1 -0
  27. package/dist/api/payments.js +473 -0
  28. package/dist/api/payments.js.map +1 -0
  29. package/dist/api/projects.js +301 -0
  30. package/dist/api/projects.js.map +1 -0
  31. package/dist/api/scheduled-prompts.js +617 -0
  32. package/dist/api/scheduled-prompts.js.map +1 -0
  33. package/dist/api/search.js +85 -0
  34. package/dist/api/search.js.map +1 -0
  35. package/dist/api/share.js +188 -0
  36. package/dist/api/share.js.map +1 -0
  37. package/dist/api/slack.js +468 -0
  38. package/dist/api/slack.js.map +1 -0
  39. package/dist/api/teams.js +693 -0
  40. package/dist/api/teams.js.map +1 -0
  41. package/dist/api/templates.js +134 -0
  42. package/dist/api/templates.js.map +1 -0
  43. package/dist/api/threads.js +323 -0
  44. package/dist/api/threads.js.map +1 -0
  45. package/dist/api/upload.js +57 -0
  46. package/dist/api/upload.js.map +1 -0
  47. package/dist/api/user.js +111 -0
  48. package/dist/api/user.js.map +1 -0
  49. package/dist/api/v1/openai.js +245 -0
  50. package/dist/api/v1/openai.js.map +1 -0
  51. package/dist/app.js +168 -0
  52. package/dist/app.js.map +1 -0
  53. package/dist/bin/cli.js +57 -0
  54. package/dist/bin/cli.js.map +1 -0
  55. package/dist/commands/db-sync.js +108 -0
  56. package/dist/commands/db-sync.js.map +1 -0
  57. package/dist/config/loader.js +374 -0
  58. package/dist/config/loader.js.map +1 -0
  59. package/dist/documents/extractors.js +136 -0
  60. package/dist/documents/extractors.js.map +1 -0
  61. package/dist/extensions/glob.js +53 -0
  62. package/dist/extensions/glob.js.map +1 -0
  63. package/dist/extensions/loader.js +72 -0
  64. package/dist/extensions/loader.js.map +1 -0
  65. package/dist/index.js +25 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/loaders/index.js +75 -0
  68. package/dist/loaders/index.js.map +1 -0
  69. package/dist/mcp/client.js +551 -0
  70. package/dist/mcp/client.js.map +1 -0
  71. package/dist/mcp/server.js +335 -0
  72. package/dist/mcp/server.js.map +1 -0
  73. package/dist/middleware/apiKeyAuth.js +136 -0
  74. package/dist/middleware/apiKeyAuth.js.map +1 -0
  75. package/dist/middleware/auth.js +192 -0
  76. package/dist/middleware/auth.js.map +1 -0
  77. package/dist/middleware/errorHandler.js +41 -0
  78. package/dist/middleware/errorHandler.js.map +1 -0
  79. package/dist/middleware/mcpServerAuth.js +164 -0
  80. package/dist/middleware/mcpServerAuth.js.map +1 -0
  81. package/dist/middleware/requestLogger.js +9 -0
  82. package/dist/middleware/requestLogger.js.map +1 -0
  83. package/dist/middleware/team.js +132 -0
  84. package/dist/middleware/team.js.map +1 -0
  85. package/dist/oauth/server.js +410 -0
  86. package/dist/oauth/server.js.map +1 -0
  87. package/dist/queue/cli.js +93 -0
  88. package/dist/queue/cli.js.map +1 -0
  89. package/dist/queue/handlers/index.js +91 -0
  90. package/dist/queue/handlers/index.js.map +1 -0
  91. package/dist/queue/handlers/scheduled-prompt.js +270 -0
  92. package/dist/queue/handlers/scheduled-prompt.js.map +1 -0
  93. package/dist/queue/index.js +91 -0
  94. package/dist/queue/index.js.map +1 -0
  95. package/dist/queue/providers/memory.js +296 -0
  96. package/dist/queue/providers/memory.js.map +1 -0
  97. package/dist/queue/providers/sqs.js +275 -0
  98. package/dist/queue/providers/sqs.js.map +1 -0
  99. package/dist/queue/scheduler.js +355 -0
  100. package/dist/queue/scheduler.js.map +1 -0
  101. package/dist/queue/types.js +5 -0
  102. package/dist/queue/types.js.map +1 -0
  103. package/dist/queue/worker.js +230 -0
  104. package/dist/queue/worker.js.map +1 -0
  105. package/dist/registry/index.js +40 -0
  106. package/dist/registry/index.js.map +1 -0
  107. package/dist/server.js +207 -0
  108. package/dist/server.js.map +1 -0
  109. package/dist/services/agent.js +530 -0
  110. package/dist/services/agent.js.map +1 -0
  111. package/dist/services/agents.js +194 -0
  112. package/dist/services/agents.js.map +1 -0
  113. package/dist/services/documents.js +507 -0
  114. package/dist/services/documents.js.map +1 -0
  115. package/dist/services/email/index.js +91 -0
  116. package/dist/services/email/index.js.map +1 -0
  117. package/dist/services/email/providers/ses.js +97 -0
  118. package/dist/services/email/providers/ses.js.map +1 -0
  119. package/dist/services/email/templates.js +194 -0
  120. package/dist/services/email/templates.js.map +1 -0
  121. package/dist/services/email/types.js +5 -0
  122. package/dist/services/email/types.js.map +1 -0
  123. package/dist/services/encryption.js +69 -0
  124. package/dist/services/encryption.js.map +1 -0
  125. package/dist/services/oauth-discovery.js +226 -0
  126. package/dist/services/oauth-discovery.js.map +1 -0
  127. package/dist/services/pendingConfirmation.js +105 -0
  128. package/dist/services/pendingConfirmation.js.map +1 -0
  129. package/dist/services/scheduledPrompts.js +70 -0
  130. package/dist/services/scheduledPrompts.js.map +1 -0
  131. package/dist/services/slack/client.js +174 -0
  132. package/dist/services/slack/client.js.map +1 -0
  133. package/dist/services/slack/events.js +189 -0
  134. package/dist/services/slack/events.js.map +1 -0
  135. package/dist/services/slack/index.js +6 -0
  136. package/dist/services/slack/index.js.map +1 -0
  137. package/dist/services/slack/notifications.js +124 -0
  138. package/dist/services/slack/notifications.js.map +1 -0
  139. package/dist/services/slack/signature.js +74 -0
  140. package/dist/services/slack/signature.js.map +1 -0
  141. package/dist/services/slack/thread-context.js +191 -0
  142. package/dist/services/slack/thread-context.js.map +1 -0
  143. package/dist/services/toolConfirmation.js +55 -0
  144. package/dist/services/toolConfirmation.js.map +1 -0
  145. package/dist/services/usage.js +241 -0
  146. package/dist/services/usage.js.map +1 -0
  147. package/dist/ssr/build.js +90 -0
  148. package/dist/ssr/build.js.map +1 -0
  149. package/dist/ssr/components/SSRMessageList.js +120 -0
  150. package/dist/ssr/components/SSRMessageList.js.map +1 -0
  151. package/dist/ssr/entry.client.js +8 -0
  152. package/dist/ssr/entry.client.js.map +1 -0
  153. package/dist/ssr/entry.server.js +71 -0
  154. package/dist/ssr/entry.server.js.map +1 -0
  155. package/dist/ssr/handler.js +51 -0
  156. package/dist/ssr/handler.js.map +1 -0
  157. package/dist/ssr/root.js +184 -0
  158. package/dist/ssr/root.js.map +1 -0
  159. package/dist/ssr/routes/login.js +140 -0
  160. package/dist/ssr/routes/login.js.map +1 -0
  161. package/dist/ssr/routes/pricing.js +195 -0
  162. package/dist/ssr/routes/pricing.js.map +1 -0
  163. package/dist/ssr/routes/privacy.js +39 -0
  164. package/dist/ssr/routes/privacy.js.map +1 -0
  165. package/dist/ssr/routes/register.js +148 -0
  166. package/dist/ssr/routes/register.js.map +1 -0
  167. package/dist/ssr/routes/shared.$shareId.js +153 -0
  168. package/dist/ssr/routes/shared.$shareId.js.map +1 -0
  169. package/dist/ssr/routes/terms.js +39 -0
  170. package/dist/ssr/routes/terms.js.map +1 -0
  171. package/dist/storage/index.js +43 -0
  172. package/dist/storage/index.js.map +1 -0
  173. package/dist/storage/providers/database.js +38 -0
  174. package/dist/storage/providers/database.js.map +1 -0
  175. package/dist/storage/providers/filesystem.js +51 -0
  176. package/dist/storage/providers/filesystem.js.map +1 -0
  177. package/dist/storage/types.js +2 -0
  178. package/dist/storage/types.js.map +1 -0
  179. package/dist/tools/documents.js +336 -0
  180. package/dist/tools/documents.js.map +1 -0
  181. package/dist/tools/get-plan-usage.js +82 -0
  182. package/dist/tools/get-plan-usage.js.map +1 -0
  183. package/dist/tools/index.js +106 -0
  184. package/dist/tools/index.js.map +1 -0
  185. package/dist/tools/types.js +2 -0
  186. package/dist/tools/types.js.map +1 -0
  187. package/dist/tools/web-scrape.js +145 -0
  188. package/dist/tools/web-scrape.js.map +1 -0
  189. package/package.json +93 -0
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Converts HTML to plain text by stripping tags and normalizing whitespace
3
+ */
4
+ function htmlToText(html) {
5
+ return html
6
+ // Remove script and style elements entirely
7
+ .replace(/<script[^>]*>[\s\S]*?<\/script>/gi, '')
8
+ .replace(/<style[^>]*>[\s\S]*?<\/style>/gi, '')
9
+ // Remove HTML comments
10
+ .replace(/<!--[\s\S]*?-->/g, '')
11
+ // Replace block elements with newlines
12
+ .replace(/<\/(p|div|h[1-6]|li|tr|br|hr)[^>]*>/gi, '\n')
13
+ .replace(/<(br|hr)[^>]*\/?>/gi, '\n')
14
+ // Remove remaining tags
15
+ .replace(/<[^>]+>/g, '')
16
+ // Decode common HTML entities
17
+ .replace(/&nbsp;/g, ' ')
18
+ .replace(/&amp;/g, '&')
19
+ .replace(/&lt;/g, '<')
20
+ .replace(/&gt;/g, '>')
21
+ .replace(/&quot;/g, '"')
22
+ .replace(/&#39;/g, "'")
23
+ .replace(/&#(\d+);/g, (_, code) => String.fromCharCode(parseInt(code, 10)))
24
+ // Normalize whitespace
25
+ .replace(/[ \t]+/g, ' ')
26
+ .replace(/\n\s*\n/g, '\n\n')
27
+ .trim();
28
+ }
29
+ /**
30
+ * Truncates text to a maximum length, preserving word boundaries
31
+ */
32
+ function truncateText(text, maxLength) {
33
+ if (text.length <= maxLength)
34
+ return text;
35
+ const truncated = text.slice(0, maxLength);
36
+ const lastSpace = truncated.lastIndexOf(' ');
37
+ if (lastSpace > maxLength * 0.8) {
38
+ return truncated.slice(0, lastSpace) + '...';
39
+ }
40
+ return truncated + '...';
41
+ }
42
+ export const webScrapeTool = {
43
+ name: 'web-scrape',
44
+ description: 'Fetches the content of a web page and returns it as plain text. Useful for reading articles, documentation, or any web content.',
45
+ inputSchema: {
46
+ type: 'object',
47
+ properties: {
48
+ url: {
49
+ type: 'string',
50
+ description: 'The URL of the web page to fetch',
51
+ },
52
+ maxLength: {
53
+ type: 'number',
54
+ description: 'Maximum number of characters to return (default: 50000)',
55
+ default: 50000,
56
+ },
57
+ },
58
+ required: ['url'],
59
+ },
60
+ async execute(input, _context) {
61
+ const url = input.url;
62
+ const maxLength = input.maxLength || 50000;
63
+ // Validate URL
64
+ let parsedUrl;
65
+ try {
66
+ parsedUrl = new URL(url);
67
+ }
68
+ catch {
69
+ return {
70
+ content: [{ type: 'text', text: `Invalid URL: ${url}` }],
71
+ isError: true,
72
+ };
73
+ }
74
+ // Only allow http/https
75
+ if (!['http:', 'https:'].includes(parsedUrl.protocol)) {
76
+ return {
77
+ content: [{ type: 'text', text: `Invalid protocol: ${parsedUrl.protocol}. Only http and https are allowed.` }],
78
+ isError: true,
79
+ };
80
+ }
81
+ try {
82
+ const controller = new AbortController();
83
+ const timeout = setTimeout(() => controller.abort(), 30000); // 30 second timeout
84
+ const response = await fetch(url, {
85
+ headers: {
86
+ 'User-Agent': 'Mozilla/5.0 (compatible; ChatBot/1.0)',
87
+ 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
88
+ },
89
+ signal: controller.signal,
90
+ redirect: 'follow',
91
+ });
92
+ clearTimeout(timeout);
93
+ if (!response.ok) {
94
+ return {
95
+ content: [{ type: 'text', text: `HTTP error: ${response.status} ${response.statusText}` }],
96
+ isError: true,
97
+ };
98
+ }
99
+ const contentType = response.headers.get('content-type') || '';
100
+ // Handle different content types
101
+ if (contentType.includes('application/json')) {
102
+ const json = await response.json();
103
+ const text = JSON.stringify(json, null, 2);
104
+ return {
105
+ content: [{
106
+ type: 'text',
107
+ text: truncateText(text, maxLength),
108
+ }],
109
+ };
110
+ }
111
+ if (contentType.includes('text/plain')) {
112
+ const text = await response.text();
113
+ return {
114
+ content: [{
115
+ type: 'text',
116
+ text: truncateText(text, maxLength),
117
+ }],
118
+ };
119
+ }
120
+ // Default: treat as HTML
121
+ const html = await response.text();
122
+ const text = htmlToText(html);
123
+ return {
124
+ content: [{
125
+ type: 'text',
126
+ text: truncateText(text, maxLength),
127
+ }],
128
+ };
129
+ }
130
+ catch (error) {
131
+ const message = error instanceof Error ? error.message : 'Unknown error';
132
+ if (message.includes('abort')) {
133
+ return {
134
+ content: [{ type: 'text', text: 'Request timed out after 30 seconds' }],
135
+ isError: true,
136
+ };
137
+ }
138
+ return {
139
+ content: [{ type: 'text', text: `Failed to fetch URL: ${message}` }],
140
+ isError: true,
141
+ };
142
+ }
143
+ },
144
+ };
145
+ //# sourceMappingURL=web-scrape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-scrape.js","sourceRoot":"","sources":["../../src/tools/web-scrape.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,93 @@
1
+ {
2
+ "name": "@chaaskit/server",
3
+ "version": "0.1.0",
4
+ "description": "Express.js backend server for ChaasKit AI chat applications",
5
+ "license": "MIT",
6
+ "author": "Matt Ferrante <@ferrants>",
7
+ "homepage": "https://chaaskit.com",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/ferrants/chaaskit.git",
11
+ "directory": "packages/server"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/ferrants/chaaskit/issues"
15
+ },
16
+ "keywords": ["chaaskit", "ai", "chat", "saas", "server", "express", "anthropic", "openai"],
17
+ "type": "module",
18
+ "main": "./dist/index.js",
19
+ "types": "./dist/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/index.d.ts",
23
+ "import": "./dist/index.js"
24
+ },
25
+ "./loaders": {
26
+ "types": "./dist/loaders/index.d.ts",
27
+ "import": "./dist/loaders/index.js"
28
+ }
29
+ },
30
+ "bin": {
31
+ "chaaskit-server": "./dist/bin/cli.js",
32
+ "chaaskit-worker": "./dist/queue/cli.js"
33
+ },
34
+ "files": [
35
+ "dist"
36
+ ],
37
+ "scripts": {
38
+ "build": "tsc",
39
+ "dev": "tsx watch --clear-screen=false --watch=../../config --watch=src src/bin/cli.ts",
40
+ "start": "node dist/bin/cli.js",
41
+ "typecheck": "tsc --noEmit",
42
+ "clean": "rm -rf dist"
43
+ },
44
+ "dependencies": {
45
+ "@anthropic-ai/sdk": "^0.71.0",
46
+ "@chaaskit/db": "^0.1.0",
47
+ "@chaaskit/shared": "^0.1.0",
48
+ "@modelcontextprotocol/sdk": "^1.0.0",
49
+ "bcryptjs": "^2.4.3",
50
+ "cookie-parser": "^1.4.6",
51
+ "cors": "^2.8.5",
52
+ "cron-parser": "^5.5.0",
53
+ "dotenv": "^16.4.1",
54
+ "express": "^4.18.2",
55
+ "express-rate-limit": "^7.1.5",
56
+ "helmet": "^7.1.0",
57
+ "jiti": "^2.4.0",
58
+ "jsonwebtoken": "^9.0.2",
59
+ "multer": "^1.4.5-lts.1",
60
+ "openai": "^4.28.0",
61
+ "passport": "^0.7.0",
62
+ "passport-github2": "^0.1.12",
63
+ "passport-google-oauth20": "^2.0.0",
64
+ "passport-local": "^1.0.0",
65
+ "stripe": "^14.14.0",
66
+ "uuid": "^9.0.1",
67
+ "zod": "^3.22.4"
68
+ },
69
+ "peerDependencies": {
70
+ "@aws-sdk/client-sqs": "^3.0.0"
71
+ },
72
+ "peerDependenciesMeta": {
73
+ "@aws-sdk/client-sqs": {
74
+ "optional": true
75
+ }
76
+ },
77
+ "devDependencies": {
78
+ "@aws-sdk/client-sqs": "^3.0.0",
79
+ "@types/bcryptjs": "^2.4.6",
80
+ "@types/cookie-parser": "^1.4.6",
81
+ "@types/cors": "^2.8.17",
82
+ "@types/express": "^4.17.21",
83
+ "@types/jsonwebtoken": "^9.0.5",
84
+ "@types/multer": "^1.4.11",
85
+ "@types/passport": "^1.0.16",
86
+ "@types/passport-github2": "^1.2.9",
87
+ "@types/passport-google-oauth20": "^2.0.14",
88
+ "@types/passport-local": "^1.0.38",
89
+ "@types/uuid": "^9.0.8",
90
+ "tsx": "^4.7.0",
91
+ "typescript": "^5.3.3"
92
+ }
93
+ }