@apart-tech/intelligence-core 1.3.0 → 1.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.
package/dist/index.d.ts CHANGED
@@ -22,6 +22,11 @@ export type { PiiEncryptionOptions, PiiReport, PiiProcessingResult } from "./ser
22
22
  export { OrgPiiConfigService } from "./services/org-pii-config-service.js";
23
23
  export type { OrgPiiConfig, OrgPiiConfigWithKey, PiiMode } from "./services/org-pii-config-service.js";
24
24
  export type { OrgEmbeddingConfig, OrgEmbeddingConfigWithKey } from "./services/org-embedding-config-service.js";
25
+ export { OrgAgentConfigService } from "./services/org-agent-config-service.js";
26
+ export type { OrgAgentConfig, OrgAgentConfigWithKeys } from "./services/org-agent-config-service.js";
27
+ export { AgentRunService } from "./services/agent-run-service.js";
28
+ export type { AgentRun } from "./services/agent-run-service.js";
29
+ export { CLI_REFERENCE } from "./services/agent-cli-reference.js";
25
30
  export type { OrphanNode, DuplicatePair, HealthReport, LinkSuggestion, Island, IslandBridge, ValidationReport, ValidationIssue, ValidationCategory, ValidationSeverity, NormalizeSuggestion, NormalizeReport } from "./services/cleaning-service.js";
26
31
  export { createEmbeddingProvider, validateEmbeddingKey, OpenAIEmbeddingProvider, VoyageEmbeddingProvider, OllamaEmbeddingProvider } from "./providers/index.js";
27
32
  export type { CreateEmbeddingProviderOptions } from "./providers/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACvF,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG1E,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACnH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,YAAY,EAAE,oBAAoB,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACjH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACvG,YAAY,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAChH,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGrP,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAChK,YAAY,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpG,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACvF,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG1E,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACnH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,YAAY,EAAE,oBAAoB,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACjH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACvG,YAAY,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAChH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,YAAY,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGrP,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAChK,YAAY,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpG,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -20,6 +20,9 @@ export { OrgEmbeddingConfigService } from "./services/org-embedding-config-servi
20
20
  export { PiiDetectorService } from "./services/pii-detector-service.js";
21
21
  export { PiiEncryptionService } from "./services/pii-encryption-service.js";
22
22
  export { OrgPiiConfigService } from "./services/org-pii-config-service.js";
23
+ export { OrgAgentConfigService } from "./services/org-agent-config-service.js";
24
+ export { AgentRunService } from "./services/agent-run-service.js";
25
+ export { CLI_REFERENCE } from "./services/agent-cli-reference.js";
23
26
  // Providers
24
27
  export { createEmbeddingProvider, validateEmbeddingKey, OpenAIEmbeddingProvider, VoyageEmbeddingProvider, OllamaEmbeddingProvider } from "./providers/index.js";
25
28
  export { BatchingEmbeddingProvider } from "./providers/batching.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGvF,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE1E,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAK3E,YAAY;AACZ,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEhK,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGvF,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE1E,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAG3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAGlE,YAAY;AACZ,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEhK,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"batching.d.ts","sourceRoot":"","sources":["../../src/providers/batching.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,yBAA0B,YAAW,iBAAiB;IAE/D,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;gBAFX,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,cAAc,EACtB,WAAW,GAAE,MAAU;IAG3B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKnE,UAAU,CACd,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CA6EvB"}
