@ixo/topic-protocol 0.7.0 → 0.8.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 (37) hide show
  1. package/README.md +4 -2
  2. package/dist/schemas/action-receipt.schema.json +105 -11
  3. package/dist/schemas/decision-to-pay-template.schema.json +346 -0
  4. package/dist/schemas/payable-obligation.schema.json +312 -0
  5. package/dist/schemas/payment-terms.schema.json +287 -0
  6. package/dist/schemas/topic-action-request.schema.json +30 -0
  7. package/dist/schemas/topic-contract-state.schema.json +29 -3
  8. package/dist/schemas/topic-flow-binding.schema.json +28 -0
  9. package/dist/schemas/topic-kind-profile.schema.json +32 -2
  10. package/dist/schemas/topic-operation.schema.json +2 -2
  11. package/dist/src/action-runtime/types.d.ts +101 -0
  12. package/dist/src/action-runtime/types.js +12 -0
  13. package/dist/src/action-runtime/types.js.map +1 -0
  14. package/dist/src/contracts/schemas.d.ts +2608 -463
  15. package/dist/src/contracts/schemas.js +10 -0
  16. package/dist/src/contracts/schemas.js.map +1 -1
  17. package/dist/src/contracts/topic-contract.d.ts +8 -1
  18. package/dist/src/contracts/topic-contract.js.map +1 -1
  19. package/dist/src/contracts/topic-kind-profile.d.ts +29 -0
  20. package/dist/src/contracts/topic-kind-profile.js +31 -0
  21. package/dist/src/contracts/topic-kind-profile.js.map +1 -1
  22. package/dist/src/index.d.ts +2 -1
  23. package/dist/src/index.js +2 -1
  24. package/dist/src/index.js.map +1 -1
  25. package/dist/src/projector/payload.d.ts +18 -0
  26. package/dist/src/projector/payload.js +57 -1
  27. package/dist/src/projector/payload.js.map +1 -1
  28. package/dist/src/projector/state.js +144 -0
  29. package/dist/src/projector/state.js.map +1 -1
  30. package/dist/src/projector/types.d.ts +13 -3
  31. package/dist/src/projector/types.js.map +1 -1
  32. package/package.json +4 -2
  33. package/templates/decision-to-pay/README.md +59 -0
  34. package/templates/decision-to-pay/milestone-payment-release.template.json +195 -0
  35. package/templates/decision-to-pay/outcome-payment-claim.template.json +198 -0
  36. package/templates/decision-to-pay/payment-on-delivery.template.json +198 -0
  37. package/templates/decision-to-pay/verified-work-payment.template.json +283 -0
