@nlabs/metropolisjs 0.3.4 → 0.3.5

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 (117) hide show
  1. package/.github/copilot-instructions.md +55 -167
  2. package/AGENTS.md +52 -10
  3. package/README.md +52 -2
  4. package/docs/ACTIONS.md +84 -22
  5. package/docs/assets/metropolisjs-logo.png +0 -0
  6. package/examples/factory-pattern-usage.ts +15 -10
  7. package/lex.config.mjs +5 -8
  8. package/lib/actions/appActions/appActions.d.ts.map +1 -1
  9. package/lib/actions/appActions/appActions.js +77 -6
  10. package/lib/actions/crmActions/crmActions.d.ts +87 -0
  11. package/lib/actions/crmActions/crmActions.d.ts.map +1 -0
  12. package/lib/actions/crmActions/crmActions.js +338 -0
  13. package/lib/actions/index.d.ts +2 -0
  14. package/lib/actions/index.d.ts.map +1 -1
  15. package/lib/actions/index.js +3 -1
  16. package/lib/actions/restActions/restActions.d.ts +19 -0
  17. package/lib/actions/restActions/restActions.d.ts.map +1 -0
  18. package/lib/actions/restActions/restActions.js +40 -0
  19. package/lib/actions/userActions/userActions.d.ts +12 -0
  20. package/lib/actions/userActions/userActions.d.ts.map +1 -1
  21. package/lib/actions/userActions/userActions.js +20 -4
  22. package/lib/adapters/appAdapter/appAdapter.d.ts +2 -2
  23. package/lib/adapters/appAdapter/appAdapter.d.ts.map +1 -1
  24. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +2 -2
  25. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts.map +1 -1
  26. package/lib/adapters/contentAdapter/contentAdapter.d.ts +2 -2
  27. package/lib/adapters/contentAdapter/contentAdapter.d.ts.map +1 -1
  28. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +2 -2
  29. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts.map +1 -1
  30. package/lib/adapters/eventAdapter/eventAdapter.d.ts +2 -2
  31. package/lib/adapters/eventAdapter/eventAdapter.d.ts.map +1 -1
  32. package/lib/adapters/fileAdapter/fileAdapter.d.ts +2 -2
  33. package/lib/adapters/fileAdapter/fileAdapter.d.ts.map +1 -1
  34. package/lib/adapters/groupAdapter/groupAdapter.d.ts +2 -2
  35. package/lib/adapters/groupAdapter/groupAdapter.d.ts.map +1 -1
  36. package/lib/adapters/imageAdapter/imageAdapter.d.ts +2 -2
  37. package/lib/adapters/imageAdapter/imageAdapter.d.ts.map +1 -1
  38. package/lib/adapters/locationAdapter/locationAdapter.d.ts +2 -2
  39. package/lib/adapters/locationAdapter/locationAdapter.d.ts.map +1 -1
  40. package/lib/adapters/messageAdapter/messageAdapter.d.ts +2 -2
  41. package/lib/adapters/messageAdapter/messageAdapter.d.ts.map +1 -1
  42. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts +2 -2
  43. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts.map +1 -1
  44. package/lib/adapters/personaAdapter/personaAdapter.d.ts +2 -2
  45. package/lib/adapters/personaAdapter/personaAdapter.d.ts.map +1 -1
  46. package/lib/adapters/postAdapter/postAdapter.d.ts +2 -2
  47. package/lib/adapters/postAdapter/postAdapter.d.ts.map +1 -1
  48. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +2 -2
  49. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts.map +1 -1
  50. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +2 -2
  51. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts.map +1 -1
  52. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +2 -2
  53. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts.map +1 -1
  54. package/lib/adapters/tagAdapter/tagAdapter.d.ts +2 -2
  55. package/lib/adapters/tagAdapter/tagAdapter.d.ts.map +1 -1
  56. package/lib/adapters/translationAdapter/translationAdapter.d.ts +2 -2
  57. package/lib/adapters/translationAdapter/translationAdapter.d.ts.map +1 -1
  58. package/lib/adapters/userAdapter/userAdapter.d.ts +2 -2
  59. package/lib/adapters/userAdapter/userAdapter.d.ts.map +1 -1
  60. package/lib/adapters/videoAdapter/videoAdapter.d.ts +2 -2
  61. package/lib/adapters/videoAdapter/videoAdapter.d.ts.map +1 -1
  62. package/lib/config/index.d.ts +1 -0
  63. package/lib/config/index.d.ts.map +1 -1
  64. package/lib/config/index.js +1 -1
  65. package/lib/constants/Collections.d.ts +16 -0
  66. package/lib/constants/Collections.d.ts.map +1 -1
  67. package/lib/constants/Collections.js +17 -1
  68. package/lib/index.d.ts +4 -2
  69. package/lib/index.d.ts.map +1 -1
  70. package/lib/index.js +5 -3
  71. package/lib/stores/appStore.d.ts +10 -0
  72. package/lib/stores/appStore.d.ts.map +1 -1
  73. package/lib/stores/appStore.js +12 -2
  74. package/lib/tests/actionTestScenarios.d.ts +20 -0
  75. package/lib/tests/actionTestScenarios.d.ts.map +1 -0
  76. package/lib/tests/actionTestScenarios.js +851 -0
  77. package/lib/tests/testGraphQLServer.d.ts.map +1 -0
  78. package/lib/tests/testGraphQLServer.js +197 -0
  79. package/lib/tests/testGraphQLServerSimple.d.ts.map +1 -0
  80. package/lib/tests/testGraphQLServerSimple.js +52 -0
  81. package/lib/types/crm.types.d.ts +100 -0
  82. package/lib/types/crm.types.d.ts.map +1 -0
  83. package/lib/types/crm.types.js +6 -0
  84. package/lib/types/index.d.ts +1 -0
  85. package/lib/types/index.d.ts.map +1 -1
  86. package/lib/types/index.js +2 -1
  87. package/lib/utils/actionFactory.d.ts +6 -4
  88. package/lib/utils/actionFactory.d.ts.map +1 -1
  89. package/lib/utils/actionFactory.js +9 -1
  90. package/lib/utils/api.d.ts +14 -2
  91. package/lib/utils/api.d.ts.map +1 -1
  92. package/lib/utils/api.js +114 -32
  93. package/lib/utils/baseActionFactory.d.ts +2 -2
  94. package/lib/utils/dateUtils.d.ts +1 -1
  95. package/lib/utils/dateUtils.d.ts.map +1 -1
  96. package/lib/utils/index.d.ts +2 -2
  97. package/lib/utils/index.d.ts.map +1 -1
  98. package/lib/utils/index.js +3 -3
  99. package/lib/utils/location.d.ts +1 -1
  100. package/lib/utils/location.d.ts.map +1 -1
  101. package/lib/utils/requestCache.d.ts +1 -1
  102. package/lib/utils/requestCache.d.ts.map +1 -1
  103. package/lib/utils/useMetropolis.d.ts +2 -0
  104. package/lib/utils/useMetropolis.d.ts.map +1 -1
  105. package/lib/utils/useMetropolis.js +19 -1
  106. package/lib/utils/validatorFactory.d.ts +1 -1
  107. package/lib/utils/validatorFactory.d.ts.map +1 -1
  108. package/package.json +9 -9
  109. package/tsconfig.lint.json +2 -2
  110. package/tsconfig.test.json +3 -2
  111. package/jest.config.mjs +0 -28
  112. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts.map +0 -1
  113. package/lib/__tests__/e2e/helpers/testGraphQLServer.js +0 -197
  114. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts.map +0 -1
  115. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.js +0 -52
  116. /package/lib/{__tests__/e2e/helpers → tests}/testGraphQLServer.d.ts +0 -0
  117. /package/lib/{__tests__/e2e/helpers → tests}/testGraphQLServerSimple.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testGraphQLServer.d.ts","sourceRoot":"","sources":["../../src/tests/testGraphQLServer.ts"],"names":[],"mappings":"AA8CA,eAAO,MAAM,SAAS;;;;;CAKrB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;CAMxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAU,aAAW,qBA6HhD,CAAC;AAUF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,WAAM,qBAIpC,CAAC"}
