@frontmcp/sdk 0.3.1 → 0.4.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 (148) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +192 -164
  3. package/package.json +7 -4
  4. package/src/__test-utils__/fixtures/hook.fixtures.d.ts +46 -0
  5. package/src/__test-utils__/fixtures/hook.fixtures.js +114 -0
  6. package/src/__test-utils__/fixtures/hook.fixtures.js.map +1 -0
  7. package/src/__test-utils__/fixtures/index.d.ts +7 -0
  8. package/src/__test-utils__/fixtures/index.js +11 -0
  9. package/src/__test-utils__/fixtures/index.js.map +1 -0
  10. package/src/__test-utils__/fixtures/plugin.fixtures.d.ts +46 -0
  11. package/src/__test-utils__/fixtures/plugin.fixtures.js +127 -0
  12. package/src/__test-utils__/fixtures/plugin.fixtures.js.map +1 -0
  13. package/src/__test-utils__/fixtures/provider.fixtures.d.ts +69 -0
  14. package/src/__test-utils__/fixtures/provider.fixtures.js +131 -0
  15. package/src/__test-utils__/fixtures/provider.fixtures.js.map +1 -0
  16. package/src/__test-utils__/fixtures/scope.fixtures.d.ts +14 -0
  17. package/src/__test-utils__/fixtures/scope.fixtures.js +59 -0
  18. package/src/__test-utils__/fixtures/scope.fixtures.js.map +1 -0
  19. package/src/__test-utils__/fixtures/tool.fixtures.d.ts +36 -0
  20. package/src/__test-utils__/fixtures/tool.fixtures.js +91 -0
  21. package/src/__test-utils__/fixtures/tool.fixtures.js.map +1 -0
  22. package/src/__test-utils__/helpers/assertion.helpers.d.ts +45 -0
  23. package/src/__test-utils__/helpers/assertion.helpers.js +153 -0
  24. package/src/__test-utils__/helpers/assertion.helpers.js.map +1 -0
  25. package/src/__test-utils__/helpers/async.helpers.d.ts +48 -0
  26. package/src/__test-utils__/helpers/async.helpers.js +112 -0
  27. package/src/__test-utils__/helpers/async.helpers.js.map +1 -0
  28. package/src/__test-utils__/helpers/index.d.ts +6 -0
  29. package/src/__test-utils__/helpers/index.js +10 -0
  30. package/src/__test-utils__/helpers/index.js.map +1 -0
  31. package/src/__test-utils__/helpers/setup.helpers.d.ts +54 -0
  32. package/src/__test-utils__/helpers/setup.helpers.js +106 -0
  33. package/src/__test-utils__/helpers/setup.helpers.js.map +1 -0
  34. package/src/__test-utils__/index.d.ts +9 -0
  35. package/src/__test-utils__/index.js +14 -0
  36. package/src/__test-utils__/index.js.map +1 -0
  37. package/src/__test-utils__/mocks/flow-instance.mock.d.ts +50 -0
  38. package/src/__test-utils__/mocks/flow-instance.mock.js +72 -0
  39. package/src/__test-utils__/mocks/flow-instance.mock.js.map +1 -0
  40. package/src/__test-utils__/mocks/hook-registry.mock.d.ts +25 -0
  41. package/src/__test-utils__/mocks/hook-registry.mock.js +65 -0
  42. package/src/__test-utils__/mocks/hook-registry.mock.js.map +1 -0
  43. package/src/__test-utils__/mocks/index.d.ts +8 -0
  44. package/src/__test-utils__/mocks/index.js +12 -0
  45. package/src/__test-utils__/mocks/index.js.map +1 -0
  46. package/src/__test-utils__/mocks/plugin-registry.mock.d.ts +43 -0
  47. package/src/__test-utils__/mocks/plugin-registry.mock.js +70 -0
  48. package/src/__test-utils__/mocks/plugin-registry.mock.js.map +1 -0
  49. package/src/__test-utils__/mocks/provider-registry.mock.d.ts +39 -0
  50. package/src/__test-utils__/mocks/provider-registry.mock.js +72 -0
  51. package/src/__test-utils__/mocks/provider-registry.mock.js.map +1 -0
  52. package/src/__test-utils__/mocks/tool-registry.mock.d.ts +43 -0
  53. package/src/__test-utils__/mocks/tool-registry.mock.js +79 -0
  54. package/src/__test-utils__/mocks/tool-registry.mock.js.map +1 -0
  55. package/src/app/app.utils.js.map +1 -1
  56. package/src/app/instances/app.local.instance.js +8 -11
  57. package/src/app/instances/app.local.instance.js.map +1 -1
  58. package/src/auth/flows/oauth.authorize.flow.d.ts +8 -8
  59. package/src/auth/flows/oauth.register.flow.d.ts +4 -4
  60. package/src/auth/flows/oauth.token.flow.d.ts +4 -4
  61. package/src/auth/flows/well-known.jwks.flow.d.ts +12 -12
  62. package/src/auth/flows/well-known.oauth-authorization-server.flow.d.ts +8 -8
  63. package/src/auth/flows/well-known.prm.flow.d.ts +4 -4
  64. package/src/common/decorators/tool.decorator.d.ts +97 -36
  65. package/src/common/decorators/tool.decorator.js +0 -1
  66. package/src/common/decorators/tool.decorator.js.map +1 -1
  67. package/src/common/entries/tool.entry.d.ts +54 -11
  68. package/src/common/entries/tool.entry.js +19 -0
  69. package/src/common/entries/tool.entry.js.map +1 -1
  70. package/src/common/interfaces/internal/registry.interface.d.ts +10 -2
  71. package/src/common/interfaces/internal/registry.interface.js.map +1 -1
  72. package/src/common/interfaces/plugin.interface.d.ts +1 -1
  73. package/src/common/interfaces/plugin.interface.js.map +1 -1
  74. package/src/common/interfaces/tool.interface.d.ts +12 -7
  75. package/src/common/interfaces/tool.interface.js +1 -1
  76. package/src/common/interfaces/tool.interface.js.map +1 -1
  77. package/src/common/metadata/front-mcp.metadata.d.ts +145 -145
  78. package/src/common/metadata/hook.metadata.d.ts +4 -2
  79. package/src/common/metadata/hook.metadata.js.map +1 -1
  80. package/src/common/metadata/prompt.metadata.d.ts +28 -28
  81. package/src/common/metadata/prompt.metadata.js.map +1 -1
  82. package/src/common/metadata/resource.metadata.d.ts +54 -54
  83. package/src/common/metadata/tool.metadata.d.ts +190 -7
  84. package/src/common/metadata/tool.metadata.js +41 -6
  85. package/src/common/metadata/tool.metadata.js.map +1 -1
  86. package/src/common/schemas/http-output.schema.d.ts +106 -106
  87. package/src/common/tokens/tool.tokens.js.map +1 -1
  88. package/src/common/types/options/logging.options.d.ts +1 -2
  89. package/src/common/types/options/logging.options.js +1 -9
  90. package/src/common/types/options/logging.options.js.map +1 -1
  91. package/src/common/types/options/server-info.options.d.ts +19 -19
  92. package/src/errors/error-handler.d.ts +65 -0
  93. package/src/errors/error-handler.js +107 -0
  94. package/src/errors/error-handler.js.map +1 -0
  95. package/src/errors/index.d.ts +2 -0
  96. package/src/errors/index.js +26 -0
  97. package/src/errors/index.js.map +1 -0
  98. package/src/errors/mcp.error.d.ts +156 -0
  99. package/src/errors/mcp.error.js +243 -0
  100. package/src/errors/mcp.error.js.map +1 -0
  101. package/src/flows/flow.instance.js +7 -6
  102. package/src/flows/flow.instance.js.map +1 -1
  103. package/src/flows/flow.registry.js +1 -1
  104. package/src/flows/flow.registry.js.map +1 -1
  105. package/src/front-mcp/front-mcp.providers.d.ts +20 -20
  106. package/src/hooks/hook.registry.d.ts +5 -3
  107. package/src/hooks/hook.registry.js +13 -1
  108. package/src/hooks/hook.registry.js.map +1 -1
  109. package/src/plugin/plugin.registry.d.ts +7 -2
  110. package/src/plugin/plugin.registry.js +23 -11
  111. package/src/plugin/plugin.registry.js.map +1 -1
  112. package/src/prompt/prompt.registry.js +1 -0
  113. package/src/prompt/prompt.registry.js.map +1 -1
  114. package/src/resource/resource.registry.js +1 -0
  115. package/src/resource/resource.registry.js.map +1 -1
  116. package/src/scope/scope.registry.js +1 -1
  117. package/src/scope/scope.registry.js.map +1 -1
  118. package/src/store/adapters/store.memory.adapter.js +3 -1
  119. package/src/store/adapters/store.memory.adapter.js.map +1 -1
  120. package/src/tool/flows/call-tool.flow.d.ts +1012 -676
  121. package/src/tool/flows/call-tool.flow.js +94 -61
  122. package/src/tool/flows/call-tool.flow.js.map +1 -1
  123. package/src/tool/flows/tools-list.flow.d.ts +347 -590
  124. package/src/tool/flows/tools-list.flow.js +76 -49
  125. package/src/tool/flows/tools-list.flow.js.map +1 -1
  126. package/src/tool/tool.instance.d.ts +27 -8
  127. package/src/tool/tool.instance.js +40 -5
  128. package/src/tool/tool.instance.js.map +1 -1
  129. package/src/tool/tool.registry.js +19 -21
  130. package/src/tool/tool.registry.js.map +1 -1
  131. package/src/tool/tool.utils.d.ts +3 -2
  132. package/src/tool/tool.utils.js +377 -14
  133. package/src/tool/tool.utils.js.map +1 -1
  134. package/src/transport/adapters/transport.sse.adapter.js.map +1 -1
  135. package/src/transport/adapters/transport.streamable-http.adapter.js.map +1 -1
  136. package/src/transport/flows/handle.sse.flow.js +6 -13
  137. package/src/transport/flows/handle.sse.flow.js.map +1 -1
  138. package/src/transport/flows/handle.streamable-http.flow.js +1 -0
  139. package/src/transport/flows/handle.streamable-http.flow.js.map +1 -1
  140. package/src/transport/mcp-handlers/call-tool-request.handler.d.ts +1 -1
  141. package/src/transport/mcp-handlers/call-tool-request.handler.js +10 -5
  142. package/src/transport/mcp-handlers/call-tool-request.handler.js.map +1 -1
  143. package/src/transport/mcp-handlers/index.d.ts +151 -268
  144. package/src/transport/mcp-handlers/list-tools-request.handler.d.ts +124 -216
  145. package/src/transport/transport.local.js +1 -0
  146. package/src/transport/transport.local.js.map +1 -1
  147. package/src/utils/string.utils.js +1 -1
  148. package/src/utils/string.utils.js.map +1 -1
