@x12i/ai-gateway 7.9.1

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 (179) hide show
  1. package/README.md +4259 -0
  2. package/config.defaults.json +31 -0
  3. package/dist/activity-manager.d.ts +206 -0
  4. package/dist/activity-manager.js +1051 -0
  5. package/dist/config/activity-tracking-config.d.ts +11 -0
  6. package/dist/config/activity-tracking-config.js +15 -0
  7. package/dist/config.defaults.json +31 -0
  8. package/dist/content-normalizer/content-normalizer.d.ts +46 -0
  9. package/dist/content-normalizer/content-normalizer.js +393 -0
  10. package/dist/content-normalizer/index.d.ts +7 -0
  11. package/dist/content-normalizer/index.js +6 -0
  12. package/dist/content-normalizer/types.d.ts +33 -0
  13. package/dist/content-normalizer/types.js +4 -0
  14. package/dist/defaults/instructions-blocks.json +61 -0
  15. package/dist/defaults/model-config.json +16 -0
  16. package/dist/defaults/template-rendering.json +6 -0
  17. package/dist/flex-md-loader.d.ts +109 -0
  18. package/dist/flex-md-loader.js +940 -0
  19. package/dist/gateway-config.d.ts +49 -0
  20. package/dist/gateway-config.js +292 -0
  21. package/dist/gateway-conversion.d.ts +29 -0
  22. package/dist/gateway-conversion.js +174 -0
  23. package/dist/gateway-instructions.d.ts +30 -0
  24. package/dist/gateway-instructions.js +62 -0
  25. package/dist/gateway-memory.d.ts +51 -0
  26. package/dist/gateway-memory.js +207 -0
  27. package/dist/gateway-messages.d.ts +23 -0
  28. package/dist/gateway-messages.js +83 -0
  29. package/dist/gateway-meta.d.ts +25 -0
  30. package/dist/gateway-meta.js +87 -0
  31. package/dist/gateway-provider-auto-register.d.ts +17 -0
  32. package/dist/gateway-provider-auto-register.js +159 -0
  33. package/dist/gateway-provider.d.ts +54 -0
  34. package/dist/gateway-provider.js +202 -0
  35. package/dist/gateway-rate-limiter-constants.d.ts +16 -0
  36. package/dist/gateway-rate-limiter-constants.js +16 -0
  37. package/dist/gateway-rate-limiter.d.ts +56 -0
  38. package/dist/gateway-rate-limiter.js +107 -0
  39. package/dist/gateway-retry.d.ts +49 -0
  40. package/dist/gateway-retry.js +204 -0
  41. package/dist/gateway-utils.d.ts +21 -0
  42. package/dist/gateway-utils.js +181 -0
  43. package/dist/gateway-validation.d.ts +13 -0
  44. package/dist/gateway-validation.js +50 -0
  45. package/dist/gateway.d.ts +39 -0
  46. package/dist/gateway.js +430 -0
  47. package/dist/index.d.ts +36 -0
  48. package/dist/index.js +55 -0
  49. package/dist/instruction-errors.d.ts +16 -0
  50. package/dist/instruction-errors.js +29 -0
  51. package/dist/instruction-optimizer.d.ts +113 -0
  52. package/dist/instruction-optimizer.js +293 -0
  53. package/dist/instructions-parser.d.ts +31 -0
  54. package/dist/instructions-parser.js +56 -0
  55. package/dist/logger-factory.d.ts +17 -0
  56. package/dist/logger-factory.js +42 -0
  57. package/dist/message-builder.d.ts +41 -0
  58. package/dist/message-builder.js +522 -0
  59. package/dist/object-types-library-integration.d.ts +22 -0
  60. package/dist/object-types-library-integration.js +27 -0
  61. package/dist/object-types-library.d.ts +351 -0
  62. package/dist/object-types-library.js +210 -0
  63. package/dist/output-auditor.d.ts +44 -0
  64. package/dist/output-auditor.js +49 -0
  65. package/dist/request-report-generator.d.ts +60 -0
  66. package/dist/request-report-generator.js +169 -0
  67. package/dist/response-analyzer/format-type-detector.d.ts +35 -0
  68. package/dist/response-analyzer/format-type-detector.js +115 -0
  69. package/dist/response-analyzer/index.d.ts +9 -0
  70. package/dist/response-analyzer/index.js +8 -0
  71. package/dist/response-analyzer/object-type-detector.d.ts +42 -0
  72. package/dist/response-analyzer/object-type-detector.js +95 -0
  73. package/dist/response-analyzer/response-analyzer.d.ts +38 -0
  74. package/dist/response-analyzer/response-analyzer.js +97 -0
  75. package/dist/response-analyzer/types.d.ts +97 -0
  76. package/dist/response-analyzer/types.js +4 -0
  77. package/dist/response-fallback-fixer.d.ts +11 -0
  78. package/dist/response-fallback-fixer.js +123 -0
  79. package/dist/runtime-objects.d.ts +52 -0
  80. package/dist/runtime-objects.js +46 -0
  81. package/dist/template-parser.d.ts +58 -0
  82. package/dist/template-parser.js +99 -0
  83. package/dist/template-render-merge.d.ts +9 -0
  84. package/dist/template-render-merge.js +40 -0
  85. package/dist/troubleshooting-helper.d.ts +123 -0
  86. package/dist/troubleshooting-helper.js +596 -0
  87. package/dist/types.d.ts +1173 -0
  88. package/dist/types.js +6 -0
  89. package/dist/usage-tracker.d.ts +78 -0
  90. package/dist/usage-tracker.js +79 -0
  91. package/dist-cjs/activity-manager.cjs +1056 -0
  92. package/dist-cjs/activity-manager.d.ts +206 -0
  93. package/dist-cjs/config/activity-tracking-config.cjs +18 -0
  94. package/dist-cjs/config/activity-tracking-config.d.ts +11 -0
  95. package/dist-cjs/config.defaults.json +31 -0
  96. package/dist-cjs/content-normalizer/content-normalizer.cjs +398 -0
  97. package/dist-cjs/content-normalizer/content-normalizer.d.ts +46 -0
  98. package/dist-cjs/content-normalizer/index.cjs +12 -0
  99. package/dist-cjs/content-normalizer/index.d.ts +7 -0
  100. package/dist-cjs/content-normalizer/types.cjs +5 -0
  101. package/dist-cjs/content-normalizer/types.d.ts +33 -0
  102. package/dist-cjs/defaults/instructions-blocks.json +61 -0
  103. package/dist-cjs/defaults/model-config.json +16 -0
  104. package/dist-cjs/defaults/template-rendering.json +6 -0
  105. package/dist-cjs/flex-md-loader.cjs +986 -0
  106. package/dist-cjs/flex-md-loader.d.ts +109 -0
  107. package/dist-cjs/gateway-config.cjs +331 -0
  108. package/dist-cjs/gateway-config.d.ts +49 -0
  109. package/dist-cjs/gateway-conversion.cjs +212 -0
  110. package/dist-cjs/gateway-conversion.d.ts +29 -0
  111. package/dist-cjs/gateway-instructions.cjs +67 -0
  112. package/dist-cjs/gateway-instructions.d.ts +30 -0
  113. package/dist-cjs/gateway-memory.cjs +211 -0
  114. package/dist-cjs/gateway-memory.d.ts +51 -0
  115. package/dist-cjs/gateway-messages.cjs +86 -0
  116. package/dist-cjs/gateway-messages.d.ts +23 -0
  117. package/dist-cjs/gateway-meta.cjs +90 -0
  118. package/dist-cjs/gateway-meta.d.ts +25 -0
  119. package/dist-cjs/gateway-provider-auto-register.cjs +195 -0
  120. package/dist-cjs/gateway-provider-auto-register.d.ts +17 -0
  121. package/dist-cjs/gateway-provider.cjs +214 -0
  122. package/dist-cjs/gateway-provider.d.ts +54 -0
  123. package/dist-cjs/gateway-rate-limiter-constants.cjs +19 -0
  124. package/dist-cjs/gateway-rate-limiter-constants.d.ts +16 -0
  125. package/dist-cjs/gateway-rate-limiter.cjs +111 -0
  126. package/dist-cjs/gateway-rate-limiter.d.ts +56 -0
  127. package/dist-cjs/gateway-retry.cjs +212 -0
  128. package/dist-cjs/gateway-retry.d.ts +49 -0
  129. package/dist-cjs/gateway-utils.cjs +219 -0
  130. package/dist-cjs/gateway-utils.d.ts +21 -0
  131. package/dist-cjs/gateway-validation.cjs +54 -0
  132. package/dist-cjs/gateway-validation.d.ts +13 -0
  133. package/dist-cjs/gateway.cjs +434 -0
  134. package/dist-cjs/gateway.d.ts +39 -0
  135. package/dist-cjs/index.cjs +108 -0
  136. package/dist-cjs/index.d.ts +36 -0
  137. package/dist-cjs/instruction-errors.cjs +34 -0
  138. package/dist-cjs/instruction-errors.d.ts +16 -0
  139. package/dist-cjs/instruction-optimizer.cjs +299 -0
  140. package/dist-cjs/instruction-optimizer.d.ts +113 -0
  141. package/dist-cjs/instructions-parser.cjs +61 -0
  142. package/dist-cjs/instructions-parser.d.ts +31 -0
  143. package/dist-cjs/logger-factory.cjs +45 -0
  144. package/dist-cjs/logger-factory.d.ts +17 -0
  145. package/dist-cjs/message-builder.cjs +558 -0
  146. package/dist-cjs/message-builder.d.ts +41 -0
  147. package/dist-cjs/object-types-library-integration.cjs +32 -0
  148. package/dist-cjs/object-types-library-integration.d.ts +22 -0
  149. package/dist-cjs/object-types-library.cjs +215 -0
  150. package/dist-cjs/object-types-library.d.ts +351 -0
  151. package/dist-cjs/output-auditor.cjs +52 -0
  152. package/dist-cjs/output-auditor.d.ts +44 -0
  153. package/dist-cjs/request-report-generator.cjs +172 -0
  154. package/dist-cjs/request-report-generator.d.ts +60 -0
  155. package/dist-cjs/response-analyzer/format-type-detector.cjs +119 -0
  156. package/dist-cjs/response-analyzer/format-type-detector.d.ts +35 -0
  157. package/dist-cjs/response-analyzer/index.cjs +14 -0
  158. package/dist-cjs/response-analyzer/index.d.ts +9 -0
  159. package/dist-cjs/response-analyzer/object-type-detector.cjs +99 -0
  160. package/dist-cjs/response-analyzer/object-type-detector.d.ts +42 -0
  161. package/dist-cjs/response-analyzer/response-analyzer.cjs +101 -0
  162. package/dist-cjs/response-analyzer/response-analyzer.d.ts +38 -0
  163. package/dist-cjs/response-analyzer/types.cjs +5 -0
  164. package/dist-cjs/response-analyzer/types.d.ts +97 -0
  165. package/dist-cjs/response-fallback-fixer.cjs +126 -0
  166. package/dist-cjs/response-fallback-fixer.d.ts +11 -0
  167. package/dist-cjs/runtime-objects.cjs +52 -0
  168. package/dist-cjs/runtime-objects.d.ts +52 -0
  169. package/dist-cjs/template-parser.cjs +136 -0
  170. package/dist-cjs/template-parser.d.ts +58 -0
  171. package/dist-cjs/template-render-merge.cjs +43 -0
  172. package/dist-cjs/template-render-merge.d.ts +9 -0
  173. package/dist-cjs/troubleshooting-helper.cjs +611 -0
  174. package/dist-cjs/troubleshooting-helper.d.ts +123 -0
  175. package/dist-cjs/types.cjs +7 -0
  176. package/dist-cjs/types.d.ts +1173 -0
  177. package/dist-cjs/usage-tracker.cjs +83 -0
  178. package/dist-cjs/usage-tracker.d.ts +78 -0
  179. package/package.json +91 -0
