@ddse/acm-examples 0.5.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 (182) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +113 -0
  3. package/bin/acm-demo.ts +495 -0
  4. package/data/coaching/agents.json +16 -0
  5. package/data/coaching/transcripts.json +37 -0
  6. package/data/documents.json +72 -0
  7. package/data/entitlement/customers.json +38 -0
  8. package/data/entitlement/policies.json +38 -0
  9. package/data/incidents/incidents.json +30 -0
  10. package/data/incidents/routing_rules.json +36 -0
  11. package/data/invoices/invoices.json +38 -0
  12. package/data/invoices/purchase-orders.json +38 -0
  13. package/data/issues.json +99 -0
  14. package/data/knowledge/docs/kb-001.md +7 -0
  15. package/data/knowledge/docs/kb-002.md +7 -0
  16. package/data/knowledge/docs/kb-003.md +9 -0
  17. package/data/knowledge/index.json +25 -0
  18. package/data/orders.json +106 -0
  19. package/dist/bin/acm-demo.d.ts +3 -0
  20. package/dist/bin/acm-demo.d.ts.map +1 -0
  21. package/dist/bin/acm-demo.js +392 -0
  22. package/dist/bin/acm-demo.js.map +1 -0
  23. package/dist/src/context/directives.d.ts +3 -0
  24. package/dist/src/context/directives.d.ts.map +1 -0
  25. package/dist/src/context/directives.js +325 -0
  26. package/dist/src/context/directives.js.map +1 -0
  27. package/dist/src/context/index.d.ts +2 -0
  28. package/dist/src/context/index.d.ts.map +1 -0
  29. package/dist/src/context/index.js +2 -0
  30. package/dist/src/context/index.js.map +1 -0
  31. package/dist/src/data/coaching.d.ts +19 -0
  32. package/dist/src/data/coaching.d.ts.map +1 -0
  33. package/dist/src/data/coaching.js +22 -0
  34. package/dist/src/data/coaching.js.map +1 -0
  35. package/dist/src/data/entitlement.d.ts +25 -0
  36. package/dist/src/data/entitlement.d.ts.map +1 -0
  37. package/dist/src/data/entitlement.js +26 -0
  38. package/dist/src/data/entitlement.js.map +1 -0
  39. package/dist/src/data/incidents.d.ts +23 -0
  40. package/dist/src/data/incidents.d.ts.map +1 -0
  41. package/dist/src/data/incidents.js +37 -0
  42. package/dist/src/data/incidents.js.map +1 -0
  43. package/dist/src/data/invoices.d.ts +34 -0
  44. package/dist/src/data/invoices.d.ts.map +1 -0
  45. package/dist/src/data/invoices.js +49 -0
  46. package/dist/src/data/invoices.js.map +1 -0
  47. package/dist/src/data/knowledge.d.ts +11 -0
  48. package/dist/src/data/knowledge.d.ts.map +1 -0
  49. package/dist/src/data/knowledge.js +57 -0
  50. package/dist/src/data/knowledge.js.map +1 -0
  51. package/dist/src/data/loader.d.ts +4 -0
  52. package/dist/src/data/loader.d.ts.map +1 -0
  53. package/dist/src/data/loader.js +69 -0
  54. package/dist/src/data/loader.js.map +1 -0
  55. package/dist/src/examples/scenarios.d.ts +23 -0
  56. package/dist/src/examples/scenarios.d.ts.map +1 -0
  57. package/dist/src/examples/scenarios.js +609 -0
  58. package/dist/src/examples/scenarios.js.map +1 -0
  59. package/dist/src/goals/index.d.ts +8 -0
  60. package/dist/src/goals/index.d.ts.map +1 -0
  61. package/dist/src/goals/index.js +12 -0
  62. package/dist/src/goals/index.js.map +1 -0
  63. package/dist/src/policy.d.ts +5 -0
  64. package/dist/src/policy.d.ts.map +1 -0
  65. package/dist/src/policy.js +24 -0
  66. package/dist/src/policy.js.map +1 -0
  67. package/dist/src/registries.d.ts +18 -0
  68. package/dist/src/registries.d.ts.map +1 -0
  69. package/dist/src/registries.js +38 -0
  70. package/dist/src/registries.js.map +1 -0
  71. package/dist/src/renderer.d.ts +9 -0
  72. package/dist/src/renderer.d.ts.map +1 -0
  73. package/dist/src/renderer.js +76 -0
  74. package/dist/src/renderer.js.map +1 -0
  75. package/dist/src/search/bm25.d.ts +68 -0
  76. package/dist/src/search/bm25.d.ts.map +1 -0
  77. package/dist/src/search/bm25.js +131 -0
  78. package/dist/src/search/bm25.js.map +1 -0
  79. package/dist/src/search/index.d.ts +2 -0
  80. package/dist/src/search/index.d.ts.map +1 -0
  81. package/dist/src/search/index.js +3 -0
  82. package/dist/src/search/index.js.map +1 -0
  83. package/dist/src/tasks/coaching.d.ts +30 -0
  84. package/dist/src/tasks/coaching.d.ts.map +1 -0
  85. package/dist/src/tasks/coaching.js +143 -0
  86. package/dist/src/tasks/coaching.js.map +1 -0
  87. package/dist/src/tasks/entitlement.d.ts +29 -0
  88. package/dist/src/tasks/entitlement.d.ts.map +1 -0
  89. package/dist/src/tasks/entitlement.js +135 -0
  90. package/dist/src/tasks/entitlement.js.map +1 -0
  91. package/dist/src/tasks/incidents.d.ts +42 -0
  92. package/dist/src/tasks/incidents.d.ts.map +1 -0
  93. package/dist/src/tasks/incidents.js +189 -0
  94. package/dist/src/tasks/incidents.js.map +1 -0
  95. package/dist/src/tasks/index.d.ts +7 -0
  96. package/dist/src/tasks/index.d.ts.map +1 -0
  97. package/dist/src/tasks/index.js +7 -0
  98. package/dist/src/tasks/index.js.map +1 -0
  99. package/dist/src/tasks/invoices.d.ts +40 -0
  100. package/dist/src/tasks/invoices.d.ts.map +1 -0
  101. package/dist/src/tasks/invoices.js +180 -0
  102. package/dist/src/tasks/invoices.js.map +1 -0
  103. package/dist/src/tasks/knowledge.d.ts +23 -0
  104. package/dist/src/tasks/knowledge.d.ts.map +1 -0
  105. package/dist/src/tasks/knowledge.js +115 -0
  106. package/dist/src/tasks/knowledge.js.map +1 -0
  107. package/dist/src/tasks/legacy.d.ts +50 -0
  108. package/dist/src/tasks/legacy.d.ts.map +1 -0
  109. package/dist/src/tasks/legacy.js +85 -0
  110. package/dist/src/tasks/legacy.js.map +1 -0
  111. package/dist/src/tools/coaching/index.d.ts +49 -0
  112. package/dist/src/tools/coaching/index.d.ts.map +1 -0
  113. package/dist/src/tools/coaching/index.js +119 -0
  114. package/dist/src/tools/coaching/index.js.map +1 -0
  115. package/dist/src/tools/entitlement/index.d.ts +52 -0
  116. package/dist/src/tools/entitlement/index.d.ts.map +1 -0
  117. package/dist/src/tools/entitlement/index.js +120 -0
  118. package/dist/src/tools/entitlement/index.js.map +1 -0
  119. package/dist/src/tools/incidents/index.d.ts +55 -0
  120. package/dist/src/tools/incidents/index.d.ts.map +1 -0
  121. package/dist/src/tools/incidents/index.js +109 -0
  122. package/dist/src/tools/incidents/index.js.map +1 -0
  123. package/dist/src/tools/index.d.ts +90 -0
  124. package/dist/src/tools/index.d.ts.map +1 -0
  125. package/dist/src/tools/index.js +109 -0
  126. package/dist/src/tools/index.js.map +1 -0
  127. package/dist/src/tools/invoices/index.d.ts +56 -0
  128. package/dist/src/tools/invoices/index.d.ts.map +1 -0
  129. package/dist/src/tools/invoices/index.js +85 -0
  130. package/dist/src/tools/invoices/index.js.map +1 -0
  131. package/dist/src/tools/knowledge/index.d.ts +52 -0
  132. package/dist/src/tools/knowledge/index.d.ts.map +1 -0
  133. package/dist/src/tools/knowledge/index.js +120 -0
  134. package/dist/src/tools/knowledge/index.js.map +1 -0
  135. package/dist/tests/bm25.test.d.ts +2 -0
  136. package/dist/tests/bm25.test.d.ts.map +1 -0
  137. package/dist/tests/bm25.test.js +98 -0
  138. package/dist/tests/bm25.test.js.map +1 -0
  139. package/dist/tests/integration.test.d.ts +2 -0
  140. package/dist/tests/integration.test.d.ts.map +1 -0
  141. package/dist/tests/integration.test.js +126 -0
  142. package/dist/tests/integration.test.js.map +1 -0
  143. package/dist/tests/plan-hydration.test.d.ts +2 -0
  144. package/dist/tests/plan-hydration.test.d.ts.map +1 -0
  145. package/dist/tests/plan-hydration.test.js +28 -0
  146. package/dist/tests/plan-hydration.test.js.map +1 -0
  147. package/dist/tsconfig.tsbuildinfo +1 -0
  148. package/docs/examples-architecture.md +144 -0
  149. package/docs/successrun.md +1022 -0
  150. package/package.json +33 -0
  151. package/src/context/directives.ts +366 -0
  152. package/src/context/index.ts +1 -0
  153. package/src/data/coaching.ts +50 -0
  154. package/src/data/entitlement.ts +60 -0
  155. package/src/data/incidents.ts +78 -0
  156. package/src/data/invoices.ts +103 -0
  157. package/src/data/knowledge.ts +77 -0
  158. package/src/data/loader.ts +80 -0
  159. package/src/examples/scenarios.ts +724 -0
  160. package/src/goals/index.ts +18 -0
  161. package/src/policy.ts +30 -0
  162. package/src/registries.ts +48 -0
  163. package/src/renderer.ts +82 -0
  164. package/src/search/bm25.ts +173 -0
  165. package/src/search/index.ts +2 -0
  166. package/src/tasks/coaching.ts +217 -0
  167. package/src/tasks/entitlement.ts +197 -0
  168. package/src/tasks/incidents.ts +277 -0
  169. package/src/tasks/index.ts +6 -0
  170. package/src/tasks/invoices.ts +269 -0
  171. package/src/tasks/knowledge.ts +169 -0
  172. package/src/tasks/legacy.ts +112 -0
  173. package/src/tools/coaching/index.ts +197 -0
  174. package/src/tools/entitlement/index.ts +199 -0
  175. package/src/tools/incidents/index.ts +185 -0
  176. package/src/tools/index.ts +192 -0
  177. package/src/tools/invoices/index.ts +165 -0
  178. package/src/tools/knowledge/index.ts +203 -0
  179. package/tests/bm25.test.ts +129 -0
  180. package/tests/integration.test.ts +163 -0
  181. package/tests/plan-hydration.test.ts +33 -0
  182. package/tsconfig.json +18 -0