@@ -23,34 +23,34 @@ export declare const frontMcpBaseSchema: z.ZodObject<{
23
23
  src: z.ZodString;
24
24
  mimeType: z.ZodOptional<z.ZodString>;
25
25
  sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
26
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
27
- src: z.ZodString;
28
- mimeType: z.ZodOptional<z.ZodString>;
29
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
30
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
31
- src: z.ZodString;
32
- mimeType: z.ZodOptional<z.ZodString>;
33
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
34
- }, z.ZodTypeAny, "passthrough">>, "many">>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ src: string;
28
+ mimeType?: string | undefined;
29
+ sizes?: string[] | undefined;
30
+ }, {
31
+ src: string;
32
+ mimeType?: string | undefined;
33
+ sizes?: string[] | undefined;
34
+ }>, "many">>;
35
35
  }, "strip", z.ZodTypeAny, {
36
36
  name: string;
37
37
  version: string;
38
38
  title?: string | undefined;
39
- icons?: z.objectOutputType<{
40
- src: z.ZodString;
41
- mimeType: z.ZodOptional<z.ZodString>;
42
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
43
- }, z.ZodTypeAny, "passthrough">[] | undefined;
39
+ icons?: {
40
+ src: string;
41
+ mimeType?: string | undefined;
42
+ sizes?: string[] | undefined;
43
+ }[] | undefined;
44
44
  websiteUrl?: string | undefined;
45
45
  }, {
46
46
  name: string;
47
47
  version: string;
48
48
  title?: string | undefined;
49
- icons?: z.objectInputType<{
50
- src: z.ZodString;
51
- mimeType: z.ZodOptional<z.ZodString>;
52
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
53
- }, z.ZodTypeAny, "passthrough">[] | undefined;
49
+ icons?: {
50
+ src: string;
51
+ mimeType?: string | undefined;
52
+ sizes?: string[] | undefined;
53
+ }[] | undefined;
54
54
  websiteUrl?: string | undefined;
55
55
  }>;