@@ -0,0 +1,109 @@
1
+ /**
2
+ * @x12i/flex-md Loader
3
+ *
4
+ * Handles ES Module loading and provides unified API for flex-md operations.
5
+ * @x12i/flex-md is an ES Module, so we use dynamic import() instead of require().
6
+ *
7
+ * Features:
8
+ * - extractJsonFromFlexMd: Extract and parse JSON from flex-md content
9
+ * - buildDynamicInstructions: Build output format instructions from schema objects (3.1+)
10
+ * - Embedded nx-md-parser: flex-md 4.x includes nx-md-parser functionality (no separate package needed)
11
+ * - Utilizes latest flex-md 4.x APIs: extractFromMarkdown, transformWithOfs, processResponseMarkdown
12
+ * - Memory/caching: flex-md 4.x functions may utilize internal memory/caching for performance
13
+ * - Native output format support: Extracts and uses flex-md native output formats from instructions
14
+ * based on compliance level when no explicit format is provided
15
+ */
16
+ /**
17
+ * Load flex-md module (ES Module) asynchronously
18
+ * Caches the result to avoid multiple imports
19
+ */
20
+ export declare function loadFlexMd(): Promise<any>;
21
+ /**
22
+ * Extract and parse JSON from flex-md content (unstructured parsing only)
23
+ * Uses flex-md 4.2.0 APIs with latest features for unstructured markdown conversion
24
+ *
25
+ * ARCHITECTURE: This function only handles unstructured parsing at ai-gateway layer
26
+ * Schema-driven parsing happens at skills layer with nx-md-parser
27
+ *
28
+ * Supports flex-md native output formats from instructions:
29
+ * - Extracts flex-md output format from instructions when provided
30
+ * - Uses the extracted format based on compliance level for parsing
31
+ * - Falls back to simple markdown parsing when flex-md is unavailable
32
+ *
33
+ * @param content - The markdown content to parse (unstructured)
34
+ * @param options - Optional flex-md options:
35
+ * - instructions: Instruction text to guide unstructured parsing
36
+ * - complianceLevel: Compliance level ('L0' | 'L1' | 'L2' | 'L3') for format extraction
37
+ * - spec: Pre-parsed flex-md output format spec
38
+ * - Other flex-md options
39
+ * @returns Parsed JSON object and method used, or null if parsing fails
40
+ */
41
+ export declare function extractJsonFromFlexMd(content: string): Promise<{
42
+ json: any;
43
+ method: string;
44
+ } | null>;
45
+ /**
46
+ * Check if flex-md module is available
47
+ */
48
+ export declare function isFlexMdAvailable(): boolean;
49
+ /**
50
+ * Get maxTokens for a model from flex-md if available
51
+ * Tries various flex-md APIs to get model information and maxTokens
52
+ *
53
+ * @param provider - Provider name (e.g., 'openai', 'anthropic')
54
+ * @param model - Model name (e.g., 'gpt-4', 'claude-3-opus')
55
+ * @returns maxTokens if found, null otherwise
56
+ */
57
+ export declare function getModelMaxTokensFromFlexMd(provider: string, model: string): Promise<number | null>;
58
+ /**
59
+ * Get flex-md module directly (must call loadFlexMd() first)
60
+ */
61
+ export declare function getFlexMdModule(): any;
62
+ export declare function buildDynamicInstructions(schemaObject: Record<string, any> | any, options?: {
63
+ title?: string;
64
+ description?: string;
65
+ includeExamples?: boolean;
66
+ }): Promise<string | null>;
67
+ /**
68
+ * Enrich instructions with flex-md compliance guidance (flex-md 3.0+ feature)
69
+ * Adds appropriate flex-md format instructions based on strictness level
70
+ *
71
+ * @param instructions - Base instructions text
72
+ * @param strictnessLevel - Compliance level ('L0' | 'L1' | 'L2' | 'L3')
73
+ * @returns Enriched instructions with flex-md guidance
74
+ */
75
+ export declare function enrichInstructionsWithFlexMd(instructions: string, strictnessLevel?: 'L0' | 'L1' | 'L2' | 'L3'): Promise<string>;
76
+ /**
77
+ * Get strictness defaults for a compliance level (flex-md 3.0+ feature)
78
+ * Returns configuration object for the specified compliance level
79
+ *
80
+ * @param strictnessLevel - Compliance level ('L0' | 'L1' | 'L2' | 'L3')
81
+ * @returns Configuration object with level-specific defaults
82
+ */
83
+ export declare function getStrictnessDefaults(strictnessLevel?: 'L0' | 'L1' | 'L2' | 'L3'): Promise<Record<string, any> | null>;
84
+ /**
85
+ * Enforce flex-md format in instructions (flex-md 3.0+ feature)
86
+ * Adds enforcement rules based on output format spec and strictness level
87
+ *
88
+ * @param instructions - Base instructions text
89
+ * @param outputFormatSpec - Output format specification (optional)
90
+ * @param strictnessLevel - Compliance level ('L0' | 'L1' | 'L2' | 'L3')
91
+ * @returns Instructions with flex-md enforcement rules
92
+ */
93
+ export declare function enforceFlexMdFormat(instructions: string, outputFormatSpec?: any, strictnessLevel?: 'L0' | 'L1' | 'L2' | 'L3'): Promise<string>;
94
+ /**
95
+ * Check if instructions meet a specific flex-md compliance level
96
+ *
97
+ * @param instructions - Instructions text to check
98
+ * @param complianceLevel - Required compliance level
99
+ * @returns true if instructions meet the compliance level
100
+ */
101
+ export declare function hasFlexMdContract(instructions: string, complianceLevel?: 'L0' | 'L1' | 'L2' | 'L3'): Promise<boolean>;
102
+ /**
103
+ * Detect the actual compliance level that instructions meet
104
+ * Checks from highest (L3) to lowest (L0) to find the highest level met
105
+ *
106
+ * @param instructions - Instructions text to check
107
+ * @returns The highest compliance level met ('L0' | 'L1' | 'L2' | 'L3' | null if none)
108
+ */
109
+ export declare function detectComplianceLevel(instructions: string): Promise<'L0' | 'L1' | 'L2' | 'L3' | null>;