@superblocksteam/vite-plugin-file-sync 2.0.41-next.28 → 2.0.41-next.3
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/ai-service/agent/apis-system-prompt.d.ts +1 -1
- package/dist/ai-service/agent/apis-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/apis-system-prompt.js +9 -55
- package/dist/ai-service/agent/apis-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/apis.d.ts +0 -2
- package/dist/ai-service/agent/apis.d.ts.map +1 -1
- package/dist/ai-service/agent/apis.js +0 -2
- package/dist/ai-service/agent/apis.js.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +2 -5
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +0 -1
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +0 -1
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts +0 -14
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +1 -3
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +2 -12
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +1 -45
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +0 -2
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/CheckboxPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DropdownPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/IconPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/PagePropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SectionPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SwitchPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Dim.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/EventFlow.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/TextStyleWithVariant.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-components-rules.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-custom-components.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-data-filtering.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-event-flow.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-forms.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-layouts.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-page.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-rbac.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-routes.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-state.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-theming-chakra-new.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-base.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +1 -3
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/idle.js +1 -1
- package/dist/ai-service/state-machine/handlers/idle.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +6 -34
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/simple-prompt-builder.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/simple-prompt-builder.js +19 -38
- package/dist/ai-service/state-machine/handlers/simple-prompt-builder.js.map +1 -1
- package/dist/routing.d.ts.map +1 -1
- package/dist/routing.js +16 -15
- package/dist/routing.js.map +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +1 -3
- package/dist/socket-manager.js.map +1 -1
- package/package.json +6 -6
- package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts +0 -27
- package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-set-api-triggers.js +0 -265
- package/dist/ai-service/agent/tools/build-set-api-triggers.js.map +0 -1
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
import { Property } from "@superblocksteam/library-shared";
|
|
2
|
-
import { isValidMultiStepDef, TriggerStepType, } from "@superblocksteam/library-shared/types";
|
|
3
|
-
import { tool } from "ai";
|
|
4
|
-
import z from "zod";
|
|
5
|
-
import { ensureScopeFileDraft } from "../utils.js";
|
|
6
|
-
const triggerStepsSchema = z
|
|
7
|
-
.array(z.unknown(), {
|
|
8
|
-
description: "Array of trigger steps (ValidStepDef[]). Use the same structure provided by the Superblocks editor for EventFlow steps.",
|
|
9
|
-
})
|
|
10
|
-
.nonempty({ message: "Provide at least one trigger step." })
|
|
11
|
-
.superRefine((steps, ctx) => {
|
|
12
|
-
if (!isValidMultiStepDef(steps)) {
|
|
13
|
-
ctx.addIssue({
|
|
14
|
-
code: z.ZodIssueCode.custom,
|
|
15
|
-
message: "Trigger steps must be a valid EventFlow definition (each item needs a supported trigger type).",
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
})
|
|
19
|
-
.transform((steps) => steps);
|
|
20
|
-
export default function createBuildSetApiTriggersTool(_clark, services, scopeUpdateQueue) {
|
|
21
|
-
return tool({
|
|
22
|
-
description: `
|
|
23
|
-
Set the onSuccess and onError EventFlow handlers for an API entity in scope.ts.
|
|
24
|
-
Provide one or both trigger step arrays to overwrite the existing handlers.
|
|
25
|
-
|
|
26
|
-
Each step should follow the EventFlow JSON format used by the editor. Common patterns:
|
|
27
|
-
|
|
28
|
-
- Set a state variable:
|
|
29
|
-
{ "type": "setStateVar", "stateVar": "ordersDataVar", "value": { "computed": "() => api.response || []" } }
|
|
30
|
-
|
|
31
|
-
- Run JavaScript:
|
|
32
|
-
{ "type": "runJS", "code": "({ api }) => { toast.success('Loaded'); }" }
|
|
33
|
-
|
|
34
|
-
- Run another API:
|
|
35
|
-
{ "type": "runApis", "apis": ["refreshSummaryApi"] }
|
|
36
|
-
|
|
37
|
-
Handlers are overwritten entirely, so include all desired steps in each array.
|
|
38
|
-
`,
|
|
39
|
-
inputSchema: z
|
|
40
|
-
.object({
|
|
41
|
-
scopeId: z
|
|
42
|
-
.string()
|
|
43
|
-
.describe("ID of the scope containing the API entity"),
|
|
44
|
-
apiName: z.string().describe("Name of the API entity"),
|
|
45
|
-
onSuccess: triggerStepsSchema.optional(),
|
|
46
|
-
onError: triggerStepsSchema.optional(),
|
|
47
|
-
})
|
|
48
|
-
.refine((value) => value.onSuccess || value.onError, {
|
|
49
|
-
message: "Provide at least one of onSuccess or onError steps",
|
|
50
|
-
path: ["onSuccess"],
|
|
51
|
-
}),
|
|
52
|
-
execute: async ({ scopeId, apiName, onSuccess, onError }) => {
|
|
53
|
-
return await scopeUpdateQueue.enqueue(async () => {
|
|
54
|
-
const sourceTracker = services.fileSystemInterface.getSourceTracker();
|
|
55
|
-
const { filePath, scopeDefinition } = sourceTracker.getScopeDefinitionAndFilePathByNameOrId({
|
|
56
|
-
identifier: scopeId,
|
|
57
|
-
type: "id",
|
|
58
|
-
});
|
|
59
|
-
if (!scopeDefinition || !filePath) {
|
|
60
|
-
throw new Error(`Scope with ID "${scopeId}" not found`);
|
|
61
|
-
}
|
|
62
|
-
const entityId = scopeDefinition.scopeNameToEntityId[apiName];
|
|
63
|
-
if (!entityId) {
|
|
64
|
-
throw new Error(`API entity "${apiName}" not found in scope ${scopeDefinition.name}`);
|
|
65
|
-
}
|
|
66
|
-
await ensureScopeFileDraft({ scopeFilePath: filePath }, services);
|
|
67
|
-
const updates = {};
|
|
68
|
-
const normalizeContext = {
|
|
69
|
-
scopeDefinition: {
|
|
70
|
-
name: scopeDefinition.name,
|
|
71
|
-
scopeNameToEntityId: scopeDefinition.scopeNameToEntityId,
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
if (onSuccess) {
|
|
75
|
-
updates.onSuccess = Property.Event(normalizeTriggerSteps(onSuccess, normalizeContext));
|
|
76
|
-
}
|
|
77
|
-
if (onError) {
|
|
78
|
-
updates.onError = Property.Event(normalizeTriggerSteps(onError, normalizeContext));
|
|
79
|
-
}
|
|
80
|
-
await services.fileSystemInterface
|
|
81
|
-
.getFileSystemManager()
|
|
82
|
-
.handleUpdateEntity({
|
|
83
|
-
entityId,
|
|
84
|
-
updates,
|
|
85
|
-
});
|
|
86
|
-
return {
|
|
87
|
-
scopeId,
|
|
88
|
-
apiName,
|
|
89
|
-
updated: {
|
|
90
|
-
onSuccessSteps: onSuccess?.length,
|
|
91
|
-
onErrorSteps: onError?.length,
|
|
92
|
-
},
|
|
93
|
-
message: `Updated API "${apiName}" trigger configuration in scope.ts`,
|
|
94
|
-
};
|
|
95
|
-
});
|
|
96
|
-
},
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
export function normalizeTriggerSteps(steps, context) {
|
|
100
|
-
return steps.map((step) => normalizeTriggerStep(step, context));
|
|
101
|
-
}
|
|
102
|
-
function normalizeTriggerStep(step, context) {
|
|
103
|
-
if (!step || typeof step !== "object") {
|
|
104
|
-
return step;
|
|
105
|
-
}
|
|
106
|
-
const normalizedType = normalizeTriggerType(step.type);
|
|
107
|
-
const normalizedStep = {
|
|
108
|
-
...step,
|
|
109
|
-
type: normalizedType,
|
|
110
|
-
};
|
|
111
|
-
switch (normalizedType) {
|
|
112
|
-
case TriggerStepType.SET_STATE_VAR:
|
|
113
|
-
return normalizeSetStateVarStep(normalizedStep, context);
|
|
114
|
-
case TriggerStepType.RUN_JS:
|
|
115
|
-
return normalizeRunJsStep(normalizedStep, context);
|
|
116
|
-
case TriggerStepType.RUN_APIS:
|
|
117
|
-
return normalizeRunApisStep(normalizedStep, context);
|
|
118
|
-
default:
|
|
119
|
-
normalizeNestedFlowsInStep(normalizedStep, context);
|
|
120
|
-
return normalizedStep;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
function normalizeTriggerType(type) {
|
|
124
|
-
if (type === TriggerStepType.RUN_JS ||
|
|
125
|
-
type === TriggerStepType.SET_STATE_VAR ||
|
|
126
|
-
type === TriggerStepType.RUN_APIS) {
|
|
127
|
-
return type;
|
|
128
|
-
}
|
|
129
|
-
if (typeof type === "string") {
|
|
130
|
-
const lower = type.toLowerCase();
|
|
131
|
-
if (lower === "runjs") {
|
|
132
|
-
return TriggerStepType.RUN_JS;
|
|
133
|
-
}
|
|
134
|
-
if (lower === "setstatevar") {
|
|
135
|
-
return TriggerStepType.SET_STATE_VAR;
|
|
136
|
-
}
|
|
137
|
-
if (lower === "executeapi" || lower === "runapis") {
|
|
138
|
-
return TriggerStepType.RUN_APIS;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
return type;
|
|
142
|
-
}
|
|
143
|
-
function normalizeSetStateVarStep(step, context) {
|
|
144
|
-
normalizeNestedFlowsInStep(step, context);
|
|
145
|
-
const originalValue = step.value;
|
|
146
|
-
let stateVarName;
|
|
147
|
-
if (typeof step.stateVar === "string") {
|
|
148
|
-
stateVarName = step.stateVar;
|
|
149
|
-
}
|
|
150
|
-
else if (typeof step.state?.name === "string") {
|
|
151
|
-
stateVarName = step.state.name;
|
|
152
|
-
}
|
|
153
|
-
else if (originalValue &&
|
|
154
|
-
typeof originalValue === "object" &&
|
|
155
|
-
typeof originalValue.stateVar === "string") {
|
|
156
|
-
stateVarName = originalValue.stateVar;
|
|
157
|
-
}
|
|
158
|
-
if (stateVarName) {
|
|
159
|
-
const entityId = context.scopeDefinition.scopeNameToEntityId[stateVarName];
|
|
160
|
-
if (!entityId) {
|
|
161
|
-
throw new Error(`State variable "${stateVarName}" not found in scope ${context.scopeDefinition.name}`);
|
|
162
|
-
}
|
|
163
|
-
step.state = {
|
|
164
|
-
id: entityId,
|
|
165
|
-
name: stateVarName,
|
|
166
|
-
...(step.state?.scope ? { scope: step.state.scope } : {}),
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
if (originalValue &&
|
|
170
|
-
typeof originalValue === "object" &&
|
|
171
|
-
!Array.isArray(originalValue)) {
|
|
172
|
-
const { computed, value, stateVar, ...rest } = originalValue;
|
|
173
|
-
if (typeof computed === "string") {
|
|
174
|
-
step.value = Property.Computed(normalizeComputedString(computed));
|
|
175
|
-
}
|
|
176
|
-
else if (value !== undefined) {
|
|
177
|
-
step.value = value;
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
const remaining = { ...rest };
|
|
181
|
-
if (Object.keys(remaining).length > 0) {
|
|
182
|
-
step.value = remaining;
|
|
183
|
-
}
|
|
184
|
-
else {
|
|
185
|
-
delete step.value;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
delete step.stateVar;
|
|
190
|
-
return step;
|
|
191
|
-
}
|
|
192
|
-
function normalizeRunJsStep(step, context) {
|
|
193
|
-
const handlerCandidates = [step.code, step.handler, step.value?.code];
|
|
194
|
-
const handler = handlerCandidates.find((candidate) => typeof candidate === "string" && candidate.trim().length > 0);
|
|
195
|
-
if (handler) {
|
|
196
|
-
step.code = ensureRunJsFunction(handler);
|
|
197
|
-
}
|
|
198
|
-
delete step.handler;
|
|
199
|
-
delete step.params;
|
|
200
|
-
if (step.value && typeof step.value === "object") {
|
|
201
|
-
const { handler: _handler, code: _code, ...rest } = step.value;
|
|
202
|
-
if (Object.keys(rest).length === 0) {
|
|
203
|
-
delete step.value;
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
step.value = rest;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
normalizeNestedFlowsInStep(step, context);
|
|
210
|
-
return step;
|
|
211
|
-
}
|
|
212
|
-
function normalizeRunApisStep(step, context) {
|
|
213
|
-
if (Array.isArray(step.apis)) {
|
|
214
|
-
step.apis = step.apis.map((api) => {
|
|
215
|
-
if (typeof api === "string") {
|
|
216
|
-
return { name: api };
|
|
217
|
-
}
|
|
218
|
-
if (api && typeof api === "object" && typeof api.name === "string") {
|
|
219
|
-
return api;
|
|
220
|
-
}
|
|
221
|
-
return api;
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
normalizeNestedFlowsInStep(step, context);
|
|
225
|
-
return step;
|
|
226
|
-
}
|
|
227
|
-
function ensureRunJsFunction(raw) {
|
|
228
|
-
const trimmed = raw.trim();
|
|
229
|
-
const looksLikeFunction = trimmed.startsWith("(") ||
|
|
230
|
-
trimmed.startsWith("function") ||
|
|
231
|
-
trimmed.startsWith("async ") ||
|
|
232
|
-
/^[_$a-zA-Z][_$a-zA-Z0-9]*\s*=>/.test(trimmed);
|
|
233
|
-
if (looksLikeFunction) {
|
|
234
|
-
return trimmed;
|
|
235
|
-
}
|
|
236
|
-
return `() => {\n${raw}\n}`;
|
|
237
|
-
}
|
|
238
|
-
function normalizeNestedFlowsInStep(step, context) {
|
|
239
|
-
const nestedFlowKeys = ["onSuccess", "onError", "onCancel"];
|
|
240
|
-
const containers = [step, step.value].filter((candidate) => candidate && typeof candidate === "object" && !Array.isArray(candidate));
|
|
241
|
-
for (const container of containers) {
|
|
242
|
-
for (const key of nestedFlowKeys) {
|
|
243
|
-
const nested = container[key];
|
|
244
|
-
if (Array.isArray(nested)) {
|
|
245
|
-
container[key] = normalizeTriggerSteps(nested, context);
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
function normalizeComputedString(raw) {
|
|
251
|
-
const trimmed = raw.trim();
|
|
252
|
-
const arrowMatch = trimmed.match(/^\s*\([^)]*\)\s*=>\s*([\s\S]+)$/);
|
|
253
|
-
if (!arrowMatch) {
|
|
254
|
-
return trimmed;
|
|
255
|
-
}
|
|
256
|
-
const body = arrowMatch[1]?.trim();
|
|
257
|
-
if (!body) {
|
|
258
|
-
return "";
|
|
259
|
-
}
|
|
260
|
-
if (body.startsWith("{") && body.endsWith("}")) {
|
|
261
|
-
return body;
|
|
262
|
-
}
|
|
263
|
-
return body.replace(/;\s*$/, "");
|
|
264
|
-
}
|
|
265
|
-
//# sourceMappingURL=build-set-api-triggers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-set-api-triggers.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-set-api-triggers.ts"],"names":[],"mappings":"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"}
|