1
+ {"version":3,"file":"batching.d.ts","sourceRoot":"","sources":["../../src/providers/batching.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,yBAA0B,YAAW,iBAAiB;IAE/D,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;gBAFX,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,cAAc,EACtB,WAAW,GAAE,MAAU;IAG3B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKnE,UAAU,CACd,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CAiGvB"}
@@ -15,11 +15,31 @@ export class BatchingEmbeddingProvider {
15
15
  if (texts.length === 0)
16
16
  return [];
17
17
  const startTime = Date.now();
18
- const { maxBatchSize } = this.limits;
19
- // Split into chunks
18
+ const { maxBatchSize, maxTokensPerRequest } = this.limits;
19
+ // Split into chunks respecting both item count and token limits
20
20
  const chunks = [];
21
- for (let i = 0; i < texts.length; i += maxBatchSize) {
22
- chunks.push(texts.slice(i, i + maxBatchSize));
21
+ if (maxTokensPerRequest) {
22
+ let current = [];
23
+ let currentTokens = 0;
24
+ for (const text of texts) {
25
+ const estimatedTokens = Math.ceil(text.length / 4);
26
+ if (current.length > 0 &&
27
+ (current.length >= maxBatchSize ||
28
+ currentTokens + estimatedTokens > maxTokensPerRequest)) {
29
+ chunks.push(current);
30
+ current = [];
31
+ currentTokens = 0;
32
+ }
33
+ current.push(text);
34
+ currentTokens += estimatedTokens;
35
+ }
36
+ if (current.length > 0)
37
+ chunks.push(current);
38
+ }
39
+ else {
40
+ for (let i = 0; i < texts.length; i += maxBatchSize) {
41
+ chunks.push(texts.slice(i, i + maxBatchSize));
42
+ }
23
43
  }
24
44
  const results = new Array(chunks.length);
25
45
  let completedCount = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"batching.js","sourceRoot":"","sources":["../../src/providers/batching.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batching.js","sourceRoot":"","sources":["../../src/providers/batching.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"voyage.d.ts","sourceRoot":"","sources":["../../src/providers/voyage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,eAAO,MAAM,aAAa,EAAE,cAAsC,CAAC;AAEnE,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,MAAM,EAAE,KAAK,SAAkB;IAK7C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKnE,UAAU,CACd,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CA2CvB"}
1
+ {"version":3,"file":"voyage.d.ts","sourceRoot":"","sources":["../../src/providers/voyage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,eAAO,MAAM,aAAa,EAAE,cAG3B,CAAC;AAEF,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,MAAM,EAAE,KAAK,SAAkB;IAK7C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKnE,UAAU,CACd,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CA2CvB"}
@@ -1,5 +1,8 @@
1
1
  import { retryWithBackoff } from "./retry.js";
2
- export const VOYAGE_LIMITS = { maxBatchSize: 128 };
2
+ export const VOYAGE_LIMITS = {
3
+ maxBatchSize: 128,
4
+ maxTokensPerRequest: 100_000,
5
+ };
3
6
  export class VoyageEmbeddingProvider {
4
7
  apiKey;
5
8
  model;
@@ -1 +1 @@
1
- {"version":3,"file":"voyage.js","sourceRoot":"","sources":["../../src/providers/voyage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,CAAC,MAAM,aAAa,GAAmB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;AAEnE,MAAM,OAAO,uBAAuB;IAC1B,MAAM,CAAS;IACf,KAAK,CAAS;IAEtB,YAAY,MAAc,EAAE,KAAK,GAAG,eAAe;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAA2B;QACnD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAe,EACf,OAA2B;QAE3B,OAAO,gBAAgB,CACrB,KAAK,IAAI,EAAE;YACT,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;YAElC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,wCAAwC,EACxC;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;iBACvC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;iBAC7D,CAAC;gBACF,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CACF,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,oCAAoC,KAAK,EAAE,CACrC,CAAC;gBACT,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC7B,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC/B,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAElC,CAAC;YAEF,OAAO,IAAI,CAAC,IAAI;iBACb,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC,EACD,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAC5B,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"voyage.js","sourceRoot":"","sources":["../../src/providers/voyage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,YAAY,EAAE,GAAG;IACjB,mBAAmB,EAAE,OAAO;CAC7B,CAAC;AAEF,MAAM,OAAO,uBAAuB;IAC1B,MAAM,CAAS;IACf,KAAK,CAAS;IAEtB,YAAY,MAAc,EAAE,KAAK,GAAG,eAAe;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAA2B;QACnD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAe,EACf,OAA2B;QAE3B,OAAO,gBAAgB,CACrB,KAAK,IAAI,EAAE;YACT,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;YAElC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,wCAAwC,EACxC;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;iBACvC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;iBAC7D,CAAC;gBACF,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CACF,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,oCAAoC,KAAK,EAAE,CACrC,CAAC;gBACT,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC7B,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC/B,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAElC,CAAC;YAEF,OAAO,IAAI,CAAC,IAAI;iBACb,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC,EACD,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAC5B,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Condensed CLI reference for AI agents running inside E2B sandboxes.
3
+ * Injected into the agent prompt so it knows how to interact with the knowledge graph.
4
+ * Kept under ~1500 tokens to be cost-efficient.
5
+ */
6
+ export declare const CLI_REFERENCE = "# Apart Intelligence CLI \u2014 Quick Reference\n\nYou have access to the `ai` CLI to read from and write to the organization's knowledge graph.\n\n## Reading\n\n**Search** \u2014 find nodes by natural language query:\n```\nai search \"authentication patterns\" -l 10 -t policy\nai search \"onboarding flow\" --format json\n```\nFlags: `-l/--limit <n>`, `-t/--type <type>`, `-d/--domain <slug>`, `-f/--format text|json`, `--include-drafts`\n\n**Context** \u2014 assemble related knowledge for a topic (nodes + edges):\n```\nai context \"user authentication\" --depth 2 --max-nodes 30\n```\nFlags: `-d/--depth <n>`, `-n/--max-nodes <n>`, `-w/--workspace <slug>`, `--format text|json|markdown`\n\n**Get** \u2014 retrieve a specific node by ID:\n```\nai get <node-id>\n```\n\n**Types** \u2014 list all node types in use:\n```\nai types\n```\n\n**Domains** \u2014 list domain taxonomy:\n```\nai domains\n```\n\n**Drafts** \u2014 list nodes pending review:\n```\nai drafts -l 20\n```\n\n**Health** \u2014 graph health overview:\n```\nai health\n```\n\n## Writing\n\n**Add** \u2014 create a new node:\n```\nai add \"Node content here\" --type research --title \"Title\" -d engineering -s draft\n```\nFlags: `-t/--type <type>` (required), `--title <title>`, `-d/--domain <slug>`, `-s/--status draft|approved`\n\n**Update** \u2014 modify an existing node:\n```\nai update <node-id> --title \"New Title\" --content \"Updated content\"\n```\n\n**Delete** \u2014 remove a node:\n```\nai delete <node-id>\n```\n\n**Link** \u2014 create a relationship between nodes:\n```\nai link <source-id> <target-id> -r \"relates-to\"\n```\nFlags: `-r/--relationship <type>` (e.g. relates-to, supersedes, part-of, depends-on)\n\n**Approve** \u2014 approve a draft node:\n```\nai approve <node-id>\n```\n\n**Import** \u2014 bulk import nodes and edges from JSON:\n```\nai import data.json\n```\nJSON format: `{ \"nodes\": [{ \"ref\": \"n1\", \"type\": \"...\", \"title\": \"...\", \"content\": \"...\" }], \"edges\": [{ \"source\": \"n1\", \"target\": \"n2\", \"relationshipType\": \"...\" }] }`\n\n## Tips\n- Use `--format json` when you need to parse output programmatically.\n- Always set `--type` when adding nodes. Common types: research, policy, process, decision, note, analysis, summary.\n- Use `ai search` before adding nodes to avoid duplicates.\n- Create nodes as `draft` status unless the org prompt says otherwise.\n";
7
+ //# sourceMappingURL=agent-cli-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-cli-reference.d.ts","sourceRoot":"","sources":["../../src/services/agent-cli-reference.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,aAAa,w2EAoFzB,CAAC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Condensed CLI reference for AI agents running inside E2B sandboxes.
3
+ * Injected into the agent prompt so it knows how to interact with the knowledge graph.
4
+ * Kept under ~1500 tokens to be cost-efficient.
5
+ */
6
+ export const CLI_REFERENCE = `# Apart Intelligence CLI — Quick Reference
7
+
8
+ You have access to the \`ai\` CLI to read from and write to the organization's knowledge graph.
9
+
10
+ ## Reading
11
+
12
+ **Search** — find nodes by natural language query:
13
+ \`\`\`
14
+ ai search "authentication patterns" -l 10 -t policy
15
+ ai search "onboarding flow" --format json
16
+ \`\`\`
17
+ Flags: \`-l/--limit <n>\`, \`-t/--type <type>\`, \`-d/--domain <slug>\`, \`-f/--format text|json\`, \`--include-drafts\`
18
+
19
+ **Context** — assemble related knowledge for a topic (nodes + edges):
20
+ \`\`\`
21
+ ai context "user authentication" --depth 2 --max-nodes 30
22
+ \`\`\`
23
+ Flags: \`-d/--depth <n>\`, \`-n/--max-nodes <n>\`, \`-w/--workspace <slug>\`, \`--format text|json|markdown\`
24
+
25
+ **Get** — retrieve a specific node by ID:
26
+ \`\`\`
27
+ ai get <node-id>
28
+ \`\`\`
29
+
30
+ **Types** — list all node types in use:
31
+ \`\`\`
32
+ ai types
33
+ \`\`\`
34
+
35
+ **Domains** — list domain taxonomy:
36
+ \`\`\`
37
+ ai domains
38
+ \`\`\`
39
+
40
+ **Drafts** — list nodes pending review:
41
+ \`\`\`
42
+ ai drafts -l 20
43
+ \`\`\`
44
+
45
+ **Health** — graph health overview:
46
+ \`\`\`
47
+ ai health
48
+ \`\`\`
49
+
50
+ ## Writing
51
+
52
+ **Add** — create a new node:
53
+ \`\`\`
54
+ ai add "Node content here" --type research --title "Title" -d engineering -s draft
55
+ \`\`\`
56
+ Flags: \`-t/--type <type>\` (required), \`--title <title>\`, \`-d/--domain <slug>\`, \`-s/--status draft|approved\`
57
+
58
+ **Update** — modify an existing node:
59
+ \`\`\`
60
+ ai update <node-id> --title "New Title" --content "Updated content"
61
+ \`\`\`
62
+
63
+ **Delete** — remove a node:
64
+ \`\`\`
65
+ ai delete <node-id>
66
+ \`\`\`
67
+
68
+ **Link** — create a relationship between nodes:
69
+ \`\`\`
70
+ ai link <source-id> <target-id> -r "relates-to"
71
+ \`\`\`
72
+ Flags: \`-r/--relationship <type>\` (e.g. relates-to, supersedes, part-of, depends-on)
73
+
74
+ **Approve** — approve a draft node:
75
+ \`\`\`
76
+ ai approve <node-id>
77
+ \`\`\`
78
+
79
+ **Import** — bulk import nodes and edges from JSON:
80
+ \`\`\`
81
+ ai import data.json
82
+ \`\`\`
83
+ JSON format: \`{ "nodes": [{ "ref": "n1", "type": "...", "title": "...", "content": "..." }], "edges": [{ "source": "n1", "target": "n2", "relationshipType": "..." }] }\`
84
+
85
+ ## Tips
86
+ - Use \`--format json\` when you need to parse output programmatically.
87
+ - Always set \`--type\` when adding nodes. Common types: research, policy, process, decision, note, analysis, summary.
88
+ - Use \`ai search\` before adding nodes to avoid duplicates.
89
+ - Create nodes as \`draft\` status unless the org prompt says otherwise.
90
+ `;
91
+ //# sourceMappingURL=agent-cli-reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-cli-reference.js","sourceRoot":"","sources":["../../src/services/agent-cli-reference.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoF5B,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { PrismaClient } from "@prisma/client";
2
+ export interface AgentRun {
3
+ id: string;
4
+ prompt: string;
5
+ status: string;
6
+ result: string;
7
+ error: string | null;
8
+ sandboxId: string | null;
9
+ model: string;
10
+ startedAt: Date;
11
+ completedAt: Date | null;
12
+ createdBy: string;
13
+ }
14
+ export declare class AgentRunService {
15
+ private db;
16
+ constructor(db: PrismaClient);
17
+ create(organizationId: string, input: {
18
+ prompt: string;
19
+ model: string;
20
+ createdBy: string;
21
+ }): Promise<AgentRun>;
22
+ updateStatus(id: string, organizationId: string, update: {
23
+ status: string;
24
+ result?: string;
25
+ error?: string;
26
+ sandboxId?: string;
27
+ completedAt?: Date;
28
+ }): Promise<AgentRun>;
29
+ getById(id: string, organizationId: string): Promise<AgentRun | null>;
30
+ list(organizationId: string, opts?: {
31
+ limit?: number;
32
+ status?: string;
33
+ }): Promise<AgentRun[]>;
34
+ private toAgentRun;
35
+ }
36
+ //# sourceMappingURL=agent-run-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-run-service.d.ts","sourceRoot":"","sources":["../../src/services/agent-run-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAE9B,MAAM,CACV,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAC1D,OAAO,CAAC,QAAQ,CAAC;IAad,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,IAAI,CAAC;KACpB,GACA,OAAO,CAAC,QAAQ,CAAC;IAcd,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAQrE,IAAI,CACR,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GACzC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAYtB,OAAO,CAAC,UAAU;CAcnB"}
@@ -0,0 +1,65 @@
1
+ export class AgentRunService {
2
+ db;
3
+ constructor(db) {
4
+ this.db = db;
5
+ }
6
+ async create(organizationId, input) {
7
+ const run = await this.db.agentRun.create({
8
+ data: {
9
+ organizationId,
10
+ prompt: input.prompt,
11
+ model: input.model,
12
+ status: "pending",
13
+ createdBy: input.createdBy,
14
+ },
15
+ });
16
+ return this.toAgentRun(run);
17
+ }
18
+ async updateStatus(id, organizationId, update) {
19
+ const run = await this.db.agentRun.update({
20
+ where: { id, organizationId },
21
+ data: {
22
+ status: update.status,
23
+ result: update.result,
24
+ error: update.error,
25
+ sandboxId: update.sandboxId,
26
+ completedAt: update.completedAt,
27
+ },
28
+ });
29
+ return this.toAgentRun(run);
30
+ }
31
+ async getById(id, organizationId) {
32
+ const run = await this.db.agentRun.findFirst({
33
+ where: { id, organizationId },
34
+ });
35
+ if (!run)
36
+ return null;
37
+ return this.toAgentRun(run);
38
+ }
39
+ async list(organizationId, opts) {
40
+ const runs = await this.db.agentRun.findMany({
41
+ where: {
42
+ organizationId,
43
+ ...(opts?.status ? { status: opts.status } : {}),
44
+ },
45
+ orderBy: { startedAt: "desc" },
46
+ take: opts?.limit ?? 20,
47
+ });
48
+ return runs.map((r) => this.toAgentRun(r));
49
+ }
50
+ toAgentRun(run) {
51
+ return {
52
+ id: run.id,
53
+ prompt: run.prompt,
54
+ status: run.status,
55
+ result: run.result,
56
+ error: run.error,
57
+ sandboxId: run.sandboxId,
58
+ model: run.model,
59
+ startedAt: run.startedAt,
60
+ completedAt: run.completedAt,
61
+ createdBy: run.createdBy,
62
+ };
63
+ }
64
+ }
65
+ //# sourceMappingURL=agent-run-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-run-service.js","sourceRoot":"","sources":["../../src/services/agent-run-service.ts"],"names":[],"mappings":"AAeA,MAAM,OAAO,eAAe;IACN;IAApB,YAAoB,EAAgB;QAAhB,OAAE,GAAF,EAAE,CAAc;IAAG,CAAC;IAExC,KAAK,CAAC,MAAM,CACV,cAAsB,EACtB,KAA2D;QAE3D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,IAAI,EAAE;gBACJ,cAAc;gBACd,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,EAAU,EACV,cAAsB,EACtB,MAMC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,KAAK,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE;YAC7B,IAAI,EAAE;gBACJ,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,cAAsB;QAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC3C,KAAK,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,cAAsB,EACtB,IAA0C;QAE1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3C,KAAK,EAAE;gBACL,cAAc;gBACd,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjD;YACD,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;YAC9B,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;SACxB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEO,UAAU,CAAC,GAAQ;QACzB,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC;IACJ,CAAC;CACF"}
@@ -20,6 +20,11 @@ export declare class EdgeService {
20
20
  count: number;
21
21
  }[]>;
22
22
  retypeMany(fromType: string, toType: string): Promise<number>;
23
+ update(id: string, input: {
24
+ relationshipType?: string;
25
+ weight?: number;
26
+ metadata?: Record<string, unknown>;
27
+ }): Promise<Edge | null>;
23
28
  delete(id: string): Promise<boolean>;
24
29
  }
25
30
  //# sourceMappingURL=edge-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edge-service.d.ts","sourceRoot":"","sources":["../../src/services/edge-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3E,qBAAa,WAAW;IAGV,OAAO,CAAC,EAAE;IAFtB,OAAO,CAAC,SAAS,CAAgB;gBAEb,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,aAAa;IAIzD,MAAM,CAAC,KAAK,EAAE;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcX,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAQ5C,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoC5D,qBAAqB,IAAI,OAAO,CACpC;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAC9C;IAWK,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC;IAQZ,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAQ3C"}
1
+ {"version":3,"file":"edge-service.d.ts","sourceRoot":"","sources":["../../src/services/edge-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3E,qBAAa,WAAW;IAGV,OAAO,CAAC,EAAE;IAFtB,OAAO,CAAC,SAAS,CAAgB;gBAEb,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,aAAa;IAIzD,MAAM,CAAC,KAAK,EAAE;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcX,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAS5C,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoC5D,qBAAqB,IAAI,OAAO,CACpC;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAC9C;IAWK,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC;IAQZ,MAAM,CACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GACxF,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAejB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAQ3C"}
@@ -22,6 +22,7 @@ export class EdgeService {
22
22
  async getByNodeId(nodeId) {
23
23
  return this.db.edge.findMany({
24
24
  where: {
25
+ organizationId: this.tenantCtx.organizationId,
25
26
  OR: [{ sourceNodeId: nodeId }, { targetNodeId: nodeId }],
26
27
  },
27
28
  });
@@ -77,6 +78,21 @@ export class EdgeService {
77
78
  });
78
79
  return result.count;
79
80
  }
81
+ async update(id, input) {
82
+ const existing = await this.db.edge.findFirst({
83
+ where: { id, organizationId: this.tenantCtx.organizationId },
84
+ });
85
+ if (!existing)
86
+ return null;
87
+ return this.db.edge.update({
88
+ where: { id },
89
+ data: {
90
+ ...(input.relationshipType !== undefined && { relationshipType: input.relationshipType }),
91
+ ...(input.weight !== undefined && { weight: input.weight }),
92
+ ...(input.metadata !== undefined && { metadata: input.metadata }),
93
+ },
94
+ });
95
+ }
80
96
  async delete(id) {
81
97
  try {
82
98
  await this.db.edge.delete({ where: { id } });
@@ -1 +1 @@
1
- {"version":3,"file":"edge-service.js","sourceRoot":"","sources":["../../src/services/edge-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edge-service.js","sourceRoot":"","sources":["../../src/services/edge-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { PrismaClient } from "@prisma/client";
2
+ export interface OrgAgentConfig {
3
+ model: string;
4
+ promptTemplate: string;
5
+ maxTimeoutMinutes: number;
6
+ enabled: boolean;
7
+ updatedAt: Date;
8
+ updatedBy: string;
9
+ }
10
+ export interface OrgAgentConfigWithKeys extends OrgAgentConfig {
11
+ claudeApiKey: string;
12
+ e2bApiKey: string;
13
+ }
14
+ export declare class OrgAgentConfigService {
15
+ private db;
16
+ constructor(db: PrismaClient);
17
+ get(organizationId: string): Promise<OrgAgentConfig | null>;
18
+ getWithKeys(organizationId: string): Promise<OrgAgentConfigWithKeys | null>;
19
+ set(organizationId: string, input: {
20
+ claudeApiKey: string;
21
+ e2bApiKey?: string;
22
+ model?: string;
23
+ promptTemplate?: string;
24
+ maxTimeoutMinutes?: number;
25
+ updatedBy?: string;
26
+ }): Promise<OrgAgentConfig>;
27
+ delete(organizationId: string): Promise<boolean>;
28
+ }
29
+ //# sourceMappingURL=org-agent-config-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-agent-config-service.d.ts","sourceRoot":"","sources":["../../src/services/org-agent-config-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAgBnD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,qBAAqB;IACpB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAE9B,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAe3D,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IA2B3E,GAAG,CACP,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GACA,OAAO,CAAC,cAAc,CAAC;IAkCpB,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAQvD"}
@@ -0,0 +1,99 @@
1
+ import { encryptAesGcm, decryptAesGcm, deriveKey } from "../lib/crypto.js";
2
+ function getEncryptionKey() {
3
+ const secret = process.env.AGENT_KEY_SECRET ?? "apart-default-agent-key-secret-change-me";
4
+ return deriveKey(secret);
5
+ }
6
+ function encrypt(plaintext) {
7
+ return encryptAesGcm(plaintext, getEncryptionKey());
8
+ }
9
+ function decrypt(encoded) {
10
+ return decryptAesGcm(encoded, getEncryptionKey());
11
+ }
12
+ export class OrgAgentConfigService {
13
+ db;
14
+ constructor(db) {
15
+ this.db = db;
16
+ }
17
+ async get(organizationId) {
18
+ const config = await this.db.orgAgentConfig.findUnique({
19
+ where: { organizationId },
20
+ });
21
+ if (!config)
22
+ return null;
23
+ return {
24
+ model: config.model,
25
+ promptTemplate: config.promptTemplate,
26
+ maxTimeoutMinutes: config.maxTimeoutMinutes,
27
+ enabled: config.enabled,
28
+ updatedAt: config.updatedAt,
29
+ updatedBy: config.updatedBy,
30
+ };
31
+ }
32
+ async getWithKeys(organizationId) {
33
+ const config = await this.db.orgAgentConfig.findUnique({
34
+ where: { organizationId },
35
+ });
36
+ if (!config)
37
+ return null;
38
+ // E2B key: org-level overrides server-level env var
39
+ const e2bApiKey = config.e2bApiKeyEncrypted
40
+ ? decrypt(config.e2bApiKeyEncrypted)
41
+ : process.env.E2B_API_KEY;
42
+ if (!e2bApiKey) {
43
+ throw new Error("No E2B API key configured. Set E2B_API_KEY on the server or provide one during agent config setup.");
44
+ }
45
+ return {
46
+ model: config.model,
47
+ promptTemplate: config.promptTemplate,
48
+ maxTimeoutMinutes: config.maxTimeoutMinutes,
49
+ enabled: config.enabled,
50
+ claudeApiKey: decrypt(config.claudeApiKeyEncrypted),
51
+ e2bApiKey,
52
+ updatedAt: config.updatedAt,
53
+ updatedBy: config.updatedBy,
54
+ };
55
+ }
56
+ async set(organizationId, input) {
57
+ const encryptedClaude = encrypt(input.claudeApiKey);
58
+ const encryptedE2b = input.e2bApiKey ? encrypt(input.e2bApiKey) : null;
59
+ const config = await this.db.orgAgentConfig.upsert({
60
+ where: { organizationId },
61
+ create: {
62
+ organizationId,
63
+ claudeApiKeyEncrypted: encryptedClaude,
64
+ e2bApiKeyEncrypted: encryptedE2b,
65
+ model: input.model ?? "sonnet",
66
+ promptTemplate: input.promptTemplate ?? "",
67
+ maxTimeoutMinutes: input.maxTimeoutMinutes ?? 30,
68
+ updatedBy: input.updatedBy ?? "api",
69
+ },
70
+ update: {
71
+ claudeApiKeyEncrypted: encryptedClaude,
72
+ e2bApiKeyEncrypted: encryptedE2b !== undefined ? encryptedE2b : undefined,
73
+ model: input.model ?? undefined,
74
+ promptTemplate: input.promptTemplate ?? undefined,
75
+ maxTimeoutMinutes: input.maxTimeoutMinutes ?? undefined,
76
+ updatedAt: new Date(),
77
+ updatedBy: input.updatedBy ?? "api",
78
+ },
79
+ });
80
+ return {
81
+ model: config.model,
82
+ promptTemplate: config.promptTemplate,
83
+ maxTimeoutMinutes: config.maxTimeoutMinutes,
84
+ enabled: config.enabled,
85
+ updatedAt: config.updatedAt,
86
+ updatedBy: config.updatedBy,
87
+ };
88
+ }
89
+ async delete(organizationId) {
90
+ try {
91
+ await this.db.orgAgentConfig.delete({ where: { organizationId } });
92
+ return true;
93
+ }
94
+ catch {
95
+ return false;
96
+ }
97
+ }
98
+ }
99
+ //# sourceMappingURL=org-agent-config-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-agent-config-service.js","sourceRoot":"","sources":["../../src/services/org-agent-config-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apart-tech/intelligence-core",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "description": "Core library: database, services, and providers for Apart Intelligence",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -18,16 +18,6 @@
18
18
  "publishConfig": {
19
19
  "access": "public"
20
20
  },
21
- "scripts": {
22
- "postinstall": "prisma generate --schema ./prisma/schema.prisma 2>/dev/null || true",
23
- "build": "tsc",
24
- "dev": "tsc --watch",
25
- "lint": "tsc --noEmit",
26
- "test": "vitest run",
27
- "db:generate": "prisma generate",
28
- "db:migrate": "prisma migrate dev",
29
- "db:push": "prisma db push"
30
- },
31
21
  "dependencies": {
32
22
  "@cdssnc/sanitize-pii": "^2.1.2",
33
23
  "@prisma/client": "^6.6.0",
@@ -40,5 +30,15 @@
40
30
  "@types/node": "^25.5.0",
41
31
  "typescript": "^5.7.0",
42
32
  "vitest": "^3.0.0"
33
+ },
34
+ "scripts": {
35
+ "postinstall": "prisma generate --schema ./prisma/schema.prisma 2>/dev/null || true",
36
+ "build": "tsc",
37
+ "dev": "tsc --watch",
38
+ "lint": "tsc --noEmit",
39
+ "test": "vitest run",
40
+ "db:generate": "prisma generate",
41
+ "db:migrate": "prisma migrate dev",
42
+ "db:push": "prisma db push"
43
43
  }
44
- }
44
+ }
@@ -21,6 +21,8 @@ model Organization {
21
21
  workspaces Workspace[]
22
22
  embeddingConfig OrgEmbeddingConfig?
23
23
  piiConfig OrgPiiConfig?
24
+ agentConfig OrgAgentConfig?
25
+ agentRuns AgentRun[]
24
26
 
25
27
  @@map("organizations")
26
28
  }
@@ -163,6 +165,43 @@ model Workspace {
163
165
  @@map("workspaces")
164
166
  }
165
167
 
168
+ model OrgAgentConfig {
169
+ id String @id @default(uuid()) @db.Uuid
170
+ organizationId String @unique @map("organization_id") @db.Uuid
171
+ claudeApiKeyEncrypted String @map("claude_api_key_encrypted") @db.Text
172
+ e2bApiKeyEncrypted String? @map("e2b_api_key_encrypted") @db.Text
173
+ model String @default("sonnet") @db.VarChar(50)
174
+ promptTemplate String @default("") @map("prompt_template") @db.Text
175
+ maxTimeoutMinutes Int @default(30) @map("max_timeout_minutes")
176
+ enabled Boolean @default(true)
177
+ updatedAt DateTime @default(now()) @map("updated_at") @db.Timestamptz
178
+ updatedBy String @default("api") @map("updated_by") @db.VarChar(255)
179
+
180
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
181
+
182
+ @@map("org_agent_config")
183
+ }
184
+
185
+ model AgentRun {
186
+ id String @id @default(uuid()) @db.Uuid
187
+ organizationId String @map("organization_id") @db.Uuid
188
+ prompt String @db.Text
189
+ status String @default("pending") @db.VarChar(20)
190
+ result String @default("") @db.Text
191
+ error String? @db.Text
192
+ sandboxId String? @map("sandbox_id") @db.VarChar(100)
193
+ model String @default("sonnet") @db.VarChar(50)
194
+ startedAt DateTime @default(now()) @map("started_at") @db.Timestamptz
195
+ completedAt DateTime? @map("completed_at") @db.Timestamptz
196
+ createdBy String @map("created_by") @db.VarChar(255)
197
+
198
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
199
+
200
+ @@index([organizationId], map: "idx_agent_runs_organization")
201
+ @@index([status], map: "idx_agent_runs_status")
202
+ @@map("agent_runs")
203
+ }
204
+
166
205
  model ApiKey {
167
206
  id String @id @default(uuid()) @db.Uuid
168
207
  name String @db.VarChar(255)