@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.
Files changed (95) hide show
  1. package/README.md +726 -677
  2. package/dist/cli/constants.js +59 -59
  3. package/dist/cli/scaffold.js +2 -0
  4. package/dist/cli/scaffold.js.map +1 -1
  5. package/dist/cli/templates/config.js +27 -27
  6. package/dist/cli/templates/config.js.map +1 -1
  7. package/dist/cli/templates/core.js +95 -95
  8. package/dist/cli/templates/index.d.ts +1 -0
  9. package/dist/cli/templates/index.d.ts.map +1 -1
  10. package/dist/cli/templates/index.js +2 -0
  11. package/dist/cli/templates/index.js.map +1 -1
  12. package/dist/cli/templates/middleware.js +25 -25
  13. package/dist/cli/templates/model.d.ts +7 -0
  14. package/dist/cli/templates/model.d.ts.map +1 -0
  15. package/dist/cli/templates/model.js +31 -0
  16. package/dist/cli/templates/model.js.map +1 -0
  17. package/dist/cli/templates/presenter.d.ts.map +1 -1
  18. package/dist/cli/templates/presenter.js +4 -9
  19. package/dist/cli/templates/presenter.js.map +1 -1
  20. package/dist/cli/templates/readme.d.ts.map +1 -1
  21. package/dist/cli/templates/readme.js +144 -142
  22. package/dist/cli/templates/readme.js.map +1 -1
  23. package/dist/cli/templates/testing.js +84 -84
  24. package/dist/cli/templates/tools.js +46 -46
  25. package/dist/cli/templates/vectors/database.js +69 -69
  26. package/dist/cli/templates/vectors/oauth.js +63 -63
  27. package/dist/cli/templates/vectors/openapi.js +97 -97
  28. package/dist/core/builder/BuildPipeline.d.ts +56 -0
  29. package/dist/core/builder/BuildPipeline.d.ts.map +1 -0
  30. package/dist/core/builder/BuildPipeline.js +139 -0
  31. package/dist/core/builder/BuildPipeline.js.map +1 -0
  32. package/dist/core/builder/FluentToolBuilder.d.ts +253 -19
  33. package/dist/core/builder/FluentToolBuilder.d.ts.map +1 -1
  34. package/dist/core/builder/FluentToolBuilder.js +354 -114
  35. package/dist/core/builder/FluentToolBuilder.js.map +1 -1
  36. package/dist/core/builder/ProxyHandler.d.ts +26 -0
  37. package/dist/core/builder/ProxyHandler.d.ts.map +1 -0
  38. package/dist/core/builder/ProxyHandler.js +65 -0
  39. package/dist/core/builder/ProxyHandler.js.map +1 -0
  40. package/dist/core/builder/SemanticDefaults.d.ts +25 -0
  41. package/dist/core/builder/SemanticDefaults.d.ts.map +1 -0
  42. package/dist/core/builder/SemanticDefaults.js +16 -0
  43. package/dist/core/builder/SemanticDefaults.js.map +1 -0
  44. package/dist/core/builder/index.d.ts +2 -1
  45. package/dist/core/builder/index.d.ts.map +1 -1
  46. package/dist/core/builder/index.js +1 -0
  47. package/dist/core/builder/index.js.map +1 -1
  48. package/dist/core/middleware/AuditTrail.d.ts.map +1 -1
  49. package/dist/core/middleware/AuditTrail.js +6 -2
  50. package/dist/core/middleware/AuditTrail.js.map +1 -1
  51. package/dist/core/middleware/RateLimiter.d.ts.map +1 -1
  52. package/dist/core/middleware/RateLimiter.js +3 -1
  53. package/dist/core/middleware/RateLimiter.js.map +1 -1
  54. package/dist/fsm/StateMachineGate.d.ts +3 -0
  55. package/dist/fsm/StateMachineGate.d.ts.map +1 -1
  56. package/dist/fsm/StateMachineGate.js +12 -0
  57. package/dist/fsm/StateMachineGate.js.map +1 -1
  58. package/dist/index.d.ts +4 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +3 -0
  61. package/dist/index.js.map +1 -1
  62. package/dist/introspection/SemanticProbe.js +49 -49
  63. package/dist/model/defineModel.d.ts +167 -0
  64. package/dist/model/defineModel.d.ts.map +1 -0
  65. package/dist/model/defineModel.js +345 -0
  66. package/dist/model/defineModel.js.map +1 -0
  67. package/dist/model/index.d.ts +8 -0
  68. package/dist/model/index.d.ts.map +1 -0
  69. package/dist/model/index.js +7 -0
  70. package/dist/model/index.js.map +1 -0
  71. package/dist/observability/TelemetryBus.d.ts.map +1 -1
  72. package/dist/observability/TelemetryBus.js +14 -13
  73. package/dist/observability/TelemetryBus.js.map +1 -1
  74. package/dist/presenter/Presenter.d.ts +21 -0
  75. package/dist/presenter/Presenter.d.ts.map +1 -1
  76. package/dist/presenter/Presenter.js +17 -8
  77. package/dist/presenter/Presenter.js.map +1 -1
  78. package/dist/presenter/PresenterPipeline.d.ts +2 -0
  79. package/dist/presenter/PresenterPipeline.d.ts.map +1 -1
  80. package/dist/presenter/PresenterPipeline.js +4 -0
  81. package/dist/presenter/PresenterPipeline.js.map +1 -1
  82. package/dist/presenter/definePresenter.d.ts.map +1 -1
  83. package/dist/presenter/definePresenter.js +13 -3
  84. package/dist/presenter/definePresenter.js.map +1 -1
  85. package/dist/prompt/FluentPromptBuilder.d.ts.map +1 -1
  86. package/dist/resource/ResourceRegistry.d.ts +3 -0
  87. package/dist/resource/ResourceRegistry.d.ts.map +1 -1
  88. package/dist/resource/ResourceRegistry.js +8 -2
  89. package/dist/resource/ResourceRegistry.js.map +1 -1
  90. package/dist/sandbox/SandboxGuard.js +7 -4
  91. package/dist/sandbox/SandboxGuard.js.map +1 -1
  92. package/dist/server/ServerAttachment.d.ts.map +1 -1
  93. package/dist/server/ServerAttachment.js +48 -9
  94. package/dist/server/ServerAttachment.js.map +1 -1
  95. package/package.json +1 -1
