@vinkius-core/mcp-fusion 2.9.0 → 2.12.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 (172) hide show
  1. package/dist/cli/fusion.d.ts +3 -0
  2. package/dist/cli/fusion.d.ts.map +1 -1
  3. package/dist/cli/fusion.js +125 -3
  4. package/dist/cli/fusion.js.map +1 -1
  5. package/dist/cli/templates/config.js +3 -3
  6. package/dist/cli/templates/config.js.map +1 -1
  7. package/dist/cli/templates/constants.d.ts +1 -1
  8. package/dist/cli/templates/constants.d.ts.map +1 -1
  9. package/dist/cli/templates/constants.js +1 -1
  10. package/dist/cli/templates/constants.js.map +1 -1
  11. package/dist/cli/templates/core.js +5 -5
  12. package/dist/cli/templates/middleware.d.ts +1 -1
  13. package/dist/cli/templates/middleware.d.ts.map +1 -1
  14. package/dist/cli/templates/middleware.js +16 -13
  15. package/dist/cli/templates/middleware.js.map +1 -1
  16. package/dist/cli/templates/readme.d.ts.map +1 -1
  17. package/dist/cli/templates/readme.js +14 -18
  18. package/dist/cli/templates/readme.js.map +1 -1
  19. package/dist/cli/templates/tools.d.ts +4 -0
  20. package/dist/cli/templates/tools.d.ts.map +1 -1
  21. package/dist/cli/templates/tools.js +26 -29
  22. package/dist/cli/templates/tools.js.map +1 -1
  23. package/dist/cli/templates/vectors/database.d.ts.map +1 -1
  24. package/dist/cli/templates/vectors/database.js +14 -19
  25. package/dist/cli/templates/vectors/database.js.map +1 -1
  26. package/dist/cli/templates/vectors/oauth.d.ts.map +1 -1
  27. package/dist/cli/templates/vectors/oauth.js +4 -5
  28. package/dist/cli/templates/vectors/oauth.js.map +1 -1
  29. package/dist/cli/templates/vectors/openapi.js +2 -2
  30. package/dist/cli/templates/vectors/workflow.js +1 -1
  31. package/dist/cli/templates/vectors/workflow.js.map +1 -1
  32. package/dist/client/FusionClient.d.ts +55 -0
  33. package/dist/client/FusionClient.d.ts.map +1 -1
  34. package/dist/client/FusionClient.js +30 -0
  35. package/dist/client/FusionClient.js.map +1 -1
  36. package/dist/client/index.d.ts +1 -1
  37. package/dist/client/index.d.ts.map +1 -1
  38. package/dist/client/index.js.map +1 -1
  39. package/dist/core/builder/ActionGroupBuilder.d.ts +86 -46
  40. package/dist/core/builder/ActionGroupBuilder.d.ts.map +1 -1
  41. package/dist/core/builder/ActionGroupBuilder.js +68 -26
  42. package/dist/core/builder/ActionGroupBuilder.js.map +1 -1
  43. package/dist/core/builder/ErrorBuilder.d.ts +59 -0
  44. package/dist/core/builder/ErrorBuilder.d.ts.map +1 -0
  45. package/dist/core/builder/ErrorBuilder.js +99 -0
  46. package/dist/core/builder/ErrorBuilder.js.map +1 -0
  47. package/dist/core/builder/FluentRouter.d.ts +91 -0
  48. package/dist/core/builder/FluentRouter.d.ts.map +1 -0
  49. package/dist/core/builder/FluentRouter.js +121 -0
  50. package/dist/core/builder/FluentRouter.js.map +1 -0
  51. package/dist/core/builder/FluentSchemaHelpers.d.ts +237 -0
  52. package/dist/core/builder/FluentSchemaHelpers.d.ts.map +1 -0
  53. package/dist/core/builder/FluentSchemaHelpers.js +227 -0
  54. package/dist/core/builder/FluentSchemaHelpers.js.map +1 -0
  55. package/dist/core/builder/FluentToolBuilder.d.ts +347 -0
  56. package/dist/core/builder/FluentToolBuilder.d.ts.map +1 -0
  57. package/dist/core/builder/FluentToolBuilder.js +525 -0
  58. package/dist/core/builder/FluentToolBuilder.js.map +1 -0
  59. package/dist/core/builder/GroupedToolBuilder.d.ts +91 -1
  60. package/dist/core/builder/GroupedToolBuilder.d.ts.map +1 -1
  61. package/dist/core/builder/GroupedToolBuilder.js +122 -4
  62. package/dist/core/builder/GroupedToolBuilder.js.map +1 -1
  63. package/dist/core/builder/ToolDefinitionCompiler.d.ts +1 -0
  64. package/dist/core/builder/ToolDefinitionCompiler.d.ts.map +1 -1
  65. package/dist/core/builder/ToolDefinitionCompiler.js +1 -1
  66. package/dist/core/builder/ToolDefinitionCompiler.js.map +1 -1
  67. package/dist/core/builder/index.d.ts +4 -0
  68. package/dist/core/builder/index.d.ts.map +1 -1
  69. package/dist/core/builder/index.js +7 -0
  70. package/dist/core/builder/index.js.map +1 -1
  71. package/dist/core/execution/EgressGuard.js +1 -1
  72. package/dist/core/execution/EgressGuard.js.map +1 -1
  73. package/dist/core/execution/ExecutionPipeline.d.ts +8 -2
  74. package/dist/core/execution/ExecutionPipeline.d.ts.map +1 -1
  75. package/dist/core/execution/ExecutionPipeline.js +18 -9
  76. package/dist/core/execution/ExecutionPipeline.js.map +1 -1
  77. package/dist/core/execution/PipelineHooks.d.ts +0 -6
  78. package/dist/core/execution/PipelineHooks.d.ts.map +1 -1
  79. package/dist/core/execution/PipelineHooks.js +7 -3
  80. package/dist/core/execution/PipelineHooks.js.map +1 -1
  81. package/dist/core/index.d.ts +5 -7
  82. package/dist/core/index.d.ts.map +1 -1
  83. package/dist/core/index.js +2 -4
  84. package/dist/core/index.js.map +1 -1
  85. package/dist/core/initFusion.d.ts +119 -87
  86. package/dist/core/initFusion.d.ts.map +1 -1
  87. package/dist/core/initFusion.js +56 -66
  88. package/dist/core/initFusion.js.map +1 -1
  89. package/dist/core/registry/ToolRegistry.d.ts +1 -1
  90. package/dist/core/registry/ToolRegistry.d.ts.map +1 -1
  91. package/dist/core/registry/ToolRegistry.js +1 -1
  92. package/dist/core/registry/ToolRegistry.js.map +1 -1
  93. package/dist/core/schema/SchemaGenerator.d.ts +1 -1
  94. package/dist/core/schema/SchemaGenerator.d.ts.map +1 -1
  95. package/dist/core/schema/SchemaGenerator.js +38 -1
  96. package/dist/core/schema/SchemaGenerator.js.map +1 -1
  97. package/dist/core/types.d.ts +19 -0
  98. package/dist/core/types.d.ts.map +1 -1
  99. package/dist/exposition/ExpositionCompiler.d.ts.map +1 -1
  100. package/dist/exposition/ExpositionCompiler.js +25 -2
  101. package/dist/exposition/ExpositionCompiler.js.map +1 -1
  102. package/dist/index.d.ts +3 -3
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +4 -2
  105. package/dist/index.js.map +1 -1
  106. package/dist/introspection/BehaviorDigest.d.ts +2 -2
  107. package/dist/introspection/BehaviorDigest.d.ts.map +1 -1
  108. package/dist/introspection/BehaviorDigest.js +38 -36
  109. package/dist/introspection/BehaviorDigest.js.map +1 -1
  110. package/dist/introspection/CapabilityLockfile.d.ts +2 -2
  111. package/dist/introspection/CapabilityLockfile.d.ts.map +1 -1
  112. package/dist/introspection/CapabilityLockfile.js +9 -9
  113. package/dist/introspection/CapabilityLockfile.js.map +1 -1
  114. package/dist/introspection/CryptoAttestation.d.ts.map +1 -1
  115. package/dist/introspection/CryptoAttestation.js +27 -36
  116. package/dist/introspection/CryptoAttestation.js.map +1 -1
  117. package/dist/introspection/ToolContract.d.ts +2 -2
  118. package/dist/introspection/ToolContract.d.ts.map +1 -1
  119. package/dist/introspection/ToolContract.js +9 -9
  120. package/dist/introspection/ToolContract.js.map +1 -1
  121. package/dist/introspection/canonicalize.d.ts +16 -1
  122. package/dist/introspection/canonicalize.d.ts.map +1 -1
  123. package/dist/introspection/canonicalize.js +24 -3
  124. package/dist/introspection/canonicalize.js.map +1 -1
  125. package/dist/presenter/PostProcessor.d.ts +4 -2
  126. package/dist/presenter/PostProcessor.d.ts.map +1 -1
  127. package/dist/presenter/PostProcessor.js +10 -10
  128. package/dist/presenter/PostProcessor.js.map +1 -1
  129. package/dist/presenter/Presenter.d.ts +112 -6
  130. package/dist/presenter/Presenter.d.ts.map +1 -1
  131. package/dist/presenter/Presenter.js +134 -40
  132. package/dist/presenter/Presenter.js.map +1 -1
  133. package/dist/presenter/SelectUtils.d.ts +78 -0
  134. package/dist/presenter/SelectUtils.d.ts.map +1 -0
  135. package/dist/presenter/SelectUtils.js +141 -0
  136. package/dist/presenter/SelectUtils.js.map +1 -0
  137. package/dist/presenter/index.d.ts +3 -0
  138. package/dist/presenter/index.d.ts.map +1 -1
  139. package/dist/presenter/index.js +6 -0
  140. package/dist/presenter/index.js.map +1 -1
  141. package/dist/presenter/suggest.d.ts +39 -0
  142. package/dist/presenter/suggest.d.ts.map +1 -0
  143. package/dist/presenter/suggest.js +41 -0
  144. package/dist/presenter/suggest.js.map +1 -0
  145. package/dist/presenter/typeHelpers.d.ts +147 -0
  146. package/dist/presenter/typeHelpers.d.ts.map +1 -0
  147. package/dist/presenter/typeHelpers.js +152 -0
  148. package/dist/presenter/typeHelpers.js.map +1 -0
  149. package/dist/prompt/FluentPromptBuilder.d.ts +155 -0
  150. package/dist/prompt/FluentPromptBuilder.d.ts.map +1 -0
  151. package/dist/prompt/FluentPromptBuilder.js +193 -0
  152. package/dist/prompt/FluentPromptBuilder.js.map +1 -0
  153. package/dist/prompt/index.d.ts +1 -0
  154. package/dist/prompt/index.d.ts.map +1 -1
  155. package/dist/prompt/index.js +1 -0
  156. package/dist/prompt/index.js.map +1 -1
  157. package/dist/server/DevServer.js +8 -8
  158. package/dist/server/DevServer.js.map +1 -1
  159. package/dist/server/ServerAttachment.d.ts +1 -1
  160. package/dist/server/ServerAttachment.d.ts.map +1 -1
  161. package/dist/server/ServerAttachment.js +57 -4
  162. package/dist/server/ServerAttachment.js.map +1 -1
  163. package/dist/state-sync/ResponseDecorator.d.ts +1 -1
  164. package/dist/state-sync/StateSyncBuilder.d.ts +75 -0
  165. package/dist/state-sync/StateSyncBuilder.d.ts.map +1 -0
  166. package/dist/state-sync/StateSyncBuilder.js +123 -0
  167. package/dist/state-sync/StateSyncBuilder.js.map +1 -0
  168. package/dist/state-sync/index.d.ts +1 -0
  169. package/dist/state-sync/index.d.ts.map +1 -1
  170. package/dist/state-sync/index.js +1 -0
  171. package/dist/state-sync/index.js.map +1 -1
  172. package/package.json +1 -1
