conductor-node-mcp 12.42.0 → 12.43.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.
@@ -1,440 +0,0 @@
1
- "use strict";
2
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const node_path_1 = __importDefault(require("node:path"));
8
- const node_util_1 = __importDefault(require("node:util"));
9
- const fuse_js_1 = __importDefault(require("fuse.js"));
10
- const typescript_1 = __importDefault(require("typescript"));
11
- const conductor_node_1 = require("conductor-node");
12
- function getRunFunctionSource(code) {
13
- const sourceFile = typescript_1.default.createSourceFile('code.ts', code, typescript_1.default.ScriptTarget.Latest, true);
14
- const printer = typescript_1.default.createPrinter();
15
- for (const statement of sourceFile.statements) {
16
- // Check for top-level function declarations
17
- if (typescript_1.default.isFunctionDeclaration(statement)) {
18
- if (statement.name?.text === 'run') {
19
- return {
20
- type: 'declaration',
21
- client: statement.parameters[0]?.name.getText(),
22
- code: printer.printNode(typescript_1.default.EmitHint.Unspecified, statement.body, sourceFile),
23
- };
24
- }
25
- }
26
- // Check for variable declarations: const run = () => {} or const run = function() {}
27
- if (typescript_1.default.isVariableStatement(statement)) {
28
- for (const declaration of statement.declarationList.declarations) {
29
- if (typescript_1.default.isIdentifier(declaration.name) &&
30
- declaration.name.text === 'run' &&
31
- // Check if it's initialized with a function
32
- declaration.initializer &&
33
- (typescript_1.default.isFunctionExpression(declaration.initializer) || typescript_1.default.isArrowFunction(declaration.initializer))) {
34
- return {
35
- type: 'expression',
36
- client: declaration.initializer.parameters[0]?.name.getText(),
37
- code: printer.printNode(typescript_1.default.EmitHint.Unspecified, declaration.initializer, sourceFile),
38
- };
39
- }
40
- }
41
- }
42
- }
43
- return null;
44
- }
45
- function getTSDiagnostics(code) {
46
- const functionSource = getRunFunctionSource(code);
47
- const codeWithImport = [
48
- 'import { Conductor } from "conductor-node";',
49
- functionSource.type === 'declaration' ?
50
- `async function run(${functionSource.client}: Conductor)`
51
- : `const run: (${functionSource.client}: Conductor) => Promise<unknown> =`,
52
- functionSource.code,
53
- ].join('\n');
54
- const sourcePath = node_path_1.default.resolve('code.ts');
55
- const ast = typescript_1.default.createSourceFile(sourcePath, codeWithImport, typescript_1.default.ScriptTarget.Latest, true);
56
- const options = typescript_1.default.getDefaultCompilerOptions();
57
- options.target = typescript_1.default.ScriptTarget.Latest;
58
- options.module = typescript_1.default.ModuleKind.NodeNext;
59
- options.moduleResolution = typescript_1.default.ModuleResolutionKind.NodeNext;
60
- const host = typescript_1.default.createCompilerHost(options, true);
61
- const newHost = {
62
- ...host,
63
- getSourceFile: (...args) => {
64
- if (node_path_1.default.resolve(args[0]) === sourcePath) {
65
- return ast;
66
- }
67
- return host.getSourceFile(...args);
68
- },
69
- readFile: (...args) => {
70
- if (node_path_1.default.resolve(args[0]) === sourcePath) {
71
- return codeWithImport;
72
- }
73
- return host.readFile(...args);
74
- },
75
- fileExists: (...args) => {
76
- if (node_path_1.default.resolve(args[0]) === sourcePath) {
77
- return true;
78
- }
79
- return host.fileExists(...args);
80
- },
81
- };
82
- const program = typescript_1.default.createProgram({
83
- options,
84
- rootNames: [sourcePath],
85
- host: newHost,
86
- });
87
- const diagnostics = typescript_1.default.getPreEmitDiagnostics(program, ast);
88
- return diagnostics.map((d) => {
89
- const message = typescript_1.default.flattenDiagnosticMessageText(d.messageText, '\n');
90
- if (!d.file || !d.start)
91
- return `- ${message}`;
92
- const { line: tsLine } = typescript_1.default.getLineAndCharacterOfPosition(d.file, d.start);
93
- // We add two lines in the beginning, for the client import and the function declaration.
94
- // So the actual (zero-based) line number is tsLine - 2.
95
- const lineNumber = tsLine - 2;
96
- const line = code.split('\n').at(lineNumber)?.trim();
97
- return line ? `- ${message}\n at line ${lineNumber + 1}\n ${line}` : `- ${message}`;
98
- });
99
- }
100
- const fuse = new fuse_js_1.default([
101
- 'conductor.authSessions.create',
102
- 'conductor.endUsers.create',
103
- 'conductor.endUsers.delete',
104
- 'conductor.endUsers.list',
105
- 'conductor.endUsers.passthrough',
106
- 'conductor.endUsers.retrieve',
107
- 'conductor.qbd.healthCheck',
108
- 'conductor.qbd.accountTaxLines.list',
109
- 'conductor.qbd.accounts.create',
110
- 'conductor.qbd.accounts.list',
111
- 'conductor.qbd.accounts.retrieve',
112
- 'conductor.qbd.accounts.update',
113
- 'conductor.qbd.billCheckPayments.create',
114
- 'conductor.qbd.billCheckPayments.delete',
115
- 'conductor.qbd.billCheckPayments.list',
116
- 'conductor.qbd.billCheckPayments.retrieve',
117
- 'conductor.qbd.billCheckPayments.update',
118
- 'conductor.qbd.billCreditCardPayments.create',
119
- 'conductor.qbd.billCreditCardPayments.delete',
120
- 'conductor.qbd.billCreditCardPayments.list',
121
- 'conductor.qbd.billCreditCardPayments.retrieve',
122
- 'conductor.qbd.bills.create',
123
- 'conductor.qbd.bills.delete',
124
- 'conductor.qbd.bills.list',
125
- 'conductor.qbd.bills.retrieve',
126
- 'conductor.qbd.bills.update',
127
- 'conductor.qbd.buildAssemblies.create',
128
- 'conductor.qbd.buildAssemblies.delete',
129
- 'conductor.qbd.buildAssemblies.list',
130
- 'conductor.qbd.buildAssemblies.retrieve',
131
- 'conductor.qbd.buildAssemblies.update',
132
- 'conductor.qbd.checks.create',
133
- 'conductor.qbd.checks.delete',
134
- 'conductor.qbd.checks.list',
135
- 'conductor.qbd.checks.retrieve',
136
- 'conductor.qbd.checks.update',
137
- 'conductor.qbd.classes.create',
138
- 'conductor.qbd.classes.list',
139
- 'conductor.qbd.classes.retrieve',
140
- 'conductor.qbd.classes.update',
141
- 'conductor.qbd.company.retrieve',
142
- 'conductor.qbd.creditCardCharges.create',
143
- 'conductor.qbd.creditCardCharges.delete',
144
- 'conductor.qbd.creditCardCharges.list',
145
- 'conductor.qbd.creditCardCharges.retrieve',
146
- 'conductor.qbd.creditCardCharges.update',
147
- 'conductor.qbd.creditCardCredits.create',
148
- 'conductor.qbd.creditCardCredits.delete',
149
- 'conductor.qbd.creditCardCredits.list',
150
- 'conductor.qbd.creditCardCredits.retrieve',
151
- 'conductor.qbd.creditCardCredits.update',
152
- 'conductor.qbd.creditCardRefunds.create',
153
- 'conductor.qbd.creditCardRefunds.delete',
154
- 'conductor.qbd.creditCardRefunds.list',
155
- 'conductor.qbd.creditCardRefunds.retrieve',
156
- 'conductor.qbd.creditMemos.create',
157
- 'conductor.qbd.creditMemos.delete',
158
- 'conductor.qbd.creditMemos.list',
159
- 'conductor.qbd.creditMemos.retrieve',
160
- 'conductor.qbd.creditMemos.update',
161
- 'conductor.qbd.currencies.create',
162
- 'conductor.qbd.currencies.list',
163
- 'conductor.qbd.currencies.retrieve',
164
- 'conductor.qbd.currencies.update',
165
- 'conductor.qbd.customerTypes.create',
166
- 'conductor.qbd.customerTypes.list',
167
- 'conductor.qbd.customerTypes.retrieve',
168
- 'conductor.qbd.customers.create',
169
- 'conductor.qbd.customers.list',
170
- 'conductor.qbd.customers.retrieve',
171
- 'conductor.qbd.customers.update',
172
- 'conductor.qbd.dateDrivenTerms.create',
173
- 'conductor.qbd.dateDrivenTerms.list',
174
- 'conductor.qbd.dateDrivenTerms.retrieve',
175
- 'conductor.qbd.deletedListObjects.list',
176
- 'conductor.qbd.deletedTransactions.list',
177
- 'conductor.qbd.discountItems.create',
178
- 'conductor.qbd.discountItems.list',
179
- 'conductor.qbd.discountItems.retrieve',
180
- 'conductor.qbd.discountItems.update',
181
- 'conductor.qbd.employees.create',
182
- 'conductor.qbd.employees.list',
183
- 'conductor.qbd.employees.retrieve',
184
- 'conductor.qbd.employees.update',
185
- 'conductor.qbd.estimates.create',
186
- 'conductor.qbd.estimates.delete',
187
- 'conductor.qbd.estimates.list',
188
- 'conductor.qbd.estimates.retrieve',
189
- 'conductor.qbd.estimates.update',
190
- 'conductor.qbd.inventoryAdjustments.create',
191
- 'conductor.qbd.inventoryAdjustments.delete',
192
- 'conductor.qbd.inventoryAdjustments.list',
193
- 'conductor.qbd.inventoryAdjustments.retrieve',
194
- 'conductor.qbd.inventoryAdjustments.update',
195
- 'conductor.qbd.inventoryAssemblyItems.create',
196
- 'conductor.qbd.inventoryAssemblyItems.list',
197
- 'conductor.qbd.inventoryAssemblyItems.retrieve',
198
- 'conductor.qbd.inventoryAssemblyItems.update',
199
- 'conductor.qbd.inventoryItems.create',
200
- 'conductor.qbd.inventoryItems.list',
201
- 'conductor.qbd.inventoryItems.retrieve',
202
- 'conductor.qbd.inventoryItems.update',
203
- 'conductor.qbd.inventorySites.create',
204
- 'conductor.qbd.inventorySites.list',
205
- 'conductor.qbd.inventorySites.retrieve',
206
- 'conductor.qbd.inventorySites.update',
207
- 'conductor.qbd.invoices.create',
208
- 'conductor.qbd.invoices.delete',
209
- 'conductor.qbd.invoices.list',
210
- 'conductor.qbd.invoices.retrieve',
211
- 'conductor.qbd.invoices.update',
212
- 'conductor.qbd.itemGroups.create',
213
- 'conductor.qbd.itemGroups.list',
214
- 'conductor.qbd.itemGroups.retrieve',
215
- 'conductor.qbd.itemGroups.update',
216
- 'conductor.qbd.itemReceipts.create',
217
- 'conductor.qbd.itemReceipts.delete',
218
- 'conductor.qbd.itemReceipts.list',
219
- 'conductor.qbd.itemReceipts.retrieve',
220
- 'conductor.qbd.itemReceipts.update',
221
- 'conductor.qbd.itemSites.list',
222
- 'conductor.qbd.itemSites.retrieve',
223
- 'conductor.qbd.journalEntries.create',
224
- 'conductor.qbd.journalEntries.delete',
225
- 'conductor.qbd.journalEntries.list',
226
- 'conductor.qbd.journalEntries.retrieve',
227
- 'conductor.qbd.journalEntries.update',
228
- 'conductor.qbd.nonInventoryItems.create',
229
- 'conductor.qbd.nonInventoryItems.list',
230
- 'conductor.qbd.nonInventoryItems.retrieve',
231
- 'conductor.qbd.nonInventoryItems.update',
232
- 'conductor.qbd.otherChargeItems.create',
233
- 'conductor.qbd.otherChargeItems.list',
234
- 'conductor.qbd.otherChargeItems.retrieve',
235
- 'conductor.qbd.otherChargeItems.update',
236
- 'conductor.qbd.otherNames.create',
237
- 'conductor.qbd.otherNames.list',
238
- 'conductor.qbd.otherNames.retrieve',
239
- 'conductor.qbd.otherNames.update',
240
- 'conductor.qbd.paymentMethods.create',
241
- 'conductor.qbd.paymentMethods.list',
242
- 'conductor.qbd.paymentMethods.retrieve',
243
- 'conductor.qbd.payrollWageItems.create',
244
- 'conductor.qbd.payrollWageItems.list',
245
- 'conductor.qbd.payrollWageItems.retrieve',
246
- 'conductor.qbd.preferences.retrieve',
247
- 'conductor.qbd.priceLevels.create',
248
- 'conductor.qbd.priceLevels.list',
249
- 'conductor.qbd.priceLevels.retrieve',
250
- 'conductor.qbd.priceLevels.update',
251
- 'conductor.qbd.purchaseOrders.create',
252
- 'conductor.qbd.purchaseOrders.delete',
253
- 'conductor.qbd.purchaseOrders.list',
254
- 'conductor.qbd.purchaseOrders.retrieve',
255
- 'conductor.qbd.purchaseOrders.update',
256
- 'conductor.qbd.receivePayments.create',
257
- 'conductor.qbd.receivePayments.delete',
258
- 'conductor.qbd.receivePayments.list',
259
- 'conductor.qbd.receivePayments.retrieve',
260
- 'conductor.qbd.receivePayments.update',
261
- 'conductor.qbd.salesOrders.create',
262
- 'conductor.qbd.salesOrders.delete',
263
- 'conductor.qbd.salesOrders.list',
264
- 'conductor.qbd.salesOrders.retrieve',
265
- 'conductor.qbd.salesOrders.update',
266
- 'conductor.qbd.salesReceipts.create',
267
- 'conductor.qbd.salesReceipts.delete',
268
- 'conductor.qbd.salesReceipts.list',
269
- 'conductor.qbd.salesReceipts.retrieve',
270
- 'conductor.qbd.salesReceipts.update',
271
- 'conductor.qbd.salesRepresentatives.create',
272
- 'conductor.qbd.salesRepresentatives.list',
273
- 'conductor.qbd.salesRepresentatives.retrieve',
274
- 'conductor.qbd.salesRepresentatives.update',
275
- 'conductor.qbd.salesTaxCodes.create',
276
- 'conductor.qbd.salesTaxCodes.list',
277
- 'conductor.qbd.salesTaxCodes.retrieve',
278
- 'conductor.qbd.salesTaxCodes.update',
279
- 'conductor.qbd.salesTaxItems.create',
280
- 'conductor.qbd.salesTaxItems.list',
281
- 'conductor.qbd.salesTaxItems.retrieve',
282
- 'conductor.qbd.salesTaxItems.update',
283
- 'conductor.qbd.serviceItems.create',
284
- 'conductor.qbd.serviceItems.list',
285
- 'conductor.qbd.serviceItems.retrieve',
286
- 'conductor.qbd.serviceItems.update',
287
- 'conductor.qbd.standardTerms.create',
288
- 'conductor.qbd.standardTerms.list',
289
- 'conductor.qbd.standardTerms.retrieve',
290
- 'conductor.qbd.subtotalItems.create',
291
- 'conductor.qbd.subtotalItems.list',
292
- 'conductor.qbd.subtotalItems.retrieve',
293
- 'conductor.qbd.subtotalItems.update',
294
- 'conductor.qbd.templates.list',
295
- 'conductor.qbd.timeTrackingActivities.create',
296
- 'conductor.qbd.timeTrackingActivities.delete',
297
- 'conductor.qbd.timeTrackingActivities.list',
298
- 'conductor.qbd.timeTrackingActivities.retrieve',
299
- 'conductor.qbd.timeTrackingActivities.update',
300
- 'conductor.qbd.transactions.list',
301
- 'conductor.qbd.transactions.retrieve',
302
- 'conductor.qbd.transfers.create',
303
- 'conductor.qbd.transfers.list',
304
- 'conductor.qbd.transfers.retrieve',
305
- 'conductor.qbd.transfers.update',
306
- 'conductor.qbd.unitOfMeasureSets.create',
307
- 'conductor.qbd.unitOfMeasureSets.list',
308
- 'conductor.qbd.unitOfMeasureSets.retrieve',
309
- 'conductor.qbd.vendorCredits.create',
310
- 'conductor.qbd.vendorCredits.delete',
311
- 'conductor.qbd.vendorCredits.list',
312
- 'conductor.qbd.vendorCredits.retrieve',
313
- 'conductor.qbd.vendorCredits.update',
314
- 'conductor.qbd.vendors.create',
315
- 'conductor.qbd.vendors.list',
316
- 'conductor.qbd.vendors.retrieve',
317
- 'conductor.qbd.vendors.update',
318
- ], { threshold: 1, shouldSort: true });
319
- function getMethodSuggestions(fullyQualifiedMethodName) {
320
- return fuse
321
- .search(fullyQualifiedMethodName)
322
- .map(({ item }) => item)
323
- .slice(0, 5);
324
- }
325
- const proxyToObj = new WeakMap();
326
- const objToProxy = new WeakMap();
327
- function makeSdkProxy(obj, { path, isBelievedBad = false }) {
328
- let proxy = objToProxy.get(obj);
329
- if (!proxy) {
330
- proxy = new Proxy(obj, {
331
- get(target, prop, receiver) {
332
- const propPath = [...path, String(prop)];
333
- const value = Reflect.get(target, prop, receiver);
334
- if (isBelievedBad || (!(prop in target) && value === undefined)) {
335
- // If we're accessing a path that doesn't exist, it will probably eventually error.
336
- // Let's proxy it and mark it bad so that we can control the error message.
337
- // We proxy an empty class so that an invocation or construction attempt is possible.
338
- return makeSdkProxy(class {
339
- }, { path: propPath, isBelievedBad: true });
340
- }
341
- if (value !== null && (typeof value === 'object' || typeof value === 'function')) {
342
- return makeSdkProxy(value, { path: propPath, isBelievedBad });
343
- }
344
- return value;
345
- },
346
- apply(target, thisArg, args) {
347
- if (isBelievedBad || typeof target !== 'function') {
348
- const fullyQualifiedMethodName = path.join('.');
349
- const suggestions = getMethodSuggestions(fullyQualifiedMethodName);
350
- throw new Error(`${fullyQualifiedMethodName} is not a function. Did you mean: ${suggestions.join(', ')}`);
351
- }
352
- return Reflect.apply(target, proxyToObj.get(thisArg) ?? thisArg, args);
353
- },
354
- construct(target, args, newTarget) {
355
- if (isBelievedBad || typeof target !== 'function') {
356
- const fullyQualifiedMethodName = path.join('.');
357
- const suggestions = getMethodSuggestions(fullyQualifiedMethodName);
358
- throw new Error(`${fullyQualifiedMethodName} is not a constructor. Did you mean: ${suggestions.join(', ')}`);
359
- }
360
- return Reflect.construct(target, args, newTarget);
361
- },
362
- });
363
- objToProxy.set(obj, proxy);
364
- proxyToObj.set(proxy, obj);
365
- }
366
- return proxy;
367
- }
368
- function parseError(code, error) {
369
- if (!(error instanceof Error))
370
- return;
371
- const message = error.name ? `${error.name}: ${error.message}` : error.message;
372
- try {
373
- // Deno uses V8; the first "<anonymous>:LINE:COLUMN" is the top of stack.
374
- const lineNumber = error.stack?.match(/<anonymous>:([0-9]+):[0-9]+/)?.[1];
375
- // -1 for the zero-based indexing
376
- const line = lineNumber &&
377
- code
378
- .split('\n')
379
- .at(parseInt(lineNumber, 10) - 1)
380
- ?.trim();
381
- return line ? `${message}\n at line ${lineNumber}\n ${line}` : message;
382
- }
383
- catch {
384
- return message;
385
- }
386
- }
387
- const fetch = async (req) => {
388
- const { opts, code } = (await req.json());
389
- const runFunctionSource = code ? getRunFunctionSource(code) : null;
390
- if (!runFunctionSource) {
391
- const message = code ?
392
- 'The code is missing a top-level `run` function.'
393
- : 'The code argument is missing. Provide one containing a top-level `run` function.';
394
- return Response.json({
395
- message: `${message} Write code within this template:\n\n\`\`\`\nasync function run(conductor) {\n // Fill this out\n}\n\`\`\``,
396
- logLines: [],
397
- errLines: [],
398
- }, { status: 400, statusText: 'Code execution error' });
399
- }
400
- const diagnostics = getTSDiagnostics(code);
401
- if (diagnostics.length > 0) {
402
- return Response.json({
403
- message: `The code contains TypeScript diagnostics:\n${diagnostics.join('\n')}`,
404
- logLines: [],
405
- errLines: [],
406
- }, { status: 400, statusText: 'Code execution error' });
407
- }
408
- const conductor = new conductor_node_1.Conductor({
409
- ...opts,
410
- });
411
- const logLines = [];
412
- const errLines = [];
413
- const console = {
414
- log: (...args) => {
415
- logLines.push(node_util_1.default.format(...args));
416
- },
417
- error: (...args) => {
418
- errLines.push(node_util_1.default.format(...args));
419
- },
420
- };
421
- try {
422
- let run_ = async (conductor) => { };
423
- eval(`${code}\nrun_ = run;`);
424
- const result = await run_(makeSdkProxy(conductor, { path: ['conductor'] }));
425
- return Response.json({
426
- result,
427
- logLines,
428
- errLines,
429
- });
430
- }
431
- catch (e) {
432
- return Response.json({
433
- message: parseError(code, e),
434
- logLines,
435
- errLines,
436
- }, { status: 400, statusText: 'Code execution error' });
437
- }
438
- };
439
- exports.default = { fetch };
440
- //# sourceMappingURL=code-tool-worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-tool-worker.js","sourceRoot":"","sources":["src/code-tool-worker.ts"],"names":[],"mappings":"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"}