56
56
  providers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>>;
@@ -101,11 +101,11 @@ export declare const frontMcpBaseSchema: z.ZodObject<{
101
101
  name: string;
102
102
  version: string;
103
103
  title?: string | undefined;
104
- icons?: z.objectOutputType<{
105
- src: z.ZodString;
106
- mimeType: z.ZodOptional<z.ZodString>;
107
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
108
- }, z.ZodTypeAny, "passthrough">[] | undefined;
104
+ icons?: {
105
+ src: string;
106
+ mimeType?: string | undefined;
107
+ sizes?: string[] | undefined;
108
+ }[] | undefined;
109
109
  websiteUrl?: string | undefined;
110
110
  };
111
111
  apps: import("../interfaces").Type<unknown>[];
@@ -130,11 +130,11 @@ export declare const frontMcpBaseSchema: z.ZodObject<{
130
130
  name: string;
131
131
  version: string;
132
132
  title?: string | undefined;
133
- icons?: z.objectInputType<{
134
- src: z.ZodString;
135
- mimeType: z.ZodOptional<z.ZodString>;
136
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
137
- }, z.ZodTypeAny, "passthrough">[] | undefined;
133
+ icons?: {
134
+ src: string;
135
+ mimeType?: string | undefined;
136
+ sizes?: string[] | undefined;
137
+ }[] | undefined;
138
138
  websiteUrl?: string | undefined;
139
139
  };
140
140
  apps: import("../interfaces").Type<unknown>[];