@@ -1,27 +1,30 @@
1
1
  /**
2
2
  * Tool Templates — Example tools for the scaffolded project
3
+ *
4
+ * All tools use the Fluent API — `f.query()`, `f.mutation()` — with
5
+ * semantic verbs, `.withString()` / `.withNumber()` typed parameters,
6
+ * `.returns()` Presenter binding, and `.handle()` terminal step.
3
7
  * @module
4
8
  */
5
9
  /** Generate `src/tools/system/health.ts` — Health check with Presenter */
6
10
  export function healthToolTs() {
7
11
  return `/**
8
- * System Health Tool — Full MVA Pipeline Example
12
+ * System Health Tool — Full MVA Pipeline (Fluent API)
9
13
  *
10
14
  * Demonstrates:
11
- * - f.tool() with automatic context typing
12
- * - Presenter integration (Egress Firewall)
13
- * - readOnly annotation for LLM optimization
15
+ * - f.query() read-only semantic verb (auto-sets readOnlyHint)
16
+ * - .describe() LLM-facing description
17
+ * - .returns() Presenter (Egress Firewall + system rules + UI)
18
+ * - .handle(input, ctx) — fully typed handler
14
19
  * - export default for autoDiscover()
15
20
  */
16
21
  import { f } from '../../fusion.js';
17
22
  import { SystemPresenter } from '../../presenters/SystemPresenter.js';
18
23
 
19
- export default f.tool({
20
- name: 'system.health',
21
- description: 'Real-time server health status',
22
- readOnly: true,
23
- returns: SystemPresenter,
24
- handler: async ({ ctx }) => {
24
+ export default f.query('system.health')
25
+ .describe('Real-time server health status')
26
+ .returns(SystemPresenter)
27
+ .handle(async (_input, ctx) => {
25
28
  // Return raw data — the Presenter validates, strips
26
29
  // undeclared fields, injects rules, and renders UI.
27
30
  return {
@@ -31,36 +34,30 @@ export default f.tool({
31
34
  timestamp: new Date().toISOString(),
32
35
  tenant: ctx.tenantId,
33
36
  };
34
- },
35
- });
37
+ });
36
38
  `;
37
39
  }
