@raytio/mcp-server 10.0.0 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/authorization.d.ts.map +1 -1
  2. package/dist/authorization.js +2 -0
  3. package/dist/authorization.js.map +1 -1
  4. package/dist/tools/_shared/side-effect.d.ts +25 -2
  5. package/dist/tools/_shared/side-effect.d.ts.map +1 -1
  6. package/dist/tools/_shared/side-effect.js +29 -4
  7. package/dist/tools/_shared/side-effect.js.map +1 -1
  8. package/dist/tools/bkm/bkm-adapter-configuration-update.d.ts +17 -0
  9. package/dist/tools/bkm/bkm-adapter-configuration-update.d.ts.map +1 -0
  10. package/dist/tools/bkm/bkm-adapter-configuration-update.js +79 -0
  11. package/dist/tools/bkm/bkm-adapter-configuration-update.js.map +1 -0
  12. package/dist/tools/bkm/bkm-availability-search-start.d.ts +20 -0
  13. package/dist/tools/bkm/bkm-availability-search-start.d.ts.map +1 -0
  14. package/dist/tools/bkm/bkm-availability-search-start.js +110 -0
  15. package/dist/tools/bkm/bkm-availability-search-start.js.map +1 -0
  16. package/dist/tools/bkm/bkm-provider-item-mapping-create.d.ts +15 -0
  17. package/dist/tools/bkm/bkm-provider-item-mapping-create.d.ts.map +1 -0
  18. package/dist/tools/bkm/bkm-provider-item-mapping-create.js +62 -0
  19. package/dist/tools/bkm/bkm-provider-item-mapping-create.js.map +1 -0
  20. package/dist/tools/bkm/generated-reads.d.ts +5 -0
  21. package/dist/tools/bkm/generated-reads.d.ts.map +1 -0
  22. package/dist/tools/bkm/generated-reads.js +33 -0
  23. package/dist/tools/bkm/generated-reads.js.map +1 -0
  24. package/dist/tools/bkm/index.d.ts +5 -0
  25. package/dist/tools/bkm/index.d.ts.map +1 -0
  26. package/dist/tools/bkm/index.js +13 -0
  27. package/dist/tools/bkm/index.js.map +1 -0
  28. package/dist/tools/dcm/dcm-device-command-dispatch.d.ts +28 -0
  29. package/dist/tools/dcm/dcm-device-command-dispatch.d.ts.map +1 -0
  30. package/dist/tools/dcm/dcm-device-command-dispatch.js +96 -0
  31. package/dist/tools/dcm/dcm-device-command-dispatch.js.map +1 -0
  32. package/dist/tools/dcm/dcm-device-register.d.ts +22 -0
  33. package/dist/tools/dcm/dcm-device-register.d.ts.map +1 -0
  34. package/dist/tools/dcm/dcm-device-register.js +86 -0
  35. package/dist/tools/dcm/dcm-device-register.js.map +1 -0
  36. package/dist/tools/dcm/dcm-device-slot-configure.d.ts +13 -0
  37. package/dist/tools/dcm/dcm-device-slot-configure.d.ts.map +1 -0
  38. package/dist/tools/dcm/dcm-device-slot-configure.js +68 -0
  39. package/dist/tools/dcm/dcm-device-slot-configure.js.map +1 -0
  40. package/dist/tools/dcm/dcm-device-update.d.ts +13 -0
  41. package/dist/tools/dcm/dcm-device-update.d.ts.map +1 -0
  42. package/dist/tools/dcm/dcm-device-update.js +55 -0
  43. package/dist/tools/dcm/dcm-device-update.js.map +1 -0
  44. package/dist/tools/dcm/generated-reads.d.ts +5 -0
  45. package/dist/tools/dcm/generated-reads.d.ts.map +1 -0
  46. package/dist/tools/dcm/generated-reads.js +30 -0
  47. package/dist/tools/dcm/generated-reads.js.map +1 -0
  48. package/dist/tools/dcm/index.d.ts +5 -0
  49. package/dist/tools/dcm/index.d.ts.map +1 -0
  50. package/dist/tools/dcm/index.js +15 -0
  51. package/dist/tools/dcm/index.js.map +1 -0
  52. package/dist/tools/domains.d.ts.map +1 -1
  53. package/dist/tools/domains.js +18 -0
  54. package/dist/tools/domains.js.map +1 -1
  55. package/dist/tools/role-mapping.d.ts.map +1 -1
  56. package/dist/tools/role-mapping.js +12 -0
  57. package/dist/tools/role-mapping.js.map +1 -1
  58. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../src/authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EAEzB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,mHAAmH;IACnH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,yFAAyF;IACzF,MAAM,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,wBAAwB,CAAC;CACzC;AAED,KAAK,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAsD3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,MAAM,GAAE,YAAsB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAqE9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,YAAY,EAAE,wBAAwB,EACtC,MAAM,GAAE,YAAsB,GAC7B,IAAI,EAAE,CA8BR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,GAAE,YAAsB,GAC7B,IAAI,EAAE,CAkBR"}