@@ -0,0 +1,197 @@
1
+ import { buildSchema, graphql } from 'graphql';
2
+ import http from 'http';
3
+ /**
4
+ * E2E Test GraphQL Server
5
+ * Mocks only the database/resolver layer while keeping real GraphQL execution
6
+ * Uses minimal HTTP + graphql-core
7
+ */ const typeDefs = `
8
+ type Query {
9
+ health: String!
10
+ }
11
+
12
+ type Mutation {
13
+ users: UsersMutation!
14
+ }
15
+
16
+ type UsersMutation {
17
+ signIn(user: UserInput!, expires: Int): Session
18
+ addUser(user: UserInput!): User
19
+ refreshSession(token: String!, expires: Int): Session
20
+ }
21
+
22
+ type Session {
23
+ token: String!
24
+ expires: Int
25
+ issued: Int
26
+ userId: String!
27
+ username: String!
28
+ }
29
+
30
+ type User {
31
+ userId: String!
32
+ username: String!
33
+ email: String
34
+ }
35
+
36
+ input UserInput {
37
+ username: String!
38
+ email: String
39
+ password: String!
40
+ }
41
+ `;
42
+ // Mock database
43
+ export const MOCK_USER = {
44
+ userId: 'user-123',
45
+ username: 'testuser',
46
+ email: 'test@example.com',
47
+ password: 'password123'
48
+ };
49
+ export const MOCK_SESSION = {
50
+ token: 'auth-token-xyz-123',
51
+ expires: Math.floor(Date.now() / 1000) + 86400,
52
+ issued: Math.floor(Date.now() / 1000),
53
+ userId: MOCK_USER.userId,
54
+ username: MOCK_USER.username
55
+ };
56
+ /**
57
+ * Start test GraphQL server
58
+ */ export const startTestServer = async (port = 3001)=>{
59
+ const schema = buildSchema(typeDefs);
60
+ const server = http.createServer(async (req, res)=>{
61
+ res.setHeader('Access-Control-Allow-Origin', '*');
62
+ res.setHeader('Access-Control-Allow-Methods', 'POST, OPTIONS');
63
+ res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
64
+ res.setHeader('Content-Type', 'application/json');
65
+ if (req.method === 'OPTIONS') {
66
+ res.writeHead(200);
67
+ res.end();
68
+ return;
69
+ }
70
+ if (req.method === 'OPTIONS') {
71
+ res.writeHead(200);
72
+ res.end();
73
+ return;
74
+ }
75
+ if (req.url === '/graphql' && req.method === 'POST') {
76
+ // Handle GraphQL requests
77
+ let body = '';
78
+ req.on('data', (chunk)=>{
79
+ body += chunk.toString();
80
+ });
81
+ req.on('end', async ()=>{
82
+ try {
83
+ const { query, variables } = JSON.parse(body);
84
+ console.log('GraphQL request received', {
85
+ query,
86
+ variables
87
+ });
88
+ // Create root value with proper resolver structure
89
+ const rootValue = {
90
+ health: ()=>'ok',
91
+ users: (_parent, args, context, info)=>{
92
+ // Return an object that resolves the UsersMutation fields
93
+ return {
94
+ signIn: (args)=>{
95
+ const { expires, user = {} } = args;
96
+ const { password, username } = user;
97
+ if (username === MOCK_USER.username && password === MOCK_USER.password) {
98
+ return {
99
+ token: MOCK_SESSION.token,
100
+ expires: expires || MOCK_SESSION.expires,
101
+ issued: MOCK_SESSION.issued,
102
+ userId: MOCK_USER.userId,
103
+ username: MOCK_USER.username
104
+ };
105
+ }
106
+ throw new Error('Invalid credentials');
107
+ },
108
+ addUser: (args)=>{
109
+ const { user } = args;
110
+ return {
111
+ userId: `user-${Date.now()}`,
112
+ username: user.username,
113
+ email: user.email
114
+ };
115
+ },
116
+ refreshSession: (args)=>{
117
+ const { token, expires } = args;
118
+ if (token === MOCK_SESSION.token) {
119
+ return {
120
+ token: MOCK_SESSION.token,
121
+ expires: expires || MOCK_SESSION.expires,
122
+ issued: Math.floor(Date.now() / 1000),
123
+ userId: MOCK_USER.userId,
124
+ username: MOCK_USER.username
125
+ };
126
+ }
127
+ throw new Error('Invalid token');
128
+ }
129
+ };
130
+ }
131
+ };
132
+ const result = await graphql({
133
+ schema,
134
+ source: query,
135
+ rootValue,
136
+ variableValues: variables || {}
137
+ });
138
+ console.log('GraphQL result', JSON.stringify(result, null, 2));
139
+ res.writeHead(200);
140
+ res.end(JSON.stringify(result));
141
+ } catch (error) {
142
+ console.error('GraphQL server error', error);
143
+ res.writeHead(500);
144
+ const errorMessage = error instanceof Error ? error.message : String(error);
145
+ res.end(JSON.stringify({
146
+ errors: [
147
+ {
148
+ message: errorMessage
149
+ }
150
+ ]
151
+ }));
152
+ }
153
+ });
154
+ } else if (req.url === '/upload' && req.method === 'POST') {
155
+ // Handle file upload requests
156
+ console.log('Upload request received');
157
+ // Mock successful upload response
158
+ res.writeHead(200);
159
+ res.end(JSON.stringify({
160
+ data: {
161
+ success: true,
162
+ url: 'https://example.com/uploaded-image.jpg'
163
+ }
164
+ }));
165
+ } else {
166
+ res.writeHead(404);
167
+ res.end(JSON.stringify({
168
+ error: 'Not found'
169
+ }));
170
+ }
171
+ });
172
+ return new Promise((resolve)=>{
173
+ server.listen(port, ()=>{
174
+ console.log(`Test GraphQL server running on http://localhost:${port}/graphql`);
175
+ resolve({
176
+ server,
177
+ port
178
+ });
179
+ });
180
+ });
181
+ };
182
+ // Sanity check so this helper file is treated as a test module without failing
183
+ describe('testGraphQLServer helper', ()=>{
184
+ it('exports startTestServer and stopTestServer', ()=>{
185
+ expect(typeof startTestServer).toBe('function');
186
+ expect(typeof stopTestServer).toBe('function');
187
+ });
188
+ });
189
+ /**
190
+ * Stop test server
191
+ */ export const stopTestServer = (server)=>{
192
+ return new Promise((resolve)=>{
193
+ server.close(resolve);
194
+ });
195
+ };
196
+
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvdGVzdHMvdGVzdEdyYXBoUUxTZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYnVpbGRTY2hlbWEsIGdyYXBocWwgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCBodHRwIGZyb20gJ2h0dHAnO1xuXG4vKipcbiAqIEUyRSBUZXN0IEdyYXBoUUwgU2VydmVyXG4gKiBNb2NrcyBvbmx5IHRoZSBkYXRhYmFzZS9yZXNvbHZlciBsYXllciB3aGlsZSBrZWVwaW5nIHJlYWwgR3JhcGhRTCBleGVjdXRpb25cbiAqIFVzZXMgbWluaW1hbCBIVFRQICsgZ3JhcGhxbC1jb3JlXG4gKi9cblxuY29uc3QgdHlwZURlZnMgPSBgXG4gIHR5cGUgUXVlcnkge1xuICAgIGhlYWx0aDogU3RyaW5nIVxuICB9XG5cbiAgdHlwZSBNdXRhdGlvbiB7XG4gICAgdXNlcnM6IFVzZXJzTXV0YXRpb24hXG4gIH1cblxuICB0eXBlIFVzZXJzTXV0YXRpb24ge1xuICAgIHNpZ25Jbih1c2VyOiBVc2VySW5wdXQhLCBleHBpcmVzOiBJbnQpOiBTZXNzaW9uXG4gICAgYWRkVXNlcih1c2VyOiBVc2VySW5wdXQhKTogVXNlclxuICAgIHJlZnJlc2hTZXNzaW9uKHRva2VuOiBTdHJpbmchLCBleHBpcmVzOiBJbnQpOiBTZXNzaW9uXG4gIH1cblxuICB0eXBlIFNlc3Npb24ge1xuICAgIHRva2VuOiBTdHJpbmchXG4gICAgZXhwaXJlczogSW50XG4gICAgaXNzdWVkOiBJbnRcbiAgICB1c2VySWQ6IFN0cmluZyFcbiAgICB1c2VybmFtZTogU3RyaW5nIVxuICB9XG5cbiAgdHlwZSBVc2VyIHtcbiAgICB1c2VySWQ6IFN0cmluZyFcbiAgICB1c2VybmFtZTogU3RyaW5nIVxuICAgIGVtYWlsOiBTdHJpbmdcbiAgfVxuXG4gIGlucHV0IFVzZXJJbnB1dCB7XG4gICAgdXNlcm5hbWU6IFN0cmluZyFcbiAgICBlbWFpbDogU3RyaW5nXG4gICAgcGFzc3dvcmQ6IFN0cmluZyFcbiAgfVxuYDtcblxuLy8gTW9jayBkYXRhYmFzZVxuZXhwb3J0IGNvbnN0IE1PQ0tfVVNFUiA9IHtcbiAgdXNlcklkOiAndXNlci0xMjMnLFxuICB1c2VybmFtZTogJ3Rlc3R1c2VyJyxcbiAgZW1haWw6ICd0ZXN0QGV4YW1wbGUuY29tJyxcbiAgcGFzc3dvcmQ6ICdwYXNzd29yZDEyMydcbn07XG5cbmV4cG9ydCBjb25zdCBNT0NLX1NFU1NJT04gPSB7XG4gIHRva2VuOiAnYXV0aC10b2tlbi14eXotMTIzJyxcbiAgZXhwaXJlczogTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCkgKyA4NjQwMCxcbiAgaXNzdWVkOiBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKSxcbiAgdXNlcklkOiBNT0NLX1VTRVIudXNlcklkLFxuICB1c2VybmFtZTogTU9DS19VU0VSLnVzZXJuYW1lXG59O1xuXG4vKipcbiAqIFN0YXJ0IHRlc3QgR3JhcGhRTCBzZXJ2ZXJcbiAqL1xuZXhwb3J0IGNvbnN0IHN0YXJ0VGVzdFNlcnZlciA9IGFzeW5jIChwb3J0ID0gMzAwMSkgPT4ge1xuICBjb25zdCBzY2hlbWEgPSBidWlsZFNjaGVtYSh0eXBlRGVmcyk7XG5cbiAgY29uc3Qgc2VydmVyID0gaHR0cC5jcmVhdGVTZXJ2ZXIoYXN5bmMgKHJlcSwgcmVzKSA9PiB7XG4gICAgcmVzLnNldEhlYWRlcignQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJywgJyonKTtcbiAgICByZXMuc2V0SGVhZGVyKCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzJywgJ1BPU1QsIE9QVElPTlMnKTtcbiAgICByZXMuc2V0SGVhZGVyKCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJywgJ0NvbnRlbnQtVHlwZSwgQXV0aG9yaXphdGlvbicpO1xuICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG5cbiAgICBpZiAocmVxLm1ldGhvZCA9PT0gJ09QVElPTlMnKSB7XG4gICAgICByZXMud3JpdGVIZWFkKDIwMCk7XG4gICAgICByZXMuZW5kKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHJlcS5tZXRob2QgPT09ICdPUFRJT05TJykge1xuICAgICAgcmVzLndyaXRlSGVhZCgyMDApO1xuICAgICAgcmVzLmVuZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChyZXEudXJsID09PSAnL2dyYXBocWwnICYmIHJlcS5tZXRob2QgPT09ICdQT1NUJykge1xuICAgICAgLy8gSGFuZGxlIEdyYXBoUUwgcmVxdWVzdHNcbiAgICAgIGxldCBib2R5ID0gJyc7XG4gICAgICByZXEub24oJ2RhdGEnLCBjaHVuayA9PiB7XG4gICAgICAgIGJvZHkgKz0gY2h1bmsudG9TdHJpbmcoKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXEub24oJ2VuZCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB7cXVlcnksIHZhcmlhYmxlc30gPSBKU09OLnBhcnNlKGJvZHkpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdHcmFwaFFMIHJlcXVlc3QgcmVjZWl2ZWQnLCB7cXVlcnksIHZhcmlhYmxlc30pO1xuXG4gICAgICAgICAgLy8gQ3JlYXRlIHJvb3QgdmFsdWUgd2l0aCBwcm9wZXIgcmVzb2x2ZXIgc3RydWN0dXJlXG4gICAgICAgICAgY29uc3Qgcm9vdFZhbHVlID0ge1xuICAgICAgICAgICAgaGVhbHRoOiAoKSA9PiAnb2snLFxuICAgICAgICAgICAgdXNlcnM6IChfcGFyZW50LCBhcmdzLCBjb250ZXh0LCBpbmZvKSA9PiB7XG4gICAgICAgICAgICAgIC8vIFJldHVybiBhbiBvYmplY3QgdGhhdCByZXNvbHZlcyB0aGUgVXNlcnNNdXRhdGlvbiBmaWVsZHNcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzaWduSW46IChhcmdzKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCB7ZXhwaXJlcywgdXNlciA9IHt9fSA9IGFyZ3M7XG4gICAgICAgICAgICAgICAgICBjb25zdCB7cGFzc3dvcmQsIHVzZXJuYW1lfSA9IHVzZXI7XG5cbiAgICAgICAgICAgICAgICAgIGlmICh1c2VybmFtZSA9PT0gTU9DS19VU0VSLnVzZXJuYW1lICYmIHBhc3N3b3JkID09PSBNT0NLX1VTRVIucGFzc3dvcmQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICB0b2tlbjogTU9DS19TRVNTSU9OLnRva2VuLFxuICAgICAgICAgICAgICAgICAgICAgIGV4cGlyZXM6IGV4cGlyZXMgfHwgTU9DS19TRVNTSU9OLmV4cGlyZXMsXG4gICAgICAgICAgICAgICAgICAgICAgaXNzdWVkOiBNT0NLX1NFU1NJT04uaXNzdWVkLFxuICAgICAgICAgICAgICAgICAgICAgIHVzZXJJZDogTU9DS19VU0VSLnVzZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICB1c2VybmFtZTogTU9DS19VU0VSLnVzZXJuYW1lXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY3JlZGVudGlhbHMnKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGFkZFVzZXI6IChhcmdzKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCB7dXNlcn0gPSBhcmdzO1xuXG4gICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICB1c2VySWQ6IGB1c2VyLSR7RGF0ZS5ub3coKX1gLFxuICAgICAgICAgICAgICAgICAgICB1c2VybmFtZTogdXNlci51c2VybmFtZSxcbiAgICAgICAgICAgICAgICAgICAgZW1haWw6IHVzZXIuZW1haWxcbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZWZyZXNoU2Vzc2lvbjogKGFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHt0b2tlbiwgZXhwaXJlc30gPSBhcmdzO1xuXG4gICAgICAgICAgICAgICAgICBpZiAodG9rZW4gPT09IE1PQ0tfU0VTU0lPTi50b2tlbikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgIHRva2VuOiBNT0NLX1NFU1NJT04udG9rZW4sXG4gICAgICAgICAgICAgICAgICAgICAgZXhwaXJlczogZXhwaXJlcyB8fCBNT0NLX1NFU1NJT04uZXhwaXJlcyxcbiAgICAgICAgICAgICAgICAgICAgICBpc3N1ZWQ6IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApLFxuICAgICAgICAgICAgICAgICAgICAgIHVzZXJJZDogTU9DS19VU0VSLnVzZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICB1c2VybmFtZTogTU9DS19VU0VSLnVzZXJuYW1lXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdG9rZW4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGdyYXBocWwoe1xuICAgICAgICAgICAgc2NoZW1hLFxuICAgICAgICAgICAgc291cmNlOiBxdWVyeSxcbiAgICAgICAgICAgIHJvb3RWYWx1ZSxcbiAgICAgICAgICAgIHZhcmlhYmxlVmFsdWVzOiB2YXJpYWJsZXMgfHwge31cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKCdHcmFwaFFMIHJlc3VsdCcsIEpTT04uc3RyaW5naWZ5KHJlc3VsdCwgbnVsbCwgMikpO1xuXG4gICAgICAgICAgcmVzLndyaXRlSGVhZCgyMDApO1xuICAgICAgICAgIHJlcy5lbmQoSlNPTi5zdHJpbmdpZnkocmVzdWx0KSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignR3JhcGhRTCBzZXJ2ZXIgZXJyb3InLCBlcnJvcik7XG4gICAgICAgICAgcmVzLndyaXRlSGVhZCg1MDApO1xuICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKTtcbiAgICAgICAgICByZXMuZW5kKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIGVycm9yczogW3ttZXNzYWdlOiBlcnJvck1lc3NhZ2V9XVxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChyZXEudXJsID09PSAnL3VwbG9hZCcgJiYgcmVxLm1ldGhvZCA9PT0gJ1BPU1QnKSB7XG4gICAgICAvLyBIYW5kbGUgZmlsZSB1cGxvYWQgcmVxdWVzdHNcbiAgICAgIGNvbnNvbGUubG9nKCdVcGxvYWQgcmVxdWVzdCByZWNlaXZlZCcpO1xuXG4gICAgICAvLyBNb2NrIHN1Y2Nlc3NmdWwgdXBsb2FkIHJlc3BvbnNlXG4gICAgICByZXMud3JpdGVIZWFkKDIwMCk7XG4gICAgICByZXMuZW5kKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgdXJsOiAnaHR0cHM6Ly9leGFtcGxlLmNvbS91cGxvYWRlZC1pbWFnZS5qcGcnXG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzLndyaXRlSGVhZCg0MDQpO1xuICAgICAgcmVzLmVuZChKU09OLnN0cmluZ2lmeSh7ZXJyb3I6ICdOb3QgZm91bmQnfSkpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgc2VydmVyLmxpc3Rlbihwb3J0LCAoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhgVGVzdCBHcmFwaFFMIHNlcnZlciBydW5uaW5nIG9uIGh0dHA6Ly9sb2NhbGhvc3Q6JHtwb3J0fS9ncmFwaHFsYCk7XG4gICAgICByZXNvbHZlKHtzZXJ2ZXIsIHBvcnR9KTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG4vLyBTYW5pdHkgY2hlY2sgc28gdGhpcyBoZWxwZXIgZmlsZSBpcyB0cmVhdGVkIGFzIGEgdGVzdCBtb2R1bGUgd2l0aG91dCBmYWlsaW5nXG5kZXNjcmliZSgndGVzdEdyYXBoUUxTZXJ2ZXIgaGVscGVyJywgKCkgPT4ge1xuICBpdCgnZXhwb3J0cyBzdGFydFRlc3RTZXJ2ZXIgYW5kIHN0b3BUZXN0U2VydmVyJywgKCkgPT4ge1xuICAgIGV4cGVjdCh0eXBlb2Ygc3RhcnRUZXN0U2VydmVyKS50b0JlKCdmdW5jdGlvbicpO1xuICAgIGV4cGVjdCh0eXBlb2Ygc3RvcFRlc3RTZXJ2ZXIpLnRvQmUoJ2Z1bmN0aW9uJyk7XG4gIH0pO1xufSk7XG5cbi8qKlxuICogU3RvcCB0ZXN0IHNlcnZlclxuICovXG5leHBvcnQgY29uc3Qgc3RvcFRlc3RTZXJ2ZXIgPSAoc2VydmVyKSA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIHNlcnZlci5jbG9zZShyZXNvbHZlKTtcbiAgfSk7XG59O1xuIl0sIm5hbWVzIjpbImJ1aWxkU2NoZW1hIiwiZ3JhcGhxbCIsImh0dHAiLCJ0eXBlRGVmcyIsIk1PQ0tfVVNFUiIsInVzZXJJZCIsInVzZXJuYW1lIiwiZW1haWwiLCJwYXNzd29yZCIsIk1PQ0tfU0VTU0lPTiIsInRva2VuIiwiZXhwaXJlcyIsIk1hdGgiLCJmbG9vciIsIkRhdGUiLCJub3ciLCJpc3N1ZWQiLCJzdGFydFRlc3RTZXJ2ZXIiLCJwb3J0Iiwic2NoZW1hIiwic2VydmVyIiwiY3JlYXRlU2VydmVyIiwicmVxIiwicmVzIiwic2V0SGVhZGVyIiwibWV0aG9kIiwid3JpdGVIZWFkIiwiZW5kIiwidXJsIiwiYm9keSIsIm9uIiwiY2h1bmsiLCJ0b1N0cmluZyIsInF1ZXJ5IiwidmFyaWFibGVzIiwiSlNPTiIsInBhcnNlIiwiY29uc29sZSIsImxvZyIsInJvb3RWYWx1ZSIsImhlYWx0aCIsInVzZXJzIiwiX3BhcmVudCIsImFyZ3MiLCJjb250ZXh0IiwiaW5mbyIsInNpZ25JbiIsInVzZXIiLCJFcnJvciIsImFkZFVzZXIiLCJyZWZyZXNoU2Vzc2lvbiIsInJlc3VsdCIsInNvdXJjZSIsInZhcmlhYmxlVmFsdWVzIiwic3RyaW5naWZ5IiwiZXJyb3IiLCJlcnJvck1lc3NhZ2UiLCJtZXNzYWdlIiwiU3RyaW5nIiwiZXJyb3JzIiwiZGF0YSIsInN1Y2Nlc3MiLCJQcm9taXNlIiwicmVzb2x2ZSIsImxpc3RlbiIsImRlc2NyaWJlIiwiaXQiLCJleHBlY3QiLCJ0b0JlIiwic3RvcFRlc3RTZXJ2ZXIiLCJjbG9zZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsV0FBVyxFQUFFQyxPQUFPLFFBQVEsVUFBVTtBQUMvQyxPQUFPQyxVQUFVLE9BQU87QUFFeEI7Ozs7Q0FJQyxHQUVELE1BQU1DLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtDbEIsQ0FBQztBQUVELGdCQUFnQjtBQUNoQixPQUFPLE1BQU1DLFlBQVk7SUFDdkJDLFFBQVE7SUFDUkMsVUFBVTtJQUNWQyxPQUFPO0lBQ1BDLFVBQVU7QUFDWixFQUFFO0FBRUYsT0FBTyxNQUFNQyxlQUFlO0lBQzFCQyxPQUFPO0lBQ1BDLFNBQVNDLEtBQUtDLEtBQUssQ0FBQ0MsS0FBS0MsR0FBRyxLQUFLLFFBQVE7SUFDekNDLFFBQVFKLEtBQUtDLEtBQUssQ0FBQ0MsS0FBS0MsR0FBRyxLQUFLO0lBQ2hDVixRQUFRRCxVQUFVQyxNQUFNO0lBQ3hCQyxVQUFVRixVQUFVRSxRQUFRO0FBQzlCLEVBQUU7QUFFRjs7Q0FFQyxHQUNELE9BQU8sTUFBTVcsa0JB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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testGraphQLServerSimple.d.ts","sourceRoot":"","sources":["../../src/tests/testGraphQLServerSimple.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,GAAU,aAAW,qBAkClD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,WAAM,qBAIhC,CAAC"}
@@ -0,0 +1,52 @@
1
+ import http from 'http';
2
+ export const startSimpleServer = async (port = 3002)=>{
3
+ const server = http.createServer((req, res)=>{
4
+ res.setHeader('Content-Type', 'application/json');
5
+ if (req.method === 'POST' && req.url === '/graphql') {
6
+ let body = '';
7
+ req.on('data', (chunk)=>{
8
+ body += chunk.toString();
9
+ });
10
+ req.on('end', ()=>{
11
+ res.writeHead(200);
12
+ res.end(JSON.stringify({
13
+ request: {
14
+ method: req.method,
15
+ url: req.url,
16
+ body: body
17
+ },
18
+ response: {
19
+ message: 'OK'
20
+ }
21
+ }));
22
+ });
23
+ } else {
24
+ res.writeHead(404);
25
+ res.end(JSON.stringify({
26
+ error: 'not found'
27
+ }));
28
+ }
29
+ });
30
+ return new Promise((resolve)=>{
31
+ server.listen(port, ()=>{
32
+ resolve({
33
+ server,
34
+ port
35
+ });
36
+ });
37
+ });
38
+ };
39
+ export const stopServer = (server)=>{
40
+ return new Promise((resolve)=>{
41
+ server.close(resolve);
42
+ });
43
+ };
44
+ // Sanity check for Jest so this helper file has at least one test
45
+ describe('testGraphQLServerSimple helper', ()=>{
46
+ it('exports startSimpleServer and stopServer', ()=>{
47
+ expect(typeof startSimpleServer).toBe('function');
48
+ expect(typeof stopServer).toBe('function');
49
+ });
50
+ });
51
+
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvdGVzdHMvdGVzdEdyYXBoUUxTZXJ2ZXJTaW1wbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGh0dHAgZnJvbSAnaHR0cCc7XG5cbmV4cG9ydCBjb25zdCBzdGFydFNpbXBsZVNlcnZlciA9IGFzeW5jIChwb3J0ID0gMzAwMikgPT4ge1xuICBjb25zdCBzZXJ2ZXIgPSBodHRwLmNyZWF0ZVNlcnZlcigocmVxLCByZXMpID0+IHtcbiAgICByZXMuc2V0SGVhZGVyKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuXG4gICAgaWYgKHJlcS5tZXRob2QgPT09ICdQT1NUJyAmJiByZXEudXJsID09PSAnL2dyYXBocWwnKSB7XG4gICAgICBsZXQgYm9keSA9ICcnO1xuICAgICAgcmVxLm9uKCdkYXRhJywgY2h1bmsgPT4ge1xuICAgICAgICBib2R5ICs9IGNodW5rLnRvU3RyaW5nKCk7XG4gICAgICB9KTtcblxuICAgICAgcmVxLm9uKCdlbmQnLCAoKSA9PiB7XG4gICAgICAgIHJlcy53cml0ZUhlYWQoMjAwKTtcbiAgICAgICAgcmVzLmVuZChKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgcmVxdWVzdDoge1xuICAgICAgICAgICAgbWV0aG9kOiByZXEubWV0aG9kLFxuICAgICAgICAgICAgdXJsOiByZXEudXJsLFxuICAgICAgICAgICAgYm9keTogYm9keVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzcG9uc2U6IHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdPSydcbiAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXMud3JpdGVIZWFkKDQwNCk7XG4gICAgICByZXMuZW5kKEpTT04uc3RyaW5naWZ5KHtlcnJvcjogJ25vdCBmb3VuZCd9KSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBzZXJ2ZXIubGlzdGVuKHBvcnQsICgpID0+IHtcbiAgICAgIHJlc29sdmUoe3NlcnZlciwgcG9ydH0pO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzdG9wU2VydmVyID0gKHNlcnZlcikgPT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBzZXJ2ZXIuY2xvc2UocmVzb2x2ZSk7XG4gIH0pO1xufTtcblxuLy8gU2FuaXR5IGNoZWNrIGZvciBKZXN0IHNvIHRoaXMgaGVscGVyIGZpbGUgaGFzIGF0IGxlYXN0IG9uZSB0ZXN0XG5kZXNjcmliZSgndGVzdEdyYXBoUUxTZXJ2ZXJTaW1wbGUgaGVscGVyJywgKCkgPT4ge1xuICBpdCgnZXhwb3J0cyBzdGFydFNpbXBsZVNlcnZlciBhbmQgc3RvcFNlcnZlcicsICgpID0+IHtcbiAgICBleHBlY3QodHlwZW9mIHN0YXJ0U2ltcGxlU2VydmVyKS50b0JlKCdmdW5jdGlvbicpO1xuICAgIGV4cGVjdCh0eXBlb2Ygc3RvcFNlcnZlcikudG9CZSgnZnVuY3Rpb24nKTtcbiAgfSk7XG59KTtcbiJdLCJuYW1lcyI6WyJodHRwIiwic3RhcnRTaW1wbGVTZXJ2ZXIiLCJwb3J0Iiwic2VydmVyIiwiY3JlYXRlU2VydmVyIiwicmVxIiwicmVzIiwic2V0SGVhZGVyIiwibWV0aG9kIiwidXJsIiwiYm9keSIsIm9uIiwiY2h1bmsiLCJ0b1N0cmluZyIsIndyaXRlSGVhZCIsImVuZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZXF1ZXN0IiwicmVzcG9uc2UiLCJtZXNzYWdlIiwiZXJyb3IiLCJQcm9taXNlIiwicmVzb2x2ZSIsImxpc3RlbiIsInN0b3BTZXJ2ZXIiLCJjbG9zZSIsImRlc2NyaWJlIiwiaXQiLCJleHBlY3QiLCJ0b0JlIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxVQUFVLE9BQU87QUFFeEIsT0FBTyxNQUFNQyxvQkFBb0IsT0FBT0MsT0FBTyxJQUFJO0lBQ2pELE1BQU1DLFNBQVNILEtBQUtJLFlBQVksQ0FBQyxDQUFDQyxLQUFLQztRQUNyQ0EsSUFBSUMsU0FBUyxDQUFDLGdCQUFnQjtRQUU5QixJQUFJRixJQUFJRyxNQUFNLEtBQUssVUFBVUgsSUFBSUksR0FBRyxLQUFLLFlBQVk7WUFDbkQsSUFBSUMsT0FBTztZQUNYTCxJQUFJTSxFQUFFLENBQUMsUUFBUUMsQ0FBQUE7Z0JBQ2JGLFFBQVFFLE1BQU1DLFFBQVE7WUFDeEI7WUFFQVIsSUFBSU0sRUFBRSxDQUFDLE9BQU87Z0JBQ1pMLElBQUlRLFNBQVMsQ0FBQztnQkFDZFIsSUFBSVMsR0FBRyxDQUFDQyxLQUFLQyxTQUFTLENBQUM7b0JBQ3JCQyxTQUFTO3dCQUNQVixRQUFRSCxJQUFJRyxNQUFNO3dCQUNsQkMsS0FBS0osSUFBSUksR0FBRzt3QkFDWkMsTUFBTUE7b0JBQ1I7b0JBQ0FTLFVBQVU7d0JBQ1JDLFNBQVM7b0JBQ1g7Z0JBQ0Y7WUFDRjtRQUNGLE9BQU87WUFDTGQsSUFBSVEsU0FBUyxDQUFDO1lBQ2RSLElBQUlTLEdBQUcsQ0FBQ0MsS0FBS0MsU0FBUyxDQUFDO2dCQUFDSSxPQUFPO1lBQVc7UUFDNUM7SUFDRjtJQUVBLE9BQU8sSUFBSUMsUUFBUSxDQUFDQztRQUNsQnBCLE9BQU9xQixNQUFNLENBQUN0QixNQUFNO1lBQ2xCcUIsUUFBUTtnQkFBQ3BCO2dCQUFRRDtZQUFJO1FBQ3ZCO0lBQ0Y7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNdUIsYUFBYSxDQUFDdEI7SUFDekIsT0FBTyxJQUFJbUIsUUFBUSxDQUFDQztRQUNsQnBCLE9BQU91QixLQUFLLENBQUNIO0lBQ2Y7QUFDRixFQUFFO0FBRUYsa0VBQWtFO0FBQ2xFSSxTQUFTLGtDQUFrQztJQUN6Q0MsR0FBRyw0Q0FBNEM7UUFDN0NDLE9BQU8sT0FBTzVCLG1CQUFtQjZCLElBQUksQ0FBQztRQUN0Q0QsT0FBTyxPQUFPSixZQUFZSyxJQUFJLENBQUM7SUFDakM7QUFDRiJ9
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Copyright (c) 2026-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ import type { User } from '../adapters/userAdapter/userAdapter.js';
6
+ export type MailingListStatus = 'active' | 'archived';
7
+ export type SupportTicketPriority = 'low' | 'normal' | 'high' | 'urgent';
8
+ export type SupportTicketStatus = 'open' | 'in_progress' | 'waiting_on_customer' | 'waiting_on_internal' | 'resolved' | 'closed';
9
+ export type SupportTicketType = 'delivery_issue' | 'refund_request' | 'bug_report' | 'account_issue' | 'general_support';
10
+ export type SupportTicketMessageVisibility = 'internal' | 'customer';
11
+ export interface MailingList {
12
+ readonly added?: number;
13
+ readonly createdByUserId?: string;
14
+ readonly description?: string;
15
+ readonly mailingListId?: string;
16
+ readonly modified?: number;
17
+ readonly name?: string;
18
+ readonly status?: MailingListStatus;
19
+ }
20
+ export interface ShopifyProduct {
21
+ readonly productId?: string;
22
+ readonly title?: string;
23
+ readonly variantId?: string;
24
+ }
25
+ export interface CustomerOrder {
26
+ readonly added?: number;
27
+ readonly currency?: string;
28
+ readonly customerOrderId?: string;
29
+ readonly modified?: number;
30
+ readonly productIds?: readonly string[];
31
+ readonly purchasedAt?: number;
32
+ readonly shopifyCustomerId?: string;
33
+ readonly shopifyOrderId?: string;
34
+ readonly totalPrice?: number;
35
+ readonly user?: Partial<User>;
36
+ readonly userId?: string;
37
+ }
38
+ export interface ShopifyCustomerOrderInput {
39
+ readonly currency?: string;
40
+ readonly customer?: Partial<User>;
41
+ readonly productIds?: readonly string[];
42
+ readonly products?: readonly ShopifyProduct[];
43
+ readonly purchasedAt?: number;
44
+ readonly shopifyCustomerId: string;
45
+ readonly shopifyOrderId: string;
46
+ readonly totalPrice?: number;
47
+ }
48
+ export interface SupportTicket {
49
+ readonly added?: number;
50
+ readonly assignedToUserId?: string;
51
+ readonly closedAt?: number;
52
+ readonly description?: string;
53
+ readonly modified?: number;
54
+ readonly priority?: SupportTicketPriority;
55
+ readonly productId?: string;
56
+ readonly resolutionSummary?: string;
57
+ readonly resolvedAt?: number;
58
+ readonly shopifyOrderId?: string;
59
+ readonly status?: SupportTicketStatus;
60
+ readonly subject?: string;
61
+ readonly supportTicketId?: string;
62
+ readonly type?: SupportTicketType;
63
+ readonly user?: Partial<User>;
64
+ readonly userId?: string;
65
+ }
66
+ export interface SupportTicketMessage {
67
+ readonly added?: number;
68
+ readonly authorUserId?: string;
69
+ readonly body?: string;
70
+ readonly modified?: number;
71
+ readonly supportTicketId?: string;
72
+ readonly supportTicketMessageId?: string;
73
+ readonly visibility?: SupportTicketMessageVisibility;
74
+ }
75
+ export interface SupportTicketEvent {
76
+ readonly added?: number;
77
+ readonly actorUserId?: string;
78
+ readonly eventType?: string;
79
+ readonly fromValue?: string;
80
+ readonly metadata?: Record<string, unknown>;
81
+ readonly modified?: number;
82
+ readonly supportTicketEventId?: string;
83
+ readonly supportTicketId?: string;
84
+ readonly toValue?: string;
85
+ }
86
+ export interface CustomerNotification {
87
+ readonly added?: number;
88
+ readonly body?: string;
89
+ readonly customerNotificationId?: string;
90
+ readonly errorMessage?: string;
91
+ readonly modified?: number;
92
+ readonly providerMessageId?: string;
93
+ readonly sentAt?: number;
94
+ readonly status?: string;
95
+ readonly subject?: string;
96
+ readonly supportTicketId?: string;
97
+ readonly type?: string;
98
+ readonly userId?: string;
99
+ }
100
+ //# sourceMappingURL=crm.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crm.types.d.ts","sourceRoot":"","sources":["../../src/types/crm.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) 2026-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ export { };
5
+
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvdHlwZXMvY3JtLnR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI2LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgdHlwZSB7VXNlcn0gZnJvbSAnLi4vYWRhcHRlcnMvdXNlckFkYXB0ZXIvdXNlckFkYXB0ZXIuanMnO1xuXG5leHBvcnQgdHlwZSBNYWlsaW5nTGlzdFN0YXR1cyA9ICdhY3RpdmUnIHwgJ2FyY2hpdmVkJztcbmV4cG9ydCB0eXBlIFN1cHBvcnRUaWNrZXRQcmlvcml0eSA9ICdsb3cnIHwgJ25vcm1hbCcgfCAnaGlnaCcgfCAndXJnZW50JztcbmV4cG9ydCB0eXBlIFN1cHBvcnRUaWNrZXRTdGF0dXMgPSAnb3BlbicgfCAnaW5fcHJvZ3Jlc3MnIHwgJ3dhaXRpbmdfb25fY3VzdG9tZXInIHwgJ3dhaXRpbmdfb25faW50ZXJuYWwnIHwgJ3Jlc29sdmVkJyB8ICdjbG9zZWQnO1xuZXhwb3J0IHR5cGUgU3VwcG9ydFRpY2tldFR5cGUgPSAnZGVsaXZlcnlfaXNzdWUnIHwgJ3JlZnVuZF9yZXF1ZXN0JyB8ICdidWdfcmVwb3J0JyB8ICdhY2NvdW50X2lzc3VlJyB8ICdnZW5lcmFsX3N1cHBvcnQnO1xuZXhwb3J0IHR5cGUgU3VwcG9ydFRpY2tldE1lc3NhZ2VWaXNpYmlsaXR5ID0gJ2ludGVybmFsJyB8ICdjdXN0b21lcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFpbGluZ0xpc3Qge1xuICByZWFkb25seSBhZGRlZD86IG51bWJlcjtcbiAgcmVhZG9ubHkgY3JlYXRlZEJ5VXNlcklkPzogc3RyaW5nO1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgbWFpbGluZ0xpc3RJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgbW9kaWZpZWQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YXR1cz86IE1haWxpbmdMaXN0U3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNob3BpZnlQcm9kdWN0IHtcbiAgcmVhZG9ubHkgcHJvZHVjdElkPzogc3RyaW5nO1xuICByZWFkb25seSB0aXRsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdmFyaWFudElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbWVyT3JkZXIge1xuICByZWFkb25seSBhZGRlZD86IG51bWJlcjtcbiAgcmVhZG9ubHkgY3VycmVuY3k/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGN1c3RvbWVyT3JkZXJJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgbW9kaWZpZWQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHByb2R1Y3RJZHM/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgcHVyY2hhc2VkQXQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHNob3BpZnlDdXN0b21lcklkPzogc3RyaW5nO1xuICByZWFkb25seSBzaG9waWZ5T3JkZXJJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdG90YWxQcmljZT86IG51bWJlcjtcbiAgcmVhZG9ubHkgdXNlcj86IFBhcnRpYWw8VXNlcj47XG4gIHJlYWRvbmx5IHVzZXJJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaG9waWZ5Q3VzdG9tZXJPcmRlcklucHV0IHtcbiAgcmVhZG9ubHkgY3VycmVuY3k/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGN1c3RvbWVyPzogUGFydGlhbDxVc2VyPjtcbiAgcmVhZG9ubHkgcHJvZHVjdElkcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICByZWFkb25seSBwcm9kdWN0cz86IHJlYWRvbmx5IFNob3BpZnlQcm9kdWN0W107XG4gIHJlYWRvbmx5IHB1cmNoYXNlZEF0PzogbnVtYmVyO1xuICByZWFkb25seSBzaG9waWZ5Q3VzdG9tZXJJZDogc3RyaW5nO1xuICByZWFkb25seSBzaG9waWZ5T3JkZXJJZDogc3RyaW5nO1xuICByZWFkb25seSB0b3RhbFByaWNlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBvcnRUaWNrZXQge1xuICByZWFkb25seSBhZGRlZD86IG51bWJlcjtcbiAgcmVhZG9ubHkgYXNzaWduZWRUb1VzZXJJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgY2xvc2VkQXQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICByZWFkb25seSBtb2RpZmllZD86IG51bWJlcjtcbiAgcmVhZG9ubHkgcHJpb3JpdHk/OiBTdXBwb3J0VGlja2V0UHJpb3JpdHk7XG4gIHJlYWRvbmx5IHByb2R1Y3RJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgcmVzb2x1dGlvblN1bW1hcnk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlc29sdmVkQXQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHNob3BpZnlPcmRlcklkPzogc3RyaW5nO1xuICByZWFkb25seSBzdGF0dXM/OiBTdXBwb3J0VGlja2V0U3RhdHVzO1xuICByZWFkb25seSBzdWJqZWN0Pzogc3RyaW5nO1xuICByZWFkb25seSBzdXBwb3J0VGlja2V0SWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR5cGU/OiBTdXBwb3J0VGlja2V0VHlwZTtcbiAgcmVhZG9ubHkgdXNlcj86IFBhcnRpYWw8VXNlcj47XG4gIHJlYWRvbmx5IHVzZXJJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdXBwb3J0VGlja2V0TWVzc2FnZSB7XG4gIHJlYWRvbmx5IGFkZGVkPzogbnVtYmVyO1xuICByZWFkb25seSBhdXRob3JVc2VySWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJvZHk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1vZGlmaWVkPzogbnVtYmVyO1xuICByZWFkb25seSBzdXBwb3J0VGlja2V0SWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN1cHBvcnRUaWNrZXRNZXNzYWdlSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZpc2liaWxpdHk/OiBTdXBwb3J0VGlja2V0TWVzc2FnZVZpc2liaWxpdHk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydFRpY2tldEV2ZW50IHtcbiAgcmVhZG9ubHkgYWRkZWQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGFjdG9yVXNlcklkPzogc3RyaW5nO1xuICByZWFkb25seSBldmVudFR5cGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZyb21WYWx1ZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgcmVhZG9ubHkgbW9kaWZpZWQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHN1cHBvcnRUaWNrZXRFdmVudElkPzogc3RyaW5nO1xuICByZWFkb25seSBzdXBwb3J0VGlja2V0SWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRvVmFsdWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tZXJOb3RpZmljYXRpb24ge1xuICByZWFkb25seSBhZGRlZD86IG51bWJlcjtcbiAgcmVhZG9ubHkgYm9keT86IHN0cmluZztcbiAgcmVhZG9ubHkgY3VzdG9tZXJOb3RpZmljYXRpb25JZD86IHN0cmluZztcbiAgcmVhZG9ubHkgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICByZWFkb25seSBtb2RpZmllZD86IG51bWJlcjtcbiAgcmVhZG9ubHkgcHJvdmlkZXJNZXNzYWdlSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlbnRBdD86IG51bWJlcjtcbiAgcmVhZG9ubHkgc3RhdHVzPzogc3RyaW5nO1xuICByZWFkb25seSBzdWJqZWN0Pzogc3RyaW5nO1xuICByZWFkb25seSBzdXBwb3J0VGlja2V0SWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR5cGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJJZD86IHN0cmluZztcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0EyRkQsV0FhQyJ9
@@ -5,6 +5,7 @@
5
5
  export * from './apps.types.js';
