@ixo/editor 6.1.2 → 6.2.1

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 ActionEventDefinition, a7 as OutputSchemaField, a8 as ActionServices, a9 as ActionProofDeclaration, aa as RunRecordDetails, ab as CompiledBlock, v as CompiledFlow, ac as CompiledEdge, Z as FlowAgentCommand, $ as FlowAgentContext, ad as ActionHandlers, _ as FlowAgentCommandResult, a0 as FlowAgentExecutor, a2 as FlowAgentNodeSnapshot, ae as FlowAgentBlockerCause, a3 as FlowAgentPublicNodeState } from '../store-Kob5Setw.js';
2
- export { aP as AcquireFlowAgentLeaseParams, ag as ActionContext, at as ActionResult, b1 as ActorConstraint, A as AuthorizationResult, B as BaseUcanFlow, ak as BidService, X as BuildFlowAgentContextParams, ar as CarbonService, al as ClaimService, am as CollectionService, an as CollectionUsersService, b4 as CompiledFlowNode, C as CompilerRegistry, b0 as ConditionRef, aQ as CreateAgentCommandParams, ai as EmailService, as as EntityService, aR as EvaluateFlowAgentPolicyParams, E as ExecuteNodeParams, f as ExecutionContext, d as ExecutionOutcome, aH as FailedListenerRun, Y as FlowAgentActor, aU as FlowAgentCommandBase, aV as FlowAgentCommandStatus, aW as FlowAgentCommandType, a1 as FlowAgentLease, aX as FlowAgentLedgerEvent, aY as FlowAgentLedgerEventType, aZ as FlowAgentMaps, aS as FlowAgentOrchestratorOptions, a_ as FlowAgentPolicyDecision, a$ as FlowAgentRunPhase, x as FlowAgentService, aT as FlowAgentServiceOptions, a4 as FlowAgentTickResult, u as FlowCapability, F as FlowRuntimeStateManager, w as FlowStrategy, ah as HttpService, ap as IntegrationsService, ao as MatrixCredentialService, M as MergeResult, N as NodeActionResult, aj as NotifyService, aq as OracleService, aG as PendingInvocation, aF as RUN_RECORD_AUDIT_TYPE, R as ReadFlowOptions, q as ReadFlowResult, b3 as RuntimeRef, S as SetupFlowOptions, p as SetupFlowResult, b2 as TTLConstraint, b5 as TriggerSpec, y as acquireFlowAgentLease, z as appendAgentLedgerEvent, au as appendRunRecord, a as buildAuthzFromProps, D as buildFlowAgentContext, b as buildFlowNodeFromBlock, aI as canMatches, G as cleanupExpiredFlowAgentLeases, af as clearRuntimeForTemplateClone, l as compileBaseUcanFlow, aJ as computeAgentCommandId, aE as computePendingInvocationId, H as createAgentCommand, c as createRuntimeStateManager, o as decompileToBaseUcanFlow, I as evaluateFlowAgentPolicy, e as executeNode, J as executeQueuedAgentCommands, aB as findFailedListenersForSourceRun, k as getActiveEditor, K as getFlowAgentMaps, ax as getOrCreateBlockPendingMap, aw as getPendingInvocationsMap, i as isAuthorized, aK as isCapabilityMatch, aL as isExternalMutation, b6 as isRuntimeRef, n as mergeCompiledFlows, L as planRalphLoopCommands, O as queueAgentCommand, az as queuePendingInvocation, P as readAgentLedgerEvents, m as readCompiledFlowFromYDoc, h as readFlow, r as readFlowAsBaseUcan, g as readFlowFromEditor, ay as readPendingInvocations, Q as readQueuedAgentCommands, av as readRunRecords, T as releaseFlowAgentLease, aA as removePendingInvocation, aC as replayFailedListenerRun, aM as requiredCapabilityForCommand, aN as resourceMatches, j as setActiveEditor, s as setupFlowFromBaseUcan, aD as snapshotInputRefs, U as tickFlowAgent, aO as updateAgentCommand, V as validateAgentCommand, W as validateFlowAgentLease } from '../store-Kob5Setw.js';
3
- import { a4 as FlowNodeRuntimeState, j as StoredInvocation, a5 as IxoEditorType, f as UcanService, U as UcanDelegationStore, S as StoredDelegation, I as InvocationStore, a6 as FlowMetadata, a7 as FlowNode } from '../index-DQOd905K.js';
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, 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-DQOd905K.js';
1
+ import { a5 as ActionDefinition, a6 as ActionEventDefinition, a7 as OutputSchemaField, a8 as ActionServices, a9 as ActionProofDeclaration, aa as RunRecordDetails, ab as CompiledBlock, v as CompiledFlow, ac as CompiledEdge, Z as FlowAgentCommand, $ as FlowAgentContext, ad as ActionHandlers, _ as FlowAgentCommandResult, a0 as FlowAgentExecutor, a2 as FlowAgentNodeSnapshot, ae as FlowAgentBlockerCause, a3 as FlowAgentPublicNodeState } from '../store-CZP9PIO-.js';
2
+ export { aP as AcquireFlowAgentLeaseParams, ag as ActionContext, at as ActionResult, b1 as ActorConstraint, A as AuthorizationResult, B as BaseUcanFlow, ak as BidService, X as BuildFlowAgentContextParams, ar as CarbonService, al as ClaimService, am as CollectionService, an as CollectionUsersService, b4 as CompiledFlowNode, C as CompilerRegistry, b0 as ConditionRef, aQ as CreateAgentCommandParams, ai as EmailService, as as EntityService, aR as EvaluateFlowAgentPolicyParams, E as ExecuteNodeParams, f as ExecutionContext, d as ExecutionOutcome, aH as FailedListenerRun, Y as FlowAgentActor, aU as FlowAgentCommandBase, aV as FlowAgentCommandStatus, aW as FlowAgentCommandType, a1 as FlowAgentLease, aX as FlowAgentLedgerEvent, aY as FlowAgentLedgerEventType, aZ as FlowAgentMaps, aS as FlowAgentOrchestratorOptions, a_ as FlowAgentPolicyDecision, a$ as FlowAgentRunPhase, x as FlowAgentService, aT as FlowAgentServiceOptions, a4 as FlowAgentTickResult, u as FlowCapability, F as FlowRuntimeStateManager, w as FlowStrategy, ah as HttpService, ap as IntegrationsService, ao as MatrixCredentialService, M as MergeResult, N as NodeActionResult, aj as NotifyService, aq as OracleService, aG as PendingInvocation, aF as RUN_RECORD_AUDIT_TYPE, R as ReadFlowOptions, q as ReadFlowResult, b3 as RuntimeRef, S as SetupFlowOptions, p as SetupFlowResult, b2 as TTLConstraint, b5 as TriggerSpec, y as acquireFlowAgentLease, z as appendAgentLedgerEvent, au as appendRunRecord, a as buildAuthzFromProps, D as buildFlowAgentContext, b as buildFlowNodeFromBlock, aI as canMatches, G as cleanupExpiredFlowAgentLeases, af as clearRuntimeForTemplateClone, l as compileBaseUcanFlow, aJ as computeAgentCommandId, aE as computePendingInvocationId, H as createAgentCommand, c as createRuntimeStateManager, o as decompileToBaseUcanFlow, I as evaluateFlowAgentPolicy, e as executeNode, J as executeQueuedAgentCommands, aB as findFailedListenersForSourceRun, k as getActiveEditor, K as getFlowAgentMaps, ax as getOrCreateBlockPendingMap, aw as getPendingInvocationsMap, i as isAuthorized, aK as isCapabilityMatch, aL as isExternalMutation, b6 as isRuntimeRef, n as mergeCompiledFlows, L as planRalphLoopCommands, O as queueAgentCommand, az as queuePendingInvocation, P as readAgentLedgerEvents, m as readCompiledFlowFromYDoc, h as readFlow, r as readFlowAsBaseUcan, g as readFlowFromEditor, ay as readPendingInvocations, Q as readQueuedAgentCommands, av as readRunRecords, T as releaseFlowAgentLease, aA as removePendingInvocation, aC as replayFailedListenerRun, aM as requiredCapabilityForCommand, aN as resourceMatches, j as setActiveEditor, s as setupFlowFromBaseUcan, aD as snapshotInputRefs, U as tickFlowAgent, aO as updateAgentCommand, V as validateAgentCommand, W as validateFlowAgentLease } from '../store-CZP9PIO-.js';
3
+ import { a4 as FlowNodeRuntimeState, j as StoredInvocation, a5 as IxoEditorType, f as UcanService, U as UcanDelegationStore, S as StoredDelegation, I as InvocationStore, a6 as FlowMetadata, a7 as FlowNode } from '../index-KtqCT-bj.js';
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, 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-KtqCT-bj.js';
5
5
  import * as Y from 'yjs';