38
40
  /** Generate `src/tools/system/echo.ts` — Simple echo tool */
39
41
  export function echoToolTs() {
40
42
  return `/**
41
- * Echo Tool — Connectivity Testing
43
+ * Echo Tool — Connectivity Testing (Fluent API)
42
44
  *
43
- * Minimal tool without a Presenter. Uses success() for
44
- * a raw JSON response. Useful for verifying the MCP
45
- * connection is alive.
45
+ * Demonstrates:
46
+ * - f.query() with .withString() typed parameter
47
+ * - .handle(input, ctx) — input.message is typed as string
48
+ * - Implicit success() wrapping — return raw data, framework wraps it
46
49
  */
47
50
  import { f } from '../../fusion.js';
48
- import { success } from '@vinkius-core/mcp-fusion';
49
51
 
50
- export default f.tool({
51
- name: 'system.echo',
52
- description: 'Echo a message back (connectivity test)',
53
- readOnly: true,
54
- input: {
55
- message: { type: 'string', description: 'Message to echo back' },
56
- },
57
- handler: async ({ input }) => {
58
- return success({
52
+ export default f.query('system.echo')
53
+ .describe('Echo a message back (connectivity test)')
54
+ .withString('message', 'Message to echo back')
55
+ .handle(async (input) => {
56
+ return {
59
57
  echo: input.message,
60
58
  receivedAt: new Date().toISOString(),
61
- });
62
- },
63
- });
59
+ };
60
+ });
64
61
  `;
65
62
  }
