@raytio/mcp-server 1.16.1 → 1.17.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 (145) hide show
  1. package/dist/ppm/__fixtures__/work-item.d.ts.map +1 -1
  2. package/dist/ppm/__fixtures__/work-item.js +1 -0
  3. package/dist/ppm/__fixtures__/work-item.js.map +1 -1
  4. package/dist/ppm/projection.d.ts.map +1 -1
  5. package/dist/ppm/projection.js +1 -0
  6. package/dist/ppm/projection.js.map +1 -1
  7. package/dist/ppm/types.d.ts +1 -0
  8. package/dist/ppm/types.d.ts.map +1 -1
  9. package/dist/raytio/api-client.d.ts +20 -1
  10. package/dist/raytio/api-client.d.ts.map +1 -1
  11. package/dist/raytio/api-client.js +18 -1
  12. package/dist/raytio/api-client.js.map +1 -1
  13. package/dist/sfa/filters.d.ts +34 -0
  14. package/dist/sfa/filters.d.ts.map +1 -0
  15. package/dist/sfa/filters.js +64 -0
  16. package/dist/sfa/filters.js.map +1 -0
  17. package/dist/sfa/projection.d.ts +8 -0
  18. package/dist/sfa/projection.d.ts.map +1 -0
  19. package/dist/sfa/projection.js +49 -0
  20. package/dist/sfa/projection.js.map +1 -0
  21. package/dist/sfa/types.d.ts +93 -0
  22. package/dist/sfa/types.d.ts.map +1 -0
  23. package/dist/sfa/types.js +2 -0
  24. package/dist/sfa/types.js.map +1 -0
  25. package/dist/tools/domains.d.ts.map +1 -1
  26. package/dist/tools/domains.js +19 -0
  27. package/dist/tools/domains.js.map +1 -1
  28. package/dist/tools/ppm/work-item-create.d.ts.map +1 -1
  29. package/dist/tools/ppm/work-item-create.js +2 -1
  30. package/dist/tools/ppm/work-item-create.js.map +1 -1
  31. package/dist/tools/ppm/work-item-update.d.ts.map +1 -1
  32. package/dist/tools/ppm/work-item-update.js +1 -0
  33. package/dist/tools/ppm/work-item-update.js.map +1 -1
  34. package/dist/tools/role-mapping.d.ts.map +1 -1
  35. package/dist/tools/role-mapping.js +6 -0
  36. package/dist/tools/role-mapping.js.map +1 -1
  37. package/dist/tools/sfa/activity-create.d.ts +3 -0
  38. package/dist/tools/sfa/activity-create.d.ts.map +1 -0
  39. package/dist/tools/sfa/activity-create.js +49 -0
  40. package/dist/tools/sfa/activity-create.js.map +1 -0
  41. package/dist/tools/sfa/activity-list.d.ts +3 -0
  42. package/dist/tools/sfa/activity-list.d.ts.map +1 -0
  43. package/dist/tools/sfa/activity-list.js +47 -0
  44. package/dist/tools/sfa/activity-list.js.map +1 -0
  45. package/dist/tools/sfa/deal-advance-stage.d.ts +13 -0
  46. package/dist/tools/sfa/deal-advance-stage.d.ts.map +1 -0
  47. package/dist/tools/sfa/deal-advance-stage.js +48 -0
  48. package/dist/tools/sfa/deal-advance-stage.js.map +1 -0
  49. package/dist/tools/sfa/deal-create.d.ts +3 -0
  50. package/dist/tools/sfa/deal-create.d.ts.map +1 -0
  51. package/dist/tools/sfa/deal-create.js +51 -0
  52. package/dist/tools/sfa/deal-create.js.map +1 -0
  53. package/dist/tools/sfa/deal-get.d.ts +3 -0
  54. package/dist/tools/sfa/deal-get.d.ts.map +1 -0
  55. package/dist/tools/sfa/deal-get.js +24 -0
  56. package/dist/tools/sfa/deal-get.js.map +1 -0
  57. package/dist/tools/sfa/deal-line-create.d.ts +3 -0
  58. package/dist/tools/sfa/deal-line-create.d.ts.map +1 -0
  59. package/dist/tools/sfa/deal-line-create.js +37 -0
  60. package/dist/tools/sfa/deal-line-create.js.map +1 -0
  61. package/dist/tools/sfa/deal-line-list.d.ts +3 -0
  62. package/dist/tools/sfa/deal-line-list.d.ts.map +1 -0
  63. package/dist/tools/sfa/deal-line-list.js +44 -0
  64. package/dist/tools/sfa/deal-line-list.js.map +1 -0
  65. package/dist/tools/sfa/deal-list.d.ts +3 -0
  66. package/dist/tools/sfa/deal-list.d.ts.map +1 -0
  67. package/dist/tools/sfa/deal-list.js +40 -0
  68. package/dist/tools/sfa/deal-list.js.map +1 -0
  69. package/dist/tools/sfa/deal-update.d.ts +3 -0
  70. package/dist/tools/sfa/deal-update.d.ts.map +1 -0
  71. package/dist/tools/sfa/deal-update.js +56 -0
  72. package/dist/tools/sfa/deal-update.js.map +1 -0
  73. package/dist/tools/sfa/index.d.ts +3 -0
  74. package/dist/tools/sfa/index.d.ts.map +1 -0
  75. package/dist/tools/sfa/index.js +38 -0
  76. package/dist/tools/sfa/index.js.map +1 -0
  77. package/dist/tools/sfa/lead-convert.d.ts +15 -0
  78. package/dist/tools/sfa/lead-convert.d.ts.map +1 -0
  79. package/dist/tools/sfa/lead-convert.js +57 -0
  80. package/dist/tools/sfa/lead-convert.js.map +1 -0
  81. package/dist/tools/sfa/lead-create.d.ts +3 -0
  82. package/dist/tools/sfa/lead-create.d.ts.map +1 -0
  83. package/dist/tools/sfa/lead-create.js +52 -0
  84. package/dist/tools/sfa/lead-create.js.map +1 -0
  85. package/dist/tools/sfa/lead-get.d.ts +3 -0
  86. package/dist/tools/sfa/lead-get.d.ts.map +1 -0
  87. package/dist/tools/sfa/lead-get.js +24 -0
  88. package/dist/tools/sfa/lead-get.js.map +1 -0
  89. package/dist/tools/sfa/lead-list.d.ts +3 -0
  90. package/dist/tools/sfa/lead-list.d.ts.map +1 -0
  91. package/dist/tools/sfa/lead-list.js +40 -0
  92. package/dist/tools/sfa/lead-list.js.map +1 -0
  93. package/dist/tools/sfa/lead-source-list.d.ts +3 -0
  94. package/dist/tools/sfa/lead-source-list.d.ts.map +1 -0
  95. package/dist/tools/sfa/lead-source-list.js +45 -0
  96. package/dist/tools/sfa/lead-source-list.js.map +1 -0
  97. package/dist/tools/sfa/lead-update.d.ts +3 -0
  98. package/dist/tools/sfa/lead-update.d.ts.map +1 -0
  99. package/dist/tools/sfa/lead-update.js +56 -0
  100. package/dist/tools/sfa/lead-update.js.map +1 -0
  101. package/dist/tools/sfa/pipeline-list.d.ts +3 -0
  102. package/dist/tools/sfa/pipeline-list.d.ts.map +1 -0
  103. package/dist/tools/sfa/pipeline-list.js +44 -0
  104. package/dist/tools/sfa/pipeline-list.js.map +1 -0
  105. package/dist/tools/types.d.ts +2 -0
  106. package/dist/tools/types.d.ts.map +1 -1
  107. package/dist/tools/types.js +2 -0
  108. package/dist/tools/types.js.map +1 -1
  109. package/package.json +1 -1
  110. package/dist/tools/create-access-app.d.ts +0 -10
  111. package/dist/tools/create-access-app.d.ts.map +0 -1
  112. package/dist/tools/create-access-app.js +0 -20
  113. package/dist/tools/create-access-app.js.map +0 -1
  114. package/dist/tools/create-form.d.ts +0 -41
  115. package/dist/tools/create-form.d.ts.map +0 -1
  116. package/dist/tools/create-form.js +0 -81
  117. package/dist/tools/create-form.js.map +0 -1
  118. package/dist/tools/list-schemas.d.ts +0 -7
  119. package/dist/tools/list-schemas.d.ts.map +0 -1
  120. package/dist/tools/list-schemas.js +0 -19
  121. package/dist/tools/list-schemas.js.map +0 -1
  122. package/dist/tools/poll-and-retrieve.d.ts +0 -9
  123. package/dist/tools/poll-and-retrieve.d.ts.map +0 -1
  124. package/dist/tools/poll-and-retrieve.js +0 -48
  125. package/dist/tools/poll-and-retrieve.js.map +0 -1
  126. package/dist/tools/ppm/role-memory-create.d.ts +0 -3
  127. package/dist/tools/ppm/role-memory-create.d.ts.map +0 -1
  128. package/dist/tools/ppm/role-memory-create.js +0 -38
  129. package/dist/tools/ppm/role-memory-create.js.map +0 -1
  130. package/dist/tools/ppm/role-memory-get.d.ts +0 -3
  131. package/dist/tools/ppm/role-memory-get.d.ts.map +0 -1
  132. package/dist/tools/ppm/role-memory-get.js +0 -24
  133. package/dist/tools/ppm/role-memory-get.js.map +0 -1
  134. package/dist/tools/ppm/role-memory-list.d.ts +0 -3
  135. package/dist/tools/ppm/role-memory-list.d.ts.map +0 -1
  136. package/dist/tools/ppm/role-memory-list.js +0 -55
  137. package/dist/tools/ppm/role-memory-list.js.map +0 -1
  138. package/dist/tools/ppm/role-memory-update.d.ts +0 -3
  139. package/dist/tools/ppm/role-memory-update.d.ts.map +0 -1
  140. package/dist/tools/ppm/role-memory-update.js +0 -42
  141. package/dist/tools/ppm/role-memory-update.js.map +0 -1
  142. package/dist/tools/send-request.d.ts +0 -11
  143. package/dist/tools/send-request.d.ts.map +0 -1
  144. package/dist/tools/send-request.js +0 -24
  145. package/dist/tools/send-request.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-form.d.ts","sourceRoot":"","sources":["../../src/tools/create-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAkC,MAAM,YAAY,CAAC;AAG1E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,eAAe,EACvB,mBAAmB,EAAE,MAAM,EAC3B,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAC1C,cAAc,CAAC,EAAE,MAAM,EACvB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CA2F3C"}