@@ -0,0 +1,325 @@
1
+ import { Tool } from '@ddse/acm-sdk';
2
+ import { getCustomerProfile, getPolicy } from '../data/entitlement.js';
3
+ import { getSnippetMeta, loadSnippetContent } from '../data/knowledge.js';
4
+ import { getIncident, findRoutingRule } from '../data/incidents.js';
5
+ import { getInvoice, getPurchaseOrder } from '../data/invoices.js';
6
+ import { getTranscript, getAgent } from '../data/coaching.js';
7
+ function extractPayload(directive) {
8
+ const separator = directive.indexOf(':');
9
+ if (separator < 0) {
10
+ return undefined;
11
+ }
12
+ const raw = directive.slice(separator + 1).trim();
13
+ if (!raw) {
14
+ return undefined;
15
+ }
16
+ if (raw.startsWith('{')) {
17
+ try {
18
+ return JSON.parse(raw);
19
+ }
20
+ catch {
21
+ return undefined;
22
+ }
23
+ }
24
+ return raw;
25
+ }
26
+ class ContextTool extends Tool {
27
+ async call(input) {
28
+ const artifacts = await this.produceArtifacts(input);
29
+ return Array.isArray(artifacts) ? artifacts : [artifacts];
30
+ }
31
+ }
32
+ class CustomerContextTool extends ContextTool {
33
+ name() {
34
+ return 'crm';
35
+ }
36
+ async produceArtifacts(input) {
37
+ const customer = await getCustomerProfile(input.customerId);
38
+ if (!customer) {
39
+ throw new Error(`Customer ${input.customerId} not found`);
40
+ }
41
+ return {
42
+ type: 'crm.customer',
43
+ content: customer,
44
+ promote: true,
45
+ provenance: {
46
+ tool: this.name(),
47
+ customerId: input.customerId,
48
+ },
49
+ };
50
+ }
51
+ }
52
+ class PolicyContextTool extends ContextTool {
53
+ name() {
54
+ return 'policy';
55
+ }
56
+ async produceArtifacts(input) {
57
+ const policy = await getPolicy(input.benefitCode);
58
+ if (!policy) {
59
+ throw new Error(`Policy ${input.benefitCode} not found`);
60
+ }
61
+ return {
62
+ type: 'crm.policy',
63
+ content: policy,
64
+ promote: true,
65
+ provenance: {
66
+ tool: this.name(),
67
+ benefitCode: input.benefitCode,
68
+ },
69
+ };
70
+ }
71
+ }
72
+ class KnowledgeContextTool extends ContextTool {
73
+ name() {
74
+ return 'kb';
75
+ }
76
+ async produceArtifacts(input) {
77
+ const [meta, content] = await Promise.all([
78
+ getSnippetMeta(input.docId),
79
+ loadSnippetContent(input.docId),
80
+ ]);
81
+ if (!meta || !content) {
82
+ throw new Error(`Knowledge doc ${input.docId} not found`);
83
+ }
84
+ return [
85
+ {
86
+ type: 'kb.meta',
87
+ content: meta,
88
+ promote: true,
89
+ provenance: {
90
+ tool: this.name(),
91
+ docId: input.docId,
92
+ stage: 'metadata',
93
+ },
94
+ },
95
+ {
96
+ type: 'kb.content',
97
+ content: content,
98
+ promote: false,
99
+ provenance: {
100
+ tool: this.name(),
101
+ docId: input.docId,
102
+ stage: 'content',
103
+ },
104
+ },
105
+ ];
106
+ }
107
+ }
108
+ class IncidentContextTool extends ContextTool {
109
+ name() {
110
+ return 'inc';
111
+ }
112
+ async produceArtifacts(input) {
113
+ const incident = await getIncident(input.incidentId);
114
+ if (!incident) {
115
+ throw new Error(`Incident ${input.incidentId} not found`);
116
+ }
117
+ return {
118
+ type: 'incident.record',
119
+ content: incident,
120
+ promote: true,
121
+ provenance: {
122
+ tool: this.name(),
123
+ incidentId: input.incidentId,
124
+ },
125
+ };
126
+ }
127
+ }
128
+ class RoutingContextTool extends ContextTool {
129
+ name() {
130
+ return 'routing';
131
+ }
132
+ async produceArtifacts(input) {
133
+ const incident = await getIncident(input.incidentId);
134
+ if (!incident) {
135
+ throw new Error(`Incident ${input.incidentId} not found for routing lookup`);
136
+ }
137
+ const rule = await findRoutingRule(incident, input.severity);
138
+ if (!rule) {
139
+ throw new Error(`Routing rule not found for incident ${input.incidentId}`);
140
+ }
141
+ return {
142
+ type: 'incident.routing_rule',
143
+ content: rule,
144
+ promote: true,
145
+ provenance: {
146
+ tool: this.name(),
147
+ incidentId: input.incidentId,
148
+ severity: input.severity,
149
+ },
150
+ };
151
+ }
152
+ }
153
+ class InvoiceContextTool extends ContextTool {
154
+ name() {
155
+ return 'erp';
156
+ }
157
+ async produceArtifacts(input) {
158
+ const invoice = await getInvoice(input.invoiceId);
159
+ if (!invoice) {
160
+ throw new Error(`Invoice ${input.invoiceId} not found`);
161
+ }
162
+ const purchaseOrder = invoice.purchaseOrderId
163
+ ? await getPurchaseOrder(invoice.purchaseOrderId)
164
+ : undefined;
165
+ const artifacts = [
166
+ {
167
+ type: 'erp.invoice',
168
+ content: invoice,
169
+ promote: true,
170
+ provenance: {
171
+ tool: this.name(),
172
+ stage: 'invoice',
173
+ invoiceId: input.invoiceId,
174
+ },
175
+ },
176
+ ];
177
+ if (purchaseOrder) {
178
+ artifacts.push({
179
+ type: 'erp.purchase_order',
180
+ content: purchaseOrder,
181
+ promote: true,
182
+ provenance: {
183
+ tool: this.name(),
184
+ stage: 'purchase-order',
185
+ invoiceId: input.invoiceId,
186
+ purchaseOrderId: purchaseOrder.id,
187
+ },
188
+ });
189
+ }
190
+ return artifacts;
191
+ }
192
+ }
193
+ class TranscriptContextTool extends ContextTool {
194
+ name() {
195
+ return 'transcript';
196
+ }
197
+ async produceArtifacts(input) {
198
+ const transcript = await getTranscript(input.transcriptId);
199
+ if (!transcript) {
200
+ throw new Error(`Transcript ${input.transcriptId} not found`);
201
+ }
202
+ const agent = await getAgent(transcript.agentId);
203
+ const artifacts = [
204
+ {
205
+ type: 'coaching.transcript',
206
+ content: transcript,
207
+ promote: true,
208
+ provenance: {
209
+ tool: this.name(),
210
+ transcriptId: input.transcriptId,
211
+ },
212
+ },
213
+ ];
214
+ if (agent) {
215
+ artifacts.push({
216
+ type: 'coaching.agent',
217
+ content: agent,
218
+ promote: true,
219
+ provenance: {
220
+ tool: this.name(),
221
+ transcriptId: input.transcriptId,
222
+ stage: 'agent-profile',
223
+ },
224
+ });
225
+ }
226
+ return artifacts;
227
+ }
228
+ }
229
+ export function registerExampleContextProviders(adapter) {
230
+ const customerTool = new CustomerContextTool();
231
+ adapter.register(customerTool, {
232
+ match: directive => directive.startsWith('crm:'),
233
+ buildInput: directive => {
234
+ const payload = extractPayload(directive);
235
+ if (typeof payload !== 'string') {
236
+ throw new Error(`crm directive expects customer id payload, got ${JSON.stringify(payload)}`);
237
+ }
238
+ return { customerId: payload };
239
+ },
240
+ describe: 'CRM customer profile loader',
241
+ });
242
+ const policyTool = new PolicyContextTool();
243
+ adapter.register(policyTool, {
244
+ match: directive => directive.startsWith('policy:'),
245
+ buildInput: directive => {
246
+ const payload = extractPayload(directive);
247
+ if (typeof payload !== 'string') {
248
+ throw new Error(`policy directive expects benefit code payload`);
249
+ }
250
+ return { benefitCode: payload };
251
+ },
252
+ describe: 'Entitlement policy lookup',
253
+ });
254
+ const knowledgeTool = new KnowledgeContextTool();
255
+ adapter.register(knowledgeTool, {
256
+ match: directive => directive.startsWith('kb:'),
257
+ buildInput: directive => {
258
+ const payload = extractPayload(directive);
259
+ if (typeof payload !== 'string') {
260
+ throw new Error(`kb directive expects document id payload`);
261
+ }
262
+ return { docId: payload };
263
+ },
264
+ autoPromote: false,
265
+ describe: 'Knowledge base snippet fetcher',
266
+ });
267
+ const incidentTool = new IncidentContextTool();
268
+ adapter.register(incidentTool, {
269
+ match: directive => directive.startsWith('inc:'),
270
+ buildInput: directive => {
271
+ const payload = extractPayload(directive);
272
+ if (typeof payload !== 'string') {
273
+ throw new Error('inc directive expects incident id payload');
274
+ }
275
+ return { incidentId: payload };
276
+ },
277
+ describe: 'Incident record retrieval',
278
+ });
279
+ const routingTool = new RoutingContextTool();
280
+ adapter.register(routingTool, {
281
+ match: directive => directive.startsWith('routing:'),
282
+ buildInput: directive => {
283
+ const payload = extractPayload(directive);
284
+ if (typeof payload === 'string') {
285
+ return { incidentId: payload };
286
+ }
287
+ if (payload && typeof payload === 'object' && typeof payload.incidentId === 'string') {
288
+ return {
289
+ incidentId: payload.incidentId,
290
+ severity: typeof payload.severity === 'string' ? payload.severity : undefined,
291
+ };
292
+ }
293
+ throw new Error('routing directive expects incident id payload');
294
+ },
295
+ describe: 'Routing rule lookup',
296
+ });
297
+ const invoiceTool = new InvoiceContextTool();
298
+ adapter.register(invoiceTool, {
299
+ match: directive => directive.startsWith('erp:'),
300
+ buildInput: directive => {
301
+ const payload = extractPayload(directive);
302
+ if (typeof payload === 'string') {
303
+ return { invoiceId: payload };
304
+ }
305
+ if (payload && typeof payload === 'object' && typeof payload.invoiceId === 'string') {
306
+ return { invoiceId: payload.invoiceId };
307
+ }
308
+ throw new Error('erp directive expects invoice id payload');
309
+ },
310
+ describe: 'ERP invoice + purchase order fetcher',
311
+ });
312
+ const transcriptTool = new TranscriptContextTool();
313
+ adapter.register(transcriptTool, {
314
+ match: directive => directive.startsWith('transcript:'),
315
+ buildInput: directive => {
316
+ const payload = extractPayload(directive);
317
+ if (typeof payload !== 'string') {
318
+ throw new Error('transcript directive expects transcript id payload');
319
+ }
320
+ return { transcriptId: payload };
321
+ },
322
+ describe: 'Contact center transcript loader',
323
+ });
324
+ }
325
+ //# sourceMappingURL=directives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directives.js","sourceRoot":"","sources":["../../../src/context/directives.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { registerExampleContextProviders } from './directives.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { registerExampleContextProviders } from './directives.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface CoachingTranscript {
2
+ id: string;
3
+ agentId: string;
4
+ customerSentiment: 'POSITIVE' | 'NEUTRAL' | 'NEGATIVE';
5
+ complianceFlags: string[];
6
+ transcript: string[];
7
+ callDurationSeconds: number;
8
+ followUpRequired: boolean;
9
+ }
10
+ export interface AgentProfile {
11
+ id: string;
12
+ name: string;
13
+ region: string;
14
+ tenureMonths: number;
15
+ managerEmail: string;
16
+ }
17
+ export declare function getTranscript(id: string): Promise<CoachingTranscript | undefined>;
18
+ export declare function getAgent(agentId: string): Promise<AgentProfile | undefined>;
19
+ //# sourceMappingURL=coaching.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coaching.d.ts","sourceRoot":"","sources":["../../../src/data/coaching.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IACvD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAuBD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAGvF;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAGjF"}
@@ -0,0 +1,22 @@
1
+ import { loadJson } from './loader.js';
2
+ let cache = null;
3
+ async function loadData() {
4
+ if (cache) {
5
+ return cache;
6
+ }
7
+ const [transcripts, agents] = await Promise.all([
8
+ loadJson('data/coaching/transcripts.json'),
9
+ loadJson('data/coaching/agents.json'),
10
+ ]);
11
+ cache = { transcripts, agents };
12
+ return cache;
13
+ }
14
+ export async function getTranscript(id) {
15
+ const { transcripts } = await loadData();
16
+ return transcripts.find(item => item.id === id);
17
+ }
18
+ export async function getAgent(agentId) {
19
+ const { agents } = await loadData();
20
+ return agents.find(agent => agent.id === agentId);
21
+ }
22
+ //# sourceMappingURL=coaching.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coaching.js","sourceRoot":"","sources":["../../../src/data/coaching.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAyBvC,IAAI,KAAK,GAAwB,IAAI,CAAC;AAEtC,KAAK,UAAU,QAAQ;IACrB,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,QAAQ,CAAuB,gCAAgC,CAAC;QAChE,QAAQ,CAAiB,2BAA2B,CAAC;KACtD,CAAC,CAAC;IAEH,KAAK,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAChC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAU;IAC5C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;IACzC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAe;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,25 @@
1
+ export interface CustomerProfile {
2
+ id: string;
3
+ name: string;
4
+ tier: 'STANDARD' | 'GOLD' | 'PLATINUM';
5
+ accountAgeDays: number;
6
+ complianceFlags: string[];
7
+ benefits: string[];
8
+ supervisor: {
9
+ name: string;
10
+ email: string;
11
+ };
12
+ }
13
+ export interface EntitlementPolicy {
14
+ id: string;
15
+ benefitCode: string;
16
+ description: string;
17
+ requiredTier: 'STANDARD' | 'GOLD' | 'PLATINUM';
18
+ minAccountAgeDays: number;
19
+ requiresComplianceClearance: boolean;
20
+ slaMinutes: number;
21
+ }
22
+ export declare function getCustomerProfile(customerId: string): Promise<CustomerProfile | undefined>;
23
+ export declare function getPolicy(benefitCode: string): Promise<EntitlementPolicy | undefined>;
24
+ export declare function listPolicies(): Promise<EntitlementPolicy[]>;
25
+ //# sourceMappingURL=entitlement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitlement.d.ts","sourceRoot":"","sources":["../../../src/data/entitlement.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2BAA2B,EAAE,OAAO,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAuBD,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAGjG;AAED,wBAAsB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAG3F;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAGjE"}
@@ -0,0 +1,26 @@
1
+ import { loadJson } from './loader.js';
2
+ let cachedData = null;
3
+ async function loadData() {
4
+ if (cachedData) {
5
+ return cachedData;
6
+ }
7
+ const [customers, policies] = await Promise.all([
8
+ loadJson('data/entitlement/customers.json'),
9
+ loadJson('data/entitlement/policies.json'),
10
+ ]);
11
+ cachedData = { customers, policies };
12
+ return cachedData;
13
+ }
14
+ export async function getCustomerProfile(customerId) {
15
+ const { customers } = await loadData();
16
+ return customers.find(c => c.id === customerId);
17
+ }
18
+ export async function getPolicy(benefitCode) {
19
+ const { policies } = await loadData();
20
+ return policies.find(p => p.benefitCode === benefitCode);
21
+ }
22
+ export async function listPolicies() {
23
+ const { policies } = await loadData();
24
+ return policies;
25
+ }
26
+ //# sourceMappingURL=entitlement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitlement.js","sourceRoot":"","sources":["../../../src/data/entitlement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA8BvC,IAAI,UAAU,GAA2B,IAAI,CAAC;AAE9C,KAAK,UAAU,QAAQ;IACrB,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,QAAQ,CAAoB,iCAAiC,CAAC;QAC9D,QAAQ,CAAsB,gCAAgC,CAAC;KAChE,CAAC,CAAC;IAEH,UAAU,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACrC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;IACvC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,WAAmB;IACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;IACtC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,23 @@
1
+ export type IncidentSeverity = 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
2
+ export interface IncidentRecord {
3
+ id: string;
4
+ service: string;
5
+ reportedAt: string;
6
+ customerImpact: 'NONE' | 'MINOR' | 'MAJOR';
7
+ category: 'PERFORMANCE' | 'OUTAGE' | 'SECURITY' | 'QUALITY';
8
+ signalScore: number;
9
+ declaredSeverity: IncidentSeverity;
10
+ vipCustomer?: boolean;
11
+ }
12
+ export interface RoutingRule {
13
+ id: string;
14
+ service: string;
15
+ category: IncidentRecord['category'];
16
+ minSeverity: IncidentSeverity;
17
+ queue: string;
18
+ escalatesTo?: string;
19
+ notes?: string;
20
+ }
21
+ export declare function getIncident(incidentId: string): Promise<IncidentRecord | undefined>;
22
+ export declare function findRoutingRule(incident: IncidentRecord, severityOverride?: IncidentSeverity): Promise<RoutingRule | undefined>;
23
+ //# sourceMappingURL=incidents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incidents.d.ts","sourceRoot":"","sources":["../../../src/data/incidents.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAC3C,QAAQ,EAAE,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAuBD,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAGzF;AAYD,wBAAsB,eAAe,CACnC,QAAQ,EAAE,cAAc,EACxB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAalC"}
@@ -0,0 +1,37 @@
1
+ import { loadJson } from './loader.js';
2
+ let cache = null;
3
+ async function loadData() {
4
+ if (cache) {
5
+ return cache;
6
+ }
7
+ const [incidents, routing] = await Promise.all([
8
+ loadJson('data/incidents/incidents.json'),
9
+ loadJson('data/incidents/routing_rules.json'),
10
+ ]);
11
+ cache = { incidents, routing };
12
+ return cache;
13
+ }
14
+ export async function getIncident(incidentId) {
15
+ const { incidents } = await loadData();
16
+ return incidents.find(item => item.id === incidentId);
17
+ }
18
+ function severityRank(severity) {
19
+ switch (severity) {
20
+ case 'LOW': return 1;
21
+ case 'MEDIUM': return 2;
22
+ case 'HIGH': return 3;
23
+ case 'CRITICAL': return 4;
24
+ default: return 0;
25
+ }
26
+ }
27
+ export async function findRoutingRule(incident, severityOverride) {
28
+ const { routing } = await loadData();
29
+ const effectiveSeverity = severityOverride ?? incident.declaredSeverity;
30
+ const effectiveRank = severityRank(effectiveSeverity);
31
+ const candidates = routing.filter(rule => rule.service === incident.service &&
32
+ rule.category === incident.category &&
33
+ severityRank(rule.minSeverity) <= effectiveRank);
34
+ candidates.sort((a, b) => severityRank(b.minSeverity) - severityRank(a.minSeverity));
35
+ return candidates[0];
36
+ }
37
+ //# sourceMappingURL=incidents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incidents.js","sourceRoot":"","sources":["../../../src/data/incidents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA8BvC,IAAI,KAAK,GAAwB,IAAI,CAAC;AAEtC,KAAK,UAAU,QAAQ;IACrB,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,QAAQ,CAAmB,+BAA+B,CAAC;QAC3D,QAAQ,CAAgB,mCAAmC,CAAC;KAC7D,CAAC,CAAC;IAEH,KAAK,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAkB;IAClD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;IACvC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,QAA0B;IAC9C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;QACrB,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;QACtB,KAAK,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAwB,EACxB,gBAAmC;IAEnC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB,CAAC;IACxE,MAAM,aAAa,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACvC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO;QACjC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;QACnC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,aAAa,CAChD,CAAC;IAEF,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACrF,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,34 @@
1
+ export interface InvoiceLine {
2
+ sku: string;
3
+ description: string;
4
+ quantity: number;
5
+ unitPrice: number;
6
+ }
7
+ export interface InvoiceRecord {
8
+ id: string;
9
+ supplier: string;
10
+ total: number;
11
+ currency: string;
12
+ purchaseOrderId: string;
13
+ receivedAt: string;
14
+ lines: InvoiceLine[];
15
+ }
16
+ export interface PurchaseOrderRecord {
17
+ id: string;
18
+ initiator: string;
19
+ department: string;
20
+ total: number;
21
+ currency: string;
22
+ status: string;
23
+ lines: InvoiceLine[];
24
+ }
25
+ export declare function getInvoice(invoiceId: string): Promise<InvoiceRecord | undefined>;
26
+ export declare function getPurchaseOrder(poId: string): Promise<PurchaseOrderRecord | undefined>;
27
+ export declare function compareLineItems(invoice: InvoiceRecord, po: PurchaseOrderRecord): Array<{
28
+ sku: string;
29
+ expectedQuantity: number;
30
+ actualQuantity: number;
31
+ expectedPrice: number;
32
+ actualPrice: number;
33
+ }>;
34
+ //# sourceMappingURL=invoices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoices.d.ts","sourceRoot":"","sources":["../../../src/data/invoices.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAuBD,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAGtF;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAG7F;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACvF,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAoCD"}
@@ -0,0 +1,49 @@
1
+ import { loadJson } from './loader.js';
2
+ let cached = null;
3
+ async function loadData() {
4
+ if (cached) {
5
+ return cached;
6
+ }
7
+ const [invoices, purchaseOrders] = await Promise.all([
8
+ loadJson('data/invoices/invoices.json'),
9
+ loadJson('data/invoices/purchase-orders.json'),
10
+ ]);
11
+ cached = { invoices, purchaseOrders };
12
+ return cached;
13
+ }
14
+ export async function getInvoice(invoiceId) {
15
+ const { invoices } = await loadData();
16
+ return invoices.find(inv => inv.id === invoiceId);
17
+ }
18
+ export async function getPurchaseOrder(poId) {
19
+ const { purchaseOrders } = await loadData();
20
+ return purchaseOrders.find(po => po.id === poId);
21
+ }
22
+ export function compareLineItems(invoice, po) {
23
+ const discrepancies = [];
24
+ const poLines = new Map(po.lines.map(line => [line.sku, line]));
25
+ for (const invLine of invoice.lines) {
26
+ const poLine = poLines.get(invLine.sku);
27
+ if (!poLine) {
28
+ discrepancies.push({
29
+ sku: invLine.sku,
30
+ expectedQuantity: 0,
31
+ actualQuantity: invLine.quantity,
32
+ expectedPrice: 0,
33
+ actualPrice: invLine.unitPrice,
34
+ });
35
+ continue;
36
+ }
37
+ if (poLine.quantity !== invLine.quantity || poLine.unitPrice !== invLine.unitPrice) {
38
+ discrepancies.push({
39
+ sku: invLine.sku,
40
+ expectedQuantity: poLine.quantity,
41
+ actualQuantity: invLine.quantity,
42
+ expectedPrice: poLine.unitPrice,
43
+ actualPrice: invLine.unitPrice,
44
+ });
45
+ }
46
+ }
47
+ return discrepancies;
48
+ }
49
+ //# sourceMappingURL=invoices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoices.js","sourceRoot":"","sources":["../../../src/data/invoices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAkCvC,IAAI,MAAM,GAAuB,IAAI,CAAC;AAEtC,KAAK,UAAU,QAAQ;IACrB,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACnD,QAAQ,CAAkB,6BAA6B,CAAC;QACxD,QAAQ,CAAwB,oCAAoC,CAAC;KACtE,CAAC,CAAC;IAEH,MAAM,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;IACtC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAAiB;IAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;IACtC,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY;IACjD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC5C,OAAO,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAsB,EAAE,EAAuB;IAO9E,MAAM,aAAa,GAMd,EAAE,CAAC;IAER,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhE,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,aAAa,CAAC,IAAI,CAAC;gBACjB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,gBAAgB,EAAE,CAAC;gBACnB,cAAc,EAAE,OAAO,CAAC,QAAQ;gBAChC,aAAa,EAAE,CAAC;gBAChB,WAAW,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;YACnF,aAAa,CAAC,IAAI,CAAC;gBACjB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,gBAAgB,EAAE,MAAM,CAAC,QAAQ;gBACjC,cAAc,EAAE,OAAO,CAAC,QAAQ;gBAChC,aAAa,EAAE,MAAM,CAAC,SAAS;gBAC/B,WAAW,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface KnowledgeSnippetMeta {
2
+ id: string;
3
+ title: string;
4
+ tags: string[];
5
+ path: string;
6
+ summary: string;
7
+ }
8
+ export declare function searchSnippets(query: string): Promise<KnowledgeSnippetMeta[]>;
9
+ export declare function loadSnippetContent(docId: string): Promise<string | undefined>;
10
+ export declare function getSnippetMeta(docId: string): Promise<KnowledgeSnippetMeta | undefined>;
11
+ //# sourceMappingURL=knowledge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../../src/data/knowledge.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAiBD,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAWnF;AAmBD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQnF;AAUD,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAG7F"}