@apart-tech/intelligence-core 1.0.0 → 1.0.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.d.ts","sourceRoot":"","sources":["../../src/db/tenant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,oBAAoB,yCAAyC,CAAC;AA8E3E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,aAAa,GACjB,YAAY,CAUd;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAK1E"}
1
+ {"version":3,"file":"tenant.d.ts","sourceRoot":"","sources":["../../src/db/tenant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,oBAAoB,yCAAyC,CAAC;AA+E3E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,aAAa,GACjB,YAAY,CAWd;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAK1E"}
package/dist/db/tenant.js CHANGED
@@ -5,6 +5,7 @@ const TENANT_MODELS = [
5
5
  "edge",
6
6
  "domain",
7
7
  "apiKey",
8
+ "workspace",
8
9
  ];
9
10
  function isTenantModel(model) {
10
11
  return TENANT_MODELS.includes(model);
@@ -80,6 +81,7 @@ export function createTenantClient(base, ctx) {
80
81
  edge: ops,
81
82
  domain: ops,
82
83
  apiKey: ops,
84
+ workspace: ops,
83
85
  },
84
86
  });
85
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../src/db/tenant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../src/db/tenant.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,8 @@ export { EdgeService } from "./services/edge-service.js";
10
10
  export { SearchService } from "./services/search-service.js";
11
11
  export { ContextService } from "./services/context-service.js";
12
12
  export { DomainService } from "./services/domain-service.js";
13
+ export { WorkspaceService } from "./services/workspace-service.js";
14
+ export type { WorkspaceFilter, CreateWorkspaceInput, UpdateWorkspaceInput } from "./services/workspace-service.js";
13
15
  export { CleaningService } from "./services/cleaning-service.js";
14
16
  export type { OrphanNode, DuplicatePair, HealthReport, LinkSuggestion, Island, IslandBridge, ValidationReport, ValidationIssue, ValidationCategory, ValidationSeverity, NormalizeSuggestion, NormalizeReport } from "./services/cleaning-service.js";
15
17
  export { createEmbeddingProvider, OpenAIEmbeddingProvider } 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,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,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,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,uBAAuB,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,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,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,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -12,6 +12,7 @@ export { EdgeService } from "./services/edge-service.js";
12
12
  export { SearchService } from "./services/search-service.js";
13
13
  export { ContextService } from "./services/context-service.js";
14
14
  export { DomainService } from "./services/domain-service.js";
15
+ export { WorkspaceService } from "./services/workspace-service.js";
15
16
  export { CleaningService } from "./services/cleaning-service.js";
16
17
  // Providers
17
18
  export { createEmbeddingProvider, OpenAIEmbeddingProvider } from "./providers/index.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,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,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,YAAY;AACZ,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,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,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;AAGjE,YAAY;AACZ,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -2,12 +2,16 @@ import type { ContextOptions, ContextPackage, ApartConfig } from "../types/index
2
2
  import type { SearchService } from "./search-service.js";
3
3
  import type { EdgeService } from "./edge-service.js";
4
4
  import type { NodeService } from "./node-service.js";
5
+ import type { WorkspaceService } from "./workspace-service.js";
6
+ import type { DomainService } from "./domain-service.js";
5
7
  export declare class ContextService {
6
8
  private nodeService;
7
9
  private edgeService;
8
10
  private searchService;
9
11
  private config;
10
- constructor(nodeService: NodeService, edgeService: EdgeService, searchService: SearchService, config: ApartConfig);
12
+ private workspaceService?;
13
+ private domainService?;
14
+ constructor(nodeService: NodeService, edgeService: EdgeService, searchService: SearchService, config: ApartConfig, workspaceService?: WorkspaceService | undefined, domainService?: DomainService | undefined);
11
15
  assemble(options: ContextOptions): Promise<ContextPackage>;
12
16
  }
13
17
  //# sourceMappingURL=context-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-service.d.ts","sourceRoot":"","sources":["../../src/services/context-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,qBAAa,cAAc;IAEvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,MAAM;gBAHN,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,WAAW;IAGvB,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;CAyEjE"}
