@ixo/editor 5.24.0 → 5.26.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.
@@ -1,7 +1,7 @@
1
- import { a5 as ActionDefinition, a6 as ActionServices, Z as FlowAgentCommand, $ as FlowAgentContext, _ as FlowAgentCommandResult, a0 as FlowAgentExecutor, a2 as FlowAgentNodeSnapshot, a7 as FlowAgentBlockerCause, a3 as FlowAgentPublicNodeState } from '../store-D6-JWLvj.mjs';
2
- export { aj as AcquireFlowAgentLeaseParams, a9 as ActionContext, aa as ActionResult, ax as ActorConstraint, A as AuthorizationResult, B as BaseUcanFlow, X as BuildFlowAgentContextParams, aA as CompiledBlock, aB as CompiledEdge, v as CompiledFlow, aC as CompiledFlowNode, C as CompilerRegistry, aw as ConditionRef, ak as CreateAgentCommandParams, al as EvaluateFlowAgentPolicyParams, E as ExecuteNodeParams, f as ExecutionContext, d as ExecutionOutcome, Y as FlowAgentActor, ao as FlowAgentCommandBase, ap as FlowAgentCommandStatus, aq as FlowAgentCommandType, a1 as FlowAgentLease, ar as FlowAgentLedgerEvent, as as FlowAgentLedgerEventType, at as FlowAgentMaps, am as FlowAgentOrchestratorOptions, au as FlowAgentPolicyDecision, av as FlowAgentRunPhase, x as FlowAgentService, an as FlowAgentServiceOptions, a4 as FlowAgentTickResult, u as FlowCapability, F as FlowRuntimeStateManager, w as FlowStrategy, M as MergeResult, N as NodeActionResult, ab as OutputSchemaField, R as ReadFlowOptions, q as ReadFlowResult, az as RuntimeRef, S as SetupFlowOptions, p as SetupFlowResult, ay as TTLConstraint, aD as TriggerSpec, y as acquireFlowAgentLease, z as appendAgentLedgerEvent, a as buildAuthzFromProps, D as buildFlowAgentContext, b as buildFlowNodeFromBlock, ac as canMatches, G as cleanupExpiredFlowAgentLeases, a8 as clearRuntimeForTemplateClone, l as compileBaseUcanFlow, ad as computeAgentCommandId, H as createAgentCommand, c as createRuntimeStateManager, o as decompileToBaseUcanFlow, I as evaluateFlowAgentPolicy, e as executeNode, J as executeQueuedAgentCommands, k as getActiveEditor, K as getFlowAgentMaps, i as isAuthorized, ae as isCapabilityMatch, af as isExternalMutation, aE as isRuntimeRef, n as mergeCompiledFlows, L as planRalphLoopCommands, O as queueAgentCommand, P as readAgentLedgerEvents, m as readCompiledFlowFromYDoc, h as readFlow, r as readFlowAsBaseUcan, g as readFlowFromEditor, Q as readQueuedAgentCommands, T as releaseFlowAgentLease, ag as requiredCapabilityForCommand, ah as resourceMatches, j as setActiveEditor, s as setupFlowFromBaseUcan, U as tickFlowAgent, ai as updateAgentCommand, V as validateAgentCommand, W as validateFlowAgentLease } from '../store-D6-JWLvj.mjs';
3
- import { a4 as IxoEditorType, f as UcanService, U as UcanDelegationStore, S as StoredDelegation, I as InvocationStore, a5 as FlowNodeRuntimeState, a6 as FlowMetadata, a7 as FlowNode } from '../index-CU_uhH5a.mjs';
4
- export { af as ActionReadBackMetadata, a9 as ClaimCollectionURI, am as CreateDelegationParams, an as CreateInvocationParams, al as CreateRootDelegationParams, a8 as DID, D as DelegationChainValidationResult, k as DelegationGrant, aa as EvaluationStatus, aj as ExecutionWithInvocationResult, ak as FindProofsResult, ac as FlowNodeAuthzExtension, ag as FlowNodeBase, ah as InvocationRequest, ai as InvocationResult, ab as LinkedClaim, ad as NodeState, ae as ReadBackTerminalState, j as StoredInvocation, i as UcanCapability, g as UcanServiceConfig, h as UcanServiceHandlers, b as createInvocationStore, d as createMemoryInvocationStore, a as createMemoryUcanDelegationStore, c as createUcanDelegationStore, e as createUcanService } from '../index-CU_uhH5a.mjs';
1
+ import { a5 as ActionDefinition, a6 as ActionServices, Z as FlowAgentCommand, $ as FlowAgentContext, _ as FlowAgentCommandResult, a0 as FlowAgentExecutor, a2 as FlowAgentNodeSnapshot, a7 as FlowAgentBlockerCause, a3 as FlowAgentPublicNodeState } from '../store-tdIRq7y0.mjs';
2
+ export { aj as AcquireFlowAgentLeaseParams, a9 as ActionContext, aa as ActionResult, ax as ActorConstraint, A as AuthorizationResult, B as BaseUcanFlow, X as BuildFlowAgentContextParams, aA as CompiledBlock, aB as CompiledEdge, v as CompiledFlow, aC as CompiledFlowNode, C as CompilerRegistry, aw as ConditionRef, ak as CreateAgentCommandParams, al as EvaluateFlowAgentPolicyParams, E as ExecuteNodeParams, f as ExecutionContext, d as ExecutionOutcome, Y as FlowAgentActor, ao as FlowAgentCommandBase, ap as FlowAgentCommandStatus, aq as FlowAgentCommandType, a1 as FlowAgentLease, ar as FlowAgentLedgerEvent, as as FlowAgentLedgerEventType, at as FlowAgentMaps, am as FlowAgentOrchestratorOptions, au as FlowAgentPolicyDecision, av as FlowAgentRunPhase, x as FlowAgentService, an as FlowAgentServiceOptions, a4 as FlowAgentTickResult, u as FlowCapability, F as FlowRuntimeStateManager, w as FlowStrategy, M as MergeResult, N as NodeActionResult, ab as OutputSchemaField, R as ReadFlowOptions, q as ReadFlowResult, az as RuntimeRef, S as SetupFlowOptions, p as SetupFlowResult, ay as TTLConstraint, aD as TriggerSpec, y as acquireFlowAgentLease, z as appendAgentLedgerEvent, a as buildAuthzFromProps, D as buildFlowAgentContext, b as buildFlowNodeFromBlock, ac as canMatches, G as cleanupExpiredFlowAgentLeases, a8 as clearRuntimeForTemplateClone, l as compileBaseUcanFlow, ad as computeAgentCommandId, H as createAgentCommand, c as createRuntimeStateManager, o as decompileToBaseUcanFlow, I as evaluateFlowAgentPolicy, e as executeNode, J as executeQueuedAgentCommands, k as getActiveEditor, K as getFlowAgentMaps, i as isAuthorized, ae as isCapabilityMatch, af as isExternalMutation, aE as isRuntimeRef, n as mergeCompiledFlows, L as planRalphLoopCommands, O as queueAgentCommand, P as readAgentLedgerEvents, m as readCompiledFlowFromYDoc, h as readFlow, r as readFlowAsBaseUcan, g as readFlowFromEditor, Q as readQueuedAgentCommands, T as releaseFlowAgentLease, ag as requiredCapabilityForCommand, ah as resourceMatches, j as setActiveEditor, s as setupFlowFromBaseUcan, U as tickFlowAgent, ai as updateAgentCommand, V as validateAgentCommand, W as validateFlowAgentLease } from '../store-tdIRq7y0.mjs';
3
+ import { a4 as IxoEditorType, f as UcanService, U as UcanDelegationStore, S as StoredDelegation, I as InvocationStore, a5 as FlowNodeRuntimeState, a6 as FlowMetadata, a7 as FlowNode } from '../index-Bdh5jcT4.mjs';
4
+ export { af as ActionReadBackMetadata, a9 as ClaimCollectionURI, am as CreateDelegationParams, an as CreateInvocationParams, al as CreateRootDelegationParams, a8 as DID, D as DelegationChainValidationResult, k as DelegationGrant, aa as EvaluationStatus, aj as ExecutionWithInvocationResult, ak as FindProofsResult, ac as FlowNodeAuthzExtension, ag as FlowNodeBase, ah as InvocationRequest, ai as InvocationResult, ab as LinkedClaim, ad as NodeState, ae as ReadBackTerminalState, j as StoredInvocation, i as UcanCapability, g as UcanServiceConfig, h as UcanServiceHandlers, b as createInvocationStore, d as createMemoryInvocationStore, a as createMemoryUcanDelegationStore, c as createUcanDelegationStore, e as createUcanService } from '../index-Bdh5jcT4.mjs';
5
5
  import * as Y from 'yjs';