6
6
  export * from './common.types.js';
7
7
  export * from './conversations.types.js';
8
+ export * from './crm.types.js';
8
9
  export * from './edges.types.js';
9
10
  export * from './groups.types.js';
10
11
  export * from './subscriptions.types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC"}
@@ -4,9 +4,10 @@
4
4
  */ export * from './apps.types.js';
5
5
  export * from './common.types.js';
6
6
  export * from './conversations.types.js';
7
+ export * from './crm.types.js';
7
8
  export * from './edges.types.js';
8
9
  export * from './groups.types.js';
9
10
  export * from './subscriptions.types.js';
10
11
  export * from './videos.types.js';
11
12
 
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvdHlwZXMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjQtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hcHBzLnR5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uLnR5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29udmVyc2F0aW9ucy50eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2VkZ2VzLnR5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vZ3JvdXBzLnR5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3Vic2NyaXB0aW9ucy50eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZGVvcy50eXBlcy5qcyc7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBRUQsY0FBYyxrQkFBa0I7QUFDaEMsY0FBYyxvQkFBb0I7QUFDbEMsY0FBYywyQkFBMkI7QUFDekMsY0FBYyxtQkFBbUI7QUFDakMsY0FBYyxvQkFBb0I7QUFDbEMsY0FBYywyQkFBMkI7QUFDekMsY0FBYyxvQkFBb0IifQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvdHlwZXMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjQtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hcHBzLnR5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uLnR5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29udmVyc2F0aW9ucy50eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NybS50eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2VkZ2VzLnR5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vZ3JvdXBzLnR5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3Vic2NyaXB0aW9ucy50eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZGVvcy50eXBlcy5qcyc7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBRUQsY0FBYyxrQkFBa0I7QUFDaEMsY0FBYyxvQkFBb0I7QUFDbEMsY0FBYywyQkFBMkI7QUFDekMsY0FBYyxpQkFBaUI7QUFDL0IsY0FBYyxtQkFBbUI7QUFDakMsY0FBYyxvQkFBb0I7QUFDbEMsY0FBYywyQkFBMkI7QUFDekMsY0FBYyxvQkFBb0IifQ==
@@ -1,5 +1,6 @@
1
1
  import type { FluxFramework } from '@nlabs/arkhamjs';
