@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.
- package/README.md +4 -2
- package/dist/schemas/action-receipt.schema.json +105 -11
- package/dist/schemas/decision-to-pay-template.schema.json +346 -0
- package/dist/schemas/payable-obligation.schema.json +312 -0
- package/dist/schemas/payment-terms.schema.json +287 -0
- package/dist/schemas/topic-action-request.schema.json +30 -0
- package/dist/schemas/topic-contract-state.schema.json +29 -3
- package/dist/schemas/topic-flow-binding.schema.json +28 -0
- package/dist/schemas/topic-kind-profile.schema.json +32 -2
- package/dist/schemas/topic-operation.schema.json +2 -2
- package/dist/src/action-runtime/types.d.ts +101 -0
- package/dist/src/action-runtime/types.js +12 -0
- package/dist/src/action-runtime/types.js.map +1 -0
- package/dist/src/contracts/schemas.d.ts +2608 -463
- package/dist/src/contracts/schemas.js +10 -0
- package/dist/src/contracts/schemas.js.map +1 -1
- package/dist/src/contracts/topic-contract.d.ts +8 -1
- package/dist/src/contracts/topic-contract.js.map +1 -1
- package/dist/src/contracts/topic-kind-profile.d.ts +29 -0
- package/dist/src/contracts/topic-kind-profile.js +31 -0
- package/dist/src/contracts/topic-kind-profile.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/projector/payload.d.ts +18 -0
- package/dist/src/projector/payload.js +57 -1
- package/dist/src/projector/payload.js.map +1 -1
- package/dist/src/projector/state.js +144 -0
- package/dist/src/projector/state.js.map +1 -1
- package/dist/src/projector/types.d.ts +13 -3
- package/dist/src/projector/types.js.map +1 -1
- package/package.json +4 -2
- package/templates/decision-to-pay/README.md +59 -0
- package/templates/decision-to-pay/milestone-payment-release.template.json +195 -0
- package/templates/decision-to-pay/outcome-payment-claim.template.json +198 -0
- package/templates/decision-to-pay/payment-on-delivery.template.json +198 -0
- 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
|
|
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":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM;IACN,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,UAAU;CACF,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS;IACT,MAAM;IACN,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,UAAU;CACF,CAAC;
|
|
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":"AAAA,OAAO,kBAAkB,MAAM,sCAAsC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE5F,OAAO,EAAE,oBAAoB,EAA4J,MAAM,qBAAqB,CAAC;AACrN,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"topic-kind-profile.js","sourceRoot":"","sources":["../../../src/contracts/topic-kind-profile.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -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";
|
package/dist/src/index.js.map
CHANGED
|
@@ -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,
|
|
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:
|
|
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),
|