6
6
  import 'matrix-js-sdk';
7
7
  import '@blocknote/core';
@@ -76,7 +76,7 @@ import {
76
76
  validateAgentCommand,
77
77
  validateFlowAgentLease,
78
78
  writeRunRecordAndReconcile
79
- } from "../chunk-UWRUVSMP.mjs";
79
+ } from "../chunk-RIDIYR53.mjs";
80
80
  import {
81
81
  computeCID,
82
82
  computeJsonCID
@@ -1,5 +1,5 @@
1
1
  import * as _blocknote_core from '@blocknote/core';
2
- import { ao as IxoBlockProps, l as IxoEditorOptions, a4 as IxoEditorType, p as IxoCollaborativeEditorOptions, w as BlocknoteHandlers, y as BlockRequirements, av as UnlMapConfig, ar as DynamicListDataProvider, as as DynamicListPanelRenderer, at as DomainCardRenderer, a3 as Translate, k as DelegationGrant } from './index-CU_uhH5a.mjs';
2
+ import { ao as IxoBlockProps, l as IxoEditorOptions, a4 as IxoEditorType, p as IxoCollaborativeEditorOptions, w as BlocknoteHandlers, y as BlockRequirements, av as UnlMapConfig, ar as DynamicListDataProvider, as as DynamicListPanelRenderer, at as DomainCardRenderer, a3 as Translate, k as DelegationGrant } from './index-Bdh5jcT4.mjs';
3
3
  import { Text, Doc, Map, Array as Array$1 } from 'yjs';
4
4
  import React__default from 'react';
5
5
 
@@ -959,6 +959,32 @@ type ClaimCollectionResponse = {
959
959
  adminAddress: string;
960
960
  collections: ClaimCollection[];
961
961
  };
962
+ /**
963
+ * A verifiableClaim protocol attached to an entity, derived by hydrating the
964
+ * entity's `linkedClaim[]` (each resolves to `entityClaims[].template`). Used by
965
+ * the claim-collection create config so the protocol the user picks is always
966
+ * one actually linked to the chosen entity, not a free-text DID that can drift.
967
+ *
968
+ * `protocolId` is the normalized `template.id` (with any `{id}` placeholder
969
+ * replaced by the entity DID) — the value stored as the collection's `protocol`.
970
+ */
971
+ type EntityClaimProtocol = {
972
+ /** Normalized `template.id` — the value persisted as the collection protocol. */
973
+ protocolId: string;
974
+ /** `template.title` — the dropdown label. */
975
+ title: string;
976
+ /** `template.type`, when present. */
977
+ type?: string;
978
+ /** `template.description`, when present. */
979
+ description?: string;
980
+ /** Whether this template is the entity's headline metric. */
981
+ isHeadlineMetric?: boolean;
982
+ /** `false` when the linkedClaim hydrated but carried no template (greyed-out). */
983
+ hasValidClaim: boolean;
984
+ };
985
+ type EntityClaimProtocolsResponse = {
986
+ protocols: EntityClaimProtocol[];
987
+ };
962
988
  type Claim = {
963
989
  claimId: string;
964
990
  collectionId: string;
@@ -1600,6 +1626,13 @@ interface BlocknoteHandlers {
1600
1626
  submitText?: string;
1601
1627
  }) => Promise<string>;
1602
1628
  getClaimCollections: (deedDid: string) => Promise<ClaimCollectionResponse>;
1629
+ /**
1630
+ * List the verifiableClaim protocols attached to an entity, by hydrating the
1631
+ * entity's `linkedClaim[]` to their `entityClaims[].template`. Drives the
1632
+ * claim-collection create config's protocol picker so the selected protocol is
1633
+ * guaranteed to be linked to the chosen entity (IXO-2429).
1634
+ */
1635
+ getEntityClaimProtocols: (entityDid: string) => Promise<EntityClaimProtocolsResponse>;
1603
1636
  getClaimsPerCollectionId: (params: GetClaimsPerCollectionIdParams) => Promise<Claim[]>;
1604
1637
  getClaimsPerUserAddress: (params: GetClaimsPerUserAddressParams) => Promise<Claim[]>;
1605
1638
  getClaimData: (collectionId: string, claimId: string, options?: {
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { n as ApiRequestBlockProps, h as ApiRequestBlockSpec, A as AuthorizationTab, d as AuthorizationTabState, B as BlockPresenceUser, i as CheckboxBlockProps, g as CheckboxBlockSpec, C as CoverImage, c as CoverImageProps, D as DevUcanGrantButton, r as Entity, s as EntityResponse, f as EntitySigningSetup, t as EntityVariables, E as EvaluationTab, e as EvaluationTabState, F as FlowPermissionsPanel, G as GrantPermissionModal, v as GraphQLClient, y as GraphQLRequest, x as GraphQLResponse, H as HttpMethod, I as IxoEditor, b as IxoEditorProps, K as KeyValuePair, k as ListBlockProps, j as ListBlockSettings, L as ListBlockSpec, O as OverviewBlock, l as OverviewBlockProps, m as ProposalBlockProps, P as ProposalBlockSpec, q as getEntity, w as ixoGraphQLClient, o as useBlockPresence, a as useCreateCollaborativeIxoEditor, u as useCreateIxoEditor, p as useTrackBlockFocus } from './graphql-client-DrJ0WoCv.mjs';
2
- export { A as AuthorizationResult, B as BaseUcanFlow, X as BuildFlowAgentContextParams, v as CompiledFlow, C as CompilerRegistry, E as ExecuteNodeParams, f as ExecutionContext, d as ExecutionOutcome, Y as FlowAgentActor, Z as FlowAgentCommand, _ as FlowAgentCommandResult, $ as FlowAgentContext, a0 as FlowAgentExecutor, a1 as FlowAgentLease, a2 as FlowAgentNodeSnapshot, a3 as FlowAgentPublicNodeState, x as FlowAgentService, a4 as FlowAgentTickResult, u as FlowCapability, F as FlowRuntimeStateManager, w as FlowStrategy, M as MergeResult, N as NodeActionResult, R as ReadFlowOptions, q as ReadFlowResult, t as ReadableEditor, S as SetupFlowOptions, p as SetupFlowResult, y as acquireFlowAgentLease, z as appendAgentLedgerEvent, a as buildAuthzFromProps, D as buildFlowAgentContext, b as buildFlowNodeFromBlock, G as cleanupExpiredFlowAgentLeases, l as compileBaseUcanFlow, H as createAgentCommand, c as createRuntimeStateManager, o as decompileToBaseUcanFlow, I as evaluateFlowAgentPolicy, e as executeNode, J as executeQueuedAgentCommands, k as getActiveEditor, K as getFlowAgentMaps, i as isAuthorized, n as mergeCompiledFlows, L as planRalphLoopCommands, O as queueAgentCommand, P as readAgentLedgerEvents, m as readCompiledFlowFromYDoc, h as readFlow, r as readFlowAsBaseUcan, g as readFlowFromEditor, Q as readQueuedAgentCommands, T as releaseFlowAgentLease, j as setActiveEditor, s as setupFlowFromBaseUcan, U as tickFlowAgent, V as validateAgentCommand, W as validateFlowAgentLease } from './store-D6-JWLvj.mjs';
3
- export { H as Addr, A as AuthzExecActionTypes, y as BlockRequirements, x as BlocknoteContextValue, w as BlocknoteHandlers, B as BlocknoteProvider, O as CosmosMsgForEmpty, D as DelegationChainValidationResult, k as DelegationGrant, K as Expiration, Z as ImportProtocolTemplateResult, Y as ImportProtocolTemplatesToSpaceParams, I as InvocationStore, p as IxoCollaborativeEditorOptions, o as IxoCollaborativeUser, n as IxoEditorConfig, l as IxoEditorOptions, m as IxoEditorTheme, R as ListProtocolDeedsWithTemplatesParams, _ as MatrixPrivacySettings, $ as MatrixRoom, a0 as MatrixSpace, a2 as MatrixSpaceStructure, a1 as MatrixSubspace, Q as ProposalAction, P as ProposalResponse, W as ProtocolDeedWithTemplates, X as ProtocolTemplateSummary, z as SingleChoiceProposal, v as StakeType, v as StakeTypeValue, L as Status, S as StoredDelegation, j as StoredInvocation, M as Threshold, T as Timestamp, a3 as Translate, i as UcanCapability, U as UcanDelegationStore, f as UcanService, g as UcanServiceConfig, h as UcanServiceHandlers, J as Uint128, G as User, V as ValidatorActionType, F as Vote, E as VoteInfo, C as VoteResponse, N as Votes, q as blockSpecs, b as createInvocationStore, d as createMemoryInvocationStore, a as createMemoryUcanDelegationStore, c as createUcanDelegationStore, e as createUcanService, r as getExtraSlashMenuItems, u as useBlocknoteContext, s as useBlocknoteHandlers, t as useTranslate } from './index-CU_uhH5a.mjs';
1
+ export { n as ApiRequestBlockProps, h as ApiRequestBlockSpec, A as AuthorizationTab, d as AuthorizationTabState, B as BlockPresenceUser, i as CheckboxBlockProps, g as CheckboxBlockSpec, C as CoverImage, c as CoverImageProps, D as DevUcanGrantButton, r as Entity, s as EntityResponse, f as EntitySigningSetup, t as EntityVariables, E as EvaluationTab, e as EvaluationTabState, F as FlowPermissionsPanel, G as GrantPermissionModal, v as GraphQLClient, y as GraphQLRequest, x as GraphQLResponse, H as HttpMethod, I as IxoEditor, b as IxoEditorProps, K as KeyValuePair, k as ListBlockProps, j as ListBlockSettings, L as ListBlockSpec, O as OverviewBlock, l as OverviewBlockProps, m as ProposalBlockProps, P as ProposalBlockSpec, q as getEntity, w as ixoGraphQLClient, o as useBlockPresence, a as useCreateCollaborativeIxoEditor, u as useCreateIxoEditor, p as useTrackBlockFocus } from './graphql-client-C2YnVMPy.mjs';
2
+ export { A as AuthorizationResult, B as BaseUcanFlow, X as BuildFlowAgentContextParams, v as CompiledFlow, C as CompilerRegistry, E as ExecuteNodeParams, f as ExecutionContext, d as ExecutionOutcome, Y as FlowAgentActor, Z as FlowAgentCommand, _ as FlowAgentCommandResult, $ as FlowAgentContext, a0 as FlowAgentExecutor, a1 as FlowAgentLease, a2 as FlowAgentNodeSnapshot, a3 as FlowAgentPublicNodeState, x as FlowAgentService, a4 as FlowAgentTickResult, u as FlowCapability, F as FlowRuntimeStateManager, w as FlowStrategy, M as MergeResult, N as NodeActionResult, R as ReadFlowOptions, q as ReadFlowResult, t as ReadableEditor, S as SetupFlowOptions, p as SetupFlowResult, y as acquireFlowAgentLease, z as appendAgentLedgerEvent, a as buildAuthzFromProps, D as buildFlowAgentContext, b as buildFlowNodeFromBlock, G as cleanupExpiredFlowAgentLeases, l as compileBaseUcanFlow, H as createAgentCommand, c as createRuntimeStateManager, o as decompileToBaseUcanFlow, I as evaluateFlowAgentPolicy, e as executeNode, J as executeQueuedAgentCommands, k as getActiveEditor, K as getFlowAgentMaps, i as isAuthorized, n as mergeCompiledFlows, L as planRalphLoopCommands, O as queueAgentCommand, P as readAgentLedgerEvents, m as readCompiledFlowFromYDoc, h as readFlow, r as readFlowAsBaseUcan, g as readFlowFromEditor, Q as readQueuedAgentCommands, T as releaseFlowAgentLease, j as setActiveEditor, s as setupFlowFromBaseUcan, U as tickFlowAgent, V as validateAgentCommand, W as validateFlowAgentLease } from './store-tdIRq7y0.mjs';
3
+ export { H as Addr, A as AuthzExecActionTypes, y as BlockRequirements, x as BlocknoteContextValue, w as BlocknoteHandlers, B as BlocknoteProvider, O as CosmosMsgForEmpty, D as DelegationChainValidationResult, k as DelegationGrant, K as Expiration, Z as ImportProtocolTemplateResult, Y as ImportProtocolTemplatesToSpaceParams, I as InvocationStore, p as IxoCollaborativeEditorOptions, o as IxoCollaborativeUser, n as IxoEditorConfig, l as IxoEditorOptions, m as IxoEditorTheme, R as ListProtocolDeedsWithTemplatesParams, _ as MatrixPrivacySettings, $ as MatrixRoom, a0 as MatrixSpace, a2 as MatrixSpaceStructure, a1 as MatrixSubspace, Q as ProposalAction, P as ProposalResponse, W as ProtocolDeedWithTemplates, X as ProtocolTemplateSummary, z as SingleChoiceProposal, v as StakeType, v as StakeTypeValue, L as Status, S as StoredDelegation, j as StoredInvocation, M as Threshold, T as Timestamp, a3 as Translate, i as UcanCapability, U as UcanDelegationStore, f as UcanService, g as UcanServiceConfig, h as UcanServiceHandlers, J as Uint128, G as User, V as ValidatorActionType, F as Vote, E as VoteInfo, C as VoteResponse, N as Votes, q as blockSpecs, b as createInvocationStore, d as createMemoryInvocationStore, a as createMemoryUcanDelegationStore, c as createUcanDelegationStore, e as createUcanService, r as getExtraSlashMenuItems, u as useBlocknoteContext, s as useBlocknoteHandlers, t as useTranslate } from './index-Bdh5jcT4.mjs';
4
4
  export { Block, BlockNoteEditor, BlockNoteSchema, DefaultBlockSchema, DefaultInlineContentSchema, DefaultStyleSchema, PartialBlock } from '@blocknote/core';
5
5
  export { CloneDocumentResult, cloneDocument } from '@ixo/matrix-crdt';
6
6
  import 'yjs';
package/dist/index.mjs CHANGED
@@ -28,7 +28,7 @@ import {
28
28
  useCreateIxoEditor,
29
29
  useTrackBlockFocus,
30
30
  useTranslate
31
- } from "./chunk-JJSP3KCK.mjs";
31
+ } from "./chunk-5AC7MHLH.mjs";
32
32
  import "./chunk-OK2W66I7.mjs";
33
33
  import {
34
34
  FlowAgentService,
@@ -68,7 +68,7 @@ import {
68
68
  tickFlowAgent,
69
69
  validateAgentCommand,
70
70
  validateFlowAgentLease
71
- } from "./chunk-UWRUVSMP.mjs";
71
+ } from "./chunk-RIDIYR53.mjs";
72
72
 
73
73
  // src/index.ts
74
74
  import { cloneDocument } from "@ixo/matrix-crdt";
@@ -1,7 +1,7 @@
1
- export { n as ApiRequestBlockProps, h as ApiRequestBlockSpec, A as AuthorizationTab, d as AuthorizationTabState, B as BlockPresenceUser, i as CheckboxBlockProps, g as CheckboxBlockSpec, C as CoverImage, c as CoverImageProps, D as DevUcanGrantButton, J as DropPosition, r as Entity, s as EntityResponse, f as EntitySigningSetup, t as EntityVariables, E as EvaluationTab, e as EvaluationTabState, z as ExternalDropZone, F as FlowPermissionsPanel, G as GrantPermissionModal, v as GraphQLClient, y as GraphQLRequest, x as GraphQLResponse, H as HttpMethod, I as IxoEditor, b as IxoEditorProps, K as KeyValuePair, k as ListBlockProps, j as ListBlockSettings, L as ListBlockSpec, O as OverviewBlock, l as OverviewBlockProps, m as ProposalBlockProps, P as ProposalBlockSpec, q as getEntity, w as ixoGraphQLClient, o as useBlockPresence, a as useCreateCollaborativeIxoEditor, u as useCreateIxoEditor, p as useTrackBlockFocus } from '../graphql-client-DrJ0WoCv.mjs';
1
+ export { n as ApiRequestBlockProps, h as ApiRequestBlockSpec, A as AuthorizationTab, d as AuthorizationTabState, B as BlockPresenceUser, i as CheckboxBlockProps, g as CheckboxBlockSpec, C as CoverImage, c as CoverImageProps, D as DevUcanGrantButton, J as DropPosition, r as Entity, s as EntityResponse, f as EntitySigningSetup, t as EntityVariables, E as EvaluationTab, e as EvaluationTabState, z as ExternalDropZone, F as FlowPermissionsPanel, G as GrantPermissionModal, v as GraphQLClient, y as GraphQLRequest, x as GraphQLResponse, H as HttpMethod, I as IxoEditor, b as IxoEditorProps, K as KeyValuePair, k as ListBlockProps, j as ListBlockSettings, L as ListBlockSpec, O as OverviewBlock, l as OverviewBlockProps, m as ProposalBlockProps, P as ProposalBlockSpec, q as getEntity, w as ixoGraphQLClient, o as useBlockPresence, a as useCreateCollaborativeIxoEditor, u as useCreateIxoEditor, p as useTrackBlockFocus } from '../graphql-client-C2YnVMPy.mjs';
2
2
  import React__default, { PropsWithChildren } from 'react';
3
- import { ao as IxoBlockProps, a4 as IxoEditorType, w as BlocknoteHandlers, a5 as FlowNodeRuntimeState } from '../index-CU_uhH5a.mjs';
4
- export { H as Addr, A as AuthzExecActionTypes, y as BlockRequirements, x as BlocknoteContextValue, B as BlocknoteProvider, O as CosmosMsgForEmpty, au as DomainCardData, at as DomainCardRenderer, aq as DynamicListData, ar as DynamicListDataProvider, as as DynamicListPanelRenderer, K as Expiration, Z as ImportProtocolTemplateResult, Y as ImportProtocolTemplatesToSpaceParams, p as IxoCollaborativeEditorOptions, o as IxoCollaborativeUser, n as IxoEditorConfig, l as IxoEditorOptions, m as IxoEditorTheme, R as ListProtocolDeedsWithTemplatesParams, _ as MatrixPrivacySettings, $ as MatrixRoom, a0 as MatrixSpace, a2 as MatrixSpaceStructure, a1 as MatrixSubspace, Q as ProposalAction, P as ProposalResponse, W as ProtocolDeedWithTemplates, X as ProtocolTemplateSummary, z as SingleChoiceProposal, v as StakeType, v as StakeTypeValue, L as Status, M as Threshold, T as Timestamp, J as Uint128, G as User, V as ValidatorActionType, ap as VisualizationRenderer, F as Vote, E as VoteInfo, C as VoteResponse, N as Votes, q as blockSpecs, r as getExtraSlashMenuItems, u as useBlocknoteContext, s as useBlocknoteHandlers } from '../index-CU_uhH5a.mjs';
3
+ import { ao as IxoBlockProps, a4 as IxoEditorType, w as BlocknoteHandlers, a5 as FlowNodeRuntimeState } from '../index-Bdh5jcT4.mjs';
4
+ export { H as Addr, A as AuthzExecActionTypes, y as BlockRequirements, x as BlocknoteContextValue, B as BlocknoteProvider, O as CosmosMsgForEmpty, au as DomainCardData, at as DomainCardRenderer, aq as DynamicListData, ar as DynamicListDataProvider, as as DynamicListPanelRenderer, K as Expiration, Z as ImportProtocolTemplateResult, Y as ImportProtocolTemplatesToSpaceParams, p as IxoCollaborativeEditorOptions, o as IxoCollaborativeUser, n as IxoEditorConfig, l as IxoEditorOptions, m as IxoEditorTheme, R as ListProtocolDeedsWithTemplatesParams, _ as MatrixPrivacySettings, $ as MatrixRoom, a0 as MatrixSpace, a2 as MatrixSpaceStructure, a1 as MatrixSubspace, Q as ProposalAction, P as ProposalResponse, W as ProtocolDeedWithTemplates, X as ProtocolTemplateSummary, z as SingleChoiceProposal, v as StakeType, v as StakeTypeValue, L as Status, M as Threshold, T as Timestamp, J as Uint128, G as User, V as ValidatorActionType, ap as VisualizationRenderer, F as Vote, E as VoteInfo, C as VoteResponse, N as Votes, q as blockSpecs, r as getExtraSlashMenuItems, u as useBlocknoteContext, s as useBlocknoteHandlers } from '../index-Bdh5jcT4.mjs';
5
5
  import * as zustand from 'zustand';
6
6
  import { SurveyModel } from '@ixo/surveys';
7
7
  import * as _blocknote_core from '@blocknote/core';
@@ -54,13 +54,13 @@ import {
54
54
  usePanelStore,
55
55
  useRegisterOpenSurvey,
56
56
  useTrackBlockFocus
57
- } from "../chunk-JJSP3KCK.mjs";
57
+ } from "../chunk-5AC7MHLH.mjs";
58
58
  import {
59
59
  didToMatrixUserId,
60
60
  findOrCreateDMRoom,
61
61
  getHomeserver,
62
62
  sendDirectMessage
63
- } from "../chunk-UWRUVSMP.mjs";
63
+ } from "../chunk-RIDIYR53.mjs";
64
64
  export {
65
65
  ApiRequestBlockSpec,
66
66
  AuthorizationTab,
@@ -1,4 +1,4 @@
1
- import { a7 as FlowNode, ac as FlowNodeAuthzExtension, a5 as FlowNodeRuntimeState, a4 as IxoEditorType, f as UcanService, I as InvocationStore, aa as EvaluationStatus, i as UcanCapability, U as UcanDelegationStore, S as StoredDelegation } from './index-CU_uhH5a.mjs';
1
+ import { a7 as FlowNode, ac as FlowNodeAuthzExtension, a5 as FlowNodeRuntimeState, a4 as IxoEditorType, f as UcanService, I as InvocationStore, aa as EvaluationStatus, i as UcanCapability, U as UcanDelegationStore, S as StoredDelegation } from './index-Bdh5jcT4.mjs';
2
2
  import * as Y from 'yjs';
3
3
  import { Doc, Map } from 'yjs';
4
4
  import { MatrixClient } from 'matrix-js-sdk';
@@ -97,6 +97,13 @@ interface TriggerSource {
97
97
  eventName: string;
98
98
  /** Namespace alias for payload access: `trigger.payload.<alias>.*` */
99
99
  alias: string;
100
+ /**
101
+ * When `true`, this source does NOT block queuing — the barrier fires once all
102
+ * *required* (non-optional) sources have fired. If an optional source fired before
103
+ * the barrier completes, its payload is merged in; if it never fires, it's skipped.
104
+ * Defaults to `false` (required) for backward compatibility.
105
+ */
106
+ optional?: boolean;
100
107
  }
101
108
  interface TriggerSpec {
102
109
  /**
@@ -231,6 +238,213 @@ interface ActionContext {
231
238
  editor?: any;
232
239
  pendingInvocation?: any;
233
240
  }
241
+ /**
242
+ * Lifecycle state of an IXO claims-module collection.
243
+ *
244
+ * Mirrors `ixo.claims.v1beta1.CollectionState` (the on-chain enum). Carried as
245
+ * a numeric enum at this boundary so the consumer-side handler can map it
246
+ * directly onto the SDK enum without a string lookup.
247
+ *
248
+ * - `OPEN` (0) — accepting claims/bids.
249
+ * - `PAUSED` (1) — temporarily not accepting submissions.
250
+ * - `CLOSED` (2) — permanently closed.
251
+ */
252
+ declare enum CollectionStateEnum {
253
+ OPEN = 0,
254
+ PAUSED = 1,
255
+ CLOSED = 2
256
+ }
257
+ /**
258
+ * A single coin amount. Mirrors `cosmos.base.v1beta1.Coin`. `amount` is the
259
+ * integer base-denom amount carried as a string (no `Long`/`bigint` at this
260
+ * boundary).
261
+ */
262
+ interface CollectionCoin {
263
+ denom: string;
264
+ amount: string;
265
+ }
266
+ /**
267
+ * A CW20 token payment leg. Mirrors `ixo.claims.v1beta1.CW20Payment`.
268
+ */
269
+ interface CollectionCW20Payment {
270
+ address: string;
271
+ /** Integer amount carried as a string. */
272
+ amount: string;
273
+ }
274
+ /**
275
+ * A CW1155 contract payment leg. Mirrors `ixo.claims.v1beta1.Contract1155Payment`.
276
+ */
277
+ interface CollectionContract1155Payment {
278
+ address: string;
279
+ tokenId: string;
280
+ /** Integer amount carried as a string. */
281
+ amount: string;
282
+ }
283
+ /**
284
+ * One payment leg of a collection (submission / evaluation / approval /
285
+ * rejection). Mirrors `ixo.claims.v1beta1.Payment`.
286
+ *
287
+ * Optional/empty legs are represented by an empty `amount` array. The consumer
288
+ * handler fills `account` with the collection admin address when creating.
289
+ */
290
+ interface CollectionPayment {
291
+ /** Destination/charging account address. */
292
+ account: string;
293
+ /** Native-coin amounts. Empty when this leg charges nothing in native coin. */
294
+ amount: CollectionCoin[];
295
+ /** Optional CW20 payment legs. */
296
+ cw20Payment?: CollectionCW20Payment[];
297
+ /** Optional CW1155 contract payment. */
298
+ contract_1155Payment?: CollectionContract1155Payment;
299
+ /** Optional payment timeout in nanoseconds, carried as a string. */
300
+ timeoutNs?: string;
301
+ /** Whether this leg is paid by the oracle rather than the claimant. */
302
+ isOraclePayment?: boolean;
303
+ }
304
+ /**
305
+ * The four payment legs of a collection. Mirrors `ixo.claims.v1beta1.Payments`.
306
+ */
307
+ interface Payments {
308
+ submission?: CollectionPayment;
309
+ evaluation?: CollectionPayment;
310
+ approval?: CollectionPayment;
311
+ rejection?: CollectionPayment;
312
+ }
313
+ /**
314
+ * Per-intent configuration for a collection. Mirrors the
315
+ * `ixo.claims.v1beta1.CollectionIntentOptions` shape — controls whether/how
316
+ * claimants can declare an intent before submitting.
317
+ */
318
+ interface CollectionIntentOptions {
319
+ /** Whether intents are enabled on this collection. */
320
+ allowed?: boolean;
321
+ /** Optional intent timeout in nanoseconds, carried as a string. */
322
+ timeoutNs?: string;
323
+ /** Optional per-intent payment override. */
324
+ payment?: CollectionPayment;
325
+ }
326
+ /**
327
+ * Parameters for creating a collection (`MsgCreateCollection`).
328
+ *
329
+ * `entity` and `protocol` are template configuration; the consumer resolves the
330
+ * `signer`/admin from its own wallet context, so it is not part of this
331
+ * boundary. `quota` is carried as a string (`0` = unlimited).
332
+ */
333
+ interface CollectionCreateParams {
334
+ /** Entity (deed) DID the collection belongs to. */
335
+ entity: string;
336
+ /** Protocol DID/id the collection follows. */
337
+ protocol: string;
338
+ /** Initial lifecycle state. Defaults to OPEN if omitted by the consumer. */
339
+ state?: CollectionStateEnum;
340
+ /** ISO-8601 start date. */
341
+ startDate?: string;
342
+ /** ISO-8601 end date. */
343
+ endDate?: string;
344
+ /** Max number of claims; `0` = unlimited. Carried as a string. */
345
+ quota?: string;
346
+ /** Payment configuration for the four claim legs. */
347
+ payments?: Payments;
348
+ /** Intent configuration. */
349
+ intents?: CollectionIntentOptions;
350
+ }
351
+ /**
352
+ * The full, canonical on-chain state of a collection, returned by every
353
+ * `collection.*` operation (read or write) and stored verbatim as
354
+ * `runtime.output`. It is never a delta — see IXO-2573: `output` always holds
355
+ * the latest full on-chain collection state.
356
+ *
357
+ * Field names mirror `ixo.claims.v1beta1.Collection`. Numeric chain types
358
+ * (`Long`/uint64) are carried as strings; `state` is the numeric enum.
359
+ */
360
+ interface CollectionState {
361
+ /** Collection identifier (the chain-assigned id). */
362
+ collectionId: string;
363
+ /** Entity (deed) DID the collection belongs to. */
364
+ entity: string;
365
+ /** Protocol DID/id the collection follows. */
366
+ protocol: string;
367
+ /** Admin address authorised to mutate the collection. */
368
+ admin?: string;
369
+ /** Current lifecycle state. */
370
+ state: CollectionStateEnum;
371
+ /** ISO-8601 start date, if set. */
372
+ startDate?: string;
373
+ /** ISO-8601 end date, if set. */
374
+ endDate?: string;
375
+ /** Max number of claims; `0` = unlimited. Carried as a string. */
376
+ quota: string;
377
+ /** Number of claims submitted so far. Carried as a string. */
378
+ count: string;
379
+ /** Number of claims evaluated so far. Carried as a string. */
380
+ evaluated?: string;
381
+ /** Number of approved claims. Carried as a string. */
382
+ approved?: string;
383
+ /** Number of rejected claims. Carried as a string. */
384
+ rejected?: string;
385
+ /** Number of disputed claims. Carried as a string. */
386
+ disputed?: string;
387
+ /** Payment configuration for the four claim legs. */
388
+ payments?: Payments;
389
+ /** Intent configuration. */
390
+ intents?: CollectionIntentOptions;
391
+ }
392
+ /**
393
+ * Role a grantee holds on a claim collection. Drives which custom claims-module
394
+ * authorization is granted: `submit` → `SubmitClaimAuthorization`,
395
+ * `evaluate` → `EvaluateClaimAuthorization` (each carries `[]constraints`, one
396
+ * per collection). See IXO-2586.
397
+ */
398
+ type CollectionUserRole = 'submit' | 'evaluate';
399
+ /**
400
+ * One per-collection authorization constraint held by a grantee for a role.
401
+ * Carries the LIVE (decremented) limits as read back from chain — the revoke
402
+ * read-modify-write must preserve these verbatim (IXO-2590), so re-granting
403
+ * from a template would wrongly reset spent quota.
404
+ */
405
+ interface CollectionGrantee {
406
+ /** Grantee bech32 address. */
407
+ address: string;
408
+ /** Optional resolved DID (display / audit). */
409
+ did?: string;
410
+ /** Role this grant confers. */
411
+ role: CollectionUserRole;
412
+ /** Remaining agent quota; `0` = unlimited. Carried as a string. */
413
+ agentQuota?: string;
414
+ /** Per-claim max amount cap (evaluate role). */
415
+ maxAmount?: CollectionCoin[];
416
+ /** Intent duration in nanoseconds, carried as a string. */
417
+ intentDurationNs?: string;
418
+ }
419
+ /**
420
+ * A member enumerated from a group account, used for grant fan-out. Mirrors the
421
+ * `PODMember` shape produced by the `pod/memberMultiSelect` enumeration
422
+ * (abstracts cw4 members / token-staking stakers / nft-staking / multisig
423
+ * signers).
424
+ */
425
+ interface CollectionMember {
426
+ address: string;
427
+ did?: string;
428
+ role?: string;
429
+ votingPower?: number;
430
+ }
431
+ /**
432
+ * DAO DAO classification of an address. On IXO both user accounts and CosmWasm
433
+ * contracts share the `ixo1…` prefix, so classification is layered: bech32
434
+ * byte-length heuristic → Wasm `ContractInfo` query → cw2 `{ "info": {} }`
435
+ * smart query (IXO-2592).
436
+ */
437
+ interface AddressClassification {
438
+ /** `user` = plain account; `contract` = CosmWasm contract / module account. */
439
+ kind: 'user' | 'contract';
440
+ /** Present when `kind === 'contract'` and cw2 info resolved a DAO DAO group type. */
441
+ daodao?: {
442
+ /** cw2 contract name family, e.g. `dao-dao-core`, `cw4-group`, `dao-voting-cw4`. */
443
+ type: string;
444
+ /** Whether the contract can itself exercise a granted authz (only dao-core can MsgExec). */
445
+ canExerciseGrant: boolean;
446
+ };
447
+ }
234
448
  interface ActionServices {
235
449
  http?: {
236
450
  request: (params: {
@@ -362,6 +576,132 @@ interface ActionServices {
362
576
  };
363
577
  createUdid?: (params: any) => Promise<any>;
364
578
  };
579
+ /**
580
+ * Claims-module collection lifecycle service. The editor declares the
581
+ * contract only; the consumer app implements each method (broadcast on chain,
582
+ * resolve admin from its wallet context, map string<->Long).
583
+ *
584
+ * Per IXO-2573, each write op should broadcast then the dispatcher re-fetches
585
+ * via `get(...)` so `runtime.output` always holds the latest full
586
+ * `CollectionState`. `get` is the read-only `refresh` primitive.
587
+ */
588
+ collection?: {
589
+ /** Read the full current on-chain state of a collection. */
590
+ get: (params: {
591
+ collectionId: string;
592
+ }) => Promise<CollectionState>;
593
+ /** Broadcast `MsgCreateCollection`. Returns the new collectionId + tx hash. */
594
+ create: (params: CollectionCreateParams) => Promise<{
595
+ transactionHash: string;
596
+ collectionId: string;
597
+ }>;
598
+ /** Broadcast `MsgUpdateCollectionState`. */
599
+ updateState: (params: {
600
+ collectionId: string;
601
+ state: CollectionStateEnum;
602
+ adminAddress: string;
603
+ }) => Promise<{
604
+ transactionHash: string;
605
+ }>;
606
+ /** Broadcast `MsgUpdateCollectionDates`. */
607
+ updateDates: (params: {
608
+ collectionId: string;
609
+ startDate?: string;
610
+ endDate?: string;
611
+ adminAddress: string;
612
+ }) => Promise<{
613
+ transactionHash: string;
614
+ }>;
615
+ /** Broadcast `MsgUpdateCollectionQuota`. `quota` carried as a string; `0` = unlimited. */
616
+ updateQuota: (params: {
617
+ collectionId: string;
618
+ quota: string;
619
+ adminAddress: string;
620
+ }) => Promise<{
621
+ transactionHash: string;
622
+ }>;
623
+ /** Broadcast `MsgUpdateCollectionPayments`. */
624
+ updatePayments: (params: {
625
+ collectionId: string;
626
+ payments: Payments;
627
+ adminAddress: string;
628
+ }) => Promise<{
629
+ transactionHash: string;
630
+ }>;
631
+ /** Broadcast `MsgUpdateCollectionIntents`. */
632
+ updateIntents: (params: {
633
+ collectionId: string;
634
+ intents: CollectionIntentOptions;
635
+ adminAddress: string;
636
+ }) => Promise<{
637
+ transactionHash: string;
638
+ }>;
639
+ };
640
+ /**
641
+ * Claim-collection user-management service (IXO-2586). The editor declares the
642
+ * contract only; the consumer app implements each method (build/broadcast the
643
+ * claims-module authz messages, query authz grants, classify addresses,
644
+ * enumerate group members). Extends → replaces the reactive `bid` service.
645
+ */
646
+ collectionUsers?: {
647
+ /**
648
+ * Grant submit/evaluate authz for ONE collection to a grantee. The handler
649
+ * reads the grantee's existing authz for the role's msgTypeUrl and APPENDS a
650
+ * per-collection constraint (preserving other collections' live values),
651
+ * then broadcasts `MsgCreateClaimAuthorization` routed via
652
+ * `MsgGrantEntityAccountAuthz` (entity admin = granter). See IXO-2589.
653
+ */
654
+ grant: (params: {
655
+ granterAdminAddress: string;
656
+ granteeAddress: string;
657
+ collectionId: string;
658
+ role: CollectionUserRole;
659
+ agentQuota?: string;
660
+ maxAmount?: CollectionCoin[];
661
+ intentDurationNs?: string;
662
+ deedDid?: string;
663
+ }) => Promise<{
664
+ transactionHash: string;
665
+ }>;
666
+ /**
667
+ * Per-collection read-modify-write revoke (IXO-2590). Reads the grantee's
668
+ * live authz, drops the target collection's constraint, and — when other
669
+ * constraints remain — broadcasts a single atomic tx ordered
670
+ * `[MsgRevokeEntityAccountAuthz, then one MsgCreateClaimAuthorization per
671
+ * remaining constraint]`, preserving each remaining constraint's live
672
+ * (decremented) quota/limits. Short-circuits to a plain revoke when the
673
+ * target was the only constraint.
674
+ */
675
+ revoke: (params: {
676
+ granterAdminAddress: string;
677
+ granteeAddress: string;
678
+ collectionId: string;
679
+ role: CollectionUserRole;
680
+ }) => Promise<{
681
+ transactionHash: string;
682
+ }>;
683
+ /**
684
+ * List the grantees holding a submit/evaluate constraint for a collection.
685
+ * Queries authz grants against the entity admin account, decodes the
686
+ * authorizations, and filters constraints by `collectionId` (IXO-2591).
687
+ */
688
+ list: (params: {
689
+ granterAdminAddress: string;
690
+ collectionId: string;
691
+ }) => Promise<{
692
+ grantees: CollectionGrantee[];
693
+ }>;
694
+ /** Classify an address as a plain user vs a DAO DAO contract (IXO-2592). */
695
+ classifyAddress: (params: {
696
+ address: string;
697
+ }) => Promise<AddressClassification>;
698
+ /** Enumerate the members of a group account for grant fan-out (IXO-2592). */
699
+ enumerateMembers: (params: {
700
+ groupAddress: string;
701
+ }) => Promise<{
702
+ members: CollectionMember[];
703
+ }>;
704
+ };
365
705
  matrix?: {
366
706
  storeCredential: (params: {
367
707
  roomId: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ixo/editor",
3
- "version": "5.24.0",
3
+ "version": "5.26.0",
4
4
  "description": "A custom BlockNote editor wrapper for IXO team",
5
5
  "main": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",