@mcp-graph-workflow/mcp-graph 5.5.3 → 5.6.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 (237) hide show
  1. package/dist/api/router.d.ts.map +1 -1
  2. package/dist/api/router.js +4 -0
  3. package/dist/api/router.js.map +1 -1
  4. package/dist/api/routes/code-graph.d.ts.map +1 -1
  5. package/dist/api/routes/code-graph.js +4 -1
  6. package/dist/api/routes/code-graph.js.map +1 -1
  7. package/dist/api/routes/journey.d.ts +4 -0
  8. package/dist/api/routes/journey.d.ts.map +1 -0
  9. package/dist/api/routes/journey.js +263 -0
  10. package/dist/api/routes/journey.js.map +1 -0
  11. package/dist/api/routes/siebel.d.ts +7 -0
  12. package/dist/api/routes/siebel.d.ts.map +1 -0
  13. package/dist/api/routes/siebel.js +305 -0
  14. package/dist/api/routes/siebel.js.map +1 -0
  15. package/dist/core/code/code-indexer.d.ts.map +1 -1
  16. package/dist/core/code/code-indexer.js +17 -2
  17. package/dist/core/code/code-indexer.js.map +1 -1
  18. package/dist/core/code/code-types.d.ts +1 -0
  19. package/dist/core/code/code-types.d.ts.map +1 -1
  20. package/dist/core/code/code-types.js.map +1 -1
  21. package/dist/core/code/ts-analyzer.d.ts +6 -0
  22. package/dist/core/code/ts-analyzer.d.ts.map +1 -1
  23. package/dist/core/code/ts-analyzer.js +9 -0
  24. package/dist/core/code/ts-analyzer.js.map +1 -1
  25. package/dist/core/context/rag-context.d.ts.map +1 -1
  26. package/dist/core/context/rag-context.js +21 -5
  27. package/dist/core/context/rag-context.js.map +1 -1
  28. package/dist/core/events/event-types.d.ts +63 -1
  29. package/dist/core/events/event-types.d.ts.map +1 -1
  30. package/dist/core/integrations/integration-orchestrator.d.ts +12 -0
  31. package/dist/core/integrations/integration-orchestrator.d.ts.map +1 -1
  32. package/dist/core/integrations/integration-orchestrator.js +36 -2
  33. package/dist/core/integrations/integration-orchestrator.js.map +1 -1
  34. package/dist/core/journey/journey-store.d.ts +137 -0
  35. package/dist/core/journey/journey-store.d.ts.map +1 -0
  36. package/dist/core/journey/journey-store.js +210 -0
  37. package/dist/core/journey/journey-store.js.map +1 -0
  38. package/dist/core/parser/file-reader.d.ts.map +1 -1
  39. package/dist/core/parser/file-reader.js +16 -1
  40. package/dist/core/parser/file-reader.js.map +1 -1
  41. package/dist/core/parser/read-docx.d.ts +17 -0
  42. package/dist/core/parser/read-docx.d.ts.map +1 -0
  43. package/dist/core/parser/read-docx.js +79 -0
  44. package/dist/core/parser/read-docx.js.map +1 -0
  45. package/dist/core/parser/read-swagger.d.ts +49 -0
  46. package/dist/core/parser/read-swagger.d.ts.map +1 -0
  47. package/dist/core/parser/read-swagger.js +332 -0
  48. package/dist/core/parser/read-swagger.js.map +1 -0
  49. package/dist/core/rag/chunk-text.d.ts +5 -0
  50. package/dist/core/rag/chunk-text.d.ts.map +1 -1
  51. package/dist/core/rag/chunk-text.js +135 -0
  52. package/dist/core/rag/chunk-text.js.map +1 -1
  53. package/dist/core/rag/code-context-indexer.d.ts +27 -0
  54. package/dist/core/rag/code-context-indexer.d.ts.map +1 -0
  55. package/dist/core/rag/code-context-indexer.js +53 -0
  56. package/dist/core/rag/code-context-indexer.js.map +1 -0
  57. package/dist/core/rag/decision-indexer.d.ts +20 -0
  58. package/dist/core/rag/decision-indexer.d.ts.map +1 -0
  59. package/dist/core/rag/decision-indexer.js +32 -0
  60. package/dist/core/rag/decision-indexer.js.map +1 -0
  61. package/dist/core/rag/journey-indexer.d.ts +16 -0
  62. package/dist/core/rag/journey-indexer.d.ts.map +1 -0
  63. package/dist/core/rag/journey-indexer.js +182 -0
  64. package/dist/core/rag/journey-indexer.js.map +1 -0
  65. package/dist/core/rag/knowledge-feedback.d.ts +15 -0
  66. package/dist/core/rag/knowledge-feedback.d.ts.map +1 -0
  67. package/dist/core/rag/knowledge-feedback.js +46 -0
  68. package/dist/core/rag/knowledge-feedback.js.map +1 -0
  69. package/dist/core/rag/knowledge-linker.d.ts +20 -0
  70. package/dist/core/rag/knowledge-linker.d.ts.map +1 -0
  71. package/dist/core/rag/knowledge-linker.js +107 -0
  72. package/dist/core/rag/knowledge-linker.js.map +1 -0
  73. package/dist/core/rag/knowledge-quality.d.ts +31 -0
  74. package/dist/core/rag/knowledge-quality.d.ts.map +1 -0
  75. package/dist/core/rag/knowledge-quality.js +127 -0
  76. package/dist/core/rag/knowledge-quality.js.map +1 -0
  77. package/dist/core/rag/knowledge-synthesizer.d.ts +17 -0
  78. package/dist/core/rag/knowledge-synthesizer.d.ts.map +1 -0
  79. package/dist/core/rag/knowledge-synthesizer.js +115 -0
  80. package/dist/core/rag/knowledge-synthesizer.js.map +1 -0
  81. package/dist/core/rag/memory-rag-query.d.ts +3 -3
  82. package/dist/core/rag/memory-rag-query.d.ts.map +1 -1
  83. package/dist/core/rag/memory-rag-query.js +18 -0
  84. package/dist/core/rag/memory-rag-query.js.map +1 -1
  85. package/dist/core/rag/multi-strategy-retrieval.d.ts +46 -0
  86. package/dist/core/rag/multi-strategy-retrieval.d.ts.map +1 -0
  87. package/dist/core/rag/multi-strategy-retrieval.js +140 -0
  88. package/dist/core/rag/multi-strategy-retrieval.js.map +1 -0
  89. package/dist/core/rag/rag-pipeline.d.ts +11 -0
  90. package/dist/core/rag/rag-pipeline.d.ts.map +1 -1
  91. package/dist/core/rag/rag-pipeline.js +39 -0
  92. package/dist/core/rag/rag-pipeline.js.map +1 -1
  93. package/dist/core/rag/siebel-indexer.d.ts +16 -0
  94. package/dist/core/rag/siebel-indexer.d.ts.map +1 -0
  95. package/dist/core/rag/siebel-indexer.js +75 -0
  96. package/dist/core/rag/siebel-indexer.js.map +1 -0
  97. package/dist/core/rag/swagger-indexer.d.ts +16 -0
  98. package/dist/core/rag/swagger-indexer.d.ts.map +1 -0
  99. package/dist/core/rag/swagger-indexer.js +119 -0
  100. package/dist/core/rag/swagger-indexer.js.map +1 -0
  101. package/dist/core/rag/validation-indexer.d.ts +23 -0
  102. package/dist/core/rag/validation-indexer.d.ts.map +1 -0
  103. package/dist/core/rag/validation-indexer.js +35 -0
  104. package/dist/core/rag/validation-indexer.js.map +1 -0
  105. package/dist/core/siebel/composer-automation.d.ts +77 -0
  106. package/dist/core/siebel/composer-automation.d.ts.map +1 -0
  107. package/dist/core/siebel/composer-automation.js +110 -0
  108. package/dist/core/siebel/composer-automation.js.map +1 -0
  109. package/dist/core/siebel/dependency-analyzer.d.ts +24 -0
  110. package/dist/core/siebel/dependency-analyzer.d.ts.map +1 -0
  111. package/dist/core/siebel/dependency-analyzer.js +174 -0
  112. package/dist/core/siebel/dependency-analyzer.js.map +1 -0
  113. package/dist/core/siebel/siebel-config.d.ts +28 -0
  114. package/dist/core/siebel/siebel-config.d.ts.map +1 -0
  115. package/dist/core/siebel/siebel-config.js +86 -0
  116. package/dist/core/siebel/siebel-config.js.map +1 -0
  117. package/dist/core/siebel/sif-context-assembler.d.ts +37 -0
  118. package/dist/core/siebel/sif-context-assembler.d.ts.map +1 -0
  119. package/dist/core/siebel/sif-context-assembler.js +259 -0
  120. package/dist/core/siebel/sif-context-assembler.js.map +1 -0
  121. package/dist/core/siebel/sif-generator.d.ts +26 -0
  122. package/dist/core/siebel/sif-generator.d.ts.map +1 -0
  123. package/dist/core/siebel/sif-generator.js +232 -0
  124. package/dist/core/siebel/sif-generator.js.map +1 -0
  125. package/dist/core/siebel/sif-parser.d.ts +16 -0
  126. package/dist/core/siebel/sif-parser.d.ts.map +1 -0
  127. package/dist/core/siebel/sif-parser.js +355 -0
  128. package/dist/core/siebel/sif-parser.js.map +1 -0
  129. package/dist/core/siebel/sif-templates.d.ts +45 -0
  130. package/dist/core/siebel/sif-templates.d.ts.map +1 -0
  131. package/dist/core/siebel/sif-templates.js +179 -0
  132. package/dist/core/siebel/sif-templates.js.map +1 -0
  133. package/dist/core/siebel/sif-to-graph.d.ts +20 -0
  134. package/dist/core/siebel/sif-to-graph.d.ts.map +1 -0
  135. package/dist/core/siebel/sif-to-graph.js +176 -0
  136. package/dist/core/siebel/sif-to-graph.js.map +1 -0
  137. package/dist/core/store/knowledge-store.d.ts +25 -0
  138. package/dist/core/store/knowledge-store.d.ts.map +1 -1
  139. package/dist/core/store/knowledge-store.js +72 -0
  140. package/dist/core/store/knowledge-store.js.map +1 -1
  141. package/dist/core/store/migrations.d.ts.map +1 -1
  142. package/dist/core/store/migrations.js +96 -0
  143. package/dist/core/store/migrations.js.map +1 -1
  144. package/dist/mcp/tools/index.d.ts.map +1 -1
  145. package/dist/mcp/tools/index.js +26 -0
  146. package/dist/mcp/tools/index.js.map +1 -1
  147. package/dist/mcp/tools/journey.d.ts +4 -0
  148. package/dist/mcp/tools/journey.d.ts.map +1 -0
  149. package/dist/mcp/tools/journey.js +154 -0
  150. package/dist/mcp/tools/journey.js.map +1 -0
  151. package/dist/mcp/tools/knowledge-feedback.d.ts +8 -0
  152. package/dist/mcp/tools/knowledge-feedback.d.ts.map +1 -0
  153. package/dist/mcp/tools/knowledge-feedback.js +35 -0
  154. package/dist/mcp/tools/knowledge-feedback.js.map +1 -0
  155. package/dist/mcp/tools/knowledge-stats.d.ts +9 -0
  156. package/dist/mcp/tools/knowledge-stats.d.ts.map +1 -0
  157. package/dist/mcp/tools/knowledge-stats.js +83 -0
  158. package/dist/mcp/tools/knowledge-stats.js.map +1 -0
  159. package/dist/mcp/tools/plan-sprint.d.ts.map +1 -1
  160. package/dist/mcp/tools/plan-sprint.js +7 -1
  161. package/dist/mcp/tools/plan-sprint.js.map +1 -1
  162. package/dist/mcp/tools/rag-context.d.ts.map +1 -1
  163. package/dist/mcp/tools/rag-context.js +43 -2
  164. package/dist/mcp/tools/rag-context.js.map +1 -1
  165. package/dist/mcp/tools/reindex-knowledge.d.ts.map +1 -1
  166. package/dist/mcp/tools/reindex-knowledge.js +23 -2
  167. package/dist/mcp/tools/reindex-knowledge.js.map +1 -1
  168. package/dist/mcp/tools/siebel-analyze.d.ts +8 -0
  169. package/dist/mcp/tools/siebel-analyze.d.ts.map +1 -0
  170. package/dist/mcp/tools/siebel-analyze.js +107 -0
  171. package/dist/mcp/tools/siebel-analyze.js.map +1 -0
  172. package/dist/mcp/tools/siebel-composer.d.ts +12 -0
  173. package/dist/mcp/tools/siebel-composer.d.ts.map +1 -0
  174. package/dist/mcp/tools/siebel-composer.js +59 -0
  175. package/dist/mcp/tools/siebel-composer.js.map +1 -0
  176. package/dist/mcp/tools/siebel-env.d.ts +8 -0
  177. package/dist/mcp/tools/siebel-env.d.ts.map +1 -0
  178. package/dist/mcp/tools/siebel-env.js +60 -0
  179. package/dist/mcp/tools/siebel-env.js.map +1 -0
  180. package/dist/mcp/tools/siebel-generate-sif.d.ts +8 -0
  181. package/dist/mcp/tools/siebel-generate-sif.d.ts.map +1 -0
  182. package/dist/mcp/tools/siebel-generate-sif.js +91 -0
  183. package/dist/mcp/tools/siebel-generate-sif.js.map +1 -0
  184. package/dist/mcp/tools/siebel-import-docs.d.ts +9 -0
  185. package/dist/mcp/tools/siebel-import-docs.d.ts.map +1 -0
  186. package/dist/mcp/tools/siebel-import-docs.js +106 -0
  187. package/dist/mcp/tools/siebel-import-docs.js.map +1 -0
  188. package/dist/mcp/tools/siebel-import-sif.d.ts +8 -0
  189. package/dist/mcp/tools/siebel-import-sif.d.ts.map +1 -0
  190. package/dist/mcp/tools/siebel-import-sif.js +68 -0
  191. package/dist/mcp/tools/siebel-import-sif.js.map +1 -0
  192. package/dist/mcp/tools/siebel-search.d.ts +8 -0
  193. package/dist/mcp/tools/siebel-search.d.ts.map +1 -0
  194. package/dist/mcp/tools/siebel-search.js +47 -0
  195. package/dist/mcp/tools/siebel-search.js.map +1 -0
  196. package/dist/mcp/tools/siebel-validate.d.ts +8 -0
  197. package/dist/mcp/tools/siebel-validate.d.ts.map +1 -0
  198. package/dist/mcp/tools/siebel-validate.js +107 -0
  199. package/dist/mcp/tools/siebel-validate.js.map +1 -0
  200. package/dist/mcp/tools/update-status.d.ts.map +1 -1
  201. package/dist/mcp/tools/update-status.js +22 -1
  202. package/dist/mcp/tools/update-status.js.map +1 -1
  203. package/dist/mcp/tools/validate.d.ts.map +1 -1
  204. package/dist/mcp/tools/validate.js +21 -0
  205. package/dist/mcp/tools/validate.js.map +1 -1
  206. package/dist/schemas/knowledge.schema.d.ts +66 -0
  207. package/dist/schemas/knowledge.schema.d.ts.map +1 -1
  208. package/dist/schemas/knowledge.schema.js +28 -0
  209. package/dist/schemas/knowledge.schema.js.map +1 -1
  210. package/dist/schemas/siebel.schema.d.ts +564 -0
  211. package/dist/schemas/siebel.schema.d.ts.map +1 -0
  212. package/dist/schemas/siebel.schema.js +197 -0
  213. package/dist/schemas/siebel.schema.js.map +1 -0
  214. package/dist/web/dashboard/dist/assets/{benchmark-tab-C5fwIqgM.js → benchmark-tab-BoMsoQjO.js} +1 -1
  215. package/dist/web/dashboard/dist/assets/{context-tab-ChCyrRlr.js → context-tab-BLT4qQ77.js} +1 -1
  216. package/dist/web/dashboard/dist/assets/{gitnexus-tab-DnlGT63w.js → gitnexus-tab-DDw7DUED.js} +4 -4
  217. package/dist/web/dashboard/dist/assets/graph-tab-DG9Q6nko.js +1 -0
  218. package/dist/web/dashboard/dist/assets/graph-utils-BpYHKE87.js +1 -0
  219. package/dist/web/dashboard/dist/assets/index-Cu23WCcu.css +1 -0
  220. package/dist/web/dashboard/dist/assets/index-DtkPX5ZZ.js +55 -0
  221. package/dist/web/dashboard/dist/assets/{index-DlZhNCGR.js → index-F9dY4AG_.js} +1 -1
  222. package/dist/web/dashboard/dist/assets/{insights-tab-Cj4f85vS.js → insights-tab-YN7G6mjm.js} +1 -1
  223. package/dist/web/dashboard/dist/assets/journey-tab-BcweuR82.js +1 -0
  224. package/dist/web/dashboard/dist/assets/{logs-tab-C4C2Vn8-.js → logs-tab-BjdAURdy.js} +1 -1
  225. package/dist/web/dashboard/dist/assets/{memories-tab-NtNwoxbT.js → memories-tab-CQ2xM2aw.js} +1 -1
  226. package/dist/web/dashboard/dist/assets/prd-backlog-tab-CIeCpE1a.js +1 -0
  227. package/dist/web/dashboard/dist/assets/siebel-tab-bj5CT4-Z.js +3 -0
  228. package/dist/web/dashboard/dist/assets/{skills-tab-CIj4z1Ol.js → skills-tab-Bgk72mKO.js} +1 -1
  229. package/dist/web/dashboard/dist/assets/style-Da3qWU01.js +7 -0
  230. package/dist/web/dashboard/dist/index.html +2 -2
  231. package/package.json +15 -3
  232. package/dist/web/dashboard/dist/assets/graph-tab-DjV9RD41.js +0 -1
  233. package/dist/web/dashboard/dist/assets/graph-utils-C6bvcT4d.js +0 -7
  234. package/dist/web/dashboard/dist/assets/index-DQqYFXms.css +0 -1
  235. package/dist/web/dashboard/dist/assets/index-dCyMex_p.js +0 -53
  236. package/dist/web/dashboard/dist/assets/prd-backlog-tab-Bxt7qiVG.js +0 -1
  237. /package/dist/web/dashboard/dist/assets/{graph-utils-BZV40eAE.css → style-BZV40eAE.css} +0 -0