@@ -1,81 +0,0 @@
1
- import { successResponse, errorResponse } from './types.js';
2
- import { getSchemaByName } from '../schemas/loader.js';
3
- export async function createForm(client, accessApplicationId, systemSchemas, customFields, recipientEmail, pageName) {
4
- try {
5
- const schemaIds = [];
6
- // Validate system schemas exist
7
- for (const schemaName of systemSchemas) {
8
- const schema = getSchemaByName(schemaName);
9
- if (!schema) {
10
- return errorResponse('SCHEMA_NOT_FOUND', `Schema '${schemaName}' not found. Use list_schemas() to see available options.`);
11
- }
12
- schemaIds.push(schema.schema_name);
13
- }
14
- // Create personal schema if custom fields provided
15
- if (customFields && Object.keys(customFields).length > 0) {
16
- const personalSchemaName = `ps_Custom_${Date.now()}`;
17
- const personalSchema = {
18
- schema_name: personalSchemaName,
19
- schema_type: 'ps',
20
- schema: {
21
- type: 'object',
22
- title: 'Custom Fields',
23
- description: 'Additional custom fields',
24
- properties: customFields,
25
- required: [],
26
- },
27
- };
28
- const schemaResponse = await client.post('/db/v1/dsm_schema', personalSchema);
29
- schemaIds.push(schemaResponse.id || personalSchemaName);
30
- }
31
- // Build form configuration
32
- const formConfig = {
33
- a_id: accessApplicationId,
34
- pages: [
35
- {
36
- name: pageName || 'Data Request',
37
- description_override: false,
38
- schemas: schemaIds,
39
- multiple: false,
40
- filter: 'anyOf',
41
- optional: false,
42
- profile: true,
43
- service_provider_link: false,
44
- display_schema_description: false,
45
- display_field_title: true,
46
- display_field_description: true,
47
- share: 'both',
48
- verify_data: true,
49
- display_mode: 'default',
50
- },
51
- ],
52
- review_text: 'Please review the data you are about to share and confirm all of the details are correct',
53
- update_reference: false,
54
- emails: recipientEmail ? [recipientEmail] : [],
55
- quick_onboard: false,
56
- display_sharing_preview: true,
57
- };
58
- // Base64 encode the form configuration
59
- const encodedConfig = Buffer.from(JSON.stringify(formConfig)).toString('base64');
60
- // Create dsm_links record
61
- const linkResponse = await client.post('/db/v1/dsm_links', {
62
- url: encodedConfig,
63
- });
64
- const linkId = linkResponse.id;
65
- const shortLinkKey = linkResponse.short_link_key;
66
- // Link to access application via dsm_access_application_links
67
- await client.post('/db/v1/dsm_access_application_links', {
68
- aa_id: accessApplicationId,
69
- short_link_key: shortLinkKey,
70
- });
71
- return successResponse({
72
- link_id: linkId,
73
- short_link_key: shortLinkKey,
74
- schema_ids: schemaIds,
75
- });
76
- }
77
- catch (error) {
78
- return errorResponse('API_ERROR', `Failed to create form: ${error.message}`);
79
- }
80
- }
81
- //# sourceMappingURL=create-form.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-form.js","sourceRoot":"","sources":["../../src/tools/create-form.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { simplifySchema } from '../schemas/loader.js';
2
- import { ToolResponse } from './types.js';
3
- export interface ListSchemasResponse {
4
- schemas: ReturnType<typeof simplifySchema>[];
5
- }
6
- export declare function listSchemas(): ToolResponse<ListSchemasResponse>;
7
- //# sourceMappingURL=list-schemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-schemas.d.ts","sourceRoot":"","sources":["../../src/tools/list-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAmB,MAAM,YAAY,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,EAAE,CAAC;CAC9C;AAED,wBAAgB,WAAW,IAAI,YAAY,CAAC,mBAAmB,CAAC,CAe/D"}
@@ -1,19 +0,0 @@
1
- import { loadSchemas, simplifySchema } from '../schemas/loader.js';
2
- import { successResponse } from './types.js';
3
- export function listSchemas() {
4
- try {
5
- const schemas = loadSchemas();
6
- const simplified = schemas.map(simplifySchema);
7
- return successResponse({ schemas: simplified });
8
- }
9
- catch (error) {
10
- return {
11
- success: false,
12
- error: {
13
- code: 'SCHEMA_LOAD_ERROR',
14
- message: `Failed to load schemas: ${error.message}`,
15
- },
16
- };
17
- }
18
- }
19
- //# sourceMappingURL=list-schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-schemas.js","sourceRoot":"","sources":["../../src/tools/list-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAgB,eAAe,EAAE,MAAM,YAAY,CAAC;AAM3D,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE/C,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,2BAA2B,KAAK,CAAC,OAAO,EAAE;aACpD;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,9 +0,0 @@
1
- import { RaytioApiClient } from '../raytio/api-client.js';
2
- import { ToolResponse } from './types.js';
3
- export interface RetrievedData {
4
- instance_id: string;
5
- completed_at: string;
6
- data: Record<string, any>;
7
- }
8
- export declare function pollAndRetrieve(client: RaytioApiClient, requestShortCode: string, userPassword: string): Promise<ToolResponse<RetrievedData | null>>;
9
- //# sourceMappingURL=poll-and-retrieve.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poll-and-retrieve.d.ts","sourceRoot":"","sources":["../../src/tools/poll-and-retrieve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAkC,MAAM,YAAY,CAAC;AAG1E,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAgE7C"}
@@ -1,48 +0,0 @@
1
- import { successResponse, errorResponse } from './types.js';
2
- import { unwrapWADEK, decryptWithDEK } from '../crypto/wadek.js';
3
- export async function pollAndRetrieve(client, requestShortCode, userPassword) {
4
- try {
5
- // Step 1: Poll for completed instances
6
- const instances = await client.get(`/db/v1/dsm_access_application_instances?request_short_code=eq.${requestShortCode}&status=eq.Submitted`);
7
- if (!instances || instances.length === 0) {
8
- return successResponse(null); // No completed instances yet
9
- }
10
- const instance = instances[0];
11
- const instanceId = instance.id;
12
- // Step 2: Fetch encrypted data nodes
13
- const nodes = await client.get(`/db/v1/dsm_access_application_instance_nodes?aai_id=eq.${instanceId}`);
14
- // Step 3: Fetch WADEKs (wrapped DEKs)
15
- const keys = await client.get(`/db/v1/dsm_access_application_instance_node_keys?aai_id=eq.${instanceId}`);
16
- if (!keys || keys.length === 0) {
17
- return errorResponse('NO_KEYS_FOUND', 'No encryption keys found for this instance. Cannot decrypt data.');
18
- }
19
- // Step 4: Unwrap WADEK to get DEK
20
- const wadek = keys[0].wadek;
21
- const dek = await unwrapWADEK(wadek, userPassword);
22
- // Step 5: Decrypt all nodes
23
- const decryptedData = {};
24
- for (const node of nodes) {
25
- const schemaName = node.schema_name || node.schema_id;
26
- const encryptedData = node.encrypted_data;
27
- if (encryptedData) {
28
- try {
29
- const decrypted = await decryptWithDEK(encryptedData, dek);
30
- decryptedData[schemaName] = decrypted;
31
- }
32
- catch (error) {
33
- console.error(`Failed to decrypt node ${node.id}:`, error.message);
34
- // Continue decrypting other nodes
35
- }
36
- }
37
- }
38
- return successResponse({
39
- instance_id: instanceId,
40
- completed_at: instance.completed_at || instance.updated_at,
41
- data: decryptedData,
42
- });
43
- }
44
- catch (error) {
45
- return errorResponse('RETRIEVAL_ERROR', `Failed to retrieve data: ${error.message}`);
46
- }
47
- }
48
- //# sourceMappingURL=poll-and-retrieve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poll-and-retrieve.js","sourceRoot":"","sources":["../../src/tools/poll-and-retrieve.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQjE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAuB,EACvB,gBAAwB,EACxB,YAAoB;IAEpB,IAAI,CAAC;QACH,uCAAuC;QACvC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,GAAG,CAChC,iEAAiE,gBAAgB,sBAAsB,CACxG,CAAC;QAEF,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B;QAC7D,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC;QAE/B,qCAAqC;QACrC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAC5B,0DAA0D,UAAU,EAAE,CACvE,CAAC;QAEF,sCAAsC;QACtC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC3B,8DAA8D,UAAU,EAAE,CAC3E,CAAC;QAEF,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,aAAa,CAClB,eAAe,EACf,kEAAkE,CACnE,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAEnD,4BAA4B;QAC5B,MAAM,aAAa,GAAwB,EAAE,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC;YACtD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;YAE1C,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;oBAC3D,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;gBACxC,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBACnE,kCAAkC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;YACrB,WAAW,EAAE,UAAU;YACvB,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,UAAU;YAC1D,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,aAAa,CAClB,iBAAiB,EACjB,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAC5C,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Tool } from '../registry.js';
2
- export declare const roleMemoryCreateTool: Tool;
3
- //# sourceMappingURL=role-memory-create.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role-memory-create.d.ts","sourceRoot":"","sources":["../../../src/tools/ppm/role-memory-create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKtC,eAAO,MAAM,oBAAoB,EAAE,IAsClC,CAAC"}
@@ -1,38 +0,0 @@
1
- import { z } from 'zod';
2
- import { successResponse, errorResponse, API_ERROR } from '../types.js';
3
- import { ROLE_MEMORY_SELECT } from '../../ppm/projection.js';
4
- export const roleMemoryCreateTool = {
5
- name: 'ppm_role_memory_create',
6
- description: 'Create a new PPM role memory for agent learning persistence',
7
- inputSchema: z.object({
8
- work_item_role: z.string().describe('Role (GENERALIST, DB_MIGRATION, BACKEND, FRONTEND, DOCS_WRITER, BRUNO_TESTER, DEVOPS, CODE_REVIEWER, MOBILE_ANDROID, MOBILE_IOS)'),
9
- memory_type: z.string().describe('Type (FEEDBACK, PROJECT, REFERENCE, LESSON)'),
10
- title: z.string().describe('Short descriptive title (max 256 chars)'),
11
- description: z.string().optional().describe('Optional one-line description'),
12
- body: z.string().describe('Full memory content'),
13
- source_work_item_id: z.string().optional().describe('UUID of the work item that triggered this memory'),
14
- metadata: z.record(z.unknown()).optional().describe('Optional structured metadata (JSONB)'),
15
- }),
16
- handler: async (args, ctx) => {
17
- const input = args;
18
- try {
19
- const body = {
20
- work_item_role: input.work_item_role,
21
- memory_type: input.memory_type,
22
- title: input.title,
23
- body: input.body,
24
- };
25
- const optionalFields = ['description', 'source_work_item_id', 'metadata'];
26
- for (const field of optionalFields) {
27
- if (input[field] !== undefined)
28
- body[field] = input[field];
29
- }
30
- const items = await ctx.apiClient.post(`/db/v1/ppm_role_memories?select=${ROLE_MEMORY_SELECT}`, body, { headers: { Prefer: 'return=representation' } });
31
- return successResponse(items[0]);
32
- }
33
- catch (error) {
34
- return errorResponse(API_ERROR, `Failed to create role memory: ${error.message}`);
35
- }
36
- },
37
- };
38
- //# sourceMappingURL=role-memory-create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role-memory-create.js","sourceRoot":"","sources":["../../../src/tools/ppm/role-memory-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,MAAM,CAAC,MAAM,oBAAoB,GAAS;IACxC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,6DAA6D;IAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kIAAkI,CAAC;QACvK,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACrE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC5E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAChD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QACvG,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KAC5F,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAA2B,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,IAAI,GAAwB;gBAChC,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAC;YAC1E,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS;oBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CACpC,mCAAmC,kBAAkB,EAAE,EACvD,IAAI,EACJ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,EAAE,CACjD,CAAC;YAEF,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,aAAa,CAAC,SAAS,EAAE,iCAAiC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Tool } from '../registry.js';
2
- export declare const roleMemoryGetTool: Tool;
3
- //# sourceMappingURL=role-memory-get.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role-memory-get.d.ts","sourceRoot":"","sources":["../../../src/tools/ppm/role-memory-get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKtC,eAAO,MAAM,iBAAiB,EAAE,IAoB/B,CAAC"}
@@ -1,24 +0,0 @@
1
- import { z } from 'zod';
2
- import { successResponse, errorResponse, PPM_NOT_FOUND, API_ERROR } from '../types.js';
3
- import { ROLE_MEMORY_SELECT } from '../../ppm/projection.js';
4
- export const roleMemoryGetTool = {
5
- name: 'ppm_role_memory_get',
6
- description: 'Get a single PPM role memory by ID',
7
- inputSchema: z.object({
8
- id: z.string().describe('UUID of the role memory'),
9
- }),
10
- handler: async (args, ctx) => {
11
- const { id } = args;
12
- try {
13
- const items = await ctx.apiClient.get(`/db/v1/ppm_role_memories?id=eq.${id}&select=${ROLE_MEMORY_SELECT}`);
14
- if (!items || items.length === 0) {
15
- return errorResponse(PPM_NOT_FOUND, `Role memory ${id} not found`);
16
- }
17
- return successResponse(items[0]);
18
- }
19
- catch (error) {
20
- return errorResponse(API_ERROR, `Failed to get role memory: ${error.message}`);
21
- }
22
- },
23
- };
24
- //# sourceMappingURL=role-memory-get.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role-memory-get.js","sourceRoot":"","sources":["../../../src/tools/ppm/role-memory-get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,oCAAoC;IACjD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KACnD,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,EAAE,EAAE,EAAE,GAAG,IAAsB,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CACnC,kCAAkC,EAAE,WAAW,kBAAkB,EAAE,CACpE,CAAC;YACF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,aAAa,CAAC,aAAa,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,aAAa,CAAC,SAAS,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Tool } from '../registry.js';
2
- export declare const roleMemoryListTool: Tool;
3
- //# sourceMappingURL=role-memory-list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role-memory-list.d.ts","sourceRoot":"","sources":["../../../src/tools/ppm/role-memory-list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKtC,eAAO,MAAM,kBAAkB,EAAE,IAsEhC,CAAC"}
@@ -1,55 +0,0 @@
1
- import { z } from 'zod';
2
- import { successResponse, errorResponse, API_ERROR } from '../types.js';
3
- import { ROLE_MEMORY_SELECT } from '../../ppm/projection.js';
4
- export const roleMemoryListTool = {
5
- name: 'ppm_role_memory_list',
6
- description: 'List/filter PPM role memories for agent learning persistence',
7
- inputSchema: z.object({
8
- work_item_role: z.string().optional().describe('Filter by role (e.g. BACKEND, FRONTEND, DB_MIGRATION)'),
9
- memory_type: z.string().optional().describe('Filter by type (FEEDBACK, PROJECT, REFERENCE, LESSON)'),
10
- active: z.boolean().optional().describe('Filter by active flag (default true)'),
11
- source_work_item_id: z.string().optional().describe('Filter by source work item ID'),
12
- search: z.string().optional().describe('Full-text search across title and body'),
13
- limit: z.number().optional().describe('Max results (default 50, max 200)'),
14
- offset: z.number().optional().describe('Offset for pagination'),
15
- order_by: z.string().optional().describe('PostgREST order clause (default: title.asc)'),
16
- }),
17
- handler: async (args, ctx) => {
18
- const input = args;
19
- try {
20
- const parts = [];
21
- if (input.work_item_role) {
22
- parts.push(`work_item_role=eq.${input.work_item_role}`);
23
- }
24
- if (input.memory_type) {
25
- parts.push(`memory_type=eq.${input.memory_type}`);
26
- }
27
- const active = input.active ?? true;
28
- parts.push(`active=eq.${active}`);
29
- if (input.source_work_item_id) {
30
- parts.push(`source_work_item_id=eq.${input.source_work_item_id}`);
31
- }
32
- if (input.search) {
33
- parts.push(`or=(title.ilike.*${input.search}*,body.ilike.*${input.search}*)`);
34
- }
35
- const limit = Math.min(input.limit ?? 50, 200);
36
- parts.push(`limit=${limit}`);
37
- if (input.offset) {
38
- parts.push(`offset=${input.offset}`);
39
- }
40
- parts.push(`order=${input.order_by ?? 'title.asc'}`);
41
- const query = parts.join('&');
42
- const items = await ctx.apiClient.get(`/db/v1/ppm_role_memories?select=${ROLE_MEMORY_SELECT}&${query}`, { headers: { Prefer: 'count=exact' } });
43
- const offset = input.offset ?? 0;
44
- return successResponse({
45
- items,
46
- count: items.length,
47
- next_offset: items.length === limit ? offset + limit : null,
48
- });
49
- }
50
- catch (error) {
51
- return errorResponse(API_ERROR, `Failed to list role memories: ${error.message}`);
52
- }
53
- },
54
- };
55
- //# sourceMappingURL=role-memory-list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role-memory-list.js","sourceRoot":"","sources":["../../../src/tools/ppm/role-memory-list.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Tool } from '../registry.js';
2
- export declare const roleMemoryUpdateTool: Tool;
3
- //# sourceMappingURL=role-memory-update.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role-memory-update.d.ts","sourceRoot":"","sources":["../../../src/tools/ppm/role-memory-update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAOtC,eAAO,MAAM,oBAAoB,EAAE,IA8ClC,CAAC"}
@@ -1,42 +0,0 @@
1
- import { z } from 'zod';
2
- import { successResponse, errorResponse, PPM_NOT_FOUND, PPM_VALIDATION, API_ERROR } from '../types.js';
3
- import { ROLE_MEMORY_SELECT } from '../../ppm/projection.js';
4
- const UUID_FIELDS = new Set(['id', 'source_work_item_id']);
5
- export const roleMemoryUpdateTool = {
6
- name: 'ppm_role_memory_update',
7
- description: 'Update a PPM role memory. Pass null for a nullable field to clear it; omit the field to leave it unchanged.',
8
- inputSchema: z.object({
9
- id: z.string().describe('UUID of the role memory'),
10
- title: z.string().optional().describe('Short descriptive title'),
11
- description: z.string().nullable().optional().describe('One-line description (null to clear)'),
12
- body: z.string().optional().describe('Full memory content'),
13
- source_work_item_id: z.string().nullable().optional().describe('Source work item ID (null to clear)'),
14
- metadata: z.record(z.unknown()).nullable().optional().describe('Structured metadata (null to clear)'),
15
- active: z.boolean().optional().describe('Set to false for soft-delete'),
16
- }),
17
- handler: async (args, ctx) => {
18
- const { id, ...updates } = args;
19
- for (const field of UUID_FIELDS) {
20
- const value = field === 'id' ? id : updates[field];
21
- if (value === '') {
22
- return errorResponse(PPM_VALIDATION, `${field} must be a valid UUID, not an empty string`);
23
- }
24
- }
25
- try {
26
- const body = {};
27
- for (const [key, value] of Object.entries(updates)) {
28
- if (value !== undefined)
29
- body[key] = value;
30
- }
31
- const items = await ctx.apiClient.patch(`/db/v1/ppm_role_memories?id=eq.${id}&select=${ROLE_MEMORY_SELECT}`, body, { headers: { Prefer: 'return=representation' } });
32
- if (!items || items.length === 0) {
33
- return errorResponse(PPM_NOT_FOUND, `Role memory ${id} not found`);
34
- }
35
- return successResponse(items[0]);
36
- }
37
- catch (error) {
38
- return errorResponse(API_ERROR, `Failed to update role memory: ${error.message}`);
39
- }
40
- },
41
- };
42
- //# sourceMappingURL=role-memory-update.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role-memory-update.js","sourceRoot":"","sources":["../../../src/tools/ppm/role-memory-update.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { RaytioApiClient } from '../raytio/api-client.js';
2
- import { ToolResponse } from './types.js';
3
- export interface SendRequestResponse {
4
- request_id: string;
5
- request_short_code: string;
6
- sent_to: string;
7
- expires_at: string;
8
- status: string;
9
- }
10
- export declare function sendRequest(client: RaytioApiClient, accessApplicationId: string, shortLinkKey: string, recipientEmail: string, message?: string, expiryMinutes?: number): Promise<ToolResponse<SendRequestResponse>>;
11
- //# sourceMappingURL=send-request.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-request.d.ts","sourceRoot":"","sources":["../../src/tools/send-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAkC,MAAM,YAAY,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,eAAe,EACvB,mBAAmB,EAAE,MAAM,EAC3B,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,aAAa,GAAE,MAAW,GACzB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAyB5C"}
@@ -1,24 +0,0 @@
1
- import { successResponse, errorResponse } from './types.js';
2
- export async function sendRequest(client, accessApplicationId, shortLinkKey, recipientEmail, message, expiryMinutes = 10) {
3
- try {
4
- const expiresAt = new Date(Date.now() + expiryMinutes * 60 * 1000).toISOString();
5
- const response = await client.post('/db/v1/dsm_access_application_requests', {
6
- aa_id: accessApplicationId,
7
- short_link_key: shortLinkKey,
8
- recipient_email: recipientEmail,
9
- message: message || 'An AI assistant is requesting access to your data.',
10
- expires_at: expiresAt,
11
- });
12
- return successResponse({
13
- request_id: response.id,
14
- request_short_code: response.request_short_code,
15
- sent_to: recipientEmail,
16
- expires_at: expiresAt,
17
- status: response.status || 'pending',
18
- });
19
- }
20
- catch (error) {
21
- return errorResponse('API_ERROR', `Failed to send request: ${error.message}`);
22
- }
23
- }
24
- //# sourceMappingURL=send-request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-request.js","sourceRoot":"","sources":["../../src/tools/send-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAU1E,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAuB,EACvB,mBAA2B,EAC3B,YAAoB,EACpB,cAAsB,EACtB,OAAgB,EAChB,gBAAwB,EAAE;IAE1B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAEjF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;YAC3E,KAAK,EAAE,mBAAmB;YAC1B,cAAc,EAAE,YAAY;YAC5B,eAAe,EAAE,cAAc;YAC/B,OAAO,EAAE,OAAO,IAAI,oDAAoD;YACxE,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC;YACrB,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,OAAO,EAAE,cAAc;YACvB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,SAAS;SACrC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,aAAa,CAClB,WAAW,EACX,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAC3C,CAAC;IACJ,CAAC;AACH,CAAC"}