@ixo/editor 6.16.1 → 6.18.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/dist/action-manifest.json +11 -11
- package/dist/{chunk-SSHQ3OTO.js → chunk-KIRDKAO3.js} +2 -2
- package/dist/{chunk-EWKSBZ62.js → chunk-LMNQ5HT6.js} +2 -2
- package/dist/{chunk-WYIBJ24C.js → chunk-N7J2JFCX.js} +97 -1
- package/dist/chunk-N7J2JFCX.js.map +1 -0
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/mantine/index.js +2 -2
- package/dist/{store-BsdF3BVv.d.ts → store-DeTFI0Ah.d.ts} +12 -0
- package/package.json +1 -1
- package/dist/chunk-WYIBJ24C.js.map +0 -1
- /package/dist/{chunk-SSHQ3OTO.js.map → chunk-KIRDKAO3.js.map} +0 -0
- /package/dist/{chunk-EWKSBZ62.js.map → chunk-LMNQ5HT6.js.map} +0 -0
|
@@ -1185,7 +1185,7 @@
|
|
|
1185
1185
|
"hasDynamicEvents": true,
|
|
1186
1186
|
"hasDynamicOutputSchema": true,
|
|
1187
1187
|
"eligibleForEventTrigger": false,
|
|
1188
|
-
"hasCustomInputValidation":
|
|
1188
|
+
"hasCustomInputValidation": true,
|
|
1189
1189
|
"can": "collection/lifecycle",
|
|
1190
1190
|
"requiredCapability": "flow/block/execute",
|
|
1191
1191
|
"inputSchema": {
|
|
@@ -1377,7 +1377,7 @@
|
|
|
1377
1377
|
"hasDynamicEvents": false,
|
|
1378
1378
|
"hasDynamicOutputSchema": true,
|
|
1379
1379
|
"eligibleForEventTrigger": true,
|
|
1380
|
-
"hasCustomInputValidation":
|
|
1380
|
+
"hasCustomInputValidation": true,
|
|
1381
1381
|
"can": "collection/users",
|
|
1382
1382
|
"requiredCapability": "flow/block/execute",
|
|
1383
1383
|
"inputSchema": {
|
|
@@ -1836,7 +1836,7 @@
|
|
|
1836
1836
|
"hasDynamicEvents": false,
|
|
1837
1837
|
"hasDynamicOutputSchema": false,
|
|
1838
1838
|
"eligibleForEventTrigger": true,
|
|
1839
|
-
"hasCustomInputValidation":
|
|
1839
|
+
"hasCustomInputValidation": true,
|
|
1840
1840
|
"can": "email/send",
|
|
1841
1841
|
"requiredCapability": "email/send",
|
|
1842
1842
|
"inputSchema": {
|
|
@@ -2184,7 +2184,7 @@
|
|
|
2184
2184
|
"hasDynamicEvents": false,
|
|
2185
2185
|
"hasDynamicOutputSchema": false,
|
|
2186
2186
|
"eligibleForEventTrigger": true,
|
|
2187
|
-
"hasCustomInputValidation":
|
|
2187
|
+
"hasCustomInputValidation": true,
|
|
2188
2188
|
"can": "gmail.email/send",
|
|
2189
2189
|
"requiredCapability": "flow/block/execute",
|
|
2190
2190
|
"outputSchema": [
|
|
@@ -2240,7 +2240,7 @@
|
|
|
2240
2240
|
"hasDynamicEvents": false,
|
|
2241
2241
|
"hasDynamicOutputSchema": false,
|
|
2242
2242
|
"eligibleForEventTrigger": true,
|
|
2243
|
-
"hasCustomInputValidation":
|
|
2243
|
+
"hasCustomInputValidation": true,
|
|
2244
2244
|
"can": "googlecalendar.event/create",
|
|
2245
2245
|
"requiredCapability": "flow/block/execute",
|
|
2246
2246
|
"outputSchema": [
|
|
@@ -3532,7 +3532,7 @@
|
|
|
3532
3532
|
"hasDynamicEvents": false,
|
|
3533
3533
|
"hasDynamicOutputSchema": false,
|
|
3534
3534
|
"eligibleForEventTrigger": false,
|
|
3535
|
-
"hasCustomInputValidation":
|
|
3535
|
+
"hasCustomInputValidation": true,
|
|
3536
3536
|
"can": "governance/member-proposal",
|
|
3537
3537
|
"requiredCapability": "flow/block/execute",
|
|
3538
3538
|
"outputSchema": [
|
|
@@ -3828,7 +3828,7 @@
|
|
|
3828
3828
|
"hasDynamicEvents": false,
|
|
3829
3829
|
"hasDynamicOutputSchema": false,
|
|
3830
3830
|
"eligibleForEventTrigger": false,
|
|
3831
|
-
"hasCustomInputValidation":
|
|
3831
|
+
"hasCustomInputValidation": true,
|
|
3832
3832
|
"can": "governance/settings-proposal",
|
|
3833
3833
|
"requiredCapability": "flow/block/execute",
|
|
3834
3834
|
"outputSchema": [
|
|
@@ -4284,7 +4284,7 @@
|
|
|
4284
4284
|
"hasDynamicEvents": false,
|
|
4285
4285
|
"hasDynamicOutputSchema": false,
|
|
4286
4286
|
"eligibleForEventTrigger": false,
|
|
4287
|
-
"hasCustomInputValidation":
|
|
4287
|
+
"hasCustomInputValidation": true,
|
|
4288
4288
|
"can": "governance.transaction/send-funds",
|
|
4289
4289
|
"requiredCapability": "flow/block/execute",
|
|
4290
4290
|
"outputSchema": [
|
|
@@ -4570,7 +4570,7 @@
|
|
|
4570
4570
|
"hasDynamicEvents": false,
|
|
4571
4571
|
"hasDynamicOutputSchema": false,
|
|
4572
4572
|
"eligibleForEventTrigger": true,
|
|
4573
|
-
"hasCustomInputValidation":
|
|
4573
|
+
"hasCustomInputValidation": true,
|
|
4574
4574
|
"can": "http/request",
|
|
4575
4575
|
"inputSchema": {
|
|
4576
4576
|
"type": "object",
|
|
@@ -6013,7 +6013,7 @@
|
|
|
6013
6013
|
"hasDynamicEvents": false,
|
|
6014
6014
|
"hasDynamicOutputSchema": false,
|
|
6015
6015
|
"eligibleForEventTrigger": true,
|
|
6016
|
-
"hasCustomInputValidation":
|
|
6016
|
+
"hasCustomInputValidation": true,
|
|
6017
6017
|
"can": "outlook.email/send",
|
|
6018
6018
|
"requiredCapability": "flow/block/execute",
|
|
6019
6019
|
"outputSchema": [
|
|
@@ -6796,7 +6796,7 @@
|
|
|
6796
6796
|
"hasDynamicEvents": false,
|
|
6797
6797
|
"hasDynamicOutputSchema": false,
|
|
6798
6798
|
"eligibleForEventTrigger": true,
|
|
6799
|
-
"hasCustomInputValidation":
|
|
6799
|
+
"hasCustomInputValidation": true,
|
|
6800
6800
|
"can": "slack.message/send",
|
|
6801
6801
|
"requiredCapability": "flow/block/execute",
|
|
6802
6802
|
"outputSchema": [
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
replaceBlockInFragment,
|
|
11
11
|
swapBlocksInFragment,
|
|
12
12
|
writeCompiledBlocksToFragment
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-N7J2JFCX.js";
|
|
14
14
|
|
|
15
15
|
// src/core/lib/flowCompiler/authoring.ts
|
|
16
16
|
import * as Y from "yjs";
|
|
@@ -257,4 +257,4 @@ export {
|
|
|
257
257
|
resetStepRuntime,
|
|
258
258
|
setFormAnswers
|
|
259
259
|
};
|
|
260
|
-
//# sourceMappingURL=chunk-
|
|
260
|
+
//# sourceMappingURL=chunk-KIRDKAO3.js.map
|
|
@@ -77,7 +77,7 @@ import {
|
|
|
77
77
|
verifyCompletion,
|
|
78
78
|
warnOnce,
|
|
79
79
|
writeRunRecordAndReconcile
|
|
80
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-N7J2JFCX.js";
|
|
81
81
|
|
|
82
82
|
// src/mantine/hooks/usePanel.ts
|
|
83
83
|
import { useCallback, useMemo, useEffect, useRef } from "react";
|
|
@@ -51530,4 +51530,4 @@ export {
|
|
|
51530
51530
|
ixoGraphQLClient,
|
|
51531
51531
|
getEntity
|
|
51532
51532
|
};
|
|
51533
|
-
//# sourceMappingURL=chunk-
|
|
51533
|
+
//# sourceMappingURL=chunk-LMNQ5HT6.js.map
|
|
@@ -718,6 +718,8 @@ var CAN_TO_TYPE = {
|
|
|
718
718
|
"bid/evaluate": "qi/bid.evaluate",
|
|
719
719
|
"claim/submit": "qi/claim.submit",
|
|
720
720
|
"claim/evaluate": "qi/claim.evaluate",
|
|
721
|
+
"collection/lifecycle": "qi/collection.lifecycle",
|
|
722
|
+
"collection/users": "qi/collection.users",
|
|
721
723
|
"email/send": "qi/email.send",
|
|
722
724
|
"notification/push": "qi/notification.push",
|
|
723
725
|
"matrix/dm": "qi/matrix.dm",
|
|
@@ -1681,6 +1683,15 @@ registerAction({
|
|
|
1681
1683
|
{ path: "operation", displayName: "Operation", type: "string", description: "add | remove | update-weight" },
|
|
1682
1684
|
{ path: "createdAt", displayName: "Created At", type: "string", description: "ISO timestamp of proposal creation" }
|
|
1683
1685
|
],
|
|
1686
|
+
// Mirrors run()'s throw-preamble (there is no inputSchema to declare
|
|
1687
|
+
// requiredness on): coreAddress, operation and a non-empty members list.
|
|
1688
|
+
getMissingInputs: (inputs) => {
|
|
1689
|
+
const missing = [];
|
|
1690
|
+
if (!String(inputs.coreAddress || "").trim()) missing.push("coreAddress");
|
|
1691
|
+
if (!String(inputs.operation || "").trim()) missing.push("operation");
|
|
1692
|
+
if (!Array.isArray(inputs.members) || inputs.members.length === 0) missing.push("members");
|
|
1693
|
+
return missing;
|
|
1694
|
+
},
|
|
1684
1695
|
run: async (inputs, ctx) => {
|
|
1685
1696
|
const handlers = ctx.handlers;
|
|
1686
1697
|
if (!handlers) {
|
|
@@ -1770,6 +1781,17 @@ registerAction({
|
|
|
1770
1781
|
{ path: "coreAddress", displayName: "Core Address", type: "string", description: "The DAO core contract address" },
|
|
1771
1782
|
{ path: "createdAt", displayName: "Created At", type: "string", description: "ISO timestamp of proposal creation" }
|
|
1772
1783
|
],
|
|
1784
|
+
// Mirrors run()'s throw-preamble (there is no inputSchema to declare
|
|
1785
|
+
// requiredness on): coreAddress and the three numeric voting settings.
|
|
1786
|
+
getMissingInputs: (inputs) => {
|
|
1787
|
+
const missing = [];
|
|
1788
|
+
if (!String(inputs.coreAddress || "").trim()) missing.push("coreAddress");
|
|
1789
|
+
for (const name of ["votingPeriodHours", "quorumPercent", "thresholdPercent"]) {
|
|
1790
|
+
const value = inputs[name];
|
|
1791
|
+
if (value === void 0 || value === null || String(value).trim() === "") missing.push(name);
|
|
1792
|
+
}
|
|
1793
|
+
return missing;
|
|
1794
|
+
},
|
|
1773
1795
|
run: async (inputs, ctx) => {
|
|
1774
1796
|
const handlers = ctx.handlers;
|
|
1775
1797
|
if (!handlers) {
|
|
@@ -1964,6 +1986,17 @@ registerAction({
|
|
|
1964
1986
|
{ path: "recipient", displayName: "Recipient", type: "string", description: "Destination address of the spend" },
|
|
1965
1987
|
{ path: "createdAt", displayName: "Created At", type: "string", description: "ISO timestamp of proposal creation" }
|
|
1966
1988
|
],
|
|
1989
|
+
// Mirrors run()'s throw-preamble (there is no inputSchema to declare
|
|
1990
|
+
// requiredness on): coreAddress, recipient, denom and amount.
|
|
1991
|
+
getMissingInputs: (inputs) => {
|
|
1992
|
+
const missing = [];
|
|
1993
|
+
for (const name of ["coreAddress", "recipient", "denom"]) {
|
|
1994
|
+
if (!String(inputs[name] || "").trim()) missing.push(name);
|
|
1995
|
+
}
|
|
1996
|
+
const amount = inputs.amount;
|
|
1997
|
+
if (amount === void 0 || amount === null || String(amount).trim() === "") missing.push("amount");
|
|
1998
|
+
return missing;
|
|
1999
|
+
},
|
|
1967
2000
|
run: async (inputs, ctx) => {
|
|
1968
2001
|
const handlers = ctx.handlers;
|
|
1969
2002
|
if (!handlers) {
|
|
@@ -2883,6 +2916,9 @@ registerAction({
|
|
|
2883
2916
|
body: { type: "string", description: "Request body; sent for non-GET methods. Accepts a string or an object (serialized to JSON)." }
|
|
2884
2917
|
}
|
|
2885
2918
|
},
|
|
2919
|
+
// run() accepts `endpoint` OR `url` — mirror the alias the schema's
|
|
2920
|
+
// required array can't express.
|
|
2921
|
+
getMissingInputs: (inputs) => String(inputs.endpoint || inputs.url || "").trim() ? [] : ["endpoint"],
|
|
2886
2922
|
run: async (inputs, ctx) => {
|
|
2887
2923
|
const endpoint = inputs.endpoint ?? inputs.url;
|
|
2888
2924
|
const url = typeof endpoint === "string" ? endpoint : "";
|
|
@@ -2953,6 +2989,14 @@ registerAction({
|
|
|
2953
2989
|
{ path: "messageId", displayName: "Message ID", type: "string", description: "The unique ID of the sent email" },
|
|
2954
2990
|
{ path: "sentAt", displayName: "Sent At", type: "string", description: "Timestamp when the email was sent" }
|
|
2955
2991
|
],
|
|
2992
|
+
// run() accepts `template` OR `templateName` for the template — the
|
|
2993
|
+
// schema's required array can't express the alias, so mirror the OR here.
|
|
2994
|
+
getMissingInputs: (inputs) => {
|
|
2995
|
+
const missing = [];
|
|
2996
|
+
if (!String(inputs.to || "").trim()) missing.push("to");
|
|
2997
|
+
if (!String(inputs.template || "").trim() && !String(inputs.templateName || "").trim()) missing.push("templateName");
|
|
2998
|
+
return missing;
|
|
2999
|
+
},
|
|
2956
3000
|
run: async (inputs, ctx) => {
|
|
2957
3001
|
if (!ctx.services.email) {
|
|
2958
3002
|
throw new Error("Email service not configured");
|
|
@@ -7409,6 +7453,10 @@ registerAction({
|
|
|
7409
7453
|
type: COLLECTION_LIFECYCLE_ACTION_TYPE,
|
|
7410
7454
|
can: "collection/lifecycle",
|
|
7411
7455
|
sideEffect: true,
|
|
7456
|
+
// Chain transaction signed as the entity admin — only the human in the
|
|
7457
|
+
// Portal FlowDetail holds that authority. Orchestrators gather inputs and
|
|
7458
|
+
// hand off; they must not run or delegate this.
|
|
7459
|
+
executionOwner: "human",
|
|
7412
7460
|
// Dynamic resolvers predate merge-by-default and intentionally control
|
|
7413
7461
|
// the full vocabulary (e.g. returning [] to hide the static baseline).
|
|
7414
7462
|
dynamicResolutionMode: "replace",
|
|
@@ -7439,6 +7487,21 @@ registerAction({
|
|
|
7439
7487
|
intents: { type: "object", description: "create/updateIntents \u2014 intent configuration." }
|
|
7440
7488
|
}
|
|
7441
7489
|
},
|
|
7490
|
+
// Mirrors run()'s throw-preamble: `operation` selects the branch, `create`
|
|
7491
|
+
// needs the entity + protocol DIDs, and every other op targets an existing
|
|
7492
|
+
// collection so it needs `collectionId`. Per-op value validity (state enum,
|
|
7493
|
+
// quota vs count, at-least-one-date) stays with run().
|
|
7494
|
+
getMissingInputs: (inputs) => {
|
|
7495
|
+
const operation = String(inputs?.operation || "").trim();
|
|
7496
|
+
if (!operation) return ["operation"];
|
|
7497
|
+
if (operation === "create") {
|
|
7498
|
+
const missing = [];
|
|
7499
|
+
if (!String(inputs?.entity || "").trim()) missing.push("entity");
|
|
7500
|
+
if (!String(inputs?.protocol || "").trim()) missing.push("protocol");
|
|
7501
|
+
return missing;
|
|
7502
|
+
}
|
|
7503
|
+
return String(inputs?.collectionId || "").trim() ? [] : ["collectionId"];
|
|
7504
|
+
},
|
|
7442
7505
|
run: async (inputs, ctx) => {
|
|
7443
7506
|
const service = ctx.services.collection;
|
|
7444
7507
|
if (!service) {
|
|
@@ -7656,6 +7719,10 @@ registerAction({
|
|
|
7656
7719
|
type: COLLECTION_USERS_ACTION_TYPE,
|
|
7657
7720
|
can: "collection/users",
|
|
7658
7721
|
sideEffect: true,
|
|
7722
|
+
// Authz grants signed by the entity admin — only the human in the Portal
|
|
7723
|
+
// FlowDetail holds that authority. Orchestrators gather inputs and hand
|
|
7724
|
+
// off; they must not run or delegate this.
|
|
7725
|
+
executionOwner: "human",
|
|
7659
7726
|
// Dynamic resolvers predate merge-by-default and intentionally control
|
|
7660
7727
|
// the full vocabulary (e.g. returning [] to hide the static baseline).
|
|
7661
7728
|
dynamicResolutionMode: "replace",
|
|
@@ -7692,6 +7759,16 @@ registerAction({
|
|
|
7692
7759
|
members: { type: "array", description: "Resolved members to fan the grant out to when granteeKind is group-members." }
|
|
7693
7760
|
}
|
|
7694
7761
|
},
|
|
7762
|
+
// Only the decision inputs are human-askable: `operation` selects the
|
|
7763
|
+
// branch and `collectionId` targets the collection (often filled by the
|
|
7764
|
+
// `created` event of an upstream collection.lifecycle block). adminAddress,
|
|
7765
|
+
// role and grantee fields are resolved by the host/FlowDetail, so a blank
|
|
7766
|
+
// there is not something to escalate to a human for.
|
|
7767
|
+
getMissingInputs: (inputs) => {
|
|
7768
|
+
const operation = String(inputs?.operation || "").trim();
|
|
7769
|
+
if (!operation) return ["operation"];
|
|
7770
|
+
return String(inputs?.collectionId || "").trim() ? [] : ["collectionId"];
|
|
7771
|
+
},
|
|
7695
7772
|
run: async (inputs, ctx) => {
|
|
7696
7773
|
const service = ctx.services.collectionUsers;
|
|
7697
7774
|
if (!service) {
|
|
@@ -8154,6 +8231,13 @@ function fieldValues(inputs) {
|
|
|
8154
8231
|
function missingRequired(schema, values) {
|
|
8155
8232
|
return (schema.parameters.required || []).filter((name) => !(values[name] ?? "").trim());
|
|
8156
8233
|
}
|
|
8234
|
+
function delegatedToolMissingInputs(schema, rawInputs) {
|
|
8235
|
+
const parsed = parseDelegatedToolInputs(rawInputs);
|
|
8236
|
+
const missing = [];
|
|
8237
|
+
if (!parsed.connection?.bindingId) missing.push("connection");
|
|
8238
|
+
missing.push(...missingRequired(schema, fieldValues(parsed)));
|
|
8239
|
+
return missing;
|
|
8240
|
+
}
|
|
8157
8241
|
function coerceToolArgs(schema, values) {
|
|
8158
8242
|
const out = {};
|
|
8159
8243
|
for (const [name, prop] of Object.entries(schema.parameters.properties || {})) {
|
|
@@ -8237,6 +8321,9 @@ registerAction({
|
|
|
8237
8321
|
requiredCapability: "flow/block/execute",
|
|
8238
8322
|
// Can be wired to another block's event (e.g. form submitted → send email).
|
|
8239
8323
|
eligibleForEventTrigger: true,
|
|
8324
|
+
// Mirrors executeDelegatedTool's gates: the bound connection plus the
|
|
8325
|
+
// tool schema's required fields, so orchestrators ask before run() throws.
|
|
8326
|
+
getMissingInputs: (inputs) => delegatedToolMissingInputs(GMAIL_SEND_SCHEMA, inputs),
|
|
8240
8327
|
outputSchema: GMAIL_SEND_OUTPUT_SCHEMA,
|
|
8241
8328
|
events: [
|
|
8242
8329
|
{
|
|
@@ -8314,6 +8401,9 @@ registerAction({
|
|
|
8314
8401
|
requiredCapability: "flow/block/execute",
|
|
8315
8402
|
// Can be wired to another block's event (e.g. form submitted → send email).
|
|
8316
8403
|
eligibleForEventTrigger: true,
|
|
8404
|
+
// Mirrors executeDelegatedTool's gates: the bound connection plus the
|
|
8405
|
+
// tool schema's required fields, so orchestrators ask before run() throws.
|
|
8406
|
+
getMissingInputs: (inputs) => delegatedToolMissingInputs(OUTLOOK_SEND_SCHEMA, inputs),
|
|
8317
8407
|
outputSchema: OUTLOOK_SEND_OUTPUT_SCHEMA,
|
|
8318
8408
|
events: [
|
|
8319
8409
|
{
|
|
@@ -8388,6 +8478,9 @@ registerAction({
|
|
|
8388
8478
|
requiredCapability: "flow/block/execute",
|
|
8389
8479
|
// Can be wired to another block's event (e.g. form submitted → post message).
|
|
8390
8480
|
eligibleForEventTrigger: true,
|
|
8481
|
+
// Mirrors executeDelegatedTool's gates: the bound connection plus the
|
|
8482
|
+
// tool schema's required fields, so orchestrators ask before run() throws.
|
|
8483
|
+
getMissingInputs: (inputs) => delegatedToolMissingInputs(SLACK_SEND_SCHEMA, inputs),
|
|
8391
8484
|
outputSchema: SLACK_SEND_OUTPUT_SCHEMA,
|
|
8392
8485
|
events: [
|
|
8393
8486
|
{
|
|
@@ -8464,6 +8557,9 @@ registerAction({
|
|
|
8464
8557
|
defaultRequiresConfirmation: true,
|
|
8465
8558
|
requiredCapability: "flow/block/execute",
|
|
8466
8559
|
eligibleForEventTrigger: true,
|
|
8560
|
+
// Mirrors executeDelegatedTool's gates: the bound connection plus the
|
|
8561
|
+
// tool schema's required fields, so orchestrators ask before run() throws.
|
|
8562
|
+
getMissingInputs: (inputs) => delegatedToolMissingInputs(GOOGLECALENDAR_CREATE_SCHEMA, inputs),
|
|
8467
8563
|
outputSchema: GOOGLECALENDAR_CREATE_OUTPUT_SCHEMA,
|
|
8468
8564
|
events: [
|
|
8469
8565
|
{
|
|
@@ -15206,4 +15302,4 @@ export {
|
|
|
15206
15302
|
executeQueuedFlowAgentCoreCommands,
|
|
15207
15303
|
FlowAgentService
|
|
15208
15304
|
};
|
|
15209
|
-
//# sourceMappingURL=chunk-
|
|
15305
|
+
//# sourceMappingURL=chunk-N7J2JFCX.js.map
|