@@ -0,0 +1,197 @@
1
+ import { z } from "zod/v4";
2
+ /**
3
+ * Siebel CRM object type classification.
4
+ * Covers all major repository object types from Siebel 15 (IP 2015).
5
+ */
6
+ export const SiebelObjectTypeSchema = z.enum([
7
+ "applet",
8
+ "business_component",
9
+ "business_object",
10
+ "view",
11
+ "screen",
12
+ "workflow",
13
+ "integration_object",
14
+ "business_service",
15
+ "escript",
16
+ "web_template",
17
+ "pick_list",
18
+ "table",
19
+ "column",
20
+ "field",
21
+ "link",
22
+ "control",
23
+ "list_column",
24
+ "menu_item",
25
+ "project",
26
+ ]);
27
+ /**
28
+ * Siebel environment type.
29
+ */
30
+ export const SiebelEnvironmentTypeSchema = z.enum(["dev", "test", "staging", "prod"]);
31
+ /**
32
+ * Siebel environment configuration.
33
+ */
34
+ export const SiebelEnvironmentSchema = z.object({
35
+ name: z.string().min(1),
36
+ url: z.string().url(),
37
+ version: z.string().min(1),
38
+ type: SiebelEnvironmentTypeSchema,
39
+ composerUrl: z.string().url().optional(),
40
+ restApiUrl: z.string().url().optional(),
41
+ credentials: z.object({
42
+ username: z.string().optional(),
43
+ passwordEnvVar: z.string().optional(),
44
+ }).optional(),
45
+ });
46
+ /**
47
+ * Siebel dependency relationship between objects.
48
+ */
49
+ export const SiebelDependencyRelationSchema = z.enum([
50
+ "uses",
51
+ "references",
52
+ "contains",
53
+ "extends",
54
+ "based_on",
55
+ "linked_to",
56
+ "parent_of",
57
+ ]);
58
+ /**
59
+ * Reference to a Siebel object (name + type pair).
60
+ */
61
+ export const SiebelObjectRefSchema = z.object({
62
+ name: z.string().min(1),
63
+ type: SiebelObjectTypeSchema,
64
+ });
65
+ /**
66
+ * Dependency between two Siebel objects.
67
+ */
68
+ export const SiebelDependencySchema = z.object({
69
+ from: SiebelObjectRefSchema,
70
+ to: SiebelObjectRefSchema,
71
+ relationType: SiebelDependencyRelationSchema,
72
+ inferred: z.boolean().optional(),
73
+ });
74
+ /**
75
+ * Property of a Siebel repository object.
76
+ */
77
+ export const SiebelPropertySchema = z.object({
78
+ name: z.string(),
79
+ value: z.string(),
80
+ });
81
+ /**
82
+ * A Siebel repository object extracted from a SIF file.
83
+ */
84
+ export const SiebelObjectSchema = z.object({
85
+ name: z.string().min(1),
86
+ type: SiebelObjectTypeSchema,
87
+ project: z.string().optional(),
88
+ properties: z.array(SiebelPropertySchema),
89
+ children: z.lazy(() => z.array(SiebelObjectSchema)),
90
+ parentName: z.string().optional(),
91
+ inactive: z.boolean().optional(),
92
+ });
93
+ /**
94
+ * Metadata from a parsed SIF file.
95
+ */
96
+ export const SiebelSifMetadataSchema = z.object({
97
+ fileName: z.string(),
98
+ repositoryName: z.string().optional(),
99
+ projectName: z.string().optional(),
100
+ objectCount: z.number().int().min(0),
101
+ objectTypes: z.array(SiebelObjectTypeSchema),
102
+ extractedAt: z.string(),
103
+ sourceEnv: z.string().optional(),
104
+ });
105
+ /**
106
+ * Complete result of parsing a SIF file.
107
+ */
108
+ export const SiebelSifParseResultSchema = z.object({
109
+ metadata: SiebelSifMetadataSchema,
110
+ objects: z.array(SiebelObjectSchema),
111
+ dependencies: z.array(SiebelDependencySchema),
112
+ });
113
+ /**
114
+ * Siebel Composer action types.
115
+ */
116
+ export const SiebelComposerActionSchema = z.enum([
117
+ "navigate",
118
+ "edit_field",
119
+ "toggle_readonly",
120
+ "publish",
121
+ "import_sif",
122
+ "export_sif",
123
+ "capture_state",
124
+ ]);
125
+ /**
126
+ * Result of a Siebel Composer automation action.
127
+ */
128
+ export const SiebelComposerResultSchema = z.object({
129
+ action: SiebelComposerActionSchema,
130
+ success: z.boolean(),
131
+ message: z.string().optional(),
132
+ capturedContent: z.string().optional(),
133
+ screenshotPath: z.string().optional(),
134
+ timestamp: z.string(),
135
+ });
136
+ /**
137
+ * Impact analysis result for a Siebel object.
138
+ */
139
+ export const SiebelImpactResultSchema = z.object({
140
+ targetObject: SiebelObjectRefSchema,
141
+ directDependents: z.array(SiebelObjectRefSchema),
142
+ transitiveDependents: z.array(SiebelObjectRefSchema),
143
+ totalAffected: z.number().int().min(0),
144
+ riskLevel: z.enum(["low", "medium", "high", "critical"]),
145
+ });
146
+ /**
147
+ * Subset of Siebel object types that can be generated as SIF templates.
148
+ */
149
+ export const SifTemplateTypeSchema = z.enum([
150
+ "applet",
151
+ "business_component",
152
+ "business_object",
153
+ "view",
154
+ "screen",
155
+ "workflow",
156
+ "business_service",
157
+ "integration_object",
158
+ ]);
159
+ /**
160
+ * Request to generate a new SIF file.
161
+ */
162
+ export const SifGenerationRequestSchema = z.object({
163
+ description: z.string().min(1),
164
+ objectTypes: z.array(SiebelObjectTypeSchema).min(1),
165
+ basedOnProject: z.string().optional(),
166
+ properties: z.record(z.string(), z.string()).optional(),
167
+ });
168
+ /**
169
+ * Validation message for a generated SIF.
170
+ */
171
+ export const SifValidationMessageSchema = z.object({
172
+ level: z.enum(["error", "warning", "info"]),
173
+ message: z.string(),
174
+ objectName: z.string().optional(),
175
+ });
176
+ /**
177
+ * Validation result for a generated SIF.
178
+ */
179
+ export const SifValidationResultSchema = z.object({
180
+ status: z.enum(["valid", "warnings", "invalid"]),
181
+ messages: z.array(SifValidationMessageSchema),
182
+ score: z.number().int().min(0).max(100),
183
+ });
184
+ /**
185
+ * Result of SIF generation including content, objects, validation, and metadata.
186
+ */
187
+ export const SifGenerationResultSchema = z.object({
188
+ sifContent: z.string(),
189
+ objects: z.array(SiebelObjectRefSchema),
190
+ validation: SifValidationResultSchema,
191
+ metadata: z.object({
192
+ generatedAt: z.string(),
193
+ requestDescription: z.string(),
194
+ objectCount: z.number().int().min(0),
195
+ }),
196
+ });
197
+ //# sourceMappingURL=siebel.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siebel.schema.js","sourceRoot":"","sources":["../../src/schemas/siebel.schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{r as u,a as h,j as e}from"./index-dCyMex_p.js";function v(){const[n,d]=u.useState(null),[m,t]=u.useState(!0),[a,x]=u.useState(null);return u.useEffect(()=>{async function r(){try{const c=await h.request("/benchmark");d(c)}catch(c){x(c instanceof Error?c.message:"Failed to load benchmark data")}finally{t(!1)}}r()},[]),{data:n,loading:m,error:a}}function b(){const{data:n,loading:d,error:m}=v();if(d)return e.jsx("div",{className:"flex items-center justify-center h-full text-[var(--color-text-muted)]",children:"Loading benchmark data..."});if(m)return e.jsxs("div",{className:"flex items-center justify-center h-full text-[var(--color-danger)]",children:["Failed to load: ",m]});if(!n)return e.jsx("div",{});const{tokenEconomy:t,layeredCompression:a,dependencyIntelligence:x,toolTokenUsage:r,formulas:c}=n;return e.jsxs("div",{className:"p-6 max-w-5xl mx-auto space-y-6 overflow-y-auto h-full",children:[e.jsxs("section",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:"Token Economy"}),e.jsxs("div",{className:"grid grid-cols-4 gap-3 mb-4",children:[e.jsx(s,{value:`${t.avgCompressionPercent}%`,label:"Avg Compress"}),e.jsx(s,{value:t.sampleSize>0?Math.round(t.totalTokensSaved/t.sampleSize).toLocaleString():"0",label:"Tokens Saved/Task"}),e.jsx(s,{value:t.totalNodes,label:"Nodes"}),e.jsx(s,{value:t.totalEdges,label:"Edges"})]}),t.perTaskMetrics.length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-medium text-[var(--color-text-muted)] mb-2",children:"Context Compression per Task (vs Full Graph)"}),e.jsx("div",{className:"space-y-1.5","data-testid":"compression-bars",children:t.perTaskMetrics.slice(0,15).map(l=>e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"w-32 truncate",title:l.title,children:l.title}),e.jsx("div",{className:"flex-1 h-3 bg-[var(--color-bg-tertiary)] rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full rounded-full bg-[var(--color-accent)]",style:{width:`${Math.min(l.compressionPercent,100)}%`}})}),e.jsxs("span",{className:"text-[var(--color-text-muted)] w-24 text-right",children:[l.compressionPercent,"% (",l.estimatedTokens," tok)"]})]},l.id))})]})]}),a&&e.jsxs("section",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:"Real Token Savings (Per-Layer)"}),e.jsxs("div",{className:"grid grid-cols-5 gap-3 mb-4",children:[e.jsx(s,{value:`${a.avgLayer1SavingsPercent}%`,label:"L1: Field Strip"}),e.jsx(s,{value:`${a.avgLayer2SavingsPercent}%`,label:"L2: Desc Truncate"}),e.jsx(s,{value:`${a.avgLayer3SavingsPercent}%`,label:"L3: Default Omit"}),e.jsx(s,{value:`${a.avgLayer4SavingsPercent}%`,label:"L4: Short Keys"}),e.jsx(s,{value:`${a.avgTotalRealSavingsPercent}%`,label:"Total Real Savings"})]}),(()=>{const l=Math.max(a.avgNaiveNeighborhoodTokens,1),o=[{label:"Naive Neighborhood",tokens:a.avgNaiveNeighborhoodTokens,color:"#ef4444"},{label:"L1: Field Stripping",tokens:a.avgCompactContextTokens,color:"#f97316"},{label:"L2: Desc Truncation",tokens:a.avgNeighborTruncatedTokens,color:"#eab308"},{label:"L3: Default Omission",tokens:a.avgDefaultOmittedTokens,color:"#22c55e"},{label:"L4: Short Keys",tokens:a.avgShortKeysTokens,color:"#3b82f6"},{label:"Summary Tier",tokens:a.avgSummaryTierTokens,color:"#8b5cf6"}];return e.jsx("div",{className:"space-y-1.5","data-testid":"waterfall-bars",children:o.map(i=>e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"w-40 truncate",title:i.label,children:i.label}),e.jsx("div",{className:"flex-1 h-3 bg-[var(--color-bg-tertiary)] rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full rounded-full",style:{width:`${Math.min(i.tokens/l*100,100)}%`,backgroundColor:i.color}})}),e.jsxs("span",{className:"text-[var(--color-text-muted)] w-20 text-right",children:[i.tokens.toLocaleString()," tok"]})]},i.label))})})()]}),e.jsxs("section",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:"Dependency Intelligence"}),e.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[e.jsx(s,{value:x.inferredDeps,label:"Auto Inferred"}),e.jsx(s,{value:`${x.blockedTasks}/${t.totalNodes}`,label:"Blocked Detected"}),e.jsx(s,{value:x.cycles,label:"Cycles Detected"})]})]}),e.jsxs("section",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:"Formulas & Justification"}),e.jsx("div",{className:"px-3 py-2 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] text-xs space-y-1","data-testid":"formulas-section",children:Object.entries(c).map(([l,o])=>e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("span",{className:"text-[var(--color-text-muted)] font-mono w-40 shrink-0",children:[l,":"]}),e.jsx("span",{children:o})]},l))})]}),r&&r.totalCalls>0&&e.jsxs("section",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:"Tool Token Usage"}),e.jsxs("div",{className:"grid grid-cols-3 gap-3 mb-4",children:[e.jsx(s,{value:r.totalCalls.toLocaleString(),label:"Total Calls"}),e.jsx(s,{value:r.totalInputTokens.toLocaleString(),label:"Total Input Tokens"}),e.jsx(s,{value:r.totalOutputTokens.toLocaleString(),label:"Total Output Tokens"})]}),r.perTool.length>0&&(()=>{const l=Math.max(...r.perTool.map(o=>o.totalTokens),1);return e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-medium text-[var(--color-text-muted)] mb-2",children:"Token Usage per Tool"}),e.jsx("div",{className:"space-y-1.5","data-testid":"tool-token-bars",children:r.perTool.slice(0,15).map(o=>e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"w-32 truncate font-mono",title:o.toolName,children:o.toolName}),e.jsx("div",{className:"flex-1 h-3 bg-[var(--color-bg-tertiary)] rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full rounded-full bg-[var(--color-accent)]",style:{width:`${Math.min(o.totalTokens/l*100,100)}%`}})}),e.jsxs("span",{className:"text-[var(--color-text-muted)] w-32 text-right",children:[o.callCount," calls, ",o.totalTokens.toLocaleString()," tok"]})]},o.toolName))})]})})()]}),e.jsxs("section",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:"Cost Savings per Task"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsx(s,{value:`$${t.costSavings.opusPerTask.toFixed(3)}`,label:"Opus Input"}),e.jsx(s,{value:`$${t.costSavings.sonnetPerTask.toFixed(3)}`,label:"Sonnet Input"})]})]})]})}function s({value:n,label:d}){return e.jsxs("div",{className:"p-3 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] text-center","data-testid":"metric-card",children:[e.jsx("div",{className:"text-xl font-bold",children:n}),e.jsx("div",{className:"text-[10px] text-[var(--color-text-muted)] uppercase",children:d})]})}export{b as BenchmarkTab};
1
+ import{r as u,a as h,j as e}from"./index-DtkPX5ZZ.js";function v(){const[n,d]=u.useState(null),[m,t]=u.useState(!0),[a,x]=u.useState(null);return u.useEffect(()=>{async function r(){try{const c=await h.request("/benchmark");d(c)}catch(c){x(c instanceof Error?c.message:"Failed to load benchmark data")}finally{t(!1)}}r()},[]),{data:n,loading:m,error:a}}function b(){const{data:n,loading:d,error:m}=v();if(d)return e.jsx("div",{className:"flex items-center justify-center h-full text-[var(--color-text-muted)]",children:"Loading benchmark data..."});if(m)return e.jsxs("div",{className:"flex items-center justify-center h-full text-[var(--color-danger)]",children:["Failed to load: ",m]});if(!n)return e.jsx("div",{});const{tokenEconomy:t,layeredCompression:a,dependencyIntelligence:x,toolTokenUsage:r,formulas:c}=n;return e.jsxs("div",{className:"p-6 max-w-5xl mx-auto space-y-6 overflow-y-auto h-full",children:[e.jsxs("section",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:"Token Economy"}),e.jsxs("div",{className:"grid grid-cols-4 gap-3 mb-4",children:[e.jsx(s,{value:`${t.avgCompressionPercent}%`,label:"Avg Compress"}),e.jsx(s,{value:t.sampleSize>0?Math.round(t.totalTokensSaved/t.sampleSize).toLocaleString():"0",label:"Tokens Saved/Task"}),e.jsx(s,{value:t.totalNodes,label:"Nodes"}),e.jsx(s,{value:t.totalEdges,label:"Edges"})]}),t.perTaskMetrics.length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-medium text-[var(--color-text-muted)] mb-2",children:"Context Compression per Task (vs Full Graph)"}),e.jsx("div",{className:"space-y-1.5","data-testid":"compression-bars",children:t.perTaskMetrics.slice(0,15).map(l=>e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"w-32 truncate",title:l.title,children:l.title}),e.jsx("div",{className:"flex-1 h-3 bg-[var(--color-bg-tertiary)] rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full rounded-full bg-[var(--color-accent)]",style:{width:`${Math.min(l.compressionPercent,100)}%`}})}),e.jsxs("span",{className:"text-[var(--color-text-muted)] w-24 text-right",children:[l.compressionPercent,"% (",l.estimatedTokens," tok)"]})]},l.id))})]})]}),a&&e.jsxs("section",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:"Real Token Savings (Per-Layer)"}),e.jsxs("div",{className:"grid grid-cols-5 gap-3 mb-4",children:[e.jsx(s,{value:`${a.avgLayer1SavingsPercent}%`,label:"L1: Field Strip"}),e.jsx(s,{value:`${a.avgLayer2SavingsPercent}%`,label:"L2: Desc Truncate"}),e.jsx(s,{value:`${a.avgLayer3SavingsPercent}%`,label:"L3: Default Omit"}),e.jsx(s,{value:`${a.avgLayer4SavingsPercent}%`,label:"L4: Short Keys"}),e.jsx(s,{value:`${a.avgTotalRealSavingsPercent}%`,label:"Total Real Savings"})]}),(()=>{const l=Math.max(a.avgNaiveNeighborhoodTokens,1),o=[{label:"Naive Neighborhood",tokens:a.avgNaiveNeighborhoodTokens,color:"#ef4444"},{label:"L1: Field Stripping",tokens:a.avgCompactContextTokens,color:"#f97316"},{label:"L2: Desc Truncation",tokens:a.avgNeighborTruncatedTokens,color:"#eab308"},{label:"L3: Default Omission",tokens:a.avgDefaultOmittedTokens,color:"#22c55e"},{label:"L4: Short Keys",tokens:a.avgShortKeysTokens,color:"#3b82f6"},{label:"Summary Tier",tokens:a.avgSummaryTierTokens,color:"#8b5cf6"}];return e.jsx("div",{className:"space-y-1.5","data-testid":"waterfall-bars",children:o.map(i=>e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"w-40 truncate",title:i.label,children:i.label}),e.jsx("div",{className:"flex-1 h-3 bg-[var(--color-bg-tertiary)] rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full rounded-full",style:{width:`${Math.min(i.tokens/l*100,100)}%`,backgroundColor:i.color}})}),e.jsxs("span",{className:"text-[var(--color-text-muted)] w-20 text-right",children:[i.tokens.toLocaleString()," tok"]})]},i.label))})})()]}),e.jsxs("section",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:"Dependency Intelligence"}),e.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[e.jsx(s,{value:x.inferredDeps,label:"Auto Inferred"}),e.jsx(s,{value:`${x.blockedTasks}/${t.totalNodes}`,label:"Blocked Detected"}),e.jsx(s,{value:x.cycles,label:"Cycles Detected"})]})]}),e.jsxs("section",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:"Formulas & Justification"}),e.jsx("div",{className:"px-3 py-2 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] text-xs space-y-1","data-testid":"formulas-section",children:Object.entries(c).map(([l,o])=>e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("span",{className:"text-[var(--color-text-muted)] font-mono w-40 shrink-0",children:[l,":"]}),e.jsx("span",{children:o})]},l))})]}),r&&r.totalCalls>0&&e.jsxs("section",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:"Tool Token Usage"}),e.jsxs("div",{className:"grid grid-cols-3 gap-3 mb-4",children:[e.jsx(s,{value:r.totalCalls.toLocaleString(),label:"Total Calls"}),e.jsx(s,{value:r.totalInputTokens.toLocaleString(),label:"Total Input Tokens"}),e.jsx(s,{value:r.totalOutputTokens.toLocaleString(),label:"Total Output Tokens"})]}),r.perTool.length>0&&(()=>{const l=Math.max(...r.perTool.map(o=>o.totalTokens),1);return e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-medium text-[var(--color-text-muted)] mb-2",children:"Token Usage per Tool"}),e.jsx("div",{className:"space-y-1.5","data-testid":"tool-token-bars",children:r.perTool.slice(0,15).map(o=>e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"w-32 truncate font-mono",title:o.toolName,children:o.toolName}),e.jsx("div",{className:"flex-1 h-3 bg-[var(--color-bg-tertiary)] rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full rounded-full bg-[var(--color-accent)]",style:{width:`${Math.min(o.totalTokens/l*100,100)}%`}})}),e.jsxs("span",{className:"text-[var(--color-text-muted)] w-32 text-right",children:[o.callCount," calls, ",o.totalTokens.toLocaleString()," tok"]})]},o.toolName))})]})})()]}),e.jsxs("section",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:"Cost Savings per Task"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsx(s,{value:`$${t.costSavings.opusPerTask.toFixed(3)}`,label:"Opus Input"}),e.jsx(s,{value:`$${t.costSavings.sonnetPerTask.toFixed(3)}`,label:"Sonnet Input"})]})]})]})}function s({value:n,label:d}){return e.jsxs("div",{className:"p-3 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] text-center","data-testid":"metric-card",children:[e.jsx("div",{className:"text-xl font-bold",children:n}),e.jsx("div",{className:"text-[10px] text-[var(--color-text-muted)] uppercase",children:d})]})}export{b as BenchmarkTab};
@@ -1 +1 @@
1
- import{r as o,a as x,j as e}from"./index-dCyMex_p.js";function u(){const[t,n]=o.useState(null),[d,l]=o.useState(!0),[a,c]=o.useState(null),r=o.useCallback(async()=>{l(!0),c(null);try{const s=await x.getContextBudget();n(s)}catch(s){c(s instanceof Error?s.message:"Failed to load context budget")}finally{l(!1)}},[]);return o.useEffect(()=>{r()},[r]),{budget:t,loading:d,error:a,refresh:r}}const i={green:{bg:"bg-green-500/10",text:"text-green-500",border:"border-green-500/30"},yellow:{bg:"bg-yellow-500/10",text:"text-yellow-500",border:"border-yellow-500/30"},red:{bg:"bg-red-500/10",text:"text-red-500",border:"border-red-500/30"}};function h(){const{budget:t,loading:n,error:d,refresh:l}=u();if(d)return e.jsxs("div",{className:"flex items-center justify-center h-full text-[var(--color-danger)]",children:["Failed to load context budget: ",d]});if(n||!t)return e.jsx("div",{className:"flex items-center justify-center h-full text-[var(--color-text-muted)]",children:"Loading context budget..."});const a=i[t.health]??i.green,c=async r=>{await x.toggleSkill(r,!1),l()};return e.jsxs("div",{className:"p-6 max-w-6xl mx-auto space-y-6 overflow-y-auto h-full",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h2",{className:"text-lg font-semibold",children:"Context Management"}),e.jsx("button",{onClick:()=>l(),className:"text-xs px-3 py-1.5 rounded-lg bg-[var(--color-accent)] text-white hover:opacity-90 transition-opacity",children:"Refresh"})]}),e.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3",children:[e.jsxs("div",{className:"p-3 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] text-center",children:[e.jsx("div",{className:"text-xl font-bold",children:t.activeTokens.toLocaleString()}),e.jsx("div",{className:"text-[10px] text-[var(--color-text-muted)] uppercase",children:"Active Tokens"})]}),e.jsxs("div",{className:"p-3 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] text-center",children:[e.jsx("div",{className:"text-xl font-bold",children:t.totalTokens.toLocaleString()}),e.jsx("div",{className:"text-[10px] text-[var(--color-text-muted)] uppercase",children:"Total Tokens"})]}),e.jsxs("div",{className:"p-3 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] text-center",children:[e.jsx("div",{className:"text-xl font-bold",children:t.activeCount}),e.jsx("div",{className:"text-[10px] text-[var(--color-text-muted)] uppercase",children:"Active Skills"})]}),e.jsxs("div",{className:"p-3 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] text-center",children:[e.jsx("div",{className:"text-xl font-bold",children:t.totalCount}),e.jsx("div",{className:"text-[10px] text-[var(--color-text-muted)] uppercase",children:"Total Skills"})]})]}),e.jsxs("div",{className:`p-4 rounded-lg border ${a.bg} ${a.border}`,children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:`w-3 h-3 rounded-full ${t.health==="green"?"bg-green-500":t.health==="yellow"?"bg-yellow-500":"bg-red-500"}`}),e.jsxs("div",{children:[e.jsxs("div",{className:`text-sm font-medium ${a.text}`,children:["Session Health: ",t.health.charAt(0).toUpperCase()+t.health.slice(1)]}),e.jsx("div",{className:"text-xs text-[var(--color-text-muted)] mt-0.5",children:t.healthMessage})]})]}),t.recommendations.length>0&&e.jsx("div",{className:"mt-3 space-y-1",children:t.recommendations.map((r,s)=>e.jsx("div",{className:"text-xs text-[var(--color-text-muted)]",children:r},s))})]}),e.jsxs("div",{className:"p-4 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)]",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h3",{className:"text-xs font-semibold text-[var(--color-text-muted)] uppercase",children:"Token Budget"}),e.jsxs("span",{className:"text-xs text-[var(--color-text-muted)]",children:[t.activeTokens.toLocaleString()," / 4,000 (",Math.round(t.activeTokens/40),"%)"]})]}),e.jsxs("div",{className:"w-full h-3 rounded-full bg-[var(--color-border)] relative",children:[e.jsx("div",{className:"h-full rounded-full absolute top-0 left-0 opacity-20",style:{width:`${Math.min(Math.round(t.totalTokens/40),100)}%`,background:"#6b7280"}}),e.jsx("div",{className:"h-full rounded-full absolute top-0 left-0 transition-all",style:{width:`${Math.min(Math.round(t.activeTokens/40),100)}%`,background:t.health==="red"?"#ef4444":t.health==="yellow"?"#f59e0b":"#10b981"}})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-xs font-semibold text-[var(--color-text-muted)] uppercase",children:"Token Breakdown by Skill"}),e.jsx("div",{className:"space-y-1",children:t.breakdown.map(r=>{const s=t.totalTokens>0?Math.round(r.tokens/t.totalTokens*100):0;return e.jsxs("div",{className:`flex items-center gap-3 p-2 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] ${r.enabled?"":"opacity-40"}`,children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-xs font-medium truncate",children:r.name}),e.jsx("span",{className:`px-1 py-0.5 rounded text-[9px] ${r.source==="custom"?"bg-purple-500/10 text-purple-500":"bg-blue-500/10 text-blue-500"}`,children:r.source})]}),e.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--color-border)] mt-1",children:e.jsx("div",{className:"h-full rounded-full",style:{width:`${s}%`,background:r.enabled?"#3b82f6":"#6b7280"}})})]}),e.jsxs("span",{className:"text-[10px] text-[var(--color-text-muted)] shrink-0 w-16 text-right",children:[r.tokens.toLocaleString()," tok"]}),r.enabled&&e.jsx("button",{onClick:()=>void c(r.name),className:"text-[10px] px-1.5 py-0.5 rounded border border-[var(--color-border)] text-[var(--color-text-muted)] hover:text-red-500 hover:border-red-500/50 shrink-0",children:"Disable"})]},r.name)})})]})]})}export{h as ContextTab};
1
+ import{r as o,a as x,j as e}from"./index-DtkPX5ZZ.js";function u(){const[t,n]=o.useState(null),[d,l]=o.useState(!0),[a,c]=o.useState(null),r=o.useCallback(async()=>{l(!0),c(null);try{const s=await x.getContextBudget();n(s)}catch(s){c(s instanceof Error?s.message:"Failed to load context budget")}finally{l(!1)}},[]);return o.useEffect(()=>{r()},[r]),{budget:t,loading:d,error:a,refresh:r}}const i={green:{bg:"bg-green-500/10",text:"text-green-500",border:"border-green-500/30"},yellow:{bg:"bg-yellow-500/10",text:"text-yellow-500",border:"border-yellow-500/30"},red:{bg:"bg-red-500/10",text:"text-red-500",border:"border-red-500/30"}};function h(){const{budget:t,loading:n,error:d,refresh:l}=u();if(d)return e.jsxs("div",{className:"flex items-center justify-center h-full text-[var(--color-danger)]",children:["Failed to load context budget: ",d]});if(n||!t)return e.jsx("div",{className:"flex items-center justify-center h-full text-[var(--color-text-muted)]",children:"Loading context budget..."});const a=i[t.health]??i.green,c=async r=>{await x.toggleSkill(r,!1),l()};return e.jsxs("div",{className:"p-6 max-w-6xl mx-auto space-y-6 overflow-y-auto h-full",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h2",{className:"text-lg font-semibold",children:"Context Management"}),e.jsx("button",{onClick:()=>l(),className:"text-xs px-3 py-1.5 rounded-lg bg-[var(--color-accent)] text-white hover:opacity-90 transition-opacity",children:"Refresh"})]}),e.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3",children:[e.jsxs("div",{className:"p-3 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] text-center",children:[e.jsx("div",{className:"text-xl font-bold",children:t.activeTokens.toLocaleString()}),e.jsx("div",{className:"text-[10px] text-[var(--color-text-muted)] uppercase",children:"Active Tokens"})]}),e.jsxs("div",{className:"p-3 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] text-center",children:[e.jsx("div",{className:"text-xl font-bold",children:t.totalTokens.toLocaleString()}),e.jsx("div",{className:"text-[10px] text-[var(--color-text-muted)] uppercase",children:"Total Tokens"})]}),e.jsxs("div",{className:"p-3 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] text-center",children:[e.jsx("div",{className:"text-xl font-bold",children:t.activeCount}),e.jsx("div",{className:"text-[10px] text-[var(--color-text-muted)] uppercase",children:"Active Skills"})]}),e.jsxs("div",{className:"p-3 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] text-center",children:[e.jsx("div",{className:"text-xl font-bold",children:t.totalCount}),e.jsx("div",{className:"text-[10px] text-[var(--color-text-muted)] uppercase",children:"Total Skills"})]})]}),e.jsxs("div",{className:`p-4 rounded-lg border ${a.bg} ${a.border}`,children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:`w-3 h-3 rounded-full ${t.health==="green"?"bg-green-500":t.health==="yellow"?"bg-yellow-500":"bg-red-500"}`}),e.jsxs("div",{children:[e.jsxs("div",{className:`text-sm font-medium ${a.text}`,children:["Session Health: ",t.health.charAt(0).toUpperCase()+t.health.slice(1)]}),e.jsx("div",{className:"text-xs text-[var(--color-text-muted)] mt-0.5",children:t.healthMessage})]})]}),t.recommendations.length>0&&e.jsx("div",{className:"mt-3 space-y-1",children:t.recommendations.map((r,s)=>e.jsx("div",{className:"text-xs text-[var(--color-text-muted)]",children:r},s))})]}),e.jsxs("div",{className:"p-4 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)]",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h3",{className:"text-xs font-semibold text-[var(--color-text-muted)] uppercase",children:"Token Budget"}),e.jsxs("span",{className:"text-xs text-[var(--color-text-muted)]",children:[t.activeTokens.toLocaleString()," / 4,000 (",Math.round(t.activeTokens/40),"%)"]})]}),e.jsxs("div",{className:"w-full h-3 rounded-full bg-[var(--color-border)] relative",children:[e.jsx("div",{className:"h-full rounded-full absolute top-0 left-0 opacity-20",style:{width:`${Math.min(Math.round(t.totalTokens/40),100)}%`,background:"#6b7280"}}),e.jsx("div",{className:"h-full rounded-full absolute top-0 left-0 transition-all",style:{width:`${Math.min(Math.round(t.activeTokens/40),100)}%`,background:t.health==="red"?"#ef4444":t.health==="yellow"?"#f59e0b":"#10b981"}})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-xs font-semibold text-[var(--color-text-muted)] uppercase",children:"Token Breakdown by Skill"}),e.jsx("div",{className:"space-y-1",children:t.breakdown.map(r=>{const s=t.totalTokens>0?Math.round(r.tokens/t.totalTokens*100):0;return e.jsxs("div",{className:`flex items-center gap-3 p-2 rounded-lg bg-[var(--color-bg-secondary)] border border-[var(--color-border)] ${r.enabled?"":"opacity-40"}`,children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-xs font-medium truncate",children:r.name}),e.jsx("span",{className:`px-1 py-0.5 rounded text-[9px] ${r.source==="custom"?"bg-purple-500/10 text-purple-500":"bg-blue-500/10 text-blue-500"}`,children:r.source})]}),e.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--color-border)] mt-1",children:e.jsx("div",{className:"h-full rounded-full",style:{width:`${s}%`,background:r.enabled?"#3b82f6":"#6b7280"}})})]}),e.jsxs("span",{className:"text-[10px] text-[var(--color-text-muted)] shrink-0 w-16 text-right",children:[r.tokens.toLocaleString()," tok"]}),r.enabled&&e.jsx("button",{onClick:()=>void c(r.name),className:"text-[10px] px-1.5 py-0.5 rounded border border-[var(--color-border)] text-[var(--color-text-muted)] hover:text-red-500 hover:border-red-500/50 shrink-0",children:"Disable"})]},r.name)})})]})]})}export{h as ContextTab};