@multiplayer-app/sandbox 0.0.1
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.
- package/dist/agents/filingramp-fetch.agent.d.ts +4 -0
- package/dist/agents/filingramp-fetch.agent.d.ts.map +1 -0
- package/dist/agents/filingramp-fetch.agent.js +195 -0
- package/dist/agents/filingramp-fetch.agent.js.map +1 -0
- package/dist/agents/html-generator.agent.d.ts +4 -0
- package/dist/agents/html-generator.agent.d.ts.map +1 -0
- package/dist/agents/html-generator.agent.js +93 -0
- package/dist/agents/html-generator.agent.js.map +1 -0
- package/dist/agents/knowledge/filingramp-endpoints.d.ts +23 -0
- package/dist/agents/knowledge/filingramp-endpoints.d.ts.map +1 -0
- package/dist/agents/knowledge/filingramp-endpoints.js +116 -0
- package/dist/agents/knowledge/filingramp-endpoints.js.map +1 -0
- package/dist/agents/markdown-generator.agent.d.ts +4 -0
- package/dist/agents/markdown-generator.agent.d.ts.map +1 -0
- package/dist/agents/markdown-generator.agent.js +101 -0
- package/dist/agents/markdown-generator.agent.js.map +1 -0
- package/dist/agents/shared/publish-session-artifacts.tool.d.ts +21 -0
- package/dist/agents/shared/publish-session-artifacts.tool.d.ts.map +1 -0
- package/dist/agents/shared/publish-session-artifacts.tool.js +106 -0
- package/dist/agents/shared/publish-session-artifacts.tool.js.map +1 -0
- package/dist/agents.d.ts +5 -0
- package/dist/agents.d.ts.map +1 -0
- package/dist/agents.js +14 -0
- package/dist/agents.js.map +1 -0
- package/dist/ai-agent.service.d.ts +10 -0
- package/dist/ai-agent.service.d.ts.map +1 -0
- package/dist/ai-agent.service.js +29 -0
- package/dist/ai-agent.service.js.map +1 -0
- package/dist/builder-api-config.d.ts +31 -0
- package/dist/builder-api-config.d.ts.map +1 -0
- package/dist/builder-api-config.js +60 -0
- package/dist/builder-api-config.js.map +1 -0
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +18 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +23 -0
- package/dist/context.js.map +1 -0
- package/dist/create-builder-api.d.ts +30 -0
- package/dist/create-builder-api.d.ts.map +1 -0
- package/dist/create-builder-api.js +63 -0
- package/dist/create-builder-api.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/session-pages/default-session-styles.d.ts +6 -0
- package/dist/lib/session-pages/default-session-styles.d.ts.map +1 -0
- package/dist/lib/session-pages/default-session-styles.js +503 -0
- package/dist/lib/session-pages/default-session-styles.js.map +1 -0
- package/dist/lib/session-pages/index.d.ts +7 -0
- package/dist/lib/session-pages/index.d.ts.map +1 -0
- package/dist/lib/session-pages/index.js +20 -0
- package/dist/lib/session-pages/index.js.map +1 -0
- package/dist/lib/session-pages/list-session-artifacts.d.ts +6 -0
- package/dist/lib/session-pages/list-session-artifacts.d.ts.map +1 -0
- package/dist/lib/session-pages/list-session-artifacts.js +40 -0
- package/dist/lib/session-pages/list-session-artifacts.js.map +1 -0
- package/dist/lib/session-pages/paths.d.ts +7 -0
- package/dist/lib/session-pages/paths.d.ts.map +1 -0
- package/dist/lib/session-pages/paths.js +49 -0
- package/dist/lib/session-pages/paths.js.map +1 -0
- package/dist/lib/session-pages/resolve-artifact-notify-user-ids.d.ts +3 -0
- package/dist/lib/session-pages/resolve-artifact-notify-user-ids.d.ts.map +1 -0
- package/dist/lib/session-pages/resolve-artifact-notify-user-ids.js +28 -0
- package/dist/lib/session-pages/resolve-artifact-notify-user-ids.js.map +1 -0
- package/dist/lib/session-pages/resolve-chat-id.d.ts +21 -0
- package/dist/lib/session-pages/resolve-chat-id.d.ts.map +1 -0
- package/dist/lib/session-pages/resolve-chat-id.js +64 -0
- package/dist/lib/session-pages/resolve-chat-id.js.map +1 -0
- package/dist/lib/session-pages/write-session-artifacts.d.ts +27 -0
- package/dist/lib/session-pages/write-session-artifacts.d.ts.map +1 -0
- package/dist/lib/session-pages/write-session-artifacts.js +72 -0
- package/dist/lib/session-pages/write-session-artifacts.js.map +1 -0
- package/dist/lib/socket/artifact-events.d.ts +14 -0
- package/dist/lib/socket/artifact-events.d.ts.map +1 -0
- package/dist/lib/socket/artifact-events.js +31 -0
- package/dist/lib/socket/artifact-events.js.map +1 -0
- package/dist/lib/socketIdFromRequest.d.ts +4 -0
- package/dist/lib/socketIdFromRequest.d.ts.map +1 -0
- package/dist/lib/socketIdFromRequest.js +13 -0
- package/dist/lib/socketIdFromRequest.js.map +1 -0
- package/dist/logger.d.ts +7 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +20 -0
- package/dist/logger.js.map +1 -0
- package/dist/middleware/attachDemoUser.d.ts +11 -0
- package/dist/middleware/attachDemoUser.d.ts.map +1 -0
- package/dist/middleware/attachDemoUser.js +23 -0
- package/dist/middleware/attachDemoUser.js.map +1 -0
- package/dist/realtime/init-realtime.d.ts +11 -0
- package/dist/realtime/init-realtime.d.ts.map +1 -0
- package/dist/realtime/init-realtime.js +48 -0
- package/dist/realtime/init-realtime.js.map +1 -0
- package/dist/realtime/reset-session-artifact-y-docs.d.ts +2 -0
- package/dist/realtime/reset-session-artifact-y-docs.d.ts.map +1 -0
- package/dist/realtime/reset-session-artifact-y-docs.js +9 -0
- package/dist/realtime/reset-session-artifact-y-docs.js.map +1 -0
- package/dist/realtime/session-artifact-document-id.d.ts +6 -0
- package/dist/realtime/session-artifact-document-id.d.ts.map +1 -0
- package/dist/realtime/session-artifact-document-id.js +34 -0
- package/dist/realtime/session-artifact-document-id.js.map +1 -0
- package/dist/realtime/session-artifact-y-socket-io.d.ts +18 -0
- package/dist/realtime/session-artifact-y-socket-io.d.ts.map +1 -0
- package/dist/realtime/session-artifact-y-socket-io.js +106 -0
- package/dist/realtime/session-artifact-y-socket-io.js.map +1 -0
- package/dist/realtime/session-artifact-yjs-store.d.ts +18 -0
- package/dist/realtime/session-artifact-yjs-store.d.ts.map +1 -0
- package/dist/realtime/session-artifact-yjs-store.js +147 -0
- package/dist/realtime/session-artifact-yjs-store.js.map +1 -0
- package/dist/routes/chats/abort.d.ts +3 -0
- package/dist/routes/chats/abort.d.ts.map +1 -0
- package/dist/routes/chats/abort.js +18 -0
- package/dist/routes/chats/abort.js.map +1 -0
- package/dist/routes/chats/actions.d.ts +3 -0
- package/dist/routes/chats/actions.d.ts.map +1 -0
- package/dist/routes/chats/actions.js +36 -0
- package/dist/routes/chats/actions.js.map +1 -0
- package/dist/routes/chats/artifacts.d.ts +3 -0
- package/dist/routes/chats/artifacts.d.ts.map +1 -0
- package/dist/routes/chats/artifacts.js +12 -0
- package/dist/routes/chats/artifacts.js.map +1 -0
- package/dist/routes/chats/delete.d.ts +3 -0
- package/dist/routes/chats/delete.d.ts.map +1 -0
- package/dist/routes/chats/delete.js +17 -0
- package/dist/routes/chats/delete.js.map +1 -0
- package/dist/routes/chats/get.d.ts +3 -0
- package/dist/routes/chats/get.d.ts.map +1 -0
- package/dist/routes/chats/get.js +17 -0
- package/dist/routes/chats/get.js.map +1 -0
- package/dist/routes/chats/getStream.d.ts +3 -0
- package/dist/routes/chats/getStream.d.ts.map +1 -0
- package/dist/routes/chats/getStream.js +57 -0
- package/dist/routes/chats/getStream.js.map +1 -0
- package/dist/routes/chats/index.d.ts +2 -0
- package/dist/routes/chats/index.d.ts.map +1 -0
- package/dist/routes/chats/index.js +31 -0
- package/dist/routes/chats/index.js.map +1 -0
- package/dist/routes/chats/list.d.ts +3 -0
- package/dist/routes/chats/list.d.ts.map +1 -0
- package/dist/routes/chats/list.js +40 -0
- package/dist/routes/chats/list.js.map +1 -0
- package/dist/routes/chats/messages.d.ts +3 -0
- package/dist/routes/chats/messages.d.ts.map +1 -0
- package/dist/routes/chats/messages.js +27 -0
- package/dist/routes/chats/messages.js.map +1 -0
- package/dist/routes/chats/multiUserMessages.d.ts +3 -0
- package/dist/routes/chats/multiUserMessages.d.ts.map +1 -0
- package/dist/routes/chats/multiUserMessages.js +43 -0
- package/dist/routes/chats/multiUserMessages.js.map +1 -0
- package/dist/routes/chats/stream.d.ts +3 -0
- package/dist/routes/chats/stream.d.ts.map +1 -0
- package/dist/routes/chats/stream.js +78 -0
- package/dist/routes/chats/stream.js.map +1 -0
- package/dist/routes/chats/title.d.ts +3 -0
- package/dist/routes/chats/title.d.ts.map +1 -0
- package/dist/routes/chats/title.js +22 -0
- package/dist/routes/chats/title.js.map +1 -0
- package/dist/routes/chats/updateToolCall.d.ts +3 -0
- package/dist/routes/chats/updateToolCall.d.ts.map +1 -0
- package/dist/routes/chats/updateToolCall.js +49 -0
- package/dist/routes/chats/updateToolCall.js.map +1 -0
- package/dist/routes/files/index.d.ts +2 -0
- package/dist/routes/files/index.d.ts.map +1 -0
- package/dist/routes/files/index.js +8 -0
- package/dist/routes/files/index.js.map +1 -0
- package/dist/routes/files/upload.d.ts +3 -0
- package/dist/routes/files/upload.d.ts.map +1 -0
- package/dist/routes/files/upload.js +69 -0
- package/dist/routes/files/upload.js.map +1 -0
- package/dist/routes/health/get.d.ts +3 -0
- package/dist/routes/health/get.d.ts.map +1 -0
- package/dist/routes/health/get.js +13 -0
- package/dist/routes/health/get.js.map +1 -0
- package/dist/routes/health/index.d.ts +2 -0
- package/dist/routes/health/index.d.ts.map +1 -0
- package/dist/routes/health/index.js +8 -0
- package/dist/routes/health/index.js.map +1 -0
- package/dist/routes/models/get.d.ts +3 -0
- package/dist/routes/models/get.d.ts.map +1 -0
- package/dist/routes/models/get.js +11 -0
- package/dist/routes/models/get.js.map +1 -0
- package/dist/routes/models/index.d.ts +2 -0
- package/dist/routes/models/index.d.ts.map +1 -0
- package/dist/routes/models/index.js +8 -0
- package/dist/routes/models/index.js.map +1 -0
- package/dist/routes/schemas.d.ts +725 -0
- package/dist/routes/schemas.d.ts.map +1 -0
- package/dist/routes/schemas.js +92 -0
- package/dist/routes/schemas.js.map +1 -0
- package/dist/routes/sessions.d.ts +2 -0
- package/dist/routes/sessions.d.ts.map +1 -0
- package/dist/routes/sessions.js +51 -0
- package/dist/routes/sessions.js.map +1 -0
- package/dist/server.d.ts +13 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +36 -0
- package/dist/server.js.map +1 -0
- package/package.json +33 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.publishArtifactsInputSchema = void 0;
|
|
4
|
+
exports.basicHtmlValidation = basicHtmlValidation;
|
|
5
|
+
exports.createPublishSessionArtifactsTool = createPublishSessionArtifactsTool;
|
|
6
|
+
const ai_agent_types_1 = require("@multiplayer-app/ai-agent-types");
|
|
7
|
+
const zod_1 = require("zod");
|
|
8
|
+
const artifact_events_1 = require("../../lib/socket/artifact-events");
|
|
9
|
+
const session_pages_1 = require("../../lib/session-pages");
|
|
10
|
+
const artifactFileSchema = zod_1.z.object({
|
|
11
|
+
path: zod_1.z
|
|
12
|
+
.string()
|
|
13
|
+
.min(1)
|
|
14
|
+
.describe('Relative path under the session folder, e.g. index.html, styles.css, script.js, lib/utils.js'),
|
|
15
|
+
content: zod_1.z.string().describe('File contents (text)'),
|
|
16
|
+
});
|
|
17
|
+
exports.publishArtifactsInputSchema = zod_1.z.object({
|
|
18
|
+
label: zod_1.z.string().optional().describe('Short description of what was published'),
|
|
19
|
+
files: zod_1.z.array(artifactFileSchema).min(1).max(32),
|
|
20
|
+
previewPath: zod_1.z
|
|
21
|
+
.string()
|
|
22
|
+
.optional()
|
|
23
|
+
.describe('Which published file to open in preview (default index.html)'),
|
|
24
|
+
includeBaseStyles: zod_1.z
|
|
25
|
+
.boolean()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe('Merge default styles into styles.css when present (default true)'),
|
|
28
|
+
});
|
|
29
|
+
function basicHtmlValidation(html) {
|
|
30
|
+
const errors = [];
|
|
31
|
+
const warnings = [];
|
|
32
|
+
if (!html.trim()) {
|
|
33
|
+
errors.push('HTML is empty');
|
|
34
|
+
}
|
|
35
|
+
return { valid: errors.length === 0, warnings, errors };
|
|
36
|
+
}
|
|
37
|
+
function createPublishSessionArtifactsTool(options) {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
const needsApproval = (_a = options === null || options === void 0 ? void 0 : options.needsApproval) !== null && _a !== void 0 ? _a : true;
|
|
40
|
+
const validateIndexHtml = (_b = options === null || options === void 0 ? void 0 : options.validateIndexHtml) !== null && _b !== void 0 ? _b : true;
|
|
41
|
+
return {
|
|
42
|
+
type: ai_agent_types_1.AgentToolType.LOCAL_FUNCTION,
|
|
43
|
+
userConfigurable: true,
|
|
44
|
+
data: {
|
|
45
|
+
title: 'publishSessionArtifacts',
|
|
46
|
+
needsApproval,
|
|
47
|
+
description: 'Write or update one or more files under sessions/{chatId}/. Only paths listed in `files` are written; other existing session files are left unchanged. Returns the full artifact list.',
|
|
48
|
+
inputSchema: exports.publishArtifactsInputSchema,
|
|
49
|
+
outputSchema: zod_1.z.object({
|
|
50
|
+
sessionId: zod_1.z.string(),
|
|
51
|
+
label: zod_1.z.string().optional(),
|
|
52
|
+
previewUrl: zod_1.z.string(),
|
|
53
|
+
artifacts: zod_1.z.array(zod_1.z.object({
|
|
54
|
+
path: zod_1.z.string(),
|
|
55
|
+
bytes: zod_1.z.number(),
|
|
56
|
+
})),
|
|
57
|
+
updatedArtifacts: zod_1.z.array(zod_1.z.object({
|
|
58
|
+
path: zod_1.z.string(),
|
|
59
|
+
bytes: zod_1.z.number(),
|
|
60
|
+
})),
|
|
61
|
+
publishedAt: zod_1.z.string(),
|
|
62
|
+
}),
|
|
63
|
+
execute: async (input, context, secondArg) => {
|
|
64
|
+
var _a, _b, _c;
|
|
65
|
+
if (validateIndexHtml) {
|
|
66
|
+
const indexFile = input.files.find((f) => (0, session_pages_1.normalizeArtifactPath)(f.path) === 'index.html');
|
|
67
|
+
if (indexFile) {
|
|
68
|
+
const validation = basicHtmlValidation(indexFile.content);
|
|
69
|
+
if (!validation.valid) {
|
|
70
|
+
throw new Error(validation.errors.join('; ') || 'index.html validation failed');
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const sessionId = await (0, session_pages_1.resolveChatId)(context, secondArg);
|
|
75
|
+
const defaultPreviewPath = (_b = (_a = input.files[0]) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : 'index.html';
|
|
76
|
+
const previewPathInput = (_c = input.previewPath) !== null && _c !== void 0 ? _c : defaultPreviewPath;
|
|
77
|
+
const stored = await (0, session_pages_1.writeSessionArtifacts)({
|
|
78
|
+
sessionId,
|
|
79
|
+
files: input.files,
|
|
80
|
+
previewPath: previewPathInput,
|
|
81
|
+
includeBaseStyles: input.includeBaseStyles,
|
|
82
|
+
});
|
|
83
|
+
const publishedAt = new Date().toISOString();
|
|
84
|
+
const previewPath = (0, session_pages_1.normalizeArtifactPath)(previewPathInput);
|
|
85
|
+
const socketPayload = {
|
|
86
|
+
sessionId,
|
|
87
|
+
files: stored.artifacts,
|
|
88
|
+
previewUrl: stored.previewUrl,
|
|
89
|
+
previewPath,
|
|
90
|
+
publishedAt,
|
|
91
|
+
};
|
|
92
|
+
const notifyUserIds = await (0, session_pages_1.resolveArtifactNotifyUserIds)(sessionId, context);
|
|
93
|
+
(0, artifact_events_1.emitArtifactUpdateToUsers)(notifyUserIds, socketPayload);
|
|
94
|
+
return {
|
|
95
|
+
sessionId,
|
|
96
|
+
label: input.label,
|
|
97
|
+
previewUrl: stored.previewUrl,
|
|
98
|
+
artifacts: stored.artifacts,
|
|
99
|
+
updatedArtifacts: stored.updatedArtifacts,
|
|
100
|
+
publishedAt,
|
|
101
|
+
};
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=publish-session-artifacts.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-session-artifacts.tool.js","sourceRoot":"","sources":["../../../src/agents/shared/publish-session-artifacts.tool.ts"],"names":[],"mappings":"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"}
|
package/dist/agents.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ConfigStore } from '@multiplayer-app/ai-agent-node';
|
|
2
|
+
import type { BuilderApiAgentDeps } from './builder-api-config';
|
|
3
|
+
export declare function setupAgents(configStore: ConfigStore, deps: BuilderApiAgentDeps): void;
|
|
4
|
+
export declare function createSetupAgents(deps: BuilderApiAgentDeps): (configStore: ConfigStore) => void;
|
|
5
|
+
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAI/D,wBAAgB,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAGrF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAE/F"}
|
package/dist/agents.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupAgents = setupAgents;
|
|
4
|
+
exports.createSetupAgents = createSetupAgents;
|
|
5
|
+
const html_generator_agent_1 = require("./agents/html-generator.agent");
|
|
6
|
+
const markdown_generator_agent_1 = require("./agents/markdown-generator.agent");
|
|
7
|
+
function setupAgents(configStore, deps) {
|
|
8
|
+
configStore.addAgent(['main', 'html-generator'], (0, html_generator_agent_1.createHtmlGeneratorAgent)(deps));
|
|
9
|
+
configStore.addAgent(['main', 'markdown-generator'], (0, markdown_generator_agent_1.createMarkdownGeneratorAgent)(deps));
|
|
10
|
+
}
|
|
11
|
+
function createSetupAgents(deps) {
|
|
12
|
+
return (configStore) => setupAgents(configStore, deps);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":";;AAKA,kCAGC;AAED,8CAEC;AAVD,wEAAwE;AACxE,gFAAgF;AAEhF,SAAgB,WAAW,CAAC,WAAwB,EAAE,IAAyB;IAC7E,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,IAAA,+CAAwB,EAAC,IAAI,CAAC,CAAC,CAAA;IAChF,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,IAAA,uDAA4B,EAAC,IAAI,CAAC,CAAC,CAAA;AAC1F,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAyB;IACzD,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AACxD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AIAgentService, type AIAgentServiceOptions } from '@multiplayer-app/ai-agent-node';
|
|
2
|
+
export declare class AgentServiceStore {
|
|
3
|
+
private static instance;
|
|
4
|
+
private aiAgentService;
|
|
5
|
+
private constructor();
|
|
6
|
+
initialize(options: AIAgentServiceOptions): void;
|
|
7
|
+
get service(): AIAgentService;
|
|
8
|
+
static getInstance(): AgentServiceStore;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ai-agent.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-agent.service.d.ts","sourceRoot":"","sources":["../src/ai-agent.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAG3F,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAE1C,OAAO,CAAC,cAAc,CAA4B;IAElD,OAAO;IAEA,UAAU,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAYvD,IAAW,OAAO,IAAI,cAAc,CAKnC;WAEa,WAAW,IAAI,iBAAiB;CAM/C"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentServiceStore = void 0;
|
|
4
|
+
const ai_agent_node_1 = require("@multiplayer-app/ai-agent-node");
|
|
5
|
+
const resolve_chat_id_1 = require("./lib/session-pages/resolve-chat-id");
|
|
6
|
+
class AgentServiceStore {
|
|
7
|
+
constructor() { }
|
|
8
|
+
initialize(options) {
|
|
9
|
+
if (this.aiAgentService) {
|
|
10
|
+
throw new Error('Agent service already initialized');
|
|
11
|
+
}
|
|
12
|
+
this.aiAgentService = new ai_agent_node_1.AIAgentService(options);
|
|
13
|
+
(0, resolve_chat_id_1.patchChatProcessorWithSessionContext)(this.aiAgentService.getChatProcessor());
|
|
14
|
+
}
|
|
15
|
+
get service() {
|
|
16
|
+
if (!this.aiAgentService) {
|
|
17
|
+
throw new Error('Agent service not initialized');
|
|
18
|
+
}
|
|
19
|
+
return this.aiAgentService;
|
|
20
|
+
}
|
|
21
|
+
static getInstance() {
|
|
22
|
+
if (!AgentServiceStore.instance) {
|
|
23
|
+
AgentServiceStore.instance = new AgentServiceStore();
|
|
24
|
+
}
|
|
25
|
+
return AgentServiceStore.instance;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.AgentServiceStore = AgentServiceStore;
|
|
29
|
+
//# sourceMappingURL=ai-agent.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-agent.service.js","sourceRoot":"","sources":["../src/ai-agent.service.ts"],"names":[],"mappings":";;;AAAA,kEAA2F;AAC3F,yEAA0F;AAE1F,MAAa,iBAAiB;IAK5B,gBAAuB,CAAC;IAEjB,UAAU,CAAC,OAA8B;QAC9C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACtD,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,8BAAc,CAAC,OAAO,CAAC,CAAA;QACjD,IAAA,sDAAoC,EAClC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAEhC,CACL,CAAA;IACH,CAAC;IAED,IAAW,OAAO;QAChB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAChC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAA;QACtD,CAAC;QACD,OAAO,iBAAiB,CAAC,QAAQ,CAAA;IACnC,CAAC;CACF;AAhCD,8CAgCC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface BuilderApiConfig {
|
|
2
|
+
server: {
|
|
3
|
+
port: number;
|
|
4
|
+
host: string;
|
|
5
|
+
nodeEnv: string;
|
|
6
|
+
isTest: boolean;
|
|
7
|
+
};
|
|
8
|
+
apiPrefix: string;
|
|
9
|
+
corsOrigin: boolean | string | string[];
|
|
10
|
+
ai: {
|
|
11
|
+
defaultModel?: string;
|
|
12
|
+
};
|
|
13
|
+
attachments: {
|
|
14
|
+
maxFileSize: number;
|
|
15
|
+
maxTotalAttachmentsSize: number;
|
|
16
|
+
maxFilesPerMessage: number;
|
|
17
|
+
allowedMimeTypes?: string[];
|
|
18
|
+
s3: {
|
|
19
|
+
bucket: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
sessions: {
|
|
23
|
+
rootDir: string;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export interface BuilderApiAgentDeps {
|
|
27
|
+
defaultModel?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare function agentDepsFromConfig(config: BuilderApiConfig): BuilderApiAgentDeps;
|
|
30
|
+
export declare function loadBuilderApiConfigFromEnv(env?: NodeJS.ProcessEnv, cwd?: string): BuilderApiConfig;
|
|
31
|
+
//# sourceMappingURL=builder-api-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder-api-config.d.ts","sourceRoot":"","sources":["../src/builder-api-config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;IACvC,EAAE,EAAE;QACF,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;IACD,WAAW,EAAE;QACX,WAAW,EAAE,MAAM,CAAA;QACnB,uBAAuB,EAAE,MAAM,CAAA;QAC/B,kBAAkB,EAAE,MAAM,CAAA;QAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;QAC3B,EAAE,EAAE;YACF,MAAM,EAAE,MAAM,CAAA;SACf,CAAA;KACF,CAAA;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,mBAAmB,CAIjF;AAYD,wBAAgB,2BAA2B,CACzC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,GAAG,GAAE,MAAsB,GAC1B,gBAAgB,CAiClB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.agentDepsFromConfig = agentDepsFromConfig;
|
|
7
|
+
exports.loadBuilderApiConfigFromEnv = loadBuilderApiConfigFromEnv;
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
function agentDepsFromConfig(config) {
|
|
10
|
+
return {
|
|
11
|
+
defaultModel: config.ai.defaultModel,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function parseCorsOrigin(raw) {
|
|
15
|
+
if (raw === undefined || raw === '')
|
|
16
|
+
return true;
|
|
17
|
+
if (raw === 'true')
|
|
18
|
+
return true;
|
|
19
|
+
if (raw === 'false')
|
|
20
|
+
return false;
|
|
21
|
+
if (raw.includes(',')) {
|
|
22
|
+
return raw.split(',').map((s) => s.trim());
|
|
23
|
+
}
|
|
24
|
+
return raw;
|
|
25
|
+
}
|
|
26
|
+
function loadBuilderApiConfigFromEnv(env = process.env, cwd = process.cwd()) {
|
|
27
|
+
var _a, _b, _c, _d, _e;
|
|
28
|
+
const nodeEnv = (_a = env.NODE_ENV) !== null && _a !== void 0 ? _a : 'development';
|
|
29
|
+
const port = Number.parseInt((_b = env.PORT) !== null && _b !== void 0 ? _b : '3000', 10);
|
|
30
|
+
const host = (_c = env.HOST) !== null && _c !== void 0 ? _c : '0.0.0.0';
|
|
31
|
+
const apiPrefix = (_d = env.API_PREFIX) !== null && _d !== void 0 ? _d : '/v0/api';
|
|
32
|
+
return {
|
|
33
|
+
server: {
|
|
34
|
+
port,
|
|
35
|
+
host,
|
|
36
|
+
nodeEnv,
|
|
37
|
+
isTest: nodeEnv === 'test',
|
|
38
|
+
},
|
|
39
|
+
apiPrefix,
|
|
40
|
+
corsOrigin: parseCorsOrigin(env.CORS_ORIGIN),
|
|
41
|
+
ai: {
|
|
42
|
+
defaultModel: env.MP_AI_DEFAULT_MODEL,
|
|
43
|
+
},
|
|
44
|
+
attachments: {
|
|
45
|
+
maxFileSize: Number(env.MAX_FILE_SIZE) || 10 * 1024 * 1024,
|
|
46
|
+
maxTotalAttachmentsSize: Number(env.MAX_TOTAL_ATTACHMENTS_SIZE) || 50 * 1024 * 1024,
|
|
47
|
+
maxFilesPerMessage: Number(env.MAX_FILES_PER_MESSAGE) || 10,
|
|
48
|
+
allowedMimeTypes: env.ALLOWED_MIME_TYPES
|
|
49
|
+
? env.ALLOWED_MIME_TYPES.split(',').map((s) => s.trim())
|
|
50
|
+
: undefined,
|
|
51
|
+
s3: {
|
|
52
|
+
bucket: env.MP_AI_S3_ATTACHMENTS_BUCKET || 'ai-agent-attachments',
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
sessions: {
|
|
56
|
+
rootDir: node_path_1.default.resolve(cwd, (_e = env.SESSIONS_DIR) !== null && _e !== void 0 ? _e : 'sessions'),
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=builder-api-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder-api-config.js","sourceRoot":"","sources":["../src/builder-api-config.ts"],"names":[],"mappings":";;;;;AAgCA,kDAIC;AAYD,kEAoCC;AApFD,0DAA4B;AAgC5B,SAAgB,mBAAmB,CAAC,MAAwB;IAC1D,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY;KACrC,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAuB;IAC9C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IAChD,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IAC/B,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,KAAK,CAAA;IACjC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAgB,2BAA2B,CACzC,MAAyB,OAAO,CAAC,GAAG,EACpC,MAAc,OAAO,CAAC,GAAG,EAAE;;IAE3B,MAAM,OAAO,GAAG,MAAA,GAAG,CAAC,QAAQ,mCAAI,aAAa,CAAA;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAA,GAAG,CAAC,IAAI,mCAAI,MAAM,EAAE,EAAE,CAAC,CAAA;IACpD,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,IAAI,mCAAI,SAAS,CAAA;IAClC,MAAM,SAAS,GAAG,MAAA,GAAG,CAAC,UAAU,mCAAI,SAAS,CAAA;IAE7C,OAAO;QACL,MAAM,EAAE;YACN,IAAI;YACJ,IAAI;YACJ,OAAO;YACP,MAAM,EAAE,OAAO,KAAK,MAAM;SAC3B;QACD,SAAS;QACT,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC;QAC5C,EAAE,EAAE;YACF,YAAY,EAAE,GAAG,CAAC,mBAAmB;SACtC;QACD,WAAW,EAAE;YACX,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;YAC1D,uBAAuB,EAAE,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;YACnF,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,EAAE;YAC3D,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;gBACtC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACxD,CAAC,CAAC,SAAS;YACb,EAAE,EAAE;gBACF,MAAM,EAAE,GAAG,CAAC,2BAA2B,IAAI,sBAAsB;aAClE;SACF;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAA,GAAG,CAAC,YAAY,mCAAI,UAAU,CAAC;SAC3D;KACF,CAAA;AACH,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACjF,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.agentDepsFromConfig = exports.loadBuilderApiConfigFromEnv = void 0;
|
|
4
|
+
var builder_api_config_1 = require("./builder-api-config");
|
|
5
|
+
Object.defineProperty(exports, "loadBuilderApiConfigFromEnv", { enumerable: true, get: function () { return builder_api_config_1.loadBuilderApiConfigFromEnv; } });
|
|
6
|
+
Object.defineProperty(exports, "agentDepsFromConfig", { enumerable: true, get: function () { return builder_api_config_1.agentDepsFromConfig; } });
|
|
7
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AACA,2DAAuF;AAA9E,iIAAA,2BAA2B,OAAA;AAAE,yHAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AIAgentService, AIAgentServiceOptions } from '@multiplayer-app/ai-agent-node';
|
|
2
|
+
import type { BuilderApiConfig } from './builder-api-config';
|
|
3
|
+
import type { BuilderApiLogger } from './logger';
|
|
4
|
+
export interface BuilderApiRepositories {
|
|
5
|
+
chatRepository: AIAgentServiceOptions['chatRepository'];
|
|
6
|
+
messageRepository: AIAgentServiceOptions['messageRepository'];
|
|
7
|
+
}
|
|
8
|
+
export interface BuilderApiContext {
|
|
9
|
+
readonly config: BuilderApiConfig;
|
|
10
|
+
readonly logger: BuilderApiLogger;
|
|
11
|
+
readonly agentService: AIAgentService;
|
|
12
|
+
readonly repositories: BuilderApiRepositories;
|
|
13
|
+
}
|
|
14
|
+
export declare function setBuilderApiContext(ctx: BuilderApiContext): void;
|
|
15
|
+
export declare function getBuilderApiContext(): BuilderApiContext;
|
|
16
|
+
export declare function getAgentService(): AIAgentService;
|
|
17
|
+
export declare function getBuilderApiRepositories(): BuilderApiRepositories;
|
|
18
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;IACvD,iBAAiB,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAA;CAC9D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAA;IACrC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAA;CAC9C;AAID,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAEjE;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAKxD;AAED,wBAAgB,eAAe,IAAI,cAAc,CAEhD;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,CAElE"}
|
package/dist/context.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setBuilderApiContext = setBuilderApiContext;
|
|
4
|
+
exports.getBuilderApiContext = getBuilderApiContext;
|
|
5
|
+
exports.getAgentService = getAgentService;
|
|
6
|
+
exports.getBuilderApiRepositories = getBuilderApiRepositories;
|
|
7
|
+
let runtimeContext = null;
|
|
8
|
+
function setBuilderApiContext(ctx) {
|
|
9
|
+
runtimeContext = ctx;
|
|
10
|
+
}
|
|
11
|
+
function getBuilderApiContext() {
|
|
12
|
+
if (!runtimeContext) {
|
|
13
|
+
throw new Error('Builder API context is not initialized');
|
|
14
|
+
}
|
|
15
|
+
return runtimeContext;
|
|
16
|
+
}
|
|
17
|
+
function getAgentService() {
|
|
18
|
+
return getBuilderApiContext().agentService;
|
|
19
|
+
}
|
|
20
|
+
function getBuilderApiRepositories() {
|
|
21
|
+
return getBuilderApiContext().repositories;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;AAkBA,oDAEC;AAED,oDAKC;AAED,0CAEC;AAED,8DAEC;AAnBD,IAAI,cAAc,GAA6B,IAAI,CAAA;AAEnD,SAAgB,oBAAoB,CAAC,GAAsB;IACzD,cAAc,GAAG,GAAG,CAAA;AACtB,CAAC;AAED,SAAgB,oBAAoB;IAClC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,SAAgB,eAAe;IAC7B,OAAO,oBAAoB,EAAE,CAAC,YAAY,CAAA;AAC5C,CAAC;AAED,SAAgB,yBAAyB;IACvC,OAAO,oBAAoB,EAAE,CAAC,YAAY,CAAA;AAC5C,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { RequestHandler } from 'express';
|
|
2
|
+
import type { AIAgentService, AIAgentServiceOptions } from '@multiplayer-app/ai-agent-node';
|
|
3
|
+
import type { ConfigStore } from '@multiplayer-app/ai-agent-node';
|
|
4
|
+
import { type BuilderApiConfig } from './builder-api-config';
|
|
5
|
+
import { type BuilderApiRepositories } from './context';
|
|
6
|
+
import { type BuilderApiLogger } from './logger';
|
|
7
|
+
import { type CreateServerResult } from './server';
|
|
8
|
+
export interface CreateBuilderApiOptions {
|
|
9
|
+
config: BuilderApiConfig;
|
|
10
|
+
httpAuth: RequestHandler;
|
|
11
|
+
socketAuth?: Parameters<AIAgentService['initSocketSupport']>[1];
|
|
12
|
+
repositories: BuilderApiRepositories & {
|
|
13
|
+
activityRepository: AIAgentServiceOptions['activityRepository'];
|
|
14
|
+
agentConfigRepository: AIAgentServiceOptions['agentConfigRepository'];
|
|
15
|
+
tenantAICredentialRepository: AIAgentServiceOptions['tenantAICredentialRepository'];
|
|
16
|
+
};
|
|
17
|
+
/** AI agent runtime config (provider keys, S3, socket path). */
|
|
18
|
+
agentRuntimeConfig: AIAgentServiceOptions['config'];
|
|
19
|
+
setupAgents?: (configStore: ConfigStore) => void;
|
|
20
|
+
/** Logger for agent runtime, HTTP startup, realtime, and routes. Defaults to @multiplayer-builder/logger. */
|
|
21
|
+
logger?: BuilderApiLogger;
|
|
22
|
+
redisUrl?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface BuilderApiInstance extends CreateServerResult {
|
|
25
|
+
agentService: AIAgentService;
|
|
26
|
+
start(): Promise<void>;
|
|
27
|
+
stop(): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
export declare function createBuilderApi(options: CreateBuilderApiOptions): Promise<BuilderApiInstance>;
|
|
30
|
+
//# sourceMappingURL=create-builder-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-builder-api.d.ts","sourceRoot":"","sources":["../src/create-builder-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAGjF,OAAO,EAAwB,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAC7E,OAAO,EAA2E,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEzH,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAEhE,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,gBAAgB,CAAA;IACxB,QAAQ,EAAE,cAAc,CAAA;IACxB,UAAU,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/D,YAAY,EAAE,sBAAsB,GAAG;QACrC,kBAAkB,EAAE,qBAAqB,CAAC,oBAAoB,CAAC,CAAA;QAC/D,qBAAqB,EAAE,qBAAqB,CAAC,uBAAuB,CAAC,CAAA;QACrE,4BAA4B,EAAE,qBAAqB,CAAC,8BAA8B,CAAC,CAAA;KACpF,CAAA;IACD,gEAAgE;IAChE,kBAAkB,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACnD,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAA;IAChD,6GAA6G;IAC7G,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,YAAY,EAAE,cAAc,CAAA;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoEpG"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createBuilderApi = createBuilderApi;
|
|
4
|
+
const builder_api_config_1 = require("./builder-api-config");
|
|
5
|
+
const agents_1 = require("./agents");
|
|
6
|
+
const ai_agent_service_1 = require("./ai-agent.service");
|
|
7
|
+
const context_1 = require("./context");
|
|
8
|
+
const logger_1 = require("./logger");
|
|
9
|
+
const init_realtime_1 = require("./realtime/init-realtime");
|
|
10
|
+
const server_1 = require("./server");
|
|
11
|
+
async function createBuilderApi(options) {
|
|
12
|
+
var _a;
|
|
13
|
+
const log = (0, logger_1.resolveBuilderApiLogger)(options.logger);
|
|
14
|
+
(0, logger_1.configureBuilderApiLogger)(log);
|
|
15
|
+
const { config, httpAuth, socketAuth, repositories, agentRuntimeConfig, redisUrl, } = options;
|
|
16
|
+
const { chatRepository, messageRepository, activityRepository, agentConfigRepository, tenantAICredentialRepository } = repositories;
|
|
17
|
+
const server = (0, server_1.createServer)({ config, httpAuth });
|
|
18
|
+
let realtimeServices = await (0, init_realtime_1.initRealtime)(server.httpServer, config, redisUrl);
|
|
19
|
+
const agentDeps = (0, builder_api_config_1.agentDepsFromConfig)(config);
|
|
20
|
+
const setupAgentsFn = (_a = options.setupAgents) !== null && _a !== void 0 ? _a : (0, agents_1.createSetupAgents)(agentDeps);
|
|
21
|
+
ai_agent_service_1.AgentServiceStore.getInstance().initialize({
|
|
22
|
+
chatRepository,
|
|
23
|
+
messageRepository,
|
|
24
|
+
activityRepository,
|
|
25
|
+
agentConfigRepository,
|
|
26
|
+
tenantAICredentialRepository,
|
|
27
|
+
setupAgents: setupAgentsFn,
|
|
28
|
+
config: agentRuntimeConfig,
|
|
29
|
+
logger: log,
|
|
30
|
+
});
|
|
31
|
+
const agentService = ai_agent_service_1.AgentServiceStore.getInstance().service;
|
|
32
|
+
(0, context_1.setBuilderApiContext)({
|
|
33
|
+
config,
|
|
34
|
+
logger: log,
|
|
35
|
+
agentService,
|
|
36
|
+
repositories: { chatRepository, messageRepository },
|
|
37
|
+
});
|
|
38
|
+
const { port, host } = config.server;
|
|
39
|
+
return {
|
|
40
|
+
...server,
|
|
41
|
+
agentService,
|
|
42
|
+
async start() {
|
|
43
|
+
await new Promise((resolve, reject) => {
|
|
44
|
+
server.httpServer.listen(port, host, () => resolve());
|
|
45
|
+
server.httpServer.once('error', reject);
|
|
46
|
+
});
|
|
47
|
+
(0, logger_1.getBuilderApiLogger)().info({ host, port, prefix: config.apiPrefix }, 'API listening');
|
|
48
|
+
if (socketAuth) {
|
|
49
|
+
await agentService.initSocketSupport(server.httpServer, socketAuth);
|
|
50
|
+
(0, logger_1.getBuilderApiLogger)().info('Socket.IO initialized');
|
|
51
|
+
}
|
|
52
|
+
await agentService.start();
|
|
53
|
+
},
|
|
54
|
+
async stop() {
|
|
55
|
+
var _a;
|
|
56
|
+
const agentStop = agentService.stop();
|
|
57
|
+
const realtimeStop = (_a = realtimeServices === null || realtimeServices === void 0 ? void 0 : realtimeServices.close()) !== null && _a !== void 0 ? _a : Promise.resolve();
|
|
58
|
+
realtimeServices = null;
|
|
59
|
+
await Promise.allSettled([agentStop, realtimeStop]);
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=create-builder-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-builder-api.js","sourceRoot":"","sources":["../src/create-builder-api.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { createBuilderApi, type BuilderApiInstance, type CreateBuilderApiOptions } from './create-builder-api';
|
|
2
|
+
export { loadBuilderApiConfigFromEnv, agentDepsFromConfig, type BuilderApiConfig, type BuilderApiAgentDeps, } from './builder-api-config';
|
|
3
|
+
export { configureBuilderApiLogger, getBuilderApiLogger, resolveBuilderApiLogger, type BuilderApiLogger, } from './logger';
|
|
4
|
+
export { setBuilderApiContext, getBuilderApiContext, getAgentService, type BuilderApiContext, type BuilderApiRepositories } from './context';
|
|
5
|
+
export { createServer, type CreateServerOptions, type CreateServerResult } from './server';
|
|
6
|
+
export { setupAgents, createSetupAgents } from './agents';
|
|
7
|
+
export { AgentServiceStore } from './ai-agent.service';
|
|
8
|
+
export { initRealtime, type RealtimeServices } from './realtime/init-realtime';
|
|
9
|
+
export { attachDemoUser, attachSocketDemoUser } from './middleware/attachDemoUser';
|
|
10
|
+
export { createHtmlGeneratorAgent } from './agents/html-generator.agent';
|
|
11
|
+
export { createMarkdownGeneratorAgent } from './agents/markdown-generator.agent';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9G,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAC5I,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC1F,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createMarkdownGeneratorAgent = exports.createHtmlGeneratorAgent = exports.attachSocketDemoUser = exports.attachDemoUser = exports.initRealtime = exports.AgentServiceStore = exports.createSetupAgents = exports.setupAgents = exports.createServer = exports.getAgentService = exports.getBuilderApiContext = exports.setBuilderApiContext = exports.resolveBuilderApiLogger = exports.getBuilderApiLogger = exports.configureBuilderApiLogger = exports.agentDepsFromConfig = exports.loadBuilderApiConfigFromEnv = exports.createBuilderApi = void 0;
|
|
4
|
+
var create_builder_api_1 = require("./create-builder-api");
|
|
5
|
+
Object.defineProperty(exports, "createBuilderApi", { enumerable: true, get: function () { return create_builder_api_1.createBuilderApi; } });
|
|
6
|
+
var builder_api_config_1 = require("./builder-api-config");
|
|
7
|
+
Object.defineProperty(exports, "loadBuilderApiConfigFromEnv", { enumerable: true, get: function () { return builder_api_config_1.loadBuilderApiConfigFromEnv; } });
|
|
8
|
+
Object.defineProperty(exports, "agentDepsFromConfig", { enumerable: true, get: function () { return builder_api_config_1.agentDepsFromConfig; } });
|
|
9
|
+
var logger_1 = require("./logger");
|
|
10
|
+
Object.defineProperty(exports, "configureBuilderApiLogger", { enumerable: true, get: function () { return logger_1.configureBuilderApiLogger; } });
|
|
11
|
+
Object.defineProperty(exports, "getBuilderApiLogger", { enumerable: true, get: function () { return logger_1.getBuilderApiLogger; } });
|
|
12
|
+
Object.defineProperty(exports, "resolveBuilderApiLogger", { enumerable: true, get: function () { return logger_1.resolveBuilderApiLogger; } });
|
|
13
|
+
var context_1 = require("./context");
|
|
14
|
+
Object.defineProperty(exports, "setBuilderApiContext", { enumerable: true, get: function () { return context_1.setBuilderApiContext; } });
|
|
15
|
+
Object.defineProperty(exports, "getBuilderApiContext", { enumerable: true, get: function () { return context_1.getBuilderApiContext; } });
|
|
16
|
+
Object.defineProperty(exports, "getAgentService", { enumerable: true, get: function () { return context_1.getAgentService; } });
|
|
17
|
+
var server_1 = require("./server");
|
|
18
|
+
Object.defineProperty(exports, "createServer", { enumerable: true, get: function () { return server_1.createServer; } });
|
|
19
|
+
var agents_1 = require("./agents");
|
|
20
|
+
Object.defineProperty(exports, "setupAgents", { enumerable: true, get: function () { return agents_1.setupAgents; } });
|
|
21
|
+
Object.defineProperty(exports, "createSetupAgents", { enumerable: true, get: function () { return agents_1.createSetupAgents; } });
|
|
22
|
+
var ai_agent_service_1 = require("./ai-agent.service");
|
|
23
|
+
Object.defineProperty(exports, "AgentServiceStore", { enumerable: true, get: function () { return ai_agent_service_1.AgentServiceStore; } });
|
|
24
|
+
var init_realtime_1 = require("./realtime/init-realtime");
|
|
25
|
+
Object.defineProperty(exports, "initRealtime", { enumerable: true, get: function () { return init_realtime_1.initRealtime; } });
|
|
26
|
+
var attachDemoUser_1 = require("./middleware/attachDemoUser");
|
|
27
|
+
Object.defineProperty(exports, "attachDemoUser", { enumerable: true, get: function () { return attachDemoUser_1.attachDemoUser; } });
|
|
28
|
+
Object.defineProperty(exports, "attachSocketDemoUser", { enumerable: true, get: function () { return attachDemoUser_1.attachSocketDemoUser; } });
|
|
29
|
+
var html_generator_agent_1 = require("./agents/html-generator.agent");
|
|
30
|
+
Object.defineProperty(exports, "createHtmlGeneratorAgent", { enumerable: true, get: function () { return html_generator_agent_1.createHtmlGeneratorAgent; } });
|
|
31
|
+
var markdown_generator_agent_1 = require("./agents/markdown-generator.agent");
|
|
32
|
+
Object.defineProperty(exports, "createMarkdownGeneratorAgent", { enumerable: true, get: function () { return markdown_generator_agent_1.createMarkdownGeneratorAgent; } });
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAA8G;AAArG,sHAAA,gBAAgB,OAAA;AACzB,2DAK6B;AAJ3B,iIAAA,2BAA2B,OAAA;AAC3B,yHAAA,mBAAmB,OAAA;AAIrB,mCAKiB;AAJf,mHAAA,yBAAyB,OAAA;AACzB,6GAAA,mBAAmB,OAAA;AACnB,iHAAA,uBAAuB,OAAA;AAGzB,qCAA4I;AAAnI,+GAAA,oBAAoB,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,0GAAA,eAAe,OAAA;AACpE,mCAA0F;AAAjF,sGAAA,YAAY,OAAA;AACrB,mCAAyD;AAAhD,qGAAA,WAAW,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AACvC,uDAAsD;AAA7C,qHAAA,iBAAiB,OAAA;AAC1B,0DAA8E;AAArE,6GAAA,YAAY,OAAA;AACrB,8DAAkF;AAAzE,gHAAA,cAAc,OAAA;AAAE,sHAAA,oBAAoB,OAAA;AAC7C,sEAAwE;AAA/D,gIAAA,wBAAwB,OAAA;AACjC,8EAAgF;AAAvE,wIAAA,4BAA4B,OAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base styles for generated session previews (dashboards, tables, KPI cards).
|
|
3
|
+
* Prepended to styles.css on publish unless includeBaseStyles is false.
|
|
4
|
+
*/
|
|
5
|
+
export declare const DEFAULT_SESSION_STYLES = "/* --- Session page base (dashboard) --- */\n:root {\n color-scheme: light;\n --bg: #ffffff;\n --bg-subtle: #fafafa;\n --fg: #0d0d0d;\n --fg-muted: #6e6e6e;\n --fg-faint: #8e8e8e;\n --border: #e8e8e8;\n --border-strong: #d4d4d4;\n --accent: #0d0d0d;\n --accent-hover: #333333;\n --radius: 10px;\n --radius-pill: 999px;\n --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);\n --font: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n --font-mono: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace;\n --sidebar-w: 15rem;\n --toc-w: 11.5rem;\n --header-h: 3.25rem;\n --content-max: 42rem;\n --page-pad: 1.5rem;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n min-height: 100vh;\n font-family: var(--font);\n font-size: 1rem;\n line-height: 1.6;\n color: var(--fg);\n background: var(--bg);\n -webkit-font-smoothing: antialiased;\n}\n\nimg,\nsvg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\na {\n color: inherit;\n text-decoration: none;\n}\n\na:hover {\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n/* Top bar */\n.docs-header,\nheader.site-header {\n position: sticky;\n top: 0;\n z-index: 20;\n display: flex;\n align-items: center;\n gap: 1rem;\n min-height: var(--header-h);\n padding: 0 var(--page-pad);\n background: rgba(255, 255, 255, 0.92);\n border-bottom: 1px solid var(--border);\n backdrop-filter: blur(8px);\n}\n\n.docs-brand,\n.site-logo {\n font-size: 0.9375rem;\n font-weight: 600;\n letter-spacing: -0.01em;\n white-space: nowrap;\n}\n\n.docs-topnav,\nheader nav[aria-label=\"Primary\"] ul {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 0.25rem 1.25rem;\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: 0.875rem;\n color: var(--fg-muted);\n}\n\n.docs-topnav a:hover,\nheader nav[aria-label=\"Primary\"] a:hover {\n color: var(--fg);\n text-decoration: none;\n}\n\n.docs-header-actions {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-left: auto;\n}\n\n/* Shell: sidebar + main + optional TOC */\n.docs-layout,\n.dashboard-shell {\n display: grid;\n grid-template-columns: var(--sidebar-w) minmax(0, 1fr);\n min-height: calc(100vh - var(--header-h));\n}\n\n.docs-layout--with-toc {\n grid-template-columns: var(--sidebar-w) minmax(0, 1fr) var(--toc-w);\n}\n\n.docs-sidebar,\n.dashboard-shell > aside,\naside[aria-label=\"Sidebar navigation\"] {\n padding: 1.25rem var(--page-pad);\n border-right: 1px solid var(--border);\n background: var(--bg);\n font-size: 0.875rem;\n}\n\n.docs-sidebar nav ul,\n.dashboard-shell aside nav ul,\naside[aria-label=\"Sidebar navigation\"] ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.docs-sidebar nav li + li,\n.dashboard-shell aside nav li + li {\n margin-top: 0.125rem;\n}\n\n.docs-sidebar a,\n.dashboard-shell aside a {\n display: block;\n padding: 0.35rem 0.5rem;\n border-radius: 6px;\n color: var(--fg-muted);\n text-decoration: none;\n}\n\n.docs-sidebar a:hover,\n.docs-sidebar a[aria-current=\"page\"],\n.dashboard-shell aside a:hover {\n color: var(--fg);\n background: var(--bg-subtle);\n text-decoration: none;\n}\n\n.docs-nav-label,\n.sidebar-section-title {\n margin: 1.25rem 0 0.5rem;\n padding: 0 0.5rem;\n font-size: 0.6875rem;\n font-weight: 600;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--fg-faint);\n}\n\n.docs-nav-label:first-child,\n.sidebar-section-title:first-child {\n margin-top: 0;\n}\n\n.docs-main,\n.dashboard-shell > main,\nmain.preview-root,\nbody > main {\n padding: 2rem var(--page-pad) 4rem;\n max-width: calc(var(--content-max) + var(--page-pad) * 2);\n}\n\n.docs-toc,\naside[aria-label=\"On this page\"] {\n padding: 2rem 1rem 2rem 0;\n border-left: 1px solid var(--border);\n font-size: 0.8125rem;\n}\n\n.docs-toc-title,\naside[aria-label=\"On this page\"] > p:first-child,\naside[aria-label=\"On this page\"] > h2:first-child {\n margin: 0 0 0.75rem;\n font-size: 0.6875rem;\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--fg-faint);\n}\n\n.docs-toc ul,\naside[aria-label=\"On this page\"] ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.docs-toc li + li,\naside[aria-label=\"On this page\"] li + li {\n margin-top: 0.35rem;\n}\n\n.docs-toc a,\naside[aria-label=\"On this page\"] a {\n color: var(--fg-muted);\n text-decoration: none;\n}\n\n.docs-toc a:hover,\n.docs-toc a[aria-current=\"true\"] {\n color: var(--fg);\n}\n\n/* Typography */\nh1, h2, h3, h4 {\n line-height: 1.25;\n letter-spacing: -0.02em;\n font-weight: 600;\n color: var(--fg);\n}\n\nh1 {\n margin: 0 0 0.5rem;\n font-size: clamp(1.75rem, 4vw, 2.25rem);\n}\n\n.docs-lead,\n.subtitle,\nmain > p:first-of-type.lead {\n margin: 0 0 1.75rem;\n font-size: 1.0625rem;\n color: var(--fg-muted);\n max-width: 38rem;\n}\n\nh2 {\n margin: 2.5rem 0 0.75rem;\n font-size: 1.375rem;\n}\n\nh3 {\n margin: 1.75rem 0 0.5rem;\n font-size: 1.125rem;\n}\n\np {\n margin: 0 0 1rem;\n max-width: var(--content-max);\n}\n\nul, ol {\n margin: 0 0 1rem;\n padding-left: 1.35rem;\n max-width: var(--content-max);\n}\n\nli + li {\n margin-top: 0.35rem;\n}\n\ncode {\n font-family: var(--font-mono);\n font-size: 0.875em;\n padding: 0.15em 0.4em;\n border-radius: 4px;\n background: var(--bg-subtle);\n border: 1px solid var(--border);\n}\n\npre {\n margin: 0 0 1.25rem;\n padding: 1rem 1.1rem;\n overflow-x: auto;\n font-family: var(--font-mono);\n font-size: 0.8125rem;\n line-height: 1.5;\n background: var(--bg-subtle);\n border: 1px solid var(--border);\n border-radius: var(--radius);\n}\n\npre code {\n padding: 0;\n border: none;\n background: transparent;\n}\n\n/* Cards & panels */\n.card,\narticle.card {\n margin: 0 0 1rem;\n padding: 1.25rem 1.35rem;\n background: var(--bg);\n border: 1px solid var(--border);\n border-radius: var(--radius);\n box-shadow: var(--shadow-sm);\n}\n\n.card header,\narticle.card header {\n margin-bottom: 0.5rem;\n}\n\n.card h2,\narticle.card h2 {\n margin: 0;\n font-size: 1.0625rem;\n}\n\n.card footer,\narticle.card footer {\n margin-top: 1rem;\n padding-top: 0.75rem;\n border-top: 1px solid var(--border);\n}\n\n.metrics {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));\n gap: 1rem;\n}\n\n.metrics article {\n padding: 1rem;\n border: 1px solid var(--border);\n border-radius: var(--radius);\n background: var(--bg-subtle);\n}\n\n.metrics h2 {\n margin: 0 0 0.25rem;\n font-size: 0.8125rem;\n font-weight: 500;\n color: var(--fg-muted);\n}\n\n.metrics p {\n margin: 0;\n font-size: 1.5rem;\n font-weight: 600;\n}\n\n/* Forms */\nform.stack,\nform {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n max-width: 24rem;\n}\n\nlabel {\n display: flex;\n flex-direction: column;\n gap: 0.35rem;\n font-size: 0.875rem;\n font-weight: 500;\n}\n\nlabel span {\n color: var(--fg-muted);\n}\n\ninput,\ntextarea,\nselect {\n font: inherit;\n color: var(--fg);\n padding: 0.55rem 0.75rem;\n border: 1px solid var(--border-strong);\n border-radius: 8px;\n background: var(--bg);\n}\n\ninput:focus,\ntextarea:focus,\nselect:focus {\n outline: 2px solid var(--fg);\n outline-offset: 1px;\n border-color: var(--fg);\n}\n\n/* Buttons */\nbutton,\n.btn,\n[role=\"button\"] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.35rem;\n font: inherit;\n font-size: 0.875rem;\n font-weight: 500;\n line-height: 1.2;\n padding: 0.5rem 0.9rem;\n border-radius: var(--radius-pill);\n border: 1px solid transparent;\n cursor: pointer;\n background: transparent;\n color: var(--fg);\n}\n\nbutton.primary,\n.btn-primary,\nbutton[type=\"submit\"] {\n background: var(--accent);\n color: #fff;\n border-color: var(--accent);\n}\n\nbutton.primary:hover,\n.btn-primary:hover,\nbutton[type=\"submit\"]:hover {\n background: var(--accent-hover);\n border-color: var(--accent-hover);\n}\n\nbutton.secondary,\n.btn-secondary {\n border-color: var(--border-strong);\n background: var(--bg);\n}\n\nbutton.secondary:hover,\n.btn-secondary:hover {\n background: var(--bg-subtle);\n}\n\n.docs-search,\ninput[type=\"search\"] {\n min-width: 12rem;\n padding: 0.45rem 2rem 0.45rem 0.85rem;\n border-radius: var(--radius-pill);\n font-size: 0.875rem;\n}\n\n/* Utility */\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n@media (max-width: 960px) {\n .docs-layout--with-toc {\n grid-template-columns: var(--sidebar-w) minmax(0, 1fr);\n }\n\n .docs-toc,\n aside[aria-label=\"On this page\"] {\n display: none;\n }\n}\n\n@media (max-width: 768px) {\n .docs-layout,\n .docs-layout--with-toc,\n .dashboard-shell {\n grid-template-columns: 1fr;\n }\n\n .docs-sidebar,\n .dashboard-shell > aside {\n border-right: none;\n border-bottom: 1px solid var(--border);\n }\n\n .docs-header {\n flex-wrap: wrap;\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n }\n}\n";
|
|
6
|
+
//# sourceMappingURL=default-session-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-session-styles.d.ts","sourceRoot":"","sources":["../../../src/lib/session-pages/default-session-styles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,mkSA8elC,CAAA"}
|