@@ -170,34 +170,34 @@ declare const frontMcpMultiAppSchema: z.ZodObject<{
170
170
  src: z.ZodString;
171
171
  mimeType: z.ZodOptional<z.ZodString>;
172
172
  sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
173
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
174
- src: z.ZodString;
175
- mimeType: z.ZodOptional<z.ZodString>;
176
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
177
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
178
- src: z.ZodString;
179
- mimeType: z.ZodOptional<z.ZodString>;
180
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
181
- }, z.ZodTypeAny, "passthrough">>, "many">>;
173
+ }, "strip", z.ZodTypeAny, {
174
+ src: string;
175
+ mimeType?: string | undefined;
176
+ sizes?: string[] | undefined;
177
+ }, {
178
+ src: string;
179
+ mimeType?: string | undefined;
180
+ sizes?: string[] | undefined;
181
+ }>, "many">>;
182
182
  }, "strip", z.ZodTypeAny, {
183
183
  name: string;
184
184
  version: string;
185
185
  title?: string | undefined;
186
- icons?: z.objectOutputType<{
187
- src: z.ZodString;
188
- mimeType: z.ZodOptional<z.ZodString>;
189
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
190
- }, z.ZodTypeAny, "passthrough">[] | undefined;
186
+ icons?: {
187
+ src: string;
188
+ mimeType?: string | undefined;
189
+ sizes?: string[] | undefined;
190
+ }[] | undefined;
191
191
  websiteUrl?: string | undefined;
192
192
  }, {
193
193
  name: string;
194
194
  version: string;
195
195
  title?: string | undefined;
196
- icons?: z.objectInputType<{
197
- src: z.ZodString;
198
- mimeType: z.ZodOptional<z.ZodString>;
199
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
200
- }, z.ZodTypeAny, "passthrough">[] | undefined;
196
+ icons?: {
197
+ src: string;
198
+ mimeType?: string | undefined;
199
+ sizes?: string[] | undefined;
200
+ }[] | undefined;
201
201
  websiteUrl?: string | undefined;
202
202
  }>;
203
203
  providers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>>;
@@ -365,11 +365,11 @@ declare const frontMcpMultiAppSchema: z.ZodObject<{
365
365
  name: string;
366
366
  version: string;
367
367
  title?: string | undefined;
368
- icons?: z.objectOutputType<{
369
- src: z.ZodString;
370
- mimeType: z.ZodOptional<z.ZodString>;
371
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
372
- }, z.ZodTypeAny, "passthrough">[] | undefined;
368
+ icons?: {
369
+ src: string;
370
+ mimeType?: string | undefined;
371
+ sizes?: string[] | undefined;
372
+ }[] | undefined;
373
373
  websiteUrl?: string | undefined;
374
374
  };
375
375
  apps: import("../interfaces").Type<unknown>[];
@@ -430,11 +430,11 @@ declare const frontMcpMultiAppSchema: z.ZodObject<{
430
430
  name: string;
431
431
  version: string;
432
432
  title?: string | undefined;
433
- icons?: z.objectInputType<{
434
- src: z.ZodString;
435
- mimeType: z.ZodOptional<z.ZodString>;
436
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
437
- }, z.ZodTypeAny, "passthrough">[] | undefined;
433
+ icons?: {
434
+ src: string;
435
+ mimeType?: string | undefined;
436
+ sizes?: string[] | undefined;
437
+ }[] | undefined;
438
438
  websiteUrl?: string | undefined;
439
439
  };
440
440
  apps: import("../interfaces").Type<unknown>[];
@@ -506,34 +506,34 @@ declare const frontMcpSplitByAppSchema: z.ZodObject<{
506
506
  src: z.ZodString;
507
507
  mimeType: z.ZodOptional<z.ZodString>;
508
508
  sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
509
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
510
- src: z.ZodString;
511
- mimeType: z.ZodOptional<z.ZodString>;
512
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
513
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
514
- src: z.ZodString;
515
- mimeType: z.ZodOptional<z.ZodString>;
516
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
517
- }, z.ZodTypeAny, "passthrough">>, "many">>;
509
+ }, "strip", z.ZodTypeAny, {
510
+ src: string;
511
+ mimeType?: string | undefined;
512
+ sizes?: string[] | undefined;
513
+ }, {
514
+ src: string;
515
+ mimeType?: string | undefined;
516
+ sizes?: string[] | undefined;
517
+ }>, "many">>;
518
518
  }, "strip", z.ZodTypeAny, {
519
519
  name: string;
520
520
  version: string;
521
521
  title?: string | undefined;
522
- icons?: z.objectOutputType<{
523
- src: z.ZodString;
524
- mimeType: z.ZodOptional<z.ZodString>;
525
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
526
- }, z.ZodTypeAny, "passthrough">[] | undefined;
522
+ icons?: {
523
+ src: string;
524
+ mimeType?: string | undefined;
525
+ sizes?: string[] | undefined;
526
+ }[] | undefined;
527
527
  websiteUrl?: string | undefined;
528
528
  }, {
529
529
  name: string;
530
530
  version: string;
531
531
  title?: string | undefined;
532
- icons?: z.objectInputType<{
533
- src: z.ZodString;
534
- mimeType: z.ZodOptional<z.ZodString>;
535
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
536
- }, z.ZodTypeAny, "passthrough">[] | undefined;
532
+ icons?: {
533
+ src: string;
534
+ mimeType?: string | undefined;
535
+ sizes?: string[] | undefined;
536
+ }[] | undefined;
537
537
  websiteUrl?: string | undefined;
538
538
  }>;
539
539
  providers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>>;
@@ -587,11 +587,11 @@ declare const frontMcpSplitByAppSchema: z.ZodObject<{
587
587
  name: string;
588
588
  version: string;
589
589
  title?: string | undefined;
590
- icons?: z.objectOutputType<{
591
- src: z.ZodString;
592
- mimeType: z.ZodOptional<z.ZodString>;
593
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
594
- }, z.ZodTypeAny, "passthrough">[] | undefined;
590
+ icons?: {
591
+ src: string;
592
+ mimeType?: string | undefined;
593
+ sizes?: string[] | undefined;
594
+ }[] | undefined;
595
595
  websiteUrl?: string | undefined;
596
596
  };
