@vurb/core 3.3.4 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +726 -677
- package/dist/cli/constants.js +59 -59
- package/dist/cli/scaffold.js +2 -0
- package/dist/cli/scaffold.js.map +1 -1
- package/dist/cli/templates/config.js +27 -27
- package/dist/cli/templates/config.js.map +1 -1
- package/dist/cli/templates/core.js +95 -95
- package/dist/cli/templates/index.d.ts +1 -0
- package/dist/cli/templates/index.d.ts.map +1 -1
- package/dist/cli/templates/index.js +2 -0
- package/dist/cli/templates/index.js.map +1 -1
- package/dist/cli/templates/middleware.js +25 -25
- package/dist/cli/templates/model.d.ts +7 -0
- package/dist/cli/templates/model.d.ts.map +1 -0
- package/dist/cli/templates/model.js +31 -0
- package/dist/cli/templates/model.js.map +1 -0
- package/dist/cli/templates/presenter.d.ts.map +1 -1
- package/dist/cli/templates/presenter.js +4 -9
- package/dist/cli/templates/presenter.js.map +1 -1
- package/dist/cli/templates/readme.d.ts.map +1 -1
- package/dist/cli/templates/readme.js +144 -142
- package/dist/cli/templates/readme.js.map +1 -1
- package/dist/cli/templates/testing.js +84 -84
- package/dist/cli/templates/tools.js +46 -46
- package/dist/cli/templates/vectors/database.js +69 -69
- package/dist/cli/templates/vectors/oauth.js +63 -63
- package/dist/cli/templates/vectors/openapi.js +97 -97
- package/dist/core/builder/BuildPipeline.d.ts +56 -0
- package/dist/core/builder/BuildPipeline.d.ts.map +1 -0
- package/dist/core/builder/BuildPipeline.js +139 -0
- package/dist/core/builder/BuildPipeline.js.map +1 -0
- package/dist/core/builder/FluentToolBuilder.d.ts +253 -19
- package/dist/core/builder/FluentToolBuilder.d.ts.map +1 -1
- package/dist/core/builder/FluentToolBuilder.js +354 -114
- package/dist/core/builder/FluentToolBuilder.js.map +1 -1
- package/dist/core/builder/ProxyHandler.d.ts +26 -0
- package/dist/core/builder/ProxyHandler.d.ts.map +1 -0
- package/dist/core/builder/ProxyHandler.js +65 -0
- package/dist/core/builder/ProxyHandler.js.map +1 -0
- package/dist/core/builder/SemanticDefaults.d.ts +25 -0
- package/dist/core/builder/SemanticDefaults.d.ts.map +1 -0
- package/dist/core/builder/SemanticDefaults.js +16 -0
- package/dist/core/builder/SemanticDefaults.js.map +1 -0
- package/dist/core/builder/index.d.ts +2 -1
- package/dist/core/builder/index.d.ts.map +1 -1
- package/dist/core/builder/index.js +1 -0
- package/dist/core/builder/index.js.map +1 -1
- package/dist/core/middleware/AuditTrail.d.ts.map +1 -1
- package/dist/core/middleware/AuditTrail.js +6 -2
- package/dist/core/middleware/AuditTrail.js.map +1 -1
- package/dist/core/middleware/RateLimiter.d.ts.map +1 -1
- package/dist/core/middleware/RateLimiter.js +3 -1
- package/dist/core/middleware/RateLimiter.js.map +1 -1
- package/dist/fsm/StateMachineGate.d.ts +3 -0
- package/dist/fsm/StateMachineGate.d.ts.map +1 -1
- package/dist/fsm/StateMachineGate.js +12 -0
- package/dist/fsm/StateMachineGate.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/introspection/SemanticProbe.js +49 -49
- package/dist/model/defineModel.d.ts +167 -0
- package/dist/model/defineModel.d.ts.map +1 -0
- package/dist/model/defineModel.js +345 -0
- package/dist/model/defineModel.js.map +1 -0
- package/dist/model/index.d.ts +8 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +7 -0
- package/dist/model/index.js.map +1 -0
- package/dist/observability/TelemetryBus.d.ts.map +1 -1
- package/dist/observability/TelemetryBus.js +14 -13
- package/dist/observability/TelemetryBus.js.map +1 -1
- package/dist/presenter/Presenter.d.ts +21 -0
- package/dist/presenter/Presenter.d.ts.map +1 -1
- package/dist/presenter/Presenter.js +17 -8
- package/dist/presenter/Presenter.js.map +1 -1
- package/dist/presenter/PresenterPipeline.d.ts +2 -0
- package/dist/presenter/PresenterPipeline.d.ts.map +1 -1
- package/dist/presenter/PresenterPipeline.js +4 -0
- package/dist/presenter/PresenterPipeline.js.map +1 -1
- package/dist/presenter/definePresenter.d.ts.map +1 -1
- package/dist/presenter/definePresenter.js +13 -3
- package/dist/presenter/definePresenter.js.map +1 -1
- package/dist/prompt/FluentPromptBuilder.d.ts.map +1 -1
- package/dist/resource/ResourceRegistry.d.ts +3 -0
- package/dist/resource/ResourceRegistry.d.ts.map +1 -1
- package/dist/resource/ResourceRegistry.js +8 -2
- package/dist/resource/ResourceRegistry.js.map +1 -1
- package/dist/sandbox/SandboxGuard.js +7 -4
- package/dist/sandbox/SandboxGuard.js.map +1 -1
- package/dist/server/ServerAttachment.d.ts.map +1 -1
- package/dist/server/ServerAttachment.js +48 -9
- package/dist/server/ServerAttachment.js.map +1 -1
- package/package.json +1 -1
|
@@ -26,20 +26,18 @@
|
|
|
26
26
|
* @module
|
|
27
27
|
*/
|
|
28
28
|
import { z } from 'zod';
|
|
29
|
+
import { compileFieldForInput } from '../../model/defineModel.js';
|
|
29
30
|
import { GroupedToolBuilder } from './GroupedToolBuilder.js';
|
|
30
31
|
import {} from '../types.js';
|
|
31
|
-
import { success, TOOL_RESPONSE_BRAND } from '../response.js';
|
|
32
32
|
import {} from '../../presenter/Presenter.js';
|
|
33
33
|
import {} from '../execution/ConcurrencyGuard.js';
|
|
34
34
|
import {} from '../../sandbox/SandboxEngine.js';
|
|
35
|
-
import { SANDBOX_SYSTEM_INSTRUCTION } from '../../sandbox/index.js';
|
|
36
35
|
import {} from '../middleware/ContextDerivation.js';
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
export
|
|
41
|
-
|
|
42
|
-
export const ACTION_DEFAULTS = {};
|
|
36
|
+
import {} from './SemanticDefaults.js';
|
|
37
|
+
import { createProxyHandler } from './ProxyHandler.js';
|
|
38
|
+
import { buildToolFromFluent } from './BuildPipeline.js';
|
|
39
|
+
// Re-export SemanticDefaults for backward compatibility
|
|
40
|
+
export { QUERY_DEFAULTS, MUTATION_DEFAULTS, ACTION_DEFAULTS } from './SemanticDefaults.js';
|
|
43
41
|
// ── Array Item Type Resolution ───────────────────────────
|
|
44
42
|
/** Resolve Zod type from array item type string */
|
|
45
43
|
function resolveArrayItemType(itemType) {
|
|
@@ -64,6 +62,7 @@ export class FluentToolBuilder {
|
|
|
64
62
|
/** @internal */ _inputSchema;
|
|
65
63
|
/** @internal */ _withParams = {};
|
|
66
64
|
/** @internal */ _tags = [];
|
|
65
|
+
/** @internal */ _modelRef;
|
|
67
66
|
/**
|
|
68
67
|
* @internal Bug #118 fix: reject duplicate parameter names.
|
|
69
68
|
* All `withXxx()` methods delegate to this instead of assigning directly.
|
|
@@ -73,7 +72,7 @@ export class FluentToolBuilder {
|
|
|
73
72
|
throw new Error(`Empty parameter name on tool "${this._name}". ` +
|
|
74
73
|
`Each parameter must have a non-empty name.`);
|
|
75
74
|
}
|
|
76
|
-
if (
|
|
75
|
+
if (Object.prototype.hasOwnProperty.call(this._withParams, name)) {
|
|
77
76
|
throw new Error(`Duplicate parameter name "${name}" on tool "${this._name}". ` +
|
|
78
77
|
`Each parameter must have a unique name.`);
|
|
79
78
|
}
|
|
@@ -218,6 +217,140 @@ export class FluentToolBuilder {
|
|
|
218
217
|
this._addParam(name, base.optional());
|
|
219
218
|
return this;
|
|
220
219
|
}
|
|
220
|
+
// ── Bulk Parameter Declaration ────────────────────────
|
|
221
|
+
//
|
|
222
|
+
// Batch variants accept a Record<string, string> where
|
|
223
|
+
// keys are parameter names and values are descriptions.
|
|
224
|
+
//
|
|
225
|
+
// Before:
|
|
226
|
+
// .withOptionalString('title', 'Filter by title')
|
|
227
|
+
// .withOptionalString('status', 'Status filter')
|
|
228
|
+
//
|
|
229
|
+
// After:
|
|
230
|
+
// .withOptionalStrings({ title: 'Filter by title', status: 'Status filter' })
|
|
231
|
+
/**
|
|
232
|
+
* Add multiple required string parameters in bulk.
|
|
233
|
+
*
|
|
234
|
+
* @param fields - Record of `{ paramName: 'description' }`
|
|
235
|
+
* @returns Builder with narrowed `TInput` type
|
|
236
|
+
*
|
|
237
|
+
* @example
|
|
238
|
+
* ```typescript
|
|
239
|
+
* f.query('tasks.get')
|
|
240
|
+
* .withStrings({
|
|
241
|
+
* company_slug: 'Workspace identifier',
|
|
242
|
+
* project_slug: 'Project identifier',
|
|
243
|
+
* })
|
|
244
|
+
* .handle(async (input) => { ... });
|
|
245
|
+
* // input.company_slug: string ✅
|
|
246
|
+
* // input.project_slug: string ✅
|
|
247
|
+
* ```
|
|
248
|
+
*/
|
|
249
|
+
withStrings(fields) {
|
|
250
|
+
for (const [name, description] of Object.entries(fields)) {
|
|
251
|
+
this._addParam(name, description ? z.string().describe(description) : z.string());
|
|
252
|
+
}
|
|
253
|
+
return this;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Add multiple optional string parameters in bulk.
|
|
257
|
+
*
|
|
258
|
+
* @param fields - Record of `{ paramName: 'description' }`
|
|
259
|
+
* @returns Builder with narrowed `TInput` type
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* ```typescript
|
|
263
|
+
* f.query('tasks.filter')
|
|
264
|
+
* .withOptionalStrings({
|
|
265
|
+
* title: 'Filter by title (partial match)',
|
|
266
|
+
* workflow: 'Column name (e.g. "In Progress")',
|
|
267
|
+
* labels: 'Comma-separated label names',
|
|
268
|
+
* })
|
|
269
|
+
* .handle(async (input) => { ... });
|
|
270
|
+
* // input.title?: string | undefined ✅
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
withOptionalStrings(fields) {
|
|
274
|
+
for (const [name, description] of Object.entries(fields)) {
|
|
275
|
+
const base = description ? z.string().describe(description) : z.string();
|
|
276
|
+
this._addParam(name, base.optional());
|
|
277
|
+
}
|
|
278
|
+
return this;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Add multiple required number parameters in bulk.
|
|
282
|
+
*
|
|
283
|
+
* @param fields - Record of `{ paramName: 'description' }`
|
|
284
|
+
* @returns Builder with narrowed `TInput` type
|
|
285
|
+
*/
|
|
286
|
+
withNumbers(fields) {
|
|
287
|
+
for (const [name, description] of Object.entries(fields)) {
|
|
288
|
+
this._addParam(name, description ? z.number().describe(description) : z.number());
|
|
289
|
+
}
|
|
290
|
+
return this;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Add multiple optional number parameters in bulk.
|
|
294
|
+
*
|
|
295
|
+
* @param fields - Record of `{ paramName: 'description' }`
|
|
296
|
+
* @returns Builder with narrowed `TInput` type
|
|
297
|
+
*
|
|
298
|
+
* @example
|
|
299
|
+
* ```typescript
|
|
300
|
+
* f.query('tasks.filter')
|
|
301
|
+
* .withOptionalNumbers({
|
|
302
|
+
* per_page: 'Results per page (default: 50)',
|
|
303
|
+
* offset: 'Pagination offset',
|
|
304
|
+
* })
|
|
305
|
+
* .handle(async (input) => { ... });
|
|
306
|
+
* // input.per_page?: number | undefined ✅
|
|
307
|
+
* ```
|
|
308
|
+
*/
|
|
309
|
+
withOptionalNumbers(fields) {
|
|
310
|
+
for (const [name, description] of Object.entries(fields)) {
|
|
311
|
+
const base = description ? z.number().describe(description) : z.number();
|
|
312
|
+
this._addParam(name, base.optional());
|
|
313
|
+
}
|
|
314
|
+
return this;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Add multiple required boolean parameters in bulk.
|
|
318
|
+
*
|
|
319
|
+
* @param fields - Record of `{ paramName: 'description' }`
|
|
320
|
+
* @returns Builder with narrowed `TInput` type
|
|
321
|
+
*/
|
|
322
|
+
withBooleans(fields) {
|
|
323
|
+
for (const [name, description] of Object.entries(fields)) {
|
|
324
|
+
this._addParam(name, description ? z.boolean().describe(description) : z.boolean());
|
|
325
|
+
}
|
|
326
|
+
return this;
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Add multiple optional boolean parameters in bulk.
|
|
330
|
+
*
|
|
331
|
+
* @param fields - Record of `{ paramName: 'description' }`
|
|
332
|
+
* @returns Builder with narrowed `TInput` type
|
|
333
|
+
*
|
|
334
|
+
* @example
|
|
335
|
+
* ```typescript
|
|
336
|
+
* f.query('tasks.filter')
|
|
337
|
+
* .withOptionalBooleans({
|
|
338
|
+
* is_blocker: 'Only blockers',
|
|
339
|
+
* is_bug: 'Only bugs',
|
|
340
|
+
* unassigned: 'Only unassigned tasks',
|
|
341
|
+
* is_archived: 'Include archived tasks',
|
|
342
|
+
* })
|
|
343
|
+
* .handle(async (input) => { ... });
|
|
344
|
+
* // input.is_blocker?: boolean | undefined ✅
|
|
345
|
+
* ```
|
|
346
|
+
*/
|
|
347
|
+
withOptionalBooleans(fields) {
|
|
348
|
+
for (const [name, description] of Object.entries(fields)) {
|
|
349
|
+
const base = description ? z.boolean().describe(description) : z.boolean();
|
|
350
|
+
this._addParam(name, base.optional());
|
|
351
|
+
}
|
|
352
|
+
return this;
|
|
353
|
+
}
|
|
221
354
|
/**
|
|
222
355
|
* Add a required enum parameter.
|
|
223
356
|
*
|
|
@@ -287,6 +420,155 @@ export class FluentToolBuilder {
|
|
|
287
420
|
this._addParam(name, description ? schema.describe(description).optional() : schema.optional());
|
|
288
421
|
return this;
|
|
289
422
|
}
|
|
423
|
+
// ── Bulk Enum & Array Declaration ─────────────────────
|
|
424
|
+
/**
|
|
425
|
+
* Add multiple required enum parameters in bulk.
|
|
426
|
+
*
|
|
427
|
+
* Each entry is `paramName: [allowedValues, description?]`.
|
|
428
|
+
*
|
|
429
|
+
* @param fields - Record of `{ paramName: [values, description?] }`
|
|
430
|
+
* @returns Builder with narrowed `TInput` type
|
|
431
|
+
*
|
|
432
|
+
* @example
|
|
433
|
+
* ```typescript
|
|
434
|
+
* f.query('tasks.filter')
|
|
435
|
+
* .withEnums({
|
|
436
|
+
* status: [['open', 'closed', 'archived'], 'Task status'],
|
|
437
|
+
* priority: [['low', 'medium', 'high'], 'Priority level'],
|
|
438
|
+
* })
|
|
439
|
+
* .handle(async (input) => { ... });
|
|
440
|
+
* // input.status: 'open' | 'closed' | 'archived' ✅
|
|
441
|
+
* ```
|
|
442
|
+
*/
|
|
443
|
+
withEnums(fields) {
|
|
444
|
+
for (const [name, [values, description]] of Object.entries(fields)) {
|
|
445
|
+
const schema = z.enum(values);
|
|
446
|
+
this._addParam(name, description ? schema.describe(description) : schema);
|
|
447
|
+
}
|
|
448
|
+
return this;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Add multiple optional enum parameters in bulk.
|
|
452
|
+
*
|
|
453
|
+
* Each entry is `paramName: [allowedValues, description?]`.
|
|
454
|
+
*
|
|
455
|
+
* @param fields - Record of `{ paramName: [values, description?] }`
|
|
456
|
+
* @returns Builder with narrowed `TInput` type
|
|
457
|
+
*
|
|
458
|
+
* @example
|
|
459
|
+
* ```typescript
|
|
460
|
+
* f.query('tasks.filter')
|
|
461
|
+
* .withOptionalEnums({
|
|
462
|
+
* status: [['open', 'closed'], 'Filter by status'],
|
|
463
|
+
* priority: [['low', 'medium', 'high'], 'Filter by priority'],
|
|
464
|
+
* })
|
|
465
|
+
* .handle(async (input) => { ... });
|
|
466
|
+
* // input.status?: 'open' | 'closed' | undefined ✅
|
|
467
|
+
* ```
|
|
468
|
+
*/
|
|
469
|
+
withOptionalEnums(fields) {
|
|
470
|
+
for (const [name, [values, description]] of Object.entries(fields)) {
|
|
471
|
+
const schema = z.enum(values);
|
|
472
|
+
this._addParam(name, description ? schema.describe(description).optional() : schema.optional());
|
|
473
|
+
}
|
|
474
|
+
return this;
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Add multiple required array parameters in bulk, sharing the same item type.
|
|
478
|
+
*
|
|
479
|
+
* @param itemType - Type of array items (`'string'`, `'number'`, `'boolean'`)
|
|
480
|
+
* @param fields - Record of `{ paramName: 'description' }`
|
|
481
|
+
* @returns Builder with narrowed `TInput` type
|
|
482
|
+
*
|
|
483
|
+
* @example
|
|
484
|
+
* ```typescript
|
|
485
|
+
* f.mutation('tasks.update')
|
|
486
|
+
* .withArrays('string', {
|
|
487
|
+
* tags: 'Tags to apply',
|
|
488
|
+
* labels: 'Category labels',
|
|
489
|
+
* })
|
|
490
|
+
* .handle(async (input) => { ... });
|
|
491
|
+
* // input.tags: string[] ✅
|
|
492
|
+
* // input.labels: string[] ✅
|
|
493
|
+
* ```
|
|
494
|
+
*/
|
|
495
|
+
withArrays(itemType, fields) {
|
|
496
|
+
for (const [name, description] of Object.entries(fields)) {
|
|
497
|
+
const schema = z.array(resolveArrayItemType(itemType));
|
|
498
|
+
this._addParam(name, description ? schema.describe(description) : schema);
|
|
499
|
+
}
|
|
500
|
+
return this;
|
|
501
|
+
}
|
|
502
|
+
/**
|
|
503
|
+
* Add multiple optional array parameters in bulk, sharing the same item type.
|
|
504
|
+
*
|
|
505
|
+
* @param itemType - Type of array items (`'string'`, `'number'`, `'boolean'`)
|
|
506
|
+
* @param fields - Record of `{ paramName: 'description' }`
|
|
507
|
+
* @returns Builder with narrowed `TInput` type
|
|
508
|
+
*
|
|
509
|
+
* @example
|
|
510
|
+
* ```typescript
|
|
511
|
+
* f.query('tasks.filter')
|
|
512
|
+
* .withOptionalArrays('string', {
|
|
513
|
+
* tags: 'Filter by tags',
|
|
514
|
+
* labels: 'Filter by labels',
|
|
515
|
+
* })
|
|
516
|
+
* .handle(async (input) => { ... });
|
|
517
|
+
* // input.tags?: string[] | undefined ✅
|
|
518
|
+
* ```
|
|
519
|
+
*/
|
|
520
|
+
withOptionalArrays(itemType, fields) {
|
|
521
|
+
for (const [name, description] of Object.entries(fields)) {
|
|
522
|
+
const schema = z.array(resolveArrayItemType(itemType));
|
|
523
|
+
this._addParam(name, description ? schema.describe(description).optional() : schema.optional());
|
|
524
|
+
}
|
|
525
|
+
return this;
|
|
526
|
+
}
|
|
527
|
+
// ── Model Integration ─────────────────────────────────
|
|
528
|
+
/**
|
|
529
|
+
* Derive tool input parameters from a Model's fillable profile.
|
|
530
|
+
*
|
|
531
|
+
* Reads the specified operation from `model.input` (fillable profiles),
|
|
532
|
+
* then adds each field as a parameter using the type and description from
|
|
533
|
+
* the Model's casts. For `create`, fields respect their schema optionality.
|
|
534
|
+
* For `update` and `filter`, all fields become optional.
|
|
535
|
+
*
|
|
536
|
+
* @param model - A `Model` from `defineModel()`
|
|
537
|
+
* @param operation - The fillable profile name (e.g. `'create'`, `'update'`, `'filter'`)
|
|
538
|
+
* @returns Builder with additional parameters from the Model
|
|
539
|
+
*
|
|
540
|
+
* @example
|
|
541
|
+
* ```typescript
|
|
542
|
+
* f.mutation('task.create')
|
|
543
|
+
* .fromModel(TaskModel, 'create')
|
|
544
|
+
* .withStrings({ company_slug: '...', project_slug: '...' })
|
|
545
|
+
* .handle(async (input, ctx) => { ... });
|
|
546
|
+
* ```
|
|
547
|
+
*/
|
|
548
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Model fields are runtime-defined; `any` avoids forced casting
|
|
549
|
+
fromModel(model, operation) {
|
|
550
|
+
const fieldNames = model.input[operation];
|
|
551
|
+
if (!fieldNames) {
|
|
552
|
+
throw new Error(`Model "${model.name}" has no fillable profile "${operation}". ` +
|
|
553
|
+
`Available: ${Object.keys(model.input).join(', ') || 'none'}`);
|
|
554
|
+
}
|
|
555
|
+
// Determine if all fields should be forced optional (update/filter semantics)
|
|
556
|
+
const forceOptional = operation !== 'create';
|
|
557
|
+
for (const fieldName of fieldNames) {
|
|
558
|
+
const fieldDef = model.fields[fieldName];
|
|
559
|
+
if (!fieldDef) {
|
|
560
|
+
throw new Error(`Model "${model.name}" fillable profile "${operation}" references ` +
|
|
561
|
+
`field "${fieldName}" which is not defined in casts.`);
|
|
562
|
+
}
|
|
563
|
+
// Compile FieldDef → Zod schema for input context
|
|
564
|
+
const schema = compileFieldForInput(fieldDef, forceOptional);
|
|
565
|
+
this._addParam(fieldName, schema);
|
|
566
|
+
}
|
|
567
|
+
// Store Model reference for .proxy() alias resolution
|
|
568
|
+
this._modelRef = model;
|
|
569
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
570
|
+
return this;
|
|
571
|
+
}
|
|
290
572
|
use(mw) {
|
|
291
573
|
// Handle MiddlewareDefinition from f.middleware()
|
|
292
574
|
if (typeof mw === 'object' && mw !== null && '__brand' in mw && mw.__brand === 'MiddlewareDefinition') {
|
|
@@ -325,6 +607,7 @@ export class FluentToolBuilder {
|
|
|
325
607
|
* @param presenter - A Presenter instance
|
|
326
608
|
* @returns `this` for chaining
|
|
327
609
|
*/
|
|
610
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- covariant: accept any Presenter subtype
|
|
328
611
|
returns(presenter) {
|
|
329
612
|
this._returns = presenter;
|
|
330
613
|
return this;
|
|
@@ -515,6 +798,46 @@ export class FluentToolBuilder {
|
|
|
515
798
|
handle(handler) {
|
|
516
799
|
return this._build(handler);
|
|
517
800
|
}
|
|
801
|
+
// ── Terminal: proxy() ────────────────────────────────
|
|
802
|
+
/**
|
|
803
|
+
* Auto-generate a handler that proxies to `ctx.client` HTTP methods.
|
|
804
|
+
*
|
|
805
|
+
* Eliminates boilerplate by deriving the HTTP method from the semantic
|
|
806
|
+
* verb (`query` → GET, `mutation` → POST) and passing model input
|
|
807
|
+
* directly as query params or request body.
|
|
808
|
+
*
|
|
809
|
+
* For tools with non-trivial logic (data transformation, multi-step
|
|
810
|
+
* calls, conditional behavior), use `.handle()` instead.
|
|
811
|
+
*
|
|
812
|
+
* @param endpoint - API path (e.g. `'companies/standup/summary'`)
|
|
813
|
+
* @param options - Optional overrides
|
|
814
|
+
* @param options.method - Force HTTP method (`'GET'`, `'POST'`, `'PUT'`, `'DELETE'`)
|
|
815
|
+
* @param options.unwrap - Auto-unwrap `response.data` (default: `true`)
|
|
816
|
+
* @returns A `GroupedToolBuilder` ready for registration
|
|
817
|
+
*
|
|
818
|
+
* @example
|
|
819
|
+
* ```typescript
|
|
820
|
+
* const pulse = analytics.query('pulse')
|
|
821
|
+
* .fromModel(AnalyticsModel, 'query')
|
|
822
|
+
* .proxy('companies/manager-dashboard/pulse');
|
|
823
|
+
*
|
|
824
|
+
* const create = note.mutation('create')
|
|
825
|
+
* .fromModel(NoteModel, 'create')
|
|
826
|
+
* .proxy('notes');
|
|
827
|
+
*
|
|
828
|
+
* const update = note.mutation('update')
|
|
829
|
+
* .fromModel(NoteModel, 'update')
|
|
830
|
+
* .proxy('notes/:uuid', { method: 'PUT' });
|
|
831
|
+
* ```
|
|
832
|
+
*/
|
|
833
|
+
proxy(endpoint, options) {
|
|
834
|
+
const httpMethod = options?.method
|
|
835
|
+
?? (this._semanticDefaults.readOnly ? 'GET' : 'POST');
|
|
836
|
+
const shouldUnwrap = options?.unwrap ?? true;
|
|
837
|
+
const handler = createProxyHandler(endpoint, httpMethod, shouldUnwrap, this._modelRef);
|
|
838
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
839
|
+
return this._build(handler);
|
|
840
|
+
}
|
|
518
841
|
/**
|
|
519
842
|
* Alias for `.handle()` — for backward compatibility.
|
|
520
843
|
* @internal
|
|
@@ -532,112 +855,29 @@ export class FluentToolBuilder {
|
|
|
532
855
|
`Each FluentToolBuilder can only have one handler.`);
|
|
533
856
|
}
|
|
534
857
|
this._handlerSet = true;
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
if (this._sandboxConfig) {
|
|
558
|
-
descParts.push(SANDBOX_SYSTEM_INSTRUCTION.trim());
|
|
559
|
-
}
|
|
560
|
-
const compiledDescription = descParts.length > 0 ? descParts.join('\n\n') : undefined;
|
|
561
|
-
// Resolve semantic defaults + overrides
|
|
562
|
-
const readOnly = this._readOnly ?? this._semanticDefaults.readOnly;
|
|
563
|
-
const destructive = this._destructive ?? this._semanticDefaults.destructive;
|
|
564
|
-
const idempotent = this._idempotent ?? this._semanticDefaults.idempotent;
|
|
565
|
-
// Wrap handler: (input, ctx) → (ctx, args)
|
|
566
|
-
const resolvedHandler = handler;
|
|
567
|
-
const wrappedHandler = async (ctx, args) => {
|
|
568
|
-
const result = await resolvedHandler(args, ctx);
|
|
569
|
-
// Guard: void/null handlers → safe fallback (Bug #41)
|
|
570
|
-
if (result === undefined || result === null) {
|
|
571
|
-
return success('OK');
|
|
572
|
-
}
|
|
573
|
-
// Auto-wrap non-ToolResponse results (implicit success)
|
|
574
|
-
// Primary: check brand symbol stamped by success()/error()/toolError() helpers.
|
|
575
|
-
// Fallback: shape-based heuristic for manually constructed ToolResponse objects.
|
|
576
|
-
if (typeof result === 'object' && result !== null) {
|
|
577
|
-
// Brand check — reliable, no false positives (Bug #127)
|
|
578
|
-
if (TOOL_RESPONSE_BRAND in result) {
|
|
579
|
-
return result;
|
|
580
|
-
}
|
|
581
|
-
// Shape heuristic — backward compat for manually constructed ToolResponse
|
|
582
|
-
if ('content' in result &&
|
|
583
|
-
Array.isArray(result.content) &&
|
|
584
|
-
result.content.length > 0 &&
|
|
585
|
-
result.content[0]?.type === 'text' &&
|
|
586
|
-
typeof result.content[0]?.text === 'string' &&
|
|
587
|
-
Object.keys(result).every(k => k === 'content' || k === 'isError')) {
|
|
588
|
-
return result;
|
|
589
|
-
}
|
|
590
|
-
}
|
|
591
|
-
// Implicit success() — the dev just returns raw data!
|
|
592
|
-
return success(result);
|
|
593
|
-
};
|
|
594
|
-
// Build via GroupedToolBuilder for consistency with existing pipeline
|
|
595
|
-
const builder = new GroupedToolBuilder(toolName);
|
|
596
|
-
if (compiledDescription)
|
|
597
|
-
builder.description(compiledDescription);
|
|
598
|
-
if (this._tags.length > 0)
|
|
599
|
-
builder.tags(...this._tags);
|
|
600
|
-
if (this._toonMode)
|
|
601
|
-
builder.toonDescription();
|
|
602
|
-
if (this._annotations)
|
|
603
|
-
builder.annotations(this._annotations);
|
|
604
|
-
// Propagate state sync hints
|
|
605
|
-
if (this._invalidatesPatterns.length > 0) {
|
|
606
|
-
builder.invalidates(...this._invalidatesPatterns);
|
|
607
|
-
}
|
|
608
|
-
if (this._cacheControl) {
|
|
609
|
-
this._cacheControl === 'immutable' ? builder.cached() : builder.stale();
|
|
610
|
-
}
|
|
611
|
-
// Propagate runtime guards
|
|
612
|
-
if (this._concurrency) {
|
|
613
|
-
builder.concurrency(this._concurrency);
|
|
614
|
-
}
|
|
615
|
-
if (this._egressMaxBytes !== undefined) {
|
|
616
|
-
builder.maxPayloadBytes(this._egressMaxBytes);
|
|
617
|
-
}
|
|
618
|
-
// Propagate sandbox config
|
|
619
|
-
if (this._sandboxConfig) {
|
|
620
|
-
builder.sandbox(this._sandboxConfig);
|
|
621
|
-
}
|
|
622
|
-
// Propagate FSM state gate
|
|
623
|
-
if (this._fsmStates) {
|
|
624
|
-
builder.bindState(this._fsmStates, this._fsmTransition);
|
|
625
|
-
}
|
|
626
|
-
// Apply middleware
|
|
627
|
-
for (const mw of this._middlewares) {
|
|
628
|
-
builder.use(mw);
|
|
629
|
-
}
|
|
630
|
-
// Register the single action
|
|
631
|
-
builder.action({
|
|
632
|
-
name: actionName,
|
|
633
|
-
handler: wrappedHandler,
|
|
634
|
-
...(this._inputSchema ? { schema: this._inputSchema } : {}),
|
|
635
|
-
...(readOnly !== undefined ? { readOnly } : {}),
|
|
636
|
-
...(destructive !== undefined ? { destructive } : {}),
|
|
637
|
-
...(idempotent !== undefined ? { idempotent } : {}),
|
|
638
|
-
...(this._returns ? { returns: this._returns } : {}),
|
|
858
|
+
return buildToolFromFluent({
|
|
859
|
+
name: this._name,
|
|
860
|
+
description: this._description,
|
|
861
|
+
instructions: this._instructions,
|
|
862
|
+
withParams: this._withParams,
|
|
863
|
+
tags: this._tags,
|
|
864
|
+
middlewares: this._middlewares,
|
|
865
|
+
returns: this._returns,
|
|
866
|
+
semanticDefaults: this._semanticDefaults,
|
|
867
|
+
readOnly: this._readOnly,
|
|
868
|
+
destructive: this._destructive,
|
|
869
|
+
idempotent: this._idempotent,
|
|
870
|
+
toonMode: this._toonMode,
|
|
871
|
+
annotations: this._annotations,
|
|
872
|
+
invalidatesPatterns: this._invalidatesPatterns,
|
|
873
|
+
cacheControl: this._cacheControl,
|
|
874
|
+
concurrency: this._concurrency,
|
|
875
|
+
egressMaxBytes: this._egressMaxBytes,
|
|
876
|
+
sandboxConfig: this._sandboxConfig,
|
|
877
|
+
fsmStates: this._fsmStates,
|
|
878
|
+
fsmTransition: this._fsmTransition,
|
|
879
|
+
handler: handler,
|
|
639
880
|
});
|
|
640
|
-
return builder;
|
|
641
881
|
}
|
|
642
882
|
}
|
|
643
883
|
//# sourceMappingURL=FluentToolBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FluentToolBuilder.js","sourceRoot":"","sources":["../../../src/core/builder/FluentToolBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FluentToolBuilder.js","sourceRoot":"","sources":["../../../src/core/builder/FluentToolBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProxyHandler — Standalone factory for `.proxy()` HTTP handlers.
|
|
3
|
+
*
|
|
4
|
+
* Creates handler functions that proxy tool input directly to
|
|
5
|
+
* `ctx.client` HTTP methods. Applies Model aliases via `toApi()`
|
|
6
|
+
* and auto-unwraps `{ data }` response envelopes.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import { type Model } from '../../model/defineModel.js';
|
|
11
|
+
/** Options for the proxy handler factory */
|
|
12
|
+
export interface ProxyOptions {
|
|
13
|
+
method?: 'GET' | 'POST' | 'PUT' | 'DELETE';
|
|
14
|
+
unwrap?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create a handler function that proxies to `ctx.client`.
|
|
18
|
+
*
|
|
19
|
+
* @param endpoint - API path with optional `:param` placeholders
|
|
20
|
+
* @param httpMethod - HTTP method to use
|
|
21
|
+
* @param shouldUnwrap - Whether to auto-unwrap `{ data }` envelopes
|
|
22
|
+
* @param modelRef - Optional Model reference for alias resolution
|
|
23
|
+
* @returns Async handler `(input, ctx) => Promise<unknown>`
|
|
24
|
+
*/
|
|
25
|
+
export declare function createProxyHandler(endpoint: string, httpMethod: 'GET' | 'POST' | 'PUT' | 'DELETE', shouldUnwrap: boolean, modelRef?: Model): (input: Record<string, unknown>, ctx: unknown) => Promise<unknown>;
|
|
26
|
+
//# sourceMappingURL=ProxyHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProxyHandler.d.ts","sourceRoot":"","sources":["../../../src/core/builder/ProxyHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAC9B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,EAC7C,YAAY,EAAE,OAAO,EACrB,QAAQ,CAAC,EAAE,KAAK,GACjB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAmDpE"}
|