@ixo/topic-protocol 0.5.0 → 0.7.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 (48) hide show
  1. package/README.md +6 -2
  2. package/dist/profiles/job-card/profile.json +29 -0
  3. package/dist/schemas/approval-decision.schema.json +30 -0
  4. package/dist/schemas/claim-record.schema.json +30 -0
  5. package/dist/schemas/delivery-decision.schema.json +28 -0
  6. package/dist/schemas/delivery-packet.schema.json +58 -0
  7. package/dist/schemas/evaluation-assertion.schema.json +37 -0
  8. package/dist/schemas/external-work-binding.schema.json +83 -0
  9. package/dist/schemas/external-work-state-map.schema.json +29 -0
  10. package/dist/schemas/job-card.schema.json +46 -0
  11. package/dist/schemas/settlement-receipt.schema.json +53 -0
  12. package/dist/schemas/topic-contract-state.schema.json +26 -0
  13. package/dist/schemas/topic-kind-profile.schema.json +82 -0
  14. package/dist/schemas/topic-operation.schema.json +2 -2
  15. package/dist/schemas/topic-state.schema.json +14 -0
  16. package/dist/schemas/work-item-snapshot.schema.json +73 -0
  17. package/dist/src/contracts/schemas.d.ts +1656 -29
  18. package/dist/src/contracts/schemas.js +22 -0
  19. package/dist/src/contracts/schemas.js.map +1 -1
  20. package/dist/src/contracts/topic-contract.d.ts +3 -0
  21. package/dist/src/contracts/topic-contract.js.map +1 -1
  22. package/dist/src/contracts/topic-kind-profile.d.ts +81 -0
  23. package/dist/src/contracts/topic-kind-profile.js +76 -0
  24. package/dist/src/contracts/topic-kind-profile.js.map +1 -0
  25. package/dist/src/errors.d.ts +1 -1
  26. package/dist/src/errors.js.map +1 -1
  27. package/dist/src/index.d.ts +3 -0
  28. package/dist/src/index.js +3 -0
  29. package/dist/src/index.js.map +1 -1
  30. package/dist/src/projector/payload.d.ts +29 -0
  31. package/dist/src/projector/payload.js +83 -1
  32. package/dist/src/projector/payload.js.map +1 -1
  33. package/dist/src/projector/state.js +6 -0
  34. package/dist/src/projector/state.js.map +1 -1
  35. package/dist/src/projector/types.d.ts +3 -1
  36. package/dist/src/projector/types.js.map +1 -1
  37. package/dist/src/work-bridge/mapping.d.ts +2 -0
  38. package/dist/src/work-bridge/mapping.js +17 -0
  39. package/dist/src/work-bridge/mapping.js.map +1 -0
  40. package/dist/src/work-bridge/project.d.ts +7 -0
  41. package/dist/src/work-bridge/project.js +262 -0
  42. package/dist/src/work-bridge/project.js.map +1 -0
  43. package/dist/src/work-bridge/types.d.ts +232 -0
  44. package/dist/src/work-bridge/types.js +26 -0
  45. package/dist/src/work-bridge/types.js.map +1 -0
  46. package/package.json +4 -2
  47. package/profiles/job-card/README.md +11 -0
  48. package/profiles/job-card/profile.json +29 -0
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/projector/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/projector/state.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { TopicWorkBridgeProjection } from "../work-bridge/types.js";
1
2
  export declare const TOPIC_STATUSES: readonly ["draft", "active", "waiting", "blocked", "resolved", "archived", "redirected"];
2
3
  export declare const TOPIC_KINDS: readonly ["discussion", "question", "decision", "proposal", "task", "incident", "flow", "agent_task", "evaluation", "claims"];
3
4
  export declare const TOPIC_CONTEXT_TYPES: readonly ["ixo.flow", "ixo.resource", "ixo.service", "ixo.authority", "ixo.domain", "ixo.account", "ixo.entity"];
@@ -5,7 +6,7 @@ export declare const TOPIC_VFS_FILE_PROVIDER = "ixo.vfs";
5
6
  export type TopicStatus = (typeof TOPIC_STATUSES)[number];
6
7
  export type TopicKind = (typeof TOPIC_KINDS)[number];
7
8
  export type TopicContextType = (typeof TOPIC_CONTEXT_TYPES)[number];