@@ -0,0 +1,139 @@
1
+ /**
2
+ * BuildPipeline — Compiles FluentToolBuilder state into a GroupedToolBuilder.
3
+ *
4
+ * Extracts the `_build()` pipeline from FluentToolBuilder into a
5
+ * standalone function for SRP compliance. Handles:
6
+ * - Name parsing (`domain.action`)
7
+ * - Description compilation (instructions + sandbox prompting)
8
+ * - Semantic defaults resolution
9
+ * - Handler wrapping (implicit `success()`)
10
+ * - GroupedToolBuilder assembly + middleware propagation
11
+ *
12
+ * @module
13
+ */
14
+ import {} from 'zod';
15
+ import { z } from 'zod';
16
+ import { GroupedToolBuilder } from './GroupedToolBuilder.js';
17
+ import {} from '../types.js';
18
+ import { success, TOOL_RESPONSE_BRAND } from '../response.js';
19
+ import {} from '../../presenter/Presenter.js';
20
+ import {} from '../execution/ConcurrencyGuard.js';
21
+ import {} from '../../sandbox/SandboxEngine.js';
22
+ import { SANDBOX_SYSTEM_INSTRUCTION } from '../../sandbox/index.js';
23
+ import {} from './SemanticDefaults.js';
24
+ /**
25
+ * Compile FluentToolBuilder state into a GroupedToolBuilder.
26
+ *
27
+ * @param config - Assembled configuration from builder state
28
+ * @returns A `GroupedToolBuilder` ready for registration
29
+ */
30
+ export function buildToolFromFluent(config) {
31
+ // Build accumulated with* params into ZodObject
32
+ let inputSchema;
33
+ if (Object.keys(config.withParams).length > 0) {
34
+ inputSchema = z.object(config.withParams);
35
+ }
36
+ // Parse name: 'domain.action' → tool='domain', action='action'
37
+ const dotIndex = config.name.indexOf('.');
38
+ // Bug #109 fix: reject multi-dot names early with a clear error.
39
+ if (dotIndex > 0 && config.name.indexOf('.', dotIndex + 1) !== -1) {
40
+ throw new Error(`Tool name '${config.name}' has too many dot-separated segments. ` +
41
+ `Only one dot is allowed (e.g. 'group.action'). Use f.router() for nested prefixes.`);
42
+ }
43
+ const toolName = dotIndex > 0 ? config.name.slice(0, dotIndex) : config.name;
44
+ const actionName = dotIndex > 0 ? config.name.slice(dotIndex + 1) : 'default';
45
+ // Compile description: instructions + description
46
+ const descParts = [];
47
+ if (config.instructions) {
48
+ descParts.push(`[INSTRUCTIONS] ${config.instructions}`);
49
+ }
50
+ if (config.description) {
51
+ descParts.push(config.description);
52
+ }
53
+ // HATEOAS Auto-Prompting: teach the LLM about sandbox capability
54
+ if (config.sandboxConfig) {
55
+ descParts.push(SANDBOX_SYSTEM_INSTRUCTION.trim());
56
+ }
57
+ const compiledDescription = descParts.length > 0 ? descParts.join('\n\n') : undefined;
58
+ // Resolve semantic defaults + overrides
59
+ const readOnly = config.readOnly ?? config.semanticDefaults.readOnly;
60
+ const destructive = config.destructive ?? config.semanticDefaults.destructive;
61
+ const idempotent = config.idempotent ?? config.semanticDefaults.idempotent;
62
+ // Wrap handler: (input, ctx) → (ctx, args)
63
+ const resolvedHandler = config.handler;
64
+ const wrappedHandler = async (ctx, args) => {
65
+ const result = await resolvedHandler(args, ctx);
66
+ // Guard: void/null handlers → safe fallback (Bug #41)
67
+ if (result === undefined || result === null) {
68
+ return success('OK');
69
+ }
70
+ // Auto-wrap non-ToolResponse results (implicit success)
71
+ // Primary: check brand symbol stamped by success()/error()/toolError() helpers.
72
+ // Fallback: shape-based heuristic for manually constructed ToolResponse objects.
73
+ if (typeof result === 'object' && result !== null) {
74
+ // Brand check — reliable, no false positives (Bug #127)
75
+ if (TOOL_RESPONSE_BRAND in result) {
76
+ return result;
77
+ }
78
+ // Shape heuristic — backward compat for manually constructed ToolResponse
79
+ if ('content' in result &&
80
+ Array.isArray(result.content) &&
81
+ result.content.length > 0 &&
82
+ result.content[0]?.type === 'text' &&
83
+ typeof result.content[0]?.text === 'string' &&
84
+ Object.keys(result).every(k => k === 'content' || k === 'isError')) {
85
+ return result;
86
+ }
87
+ }
88
+ // Implicit success() — the dev just returns raw data!
89
+ return success(result);
90
+ };
91
+ // Build via GroupedToolBuilder for consistency with existing pipeline
92
+ const builder = new GroupedToolBuilder(toolName);
93
+ if (compiledDescription)
94
+ builder.description(compiledDescription);
95
+ if (config.tags.length > 0)
96
+ builder.tags(...config.tags);
97
+ if (config.toonMode)
98
+ builder.toonDescription();
99
+ if (config.annotations)
100
+ builder.annotations(config.annotations);
101
+ // Propagate state sync hints
102
+ if (config.invalidatesPatterns.length > 0) {
103
+ builder.invalidates(...config.invalidatesPatterns);
104
+ }
105
+ if (config.cacheControl) {
106
+ config.cacheControl === 'immutable' ? builder.cached() : builder.stale();
107
+ }
108
+ // Propagate runtime guards
109
+ if (config.concurrency) {
110
+ builder.concurrency(config.concurrency);
111
+ }
112
+ if (config.egressMaxBytes !== undefined) {
113
+ builder.maxPayloadBytes(config.egressMaxBytes);
114
+ }
115
+ // Propagate sandbox config
116
+ if (config.sandboxConfig) {
117
+ builder.sandbox(config.sandboxConfig);
118
+ }
119
+ // Propagate FSM state gate
120
+ if (config.fsmStates) {
121
+ builder.bindState(config.fsmStates, config.fsmTransition);
122
+ }
123
+ // Apply middleware
124
+ for (const mw of config.middlewares) {
125
+ builder.use(mw);
126
+ }
127
+ // Register the single action
128
+ builder.action({
129
+ name: actionName,
130
+ handler: wrappedHandler,
131
+ ...(inputSchema ? { schema: inputSchema } : {}),
132
+ ...(readOnly !== undefined ? { readOnly } : {}),
133
+ ...(destructive !== undefined ? { destructive } : {}),
134
+ ...(idempotent !== undefined ? { idempotent } : {}),
135
+ ...(config.returns ? { returns: config.returns } : {}),
136
+ });
137
+ return builder;
138
+ }
139
+ //# sourceMappingURL=BuildPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuildPipeline.js","sourceRoot":"","sources":["../../../src/core/builder/BuildPipeline.ts"],"names":[],"mappings":"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"}
@@ -26,27 +26,15 @@
26
26
  * @module