66
63
  //# sourceMappingURL=tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/cli/templates/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0EAA0E;AAC1E,MAAM,UAAU,YAAY;IACxB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BV,CAAC;AACF,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,UAAU;IACtB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;CAwBV,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/cli/templates/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0EAA0E;AAC1E,MAAM,UAAU,YAAY;IACxB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BV,CAAC;AACF,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,UAAU;IACtB,OAAO;;;;;;;;;;;;;;;;;;;CAmBV,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../../src/cli/templates/vectors/database.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sCAAsC;AACtC,wBAAgB,YAAY,IAAI,MAAM,CAgDrC;AAED,uCAAuC;AACvC,wBAAgB,aAAa,IAAI,MAAM,CA8BtC"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../../src/cli/templates/vectors/database.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sCAAsC;AACtC,wBAAgB,YAAY,IAAI,MAAM,CAgDrC;AAED,uCAAuC;AACvC,wBAAgB,aAAa,IAAI,MAAM,CAyBtC"}
@@ -6,7 +6,7 @@
6
6
  export function prismaSchema() {
7
7
  return `// Prisma Schema — Database-Driven MCP Server
8
8
  //
9
- // The mcp-fusion-prisma-gen generator reads annotations
9
+ // The @vinkius-core/mcp-fusion-prisma-gen generator reads annotations
10
10
  // and auto-generates Presenters + ToolBuilders with:
11
11
  // - Field-level security (/// @fusion.hide)
12
12
  // - Tenant isolation
@@ -17,7 +17,7 @@ generator client {
17
17
  }
18
18
 
19
19
  generator fusion {
20
- provider = "mcp-fusion-prisma-gen"
20
+ provider = "@vinkius-core/mcp-fusion-prisma-gen"
21
21
  }
22
22
 
23
23
  datasource db {
@@ -55,33 +55,28 @@ model Post {
55
55
  /** Generate `src/tools/db/users.ts` */
56
56
  export function dbUsersToolTs() {
57
57
  return `/**
58
- * Database Users Tool — Prisma-Driven CRUD
58
+ * Database Users Tool — Prisma-Driven CRUD (Fluent API)
59
59
  *
60
- * Example tool that queries the database via Prisma.
61
- * The Presenter strips the 'password' field before
62
- * it reaches the LLM context.
60
+ * Demonstrates:
61
+ * - f.query() with .withOptionalNumber() typed parameter
62
+ * - .handle(input, ctx) input.take is typed as number | undefined
63
+ * - Implicit success() wrapping
63
64
  */
64
65
  import { f } from '../../fusion.js';
65
- import { success } from '@vinkius-core/mcp-fusion';
66
66
 
67
- export default f.tool({
68
- name: 'db.list_users',
69
- description: 'List users from the database',
70
- readOnly: true,
71
- input: {
72
- take: { type: 'number', min: 1, max: 50, optional: true, description: 'Max results' },
73
- },
74
- handler: async ({ input, ctx }) => {
67
+ export default f.query('db.list_users')
68
+ .describe('List users from the database')
69
+ .withOptionalNumber('take', 'Max results (1-50)')
70
+ .handle(async (input, ctx) => {
75
71
  // TODO: Replace with your Prisma client
76
72
  // const users = await ctx.db.user.findMany({ take: input.take ?? 10 });
77
73
  // return users;
78
74
 
79
- return success({
75
+ return {
80
76
  hint: 'Connect your Prisma client in src/context.ts to enable database queries.',
81
77
  example: 'const users = await ctx.db.user.findMany({ take: 10 })',
82
- });
83
- },
84
- });
78
+ };
79
+ });
85
80
  `;
86
81
  }
87
82
  //# sourceMappingURL=database.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../src/cli/templates/vectors/database.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sCAAsC;AACtC,MAAM,UAAU,YAAY;IACxB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CV,CAAC;AACF,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,aAAa;IACzB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BV,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../src/cli/templates/vectors/database.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sCAAsC;AACtC,MAAM,UAAU,YAAY;IACxB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CV,CAAC;AACF,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,aAAa;IACzB,OAAO;;;;;;;;;;;;;;;;;;;;;;;CAuBV,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../../src/cli/templates/vectors/oauth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAsC1D;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,IAAI,MAAM,CA8B1C"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../../src/cli/templates/vectors/oauth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAsC1D;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,IAAI,MAAM,CA6B1C"}
@@ -51,11 +51,10 @@ export function oauthMiddlewareTs() {
51
51
  * \`\`\`ts
52
52
  * import { withAuth } from '../middleware/auth.js';
53
53
  *
54
- * export default f.tool({
55
- * name: 'projects.list',
56
- * middleware: [withAuth],
57
- * handler: async ({ ctx }) => { /* authenticated */ },
58
- * });
54
+ * export default f.query('projects.list')
55
+ * .describe('List all projects')
56
+ * .use(withAuth)
57
+ * .handle(async (input, ctx) => { /* authenticated */ });
59
58
  * \`\`\`
60
59
  */
61
60
  import { requireAuth } from '@vinkius-core/mcp-fusion-oauth';
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../../src/cli/templates/vectors/oauth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,uDAAuD;AACvD,MAAM,UAAU,YAAY,CAAC,MAAqB;IAC9C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA4BgB,MAAM,CAAC,IAAI;uBACf,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;;;;;;;CAOlE,CAAC;AACF,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,iBAAiB;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BV,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../../src/cli/templates/vectors/oauth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,uDAAuD;AACvD,MAAM,UAAU,YAAY,CAAC,MAAqB;IAC9C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA4BgB,MAAM,CAAC,IAAI;uBACf,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;;;;;;;CAOlE,CAAC;AACF,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,iBAAiB;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BV,CAAC;AACF,CAAC"}
@@ -3,7 +3,7 @@ export function openapiYaml(config) {
3
3
  return `# OpenAPI 3.0 Specification — Sample
4
4
  #
5
5
  # Replace this with your actual API spec, then run:
6
- # npx mcp-fusion-openapi-gen ./openapi.yaml --outDir ./src/generated
6
+ # npx @vinkius-core/mcp-fusion-openapi-gen ./openapi.yaml --outDir ./src/generated
7
7
  #
8
8
  # The generator creates Presenters, Tools, Registry, and server
9
9
  # bootstrap — all configurable via YAML annotations.
@@ -84,7 +84,7 @@ This project is configured for the **Legacy API Proxy** ingestion vector.
84
84
 
85
85
  2. Generate the MCP server from the spec:
86
86
  \`\`\`bash
87
- npx mcp-fusion-openapi-gen ./openapi.yaml --outDir ./src/generated
87
+ npx @vinkius-core/mcp-fusion-openapi-gen ./openapi.yaml --outDir ./src/generated
88
88
  \`\`\`
89
89
 
90
90
  3. The generator creates:
@@ -15,7 +15,7 @@ export function n8nConnectorTs() {
15
15
  ' *',
16
16
  ' * Configure N8N_BASE_URL and N8N_API_KEY in your .env file.',
17
17
  ' */',
18
- "import { N8nConnector } from 'mcp-fusion-n8n';",
18
+ "import { N8nConnector } from '@vinkius-core/mcp-fusion-n8n';",
19
19
  "import type { ToolRegistry } from '@vinkius-core/mcp-fusion';",
20
20
  '',
21
21
  'export async function discoverWorkflows<TContext>(',
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../../src/cli/templates/vectors/workflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qDAAqD;AACrD,MAAM,UAAU,cAAc;IAC1B,OAAO;QACH,KAAK;QACL,+CAA+C;QAC/C,IAAI;QACJ,4DAA4D;QAC5D,0DAA0D;QAC1D,qDAAqD;QACrD,kCAAkC;QAClC,IAAI;QACJ,8DAA8D;QAC9D,KAAK;QACL,gDAAgD;QAChD,+DAA+D;QAC/D,EAAE;QACF,oDAAoD;QACpD,uCAAuC;QACvC,sBAAsB;QACtB,kDAAkD;QAClD,gDAAgD;QAChD,EAAE;QACF,gCAAgC;QAChC,2FAA2F;QAC3F,mBAAmB;QACnB,OAAO;QACP,EAAE;QACF,0CAA0C;QAC1C,kBAAkB;QAClB,iBAAiB;QACjB,SAAS;QACT,EAAE;QACF,+CAA+C;QAC/C,EAAE;QACF,iCAAiC;QACjC,kCAAkC;QAClC,OAAO;QACP,EAAE;QACF,+EAA+E;QAC/E,0BAA0B;QAC1B,GAAG;QACH,EAAE;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../../src/cli/templates/vectors/workflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qDAAqD;AACrD,MAAM,UAAU,cAAc;IAC1B,OAAO;QACH,KAAK;QACL,+CAA+C;QAC/C,IAAI;QACJ,4DAA4D;QAC5D,0DAA0D;QAC1D,qDAAqD;QACrD,kCAAkC;QAClC,IAAI;QACJ,8DAA8D;QAC9D,KAAK;QACL,8DAA8D;QAC9D,+DAA+D;QAC/D,EAAE;QACF,oDAAoD;QACpD,uCAAuC;QACvC,sBAAsB;QACtB,kDAAkD;QAClD,gDAAgD;QAChD,EAAE;QACF,gCAAgC;QAChC,2FAA2F;QAC3F,mBAAmB;QACnB,OAAO;QACP,EAAE;QACF,0CAA0C;QAC1C,kBAAkB;QAClB,iBAAiB;QACjB,SAAS;QACT,EAAE;QACF,+CAA+C;QAC/C,EAAE;QACF,iCAAiC;QACjC,kCAAkC;QAClC,OAAO;QACP,EAAE;QACF,+EAA+E;QAC/E,0BAA0B;QAC1B,GAAG;QACH,EAAE;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC"}
@@ -169,7 +169,61 @@ export interface FusionClient<TRouter extends RouterMap> {
169
169
  }, options?: {
170
170
  sequential?: boolean | undefined;
171
171
  } | undefined): Promise<ToolResponse[]>;
172
+ /**
173
+ * Fluent proxy for calling tools with dot-navigation.
174
+ *
175
+ * Builds the action path from chained property accesses,
176
+ * then executes when invoked as a function.
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * // Equivalent to: client.execute('projects.create', { name: 'V2' })
181
+ * await client.proxy.projects.create({ name: 'V2' });
182
+ *
183
+ * // Also works for deeper paths:
184
+ * await client.proxy.platform.users.list({ limit: 10 });
185
+ * ```
186
+ */
187
+ readonly proxy: FluentProxy<TRouter>;
172
188
  }
