@blue-repository/types 0.11.0 → 0.13.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.
Files changed (46) hide show
  1. package/README.md +1 -1
  2. package/dist/meta.d.ts +2 -2
  3. package/dist/meta.d.ts.map +1 -1
  4. package/dist/meta.js +2 -0
  5. package/dist/meta.js.map +1 -1
  6. package/dist/packages/conversation/blue-ids.d.ts +7 -7
  7. package/dist/packages/conversation/blue-ids.js +7 -7
  8. package/dist/packages/conversation/contents/AcceptChangeWorkflow.d.ts +1 -1
  9. package/dist/packages/conversation/contents/AcceptChangeWorkflow.js +1 -1
  10. package/dist/packages/conversation/contents/AcceptChangeWorkflow.js.map +1 -1
  11. package/dist/packages/conversation/contents/ChangeOperation.d.ts +1 -1
  12. package/dist/packages/conversation/contents/ChangeOperation.js +1 -1
  13. package/dist/packages/conversation/contents/ChangeRequest.d.ts +8 -8
  14. package/dist/packages/conversation/contents/ChangeRequest.js +8 -8
  15. package/dist/packages/conversation/contents/ChangeRequest.js.map +1 -1
  16. package/dist/packages/conversation/contents/ChangeWorkflow.d.ts +2 -2
  17. package/dist/packages/conversation/contents/ChangeWorkflow.js +2 -2
  18. package/dist/packages/conversation/contents/ChangeWorkflow.js.map +1 -1
  19. package/dist/packages/conversation/contents/ProposeChangeOperation.d.ts +1 -1
  20. package/dist/packages/conversation/contents/ProposeChangeOperation.js +1 -1
  21. package/dist/packages/conversation/contents/ProposeChangeWorkflow.d.ts +2 -2
  22. package/dist/packages/conversation/contents/ProposeChangeWorkflow.js +2 -2
  23. package/dist/packages/conversation/contents/ProposeChangeWorkflow.js.map +1 -1
  24. package/dist/packages/conversation/contents/RejectChangeWorkflow.d.ts +1 -1
  25. package/dist/packages/conversation/contents/RejectChangeWorkflow.js +1 -1
  26. package/dist/packages/conversation/contents/RejectChangeWorkflow.js.map +1 -1
  27. package/dist/packages/conversation/contents/index.d.ts +204 -204
  28. package/dist/packages/conversation/contents/index.d.ts.map +1 -1
  29. package/dist/packages/conversation/contents/index.js +21 -21
  30. package/dist/packages/conversation/contents/index.js.map +1 -1
  31. package/dist/packages/conversation/index.d.ts +255 -255
  32. package/dist/packages/conversation/meta.d.ts +28 -28
  33. package/dist/packages/conversation/meta.js +21 -21
  34. package/dist/packages/conversation/meta.js.map +1 -1
  35. package/dist/packages/conversation/schemas/ChangeOperation.d.ts +5 -5
  36. package/dist/packages/conversation/schemas/ChangeRequest.d.ts +3 -3
  37. package/dist/packages/conversation/schemas/ChangeRequest.js +1 -1
  38. package/dist/packages/conversation/schemas/ChangeRequest.js.map +1 -1
  39. package/dist/packages/conversation/schemas/ChangeWorkflow.d.ts +5 -5
  40. package/dist/packages/conversation/schemas/ProposeChangeOperation.d.ts +5 -5
  41. package/dist/packages/conversation/schemas/ProposeChangeWorkflow.d.ts +5 -5
  42. package/dist/packages/conversation/schemas/index.d.ts +30 -30
  43. package/dist/packages/conversation/schemas/index.js +7 -7
  44. package/dist/packages/conversation/schemas/index.js.map +1 -1
  45. package/dist/repository.d.ts +256 -256
  46. package/package.json +2 -2
@@ -22,6 +22,44 @@ declare const _default: {
22
22
  readonly blueId: "36epvrpVHZLjapbeZsNodz2NDnm7XZeNZcnkWHgkP1pp";
23
23
  };
24
24
  };