@@ -2,6 +2,7 @@ import actionReceipt from "../../schemas/action-receipt.schema.json" with { type
2
2
  import agentRun from "../../schemas/agent-run.schema.json" with { type: "json" };
3
3
  import approvalDecision from "../../schemas/approval-decision.schema.json" with { type: "json" };
4
4
  import claimRecord from "../../schemas/claim-record.schema.json" with { type: "json" };
5
+ import decisionToPayTemplate from "../../schemas/decision-to-pay-template.schema.json" with { type: "json" };
5
6
  import deliveryDecision from "../../schemas/delivery-decision.schema.json" with { type: "json" };
6
7
  import deliveryPacket from "../../schemas/delivery-packet.schema.json" with { type: "json" };
7
8
  import evaluationAssertion from "../../schemas/evaluation-assertion.schema.json" with { type: "json" };
@@ -9,11 +10,15 @@ import externalWorkBinding from "../../schemas/external-work-binding.schema.json
9
10
  import externalWorkStateMap from "../../schemas/external-work-state-map.schema.json" with { type: "json" };
10
11
  import externalSessionBinding from "../../schemas/external-session-binding.schema.json" with { type: "json" };
11
12
  import jobCard from "../../schemas/job-card.schema.json" with { type: "json" };
13
+ import payableObligation from "../../schemas/payable-obligation.schema.json" with { type: "json" };
14
+ import paymentTerms from "../../schemas/payment-terms.schema.json" with { type: "json" };
12
15
  import roomPolicy from "../../schemas/room-policy.schema.json" with { type: "json" };
13
16
  import settlementReceipt from "../../schemas/settlement-receipt.schema.json" with { type: "json" };
14
17
  import topicCapsule from "../../schemas/topic-capsule.schema.json" with { type: "json" };
18
+ import topicActionRequest from "../../schemas/topic-action-request.schema.json" with { type: "json" };
15
19
  import topicContractState from "../../schemas/topic-contract-state.schema.json" with { type: "json" };
16
20
  import topicFileAttachment from "../../schemas/topic-file-attachment.schema.json" with { type: "json" };
21
+ import topicFlowBinding from "../../schemas/topic-flow-binding.schema.json" with { type: "json" };
17
22
  import topicIndexEntry from "../../schemas/topic-index-entry.schema.json" with { type: "json" };
18
23
  import topicIndex from "../../schemas/topic-index.schema.json" with { type: "json" };
19
24
  import topicKindProfile from "../../schemas/topic-kind-profile.schema.json" with { type: "json" };
@@ -32,6 +37,7 @@ export const SCHEMA_REGISTRY = Object.freeze({
32
37
  "agent-run": agentRun,
33
38
  "approval-decision": approvalDecision,
34
39
  "claim-record": claimRecord,
40
+ "decision-to-pay-template": decisionToPayTemplate,
35
41
  "delivery-decision": deliveryDecision,
36
42
  "delivery-packet": deliveryPacket,
37
43
  "evaluation-assertion": evaluationAssertion,
@@ -39,11 +45,15 @@ export const SCHEMA_REGISTRY = Object.freeze({
39
45
  "external-work-binding": externalWorkBinding,
40
46
  "external-work-state-map": externalWorkStateMap,
41
47
  "job-card": jobCard,
48
+ "payable-obligation": payableObligation,
49
+ "payment-terms": paymentTerms,
42
50
  "room-policy": roomPolicy,
43
51
  "settlement-receipt": settlementReceipt,
44
52
  "topic-capsule": topicCapsule,
53
+ "topic-action-request": topicActionRequest,
45
54
  "topic-contract-state": topicContractState,
46
55
  "topic-file-attachment": topicFileAttachment,
56
+ "topic-flow-binding": topicFlowBinding,
47
57
  "topic-index-entry": topicIndexEntry,
48
58
  "topic-index": topicIndex,
49
59
  "topic-kind-profile": topicKindProfile,
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/contracts/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/contracts/schemas.ts"],"names":[],"mappings":"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"}
@@ -137,7 +137,14 @@ export type TopicRecurrence = {
137
137
  export interface TopicAutomationBindingV2 {
138
138
  readonly provider: "temporal";
139
139
  readonly scheduleId: string;
140
- readonly actionId: string;
140
+ readonly actionId?: string;
141
+ readonly target?: {
142
+ readonly kind: "action";
143
+ readonly actionType: string;
144
+ } | {
145
+ readonly kind: "flow";
146
+ readonly bindingId: string;
147
+ };
141
148
  readonly recurrence: TopicRecurrence;
142
149
  readonly status: "pending" | "active" | "paused" | "failed";
143
150
  readonly nextRunAt?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"topic-contract.js","sourceRoot":"","sources":["../../../src/contracts/topic-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topic-contract.js","sourceRoot":"","sources":["../../../src/contracts/topic-contract.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,34 @@ export interface TopicKindProfileV1 {
34
34
  };
35
35
  readonly capabilities?: readonly string[];
36
36
  }
37
+ export interface TopicKindActionReference {
38
+ readonly type: string;
39
+ readonly role: "primary" | "supporting";
40
+ readonly label?: string;
41
+ }
42
+ export type TopicKindProfileV2 = Omit<TopicKindProfileV1, "version"> & {
43
+ readonly version: 2;
44
+ readonly actionManifest: {
45
+ readonly version: string;
46
+ readonly digest: `sha256:${string}`;
47
+ };
48
+ readonly actions: readonly TopicKindActionReference[];
49
+ };
50
+ export type TopicKindProfile = TopicKindProfileV1 | TopicKindProfileV2;
51
+ export interface TopicActionContractDescriptor {
52
+ readonly type: string;
53
+ readonly supportedKinds: "*" | readonly PersistedTopicKind[];
54
+ readonly requiredTopicAbility?: string;
55
+ }
56
+ export interface TopicActionManifestIndex {
57
+ readonly version: string;
58
+ readonly digest: `sha256:${string}`;
59
+ readonly actions: readonly TopicActionContractDescriptor[];
60
+ }
61
+ export interface TopicKindProfileActionIssue {
62
+ readonly path: string;
63
+ readonly message: string;
64
+ }
37
65
  export interface TopicKindResourceBinding<TValue extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>> {
38
66
  readonly profile: TopicKindProfileRef;
39
67
  readonly type: string;
@@ -78,4 +106,5 @@ export declare const JOB_CARD_KIND_REF: Readonly<{
78
106
  export declare const JOB_CARD_KIND_PROFILE: TopicKindProfileV1;
79
107
  export declare const JOB_CARD_KIND_PROFILE_REF: TopicKindProfileRef;
80
108
  export declare function resolveTopicKindProfile(ref: TopicKindProfileRef): TopicKindProfileV1 | undefined;
109
+ export declare function topicKindProfileActionIssues(profile: TopicKindProfile, manifest: TopicActionManifestIndex): readonly TopicKindProfileActionIssue[];
81
110
  export declare function contractCompletenessWithProfiles(body: TopicContractBodyV2): readonly TopicContractCompletenessIssue[];
@@ -33,6 +33,37 @@ function sameProfileRef(left, right) {
33
33
  export function resolveTopicKindProfile(ref) {
34
34
  return sameProfileRef(ref, JOB_CARD_KIND_PROFILE_REF) ? JOB_CARD_KIND_PROFILE : undefined;
35
35
  }
36
+ function profileActionIssue(path, message) {
37
+ return { path, message };
38
+ }
39
+ export function topicKindProfileActionIssues(profile, manifest) {
40
+ if (profile.version === 1)
41
+ return [];
42
+ const issues = [];
43
+ if (profile.actionManifest.version !== manifest.version || profile.actionManifest.digest !== manifest.digest) {
44
+ issues.push(profileActionIssue("/actionManifest", "Kind Profile Action manifest version and digest must match the loaded registry"));
45
+ }
46
+ const contracts = new Map(manifest.actions.map((action) => [action.type, action]));
47
+ const seen = new Set();
48
+ profile.actions.forEach((reference, index) => {
49
+ const path = `/actions/${index}`;
50
+ if (seen.has(reference.type))
51
+ issues.push(profileActionIssue(`${path}/type`, "Kind Profile Action types must be unique"));
52
+ seen.add(reference.type);
53
+ const contract = contracts.get(reference.type);
54
+ if (contract === undefined) {
55
+ issues.push(profileActionIssue(`${path}/type`, `Unknown Action type: ${reference.type}`));
56
+ return;
57
+ }
58
+ if (contract.supportedKinds !== "*" && !contract.supportedKinds.includes(profile.kind.baseKind)) {
59
+ issues.push(profileActionIssue(`${path}/type`, `${reference.type} does not support ${profile.kind.baseKind} Topics`));
60
+ }
61
+ if (contract.requiredTopicAbility !== undefined && !profile.capabilities?.includes(contract.requiredTopicAbility)) {
62
+ issues.push(profileActionIssue(`${path}/type`, `${reference.type} requires undeclared Topic ability ${contract.requiredTopicAbility}`));
63
+ }
64
+ });
65
+ return issues;
66
+ }
36
67
  function jobCardIssues(body) {
37
68
  if (body.kindRef.source !== "custom" || body.kindRef.customId !== JOB_CARD_KIND_REF.customId)
38
69
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"topic-kind-profile.js","sourceRoot":"","sources":["../../../src/contracts/topic-kind-profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topic-kind-profile.js","sourceRoot":"","sources":["../../../src/contracts/topic-kind-profile.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
+ export { TOPIC_ACTION_RUNTIME_PROVIDERS, TOPIC_ACTION_STATUSES, type ActionReceiptReference, type ActionReceiptV2, type ProjectedTopicAction, type Sha256Uri, type TopicActionRequestV1, type TopicActionRuntimeProvider, type TopicActionStatus, type TopicFlowBindingV1, } from "./action-runtime/types.js";
1
2
  export { CONTRACT_NAMES, type ContractName, } from "./contracts/schemas.js";
2
3
  export { assertContract, validateContract, type ContractValidationError, type ContractValidationResult, } from "./contracts/validator.js";
3
4
  export { PERSISTED_TOPIC_KINDS, TOPIC_CONTRACT_RECIPES, assertContractComplete, baseTopicKind, contractCompleteness, topicRecipeForKind, type PersistedTopicKind, type TemporalTarget, type TopicAppearance, type TopicAutomationBindingV2, type TopicContractBodyV2, type TopicContractCompletenessIssue, type TopicContractRecipe, type TopicIconName, type TopicKindRef, type TopicRecurrence, type TopicReminder, type TopicRiskV2, type TopicStatementV2, type TopicUserSettings, type Weekday, } from "./contracts/topic-contract.js";
4
- export { JOB_CARD_KIND_PROFILE, JOB_CARD_KIND_PROFILE_REF, JOB_CARD_KIND_REF, JOB_CARD_PHASES, JOB_CARD_PRIORITIES, contractCompletenessWithProfiles, resolveTopicKindProfile, type JobCardPhase, type JobCardPriority, type JobCardV1, type TopicKindProfileRef, type TopicKindProfileV1, type TopicKindResourceBinding, } from "./contracts/topic-kind-profile.js";
5
+ export { JOB_CARD_KIND_PROFILE, JOB_CARD_KIND_PROFILE_REF, JOB_CARD_KIND_REF, JOB_CARD_PHASES, JOB_CARD_PRIORITIES, contractCompletenessWithProfiles, resolveTopicKindProfile, topicKindProfileActionIssues, type JobCardPhase, type JobCardPriority, type JobCardV1, type TopicKindProfileRef, type TopicKindActionReference, type TopicKindProfile, type TopicKindProfileV1, type TopicKindProfileV2, type TopicActionContractDescriptor, type TopicActionManifestIndex, type TopicKindProfileActionIssue, type TopicKindResourceBinding, } from "./contracts/topic-kind-profile.js";
5
6
  export { TopicProtocolError, type TopicProtocolErrorCode, } from "./errors.js";
6
7
  export { projectTopic } from "./projector/project.js";
7
8
  export { adoptedTopicAnchor, nativeTopicAnchor, selectCanonicalTopicAnchor } from "./matrix/anchors.js";
package/dist/src/index.js CHANGED
@@ -1,7 +1,8 @@
1
+ export { TOPIC_ACTION_RUNTIME_PROVIDERS, TOPIC_ACTION_STATUSES, } from "./action-runtime/types.js";
1
2
  export { CONTRACT_NAMES, } from "./contracts/schemas.js";
2
3
  export { assertContract, validateContract, } from "./contracts/validator.js";
3
4
  export { PERSISTED_TOPIC_KINDS, TOPIC_CONTRACT_RECIPES, assertContractComplete, baseTopicKind, contractCompleteness, topicRecipeForKind, } from "./contracts/topic-contract.js";
4
- export { JOB_CARD_KIND_PROFILE, JOB_CARD_KIND_PROFILE_REF, JOB_CARD_KIND_REF, JOB_CARD_PHASES, JOB_CARD_PRIORITIES, contractCompletenessWithProfiles, resolveTopicKindProfile, } from "./contracts/topic-kind-profile.js";
5
+ export { JOB_CARD_KIND_PROFILE, JOB_CARD_KIND_PROFILE_REF, JOB_CARD_KIND_REF, JOB_CARD_PHASES, JOB_CARD_PRIORITIES, contractCompletenessWithProfiles, resolveTopicKindProfile, topicKindProfileActionIssues, } from "./contracts/topic-kind-profile.js";
5
6
  export { TopicProtocolError, } from "./errors.js";
6
7
  export { projectTopic } from "./projector/project.js";
7
8
  export { adoptedTopicAnchor, nativeTopicAnchor, selectCanonicalTopicAnchor } from "./matrix/anchors.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAEf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,cAAc,EACd,gBAAgB,GAGjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,GAgBnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,gCAAgC,EAChC,uBAAuB,GAOxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,kBAAkB,GAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,aAAa,EACb,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,+BAA+B,EAC/B,8BAA8B,EAC9B,8BAA8B,GAS/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,GAkB3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EA+BvB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,GAkBzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,4BAA4B,GAwB7B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,GAStB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,cAAc,GAEf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,cAAc,EACd,gBAAgB,GAGjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,GAgBnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,gCAAgC,EAChC,uBAAuB,EACvB,4BAA4B,GAa7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,kBAAkB,GAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,aAAa,EACb,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,+BAA+B,EAC/B,8BAA8B,EAC9B,8BAA8B,GAS/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,GAkB3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EA+BvB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,GAkBzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,4BAA4B,GAwB7B,MAAM,wBAAwB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ActionReceiptV2, TopicActionRequestV1, TopicFlowBindingV1 } from "../action-runtime/types.js";
1
2
  import { type ApprovalDecisionV1, type ClaimRecordV1, type DeliveryDecisionV1, type DeliveryPacketV1, type EvaluationAssertionV1, type ExternalWorkBindingV1, type ExternalWorkSync, type SettlementReceiptV1 } from "../work-bridge/types.js";
2
3
  import { type TopicContext, type EffectiveTopicContractReference, type TopicAutomationBinding, type TopicContractReference, type TopicFileAttachmentIdentity, type TopicOperation, type TopicOverview, type TopicStatus, type TopicVfsFileReference } from "./types.js";
3
4
  interface DecisionPayload {
@@ -44,6 +45,23 @@ export type ParsedPayload = {
44
45
  } | {
45
46
  readonly kind: "pause-automation" | "remove-automation";
46
47
  readonly scheduleId: string;
48
+ } | {
49
+ readonly kind: "bind-flow" | "update-flow-binding";
50
+ readonly binding: TopicFlowBindingV1;
51
+ } | {
52
+ readonly kind: "unbind-flow";
53
+ readonly bindingId: string;
54
+ readonly reason: string;
55
+ } | {
56
+ readonly kind: "request-action";
57
+ readonly request: TopicActionRequestV1;
58
+ } | {
59
+ readonly kind: "cancel-action";
60
+ readonly requestId: string;
61
+ readonly reason: string;
62
+ } | {
63
+ readonly kind: "record-action-receipt";
64
+ readonly receipt: ActionReceiptV2;
47
65
  } | {
48
66
  readonly kind: "bind-external-work";
49
67
  readonly binding: ExternalWorkBindingV1;
@@ -222,15 +222,39 @@ function automationValue(operation) {
222
222
  const nextRunAt = optionalString(operation, source, "nextRunAt");
223
223
  if (nextRunAt !== undefined && !isJsonDateTime(nextRunAt))
224
224
  return invalid(operation, "automation.nextRunAt must be an ISO date-time");
225
+ const actionId = optionalString(operation, source, "actionId");
226
+ const target = automationTargetValue(operation, source.target);
227
+ if (actionId === undefined && target === undefined) {
228
+ return invalid(operation, "automation requires legacy actionId or a v2 target");
229
+ }
225
230
  return {
226
231
  provider: "temporal",
227
232
  scheduleId: stringValue(operation, source, "scheduleId"),
228
- actionId: stringValue(operation, source, "actionId"),
233
+ ...(actionId === undefined ? {} : { actionId }),
234
+ ...(target === undefined ? {} : { target }),
229
235
  recurrence: recurrence,
230
236
  status: status,
231
237
  ...(nextRunAt === undefined ? {} : { nextRunAt }),
232
238
  };
233
239
  }
240
+ function automationTargetValue(operation, value) {
241
+ if (value === undefined)
242
+ return undefined;
243
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
244
+ return invalid(operation, "automation.target must be an object");
245
+ }
246
+ const source = value;
247
+ const kind = stringValue(operation, source, "kind");
248
+ if (kind === "action") {
249
+ const actionType = stringValue(operation, source, "actionType");
250
+ if (!actionType.startsWith("qi/"))
251
+ return invalid(operation, "automation action target must use a qi/ action type");
252
+ return { kind, actionType };
253
+ }
254
+ if (kind === "flow")
255
+ return { kind, bindingId: stringValue(operation, source, "bindingId") };
256
+ return invalid(operation, `automation target kind is not supported: ${kind}`);
257
+ }
234
258
  function statusValue(operation) {
235
259
  const status = stringValue(operation, operation.payload, "status");
236
260
  if (!TOPIC_STATUSES.includes(status)) {
@@ -316,7 +340,39 @@ function parseWorkBridgePayload(operation) {
316
340
  return undefined;
317
341
  }
318
342
  }
343
+ function parseActionRuntimePayload(operation) {
344
+ switch (operation.type) {
345
+ case "bind-flow":
346
+ case "update-flow-binding":
347
+ return { kind: operation.type, binding: embeddedContract(operation, "binding", "topic-flow-binding") };
348
+ case "unbind-flow":
349
+ return {
350
+ kind: operation.type,
351
+ bindingId: stringValue(operation, operation.payload, "bindingId"),
352
+ reason: stringValue(operation, operation.payload, "reason"),
353
+ };
354
+ case "request-action":
355
+ return { kind: operation.type, request: embeddedContract(operation, "request", "topic-action-request") };
356
+ case "cancel-action":
357
+ return {
358
+ kind: operation.type,
359
+ requestId: stringValue(operation, operation.payload, "requestId"),
360
+ reason: stringValue(operation, operation.payload, "reason"),
361
+ };
362
+ case "record-action-receipt": {
363
+ const receipt = embeddedContract(operation, "receipt", "action-receipt");
364
+ if (receipt.version !== 2)
365
+ return invalid(operation, "record-action-receipt requires an ActionReceiptV2");
366
+ return { kind: operation.type, receipt: receipt };
367
+ }
368
+ default:
369
+ return undefined;
370
+ }
371
+ }
319
372
  export function parsePayload(operation) {
373
+ const actionRuntime = parseActionRuntimePayload(operation);
374
+ if (actionRuntime !== undefined)
375
+ return actionRuntime;
320
376
  const workBridge = parseWorkBridgePayload(operation);
321
377
  if (workBridge !== undefined)
322
378
  return workBridge;
@@ -1 +1 @@
1
- {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/projector/payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/projector/payload.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export function initialState(root, anchor) {
14
14
  decisions: [],
15
15
  contracts: {},
16
16
  automations: [],
17
+ flowBindings: [],
18
+ actions: [],
17
19
  workBridge: emptyTopicWorkBridgeProjection(),
18
20
  ...(root.overview === undefined
19
21
  ? {}
@@ -145,6 +147,147 @@ function applyAutomation(state, operation) {
145
147
  }
146
148
  return state;
147
149
  }
150
+ function invalidRuntimeOperation(operation, message) {
151
+ throw new TopicProtocolError("INVALID_OPERATION_PAYLOAD", `${operation.type} ${operation.operationId}: ${message}`, { operationId: operation.operationId, operationType: operation.type });
152
+ }
153
+ function applyFlowBinding(state, operation) {
154
+ const payload = operation.parsedPayload;
155
+ if (payload.kind === "unbind-flow") {
156
+ const existing = state.flowBindings.some((binding) => binding.bindingId === payload.bindingId);
157
+ if (!existing)
158
+ return invalidRuntimeOperation(operation, `unknown flow binding: ${payload.bindingId}`);
159
+ return { ...state, flowBindings: state.flowBindings.filter((binding) => binding.bindingId !== payload.bindingId) };
160
+ }
161
+ if (payload.kind !== "bind-flow" && payload.kind !== "update-flow-binding")
162
+ return state;
163
+ if (payload.binding.topicId !== state.topicId)
164
+ return invalidRuntimeOperation(operation, "flow binding topicId does not match the Topic");
165
+ const existing = state.flowBindings.find((binding) => binding.bindingId === payload.binding.bindingId);
166
+ if (payload.kind === "bind-flow" && existing !== undefined)
167
+ return invalidRuntimeOperation(operation, `flow binding already exists: ${payload.binding.bindingId}`);
168
+ if (payload.kind === "update-flow-binding" && existing === undefined)
169
+ return invalidRuntimeOperation(operation, `unknown flow binding: ${payload.binding.bindingId}`);
170
+ if (payload.kind === "update-flow-binding" && existing !== undefined) {
171
+ const previousCapabilities = [...existing.capabilityReferences].sort();
172
+ const nextCapabilities = [...payload.binding.capabilityReferences].sort();
173
+ if (existing.capability !== payload.binding.capability || JSON.stringify(previousCapabilities) !== JSON.stringify(nextCapabilities)) {
174
+ return invalidRuntimeOperation(operation, "flow binding update cannot replace or widen capability references");
175
+ }
176
+ if (existing.controllerDid !== payload.binding.controllerDid) {
177
+ return invalidRuntimeOperation(operation, "flow binding controller cannot change; unbind and bind a new controller");
178
+ }
179
+ }
180
+ const competingPrimary = state.flowBindings.find((binding) => binding.bindingId !== payload.binding.bindingId
181
+ && binding.role === "primary"
182
+ && ["pending", "active", "paused"].includes(binding.status));
183
+ if (payload.binding.role === "primary" && ["pending", "active", "paused"].includes(payload.binding.status) && competingPrimary !== undefined) {
184
+ return invalidRuntimeOperation(operation, `active primary flow binding already exists: ${competingPrimary.bindingId}`);
185
+ }
186
+ const retained = state.flowBindings.filter((binding) => binding.bindingId !== payload.binding.bindingId);
187
+ return { ...state, flowBindings: [...retained, payload.binding].sort((left, right) => compareText(left.bindingId, right.bindingId)) };
188
+ }
189
+ const TERMINAL_ACTION_STATUSES = new Set(["succeeded", "failed", "rejected", "cancelled"]);
190
+ const ALLOWED_ACTION_RECEIPT_TRANSITIONS = {
191
+ requested: ["requested", "awaiting_confirmation", "running", "succeeded", "failed", "rejected", "cancelled", "needs_verification"],
192
+ awaiting_confirmation: ["awaiting_confirmation", "running", "succeeded", "failed", "rejected", "cancelled", "needs_verification"],
193
+ running: ["running", "succeeded", "failed", "rejected", "cancelled", "needs_verification"],
194
+ needs_verification: ["needs_verification", "succeeded", "failed", "rejected", "cancelled"],
195
+ };
196
+ function applyActionRequest(state, operation) {
197
+ const payload = operation.parsedPayload;
198
+ if (payload.kind !== "request-action")
199
+ return state;
200
+ const request = payload.request;
201
+ if (request.topicId !== state.topicId)
202
+ return invalidRuntimeOperation(operation, "action request topicId does not match the Topic");
203
+ if (request.topicRevision !== operation.previousRevision)
204
+ return invalidRuntimeOperation(operation, "action request topicRevision must equal previousRevision");
205
+ if (request.flowBindingId !== undefined && !state.flowBindings.some((binding) => binding.bindingId === request.flowBindingId)) {
206
+ return invalidRuntimeOperation(operation, `unknown flow binding: ${request.flowBindingId}`);
207
+ }
208
+ if (state.actions.some((action) => action.request.requestId === request.requestId)) {
209
+ return invalidRuntimeOperation(operation, `action request already exists: ${request.requestId}`);
210
+ }
211
+ const projected = {
212
+ request,
213
+ status: request.confirmation === "required" ? "awaiting_confirmation" : "requested",
214
+ operationId: operation.operationId,
215
+ };
216
+ return {
217
+ ...state,
218
+ actions: [...state.actions, projected]
219
+ .sort((left, right) => compareText(left.request.requestId, right.request.requestId)),
220
+ };
221
+ }
222
+ function applyActionCancellation(state, operation) {
223
+ const payload = operation.parsedPayload;
224
+ if (payload.kind !== "cancel-action")
225
+ return state;
226
+ const target = state.actions.find((action) => action.request.requestId === payload.requestId);
227
+ if (target === undefined)
228
+ return invalidRuntimeOperation(operation, `unknown action request: ${payload.requestId}`);
229
+ if (TERMINAL_ACTION_STATUSES.has(target.status))
230
+ return invalidRuntimeOperation(operation, `action request is already terminal: ${payload.requestId}`);
231
+ return {
232
+ ...state,
233
+ actions: state.actions.map((action) => action === target ? { ...action, status: "cancelled", operationId: operation.operationId } : action),
234
+ };
235
+ }
236
+ function validateActionReceipt(target, receipt, state, operation) {
237
+ if (receipt.topicId !== state.topicId || receipt.topicRevision !== target.request.topicRevision) {
238
+ return invalidRuntimeOperation(operation, "receipt Topic identity or revision does not match its request");
239
+ }
240
+ if (receipt.action.type !== target.request.actionType || receipt.action.contractDigest !== target.request.actionContractDigest) {
241
+ return invalidRuntimeOperation(operation, "receipt Action contract does not match its request");
242
+ }
243
+ if (receipt.runtime.provider !== target.request.executor)
244
+ return invalidRuntimeOperation(operation, "receipt runtime provider does not match its request");
245
+ if (receipt.input.digest !== target.request.inputs.digest)
246
+ return invalidRuntimeOperation(operation, "receipt input digest does not match its request");
247
+ if (receipt.idempotencyKey !== target.request.idempotencyKey)
248
+ return invalidRuntimeOperation(operation, "receipt idempotency key does not match its request");
249
+ if (receipt.runtime.bindingId !== target.request.flowBindingId)
250
+ return invalidRuntimeOperation(operation, "receipt flow binding does not match its request");
251
+ const previous = target.latestReceipt;
252
+ if (previous?.receiptId === receipt.receiptId && previous.sequence === receipt.sequence && JSON.stringify(previous) === JSON.stringify(receipt))
253
+ return "duplicate";
254
+ if (previous !== undefined && receipt.sequence <= previous.sequence)
255
+ return invalidRuntimeOperation(operation, "receipt sequence must increase monotonically");
256
+ if (TERMINAL_ACTION_STATUSES.has(target.status))
257
+ return invalidRuntimeOperation(operation, `action request is already terminal: ${receipt.requestId}`);
258
+ if (target.request.confirmation === "required"
259
+ && !["awaiting_confirmation", "rejected", "cancelled"].includes(receipt.status)
260
+ && receipt.authorization.confirmation === undefined) {
261
+ return invalidRuntimeOperation(operation, "receipt cannot execute a confirmation-required request without a confirmation reference");
262
+ }
263
+ if (!ALLOWED_ACTION_RECEIPT_TRANSITIONS[target.status]?.includes(receipt.status)) {
264
+ return invalidRuntimeOperation(operation, `invalid Action receipt transition: ${target.status} -> ${receipt.status}`);
265
+ }
266
+ return "valid";
267
+ }
268
+ function applyActionReceipt(state, operation) {
269
+ const payload = operation.parsedPayload;
270
+ if (payload.kind !== "record-action-receipt")
271
+ return state;
272
+ const receipt = payload.receipt;
273
+ const target = state.actions.find((action) => action.request.requestId === receipt.requestId);
274
+ if (target === undefined)
275
+ return invalidRuntimeOperation(operation, `unknown action request: ${receipt.requestId}`);
276
+ if (validateActionReceipt(target, receipt, state, operation) === "duplicate")
277
+ return state;
278
+ return {
279
+ ...state,
280
+ actions: state.actions.map((action) => action === target
281
+ ? { ...action, latestReceipt: receipt, status: receipt.status, operationId: operation.operationId }
282
+ : action),
283
+ };
284
+ }
285
+ function applyActionRuntime(state, operation) {
286
+ let updated = applyFlowBinding(state, operation);
287
+ updated = applyActionRequest(updated, operation);
288
+ updated = applyActionCancellation(updated, operation);
289
+ return applyActionReceipt(updated, operation);
290
+ }
148
291
  function applyRedirect(state, operation) {
149
292
  const payload = operation.parsedPayload;
150
293
  if (payload.kind !== "redirect")
@@ -187,6 +330,7 @@ export function applyOperation(state, operation) {
187
330
  updated = applyDecision(updated, operation);
188
331
  updated = applyContract(updated, operation);
189
332
  updated = applyAutomation(updated, operation);
333
+ updated = applyActionRuntime(updated, operation);
190
334
  updated = {
191
335
  ...updated,
192
336
  workBridge: applyWorkBridgeOperation(updated.workBridge, operation, updated.contracts.effective),