27
27
  */
28
28
  import { type ZodType, type ZodObject, type ZodRawShape } from 'zod';
29
+ import { type Model } from '../../model/defineModel.js';
29
30
  import { GroupedToolBuilder } from './GroupedToolBuilder.js';
30
31
  import { type ToolResponse, type MiddlewareFn } from '../types.js';
31
32
  import { type Presenter } from '../../presenter/Presenter.js';
32
33
  import { type ConcurrencyConfig } from '../execution/ConcurrencyGuard.js';
33
34
  import { type SandboxConfig } from '../../sandbox/SandboxEngine.js';
34
35
  import { type MiddlewareDefinition } from '../middleware/ContextDerivation.js';
35
- /**
36
- * Semantic defaults applied by each verb.
37
- * @internal
38
- */
39
- export interface SemanticDefaults {
40
- readonly readOnly?: boolean;
41
- readonly destructive?: boolean;
42
- readonly idempotent?: boolean;
43
- }
44
- /** Defaults for `f.query()` — read-only, no side effects */
45
- export declare const QUERY_DEFAULTS: SemanticDefaults;
46
- /** Defaults for `f.mutation()` — destructive, irreversible */
47
- export declare const MUTATION_DEFAULTS: SemanticDefaults;
48
- /** Defaults for `f.action()` — neutral, no assumptions */
49
- export declare const ACTION_DEFAULTS: SemanticDefaults;
36
+ import { type SemanticDefaults } from './SemanticDefaults.js';
37
+ export { type SemanticDefaults, QUERY_DEFAULTS, MUTATION_DEFAULTS, ACTION_DEFAULTS } from './SemanticDefaults.js';
50
38
  /**
51
39
  * Fluent builder that accumulates types at each step.
52
40
  *
@@ -54,13 +42,14 @@ export declare const ACTION_DEFAULTS: SemanticDefaults;
54
42
  * @typeParam TInput - Accumulated input type (built by `with*()` methods)
55
43
  * @typeParam TCtx - Accumulated context type (enriched by `.use()`)
56
44
  */