189
+ /**
190
+ * Splits a dotted key `'a.b.c'` into head `'a'` and tail `'b.c'`.
191
+ * @internal
192
+ */
193
+ type SplitKey<K extends string> = K extends `${infer Head}.${infer Tail}` ? [Head, Tail] : [K, never];
194
+ /**
195
+ * Collects all first segments from the router keys.
196
+ * @internal
197
+ */
198
+ type FirstSegments<TRouter extends RouterMap> = {
199
+ [K in keyof TRouter & string]: SplitKey<K>[0];
200
+ }[keyof TRouter & string];
201
+ /**
202
+ * Given a segment prefix, collects remaining tails and their arg types.
203
+ * @internal
204
+ */
205
+ type SubRouter<TRouter extends RouterMap, Prefix extends string> = {
206
+ [K in keyof TRouter & string as K extends `${Prefix}.${infer Rest}` ? Rest : never]: TRouter[K];
207
+ };
208
+ /**
209
+ * Recursive proxy node type.
210
+ *
211
+ * - If the key resolves to a leaf action, it becomes callable.
212
+ * - If it has further segments, it exposes another level of navigation.
213
+ * @internal
214
+ */
215
+ type ProxyNode<TRouter extends RouterMap> = {
216
+ [Seg in FirstSegments<TRouter>]: (Seg extends keyof TRouter ? ((args: TRouter[Seg]) => Promise<ToolResponse>) : unknown) & (string extends FirstSegments<SubRouter<TRouter, Seg>> ? unknown : FluentProxy<SubRouter<TRouter, Seg>>);
217
+ };
218
+ /**
219
+ * Top-level fluent proxy type.
220
+ *
221
+ * Provides dot-navigation for calling tools:
222
+ * ```typescript
223
+ * await client.proxy.projects.create({ name: 'V2' });
224
+ * ```
225
+ */
226
+ export type FluentProxy<TRouter extends RouterMap> = ProxyNode<TRouter>;
173
227
  /**
174
228
  * Create a type-safe MCP client.
175
229
  *
@@ -215,4 +269,5 @@ export interface FusionClient<TRouter extends RouterMap> {
215
269
  * ```
216
270
  */