1
+ {"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../src/authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EAEzB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,mHAAmH;IACnH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,yFAAyF;IACzF,MAAM,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,wBAAwB,CAAC;CACzC;AAED,KAAK,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAwD3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,MAAM,GAAE,YAAsB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAqE9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,YAAY,EAAE,wBAAwB,EACtC,MAAM,GAAE,YAAsB,GAC7B,IAAI,EAAE,CA8BR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,GAAE,YAAsB,GAC7B,IAAI,EAAE,CAkBR"}
@@ -16,6 +16,8 @@ const READONLY_PARENTS = {
16
16
  'cmm-readonly': 'cmm',
17
17
  'far-readonly': 'far',
18
18
  'fap-readonly': 'fap',
19
+ 'dcm-readonly': 'dcm',
20
+ 'bkm-readonly': 'bkm',
19
21
  };
20
22
  function parseSpec(spec) {
21
23
  if (!spec)
@@ -1 +1 @@
1
- {"version":3,"file":"authorization.js","sourceRoot":"","sources":["../src/authorization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorization.js","sourceRoot":"","sources":["../src/authorization.ts"],"names":[],"mappings":"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"}
@@ -10,17 +10,29 @@ import { z } from 'zod';
10
10
  * - `confirm: true` on consequential paths so a model cannot invoke
11
11
  * them accidentally;
12
12
  * - a caller-supplied `reason` on state transitions that leave an
13
- * audit trail (revoke, unassign, deactivate, cancel);
13
+ * audit trail (release, revoke, unassign, deactivate, cancel);
14
14
  * - an optional `idempotency_key` forwarded as an `Idempotency-Key`
15
15
  * header so retries converge on the original result rather than
16
- * creating a duplicate row / grant / message.
16
+ * creating a duplicate row / grant / message / command / mapping /
17
+ * device row.
17
18
  *
18
19
  * The MCP server does not maintain its own dedupe cache — the
19
20
  * canonical answer lives in Persist. This module keeps the input
20
21
  * schema and header-injection logic in one place so every write path
21
22
  * surfaces the same contract.
22
23
  */
24
+ /**
25
+ * Zod schema for the optional idempotency key input. Keeps the shape
26
+ * consistent so callers passing the same key across tools do not need
27
+ * to remember tool-specific spellings.
28
+ */
23
29
  export declare const idempotencyKeySchema: z.ZodOptional<z.ZodString>;
30
+ /**
31
+ * The same input, described accurately: Persist (PostgREST) ignores the
32
+ * `Idempotency-Key` header (WI-0008817), so a key alone does not make a
33
+ * retry safe. Use this on tools where that matters to the caller.
34
+ */
35
+ export declare const unenforcedIdempotencyKeySchema: z.ZodOptional<z.ZodString>;
24
36
  /**
25
37
  * Build the request headers for a side-effecting mutation. Passes
26
38
  * through `Prefer: return=representation` (needed for PostgREST to
@@ -28,6 +40,17 @@ export declare const idempotencyKeySchema: z.ZodOptional<z.ZodString>;
28
40
  * supplied.
29
41
  */
30
42
  export declare function writeHeadersWithIdempotency(idempotencyKey: string | undefined): Record<string, string>;
43
+ /**
44
+ * Zod schema for a caller-supplied confirmation flag. Used on
45
+ * consequential actions (message send, provisioning, external sync,
46
+ * permission grant) where an explicit `confirm: true` is required in
47
+ * addition to the required business inputs.
48
+ */
31
49
  export declare const confirmFlagSchema: z.ZodLiteral<true>;
50
+ /**
51
+ * Zod schema for a caller-supplied reason string. Used on lifecycle
52
+ * transitions and side-effect invocations so the audit log carries a
53
+ * human-readable justification.
54
+ */
32
55
  export declare const reasonSchema: z.ZodString;
33
56
  //# sourceMappingURL=side-effect.d.ts.map
@@ -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;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,eAAO,MAAM,oBAAoB,4BAa9B,CAAC;AAEJ;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxB;AAED,eAAO,MAAM,iBAAiB,oBAY3B,CAAC;AAEJ,eAAO,MAAM,YAAY,aAG2B,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;GAqBG;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,oBAa3B,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,YAAY,aAG2B,CAAC"}
@@ -10,16 +10,22 @@ import { z } from 'zod';
10
10
  * - `confirm: true` on consequential paths so a model cannot invoke
11
11
  * them accidentally;
12
12
  * - a caller-supplied `reason` on state transitions that leave an
13
- * audit trail (revoke, unassign, deactivate, cancel);
13
+ * audit trail (release, revoke, unassign, deactivate, cancel);
14
14
  * - an optional `idempotency_key` forwarded as an `Idempotency-Key`
15
15
  * header so retries converge on the original result rather than
16
- * creating a duplicate row / grant / message.
16
+ * creating a duplicate row / grant / message / command / mapping /
17
+ * device row.
17
18
  *
18
19
  * The MCP server does not maintain its own dedupe cache — the
19
20
  * canonical answer lives in Persist. This module keeps the input
20
21
  * schema and header-injection logic in one place so every write path
21
22
  * surfaces the same contract.
22
23
  */
24
+ /**
25
+ * Zod schema for the optional idempotency key input. Keeps the shape
26
+ * consistent so callers passing the same key across tools do not need
27
+ * to remember tool-specific spellings.
28
+ */
23
29
  export const idempotencyKeySchema = z
24
30
  .string()
25
31
  .min(8)
@@ -29,6 +35,13 @@ export const idempotencyKeySchema = z
29
35
  .describe('Optional caller-supplied idempotency key. Reusing the same key with equivalent ' +
30
36
  'inputs converges to the original result rather than creating a duplicate. ' +
31
37
  'Must be a URL-safe token of 8–128 characters.');
38
+ /**
39
+ * The same input, described accurately: Persist (PostgREST) ignores the
40
+ * `Idempotency-Key` header (WI-0008817), so a key alone does not make a
41
+ * retry safe. Use this on tools where that matters to the caller.
42
+ */
43
+ export const unenforcedIdempotencyKeySchema = idempotencyKeySchema.describe('Optional. Forwarded as an Idempotency-Key header, but Persist does not enforce it yet, ' +
44
+ 'so it does not make a retry safe.');
32
45
  /**
33
46
  * Build the request headers for a side-effecting mutation. Passes
34
47
  * through `Prefer: return=representation` (needed for PostgREST to
@@ -44,6 +57,12 @@ export function writeHeadersWithIdempotency(idempotencyKey) {
44
57
  }
45
58
  return headers;
46
59
  }
60
+ /**
61
+ * Zod schema for a caller-supplied confirmation flag. Used on
62
+ * consequential actions (message send, provisioning, external sync,
63
+ * permission grant) where an explicit `confirm: true` is required in
64
+ * addition to the required business inputs.
65
+ */
47
66
  export const confirmFlagSchema = z
48
67
  .literal(true, {
49
68
  errorMap: () => ({
@@ -52,8 +71,14 @@ export const confirmFlagSchema = z
52
71
  }),
53
72
  })
54
73
  .describe('Must be `true` to execute. Present so a model cannot accidentally grant a ' +
55
- 'permission, revoke a role, register a payment instrument, or transition a ' +
56
- 'security session without an explicit confirmation step.');
74
+ 'permission, revoke a role, register a payment instrument, transition a security ' +
75
+ 'session, dispatch a command, register a device, or trigger an external sync ' +
76
+ 'without an explicit confirmation step.');
77
+ /**
78
+ * Zod schema for a caller-supplied reason string. Used on lifecycle
79
+ * transitions and side-effect invocations so the audit log carries a
80
+ * human-readable justification.
81
+ */
57
82
  export const reasonSchema = z
58
83
  .string()
59
84
  .min(4, 'reason must be at least 4 characters')
@@ -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;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,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,iFAAiF;IAC/E,4EAA4E;IAC5E,+CAA+C,CAClD,CAAC;AAEJ;;;;;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,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,4EAA4E;IAC5E,yDAAyD,CAC5D,CAAC;AAEJ,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;KAC9C,GAAG,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;GAqBG;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,iFAAiF;IAC/E,4EAA4E;IAC5E,+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,wCAAwC,CAC3C,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"}
@@ -0,0 +1,17 @@
1
+ import { Tool } from '../registry.js';
2
+ /**
3
+ * Explicit-schema update for `bkm_adapter_configurations` — connector
4
+ * settings for a third-party booking provider (target URL, schedule,
5
+ * adapter status). Connector credentials live in a separate table
6
+ * (`bkm_adapter_credentials` / provider-specific secret stores) that
7
+ * is EXCLUDED from the MCP surface by the credentials guardrail and
8
+ * are never touched by this tool.
9
+ *
10
+ * `last_sync_date` and `last_sync_status_code` are sync-path telemetry
11
+ * and are omitted from this update — they are set by the adapter
12
+ * itself, not by callers.
13
+ *
14
+ * Retry-safe (converges on the same target configuration).
15
+ */
16
+ export declare const bkmAdapterConfigurationUpdateTool: Tool;
17
+ //# sourceMappingURL=bkm-adapter-configuration-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bkm-adapter-configuration-update.d.ts","sourceRoot":"","sources":["../../../src/tools/bkm/bkm-adapter-configuration-update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAQtC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iCAAiC,EAAE,IA2E/C,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { z } from 'zod';
2
+ import { API_ERROR, errorResponse, successResponse } from '../types.js';
3
+ import { cap } from '../../capabilities/tool-capability.js';
4
+ import { unenforcedIdempotencyKeySchema, writeHeadersWithIdempotency, } from '../_shared/side-effect.js';
5
+ /**
6
+ * Explicit-schema update for `bkm_adapter_configurations` — connector
7
+ * settings for a third-party booking provider (target URL, schedule,
8
+ * adapter status). Connector credentials live in a separate table
9
+ * (`bkm_adapter_credentials` / provider-specific secret stores) that
10
+ * is EXCLUDED from the MCP surface by the credentials guardrail and
11
+ * are never touched by this tool.
12
+ *
13
+ * `last_sync_date` and `last_sync_status_code` are sync-path telemetry
14
+ * and are omitted from this update — they are set by the adapter
15
+ * itself, not by callers.
16
+ *
17
+ * Retry-safe (converges on the same target configuration).
18
+ */
19
+ export const bkmAdapterConfigurationUpdateTool = {
20
+ name: 'bkm_adapter_configuration_update',
21
+ description: 'Update a BKM adapter configuration (bkm_adapter_configurations): target URL, scrape ' +
22
+ 'schedule, status, and non-secret metadata. Credentials live in a separate credential ' +
23
+ 'store and cannot be set from MCP. Retry-safe.',
24
+ inputSchema: z
25
+ .object({
26
+ id: z.string().min(1).describe('UUID of the adapter configuration row'),
27
+ adapter_status_code: z.string().max(32).optional(),
28
+ target_url: z
29
+ .string()
30
+ .url()
31
+ .optional()
32
+ .describe('Provider endpoint URL the adapter connects to'),
33
+ scrape_schedule_cron: z
34
+ .string()
35
+ .max(64)
36
+ .nullable()
37
+ .optional()
38
+ .describe('Cron expression for scheduled scraping; null to disable schedule'),
39
+ browserbase_project_id: z.string().max(255).nullable().optional(),
40
+ configuration: z
41
+ .record(z.unknown())
42
+ .nullable()
43
+ .optional()
44
+ .describe('Non-secret adapter configuration blob'),
45
+ metadata: z.record(z.unknown()).nullable().optional(),
46
+ idempotency_key: unenforcedIdempotencyKeySchema,
47
+ })
48
+ .refine((v) => v.adapter_status_code !== undefined ||
49
+ v.target_url !== undefined ||
50
+ v.scrape_schedule_cron !== undefined ||
51
+ v.browserbase_project_id !== undefined ||
52
+ v.configuration !== undefined ||
53
+ v.metadata !== undefined, {
54
+ message: 'supply at least one field to change.',
55
+ }),
56
+ capabilities: [cap('bkm_adapter_configurations', 'UPDATE')],
57
+ sideEffect: 'state_change',
58
+ confirmation: 'none',
59
+ idempotency: 'natural_key',
60
+ handler: async (args, ctx) => {
61
+ const { id, idempotency_key, ...rest } = args;
62
+ const body = {};
63
+ for (const [k, v] of Object.entries(rest)) {
64
+ if (v !== undefined)
65
+ body[k] = v;
66
+ }
67
+ try {
68
+ const rows = await ctx.apiClient.patch(`${ctx.apiClient.dbBasePath}/bkm_adapter_configurations?id=eq.${id}&select=*`, body, { headers: writeHeadersWithIdempotency(idempotency_key) });
69
+ if (!rows || rows.length === 0) {
70
+ return errorResponse(API_ERROR, `BKM adapter configuration ${id} not found or not accessible`);
71
+ }
72
+ return successResponse(rows[0]);
73
+ }
74
+ catch (error) {
75
+ return errorResponse(API_ERROR, `Failed to update BKM adapter configuration: ${error.message}`);
76
+ }
77
+ },
78
+ };
79
+ //# sourceMappingURL=bkm-adapter-configuration-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bkm-adapter-configuration-update.js","sourceRoot":"","sources":["../../../src/tools/bkm/bkm-adapter-configuration-update.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,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAS;IACrD,IAAI,EAAE,kCAAkC;IACxC,WAAW,EACT,sFAAsF;QACtF,uFAAuF;QACvF,+CAA+C;IACjD,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QACvE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QAClD,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,+CAA+C,CAAC;QAC5D,oBAAoB,EAAE,CAAC;aACpB,MAAM,EAAE;aACR,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,kEAAkE,CAAC;QAC/E,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACjE,aAAa,EAAE,CAAC;aACb,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACnB,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,uCAAuC,CAAC;QACpD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACrD,eAAe,EAAE,8BAA8B;KAChD,CAAC;SACD,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,mBAAmB,KAAK,SAAS;QACnC,CAAC,CAAC,UAAU,KAAK,SAAS;QAC1B,CAAC,CAAC,oBAAoB,KAAK,SAAS;QACpC,CAAC,CAAC,sBAAsB,KAAK,SAAS;QACtC,CAAC,CAAC,aAAa,KAAK,SAAS;QAC7B,CAAC,CAAC,QAAQ,KAAK,SAAS,EAC1B;QACE,OAAO,EAAE,sCAAsC;KAChD,CACF;IACH,YAAY,EAAE,CAAC,GAAG,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;IAC3D,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,IAGd,CAAC;QAC5B,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CACpC,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,qCAAqC,EAAE,WAAW,EAC7E,IAAI,EACJ,EAAE,OAAO,EAAE,2BAA2B,CAAC,eAAe,CAAC,EAAE,CAC1D,CAAC;YACF,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,aAAa,CAClB,SAAS,EACT,6BAA6B,EAAE,8BAA8B,CAC9D,CAAC;YACJ,CAAC;YACD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,aAAa,CAClB,SAAS,EACT,+CAA+C,KAAK,CAAC,OAAO,EAAE,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { Tool } from '../registry.js';
2
+ /**
3
+ * External-synchronisation semantic tool: start a real-time
4
+ * availability search (`bkm_availability_searches`). Kicks off
5
+ * concurrent fetches against every connected third-party booking
6
+ * provider, so the tool requires:
7
+ *
8
+ * - `confirm: true` to prevent accidental provider load;
9
+ * - a bounded search radius / time window.
10
+ *
11
+ * This tool is NOT retry-safe: nothing identifies a repeat call and
12
+ * Persist ignores `Idempotency-Key` (WI-0008817), so a retry starts a
13
+ * second wave of provider calls. The created row's `id` is the polling
14
+ * handle — callers use `bkm_availability_searches_get`
15
+ * to watch `status` and `providers_completed` transition to a
16
+ * terminal state, then list `bkm_availability_slots?search_id=eq.<id>`
17
+ * for the results.
18
+ */
19
+ export declare const bkmAvailabilitySearchStartTool: Tool;
20
+ //# sourceMappingURL=bkm-availability-search-start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bkm-availability-search-start.d.ts","sourceRoot":"","sources":["../../../src/tools/bkm/bkm-availability-search-start.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAStC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,8BAA8B,EAAE,IA6F5C,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { z } from 'zod';
2
+ import { API_ERROR, errorResponse, successResponse } from '../types.js';
3
+ import { cap } from '../../capabilities/tool-capability.js';
4
+ import { confirmFlagSchema, unenforcedIdempotencyKeySchema, writeHeadersWithIdempotency, } from '../_shared/side-effect.js';
5
+ /**
6
+ * External-synchronisation semantic tool: start a real-time
7
+ * availability search (`bkm_availability_searches`). Kicks off
8
+ * concurrent fetches against every connected third-party booking
9
+ * provider, so the tool requires:
10
+ *
11
+ * - `confirm: true` to prevent accidental provider load;
12
+ * - a bounded search radius / time window.
13
+ *
14
+ * This tool is NOT retry-safe: nothing identifies a repeat call and
15
+ * Persist ignores `Idempotency-Key` (WI-0008817), so a retry starts a
16
+ * second wave of provider calls. The created row's `id` is the polling
17
+ * handle — callers use `bkm_availability_searches_get`
18
+ * to watch `status` and `providers_completed` transition to a
19
+ * terminal state, then list `bkm_availability_slots?search_id=eq.<id>`
20
+ * for the results.
21
+ */
22
+ export const bkmAvailabilitySearchStartTool = {
23
+ name: 'bkm_availability_search_start',
24
+ description: 'Start a real-time BKM availability search (bkm_availability_searches). Fans out to every ' +
25
+ 'connected booking provider. Requires confirm=true. Poll status via ' +
26
+ 'bkm_availability_searches_get; fetch results via bkm_availability_slots_list ' +
27
+ 'filtered by search_id. Not deduplicated: calling it again starts another search, so ' +
28
+ 'check bkm_availability_searches_list before retrying.',
29
+ inputSchema: z.object({
30
+ base_latitude: z
31
+ .number()
32
+ .min(-90)
33
+ .max(90)
34
+ .describe('Latitude of the search origin (WGS84 degrees)'),
35
+ base_longitude: z
36
+ .number()
37
+ .min(-180)
38
+ .max(180)
39
+ .describe('Longitude of the search origin (WGS84 degrees)'),
40
+ search_radius: z
41
+ .number()
42
+ .positive()
43
+ .describe('Search radius (unit set by search_radius_unit; defaults to KM)'),
44
+ search_radius_unit: z
45
+ .string()
46
+ .max(8)
47
+ .optional()
48
+ .describe('Radius unit from the BKM_SEARCH_RADIUS_UNIT lookup (KM, MI, M); defaults per provider config'),
49
+ search_time: z
50
+ .number()
51
+ .int()
52
+ .positive()
53
+ .describe('Time window before the search returns (unit set by search_time_unit)'),
54
+ search_time_unit: z
55
+ .string()
56
+ .max(8)
57
+ .optional()
58
+ .describe('Time window unit from the BKM_SEARCH_TIME_UNIT lookup (DAYS, HOURS, WEEKS); defaults per provider config'),
59
+ item_ids: z
60
+ .array(z.string().min(1))
61
+ .optional()
62
+ .describe('Restrict search to specific gpm_items UUIDs'),
63
+ item_keys: z
64
+ .array(z.string().min(1))
65
+ .optional()
66
+ .describe('Restrict search to specific item business keys'),
67
+ merchant_ids: z
68
+ .array(z.string().min(1))
69
+ .optional()
70
+ .describe('Restrict search to specific merchants (xrm_merchants UUIDs)'),
71
+ party_site_ids: z
72
+ .array(z.string().min(1))
73
+ .optional()
74
+ .describe('Restrict search to specific party sites (prm_party_sites UUIDs)'),
75
+ confirm: confirmFlagSchema,
76
+ idempotency_key: unenforcedIdempotencyKeySchema,
77
+ }),
78
+ capabilities: [cap('bkm_availability_searches', 'INSERT')],
79
+ sideEffect: 'command',
80
+ confirmation: 'caller_confirms',
81
+ idempotency: 'not_idempotent',
82
+ handler: async (args, ctx) => {
83
+ const input = args;
84
+ const body = {
85
+ base_latitude: input.base_latitude,
86
+ base_longitude: input.base_longitude,
87
+ search_radius: input.search_radius,
88
+ search_time: input.search_time,
89
+ };
90
+ for (const field of [
91
+ 'search_radius_unit',
92
+ 'search_time_unit',
93
+ 'item_ids',
94
+ 'item_keys',
95
+ 'merchant_ids',
96
+ 'party_site_ids',
97
+ ]) {
98
+ if (input[field] !== undefined)
99
+ body[field] = input[field];
100
+ }
101
+ try {
102
+ const rows = await ctx.apiClient.post(`${ctx.apiClient.dbBasePath}/bkm_availability_searches?select=*`, body, { headers: writeHeadersWithIdempotency(input.idempotency_key) });
103
+ return successResponse(rows[0]);
104
+ }
105
+ catch (error) {
106
+ return errorResponse(API_ERROR, `Failed to start BKM availability search: ${error.message}`);
107
+ }
108
+ },
109
+ };
110
+ //# sourceMappingURL=bkm-availability-search-start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bkm-availability-search-start.js","sourceRoot":"","sources":["../../../src/tools/bkm/bkm-availability-search-start.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Tool } from '../registry.js';
2
+ /**
3
+ * Explicit-schema create for `bkm_provider_item_mappings`. Registers
4
+ * the translation between an internal `xrm_merchant_items` row and
5
+ * the provider-specific codes needed for the booking API integration.
6
+ * Not a "command" — no external call fires at create time — but it
7
+ * shapes how downstream availability searches route requests, so the
8
+ * mapping is validated at the MCP boundary. Unique key:
9
+ * `t_bkm_provider_item_mappings_unique_mapping` (merchant_item_id,
10
+ * provider_category_code, provider_service_code,
11
+ * provider_location_code, tenant_id), so a retry with the same values
12
+ * fails with a duplicate-key error.
13
+ */
14
+ export declare const bkmProviderItemMappingCreateTool: Tool;
15
+ //# sourceMappingURL=bkm-provider-item-mapping-create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bkm-provider-item-mapping-create.d.ts","sourceRoot":"","sources":["../../../src/tools/bkm/bkm-provider-item-mapping-create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAQtC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gCAAgC,EAAE,IAkD9C,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { z } from 'zod';
2
+ import { API_ERROR, errorResponse, successResponse } from '../types.js';
3
+ import { cap } from '../../capabilities/tool-capability.js';
4
+ import { unenforcedIdempotencyKeySchema, writeHeadersWithIdempotency, } from '../_shared/side-effect.js';
5
+ /**
6
+ * Explicit-schema create for `bkm_provider_item_mappings`. Registers
7
+ * the translation between an internal `xrm_merchant_items` row and
8
+ * the provider-specific codes needed for the booking API integration.
9
+ * Not a "command" — no external call fires at create time — but it
10
+ * shapes how downstream availability searches route requests, so the
11
+ * mapping is validated at the MCP boundary. Unique key:
12
+ * `t_bkm_provider_item_mappings_unique_mapping` (merchant_item_id,
13
+ * provider_category_code, provider_service_code,
14
+ * provider_location_code, tenant_id), so a retry with the same values
15
+ * fails with a duplicate-key error.
16
+ */
17
+ export const bkmProviderItemMappingCreateTool = {
18
+ name: 'bkm_provider_item_mapping_create',
19
+ description: 'Create a BKM provider item mapping (bkm_provider_item_mappings). Registers the ' +
20
+ 'provider-side codes for a merchant item so future availability searches route ' +
21
+ 'correctly. One mapping per merchant_item_id, provider_category_code, ' +
22
+ 'provider_service_code and provider_location_code: a retry with the same values fails ' +
23
+ 'with a duplicate-key error instead of creating a second mapping.',
24
+ inputSchema: z.object({
25
+ merchant_item_id: z
26
+ .string()
27
+ .min(1)
28
+ .describe('UUID of the xrm_merchant_items row this mapping is for'),
29
+ provider_service_code: z
30
+ .string()
31
+ .min(1)
32
+ .max(64)
33
+ .describe('Provider service code (part of the unique key)'),
34
+ provider_category_code: z.string().max(64).optional(),
35
+ provider_location_code: z.string().max(64).optional(),
36
+ metadata: z.record(z.unknown()).optional(),
37
+ idempotency_key: unenforcedIdempotencyKeySchema,
38
+ }),
39
+ capabilities: [cap('bkm_provider_item_mappings', 'INSERT')],
40
+ sideEffect: 'state_change',
41
+ confirmation: 'none',
42
+ idempotency: 'natural_key',
43
+ handler: async (args, ctx) => {
44
+ const input = args;
45
+ const body = {
46
+ merchant_item_id: input.merchant_item_id,
47
+ provider_service_code: input.provider_service_code,
48
+ };
49
+ for (const field of ['provider_category_code', 'provider_location_code', 'metadata']) {
50
+ if (input[field] !== undefined)
51
+ body[field] = input[field];
52
+ }
53
+ try {
54
+ const rows = await ctx.apiClient.post(`${ctx.apiClient.dbBasePath}/bkm_provider_item_mappings?select=*`, body, { headers: writeHeadersWithIdempotency(input.idempotency_key) });
55
+ return successResponse(rows[0]);
56
+ }
57
+ catch (error) {
58
+ return errorResponse(API_ERROR, `Failed to create BKM provider item mapping: ${error.message}`);
59
+ }
60
+ },
61
+ };
62
+ //# sourceMappingURL=bkm-provider-item-mapping-create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bkm-provider-item-mapping-create.js","sourceRoot":"","sources":["../../../src/tools/bkm/bkm-provider-item-mapping-create.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,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAS;IACpD,IAAI,EAAE,kCAAkC;IACxC,WAAW,EACT,iFAAiF;QACjF,gFAAgF;QAChF,uEAAuE;QACvE,uFAAuF;QACvF,kEAAkE;IACpE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,wDAAwD,CAAC;QACrE,qBAAqB,EAAE,CAAC;aACrB,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,CAAC,gDAAgD,CAAC;QAC7D,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QACrD,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC1C,eAAe,EAAE,8BAA8B;KAChD,CAAC;IACF,YAAY,EAAE,CAAC,GAAG,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;IAC3D,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAA2B,CAAC;QAC1C,MAAM,IAAI,GAAwB;YAChC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;SACnD,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,CAAC,wBAAwB,EAAE,wBAAwB,EAAE,UAAU,CAAC,EAAE,CAAC;YACrF,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CACnC,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,sCAAsC,EACjE,IAAI,EACJ,EAAE,OAAO,EAAE,2BAA2B,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAChE,CAAC;YACF,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,aAAa,CAClB,SAAS,EACT,+CAA+C,KAAK,CAAC,OAAO,EAAE,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Tool } from '../registry.js';
2
+ import { CatalogueReport } from '../../generated-reads/index.js';
3
+ export declare const bkmGeneratedReadReport: CatalogueReport;
4
+ export declare const bkmGeneratedReadTools: Tool[];
5
+ //# sourceMappingURL=generated-reads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-reads.d.ts","sourceRoot":"","sources":["../../../src/tools/bkm/generated-reads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAGL,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAiCxC,eAAO,MAAM,sBAAsB,EAAE,eAC8B,CAAC;AAEpE,eAAO,MAAM,qBAAqB,EAAE,IAAI,EAGvC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { buildGeneratedReadCatalogue, buildGeneratedReadCatalogueReport, } from '../../generated-reads/index.js';
2
+ import { loadPersistResourceContract } from '../../contracts/persist-resource-contract.js';
3
+ /**
4
+ * Bounded read tools for the BKM module (WI-0003509).
5
+ *
6
+ * The schema-driven catalogue (WI-0003500) emits describe/list/get for
7
+ * every `normal`-sensitivity BKM resource that declares a read
8
+ * operation and has no side effects. The pinned Persist contract does
9
+ * not classify any BKM resource as sensitive, so no `includeSensitive`
10
+ * opt-in is needed. Connector credentials are stored in tables not
11
+ * declared in the resource contract (Persist keeps them behind the
12
+ * credential guardrail) and are therefore not surfaced here.
13
+ *
14
+ * The catalogue emits `_describe` / `_list` / `_get` tools for:
15
+ *
16
+ * - `bkm_adapter_configurations` — third-party booking adapter
17
+ * connection/sync configuration (excludes credential columns).
18
+ * - `bkm_availability_searches` — the caller's own availability
19
+ * search requests and their status (used for polling after
20
+ * `bkm_availability_search_start`).
21
+ * - `bkm_availability_slots` — scraped/fetched availability
22
+ * slot inventory used by downstream booking flows.
23
+ * - `bkm_provider_item_mappings` — internal-to-provider item code
24
+ * mappings that drive the booking API integration.
25
+ *
26
+ * Every write on these tables lives in a dedicated hand-written tool
27
+ * with an explicit safety envelope (see `bkm-availability-*`,
28
+ * `bkm-provider-item-*`, `bkm-adapter-configuration-update`).
29
+ */
30
+ const contract = loadPersistResourceContract();
31
+ export const bkmGeneratedReadReport = buildGeneratedReadCatalogueReport(contract, { modules: ['bkm'] });
32
+ export const bkmGeneratedReadTools = buildGeneratedReadCatalogue(contract, { modules: ['bkm'] });
33
+ //# sourceMappingURL=generated-reads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-reads.js","sourceRoot":"","sources":["../../../src/tools/bkm/generated-reads.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,GAElC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,QAAQ,GAAG,2BAA2B,EAAE,CAAC;AAE/C,MAAM,CAAC,MAAM,sBAAsB,GACjC,iCAAiC,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,qBAAqB,GAAW,2BAA2B,CACtE,QAAQ,EACR,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CACrB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Tool } from '../registry.js';
2
+ export declare const bkmTools: Tool[];
3
+ /** Read-only slice used by the `bkm-readonly` selectable sub-domain. */
4
+ export declare const bkmReadOnlyTools: Tool[];
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/bkm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAYtC,eAAO,MAAM,QAAQ,EAAE,IAAI,EAAiD,CAAC;AAE7E,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,EAAE,IAAI,EAA0B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { bkmGeneratedReadTools } from './generated-reads.js';
2
+ import { bkmAvailabilitySearchStartTool } from './bkm-availability-search-start.js';
3
+ import { bkmProviderItemMappingCreateTool } from './bkm-provider-item-mapping-create.js';
4
+ import { bkmAdapterConfigurationUpdateTool } from './bkm-adapter-configuration-update.js';
5
+ const bkmWriteTools = [
6
+ bkmAvailabilitySearchStartTool,
7
+ bkmProviderItemMappingCreateTool,
8
+ bkmAdapterConfigurationUpdateTool,
9
+ ];
10
+ export const bkmTools = [...bkmGeneratedReadTools, ...bkmWriteTools];
11
+ /** Read-only slice used by the `bkm-readonly` selectable sub-domain. */
12
+ export const bkmReadOnlyTools = bkmGeneratedReadTools;
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/bkm/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAE1F,MAAM,aAAa,GAAW;IAC5B,8BAA8B;IAC9B,gCAAgC;IAChC,iCAAiC;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAW,CAAC,GAAG,qBAAqB,EAAE,GAAG,aAAa,CAAC,CAAC;AAE7E,wEAAwE;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAW,qBAAqB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { Tool } from '../registry.js';
2
+ /**
3
+ * Command semantic tool: dispatch a control message to a registered
4
+ * device through `POST /persist/v2/dcm/devices/{id}/command`. The
5
+ * endpoint rejects a device that is not ONLINE, validates the slot and
6
+ * session-start item, and records `requested_by`. A direct insert into
7
+ * `dcm_device_commands` gets none of that: the send job has no ONLINE
8
+ * check of its own, so a command for an offline device would still
9
+ * report SENT.
10
+ *
11
+ * The tool requires `confirm: true` and a `command_type_code`, which is
12
+ * validated at the boundary for shape only; persist rejects unknown
13
+ * codes. `correlation_id` is server-assigned.
14
+ *
15
+ * ACKNOWLEDGED means the device replied, not that the command worked: a
16
+ * device that does not support a command still acknowledges it, with
17
+ * `success: false` in `response_payload`.
18
+ *
19
+ * This tool is NOT retry-safe. Nothing identifies a repeat call, so a
20
+ * retry sends the command to the device again. It takes no
21
+ * `idempotency_key` because the endpoint would ignore it (WI-0009332).
22
+ *
23
+ * Internal command queues (`fnd_http_outbox`, `ixn_queues`) are
24
+ * EXCLUDED from the MCP surface by the queue guardrail and must not
25
+ * be surfaced by this or any other tool.
26
+ */
27
+ export declare const dcmDeviceCommandDispatchTool: Tool;
28
+ //# sourceMappingURL=dcm-device-command-dispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dcm-device-command-dispatch.d.ts","sourceRoot":"","sources":["../../../src/tools/dcm/dcm-device-command-dispatch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKtC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,4BAA4B,EAAE,IA0E1C,CAAC"}