2
2
  import type { ContentActionsOptions } from '../actions/contentActions/contentActions.js';
3
+ import type { CrmActionsOptions } from '../actions/crmActions/crmActions.js';
3
4
  import type { EventActionsOptions } from '../actions/eventActions/eventActions.js';
4
5
  import type { GroupActionsOptions } from '../actions/groupActions/groupActions.js';
5
6
  import type { ImageActionsOptions } from '../actions/imageActions/imageActions.js';
@@ -9,16 +10,17 @@ import type { PermissionActionsOptions } from '../actions/permissionActions/perm
9
10
  import type { PostActionsOptions } from '../actions/postActions/postActions.js';
10
11
  import type { PersonaActionsOptions } from '../actions/personaActions/personaActions.js';
11
12
  import type { ReactionActionsOptions } from '../actions/reactionActions/reactionActions.js';
13
+ import type { RestActionsOptions } from '../actions/restActions/restActions.js';
12
14
  import type { SSEActionsOptions } from '../actions/sseActions/sseActions.js';
13
15
  import type { TagActionsOptions } from '../actions/tagActions/tagActions.js';
14
16
  import type { TranslationActionsOptions } from '../actions/translationActions/translationActions.js';
15
17
  import type { UserActionsOptions } from '../actions/userActions/userActions.js';