217
271
  export declare function createFusionClient<TRouter extends RouterMap>(transport: FusionTransport, options?: FusionClientOptions): FusionClient<TRouter>;
272
+ export {};
218
273
  //# sourceMappingURL=FusionClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FusionClient.d.ts","sourceRoot":"","sources":["../../src/client/FusionClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FusionClient.d.ts","sourceRoot":"","sources":["../../src/client/FusionClient.ts"],"names":[],"mappings":"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"}
@@ -233,6 +233,36 @@ export function createFusionClient(transport, options) {
233
233
  }
234
234
  return Promise.all(items.map(call => executeInternal(call.action, call.args)));
235
235
  },
236
+ proxy: buildFluentProxy(executeInternal),
236
237
  };
237
238
  }
239
+ // ============================================================================
240
+ // Fluent Proxy Builder (Internal)
241
+ // ============================================================================
242
+ /**
243
+ * Creates a recursive Proxy that accumulates path segments
244
+ * and executes when invoked as a function.
245
+ *
246
+ * ```
247
+ * proxy.projects.create({ name: 'V2' })
248
+ * // ^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^
249
+ * // seg[0] seg[1] args → execute('projects.create', args)
250
+ * ```
251
+ *
252
+ * @internal
253
+ */
254
+ function buildFluentProxy(execute, segments = []) {
255
+ return new Proxy(function () { }, {
256
+ get(_target, prop) {
257
+ if (typeof prop !== 'string' || prop === 'then')
258
+ return undefined;
259
+ return buildFluentProxy(execute, [...segments, prop]);
260
+ },
261
+ apply(_target, _thisArg, argsList) {
262
+ const action = segments.join('.');
263
+ const args = (argsList[0] ?? {});
264
+ return execute(action, args);
265
+ },
266
+ });
267
+ }
238
268
  //# sourceMappingURL=FusionClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FusionClient.js","sourceRoot":"","sources":["../../src/client/FusionClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FusionClient.js","sourceRoot":"","sources":["../../src/client/FusionClient.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /** Client Bounded Context — Barrel Export */
2
2
  export { createFusionClient, FusionClientError } from './FusionClient.js';
