xytara 1.22.0 → 1.24.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 +18 -0
- package/index.js +1 -1
- package/lib/commerce_client.js +96 -0
- package/package.json +1 -1
- package/server.js +290 -0
package/README.md
CHANGED
|
@@ -226,6 +226,24 @@ The current `1.22.0` line starts turning that adapter-stable operating contract
|
|
|
226
226
|
|
|
227
227
|
This is intended to make the transaction-side continuation path easier to rely on operationally as a durable public interface instead of only a stable operating contract shape.
|
|
228
228
|
|
|
229
|
+
The current `1.23.0` line starts turning that adapter-reliable operating interface into a clearer adapter-integrable operating path:
|
|
230
|
+
|
|
231
|
+
- operating-integration summaries on top of the default operating-interface path
|
|
232
|
+
- compact operating-integration bundles for direct adapter-facing integration posture
|
|
233
|
+
- default operating-integration summaries for the next proof-side operating-integration run posture
|
|
234
|
+
- clearer operating-integration ids and stable integrable carry
|
|
235
|
+
|
|
236
|
+
This is intended to make the transaction-side continuation path easier to plug into adapters directly as a durable public operating path instead of only a reliable interface shape.
|
|
237
|
+
|
|
238
|
+
The current `1.24.0` line starts turning that adapter-integrable operating path into a clearer adapter-ready default path:
|
|
239
|
+
|
|
240
|
+
- operating-path summaries on top of the default operating-integration path
|
|
241
|
+
- compact operating-path bundles for direct adapter-facing default-path posture
|
|
242
|
+
- default operating-path summaries for the next proof-side operating-path run posture
|
|
243
|
+
- clearer operating-path ids and stable default-path carry
|
|
244
|
+
|
|
245
|
+
This is intended to make the transaction-side continuation path easier to use as the obvious first public adapter path instead of only a path that is integrable with a little extra coordination.
|
|
246
|
+
|
|
229
247
|
## Package Surface
|
|
230
248
|
|
|
231
249
|
The SDK is broad, but it stays organized into a few repeatable families instead of one-off surfaces.
|
package/index.js
CHANGED
package/lib/commerce_client.js
CHANGED
|
@@ -4872,6 +4872,102 @@ class CommerceClient {
|
|
|
4872
4872
|
});
|
|
4873
4873
|
}
|
|
4874
4874
|
|
|
4875
|
+
async prepareInteractionResultPackageOperatingIntegrationSummary(continuationRef, body, options) {
|
|
4876
|
+
const opts = options || {};
|
|
4877
|
+
return this.runNamedTaskRoute("/v1/transaction-center/result-package-continuations/prepare/operating-integration-summary", {
|
|
4878
|
+
command: opts.command || String(continuationRef || "").trim() || "result.package.continuation.operating.integration.summary",
|
|
4879
|
+
continuation_ref: String(continuationRef || "").trim(),
|
|
4880
|
+
body: body || {},
|
|
4881
|
+
callback_url: opts.callbackUrl || null,
|
|
4882
|
+
settlement_mode: opts.settlementMode || null,
|
|
4883
|
+
payment_protocol: opts.paymentProtocol || null,
|
|
4884
|
+
protocol: opts.protocol || null,
|
|
4885
|
+
integration_id: opts.integrationId || null,
|
|
4886
|
+
integration_ids: Array.isArray(opts.integrationIds) ? opts.integrationIds : [],
|
|
4887
|
+
integration_context: opts.integrationContext || null
|
|
4888
|
+
});
|
|
4889
|
+
}
|
|
4890
|
+
|
|
4891
|
+
async prepareInteractionResultPackageOperatingIntegrationBundle(continuationRef, body, options) {
|
|
4892
|
+
const opts = options || {};
|
|
4893
|
+
return this.runNamedTaskRoute("/v1/transaction-center/result-package-continuations/prepare/operating-integration-bundle", {
|
|
4894
|
+
command: opts.command || String(continuationRef || "").trim() || "result.package.continuation.operating.integration.bundle",
|
|
4895
|
+
continuation_ref: String(continuationRef || "").trim(),
|
|
4896
|
+
body: body || {},
|
|
4897
|
+
callback_url: opts.callbackUrl || null,
|
|
4898
|
+
settlement_mode: opts.settlementMode || null,
|
|
4899
|
+
payment_protocol: opts.paymentProtocol || null,
|
|
4900
|
+
protocol: opts.protocol || null,
|
|
4901
|
+
integration_id: opts.integrationId || null,
|
|
4902
|
+
integration_ids: Array.isArray(opts.integrationIds) ? opts.integrationIds : [],
|
|
4903
|
+
integration_context: opts.integrationContext || null
|
|
4904
|
+
});
|
|
4905
|
+
}
|
|
4906
|
+
|
|
4907
|
+
async prepareInteractionResultPackageOperatingIntegrationDefaultSummary(continuationRef, body, options) {
|
|
4908
|
+
const opts = options || {};
|
|
4909
|
+
return this.runNamedTaskRoute("/v1/transaction-center/result-package-continuations/prepare/operating-integration-default-summary", {
|
|
4910
|
+
command: opts.command || String(continuationRef || "").trim() || "result.package.continuation.operating.integration.default.summary",
|
|
4911
|
+
continuation_ref: String(continuationRef || "").trim(),
|
|
4912
|
+
body: body || {},
|
|
4913
|
+
callback_url: opts.callbackUrl || null,
|
|
4914
|
+
settlement_mode: opts.settlementMode || null,
|
|
4915
|
+
payment_protocol: opts.paymentProtocol || null,
|
|
4916
|
+
protocol: opts.protocol || null,
|
|
4917
|
+
integration_id: opts.integrationId || null,
|
|
4918
|
+
integration_ids: Array.isArray(opts.integrationIds) ? opts.integrationIds : [],
|
|
4919
|
+
integration_context: opts.integrationContext || null
|
|
4920
|
+
});
|
|
4921
|
+
}
|
|
4922
|
+
|
|
4923
|
+
async prepareInteractionResultPackageOperatingPathSummary(continuationRef, body, options) {
|
|
4924
|
+
const opts = options || {};
|
|
4925
|
+
return this.runNamedTaskRoute("/v1/transaction-center/result-package-continuations/prepare/operating-path-summary", {
|
|
4926
|
+
command: opts.command || String(continuationRef || "").trim() || "result.package.continuation.operating.path.summary",
|
|
4927
|
+
continuation_ref: String(continuationRef || "").trim(),
|
|
4928
|
+
body: body || {},
|
|
4929
|
+
callback_url: opts.callbackUrl || null,
|
|
4930
|
+
settlement_mode: opts.settlementMode || null,
|
|
4931
|
+
payment_protocol: opts.paymentProtocol || null,
|
|
4932
|
+
protocol: opts.protocol || null,
|
|
4933
|
+
integration_id: opts.integrationId || null,
|
|
4934
|
+
integration_ids: Array.isArray(opts.integrationIds) ? opts.integrationIds : [],
|
|
4935
|
+
integration_context: opts.integrationContext || null
|
|
4936
|
+
});
|
|
4937
|
+
}
|
|
4938
|
+
|
|
4939
|
+
async prepareInteractionResultPackageOperatingPathBundle(continuationRef, body, options) {
|
|
4940
|
+
const opts = options || {};
|
|
4941
|
+
return this.runNamedTaskRoute("/v1/transaction-center/result-package-continuations/prepare/operating-path-bundle", {
|
|
4942
|
+
command: opts.command || String(continuationRef || "").trim() || "result.package.continuation.operating.path.bundle",
|
|
4943
|
+
continuation_ref: String(continuationRef || "").trim(),
|
|
4944
|
+
body: body || {},
|
|
4945
|
+
callback_url: opts.callbackUrl || null,
|
|
4946
|
+
settlement_mode: opts.settlementMode || null,
|
|
4947
|
+
payment_protocol: opts.paymentProtocol || null,
|
|
4948
|
+
protocol: opts.protocol || null,
|
|
4949
|
+
integration_id: opts.integrationId || null,
|
|
4950
|
+
integration_ids: Array.isArray(opts.integrationIds) ? opts.integrationIds : [],
|
|
4951
|
+
integration_context: opts.integrationContext || null
|
|
4952
|
+
});
|
|
4953
|
+
}
|
|
4954
|
+
|
|
4955
|
+
async prepareInteractionResultPackageOperatingPathDefaultSummary(continuationRef, body, options) {
|
|
4956
|
+
const opts = options || {};
|
|
4957
|
+
return this.runNamedTaskRoute("/v1/transaction-center/result-package-continuations/prepare/operating-path-default-summary", {
|
|
4958
|
+
command: opts.command || String(continuationRef || "").trim() || "result.package.continuation.operating.path.default.summary",
|
|
4959
|
+
continuation_ref: String(continuationRef || "").trim(),
|
|
4960
|
+
body: body || {},
|
|
4961
|
+
callback_url: opts.callbackUrl || null,
|
|
4962
|
+
settlement_mode: opts.settlementMode || null,
|
|
4963
|
+
payment_protocol: opts.paymentProtocol || null,
|
|
4964
|
+
protocol: opts.protocol || null,
|
|
4965
|
+
integration_id: opts.integrationId || null,
|
|
4966
|
+
integration_ids: Array.isArray(opts.integrationIds) ? opts.integrationIds : [],
|
|
4967
|
+
integration_context: opts.integrationContext || null
|
|
4968
|
+
});
|
|
4969
|
+
}
|
|
4970
|
+
|
|
4875
4971
|
async runNamedTaskRoute(path, payload) {
|
|
4876
4972
|
if (!this.apiKey || !this.walletId || !this.walletSecret) {
|
|
4877
4973
|
throw new Error("named task routes require apiKey, walletId, and walletSecret");
|
package/package.json
CHANGED
package/server.js
CHANGED
|
@@ -1776,6 +1776,110 @@ function buildPreparedContinuationDefaultOperatingInterfaceSummary(portableHando
|
|
|
1776
1776
|
};
|
|
1777
1777
|
}
|
|
1778
1778
|
|
|
1779
|
+
function buildPreparedContinuationAdapterIntegrableOperatingIntegrationSummary(portableHandoff, continuation) {
|
|
1780
|
+
const operatingInterface = buildPreparedContinuationDefaultOperatingInterfaceSummary(portableHandoff, continuation);
|
|
1781
|
+
return {
|
|
1782
|
+
ok: operatingInterface.ok === true,
|
|
1783
|
+
default_operating_interface_ref: operatingInterface.default_operating_interface_ref || null,
|
|
1784
|
+
operating_integration_ref: operatingInterface.default_operating_interface_ref
|
|
1785
|
+
? `integration.${operatingInterface.default_operating_interface_ref}`
|
|
1786
|
+
: null,
|
|
1787
|
+
integrable_operating_ids: Array.isArray(operatingInterface.stable_default_operating_interface_ids)
|
|
1788
|
+
? operatingInterface.stable_default_operating_interface_ids
|
|
1789
|
+
: [],
|
|
1790
|
+
operating_integration_carry: operatingInterface.default_operating_interface_carry || {},
|
|
1791
|
+
adapter_integrable: operatingInterface.operating_interface_reliable_by_default === true,
|
|
1792
|
+
next_surface: "/v1/proof-center/result-package-handoff/review/operating-integration"
|
|
1793
|
+
};
|
|
1794
|
+
}
|
|
1795
|
+
|
|
1796
|
+
function buildPreparedContinuationAdapterIntegrableOperatingIntegrationBundle(portableHandoff, continuation) {
|
|
1797
|
+
const handoff = portableHandoff && typeof portableHandoff === "object" ? portableHandoff : {};
|
|
1798
|
+
const summary = buildPreparedContinuationAdapterIntegrableOperatingIntegrationSummary(portableHandoff, continuation);
|
|
1799
|
+
return {
|
|
1800
|
+
ok: true,
|
|
1801
|
+
operating_integration_summary: summary,
|
|
1802
|
+
operating_integration_template: {
|
|
1803
|
+
ok: true,
|
|
1804
|
+
operating_integration_ref: summary.operating_integration_ref || null,
|
|
1805
|
+
target_surface: "/v1/proof-center/result-package-handoff/review/operating-integration",
|
|
1806
|
+
request_template: {
|
|
1807
|
+
handoff_bundle: handoff
|
|
1808
|
+
},
|
|
1809
|
+
stable_boundary_ids: Array.isArray(summary.integrable_operating_ids) ? summary.integrable_operating_ids : []
|
|
1810
|
+
}
|
|
1811
|
+
};
|
|
1812
|
+
}
|
|
1813
|
+
|
|
1814
|
+
function buildPreparedContinuationDefaultOperatingIntegrationSummary(portableHandoff, continuation) {
|
|
1815
|
+
const operatingIntegration = buildPreparedContinuationAdapterIntegrableOperatingIntegrationSummary(portableHandoff, continuation);
|
|
1816
|
+
return {
|
|
1817
|
+
ok: operatingIntegration.ok === true,
|
|
1818
|
+
operating_integration_ref: operatingIntegration.operating_integration_ref || null,
|
|
1819
|
+
default_operating_integration_ref: operatingIntegration.operating_integration_ref
|
|
1820
|
+
? `default.${operatingIntegration.operating_integration_ref}`
|
|
1821
|
+
: null,
|
|
1822
|
+
stable_default_operating_integration_ids: Array.isArray(operatingIntegration.integrable_operating_ids)
|
|
1823
|
+
? operatingIntegration.integrable_operating_ids
|
|
1824
|
+
: [],
|
|
1825
|
+
default_operating_integration_carry: operatingIntegration.operating_integration_carry || {},
|
|
1826
|
+
operating_integration_integrable_by_default: operatingIntegration.adapter_integrable === true,
|
|
1827
|
+
next_surface: "/v1/proof-center/result-package-handoff/review/operating-integration-run"
|
|
1828
|
+
};
|
|
1829
|
+
}
|
|
1830
|
+
|
|
1831
|
+
function buildPreparedContinuationAdapterDefaultOperatingPathSummary(portableHandoff, continuation) {
|
|
1832
|
+
const operatingIntegration = buildPreparedContinuationDefaultOperatingIntegrationSummary(portableHandoff, continuation);
|
|
1833
|
+
return {
|
|
1834
|
+
ok: operatingIntegration.ok === true,
|
|
1835
|
+
default_operating_integration_ref: operatingIntegration.default_operating_integration_ref || null,
|
|
1836
|
+
operating_path_ref: operatingIntegration.default_operating_integration_ref
|
|
1837
|
+
? `path.${operatingIntegration.default_operating_integration_ref}`
|
|
1838
|
+
: null,
|
|
1839
|
+
default_operating_path_ids: Array.isArray(operatingIntegration.stable_default_operating_integration_ids)
|
|
1840
|
+
? operatingIntegration.stable_default_operating_integration_ids
|
|
1841
|
+
: [],
|
|
1842
|
+
operating_path_carry: operatingIntegration.default_operating_integration_carry || {},
|
|
1843
|
+
adapter_ready_by_default: operatingIntegration.operating_integration_integrable_by_default === true,
|
|
1844
|
+
next_surface: "/v1/proof-center/result-package-handoff/review/operating-path"
|
|
1845
|
+
};
|
|
1846
|
+
}
|
|
1847
|
+
|
|
1848
|
+
function buildPreparedContinuationAdapterDefaultOperatingPathBundle(portableHandoff, continuation) {
|
|
1849
|
+
const handoff = portableHandoff && typeof portableHandoff === "object" ? portableHandoff : {};
|
|
1850
|
+
const summary = buildPreparedContinuationAdapterDefaultOperatingPathSummary(portableHandoff, continuation);
|
|
1851
|
+
return {
|
|
1852
|
+
ok: true,
|
|
1853
|
+
operating_path_summary: summary,
|
|
1854
|
+
operating_path_template: {
|
|
1855
|
+
ok: true,
|
|
1856
|
+
operating_path_ref: summary.operating_path_ref || null,
|
|
1857
|
+
target_surface: "/v1/proof-center/result-package-handoff/review/operating-path",
|
|
1858
|
+
request_template: {
|
|
1859
|
+
handoff_bundle: handoff
|
|
1860
|
+
},
|
|
1861
|
+
stable_boundary_ids: Array.isArray(summary.default_operating_path_ids) ? summary.default_operating_path_ids : []
|
|
1862
|
+
}
|
|
1863
|
+
};
|
|
1864
|
+
}
|
|
1865
|
+
|
|
1866
|
+
function buildPreparedContinuationDefaultOperatingPathRunSummary(portableHandoff, continuation) {
|
|
1867
|
+
const operatingPath = buildPreparedContinuationAdapterDefaultOperatingPathSummary(portableHandoff, continuation);
|
|
1868
|
+
return {
|
|
1869
|
+
ok: operatingPath.ok === true,
|
|
1870
|
+
operating_path_ref: operatingPath.operating_path_ref || null,
|
|
1871
|
+
default_operating_path_ref: operatingPath.operating_path_ref
|
|
1872
|
+
? `default.${operatingPath.operating_path_ref}`
|
|
1873
|
+
: null,
|
|
1874
|
+
stable_default_operating_path_ids: Array.isArray(operatingPath.default_operating_path_ids)
|
|
1875
|
+
? operatingPath.default_operating_path_ids
|
|
1876
|
+
: [],
|
|
1877
|
+
default_operating_path_carry: operatingPath.operating_path_carry || {},
|
|
1878
|
+
operating_path_ready_by_default: operatingPath.adapter_ready_by_default === true,
|
|
1879
|
+
next_surface: "/v1/proof-center/result-package-handoff/review/operating-path-run"
|
|
1880
|
+
};
|
|
1881
|
+
}
|
|
1882
|
+
|
|
1779
1883
|
function buildInteractionResultPackageContinuationRequestTemplate(portableHandoff, continuation) {
|
|
1780
1884
|
const handoff = portableHandoff && typeof portableHandoff === "object" ? portableHandoff : {};
|
|
1781
1885
|
return {
|
|
@@ -3680,6 +3784,192 @@ async function routeRequest(req, res) {
|
|
|
3680
3784
|
return;
|
|
3681
3785
|
}
|
|
3682
3786
|
|
|
3787
|
+
if (req.method === "POST" && url.pathname === "/v1/transaction-center/result-package-continuations/prepare/operating-integration-summary") {
|
|
3788
|
+
const body = await readJsonBody(req);
|
|
3789
|
+
const continuationRef = String(body && body.continuation_ref || "").trim();
|
|
3790
|
+
const continuation = getInteractionResultPackageContinuation(continuationRef);
|
|
3791
|
+
if (!continuation) {
|
|
3792
|
+
sendJson(res, 404, { ok: false, error: "result_package_continuation_not_found" });
|
|
3793
|
+
return;
|
|
3794
|
+
}
|
|
3795
|
+
const resultPackage = getInteractionResultPackage(continuation.result_package_ref);
|
|
3796
|
+
if (!resultPackage) {
|
|
3797
|
+
sendJson(res, 404, { ok: false, error: "result_package_not_found" });
|
|
3798
|
+
return;
|
|
3799
|
+
}
|
|
3800
|
+
const payload = buildInteractionSpinePathRunPayload({
|
|
3801
|
+
...(body && typeof body === "object" && !Array.isArray(body) ? body : {}),
|
|
3802
|
+
spine_path_ref: resultPackage.source_ref
|
|
3803
|
+
});
|
|
3804
|
+
if (!payload) {
|
|
3805
|
+
sendJson(res, 404, { ok: false, error: "result_package_continuation_not_found" });
|
|
3806
|
+
return;
|
|
3807
|
+
}
|
|
3808
|
+
const result = executeCommandRequest(state, payload, req.headers);
|
|
3809
|
+
if (result.status !== 200) {
|
|
3810
|
+
sendJson(res, result.status, result.payload);
|
|
3811
|
+
return;
|
|
3812
|
+
}
|
|
3813
|
+
const portableHandoff = buildInteractionResultPackagePortableHandoff(result.payload, resultPackage);
|
|
3814
|
+
sendJson(res, 200, buildPreparedContinuationAdapterIntegrableOperatingIntegrationSummary(portableHandoff, continuation));
|
|
3815
|
+
return;
|
|
3816
|
+
}
|
|
3817
|
+
|
|
3818
|
+
if (req.method === "POST" && url.pathname === "/v1/transaction-center/result-package-continuations/prepare/operating-integration-bundle") {
|
|
3819
|
+
const body = await readJsonBody(req);
|
|
3820
|
+
const continuationRef = String(body && body.continuation_ref || "").trim();
|
|
3821
|
+
const continuation = getInteractionResultPackageContinuation(continuationRef);
|
|
3822
|
+
if (!continuation) {
|
|
3823
|
+
sendJson(res, 404, { ok: false, error: "result_package_continuation_not_found" });
|
|
3824
|
+
return;
|
|
3825
|
+
}
|
|
3826
|
+
const resultPackage = getInteractionResultPackage(continuation.result_package_ref);
|
|
3827
|
+
if (!resultPackage) {
|
|
3828
|
+
sendJson(res, 404, { ok: false, error: "result_package_not_found" });
|
|
3829
|
+
return;
|
|
3830
|
+
}
|
|
3831
|
+
const payload = buildInteractionSpinePathRunPayload({
|
|
3832
|
+
...(body && typeof body === "object" && !Array.isArray(body) ? body : {}),
|
|
3833
|
+
spine_path_ref: resultPackage.source_ref
|
|
3834
|
+
});
|
|
3835
|
+
if (!payload) {
|
|
3836
|
+
sendJson(res, 404, { ok: false, error: "result_package_continuation_not_found" });
|
|
3837
|
+
return;
|
|
3838
|
+
}
|
|
3839
|
+
const result = executeCommandRequest(state, payload, req.headers);
|
|
3840
|
+
if (result.status !== 200) {
|
|
3841
|
+
sendJson(res, result.status, result.payload);
|
|
3842
|
+
return;
|
|
3843
|
+
}
|
|
3844
|
+
const portableHandoff = buildInteractionResultPackagePortableHandoff(result.payload, resultPackage);
|
|
3845
|
+
sendJson(res, 200, buildPreparedContinuationAdapterIntegrableOperatingIntegrationBundle(portableHandoff, continuation));
|
|
3846
|
+
return;
|
|
3847
|
+
}
|
|
3848
|
+
|
|
3849
|
+
if (req.method === "POST" && url.pathname === "/v1/transaction-center/result-package-continuations/prepare/operating-integration-default-summary") {
|
|
3850
|
+
const body = await readJsonBody(req);
|
|
3851
|
+
const continuationRef = String(body && body.continuation_ref || "").trim();
|
|
3852
|
+
const continuation = getInteractionResultPackageContinuation(continuationRef);
|
|
3853
|
+
if (!continuation) {
|
|
3854
|
+
sendJson(res, 404, { ok: false, error: "result_package_continuation_not_found" });
|
|
3855
|
+
return;
|
|
3856
|
+
}
|
|
3857
|
+
const resultPackage = getInteractionResultPackage(continuation.result_package_ref);
|
|
3858
|
+
if (!resultPackage) {
|
|
3859
|
+
sendJson(res, 404, { ok: false, error: "result_package_not_found" });
|
|
3860
|
+
return;
|
|
3861
|
+
}
|
|
3862
|
+
const payload = buildInteractionSpinePathRunPayload({
|
|
3863
|
+
...(body && typeof body === "object" && !Array.isArray(body) ? body : {}),
|
|
3864
|
+
spine_path_ref: resultPackage.source_ref
|
|
3865
|
+
});
|
|
3866
|
+
if (!payload) {
|
|
3867
|
+
sendJson(res, 404, { ok: false, error: "result_package_continuation_not_found" });
|
|
3868
|
+
return;
|
|
3869
|
+
}
|
|
3870
|
+
const result = executeCommandRequest(state, payload, req.headers);
|
|
3871
|
+
if (result.status !== 200) {
|
|
3872
|
+
sendJson(res, result.status, result.payload);
|
|
3873
|
+
return;
|
|
3874
|
+
}
|
|
3875
|
+
const portableHandoff = buildInteractionResultPackagePortableHandoff(result.payload, resultPackage);
|
|
3876
|
+
sendJson(res, 200, buildPreparedContinuationDefaultOperatingIntegrationSummary(portableHandoff, continuation));
|
|
3877
|
+
return;
|
|
3878
|
+
}
|
|
3879
|
+
|
|
3880
|
+
if (req.method === "POST" && url.pathname === "/v1/transaction-center/result-package-continuations/prepare/operating-path-summary") {
|
|
3881
|
+
const body = await readJsonBody(req);
|
|
3882
|
+
const continuationRef = String(body && body.continuation_ref || "").trim();
|
|
3883
|
+
const continuation = getInteractionResultPackageContinuation(continuationRef);
|
|
3884
|
+
if (!continuation) {
|
|
3885
|
+
sendJson(res, 404, { ok: false, error: "result_package_continuation_not_found" });
|
|
3886
|
+
return;
|
|
3887
|
+
}
|
|
3888
|
+
const resultPackage = getInteractionResultPackage(continuation.result_package_ref);
|
|
3889
|
+
if (!resultPackage) {
|
|
3890
|
+
sendJson(res, 404, { ok: false, error: "result_package_not_found" });
|
|
3891
|
+
return;
|
|
3892
|
+
}
|
|
3893
|
+
const payload = buildInteractionSpinePathRunPayload({
|
|
3894
|
+
...(body && typeof body === "object" && !Array.isArray(body) ? body : {}),
|
|
3895
|
+
spine_path_ref: resultPackage.source_ref
|
|
3896
|
+
});
|
|
3897
|
+
if (!payload) {
|
|
3898
|
+
sendJson(res, 404, { ok: false, error: "result_package_continuation_not_found" });
|
|
3899
|
+
return;
|
|
3900
|
+
}
|
|
3901
|
+
const result = executeCommandRequest(state, payload, req.headers);
|
|
3902
|
+
if (result.status !== 200) {
|
|
3903
|
+
sendJson(res, result.status, result.payload);
|
|
3904
|
+
return;
|
|
3905
|
+
}
|
|
3906
|
+
const portableHandoff = buildInteractionResultPackagePortableHandoff(result.payload, resultPackage);
|
|
3907
|
+
sendJson(res, 200, buildPreparedContinuationAdapterDefaultOperatingPathSummary(portableHandoff, continuation));
|
|
3908
|
+
return;
|
|
3909
|
+
}
|
|
3910
|
+
|
|
3911
|
+
if (req.method === "POST" && url.pathname === "/v1/transaction-center/result-package-continuations/prepare/operating-path-bundle") {
|
|
3912
|
+
const body = await readJsonBody(req);
|
|
3913
|
+
const continuationRef = String(body && body.continuation_ref || "").trim();
|
|
3914
|
+
const continuation = getInteractionResultPackageContinuation(continuationRef);
|
|
3915
|
+
if (!continuation) {
|
|
3916
|
+
sendJson(res, 404, { ok: false, error: "result_package_continuation_not_found" });
|
|
3917
|
+
return;
|
|
3918
|
+
}
|
|
3919
|
+
const resultPackage = getInteractionResultPackage(continuation.result_package_ref);
|
|
3920
|
+
if (!resultPackage) {
|
|
3921
|
+
sendJson(res, 404, { ok: false, error: "result_package_not_found" });
|
|
3922
|
+
return;
|
|
3923
|
+
}
|
|
3924
|
+
const payload = buildInteractionSpinePathRunPayload({
|
|
3925
|
+
...(body && typeof body === "object" && !Array.isArray(body) ? body : {}),
|
|
3926
|
+
spine_path_ref: resultPackage.source_ref
|
|
3927
|
+
});
|
|
3928
|
+
if (!payload) {
|
|
3929
|
+
sendJson(res, 404, { ok: false, error: "result_package_continuation_not_found" });
|
|
3930
|
+
return;
|
|
3931
|
+
}
|
|
3932
|
+
const result = executeCommandRequest(state, payload, req.headers);
|
|
3933
|
+
if (result.status !== 200) {
|
|
3934
|
+
sendJson(res, result.status, result.payload);
|
|
3935
|
+
return;
|
|
3936
|
+
}
|
|
3937
|
+
const portableHandoff = buildInteractionResultPackagePortableHandoff(result.payload, resultPackage);
|
|
3938
|
+
sendJson(res, 200, buildPreparedContinuationAdapterDefaultOperatingPathBundle(portableHandoff, continuation));
|
|
3939
|
+
return;
|
|
3940
|
+
}
|
|
3941
|
+
|
|
3942
|
+
if (req.method === "POST" && url.pathname === "/v1/transaction-center/result-package-continuations/prepare/operating-path-default-summary") {
|
|
3943
|
+
const body = await readJsonBody(req);
|
|
3944
|
+
const continuationRef = String(body && body.continuation_ref || "").trim();
|
|
3945
|
+
const continuation = getInteractionResultPackageContinuation(continuationRef);
|
|
3946
|
+
if (!continuation) {
|
|
3947
|
+
sendJson(res, 404, { ok: false, error: "result_package_continuation_not_found" });
|
|
3948
|
+
return;
|
|
3949
|
+
}
|
|
3950
|
+
const resultPackage = getInteractionResultPackage(continuation.result_package_ref);
|
|
3951
|
+
if (!resultPackage) {
|
|
3952
|
+
sendJson(res, 404, { ok: false, error: "result_package_not_found" });
|
|
3953
|
+
return;
|
|
3954
|
+
}
|
|
3955
|
+
const payload = buildInteractionSpinePathRunPayload({
|
|
3956
|
+
...(body && typeof body === "object" && !Array.isArray(body) ? body : {}),
|
|
3957
|
+
spine_path_ref: resultPackage.source_ref
|
|
3958
|
+
});
|
|
3959
|
+
if (!payload) {
|
|
3960
|
+
sendJson(res, 404, { ok: false, error: "result_package_continuation_not_found" });
|
|
3961
|
+
return;
|
|
3962
|
+
}
|
|
3963
|
+
const result = executeCommandRequest(state, payload, req.headers);
|
|
3964
|
+
if (result.status !== 200) {
|
|
3965
|
+
sendJson(res, result.status, result.payload);
|
|
3966
|
+
return;
|
|
3967
|
+
}
|
|
3968
|
+
const portableHandoff = buildInteractionResultPackagePortableHandoff(result.payload, resultPackage);
|
|
3969
|
+
sendJson(res, 200, buildPreparedContinuationDefaultOperatingPathRunSummary(portableHandoff, continuation));
|
|
3970
|
+
return;
|
|
3971
|
+
}
|
|
3972
|
+
|
|
3683
3973
|
if (req.method === "POST" && url.pathname === "/v1/transaction-center/result-package-continuations/prepare/contract-template") {
|
|
3684
3974
|
const body = await readJsonBody(req);
|
|
3685
3975
|
const continuationRef = String(body && body.continuation_ref || "").trim();
|