25
+ readonly '29xcoYKf9p47xagTDwGLuQyFrT9WBN3Sd7FaPtqLvydy': {
26
+ readonly description: "Applies a previously proposed change and removes its proposal state.";
27
+ readonly name: "Accept Change Workflow";
28
+ readonly postfix: {
29
+ readonly description: "Optional postfix used while building proposed change state key.";
30
+ readonly type: {
31
+ readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
32
+ };
33
+ };
34
+ readonly steps: {
35
+ readonly items: readonly [{
36
+ readonly code: {
37
+ readonly type: {
38
+ readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
39
+ };
40
+ readonly value: "const invalid = (reason) => ({\n changeset: [],\n events: [{ type: 'Conversation/Proposed Change Invalid', reason }]\n});\n\nconst isArray = Array.isArray;\n\nconst postfixValue = currentContract?.postfix || '';\nconst proposedPath = '/proposedChange' + postfixValue;\n\nconst change = document(proposedPath);\nif (!change) {\n return invalid('no proposed change at ' + proposedPath);\n}\n\nconst requestChangeset = isArray(change?.changeset) ? change.changeset : [];\nconst sectionChanges = change.sectionChanges;\n\nconst entryPath = (entry) => `${entry?.path || ''}`;\nconst isContractsPath = (p) => p === '/contracts' || p.startsWith('/contracts/');\nconst isProposedChangePath = (p) => p.startsWith('/proposedChange');\n\nconst contracts = document('/contracts') || {};\nconst policy = Object.values(contracts).find((c) => c?.requireSectionChanges !== undefined);\nconst policyEnabled = !!policy && policy.requireSectionChanges !== false;\n\nif (\n policyEnabled &&\n requestChangeset.some((e) => isContractsPath(entryPath(e)))\n) {\n return invalid('changeset cannot modify /contracts when Contracts Change Policy is enabled');\n}\n\nif (requestChangeset.some((e) => isProposedChangePath(entryPath(e)))) {\n return invalid('changeset cannot modify /proposedChange');\n}\n\nconst escapePointer = (value) =>\n `${value}`.split('~').join('~0').split('/').join('~1');\n\nconst contractPtr = (key) => '/contracts/' + escapePointer(key);\n\nconst isMetaKey = (key) =>\n key === 'type' || key === 'keyType' || key === 'valueType' || key === 'description';\n\nconst contractKeysFromMap = (contractsMap) =>\n Object.keys(contractsMap || {}).filter((k) => !isMetaKey(k));\n\nconst normalizeSection = (section, contractKeys) => ({\n ...(section || {}),\n type: 'Conversation/Document Section',\n relatedContracts: (section?.relatedContracts?.length ? section.relatedContracts : contractKeys)\n});\n\nconst hasMatchingRelatedContracts = (section, contractKeys) => {\n const related = isArray(section?.relatedContracts)\n ? section.relatedContracts.map((value) => `${value}`)\n : [];\n if (!related.length) {\n return true;\n }\n if (related.length !== contractKeys.length) {\n return false;\n }\n const relatedMap = {};\n for (const value of related) {\n const key = `${value}`;\n relatedMap[key] = (relatedMap[key] || 0) + 1;\n }\n if (Object.keys(relatedMap).length !== contractKeys.length) {\n return false;\n }\n for (const key of contractKeys) {\n if (!relatedMap[key]) {\n return false;\n }\n }\n return true;\n};\n\nconst sectionChangeset = [];\nconst seenSectionKeys = {};\nconst seenContractKeys = {};\nconst existingContractKeys = {};\nfor (const key of Object.keys(contracts || {}).filter((k) => !isMetaKey(k))) {\n existingContractKeys[key] = true;\n}\n\nconst trackSectionKey = (sectionKey) => {\n if (seenSectionKeys[sectionKey]) {\n return invalid(`section key duplicated in sectionChanges: ${sectionKey}`);\n }\n seenSectionKeys[sectionKey] = true;\n return null;\n};\n\nconst trackContractKey = (sectionKey, contractKey) => {\n const existingSection = seenContractKeys[contractKey];\n if (existingSection && existingSection !== sectionKey) {\n return invalid(`contract key used by multiple sections in request: ${contractKey}`);\n }\n seenContractKeys[contractKey] = sectionKey;\n return null;\n};\n\nconst addList = isArray(sectionChanges?.add) ? sectionChanges.add : [];\nfor (const entry of addList) {\n const sectionKey = `${entry?.sectionKey || ''}`;\n if (!sectionKey) return invalid('sectionChanges.add is missing sectionKey');\n\n const sectionKeyDup = trackSectionKey(sectionKey);\n if (sectionKeyDup) return sectionKeyDup;\n\n if (existingContractKeys[sectionKey]) {\n return invalid(`contract key already exists at ${contractPtr(sectionKey)}`);\n }\n\n const contractsMap = entry?.contracts || {};\n const contractKeys = contractKeysFromMap(contractsMap).map((key) => `${key}`);\n\n if (!hasMatchingRelatedContracts(entry?.section, contractKeys)) {\n return invalid('relatedContracts must match contracts');\n }\n\n for (const key of contractKeys) {\n if (existingContractKeys[key]) {\n return invalid(`contract key already exists at ${contractPtr(key)}`);\n }\n const dup = trackContractKey(sectionKey, key);\n if (dup) return dup;\n }\n\n for (const key of contractKeys) {\n sectionChangeset.push({ op: 'add', path: contractPtr(key), val: contractsMap[key] });\n }\n\n sectionChangeset.push({\n op: 'add',\n path: contractPtr(sectionKey),\n val: normalizeSection(entry?.section, contractKeys)\n });\n}\n\nconst modifyList = isArray(sectionChanges?.modify) ? sectionChanges.modify : [];\nfor (const entry of modifyList) {\n const sectionKey = `${entry?.sectionKey || ''}`;\n if (!sectionKey) return invalid('sectionChanges.modify is missing sectionKey');\n\n const sectionKeyDup = trackSectionKey(sectionKey);\n if (sectionKeyDup) return sectionKeyDup;\n\n const existingRelated = isArray(contracts?.[sectionKey]?.relatedContracts)\n ? contracts[sectionKey].relatedContracts.map((value) => `${value}`)\n : [];\n const existingRelatedMap = {};\n for (const value of existingRelated) {\n existingRelatedMap[`${value}`] = true;\n }\n\n const contractsMap = entry?.contracts || {};\n const contractKeys = contractKeysFromMap(contractsMap).map((key) => `${key}`);\n\n if (!hasMatchingRelatedContracts(entry?.section, contractKeys)) {\n return invalid('relatedContracts must match contracts');\n }\n\n for (const key of contractKeys) {\n const dup = trackContractKey(sectionKey, key);\n if (dup) return dup;\n if (existingContractKeys[key] && !existingRelatedMap[key]) {\n return invalid(`contract key already exists at ${contractPtr(key)}`);\n }\n }\n\n for (const key of contractKeys) {\n sectionChangeset.push({ op: 'add', path: contractPtr(key), val: contractsMap[key] });\n }\n\n for (const oldKey of existingRelated) {\n if (contractKeys.indexOf(oldKey) === -1) {\n sectionChangeset.push({ op: 'remove', path: contractPtr(oldKey) });\n }\n }\n\n sectionChangeset.push({\n op: 'add',\n path: contractPtr(sectionKey),\n val: normalizeSection(entry?.section, contractKeys)\n });\n}\n\nconst removeList = isArray(sectionChanges?.remove) ? sectionChanges.remove : [];\nfor (const entry of removeList) {\n const sectionKey = `${entry?.sectionKey || entry || ''}`;\n if (!sectionKey) return invalid('sectionChanges.remove is missing sectionKey');\n\n const related = isArray(contracts?.[sectionKey]?.relatedContracts)\n ? contracts[sectionKey].relatedContracts\n : [];\n\n for (const key of related) {\n sectionChangeset.push({ op: 'remove', path: contractPtr(key) });\n }\n sectionChangeset.push({ op: 'remove', path: contractPtr(sectionKey) });\n}\n\nconst combined = sectionChangeset.concat(requestChangeset);\n\nif (combined.length === 0) {\n return invalid('no changes provided');\n}\n\nreturn {\n changeset: combined.concat({ op: 'remove', path: proposedPath })\n};\n";
41
+ };
42
+ readonly name: "Prepare";
43
+ readonly type: {
44
+ readonly blueId: "ExZxT61PSpWHpEAtP2WKMXXqxEYN7Z13j7Zv36Dp99kS";
45
+ };
46
+ }, {
47
+ readonly changeset: {
48
+ readonly type: {
49
+ readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
50
+ };
51
+ readonly value: "${steps.Prepare.changeset}";
52
+ };
53
+ readonly name: "Apply";
54
+ readonly type: {
55
+ readonly blueId: "FtHZJzH4hqAoGxFBjsmy1svfT4BwEBB4aHpFSZycZLLa";
56
+ };
57
+ }];
58
+ };
59
+ readonly type: {
60
+ readonly blueId: "CGdxkNjPcsdescqLPz6SNLsMyak6demQQr7RoKNHbCyv";
61
+ };
62
+ };
25
63
  readonly '2bSWEoMSZwzf32Hnr4BDVsuq8NRjrWEpnhZvMZAJGhh2': {
26
64
  readonly description: "Conversation workflow step that enqueues an event as part of the workflow.\n- Gas accounting (when and what is charged):\n - Base step charge (once per run of this step): 30.\n - Expression/template resolution under \"/event\" (if present):\n - Expressions run in the deterministic QuickJS VM (same sandbox and\n bindings as the JavaScript Code step).\n - VM gas is converted to host gas as:\n hostGas = ceil(wasmFuel / 1700)\n (calibration factor currently 1700 fuel per host gas unit).\n - Any document(<pointer>) used inside expressions/templates charges\n per call: 8 + depth(pointer) + ceil(snapshotBytes/100).\n - Event emission (enqueue): 20 + ceil(eventBytes/100) for the final event\n payload after expression resolution.\n";
27
65
  readonly event: {
@@ -32,18 +70,6 @@ declare const _default: {
32
70
  readonly blueId: "HYsLiqsqk7t98d5fK6YxKEQGeqBaHNVjM4rRNdxK4yUW";
33
71
  };
34
72
  };
35
- readonly '2mJhqggRy7YTHK5bSeAitqhhjynpe8mApvQXXpcwPCxx': {
36
- readonly description: "Operation to propose a document change for later acceptance or rejection.";
37
- readonly name: "Propose Change Operation";
38
- readonly request: {
39
- readonly type: {
40
- readonly blueId: "9KDfK6k1HBAyHckj5VuWXFMLkgY5cJBESKT4eoq1bnrw";
41
- };
42
- };
43
- readonly type: {
44
- readonly blueId: "BoAiqVUZv9Fum3wFqaX2JnQMBHJLxJSo2V9U2UBmCfsC";
45
- };
46
- };
47
73
  readonly '36epvrpVHZLjapbeZsNodz2NDnm7XZeNZcnkWHgkP1pp': {
48
74
  readonly description: "The base type for any event that is a direct response to a prior Request event.\n";
49
75
  readonly inResponseTo: {
@@ -76,6 +102,44 @@ declare const _default: {
76
102
  };
77
103
  };
78
104
  };
105
+ readonly '4pFvBSYyitoq8rWqTmY5rLywU2tpZsivDUCAo5vwoAT9': {
106
+ readonly description: "Applies a requested changeset immediately to the document.";
107
+ readonly name: "Change Workflow";
108
+ readonly request: {
109
+ readonly description: "Expected request payload for this workflow.";
110
+ readonly type: {
111
+ readonly blueId: "FW7iYkzig4fepCdwfCdgNJw4DQ1fKwnAUf3YpjgfTPmG";
112
+ };
113
+ };
114
+ readonly steps: {
115
+ readonly items: readonly [{
116
+ readonly code: {
117
+ readonly type: {
118
+ readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
119
+ };
120
+ readonly value: "const invalid = (reason) => ({\n changeset: [],\n events: [{ type: 'Conversation/Proposed Change Invalid', reason }]\n});\n\nconst isArray = Array.isArray;\n\nconst change = event.message.request;\n\nconst summary = change?.summary;\nif (!summary || typeof summary !== 'string') {\n return invalid('summary is missing');\n}\n\nconst requestChangeset = isArray(change?.changeset) ? change.changeset : [];\nconst sectionChanges = change.sectionChanges;\n\nconst entryPath = (entry) => `${entry?.path || ''}`;\nconst isContractsPath = (p) => p === '/contracts' || p.startsWith('/contracts/');\nconst isProposedChangePath = (p) => p.startsWith('/proposedChange');\n\nconst contracts = document('/contracts') || {};\nconst policy = Object.values(contracts).find((c) => c?.requireSectionChanges !== undefined);\nconst policyEnabled = !!policy && policy.requireSectionChanges !== false;\n\nif (\n policyEnabled &&\n requestChangeset.some((e) => isContractsPath(entryPath(e)))\n) {\n return invalid('changeset cannot modify /contracts when Contracts Change Policy is enabled');\n}\n\nif (requestChangeset.some((e) => isProposedChangePath(entryPath(e)))) {\n return invalid('changeset cannot modify /proposedChange');\n}\n\nconst escapePointer = (value) =>\n `${value}`.split('~').join('~0').split('/').join('~1');\n\nconst contractPtr = (key) => '/contracts/' + escapePointer(key);\n\nconst isMetaKey = (key) =>\n key === 'type' || key === 'keyType' || key === 'valueType' || key === 'description';\n\nconst contractKeysFromMap = (contractsMap) =>\n Object.keys(contractsMap || {}).filter((k) => !isMetaKey(k));\n\nconst normalizeSection = (section, contractKeys) => ({\n ...(section || {}),\n type: 'Conversation/Document Section',\n relatedContracts: (section?.relatedContracts?.length ? section.relatedContracts : contractKeys)\n});\n\nconst hasMatchingRelatedContracts = (section, contractKeys) => {\n const related = isArray(section?.relatedContracts)\n ? section.relatedContracts.map((value) => `${value}`)\n : [];\n if (!related.length) {\n return true;\n }\n if (related.length !== contractKeys.length) {\n return false;\n }\n const relatedMap = {};\n for (const value of related) {\n const key = `${value}`;\n relatedMap[key] = (relatedMap[key] || 0) + 1;\n }\n if (Object.keys(relatedMap).length !== contractKeys.length) {\n return false;\n }\n for (const key of contractKeys) {\n if (!relatedMap[key]) {\n return false;\n }\n }\n return true;\n};\n\nconst sectionChangeset = [];\nconst seenSectionKeys = {};\nconst seenContractKeys = {};\nconst existingContractKeys = {};\nfor (const key of Object.keys(contracts || {}).filter((k) => !isMetaKey(k))) {\n existingContractKeys[key] = true;\n}\n\nconst trackSectionKey = (sectionKey) => {\n if (seenSectionKeys[sectionKey]) {\n return invalid(`section key duplicated in sectionChanges: ${sectionKey}`);\n }\n seenSectionKeys[sectionKey] = true;\n return null;\n};\n\nconst trackContractKey = (sectionKey, contractKey) => {\n const existingSection = seenContractKeys[contractKey];\n if (existingSection && existingSection !== sectionKey) {\n return invalid(`contract key used by multiple sections in request: ${contractKey}`);\n }\n seenContractKeys[contractKey] = sectionKey;\n return null;\n};\n\nconst addList = isArray(sectionChanges?.add) ? sectionChanges.add : [];\nfor (const entry of addList) {\n const sectionKey = `${entry?.sectionKey || ''}`;\n if (!sectionKey) return invalid('sectionChanges.add is missing sectionKey');\n\n const sectionKeyDup = trackSectionKey(sectionKey);\n if (sectionKeyDup) return sectionKeyDup;\n\n if (existingContractKeys[sectionKey]) {\n return invalid(`contract key already exists at ${contractPtr(sectionKey)}`);\n }\n\n const contractsMap = entry?.contracts || {};\n const contractKeys = contractKeysFromMap(contractsMap).map((key) => `${key}`);\n\n if (!hasMatchingRelatedContracts(entry?.section, contractKeys)) {\n return invalid('relatedContracts must match contracts');\n }\n\n for (const key of contractKeys) {\n if (existingContractKeys[key]) {\n return invalid(`contract key already exists at ${contractPtr(key)}`);\n }\n const dup = trackContractKey(sectionKey, key);\n if (dup) return dup;\n }\n\n for (const key of contractKeys) {\n sectionChangeset.push({ op: 'add', path: contractPtr(key), val: contractsMap[key] });\n }\n\n sectionChangeset.push({\n op: 'add',\n path: contractPtr(sectionKey),\n val: normalizeSection(entry?.section, contractKeys)\n });\n}\n\nconst modifyList = isArray(sectionChanges?.modify) ? sectionChanges.modify : [];\nfor (const entry of modifyList) {\n const sectionKey = `${entry?.sectionKey || ''}`;\n if (!sectionKey) return invalid('sectionChanges.modify is missing sectionKey');\n\n const sectionKeyDup = trackSectionKey(sectionKey);\n if (sectionKeyDup) return sectionKeyDup;\n\n const existingRelated = isArray(contracts?.[sectionKey]?.relatedContracts)\n ? contracts[sectionKey].relatedContracts.map((value) => `${value}`)\n : [];\n const existingRelatedMap = {};\n for (const value of existingRelated) {\n existingRelatedMap[`${value}`] = true;\n }\n\n const contractsMap = entry?.contracts || {};\n const contractKeys = contractKeysFromMap(contractsMap).map((key) => `${key}`);\n\n if (!hasMatchingRelatedContracts(entry?.section, contractKeys)) {\n return invalid('relatedContracts must match contracts');\n }\n\n for (const key of contractKeys) {\n const dup = trackContractKey(sectionKey, key);\n if (dup) return dup;\n if (existingContractKeys[key] && !existingRelatedMap[key]) {\n return invalid(`contract key already exists at ${contractPtr(key)}`);\n }\n }\n\n for (const key of contractKeys) {\n sectionChangeset.push({ op: 'add', path: contractPtr(key), val: contractsMap[key] });\n }\n\n for (const oldKey of existingRelated) {\n if (contractKeys.indexOf(oldKey) === -1) {\n sectionChangeset.push({ op: 'remove', path: contractPtr(oldKey) });\n }\n }\n\n sectionChangeset.push({\n op: 'add',\n path: contractPtr(sectionKey),\n val: normalizeSection(entry?.section, contractKeys)\n });\n}\n\nconst removeList = isArray(sectionChanges?.remove) ? sectionChanges.remove : [];\nfor (const entry of removeList) {\n const sectionKey = `${entry?.sectionKey || entry || ''}`;\n if (!sectionKey) return invalid('sectionChanges.remove is missing sectionKey');\n\n const related = isArray(contracts?.[sectionKey]?.relatedContracts)\n ? contracts[sectionKey].relatedContracts\n : [];\n\n for (const key of related) {\n sectionChangeset.push({ op: 'remove', path: contractPtr(key) });\n }\n sectionChangeset.push({ op: 'remove', path: contractPtr(sectionKey) });\n}\n\nconst combined = sectionChangeset.concat(requestChangeset);\n\nif (combined.length === 0) {\n return invalid('no changes provided');\n}\n\nreturn { changeset: combined };\n";
121
+ };
122
+ readonly name: "Prepare";
123
+ readonly type: {
124
+ readonly blueId: "ExZxT61PSpWHpEAtP2WKMXXqxEYN7Z13j7Zv36Dp99kS";
125
+ };
126
+ }, {
127
+ readonly changeset: {
128
+ readonly type: {
129
+ readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
130
+ };
131
+ readonly value: "${steps.Prepare.changeset}";
132
+ };
133
+ readonly name: "Apply";
134
+ readonly type: {
135
+ readonly blueId: "FtHZJzH4hqAoGxFBjsmy1svfT4BwEBB4aHpFSZycZLLa";
136
+ };
137
+ }];
138
+ };
139
+ readonly type: {
140
+ readonly blueId: "CGdxkNjPcsdescqLPz6SNLsMyak6demQQr7RoKNHbCyv";
141
+ };
142
+ };
79
143
  readonly '4T5AmhKAXSJAAHDEjtVJ2FQgCyz2qyd9qG5uoh627Ux6': {
80
144
  readonly description: "Operation to reject a previously proposed change.";
81
145
  readonly name: "Reject Change Operation";
@@ -362,6 +426,50 @@ declare const _default: {
362
426
  };
363
427
  };
364
428
  };