3
- export type { FusionClient, FusionTransport, RouterMap, ClientMiddleware, FusionClientOptions, } from './FusionClient.js';
3
+ export type { FusionClient, FusionTransport, RouterMap, FluentProxy, ClientMiddleware, FusionClientOptions, } from './FusionClient.js';
4
4
  export { createTypedRegistry } from './createTypedRegistry.js';
5
5
  export type { InferRouter, TypedToolRegistry } from './InferRouter.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,YAAY,EACR,YAAY,EACZ,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,mBAAmB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,YAAY,EACR,YAAY,EACZ,eAAe,EACf,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,mBAAmB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAQ1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAS1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -11,23 +11,14 @@
11
11
  * @example
12
12
  * ```typescript
13
13
  * createTool<AppContext>('platform')
14
- * .group('users', 'User management', g => {
15
- * g.use(requireAdmin) // Group-scoped middleware
16
- * .action({
17
- * name: 'list',
18
- * readOnly: true,
19
- * handler: async (ctx, _args) => success(await ctx.db.users.findMany()),
20
- * })
21
- * .action({
22
- * name: 'ban',
23
- * destructive: true,
24
- * schema: z.object({ user_id: z.string() }),
25
- * handler: async (ctx, args) => {
26
- * await ctx.db.users.ban(args.user_id);
27
- * return success('User banned');
28
- * },
29
- * });
30
- * });
14
+ * .group('users', 'User management', g => g
15
+ * .use(requireAdmin)
16
+ * .query('list', async (ctx) => success(await ctx.db.users.findMany()))
17
+ * .mutation('ban', async (ctx, args) => {
18
+ * await ctx.db.users.ban(args.user_id);
19
+ * return success('User banned');
20
+ * })
21
+ * );
31
22
  * ```
32
23
  *
33
24
  * @see {@link GroupedToolBuilder.group} for creating groups