597
597
  apps: import("../interfaces").Type<unknown>[];
@@ -618,11 +618,11 @@ declare const frontMcpSplitByAppSchema: z.ZodObject<{
618
618
  name: string;
619
619
  version: string;
620
620
  title?: string | undefined;
621
- icons?: z.objectInputType<{
622
- src: z.ZodString;
623
- mimeType: z.ZodOptional<z.ZodString>;
624
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
625
- }, z.ZodTypeAny, "passthrough">[] | undefined;
621
+ icons?: {
622
+ src: string;
623
+ mimeType?: string | undefined;
624
+ sizes?: string[] | undefined;
625
+ }[] | undefined;
626
626
  websiteUrl?: string | undefined;
627
627
  };
628
628
  apps: import("../interfaces").Type<unknown>[];
@@ -657,34 +657,34 @@ export declare const frontMcpMetadataSchema: z.ZodUnion<[z.ZodObject<{
657
657
  src: z.ZodString;
658
658
  mimeType: z.ZodOptional<z.ZodString>;
659
659
  sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
660
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
661
- src: z.ZodString;
662
- mimeType: z.ZodOptional<z.ZodString>;
663
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
664
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
665
- src: z.ZodString;
666
- mimeType: z.ZodOptional<z.ZodString>;
667
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
668
- }, z.ZodTypeAny, "passthrough">>, "many">>;
660
+ }, "strip", z.ZodTypeAny, {
661
+ src: string;
662
+ mimeType?: string | undefined;
663
+ sizes?: string[] | undefined;
664
+ }, {
665
+ src: string;
666
+ mimeType?: string | undefined;
667
+ sizes?: string[] | undefined;
668
+ }>, "many">>;
669
669
  }, "strip", z.ZodTypeAny, {
670
670
  name: string;
671
671
  version: string;
672
672
  title?: string | undefined;
673
- icons?: z.objectOutputType<{
674
- src: z.ZodString;
675
- mimeType: z.ZodOptional<z.ZodString>;
676
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
677
- }, z.ZodTypeAny, "passthrough">[] | undefined;
673
+ icons?: {
674
+ src: string;
675
+ mimeType?: string | undefined;
676
+ sizes?: string[] | undefined;
677
+ }[] | undefined;
678
678
  websiteUrl?: string | undefined;
679
679
  }, {
680
680
  name: string;
681
681
  version: string;
682
682
  title?: string | undefined;
683
- icons?: z.objectInputType<{
684
- src: z.ZodString;
685
- mimeType: z.ZodOptional<z.ZodString>;
686
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
687
- }, z.ZodTypeAny, "passthrough">[] | undefined;
683
+ icons?: {
684
+ src: string;
685
+ mimeType?: string | undefined;
686
+ sizes?: string[] | undefined;
687
+ }[] | undefined;
688
688
  websiteUrl?: string | undefined;
689
689
  }>;
690
690
  providers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>>;
