@multiplayer-app/sandbox 0.0.32 → 0.0.33-beta.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/content-generator.agent.d.ts +8 -0
- package/dist/agents/content-generator.agent.d.ts.map +1 -1
- package/dist/agents/content-generator.agent.js +53 -6
- package/dist/agents/content-generator.agent.js.map +1 -1
- package/dist/agents/notebook.agent.d.ts.map +1 -1
- package/dist/agents/notebook.agent.js +2 -1
- package/dist/agents/notebook.agent.js.map +1 -1
- package/dist/agents/shared/build-plan.tools.d.ts.map +1 -1
- package/dist/agents/shared/build-plan.tools.js +4 -4
- package/dist/agents/shared/build-plan.tools.js.map +1 -1
- package/dist/agents/shared/content-generator-system-prompt.d.ts +3 -2
- package/dist/agents/shared/content-generator-system-prompt.d.ts.map +1 -1
- package/dist/agents/shared/content-generator-system-prompt.js +41 -24
- package/dist/agents/shared/content-generator-system-prompt.js.map +1 -1
- package/dist/agents/shared/design-skills.d.ts +48 -0
- package/dist/agents/shared/design-skills.d.ts.map +1 -0
- package/dist/agents/shared/design-skills.js +230 -0
- package/dist/agents/shared/design-skills.js.map +1 -0
- package/dist/agents/shared/generate-session-images.tool.d.ts +15 -0
- package/dist/agents/shared/generate-session-images.tool.d.ts.map +1 -0
- package/dist/agents/shared/generate-session-images.tool.js +98 -0
- package/dist/agents/shared/generate-session-images.tool.js.map +1 -0
- package/dist/agents/shared/publish-session-artifacts.tool.d.ts +5 -0
- package/dist/agents/shared/publish-session-artifacts.tool.d.ts.map +1 -1
- package/dist/agents/shared/publish-session-artifacts.tool.js +154 -15
- package/dist/agents/shared/publish-session-artifacts.tool.js.map +1 -1
- package/dist/agents/shared/session-quality-report.tool.js +1 -1
- package/dist/agents/shared/session-quality-report.tool.js.map +1 -1
- package/dist/agents/shared/update-session-artifacts.tool.d.ts +5 -0
- package/dist/agents/shared/update-session-artifacts.tool.d.ts.map +1 -1
- package/dist/agents/shared/update-session-artifacts.tool.js +136 -26
- package/dist/agents/shared/update-session-artifacts.tool.js.map +1 -1
- package/dist/agents/shared/validate-artifact-content.tools.d.ts +4 -0
- package/dist/agents/shared/validate-artifact-content.tools.d.ts.map +1 -1
- package/dist/agents/shared/validate-artifact-content.tools.js +24 -1
- package/dist/agents/shared/validate-artifact-content.tools.js.map +1 -1
- package/dist/agents/skills/designer.skill.d.ts.map +1 -1
- package/dist/agents/skills/designer.skill.js +75 -113
- package/dist/agents/skills/designer.skill.js.map +1 -1
- package/dist/agents/skills/skill-injection.d.ts.map +1 -1
- package/dist/agents/skills/skill-injection.js +9 -3
- package/dist/agents/skills/skill-injection.js.map +1 -1
- package/dist/context.d.ts +4 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js.map +1 -1
- package/dist/create-builder-api.d.ts +6 -0
- package/dist/create-builder-api.d.ts.map +1 -1
- package/dist/create-builder-api.js +2 -0
- package/dist/create-builder-api.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/session-artifacts/hashline-diff-guide.d.ts +1 -1
- package/dist/lib/session-artifacts/hashline-diff-guide.d.ts.map +1 -1
- package/dist/lib/session-artifacts/hashline-diff-guide.js +9 -5
- package/dist/lib/session-artifacts/hashline-diff-guide.js.map +1 -1
- package/dist/lib/session-artifacts/parse-hashline-diff.d.ts +13 -0
- package/dist/lib/session-artifacts/parse-hashline-diff.d.ts.map +1 -1
- package/dist/lib/session-artifacts/parse-hashline-diff.js +72 -0
- package/dist/lib/session-artifacts/parse-hashline-diff.js.map +1 -1
- package/dist/lib/session-pages/artifact-quality-audit.d.ts.map +1 -1
- package/dist/lib/session-pages/artifact-quality-audit.js +19 -14
- package/dist/lib/session-pages/artifact-quality-audit.js.map +1 -1
- package/dist/lib/session-pages/html-artifact-template.d.ts +16 -0
- package/dist/lib/session-pages/html-artifact-template.d.ts.map +1 -1
- package/dist/lib/session-pages/html-artifact-template.js +166 -10
- package/dist/lib/session-pages/html-artifact-template.js.map +1 -1
- package/dist/lib/session-pages/index.d.ts +4 -0
- package/dist/lib/session-pages/index.d.ts.map +1 -1
- package/dist/lib/session-pages/index.js +11 -1
- package/dist/lib/session-pages/index.js.map +1 -1
- package/dist/lib/session-pages/write-binary-session-artifact.d.ts +12 -0
- package/dist/lib/session-pages/write-binary-session-artifact.d.ts.map +1 -0
- package/dist/lib/session-pages/write-binary-session-artifact.js +23 -0
- package/dist/lib/session-pages/write-binary-session-artifact.js.map +1 -0
- package/dist/lib/session-pages/write-session-artifacts.d.ts +1 -0
- package/dist/lib/session-pages/write-session-artifacts.d.ts.map +1 -1
- package/dist/lib/session-pages/write-session-artifacts.js +4 -1
- package/dist/lib/session-pages/write-session-artifacts.js.map +1 -1
- package/dist/lib/session-plans/build-plan.d.ts +13 -3
- package/dist/lib/session-plans/build-plan.d.ts.map +1 -1
- package/dist/lib/session-plans/build-plan.js +37 -6
- package/dist/lib/session-plans/build-plan.js.map +1 -1
- package/dist/realtime/session-artifact-yjs-store.d.ts +18 -0
- package/dist/realtime/session-artifact-yjs-store.d.ts.map +1 -1
- package/dist/realtime/session-artifact-yjs-store.js +62 -0
- package/dist/realtime/session-artifact-yjs-store.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/package.json +9 -9
- package/dist/agents/blocknote.agent.d.ts +0 -6
- package/dist/agents/blocknote.agent.d.ts.map +0 -1
- package/dist/agents/blocknote.agent.js +0 -18
- package/dist/agents/blocknote.agent.js.map +0 -1
- package/dist/agents/filingramp-fetch.agent.d.ts +0 -4
- package/dist/agents/filingramp-fetch.agent.d.ts.map +0 -1
- package/dist/agents/filingramp-fetch.agent.js +0 -195
- package/dist/agents/filingramp-fetch.agent.js.map +0 -1
- package/dist/agents/knowledge/filingramp-endpoints.d.ts +0 -23
- package/dist/agents/knowledge/filingramp-endpoints.d.ts.map +0 -1
- package/dist/agents/knowledge/filingramp-endpoints.js +0 -116
- package/dist/agents/knowledge/filingramp-endpoints.js.map +0 -1
- package/dist/agents/shared/blocknote-system-prompt.d.ts +0 -2
- package/dist/agents/shared/blocknote-system-prompt.d.ts.map +0 -1
- package/dist/agents/shared/blocknote-system-prompt.js +0 -40
- package/dist/agents/shared/blocknote-system-prompt.js.map +0 -1
- package/dist/agents/shared/get-latest-session-artifact.tool.d.ts +0 -7
- package/dist/agents/shared/get-latest-session-artifact.tool.d.ts.map +0 -1
- package/dist/agents/shared/get-latest-session-artifact.tool.js +0 -43
- package/dist/agents/shared/get-latest-session-artifact.tool.js.map +0 -1
- package/dist/agents/shared/get-session-artifact-content.tool.d.ts +0 -7
- package/dist/agents/shared/get-session-artifact-content.tool.d.ts.map +0 -1
- package/dist/agents/shared/get-session-artifact-content.tool.js +0 -44
- package/dist/agents/shared/get-session-artifact-content.tool.js.map +0 -1
- package/dist/agents/shared/list-session-artifact-paths.tool.d.ts +0 -5
- package/dist/agents/shared/list-session-artifact-paths.tool.d.ts.map +0 -1
- package/dist/agents/shared/list-session-artifact-paths.tool.js +0 -37
- package/dist/agents/shared/list-session-artifact-paths.tool.js.map +0 -1
- package/dist/lib/ai/agent-ai-service.d.ts +0 -3
- package/dist/lib/ai/agent-ai-service.d.ts.map +0 -1
- package/dist/lib/ai/agent-ai-service.js +0 -15
- package/dist/lib/ai/agent-ai-service.js.map +0 -1
- package/dist/lib/ai/ai-error-details.d.ts +0 -13
- package/dist/lib/ai/ai-error-details.d.ts.map +0 -1
- package/dist/lib/ai/ai-error-details.js +0 -84
- package/dist/lib/ai/ai-error-details.js.map +0 -1
- package/dist/lib/ai/generate-ai-text.d.ts +0 -12
- package/dist/lib/ai/generate-ai-text.d.ts.map +0 -1
- package/dist/lib/ai/generate-ai-text.js +0 -105
- package/dist/lib/ai/generate-ai-text.js.map +0 -1
- package/dist/lib/ai/run-explicit-agent.d.ts +0 -15
- package/dist/lib/ai/run-explicit-agent.d.ts.map +0 -1
- package/dist/lib/ai/run-explicit-agent.js +0 -30
- package/dist/lib/ai/run-explicit-agent.js.map +0 -1
- package/dist/lib/notebooks/notebook-sql-client.d.ts +0 -5
- package/dist/lib/notebooks/notebook-sql-client.d.ts.map +0 -1
- package/dist/lib/notebooks/notebook-sql-client.js +0 -37
- package/dist/lib/notebooks/notebook-sql-client.js.map +0 -1
- package/dist/lib/notebooks/notebook-sql-schema.d.ts +0 -16
- package/dist/lib/notebooks/notebook-sql-schema.d.ts.map +0 -1
- package/dist/lib/notebooks/notebook-sql-schema.js +0 -117
- package/dist/lib/notebooks/notebook-sql-schema.js.map +0 -1
- package/dist/lib/notebooks/notebook-sql.d.ts +0 -9
- package/dist/lib/notebooks/notebook-sql.d.ts.map +0 -1
- package/dist/lib/notebooks/notebook-sql.js +0 -36
- package/dist/lib/notebooks/notebook-sql.js.map +0 -1
- package/dist/lib/session-artifacts/apply-hashline-edits.d.ts +0 -3
- package/dist/lib/session-artifacts/apply-hashline-edits.d.ts.map +0 -1
- package/dist/lib/session-artifacts/apply-hashline-edits.js +0 -25
- package/dist/lib/session-artifacts/apply-hashline-edits.js.map +0 -1
- package/dist/lib/session-artifacts/artifact-text-edit.d.ts +0 -8
- package/dist/lib/session-artifacts/artifact-text-edit.d.ts.map +0 -1
- package/dist/lib/session-artifacts/artifact-text-edit.js +0 -23
- package/dist/lib/session-artifacts/artifact-text-edit.js.map +0 -1
- package/dist/lib/session-artifacts/hashline-tag.d.ts +0 -33
- package/dist/lib/session-artifacts/hashline-tag.d.ts.map +0 -1
- package/dist/lib/session-artifacts/hashline-tag.js +0 -80
- package/dist/lib/session-artifacts/hashline-tag.js.map +0 -1
- package/dist/lib/session-pages/inject-preview-error-reporter.d.ts +0 -3
- package/dist/lib/session-pages/inject-preview-error-reporter.d.ts.map +0 -1
- package/dist/lib/session-pages/inject-preview-error-reporter.js +0 -30
- package/dist/lib/session-pages/inject-preview-error-reporter.js.map +0 -1
- package/dist/lib/session-pages/read-session-artifact.d.ts +0 -7
- package/dist/lib/session-pages/read-session-artifact.d.ts.map +0 -1
- package/dist/lib/session-pages/read-session-artifact.js +0 -60
- package/dist/lib/session-pages/read-session-artifact.js.map +0 -1
- package/dist/lib/session-pages/session-pico-css.d.ts +0 -5
- package/dist/lib/session-pages/session-pico-css.d.ts.map +0 -1
- package/dist/lib/session-pages/session-pico-css.js +0 -11
- package/dist/lib/session-pages/session-pico-css.js.map +0 -1
- package/dist/realtime/realtime-auth.d.ts +0 -12
- package/dist/realtime/realtime-auth.d.ts.map +0 -1
- package/dist/realtime/realtime-auth.js +0 -25
- package/dist/realtime/realtime-auth.js.map +0 -1
- package/dist/realtime/yjs-account-namespace.d.ts +0 -5
- package/dist/realtime/yjs-account-namespace.d.ts.map +0 -1
- package/dist/realtime/yjs-account-namespace.js +0 -21
- package/dist/realtime/yjs-account-namespace.js.map +0 -1
- package/dist/routes/notebooks/sql-execute.d.ts +0 -3
- package/dist/routes/notebooks/sql-execute.d.ts.map +0 -1
- package/dist/routes/notebooks/sql-execute.js +0 -45
- package/dist/routes/notebooks/sql-execute.js.map +0 -1
- package/dist/routes/sql.d.ts +0 -2
- package/dist/routes/sql.d.ts.map +0 -1
- package/dist/routes/sql.js +0 -50
- package/dist/routes/sql.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design-skills.js","sourceRoot":"","sources":["../../../src/agents/shared/design-skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AgentTool } from '@multiplayer-app/ai-agent-types';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare const generateSessionImagesInputSchema: z.ZodObject<{
|
|
4
|
+
images: z.ZodArray<z.ZodObject<{
|
|
5
|
+
path: z.ZodString;
|
|
6
|
+
prompt: z.ZodString;
|
|
7
|
+
size: z.ZodDefault<z.ZodEnum<{
|
|
8
|
+
square: "square";
|
|
9
|
+
landscape: "landscape";
|
|
10
|
+
portrait: "portrait";
|
|
11
|
+
}>>;
|
|
12
|
+
}, z.core.$strip>>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export declare const generateSessionImagesTool: AgentTool;
|
|
15
|
+
//# sourceMappingURL=generate-session-images.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-session-images.tool.d.ts","sourceRoot":"","sources":["../../../src/agents/shared/generate-session-images.tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAInF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAuCvB,eAAO,MAAM,gCAAgC;;;;;;;;;;iBAE3C,CAAA;AA8DF,eAAO,MAAM,yBAAyB,EAAE,SAcvC,CAAA"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateSessionImagesTool = exports.generateSessionImagesInputSchema = void 0;
|
|
4
|
+
const ai_agent_types_1 = require("@multiplayer-app/ai-agent-types");
|
|
5
|
+
const openai_1 = require("@ai-sdk/openai");
|
|
6
|
+
const ai_1 = require("ai");
|
|
7
|
+
const zod_1 = require("zod");
|
|
8
|
+
const context_1 = require("../../context");
|
|
9
|
+
const agent_context_1 = require("./agent-context");
|
|
10
|
+
const artifact_events_1 = require("../../lib/socket/artifact-events");
|
|
11
|
+
const session_pages_1 = require("../../lib/session-pages");
|
|
12
|
+
const logger_1 = require("../../logger");
|
|
13
|
+
const IMAGE_MODEL = 'gpt-image-1';
|
|
14
|
+
const IMAGE_SIZES = {
|
|
15
|
+
square: '1024x1024',
|
|
16
|
+
landscape: '1536x1024',
|
|
17
|
+
portrait: '1024x1536',
|
|
18
|
+
};
|
|
19
|
+
const imageRequestSchema = zod_1.z.object({
|
|
20
|
+
path: zod_1.z
|
|
21
|
+
.string()
|
|
22
|
+
.min(1)
|
|
23
|
+
.regex(/\.png$/i, 'Image paths must end with .png')
|
|
24
|
+
.describe('Relative session path for the image, e.g. images/hero.png'),
|
|
25
|
+
prompt: zod_1.z
|
|
26
|
+
.string()
|
|
27
|
+
.min(1)
|
|
28
|
+
.describe('Full visual description: subject, art style, lighting, palette. Reuse one art-style phrase across all images in a session for cohesion.'),
|
|
29
|
+
size: zod_1.z
|
|
30
|
+
.enum(['square', 'landscape', 'portrait'])
|
|
31
|
+
.default('landscape')
|
|
32
|
+
.describe('square 1024x1024, landscape 1536x1024, portrait 1024x1536'),
|
|
33
|
+
});
|
|
34
|
+
exports.generateSessionImagesInputSchema = zod_1.z.object({
|
|
35
|
+
images: zod_1.z.array(imageRequestSchema).min(1).max(4),
|
|
36
|
+
});
|
|
37
|
+
async function resolveOpenAiImageProvider(sessionId) {
|
|
38
|
+
var _a;
|
|
39
|
+
const service = (0, context_1.getAgentService)();
|
|
40
|
+
const chat = await service.getChatProcessor().getChat(sessionId);
|
|
41
|
+
const credentials = await service
|
|
42
|
+
.getTenantCredentialResolver()
|
|
43
|
+
.resolveCredentials((_a = chat.tenants) !== null && _a !== void 0 ? _a : {});
|
|
44
|
+
if (!credentials.openaiApiKey) {
|
|
45
|
+
throw new Error('Image generation requires an OpenAI API key. Add one via tenant credentials, then retry — or build the page without generated images.');
|
|
46
|
+
}
|
|
47
|
+
return (0, openai_1.createOpenAI)({
|
|
48
|
+
apiKey: credentials.openaiApiKey,
|
|
49
|
+
...(credentials.openaiBaseUrl ? { baseURL: credentials.openaiBaseUrl } : {}),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
async function executeGenerateSessionImages(input, context) {
|
|
53
|
+
const sessionId = (0, agent_context_1.getRootChatId)(context);
|
|
54
|
+
if (!sessionId) {
|
|
55
|
+
throw new Error('Session ID is required');
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const openai = await resolveOpenAiImageProvider(sessionId);
|
|
59
|
+
const model = openai.image(IMAGE_MODEL);
|
|
60
|
+
const images = await Promise.all(input.images.map(async (request) => {
|
|
61
|
+
const { image } = await (0, ai_1.generateImage)({
|
|
62
|
+
model,
|
|
63
|
+
prompt: request.prompt,
|
|
64
|
+
size: IMAGE_SIZES[request.size],
|
|
65
|
+
});
|
|
66
|
+
return await (0, session_pages_1.writeBinarySessionArtifact)(sessionId, request.path, image.uint8Array);
|
|
67
|
+
}));
|
|
68
|
+
const publishedAt = new Date().toISOString();
|
|
69
|
+
const socketPayload = {
|
|
70
|
+
sessionId,
|
|
71
|
+
files: images,
|
|
72
|
+
previewUrl: `${(0, context_1.getBuilderApiContext)().config.apiPrefix}/sessions/${sessionId}/${images[0].path}`,
|
|
73
|
+
publishedAt,
|
|
74
|
+
};
|
|
75
|
+
const notifyUserIds = await (0, session_pages_1.resolveArtifactNotifyUserIds)(sessionId, context);
|
|
76
|
+
(0, artifact_events_1.emitArtifactUpdateToUsers)(notifyUserIds, socketPayload);
|
|
77
|
+
return { images };
|
|
78
|
+
}
|
|
79
|
+
catch (err) {
|
|
80
|
+
(0, logger_1.getBuilderApiLogger)().error({ err });
|
|
81
|
+
throw err;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.generateSessionImagesTool = {
|
|
85
|
+
type: ai_agent_types_1.AgentToolType.LOCAL_FUNCTION,
|
|
86
|
+
userConfigurable: true,
|
|
87
|
+
data: {
|
|
88
|
+
needsApproval: false,
|
|
89
|
+
title: 'generateSessionImages',
|
|
90
|
+
description: 'Generate PNG images with an AI image model and save them under the session (e.g. images/hero.png) for use in pages via relative src. Up to 4 per call; generation takes tens of seconds per image, so request only images that materially improve the design.',
|
|
91
|
+
inputSchema: exports.generateSessionImagesInputSchema,
|
|
92
|
+
outputSchema: zod_1.z.object({
|
|
93
|
+
images: zod_1.z.array(zod_1.z.object({ path: zod_1.z.string(), bytes: zod_1.z.number() })),
|
|
94
|
+
}),
|
|
95
|
+
execute: async (input, context) => await executeGenerateSessionImages(input, context),
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=generate-session-images.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-session-images.tool.js","sourceRoot":"","sources":["../../../src/agents/shared/generate-session-images.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,4 +11,9 @@ export declare const publishArtifactsInputSchema: z.ZodObject<{
|
|
|
11
11
|
previewPath: z.ZodOptional<z.ZodString>;
|
|
12
12
|
}, z.core.$strip>;
|
|
13
13
|
export declare const publishSessionArtifactsSubagentTool: AgentTool;
|
|
14
|
+
/** Two rejected writes are the complete repair budget (initial + one repair).
|
|
15
|
+
* Keep a small absolute cap as a provider/framework safety net. */
|
|
16
|
+
export declare function shouldStopPublishSubagent({ steps }: {
|
|
17
|
+
steps: unknown[];
|
|
18
|
+
}): boolean;
|
|
14
19
|
//# sourceMappingURL=publish-session-artifacts.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish-session-artifacts.tool.d.ts","sourceRoot":"","sources":["../../../src/agents/shared/publish-session-artifacts.tool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publish-session-artifacts.tool.d.ts","sourceRoot":"","sources":["../../../src/agents/shared/publish-session-artifacts.tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAEnF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAwDvB,eAAO,MAAM,2BAA2B;;;;;;;;;iBAOtC,CAAA;AAiKF,eAAO,MAAM,mCAAmC,EAAE,SAmGjD,CAAA;AAQD;mEACmE;AACnE,wBAAgB,yBAAyB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,OAAO,CAOlF"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.publishSessionArtifactsSubagentTool = exports.publishArtifactsInputSchema = void 0;
|
|
4
|
+
exports.shouldStopPublishSubagent = shouldStopPublishSubagent;
|
|
5
|
+
const node_crypto_1 = require("node:crypto");
|
|
4
6
|
const ai_agent_types_1 = require("@multiplayer-app/ai-agent-types");
|
|
5
7
|
const zod_1 = require("zod");
|
|
6
8
|
const context_1 = require("../../context");
|
|
@@ -8,6 +10,23 @@ const agent_context_1 = require("./agent-context");
|
|
|
8
10
|
const artifact_events_1 = require("../../lib/socket/artifact-events");
|
|
9
11
|
const session_pages_1 = require("../../lib/session-pages");
|
|
10
12
|
const logger_1 = require("../../logger");
|
|
13
|
+
const skills_1 = require("../skills");
|
|
14
|
+
/** Which subagent created each path — self-revision republishes are allowed,
|
|
15
|
+
* cross-delegation overwrites are not. */
|
|
16
|
+
const publishedBy = new Map();
|
|
17
|
+
/** Last rejected content hash per session+path — detects models resending an
|
|
18
|
+
* unchanged file after an audit rejection so the error can escalate. */
|
|
19
|
+
const rejectedContentHashes = new Map();
|
|
20
|
+
/** Create-only conflict attempts per subagent+paths — retrying never helps. */
|
|
21
|
+
const conflictAttempts = new Map();
|
|
22
|
+
const REJECTED_HASHES_LIMIT = 500;
|
|
23
|
+
function rememberRejectedHash(map) {
|
|
24
|
+
if (map.size > REJECTED_HASHES_LIMIT) {
|
|
25
|
+
const oldest = map.keys().next().value;
|
|
26
|
+
if (oldest !== undefined)
|
|
27
|
+
map.delete(oldest);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
11
30
|
const artifactFileSchema = zod_1.z.object({
|
|
12
31
|
path: zod_1.z
|
|
13
32
|
.string()
|
|
@@ -17,7 +36,7 @@ const artifactFileSchema = zod_1.z.object({
|
|
|
17
36
|
fragment: zod_1.z
|
|
18
37
|
.boolean()
|
|
19
38
|
.optional()
|
|
20
|
-
.describe('For .html only: true = content is a body/main fragment; server wraps
|
|
39
|
+
.describe('For .html only: true = content is a body/main fragment; server wraps it in a Tailwind CSS shell. Omit to auto-detect (non-document HTML is wrapped).'),
|
|
21
40
|
title: zod_1.z
|
|
22
41
|
.string()
|
|
23
42
|
.optional()
|
|
@@ -32,18 +51,86 @@ exports.publishArtifactsInputSchema = zod_1.z.object({
|
|
|
32
51
|
.describe('Which published file to open in preview (default index.html)'),
|
|
33
52
|
});
|
|
34
53
|
async function executePublishSessionArtifacts(input, context) {
|
|
35
|
-
var _a, _b, _c;
|
|
54
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
36
55
|
const sessionId = (0, agent_context_1.getRootChatId)(context);
|
|
37
56
|
if (!sessionId) {
|
|
38
57
|
throw new Error('Session ID is required');
|
|
39
58
|
}
|
|
40
59
|
try {
|
|
41
|
-
|
|
42
|
-
|
|
60
|
+
// Refuse common invented typo paths that models create alongside index.html
|
|
61
|
+
// (nindex.html, indexx.html) — these kick off multi-file polish loops.
|
|
62
|
+
const typoPaths = input.files
|
|
63
|
+
.map((file) => (0, session_pages_1.normalizeArtifactPath)(file.path))
|
|
64
|
+
.filter((path) => /^(nindex|indexx|indx|indeks)\.html$/i.test(path));
|
|
65
|
+
if (typoPaths.length > 0) {
|
|
66
|
+
throw new Error(`Invalid path(s): ${typoPaths.join(', ')}. For a landing page publish ONLY index.html — do not invent typo alternate paths.`);
|
|
67
|
+
}
|
|
68
|
+
// Hard create-only guard: republishing an existing path is always a mistake
|
|
69
|
+
// (fixes go through updateSessionArtifact) and repeated publishes previously
|
|
70
|
+
// produced duplicated documents.
|
|
71
|
+
const existing = await (0, session_pages_1.readSessionArtifacts)(sessionId, input.files.map((file) => file.path));
|
|
72
|
+
const subagentId = String((_b = (_a = context === null || context === void 0 ? void 0 : context.data) === null || _a === void 0 ? void 0 : _a.subagentChatId) !== null && _b !== void 0 ? _b : '');
|
|
73
|
+
// Self-revision is legitimate: a subagent may re-publish a path IT created
|
|
74
|
+
// in this run (models iterate on their own fresh work). Only paths created
|
|
75
|
+
// by someone else are conflicts.
|
|
76
|
+
const conflicts = existing
|
|
77
|
+
.filter((entry) => entry.found)
|
|
78
|
+
.map((entry) => entry.path)
|
|
79
|
+
.filter((path) => !subagentId || publishedBy.get(`${sessionId}:${path}`) !== subagentId);
|
|
80
|
+
if (conflicts.length > 0) {
|
|
81
|
+
// A publish subagent has no update tool, so retrying a conflicting
|
|
82
|
+
// publish is always futile — escalate hard on the second attempt.
|
|
83
|
+
const conflictKey = `${String((_d = (_c = context === null || context === void 0 ? void 0 : context.data) === null || _c === void 0 ? void 0 : _c.subagentChatId) !== null && _d !== void 0 ? _d : sessionId)}:${conflicts.join(',')}`;
|
|
84
|
+
const attempts = ((_e = conflictAttempts.get(conflictKey)) !== null && _e !== void 0 ? _e : 0) + 1;
|
|
85
|
+
rememberRejectedHash(conflictAttempts);
|
|
86
|
+
conflictAttempts.set(conflictKey, attempts);
|
|
87
|
+
const escalation = attempts > 1
|
|
88
|
+
? ' STOP CALLING publishSessionArtifacts — you cannot resolve this conflict from here. End your turn NOW with a short text reply to the parent reporting that these paths already exist and changes must go through updateSessionArtifact.'
|
|
89
|
+
: '';
|
|
90
|
+
throw new Error(`Path(s) already exist: ${conflicts.join(', ')}. Files were already published — do NOT publish again; use updateSessionArtifact for changes.${escalation}`);
|
|
91
|
+
}
|
|
92
|
+
// Server-side quality gate. Errors block the publish atomically.
|
|
93
|
+
// Warnings are ignored here (consistency pass re-audits for errors only).
|
|
94
|
+
const auditFailures = [];
|
|
95
|
+
let resentUnchanged = false;
|
|
96
|
+
for (const file of input.files) {
|
|
97
|
+
if (!file.path.toLowerCase().endsWith('.html'))
|
|
98
|
+
continue;
|
|
99
|
+
const prepared = (0, session_pages_1.prepareHtmlArtifactContent)(file.content, {
|
|
100
|
+
fragment: file.fragment,
|
|
101
|
+
title: file.title,
|
|
102
|
+
});
|
|
103
|
+
const findings = (0, session_pages_1.auditHtmlArtifact)(prepared).findings;
|
|
104
|
+
const errors = findings.filter((finding) => finding.severity === 'error');
|
|
105
|
+
if (errors.length > 0) {
|
|
106
|
+
const rejectionKey = `${sessionId}:${file.path}`;
|
|
107
|
+
const contentHash = (0, node_crypto_1.createHash)('sha256').update(file.content).digest('hex');
|
|
108
|
+
if (rejectedContentHashes.get(rejectionKey) === contentHash) {
|
|
109
|
+
resentUnchanged = true;
|
|
110
|
+
}
|
|
111
|
+
rememberRejectedHash(rejectedContentHashes);
|
|
112
|
+
rejectedContentHashes.set(rejectionKey, contentHash);
|
|
113
|
+
auditFailures.push(`${file.path}: ${errors.map((finding) => `[${finding.rule}] ${finding.message}`).join(' ')}`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (auditFailures.length > 0) {
|
|
117
|
+
const resendWarning = resentUnchanged
|
|
118
|
+
? 'YOU RESENT THE SAME FILE WITHOUT CHANGING IT — that will never pass. Each finding below names its own fix; apply it literally (edit the markup/style/script it points at), then publish again.\n'
|
|
119
|
+
: '';
|
|
120
|
+
throw new Error(`Quality audit failed — nothing was published. ${resendWarning}Fix every finding, then call publishSessionArtifacts again with ALL files:\n${auditFailures.join('\n')}`);
|
|
121
|
+
}
|
|
122
|
+
const defaultPreviewPath = (_g = (_f = input.files[0]) === null || _f === void 0 ? void 0 : _f.path) !== null && _g !== void 0 ? _g : 'index.html';
|
|
123
|
+
const previewPathInput = (_h = input.previewPath) !== null && _h !== void 0 ? _h : defaultPreviewPath;
|
|
43
124
|
const stored = await (0, session_pages_1.writeSessionArtifacts)({
|
|
44
125
|
sessionId,
|
|
45
126
|
files: input.files,
|
|
46
127
|
});
|
|
128
|
+
if (subagentId) {
|
|
129
|
+
for (const artifact of stored.artifacts) {
|
|
130
|
+
rememberRejectedHash(publishedBy);
|
|
131
|
+
publishedBy.set(`${sessionId}:${artifact.path}`, subagentId);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
47
134
|
const publishedAt = new Date().toISOString();
|
|
48
135
|
const previewPath = (0, session_pages_1.normalizeArtifactPath)(previewPathInput);
|
|
49
136
|
const previewUrl = `${(0, context_1.getBuilderApiContext)().config.apiPrefix}/sessions/${sessionId}/${previewPath}`;
|
|
@@ -101,6 +188,10 @@ exports.publishSessionArtifactsSubagentTool = {
|
|
|
101
188
|
.string()
|
|
102
189
|
.describe('Overall goal that connects all requested artifacts.'),
|
|
103
190
|
artifacts: zod_1.z.array(zod_1.z.object({
|
|
191
|
+
path: zod_1.z
|
|
192
|
+
.string()
|
|
193
|
+
.min(1)
|
|
194
|
+
.describe('Exact new session-relative path to create, e.g. index.html or data/metrics.json.'),
|
|
104
195
|
name: zod_1.z
|
|
105
196
|
.string()
|
|
106
197
|
.describe('Human-readable artifact name.'),
|
|
@@ -113,25 +204,73 @@ exports.publishSessionArtifactsSubagentTool = {
|
|
|
113
204
|
.describe('Requirements specific to this artifact.'),
|
|
114
205
|
})),
|
|
115
206
|
parentContext: zod_1.z.string().min(1).describe('Additional context provided by the parent agent to help complete the task. May include project requirements, user requests, design decisions, architecture details, existing artifact summaries, related files, constraints, assumptions, acceptance criteria, prior conversation excerpts, or any other information relevant to implementing the requested changes.'),
|
|
207
|
+
skills: zod_1.z
|
|
208
|
+
.array(zod_1.z.string())
|
|
209
|
+
.optional()
|
|
210
|
+
.describe('Relevant built-in and account skill guides are selected automatically. Pass [] for doc-only publishes to skip dynamic skill guidance; otherwise omit this field.'),
|
|
116
211
|
}),
|
|
117
212
|
subAgent: {
|
|
118
213
|
name: 'session-artefact-creator',
|
|
119
214
|
description: 'Creates new session artifact files only (HTML, CSS, JS, Markdown, data). Never overwrites an existing path; publish fails if any target path is already on disk.',
|
|
120
|
-
systemPrompt: `You create new
|
|
215
|
+
systemPrompt: `You create complete new session artifacts. The parent sends JSON:
|
|
216
|
+
{ task, artifacts: [{ path, name, description, requirements }], parentContext }.
|
|
217
|
+
|
|
218
|
+
# Contract, in priority order
|
|
219
|
+
1. Create exactly the requested NEW paths. Never invent alternate or "revised" paths and never overwrite.
|
|
220
|
+
2. Use parentContext as authoritative session context; you cannot see the parent chat or its tool results.
|
|
221
|
+
3. Produce complete, usable content. No placeholders, omitted rows, dead controls, or narration about work you did not publish.
|
|
222
|
+
4. Call publishSessionArtifacts directly. It is the only tool available and the server performs the authoritative structural audit.
|
|
223
|
+
|
|
224
|
+
# HTML output — beauty bar
|
|
225
|
+
- Publish body fragments: header, main/sections, footer, optional style/script. Set fragment: true and a meaningful title. Do not emit doctype/html/head or a Tailwind CDN tag; the server supplies the shell.
|
|
226
|
+
- Tailwind preflight is on: every visible element needs utility classes. Full-bleed section backgrounds; max-w-6xl columns live INSIDE sections.
|
|
227
|
+
- Visual quality is the product: follow the design brief's layout pack + signature (never default to centered blur-orb + glass sticky nav). Distinctive Google Fonts from the brief (never Inter), topic-fit accent hex, atmosphere matching the signature surface, radius/density from the brief, Lucide SVG icons, real product copy. Marketing packs: generous section spacing (py-20+); product/workspace packs: denser chrome-first layouts.
|
|
228
|
+
- First viewport follows the pack: marketing = brand + one headline + one subhead + CTA pair + signature visual plane (no KPI soup, no hero-in-a-card); product/workspace = app chrome + primary content.
|
|
229
|
+
- Include working mobile nav when links collapse, and any controls the page shows (vanilla JS). Motions match the brief signature (2–3 max) behind prefers-reduced-motion.
|
|
230
|
+
- Load the design-brief Google Font pairing in the fragment (<link> + font-family). The shell also injects a non-Inter fallback if you forget — do not spend a repair turn on fonts alone.
|
|
231
|
+
- Reuse any injected Session design system / parsed tokens exactly — same accent hex, fonts, and chrome across pages.
|
|
121
232
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
233
|
+
# Publish and repair budget
|
|
234
|
+
- Make one publish call containing all requested files and set previewPath to the main HTML or Markdown file.
|
|
235
|
+
- Do not republish to polish warnings or "make it nicer" — one successful publish ends the task.
|
|
236
|
+
- Fatal findings that block publish include: unclosed tags, undefined CSS variables, lorem ipsum, and generic "Item 1" sample data. Emoji, missing fonts, and "Welcome to our…" template phrases are repaired server-side — do not loop on them.
|
|
237
|
+
- Create exactly the requested paths. For a landing: ONLY index.html — never nindex.html / contact.html / about.html unless listed in the parent artifacts[].
|
|
238
|
+
- If publish is rejected, change the content to address every named blocking finding and retry ONCE.
|
|
239
|
+
- If the second publish is rejected, stop. Reply with the exact remaining rule names and paths; do not generate the full files a third time.
|
|
240
|
+
- A path-conflict error is not repairable here. Stop immediately and tell the parent to use updateSessionArtifact.
|
|
241
|
+
|
|
242
|
+
# Generation skill guides
|
|
243
|
+
Apply the injected guides relevant to this artifact. Designer, accessibility, and copywriting guidance always apply to HTML:
|
|
244
|
+
|
|
245
|
+
${skills_1.STATIC_SKILL_GUIDES}
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
Your first response must be the publishSessionArtifacts tool call, not prose.
|
|
131
249
|
`,
|
|
132
|
-
|
|
250
|
+
prepareStep: (0, skills_1.createSkillInjectingPrepareStep)(),
|
|
251
|
+
stopWhen: shouldStopPublishSubagent,
|
|
252
|
+
// Full pages are large tool payloads; without this, provider default caps (~2-4k tokens) silently truncate styling/content.
|
|
253
|
+
maxOutputTokens: 16000,
|
|
254
|
+
// Tool availability enforces the workflow. Do not expose validation
|
|
255
|
+
// tools while simultaneously instructing the model not to call them.
|
|
133
256
|
tools: [publishSessionArtifactsTool],
|
|
134
257
|
},
|
|
135
258
|
},
|
|
136
259
|
};
|
|
260
|
+
const TERMINAL_PUBLISH_FAILURES = [
|
|
261
|
+
'Quality audit failed',
|
|
262
|
+
'Path(s) already exist',
|
|
263
|
+
'Session ID is required',
|
|
264
|
+
];
|
|
265
|
+
/** Two rejected writes are the complete repair budget (initial + one repair).
|
|
266
|
+
* Keep a small absolute cap as a provider/framework safety net. */
|
|
267
|
+
function shouldStopPublishSubagent({ steps }) {
|
|
268
|
+
if (steps.length >= 4)
|
|
269
|
+
return true;
|
|
270
|
+
const rejectedWrites = steps.filter((step) => {
|
|
271
|
+
const serialized = JSON.stringify(step !== null && step !== void 0 ? step : {});
|
|
272
|
+
return TERMINAL_PUBLISH_FAILURES.some((marker) => serialized.includes(marker));
|
|
273
|
+
}).length;
|
|
274
|
+
return rejectedWrites >= 2;
|
|
275
|
+
}
|
|
137
276
|
//# sourceMappingURL=publish-session-artifacts.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish-session-artifacts.tool.js","sourceRoot":"","sources":["../../../src/agents/shared/publish-session-artifacts.tool.ts"],"names":[],"mappings":";;;
|
|
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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"}
|
|
@@ -67,7 +67,7 @@ exports.getSessionQualityReportTool = {
|
|
|
67
67
|
if (lines.length > 0) {
|
|
68
68
|
(0, build_plan_1.recordOpenAdvisories)(plan, lines, now);
|
|
69
69
|
}
|
|
70
|
-
await store.
|
|
70
|
+
await store.upsertFromContent(sessionId, build_plan_1.BUILD_PLAN_PATH, (0, build_plan_1.serializeBuildPlan)(plan));
|
|
71
71
|
openAdvisories = (_a = plan.openAdvisories) !== null && _a !== void 0 ? _a : [];
|
|
72
72
|
}
|
|
73
73
|
const actionRequired = report.errorCount > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-quality-report.tool.js","sourceRoot":"","sources":["../../../src/agents/shared/session-quality-report.tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session-quality-report.tool.js","sourceRoot":"","sources":["../../../src/agents/shared/session-quality-report.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,14 @@ export declare const getSessionArtifactLatestContentInputSchema: z.ZodObject<{
|
|
|
10
10
|
export declare const updateSessionArtifactInputSchema: z.ZodObject<{
|
|
11
11
|
parentContext: z.ZodString;
|
|
12
12
|
task: z.ZodString;
|
|
13
|
+
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13
14
|
}, z.core.$strip>;
|
|
14
15
|
export declare const getSessionArtifactLatestContentTool: AgentTool;
|
|
15
16
|
export declare const applySessionArtifactDiffTool: AgentTool;
|
|
16
17
|
export declare const updateSessionArtifactsSubagentTool: AgentTool;
|
|
18
|
+
/** Read + apply (+ one repair) only. Absolute cap stops providers that ignore the budget. */
|
|
19
|
+
export declare function shouldStopUpdateSubagent({ steps }: {
|
|
20
|
+
steps: unknown[];
|
|
21
|
+
}): boolean;
|
|
17
22
|
export declare function getUpdateSessionArtifactsSubagent(): AgentTool;
|
|
18
23
|
//# sourceMappingURL=update-session-artifacts.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-session-artifacts.tool.d.ts","sourceRoot":"","sources":["../../../src/agents/shared/update-session-artifacts.tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAEnF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"update-session-artifacts.tool.d.ts","sourceRoot":"","sources":["../../../src/agents/shared/update-session-artifacts.tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAEnF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAgCvB,eAAO,MAAM,mCAAmC;;;iBAW9C,CAAA;AAEF,eAAO,MAAM,0CAA0C;;iBAErD,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;iBAmB3C,CAAA;AAoCF,eAAO,MAAM,mCAAmC,EAAE,SAyCjD,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,SA+G1C,CAAA;AAED,eAAO,MAAM,kCAAkC,EAAE,SAmDhD,CAAA;AAiBD,6FAA6F;AAC7F,wBAAgB,wBAAwB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,OAAO,CAOjF;AAED,wBAAgB,iCAAiC,IAAI,SAAS,CAE7D"}
|