6
6
  import { Doc } from 'yjs';
7
7
  import 'matrix-js-sdk';
@@ -8,7 +8,7 @@ import {
8
8
  setFormAnswers,
9
9
  swapFlowBlocks,
10
10
  updateNodeRuntime
11
- } from "../chunk-ZVN55I7Q.js";
11
+ } from "../chunk-5JGB36AV.js";
12
12
  import {
13
13
  FlowAgentService,
14
14
  LATEST_VERSION,
@@ -106,7 +106,7 @@ import {
106
106
  verifyCompletion,
107
107
  writeCompiledBlocksToFragment,
108
108
  writeRunRecordAndReconcile
109
- } from "../chunk-5Y2WABQE.js";
109
+ } from "../chunk-GUKGNTGT.js";
110
110
  import {
111
111
  computeCID,
112
112
  computeJsonCID
@@ -1,5 +1,5 @@
1
1
  import * as _blocknote_core from '@blocknote/core';
2
- import { ao as IxoBlockProps, l as IxoEditorOptions, a5 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-DQOd905K.js';
2
+ import { ao as IxoBlockProps, l as IxoEditorOptions, a5 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-KtqCT-bj.js';
3
3
  import { Text, Doc, Map, Array as Array$1 } from 'yjs';
4
4
  import React__default from 'react';
5
5
  import * as _tiptap_core from '@tiptap/core';
@@ -2585,6 +2585,67 @@ interface BlocknoteHandlers {
2585
2585
  processId: string;
2586
2586
  status: string;
2587
2587
  }>;
2588
+ /**
2589
+ * Load the KYC protocol's details form (SurveyJS json) plus the user's
2590
+ * current server-side verification state for that protocol.
2591
+ * `credentialType` is the vault index key of the credential the protocol
2592
+ * issues (e.g. 'kycamllevel1' | 'kycamllevel2'); defaults to level 1.
2593
+ */
2594
+ kycLoadForm?: (params: {
2595
+ protocolDid: string;
2596
+ credentialType?: string;
2597
+ }) => Promise<{
2598
+ protocolId: string;
2599
+ claimCollectionId?: string;
2600
+ deedOfferId?: string;
2601
+ surveyJson: Record<string, unknown>;
2602
+ hasExistingCredential: boolean;
2603
+ /** Non-PII metadata of matching Vault credentials, oldest first. */
2604
+ existingCredentials?: Array<{
2605
+ cid: string;
2606
+ credentialType: string;
2607
+ storedAt?: string;
2608
+ issuerDid?: string;
2609
+ }>;
2610
+ status: string;
2611
+ }>;
2612
+ /**
2613
+ * Submit the details form; the KYC server creates the ComplyCube
2614
+ * evaluation and the status moves to `verify`.
2615
+ */
2616
+ kycInitiate?: (params: {
2617
+ protocolId: string;
2618
+ claimCollectionId?: string;
2619
+ deedOfferId?: string;
2620
+ data: Record<string, unknown>;
2621
+ }) => Promise<{
2622
+ status: string;
2623
+ }>;
2624
+ /** Mint the hosted-webview verification URL (opened in a new browser tab). */
2625
+ kycGetVerificationUrl?: (params: {
2626
+ protocolId: string;
2627
+ }) => Promise<{
2628
+ url: string;
2629
+ }>;
2630
+ /** Read the current server-side lifecycle status (polled every 15s while non-terminal). */
2631
+ kycGetStatus?: (params: {
2632
+ protocolId: string;
2633
+ }) => Promise<{
2634
+ status: string;
2635
+ }>;
2636
+ /**
2637
+ * Save the issued SD-JWT credential to the user's Matrix vault room and
2638
+ * move the server status to `complete`. Idempotent per `credentialType`
2639
+ * (vault index key, defaults to level 1).
2640
+ */
2641
+ kycSaveCredential?: (params: {
2642
+ protocolId: string;
2643
+ credentialType?: string;
2644
+ credentialCid?: string;
2645
+ }) => Promise<{
2646
+ credentialCid: string;
2647
+ credentialType: string;
2648
+ }>;
2588
2649
  integrations?: IntegrationsHandlers;
2589
2650
  /**
2590
2651
  * Bridge callback for the consuming app's analytics pipeline.
@@ -4359,24 +4420,6 @@ declare const blockSpecs: {
4359
4420
  readonly commitment: {
4360
4421
  readonly default: string;
4361
4422
  };
4362
- readonly paymentStatus: {
4363
- readonly default: "";
4364
- };
4365
- readonly transactionId: {
4366
- readonly default: "";
4367
- };
4368
- readonly paymentProposal: {
4369
- readonly default: "";
4370
- };
4371
- readonly paymentSummary: {
4372
- readonly default: "";
4373
- };
4374
- readonly paymentError: {
4375
- readonly default: "";
4376
- };
4377
- readonly payments: {
4378
- readonly default: "[]";
4379
- };
4380
4423
  };
4381
4424
  readonly content: "none";
4382
4425
  };
@@ -4428,24 +4471,6 @@ declare const blockSpecs: {
4428
4471
  readonly commitment: {
4429
4472
  readonly default: string;
4430
4473
  };
4431
- readonly paymentStatus: {
4432
- readonly default: "";
4433
- };
4434
- readonly transactionId: {
4435
- readonly default: "";
4436
- };
4437
- readonly paymentProposal: {
4438
- readonly default: "";
4439
- };
4440
- readonly paymentSummary: {
4441
- readonly default: "";
4442
- };
4443
- readonly paymentError: {
4444
- readonly default: "";
4445
- };
4446
- readonly payments: {
4447
- readonly default: "[]";
4448
- };
4449
4474
  };
4450
4475
  readonly content: "none";
4451
4476
  }, any, _blocknote_core.InlineContentSchema, _blocknote_core.StyleSchema>;
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { q 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, v as Entity, w as EntityResponse, f as EntitySigningSetup, x as EntityVariables, E as EvaluationTab, e as EvaluationTabState, F as FlowPermissionsPanel, n as FlowStepRefProps, l as FlowStepRefSpec, G as GrantPermissionModal, y as GraphQLClient, M as GraphQLRequest, J 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, o as OverviewBlockProps, p as ProposalBlockProps, P as ProposalBlockSpec, t as getEntity, m as inlineContentSpecs, z as ixoGraphQLClient, r as useBlockPresence, a as useCreateCollaborativeIxoEditor, u as useCreateIxoEditor, s as useTrackBlockFocus } from './graphql-client-COOgxW6T.js';
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-Kob5Setw.js';
1
+ export { q 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, v as Entity, w as EntityResponse, f as EntitySigningSetup, x as EntityVariables, E as EvaluationTab, e as EvaluationTabState, F as FlowPermissionsPanel, n as FlowStepRefProps, l as FlowStepRefSpec, G as GrantPermissionModal, y as GraphQLClient, M as GraphQLRequest, J 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, o as OverviewBlockProps, p as ProposalBlockProps, P as ProposalBlockSpec, t as getEntity, m as inlineContentSpecs, z as ixoGraphQLClient, r as useBlockPresence, a as useCreateCollaborativeIxoEditor, u as useCreateIxoEditor, s as useTrackBlockFocus } from './graphql-client-Bje1zG1x.js';
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-CZP9PIO-.js';
3
3
  export { Block, BlockNoteEditor, BlockNoteSchema, DefaultBlockSchema, DefaultInlineContentSchema, DefaultStyleSchema, PartialBlock } from '@blocknote/core';
4
- 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-DQOd905K.js';
4
+ 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-KtqCT-bj.js';
5
5
  export { CloneDocumentResult, cloneDocument } from '@ixo/matrix-crdt';
6
6
  import 'yjs';
7
7
  import 'react';
package/dist/index.js CHANGED
@@ -30,8 +30,8 @@ import {
30
30
  useCreateIxoEditor,
31
31
  useTrackBlockFocus,
32
32
  useTranslate
33
- } from "./chunk-3WFCW7U7.js";
34
- import "./chunk-ZVN55I7Q.js";
33
+ } from "./chunk-BVGNIZAG.js";
34
+ import "./chunk-5JGB36AV.js";
35
35
  import {
36
36
  FlowAgentService,
37
37
  acquireFlowAgentLease,
@@ -70,7 +70,7 @@ import {
70
70
  tickFlowAgent,
71
71
  validateAgentCommand,
72
72
  validateFlowAgentLease
73
- } from "./chunk-5Y2WABQE.js";
73
+ } from "./chunk-GUKGNTGT.js";
74
74
 
75
75
  // src/index.ts
76
76
  import { cloneDocument } from "@ixo/matrix-crdt";
@@ -1,7 +1,7 @@
1
- export { q 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, Q as DropPosition, v as Entity, w as EntityResponse, f as EntitySigningSetup, x as EntityVariables, E as EvaluationTab, e as EvaluationTabState, N as ExternalDropZone, F as FlowPermissionsPanel, n as FlowStepRefProps, l as FlowStepRefSpec, G as GrantPermissionModal, y as GraphQLClient, M as GraphQLRequest, J 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, o as OverviewBlockProps, p as ProposalBlockProps, P as ProposalBlockSpec, t as getEntity, m as inlineContentSpecs, z as ixoGraphQLClient, r as useBlockPresence, a as useCreateCollaborativeIxoEditor, u as useCreateIxoEditor, s as useTrackBlockFocus } from '../graphql-client-COOgxW6T.js';
1
+ export { q 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, Q as DropPosition, v as Entity, w as EntityResponse, f as EntitySigningSetup, x as EntityVariables, E as EvaluationTab, e as EvaluationTabState, N as ExternalDropZone, F as FlowPermissionsPanel, n as FlowStepRefProps, l as FlowStepRefSpec, G as GrantPermissionModal, y as GraphQLClient, M as GraphQLRequest, J 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, o as OverviewBlockProps, p as ProposalBlockProps, P as ProposalBlockSpec, t as getEntity, m as inlineContentSpecs, z as ixoGraphQLClient, r as useBlockPresence, a as useCreateCollaborativeIxoEditor, u as useCreateIxoEditor, s as useTrackBlockFocus } from '../graphql-client-Bje1zG1x.js';
2
2
  import React__default, { PropsWithChildren } from 'react';
3
- import { ao as IxoBlockProps, a5 as IxoEditorType, w as BlocknoteHandlers, a4 as FlowNodeRuntimeState } from '../index-DQOd905K.js';
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-DQOd905K.js';
3
+ import { ao as IxoBlockProps, a5 as IxoEditorType, w as BlocknoteHandlers, a4 as FlowNodeRuntimeState } from '../index-KtqCT-bj.js';
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-KtqCT-bj.js';
5
5
  import * as zustand from 'zustand';
6
6
  import { SurveyModel } from '@ixo/surveys';
7
7
  import * as _blocknote_core from '@blocknote/core';
@@ -83,13 +83,13 @@ import {
83
83
  usePanelStore,
84
84
  useRegisterOpenSurvey,
85
85
  useTrackBlockFocus
86
- } from "../chunk-3WFCW7U7.js";
86
+ } from "../chunk-BVGNIZAG.js";
87
87
  import {
88
88
  didToMatrixUserId,
89
89
  findOrCreateDMRoom,
90
90
  getHomeserver,
91
91
  sendDirectMessage
92
- } from "../chunk-5Y2WABQE.js";
92
+ } from "../chunk-GUKGNTGT.js";
93
93
 
94
94
  // src/mantine/components/DebugButton.tsx
95
95
  import React from "react";
@@ -1,4 +1,4 @@
1
- import { a7 as FlowNode, ac as FlowNodeAuthzExtension, a4 as FlowNodeRuntimeState, a5 as IxoEditorType, f as UcanService, I as InvocationStore, aa as EvaluationStatus, i as UcanCapability, U as UcanDelegationStore, S as StoredDelegation } from './index-DQOd905K.js';
1
+ import { a7 as FlowNode, ac as FlowNodeAuthzExtension, a4 as FlowNodeRuntimeState, a5 as IxoEditorType, f as UcanService, I as InvocationStore, aa as EvaluationStatus, i as UcanCapability, U as UcanDelegationStore, S as StoredDelegation } from './index-KtqCT-bj.js';
2
2
  import * as Y from 'yjs';
3
3
  import { Doc, Map } from 'yjs';
4
4
  import { MatrixClient } from 'matrix-js-sdk';
@@ -1355,6 +1355,81 @@ interface EntityService {
1355
1355
  createdRecipientIid?: boolean;
1356
1356
  }>;
1357
1357
  }
1358
+ /**
1359
+ * KYC verification service (qi/kyc.verify). The editor declares the contract
1360
+ * only; the consumer app implements each method against its KYC server
1361
+ * (create/read the ComplyCube evaluation, mint the hosted verification URL,
1362
+ * persist the SD-JWT credential to the user's Matrix vault). The server's
1363
+ * status is the single source of truth for the lifecycle
1364
+ * (`verify → review → clear → issuing → issued → complete`, failure states
1365
+ * `rejected|attention|error`, plus `unknown`) — the editor only polls it.
1366
+ *
1367
+ * PII boundary: survey answers flow INTO `initiate` but never back out —
1368
+ * action outputs carry only `credentialCid`, `credentialType`, `protocolId`,
1369
+ * and `status`.
1370
+ */
1371
+ interface KycService {
1372
+ /**
1373
+ * Load the KYC protocol's details form + the user's current server-side
1374
+ * state. `credentialType` is the vault index key of the credential this
1375
+ * protocol issues (e.g. 'kycamllevel1' | 'kycamllevel2'); hosts default it
1376
+ * to level 1 when omitted — `hasExistingCredential` refers to THAT type
1377
+ * only, so a level-2 flow is never satisfied by a level-1 credential.
1378
+ */
1379
+ loadForm(params: {
1380
+ protocolDid: string;
1381
+ credentialType?: string;
1382
+ }): Promise<{
1383
+ protocolId: string;
1384
+ claimCollectionId?: string;
1385
+ deedOfferId?: string;
1386
+ surveyJson: Record<string, unknown>;
1387
+ hasExistingCredential: boolean;
1388
+ /** Non-PII metadata of matching Vault credentials, oldest first. */
1389
+ existingCredentials?: Array<{
1390
+ cid: string;
1391
+ credentialType: string;
1392
+ storedAt?: string;
1393
+ issuerDid?: string;
1394
+ }>;
1395
+ status: string;
1396
+ }>;
1397
+ /** Submit the details form; the server creates the ComplyCube evaluation. */
1398
+ initiate(params: {
1399
+ protocolId: string;
1400
+ claimCollectionId?: string;
1401
+ deedOfferId?: string;
1402
+ data: Record<string, unknown>;
1403
+ }): Promise<{
1404
+ status: string;
1405
+ }>;
1406
+ /** Mint the hosted-webview verification URL for the user's evaluation. */
1407
+ getVerificationUrl(params: {
1408
+ protocolId: string;
1409
+ }): Promise<{
1410
+ url: string;
1411
+ }>;
1412
+ /** Read the current server-side lifecycle status. */
1413
+ getStatus(params: {
1414
+ protocolId: string;
1415
+ }): Promise<{
1416
+ status: string;
1417
+ }>;
1418
+ /**
1419
+ * Save the issued SD-JWT credential to the user's Matrix vault room and
1420
+ * move the server status to `complete`. Idempotent — re-saving an
1421
+ * already-saved credential of the same `credentialType` returns the
1422
+ * existing CID (defaults to level 1 when omitted).
1423
+ */
1424
+ saveCredential(params: {
1425
+ protocolId: string;
1426
+ credentialType?: string;
1427
+ credentialCid?: string;
1428
+ }): Promise<{
1429
+ credentialCid: string;
1430
+ credentialType: string;
1431
+ }>;
1432
+ }
1358
1433
  /**
1359
1434
  * The full service contract an action execution context can carry. Composed
1360
1435
  * from the per-domain service interfaces above so consumers can implement and
@@ -1373,6 +1448,7 @@ interface ActionServices {
1373
1448
  oracle?: OracleService;
1374
1449
  carbon?: CarbonService;
1375
1450
  entity?: EntityService;
1451
+ kyc?: KycService;
1376
1452
  }
1377
1453
  interface OutputSchemaField {
1378
1454
  path: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ixo/editor",
3
- "version": "6.1.2",
3
+ "version": "6.2.1",
4
4
  "description": "A custom BlockNote editor wrapper for IXO team",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/style-core.css CHANGED
@@ -332,3 +332,25 @@ body.external-artifact-drag-active .prosemirror-dropcursor-inline {
332
332
  opacity: 0 !important;
333
333
  visibility: hidden !important;
334
334
  }
335
+
336
+ /* KYC survey container: survey templates can be authored for other apps and
337
+ carry hardcoded inline colours in their HTML blocks (e.g. light-theme
338
+ branding), which is unreadable against the opposite colour scheme. Force
339
+ the site theme's text colour inside the survey's HTML content; links keep
340
+ the accent colour. */
341
+ .ixo-kyc-survey {
342
+ color: var(--mantine-color-text);
343
+ }
344
+ .ixo-kyc-survey .sd-html,
345
+ .ixo-kyc-survey .sd-html * {
346
+ color: inherit !important;
347
+ }
348
+ .ixo-kyc-survey .sd-html a {
349
+ color: var(--mantine-color-accent-5) !important;
350
+ }
351
+ /* Inline light/dark backgrounds from the template (callout boxes etc.)
352
+ become a subtle theme tint so text stays readable in both schemes. */
353
+ .ixo-kyc-survey .sd-html [style*='background'],
354
+ .ixo-kyc-survey .sd-html [bgcolor] {
355
+ background: color-mix(in srgb, var(--mantine-color-text) 6%, transparent) !important;
356
+ }
package/style-mantine.css CHANGED
@@ -429,3 +429,25 @@ body.external-artifact-drag-active .prosemirror-dropcursor-inline {
429
429
  opacity: 0 !important;
430
430
  visibility: hidden !important;
431
431
  }
432
+
433
+ /* KYC survey container: survey templates can be authored for other apps and
434
+ carry hardcoded inline colours in their HTML blocks (e.g. light-theme
435
+ branding), which is unreadable against the opposite colour scheme. Force
436
+ the site theme's text colour inside the survey's HTML content; links keep
437
+ the accent colour. */
438
+ .ixo-kyc-survey {
439
+ color: var(--mantine-color-text);
440
+ }
441
+ .ixo-kyc-survey .sd-html,
442
+ .ixo-kyc-survey .sd-html * {
443
+ color: inherit !important;
444
+ }
445
+ .ixo-kyc-survey .sd-html a {
446
+ color: var(--mantine-color-accent-5) !important;
447
+ }
448
+ /* Inline light/dark backgrounds from the template (callout boxes etc.)
449
+ become a subtle theme tint so text stays readable in both schemes. */
450
+ .ixo-kyc-survey .sd-html [style*='background'],
451
+ .ixo-kyc-survey .sd-html [bgcolor] {
452
+ background: color-mix(in srgb, var(--mantine-color-text) 6%, transparent) !important;
453
+ }
package/style-scoped.css CHANGED
@@ -627,3 +627,25 @@ body.external-artifact-drag-active .prosemirror-dropcursor-inline {
627
627
  opacity: 0 !important;
628
628
  visibility: hidden !important;
629
629
  }
630
+
631
+ /* KYC survey container: survey templates can be authored for other apps and
632
+ carry hardcoded inline colours in their HTML blocks (e.g. light-theme
633
+ branding), which is unreadable against the opposite colour scheme. Force
634
+ the site theme's text colour inside the survey's HTML content; links keep
635
+ the accent colour. */
636
+ .ixo-kyc-survey {
637
+ color: var(--mantine-color-text);
638
+ }
639
+ .ixo-kyc-survey .sd-html,
640
+ .ixo-kyc-survey .sd-html * {
641
+ color: inherit !important;
642
+ }
643
+ .ixo-kyc-survey .sd-html a {
644
+ color: var(--mantine-color-accent-5) !important;
645
+ }
646
+ /* Inline light/dark backgrounds from the template (callout boxes etc.)
647
+ become a subtle theme tint so text stays readable in both schemes. */
648
+ .ixo-kyc-survey .sd-html [style*='background'],
649
+ .ixo-kyc-survey .sd-html [bgcolor] {
650
+ background: color-mix(in srgb, var(--mantine-color-text) 6%, transparent) !important;
651
+ }
package/style.css CHANGED
@@ -429,3 +429,25 @@ body.external-artifact-drag-active .prosemirror-dropcursor-inline {
429
429
  opacity: 0 !important;
430
430
  visibility: hidden !important;
431
431
  }
432
+
433
+ /* KYC survey container: survey templates can be authored for other apps and
434
+ carry hardcoded inline colours in their HTML blocks (e.g. light-theme
435
+ branding), which is unreadable against the opposite colour scheme. Force
436
+ the site theme's text colour inside the survey's HTML content; links keep
437
+ the accent colour. */
438
+ .ixo-kyc-survey {
439
+ color: var(--mantine-color-text);
440
+ }
441
+ .ixo-kyc-survey .sd-html,
442
+ .ixo-kyc-survey .sd-html * {
443
+ color: inherit !important;
444
+ }
445
+ .ixo-kyc-survey .sd-html a {
446
+ color: var(--mantine-color-accent-5) !important;
447
+ }
448
+ /* Inline light/dark backgrounds from the template (callout boxes etc.)
449
+ become a subtle theme tint so text stays readable in both schemes. */
450
+ .ixo-kyc-survey .sd-html [style*='background'],
451
+ .ixo-kyc-survey .sd-html [bgcolor] {
452
+ background: color-mix(in srgb, var(--mantine-color-text) 6%, transparent) !important;
453
+ }