1
+ {"version":3,"file":"context-service.d.ts","sourceRoot":"","sources":["../../src/services/context-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,cAAc;IAEvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,gBAAgB,CAAC;IACzB,OAAO,CAAC,aAAa,CAAC;gBALd,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,WAAW,EACnB,gBAAgB,CAAC,EAAE,gBAAgB,YAAA,EACnC,aAAa,CAAC,EAAE,aAAa,YAAA;IAGjC,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;CAsGjE"}
@@ -3,13 +3,40 @@ export class ContextService {
3
3
  edgeService;
4
4
  searchService;
5
5
  config;
6
- constructor(nodeService, edgeService, searchService, config) {
6
+ workspaceService;
7
+ domainService;
8
+ constructor(nodeService, edgeService, searchService, config, workspaceService, domainService) {
7
9
  this.nodeService = nodeService;
8
10
  this.edgeService = edgeService;
9
11
  this.searchService = searchService;
10
12
  this.config = config;
13
+ this.workspaceService = workspaceService;
14
+ this.domainService = domainService;
11
15
  }
12
16
  async assemble(options) {
17
+ // Resolve workspace filter and merge into options (workspace values as defaults, explicit options override)
18
+ let workspaceInfo;
19
+ if (options.workspace && this.workspaceService && this.domainService) {
20
+ const workspace = await this.workspaceService.getBySlug(options.workspace);
21
+ if (workspace) {
22
+ const filter = await this.workspaceService.resolveFilter(options.workspace, (slugs) => this.domainService.resolveSlugs(slugs));
23
+ workspaceInfo = {
24
+ name: workspace.name,
25
+ slug: workspace.slug,
26
+ description: workspace.description,
27
+ };
28
+ if (filter) {
29
+ options = {
30
+ ...options,
31
+ domainIds: options.domainIds ?? filter.domainIds,
32
+ types: options.types ?? filter.types,
33
+ maxDepth: options.maxDepth ?? filter.maxDepth,
34
+ maxNodes: options.maxNodes ?? filter.maxNodes,
35
+ includeDrafts: options.includeDrafts ?? filter.includeDrafts,
36
+ };
37
+ }
38
+ }
39
+ }
13
40
  const maxDepth = options.maxDepth ?? this.config.context.maxDepth;
14
41
  const maxNodes = options.maxNodes ?? this.config.context.maxNodes;
15
42
  const minRelevance = options.minRelevance ?? this.config.context.minRelevance;
@@ -30,6 +57,7 @@ export class ContextService {
30
57
  edges: [],
31
58
  query: options.query,
32
59
  assembledAt: new Date().toISOString(),
60
+ ...(workspaceInfo && { workspace: workspaceInfo }),
33
61
  };
34
62
  }
35
63
  // 2. Expand via graph traversal
@@ -68,6 +96,7 @@ export class ContextService {
68
96
  edges: uniqueEdges,
69
97
  query: options.query,
70
98
  assembledAt: new Date().toISOString(),
99
+ ...(workspaceInfo && { workspace: workspaceInfo }),
71
100
  };
72
101
  }
73
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-service.js","sourceRoot":"","sources":["../../src/services/context-service.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,cAAc;IAEf;IACA;IACA;IACA;IAJV,YACU,WAAwB,EACxB,WAAwB,EACxB,aAA4B,EAC5B,MAAmB;QAHnB,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QAC5B,WAAM,GAAN,MAAM,CAAa;IAC1B,CAAC;IAEJ,KAAK,CAAC,QAAQ,CAAC,OAAuB;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClE,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;QAE3D,uCAAuC;QACvC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YACpD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC7B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,aAAa;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAW,EAAE,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,gBAAgB,CAAC,IAAI,IAAI,QAAQ;gBAAE,MAAM;YAE7C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CACvD,IAAI,CAAC,EAAE,EACP,QAAQ,CACT,CAAC;YACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YAElC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,IAAI,gBAAgB,CAAC,IAAI,IAAI,QAAQ;oBAAE,MAAM;gBAC7C,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,QAAQ,GAAW,CAAC,GAAG,SAAS,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,MAAM,CAC7C,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAC5C,CAAC;QACF,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,uBAAuB;QACvB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"context-service.js","sourceRoot":"","sources":["../../src/services/context-service.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,cAAc;IAEf;IACA;IACA;IACA;IACA;IACA;IANV,YACU,WAAwB,EACxB,WAAwB,EACxB,aAA4B,EAC5B,MAAmB,EACnB,gBAAmC,EACnC,aAA6B;QAL7B,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QAC5B,WAAM,GAAN,MAAM,CAAa;QACnB,qBAAgB,GAAhB,gBAAgB,CAAmB;QACnC,kBAAa,GAAb,aAAa,CAAgB;IACpC,CAAC;IAEJ,KAAK,CAAC,QAAQ,CAAC,OAAuB;QACpC,4GAA4G;QAC5G,IAAI,aAA8E,CAAC;QACnF,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3E,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CACtD,OAAO,CAAC,SAAS,EACjB,CAAC,KAAe,EAAE,EAAE,CAAC,IAAI,CAAC,aAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAC7D,CAAC;gBACF,aAAa,GAAG;oBACd,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,WAAW,EAAE,SAAS,CAAC,WAAW;iBACnC,CAAC;gBACF,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,GAAG;wBACR,GAAG,OAAO;wBACV,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;wBAChD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;wBACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;wBAC7C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;wBAC7C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa;qBAC7D,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClE,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;QAE3D,uCAAuC;QACvC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YACpD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC7B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,aAAa;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,GAAG,CAAC,aAAa,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;aACnD,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAW,EAAE,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,gBAAgB,CAAC,IAAI,IAAI,QAAQ;gBAAE,MAAM;YAE7C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CACvD,IAAI,CAAC,EAAE,EACP,QAAQ,CACT,CAAC;YACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YAElC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,IAAI,gBAAgB,CAAC,IAAI,IAAI,QAAQ;oBAAE,MAAM;gBAC7C,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,QAAQ,GAAW,CAAC,GAAG,SAAS,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,MAAM,CAC7C,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAC5C,CAAC;QACF,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,uBAAuB;QACvB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,GAAG,CAAC,aAAa,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;SACnD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,55 @@
1
+ import type { PrismaClient, Workspace } from "@prisma/client";
2
+ import { type TenantContext } from "../db/tenant.js";
3
+ export interface WorkspaceFilter {
4
+ domainIds?: string[];
5
+ types?: string[];
6
+ tags?: string[];
7
+ maxDepth?: number;
8
+ maxNodes?: number;
9
+ includeDrafts?: boolean;
10
+ }
11
+ export interface CreateWorkspaceInput {
12
+ name: string;
13
+ slug: string;
14
+ description?: string;
15
+ domainSlugs?: string[];
16
+ nodeTypes?: string[];
17
+ tags?: string[];
18
+ maxDepth?: number;
19
+ maxNodes?: number;
20
+ includeDrafts?: boolean;
21
+ systemPrompt?: string;
22
+ createdBy: string;
23
+ }
24
+ export interface UpdateWorkspaceInput {
25
+ name?: string;
26
+ description?: string;
27
+ domainSlugs?: string[];
28
+ nodeTypes?: string[];
29
+ tags?: string[];
30
+ maxDepth?: number | null;
31
+ maxNodes?: number | null;
32
+ includeDrafts?: boolean;
33
+ systemPrompt?: string;
34
+ }
35
+ export declare class WorkspaceService {
36
+ private db;
37
+ private orgId;
38
+ constructor(db: PrismaClient, tenantCtx?: TenantContext);
39
+ create(input: CreateWorkspaceInput): Promise<Workspace>;
40
+ update(id: string, input: UpdateWorkspaceInput): Promise<Workspace | null>;
41
+ delete(id: string): Promise<boolean>;
42
+ getBySlug(slug: string): Promise<Workspace | null>;
43
+ getById(id: string): Promise<Workspace | null>;
44
+ list(): Promise<Workspace[]>;
45
+ /**
46
+ * Resolve a workspace slug into a filter object ready for ContextService/SearchService.
47
+ * Converts domain slugs to domain IDs using the provided domain lookup.
48
+ */
49
+ resolveFilter(slug: string, domainSlugToId: (slugs: string[]) => Promise<string[]>): Promise<WorkspaceFilter | null>;
50
+ /**
51
+ * Export a workspace as a CLAUDE.md-formatted markdown string.
52
+ */
53
+ exportAsMarkdown(slug: string): Promise<string | null>;
54
+ }
55
+ //# sourceMappingURL=workspace-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-service.d.ts","sourceRoot":"","sources":["../../src/services/workspace-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3E,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,EAAE;IAHZ,OAAO,CAAC,KAAK,CAAS;gBAGZ,EAAE,EAAE,YAAY,EACxB,SAAS,CAAC,EAAE,aAAa;IAKrB,MAAM,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;IAmBvD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAmB1E,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAMlD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAI9C,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAOlC;;;OAGG;IACG,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,GACrD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAmBlC;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CA0B7D"}
@@ -0,0 +1,124 @@
1
+ import { SINGLE_TENANT_ORG_ID } from "../db/tenant.js";
2
+ export class WorkspaceService {
3
+ db;
4
+ orgId;
5
+ constructor(db, tenantCtx) {
6
+ this.db = db;
7
+ this.orgId = tenantCtx?.organizationId ?? SINGLE_TENANT_ORG_ID;
8
+ }
9
+ async create(input) {
10
+ return this.db.workspace.create({
11
+ data: {
12
+ name: input.name,
13
+ slug: input.slug,
14
+ description: input.description ?? "",
15
+ domainSlugs: input.domainSlugs ?? [],
16
+ nodeTypes: input.nodeTypes ?? [],
17
+ tags: input.tags ?? [],
18
+ maxDepth: input.maxDepth ?? null,
19
+ maxNodes: input.maxNodes ?? null,
20
+ includeDrafts: input.includeDrafts ?? false,
21
+ systemPrompt: input.systemPrompt ?? "",
22
+ createdBy: input.createdBy,
23
+ organizationId: this.orgId,
24
+ },
25
+ });
26
+ }
27
+ async update(id, input) {
28
+ // Build update data, only include fields that are provided
29
+ const data = { updatedAt: new Date() };
30
+ if (input.name !== undefined)
31
+ data.name = input.name;
32
+ if (input.description !== undefined)
33
+ data.description = input.description;
34
+ if (input.domainSlugs !== undefined)
35
+ data.domainSlugs = input.domainSlugs;
36
+ if (input.nodeTypes !== undefined)
37
+ data.nodeTypes = input.nodeTypes;
38
+ if (input.tags !== undefined)
39
+ data.tags = input.tags;
40
+ if (input.maxDepth !== undefined)
41
+ data.maxDepth = input.maxDepth;
42
+ if (input.maxNodes !== undefined)
43
+ data.maxNodes = input.maxNodes;
44
+ if (input.includeDrafts !== undefined)
45
+ data.includeDrafts = input.includeDrafts;
46
+ if (input.systemPrompt !== undefined)
47
+ data.systemPrompt = input.systemPrompt;
48
+ return this.db.workspace.update({
49
+ where: { id },
50
+ data,
51
+ });
52
+ }
53
+ async delete(id) {
54
+ await this.db.workspace.delete({ where: { id } });
55
+ return true;
56
+ }
57
+ async getBySlug(slug) {
58
+ return this.db.workspace.findUnique({
59
+ where: { slug_organizationId: { slug, organizationId: this.orgId } },
60
+ });
61
+ }
62
+ async getById(id) {
63
+ return this.db.workspace.findUnique({ where: { id } });
64
+ }
65
+ async list() {
66
+ return this.db.workspace.findMany({
67
+ where: { organizationId: this.orgId },
68
+ orderBy: { name: "asc" },
69
+ });
70
+ }
71
+ /**
72
+ * Resolve a workspace slug into a filter object ready for ContextService/SearchService.
73
+ * Converts domain slugs to domain IDs using the provided domain lookup.
74
+ */
75
+ async resolveFilter(slug, domainSlugToId) {
76
+ const ws = await this.getBySlug(slug);
77
+ if (!ws)
78
+ return null;
79
+ const domainSlugs = ws.domainSlugs || [];
80
+ const domainIds = domainSlugs.length > 0
81
+ ? await domainSlugToId(domainSlugs)
82
+ : undefined;
83
+ return {
84
+ domainIds: domainIds && domainIds.length > 0 ? domainIds : undefined,
85
+ types: (ws.nodeTypes || []).length > 0 ? ws.nodeTypes : undefined,
86
+ tags: (ws.tags || []).length > 0 ? ws.tags : undefined,
87
+ maxDepth: ws.maxDepth ?? undefined,
88
+ maxNodes: ws.maxNodes ?? undefined,
89
+ includeDrafts: ws.includeDrafts,
90
+ };
91
+ }
92
+ /**
93
+ * Export a workspace as a CLAUDE.md-formatted markdown string.
94
+ */
95
+ async exportAsMarkdown(slug) {
96
+ const ws = await this.getBySlug(slug);
97
+ if (!ws)
98
+ return null;
99
+ const domainSlugs = ws.domainSlugs || [];
100
+ const nodeTypes = ws.nodeTypes || [];
101
+ const tags = ws.tags || [];
102
+ let md = `# ${ws.name}\n\n`;
103
+ if (ws.description)
104
+ md += `${ws.description}\n\n`;
105
+ if (ws.systemPrompt)
106
+ md += `## Purpose\n\n${ws.systemPrompt}\n\n`;
107
+ md += `## Knowledge Scope\n\n`;
108
+ if (domainSlugs.length > 0)
109
+ md += `- **Domains:** ${domainSlugs.join(", ")}\n`;
110
+ if (nodeTypes.length > 0)
111
+ md += `- **Node types:** ${nodeTypes.join(", ")}\n`;
112
+ if (tags.length > 0)
113
+ md += `- **Tags:** ${tags.join(", ")}\n`;
114
+ if (!domainSlugs.length && !nodeTypes.length && !tags.length)
115
+ md += `- All knowledge (no filters)\n`;
116
+ md += `\n## Usage\n\n`;
117
+ md += `\`\`\`bash\n`;
118
+ md += `ai context <query> --workspace ${ws.slug}\n`;
119
+ md += `ai search <query> --workspace ${ws.slug}\n`;
120
+ md += `\`\`\`\n`;
121
+ return md;
122
+ }
123
+ }
124
+ //# sourceMappingURL=workspace-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-service.js","sourceRoot":"","sources":["../../src/services/workspace-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAsB,MAAM,iBAAiB,CAAC;AAqC3E,MAAM,OAAO,gBAAgB;IAIjB;IAHF,KAAK,CAAS;IAEtB,YACU,EAAgB,EACxB,SAAyB;QADjB,OAAE,GAAF,EAAE,CAAc;QAGxB,IAAI,CAAC,KAAK,GAAG,SAAS,EAAE,cAAc,IAAI,oBAAoB,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAA2B;QACtC,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;YAC9B,IAAI,EAAE;gBACJ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;gBACpC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;gBACpC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;gBAChC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;gBAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;gBAChC,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK;gBAC3C,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE;gBACtC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,cAAc,EAAE,IAAI,CAAC,KAAK;aAC3B;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAA2B;QAClD,2DAA2D;QAC3D,MAAM,IAAI,GAA4B,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;QAChE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACrD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAC1E,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAC1E,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACpE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACrD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACjE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACjE,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAChF,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QAE7E,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;YAC9B,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC;YAClC,KAAK,EAAE,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE;SACrE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC;YAChC,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,EAAE;YACrC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACzB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CACjB,IAAY,EACZ,cAAsD;QAEtD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAErB,MAAM,WAAW,GAAI,EAAE,CAAC,WAAwB,IAAI,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;YACtC,CAAC,CAAC,MAAM,cAAc,CAAC,WAAW,CAAC;YACnC,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO;YACL,SAAS,EAAE,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACpE,KAAK,EAAE,CAAE,EAAE,CAAC,SAAsB,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC,SAAsB,CAAC,CAAC,CAAC,SAAS;YAC7F,IAAI,EAAE,CAAE,EAAE,CAAC,IAAiB,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC,IAAiB,CAAC,CAAC,CAAC,SAAS;YAClF,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,SAAS;YAClC,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,SAAS;YAClC,aAAa,EAAE,EAAE,CAAC,aAAa;SAChC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAErB,MAAM,WAAW,GAAI,EAAE,CAAC,WAAwB,IAAI,EAAE,CAAC;QACvD,MAAM,SAAS,GAAI,EAAE,CAAC,SAAsB,IAAI,EAAE,CAAC;QACnD,MAAM,IAAI,GAAI,EAAE,CAAC,IAAiB,IAAI,EAAE,CAAC;QAEzC,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,IAAI,MAAM,CAAC;QAC5B,IAAI,EAAE,CAAC,WAAW;YAAE,EAAE,IAAI,GAAG,EAAE,CAAC,WAAW,MAAM,CAAC;QAClD,IAAI,EAAE,CAAC,YAAY;YAAE,EAAE,IAAI,iBAAiB,EAAE,CAAC,YAAY,MAAM,CAAC;QAElE,EAAE,IAAI,wBAAwB,CAAC;QAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,EAAE,IAAI,kBAAkB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,EAAE,IAAI,qBAAqB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,EAAE,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9D,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,EAAE,IAAI,gCAAgC,CAAC;QAErG,EAAE,IAAI,gBAAgB,CAAC;QACvB,EAAE,IAAI,cAAc,CAAC;QACrB,EAAE,IAAI,kCAAkC,EAAE,CAAC,IAAI,IAAI,CAAC;QACpD,EAAE,IAAI,iCAAiC,EAAE,CAAC,IAAI,IAAI,CAAC;QACnD,EAAE,IAAI,UAAU,CAAC;QAEjB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
- import type { Node as PrismaNode, Edge as PrismaEdge, Domain as PrismaDomain } from "@prisma/client";
1
+ import type { Node as PrismaNode, Edge as PrismaEdge, Domain as PrismaDomain, Workspace as PrismaWorkspace } from "@prisma/client";
2
2
  export type Node = PrismaNode;
3
3
  export type Domain = PrismaDomain;
4
+ export type Workspace = PrismaWorkspace;
4
5
  export type NewNode = Omit<Node, "id" | "createdAt" | "updatedAt" | "embedding" | "searchVector"> & {
5
6
  embedding?: unknown;
6
7
  searchVector?: unknown;
@@ -29,6 +30,7 @@ export interface ContextOptions {
29
30
  includeDrafts?: boolean;
30
31
  types?: string[];
31
32
  domainIds?: string[];
33
+ workspace?: string;
32
34
  }
33
35
  export interface ContextPackage {
34
36
  nodes: Node[];
@@ -36,6 +38,11 @@ export interface ContextPackage {
36
38
  query: string;
37
39
  assembledAt: string;
38
40
  domains?: Domain[];
41
+ workspace?: {
42
+ name: string;
43
+ slug: string;
44
+ description: string;
45
+ };
39
46
  }
40
47
  export interface EmbeddingProvider {
41
48
  embed(text: string): Promise<number[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.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.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Core library: database, services, and providers for Apart Intelligence",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -18,25 +18,26 @@
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
+ },
21
31
  "dependencies": {
22
32
  "@prisma/client": "^6.6.0",
23
33
  "@prisma/extension-accelerate": "^3.0.1",
34
+ "prisma": "^6.6.0",
24
35
  "yaml": "^2.6.0",
25
36
  "zod": "^3.24.0"
26
37
  },
27
38
  "devDependencies": {
28
39
  "@types/node": "^25.5.0",
29
- "prisma": "^6.6.0",
30
40
  "typescript": "^5.7.0",
31
41
  "vitest": "^3.0.0"
32
- },
33
- "scripts": {
34
- "build": "tsc",
35
- "dev": "tsc --watch",
36
- "lint": "tsc --noEmit",
37
- "test": "vitest run",
38
- "db:generate": "prisma generate",
39
- "db:migrate": "prisma migrate dev",
40
- "db:push": "prisma db push"
41
42
  }
42
- }
43
+ }
@@ -14,10 +14,11 @@ model Organization {
14
14
  metadata Json @default("{}")
15
15
  createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz
16
16
 
17
- nodes Node[]
18
- edges Edge[]
19
- domains Domain[]
20
- apiKeys ApiKey[]
17
+ nodes Node[]
18
+ edges Edge[]
19
+ domains Domain[]
20
+ apiKeys ApiKey[]
21
+ workspaces Workspace[]
21
22
 
22
23
  @@map("organizations")
23
24
  }
@@ -97,6 +98,38 @@ model Edge {
97
98
  @@map("edges")
98
99
  }
99
100
 
101
+ model Workspace {
102
+ id String @id @default(uuid()) @db.Uuid
103
+ name String @db.VarChar(200)
104
+ slug String @db.VarChar(200)
105
+ description String @default("") @db.Text
106
+
107
+ // Filter rules
108
+ domainSlugs Json @default("[]") @map("domain_slugs")
109
+ nodeTypes Json @default("[]") @map("node_types")
110
+ tags Json @default("[]") @map("tags")
111
+
112
+ // Context assembly overrides
113
+ maxDepth Int? @map("max_depth")
114
+ maxNodes Int? @map("max_nodes")
115
+ includeDrafts Boolean @default(false) @map("include_drafts")
116
+
117
+ // Layer 1: map description for AI
118
+ systemPrompt String @default("") @map("system_prompt") @db.Text
119
+
120
+ metadata Json @default("{}")
121
+ createdBy String @map("created_by") @db.VarChar(255)
122
+ createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz
123
+ updatedAt DateTime @default(now()) @map("updated_at") @db.Timestamptz
124
+ organizationId String @map("organization_id") @db.Uuid
125
+
126
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
127
+
128
+ @@unique([slug, organizationId], map: "uq_workspaces_slug_org")
129
+ @@index([organizationId], map: "idx_workspaces_organization")
130
+ @@map("workspaces")
131
+ }
132
+
100
133
  model ApiKey {
101
134
  id String @id @default(uuid()) @db.Uuid
102
135
  name String @db.VarChar(255)