16
18
  import type { VideoActionsOptions } from '../actions/videoActions/videoActions.js';
17
- export type ActionType = 'content' | 'event' | 'group' | 'image' | 'location' | 'message' | 'permission' | 'post' | 'persona' | 'reaction' | 'sse' | 'subscription' | 'tag' | 'translation' | 'user' | 'video' | 'websocket';
18
- export type ActionOptions = ContentActionsOptions | EventActionsOptions | GroupActionsOptions | ImageActionsOptions | LocationActionsOptions | MessageActionsOptions | PermissionActionsOptions | PostActionsOptions | PersonaActionsOptions | ReactionActionsOptions | SSEActionsOptions | TagActionsOptions | TranslationActionsOptions | UserActionsOptions | VideoActionsOptions | undefined;
19
- export declare const createAction: <T extends ActionType>(actionType: T, flux: FluxFramework, options?: ActionOptions) => import("../actions/contentActions/contentActions.js").ContentActions | import("../actions/eventActions/eventActions.js").EventActions | import("../actions/groupActions/groupActions.js").GroupActions | import("../actions/imageActions/imageActions.js").ImageActions | import("../actions/locationActions/locationActions.js").LocationActions | import("../actions/messageActions/messageActions.js").MessageActions | import("../actions/permissionActions/permissionActions.js").PermissionActions | import("../actions/postActions/postActions.js").PostActions | import("../actions/personaActions/personaActions.js").PersonaActions | import("../actions/reactionActions/reactionActions.js").ReactionActions | import("../actions/sseActions/sseActions.js").SSEActions | import("../actions/subscriptionActions/subscriptionActions.js").SubscriptionActions | import("../actions/tagActions/tagActions.js").TagActions | import("../actions/websocketActions/websocketActions.js").WebsocketActions | import("../actions/videoActions/videoActions.js").VideoActions | import("../actions/translationActions/translationActions.js").TranslationActions | import("../actions/userActions/userActions.js").userActions;
19
+ export type ActionType = 'content' | 'crm' | 'event' | 'group' | 'image' | 'location' | 'message' | 'permission' | 'post' | 'persona' | 'reaction' | 'rest' | 'sse' | 'subscription' | 'tag' | 'translation' | 'user' | 'video' | 'websocket';
20
+ export type ActionOptions = ContentActionsOptions | CrmActionsOptions | EventActionsOptions | GroupActionsOptions | ImageActionsOptions | LocationActionsOptions | MessageActionsOptions | PermissionActionsOptions | PostActionsOptions | PersonaActionsOptions | ReactionActionsOptions | RestActionsOptions | SSEActionsOptions | TagActionsOptions | TranslationActionsOptions | UserActionsOptions | VideoActionsOptions | undefined;
21
+ export declare const createAction: <T extends ActionType>(actionType: T, flux: FluxFramework, options?: ActionOptions) => import("../actions/contentActions/contentActions.js").ContentActions | import("../actions/crmActions/crmActions.js").CrmActions | import("../actions/eventActions/eventActions.js").EventActions | import("../actions/groupActions/groupActions.js").GroupActions | import("../actions/imageActions/imageActions.js").ImageActions | import("../actions/locationActions/locationActions.js").LocationActions | import("../actions/messageActions/messageActions.js").MessageActions | import("../actions/permissionActions/permissionActions.js").PermissionActions | import("../actions/postActions/postActions.js").PostActions | import("../actions/personaActions/personaActions.js").PersonaActions | import("../actions/reactionActions/reactionActions.js").ReactionActions | import("../actions/restActions/restActions.js").RestActions | import("../actions/sseActions/sseActions.js").SSEActions | import("../actions/subscriptionActions/subscriptionActions.js").SubscriptionActions | import("../actions/tagActions/tagActions.js").TagActions | import("../actions/websocketActions/websocketActions.js").WebsocketActions | import("../actions/videoActions/videoActions.js").VideoActions | import("../actions/translationActions/translationActions.js").TranslationActions | import("../actions/userActions/userActions.js").userActions;
20
22
  export declare const createActions: (actionTypes: ActionType[], flux: FluxFramework, options?: Partial<Record<ActionType, ActionOptions>>) => Partial<Record<ActionType, ActionReturnType<ActionType>>>;
21
- export declare const createAllActions: (flux: FluxFramework, options?: Partial<Record<ActionType, ActionOptions>>) => Partial<Record<ActionType, import("../actions/contentActions/contentActions.js").ContentActions | import("../actions/eventActions/eventActions.js").EventActions | import("../actions/groupActions/groupActions.js").GroupActions | import("../actions/imageActions/imageActions.js").ImageActions | import("../actions/locationActions/locationActions.js").LocationActions | import("../actions/messageActions/messageActions.js").MessageActions | import("../actions/permissionActions/permissionActions.js").PermissionActions | import("../actions/postActions/postActions.js").PostActions | import("../actions/personaActions/personaActions.js").PersonaActions | import("../actions/reactionActions/reactionActions.js").ReactionActions | import("../actions/sseActions/sseActions.js").SSEActions | import("../actions/subscriptionActions/subscriptionActions.js").SubscriptionActions | import("../actions/tagActions/tagActions.js").TagActions | import("../actions/websocketActions/websocketActions.js").WebsocketActions | import("../actions/videoActions/videoActions.js").VideoActions | import("../actions/translationActions/translationActions.js").TranslationActions | import("../actions/userActions/userActions.js").userActions>>;
23
+ export declare const createAllActions: (flux: FluxFramework, options?: Partial<Record<ActionType, ActionOptions>>) => Partial<Record<ActionType, import("../actions/contentActions/contentActions.js").ContentActions | import("../actions/crmActions/crmActions.js").CrmActions | import("../actions/eventActions/eventActions.js").EventActions | import("../actions/groupActions/groupActions.js").GroupActions | import("../actions/imageActions/imageActions.js").ImageActions | import("../actions/locationActions/locationActions.js").LocationActions | import("../actions/messageActions/messageActions.js").MessageActions | import("../actions/permissionActions/permissionActions.js").PermissionActions | import("../actions/postActions/postActions.js").PostActions | import("../actions/personaActions/personaActions.js").PersonaActions | import("../actions/reactionActions/reactionActions.js").ReactionActions | import("../actions/restActions/restActions.js").RestActions | import("../actions/sseActions/sseActions.js").SSEActions | import("../actions/subscriptionActions/subscriptionActions.js").SubscriptionActions | import("../actions/tagActions/tagActions.js").TagActions | import("../actions/websocketActions/websocketActions.js").WebsocketActions | import("../actions/videoActions/videoActions.js").VideoActions | import("../actions/translationActions/translationActions.js").TranslationActions | import("../actions/userActions/userActions.js").userActions>>;
22
24
  export type ActionTypes = ReturnType<typeof createAllActions>;
23
25
  export type ActionReturnType<T extends ActionType> = ReturnType<typeof createAction<T>>;
24
26
  //# sourceMappingURL=actionFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actionFactory.d.ts","sourceRoot":"","sources":["../../src/utils/actionFactory.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,+CAA+C,CAAC;AAC1F,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,mDAAmD,CAAC;AAChG,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,+CAA+C,CAAC;AAC1F,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,qDAAqD,CAAC;AACnG,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC;AAIjF,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,OAAO,GACP,OAAO,GACP,OAAO,GACP,UAAU,GACV,SAAS,GACT,YAAY,GACZ,MAAM,GACN,SAAS,GACT,UAAU,GACV,KAAK,GACL,cAAc,GACd,KAAK,GACL,aAAa,GACb,MAAM,GACN,OAAO,GACP,WAAW,CAAC;AAEhB,MAAM,MAAM,aAAa,GACrB,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,qBAAqB,GACrB,wBAAwB,GACxB,kBAAkB,GAClB,qBAAqB,GACrB,sBAAsB,GACtB,iBAAiB,GACjB,iBAAiB,GACjB,yBAAyB,GACzB,kBAAkB,GAClB,mBAAmB,GACnB,SAAS,CAAC;AAEd,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,UAAU,EAC/C,YAAY,CAAC,EACb,MAAM,aAAa,EACnB,UAAU,aAAa,uqCA6DxB,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,aAAa,UAAU,EAAE,EACzB,MAAM,aAAa,EACnB,UAAU,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,KACnD,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAQ1D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,MAAM,aAAa,EACnB,UAAU,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,osCAuBrD,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,UAAU,IAAI,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"actionFactory.d.ts","sourceRoot":"","sources":["../../src/utils/actionFactory.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,+CAA+C,CAAC;AAC1F,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,mDAAmD,CAAC;AAChG,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,+CAA+C,CAAC;AAC1F,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,qDAAqD,CAAC;AACnG,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC;AAIjF,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,KAAK,GACL,OAAO,GACP,OAAO,GACP,OAAO,GACP,UAAU,GACV,SAAS,GACT,YAAY,GACZ,MAAM,GACN,SAAS,GACT,UAAU,GACV,MAAM,GACN,KAAK,GACL,cAAc,GACd,KAAK,GACL,aAAa,GACb,MAAM,GACN,OAAO,GACP,WAAW,CAAC;AAEhB,MAAM,MAAM,aAAa,GACrB,qBAAqB,GACrB,iBAAiB,GACjB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,qBAAqB,GACrB,wBAAwB,GACxB,kBAAkB,GAClB,qBAAqB,GACrB,sBAAsB,GACtB,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,yBAAyB,GACzB,kBAAkB,GAClB,mBAAmB,GACnB,SAAS,CAAC;AAEd,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,UAAU,EAC/C,YAAY,CAAC,EACb,MAAM,aAAa,EACnB,UAAU,aAAa,gyCAmExB,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,aAAa,UAAU,EAAE,EACzB,MAAM,aAAa,EACnB,UAAU,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,KACnD,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAQ1D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,MAAM,aAAa,EACnB,UAAU,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,6zCAyBrD,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,UAAU,IAAI,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
