@skaile/workspaces 4.29.0 → 4.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/app-sdk/index.js +1 -1
- package/dist/{asset-feeds-3P3XWCCZ.js → asset-feeds-K7N37CGF.js} +4 -4
- package/dist/{asset-feeds-3P3XWCCZ.js.map → asset-feeds-K7N37CGF.js.map} +1 -1
- package/dist/asset-manager/index.js +1 -1
- package/dist/bridge/drivers/claude-sdk.js +36 -7
- package/dist/bridge/drivers/claude-sdk.js.map +1 -1
- package/dist/bridge/drivers/codex.js +2 -2
- package/dist/bridge/drivers/continue.js +3 -3
- package/dist/bridge/drivers/echo.js +3 -3
- package/dist/bridge/drivers/gemini.js +5 -5
- package/dist/bridge/drivers/goose.js +3 -3
- package/dist/bridge/drivers/omp.js +4 -4
- package/dist/bridge/drivers/opencode.js +3 -3
- package/dist/bridge/drivers/qwen.js +5 -5
- package/dist/bridge/index.js +5 -5
- package/dist/bridge/src/drivers/claude-sdk.d.ts +11 -0
- package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
- package/dist/bridge/src/normalizer.d.ts.map +1 -1
- package/dist/bridge/src/types.d.ts +4 -1
- package/dist/bridge/src/types.d.ts.map +1 -1
- package/dist/{chunk-7P6OPPG4.js → chunk-324NAWHN.js} +4 -4
- package/dist/{chunk-7P6OPPG4.js.map → chunk-324NAWHN.js.map} +1 -1
- package/dist/{chunk-BGSM22L6.js → chunk-3FVL4TBA.js} +6 -6
- package/dist/{chunk-BGSM22L6.js.map → chunk-3FVL4TBA.js.map} +1 -1
- package/dist/{chunk-3XMGAODZ.js → chunk-3W4SDHJP.js} +149 -22
- package/dist/chunk-3W4SDHJP.js.map +1 -0
- package/dist/{chunk-I4C4AHZB.js → chunk-527MPCTU.js} +4 -4
- package/dist/{chunk-I4C4AHZB.js.map → chunk-527MPCTU.js.map} +1 -1
- package/dist/{chunk-LFZEN3XG.js → chunk-6X4DHKHP.js} +3 -3
- package/dist/{chunk-LFZEN3XG.js.map → chunk-6X4DHKHP.js.map} +1 -1
- package/dist/{chunk-5UQNCPIP.js → chunk-C5OSO7HJ.js} +3 -3
- package/dist/{chunk-5UQNCPIP.js.map → chunk-C5OSO7HJ.js.map} +1 -1
- package/dist/{chunk-Q2AOHZFF.js → chunk-CFKJQDPA.js} +6 -5
- package/dist/chunk-CFKJQDPA.js.map +1 -0
- package/dist/{chunk-TFH6Z4KZ.js → chunk-CYX7TIWL.js} +3 -3
- package/dist/{chunk-TFH6Z4KZ.js.map → chunk-CYX7TIWL.js.map} +1 -1
- package/dist/{chunk-PZL6BEWG.js → chunk-DIQDYNXZ.js} +3 -3
- package/dist/{chunk-PZL6BEWG.js.map → chunk-DIQDYNXZ.js.map} +1 -1
- package/dist/{chunk-ERDK4ATM.js → chunk-GHLJV2FY.js} +3 -3
- package/dist/{chunk-ERDK4ATM.js.map → chunk-GHLJV2FY.js.map} +1 -1
- package/dist/{chunk-FUKJ4IU6.js → chunk-GHX6XFLY.js} +40 -21
- package/dist/chunk-GHX6XFLY.js.map +1 -0
- package/dist/{chunk-LZRA54EP.js → chunk-HNWYNNIX.js} +2 -2
- package/dist/{chunk-LZRA54EP.js.map → chunk-HNWYNNIX.js.map} +1 -1
- package/dist/{chunk-DQ64NLMC.js → chunk-K3IBZ2UZ.js} +3 -3
- package/dist/{chunk-DQ64NLMC.js.map → chunk-K3IBZ2UZ.js.map} +1 -1
- package/dist/{chunk-DMXEFYND.js → chunk-K575XNKG.js} +3 -3
- package/dist/{chunk-DMXEFYND.js.map → chunk-K575XNKG.js.map} +1 -1
- package/dist/{chunk-Y42A2ZBB.js → chunk-KKBXGPJE.js} +4 -4
- package/dist/{chunk-Y42A2ZBB.js.map → chunk-KKBXGPJE.js.map} +1 -1
- package/dist/{chunk-2ZFE2R7S.js → chunk-KOVAB6W2.js} +2 -2
- package/dist/{chunk-2ZFE2R7S.js.map → chunk-KOVAB6W2.js.map} +1 -1
- package/dist/{chunk-XEBSA7YU.js → chunk-LIWDDZO2.js} +6 -6
- package/dist/{chunk-XEBSA7YU.js.map → chunk-LIWDDZO2.js.map} +1 -1
- package/dist/{chunk-X5CW2HDM.js → chunk-MLM5JZAQ.js} +3 -3
- package/dist/{chunk-X5CW2HDM.js.map → chunk-MLM5JZAQ.js.map} +1 -1
- package/dist/{chunk-G6NTA3BZ.js → chunk-MZQOSE2X.js} +8 -8
- package/dist/chunk-MZQOSE2X.js.map +1 -0
- package/dist/{chunk-DJZRPPFJ.js → chunk-NQOE57Q7.js} +4 -4
- package/dist/chunk-NQOE57Q7.js.map +1 -0
- package/dist/{chunk-HFVK7FKK.js → chunk-OHON7XSG.js} +3 -3
- package/dist/{chunk-HFVK7FKK.js.map → chunk-OHON7XSG.js.map} +1 -1
- package/dist/{chunk-KPRZHEEI.js → chunk-ORH2BZEM.js} +155 -85
- package/dist/chunk-ORH2BZEM.js.map +1 -0
- package/dist/{chunk-H5EGBMZ5.js → chunk-RHXRXTBO.js} +2 -2
- package/dist/chunk-RHXRXTBO.js.map +1 -0
- package/dist/{chunk-AMJSC6SU.js → chunk-RLIISQHO.js} +3 -3
- package/dist/{chunk-AMJSC6SU.js.map → chunk-RLIISQHO.js.map} +1 -1
- package/dist/{chunk-6ZELKHAI.js → chunk-TU2UTFVG.js} +3 -3
- package/dist/{chunk-6ZELKHAI.js.map → chunk-TU2UTFVG.js.map} +1 -1
- package/dist/{chunk-ULLMVMAN.js → chunk-UDFWBALP.js} +3 -3
- package/dist/{chunk-ULLMVMAN.js.map → chunk-UDFWBALP.js.map} +1 -1
- package/dist/{chunk-YNJRENVU.js → chunk-UQ3JFN4N.js} +2 -2
- package/dist/{chunk-YNJRENVU.js.map → chunk-UQ3JFN4N.js.map} +1 -1
- package/dist/{chunk-3TZECMBB.js → chunk-X22NBPTU.js} +6 -6
- package/dist/{chunk-3TZECMBB.js.map → chunk-X22NBPTU.js.map} +1 -1
- package/dist/{chunk-YO654LTQ.js → chunk-YVWUHPQW.js} +43 -66
- package/dist/chunk-YVWUHPQW.js.map +1 -0
- package/dist/{chunk-2MD6TJWZ.js → chunk-YYH5EVPM.js} +3 -3
- package/dist/{chunk-2MD6TJWZ.js.map → chunk-YYH5EVPM.js.map} +1 -1
- package/dist/cli/index.js +43 -43
- package/dist/connectors/index.js +13 -13
- package/dist/connectors-shared/index.js +2 -2
- package/dist/{ensure-sources-3NKAGEBJ.js → ensure-sources-OGAOMNTT.js} +4 -4
- package/dist/{ensure-sources-3NKAGEBJ.js.map → ensure-sources-OGAOMNTT.js.map} +1 -1
- package/dist/factory-assets/connectors/box.js +13 -13
- package/dist/factory-assets/connectors/deploy.js +13 -13
- package/dist/factory-assets/connectors/devserver.js +13 -13
- package/dist/factory-assets/connectors/flow/CONNECTOR.md +6 -2
- package/dist/factory-assets/connectors/flow/adapter.js +13 -13
- package/dist/factory-assets/connectors/flow/contract/index.d.ts +1 -1
- package/dist/factory-assets/connectors/flow/contract/index.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/contract/output-fields.d.ts +28 -0
- package/dist/factory-assets/connectors/flow/contract/output-fields.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/contract/schema.d.ts +5 -0
- package/dist/factory-assets/connectors/flow/contract/schema.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/contract.js +4 -4
- package/dist/factory-assets/connectors/flow/engine/output-schema.d.ts +2 -7
- package/dist/factory-assets/connectors/flow/engine/output-schema.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/engine.js +4 -4
- package/dist/factory-assets/connectors/flow/prompt-fragments.js +3 -3
- package/dist/factory-assets/connectors/flow/run-flow.d.ts +20 -0
- package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/run-flow.js +14 -14
- package/dist/factory-assets/connectors/flow.js +13 -13
- package/dist/factory-assets/connectors/git/CONNECTOR.md +2 -0
- package/dist/factory-assets/connectors/git/driver.d.ts +3 -2
- package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -1
- package/dist/factory-assets/connectors/git.js +13 -13
- package/dist/factory-assets/connectors/gmail.js +13 -13
- package/dist/factory-assets/connectors/googledrive.js +13 -13
- package/dist/factory-assets/connectors/local.js +13 -13
- package/dist/factory-assets/connectors/mattermost.js +13 -13
- package/dist/factory-assets/connectors/memory.js +13 -13
- package/dist/factory-assets/connectors/minio.js +13 -13
- package/dist/factory-assets/connectors/postgres.js +13 -13
- package/dist/factory-assets/connectors/s3.js +13 -13
- package/dist/factory-assets/connectors/sharepoint.js +13 -13
- package/dist/factory-assets/connectors/sqlite.js +13 -13
- package/dist/factory-assets/connectors/static-server.js +13 -13
- package/dist/factory-assets/connectors/tunnel.js +13 -13
- package/dist/factory-assets/connectors/webdav.js +13 -13
- package/dist/factory-assets/connectors/xstate-store.js +13 -13
- package/dist/factory-assets/connectors/xstate.js +13 -13
- package/dist/{flows-4X6PVPPH.js → flows-6WUQ2J4X.js} +3 -3
- package/dist/{flows-4X6PVPPH.js.map → flows-6WUQ2J4X.js.map} +1 -1
- package/dist/{helpers-WHBQSVBQ.js → helpers-AS2CN7BJ.js} +4 -4
- package/dist/{helpers-WHBQSVBQ.js.map → helpers-AS2CN7BJ.js.map} +1 -1
- package/dist/{library-publish-4APUZRJV.js → library-publish-SXQAWWPG.js} +10 -10
- package/dist/{library-publish-4APUZRJV.js.map → library-publish-SXQAWWPG.js.map} +1 -1
- package/dist/{open-library-QTC5PH7Y.js → open-library-UVAFPWK7.js} +9 -9
- package/dist/{open-library-QTC5PH7Y.js.map → open-library-UVAFPWK7.js.map} +1 -1
- package/dist/{project-3K6VBQIV.js → project-MHUUWPCN.js} +5 -5
- package/dist/{project-3K6VBQIV.js.map → project-MHUUWPCN.js.map} +1 -1
- package/dist/runner/index.js +19 -19
- package/dist/runner/src/agent.d.ts.map +1 -1
- package/dist/runner/src/flow-turn-dispatch.d.ts +4 -3
- package/dist/runner/src/flow-turn-dispatch.d.ts.map +1 -1
- package/dist/runner/src/init-build-hold.d.ts +60 -0
- package/dist/runner/src/init-build-hold.d.ts.map +1 -0
- package/dist/runner/src/serve.d.ts +14 -0
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +1 -1
- package/dist/sdk/bridge.js +5 -5
- package/dist/sdk/flow.js +4 -4
- package/dist/sdk/index.js +19 -19
- package/dist/sdk/runner.js +19 -19
- package/dist/sdk/session.js +2 -2
- package/dist/sdk/types.js +1 -1
- package/dist/session/index.js +2 -2
- package/dist/{setup-K37IWBVQ.js → setup-NQKJXRK5.js} +10 -10
- package/dist/{setup-K37IWBVQ.js.map → setup-NQKJXRK5.js.map} +1 -1
- package/dist/{source-DMSYJIY6.js → source-T7DWNSDN.js} +10 -10
- package/dist/{source-DMSYJIY6.js.map → source-T7DWNSDN.js.map} +1 -1
- package/dist/{source-manifest-publish-VJSEWCG7.js → source-manifest-publish-WBAWFUHX.js} +11 -11
- package/dist/{source-manifest-publish-VJSEWCG7.js.map → source-manifest-publish-WBAWFUHX.js.map} +1 -1
- package/dist/tui/index.js +19 -19
- package/dist/types/index.js +1 -1
- package/dist/types/src/events.d.ts +23 -0
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/version.d.ts +9 -1
- package/dist/types/src/version.d.ts.map +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +3 -3
- package/dist/workspace-plugin/adapters/omp.js +3 -3
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-3XMGAODZ.js.map +0 -1
- package/dist/chunk-DJZRPPFJ.js.map +0 -1
- package/dist/chunk-FUKJ4IU6.js.map +0 -1
- package/dist/chunk-G6NTA3BZ.js.map +0 -1
- package/dist/chunk-H5EGBMZ5.js.map +0 -1
- package/dist/chunk-KPRZHEEI.js.map +0 -1
- package/dist/chunk-Q2AOHZFF.js.map +0 -1
- package/dist/chunk-YO654LTQ.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as z2 from 'zod';
|
|
2
2
|
|
|
3
3
|
// factory-assets/connectors/flow/contract/classifier.ts
|
|
4
4
|
var RESERVED_CLASSIFIER_FIELDS = ["confidence", "calibrated"];
|
|
@@ -798,15 +798,44 @@ function resolveFlowBindings(bindings, context, nodeOutputOrigin = {}, flowInput
|
|
|
798
798
|
}
|
|
799
799
|
return { values, origins };
|
|
800
800
|
}
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
801
|
+
function consumerExpressions(node) {
|
|
802
|
+
const expressions = (node.contract?.requires ?? []).map(({ expr }) => expr);
|
|
803
|
+
expressions.push(...collectFlowBindingExpressions(node.contract?.input));
|
|
804
|
+
if (node.run?.kind === "router") {
|
|
805
|
+
expressions.push(...node.run.routes.map(({ when }) => when));
|
|
806
|
+
}
|
|
807
|
+
return expressions;
|
|
808
|
+
}
|
|
809
|
+
function readsProducerOutput(node, producerId) {
|
|
810
|
+
return consumerExpressions(node).some(
|
|
811
|
+
(expression) => inspectFlowExpression(expression, false).some(
|
|
812
|
+
({ path }) => path.startsWith(`nodes.${producerId}.output.fields.`)
|
|
813
|
+
)
|
|
814
|
+
);
|
|
815
|
+
}
|
|
816
|
+
function getConsumedOutputSchema(flow, producerId) {
|
|
817
|
+
const producer = flow.nodes.find(({ id }) => id === producerId);
|
|
818
|
+
const schema = producer?.contract?.output?.fields;
|
|
819
|
+
if (!schema) return void 0;
|
|
820
|
+
return flow.nodes.some(
|
|
821
|
+
(consumer) => consumer.id !== producerId && readsProducerOutput(consumer, producerId)
|
|
822
|
+
) ? schema : void 0;
|
|
823
|
+
}
|
|
824
|
+
function compileOutputFieldsSchema(schema) {
|
|
825
|
+
return z2.fromJSONSchema(schema);
|
|
826
|
+
}
|
|
827
|
+
function invalidOutputFieldsSchemaMessage(error) {
|
|
828
|
+
return `invalid authored JSON Schema: ${error instanceof Error ? error.message : String(error)}`;
|
|
829
|
+
}
|
|
830
|
+
var jsonValue = () => z2.json();
|
|
831
|
+
var nonEmptyString = z2.string().min(1);
|
|
832
|
+
var flowAssetIdentity = z2.string().regex(
|
|
804
833
|
/^[a-z0-9]+(?:-[a-z0-9]+)*$/,
|
|
805
834
|
"Flow identity must be lowercase kebab-case without path separators"
|
|
806
835
|
);
|
|
807
|
-
var jsonSchema =
|
|
808
|
-
var bindingName =
|
|
809
|
-
var nodeBindings =
|
|
836
|
+
var jsonSchema = z2.record(z2.string(), jsonValue());
|
|
837
|
+
var bindingName = z2.string().regex(FLOW_BINDING_NAME_PATTERN, "Binding name is reserved");
|
|
838
|
+
var nodeBindings = z2.preprocess(
|
|
810
839
|
(value, context) => {
|
|
811
840
|
if (typeof value === "object" && value !== null) {
|
|
812
841
|
for (const key of Object.keys(value)) {
|
|
@@ -817,7 +846,7 @@ var nodeBindings = z.preprocess(
|
|
|
817
846
|
}
|
|
818
847
|
return value;
|
|
819
848
|
},
|
|
820
|
-
|
|
849
|
+
z2.record(bindingName, jsonValue())
|
|
821
850
|
);
|
|
822
851
|
var MISSING_FIELD = /* @__PURE__ */ Symbol("missing-field");
|
|
823
852
|
function declaredFieldSchema(schema, path) {
|
|
@@ -832,7 +861,7 @@ function declaredFieldSchema(schema, path) {
|
|
|
832
861
|
}
|
|
833
862
|
return current;
|
|
834
863
|
}
|
|
835
|
-
var FlowInputContractSchema =
|
|
864
|
+
var FlowInputContractSchema = z2.strictObject({
|
|
836
865
|
schema: jsonSchema,
|
|
837
866
|
example: jsonValue().optional(),
|
|
838
867
|
labelField: nonEmptyString.optional()
|
|
@@ -847,45 +876,45 @@ var FlowInputContractSchema = z.strictObject({
|
|
|
847
876
|
});
|
|
848
877
|
}
|
|
849
878
|
});
|
|
850
|
-
var FlowOutputContractSchema =
|
|
879
|
+
var FlowOutputContractSchema = z2.strictObject({
|
|
851
880
|
schema: jsonSchema
|
|
852
881
|
});
|
|
853
|
-
var PreconditionSchema =
|
|
882
|
+
var PreconditionSchema = z2.strictObject({
|
|
854
883
|
expr: nonEmptyString,
|
|
855
884
|
message: nonEmptyString.optional()
|
|
856
885
|
});
|
|
857
|
-
var ArtifactContractSchema =
|
|
886
|
+
var ArtifactContractSchema = z2.strictObject({
|
|
858
887
|
kind: nonEmptyString,
|
|
859
|
-
lifetime:
|
|
888
|
+
lifetime: z2.enum(["session", "persistent"])
|
|
860
889
|
});
|
|
861
|
-
var NodeOutputContractSchema =
|
|
890
|
+
var NodeOutputContractSchema = z2.strictObject({
|
|
862
891
|
fields: jsonSchema.optional(),
|
|
863
|
-
artifacts:
|
|
892
|
+
artifacts: z2.array(ArtifactContractSchema).optional()
|
|
864
893
|
});
|
|
865
|
-
var NodeContractSchema =
|
|
866
|
-
requires:
|
|
894
|
+
var NodeContractSchema = z2.strictObject({
|
|
895
|
+
requires: z2.array(PreconditionSchema).optional(),
|
|
867
896
|
input: nodeBindings.optional(),
|
|
868
897
|
output: NodeOutputContractSchema.optional()
|
|
869
898
|
});
|
|
870
|
-
var NodeGateSchema =
|
|
871
|
-
approval:
|
|
899
|
+
var NodeGateSchema = z2.strictObject({
|
|
900
|
+
approval: z2.enum(["none", "optional", "mandatory"])
|
|
872
901
|
});
|
|
873
|
-
var NodeControlSchema =
|
|
874
|
-
optional:
|
|
875
|
-
retries:
|
|
876
|
-
timeoutSec:
|
|
902
|
+
var NodeControlSchema = z2.strictObject({
|
|
903
|
+
optional: z2.boolean().optional(),
|
|
904
|
+
retries: z2.number().int().min(0).optional(),
|
|
905
|
+
timeoutSec: z2.number().positive().optional(),
|
|
877
906
|
parallelGroup: nonEmptyString.optional()
|
|
878
907
|
});
|
|
879
|
-
var runAssets = { assets:
|
|
880
|
-
var modelTier =
|
|
881
|
-
var AgentRunSchema =
|
|
882
|
-
kind:
|
|
908
|
+
var runAssets = { assets: z2.array(nonEmptyString).optional() };
|
|
909
|
+
var modelTier = z2.enum(["small", "default", "deep"]);
|
|
910
|
+
var AgentRunSchema = z2.strictObject({
|
|
911
|
+
kind: z2.literal("agent"),
|
|
883
912
|
instruction: nonEmptyString,
|
|
884
913
|
model: modelTier.optional(),
|
|
885
914
|
...runAssets
|
|
886
915
|
});
|
|
887
|
-
var SubpromptRunSchema =
|
|
888
|
-
kind:
|
|
916
|
+
var SubpromptRunSchema = z2.strictObject({
|
|
917
|
+
kind: z2.literal("subprompt"),
|
|
889
918
|
instruction: nonEmptyString,
|
|
890
919
|
model: modelTier.optional(),
|
|
891
920
|
...runAssets
|
|
@@ -899,73 +928,77 @@ function invalidCaptureDestinationMessage(kind, nodeId, channel, destination) {
|
|
|
899
928
|
const kindLabel = kind === "check" ? "Check" : "Function";
|
|
900
929
|
return `${kindLabel} node ${nodeId} run.capture.${channel} destination "${destination}" is invalid; expected fields.<name>`;
|
|
901
930
|
}
|
|
931
|
+
function duplicateCaptureDestinationMessage(kind, nodeId, fieldName) {
|
|
932
|
+
const kindLabel = kind === "check" ? "Check" : "Function";
|
|
933
|
+
return `${kindLabel} node ${nodeId} run.capture.stdout and run.capture.stderr both write fields.${fieldName}; stderr would overwrite stdout, so capture them into different fields`;
|
|
934
|
+
}
|
|
902
935
|
var deterministicRun = {
|
|
903
|
-
runtime:
|
|
936
|
+
runtime: z2.enum(["shell", "node", "python"]).optional(),
|
|
904
937
|
command: nonEmptyString,
|
|
905
938
|
cwd: nonEmptyString.optional(),
|
|
906
|
-
successExit:
|
|
907
|
-
capture:
|
|
939
|
+
successExit: z2.array(z2.number().int()).optional(),
|
|
940
|
+
capture: z2.strictObject({ stdout: nonEmptyString.optional(), stderr: nonEmptyString.optional() }).optional(),
|
|
908
941
|
...runAssets
|
|
909
942
|
};
|
|
910
|
-
var FunctionRunSchema =
|
|
911
|
-
kind:
|
|
943
|
+
var FunctionRunSchema = z2.strictObject({
|
|
944
|
+
kind: z2.literal("function"),
|
|
912
945
|
...deterministicRun
|
|
913
946
|
});
|
|
914
|
-
var CheckRunSchema =
|
|
915
|
-
kind:
|
|
916
|
-
onFail:
|
|
947
|
+
var CheckRunSchema = z2.strictObject({
|
|
948
|
+
kind: z2.literal("check"),
|
|
949
|
+
onFail: z2.enum(["escalate", "fail"]).default("escalate"),
|
|
917
950
|
...deterministicRun
|
|
918
951
|
});
|
|
919
|
-
var InputChoiceSchema =
|
|
952
|
+
var InputChoiceSchema = z2.strictObject({
|
|
920
953
|
id: nonEmptyString,
|
|
921
954
|
label: nonEmptyString,
|
|
922
955
|
description: nonEmptyString.optional()
|
|
923
956
|
});
|
|
924
|
-
var FormFieldSchema =
|
|
957
|
+
var FormFieldSchema = z2.strictObject({
|
|
925
958
|
id: nonEmptyString,
|
|
926
959
|
label: nonEmptyString,
|
|
927
|
-
type:
|
|
928
|
-
required:
|
|
929
|
-
options:
|
|
930
|
-
accept:
|
|
960
|
+
type: z2.enum(["text", "textarea", "number", "choice", "file", "date", "boolean"]),
|
|
961
|
+
required: z2.boolean().optional(),
|
|
962
|
+
options: z2.array(InputChoiceSchema).optional(),
|
|
963
|
+
accept: z2.array(nonEmptyString).optional()
|
|
931
964
|
});
|
|
932
|
-
var InputSchema =
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
kind:
|
|
936
|
-
options:
|
|
937
|
-
multiple:
|
|
965
|
+
var InputSchema = z2.discriminatedUnion("kind", [
|
|
966
|
+
z2.strictObject({ kind: z2.literal("text"), multiline: z2.boolean().optional() }),
|
|
967
|
+
z2.strictObject({
|
|
968
|
+
kind: z2.literal("choice"),
|
|
969
|
+
options: z2.array(InputChoiceSchema).min(1),
|
|
970
|
+
multiple: z2.boolean().optional()
|
|
938
971
|
}),
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
kind:
|
|
942
|
-
accept:
|
|
943
|
-
maxSize:
|
|
944
|
-
multiple:
|
|
972
|
+
z2.strictObject({ kind: z2.literal("form"), fields: z2.array(FormFieldSchema) }),
|
|
973
|
+
z2.strictObject({
|
|
974
|
+
kind: z2.literal("file"),
|
|
975
|
+
accept: z2.array(nonEmptyString).optional(),
|
|
976
|
+
maxSize: z2.number().positive().optional(),
|
|
977
|
+
multiple: z2.boolean().optional()
|
|
945
978
|
})
|
|
946
979
|
]);
|
|
947
|
-
var GateRunSchema =
|
|
948
|
-
kind:
|
|
980
|
+
var GateRunSchema = z2.strictObject({
|
|
981
|
+
kind: z2.literal("gate"),
|
|
949
982
|
prompt: nonEmptyString,
|
|
950
983
|
schema: InputSchema,
|
|
951
984
|
...runAssets
|
|
952
985
|
});
|
|
953
|
-
var RouteSchema =
|
|
986
|
+
var RouteSchema = z2.strictObject({
|
|
954
987
|
when: nonEmptyString,
|
|
955
988
|
target: nonEmptyString.nullable()
|
|
956
989
|
});
|
|
957
|
-
var RouterRunSchema =
|
|
958
|
-
kind:
|
|
959
|
-
routes:
|
|
990
|
+
var RouterRunSchema = z2.strictObject({
|
|
991
|
+
kind: z2.literal("router"),
|
|
992
|
+
routes: z2.array(RouteSchema).min(1),
|
|
960
993
|
...runAssets
|
|
961
994
|
});
|
|
962
|
-
var SubFlowRunSchema =
|
|
963
|
-
kind:
|
|
995
|
+
var SubFlowRunSchema = z2.strictObject({
|
|
996
|
+
kind: z2.literal("sub-flow"),
|
|
964
997
|
flow: flowAssetIdentity,
|
|
965
|
-
passContext:
|
|
998
|
+
passContext: z2.boolean().optional(),
|
|
966
999
|
...runAssets
|
|
967
1000
|
});
|
|
968
|
-
var RunSchema =
|
|
1001
|
+
var RunSchema = z2.discriminatedUnion("kind", [
|
|
969
1002
|
AgentRunSchema,
|
|
970
1003
|
SubpromptRunSchema,
|
|
971
1004
|
FunctionRunSchema,
|
|
@@ -974,7 +1007,7 @@ var RunSchema = z.discriminatedUnion("kind", [
|
|
|
974
1007
|
RouterRunSchema,
|
|
975
1008
|
SubFlowRunSchema
|
|
976
1009
|
]);
|
|
977
|
-
var NodeSchema =
|
|
1010
|
+
var NodeSchema = z2.strictObject({
|
|
978
1011
|
id: nonEmptyString,
|
|
979
1012
|
label: nonEmptyString,
|
|
980
1013
|
description: nonEmptyString,
|
|
@@ -984,35 +1017,35 @@ var NodeSchema = z.strictObject({
|
|
|
984
1017
|
gate: NodeGateSchema.optional(),
|
|
985
1018
|
control: NodeControlSchema.optional()
|
|
986
1019
|
});
|
|
987
|
-
var EdgeSchema =
|
|
1020
|
+
var EdgeSchema = z2.strictObject({
|
|
988
1021
|
id: nonEmptyString,
|
|
989
1022
|
source: nonEmptyString,
|
|
990
1023
|
target: nonEmptyString,
|
|
991
|
-
type:
|
|
1024
|
+
type: z2.enum(["flow", "parallel", "optional"])
|
|
992
1025
|
});
|
|
993
|
-
var FlowDefaultsSchema =
|
|
994
|
-
approval:
|
|
1026
|
+
var FlowDefaultsSchema = z2.strictObject({
|
|
1027
|
+
approval: z2.enum(["checkpoint", "auto", "manual"]).optional(),
|
|
995
1028
|
researchDepth: nonEmptyString.optional(),
|
|
996
|
-
autoReview:
|
|
1029
|
+
autoReview: z2.boolean().optional(),
|
|
997
1030
|
verbosity: nonEmptyString.optional(),
|
|
998
|
-
cliMode:
|
|
1031
|
+
cliMode: z2.boolean().optional(),
|
|
999
1032
|
run_input: jsonValue().optional(),
|
|
1000
|
-
parameters:
|
|
1033
|
+
parameters: z2.record(z2.string(), jsonValue()).optional()
|
|
1001
1034
|
});
|
|
1002
|
-
var FlowMetaSchema =
|
|
1035
|
+
var FlowMetaSchema = z2.strictObject({
|
|
1003
1036
|
icon: nonEmptyString.optional(),
|
|
1004
1037
|
category: nonEmptyString.optional(),
|
|
1005
|
-
tags:
|
|
1038
|
+
tags: z2.array(nonEmptyString).optional(),
|
|
1006
1039
|
stage: nonEmptyString.optional(),
|
|
1007
|
-
onboarding:
|
|
1008
|
-
input_style:
|
|
1040
|
+
onboarding: z2.strictObject({
|
|
1041
|
+
input_style: z2.enum(["freeform", "structured", "repo"]),
|
|
1009
1042
|
placeholder: nonEmptyString.optional(),
|
|
1010
|
-
fields:
|
|
1043
|
+
fields: z2.array(nonEmptyString).optional()
|
|
1011
1044
|
}).optional()
|
|
1012
1045
|
});
|
|
1013
|
-
var FlowDefinitionObjectSchema =
|
|
1046
|
+
var FlowDefinitionObjectSchema = z2.strictObject({
|
|
1014
1047
|
$schema: nonEmptyString.optional(),
|
|
1015
|
-
schemaVersion:
|
|
1048
|
+
schemaVersion: z2.literal(2),
|
|
1016
1049
|
id: nonEmptyString,
|
|
1017
1050
|
version: nonEmptyString,
|
|
1018
1051
|
name: nonEmptyString,
|
|
@@ -1021,8 +1054,8 @@ var FlowDefinitionObjectSchema = z.strictObject({
|
|
|
1021
1054
|
output: FlowOutputContractSchema.optional(),
|
|
1022
1055
|
defaults: FlowDefaultsSchema.optional(),
|
|
1023
1056
|
entry: nonEmptyString.optional(),
|
|
1024
|
-
nodes:
|
|
1025
|
-
edges:
|
|
1057
|
+
nodes: z2.array(NodeSchema),
|
|
1058
|
+
edges: z2.array(EdgeSchema),
|
|
1026
1059
|
meta: FlowMetaSchema.optional()
|
|
1027
1060
|
});
|
|
1028
1061
|
function parseFlowDefinitionStructure(data) {
|
|
@@ -1084,6 +1117,17 @@ var FlowDefinitionSchema = FlowDefinitionObjectSchema.superRefine((flow, context
|
|
|
1084
1117
|
message: invalidCaptureDestinationMessage(node.run.kind, node.id, channel, destination)
|
|
1085
1118
|
});
|
|
1086
1119
|
}
|
|
1120
|
+
const { stdout, stderr } = node.run.capture ?? {};
|
|
1121
|
+
const stdoutField = stdout === void 0 ? void 0 : captureDestinationFieldName(stdout);
|
|
1122
|
+
if (stdoutField !== void 0 && stderr !== void 0) {
|
|
1123
|
+
if (captureDestinationFieldName(stderr) === stdoutField) {
|
|
1124
|
+
context.addIssue({
|
|
1125
|
+
code: "custom",
|
|
1126
|
+
path: ["nodes", index, "run", "capture", "stderr"],
|
|
1127
|
+
message: duplicateCaptureDestinationMessage(node.run.kind, node.id, stdoutField)
|
|
1128
|
+
});
|
|
1129
|
+
}
|
|
1130
|
+
}
|
|
1087
1131
|
}
|
|
1088
1132
|
}
|
|
1089
1133
|
if (flow.entry !== void 0 && !nodeIds.has(flow.entry)) {
|
|
@@ -1209,6 +1253,7 @@ var FlowDefinitionSchema = FlowDefinitionObjectSchema.superRefine((flow, context
|
|
|
1209
1253
|
}
|
|
1210
1254
|
}
|
|
1211
1255
|
validateClassifierRules(flow, context);
|
|
1256
|
+
validateConsumedOutputSchemasCompile(flow, context);
|
|
1212
1257
|
const state = /* @__PURE__ */ new Map();
|
|
1213
1258
|
for (const nodeId of nodeIds) {
|
|
1214
1259
|
if (state.has(nodeId)) continue;
|
|
@@ -1233,6 +1278,31 @@ var FlowDefinitionSchema = FlowDefinitionObjectSchema.superRefine((flow, context
|
|
|
1233
1278
|
}
|
|
1234
1279
|
}
|
|
1235
1280
|
});
|
|
1281
|
+
function validateConsumedOutputSchemasCompile(flow, context) {
|
|
1282
|
+
for (const [nodeIndex, node] of flow.nodes.entries()) {
|
|
1283
|
+
const fields = node.contract?.output?.fields;
|
|
1284
|
+
if (!fields) continue;
|
|
1285
|
+
let compileError;
|
|
1286
|
+
try {
|
|
1287
|
+
compileOutputFieldsSchema(fields);
|
|
1288
|
+
continue;
|
|
1289
|
+
} catch (error) {
|
|
1290
|
+
compileError = error;
|
|
1291
|
+
}
|
|
1292
|
+
let consumed;
|
|
1293
|
+
try {
|
|
1294
|
+
consumed = getConsumedOutputSchema(flow, node.id) !== void 0;
|
|
1295
|
+
} catch {
|
|
1296
|
+
continue;
|
|
1297
|
+
}
|
|
1298
|
+
if (!consumed) continue;
|
|
1299
|
+
context.addIssue({
|
|
1300
|
+
code: "custom",
|
|
1301
|
+
path: ["nodes", nodeIndex, "contract", "output", "fields"],
|
|
1302
|
+
message: `node ${node.id} contract.output.fields: ${invalidOutputFieldsSchemaMessage(compileError)}`
|
|
1303
|
+
});
|
|
1304
|
+
}
|
|
1305
|
+
}
|
|
1236
1306
|
var ORDERING_OPERATORS = /* @__PURE__ */ new Set(["<", "<=", ">", ">="]);
|
|
1237
1307
|
function validateClassifierRules(flow, context) {
|
|
1238
1308
|
const classifierIds = /* @__PURE__ */ new Set();
|
|
@@ -1331,6 +1401,6 @@ function validateClassifierRules(flow, context) {
|
|
|
1331
1401
|
}
|
|
1332
1402
|
}
|
|
1333
1403
|
|
|
1334
|
-
export { FLOW_CAPTURE_CHANNELS, FLOW_CAPTURE_DESTINATION_PATTERN, FLOW_EXPRESSION_LIMITS, FlowDefinitionSchema, FlowExpressionError, InputSchema, RESERVED_CLASSIFIER_FIELDS, captureDestinationFieldName, checkClassifierShape, classifierDecision,
|
|
1335
|
-
//# sourceMappingURL=chunk-
|
|
1336
|
-
//# sourceMappingURL=chunk-
|
|
1404
|
+
export { FLOW_CAPTURE_CHANNELS, FLOW_CAPTURE_DESTINATION_PATTERN, FLOW_EXPRESSION_LIMITS, FlowDefinitionSchema, FlowExpressionError, InputSchema, RESERVED_CLASSIFIER_FIELDS, captureDestinationFieldName, checkClassifierShape, classifierDecision, compileOutputFieldsSchema, declaresReservedClassifierField, duplicateCaptureDestinationMessage, evaluate, evaluateFlowExpression, getConsumedOutputSchema, hasConstantlyFalsePrecondition, inspectFlowExpressionComparisons, invalidCaptureDestinationMessage, invalidOutputFieldsSchemaMessage, parseFlowDefinitionStructure, resolveFlowBindings, stableFlowJson, withoutReservedClassifierFields };
|
|
1405
|
+
//# sourceMappingURL=chunk-ORH2BZEM.js.map
|
|
1406
|
+
//# sourceMappingURL=chunk-ORH2BZEM.js.map
|