@@ -47,9 +38,9 @@ import { type ToolResponse, type InternalAction, type MiddlewareFn, type ActionC
47
38
  *
48
39
  * @example
49
40
  * ```typescript
50
- * const configure: GroupConfigurator<AppContext, { workspace_id: string }> = (g) => {
51
- * g.action({ name: 'list', handler: listHandler });
52
- * };
41
+ * const configure: GroupConfigurator<AppContext, { workspace_id: string }> = (g) => g
42
+ * .query('list', listHandler)
43
+ * .mutation('delete', deleteHandler);
53
44
  *
54
45
  * builder.group('users', 'User management', configure);
55
46
  * ```
@@ -69,6 +60,11 @@ export type GroupConfigurator<TContext, TCommon extends Record<string, unknown>>
69
60
  * @internal
70
61
  */
71
62
  export declare function mapConfigToActionFields<TContext>(config: ActionConfig<TContext>, omitCommonFields: string[] | undefined): Pick<InternalAction<TContext>, 'actionName' | 'description' | 'schema' | 'destructive' | 'idempotent' | 'readOnly' | 'handler' | 'omitCommonFields' | 'returns'>;
63
+ /**
64
+ * Handler function type for semantic verb shortcuts.
65
+ * @typeParam TContext - Application context type
66
+ */
67
+ type ActionHandler<TContext> = (ctx: TContext, args: Record<string, unknown>) => Promise<ToolResponse>;
72
68
  export declare class ActionGroupBuilder<TContext, TCommon extends Record<string, unknown> = Record<string, never>> {
73
69
  /** @internal */
74
70
  readonly _actions: InternalAction<TContext>[];
@@ -88,10 +84,11 @@ export declare class ActionGroupBuilder<TContext, TCommon extends Record<string,
88
84
  *
89
85
  * @example
90
86
  * ```typescript
91
- * builder.group('admin', 'Admin operations', g => {
92
- * g.use(requireAdmin) // Only runs for admin.* actions
93
- * .action({ name: 'reset', handler: resetHandler });
94
- * });
87
+ * builder.group('admin', 'Admin operations', (g) => g
88
+ * .use(requireAdmin)
89
+ * .query('list', listHandler)
90
+ * .mutation('reset', resetHandler)
91
+ * );
95
92
  * ```
96
93
  *
97
94
  * @see {@link MiddlewareFn} for the middleware signature
@@ -110,42 +107,82 @@ export declare class ActionGroupBuilder<TContext, TCommon extends Record<string,
110
107
  *
111
108
  * @example
112
109
  * ```typescript
113
- * builder.group('profile', 'User profile', g => {
114
- * g.omitCommon('workspace_id') // All profile.* actions skip workspace_id
115
- * .action({ name: 'me', readOnly: true, handler: meHandler });
116
- * });
110
+ * builder.group('profile', 'User profile', (g) => g
111
+ * .omitCommon('workspace_id')
112
+ * .query('me', meHandler)
113
+ * );
117
114
  * ```
118
115
  */
119
116
  omitCommon(...fields: string[]): this;
117
+ /**
118
+ * Register a **read-only** action (readOnly: true).
119
+ *
120
+ * Semantic shortcut — eliminates the need for config objects.
121
+ * The action name is automatically prefixed with the group name
122
+ * (e.g., `"list"` in group `"users"` → `"users.list"`).
123
+ *
124
+ * @param name - Action name (must not contain dots)
125
+ * @param handler - Handler function
126
+ * @returns `this` for chaining
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * builder.group('users', 'User management', (g) => g
131
+ * .query('list', async (ctx) => success(await ctx.db.users.findMany()))
132
+ * .query('get', async (ctx, args) => success(await ctx.db.users.find(args.id)))
133
+ * );
134
+ * ```
135
+ */
136
+ query(name: string, handler: ActionHandler<TContext>): this;
137
+ /**
138
+ * Register a **destructive** action (destructive: true).
139
+ *
140
+ * Semantic shortcut — eliminates the need for config objects.
141
+ * Signals to the LLM that this action has irreversible side effects.
142
+ *
143
+ * @param name - Action name (must not contain dots)
144
+ * @param handler - Handler function
145
+ * @returns `this` for chaining
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * builder.group('users', 'User management', (g) => g
150
+ * .mutation('ban', async (ctx, args) => {
151
+ * await ctx.db.users.ban(args.user_id);
152
+ * return success('User banned');
153
+ * })
154
+ * );
155
+ * ```
156
+ */
157
+ mutation(name: string, handler: ActionHandler<TContext>): this;
120
158
  /**
121
159
  * Register an action within this group.
122
160
  *
161
+ * **As a 2-arg shortcut** `action(name, handler)`: registers a standard
162
+ * action (neither read-only nor destructive). This completes the
163
+ * semantic verb trio alongside `.query()` and `.mutation()`.
164
+ *
165
+ * **As a config object** `action({ name, schema, ... })`: full control
166
+ * over all action properties (schema, description, omitCommon, etc.).
167
+ *
123
168
  * The action key is automatically prefixed with the group name
124
169
  * (e.g., action `"create"` in group `"users"` becomes `"users.create"`).
125
170
  *
126
- * @param config - Action configuration
171
+ * @param config - Action configuration OR action name (string)
172
+ * @param handler - Handler function (only when first arg is a string)
127
173
  * @returns `this` for chaining
128
174
  *
129
175
  * @example
130
176
  * ```typescript
131
- * builder.group('billing', 'Billing operations', g => {
132
- * g.action({
133
- * name: 'refund',
134
- * description: 'Issue a refund',
135
- * destructive: true,
136
- * schema: z.object({
137
- * invoice_id: z.string(),
138
- * amount: z.number().positive(),
139
- * }),
140
- * handler: async (ctx, args) => {
141
- * await ctx.billing.refund(args.invoice_id, args.amount);
142
- * return success('Refund issued');
143
- * },
144
- * });
145
- * });
146
- * // Discriminator value: "billing.refund"
177
+ * builder.group('users', 'User management', (g) => g
178
+ * .query('list', listHandler)
179
+ * .action('invite', inviteHandler)
180
+ * .mutation('ban', banHandler)
181
+ * );
147
182
  * ```
148
183
  *
184
+ * @see {@link ActionGroupBuilder.query} — read-only actions
185
+ * @see {@link ActionGroupBuilder.mutation} — destructive actions
149
186
  * @see {@link ActionConfig} for all configuration options
150
187
  */
151
188
  action<TSchema extends ZodObject<ZodRawShape>, TOmit extends keyof TCommon = never>(config: {
@@ -158,7 +195,10 @@ export declare class ActionGroupBuilder<TContext, TCommon extends Record<string,
158
195
  omitCommon?: TOmit[];
159
196
  handler: (ctx: TContext, args: TSchema["_output"] & Omit<TCommon, TOmit>) => Promise<ToolResponse>;
160
197
  }): this;
161
- /** Register an action within this group (untyped: no schema) */
198
+ /** Register a standard action (2-arg shorthand: neither readOnly nor destructive) */
199
+ action(name: string, handler: ActionHandler<TContext>): this;
200
+ /** Register an action within this group (config object) */
162
201
  action(config: ActionConfig<TContext>): this;
163
202
  }
203
+ export {};
164
204
  //# sourceMappingURL=ActionGroupBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionGroupBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/builder/ActionGroupBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AACvD,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACpB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,iBAAiB,CAAC,QAAQ,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3E,CAAC,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAI3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAC5C,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC9B,gBAAgB,EAAE,MAAM,EAAE,GAAG,SAAS,GACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAC5B,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,aAAa,GACvD,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CACzE,CAYA;AAID,qBAAa,kBAAkB,CAAC,QAAQ,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IACrG,gBAAgB;IAChB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAM;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgC;IAClE,OAAO,CAAC,gBAAgB,CAAgB;gBAE5B,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAKnD;;;;;;;;;;;;;;;;;;OAkBG;IACH,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI;IAKrC;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAAU,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAKrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,MAAM,CAAC,OAAO,SAAS,SAAS,CAAC,WAAW,CAAC,EAAE,KAAK,SAAS,MAAM,OAAO,GAAG,KAAK,EAAE,MAAM,EAAE;QACxF,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;KACtG,GAAG,IAAI;IACR,gEAAgE;IAChE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI;CAuB/C"}
1
+ {"version":3,"file":"ActionGroupBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/builder/ActionGroupBuilder.ts"],"names":[],"mappings":"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"}