3
  * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
4
  */ import { createContentActions } from '../actions/contentActions/contentActions.js';
5
+ import { createCrmActions } from '../actions/crmActions/crmActions.js';
5
6
  import { createEventActions } from '../actions/eventActions/eventActions.js';
6
7
  import { createGroupActions } from '../actions/groupActions/groupActions.js';
7
8
  import { createImageActions } from '../actions/imageActions/imageActions.js';
@@ -11,6 +12,7 @@ import { createPermissionActions } from '../actions/permissionActions/permission
11
12
  import { createPostActions } from '../actions/postActions/postActions.js';
12
13
  import { createPersonaActions } from '../actions/personaActions/personaActions.js';
13
14
  import { createReactionActions } from '../actions/reactionActions/reactionActions.js';
15
+ import { createRestActions } from '../actions/restActions/restActions.js';
14
16
  import { createSSEActions } from '../actions/sseActions/sseActions.js';
15
17
  import { createSubscriptionActions } from '../actions/subscriptionActions/subscriptionActions.js';
16
18
  import { createTagActions } from '../actions/tagActions/tagActions.js';
@@ -23,6 +25,8 @@ export const createAction = (actionType, flux, options)=>{
23
25
  switch(actionType){
24
26
  case 'content':
25
27
  return createContentActions(flux, options);
28
+ case 'crm':
29
+ return createCrmActions(flux, options);
26
30
  case 'event':
27
31
  return createEventActions(flux, options);
28
32
  case 'group':
@@ -41,6 +45,8 @@ export const createAction = (actionType, flux, options)=>{
41
45
  return createPersonaActions(flux, options);
42
46
  case 'reaction':
43
47
  return createReactionActions(flux, options);
48
+ case 'rest':
49
+ return createRestActions(flux, options);
44
50
  case 'sse':
45
51
  return createSSEActions(flux, options);
46
52
  case 'subscription':
@@ -72,6 +78,7 @@ export const createActions = (actionTypes, flux, options)=>{
72
78
  export const createAllActions = (flux, options)=>{
73
79
  const allActionTypes = [
74
80
  'content',
81
+ 'crm',
75
82
  'event',
76
83
  'group',
77
84
  'image',
@@ -81,6 +88,7 @@ export const createAllActions = (flux, options)=>{
81
88
  'post',
82
89
  'persona',
83
90
  'reaction',
91
+ 'rest',
84
92
  'sse',
85
93
  'subscription',
86
94
  'tag',
@@ -92,4 +100,4 @@ export const createAllActions = (flux, options)=>{
92
100
  return createActions(allActionTypes, flux, options);
93
101
  };
94
102
 
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvdXRpbHMvYWN0aW9uRmFjdG9yeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtjcmVhdGVDb250ZW50QWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9jb250ZW50QWN0aW9ucy9jb250ZW50QWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZUV2ZW50QWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9ldmVudEFjdGlvbnMvZXZlbnRBY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlR3JvdXBBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL2dyb3VwQWN0aW9ucy9ncm91cEFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVJbWFnZUFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvaW1hZ2VBY3Rpb25zL2ltYWdlQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZUxvY2F0aW9uQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9sb2NhdGlvbkFjdGlvbnMvbG9jYXRpb25BY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlTWVzc2FnZUFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvbWVzc2FnZUFjdGlvbnMvbWVzc2FnZUFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVQZXJtaXNzaW9uQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9wZXJtaXNzaW9uQWN0aW9ucy9wZXJtaXNzaW9uQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVBvc3RBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL3Bvc3RBY3Rpb25zL3Bvc3RBY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlUGVyc29uYUFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvcGVyc29uYUFjdGlvbnMvcGVyc29uYUFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVSZWFjdGlvbkFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvcmVhY3Rpb25BY3Rpb25zL3JlYWN0aW9uQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNTRUFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvc3NlQWN0aW9ucy9zc2VBY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlU3Vic2NyaXB0aW9uQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9zdWJzY3JpcHRpb25BY3Rpb25zL3N1YnNjcmlwdGlvbkFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVUYWdBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL3RhZ0FjdGlvbnMvdGFnQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVRyYW5zbGF0aW9uQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy90cmFuc2xhdGlvbkFjdGlvbnMvdHJhbnNsYXRpb25BY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlVXNlckFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdXNlckFjdGlvbnMvdXNlckFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVWaWRlb0FjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdmlkZW9BY3Rpb25zL3ZpZGVvQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVdlYnNvY2tldEFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvd2Vic29ja2V0QWN0aW9ucy93ZWJzb2NrZXRBY3Rpb25zLmpzJztcblxuaW1wb3J0IHR5cGUge0ZsdXhGcmFtZXdvcmt9IGZyb20gJ0BubGFicy9hcmtoYW1qcyc7XG5pbXBvcnQgdHlwZSB7Q29udGVudEFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL2NvbnRlbnRBY3Rpb25zL2NvbnRlbnRBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtFdmVudEFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL2V2ZW50QWN0aW9ucy9ldmVudEFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge0dyb3VwQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvZ3JvdXBBY3Rpb25zL2dyb3VwQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7SW1hZ2VBY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9pbWFnZUFjdGlvbnMvaW1hZ2VBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtMb2NhdGlvbkFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL2xvY2F0aW9uQWN0aW9ucy9sb2NhdGlvbkFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge01lc3NhZ2VBY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9tZXNzYWdlQWN0aW9ucy9tZXNzYWdlQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7UGVybWlzc2lvbkFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL3Blcm1pc3Npb25BY3Rpb25zL3Blcm1pc3Npb25BY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtQb3N0QWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvcG9zdEFjdGlvbnMvcG9zdEFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1BlcnNvbmFBY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9wZXJzb25hQWN0aW9ucy9wZXJzb25hQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7UmVhY3Rpb25BY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9yZWFjdGlvbkFjdGlvbnMvcmVhY3Rpb25BY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtTU0VBY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9zc2VBY3Rpb25zL3NzZUFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1RhZ0FjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL3RhZ0FjdGlvbnMvdGFnQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7VHJhbnNsYXRpb25BY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy90cmFuc2xhdGlvbkFjdGlvbnMvdHJhbnNsYXRpb25BY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtVc2VyQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdXNlckFjdGlvbnMvdXNlckFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1ZpZGVvQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdmlkZW9BY3Rpb25zL3ZpZGVvQWN0aW9ucy5qcyc7XG5cbmNvbnN0IHdlYnNvY2tldEFjdGlvbkNhY2hlID0gbmV3IFdlYWtNYXA8Rmx1eEZyYW1ld29yaywgUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlV2Vic29ja2V0QWN0aW9ucz4+KCk7XG5cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGUgPVxuICB8ICdjb250ZW50J1xuICB8ICdldmVudCdcbiAgfCAnZ3JvdXAnXG4gIHwgJ2ltYWdlJ1xuICB8ICdsb2NhdGlvbidcbiAgfCAnbWVzc2FnZSdcbiAgfCAncGVybWlzc2lvbidcbiAgfCAncG9zdCdcbiAgfCAncGVyc29uYSdcbiAgfCAncmVhY3Rpb24nXG4gIHwgJ3NzZSdcbiAgfCAnc3Vic2NyaXB0aW9uJ1xuICB8ICd0YWcnXG4gIHwgJ3RyYW5zbGF0aW9uJ1xuICB8ICd1c2VyJ1xuICB8ICd2aWRlbydcbiAgfCAnd2Vic29ja2V0JztcblxuZXhwb3J0IHR5cGUgQWN0aW9uT3B0aW9ucyA9XG4gIHwgQ29udGVudEFjdGlvbnNPcHRpb25zXG4gIHwgRXZlbnRBY3Rpb25zT3B0aW9uc1xuICB8IEdyb3VwQWN0aW9uc09wdGlvbnNcbiAgfCBJbWFnZUFjdGlvbnNPcHRpb25zXG4gIHwgTG9jYXRpb25BY3Rpb25zT3B0aW9uc1xuICB8IE1lc3NhZ2VBY3Rpb25zT3B0aW9uc1xuICB8IFBlcm1pc3Npb25BY3Rpb25zT3B0aW9uc1xuICB8IFBvc3RBY3Rpb25zT3B0aW9uc1xuICB8IFBlcnNvbmFBY3Rpb25zT3B0aW9uc1xuICB8IFJlYWN0aW9uQWN0aW9uc09wdGlvbnNcbiAgfCBTU0VBY3Rpb25zT3B0aW9uc1xuICB8IFRhZ0FjdGlvbnNPcHRpb25zXG4gIHwgVHJhbnNsYXRpb25BY3Rpb25zT3B0aW9uc1xuICB8IFVzZXJBY3Rpb25zT3B0aW9uc1xuICB8IFZpZGVvQWN0aW9uc09wdGlvbnNcbiAgfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVBY3Rpb24gPSA8VCBleHRlbmRzIEFjdGlvblR5cGU+KFxuICBhY3Rpb25UeXBlOiBULFxuICBmbHV4OiBGbHV4RnJhbWV3b3JrLFxuICBvcHRpb25zPzogQWN0aW9uT3B0aW9uc1xuKSA9PiB7XG4gIHN3aXRjaChhY3Rpb25UeXBlKSB7XG4gICAgY2FzZSAnY29udGVudCc6XG4gICAgICByZXR1cm4gY3JlYXRlQ29udGVudEFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBDb250ZW50QWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnZXZlbnQnOlxuICAgICAgcmV0dXJuIGNyZWF0ZUV2ZW50QWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIEV2ZW50QWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnZ3JvdXAnOlxuICAgICAgcmV0dXJuIGNyZWF0ZUdyb3VwQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIEdyb3VwQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnaW1hZ2UnOlxuICAgICAgcmV0dXJuIGNyZWF0ZUltYWdlQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIEltYWdlQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnbG9jYXRpb24nOlxuICAgICAgcmV0dXJuIGNyZWF0ZUxvY2F0aW9uQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIExvY2F0aW9uQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnbWVzc2FnZSc6XG4gICAgICByZXR1cm4gY3JlYXRlTWVzc2FnZUFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBNZXNzYWdlQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAncGVybWlzc2lvbic6XG4gICAgICByZXR1cm4gY3JlYXRlUGVybWlzc2lvbkFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBQZXJtaXNzaW9uQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAncG9zdCc6XG4gICAgICByZXR1cm4gY3JlYXRlUG9zdEFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBQb3N0QWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAncGVyc29uYSc6XG4gICAgICByZXR1cm4gY3JlYXRlUGVyc29uYUFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBQZXJzb25hQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAncmVhY3Rpb24nOlxuICAgICAgcmV0dXJuIGNyZWF0ZVJlYWN0aW9uQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIFJlYWN0aW9uQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnc3NlJzpcbiAgICAgIHJldHVybiBjcmVhdGVTU0VBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgU1NFQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnc3Vic2NyaXB0aW9uJzpcbiAgICAgIHJldHVybiBjcmVhdGVTdWJzY3JpcHRpb25BY3Rpb25zKGZsdXgpO1xuXG4gICAgY2FzZSAndGFnJzpcbiAgICAgIHJldHVybiBjcmVhdGVUYWdBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgVGFnQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAndHJhbnNsYXRpb24nOlxuICAgICAgcmV0dXJuIGNyZWF0ZVRyYW5zbGF0aW9uQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIFRyYW5zbGF0aW9uQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAndXNlcic6XG4gICAgICByZXR1cm4gY3JlYXRlVXNlckFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBVc2VyQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAndmlkZW8nOlxuICAgICAgcmV0dXJuIGNyZWF0ZVZpZGVvQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIFZpZGVvQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnd2Vic29ja2V0JzpcbiAgICAgIGlmKCF3ZWJzb2NrZXRBY3Rpb25DYWNoZS5oYXMoZmx1eCkpIHtcbiAgICAgICAgd2Vic29ja2V0QWN0aW9uQ2FjaGUuc2V0KGZsdXgsIGNyZWF0ZVdlYnNvY2tldEFjdGlvbnMoZmx1eCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gd2Vic29ja2V0QWN0aW9uQ2FjaGUuZ2V0KGZsdXgpIGFzIFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZVdlYnNvY2tldEFjdGlvbnM+O1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBhY3Rpb24gdHlwZTogJHthY3Rpb25UeXBlfWApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQWN0aW9ucyA9IChcbiAgYWN0aW9uVHlwZXM6IEFjdGlvblR5cGVbXSxcbiAgZmx1eDogRmx1eEZyYW1ld29yayxcbiAgb3B0aW9ucz86IFBhcnRpYWw8UmVjb3JkPEFjdGlvblR5cGUsIEFjdGlvbk9wdGlvbnM+PlxuKTogUGFydGlhbDxSZWNvcmQ8QWN0aW9uVHlwZSwgQWN0aW9uUmV0dXJuVHlwZTxBY3Rpb25UeXBlPj4+ID0+IHtcbiAgY29uc3QgYWN0aW9uczogUGFydGlhbDxSZWNvcmQ8QWN0aW9uVHlwZSwgQWN0aW9uUmV0dXJuVHlwZTxBY3Rpb25UeXBlPj4+ID0ge307XG5cbiAgYWN0aW9uVHlwZXMuZm9yRWFjaCgodHlwZSkgPT4ge1xuICAgIGFjdGlvbnNbdHlwZV0gPSBjcmVhdGVBY3Rpb24odHlwZSwgZmx1eCwgb3B0aW9ucz8uW3R5cGVdKSBhcyBBY3Rpb25SZXR1cm5UeXBlPEFjdGlvblR5cGU+O1xuICB9KTtcblxuICByZXR1cm4gYWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVBbGxBY3Rpb25zID0gKFxuICBmbHV4OiBGbHV4RnJhbWV3b3JrLFxuICBvcHRpb25zPzogUGFydGlhbDxSZWNvcmQ8QWN0aW9uVHlwZSwgQWN0aW9uT3B0aW9ucz4+XG4pID0+IHtcbiAgY29uc3QgYWxsQWN0aW9uVHlwZXM6IEFjdGlvblR5cGVbXSA9IFtcbiAgICAnY29udGVudCcsXG4gICAgJ2V2ZW50JyxcbiAgICAnZ3JvdXAnLFxuICAgICdpbWFnZScsXG4gICAgJ2xvY2F0aW9uJyxcbiAgICAnbWVzc2FnZScsXG4gICAgJ3Blcm1pc3Npb24nLFxuICAgICdwb3N0JyxcbiAgICAncGVyc29uYScsXG4gICAgJ3JlYWN0aW9uJyxcbiAgICAnc3NlJyxcbiAgICAnc3Vic2NyaXB0aW9uJyxcbiAgICAndGFnJyxcbiAgICAndHJhbnNsYXRpb24nLFxuICAgICd1c2VyJyxcbiAgICAndmlkZW8nLFxuICAgICd3ZWJzb2NrZXQnXG4gIF07XG5cbiAgcmV0dXJuIGNyZWF0ZUFjdGlvbnMoYWxsQWN0aW9uVHlwZXMsIGZsdXgsIG9wdGlvbnMpO1xufTtcblxuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZXMgPSBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVBbGxBY3Rpb25zPjtcbmV4cG9ydCB0eXBlIEFjdGlvblJldHVyblR5cGU8VCBleHRlbmRzIEFjdGlvblR5cGU+ID0gUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQWN0aW9uPFQ+PjtcbiJdLCJuYW1lcyI6WyJjcmVhdGVDb250ZW50QWN0aW9ucyIsImNyZWF0ZUV2ZW50QWN0aW9ucyIsImNyZWF0ZUdyb3VwQWN0aW9ucyIsImNyZWF0ZUltYWdlQWN0aW9ucyIsImNyZWF0ZUxvY2F0aW9uQWN0aW9ucyIsImNyZWF0ZU1lc3NhZ2VBY3Rpb25zIiwiY3JlYXRlUGVybWlzc2lvbkFjdGlvbnMiLCJjcmVhdGVQb3N0QWN0aW9ucyIsImNyZWF0ZVBlcnNvbmFBY3Rpb25zIiwiY3JlYXRlUmVhY3Rpb25BY3Rpb25zIiwiY3JlYXRlU1NFQWN0aW9ucyIsImNyZWF0ZVN1YnNjcmlwdGlvbkFjdGlvbnMiLCJjcmVhdGVUYWdBY3Rpb25zIiwiY3JlYXRlVHJhbnNsYXRpb25BY3Rpb25zIiwiY3JlYXRlVXNlckFjdGlvbnMiLCJjcmVhdGVWaWRlb0FjdGlvbnMiLCJjcmVhdGVXZWJzb2NrZXRBY3Rpb25zIiwid2Vic29ja2V0QWN0aW9uQ2FjaGUiLCJXZWFrTWFwIiwiY3JlYXRlQWN0aW9uIiwiYWN0aW9uVHlwZSIsImZsdXgiLCJvcHRpb25zIiwiaGFzIiwic2V0IiwiZ2V0IiwiRXJyb3IiLCJjcmVhdGVBY3Rpb25zIiwiYWN0aW9uVHlwZXMiLCJhY3Rpb25zIiwiZm9yRWFjaCIsInR5cGUiLCJjcmVhdGVBbGxBY3Rpb25zIiwiYWxsQWN0aW9uVHlwZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLG9CQUFvQixRQUFPLDhDQUE4QztBQUNqRixTQUFRQyxrQkFBa0IsUUFBTywwQ0FBMEM7QUFDM0UsU0FBUUMsa0JBQWtCLFFBQU8sMENBQTBDO0FBQzNFLFNBQVFDLGtCQUFrQixRQUFPLDBDQUEwQztBQUMzRSxTQUFRQyxxQkFBcUIsUUFBTyxnREFBZ0Q7QUFDcEYsU0FBUUMsb0JBQW9CLFFBQU8sOENBQThDO0FBQ2pGLFNBQVFDLHVCQUF1QixRQUFPLG9EQUFvRDtBQUMxRixTQUFRQyxpQkFBaUIsUUFBTyx3Q0FBd0M7QUFDeEUsU0FBUUMsb0JBQW9CLFFBQU8sOENBQThDO0FBQ2pGLFNBQVFDLHFCQUFxQixRQUFPLGdEQUFnRDtBQUNwRixTQUFRQyxnQkFBZ0IsUUFBTyxzQ0FBc0M7QUFDckUsU0FBUUMseUJBQXlCLFFBQU8sd0RBQXdEO0FBQ2hHLFNBQVFDLGdCQUFnQixRQUFPLHNDQUFzQztBQUNyRSxTQUFRQyx3QkFBd0IsUUFBTyxzREFBc0Q7QUFDN0YsU0FBUUMsaUJBQWlCLFFBQU8sd0NBQXdDO0FBQ3hFLFNBQVFDLGtCQUFrQixRQUFPLDBDQUEwQztBQUMzRSxTQUFRQyxzQkFBc0IsUUFBTyxrREFBa0Q7QUFtQnZGLE1BQU1DLHVCQUF1QixJQUFJQztBQXVDakMsT0FBTyxNQUFNQyxlQUFlLENBQzFCQyxZQUNBQyxNQUNBQztJQUVBLE9BQU9GO1FBQ0wsS0FBSztZQUNILE9BQU9wQixxQkFBcUJxQixNQUFNQztRQUVwQyxLQUFLO1lBQ0gsT0FBT3JCLG1CQUFtQm9CLE1BQU1DO1FBRWxDLEtBQUs7WUFDSCxPQUFPcEIsbUJBQW1CbUIsTUFBTUM7UUFFbEMsS0FBSztZQUNILE9BQU9uQixtQkFBbUJrQixNQUFNQztRQUVsQyxLQUFLO1lBQ0gsT0FBT2xCLHNCQUFzQmlCLE1BQU1DO1FBRXJDLEtBQUs7WUFDSCxPQUFPakIscUJBQXFCZ0IsTUFBTUM7UUFFcEMsS0FBSztZQUNILE9BQU9oQix3QkFBd0JlLE1BQU1DO1FBRXZDLEtBQUs7WUFDSCxPQUFPZixrQkFBa0JjLE1BQU1DO1FBRWpDLEtBQUs7WUFDSCxPQUFPZCxxQkFBcUJhLE1BQU1DO1FBRXBDLEtBQUs7WUFDSCxPQUFPYixzQkFBc0JZLE1BQU1DO1FBRXJDLEtBQUs7WUFDSCxPQUFPWixpQkFBaUJXLE1BQU1DO1FBRWhDLEtBQUs7WUFDSCxPQUFPWCwwQkFBMEJVO1FBRW5DLEtBQUs7WUFDSCxPQUFPVCxpQkFBaUJTLE1BQU1DO1FBRWhDLEtBQUs7WUFDSCxPQUFPVCx5QkFBeUJRLE1BQU1DO1FBRXhDLEtBQUs7WUFDSCxPQUFPUixrQkFBa0JPLE1BQU1DO1FBRWpDLEtBQUs7WUFDSCxPQUFPUCxtQkFBbUJNLE1BQU1DO1FBRWxDLEtBQUs7WUFDSCxJQUFHLENBQUNMLHFCQUFxQk0sR0FBRyxDQUFDRixPQUFPO2dCQUNsQ0oscUJBQXFCTyxHQUFHLENBQUNILE1BQU1MLHVCQUF1Qks7WUFDeEQ7WUFFQSxPQUFPSixxQkFBcUJRLEdBQUcsQ0FBQ0o7UUFFbEM7WUFDRSxNQUFNLElBQUlLLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRU4sWUFBWTtJQUN4RDtBQUNGLEVBQUU7QUFFRixPQUFPLE1BQU1PLGdCQUFnQixDQUMzQkMsYUFDQVAsTUFDQUM7SUFFQSxNQUFNTyxVQUFxRSxDQUFDO0lBRTVFRCxZQUFZRSxPQUFPLENBQUMsQ0FBQ0M7UUFDbkJGLE9BQU8sQ0FBQ0UsS0FBSyxHQUFHWixhQUFhWSxNQUFNVixNQUFNQyxTQUFTLENBQUNTLEtBQUs7SUFDMUQ7SUFFQSxPQUFPRjtBQUNULEVBQUU7QUFFRixPQUFPLE1BQU1HLG1CQUFtQixDQUM5QlgsTUFDQUM7SUFFQSxNQUFNVyxpQkFBK0I7UUFDbkM7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtLQUNEO0lBRUQsT0FBT04sY0FBY00sZ0JBQWdCWixNQUFNQztBQUM3QyxFQUFFIn0=
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvdXRpbHMvYWN0aW9uRmFjdG9yeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtjcmVhdGVDb250ZW50QWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9jb250ZW50QWN0aW9ucy9jb250ZW50QWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZUNybUFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvY3JtQWN0aW9ucy9jcm1BY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlRXZlbnRBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL2V2ZW50QWN0aW9ucy9ldmVudEFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVHcm91cEFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvZ3JvdXBBY3Rpb25zL2dyb3VwQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZUltYWdlQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9pbWFnZUFjdGlvbnMvaW1hZ2VBY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlTG9jYXRpb25BY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL2xvY2F0aW9uQWN0aW9ucy9sb2NhdGlvbkFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVNZXNzYWdlQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9tZXNzYWdlQWN0aW9ucy9tZXNzYWdlQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVBlcm1pc3Npb25BY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL3Blcm1pc3Npb25BY3Rpb25zL3Blcm1pc3Npb25BY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlUG9zdEFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvcG9zdEFjdGlvbnMvcG9zdEFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVQZXJzb25hQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9wZXJzb25hQWN0aW9ucy9wZXJzb25hQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVJlYWN0aW9uQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9yZWFjdGlvbkFjdGlvbnMvcmVhY3Rpb25BY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlUmVzdEFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvcmVzdEFjdGlvbnMvcmVzdEFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVTU0VBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL3NzZUFjdGlvbnMvc3NlQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVN1YnNjcmlwdGlvbkFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvc3Vic2NyaXB0aW9uQWN0aW9ucy9zdWJzY3JpcHRpb25BY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlVGFnQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy90YWdBY3Rpb25zL3RhZ0FjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVUcmFuc2xhdGlvbkFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdHJhbnNsYXRpb25BY3Rpb25zL3RyYW5zbGF0aW9uQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVVzZXJBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL3VzZXJBY3Rpb25zL3VzZXJBY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlVmlkZW9BY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL3ZpZGVvQWN0aW9ucy92aWRlb0FjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVXZWJzb2NrZXRBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL3dlYnNvY2tldEFjdGlvbnMvd2Vic29ja2V0QWN0aW9ucy5qcyc7XG5cbmltcG9ydCB0eXBlIHtGbHV4RnJhbWV3b3JrfSBmcm9tICdAbmxhYnMvYXJraGFtanMnO1xuaW1wb3J0IHR5cGUge0NvbnRlbnRBY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9jb250ZW50QWN0aW9ucy9jb250ZW50QWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7Q3JtQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvY3JtQWN0aW9ucy9jcm1BY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtFdmVudEFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL2V2ZW50QWN0aW9ucy9ldmVudEFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge0dyb3VwQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvZ3JvdXBBY3Rpb25zL2dyb3VwQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7SW1hZ2VBY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9pbWFnZUFjdGlvbnMvaW1hZ2VBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtMb2NhdGlvbkFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL2xvY2F0aW9uQWN0aW9ucy9sb2NhdGlvbkFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge01lc3NhZ2VBY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9tZXNzYWdlQWN0aW9ucy9tZXNzYWdlQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7UGVybWlzc2lvbkFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL3Blcm1pc3Npb25BY3Rpb25zL3Blcm1pc3Npb25BY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtQb3N0QWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvcG9zdEFjdGlvbnMvcG9zdEFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1BlcnNvbmFBY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9wZXJzb25hQWN0aW9ucy9wZXJzb25hQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7UmVhY3Rpb25BY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9yZWFjdGlvbkFjdGlvbnMvcmVhY3Rpb25BY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtSZXN0QWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvcmVzdEFjdGlvbnMvcmVzdEFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1NTRUFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL3NzZUFjdGlvbnMvc3NlQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7VGFnQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdGFnQWN0aW9ucy90YWdBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtUcmFuc2xhdGlvbkFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL3RyYW5zbGF0aW9uQWN0aW9ucy90cmFuc2xhdGlvbkFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1VzZXJBY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy91c2VyQWN0aW9ucy91c2VyQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7VmlkZW9BY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy92aWRlb0FjdGlvbnMvdmlkZW9BY3Rpb25zLmpzJztcblxuY29uc3Qgd2Vic29ja2V0QWN0aW9uQ2FjaGUgPSBuZXcgV2Vha01hcDxGbHV4RnJhbWV3b3JrLCBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVXZWJzb2NrZXRBY3Rpb25zPj4oKTtcblxuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZSA9XG4gIHwgJ2NvbnRlbnQnXG4gIHwgJ2NybSdcbiAgfCAnZXZlbnQnXG4gIHwgJ2dyb3VwJ1xuICB8ICdpbWFnZSdcbiAgfCAnbG9jYXRpb24nXG4gIHwgJ21lc3NhZ2UnXG4gIHwgJ3Blcm1pc3Npb24nXG4gIHwgJ3Bvc3QnXG4gIHwgJ3BlcnNvbmEnXG4gIHwgJ3JlYWN0aW9uJ1xuICB8ICdyZXN0J1xuICB8ICdzc2UnXG4gIHwgJ3N1YnNjcmlwdGlvbidcbiAgfCAndGFnJ1xuICB8ICd0cmFuc2xhdGlvbidcbiAgfCAndXNlcidcbiAgfCAndmlkZW8nXG4gIHwgJ3dlYnNvY2tldCc7XG5cbmV4cG9ydCB0eXBlIEFjdGlvbk9wdGlvbnMgPVxuICB8IENvbnRlbnRBY3Rpb25zT3B0aW9uc1xuICB8IENybUFjdGlvbnNPcHRpb25zXG4gIHwgRXZlbnRBY3Rpb25zT3B0aW9uc1xuICB8IEdyb3VwQWN0aW9uc09wdGlvbnNcbiAgfCBJbWFnZUFjdGlvbnNPcHRpb25zXG4gIHwgTG9jYXRpb25BY3Rpb25zT3B0aW9uc1xuICB8IE1lc3NhZ2VBY3Rpb25zT3B0aW9uc1xuICB8IFBlcm1pc3Npb25BY3Rpb25zT3B0aW9uc1xuICB8IFBvc3RBY3Rpb25zT3B0aW9uc1xuICB8IFBlcnNvbmFBY3Rpb25zT3B0aW9uc1xuICB8IFJlYWN0aW9uQWN0aW9uc09wdGlvbnNcbiAgfCBSZXN0QWN0aW9uc09wdGlvbnNcbiAgfCBTU0VBY3Rpb25zT3B0aW9uc1xuICB8IFRhZ0FjdGlvbnNPcHRpb25zXG4gIHwgVHJhbnNsYXRpb25BY3Rpb25zT3B0aW9uc1xuICB8IFVzZXJBY3Rpb25zT3B0aW9uc1xuICB8IFZpZGVvQWN0aW9uc09wdGlvbnNcbiAgfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVBY3Rpb24gPSA8VCBleHRlbmRzIEFjdGlvblR5cGU+KFxuICBhY3Rpb25UeXBlOiBULFxuICBmbHV4OiBGbHV4RnJhbWV3b3JrLFxuICBvcHRpb25zPzogQWN0aW9uT3B0aW9uc1xuKSA9PiB7XG4gIHN3aXRjaChhY3Rpb25UeXBlKSB7XG4gICAgY2FzZSAnY29udGVudCc6XG4gICAgICByZXR1cm4gY3JlYXRlQ29udGVudEFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBDb250ZW50QWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnY3JtJzpcbiAgICAgIHJldHVybiBjcmVhdGVDcm1BY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgQ3JtQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnZXZlbnQnOlxuICAgICAgcmV0dXJuIGNyZWF0ZUV2ZW50QWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIEV2ZW50QWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnZ3JvdXAnOlxuICAgICAgcmV0dXJuIGNyZWF0ZUdyb3VwQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIEdyb3VwQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnaW1hZ2UnOlxuICAgICAgcmV0dXJuIGNyZWF0ZUltYWdlQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIEltYWdlQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnbG9jYXRpb24nOlxuICAgICAgcmV0dXJuIGNyZWF0ZUxvY2F0aW9uQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIExvY2F0aW9uQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnbWVzc2FnZSc6XG4gICAgICByZXR1cm4gY3JlYXRlTWVzc2FnZUFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBNZXNzYWdlQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAncGVybWlzc2lvbic6XG4gICAgICByZXR1cm4gY3JlYXRlUGVybWlzc2lvbkFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBQZXJtaXNzaW9uQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAncG9zdCc6XG4gICAgICByZXR1cm4gY3JlYXRlUG9zdEFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBQb3N0QWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAncGVyc29uYSc6XG4gICAgICByZXR1cm4gY3JlYXRlUGVyc29uYUFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBQZXJzb25hQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAncmVhY3Rpb24nOlxuICAgICAgcmV0dXJuIGNyZWF0ZVJlYWN0aW9uQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIFJlYWN0aW9uQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAncmVzdCc6XG4gICAgICByZXR1cm4gY3JlYXRlUmVzdEFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBSZXN0QWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnc3NlJzpcbiAgICAgIHJldHVybiBjcmVhdGVTU0VBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgU1NFQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnc3Vic2NyaXB0aW9uJzpcbiAgICAgIHJldHVybiBjcmVhdGVTdWJzY3JpcHRpb25BY3Rpb25zKGZsdXgpO1xuXG4gICAgY2FzZSAndGFnJzpcbiAgICAgIHJldHVybiBjcmVhdGVUYWdBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgVGFnQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAndHJhbnNsYXRpb24nOlxuICAgICAgcmV0dXJuIGNyZWF0ZVRyYW5zbGF0aW9uQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIFRyYW5zbGF0aW9uQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAndXNlcic6XG4gICAgICByZXR1cm4gY3JlYXRlVXNlckFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBVc2VyQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAndmlkZW8nOlxuICAgICAgcmV0dXJuIGNyZWF0ZVZpZGVvQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIFZpZGVvQWN0aW9uc09wdGlvbnMpO1xuXG4gICAgY2FzZSAnd2Vic29ja2V0JzpcbiAgICAgIGlmKCF3ZWJzb2NrZXRBY3Rpb25DYWNoZS5oYXMoZmx1eCkpIHtcbiAgICAgICAgd2Vic29ja2V0QWN0aW9uQ2FjaGUuc2V0KGZsdXgsIGNyZWF0ZVdlYnNvY2tldEFjdGlvbnMoZmx1eCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gd2Vic29ja2V0QWN0aW9uQ2FjaGUuZ2V0KGZsdXgpIGFzIFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZVdlYnNvY2tldEFjdGlvbnM+O1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBhY3Rpb24gdHlwZTogJHthY3Rpb25UeXBlfWApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQWN0aW9ucyA9IChcbiAgYWN0aW9uVHlwZXM6IEFjdGlvblR5cGVbXSxcbiAgZmx1eDogRmx1eEZyYW1ld29yayxcbiAgb3B0aW9ucz86IFBhcnRpYWw8UmVjb3JkPEFjdGlvblR5cGUsIEFjdGlvbk9wdGlvbnM+PlxuKTogUGFydGlhbDxSZWNvcmQ8QWN0aW9uVHlwZSwgQWN0aW9uUmV0dXJuVHlwZTxBY3Rpb25UeXBlPj4+ID0+IHtcbiAgY29uc3QgYWN0aW9uczogUGFydGlhbDxSZWNvcmQ8QWN0aW9uVHlwZSwgQWN0aW9uUmV0dXJuVHlwZTxBY3Rpb25UeXBlPj4+ID0ge307XG5cbiAgYWN0aW9uVHlwZXMuZm9yRWFjaCgodHlwZSkgPT4ge1xuICAgIGFjdGlvbnNbdHlwZV0gPSBjcmVhdGVBY3Rpb24odHlwZSwgZmx1eCwgb3B0aW9ucz8uW3R5cGVdKSBhcyBBY3Rpb25SZXR1cm5UeXBlPEFjdGlvblR5cGU+O1xuICB9KTtcblxuICByZXR1cm4gYWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVBbGxBY3Rpb25zID0gKFxuICBmbHV4OiBGbHV4RnJhbWV3b3JrLFxuICBvcHRpb25zPzogUGFydGlhbDxSZWNvcmQ8QWN0aW9uVHlwZSwgQWN0aW9uT3B0aW9ucz4+XG4pID0+IHtcbiAgY29uc3QgYWxsQWN0aW9uVHlwZXM6IEFjdGlvblR5cGVbXSA9IFtcbiAgICAnY29udGVudCcsXG4gICAgJ2NybScsXG4gICAgJ2V2ZW50JyxcbiAgICAnZ3JvdXAnLFxuICAgICdpbWFnZScsXG4gICAgJ2xvY2F0aW9uJyxcbiAgICAnbWVzc2FnZScsXG4gICAgJ3Blcm1pc3Npb24nLFxuICAgICdwb3N0JyxcbiAgICAncGVyc29uYScsXG4gICAgJ3JlYWN0aW9uJyxcbiAgICAncmVzdCcsXG4gICAgJ3NzZScsXG4gICAgJ3N1YnNjcmlwdGlvbicsXG4gICAgJ3RhZycsXG4gICAgJ3RyYW5zbGF0aW9uJyxcbiAgICAndXNlcicsXG4gICAgJ3ZpZGVvJyxcbiAgICAnd2Vic29ja2V0J1xuICBdO1xuXG4gIHJldHVybiBjcmVhdGVBY3Rpb25zKGFsbEFjdGlvblR5cGVzLCBmbHV4LCBvcHRpb25zKTtcbn07XG5cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzID0gUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQWxsQWN0aW9ucz47XG5leHBvcnQgdHlwZSBBY3Rpb25SZXR1cm5UeXBlPFQgZXh0ZW5kcyBBY3Rpb25UeXBlPiA9IFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZUFjdGlvbjxUPj47XG4iXSwibmFtZXMiOlsiY3JlYXRlQ29udGVudEFjdGlvbnMiLCJjcmVhdGVDcm1BY3Rpb25zIiwiY3JlYXRlRXZlbnRBY3Rpb25zIiwiY3JlYXRlR3JvdXBBY3Rpb25zIiwiY3JlYXRlSW1hZ2VBY3Rpb25zIiwiY3JlYXRlTG9jYXRpb25BY3Rpb25zIiwiY3JlYXRlTWVzc2FnZUFjdGlvbnMiLCJjcmVhdGVQZXJtaXNzaW9uQWN0aW9ucyIsImNyZWF0ZVBvc3RBY3Rpb25zIiwiY3JlYXRlUGVyc29uYUFjdGlvbnMiLCJjcmVhdGVSZWFjdGlvbkFjdGlvbnMiLCJjcmVhdGVSZXN0QWN0aW9ucyIsImNyZWF0ZVNTRUFjdGlvbnMiLCJjcmVhdGVTdWJzY3JpcHRpb25BY3Rpb25zIiwiY3JlYXRlVGFnQWN0aW9ucyIsImNyZWF0ZVRyYW5zbGF0aW9uQWN0aW9ucyIsImNyZWF0ZVVzZXJBY3Rpb25zIiwiY3JlYXRlVmlkZW9BY3Rpb25zIiwiY3JlYXRlV2Vic29ja2V0QWN0aW9ucyIsIndlYnNvY2tldEFjdGlvbkNhY2hlIiwiV2Vha01hcCIsImNyZWF0ZUFjdGlvbiIsImFjdGlvblR5cGUiLCJmbHV4Iiwib3B0aW9ucyIsImhhcyIsInNldCIsImdldCIsIkVycm9yIiwiY3JlYXRlQWN0aW9ucyIsImFjdGlvblR5cGVzIiwiYWN0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