@auxx/sdk 0.0.9 → 0.0.11
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/assets.d.ts +27 -0
- package/client.d.ts +2 -0
- package/global.d.ts +0 -6
- package/lib/build/server/generate-server-entry.js +2 -2
- package/lib/build/workflow-block-modules.js +5 -0
- package/lib/client/workflow/components/fields/var-input.d.ts +3 -1
- package/lib/client/workflow/components/fields/var-input.d.ts.map +1 -1
- package/lib/client/workflow/components/index.d.ts +1 -0
- package/lib/client/workflow/components/index.d.ts.map +1 -1
- package/lib/client/workflow/components/inputs/array-input.d.ts +13 -0
- package/lib/client/workflow/components/inputs/array-input.d.ts.map +1 -0
- package/lib/client/workflow/components/inputs/array-input.js +3 -0
- package/lib/client/workflow/hooks/index.d.ts +1 -0
- package/lib/client/workflow/hooks/index.d.ts.map +1 -1
- package/lib/client/workflow/hooks/use-array-item.d.ts +10 -0
- package/lib/client/workflow/hooks/use-array-item.d.ts.map +1 -0
- package/lib/client/workflow/hooks/use-array-item.js +3 -0
- package/lib/client/workflow/hooks/use-workflow.d.ts +27 -1
- package/lib/client/workflow/hooks/use-workflow.d.ts.map +1 -1
- package/lib/client/workflow/types/path-helpers.d.ts +3 -1
- package/lib/client/workflow/types/path-helpers.d.ts.map +1 -1
- package/lib/commands/build.js +8 -0
- package/lib/commands/dev/client-builder.js +9 -1
- package/lib/commands/dev/server-builder.js +9 -0
- package/lib/commands/dev.js +8 -0
- package/lib/commands/init/create-project.js +8 -0
- package/lib/print-errors.js +6 -3
- package/lib/root/schema/index.d.ts +1 -1
- package/lib/root/schema/index.d.ts.map +1 -1
- package/lib/root/schema/index.js +1 -1
- package/lib/root/schema/string-node.d.ts +2 -1
- package/lib/root/schema/string-node.d.ts.map +1 -1
- package/lib/root/schema/string-node.js +6 -0
- package/lib/root/workflow/base-node.js +3 -3
- package/lib/root/workflow/index.d.ts +12 -7
- package/lib/root/workflow/index.d.ts.map +1 -1
- package/lib/root/workflow/index.js +8 -4
- package/lib/root/workflow/input-nodes.d.ts +95 -29
- package/lib/root/workflow/input-nodes.d.ts.map +1 -1
- package/lib/root/workflow/input-nodes.js +96 -1
- package/lib/root/workflow/types.d.ts +21 -1
- package/lib/root/workflow/types.d.ts.map +1 -1
- package/lib/root/workflow/types.js +3 -0
- package/lib/runtime/reconciler/tags/index.d.ts +3 -0
- package/lib/runtime/reconciler/tags/index.d.ts.map +1 -1
- package/lib/runtime/reconciler/tags/index.js +9 -0
- package/lib/runtime/reconciler/tags/workflow-array-input-tag.d.ts +7 -0
- package/lib/runtime/reconciler/tags/workflow-array-input-tag.d.ts.map +1 -0
- package/lib/runtime/reconciler/tags/workflow-array-input-tag.js +13 -0
- package/lib/runtime/reconciler/tags/workflow-field-divider-tag.d.ts +7 -0
- package/lib/runtime/reconciler/tags/workflow-field-divider-tag.d.ts.map +1 -0
- package/lib/runtime/reconciler/tags/workflow-field-divider-tag.js +12 -0
- package/lib/runtime/reconciler/tags/workflow-field-row-tag.d.ts +7 -0
- package/lib/runtime/reconciler/tags/workflow-field-row-tag.d.ts.map +1 -0
- package/lib/runtime/reconciler/tags/workflow-field-row-tag.js +12 -0
- package/lib/runtime/reconciler/tags/workflow-var-input-tag.d.ts.map +1 -1
- package/lib/runtime/reconciler/tags/workflow-var-input-tag.js +4 -1
- package/lib/runtime/workflow.d.ts +1 -0
- package/lib/runtime/workflow.d.ts.map +1 -1
- package/lib/runtime/workflow.js +52 -30
- package/lib/server/webhooks.d.ts +3 -0
- package/lib/server/webhooks.d.ts.map +1 -1
- package/lib/server/workflow/index.d.ts +1 -0
- package/lib/server/workflow/index.d.ts.map +1 -1
- package/lib/shared/errors.d.ts +13 -0
- package/lib/shared/errors.d.ts.map +1 -1
- package/lib/shared/errors.js +15 -0
- package/lib/shared/index.d.ts +1 -1
- package/lib/shared/index.d.ts.map +1 -1
- package/lib/shared/index.js +1 -1
- package/lib/shared/validation.d.ts +6 -6
- package/lib/shared/validation.js +2 -2
- package/lib/util/generate-app-env-types.js +66 -0
- package/package.json +5 -1
- package/template/src/auxx-env.d.ts +4 -0
package/lib/runtime/workflow.js
CHANGED
|
@@ -79,6 +79,9 @@ function serializeFields(fields, kind) {
|
|
|
79
79
|
integer: metadata.integer,
|
|
80
80
|
precision: metadata.precision,
|
|
81
81
|
options: metadata.options,
|
|
82
|
+
multi: metadata.multi,
|
|
83
|
+
canAdd: metadata.canAdd,
|
|
84
|
+
canManage: metadata.canManage,
|
|
82
85
|
_fieldKind: kind,
|
|
83
86
|
};
|
|
84
87
|
if (!field.type) {
|
|
@@ -153,6 +156,9 @@ function serializeFieldsFromJSON(fields, kind) {
|
|
|
153
156
|
integer: metadata.integer,
|
|
154
157
|
precision: metadata.precision,
|
|
155
158
|
options: metadata.options,
|
|
159
|
+
multi: metadata.multi,
|
|
160
|
+
canAdd: metadata.canAdd,
|
|
161
|
+
canManage: metadata.canManage,
|
|
156
162
|
_fieldKind: kind,
|
|
157
163
|
};
|
|
158
164
|
if (!field.type) {
|
|
@@ -175,7 +181,7 @@ function serializeFieldsFromJSON(fields, kind) {
|
|
|
175
181
|
function serializeNestedField(fieldJson, kind) {
|
|
176
182
|
const metadata = fieldJson._metadata || {};
|
|
177
183
|
const field = {
|
|
178
|
-
name: '',
|
|
184
|
+
name: metadata.label || 'item',
|
|
179
185
|
label: metadata.label || '',
|
|
180
186
|
type: fieldJson.type,
|
|
181
187
|
description: metadata.description,
|
|
@@ -189,6 +195,9 @@ function serializeNestedField(fieldJson, kind) {
|
|
|
189
195
|
integer: metadata.integer,
|
|
190
196
|
precision: metadata.precision,
|
|
191
197
|
options: metadata.options,
|
|
198
|
+
multi: metadata.multi,
|
|
199
|
+
canAdd: metadata.canAdd,
|
|
200
|
+
canManage: metadata.canManage,
|
|
192
201
|
_fieldKind: kind,
|
|
193
202
|
};
|
|
194
203
|
if (!field.type) {
|
|
@@ -219,34 +228,39 @@ function resolveBlockIcon(icon) {
|
|
|
219
228
|
}
|
|
220
229
|
export function getWorkflowBlocks() {
|
|
221
230
|
const surfaces = SURFACES.getAll();
|
|
222
|
-
const workflowBlockSurfaces = surfaces.filter((s) => s.type === 'workflow-block');
|
|
223
|
-
|
|
224
|
-
.map(
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
231
|
+
const workflowBlockSurfaces = surfaces.filter((s) => s.type === 'workflow-block' && s.blockType !== 'trigger');
|
|
232
|
+
return workflowBlockSurfaces
|
|
233
|
+
.map(serializeBlockSurface)
|
|
234
|
+
.filter((b) => b !== null);
|
|
235
|
+
}
|
|
236
|
+
export function getWorkflowTriggers() {
|
|
237
|
+
const surfaces = SURFACES.getAll();
|
|
238
|
+
const triggerSurfaces = surfaces.filter((s) => s.type === 'workflow-block' && s.blockType === 'trigger');
|
|
239
|
+
return triggerSurfaces.map(serializeBlockSurface).filter((b) => b !== null);
|
|
240
|
+
}
|
|
241
|
+
function serializeBlockSurface(surface) {
|
|
242
|
+
const fullBlock = surface.block;
|
|
243
|
+
if (!fullBlock)
|
|
244
|
+
return null;
|
|
245
|
+
const metadata = {
|
|
246
|
+
id: fullBlock.id,
|
|
247
|
+
label: fullBlock.label,
|
|
248
|
+
description: fullBlock.description,
|
|
249
|
+
category: fullBlock.category,
|
|
250
|
+
icon: resolveBlockIcon(fullBlock.icon),
|
|
251
|
+
color: fullBlock.color,
|
|
252
|
+
config: fullBlock.config,
|
|
253
|
+
};
|
|
254
|
+
if (fullBlock.schema) {
|
|
255
|
+
metadata.schema = {
|
|
256
|
+
inputs: serializeFields(fullBlock.schema.inputs || {}, 'input'),
|
|
257
|
+
outputs: serializeFields(fullBlock.schema.outputs || {}, 'output'),
|
|
258
|
+
handles: fullBlock.schema.handles || { sources: [], targets: [] },
|
|
259
|
+
layout: fullBlock.schema.layout,
|
|
236
260
|
};
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
outputs: serializeFields(fullBlock.schema.outputs || {}, 'output'),
|
|
241
|
-
handles: fullBlock.schema.handles || { sources: [], targets: [] },
|
|
242
|
-
layout: fullBlock.schema.layout,
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
metadata.hasPanel = !!fullBlock.panel;
|
|
246
|
-
return metadata;
|
|
247
|
-
})
|
|
248
|
-
.filter(Boolean);
|
|
249
|
-
return blocks;
|
|
261
|
+
}
|
|
262
|
+
metadata.hasPanel = !!fullBlock.panel;
|
|
263
|
+
return metadata;
|
|
250
264
|
}
|
|
251
265
|
function getWorkflowBlock(blockId) {
|
|
252
266
|
const surfaces = SURFACES.getAll();
|
|
@@ -455,7 +469,7 @@ function serializeComputedOutputs(outputs) {
|
|
|
455
469
|
if (fieldNode && typeof fieldNode.toJSON === 'function') {
|
|
456
470
|
const json = fieldNode.toJSON();
|
|
457
471
|
const metadata = json._metadata || {};
|
|
458
|
-
|
|
472
|
+
const field = {
|
|
459
473
|
name: key,
|
|
460
474
|
label: metadata.label || key,
|
|
461
475
|
type: json.type || 'any',
|
|
@@ -463,6 +477,13 @@ function serializeComputedOutputs(outputs) {
|
|
|
463
477
|
required: metadata.required,
|
|
464
478
|
_fieldKind: 'output',
|
|
465
479
|
};
|
|
480
|
+
if ((json.type === 'object' || json.type === 'struct') && json.fields) {
|
|
481
|
+
field.properties = serializeFieldsFromJSON(json.fields, 'output');
|
|
482
|
+
}
|
|
483
|
+
if (json.type === 'array' && json.items) {
|
|
484
|
+
field.items = serializeNestedField(json.items, 'output');
|
|
485
|
+
}
|
|
486
|
+
result[key] = field;
|
|
466
487
|
}
|
|
467
488
|
else if (fieldNode && typeof fieldNode === 'object' && fieldNode.type) {
|
|
468
489
|
result[key] = { name: key, ...fieldNode };
|
|
@@ -472,7 +493,8 @@ function serializeComputedOutputs(outputs) {
|
|
|
472
493
|
}
|
|
473
494
|
Host.onRequest('get-workflow-blocks', async () => {
|
|
474
495
|
const blocks = getWorkflowBlocks();
|
|
475
|
-
|
|
496
|
+
const triggers = getWorkflowTriggers();
|
|
497
|
+
return { blocks, triggers };
|
|
476
498
|
});
|
|
477
499
|
Host.onRequest('render-workflow-node', async (data) => {
|
|
478
500
|
return await renderWorkflowNode(data.blockId, data.nodeId, data.data);
|
package/lib/server/webhooks.d.ts
CHANGED
|
@@ -3,10 +3,13 @@ export interface WebhookHandler {
|
|
|
3
3
|
url: string;
|
|
4
4
|
fileName: string;
|
|
5
5
|
externalWebhookId?: string;
|
|
6
|
+
connectionId?: string;
|
|
6
7
|
metadata?: Record<string, unknown>;
|
|
7
8
|
}
|
|
8
9
|
export declare function createWebhookHandler(options: {
|
|
9
10
|
fileName: string;
|
|
11
|
+
triggerId?: string;
|
|
12
|
+
connectionId?: string;
|
|
10
13
|
metadata?: Record<string, unknown>;
|
|
11
14
|
}): Promise<WebhookHandler>;
|
|
12
15
|
export declare function updateWebhookHandler(handlerId: string, updates: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/server/webhooks.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAE7B,EAAE,EAAE,MAAM,CAAA;IAGV,GAAG,EAAE,MAAM,CAAA;IAGX,QAAQ,EAAE,MAAM,CAAA;IAGhB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAG1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AA8BD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC,GAAG,OAAO,CAAC,cAAc,CAAC,CAU1B;AAwBD,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IACP,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC,GACA,OAAO,CAAC,IAAI,CAAC,CASf;AAOD,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3E;AAuBD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CASrE"}
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/server/webhooks.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAE7B,EAAE,EAAE,MAAM,CAAA;IAGV,GAAG,EAAE,MAAM,CAAA;IAGX,QAAQ,EAAE,MAAM,CAAA;IAGhB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAG1B,YAAY,CAAC,EAAE,MAAM,CAAA;IAGrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AA8BD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC,GAAG,OAAO,CAAC,cAAc,CAAC,CAU1B;AAwBD,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IACP,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC,GACA,OAAO,CAAC,IAAI,CAAC,CASf;AAOD,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3E;AAuBD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CASrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/workflow/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/workflow/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAKtF,MAAM,WAAW,aAAa;IAE5B,EAAE,EAAE,MAAM,CAAA;IAEV,KAAK,EAAE,MAAM,CAAA;IAEb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAA;IAEvD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,YAAY,CAAC,EAAE,GAAG,CAAA;IAElB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAKD,MAAM,WAAW,cAAc;IAE7B,EAAE,EAAE,MAAM,CAAA;IAEV,KAAK,EAAE,MAAM,CAAA;IAEb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAA;IAEvD,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAKD,MAAM,WAAW,eAAe;IAE9B,WAAW,EAAE,MAAM,CAAA;IAEnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE3B,QAAQ,EAAE;QAER,UAAU,EAAE,MAAM,CAAA;QAElB,OAAO,CAAC,EAAE,MAAM,CAAA;QAEhB,SAAS,EAAE,IAAI,CAAA;KAChB,CAAA;CACF;AAyBD,MAAM,WAAW,cAAc;IAE7B,KAAK,EAAE,MAAM,CAAA;IAEb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE3B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnD"}
|
package/lib/shared/errors.d.ts
CHANGED
|
@@ -29,4 +29,17 @@ export declare class AuxxNoOrganizationConnectionError extends AuxxError {
|
|
|
29
29
|
export declare class AuxxUnexpectedTransportError extends AuxxError {
|
|
30
30
|
constructor();
|
|
31
31
|
}
|
|
32
|
+
export declare class BlockValidationError extends AuxxError {
|
|
33
|
+
readonly fields: Array<{
|
|
34
|
+
field: string;
|
|
35
|
+
message: string;
|
|
36
|
+
}>;
|
|
37
|
+
constructor(fields: Array<{
|
|
38
|
+
field: string;
|
|
39
|
+
message: string;
|
|
40
|
+
}> | string);
|
|
41
|
+
}
|
|
42
|
+
export declare class BlockRuntimeError extends AuxxError {
|
|
43
|
+
constructor(message: string, code?: string);
|
|
44
|
+
}
|
|
32
45
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/shared/errors.ts"],"names":[],"mappings":"AAKA,qBAAa,SAAU,SAAQ,KAAK;IAGzB,IAAI,CAAC,EAAE,MAAM;gBADpB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA;CAKvB;AAKD,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,mBAAoB,SAAQ,SAAS;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,yBAA0B,SAAQ,SAAS;;CAKvD;AAKD,qBAAa,iCAAkC,SAAQ,SAAS;;CAK/D;AAKD,qBAAa,4BAA6B,SAAQ,SAAS;;CAK1D"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/shared/errors.ts"],"names":[],"mappings":"AAKA,qBAAa,SAAU,SAAQ,KAAK;IAGzB,IAAI,CAAC,EAAE,MAAM;gBADpB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA;CAKvB;AAKD,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,mBAAoB,SAAQ,SAAS;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,yBAA0B,SAAQ,SAAS;;CAKvD;AAKD,qBAAa,iCAAkC,SAAQ,SAAS;;CAK/D;AAKD,qBAAa,4BAA6B,SAAQ,SAAS;;CAK1D;AAyBD,qBAAa,oBAAqB,SAAQ,SAAS;IACjD,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;gBAE9C,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM;CAMvE;AASD,qBAAa,iBAAkB,SAAQ,SAAS;gBAClC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAI3C"}
|
package/lib/shared/errors.js
CHANGED
|
@@ -60,3 +60,18 @@ export class AuxxUnexpectedTransportError extends AuxxError {
|
|
|
60
60
|
this.name = 'AuxxUnexpectedTransportError';
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
+
export class BlockValidationError extends AuxxError {
|
|
64
|
+
fields;
|
|
65
|
+
constructor(fields) {
|
|
66
|
+
const normalized = typeof fields === 'string' ? [{ field: '', message: fields }] : fields;
|
|
67
|
+
super(normalized.map((f) => f.message).join('; '), 'BLOCK_VALIDATION_ERROR');
|
|
68
|
+
this.name = 'BlockValidationError';
|
|
69
|
+
this.fields = normalized;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export class BlockRuntimeError extends AuxxError {
|
|
73
|
+
constructor(message, code) {
|
|
74
|
+
super(message, code ?? 'BLOCK_RUNTIME_ERROR');
|
|
75
|
+
this.name = 'BlockRuntimeError';
|
|
76
|
+
}
|
|
77
|
+
}
|
package/lib/shared/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AuxxError, AuxxNoOrganizationConnectionError, AuxxNoUserConnectionError, AuxxUnexpectedTransportError, ExtensionInitError, ExtensionLoadError, MessageError, RenderError, ServerFunctionError, SurfaceError, } from './errors.js';
|
|
1
|
+
export { AuxxError, AuxxNoOrganizationConnectionError, AuxxNoUserConnectionError, AuxxUnexpectedTransportError, BlockRuntimeError, BlockValidationError, ExtensionInitError, ExtensionLoadError, MessageError, RenderError, ServerFunctionError, SurfaceError, } from './errors.js';
|
|
2
2
|
export { type CompleteFetchable, type ErrorFetchable, type Fetchable, FetchableState, getFetchableData, isCompleteFetchable, isErrorFetchable, isPendingFetchable, makeCompleteFetchable, makeErrorFetchable, makePendingFetchable, mapFetchable, type PendingFetchable, } from './fetchable.js';
|
|
3
3
|
export { assertNever, assetSchema, environmentSchema, renderInstanceSchema, renderTreeSchema, safeValidate, surfaceMapSchema, surfaceSchema, type ValidatedAsset, type ValidatedEnvironment, type ValidatedRenderTree, type ValidatedSurface, type ValidatedSurfaceMap, validateAndParse, } from './validation.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,iCAAiC,EACjC,yBAAyB,EACzB,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,YAAY,GACb,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,gBAAgB,GACjB,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,iCAAiC,EACjC,yBAAyB,EACzB,4BAA4B,EAC5B,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,YAAY,GACb,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,gBAAgB,GACjB,MAAM,iBAAiB,CAAA"}
|
package/lib/shared/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { AuxxError, AuxxNoOrganizationConnectionError, AuxxNoUserConnectionError, AuxxUnexpectedTransportError, ExtensionInitError, ExtensionLoadError, MessageError, RenderError, ServerFunctionError, SurfaceError, } from './errors.js';
|
|
1
|
+
export { AuxxError, AuxxNoOrganizationConnectionError, AuxxNoUserConnectionError, AuxxUnexpectedTransportError, BlockRuntimeError, BlockValidationError, ExtensionInitError, ExtensionLoadError, MessageError, RenderError, ServerFunctionError, SurfaceError, } from './errors.js';
|
|
2
2
|
export { FetchableState, getFetchableData, isCompleteFetchable, isErrorFetchable, isPendingFetchable, makeCompleteFetchable, makeErrorFetchable, makePendingFetchable, mapFetchable, } from './fetchable.js';
|
|
3
3
|
export { assertNever, assetSchema, environmentSchema, renderInstanceSchema, renderTreeSchema, safeValidate, surfaceMapSchema, surfaceSchema, validateAndParse, } from './validation.js';
|
|
@@ -47,8 +47,8 @@ export declare const environmentSchema: z.ZodObject<{
|
|
|
47
47
|
organizationId: z.ZodString;
|
|
48
48
|
organizationHandle: z.ZodString;
|
|
49
49
|
organizationName: z.ZodString;
|
|
50
|
-
userId: z.ZodString
|
|
51
|
-
userName: z.ZodString
|
|
50
|
+
userId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
51
|
+
userName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
52
52
|
userEmail: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
53
53
|
apiUrl: z.ZodString;
|
|
54
54
|
platform: z.ZodEnum<["web-app", "mobile-app"]>;
|
|
@@ -59,11 +59,11 @@ export declare const environmentSchema: z.ZodObject<{
|
|
|
59
59
|
organizationId: string;
|
|
60
60
|
organizationHandle: string;
|
|
61
61
|
organizationName: string;
|
|
62
|
-
userId: string;
|
|
63
|
-
userName: string;
|
|
64
62
|
apiUrl: string;
|
|
65
63
|
platform: "web-app" | "mobile-app";
|
|
66
64
|
isDevelopment: boolean;
|
|
65
|
+
userId?: string | null | undefined;
|
|
66
|
+
userName?: string | null | undefined;
|
|
67
67
|
userEmail?: string | null | undefined;
|
|
68
68
|
}, {
|
|
69
69
|
appId: string;
|
|
@@ -71,11 +71,11 @@ export declare const environmentSchema: z.ZodObject<{
|
|
|
71
71
|
organizationId: string;
|
|
72
72
|
organizationHandle: string;
|
|
73
73
|
organizationName: string;
|
|
74
|
-
userId: string;
|
|
75
|
-
userName: string;
|
|
76
74
|
apiUrl: string;
|
|
77
75
|
platform: "web-app" | "mobile-app";
|
|
78
76
|
isDevelopment: boolean;
|
|
77
|
+
userId?: string | null | undefined;
|
|
78
|
+
userName?: string | null | undefined;
|
|
79
79
|
userEmail?: string | null | undefined;
|
|
80
80
|
}>;
|
|
81
81
|
export type ValidatedEnvironment = z.infer<typeof environmentSchema>;
|
package/lib/shared/validation.js
CHANGED
|
@@ -24,8 +24,8 @@ export const environmentSchema = z.object({
|
|
|
24
24
|
organizationId: z.string(),
|
|
25
25
|
organizationHandle: z.string(),
|
|
26
26
|
organizationName: z.string(),
|
|
27
|
-
userId: z.string(),
|
|
28
|
-
userName: z.string(),
|
|
27
|
+
userId: z.string().nullish(),
|
|
28
|
+
userName: z.string().nullish(),
|
|
29
29
|
userEmail: z.string().email().nullish(),
|
|
30
30
|
apiUrl: z.string().url(),
|
|
31
31
|
platform: z.enum(['web-app', 'mobile-app']),
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import fs from 'fs/promises';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { complete, errored } from '../errors.js';
|
|
4
|
+
const GENERATED_MARKER = '// Auto-generated by auxx CLI. Do not edit.';
|
|
5
|
+
const APP_ENV_TYPES_RELATIVE_PATH = path.join('src', 'auxx-env.d.ts');
|
|
6
|
+
const APP_ENV_TYPES_FILE_CONTENT = `// src/auxx-env.d.ts
|
|
7
|
+
${GENERATED_MARKER}
|
|
8
|
+
import '@auxx/sdk/client'
|
|
9
|
+
import '@auxx/sdk/global'
|
|
10
|
+
`;
|
|
11
|
+
export async function generateAppEnvTypes(rootDirAbsolute = path.resolve('.')) {
|
|
12
|
+
const srcDirAbsolute = path.join(rootDirAbsolute, 'src');
|
|
13
|
+
const envTypesFilePath = path.join(rootDirAbsolute, APP_ENV_TYPES_RELATIVE_PATH);
|
|
14
|
+
try {
|
|
15
|
+
await fs.mkdir(srcDirAbsolute, { recursive: true });
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return errored({
|
|
19
|
+
code: 'FAILED_TO_CREATE_APP_SRC_DIRECTORY',
|
|
20
|
+
path: srcDirAbsolute,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
let existingContent = null;
|
|
24
|
+
try {
|
|
25
|
+
existingContent = await fs.readFile(envTypesFilePath, 'utf8');
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
if (typeof error === 'object' && error !== null && 'code' in error && error.code === 'ENOENT') {
|
|
29
|
+
existingContent = null;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return errored({
|
|
33
|
+
code: 'FAILED_TO_READ_APP_ENV_TYPES_FILE',
|
|
34
|
+
path: envTypesFilePath,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (existingContent === null) {
|
|
39
|
+
try {
|
|
40
|
+
await fs.writeFile(envTypesFilePath, APP_ENV_TYPES_FILE_CONTENT, 'utf8');
|
|
41
|
+
return complete('created');
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return errored({
|
|
45
|
+
code: 'FAILED_TO_WRITE_APP_ENV_TYPES_FILE',
|
|
46
|
+
path: envTypesFilePath,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (existingContent === APP_ENV_TYPES_FILE_CONTENT) {
|
|
51
|
+
return complete('unchanged');
|
|
52
|
+
}
|
|
53
|
+
if (!existingContent.includes(GENERATED_MARKER)) {
|
|
54
|
+
return complete('skipped_unmanaged');
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
await fs.writeFile(envTypesFilePath, APP_ENV_TYPES_FILE_CONTENT, 'utf8');
|
|
58
|
+
return complete('updated');
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return errored({
|
|
62
|
+
code: 'FAILED_TO_WRITE_APP_ENV_TYPES_FILE',
|
|
63
|
+
path: envTypesFilePath,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@auxx/sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.11",
|
|
4
4
|
"description": "CLI tool and SDK for creating Auxx apps",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"template",
|
|
12
12
|
"auxx.js",
|
|
13
13
|
"client.d.ts",
|
|
14
|
+
"assets.d.ts",
|
|
14
15
|
"server.d.ts",
|
|
15
16
|
"global.d.ts",
|
|
16
17
|
"root.d.ts",
|
|
@@ -27,6 +28,9 @@
|
|
|
27
28
|
"./global": {
|
|
28
29
|
"types": "./global.d.ts"
|
|
29
30
|
},
|
|
31
|
+
"./globals": {
|
|
32
|
+
"types": "./global.d.ts"
|
|
33
|
+
},
|
|
30
34
|
"./server": {
|
|
31
35
|
"types": "./server.d.ts"
|
|
32
36
|
},
|