@ixo/editor 6.18.0 → 6.19.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.
@@ -742,6 +742,18 @@ var CAN_TO_TYPE = {
742
742
  "pod/governance-config": "qi/pod.governance-config",
743
743
  "pod/member-multi-select": "qi/pod.member-multi-select",
744
744
  "pod/list-domain-flows": "qi/pod.list-domain-flows",
745
+ "blueprint/workspace-start": "qi/blueprint.workspace-start",
746
+ "blueprint/journey-resume": "qi/blueprint.journey-resume",
747
+ "blueprint/guided-authoring": "qi/blueprint.guided-authoring",
748
+ "blueprint/artifact-preview": "qi/blueprint.artifact-preview",
749
+ "blueprint/artifact-save": "qi/blueprint.artifact-save",
750
+ "blueprint/checklist-update": "qi/blueprint.checklist-update",
751
+ "blueprint/phase-confirm": "qi/blueprint.phase-confirm",
752
+ "blueprint/reviewer-assign": "qi/blueprint.reviewer-assign",
753
+ "blueprint/review-submit": "qi/blueprint.review-submit",
754
+ "blueprint/review-respond": "qi/blueprint.review-respond",
755
+ "blueprint/release-compile": "qi/blueprint.release-compile",
756
+ "blueprint/publish": "qi/blueprint.publish",
745
757
  // Delegated integrations (author connects once, runners execute on their behalf)
746
758
  "gmail.email/send": "qi/gmail.email.send",
747
759
  "outlook.email/send": "qi/outlook.email.send",
@@ -840,6 +852,9 @@ function warnPartialServiceGroups(handlers) {
840
852
  function buildServicesFromHandlers(handlers) {
841
853
  warnPartialServiceGroups(handlers);
842
854
  return {
855
+ blueprint: handlers?.blueprint?.execute ? {
856
+ execute: async (params) => handlers.blueprint.execute(params)
857
+ } : void 0,
843
858
  http: {
844
859
  request: async (params) => {
845
860
  const fetchOptions = {
@@ -1653,6 +1668,240 @@ registerAction({
1653
1668
  }
1654
1669
  });
1655
1670
 
1671
+ // src/core/lib/actionRegistry/actions/blueprint.ts
1672
+ var OUTPUT_SCHEMA = [
1673
+ {
1674
+ path: "receiptRef",
1675
+ displayName: "Runtime receipt",
1676
+ type: "string",
1677
+ description: "Immutable Blueprint Runtime reference proving the governed operation completed."
1678
+ },
1679
+ {
1680
+ path: "result",
1681
+ displayName: "Result",
1682
+ type: "object",
1683
+ description: "The governed Blueprint Runtime result."
1684
+ }
1685
+ ];
1686
+ var WORKSPACE_ID = {
1687
+ type: "string",
1688
+ description: "Opaque Blueprint workspace reference supplied by Portal."
1689
+ };
1690
+ var ACTIONS = [
1691
+ {
1692
+ type: "qi/blueprint.workspace-start",
1693
+ can: "blueprint/workspace-start",
1694
+ sideEffect: true,
1695
+ confirmation: true,
1696
+ required: ["name"],
1697
+ properties: {
1698
+ name: {
1699
+ type: "string",
1700
+ description: "Plain-language name for the professional Service POD."
1701
+ }
1702
+ }
1703
+ },
1704
+ {
1705
+ type: "qi/blueprint.journey-resume",
1706
+ can: "blueprint/journey-resume",
1707
+ sideEffect: false,
1708
+ confirmation: false,
1709
+ required: ["workspaceId"],
1710
+ properties: { workspaceId: WORKSPACE_ID }
1711
+ },
1712
+ {
1713
+ type: "qi/blueprint.guided-authoring",
1714
+ can: "blueprint/guided-authoring",
1715
+ sideEffect: false,
1716
+ confirmation: false,
1717
+ required: ["workspaceId", "phase"],
1718
+ properties: {
1719
+ workspaceId: WORKSPACE_ID,
1720
+ phase: {
1721
+ type: "string",
1722
+ description: "The current product phase: discovery, design, validation, testing, or deployment."
1723
+ }
1724
+ }
1725
+ },
1726
+ {
1727
+ type: "qi/blueprint.artifact-preview",
1728
+ can: "blueprint/artifact-preview",
1729
+ sideEffect: false,
1730
+ confirmation: false,
1731
+ required: ["workspaceId", "stage", "content"],
1732
+ properties: {
1733
+ workspaceId: WORKSPACE_ID,
1734
+ stage: {
1735
+ type: "string",
1736
+ description: "Internal Blueprint control receiving the draft."
1737
+ },
1738
+ content: {
1739
+ type: "object",
1740
+ description: "Draft artifact content to validate without saving."
1741
+ }
1742
+ }
1743
+ },
1744
+ {
1745
+ type: "qi/blueprint.artifact-save",
1746
+ can: "blueprint/artifact-save",
1747
+ sideEffect: true,
1748
+ confirmation: true,
1749
+ required: ["workspaceId", "stage", "content"],
1750
+ properties: {
1751
+ workspaceId: WORKSPACE_ID,
1752
+ stage: {
1753
+ type: "string",
1754
+ description: "Internal Blueprint control receiving the approved draft."
1755
+ },
1756
+ content: {
1757
+ type: "object",
1758
+ description: "User-confirmed artifact content to save."
1759
+ }
1760
+ }
1761
+ },
1762
+ {
1763
+ type: "qi/blueprint.checklist-update",
1764
+ can: "blueprint/checklist-update",
1765
+ sideEffect: true,
1766
+ confirmation: true,
1767
+ required: ["workspaceId", "operation"],
1768
+ properties: {
1769
+ workspaceId: WORKSPACE_ID,
1770
+ operation: {
1771
+ type: "string",
1772
+ description: "Add, accept for later, or resolve a checklist item."
1773
+ },
1774
+ item: {
1775
+ type: "object",
1776
+ description: "Checklist proposal or disposition selected by the user."
1777
+ }
1778
+ }
1779
+ },
1780
+ {
1781
+ type: "qi/blueprint.phase-confirm",
1782
+ can: "blueprint/phase-confirm",
1783
+ sideEffect: true,
1784
+ confirmation: true,
1785
+ required: ["workspaceId", "phase"],
1786
+ properties: {
1787
+ workspaceId: WORKSPACE_ID,
1788
+ phase: {
1789
+ type: "string",
1790
+ description: "Discovery, design, validation, testing, or deployment."
1791
+ }
1792
+ }
1793
+ },
1794
+ {
1795
+ type: "qi/blueprint.reviewer-assign",
1796
+ can: "blueprint/reviewer-assign",
1797
+ sideEffect: true,
1798
+ confirmation: true,
1799
+ required: ["workspaceId"],
1800
+ properties: {
1801
+ workspaceId: WORKSPACE_ID,
1802
+ reviewer: {
1803
+ type: "object",
1804
+ description: "Portal-selected independent reviewer or IXO-supported review request."
1805
+ }
1806
+ }
1807
+ },
1808
+ {
1809
+ type: "qi/blueprint.review-submit",
1810
+ can: "blueprint/review-submit",
1811
+ sideEffect: true,
1812
+ confirmation: true,
1813
+ required: ["workspaceId"],
1814
+ properties: { workspaceId: WORKSPACE_ID }
1815
+ },
1816
+ {
1817
+ type: "qi/blueprint.review-respond",
1818
+ can: "blueprint/review-respond",
1819
+ sideEffect: true,
1820
+ confirmation: true,
1821
+ required: ["workspaceId", "response"],
1822
+ properties: {
1823
+ workspaceId: WORKSPACE_ID,
1824
+ response: {
1825
+ type: "object",
1826
+ description: "Reviewer decision or provider response bound to the complete revision set."
1827
+ }
1828
+ }
1829
+ },
1830
+ {
1831
+ type: "qi/blueprint.release-compile",
1832
+ can: "blueprint/release-compile",
1833
+ sideEffect: true,
1834
+ confirmation: true,
1835
+ required: ["workspaceId"],
1836
+ properties: { workspaceId: WORKSPACE_ID }
1837
+ },
1838
+ {
1839
+ type: "qi/blueprint.publish",
1840
+ can: "blueprint/publish",
1841
+ sideEffect: true,
1842
+ confirmation: true,
1843
+ required: ["workspaceId", "releaseRef", "network"],
1844
+ properties: {
1845
+ workspaceId: WORKSPACE_ID,
1846
+ releaseRef: {
1847
+ type: "string",
1848
+ description: "Exact approved release to publish."
1849
+ },
1850
+ network: {
1851
+ type: "string",
1852
+ description: "Target IXO network selected by the user."
1853
+ }
1854
+ }
1855
+ }
1856
+ ];
1857
+ function requireInputs(inputs, required) {
1858
+ for (const field of required) {
1859
+ const value = inputs[field];
1860
+ if (value === void 0 || value === null || typeof value === "string" && value.trim().length === 0) {
1861
+ throw new Error(`${field} is required`);
1862
+ }
1863
+ }
1864
+ }
1865
+ async function executeBlueprintAction(spec, inputs, ctx) {
1866
+ requireInputs(inputs, spec.required);
1867
+ const execute = ctx.services.blueprint?.execute;
1868
+ if (!execute) {
1869
+ throw new Error(`${spec.type} handler not available`);
1870
+ }
1871
+ const response = await execute({
1872
+ action: spec.type,
1873
+ inputs,
1874
+ actorDid: ctx.actorDid,
1875
+ flowId: ctx.flowId,
1876
+ nodeId: ctx.nodeId
1877
+ });
1878
+ if (!response.receiptRef) {
1879
+ throw new Error(`${spec.type} returned no Blueprint Runtime receipt`);
1880
+ }
1881
+ return {
1882
+ output: {
1883
+ receiptRef: response.receiptRef,
1884
+ result: response.result ?? {}
1885
+ }
1886
+ };
1887
+ }
1888
+ for (const spec of ACTIONS) {
1889
+ registerAction({
1890
+ type: spec.type,
1891
+ can: spec.can,
1892
+ sideEffect: spec.sideEffect,
1893
+ defaultRequiresConfirmation: spec.confirmation,
1894
+ proof: { fields: ["receiptRef"] },
1895
+ inputSchema: {
1896
+ type: "object",
1897
+ required: spec.required,
1898
+ properties: spec.properties
1899
+ },
1900
+ outputSchema: OUTPUT_SCHEMA,
1901
+ run: async (inputs, ctx) => executeBlueprintAction(spec, inputs, ctx)
1902
+ });
1903
+ }
1904
+
1656
1905
  // src/core/lib/actionRegistry/actions/governance/memberProposal.ts
1657
1906
  var VALID_OPERATIONS = ["add", "remove", "update-weight"];
1658
1907
  function defaultTitle(operation, count) {
@@ -15302,4 +15551,4 @@ export {
15302
15551
  executeQueuedFlowAgentCoreCommands,
15303
15552
  FlowAgentService
15304
15553
  };
15305
- //# sourceMappingURL=chunk-N7J2JFCX.js.map
15554
+ //# sourceMappingURL=chunk-2WSXLAX5.js.map