@@ -852,11 +852,11 @@ export declare const frontMcpMetadataSchema: z.ZodUnion<[z.ZodObject<{
852
852
  name: string;
853
853
  version: string;
854
854
  title?: string | undefined;
855
- icons?: z.objectOutputType<{
856
- src: z.ZodString;
857
- mimeType: z.ZodOptional<z.ZodString>;
858
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
859
- }, z.ZodTypeAny, "passthrough">[] | undefined;
855
+ icons?: {
856
+ src: string;
857
+ mimeType?: string | undefined;
858
+ sizes?: string[] | undefined;
859
+ }[] | undefined;
860
860
  websiteUrl?: string | undefined;
861
861
  };
862
862
  apps: import("../interfaces").Type<unknown>[];
@@ -917,11 +917,11 @@ export declare const frontMcpMetadataSchema: z.ZodUnion<[z.ZodObject<{
917
917
  name: string;
918
918
  version: string;
919
919
  title?: string | undefined;
920
- icons?: z.objectInputType<{
921
- src: z.ZodString;
922
- mimeType: z.ZodOptional<z.ZodString>;
923
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
924
- }, z.ZodTypeAny, "passthrough">[] | undefined;
920
+ icons?: {
921
+ src: string;
922
+ mimeType?: string | undefined;
923
+ sizes?: string[] | undefined;
924
+ }[] | undefined;
925
925
  websiteUrl?: string | undefined;
926
926
  };
927
927
  apps: import("../interfaces").Type<unknown>[];
@@ -988,34 +988,34 @@ export declare const frontMcpMetadataSchema: z.ZodUnion<[z.ZodObject<{
988
988
  src: z.ZodString;
989
989
  mimeType: z.ZodOptional<z.ZodString>;
990
990
  sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
991
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
992
- src: z.ZodString;
993
- mimeType: z.ZodOptional<z.ZodString>;
994
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
995
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
996
- src: z.ZodString;
997
- mimeType: z.ZodOptional<z.ZodString>;
998
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
999
- }, z.ZodTypeAny, "passthrough">>, "many">>;
991
+ }, "strip", z.ZodTypeAny, {
992
+ src: string;
993
+ mimeType?: string | undefined;
994
+ sizes?: string[] | undefined;
995
+ }, {
996
+ src: string;
997
+ mimeType?: string | undefined;
998
+ sizes?: string[] | undefined;
999
+ }>, "many">>;
1000
1000
  }, "strip", z.ZodTypeAny, {
1001
1001
  name: string;
1002
1002
  version: string;
1003
1003
  title?: string | undefined;
1004
- icons?: z.objectOutputType<{
1005
- src: z.ZodString;
1006
- mimeType: z.ZodOptional<z.ZodString>;
1007
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1008
- }, z.ZodTypeAny, "passthrough">[] | undefined;
1004
+ icons?: {
1005
+ src: string;
1006
+ mimeType?: string | undefined;
1007
+ sizes?: string[] | undefined;
1008
+ }[] | undefined;
1009
1009
  websiteUrl?: string | undefined;
1010
1010
  }, {
1011
1011
  name: string;
1012
1012
  version: string;
1013
1013
  title?: string | undefined;
1014
- icons?: z.objectInputType<{
1015
- src: z.ZodString;
1016
- mimeType: z.ZodOptional<z.ZodString>;
1017
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1018
- }, z.ZodTypeAny, "passthrough">[] | undefined;
1014
+ icons?: {
1015
+ src: string;
1016
+ mimeType?: string | undefined;
1017
+ sizes?: string[] | undefined;
1018
+ }[] | undefined;
1019
1019
  websiteUrl?: string | undefined;
1020
1020
  }>;
1021
1021
  providers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>>;
@@ -1069,11 +1069,11 @@ export declare const frontMcpMetadataSchema: z.ZodUnion<[z.ZodObject<{
1069
1069
  name: string;
1070
1070
  version: string;
1071
1071
  title?: string | undefined;
1072
- icons?: z.objectOutputType<{
1073
- src: z.ZodString;
1074
- mimeType: z.ZodOptional<z.ZodString>;
1075
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1076
- }, z.ZodTypeAny, "passthrough">[] | undefined;
1072
+ icons?: {
1073
+ src: string;
1074
+ mimeType?: string | undefined;
1075
+ sizes?: string[] | undefined;
1076
+ }[] | undefined;
1077
1077
  websiteUrl?: string | undefined;
1078
1078
  };
1079
1079
  apps: import("../interfaces").Type<unknown>[];
@@ -1100,11 +1100,11 @@ export declare const frontMcpMetadataSchema: z.ZodUnion<[z.ZodObject<{
1100
1100
  name: string;
1101
1101
  version: string;
1102
1102
  title?: string | undefined;
1103
- icons?: z.objectInputType<{
1104
- src: z.ZodString;
1105
- mimeType: z.ZodOptional<z.ZodString>;
1106
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1107
- }, z.ZodTypeAny, "passthrough">[] | undefined;
1103
+ icons?: {
1104
+ src: string;
1105
+ mimeType?: string | undefined;
1106
+ sizes?: string[] | undefined;
1107
+ }[] | undefined;
1108
1108
  websiteUrl?: string | undefined;
1109
1109
  };
1110
1110
  apps: import("../interfaces").Type<unknown>[];
@@ -1,5 +1,6 @@
1
- import { Token } from "../interfaces";
2
- import { FlowName } from "./flow.metadata";
1
+ import { Token } from '../interfaces';
2
+ import { FlowName } from './flow.metadata';
3
+ import { EntryOwnerRef } from '../entries/base.entry';
3
4
  export type HookStageType = 'stage' | 'will' | 'did' | 'around';
4
5
  export type HookPriority = number;
5
6
  export interface HookOptions<Ctx> {
@@ -16,4 +17,5 @@ export interface HookMetadata<Name extends FlowName = FlowName, Stage = string,
16
17
  target: Token;
17
18
  method: string;
18
19
  static?: boolean;
20
+ owner?: EntryOwnerRef;
19
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hook.metadata.js","sourceRoot":"","sources":["../../../../src/common/metadata/hook.metadata.ts"],"names":[],"mappings":"","sourcesContent":["import {Token} from \"../interfaces\";\nimport {FlowName} from \"./flow.metadata\";\n\nexport type HookStageType = 'stage' | 'will' | 'did' | 'around';\nexport type HookPriority = number;\n\n\nexport interface HookOptions<Ctx> {\n priority?: HookPriority;\n filter?: (ctx: Ctx) => boolean | Promise<boolean>;\n}\n\nexport interface TokenHookMetadata {\n hooks: HookMetadata[];\n}\n\nexport interface HookMetadata<Name extends FlowName = FlowName, Stage = string, Ctx = any> extends HookOptions<Ctx> {\n type: HookStageType;\n flow: Name,\n stage: Stage;\n target: Token;\n method: string;\n static?: boolean;\n}"]}
1
+ {"version":3,"file":"hook.metadata.js","sourceRoot":"","sources":["../../../../src/common/metadata/hook.metadata.ts"],"names":[],"mappings":"","sourcesContent":["import { Token } from '../interfaces';\nimport { FlowName } from './flow.metadata';\nimport { EntryOwnerRef } from '../entries/base.entry';\n\nexport type HookStageType = 'stage' | 'will' | 'did' | 'around';\nexport type HookPriority = number;\n\nexport interface HookOptions<Ctx> {\n priority?: HookPriority;\n filter?: (ctx: Ctx) => boolean | Promise<boolean>;\n}\n\nexport interface TokenHookMetadata {\n hooks: HookMetadata[];\n}\n\nexport interface HookMetadata<Name extends FlowName = FlowName, Stage = string, Ctx = any> extends HookOptions<Ctx> {\n type: HookStageType;\n flow: Name;\n stage: Stage;\n target: Token;\n method: string;\n static?: boolean;\n owner?: EntryOwnerRef;\n}\n"]}
@@ -39,7 +39,7 @@ export interface FrontMcpPromptMetadata extends ExtendFrontMcpPromptMetadata {
39
39
  /**
40
40
  * A description of what this resource represents.
41
41
  *
42
- * This can be used by clients to improve the LLM's understanding of available resources. It can be thought of like a "hint" to the model.
42
+ * Clients can use this to improve the LLM's understanding of available resources. It can be thought of as a "hint" to the model.
43
43
  */
44
44
  description?: string;
45
45
  /**
@@ -99,15 +99,15 @@ export declare const frontMcpPromptMetadataSchema: z.ZodObject<{
99
99
  src: z.ZodString;
100
100
  mimeType: z.ZodOptional<z.ZodString>;
101
101
  sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
102
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
103
- src: z.ZodString;
104
- mimeType: z.ZodOptional<z.ZodString>;
105
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
106
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
107
- src: z.ZodString;
108
- mimeType: z.ZodOptional<z.ZodString>;
109
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
110
- }, z.ZodTypeAny, "passthrough">>, "many">>;
102
+ }, "strip", z.ZodTypeAny, {
103
+ src: string;
104
+ mimeType?: string | undefined;
105
+ sizes?: string[] | undefined;
106
+ }, {
107
+ src: string;
108
+ mimeType?: string | undefined;
109
+ sizes?: string[] | undefined;
110
+ }>, "many">>;
111
111
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
112
112
  name: z.ZodString;
113
113
  title: z.ZodOptional<z.ZodString>;
@@ -156,15 +156,15 @@ export declare const frontMcpPromptMetadataSchema: z.ZodObject<{
156
156
  src: z.ZodString;
157
157
  mimeType: z.ZodOptional<z.ZodString>;
158
158
  sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
159
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
160
- src: z.ZodString;
161
- mimeType: z.ZodOptional<z.ZodString>;
162
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
163
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
164
- src: z.ZodString;
165
- mimeType: z.ZodOptional<z.ZodString>;
166
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
167
- }, z.ZodTypeAny, "passthrough">>, "many">>;
159
+ }, "strip", z.ZodTypeAny, {
160
+ src: string;
161
+ mimeType?: string | undefined;
162
+ sizes?: string[] | undefined;
163
+ }, {
164
+ src: string;
165
+ mimeType?: string | undefined;
166
+ sizes?: string[] | undefined;
167
+ }>, "many">>;
168
168
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
169
169
  name: z.ZodString;
170
170
  title: z.ZodOptional<z.ZodString>;
@@ -213,14 +213,14 @@ export declare const frontMcpPromptMetadataSchema: z.ZodObject<{
213
213
  src: z.ZodString;
214
214
  mimeType: z.ZodOptional<z.ZodString>;
215
215
  sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
216
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
217
- src: z.ZodString;
218
- mimeType: z.ZodOptional<z.ZodString>;
219
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
220
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
221
- src: z.ZodString;
222
- mimeType: z.ZodOptional<z.ZodString>;
223
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
224
- }, z.ZodTypeAny, "passthrough">>, "many">>;
216
+ }, "strip", z.ZodTypeAny, {
217
+ src: string;
218
+ mimeType?: string | undefined;
219
+ sizes?: string[] | undefined;
220
+ }, {
221
+ src: string;
222
+ mimeType?: string | undefined;
223
+ sizes?: string[] | undefined;
224
+ }>, "many">>;
225
225
  }, z.ZodTypeAny, "passthrough">>;
226
226
  export { FrontMcpPromptMetadata as PromptMetadata, };
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.metadata.js","sourceRoot":"","sources":["../../../../src/common/metadata/prompt.metadata.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,iEAAsE;AAyBtE,MAAM,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC;;OAEG;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB;;OAEG;IACH,WAAW,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACnC;;OAEG;IACH,QAAQ,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;CAClC,CAAC,CAAC,WAAW,EAAE,CAAC;AAsCJ,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;IACnD,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,qBAAU,CAAC,CAAC,QAAQ,EAAE;CACsC,CAAC,CAAC,WAAW,EAAE,CAAC","sourcesContent":["import { z } from 'zod';\nimport { RawZodShape } from '../types';\nimport { Icon, IconSchema } from '@modelcontextprotocol/sdk/types.js';\n\ndeclare global {\n /**\n * Declarative metadata extends to McpPrompt decorator.\n */\n export interface ExtendFrontMcpPromptMetadata {\n }\n}\n\ninterface PromptArgument {\n /**\n * The name of the argument.\n */\n name: string;\n /**\n * A human-readable description of the argument.\n */\n description?: string;\n /**\n * Whether this argument must be provided.\n */\n required?: boolean;\n}\n\nconst promptArgumentSchema = z.object({\n /**\n * The name of the argument.\n */\n name: z.string(),\n /**\n * A human-readable description of the argument.\n */\n description: z.optional(z.string()),\n /**\n * Whether this argument must be provided.\n */\n required: z.optional(z.boolean()),\n}).passthrough();\n\n\n/**\n * A known resource that the server is capable of reading.\n */\nexport interface FrontMcpPromptMetadata extends ExtendFrontMcpPromptMetadata {\n /** Intended for programmatic or logical use, but used as a display name in past specs or fallback */\n name: string;\n /**\n * Intended for UI and end-user contexts — optimized to be human-readable and easily understood,\n * even by those unfamiliar with domain-specific terminology.\n *\n * If not provided, the name should be used for display (except for Tool,\n * where `annotations.title` should be given precedence over using `name`,\n * if present).\n */\n title?: string;\n\n /**\n * A description of what this resource represents.\n *\n * This can be used by clients to improve the LLM's understanding of available resources. It can be thought of like a \"hint\" to the model.\n */\n description?: string;\n\n /**\n * A list of arguments to use for templating the prompt.\n */\n arguments: PromptArgument[],\n\n /**\n * A list of icons that can be used to represent this resource template.\n */\n icons?: Icon[];\n}\n\n\nexport const frontMcpPromptMetadataSchema = z.object({\n name: z.string().min(1),\n title: z.string().optional(),\n description: z.string().optional(),\n arguments: z.array(promptArgumentSchema).optional(),\n icons: z.array(IconSchema).optional(),\n} satisfies RawZodShape<FrontMcpPromptMetadata, ExtendFrontMcpPromptMetadata>).passthrough();\n\n\nexport {\n FrontMcpPromptMetadata as PromptMetadata,\n};"]}
1
+ {"version":3,"file":"prompt.metadata.js","sourceRoot":"","sources":["../../../../src/common/metadata/prompt.metadata.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,iEAAsE;AAyBtE,MAAM,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC;;OAEG;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB;;OAEG;IACH,WAAW,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACnC;;OAEG;IACH,QAAQ,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;CAClC,CAAC,CAAC,WAAW,EAAE,CAAC;AAsCJ,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;IACnD,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,qBAAU,CAAC,CAAC,QAAQ,EAAE;CACsC,CAAC,CAAC,WAAW,EAAE,CAAC","sourcesContent":["import { z } from 'zod';\nimport { RawZodShape } from '../types';\nimport { Icon, IconSchema } from '@modelcontextprotocol/sdk/types.js';\n\ndeclare global {\n /**\n * Declarative metadata extends to McpPrompt decorator.\n */\n export interface ExtendFrontMcpPromptMetadata {\n }\n}\n\ninterface PromptArgument {\n /**\n * The name of the argument.\n */\n name: string;\n /**\n * A human-readable description of the argument.\n */\n description?: string;\n /**\n * Whether this argument must be provided.\n */\n required?: boolean;\n}\n\nconst promptArgumentSchema = z.object({\n /**\n * The name of the argument.\n */\n name: z.string(),\n /**\n * A human-readable description of the argument.\n */\n description: z.optional(z.string()),\n /**\n * Whether this argument must be provided.\n */\n required: z.optional(z.boolean()),\n}).passthrough();\n\n\n/**\n * A known resource that the server is capable of reading.\n */\nexport interface FrontMcpPromptMetadata extends ExtendFrontMcpPromptMetadata {\n /** Intended for programmatic or logical use, but used as a display name in past specs or fallback */\n name: string;\n /**\n * Intended for UI and end-user contexts — optimized to be human-readable and easily understood,\n * even by those unfamiliar with domain-specific terminology.\n *\n * If not provided, the name should be used for display (except for Tool,\n * where `annotations.title` should be given precedence over using `name`,\n * if present).\n */\n title?: string;\n\n /**\n * A description of what this resource represents.\n *\n * Clients can use this to improve the LLM's understanding of available resources. It can be thought of as a \"hint\" to the model.\n */\n description?: string;\n\n /**\n * A list of arguments to use for templating the prompt.\n */\n arguments: PromptArgument[],\n\n /**\n * A list of icons that can be used to represent this resource template.\n */\n icons?: Icon[];\n}\n\n\nexport const frontMcpPromptMetadataSchema = z.object({\n name: z.string().min(1),\n title: z.string().optional(),\n description: z.string().optional(),\n arguments: z.array(promptArgumentSchema).optional(),\n icons: z.array(IconSchema).optional(),\n} satisfies RawZodShape<FrontMcpPromptMetadata, ExtendFrontMcpPromptMetadata>).passthrough();\n\n\nexport {\n FrontMcpPromptMetadata as PromptMetadata,\n};\n"]}