@raytio/mcp-server 10.5.0 → 10.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/capabilities/tool-capability.d.ts.map +1 -1
- package/dist/capabilities/tool-capability.js +9 -0
- package/dist/capabilities/tool-capability.js.map +1 -1
- package/dist/raytio/api-client.d.ts.map +1 -1
- package/dist/raytio/api-client.js +3 -0
- package/dist/raytio/api-client.js.map +1 -1
- package/dist/tools/_shared/idempotent-create.d.ts +11 -0
- package/dist/tools/_shared/idempotent-create.d.ts.map +1 -0
- package/dist/tools/_shared/idempotent-create.js +26 -0
- package/dist/tools/_shared/idempotent-create.js.map +1 -0
- package/dist/tools/_shared/side-effect.d.ts +3 -8
- package/dist/tools/_shared/side-effect.d.ts.map +1 -1
- package/dist/tools/_shared/side-effect.js +5 -10
- package/dist/tools/_shared/side-effect.js.map +1 -1
- package/dist/tools/domains.js +1 -1
- package/dist/tools/domains.js.map +1 -1
- package/dist/tools/fgl/journal-batch-create.d.ts.map +1 -1
- package/dist/tools/fgl/journal-batch-create.js +24 -78
- package/dist/tools/fgl/journal-batch-create.js.map +1 -1
- package/dist/tools/fxm/fxm-funds-account-consent-grant.d.ts +2 -3
- package/dist/tools/fxm/fxm-funds-account-consent-grant.d.ts.map +1 -1
- package/dist/tools/fxm/fxm-funds-account-consent-grant.js +9 -11
- package/dist/tools/fxm/fxm-funds-account-consent-grant.js.map +1 -1
- package/dist/tools/fxm/fxm-payment-method-register.d.ts +1 -3
- package/dist/tools/fxm/fxm-payment-method-register.d.ts.map +1 -1
- package/dist/tools/fxm/fxm-payment-method-register.js +8 -11
- package/dist/tools/fxm/fxm-payment-method-register.js.map +1 -1
- package/dist/tools/ixn/ixn-message-send.d.ts +8 -3
- package/dist/tools/ixn/ixn-message-send.d.ts.map +1 -1
- package/dist/tools/ixn/ixn-message-send.js +28 -13
- package/dist/tools/ixn/ixn-message-send.js.map +1 -1
- package/dist/tools/ppm/template-instantiate.d.ts.map +1 -1
- package/dist/tools/ppm/template-instantiate.js +9 -5
- package/dist/tools/ppm/template-instantiate.js.map +1 -1
- package/dist/tools/ppm/work-item-create.d.ts.map +1 -1
- package/dist/tools/ppm/work-item-create.js +6 -2
- package/dist/tools/ppm/work-item-create.js.map +1 -1
- package/dist/tools/prm/prm-party-create.d.ts.map +1 -1
- package/dist/tools/prm/prm-party-create.js +6 -2
- package/dist/tools/prm/prm-party-create.js.map +1 -1
- package/dist/tools/sfa/deal-create.d.ts.map +1 -1
- package/dist/tools/sfa/deal-create.js +6 -2
- package/dist/tools/sfa/deal-create.js.map +1 -1
- package/dist/tools/sfa/deal-line-create.d.ts.map +1 -1
- package/dist/tools/sfa/deal-line-create.js +6 -2
- package/dist/tools/sfa/deal-line-create.js.map +1 -1
- package/dist/tools/sfa/lead-create.d.ts.map +1 -1
- package/dist/tools/sfa/lead-create.js +6 -2
- package/dist/tools/sfa/lead-create.js.map +1 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +3 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/wrm/wrm-agent-run-create.d.ts.map +1 -1
- package/dist/tools/wrm/wrm-agent-run-create.js +9 -3
- package/dist/tools/wrm/wrm-agent-run-create.js.map +1 -1
- package/dist/tools/wrm/wrm-credential-request-create.d.ts.map +1 -1
- package/dist/tools/wrm/wrm-credential-request-create.js +30 -78
- package/dist/tools/wrm/wrm-credential-request-create.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-capability.d.ts","sourceRoot":"","sources":["../../src/capabilities/tool-capability.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,qBAAqB,EACrB,eAAe,EAChB,MAAM,6BAA6B,CAAC;AAsBrC,UAAU,kBAAkB;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IACrC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAqFD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"tool-capability.d.ts","sourceRoot":"","sources":["../../src/capabilities/tool-capability.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,qBAAqB,EACrB,eAAe,EAChB,MAAM,6BAA6B,CAAC;AAsBrC,UAAU,kBAAkB;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IACrC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAqFD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAsDpF,CAAC;AAUF,kEAAkE;AAClE,eAAO,MAAM,UAAU,UAA0B,CAAC;AAElD,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASpD;AAiBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,GAAG,CACjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,eAA+B,GACrC,qBAAqB,CAwBvB;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,eAA+B,GACrC,qBAAqB,EAAE,CAqBzB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,sEAAsE;AACtE,wBAAgB,SAAS,IAAI,SAAS,MAAM,EAAE,CAE7C"}
|
|
@@ -106,6 +106,15 @@ const CONTRACT_OVERRIDES = new Map([
|
|
|
106
106
|
* calling an RPC not listed here fails the completeness test.
|
|
107
107
|
*/
|
|
108
108
|
export const RPC_CAPABILITIES = {
|
|
109
|
+
// Resource-specific INSERT permission is declared by each generic-create caller.
|
|
110
|
+
fnd_idempotent_create: [],
|
|
111
|
+
fgl_create_journal_batch: ['fgl_journal_batches', 'fgl_journal_headers', 'fgl_journal_lines']
|
|
112
|
+
.map((table) => ({ ...resolveTable(table), operations: new Set(['INSERT']) })),
|
|
113
|
+
wrm_create_credential_request: [
|
|
114
|
+
['wrm_workers', 'SELECT'], ['dsm_access_applications', 'INSERT'],
|
|
115
|
+
['dsm_access_application_users', 'INSERT'], ['wrm_worker_credentials', 'INSERT'],
|
|
116
|
+
['wrm_credential_requests', 'INSERT'],
|
|
117
|
+
].map(([table, op]) => ({ ...resolveTable(table), operations: new Set([op]) })),
|
|
109
118
|
ppm_instantiate_epic_template: [
|
|
110
119
|
{
|
|
111
120
|
resourceGroup: 'PPM',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-capability.js","sourceRoot":"","sources":["../../src/capabilities/tool-capability.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-capability.js","sourceRoot":"","sources":["../../src/capabilities/tool-capability.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/raytio/api-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,eAAe;IAQxB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IARd,OAAO,CAAC,MAAM,CAAgB;IAC9B,gEAAgE;IAChE,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,+EAA+E;IAC/E,SAAgB,cAAc,EAAE,MAAM,CAAC;gBAG7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,WAAW,EACzB,OAAO,GAAE,sBAA2B;IAUtC,OAAO,CAAC,QAAQ;YAcF,WAAW;IAoCnB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAI5D,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxE,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIvE,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIzE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIrE;;;;;;;OAOG;IACG,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIrF,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/raytio/api-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,eAAe;IAQxB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IARd,OAAO,CAAC,MAAM,CAAgB;IAC9B,gEAAgE;IAChE,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,+EAA+E;IAC/E,SAAgB,cAAc,EAAE,MAAM,CAAC;gBAG7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,WAAW,EACzB,OAAO,GAAE,sBAA2B;IAUtC,OAAO,CAAC,QAAQ;YAcF,WAAW;IAoCnB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAI5D,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxE,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIvE,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIzE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIrE;;;;;;;OAOG;IACG,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIrF,OAAO,CAAC,WAAW;CAepB"}
|
|
@@ -93,6 +93,9 @@ export class RaytioApiClient {
|
|
|
93
93
|
const status = error.response.status;
|
|
94
94
|
const data = error.response.data;
|
|
95
95
|
const message = data?.message || data?.error || error.message;
|
|
96
|
+
if (status === 409 && String(message).includes('IDEMPOTENCY_CONFLICT')) {
|
|
97
|
+
return new Error('IDEMPOTENCY_CONFLICT: This key was already used with different inputs or an inaccessible record. Use a new key for a different request.');
|
|
98
|
+
}
|
|
96
99
|
return new Error(`API Error (${status}): ${message}`);
|
|
97
100
|
}
|
|
98
101
|
else if (error.request) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/raytio/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAejE,MAAM,OAAO,eAAe;IAQhB;IACA;IARF,MAAM,CAAgB;IAC9B,gEAAgE;IAChD,UAAU,CAAS;IACnC,+EAA+E;IAC/D,cAAc,CAAS;IAEvC,YACU,OAAe,EACf,IAAiB,EACzB,UAAkC,EAAE;QAF5B,YAAO,GAAP,OAAO,CAAQ;QACf,SAAI,GAAJ,IAAI,CAAa;QAGzB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,aAAa,CAAC;QAC9D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAEO,QAAQ,CAAC,GAAW,EAAE,KAAyC;QACrE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,CAAC,IAAI,KAAK;oBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAChD,OAAO,GAAG,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,MAAmD,EACnD,GAAW,EACX,IAAU,EACV,IAAqB,EACrB,UAAU,GAAG,IAAI;QAEjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,MAAM,GAAuB;YACjC,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,EAAE;gBAChC,cAAc,EAAE,kBAAkB;gBAClC,GAAG,IAAI,EAAE,OAAO;aACjB;SACF,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAEhD,IAAI,CAAC;YACH,IAAI,QAAQ,CAAC;YACb,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC5C,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,4CAA4C;YAC5C,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;gBACjD,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAU,GAAW,EAAE,IAAqB;QACnD,OAAO,IAAI,CAAC,WAAW,CAAI,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,IAAI,CAAU,GAAW,EAAE,IAAS,EAAE,IAAqB;QAC/D,OAAO,IAAI,CAAC,WAAW,CAAI,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,GAAG,CAAU,GAAW,EAAE,IAAS,EAAE,IAAqB;QAC9D,OAAO,IAAI,CAAC,WAAW,CAAI,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,KAAK,CAAU,GAAW,EAAE,IAAS,EAAE,IAAqB;QAChE,OAAO,IAAI,CAAC,WAAW,CAAI,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,MAAM,CAAU,GAAW,EAAE,IAAqB;QACtD,OAAO,IAAI,CAAC,WAAW,CAAI,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CAAU,IAAY,EAAE,IAAS,EAAE,IAAqB;QACtE,OAAO,IAAI,CAAC,IAAI,CAAI,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAEO,WAAW,CAAC,KAAU;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;YAC9D,OAAO,IAAI,KAAK,CAAC,cAAc,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/raytio/api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RaytioApiClient } from '../../raytio/api-client.js';
|
|
2
|
+
/**
|
|
3
|
+
* Create a row through Persist `fnd_idempotent_create`.
|
|
4
|
+
*
|
|
5
|
+
* Returns the record, cut to `select` (`'*'` keeps every field), with
|
|
6
|
+
* `replayed` set: true when the same key and inputs returned the original
|
|
7
|
+
* row instead of inserting. A replay whose row the caller can no longer
|
|
8
|
+
* see returns `{ id, replayed: true, record: null }`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function idempotentCreate(client: RaytioApiClient, resource: 'fxm_funds_accounts_access_consents' | 'fxm_external_payer_payment_methods' | 'sfa_deals' | 'sfa_deal_lines' | 'sfa_leads' | 'prm_parties' | 'ppm_work_items' | 'wrm_agent_runs' | 'ixn_messages', payload: Record<string, unknown>, key: string | undefined, select: string): Promise<Record<string, unknown>>;
|
|
11
|
+
//# sourceMappingURL=idempotent-create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idempotent-create.d.ts","sourceRoot":"","sources":["../../../src/tools/_shared/idempotent-create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAW7D;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,oCAAoC,GAAG,oCAAoC,GACjF,WAAW,GAAG,gBAAgB,GAAG,WAAW,GAAG,aAAa,GAC5D,gBAAgB,GAAG,gBAAgB,GAAG,cAAc,EACxD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUlC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
const resultSchema = z.object({
|
|
3
|
+
replayed: z.boolean(),
|
|
4
|
+
id: z.string(),
|
|
5
|
+
record: z.record(z.unknown()).nullable(),
|
|
6
|
+
});
|
|
7
|
+
/** Columns Persist adds for idempotency; never returned to callers. */
|
|
8
|
+
const INTERNAL_FIELDS = new Set(['idempotency_key', 'request_hash']);
|
|
9
|
+
/**
|
|
10
|
+
* Create a row through Persist `fnd_idempotent_create`.
|
|
11
|
+
*
|
|
12
|
+
* Returns the record, cut to `select` (`'*'` keeps every field), with
|
|
13
|
+
* `replayed` set: true when the same key and inputs returned the original
|
|
14
|
+
* row instead of inserting. A replay whose row the caller can no longer
|
|
15
|
+
* see returns `{ id, replayed: true, record: null }`.
|
|
16
|
+
*/
|
|
17
|
+
export async function idempotentCreate(client, resource, payload, key, select) {
|
|
18
|
+
const result = resultSchema.parse(await client.post(`${client.dbBasePath}/rpc/fnd_idempotent_create`, { p_resource: resource, p_payload: payload, p_idempotency_key: key ?? null }));
|
|
19
|
+
if (result.record === null)
|
|
20
|
+
return { id: result.id, replayed: result.replayed, record: null };
|
|
21
|
+
const wanted = select === '*' ? null : new Set(select.split(','));
|
|
22
|
+
const fields = Object.entries(result.record)
|
|
23
|
+
.filter(([field]) => !INTERNAL_FIELDS.has(field) && (wanted === null || wanted.has(field)));
|
|
24
|
+
return { ...Object.fromEntries(fields), replayed: result.replayed };
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=idempotent-create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idempotent-create.js","sourceRoot":"","sources":["../../../src/tools/_shared/idempotent-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,uEAAuE;AACvE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAuB,EACvB,QAEwD,EACxD,OAAgC,EAChC,GAAuB,EACvB,MAAc;IAEd,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,IAAI,CACjD,GAAG,MAAM,CAAC,UAAU,4BAA4B,EAChD,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,IAAI,IAAI,EAAE,CAC7E,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC9F,MAAM,MAAM,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;SACzC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9F,OAAO,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AACtE,CAAC"}
|
|
@@ -11,15 +11,10 @@ import { z } from 'zod';
|
|
|
11
11
|
* them accidentally;
|
|
12
12
|
* - a caller-supplied `reason` on state transitions that leave an
|
|
13
13
|
* audit trail (release, revoke, unassign, deactivate, cancel);
|
|
14
|
-
* - an optional `idempotency_key`
|
|
15
|
-
* header so retries converge on the original result rather than
|
|
16
|
-
* creating a duplicate row / grant / message / command / mapping /
|
|
17
|
-
* device row.
|
|
14
|
+
* - an optional `idempotency_key` passed to a Persist idempotent RPC.
|
|
18
15
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* schema and header-injection logic in one place so every write path
|
|
22
|
-
* surfaces the same contract.
|
|
16
|
+
* PostgREST ignores the header; tools still using direct writes must use
|
|
17
|
+
* unenforcedIdempotencyKeySchema and describe their retry limitations.
|
|
23
18
|
*/
|
|
24
19
|
/**
|
|
25
20
|
* Zod schema for the optional idempotency key input. Keeps the shape
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"side-effect.d.ts","sourceRoot":"","sources":["../../../src/tools/_shared/side-effect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB
|
|
1
|
+
{"version":3,"file":"side-effect.d.ts","sourceRoot":"","sources":["../../../src/tools/_shared/side-effect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,4BAa9B,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,4BAG1C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,oBAe3B,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,YAAY,aAG2B,CAAC"}
|
|
@@ -11,15 +11,10 @@ import { z } from 'zod';
|
|
|
11
11
|
* them accidentally;
|
|
12
12
|
* - a caller-supplied `reason` on state transitions that leave an
|
|
13
13
|
* audit trail (release, revoke, unassign, deactivate, cancel);
|
|
14
|
-
* - an optional `idempotency_key`
|
|
15
|
-
* header so retries converge on the original result rather than
|
|
16
|
-
* creating a duplicate row / grant / message / command / mapping /
|
|
17
|
-
* device row.
|
|
14
|
+
* - an optional `idempotency_key` passed to a Persist idempotent RPC.
|
|
18
15
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* schema and header-injection logic in one place so every write path
|
|
22
|
-
* surfaces the same contract.
|
|
16
|
+
* PostgREST ignores the header; tools still using direct writes must use
|
|
17
|
+
* unenforcedIdempotencyKeySchema and describe their retry limitations.
|
|
23
18
|
*/
|
|
24
19
|
/**
|
|
25
20
|
* Zod schema for the optional idempotency key input. Keeps the shape
|
|
@@ -32,8 +27,8 @@ export const idempotencyKeySchema = z
|
|
|
32
27
|
.max(128)
|
|
33
28
|
.regex(/^[A-Za-z0-9._~:-]+$/, 'idempotency_key must be a URL-safe token (letters, digits, `.`, `_`, `~`, `:`, `-`)')
|
|
34
29
|
.optional()
|
|
35
|
-
.describe('Optional caller-supplied idempotency key.
|
|
36
|
-
'inputs
|
|
30
|
+
.describe('Optional caller-supplied idempotency key. For Persist idempotent create RPCs, reusing the same key with equivalent ' +
|
|
31
|
+
'inputs returns the original result. Different inputs raise IDEMPOTENCY_CONFLICT. Without a key, each call creates a row. ' +
|
|
37
32
|
'Must be a URL-safe token of 8–128 characters.');
|
|
38
33
|
/**
|
|
39
34
|
* The same input, described accurately: Persist (PostgREST) ignores the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"side-effect.js","sourceRoot":"","sources":["../../../src/tools/_shared/side-effect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB
|
|
1
|
+
{"version":3,"file":"side-effect.js","sourceRoot":"","sources":["../../../src/tools/_shared/side-effect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CACJ,qBAAqB,EACrB,qFAAqF,CACtF;KACA,QAAQ,EAAE;KACV,QAAQ,CACP,qHAAqH;IACnH,2HAA2H;IAC3H,+CAA+C,CAClD,CAAC;AAEJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,oBAAoB,CAAC,QAAQ,CACzE,yFAAyF;IACvF,mCAAmC,CACtC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,cAAkC;IAElC,MAAM,OAAO,GAA2B;QACtC,MAAM,EAAE,uBAAuB;KAChC,CAAC;IACF,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,iBAAiB,CAAC,GAAG,cAAc,CAAC;IAC9C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,OAAO,CAAC,IAAI,EAAE;IACb,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACf,OAAO,EACL,oFAAoF;YAClF,6BAA6B;KAClC,CAAC;CACH,CAAC;KACD,QAAQ,CACP,4EAA4E;IAC1E,kFAAkF;IAClF,8EAA8E;IAC9E,kFAAkF;IAClF,kDAAkD;IAClD,oBAAoB,CACvB,CAAC;AAEJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;KAC9C,GAAG,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC"}
|
package/dist/tools/domains.js
CHANGED
|
@@ -135,7 +135,7 @@ export const primaryDomains = [
|
|
|
135
135
|
{
|
|
136
136
|
id: 'ixn',
|
|
137
137
|
title: 'IXN — Interactions',
|
|
138
|
-
summary: 'Bounded reads plus explicit-schema mutations for interaction conversations and messages. Queue internals and sensitive channel-endpoint configuration are excluded by the queue and sensitivity guardrails. Outbound message dispatch requires caller confirmation and
|
|
138
|
+
summary: 'Bounded reads plus explicit-schema mutations for interaction conversations and messages. Queue internals and sensitive channel-endpoint configuration are excluded by the queue and sensitivity guardrails. Outbound message dispatch requires caller confirmation and goes through the Persist idempotent-create RPC, so a retry with the same idempotency key never duplicates a customer-visible send.',
|
|
139
139
|
tools: ixnTools,
|
|
140
140
|
},
|
|
141
141
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/tools/domains.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/tools/domains.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-batch-create.d.ts","sourceRoot":"","sources":["../../../src/tools/fgl/journal-batch-create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"journal-batch-create.d.ts","sourceRoot":"","sources":["../../../src/tools/fgl/journal-batch-create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAgCtC,eAAO,MAAM,sBAAsB,EAAE,IA2HpC,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cap, rpcCap } from '../../capabilities/tool-capability.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { canonicalJson } from '../../contracts/persist-resource-contract.js';
|
|
4
3
|
import { successResponse, errorResponse, API_ERROR, FGL_NOT_FOUND, FGL_VALIDATION } from '../types.js';
|
|
5
|
-
import { confirmFlagSchema, idempotencyKeySchema
|
|
4
|
+
import { confirmFlagSchema, idempotencyKeySchema } from '../_shared/side-effect.js';
|
|
6
5
|
const amount = z.number().min(0);
|
|
7
6
|
const journalLineSchema = z.object({
|
|
8
7
|
line_number: z.number().int().positive().describe('Line sequence number within the header'),
|
|
@@ -27,21 +26,12 @@ const journalHeaderSchema = z.object({
|
|
|
27
26
|
});
|
|
28
27
|
const cents = (n) => Math.round((n ?? 0) * 100);
|
|
29
28
|
const fromCents = (c) => c / 100;
|
|
30
|
-
/** Hash of the caller's input, excluding fields that do not change what is created. */
|
|
31
|
-
function inputFingerprint(input) {
|
|
32
|
-
const { confirm: _confirm, idempotency_key: _key, ...rest } = input;
|
|
33
|
-
return createHash('sha256').update(canonicalJson(rest), 'utf8').digest('hex');
|
|
34
|
-
}
|
|
35
29
|
export const journalBatchCreateTool = {
|
|
36
30
|
name: 'fgl_journal_batch_create',
|
|
37
|
-
description: 'Create a GL journal batch with headers and lines
|
|
38
|
-
'
|
|
39
|
-
'
|
|
40
|
-
|
|
41
|
-
'and every header must balance on entered amounts (checked before any insert). With an ' +
|
|
42
|
-
'idempotency_key, a retry with identical input returns the original batch (replayed=true) ' +
|
|
43
|
-
'instead of creating a duplicate; reusing a key with different input is rejected. Nothing is ' +
|
|
44
|
-
'posted; call fgl_journal_batch_post to validate and post. Requires confirm=true.',
|
|
31
|
+
description: 'Create a GL journal batch with headers and lines atomically, all with status UNPOSTED. ' +
|
|
32
|
+
'With idempotency_key, retries return the original batch; different input raises IDEMPOTENCY_CONFLICT. Nothing is ' +
|
|
33
|
+
'posted; supply explicit journal dates for retries across UTC days. Call fgl_journal_batch_post to validate and post. Requires confirm=true.',
|
|
34
|
+
capabilities: [cap('fgl_ledgers', 'SELECT'), ...rpcCap('fgl_create_journal_batch')],
|
|
45
35
|
sideEffect: 'state_change',
|
|
46
36
|
confirmation: 'caller_confirms',
|
|
47
37
|
idempotency: 'explicit_key',
|
|
@@ -58,7 +48,6 @@ export const journalBatchCreateTool = {
|
|
|
58
48
|
handler: async (args, ctx) => {
|
|
59
49
|
const input = args;
|
|
60
50
|
const db = ctx.apiClient.dbBasePath;
|
|
61
|
-
const created = { header_ids: [], line_count: 0 };
|
|
62
51
|
try {
|
|
63
52
|
for (const [i, header] of input.headers.entries()) {
|
|
64
53
|
let dr = 0;
|
|
@@ -78,40 +67,11 @@ export const journalBatchCreateTool = {
|
|
|
78
67
|
return errorResponse(FGL_VALIDATION, `Header ${i + 1} (${header.journal_name}) does not balance: debits ${fromCents(dr)} vs credits ${fromCents(cr)}`);
|
|
79
68
|
}
|
|
80
69
|
}
|
|
81
|
-
// PostgREST does not honour Idempotency-Key, so the key and an input fingerprint are
|
|
82
|
-
// recorded on the batch metadata and checked here before anything is inserted.
|
|
83
|
-
const key = input.idempotency_key;
|
|
84
|
-
const fingerprint = inputFingerprint(input);
|
|
85
|
-
if (key) {
|
|
86
|
-
const existing = await ctx.apiClient.get(`${db}/fgl_journal_batches?metadata->>idempotency_key=eq.${encodeURIComponent(key)}` +
|
|
87
|
-
'&select=id,status,metadata&order=created_date.asc&limit=1');
|
|
88
|
-
if (existing && existing.length > 0) {
|
|
89
|
-
const batch = existing[0];
|
|
90
|
-
if (batch.metadata?.idempotency_fingerprint !== fingerprint) {
|
|
91
|
-
return errorResponse(FGL_VALIDATION, `idempotency_key ${key} was already used for batch ${batch.id} with different input; use a new key`);
|
|
92
|
-
}
|
|
93
|
-
const prior = await ctx.apiClient.get(`${db}/fgl_journal_headers?batch_id=eq.${batch.id}&select=id,lines:fgl_journal_lines(id)&order=created_date.asc`);
|
|
94
|
-
const replay = {
|
|
95
|
-
batch_id: batch.id,
|
|
96
|
-
header_ids: prior.map((h) => h.id),
|
|
97
|
-
line_count: prior.reduce((n, h) => n + h.lines.length, 0),
|
|
98
|
-
};
|
|
99
|
-
const expectedLines = input.headers.reduce((n, h) => n + h.lines.length, 0);
|
|
100
|
-
if (replay.header_ids.length !== input.headers.length || replay.line_count !== expectedLines) {
|
|
101
|
-
return errorResponse(API_ERROR, `An earlier attempt with idempotency_key ${key} only partially created batch ${batch.id}; ` +
|
|
102
|
-
'inspect it with fgl_journal_batch_get, then retry with a new key', { created: replay });
|
|
103
|
-
}
|
|
104
|
-
return successResponse({ ...replay, status: batch.status, replayed: true });
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
70
|
const ledgers = await ctx.apiClient.get(`${db}/fgl_ledgers?id=eq.${input.ledger_id}&select=functional_currency_code`);
|
|
108
71
|
if (!ledgers || ledgers.length === 0) {
|
|
109
72
|
return errorResponse(FGL_NOT_FOUND, `Ledger ${input.ledger_id} not found`);
|
|
110
73
|
}
|
|
111
74
|
const functional = ledgers[0].functional_currency_code;
|
|
112
|
-
const today = new Date().toISOString().slice(0, 10);
|
|
113
|
-
const defaultDate = input.batch_date ?? today;
|
|
114
|
-
const headers = writeHeadersWithIdempotency(input.idempotency_key);
|
|
115
75
|
const lineRows = [];
|
|
116
76
|
for (const [i, header] of input.headers.entries()) {
|
|
117
77
|
const currency = header.currency_code ?? functional;
|
|
@@ -153,45 +113,31 @@ export const journalBatchCreateTool = {
|
|
|
153
113
|
}
|
|
154
114
|
lineRows.push(rows);
|
|
155
115
|
}
|
|
156
|
-
const
|
|
157
|
-
ledger_id: input.ledger_id,
|
|
158
|
-
batch_name: input.batch_name,
|
|
159
|
-
status: 'UNPOSTED',
|
|
116
|
+
const batch = {
|
|
117
|
+
ledger_id: input.ledger_id, batch_name: input.batch_name, status: 'UNPOSTED',
|
|
160
118
|
};
|
|
161
119
|
if (input.description !== undefined)
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
batch_id: created.batch_id,
|
|
170
|
-
ledger_id: input.ledger_id,
|
|
120
|
+
batch.description = input.description;
|
|
121
|
+
const result = z.object({
|
|
122
|
+
batch_id: z.string(), header_ids: z.array(z.string()), line_count: z.number().int(),
|
|
123
|
+
status: z.string(), replayed: z.boolean(),
|
|
124
|
+
}).parse(await ctx.apiClient.post(`${ctx.apiClient.dbBasePath}/rpc/fgl_create_journal_batch`, {
|
|
125
|
+
p_batch: batch,
|
|
126
|
+
p_headers: input.headers.map((header, i) => ({
|
|
171
127
|
period_id: header.period_id,
|
|
172
128
|
journal_name: header.journal_name,
|
|
173
|
-
journal_date: header.journal_date ??
|
|
174
|
-
currency_code: header.currency_code ?? functional,
|
|
129
|
+
journal_date: header.journal_date ?? input.batch_date ?? new Date().toISOString().slice(0, 10),
|
|
175
130
|
status: 'UNPOSTED',
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
created.line_count += lineRows[i].length;
|
|
184
|
-
}
|
|
185
|
-
return successResponse({
|
|
186
|
-
batch_id: created.batch_id,
|
|
187
|
-
header_ids: created.header_ids,
|
|
188
|
-
line_count: created.line_count,
|
|
189
|
-
status: 'UNPOSTED',
|
|
190
|
-
});
|
|
131
|
+
currency_code: header.currency_code ?? functional,
|
|
132
|
+
...(header.description !== undefined ? { description: header.description } : {}),
|
|
133
|
+
lines: lineRows[i],
|
|
134
|
+
})),
|
|
135
|
+
p_idempotency_key: input.idempotency_key ?? null,
|
|
136
|
+
}));
|
|
137
|
+
return successResponse(result);
|
|
191
138
|
}
|
|
192
139
|
catch (error) {
|
|
193
|
-
|
|
194
|
-
return errorResponse(API_ERROR, `Failed to create GL journal batch${partial ? ' (partially created; see details)' : ''}: ${error.message}`, partial ? { created } : undefined);
|
|
140
|
+
return errorResponse(API_ERROR, `Failed to create GL journal batch: ${error.message}`);
|
|
195
141
|
}
|
|
196
142
|
},
|
|
197
143
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-batch-create.js","sourceRoot":"","sources":["../../../src/tools/fgl/journal-batch-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"journal-batch-create.js","sourceRoot":"","sources":["../../../src/tools/fgl/journal-batch-create.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,8 @@ import { Tool } from '../registry.js';
|
|
|
5
5
|
*
|
|
6
6
|
* Provisioning: authorises a servicing party to read a funds account's
|
|
7
7
|
* balances / transactions on the owner's behalf. This is the AISP
|
|
8
|
-
* consent record, so it MUST require an explicit `confirm: true`.
|
|
9
|
-
*
|
|
10
|
-
* header; WI-0008817), so a retry can create a second consent.
|
|
8
|
+
* consent record, so it MUST require an explicit `confirm: true`.
|
|
9
|
+
* Retries with an idempotency key return the original consent.
|
|
11
10
|
* The consent scope is expressed via `consent_permissions` (JSON object)
|
|
12
11
|
* — the caller declares exactly what is granted; the server does not
|
|
13
12
|
* expand a shorthand.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fxm-funds-account-consent-grant.d.ts","sourceRoot":"","sources":["../../../src/tools/fxm/fxm-funds-account-consent-grant.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fxm-funds-account-consent-grant.d.ts","sourceRoot":"","sources":["../../../src/tools/fxm/fxm-funds-account-consent-grant.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAQtC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,+BAA+B,EAAE,IA2E7C,CAAC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
+
import { idempotentCreate } from '../_shared/idempotent-create.js';
|
|
1
2
|
import { z } from 'zod';
|
|
2
3
|
import { API_ERROR, errorResponse, successResponse } from '../types.js';
|
|
3
4
|
import { cap } from '../../capabilities/tool-capability.js';
|
|
4
|
-
import { confirmFlagSchema, idempotencyKeySchema,
|
|
5
|
+
import { confirmFlagSchema, idempotencyKeySchema, } from '../_shared/side-effect.js';
|
|
5
6
|
/**
|
|
6
7
|
* Grant a funds-account access consent
|
|
7
8
|
* (`fxm_funds_accounts_access_consents`).
|
|
8
9
|
*
|
|
9
10
|
* Provisioning: authorises a servicing party to read a funds account's
|
|
10
11
|
* balances / transactions on the owner's behalf. This is the AISP
|
|
11
|
-
* consent record, so it MUST require an explicit `confirm: true`.
|
|
12
|
-
*
|
|
13
|
-
* header; WI-0008817), so a retry can create a second consent.
|
|
12
|
+
* consent record, so it MUST require an explicit `confirm: true`.
|
|
13
|
+
* Retries with an idempotency key return the original consent.
|
|
14
14
|
* The consent scope is expressed via `consent_permissions` (JSON object)
|
|
15
15
|
* — the caller declares exactly what is granted; the server does not
|
|
16
16
|
* expand a shorthand.
|
|
@@ -19,8 +19,7 @@ export const fxmFundsAccountConsentGrantTool = {
|
|
|
19
19
|
name: 'fxm_funds_accounts_access_consent_grant',
|
|
20
20
|
description: 'Grant a funds-account access consent (fxm_funds_accounts_access_consents). ' +
|
|
21
21
|
'Authorises a servicing party to read the funds account on the owner\'s behalf. ' +
|
|
22
|
-
'Requires confirm=true.
|
|
23
|
-
'check fxm_funds_accounts_access_consents_list before retrying.',
|
|
22
|
+
'Requires confirm=true. With idempotency_key, retries return the original consent.',
|
|
24
23
|
inputSchema: z
|
|
25
24
|
.object({
|
|
26
25
|
account_servicing_party_id: z
|
|
@@ -51,8 +50,7 @@ export const fxmFundsAccountConsentGrantTool = {
|
|
|
51
50
|
.optional()
|
|
52
51
|
.describe('ISO 8601 date when access ends (must be after start)'),
|
|
53
52
|
confirm: confirmFlagSchema,
|
|
54
|
-
idempotency_key: idempotencyKeySchema
|
|
55
|
-
'yet, so a retry can still create a duplicate.'),
|
|
53
|
+
idempotency_key: idempotencyKeySchema,
|
|
56
54
|
})
|
|
57
55
|
.refine((v) => !v.account_access_start_date ||
|
|
58
56
|
!v.account_access_end_date ||
|
|
@@ -60,7 +58,7 @@ export const fxmFundsAccountConsentGrantTool = {
|
|
|
60
58
|
capabilities: [cap('fxm_funds_accounts_access_consents', 'INSERT')],
|
|
61
59
|
sideEffect: 'provisioning',
|
|
62
60
|
confirmation: 'caller_confirms',
|
|
63
|
-
idempotency: '
|
|
61
|
+
idempotency: 'explicit_key',
|
|
64
62
|
handler: async (args, ctx) => {
|
|
65
63
|
const input = args;
|
|
66
64
|
const body = {
|
|
@@ -77,8 +75,8 @@ export const fxmFundsAccountConsentGrantTool = {
|
|
|
77
75
|
body[field] = input[field];
|
|
78
76
|
}
|
|
79
77
|
try {
|
|
80
|
-
const
|
|
81
|
-
return successResponse(
|
|
78
|
+
const row = await idempotentCreate(ctx.apiClient, 'fxm_funds_accounts_access_consents', body, input.idempotency_key, '*');
|
|
79
|
+
return successResponse(row);
|
|
82
80
|
}
|
|
83
81
|
catch (error) {
|
|
84
82
|
return errorResponse(API_ERROR, `Failed to grant FXM funds account consent: ${error.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fxm-funds-account-consent-grant.js","sourceRoot":"","sources":["../../../src/tools/fxm/fxm-funds-account-consent-grant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,uCAAuC,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"fxm-funds-account-consent-grant.js","sourceRoot":"","sources":["../../../src/tools/fxm/fxm-funds-account-consent-grant.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,7 @@ import { Tool } from '../registry.js';
|
|
|
10
10
|
* card numbers, IBAN, and fingerprints are refused by the schema and
|
|
11
11
|
* would be redacted from the response even if the backend surfaced them.
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
* registering the same non-primary instrument twice creates two rows,
|
|
15
|
-
* and it ignores the `Idempotency-Key` header (WI-0008817).
|
|
13
|
+
* Retries with an idempotency key return the original payment method.
|
|
16
14
|
*/
|
|
17
15
|
export declare const fxmPaymentMethodRegisterTool: Tool;
|
|
18
16
|
//# sourceMappingURL=fxm-payment-method-register.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fxm-payment-method-register.d.ts","sourceRoot":"","sources":["../../../src/tools/fxm/fxm-payment-method-register.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fxm-payment-method-register.d.ts","sourceRoot":"","sources":["../../../src/tools/fxm/fxm-payment-method-register.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAStC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,4BAA4B,EAAE,IAoF1C,CAAC"}
|