57
- export declare class FluentToolBuilder<TContext, TInput = void, TCtx = TContext> {
45
+ export declare class FluentToolBuilder<TContext, TInput = Record<string, never>, TCtx = TContext> {
58
46
  /** @internal */ readonly _name: string;
59
47
  /** @internal */ _description?: string;
60
48
  /** @internal */ _instructions?: string;
61
49
  /** @internal */ _inputSchema?: ZodObject<ZodRawShape>;
62
50
  /** @internal */ _withParams: Record<string, ZodType>;
63
51
  /** @internal */ _tags: string[];
52
+ /** @internal */ _modelRef?: Model;
64
53
  /**
65
54
  * @internal Bug #118 fix: reject duplicate parameter names.
66
55
  * All `withXxx()` methods delegate to this instead of assigning directly.
@@ -169,6 +158,108 @@ export declare class FluentToolBuilder<TContext, TInput = void, TCtx = TContext>
169
158
  * @returns Builder with narrowed `TInput` type
170
159
  */
171
160
  withOptionalBoolean<K extends string>(name: K, description?: string): FluentToolBuilder<TContext, TInput & Partial<Record<K, boolean>>, TCtx>;
161
+ /**
162
+ * Add multiple required string parameters in bulk.
163
+ *
164
+ * @param fields - Record of `{ paramName: 'description' }`
165
+ * @returns Builder with narrowed `TInput` type
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * f.query('tasks.get')
170
+ * .withStrings({
171
+ * company_slug: 'Workspace identifier',
172
+ * project_slug: 'Project identifier',
173
+ * })
174
+ * .handle(async (input) => { ... });
175
+ * // input.company_slug: string ✅
176
+ * // input.project_slug: string ✅
177
+ * ```
178
+ */
179
+ withStrings<R extends Record<string, string>>(fields: R): FluentToolBuilder<TContext, TInput & {
180
+ [K in keyof R & string]: string;
181
+ }, TCtx>;
182
+ /**
183
+ * Add multiple optional string parameters in bulk.
184
+ *
185
+ * @param fields - Record of `{ paramName: 'description' }`
186
+ * @returns Builder with narrowed `TInput` type
187
+ *
188
+ * @example
189
+ * ```typescript
190
+ * f.query('tasks.filter')
191
+ * .withOptionalStrings({
192
+ * title: 'Filter by title (partial match)',
193
+ * workflow: 'Column name (e.g. "In Progress")',
194
+ * labels: 'Comma-separated label names',
195
+ * })
196
+ * .handle(async (input) => { ... });
197
+ * // input.title?: string | undefined ✅
198
+ * ```
199
+ */
200
+ withOptionalStrings<R extends Record<string, string>>(fields: R): FluentToolBuilder<TContext, TInput & {
201
+ [K in keyof R & string]?: string | undefined;
202
+ }, TCtx>;
203
+ /**
204
+ * Add multiple required number parameters in bulk.
205
+ *
206
+ * @param fields - Record of `{ paramName: 'description' }`
207
+ * @returns Builder with narrowed `TInput` type
208
+ */
209
+ withNumbers<R extends Record<string, string>>(fields: R): FluentToolBuilder<TContext, TInput & {
210
+ [K in keyof R & string]: number;
211
+ }, TCtx>;
212
+ /**
213
+ * Add multiple optional number parameters in bulk.
214
+ *
215
+ * @param fields - Record of `{ paramName: 'description' }`
216
+ * @returns Builder with narrowed `TInput` type
217
+ *
218
+ * @example
219
+ * ```typescript
220
+ * f.query('tasks.filter')
221
+ * .withOptionalNumbers({
222
+ * per_page: 'Results per page (default: 50)',
223
+ * offset: 'Pagination offset',
224
+ * })
225
+ * .handle(async (input) => { ... });
226
+ * // input.per_page?: number | undefined ✅
227
+ * ```
228
+ */
229
+ withOptionalNumbers<R extends Record<string, string>>(fields: R): FluentToolBuilder<TContext, TInput & {
230
+ [K in keyof R & string]?: number | undefined;
231
+ }, TCtx>;
232
+ /**
233
+ * Add multiple required boolean parameters in bulk.
234
+ *
235
+ * @param fields - Record of `{ paramName: 'description' }`
236
+ * @returns Builder with narrowed `TInput` type
237
+ */
238
+ withBooleans<R extends Record<string, string>>(fields: R): FluentToolBuilder<TContext, TInput & {
239
+ [K in keyof R & string]: boolean;
240
+ }, TCtx>;
241
+ /**
242
+ * Add multiple optional boolean parameters in bulk.
243
+ *
244
+ * @param fields - Record of `{ paramName: 'description' }`
245
+ * @returns Builder with narrowed `TInput` type
246
+ *
247
+ * @example
248
+ * ```typescript
249
+ * f.query('tasks.filter')
250
+ * .withOptionalBooleans({
251
+ * is_blocker: 'Only blockers',
252
+ * is_bug: 'Only bugs',
253
+ * unassigned: 'Only unassigned tasks',
254
+ * is_archived: 'Include archived tasks',
255
+ * })
256
+ * .handle(async (input) => { ... });
257
+ * // input.is_blocker?: boolean | undefined ✅
258
+ * ```
259
+ */
260
+ withOptionalBooleans<R extends Record<string, string>>(fields: R): FluentToolBuilder<TContext, TInput & {
261
+ [K in keyof R & string]?: boolean | undefined;
262
+ }, TCtx>;
172
263
  /**
173
264
  * Add a required enum parameter.
174
265
  *
@@ -222,6 +313,114 @@ export declare class FluentToolBuilder<TContext, TInput = void, TCtx = TContext>
222
313
  * @returns Builder with narrowed `TInput` type
223
314
  */
224
315
  withOptionalArray<K extends string, I extends 'string' | 'number' | 'boolean'>(name: K, itemType: I, description?: string): FluentToolBuilder<TContext, TInput & Partial<Record<K, (I extends 'string' ? string : I extends 'number' ? number : boolean)[]>>, TCtx>;
316
+ /**
317
+ * Add multiple required enum parameters in bulk.
318
+ *
319
+ * Each entry is `paramName: [allowedValues, description?]`.
320
+ *
321
+ * @param fields - Record of `{ paramName: [values, description?] }`
322
+ * @returns Builder with narrowed `TInput` type
323
+ *
324
+ * @example
325
+ * ```typescript
326
+ * f.query('tasks.filter')
327
+ * .withEnums({
328
+ * status: [['open', 'closed', 'archived'], 'Task status'],
329
+ * priority: [['low', 'medium', 'high'], 'Priority level'],
330
+ * })
331
+ * .handle(async (input) => { ... });
332
+ * // input.status: 'open' | 'closed' | 'archived' ✅
333
+ * ```
334
+ */
335
+ withEnums<R extends Record<string, readonly [readonly [string, ...string[]], string?]>>(fields: R): FluentToolBuilder<TContext, TInput & {
336
+ [K in keyof R & string]: R[K][0][number];
337
+ }, TCtx>;
338
+ /**
339
+ * Add multiple optional enum parameters in bulk.
340
+ *
341
+ * Each entry is `paramName: [allowedValues, description?]`.
342
+ *
343
+ * @param fields - Record of `{ paramName: [values, description?] }`
344
+ * @returns Builder with narrowed `TInput` type
345
+ *
346
+ * @example
347
+ * ```typescript
348
+ * f.query('tasks.filter')
349
+ * .withOptionalEnums({
350
+ * status: [['open', 'closed'], 'Filter by status'],
351
+ * priority: [['low', 'medium', 'high'], 'Filter by priority'],
352
+ * })
353
+ * .handle(async (input) => { ... });
354
+ * // input.status?: 'open' | 'closed' | undefined ✅
355
+ * ```
356
+ */
357
+ withOptionalEnums<R extends Record<string, readonly [readonly [string, ...string[]], string?]>>(fields: R): FluentToolBuilder<TContext, TInput & {
358
+ [K in keyof R & string]?: R[K][0][number] | undefined;
359
+ }, TCtx>;
360
+ /**
361
+ * Add multiple required array parameters in bulk, sharing the same item type.
362
+ *
363
+ * @param itemType - Type of array items (`'string'`, `'number'`, `'boolean'`)
364
+ * @param fields - Record of `{ paramName: 'description' }`
365
+ * @returns Builder with narrowed `TInput` type
366
+ *
367
+ * @example
368
+ * ```typescript
369
+ * f.mutation('tasks.update')
370
+ * .withArrays('string', {
371
+ * tags: 'Tags to apply',
372
+ * labels: 'Category labels',
373
+ * })
374
+ * .handle(async (input) => { ... });
375
+ * // input.tags: string[] ✅
376
+ * // input.labels: string[] ✅
377
+ * ```
378
+ */
379
+ withArrays<I extends 'string' | 'number' | 'boolean', R extends Record<string, string>>(itemType: I, fields: R): FluentToolBuilder<TContext, TInput & {
380
+ [K in keyof R & string]: (I extends 'string' ? string : I extends 'number' ? number : boolean)[];
381
+ }, TCtx>;
382
+ /**
383
+ * Add multiple optional array parameters in bulk, sharing the same item type.
384
+ *
385
+ * @param itemType - Type of array items (`'string'`, `'number'`, `'boolean'`)
386
+ * @param fields - Record of `{ paramName: 'description' }`
387
+ * @returns Builder with narrowed `TInput` type
388
+ *
389
+ * @example
390
+ * ```typescript
391
+ * f.query('tasks.filter')
392
+ * .withOptionalArrays('string', {
393
+ * tags: 'Filter by tags',
394
+ * labels: 'Filter by labels',
395
+ * })
396
+ * .handle(async (input) => { ... });
397
+ * // input.tags?: string[] | undefined ✅
398
+ * ```
399
+ */
400
+ withOptionalArrays<I extends 'string' | 'number' | 'boolean', R extends Record<string, string>>(itemType: I, fields: R): FluentToolBuilder<TContext, TInput & {
401
+ [K in keyof R & string]?: (I extends 'string' ? string : I extends 'number' ? number : boolean)[] | undefined;
402
+ }, TCtx>;
403
+ /**
404
+ * Derive tool input parameters from a Model's fillable profile.
405
+ *
406
+ * Reads the specified operation from `model.input` (fillable profiles),
407
+ * then adds each field as a parameter using the type and description from
408
+ * the Model's casts. For `create`, fields respect their schema optionality.
409
+ * For `update` and `filter`, all fields become optional.
410
+ *
411
+ * @param model - A `Model` from `defineModel()`
412
+ * @param operation - The fillable profile name (e.g. `'create'`, `'update'`, `'filter'`)
413
+ * @returns Builder with additional parameters from the Model
414
+ *
415
+ * @example
416
+ * ```typescript
417
+ * f.mutation('task.create')
418
+ * .fromModel(TaskModel, 'create')
419
+ * .withStrings({ company_slug: '...', project_slug: '...' })
420
+ * .handle(async (input, ctx) => { ... });
421
+ * ```
422
+ */
423
+ fromModel<M extends Model>(model: M, operation: string): FluentToolBuilder<TContext, TInput & Record<string, any>, TCtx>;
225
424
  /**
226
425
  * Add context-derivation middleware (tRPC-style).
227
426
  *
@@ -267,7 +466,7 @@ export declare class FluentToolBuilder<TContext, TInput = void, TCtx = TContext>
267
466
  * @param presenter - A Presenter instance
268
467
  * @returns `this` for chaining
269
468
  */
270
- returns(presenter: Presenter<unknown>): FluentToolBuilder<TContext, TInput, TCtx>;
469
+ returns(presenter: Presenter<any>): FluentToolBuilder<TContext, TInput, TCtx>;
271
470
  /**
272
471
  * Add capability tags for selective tool exposure.
273
472
  *
@@ -404,13 +603,48 @@ export declare class FluentToolBuilder<TContext, TInput = void, TCtx = TContext>
404
603
  * });
405
604
  * ```
406
605
  */
407
- handle(handler: (input: TInput extends void ? Record<string, unknown> : TInput, ctx: TCtx) => Promise<ToolResponse | unknown>): GroupedToolBuilder<TContext>;
606
+ handle(handler: (input: [TInput] extends [Record<string, never>] ? Record<string, any> : TInput, ctx: TCtx) => Promise<ToolResponse | unknown>): GroupedToolBuilder<TContext>;
607
+ /**
608
+ * Auto-generate a handler that proxies to `ctx.client` HTTP methods.
609
+ *
610
+ * Eliminates boilerplate by deriving the HTTP method from the semantic
611
+ * verb (`query` → GET, `mutation` → POST) and passing model input
612
+ * directly as query params or request body.
613
+ *
614
+ * For tools with non-trivial logic (data transformation, multi-step
615
+ * calls, conditional behavior), use `.handle()` instead.
616
+ *
617
+ * @param endpoint - API path (e.g. `'companies/standup/summary'`)
618
+ * @param options - Optional overrides
619
+ * @param options.method - Force HTTP method (`'GET'`, `'POST'`, `'PUT'`, `'DELETE'`)
620
+ * @param options.unwrap - Auto-unwrap `response.data` (default: `true`)
621
+ * @returns A `GroupedToolBuilder` ready for registration
622
+ *
623
+ * @example
624
+ * ```typescript
625
+ * const pulse = analytics.query('pulse')
626
+ * .fromModel(AnalyticsModel, 'query')
627
+ * .proxy('companies/manager-dashboard/pulse');
628
+ *
629
+ * const create = note.mutation('create')
630
+ * .fromModel(NoteModel, 'create')
631
+ * .proxy('notes');
632
+ *
633
+ * const update = note.mutation('update')
634
+ * .fromModel(NoteModel, 'update')
635
+ * .proxy('notes/:uuid', { method: 'PUT' });
636
+ * ```
637
+ */
638
+ proxy(endpoint: string, options?: {
639
+ method?: 'GET' | 'POST' | 'PUT' | 'DELETE';
640
+ unwrap?: boolean;
641
+ }): GroupedToolBuilder<TContext>;
408
642
  /**
409
643
  * Alias for `.handle()` — for backward compatibility.
410
644
  * @internal
411
645
  */
412
646
  resolve(handler: (args: {
413
- input: TInput extends void ? Record<string, unknown> : TInput;
647
+ input: [TInput] extends [Record<string, never>] ? Record<string, any> : TInput;
414
648
  ctx: TCtx;
415
649
  }) => Promise<ToolResponse | unknown>): GroupedToolBuilder<TContext>;
416
650
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"FluentToolBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/builder/FluentToolBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FluentToolBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/builder/FluentToolBuilder.ts"],"names":[],"mappings":"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"}