429
+ readonly '7dUt8jiX5vGeZL7wVzWFA8uEw37T6oPgC8KyDZmqxeSj': {
430
+ readonly description: "Stores a proposed change under /proposedChange{postfix}.";
431
+ readonly name: "Propose Change Workflow";
432
+ readonly postfix: {
433
+ readonly description: "Optional postfix used while building proposed change state key.";
434
+ readonly type: {
435
+ readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
436
+ };
437
+ };
438
+ readonly request: {
439
+ readonly description: "Expected request payload for this workflow.";
440
+ readonly type: {
441
+ readonly blueId: "FW7iYkzig4fepCdwfCdgNJw4DQ1fKwnAUf3YpjgfTPmG";
442
+ };
443
+ };
444
+ readonly steps: {
445
+ readonly items: readonly [{
446
+ readonly code: {
447
+ readonly type: {
448
+ readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
449
+ };
450
+ readonly value: "const invalid = (reason) => ({\n changeset: [],\n events: [{ type: 'Conversation/Proposed Change Invalid', reason }]\n});\n\nconst request = event.message.request;\n\nconst summary = request?.summary;\nif (!summary || typeof summary !== 'string') {\n return invalid('summary is missing');\n}\n\nconst postfixValue = currentContract?.postfix || '';\nconst path = '/proposedChange' + postfixValue;\n\nif (document(path)) {\n return invalid('proposed change already exists at ' + path);\n}\n\nreturn {\n changeset: [{ op: 'add', path, val: request }]\n};\n";
451
+ };
452
+ readonly name: "Prepare";
453
+ readonly type: {
454
+ readonly blueId: "ExZxT61PSpWHpEAtP2WKMXXqxEYN7Z13j7Zv36Dp99kS";
455
+ };
456
+ }, {
457
+ readonly changeset: {
458
+ readonly type: {
459
+ readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
460
+ };
461
+ readonly value: "${steps.Prepare.changeset}";
462
+ };
463
+ readonly name: "Apply";
464
+ readonly type: {
465
+ readonly blueId: "FtHZJzH4hqAoGxFBjsmy1svfT4BwEBB4aHpFSZycZLLa";
466
+ };
467
+ }];
468
+ };
469
+ readonly type: {
470
+ readonly blueId: "CGdxkNjPcsdescqLPz6SNLsMyak6demQQr7RoKNHbCyv";
471
+ };
472
+ };
365
473
  readonly '7JqBn4KcmZbHBBiQf3CAfpHBNaTKS1qhtkATsF7f6Sxg': {
366
474
  readonly bootstrapAssignee: {
367
475
  readonly description: "Channel name of a participant in the requesting document which is asked to bootstrap the requested document";
@@ -474,45 +582,58 @@ declare const _default: {
474
582
  readonly blueId: "5Wz4G9qcnBJnntYRkz4dgLK5bSuoMpYJZj4j5M59z4we";
475
583
  };
476
584
  };
477
- readonly '9h1AhEexkxxKLYv1NHbEESYCPtvW7Nt51msGtuQC5jWK': {
478
- readonly name: "Customer Consent Revoked";
479
- readonly reason: {
585
+ readonly '9fnXwi4Za8hjEj6zDSEjhbA5dLrDzs7sxoDMGLmRT2Gz': {
586
+ readonly description: "Discards a previously proposed change by removing its proposal state.";
587
+ readonly name: "Reject Change Workflow";
588
+ readonly postfix: {
589
+ readonly description: "Optional postfix used while building proposed change state key.";
480
590
  readonly type: {
481
591
  readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
482
592
  };
483
593
  };
484
- readonly revokedAt: {
485
- readonly type: {
486
- readonly blueId: "GQaGqFxHDz64L1c9QkCbz52ths6bMVtpHnw4QDngzQYs";
487
- };
594
+ readonly steps: {
595
+ readonly items: readonly [{
596
+ readonly code: {
597
+ readonly type: {
598
+ readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
599
+ };
600
+ readonly value: "const invalid = (reason) => ({\n changeset: [],\n events: [{ type: 'Conversation/Proposed Change Invalid', reason }]\n});\n\nconst postfixValue = currentContract?.postfix || '';\nconst path = '/proposedChange' + postfixValue;\n\nif (!document(path)) {\n return invalid('no proposed change at ' + path);\n}\n\nreturn {\n changeset: [{ op: 'remove', path }]\n};\n";
601
+ };
602
+ readonly name: "Prepare";
603
+ readonly type: {
604
+ readonly blueId: "ExZxT61PSpWHpEAtP2WKMXXqxEYN7Z13j7Zv36Dp99kS";
605
+ };
606
+ }, {
607
+ readonly changeset: {
608
+ readonly type: {
609
+ readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
610
+ };
611
+ readonly value: "${steps.Prepare.changeset}";
612
+ };
613
+ readonly name: "Apply";
614
+ readonly type: {
615
+ readonly blueId: "FtHZJzH4hqAoGxFBjsmy1svfT4BwEBB4aHpFSZycZLLa";
616
+ };
617
+ }];
488
618
  };
489
619
  readonly type: {
490
- readonly blueId: "5Wz4G9qcnBJnntYRkz4dgLK5bSuoMpYJZj4j5M59z4we";
620
+ readonly blueId: "CGdxkNjPcsdescqLPz6SNLsMyak6demQQr7RoKNHbCyv";
491
621
  };
492
622
  };
493
- readonly '9KDfK6k1HBAyHckj5VuWXFMLkgY5cJBESKT4eoq1bnrw': {
494
- readonly changeDescription: {
495
- readonly description: "Required human-readable summary used for review and audit.";
623
+ readonly '9h1AhEexkxxKLYv1NHbEESYCPtvW7Nt51msGtuQC5jWK': {
624
+ readonly name: "Customer Consent Revoked";
625
+ readonly reason: {
496
626
  readonly type: {
497
627
  readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
498
628
  };
499
629
  };
500
- readonly changeset: {
501
- readonly description: "RFC 6902 patch entries outside /contracts (blocked by policy when touching /contracts).";
502
- readonly itemType: {
503
- readonly blueId: "Bz49DbfqKC1yJeCfv5RYPZUKTfb7rtZnmreCaz4RsXn5";
504
- };
630
+ readonly revokedAt: {
505
631
  readonly type: {
506
- readonly blueId: "6aehfNAxHLC1PHHoDr3tYtFH3RWNbiWdFancJ1bypXEY";
632
+ readonly blueId: "GQaGqFxHDz64L1c9QkCbz52ths6bMVtpHnw4QDngzQYs";
507
633
  };
508
634
  };
509
- readonly description: "Payload for propose/make change operations (changeset + sectionChanges).";
510
- readonly name: "Change Request";
511
- readonly sectionChanges: {
512
- readonly description: "Section-based /contracts mutations (required when Contracts Change Policy is enabled).";
513
- readonly type: {
514
- readonly blueId: "DEmFwGa1sWm2BKhrN98LREKiB8j8B8kFAo7KBkkaojnN";
515
- };
635
+ readonly type: {
636
+ readonly blueId: "5Wz4G9qcnBJnntYRkz4dgLK5bSuoMpYJZj4j5M59z4we";
516
637
  };
517
638
  };
518
639
  readonly '9xv7YjqsSn7W7P8rnUhSpdWGfSrgL4Jt3cmiACJT5VQs': {
@@ -586,44 +707,6 @@ declare const _default: {
586
707
  readonly blueId: "8f9UhHMbRe62sFgzQVheToaJPYi7t7HPNVvpQTbqfL5n";
587
708
  };
588
709
  };
589
- readonly AKNj5zwzgAkXZo3psikJfoVxUcNfMBVgDrf4HDGWL1gm: {
590
- readonly description: "Applies a requested changeset immediately to the document.";
591
- readonly name: "Change Workflow";
592
- readonly request: {
593
- readonly description: "Expected request payload for this workflow.";
594
- readonly type: {
595
- readonly blueId: "9KDfK6k1HBAyHckj5VuWXFMLkgY5cJBESKT4eoq1bnrw";
596
- };
597
- };
598
- readonly steps: {
599
- readonly items: readonly [{
600
- readonly code: {
601
- readonly type: {
602
- readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
603
- };
604
- readonly value: "const issues = [];\n\nconst request = event.message.request || {};\n\nconst changeDescription = request.changeDescription;\nconst rawChangeset = request.changeset;\nconst rawSectionChanges = request.sectionChanges;\nconst requestSectionChanges = rawSectionChanges || {};\n\nconst toText = (value) => {\n const raw = value && value.value ? value.value : value;\n return raw && raw.trim ? raw.trim() : '';\n};\nconst asList = (value) => Array.isArray(value) ? value : [];\nconst hasType = (value) => value && value.type;\nconst escapePointer = (value) => {\n const text = toText(value);\n return text.split('~').join('~0').split('/').join('~1');\n};\nconst requestChangeset = asList(rawChangeset);\n\nconst uniqueKeys = (values, label) => {\n const seen = new Set();\n const output = [];\n for (const value of values) {\n const key = toText(value);\n if (!key) {\n issues.push(label + ' contains invalid key');\n continue;\n }\n if (seen.has(key)) {\n issues.push(label + ' contains duplicate key: ' + key);\n continue;\n }\n seen.add(key);\n output.push(key);\n }\n return output;\n};\n\nconst sameStringSet = (left, right) => {\n if (left.length !== right.length) return false;\n const set = new Set(left);\n if (set.size !== right.length) return false;\n for (const value of right) {\n if (!set.has(value)) return false;\n }\n return true;\n};\n\nconst contracts = Object(document('/contracts') || {});\n\nconst isDocumentSection = (contract) =>\n !!contract && Array.isArray(contract.relatedContracts);\n\nconst isContractsChangePolicy = (contract) => {\n if (!contract) return false;\n return 'requireSectionChanges' in contract;\n};\n\nconst findPolicy = () => {\n for (const key of Object.keys(contracts)) {\n const contract = contracts[key];\n if (isContractsChangePolicy(contract)) {\n return contract;\n }\n }\n return null;\n};\n\nconst policy = findPolicy();\nconst policyEnabled = !!policy && policy.requireSectionChanges !== false;\n\nif (!toText(changeDescription)) {\n issues.push('changeDescription is missing');\n}\n\nconst hasChangeset = !!rawChangeset;\nconst hasSectionChanges = !!rawSectionChanges;\n\nif (!hasChangeset && !hasSectionChanges) {\n issues.push('changeset or sectionChanges is required');\n}\n\nconst isContractsPath = (path) => {\n const value = toText(path);\n return value === '/contracts' || value.startsWith('/contracts/');\n};\nif (policyEnabled && hasChangeset) {\n for (const entry of requestChangeset) {\n if (entry && isContractsPath(entry.path)) {\n issues.push('changeset cannot modify /contracts when Contracts Change Policy is enabled');\n break;\n }\n }\n}\nconst isProposedChangePath = (path) =>\n toText(path).startsWith('/proposedChange');\nif (hasChangeset) {\n for (const entry of requestChangeset) {\n if (entry && isProposedChangePath(entry.path)) {\n issues.push('changeset cannot modify /proposedChange');\n break;\n }\n }\n}\n\nconst existingSections = {};\nfor (const key of Object.keys(contracts)) {\n const contract = contracts[key];\n if (isDocumentSection(contract)) {\n existingSections[key] = contract;\n }\n}\n\nconst contractIndex = {};\nfor (const sectionKey of Object.keys(existingSections)) {\n const section = existingSections[sectionKey];\n const related = asList(section.relatedContracts);\n for (const relatedKey of related) {\n const contractKey = toText(relatedKey);\n if (!contractKey) continue;\n if (contractIndex[contractKey] && contractIndex[contractKey] !== sectionKey) {\n contractIndex[contractKey] = null;\n } else if (!contractIndex[contractKey]) {\n contractIndex[contractKey] = sectionKey;\n }\n }\n}\n\nconst normalizeSectionDefinition = (sectionDef, label) => {\n if (!sectionDef) {\n issues.push(label + ' entry must be an object');\n return null;\n }\n const sectionKey = toText(sectionDef.sectionKey);\n if (!sectionKey) {\n issues.push(label + ' sectionKey is missing');\n return null;\n }\n const section = sectionDef.section;\n if (!section) {\n issues.push(label + ' section is missing');\n return null;\n }\n\n const rawContractsMap = sectionDef.contracts && sectionDef.contracts.value\n ? sectionDef.contracts.value\n : sectionDef.contracts || {};\n const contractDefs = [];\n const contractKeys = [];\n for (const [rawKey, contract] of Object.entries(rawContractsMap)) {\n if (\n rawKey === 'type' ||\n rawKey === 'keyType' ||\n rawKey === 'valueType' ||\n rawKey === 'description'\n ) {\n continue;\n }\n const key = toText(rawKey);\n if (!key) {\n issues.push(label + ' contract key is missing');\n continue;\n }\n if (!contract) {\n issues.push(label + ' contract ' + key + ' is missing or invalid');\n continue;\n }\n if (!hasType(contract)) {\n issues.push(label + ' contract ' + key + ' is missing type');\n }\n contractDefs.push({ key, contract });\n contractKeys.push(key);\n }\n\n if (!hasType(section)) {\n issues.push(label + ' section ' + sectionKey + ' is missing type');\n }\n\n const related = section.relatedContracts\n ? uniqueKeys(asList(section.relatedContracts), label + ' section ' + sectionKey + ' relatedContracts')\n : null;\n if (related && !sameStringSet(related, contractKeys)) {\n issues.push(label + ' section ' + sectionKey + ' relatedContracts must match contracts');\n }\n\n const normalizedRelated = related || contractKeys;\n const normalizedSection = Object.assign({}, section, {\n type: 'Conversation/Document Section',\n relatedContracts: normalizedRelated\n });\n\n return {\n sectionKey,\n section: normalizedSection,\n contractDefs,\n contractKeys\n };\n};\n\nconst sectionChangeset = [];\nconst seenSectionKeys = new Set();\nconst seenContractKeys = new Set();\n\nconst addList = asList(requestSectionChanges.add);\nconst modifyList = asList(requestSectionChanges.modify);\nconst removeList = asList(requestSectionChanges.remove);\n\nfor (const entry of addList) {\n const normalized = normalizeSectionDefinition(entry, 'sectionChanges.add');\n if (!normalized) continue;\n const sectionKey = normalized.sectionKey;\n if (seenSectionKeys.has(sectionKey)) {\n issues.push('section key duplicated in sectionChanges: ' + sectionKey);\n continue;\n }\n seenSectionKeys.add(sectionKey);\n\n if (contracts[sectionKey]) {\n issues.push('section key already exists at /contracts/' + sectionKey);\n }\n\n for (const contractKey of normalized.contractKeys) {\n if (seenContractKeys.has(contractKey)) {\n issues.push('contract key used by multiple sections in request: ' + contractKey);\n continue;\n }\n seenContractKeys.add(contractKey);\n if (contracts[contractKey]) {\n issues.push('contract key already exists at /contracts/' + contractKey);\n }\n }\n\n for (const contractDef of normalized.contractDefs) {\n sectionChangeset.push({\n op: 'add',\n path: '/contracts/' + escapePointer(contractDef.key),\n val: contractDef.contract\n });\n }\n sectionChangeset.push({\n op: 'add',\n path: '/contracts/' + escapePointer(sectionKey),\n val: normalized.section\n });\n}\n\nfor (const entry of modifyList) {\n const normalized = normalizeSectionDefinition(entry, 'sectionChanges.modify');\n if (!normalized) continue;\n const sectionKey = normalized.sectionKey;\n if (seenSectionKeys.has(sectionKey)) {\n issues.push('section key duplicated in sectionChanges: ' + sectionKey);\n continue;\n }\n seenSectionKeys.add(sectionKey);\n\n const existingSection = contracts[sectionKey];\n if (!existingSection) {\n issues.push('section key does not exist at /contracts/' + sectionKey);\n } else if (!isDocumentSection(existingSection)) {\n issues.push('existing section at /contracts/' + sectionKey + ' is not a Document Section');\n }\n\n const existingRelated =\n existingSection && existingSection.relatedContracts\n ? asList(existingSection.relatedContracts)\n : [];\n if (existingSection && !existingSection.relatedContracts) {\n issues.push('existing section ' + sectionKey + ' is missing relatedContracts');\n }\n\n for (const contractKey of normalized.contractKeys) {\n if (seenContractKeys.has(contractKey)) {\n issues.push('contract key used by multiple sections in request: ' + contractKey);\n continue;\n }\n seenContractKeys.add(contractKey);\n if (contractIndex[contractKey] && contractIndex[contractKey] !== sectionKey) {\n issues.push('contract key ' + contractKey + ' is linked to another section');\n }\n }\n\n for (const contractDef of normalized.contractDefs) {\n const op = contracts[contractDef.key] ? 'replace' : 'add';\n sectionChangeset.push({\n op,\n path: '/contracts/' + escapePointer(contractDef.key),\n val: contractDef.contract\n });\n }\n\n const toRemove = uniqueKeys(existingRelated, 'sectionChanges.modify remove list').filter(\n (key) => !normalized.contractKeys.includes(key)\n );\n for (const contractKey of toRemove) {\n if (contractIndex[contractKey] && contractIndex[contractKey] !== sectionKey) {\n issues.push('contract key ' + contractKey + ' is linked to another section');\n continue;\n }\n sectionChangeset.push({\n op: 'remove',\n path: '/contracts/' + escapePointer(contractKey)\n });\n }\n\n sectionChangeset.push({\n op: 'replace',\n path: '/contracts/' + escapePointer(sectionKey),\n val: normalized.section\n });\n}\n\nconst removeKeys = uniqueKeys(removeList, 'sectionChanges.remove');\nfor (const sectionKey of removeKeys) {\n if (seenSectionKeys.has(sectionKey)) {\n issues.push('section key duplicated in sectionChanges: ' + sectionKey);\n continue;\n }\n seenSectionKeys.add(sectionKey);\n\n const existingSection = contracts[sectionKey];\n if (!existingSection) {\n issues.push('section key does not exist at /contracts/' + sectionKey);\n continue;\n }\n if (!isDocumentSection(existingSection)) {\n issues.push('existing section at /contracts/' + sectionKey + ' is not a Document Section');\n continue;\n }\n\n const related = existingSection.relatedContracts\n ? uniqueKeys(asList(existingSection.relatedContracts), 'sectionChanges.remove relatedContracts')\n : [];\n if (!existingSection.relatedContracts) {\n issues.push('existing section ' + sectionKey + ' is missing relatedContracts');\n }\n\n for (const contractKey of related) {\n if (contractIndex[contractKey] && contractIndex[contractKey] !== sectionKey) {\n issues.push('contract key ' + contractKey + ' is linked to another section');\n continue;\n }\n sectionChangeset.push({\n op: 'remove',\n path: '/contracts/' + escapePointer(contractKey)\n });\n }\n sectionChangeset.push({\n op: 'remove',\n path: '/contracts/' + escapePointer(sectionKey)\n });\n}\nconst combinedChangeset = sectionChangeset.concat(hasChangeset ? requestChangeset : []);\n\nif (combinedChangeset.length === 0) {\n issues.push('no changes provided');\n}\n\nif (issues.length > 0) {\n return {\n changeset: [],\n events: [\n {\n type: \"Conversation/Proposed Change Invalid\",\n reason: issues.join('; ')\n }\n ]\n }\n}\n\nreturn {\n changeset: combinedChangeset\n};\n";
605
- };
606
- readonly name: "Prepare";
607
- readonly type: {
608
- readonly blueId: "ExZxT61PSpWHpEAtP2WKMXXqxEYN7Z13j7Zv36Dp99kS";
609
- };
610
- }, {
611
- readonly changeset: {
612
- readonly type: {
613
- readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
614
- };
615
- readonly value: "${steps.Prepare.changeset}";
616
- };
617
- readonly name: "Apply";
618
- readonly type: {
619
- readonly blueId: "FtHZJzH4hqAoGxFBjsmy1svfT4BwEBB4aHpFSZycZLLa";
620
- };
621
- }];
622
- };
623
- readonly type: {
624
- readonly blueId: "CGdxkNjPcsdescqLPz6SNLsMyak6demQQr7RoKNHbCyv";
625
- };
626
- };
627
710
  readonly AkUKoKY1hHY1CytCrAXDPKCd4md1QGmn1WNcQtWBsyAD: {
628
711
  readonly description: "Conversation event representing a single chat message exchanged between participants.\n";
629
712
  readonly message: {
@@ -657,6 +740,18 @@ declare const _default: {
657
740
  readonly blueId: "36epvrpVHZLjapbeZsNodz2NDnm7XZeNZcnkWHgkP1pp";
658
741
  };
659
742
  };
743
+ readonly BeiedmmcKDhStxDnnQqUaXDJLofWSnqX6CazKTvVpfbW: {
744
+ readonly description: "Operation to propose a document change for later acceptance or rejection.";
745
+ readonly name: "Propose Change Operation";
746
+ readonly request: {
747
+ readonly type: {
748
+ readonly blueId: "FW7iYkzig4fepCdwfCdgNJw4DQ1fKwnAUf3YpjgfTPmG";
749
+ };
750
+ };
751
+ readonly type: {
752
+ readonly blueId: "BoAiqVUZv9Fum3wFqaX2JnQMBHJLxJSo2V9U2UBmCfsC";
753
+ };
754
+ };
660
755
  readonly BoAiqVUZv9Fum3wFqaX2JnQMBHJLxJSo2V9U2UBmCfsC: {
661
756
  readonly channel: {
662
757
  readonly description: "Contracts-map key of the Channel in this scope on which Operation Request events are sent to invoke this operation.\n";
@@ -673,18 +768,6 @@ declare const _default: {
673
768
  readonly blueId: "7QACj919YMRvFCTELCf6jfQTp41RVhtHdE6bPazLUZQ6";
674
769
  };
675
770
  };
676
- readonly BoyJNkH7CAzjuuzbZFpxB7HguZVtLCxpBLnuYY5k1eqB: {
677
- readonly description: "Operation that applies a changeset immediately without proposal/accept.";
678
- readonly name: "Change Operation";
679
- readonly request: {
680
- readonly type: {
681
- readonly blueId: "9KDfK6k1HBAyHckj5VuWXFMLkgY5cJBESKT4eoq1bnrw";
682
- };
683
- };
684
- readonly type: {
685
- readonly blueId: "BoAiqVUZv9Fum3wFqaX2JnQMBHJLxJSo2V9U2UBmCfsC";
686
- };
687
- };
688
771
  readonly C48nKSkbxraMSv4gCiGYVHKFjmtK12k63Yasn95zknWE: {
689
772
  readonly description: "An event indicating that the document's status has transitioned.";
690
773
  readonly name: "Status Change";
@@ -759,50 +842,6 @@ declare const _default: {
759
842
  readonly blueId: "5Wz4G9qcnBJnntYRkz4dgLK5bSuoMpYJZj4j5M59z4we";
760
843
  };
761
844
  };
762
- readonly Ecj8Y7rb7kMCkNFfvyZ36CNB2JjCWrqy7BiHcvcNELEL: {
763
- readonly description: "Stores a proposed change under /proposedChange{postfix}.";
764
- readonly name: "Propose Change Workflow";
765
- readonly postfix: {
766
- readonly description: "Optional postfix used while building proposed change state key.";
767
- readonly type: {
768
- readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
769
- };
770
- };
771
- readonly request: {
772
- readonly description: "Expected request payload for this workflow.";
773
- readonly type: {
774
- readonly blueId: "9KDfK6k1HBAyHckj5VuWXFMLkgY5cJBESKT4eoq1bnrw";
775
- };
776
- };
777
- readonly steps: {
778
- readonly items: readonly [{
779
- readonly code: {
780
- readonly type: {
781
- readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
782
- };
783
- readonly value: "const issues = [];\n\nconst request = event.message.request || {};\n\nconst changeDescription = request.changeDescription;\nconst rawChangeset = request.changeset;\nconst rawSectionChanges = request.sectionChanges;\nconst requestSectionChanges = rawSectionChanges || {};\n\nconst toText = (value) => {\n const raw = value && value.value ? value.value : value;\n return raw && raw.trim ? raw.trim() : '';\n};\nconst asList = (value) => Array.isArray(value) ? value : [];\nconst hasType = (value) => value && value.type;\nconst escapePointer = (value) => {\n const text = toText(value);\n return text.split('~').join('~0').split('/').join('~1');\n};\nconst requestChangeset = asList(rawChangeset);\n\nconst uniqueKeys = (values, label) => {\n const seen = new Set();\n const output = [];\n for (const value of values) {\n const key = toText(value);\n if (!key) {\n issues.push(label + ' contains invalid key');\n continue;\n }\n if (seen.has(key)) {\n issues.push(label + ' contains duplicate key: ' + key);\n continue;\n }\n seen.add(key);\n output.push(key);\n }\n return output;\n};\n\nconst sameStringSet = (left, right) => {\n if (left.length !== right.length) return false;\n const set = new Set(left);\n if (set.size !== right.length) return false;\n for (const value of right) {\n if (!set.has(value)) return false;\n }\n return true;\n};\n\nconst contracts = Object(document('/contracts') || {});\n\nconst isDocumentSection = (contract) =>\n !!contract && Array.isArray(contract.relatedContracts);\n\nconst isContractsChangePolicy = (contract) => {\n if (!contract) return false;\n return 'requireSectionChanges' in contract;\n};\n\nconst findPolicy = () => {\n for (const key of Object.keys(contracts)) {\n const contract = contracts[key];\n if (isContractsChangePolicy(contract)) {\n return contract;\n }\n }\n return null;\n};\n\nconst policy = findPolicy();\nconst policyEnabled = !!policy && policy.requireSectionChanges !== false;\n\nif (!toText(changeDescription)) {\n issues.push('changeDescription is missing');\n}\n\nconst hasChangeset = !!rawChangeset;\nconst hasSectionChanges = !!rawSectionChanges;\n\nif (!hasChangeset && !hasSectionChanges) {\n issues.push('changeset or sectionChanges is required');\n}\n\nconst isContractsPath = (path) => {\n const value = toText(path);\n return value === '/contracts' || value.startsWith('/contracts/');\n};\nif (policyEnabled && hasChangeset) {\n for (const entry of requestChangeset) {\n if (entry && isContractsPath(entry.path)) {\n issues.push('changeset cannot modify /contracts when Contracts Change Policy is enabled');\n break;\n }\n }\n}\nconst isProposedChangePath = (path) =>\n toText(path).startsWith('/proposedChange');\nif (hasChangeset) {\n for (const entry of requestChangeset) {\n if (entry && isProposedChangePath(entry.path)) {\n issues.push('changeset cannot modify /proposedChange');\n break;\n }\n }\n}\n\nconst existingSections = {};\nfor (const key of Object.keys(contracts)) {\n const contract = contracts[key];\n if (isDocumentSection(contract)) {\n existingSections[key] = contract;\n }\n}\n\nconst contractIndex = {};\nfor (const sectionKey of Object.keys(existingSections)) {\n const section = existingSections[sectionKey];\n const related = asList(section.relatedContracts);\n for (const relatedKey of related) {\n const contractKey = toText(relatedKey);\n if (!contractKey) continue;\n if (contractIndex[contractKey] && contractIndex[contractKey] !== sectionKey) {\n contractIndex[contractKey] = null;\n } else if (!contractIndex[contractKey]) {\n contractIndex[contractKey] = sectionKey;\n }\n }\n}\n\nconst normalizeSectionDefinition = (sectionDef, label) => {\n if (!sectionDef) {\n issues.push(label + ' entry must be an object');\n return null;\n }\n const sectionKey = toText(sectionDef.sectionKey);\n if (!sectionKey) {\n issues.push(label + ' sectionKey is missing');\n return null;\n }\n const section = sectionDef.section;\n if (!section) {\n issues.push(label + ' section is missing');\n return null;\n }\n\n const rawContractsMap = sectionDef.contracts && sectionDef.contracts.value\n ? sectionDef.contracts.value\n : sectionDef.contracts || {};\n const contractDefs = [];\n const contractKeys = [];\n for (const [rawKey, contract] of Object.entries(rawContractsMap)) {\n if (\n rawKey === 'type' ||\n rawKey === 'keyType' ||\n rawKey === 'valueType' ||\n rawKey === 'description'\n ) {\n continue;\n }\n const key = toText(rawKey);\n if (!key) {\n issues.push(label + ' contract key is missing');\n continue;\n }\n if (!contract) {\n issues.push(label + ' contract ' + key + ' is missing or invalid');\n continue;\n }\n if (!hasType(contract)) {\n issues.push(label + ' contract ' + key + ' is missing type');\n }\n contractDefs.push({ key, contract });\n contractKeys.push(key);\n }\n\n if (!hasType(section)) {\n issues.push(label + ' section ' + sectionKey + ' is missing type');\n }\n\n const related = section.relatedContracts\n ? uniqueKeys(asList(section.relatedContracts), label + ' section ' + sectionKey + ' relatedContracts')\n : null;\n if (related && !sameStringSet(related, contractKeys)) {\n issues.push(label + ' section ' + sectionKey + ' relatedContracts must match contracts');\n }\n\n const normalizedRelated = related || contractKeys;\n const normalizedSection = Object.assign({}, section, {\n type: 'Conversation/Document Section',\n relatedContracts: normalizedRelated\n });\n\n return {\n sectionKey,\n section: normalizedSection,\n contractDefs,\n contractKeys\n };\n};\n\nconst sectionChangeset = [];\nconst seenSectionKeys = new Set();\nconst seenContractKeys = new Set();\n\nconst addList = asList(requestSectionChanges.add);\nconst modifyList = asList(requestSectionChanges.modify);\nconst removeList = asList(requestSectionChanges.remove);\n\nfor (const entry of addList) {\n const normalized = normalizeSectionDefinition(entry, 'sectionChanges.add');\n if (!normalized) continue;\n const sectionKey = normalized.sectionKey;\n if (seenSectionKeys.has(sectionKey)) {\n issues.push('section key duplicated in sectionChanges: ' + sectionKey);\n continue;\n }\n seenSectionKeys.add(sectionKey);\n\n if (contracts[sectionKey]) {\n issues.push('section key already exists at /contracts/' + sectionKey);\n }\n\n for (const contractKey of normalized.contractKeys) {\n if (seenContractKeys.has(contractKey)) {\n issues.push('contract key used by multiple sections in request: ' + contractKey);\n continue;\n }\n seenContractKeys.add(contractKey);\n if (contracts[contractKey]) {\n issues.push('contract key already exists at /contracts/' + contractKey);\n }\n }\n\n for (const contractDef of normalized.contractDefs) {\n sectionChangeset.push({\n op: 'add',\n path: '/contracts/' + escapePointer(contractDef.key),\n val: contractDef.contract\n });\n }\n sectionChangeset.push({\n op: 'add',\n path: '/contracts/' + escapePointer(sectionKey),\n val: normalized.section\n });\n}\n\nfor (const entry of modifyList) {\n const normalized = normalizeSectionDefinition(entry, 'sectionChanges.modify');\n if (!normalized) continue;\n const sectionKey = normalized.sectionKey;\n if (seenSectionKeys.has(sectionKey)) {\n issues.push('section key duplicated in sectionChanges: ' + sectionKey);\n continue;\n }\n seenSectionKeys.add(sectionKey);\n\n const existingSection = contracts[sectionKey];\n if (!existingSection) {\n issues.push('section key does not exist at /contracts/' + sectionKey);\n } else if (!isDocumentSection(existingSection)) {\n issues.push('existing section at /contracts/' + sectionKey + ' is not a Document Section');\n }\n\n const existingRelated =\n existingSection && existingSection.relatedContracts\n ? asList(existingSection.relatedContracts)\n : [];\n if (existingSection && !existingSection.relatedContracts) {\n issues.push('existing section ' + sectionKey + ' is missing relatedContracts');\n }\n\n for (const contractKey of normalized.contractKeys) {\n if (seenContractKeys.has(contractKey)) {\n issues.push('contract key used by multiple sections in request: ' + contractKey);\n continue;\n }\n seenContractKeys.add(contractKey);\n if (contractIndex[contractKey] && contractIndex[contractKey] !== sectionKey) {\n issues.push('contract key ' + contractKey + ' is linked to another section');\n }\n }\n\n for (const contractDef of normalized.contractDefs) {\n const op = contracts[contractDef.key] ? 'replace' : 'add';\n sectionChangeset.push({\n op,\n path: '/contracts/' + escapePointer(contractDef.key),\n val: contractDef.contract\n });\n }\n\n const toRemove = uniqueKeys(existingRelated, 'sectionChanges.modify remove list').filter(\n (key) => !normalized.contractKeys.includes(key)\n );\n for (const contractKey of toRemove) {\n if (contractIndex[contractKey] && contractIndex[contractKey] !== sectionKey) {\n issues.push('contract key ' + contractKey + ' is linked to another section');\n continue;\n }\n sectionChangeset.push({\n op: 'remove',\n path: '/contracts/' + escapePointer(contractKey)\n });\n }\n\n sectionChangeset.push({\n op: 'replace',\n path: '/contracts/' + escapePointer(sectionKey),\n val: normalized.section\n });\n}\n\nconst removeKeys = uniqueKeys(removeList, 'sectionChanges.remove');\nfor (const sectionKey of removeKeys) {\n if (seenSectionKeys.has(sectionKey)) {\n issues.push('section key duplicated in sectionChanges: ' + sectionKey);\n continue;\n }\n seenSectionKeys.add(sectionKey);\n\n const existingSection = contracts[sectionKey];\n if (!existingSection) {\n issues.push('section key does not exist at /contracts/' + sectionKey);\n continue;\n }\n if (!isDocumentSection(existingSection)) {\n issues.push('existing section at /contracts/' + sectionKey + ' is not a Document Section');\n continue;\n }\n\n const related = existingSection.relatedContracts\n ? uniqueKeys(asList(existingSection.relatedContracts), 'sectionChanges.remove relatedContracts')\n : [];\n if (!existingSection.relatedContracts) {\n issues.push('existing section ' + sectionKey + ' is missing relatedContracts');\n }\n\n for (const contractKey of related) {\n if (contractIndex[contractKey] && contractIndex[contractKey] !== sectionKey) {\n issues.push('contract key ' + contractKey + ' is linked to another section');\n continue;\n }\n sectionChangeset.push({\n op: 'remove',\n path: '/contracts/' + escapePointer(contractKey)\n });\n }\n sectionChangeset.push({\n op: 'remove',\n path: '/contracts/' + escapePointer(sectionKey)\n });\n}\nconst combinedChangeset = sectionChangeset.concat(hasChangeset ? requestChangeset : []);\n\nif (combinedChangeset.length === 0) {\n issues.push('no changes provided');\n}\n\nif (issues.length > 0) {\n return {\n changeset: [],\n events: [\n {\n type: \"Conversation/Proposed Change Invalid\",\n reason: issues.join('; ')\n }\n ]\n }\n}\n\nconst postfixValue = currentContract.postfix || '';\nconst path = '/proposedChange' + postfixValue;\n\nif (document(path)) {\n return {\n changeset: [],\n events: [\n {\n type: \"Conversation/Proposed Change Invalid\",\n reason: \"Can not propose change when it already exists at \" + path\n }\n ]\n }\n}\n\nconst proposedPayload = {\n changeDescription\n};\n\nproposedPayload.preparedChangeset = combinedChangeset;\n\nif (hasChangeset) {\n proposedPayload.changeset = requestChangeset;\n}\n\nconst hasSectionChangesData = addList.length || modifyList.length || removeList.length;\nif (hasSectionChangesData) {\n proposedPayload.sectionChanges = rawSectionChanges;\n}\n\nreturn {\n changeset: [{\n op: 'add',\n path,\n val: proposedPayload\n }]\n};\n";
784
- };
785
- readonly name: "Prepare";
786
- readonly type: {
787
- readonly blueId: "ExZxT61PSpWHpEAtP2WKMXXqxEYN7Z13j7Zv36Dp99kS";
788
- };
789
- }, {
790
- readonly changeset: {
791
- readonly type: {
792
- readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
793
- };
794
- readonly value: "${steps.Prepare.changeset}";
795
- };
796
- readonly name: "Apply";
797
- readonly type: {
798
- readonly blueId: "FtHZJzH4hqAoGxFBjsmy1svfT4BwEBB4aHpFSZycZLLa";
799
- };
800
- }];
801
- };
802
- readonly type: {
803
- readonly blueId: "CGdxkNjPcsdescqLPz6SNLsMyak6demQQr7RoKNHbCyv";
804
- };
805
- };
806
845
  readonly EhPFqrRCreg7StsZEcW8fRQ1FQVdqYSsMSis2CHHJZ1G: {
807
846
  readonly description: "A successful final state. The document has achieved its goal and its\nprocess has finished as expected.\n";
808
847
  readonly mode: {
@@ -898,81 +937,30 @@ declare const _default: {
898
937
  readonly blueId: "HYsLiqsqk7t98d5fK6YxKEQGeqBaHNVjM4rRNdxK4yUW";
899
938
  };
900
939
  };
901
- readonly G6GMCB3AQvH2xR12RiDvaCiEbCjgz4uhjKssDMRXbCTG: {
902
- readonly description: "Applies a previously proposed change and removes its proposal state.";
903
- readonly name: "Accept Change Workflow";
904
- readonly postfix: {
905
- readonly description: "Optional postfix used while building proposed change state key.";
940
+ readonly FW7iYkzig4fepCdwfCdgNJw4DQ1fKwnAUf3YpjgfTPmG: {
941
+ readonly changeset: {
942
+ readonly description: "RFC 6902 patch entries outside /contracts (blocked by policy if it touches /contracts).";
943
+ readonly itemType: {
944
+ readonly blueId: "Bz49DbfqKC1yJeCfv5RYPZUKTfb7rtZnmreCaz4RsXn5";
945
+ };
906
946
  readonly type: {
907
- readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
947
+ readonly blueId: "6aehfNAxHLC1PHHoDr3tYtFH3RWNbiWdFancJ1bypXEY";
908
948
  };
909
949
  };
910
- readonly steps: {
911
- readonly items: readonly [{
912
- readonly code: {
913
- readonly type: {
914
- readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
915
- };
916
- readonly value: "const postfix = currentContract.postfix || '';\nconst path = '/proposedChange' + postfix;\n\nconst proposedChange = document(path);\nif (!proposedChange) {\n return {\n changeset: [],\n events: [\n {\n type: \"Conversation/Proposed Change Invalid\",\n reason: \"Proposed change does not exist at \" + path\n }\n ]\n };\n}\n\nconst preparedChangeset = proposedChange.preparedChangeset;\nif (!preparedChangeset || preparedChangeset.length === 0) {\n return {\n changeset: [],\n events: [\n {\n type: \"Conversation/Proposed Change Invalid\",\n reason: \"Proposed change is missing prepared changeset at \" + path\n }\n ]\n };\n}\n\nreturn {\n changeset: preparedChangeset.concat({ op: 'remove', path })\n};\n";
917
- };
918
- readonly name: "Prepare";
919
- readonly type: {
920
- readonly blueId: "ExZxT61PSpWHpEAtP2WKMXXqxEYN7Z13j7Zv36Dp99kS";
921
- };
922
- }, {
923
- readonly changeset: {
924
- readonly type: {
925
- readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
926
- };
927
- readonly value: "${steps.Prepare.changeset}";
928
- };
929
- readonly name: "Apply";
930
- readonly type: {
931
- readonly blueId: "FtHZJzH4hqAoGxFBjsmy1svfT4BwEBB4aHpFSZycZLLa";
932
- };
933
- }];
934
- };
935
- readonly type: {
936
- readonly blueId: "CGdxkNjPcsdescqLPz6SNLsMyak6demQQr7RoKNHbCyv";
950
+ readonly description: "Payload for propose and direct change operations.";
951
+ readonly name: "Change Request";
952
+ readonly sectionChanges: {
953
+ readonly description: "Section-based /contracts mutations (required when Contracts Change Policy is enabled).";
954
+ readonly type: {
955
+ readonly blueId: "DEmFwGa1sWm2BKhrN98LREKiB8j8B8kFAo7KBkkaojnN";
956
+ };
937
957
  };
938
- };
939
- readonly GfqZJJtSJfd69v3pJ67XURdzhC4byWJZAstCh6i4X6MZ: {
940
- readonly description: "Discards a previously proposed change by removing its proposal state.";
941
- readonly name: "Reject Change Workflow";
942
- readonly postfix: {
943
- readonly description: "Optional postfix used while building proposed change state key.";
958
+ readonly summary: {
959
+ readonly description: "Human-readable summary of the requested change. Required when proposal is created.";
944
960
  readonly type: {
945
961
  readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
946
962
  };
947
963
  };
948
- readonly steps: {
949
- readonly items: readonly [{
950
- readonly code: {
951
- readonly type: {
952
- readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
953
- };
954
- readonly value: "const postfix = currentContract.postfix || ''\nconst path = '/proposedChange' + postfix\n\nconst proposedChange = document(path)\nif (proposedChange) {\n return {\n changeset: [{ op: 'remove', path }]\n }\n}\n\nreturn {\n changeset: [],\n events: [\n {\n type: \"Conversation/Proposed Change Invalid\",\n reason: \"Proposed change does not exist at \" + path\n }\n ]\n};\n";
955
- };
956
- readonly name: "Prepare";
957
- readonly type: {
958
- readonly blueId: "ExZxT61PSpWHpEAtP2WKMXXqxEYN7Z13j7Zv36Dp99kS";
959
- };
960
- }, {
961
- readonly changeset: {
962
- readonly type: {
963
- readonly blueId: "DLRQwz7MQeCrzjy9bohPNwtCxKEBbKaMK65KBrwjfG6K";
964
- };
965
- readonly value: "${steps.Prepare.changeset}";
966
- };
967
- readonly name: "Apply";
968
- readonly type: {
969
- readonly blueId: "FtHZJzH4hqAoGxFBjsmy1svfT4BwEBB4aHpFSZycZLLa";
970
- };
971
- }];
972
- };
973
- readonly type: {
974
- readonly blueId: "CGdxkNjPcsdescqLPz6SNLsMyak6demQQr7RoKNHbCyv";
975
- };
976
964
  };
977
965
  readonly Guus3kHbivXvy5G93yhiKs3Pc8sxCc4XVvSo7CqLsQEc: {
978
966
  readonly description: "A final state indicating that the document encountered an unrecoverable\nerror and could not complete its process.\n";
@@ -987,6 +975,18 @@ declare const _default: {
987
975
  readonly blueId: "58B8orsFkxxy7bWqjLXJmtBs2b5rwnNQNbeoAbGhPkJc";
988
976
  };
989
977
  };
978
+ readonly Hd5uuFjqxyw5mrFPgJf2mcatij8ddtmGAMJu9ij5K1tc: {
979
+ readonly description: "Operation that applies a changeset immediately without proposal/accept.";
980
+ readonly name: "Change Operation";
981
+ readonly request: {
982
+ readonly type: {
983
+ readonly blueId: "FW7iYkzig4fepCdwfCdgNJw4DQ1fKwnAUf3YpjgfTPmG";
984
+ };
985
+ };
986
+ readonly type: {
987
+ readonly blueId: "BoAiqVUZv9Fum3wFqaX2JnQMBHJLxJSo2V9U2UBmCfsC";
988
+ };
989
+ };
990
990
  readonly HH5u8PwvdXrARNkT4oyWR4QjgkwhKfPWGnNtEwfUBiUg: {
991
991
  readonly description: "Response event confirming completion of the document bootstrap.";
992
992
  readonly documentId: {
@@ -1109,7 +1109,7 @@ declare const _default: {
1109
1109
  channel?: string | undefined;
1110
1110
  request?: import("@blue-labs/language").BlueNode | undefined;
1111
1111
  }>;
1112
- readonly G6GMCB3AQvH2xR12RiDvaCiEbCjgz4uhjKssDMRXbCTG: import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{
1112
+ readonly '29xcoYKf9p47xagTDwGLuQyFrT9WBN3Sd7FaPtqLvydy': import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{
1113
1113
  description: import("zod").ZodOptional<import("zod").ZodString>;
1114
1114
  name: import("zod").ZodOptional<import("zod").ZodString>;
1115
1115
  order: import("zod").ZodOptional<import("zod").ZodNumber>;
@@ -1169,7 +1169,7 @@ declare const _default: {
1169
1169
  description?: string | undefined;
1170
1170
  name?: string | undefined;
1171
1171
  }>;
1172
- readonly BoyJNkH7CAzjuuzbZFpxB7HguZVtLCxpBLnuYY5k1eqB: import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{
1172
+ readonly Hd5uuFjqxyw5mrFPgJf2mcatij8ddtmGAMJu9ij5K1tc: import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{
1173
1173
  description: import("zod").ZodOptional<import("zod").ZodString>;
1174
1174
  name: import("zod").ZodOptional<import("zod").ZodString>;
1175
1175
  order: import("zod").ZodOptional<import("zod").ZodNumber>;
@@ -1185,7 +1185,6 @@ declare const _default: {
1185
1185
  description: import("zod").ZodOptional<import("zod").ZodString>;
1186
1186
  name: import("zod").ZodOptional<import("zod").ZodString>;
1187
1187
  request: import("zod").ZodOptional<import("zod").ZodObject<{
1188
- changeDescription: import("zod").ZodOptional<import("zod").ZodString>;
1189
1188
  changeset: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
1190
1189
  description: import("zod").ZodOptional<import("zod").ZodString>;
1191
1190
  name: import("zod").ZodOptional<import("zod").ZodString>;
@@ -1466,10 +1465,11 @@ declare const _default: {
1466
1465
  }[] | undefined;
1467
1466
  remove?: string[] | undefined;
1468
1467
  }>>;
1468
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
1469
1469
  }, "strip", import("zod").ZodTypeAny, {
1470
1470
  description?: string | undefined;
1471
1471
  name?: string | undefined;
1472
- changeDescription?: string | undefined;
1472
+ summary?: string | undefined;
1473
1473
  changeset?: {
1474
1474
  path?: string | undefined;
1475
1475
  description?: string | undefined;
@@ -1523,7 +1523,7 @@ declare const _default: {
1523
1523
  }, {
1524
1524
  description?: string | undefined;
1525
1525
  name?: string | undefined;
1526
- changeDescription?: string | undefined;
1526
+ summary?: string | undefined;
1527
1527
  changeset?: {
1528
1528
  path?: string | undefined;
1529
1529
  description?: string | undefined;
@@ -1583,7 +1583,7 @@ declare const _default: {
1583
1583
  request?: {
1584
1584
  description?: string | undefined;
1585
1585
  name?: string | undefined;
1586
- changeDescription?: string | undefined;
1586
+ summary?: string | undefined;
1587
1587
  changeset?: {
1588
1588
  path?: string | undefined;
1589
1589
  description?: string | undefined;
@@ -1643,7 +1643,7 @@ declare const _default: {
1643
1643
  request?: {
1644
1644
  description?: string | undefined;
1645
1645
  name?: string | undefined;
1646
- changeDescription?: string | undefined;
1646
+ summary?: string | undefined;
1647
1647
  changeset?: {
1648
1648
  path?: string | undefined;
1649
1649
  description?: string | undefined;
@@ -1696,8 +1696,7 @@ declare const _default: {
1696
1696
  } | undefined;
1697
1697
  } | undefined;
1698
1698
  }>;
1699
- readonly '9KDfK6k1HBAyHckj5VuWXFMLkgY5cJBESKT4eoq1bnrw': import("zod").ZodObject<{
1700
- changeDescription: import("zod").ZodOptional<import("zod").ZodString>;
1699
+ readonly FW7iYkzig4fepCdwfCdgNJw4DQ1fKwnAUf3YpjgfTPmG: import("zod").ZodObject<{
1701
1700
  changeset: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
1702
1701
  description: import("zod").ZodOptional<import("zod").ZodString>;
1703
1702
  name: import("zod").ZodOptional<import("zod").ZodString>;
@@ -1978,10 +1977,11 @@ declare const _default: {
1978
1977
  }[] | undefined;
1979
1978
  remove?: string[] | undefined;
1980
1979
  }>>;
1980
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
1981
1981
  }, "strip", import("zod").ZodTypeAny, {
1982
1982
  description?: string | undefined;
1983
1983
  name?: string | undefined;
1984
- changeDescription?: string | undefined;
1984
+ summary?: string | undefined;
1985
1985
  changeset?: {
1986
1986
  path?: string | undefined;
1987
1987
  description?: string | undefined;
@@ -2035,7 +2035,7 @@ declare const _default: {
2035
2035
  }, {
2036
2036
  description?: string | undefined;
2037
2037
  name?: string | undefined;
2038
- changeDescription?: string | undefined;
2038
+ summary?: string | undefined;
2039
2039
  changeset?: {
2040
2040
  path?: string | undefined;
2041
2041
  description?: string | undefined;
@@ -2087,7 +2087,7 @@ declare const _default: {
2087
2087
  remove?: string[] | undefined;
2088
2088
  } | undefined;
2089
2089
  }>;
2090
- readonly AKNj5zwzgAkXZo3psikJfoVxUcNfMBVgDrf4HDGWL1gm: import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{
2090
+ readonly '4pFvBSYyitoq8rWqTmY5rLywU2tpZsivDUCAo5vwoAT9': import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{
2091
2091
  description: import("zod").ZodOptional<import("zod").ZodString>;
2092
2092
  name: import("zod").ZodOptional<import("zod").ZodString>;
2093
2093
  order: import("zod").ZodOptional<import("zod").ZodNumber>;
@@ -2117,7 +2117,6 @@ declare const _default: {
2117
2117
  description: import("zod").ZodOptional<import("zod").ZodString>;
2118
2118
  name: import("zod").ZodOptional<import("zod").ZodString>;
2119
2119
  request: import("zod").ZodOptional<import("zod").ZodObject<{
2120
- changeDescription: import("zod").ZodOptional<import("zod").ZodString>;
2121
2120
  changeset: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
2122
2121
  description: import("zod").ZodOptional<import("zod").ZodString>;
2123
2122
  name: import("zod").ZodOptional<import("zod").ZodString>;
@@ -2398,10 +2397,11 @@ declare const _default: {
2398
2397
  }[] | undefined;
2399
2398
  remove?: string[] | undefined;
2400
2399
  }>>;
2400
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
2401
2401
  }, "strip", import("zod").ZodTypeAny, {
2402
2402
  description?: string | undefined;
2403
2403
  name?: string | undefined;
2404
- changeDescription?: string | undefined;
2404
+ summary?: string | undefined;
2405
2405
  changeset?: {
2406
2406
  path?: string | undefined;
2407
2407
  description?: string | undefined;
@@ -2455,7 +2455,7 @@ declare const _default: {
2455
2455
  }, {
2456
2456
  description?: string | undefined;
2457
2457
  name?: string | undefined;
2458
- changeDescription?: string | undefined;
2458
+ summary?: string | undefined;
2459
2459
  changeset?: {
2460
2460
  path?: string | undefined;
2461
2461
  description?: string | undefined;
@@ -2516,7 +2516,7 @@ declare const _default: {
2516
2516
  request?: {
2517
2517
  description?: string | undefined;
2518
2518
  name?: string | undefined;
2519
- changeDescription?: string | undefined;
2519
+ summary?: string | undefined;
2520
2520
  changeset?: {
2521
2521
  path?: string | undefined;
2522
2522
  description?: string | undefined;
@@ -2579,7 +2579,7 @@ declare const _default: {
2579
2579
  request?: {
2580
2580
  description?: string | undefined;
2581
2581
  name?: string | undefined;
2582
- changeDescription?: string | undefined;
2582
+ summary?: string | undefined;
2583
2583
  changeset?: {
2584
2584
  path?: string | undefined;
2585
2585
  description?: string | undefined;
@@ -3956,7 +3956,7 @@ declare const _default: {
3956
3956
  document?: import("@blue-labs/language").BlueNode | undefined;
3957
3957
  allowNewerVersion?: boolean | undefined;
3958
3958
  }>;
3959
- readonly '2mJhqggRy7YTHK5bSeAitqhhjynpe8mApvQXXpcwPCxx': import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{
3959
+ readonly BeiedmmcKDhStxDnnQqUaXDJLofWSnqX6CazKTvVpfbW: import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{
3960
3960
  description: import("zod").ZodOptional<import("zod").ZodString>;
3961
3961
  name: import("zod").ZodOptional<import("zod").ZodString>;
3962
3962
  order: import("zod").ZodOptional<import("zod").ZodNumber>;
@@ -3972,7 +3972,6 @@ declare const _default: {
3972
3972
  description: import("zod").ZodOptional<import("zod").ZodString>;
3973
3973
  name: import("zod").ZodOptional<import("zod").ZodString>;
3974
3974
  request: import("zod").ZodOptional<import("zod").ZodObject<{
3975
- changeDescription: import("zod").ZodOptional<import("zod").ZodString>;
3976
3975
  changeset: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
3977
3976
  description: import("zod").ZodOptional<import("zod").ZodString>;
3978
3977
  name: import("zod").ZodOptional<import("zod").ZodString>;
@@ -4253,10 +4252,11 @@ declare const _default: {
4253
4252
  }[] | undefined;
4254
4253
  remove?: string[] | undefined;
4255
4254
  }>>;
4255
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
4256
4256
  }, "strip", import("zod").ZodTypeAny, {
4257
4257
  description?: string | undefined;
4258
4258
  name?: string | undefined;
4259
- changeDescription?: string | undefined;
4259
+ summary?: string | undefined;
4260
4260
  changeset?: {
4261
4261
  path?: string | undefined;
4262
4262
  description?: string | undefined;
@@ -4310,7 +4310,7 @@ declare const _default: {
4310
4310
  }, {
4311
4311
  description?: string | undefined;
4312
4312
  name?: string | undefined;
4313
- changeDescription?: string | undefined;
4313
+ summary?: string | undefined;
4314
4314
  changeset?: {
4315
4315
  path?: string | undefined;
4316
4316
  description?: string | undefined;
@@ -4370,7 +4370,7 @@ declare const _default: {
4370
4370
  request?: {
4371
4371
  description?: string | undefined;
4372
4372
  name?: string | undefined;
4373
- changeDescription?: string | undefined;
4373
+ summary?: string | undefined;
4374
4374
  changeset?: {
4375
4375
  path?: string | undefined;
4376
4376
  description?: string | undefined;
@@ -4430,7 +4430,7 @@ declare const _default: {
4430
4430
  request?: {
4431
4431
  description?: string | undefined;
4432
4432
  name?: string | undefined;
4433
- changeDescription?: string | undefined;
4433
+ summary?: string | undefined;
4434
4434
  changeset?: {
4435
4435
  path?: string | undefined;
4436
4436
  description?: string | undefined;
@@ -4483,7 +4483,7 @@ declare const _default: {
4483
4483
  } | undefined;
4484
4484
  } | undefined;
4485
4485
  }>;
4486
- readonly Ecj8Y7rb7kMCkNFfvyZ36CNB2JjCWrqy7BiHcvcNELEL: import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{
4486
+ readonly '7dUt8jiX5vGeZL7wVzWFA8uEw37T6oPgC8KyDZmqxeSj': import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{
4487
4487
  description: import("zod").ZodOptional<import("zod").ZodString>;
4488
4488
  name: import("zod").ZodOptional<import("zod").ZodString>;
4489
4489
  order: import("zod").ZodOptional<import("zod").ZodNumber>;
@@ -4514,7 +4514,6 @@ declare const _default: {
4514
4514
  name: import("zod").ZodOptional<import("zod").ZodString>;
4515
4515
  postfix: import("zod").ZodOptional<import("zod").ZodString>;
4516
4516
  request: import("zod").ZodOptional<import("zod").ZodObject<{
4517
- changeDescription: import("zod").ZodOptional<import("zod").ZodString>;
4518
4517
  changeset: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
4519
4518
  description: import("zod").ZodOptional<import("zod").ZodString>;
4520
4519
  name: import("zod").ZodOptional<import("zod").ZodString>;
@@ -4795,10 +4794,11 @@ declare const _default: {
4795
4794
  }[] | undefined;
4796
4795
  remove?: string[] | undefined;
4797
4796
  }>>;
4797
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
4798
4798
  }, "strip", import("zod").ZodTypeAny, {
4799
4799
  description?: string | undefined;
4800
4800
  name?: string | undefined;
4801
- changeDescription?: string | undefined;
4801
+ summary?: string | undefined;
4802
4802
  changeset?: {
4803
4803
  path?: string | undefined;
4804
4804
  description?: string | undefined;
@@ -4852,7 +4852,7 @@ declare const _default: {
4852
4852
  }, {
4853
4853
  description?: string | undefined;
4854
4854
  name?: string | undefined;
4855
- changeDescription?: string | undefined;
4855
+ summary?: string | undefined;
4856
4856
  changeset?: {
4857
4857
  path?: string | undefined;
4858
4858
  description?: string | undefined;
@@ -4913,7 +4913,7 @@ declare const _default: {
4913
4913
  request?: {
4914
4914
  description?: string | undefined;
4915
4915
  name?: string | undefined;
4916
- changeDescription?: string | undefined;
4916
+ summary?: string | undefined;
4917
4917
  changeset?: {
4918
4918
  path?: string | undefined;
4919
4919
  description?: string | undefined;
@@ -4977,7 +4977,7 @@ declare const _default: {
4977
4977
  request?: {
4978
4978
  description?: string | undefined;
4979
4979
  name?: string | undefined;
4980
- changeDescription?: string | undefined;
4980
+ summary?: string | undefined;
4981
4981
  changeset?: {
4982
4982
  path?: string | undefined;
4983
4983
  description?: string | undefined;
@@ -5078,7 +5078,7 @@ declare const _default: {
5078
5078
  channel?: string | undefined;
5079
5079
  request?: import("@blue-labs/language").BlueNode | undefined;
5080
5080
  }>;
5081
- readonly GfqZJJtSJfd69v3pJ67XURdzhC4byWJZAstCh6i4X6MZ: import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{
5081
+ readonly '9fnXwi4Za8hjEj6zDSEjhbA5dLrDzs7sxoDMGLmRT2Gz': import("zod").ZodObject<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<import("zod").objectUtil.extendShape<{
5082
5082
  description: import("zod").ZodOptional<import("zod").ZodString>;
5083
5083
  name: import("zod").ZodOptional<import("zod").ZodString>;
5084
5084
  order: import("zod").ZodOptional<import("zod").ZodNumber>;
@@ -5529,11 +5529,11 @@ declare const _default: {
5529
5529
  };
5530
5530
  readonly aliases: {
5531
5531
  readonly 'Conversation/Accept Change Operation': "APk3siB8g9pvWLG3qyqtGjRNNGB7RDpFWQtG4epj5Avv";
5532
- readonly 'Conversation/Accept Change Workflow': "G6GMCB3AQvH2xR12RiDvaCiEbCjgz4uhjKssDMRXbCTG";
5532
+ readonly 'Conversation/Accept Change Workflow': "29xcoYKf9p47xagTDwGLuQyFrT9WBN3Sd7FaPtqLvydy";
5533
5533
  readonly 'Conversation/Actor': "CN5efWVizJbRsMCw8YWRfT2q9vM9XfeGDN9wFvYcvMnQ";
5534
- readonly 'Conversation/Change Operation': "BoyJNkH7CAzjuuzbZFpxB7HguZVtLCxpBLnuYY5k1eqB";
5535
- readonly 'Conversation/Change Request': "9KDfK6k1HBAyHckj5VuWXFMLkgY5cJBESKT4eoq1bnrw";
5536
- readonly 'Conversation/Change Workflow': "AKNj5zwzgAkXZo3psikJfoVxUcNfMBVgDrf4HDGWL1gm";
5534
+ readonly 'Conversation/Change Operation': "Hd5uuFjqxyw5mrFPgJf2mcatij8ddtmGAMJu9ij5K1tc";
5535
+ readonly 'Conversation/Change Request': "FW7iYkzig4fepCdwfCdgNJw4DQ1fKwnAUf3YpjgfTPmG";
5536
+ readonly 'Conversation/Change Workflow': "4pFvBSYyitoq8rWqTmY5rLywU2tpZsivDUCAo5vwoAT9";
5537
5537
  readonly 'Conversation/Chat Message': "AkUKoKY1hHY1CytCrAXDPKCd4md1QGmn1WNcQtWBsyAD";
5538
5538
  readonly 'Conversation/Composite Timeline Channel': "HsNatiPt2YvmkWQoqtfrFCbdp75ZUBLBUkWeq84WTfnr";
5539
5539
  readonly 'Conversation/Contracts Change Policy': "6FDVZRQwuhXdXtnXq8kRg3f3DM8SUdbN3TT8rSGJcS2U";
@@ -5554,11 +5554,11 @@ declare const _default: {
5554
5554
  readonly 'Conversation/Lifecycle Event': "5YZEAtUaHhNfnVnwtSsyBnBakpcSwdL75UcgtrtnqeYn";
5555
5555
  readonly 'Conversation/Operation': "BoAiqVUZv9Fum3wFqaX2JnQMBHJLxJSo2V9U2UBmCfsC";
5556
5556
  readonly 'Conversation/Operation Request': "HM4Ku4LFcjC5MxnhPMRwQ8w3BbHmJKKZfHTTzsd4jbJq";
5557
- readonly 'Conversation/Propose Change Operation': "2mJhqggRy7YTHK5bSeAitqhhjynpe8mApvQXXpcwPCxx";
5558
- readonly 'Conversation/Propose Change Workflow': "Ecj8Y7rb7kMCkNFfvyZ36CNB2JjCWrqy7BiHcvcNELEL";
5557
+ readonly 'Conversation/Propose Change Operation': "BeiedmmcKDhStxDnnQqUaXDJLofWSnqX6CazKTvVpfbW";
5558
+ readonly 'Conversation/Propose Change Workflow': "7dUt8jiX5vGeZL7wVzWFA8uEw37T6oPgC8KyDZmqxeSj";
5559
5559
  readonly 'Conversation/Proposed Change Invalid': "EbGQYtYR9UNAxcn7auCCujXmnz6DWxMpqVcgYSsKE85M";
5560
5560
  readonly 'Conversation/Reject Change Operation': "4T5AmhKAXSJAAHDEjtVJ2FQgCyz2qyd9qG5uoh627Ux6";
5561
- readonly 'Conversation/Reject Change Workflow': "GfqZJJtSJfd69v3pJ67XURdzhC4byWJZAstCh6i4X6MZ";
5561
+ readonly 'Conversation/Reject Change Workflow': "9fnXwi4Za8hjEj6zDSEjhbA5dLrDzs7sxoDMGLmRT2Gz";
5562
5562
  readonly 'Conversation/Request': "8f9UhHMbRe62sFgzQVheToaJPYi7t7HPNVvpQTbqfL5n";
5563
5563
  readonly 'Conversation/Response': "36epvrpVHZLjapbeZsNodz2NDnm7XZeNZcnkWHgkP1pp";
5564
5564
  readonly 'Conversation/Sequential Workflow': "7X3LkN54Yp88JgZbppPhP6hM3Jqiqv8Z2i4kS7phXtQe";
@@ -5586,12 +5586,12 @@ declare const _default: {
5586
5586
  readonly attributesAdded: readonly [];
5587
5587
  }];
5588
5588
  };
5589
- readonly G6GMCB3AQvH2xR12RiDvaCiEbCjgz4uhjKssDMRXbCTG: {
5589
+ readonly '29xcoYKf9p47xagTDwGLuQyFrT9WBN3Sd7FaPtqLvydy': {
5590
5590
  readonly status: "dev";
5591
5591
  readonly name: "Accept Change Workflow";
5592
5592
  readonly versions: readonly [{
5593
- readonly repositoryVersionIndex: 0;
5594
- readonly typeBlueId: "G6GMCB3AQvH2xR12RiDvaCiEbCjgz4uhjKssDMRXbCTG";
5593
+ readonly repositoryVersionIndex: 1;
5594
+ readonly typeBlueId: "29xcoYKf9p47xagTDwGLuQyFrT9WBN3Sd7FaPtqLvydy";
5595
5595
  readonly attributesAdded: readonly [];
5596
5596
  }];
5597
5597
  };
@@ -5604,30 +5604,30 @@ declare const _default: {
5604
5604
  readonly attributesAdded: readonly [];
5605
5605
  }];
5606
5606
  };
5607
- readonly BoyJNkH7CAzjuuzbZFpxB7HguZVtLCxpBLnuYY5k1eqB: {
5607
+ readonly Hd5uuFjqxyw5mrFPgJf2mcatij8ddtmGAMJu9ij5K1tc: {
5608
5608
  readonly status: "dev";
5609
5609
  readonly name: "Change Operation";
5610
5610
  readonly versions: readonly [{
5611
- readonly repositoryVersionIndex: 0;
5612
- readonly typeBlueId: "BoyJNkH7CAzjuuzbZFpxB7HguZVtLCxpBLnuYY5k1eqB";
5611
+ readonly repositoryVersionIndex: 2;
5612
+ readonly typeBlueId: "Hd5uuFjqxyw5mrFPgJf2mcatij8ddtmGAMJu9ij5K1tc";
5613
5613
  readonly attributesAdded: readonly [];
5614
5614
  }];
5615
5615
  };
5616
- readonly '9KDfK6k1HBAyHckj5VuWXFMLkgY5cJBESKT4eoq1bnrw': {
5616
+ readonly FW7iYkzig4fepCdwfCdgNJw4DQ1fKwnAUf3YpjgfTPmG: {
5617
5617
  readonly status: "dev";
5618
5618
  readonly name: "Change Request";
5619
5619
  readonly versions: readonly [{
5620
- readonly repositoryVersionIndex: 0;
5621
- readonly typeBlueId: "9KDfK6k1HBAyHckj5VuWXFMLkgY5cJBESKT4eoq1bnrw";
5620
+ readonly repositoryVersionIndex: 2;
5621
+ readonly typeBlueId: "FW7iYkzig4fepCdwfCdgNJw4DQ1fKwnAUf3YpjgfTPmG";
5622
5622
  readonly attributesAdded: readonly [];
5623
5623
  }];
5624
5624
  };
5625
- readonly AKNj5zwzgAkXZo3psikJfoVxUcNfMBVgDrf4HDGWL1gm: {
5625
+ readonly '4pFvBSYyitoq8rWqTmY5rLywU2tpZsivDUCAo5vwoAT9': {
5626
5626
  readonly status: "dev";
5627
5627
  readonly name: "Change Workflow";
5628
5628
  readonly versions: readonly [{
5629
- readonly repositoryVersionIndex: 0;
5630
- readonly typeBlueId: "AKNj5zwzgAkXZo3psikJfoVxUcNfMBVgDrf4HDGWL1gm";
5629
+ readonly repositoryVersionIndex: 2;
5630
+ readonly typeBlueId: "4pFvBSYyitoq8rWqTmY5rLywU2tpZsivDUCAo5vwoAT9";
5631
5631
  readonly attributesAdded: readonly [];
5632
5632
  }];
5633
5633
  };
@@ -5811,21 +5811,21 @@ declare const _default: {
5811
5811
  readonly attributesAdded: readonly [];
5812
5812
  }];
5813
5813
  };
5814
- readonly '2mJhqggRy7YTHK5bSeAitqhhjynpe8mApvQXXpcwPCxx': {
5814
+ readonly BeiedmmcKDhStxDnnQqUaXDJLofWSnqX6CazKTvVpfbW: {
5815
5815
  readonly status: "dev";
5816
5816
  readonly name: "Propose Change Operation";
5817
5817
  readonly versions: readonly [{
5818
- readonly repositoryVersionIndex: 0;
5819
- readonly typeBlueId: "2mJhqggRy7YTHK5bSeAitqhhjynpe8mApvQXXpcwPCxx";
5818
+ readonly repositoryVersionIndex: 2;
5819
+ readonly typeBlueId: "BeiedmmcKDhStxDnnQqUaXDJLofWSnqX6CazKTvVpfbW";
5820
5820
  readonly attributesAdded: readonly [];
5821
5821
  }];
5822
5822
  };
5823
- readonly Ecj8Y7rb7kMCkNFfvyZ36CNB2JjCWrqy7BiHcvcNELEL: {
5823
+ readonly '7dUt8jiX5vGeZL7wVzWFA8uEw37T6oPgC8KyDZmqxeSj': {
5824
5824
  readonly status: "dev";
5825
5825
  readonly name: "Propose Change Workflow";
5826
5826
  readonly versions: readonly [{
5827
- readonly repositoryVersionIndex: 0;
5828
- readonly typeBlueId: "Ecj8Y7rb7kMCkNFfvyZ36CNB2JjCWrqy7BiHcvcNELEL";
5827
+ readonly repositoryVersionIndex: 2;
5828
+ readonly typeBlueId: "7dUt8jiX5vGeZL7wVzWFA8uEw37T6oPgC8KyDZmqxeSj";
5829
5829
  readonly attributesAdded: readonly [];
5830
5830
  }];
5831
5831
  };
@@ -5847,12 +5847,12 @@ declare const _default: {
5847
5847
  readonly attributesAdded: readonly [];
5848
5848
  }];
5849
5849
  };
5850
- readonly GfqZJJtSJfd69v3pJ67XURdzhC4byWJZAstCh6i4X6MZ: {
5850
+ readonly '9fnXwi4Za8hjEj6zDSEjhbA5dLrDzs7sxoDMGLmRT2Gz': {
5851
5851
  readonly status: "dev";
5852
5852
  readonly name: "Reject Change Workflow";
5853
5853
  readonly versions: readonly [{
5854
- readonly repositoryVersionIndex: 0;
5855
- readonly typeBlueId: "GfqZJJtSJfd69v3pJ67XURdzhC4byWJZAstCh6i4X6MZ";
5854
+ readonly repositoryVersionIndex: 1;
5855
+ readonly typeBlueId: "9fnXwi4Za8hjEj6zDSEjhbA5dLrDzs7sxoDMGLmRT2Gz";
5856
5856
  readonly attributesAdded: readonly [];
5857
5857
  }];
5858
5858
  };