@backendkit-labs/agent-enterprise 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/__tests__/integration/EventPublisher.integration.test.d.ts +2 -0
- package/dist/__tests__/integration/EventPublisher.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/EventPublisher.integration.test.js +122 -0
- package/dist/__tests__/integration/EventPublisher.integration.test.js.map +1 -0
- package/dist/__tests__/unit/ComplianceGate.test.d.ts +2 -0
- package/dist/__tests__/unit/ComplianceGate.test.d.ts.map +1 -0
- package/dist/__tests__/unit/ComplianceGate.test.js +271 -0
- package/dist/__tests__/unit/ComplianceGate.test.js.map +1 -0
- package/dist/__tests__/unit/EventPublisher.test.d.ts +2 -0
- package/dist/__tests__/unit/EventPublisher.test.d.ts.map +1 -0
- package/dist/__tests__/unit/EventPublisher.test.js +160 -0
- package/dist/__tests__/unit/EventPublisher.test.js.map +1 -0
- package/dist/__tests__/unit/FlowLoader.test.d.ts +2 -0
- package/dist/__tests__/unit/FlowLoader.test.d.ts.map +1 -0
- package/dist/__tests__/unit/FlowLoader.test.js +283 -0
- package/dist/__tests__/unit/FlowLoader.test.js.map +1 -0
- package/dist/__tests__/unit/FlowRunner.test.d.ts +2 -0
- package/dist/__tests__/unit/FlowRunner.test.d.ts.map +1 -0
- package/dist/__tests__/unit/FlowRunner.test.js +386 -0
- package/dist/__tests__/unit/FlowRunner.test.js.map +1 -0
- package/dist/__tests__/unit/PolicySeeder.test.d.ts +2 -0
- package/dist/__tests__/unit/PolicySeeder.test.d.ts.map +1 -0
- package/dist/__tests__/unit/PolicySeeder.test.js +146 -0
- package/dist/__tests__/unit/PolicySeeder.test.js.map +1 -0
- package/dist/__tests__/unit/ProfilePolicies.test.d.ts +2 -0
- package/dist/__tests__/unit/ProfilePolicies.test.d.ts.map +1 -0
- package/dist/__tests__/unit/ProfilePolicies.test.js +70 -0
- package/dist/__tests__/unit/ProfilePolicies.test.js.map +1 -0
- package/dist/__tests__/unit/ReconciliationSweeper.test.d.ts +2 -0
- package/dist/__tests__/unit/ReconciliationSweeper.test.d.ts.map +1 -0
- package/dist/__tests__/unit/ReconciliationSweeper.test.js +235 -0
- package/dist/__tests__/unit/ReconciliationSweeper.test.js.map +1 -0
- package/dist/__tests__/unit/n8nTriggerTool.test.d.ts +2 -0
- package/dist/__tests__/unit/n8nTriggerTool.test.d.ts.map +1 -0
- package/dist/__tests__/unit/n8nTriggerTool.test.js +103 -0
- package/dist/__tests__/unit/n8nTriggerTool.test.js.map +1 -0
- package/dist/events/EventPublisher.d.ts +47 -0
- package/dist/events/EventPublisher.d.ts.map +1 -0
- package/dist/events/EventPublisher.js +75 -0
- package/dist/events/EventPublisher.js.map +1 -0
- package/dist/events/ReconciliationSweeper.d.ts +37 -0
- package/dist/events/ReconciliationSweeper.d.ts.map +1 -0
- package/dist/events/ReconciliationSweeper.js +151 -0
- package/dist/events/ReconciliationSweeper.js.map +1 -0
- package/dist/events/index.d.ts +6 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +8 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/types.d.ts +48 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +3 -0
- package/dist/events/types.js.map +1 -0
- package/dist/factory.d.ts +6 -0
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +11 -5
- package/dist/factory.js.map +1 -1
- package/dist/flow/ComplianceGate.d.ts +90 -0
- package/dist/flow/ComplianceGate.d.ts.map +1 -0
- package/dist/flow/ComplianceGate.js +214 -0
- package/dist/flow/ComplianceGate.js.map +1 -0
- package/dist/flow/FlowLoader.d.ts +22 -0
- package/dist/flow/FlowLoader.d.ts.map +1 -0
- package/dist/flow/FlowLoader.js +170 -0
- package/dist/flow/FlowLoader.js.map +1 -0
- package/dist/flow/FlowRunner.d.ts +73 -0
- package/dist/flow/FlowRunner.d.ts.map +1 -0
- package/dist/flow/FlowRunner.js +162 -0
- package/dist/flow/FlowRunner.js.map +1 -0
- package/dist/flow/index.d.ts +8 -0
- package/dist/flow/index.d.ts.map +1 -0
- package/dist/flow/index.js +21 -0
- package/dist/flow/index.js.map +1 -0
- package/dist/flow/types.d.ts +306 -0
- package/dist/flow/types.d.ts.map +1 -0
- package/dist/flow/types.js +63 -0
- package/dist/flow/types.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/index.d.ts +3 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +6 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/n8nTriggerTool.d.ts +12 -0
- package/dist/integrations/n8nTriggerTool.d.ts.map +1 -0
- package/dist/integrations/n8nTriggerTool.js +45 -0
- package/dist/integrations/n8nTriggerTool.js.map +1 -0
- package/dist/policies/PolicySeeder.d.ts +31 -0
- package/dist/policies/PolicySeeder.d.ts.map +1 -0
- package/dist/policies/PolicySeeder.js +270 -0
- package/dist/policies/PolicySeeder.js.map +1 -0
- package/dist/policies/index.d.ts +3 -0
- package/dist/policies/index.d.ts.map +1 -0
- package/dist/policies/index.js +6 -0
- package/dist/policies/index.js.map +1 -0
- package/dist/profiles/constants.d.ts +4 -0
- package/dist/profiles/constants.d.ts.map +1 -1
- package/dist/profiles/constants.js +4 -0
- package/dist/profiles/constants.js.map +1 -1
- package/dist/profiles/finance.d.ts.map +1 -1
- package/dist/profiles/finance.js +7 -8
- package/dist/profiles/finance.js.map +1 -1
- package/dist/profiles/general.d.ts.map +1 -1
- package/dist/profiles/general.js +1 -0
- package/dist/profiles/general.js.map +1 -1
- package/dist/profiles/hr.d.ts.map +1 -1
- package/dist/profiles/hr.js +6 -8
- package/dist/profiles/hr.js.map +1 -1
- package/dist/profiles/ops.d.ts.map +1 -1
- package/dist/profiles/ops.js +6 -10
- package/dist/profiles/ops.js.map +1 -1
- package/dist/profiles/sales.d.ts.map +1 -1
- package/dist/profiles/sales.js +3 -1
- package/dist/profiles/sales.js.map +1 -1
- package/dist/profiles/support.d.ts.map +1 -1
- package/dist/profiles/support.js +2 -4
- package/dist/profiles/support.js.map +1 -1
- package/dist/rag/OllamaEmbedder.d.ts +6 -0
- package/dist/rag/OllamaEmbedder.d.ts.map +1 -1
- package/dist/rag/OllamaEmbedder.js +75 -16
- package/dist/rag/OllamaEmbedder.js.map +1 -1
- package/dist/rag/VaultWriter.d.ts +3 -0
- package/dist/rag/VaultWriter.d.ts.map +1 -1
- package/dist/rag/VaultWriter.js +63 -17
- package/dist/rag/VaultWriter.js.map +1 -1
- package/dist/reflection/EnterpriseReflection.d.ts +108 -0
- package/dist/reflection/EnterpriseReflection.d.ts.map +1 -0
- package/dist/reflection/EnterpriseReflection.js +296 -0
- package/dist/reflection/EnterpriseReflection.js.map +1 -0
- package/dist/reflection/GateReflectionBridge.d.ts +21 -0
- package/dist/reflection/GateReflectionBridge.d.ts.map +1 -0
- package/dist/reflection/GateReflectionBridge.js +120 -0
- package/dist/reflection/GateReflectionBridge.js.map +1 -0
- package/dist/reflection/domains.d.ts +6 -0
- package/dist/reflection/domains.d.ts.map +1 -0
- package/dist/reflection/domains.js +176 -0
- package/dist/reflection/domains.js.map +1 -0
- package/dist/reflection/index.d.ts +6 -0
- package/dist/reflection/index.d.ts.map +1 -0
- package/dist/reflection/index.js +11 -0
- package/dist/reflection/index.js.map +1 -0
- package/package.json +6 -2
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.PolicySeeder = void 0;
|
|
37
|
+
const fs = __importStar(require("fs/promises"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
// ── PolicySeeder ──────────────────────────────────────────────────────────────
|
|
40
|
+
/**
|
|
41
|
+
* Seeds default business policy notes into the vault under /politicas/.
|
|
42
|
+
*
|
|
43
|
+
* Each policy lives at: {vaultPath}/politicas/{domain}/{slug}.md
|
|
44
|
+
*
|
|
45
|
+
* Policies contain the business rules that were previously hardcoded in agent
|
|
46
|
+
* system prompts (ADR-4). Agents retrieve them at runtime via their search tool,
|
|
47
|
+
* so editing a vault note changes agent behavior without any code deployment.
|
|
48
|
+
*
|
|
49
|
+
* By default, existing policy files are NOT overwritten — the company's edits
|
|
50
|
+
* always take precedence. Pass `overwrite: true` to reset to framework defaults.
|
|
51
|
+
*/
|
|
52
|
+
class PolicySeeder {
|
|
53
|
+
vaultPath;
|
|
54
|
+
constructor(vaultPath) {
|
|
55
|
+
this.vaultPath = vaultPath;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Seeds all default policies. Returns the paths of files actually written.
|
|
59
|
+
* Skips files that already exist unless `overwrite: true`.
|
|
60
|
+
*/
|
|
61
|
+
async seed(opts = {}) {
|
|
62
|
+
const written = [];
|
|
63
|
+
for (const policy of SEED_POLICIES) {
|
|
64
|
+
const dir = path.join(this.vaultPath, 'politicas', policy.domain);
|
|
65
|
+
await fs.mkdir(dir, { recursive: true });
|
|
66
|
+
const file = path.join(dir, `${policy.slug}.md`);
|
|
67
|
+
if (!opts.overwrite) {
|
|
68
|
+
try {
|
|
69
|
+
await fs.access(file);
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
catch { /* doesn't exist — write it */ }
|
|
73
|
+
}
|
|
74
|
+
await fs.writeFile(file, policy.content, 'utf-8');
|
|
75
|
+
written.push(file);
|
|
76
|
+
}
|
|
77
|
+
return written;
|
|
78
|
+
}
|
|
79
|
+
/** Returns the absolute path where a policy note will be written. */
|
|
80
|
+
policyPath(domain, slug) {
|
|
81
|
+
return path.join(this.vaultPath, 'politicas', domain, `${slug}.md`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.PolicySeeder = PolicySeeder;
|
|
85
|
+
// ── Seed policies ─────────────────────────────────────────────────────────────
|
|
86
|
+
const SEED_POLICIES = [
|
|
87
|
+
{
|
|
88
|
+
domain: 'finanzas',
|
|
89
|
+
slug: 'approval-authority',
|
|
90
|
+
content: `---
|
|
91
|
+
title: "Policy: Approval Authority Matrix — Finance"
|
|
92
|
+
vigente_desde: "2026-01-01"
|
|
93
|
+
aprobada_por: "CFO"
|
|
94
|
+
version: 1
|
|
95
|
+
tags: ["politica", "finanzas", "aprobacion"]
|
|
96
|
+
description: "Expense and payment approval authority thresholds"
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Approval Authority Matrix
|
|
100
|
+
|
|
101
|
+
All expense, payment, and purchase approvals must follow this matrix.
|
|
102
|
+
No exceptions without written CFO authorisation.
|
|
103
|
+
|
|
104
|
+
| Amount | Required Approver |
|
|
105
|
+
|--------|-------------------|
|
|
106
|
+
| Under $500 | Team lead |
|
|
107
|
+
| $500 to $5,000 | Department manager |
|
|
108
|
+
| $5,000 to $50,000 | CFO |
|
|
109
|
+
| Above $50,000 | Board of directors |
|
|
110
|
+
|
|
111
|
+
### Rules
|
|
112
|
+
|
|
113
|
+
- Amounts must not be split across multiple requests to avoid approval thresholds.
|
|
114
|
+
- Recurring expenses (contracts, subscriptions) follow the annualised amount.
|
|
115
|
+
- Emergency purchases above the team-lead limit require retroactive approval within 24 h.
|
|
116
|
+
`,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
domain: 'finanzas',
|
|
120
|
+
slug: 'confidentiality',
|
|
121
|
+
content: `---
|
|
122
|
+
title: "Policy: Financial Data Confidentiality"
|
|
123
|
+
vigente_desde: "2026-01-01"
|
|
124
|
+
aprobada_por: "CFO"
|
|
125
|
+
version: 1
|
|
126
|
+
tags: ["politica", "finanzas", "confidencialidad"]
|
|
127
|
+
description: "What financial data may not be shared externally"
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Financial Data Confidentiality
|
|
131
|
+
|
|
132
|
+
The following information must not be shared in any response that could be forwarded externally:
|
|
133
|
+
|
|
134
|
+
- Revenue figures (total or by product/segment)
|
|
135
|
+
- Gross or net margin data
|
|
136
|
+
- Individual or team salary, bonus, or compensation data
|
|
137
|
+
- Unpublished financial forecasts or projections
|
|
138
|
+
- Customer contract values
|
|
139
|
+
|
|
140
|
+
### Handling requests for restricted data
|
|
141
|
+
|
|
142
|
+
1. Decline to provide the specific figure requested.
|
|
143
|
+
2. State clearly that the information is confidential.
|
|
144
|
+
3. Direct the requester to the appropriate owner (Finance Director or CFO) via official channels.
|
|
145
|
+
4. Flag the interaction in the audit log with write_knowledge.
|
|
146
|
+
`,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
domain: 'operaciones',
|
|
150
|
+
slug: 'incident-severity',
|
|
151
|
+
content: `---
|
|
152
|
+
title: "Policy: Incident Severity Classification — Operations"
|
|
153
|
+
vigente_desde: "2026-01-01"
|
|
154
|
+
aprobada_por: "Head of Engineering"
|
|
155
|
+
version: 1
|
|
156
|
+
tags: ["politica", "operaciones", "incidentes", "severidad"]
|
|
157
|
+
description: "Incident severity levels, response SLAs, and escalation paths"
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Incident Severity Classification
|
|
161
|
+
|
|
162
|
+
| Level | Criteria | Response SLA | Escalation |
|
|
163
|
+
|-------|----------|-------------|------------|
|
|
164
|
+
| P1 — Critical | Full outage, all users affected | Immediate — war room within 15 min | Engineering lead + on-call + CTO notified |
|
|
165
|
+
| P2 — High | Partial outage or severe degradation | On-call engineer within 15 min | Engineering lead notified |
|
|
166
|
+
| P3 — Medium | Non-critical degradation, workaround available | Response within 4 business hours | Ticket assigned to on-call queue |
|
|
167
|
+
| P4 — Low | Cosmetic issue, no functional impact | Response next business day | Added to backlog |
|
|
168
|
+
|
|
169
|
+
### Classification rules
|
|
170
|
+
|
|
171
|
+
- Default to the higher severity when in doubt.
|
|
172
|
+
- A P1 auto-triggers a war-room channel and notified stakeholders list.
|
|
173
|
+
- Severity may be downgraded after the initial assessment — never upgraded silently.
|
|
174
|
+
- Post-incident review is mandatory for P1 and P2.
|
|
175
|
+
`,
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
domain: 'ventas',
|
|
179
|
+
slug: 'discount-authority',
|
|
180
|
+
content: `---
|
|
181
|
+
title: "Policy: Discount Authority — Sales"
|
|
182
|
+
vigente_desde: "2026-01-01"
|
|
183
|
+
aprobada_por: "VP Sales"
|
|
184
|
+
version: 1
|
|
185
|
+
tags: ["politica", "ventas", "descuentos", "precios"]
|
|
186
|
+
description: "Who can authorise discounts and under what conditions"
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Discount Authority Matrix
|
|
190
|
+
|
|
191
|
+
| Discount | Authorised By |
|
|
192
|
+
|----------|--------------|
|
|
193
|
+
| Up to 10% | Account executive (self-authorised) |
|
|
194
|
+
| 10% to 20% | Sales manager approval required |
|
|
195
|
+
| 20% to 35% | VP Sales approval required |
|
|
196
|
+
| Above 35% | CEO approval required |
|
|
197
|
+
|
|
198
|
+
### Conditions
|
|
199
|
+
|
|
200
|
+
- Discounts must be justified in the CRM record before applying.
|
|
201
|
+
- Volume discounts (annual contracts, multi-seat) follow separate negotiation guidelines — search for "volume pricing policy ventas".
|
|
202
|
+
- One-time promotional discounts require VP Sales sign-off regardless of amount.
|
|
203
|
+
- Retroactive discounts (applied after invoicing) require Finance approval in addition to Sales authority.
|
|
204
|
+
`,
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
domain: 'soporte',
|
|
208
|
+
slug: 'escalation-levels',
|
|
209
|
+
content: `---
|
|
210
|
+
title: "Policy: Escalation Levels — Customer Support"
|
|
211
|
+
vigente_desde: "2026-01-01"
|
|
212
|
+
aprobada_por: "Head of Support"
|
|
213
|
+
version: 1
|
|
214
|
+
tags: ["politica", "soporte", "escalamiento"]
|
|
215
|
+
description: "Support tier definitions and escalation criteria"
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Escalation Levels
|
|
219
|
+
|
|
220
|
+
| Tier | Scope | Handled By | Escalate When |
|
|
221
|
+
|------|-------|-----------|---------------|
|
|
222
|
+
| Tier 1 — Standard | Common product questions, documented FAQs | Support agent using KB | Issue not in KB or unresolved after 2 attempts |
|
|
223
|
+
| Tier 2 — Account / Billing | Billing disputes, account changes, refunds | Senior support agent | Dispute > $200 or customer requests manager |
|
|
224
|
+
| Tier 3 — Critical | Service outages, data loss, security concerns | Engineering + Support lead | Immediately on identification |
|
|
225
|
+
|
|
226
|
+
### Rules
|
|
227
|
+
|
|
228
|
+
- Always attempt Tier 1 resolution first using the knowledge base.
|
|
229
|
+
- A Tier 2 escalation must include the ticket history and a summary of steps already taken.
|
|
230
|
+
- Tier 3 must be escalated within 5 minutes of identification — do not attempt to resolve first.
|
|
231
|
+
- The escalating agent retains ownership of the customer communication throughout.
|
|
232
|
+
`,
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
domain: 'rrhh',
|
|
236
|
+
slug: 'data-privacy',
|
|
237
|
+
content: `---
|
|
238
|
+
title: "Policy: Employee Data Privacy — HR"
|
|
239
|
+
vigente_desde: "2026-01-01"
|
|
240
|
+
aprobada_por: "HR Director"
|
|
241
|
+
version: 1
|
|
242
|
+
tags: ["politica", "rrhh", "privacidad", "datos"]
|
|
243
|
+
description: "Rules for handling employee personal and confidential data"
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Employee Data Privacy
|
|
247
|
+
|
|
248
|
+
### Data that must never be shared
|
|
249
|
+
|
|
250
|
+
- Individual salary, bonus, or total compensation figures
|
|
251
|
+
- Performance review scores or disciplinary records
|
|
252
|
+
- Medical information or disability accommodations
|
|
253
|
+
- Whether a named individual is currently employed (confirm only via official channels)
|
|
254
|
+
- Personal contact details (home address, personal phone/email)
|
|
255
|
+
|
|
256
|
+
### Handling data requests
|
|
257
|
+
|
|
258
|
+
1. Verify the requester's authorisation level before providing any employee data.
|
|
259
|
+
2. Salary data may only be shared with the employee themselves, their direct manager, HR Director, or CFO — never in group responses.
|
|
260
|
+
3. Employment verification requests (background checks, reference letters) must be routed to the HR Director.
|
|
261
|
+
4. Requests that appear to aggregate individual data across employees must be escalated to the HR Director regardless of individual fields.
|
|
262
|
+
|
|
263
|
+
### Retention
|
|
264
|
+
|
|
265
|
+
Employee records are retained per local labour law requirements.
|
|
266
|
+
Consult the HR Director for data deletion or anonymisation requests.
|
|
267
|
+
`,
|
|
268
|
+
},
|
|
269
|
+
];
|
|
270
|
+
//# sourceMappingURL=PolicySeeder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PolicySeeder.js","sourceRoot":"","sources":["../../src/policies/PolicySeeder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAkB7B,iFAAiF;AAEjF;;;;;;;;;;;GAWG;AACH,MAAa,YAAY;IACQ;IAA7B,YAA6B,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;IAAG,CAAC;IAElD;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,OAA4B,EAAE;QACrC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClB,IAAI,CAAC;oBAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,qEAAqE;IACrE,UAAU,CAAC,MAAc,EAAE,IAAY;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IACxE,CAAC;CACJ;AA1BD,oCA0BC;AAED,iFAAiF;AAEjF,MAAM,aAAa,GAAuB;IACtC;QACI,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BhB;KACI;IACD;QACI,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAyBhB;KACI;IACD;QACI,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBhB;KACI;IACD;QACI,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBhB;KACI;IACD;QACI,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuBhB;KACI;IACD;QACI,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BhB;KACI;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/policies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PolicySeeder = void 0;
|
|
4
|
+
var PolicySeeder_1 = require("./PolicySeeder");
|
|
5
|
+
Object.defineProperty(exports, "PolicySeeder", { enumerable: true, get: function () { return PolicySeeder_1.PolicySeeder; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/policies/index.ts"],"names":[],"mappings":";;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
|
|
@@ -8,6 +8,8 @@ export declare const ENTERPRISE_TOOLS: {
|
|
|
8
8
|
readonly SEARCH_OPS: "search_ops_kb";
|
|
9
9
|
readonly WRITE_KNOWLEDGE: "write_knowledge";
|
|
10
10
|
readonly ASK_AGENT: "ask_agent";
|
|
11
|
+
/** Registered when EnterpriseSetupOptions.n8nWebhookUrl is provided. */
|
|
12
|
+
readonly N8N_TRIGGER: "n8n_trigger";
|
|
11
13
|
};
|
|
12
14
|
/** Vault subfolder for each department. */
|
|
13
15
|
export declare const VAULT_FOLDERS: {
|
|
@@ -18,5 +20,7 @@ export declare const VAULT_FOLDERS: {
|
|
|
18
20
|
readonly FINANCE: "finanzas";
|
|
19
21
|
readonly OPS: "operaciones";
|
|
20
22
|
readonly AGENTS: "agentes";
|
|
23
|
+
/** Business policies — indexed by all dept RAGs so agents can query them. */
|
|
24
|
+
readonly POLICIES: "politicas";
|
|
21
25
|
};
|
|
22
26
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/profiles/constants.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,eAAO,MAAM,gBAAgB;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/profiles/constants.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,eAAO,MAAM,gBAAgB;;;;;;;;;IASzB,wEAAwE;;CAElE,CAAC;AAEX,2CAA2C;AAC3C,eAAO,MAAM,aAAa;;;;;;;;IAQtB,6EAA6E;;CAEvE,CAAC"}
|
|
@@ -11,6 +11,8 @@ exports.ENTERPRISE_TOOLS = {
|
|
|
11
11
|
SEARCH_OPS: 'search_ops_kb',
|
|
12
12
|
WRITE_KNOWLEDGE: 'write_knowledge',
|
|
13
13
|
ASK_AGENT: 'ask_agent',
|
|
14
|
+
/** Registered when EnterpriseSetupOptions.n8nWebhookUrl is provided. */
|
|
15
|
+
N8N_TRIGGER: 'n8n_trigger',
|
|
14
16
|
};
|
|
15
17
|
/** Vault subfolder for each department. */
|
|
16
18
|
exports.VAULT_FOLDERS = {
|
|
@@ -21,5 +23,7 @@ exports.VAULT_FOLDERS = {
|
|
|
21
23
|
FINANCE: 'finanzas',
|
|
22
24
|
OPS: 'operaciones',
|
|
23
25
|
AGENTS: 'agentes',
|
|
26
|
+
/** Business policies — indexed by all dept RAGs so agents can query them. */
|
|
27
|
+
POLICIES: 'politicas',
|
|
24
28
|
};
|
|
25
29
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/profiles/constants.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AAC3C,QAAA,gBAAgB,GAAG;IAC5B,cAAc,EAAK,kBAAkB;IACrC,cAAc,EAAK,mBAAmB;IACtC,SAAS,EAAU,cAAc;IACjC,YAAY,EAAO,iBAAiB;IACpC,cAAc,EAAK,mBAAmB;IACtC,UAAU,EAAS,eAAe;IAClC,eAAe,EAAI,iBAAiB;IACpC,SAAS,EAAU,WAAW;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/profiles/constants.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AAC3C,QAAA,gBAAgB,GAAG;IAC5B,cAAc,EAAK,kBAAkB;IACrC,cAAc,EAAK,mBAAmB;IACtC,SAAS,EAAU,cAAc;IACjC,YAAY,EAAO,iBAAiB;IACpC,cAAc,EAAK,mBAAmB;IACtC,UAAU,EAAS,eAAe;IAClC,eAAe,EAAI,iBAAiB;IACpC,SAAS,EAAU,WAAW;IAC9B,wEAAwE;IACxE,WAAW,EAAQ,aAAa;CAC1B,CAAC;AAEX,2CAA2C;AAC9B,QAAA,aAAa,GAAG;IACzB,OAAO,EAAM,SAAS;IACtB,OAAO,EAAM,SAAS;IACtB,EAAE,EAAW,MAAM;IACnB,KAAK,EAAQ,QAAQ;IACrB,OAAO,EAAM,UAAU;IACvB,GAAG,EAAU,aAAa;IAC1B,MAAM,EAAO,SAAS;IACtB,6EAA6E;IAC7E,QAAQ,EAAK,WAAW;CAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finance.d.ts","sourceRoot":"","sources":["../../src/profiles/finance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"finance.d.ts","sourceRoot":"","sources":["../../src/profiles/finance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,eAAO,MAAM,eAAe,EAAE,YA2B7B,CAAC"}
|
package/dist/profiles/finance.js
CHANGED
|
@@ -12,17 +12,16 @@ exports.FINANCE_PROFILE = {
|
|
|
12
12
|
Your responsibilities:
|
|
13
13
|
1. Search the finance knowledge base (search_finance_kb) for budget guidelines, approval workflows, and financial policies.
|
|
14
14
|
2. Assist with expense approvals, budget queries, and financial report interpretation.
|
|
15
|
-
3.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- $5,000–$50,000: CFO approval
|
|
19
|
-
- > $50,000: board approval required
|
|
15
|
+
3. **Before approving or declining any expense or payment**, use search_finance_kb to retrieve the
|
|
16
|
+
current approval authority matrix (search for "approval authority matrix finanzas").
|
|
17
|
+
Apply it exactly — never rely on memorised thresholds.
|
|
20
18
|
4. For report generation requests, outline the required data points and the responsible owner.
|
|
21
19
|
5. Document new financial procedures or policy clarifications with write_knowledge under finanzas/.
|
|
22
20
|
|
|
23
|
-
IMPORTANT — Confidentiality
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
IMPORTANT — Confidentiality:
|
|
22
|
+
Before answering any question that may involve restricted financial data, use search_finance_kb
|
|
23
|
+
to retrieve the current confidentiality policy (search for "confidentiality policy finanzas").
|
|
24
|
+
Apply it strictly and flag any request that appears to be fishing for protected information.
|
|
26
25
|
|
|
27
26
|
Tone: precise, compliance-aware, numbers-driven.`,
|
|
28
27
|
allowedTools: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finance.js","sourceRoot":"","sources":["../../src/profiles/finance.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAElC,QAAA,eAAe,GAAiB;IACzC,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,uGAAuG;IACpH,YAAY,EAAE
|
|
1
|
+
{"version":3,"file":"finance.js","sourceRoot":"","sources":["../../src/profiles/finance.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAElC,QAAA,eAAe,GAAiB;IACzC,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,uGAAuG;IACpH,YAAY,EAAE;;;;;;;;;;;;;;;;iDAgB+B;IAC7C,YAAY,EAAE;QACV,4BAAgB,CAAC,cAAc;QAC/B,4BAAgB,CAAC,eAAe;KACnC;IACD,QAAQ,EAAE,OAAO;CACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/profiles/general.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/profiles/general.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,eAAO,MAAM,eAAe,EAAE,YA2B7B,CAAC"}
|
package/dist/profiles/general.js
CHANGED
|
@@ -26,6 +26,7 @@ Always be direct and business-focused. Cite your sources.`,
|
|
|
26
26
|
constants_1.ENTERPRISE_TOOLS.SEARCH_GENERAL,
|
|
27
27
|
constants_1.ENTERPRISE_TOOLS.WRITE_KNOWLEDGE,
|
|
28
28
|
constants_1.ENTERPRISE_TOOLS.ASK_AGENT,
|
|
29
|
+
constants_1.ENTERPRISE_TOOLS.N8N_TRIGGER,
|
|
29
30
|
],
|
|
30
31
|
delegatesTo: ['support', 'hr', 'sales', 'finance', 'ops'],
|
|
31
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/profiles/general.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAElC,QAAA,eAAe,GAAiB;IACzC,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,GAAG;IACT,WAAW,EAAE,8FAA8F;IAC3G,YAAY,EAAE;;;;;;;;;;;;;;0DAcwC;IACtD,YAAY,EAAE;QACV,4BAAgB,CAAC,cAAc;QAC/B,4BAAgB,CAAC,eAAe;QAChC,4BAAgB,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/profiles/general.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAElC,QAAA,eAAe,GAAiB;IACzC,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,GAAG;IACT,WAAW,EAAE,8FAA8F;IAC3G,YAAY,EAAE;;;;;;;;;;;;;;0DAcwC;IACtD,YAAY,EAAE;QACV,4BAAgB,CAAC,cAAc;QAC/B,4BAAgB,CAAC,eAAe;QAChC,4BAAgB,CAAC,SAAS;QAC1B,4BAAgB,CAAC,WAAW;KAC/B;IACD,WAAW,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC;CAC5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hr.d.ts","sourceRoot":"","sources":["../../src/profiles/hr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"hr.d.ts","sourceRoot":"","sources":["../../src/profiles/hr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,eAAO,MAAM,UAAU,EAAE,YA0BxB,CAAC"}
|
package/dist/profiles/hr.js
CHANGED
|
@@ -13,16 +13,14 @@ Your responsibilities:
|
|
|
13
13
|
1. Search the HR knowledge base (search_hr_kb) for policies, procedures, and employee guidelines.
|
|
14
14
|
2. Answer questions about leave, payroll, benefits, onboarding, and performance processes.
|
|
15
15
|
3. Always cite the specific policy document you are referencing.
|
|
16
|
-
4. For requests that require
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
- The expected timeline
|
|
16
|
+
4. For requests that require approval, use search_hr_kb to retrieve the current approval and
|
|
17
|
+
escalation policy (search for "approval escalation policy rrhh") before stating who must approve
|
|
18
|
+
and the expected timeline.
|
|
20
19
|
5. Document policy clarifications or common Q&A with write_knowledge under rrhh/.
|
|
21
20
|
|
|
22
|
-
IMPORTANT — Data privacy
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- Direct requests for personal data to the HR director.
|
|
21
|
+
IMPORTANT — Data privacy:
|
|
22
|
+
Before answering any question involving employee personal data, use search_hr_kb to retrieve
|
|
23
|
+
the current data privacy policy (search for "data privacy policy rrhh") and apply it strictly.
|
|
26
24
|
|
|
27
25
|
Tone: warm, confidential, policy-grounded.`,
|
|
28
26
|
allowedTools: [
|
package/dist/profiles/hr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hr.js","sourceRoot":"","sources":["../../src/profiles/hr.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAElC,QAAA,UAAU,GAAiB;IACpC,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,mGAAmG;IAChH,YAAY,EAAE
|
|
1
|
+
{"version":3,"file":"hr.js","sourceRoot":"","sources":["../../src/profiles/hr.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAElC,QAAA,UAAU,GAAiB;IACpC,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,mGAAmG;IAChH,YAAY,EAAE;;;;;;;;;;;;;;;2CAeyB;IACvC,YAAY,EAAE;QACV,4BAAgB,CAAC,SAAS;QAC1B,4BAAgB,CAAC,eAAe;KACnC;IACD,QAAQ,EAAE,OAAO;CACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/profiles/ops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/profiles/ops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,eAAO,MAAM,WAAW,EAAE,YAuBzB,CAAC"}
|
package/dist/profiles/ops.js
CHANGED
|
@@ -12,16 +12,12 @@ exports.OPS_PROFILE = {
|
|
|
12
12
|
Your responsibilities:
|
|
13
13
|
1. Search the operations knowledge base (search_ops_kb) for runbooks, incident history, architecture docs, and metrics baselines.
|
|
14
14
|
2. For incident response queries:
|
|
15
|
-
- Identify the affected system from the description
|
|
16
|
-
- Pull the relevant runbook from the KB
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- P2: partial outage or degradation → on-call engineer within 15 min
|
|
22
|
-
- P3: non-critical issue → ticket, next business day
|
|
23
|
-
- P4: cosmetic/low impact → backlog
|
|
24
|
-
4. Document post-incident learnings or new runbooks with write_knowledge under operaciones/.
|
|
15
|
+
- Identify the affected system from the description.
|
|
16
|
+
- Pull the relevant runbook from the KB.
|
|
17
|
+
- Use search_ops_kb to retrieve the current incident severity classification policy
|
|
18
|
+
(search for "incident severity classification operaciones") and apply it to determine
|
|
19
|
+
the correct response, escalation path, and SLA.
|
|
20
|
+
3. Document post-incident learnings or new runbooks with write_knowledge under operaciones/.
|
|
25
21
|
|
|
26
22
|
Tone: calm under pressure, systematic, action-oriented. Lead with immediate actions.
|
|
27
23
|
Never speculate about root cause — state what is known and what needs investigation.`,
|
package/dist/profiles/ops.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../../src/profiles/ops.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAElC,QAAA,WAAW,GAAiB;IACrC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,GAAG;IACT,WAAW,EAAE,uEAAuE;IACpF,YAAY,EAAE
|
|
1
|
+
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../../src/profiles/ops.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAElC,QAAA,WAAW,GAAiB;IACrC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,GAAG;IACT,WAAW,EAAE,uEAAuE;IACpF,YAAY,EAAE;;;;;;;;;;;;;qFAamE;IACjF,YAAY,EAAE;QACV,4BAAgB,CAAC,UAAU;QAC3B,4BAAgB,CAAC,eAAe;KACnC;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sales.d.ts","sourceRoot":"","sources":["../../src/profiles/sales.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"sales.d.ts","sourceRoot":"","sources":["../../src/profiles/sales.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,eAAO,MAAM,aAAa,EAAE,YA0B3B,CAAC"}
|
package/dist/profiles/sales.js
CHANGED
|
@@ -17,7 +17,9 @@ Your responsibilities:
|
|
|
17
17
|
- Budget range (if available)
|
|
18
18
|
- Key pain points
|
|
19
19
|
- Decision timeline
|
|
20
|
-
4.
|
|
20
|
+
4. **Before applying any discount or special pricing**, use search_sales_kb to retrieve the current
|
|
21
|
+
discount authority policy (search for "discount authority policy ventas") and follow it exactly.
|
|
22
|
+
Flag any pricing that requires additional approval as specified in that policy.
|
|
21
23
|
5. Document new competitive intel or successful proposal patterns with write_knowledge under ventas/.
|
|
22
24
|
|
|
23
25
|
Tone: confident, value-focused, consultative. Lead with business outcomes, not features.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sales.js","sourceRoot":"","sources":["../../src/profiles/sales.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAElC,QAAA,aAAa,GAAiB;IACvC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,2EAA2E;IACxF,YAAY,EAAE
|
|
1
|
+
{"version":3,"file":"sales.js","sourceRoot":"","sources":["../../src/profiles/sales.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAElC,QAAA,aAAa,GAAiB;IACvC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,2EAA2E;IACxF,YAAY,EAAE;;;;;;;;;;;;;;;;0EAgBwD;IACtE,YAAY,EAAE;QACV,4BAAgB,CAAC,YAAY;QAC7B,4BAAgB,CAAC,eAAe;KACnC;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../src/profiles/support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../src/profiles/support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,eAAO,MAAM,eAAe,EAAE,YAoB7B,CAAC"}
|
package/dist/profiles/support.js
CHANGED
|
@@ -12,10 +12,8 @@ exports.SUPPORT_PROFILE = {
|
|
|
12
12
|
Your responsibilities:
|
|
13
13
|
1. Search the support knowledge base (search_support_kb) for relevant documentation, FAQs, and past resolutions.
|
|
14
14
|
2. Provide clear, empathetic responses to customer issues.
|
|
15
|
-
3.
|
|
16
|
-
|
|
17
|
-
- Tier 2: billing or account issues → escalate flag in your response
|
|
18
|
-
- Tier 3: critical outages → immediate escalation with incident details
|
|
15
|
+
3. **Before deciding how to handle or escalate a ticket**, use search_support_kb to retrieve
|
|
16
|
+
the current escalation policy (search for "escalation levels policy soporte") and apply it.
|
|
19
17
|
4. Document new resolutions or patterns with write_knowledge under the soporte/ folder.
|
|
20
18
|
|
|
21
19
|
Tone: professional, empathetic, solution-focused. Avoid jargon. Keep responses concise.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/profiles/support.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAElC,QAAA,eAAe,GAAiB;IACzC,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,GAAG;IACT,WAAW,EAAE,sFAAsF;IACnG,YAAY,EAAE
|
|
1
|
+
{"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/profiles/support.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAElC,QAAA,eAAe,GAAiB;IACzC,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,GAAG;IACT,WAAW,EAAE,sFAAsF;IACnG,YAAY,EAAE;;;;;;;;;;8EAU4D;IAC1E,YAAY,EAAE;QACV,4BAAgB,CAAC,cAAc;QAC/B,4BAAgB,CAAC,eAAe;KACnC;CACJ,CAAC"}
|
|
@@ -3,13 +3,19 @@ export declare const OLLAMA_EMBED_DEFAULT_HOST = "http://localhost:11434";
|
|
|
3
3
|
export interface OllamaEmbedderOptions {
|
|
4
4
|
host?: string;
|
|
5
5
|
model?: string;
|
|
6
|
+
timeoutMs?: number;
|
|
7
|
+
maxRetries?: number;
|
|
6
8
|
}
|
|
7
9
|
export declare class OllamaEmbedder {
|
|
8
10
|
private readonly host;
|
|
11
|
+
private readonly timeoutMs;
|
|
12
|
+
private readonly maxRetries;
|
|
9
13
|
readonly model: string;
|
|
10
14
|
constructor(opts?: OllamaEmbedderOptions);
|
|
11
15
|
embed(texts: string[]): Promise<number[][]>;
|
|
12
16
|
embedOne(text: string): Promise<number[]>;
|
|
13
17
|
checkConnection(): Promise<void>;
|
|
18
|
+
private fetchEmbeddings;
|
|
19
|
+
private withRetry;
|
|
14
20
|
}
|
|
15
21
|
//# sourceMappingURL=OllamaEmbedder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OllamaEmbedder.d.ts","sourceRoot":"","sources":["../../src/rag/OllamaEmbedder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAC7D,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"OllamaEmbedder.d.ts","sourceRoot":"","sources":["../../src/rag/OllamaEmbedder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAC7D,eAAO,MAAM,yBAAyB,2BAA4B,CAAC;AAMnE,MAAM,WAAW,qBAAqB;IAClC,IAAI,CAAC,EAAQ,MAAM,CAAC;IACpB,KAAK,CAAC,EAAO,MAAM,CAAC;IACpB,SAAS,CAAC,EAAG,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,IAAI,GAAE,qBAA0B;IAOtC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAK3C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKzC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;YAmBxB,eAAe;YA2Cf,SAAS;CAkB1B"}
|