8
- export type TopicOperationType = "rename" | "change-status" | "update-overview" | "link-context" | "unlink-context" | "attach-files" | "detach-files" | "record-decision" | "propose-contract" | "update-contract" | "accept-contract" | "supersede-contract" | "bind-automation" | "update-automation" | "pause-automation" | "remove-automation" | "redirect" | "branch" | "merge" | "resolve-conflict";
9
+ export type TopicOperationType = "rename" | "change-status" | "update-overview" | "link-context" | "unlink-context" | "attach-files" | "detach-files" | "record-decision" | "propose-contract" | "update-contract" | "accept-contract" | "supersede-contract" | "bind-automation" | "update-automation" | "pause-automation" | "remove-automation" | "bind-external-work" | "sync-external-work" | "unlink-external-work" | "submit-delivery" | "record-delivery-decision" | "record-evaluation" | "record-approval" | "record-claim" | "record-settlement" | "redirect" | "branch" | "merge" | "resolve-conflict";
9
10
  export interface TopicContext {
10
11
  readonly type: string;
11
12
  readonly id: string;
@@ -150,6 +151,7 @@ export interface TopicProjection {
150
151
  readonly decisions: readonly TopicDecision[];
151
152
  readonly contracts: TopicContractHeads;
152
153
  readonly automations: readonly TopicAutomationBinding[];
154
+ readonly workBridge: TopicWorkBridgeProjection;
153
155
  readonly overview?: ProjectedTopicOverview;
154
156
  readonly relations: readonly ProjectedTopicRelation[];
155
157
  readonly redirectTo?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/projector/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,YAAY;CACJ,CAAC;AACX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,UAAU;IACV,UAAU;IACV,UAAU;IACV,MAAM;IACN,UAAU;IACV,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,QAAQ;CACA,CAAC;AACX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU;IACV,cAAc;IACd,aAAa;IACb,eAAe;IACf,YAAY;IACZ,aAAa;IACb,YAAY;CACJ,CAAC;AACX,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAgCjD;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAyB,CAAC;WACzD,mDAAmD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/projector/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,YAAY;CACJ,CAAC;AACX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,UAAU;IACV,UAAU;IACV,UAAU;IACV,MAAM;IACN,UAAU;IACV,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,QAAQ;CACA,CAAC;AACX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU;IACV,cAAc;IACd,aAAa;IACb,eAAe;IACf,YAAY;IACZ,aAAa;IACb,YAAY;CACJ,CAAC;AACX,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAyCjD;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAyB,CAAC;WACzD,mDAAmD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { ExternalWorkflowStateInput, ExternalWorkStateMapV1, ExternalWorkStateMappingResult } from "./types.js";
2
+ export declare function mapExternalWorkState(profile: ExternalWorkStateMapV1, source: ExternalWorkflowStateInput): ExternalWorkStateMappingResult;
@@ -0,0 +1,17 @@
1
+ import { assertContract } from "../contracts/validator.js";
2
+ import { TopicProtocolError } from "../errors.js";
3
+ export function mapExternalWorkState(profile, source) {
4
+ assertContract("external-work-state-map", profile);
5
+ const matches = profile.mappings.filter((candidate) => candidate.workflowStateId === source.workflowStateId);
6
+ const mapping = matches[0];
7
+ if (matches.length !== 1 || mapping === undefined || mapping.category !== source.category) {
8
+ throw new TopicProtocolError("UNMAPPED_EXTERNAL_WORK_STATE", `Workflow state ${source.workflowStateId} is not uniquely mapped by ${profile.profileId}`, { profileId: profile.profileId, ...source });
9
+ }
10
+ return {
11
+ workState: mapping.workState,
12
+ mappingProfileId: profile.profileId,
13
+ mappingVersion: profile.version,
14
+ workflowStateId: source.workflowStateId,
15
+ };
16
+ }
17
+ //# sourceMappingURL=mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../../src/work-bridge/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOlD,MAAM,UAAU,oBAAoB,CAClC,OAA+B,EAC/B,MAAkC;IAElC,cAAc,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CACrC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,eAAe,KAAK,MAAM,CAAC,eAAe,CACpE,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC1F,MAAM,IAAI,kBAAkB,CAC1B,8BAA8B,EAC9B,kBAAkB,MAAM,CAAC,eAAe,8BAA8B,OAAO,CAAC,SAAS,EAAE,EACzF,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,MAAM,EAAE,CAC5C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,gBAAgB,EAAE,OAAO,CAAC,SAAS;QACnC,cAAc,EAAE,OAAO,CAAC,OAAO;QAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { PreparedOperation } from "../projector/state.js";
2
+ import type { TopicWorkBridgeProjection } from "./types.js";
3
+ export declare function emptyTopicWorkBridgeProjection(): TopicWorkBridgeProjection;
4
+ export declare function applyWorkBridgeOperation(state: TopicWorkBridgeProjection, operation: PreparedOperation, effectiveContract?: {
5
+ readonly revision: string;
6
+ readonly bodyHash: string;
7
+ }): TopicWorkBridgeProjection;
@@ -0,0 +1,262 @@
1
+ import { TopicProtocolError } from "../errors.js";
2
+ import { compareText } from "../shared/compare.js";
3
+ export function emptyTopicWorkBridgeProjection() {
4
+ return {
5
+ bindings: [],
6
+ deliveryPackets: [],
7
+ deliveryDecisions: [],
8
+ evaluations: [],
9
+ approvals: [],
10
+ claims: [],
11
+ settlements: [],
12
+ };
13
+ }
14
+ function invalid(operation, message) {
15
+ throw new TopicProtocolError("INVALID_OPERATION_PAYLOAD", `${operation.type} ${operation.operationId}: ${message}`, { operationId: operation.operationId, operationType: operation.type });
16
+ }
17
+ function externalKey(binding) {
18
+ const { provider, organizationId, resourceType, resourceId } = binding.external;
19
+ return [provider, organizationId, resourceType, resourceId].join("\u0000");
20
+ }
21
+ function sortedBindings(bindings) {
22
+ return [...bindings].sort((left, right) => compareText(left.bindingId, right.bindingId));
23
+ }
24
+ function applyBinding(state, operation, binding) {
25
+ if (binding.topicId !== operation.topicId)
26
+ return invalid(operation, "binding targets another Topic");
27
+ if (binding.checkpoint.topicRevision !== operation.previousRevision) {
28
+ return invalid(operation, "binding checkpoint must name the previous Topic revision");
29
+ }
30
+ if (state.bindings.some((candidate) => candidate.bindingId === binding.bindingId)) {
31
+ return invalid(operation, `binding already exists: ${binding.bindingId}`);
32
+ }
33
+ const primary = state.bindings.find((candidate) => candidate.tombstone === undefined && candidate.role === "primary" && externalKey(candidate) === externalKey(binding));
34
+ if (binding.role === "primary" && primary !== undefined) {
35
+ return invalid(operation, `external work already has active primary binding ${primary.bindingId}`);
36
+ }
37
+ const projected = { ...binding, lastOperationId: operation.operationId };
38
+ return { ...state, bindings: sortedBindings([...state.bindings, projected]) };
39
+ }
40
+ function applySync(state, operation, payload, effectiveContract) {
41
+ const existing = state.bindings.find((binding) => binding.bindingId === payload.sync.bindingId);
42
+ if (existing === undefined || existing.tombstone !== undefined) {
43
+ return invalid(operation, `active binding not found: ${payload.sync.bindingId}`);
44
+ }
45
+ if (payload.sync.checkpoint.topicRevision !== operation.previousRevision) {
46
+ return invalid(operation, "sync checkpoint must name the previous Topic revision");
47
+ }
48
+ if (effectiveContract !== undefined
49
+ && payload.sync.checkpoint.effectiveContractDigest !== `sha256:${effectiveContract.bodyHash}`) {
50
+ return invalid(operation, "sync checkpoint must bind the effective contract digest");
51
+ }
52
+ const updated = {
53
+ ...existing,
54
+ ...payload.sync,
55
+ lastOperationId: operation.operationId,
56
+ updatedBy: operation.actor,
57
+ updatedAt: operation.createdAt,
58
+ };
59
+ const retained = state.bindings.filter((binding) => binding.bindingId !== existing.bindingId);
60
+ return { ...state, bindings: sortedBindings([...retained, updated]) };
61
+ }
62
+ function applyUnlink(state, operation, payload) {
63
+ const existing = state.bindings.find((binding) => binding.bindingId === payload.bindingId);
64
+ if (existing === undefined)
65
+ return invalid(operation, `binding not found: ${payload.bindingId}`);
66
+ if (existing.tombstone !== undefined)
67
+ return state;
68
+ const tombstone = {
69
+ reason: payload.reason,
70
+ unlinkedBy: operation.actor,
71
+ unlinkedAt: operation.createdAt,
72
+ operationId: operation.operationId,
73
+ };
74
+ const updated = { ...existing, tombstone, lastOperationId: operation.operationId };
75
+ return { ...state, bindings: state.bindings.map((binding) => binding === existing ? updated : binding) };
76
+ }
77
+ function packetFor(state, operation, packetId, digest) {
78
+ const packet = state.deliveryPackets.find((candidate) => candidate.deliveryPacketId === packetId);
79
+ if (packet === undefined || packet.digest !== digest) {
80
+ return invalid(operation, `Delivery Packet reference does not resolve: ${packetId}`);
81
+ }
82
+ return packet;
83
+ }
84
+ function assertPacketSequence(state, operation, packet) {
85
+ const prior = state.deliveryPackets
86
+ .filter((candidate) => candidate.bindingId === packet.bindingId)
87
+ .sort((left, right) => right.sequence - left.sequence)[0];
88
+ if (prior === undefined && (packet.sequence !== 1 || packet.supersedes !== undefined)) {
89
+ return invalid(operation, "first Delivery Packet must use sequence 1 without supersedes");
90
+ }
91
+ if (prior !== undefined && (packet.sequence !== prior.sequence + 1 || packet.supersedes !== prior.deliveryPacketId)) {
92
+ return invalid(operation, "revised Delivery Packet must increment sequence and supersede the current packet");
93
+ }
94
+ }
95
+ function applyDelivery(state, operation, packet, effectiveContract) {
96
+ const binding = state.bindings.find((candidate) => candidate.bindingId === packet.bindingId && candidate.tombstone === undefined);
97
+ if (packet.topicId !== operation.topicId || binding === undefined)
98
+ return invalid(operation, "Delivery Packet requires an active Topic binding");
99
+ if (binding.workState !== "handoff_ready") {
100
+ return invalid(operation, `external work must be handoff_ready, received ${binding.workState}`);
101
+ }
102
+ if (binding.checkpoint.externalSnapshotDigest !== packet.workItemSnapshot.digest) {
103
+ return invalid(operation, "Delivery Packet snapshot does not match the binding checkpoint");
104
+ }
105
+ if (effectiveContract === undefined
106
+ || packet.contract.revision !== effectiveContract.revision
107
+ || packet.contract.digest !== `sha256:${effectiveContract.bodyHash}`) {
108
+ return invalid(operation, "Delivery Packet does not bind the effective accepted contract");
109
+ }
110
+ if (state.deliveryPackets.some((candidate) => candidate.deliveryPacketId === packet.deliveryPacketId)) {
111
+ return invalid(operation, `Delivery Packet already exists: ${packet.deliveryPacketId}`);
112
+ }
113
+ assertPacketSequence(state, operation, packet);
114
+ const handedOff = { ...binding, workState: "handed_off", lastOperationId: operation.operationId, updatedBy: operation.actor, updatedAt: operation.createdAt };
115
+ return {
116
+ ...state,
117
+ bindings: state.bindings.map((candidate) => candidate === binding ? handedOff : candidate),
118
+ deliveryPackets: [...state.deliveryPackets, packet],
119
+ };
120
+ }
121
+ function applyDeliveryDecision(state, operation, decision) {
122
+ packetFor(state, operation, decision.deliveryPacketId, decision.deliveryPacketDigest);
123
+ if (decision.topicId !== operation.topicId)
124
+ return invalid(operation, "delivery decision targets another Topic");
125
+ if (state.deliveryDecisions.some((candidate) => candidate.decisionId === decision.decisionId)) {
126
+ return invalid(operation, `delivery decision already exists: ${decision.decisionId}`);
127
+ }
128
+ return { ...state, deliveryDecisions: [...state.deliveryDecisions, decision] };
129
+ }
130
+ function applyEvaluation(state, operation, evaluation) {
131
+ const packet = packetFor(state, operation, evaluation.deliveryPacketId, evaluation.deliveryPacketDigest);
132
+ if (evaluation.topicId !== operation.topicId)
133
+ return invalid(operation, "evaluation targets another Topic");
134
+ const evidence = new Set(packet.evidence.map((reference) => reference.digest));
135
+ const traces = new Set(packet.traces.map((reference) => reference.digest));
136
+ if (evaluation.evidenceDigests.some((digest) => !evidence.has(digest))
137
+ || evaluation.traceDigests.some((digest) => !traces.has(digest))) {
138
+ return invalid(operation, "evaluation substituted evidence or traces outside the Delivery Packet");
139
+ }
140
+ if (state.evaluations.some((candidate) => candidate.evaluationId === evaluation.evaluationId)) {
141
+ return invalid(operation, `evaluation already exists: ${evaluation.evaluationId}`);
142
+ }
143
+ return { ...state, evaluations: [...state.evaluations, evaluation] };
144
+ }
145
+ function referencedEvaluations(state, operation, packetId, evaluationIds) {
146
+ return evaluationIds.map((evaluationId) => {
147
+ const evaluation = state.evaluations.find((candidate) => candidate.evaluationId === evaluationId);
148
+ if (evaluation === undefined || evaluation.deliveryPacketId !== packetId) {
149
+ return invalid(operation, `evaluation reference does not resolve: ${evaluationId}`);
150
+ }
151
+ return evaluation;
152
+ });
153
+ }
154
+ function applyApproval(state, operation, approval) {
155
+ packetFor(state, operation, approval.deliveryPacketId, approval.deliveryPacketDigest);
156
+ referencedEvaluations(state, operation, approval.deliveryPacketId, approval.evaluationIds);
157
+ if (approval.topicId !== operation.topicId)
158
+ return invalid(operation, "approval targets another Topic");
159
+ if (state.approvals.some((candidate) => candidate.approvalId === approval.approvalId)) {
160
+ return invalid(operation, `approval already exists: ${approval.approvalId}`);
161
+ }
162
+ return { ...state, approvals: [...state.approvals, approval] };
163
+ }
164
+ function applyClaim(state, operation, claim) {
165
+ packetFor(state, operation, claim.deliveryPacketId, claim.deliveryPacketDigest);
166
+ referencedEvaluations(state, operation, claim.deliveryPacketId, claim.evaluationIds);
167
+ const approval = state.approvals.find((candidate) => candidate.approvalId === claim.approvalId);
168
+ if (claim.topicId !== operation.topicId || approval?.deliveryPacketId !== claim.deliveryPacketId) {
169
+ return invalid(operation, "claim does not bind the Topic Packet approval");
170
+ }
171
+ const prior = state.claims.find((candidate) => candidate.claimId === claim.claimId);
172
+ if (prior !== undefined && !sameClaimCore(prior, claim)) {
173
+ return invalid(operation, `claim status update changed immutable claim fields: ${claim.claimId}`);
174
+ }
175
+ const replay = state.claims.find((candidate) => candidate.replayKey === claim.replayKey);
176
+ if (replay !== undefined && replay.claimId !== claim.claimId) {
177
+ return invalid(operation, `claim replay key was already consumed: ${claim.replayKey}`);
178
+ }
179
+ const retained = state.claims.filter((candidate) => candidate !== prior);
180
+ return { ...state, claims: [...retained, claim] };
181
+ }
182
+ function sameClaimCore(left, right) {
183
+ return left.topicId === right.topicId
184
+ && left.deliveryPacketId === right.deliveryPacketId
185
+ && left.deliveryPacketDigest === right.deliveryPacketDigest
186
+ && sameIds(left.evaluationIds, right.evaluationIds)
187
+ && left.approvalId === right.approvalId
188
+ && left.claimantDid === right.claimantDid
189
+ && left.requested.amount === right.requested.amount
190
+ && left.requested.asset === right.requested.asset
191
+ && left.requested.recipient === right.requested.recipient
192
+ && left.replayKey === right.replayKey
193
+ && left.source.provider === right.source.provider
194
+ && left.source.ref === right.source.ref;
195
+ }
196
+ function sameIds(left, right) {
197
+ if (left.length !== right.length)
198
+ return false;
199
+ const orderedLeft = [...left].sort(compareText);
200
+ const orderedRight = [...right].sort(compareText);
201
+ return orderedLeft.every((value, index) => value === orderedRight[index]);
202
+ }
203
+ function assertExecutableSettlement(state, operation, settlement) {
204
+ if (!["authorised", "submitted", "confirmed"].includes(settlement.state))
205
+ return;
206
+ const decision = [...state.deliveryDecisions].reverse().find((candidate) => candidate.deliveryPacketId === settlement.deliveryPacketId);
207
+ const evaluations = referencedEvaluations(state, operation, settlement.deliveryPacketId, settlement.evaluationIds);
208
+ const approval = state.approvals.find((candidate) => candidate.approvalId === settlement.approvalId);
209
+ const claim = state.claims.find((candidate) => candidate.claimId === settlement.claimId);
210
+ const supported = evaluations.length > 0 && evaluations.every((evaluation) => evaluation.outcome === "supported");
211
+ const amountMatches = claim?.requested.amount === settlement.amount
212
+ && claim.requested.asset === settlement.asset
213
+ && claim.requested.recipient === settlement.recipient;
214
+ const evaluationBindingsMatch = approval !== undefined && claim !== undefined
215
+ && sameIds(approval.evaluationIds, settlement.evaluationIds)
216
+ && sameIds(claim.evaluationIds, settlement.evaluationIds)
217
+ && claim.approvalId === settlement.approvalId;
218
+ if (decision?.decision !== "accepted" || !supported || approval?.decision !== "approved"
219
+ || claim?.status !== "approved" || !amountMatches || !evaluationBindingsMatch) {
220
+ return invalid(operation, "executable settlement is missing an accepted delivery, supported evaluation, approval, or eligible claim");
221
+ }
222
+ }
223
+ function applySettlement(state, operation, settlement) {
224
+ const packet = packetFor(state, operation, settlement.deliveryPacketId, settlement.deliveryPacketDigest);
225
+ if (settlement.topicId !== operation.topicId || packet.paymentTerms === undefined) {
226
+ return invalid(operation, "settlement requires the Topic Packet and pinned payment terms");
227
+ }
228
+ const duplicate = state.settlements.find((candidate) => candidate.idempotencyKey === settlement.idempotencyKey);
229
+ if (duplicate !== undefined && (duplicate.settlementId !== settlement.settlementId || duplicate.digest !== settlement.digest)) {
230
+ return invalid(operation, `settlement idempotency key was already consumed: ${settlement.idempotencyKey}`);
231
+ }
232
+ if (duplicate !== undefined)
233
+ return state;
234
+ if (state.settlements.some((candidate) => candidate.settlementId === settlement.settlementId)) {
235
+ return invalid(operation, `settlement already exists: ${settlement.settlementId}`);
236
+ }
237
+ assertExecutableSettlement(state, operation, settlement);
238
+ return { ...state, settlements: [...state.settlements, settlement] };
239
+ }
240
+ export function applyWorkBridgeOperation(state, operation, effectiveContract) {
241
+ const payload = operation.parsedPayload;
242
+ if (payload.kind === "bind-external-work")
243
+ return applyBinding(state, operation, payload.binding);
244
+ if (payload.kind === "sync-external-work")
245
+ return applySync(state, operation, payload, effectiveContract);
246
+ if (payload.kind === "unlink-external-work")
247
+ return applyUnlink(state, operation, payload);
248
+ if (payload.kind === "submit-delivery")
249
+ return applyDelivery(state, operation, payload.deliveryPacket, effectiveContract);
250
+ if (payload.kind === "record-delivery-decision")
251
+ return applyDeliveryDecision(state, operation, payload.deliveryDecision);
252
+ if (payload.kind === "record-evaluation")
253
+ return applyEvaluation(state, operation, payload.evaluation);
254
+ if (payload.kind === "record-approval")
255
+ return applyApproval(state, operation, payload.approval);
256
+ if (payload.kind === "record-claim")
257
+ return applyClaim(state, operation, payload.claim);
258
+ if (payload.kind === "record-settlement")
259
+ return applySettlement(state, operation, payload.settlement);
260
+ return state;
261
+ }
262
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/work-bridge/project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,232 @@
1
+ export declare const EXTERNAL_WORK_STATES: readonly ["planned", "ready", "in_progress", "blocked", "handoff_ready", "handed_off", "cancelled"];
2
+ export declare const EXTERNAL_WORKFLOW_CATEGORIES: readonly ["triage", "backlog", "unstarted", "started", "completed", "canceled"];
3
+ export declare const EXTERNAL_WORK_HEALTH_STATES: readonly ["up_to_date", "changes_pending", "degraded", "disconnected", "conflicted", "permission_lost"];
4
+ export type ExternalWorkState = (typeof EXTERNAL_WORK_STATES)[number];
5
+ export type ExternalWorkflowCategory = (typeof EXTERNAL_WORKFLOW_CATEGORIES)[number];
6
+ export interface ExternalWorkStateMapping {
7
+ readonly workflowStateId: string;
8
+ readonly category: ExternalWorkflowCategory;
9
+ readonly workState: ExternalWorkState;
10
+ }
11
+ export interface ExternalWorkStateMapV1 {
12
+ readonly version: 1;
13
+ readonly profileId: string;
14
+ readonly provider: string;
15
+ readonly organizationId: string;
16
+ readonly teamId: string;
17
+ readonly mappings: readonly ExternalWorkStateMapping[];
18
+ }
19
+ export interface ExternalWorkflowStateInput {
20
+ readonly workflowStateId: string;
21
+ readonly category: ExternalWorkflowCategory;
22
+ }
23
+ export interface ExternalWorkStateMappingResult {
24
+ readonly workState: ExternalWorkState;
25
+ readonly mappingProfileId: string;
26
+ readonly mappingVersion: 1;
27
+ readonly workflowStateId: string;
28
+ }
29
+ export type Sha256Digest = `sha256:${string}`;
30
+ export type ExternalWorkHealth = (typeof EXTERNAL_WORK_HEALTH_STATES)[number];
31
+ export interface ExternalWorkCheckpoint {
32
+ readonly topicRevision: string;
33
+ readonly effectiveContractDigest?: Sha256Digest;
34
+ readonly externalUpdatedAt?: string;
35
+ readonly externalSnapshotDigest?: Sha256Digest;
36
+ readonly lastEventId?: string;
37
+ readonly syncedAt: string;
38
+ }
39
+ export interface ExternalWorkBindingV1 {
40
+ readonly version: 1;
41
+ readonly bindingId: string;
42
+ readonly topicId: string;
43
+ readonly role: "primary" | "child" | "related" | "verification" | "delivery";
44
+ readonly createdFrom: "topic" | "external";
45
+ readonly external: {
46
+ readonly provider: string;
47
+ readonly resourceType: string;
48
+ readonly organizationId: string;
49
+ readonly teamId?: string;
50
+ readonly resourceId: string;
51
+ readonly identifier: string;
52
+ readonly url: string;
53
+ };
54
+ readonly syncPolicy: {
55
+ readonly mode: "link_only" | "governed_projection";
56
+ readonly direction: "external_to_topic" | "topic_to_external" | "bidirectional";
57
+ readonly comments: "none" | "explicit_promote";
58
+ readonly files: "none" | "reference_only" | "explicit_ingest";
59
+ readonly delete: "tombstone";
60
+ readonly fieldPolicy: {
61
+ readonly id: string;
62
+ readonly version: number;
63
+ readonly digest: Sha256Digest;
64
+ };
65
+ };
66
+ readonly workState: ExternalWorkState;
67
+ readonly checkpoint: ExternalWorkCheckpoint;
68
+ readonly identity: {
69
+ readonly bridgeDid: string;
70
+ readonly externalAppActorId?: string;
71
+ };
72
+ readonly health: ExternalWorkHealth;
73
+ readonly createdBy: string;
74
+ readonly createdAt: string;
75
+ readonly extensions?: Readonly<Record<string, unknown>>;
76
+ }
77
+ export interface ProjectedExternalWorkBinding extends ExternalWorkBindingV1 {
78
+ readonly lastOperationId: string;
79
+ readonly updatedBy?: string;
80
+ readonly updatedAt?: string;
81
+ readonly tombstone?: {
82
+ readonly reason: string;
83
+ readonly unlinkedBy: string;
84
+ readonly unlinkedAt: string;
85
+ readonly operationId: string;
86
+ };
87
+ }
88
+ export interface ExternalWorkSync {
89
+ readonly bindingId: string;
90
+ readonly workState: ExternalWorkState;
91
+ readonly health: ExternalWorkHealth;
92
+ readonly checkpoint: ExternalWorkCheckpoint;
93
+ }
94
+ export interface ExternalWorkTombstone {
95
+ readonly bindingId: string;
96
+ readonly reason: string;
97
+ }
98
+ export interface WorkArtifactReference {
99
+ readonly type: string;
100
+ readonly uri: string;
101
+ readonly digest: Sha256Digest;
102
+ readonly label?: string;
103
+ readonly mediaType?: string;
104
+ }
105
+ export interface WorkEvidenceReference extends Omit<WorkArtifactReference, "mediaType"> {
106
+ readonly provenanceClass: "claimant_provided" | "client_assisted" | "server_verified" | "third_party_attested";
107
+ }
108
+ export interface WorkItemSnapshotV1 extends Readonly<Record<string, unknown>> {
109
+ readonly version: 1;
110
+ readonly snapshotId: string;
111
+ readonly bindingId: string;
112
+ readonly topicId: string;
113
+ readonly digest: Sha256Digest;
114
+ }
115
+ export interface DeliveryPacketV1 {
116
+ readonly version: 1;
117
+ readonly deliveryPacketId: string;
118
+ readonly sequence: number;
119
+ readonly topicId: string;
120
+ readonly bindingId: string;
121
+ readonly supersedes?: string;
122
+ readonly contract: {
123
+ readonly revision: string;
124
+ readonly digest: Sha256Digest;
125
+ readonly status: "accepted";
126
+ };
127
+ readonly workItemSnapshot: {
128
+ readonly snapshotId: string;
129
+ readonly ref: string;
130
+ readonly digest: Sha256Digest;
131
+ };
132
+ readonly deliverables: readonly WorkArtifactReference[];
133
+ readonly evidence: readonly WorkEvidenceReference[];
134
+ readonly traces: readonly WorkArtifactReference[];
135
+ readonly paymentTerms?: {
136
+ readonly ref: string;
137
+ readonly digest: Sha256Digest;
138
+ };
139
+ readonly submittedBy: string;
140
+ readonly submittedAt: string;
141
+ readonly capability: string;
142
+ readonly status: "submitted";
143
+ readonly digest: Sha256Digest;
144
+ readonly extensions?: Readonly<Record<string, unknown>>;
145
+ }
146
+ export interface DeliveryDecisionV1 {
147
+ readonly version: 1;
148
+ readonly decisionId: string;
149
+ readonly topicId: string;
150
+ readonly deliveryPacketId: string;
151
+ readonly deliveryPacketDigest: Sha256Digest;
152
+ readonly decision: "accepted" | "returned" | "rejected";
153
+ readonly reasons?: readonly string[];
154
+ readonly decidedBy: string;
155
+ readonly decidedAt: string;
156
+ readonly capability: string;
157
+ readonly digest: Sha256Digest;
158
+ readonly extensions?: Readonly<Record<string, unknown>>;
159
+ }
160
+ export interface EvaluationAssertionV1 extends Readonly<Record<string, unknown>> {
161
+ readonly version: 1;
162
+ readonly evaluationId: string;
163
+ readonly topicId: string;
164
+ readonly deliveryPacketId: string;
165
+ readonly deliveryPacketDigest: Sha256Digest;
166
+ readonly evidenceDigests: readonly Sha256Digest[];
167
+ readonly traceDigests: readonly Sha256Digest[];
168
+ readonly outcome: "supported" | "refuted" | "insufficient_evidence" | "human_review" | "disputed" | "superseded";
169
+ readonly evaluatorDid: string;
170
+ readonly evaluatedAt: string;
171
+ readonly digest: Sha256Digest;
172
+ }
173
+ export interface ApprovalDecisionV1 extends Readonly<Record<string, unknown>> {
174
+ readonly version: 1;
175
+ readonly approvalId: string;
176
+ readonly topicId: string;
177
+ readonly deliveryPacketId: string;
178
+ readonly deliveryPacketDigest: Sha256Digest;
179
+ readonly evaluationIds: readonly string[];
180
+ readonly decision: "approved" | "rejected" | "changes_requested" | "superseded";
181
+ readonly decidedAt: string;
182
+ readonly digest: Sha256Digest;
183
+ }
184
+ export interface ClaimRecordV1 extends Readonly<Record<string, unknown>> {
185
+ readonly version: 1;
186
+ readonly claimId: string;
187
+ readonly topicId: string;
188
+ readonly deliveryPacketId: string;
189
+ readonly deliveryPacketDigest: Sha256Digest;
190
+ readonly evaluationIds: readonly string[];
191
+ readonly approvalId: string;
192
+ readonly claimantDid: string;
193
+ readonly requested: {
194
+ readonly amount: string;
195
+ readonly asset: string;
196
+ readonly recipient: string;
197
+ };
198
+ readonly status: "pending" | "approved" | "rejected" | "disputed" | "invalidated" | "flagged";
199
+ readonly replayKey: string;
200
+ readonly source: {
201
+ readonly provider: string;
202
+ readonly ref: string;
203
+ };
204
+ readonly recordedAt: string;
205
+ readonly digest: Sha256Digest;
206
+ }
207
+ export interface SettlementReceiptV1 extends Readonly<Record<string, unknown>> {
208
+ readonly version: 1;
209
+ readonly settlementId: string;
210
+ readonly topicId: string;
211
+ readonly claimId: string;
212
+ readonly deliveryPacketId: string;
213
+ readonly deliveryPacketDigest: Sha256Digest;
214
+ readonly evaluationIds: readonly string[];
215
+ readonly approvalId: string;
216
+ readonly idempotencyKey: string;
217
+ readonly amount: string;
218
+ readonly asset: string;
219
+ readonly recipient: string;
220
+ readonly state: "unfunded" | "funded" | "held" | "authorised" | "submitted" | "confirmed" | "failed" | "refunded";
221
+ readonly recordedAt: string;
222
+ readonly digest: Sha256Digest;
223
+ }
224
+ export interface TopicWorkBridgeProjection {
225
+ readonly bindings: readonly ProjectedExternalWorkBinding[];
226
+ readonly deliveryPackets: readonly DeliveryPacketV1[];
227
+ readonly deliveryDecisions: readonly DeliveryDecisionV1[];
228
+ readonly evaluations: readonly EvaluationAssertionV1[];
229
+ readonly approvals: readonly ApprovalDecisionV1[];
230
+ readonly claims: readonly ClaimRecordV1[];
231
+ readonly settlements: readonly SettlementReceiptV1[];
232
+ }