@apart-tech/intelligence-core 1.11.5 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/auth/ability.d.ts +4 -4
  2. package/dist/auth/ability.d.ts.map +1 -1
  3. package/dist/auth/ability.js +17 -11
  4. package/dist/auth/ability.js.map +1 -1
  5. package/dist/auth/ability.test.js +25 -12
  6. package/dist/auth/ability.test.js.map +1 -1
  7. package/dist/config/index.d.ts.map +1 -1
  8. package/dist/config/index.js +5 -1
  9. package/dist/config/index.js.map +1 -1
  10. package/dist/db/tenant.d.ts.map +1 -1
  11. package/dist/db/tenant.js +8 -0
  12. package/dist/db/tenant.js.map +1 -1
  13. package/dist/index.d.ts +6 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +4 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/services/__tests__/chunk-service.test.d.ts +2 -0
  18. package/dist/services/__tests__/chunk-service.test.d.ts.map +1 -0
  19. package/dist/services/__tests__/chunk-service.test.js +111 -0
  20. package/dist/services/__tests__/chunk-service.test.js.map +1 -0
  21. package/dist/services/__tests__/chunker.test.d.ts +2 -0
  22. package/dist/services/__tests__/chunker.test.d.ts.map +1 -0
  23. package/dist/services/__tests__/chunker.test.js +113 -0
  24. package/dist/services/__tests__/chunker.test.js.map +1 -0
  25. package/dist/services/__tests__/node-service.test.d.ts +2 -0
  26. package/dist/services/__tests__/node-service.test.d.ts.map +1 -0
  27. package/dist/services/__tests__/node-service.test.js +207 -0
  28. package/dist/services/__tests__/node-service.test.js.map +1 -0
  29. package/dist/services/__tests__/pii-detector-service.test.js +51 -0
  30. package/dist/services/__tests__/pii-detector-service.test.js.map +1 -1
  31. package/dist/services/__tests__/pii-encryption-service.test.js +37 -0
  32. package/dist/services/__tests__/pii-encryption-service.test.js.map +1 -1
  33. package/dist/services/__tests__/search-service.test.d.ts +2 -0
  34. package/dist/services/__tests__/search-service.test.d.ts.map +1 -0
  35. package/dist/services/__tests__/search-service.test.js +163 -0
  36. package/dist/services/__tests__/search-service.test.js.map +1 -0
  37. package/dist/services/backfill-chunks.d.ts +30 -0
  38. package/dist/services/backfill-chunks.d.ts.map +1 -0
  39. package/dist/services/backfill-chunks.js +55 -0
  40. package/dist/services/backfill-chunks.js.map +1 -0
  41. package/dist/services/chunk-service.d.ts +45 -0
  42. package/dist/services/chunk-service.d.ts.map +1 -0
  43. package/dist/services/chunk-service.js +111 -0
  44. package/dist/services/chunk-service.js.map +1 -0
  45. package/dist/services/chunker.d.ts +32 -0
  46. package/dist/services/chunker.d.ts.map +1 -0
  47. package/dist/services/chunker.js +289 -0
  48. package/dist/services/chunker.js.map +1 -0
  49. package/dist/services/context-service.d.ts +3 -1
  50. package/dist/services/context-service.d.ts.map +1 -1
  51. package/dist/services/context-service.js +17 -1
  52. package/dist/services/context-service.js.map +1 -1
  53. package/dist/services/node-service.d.ts +12 -1
  54. package/dist/services/node-service.d.ts.map +1 -1
  55. package/dist/services/node-service.js +54 -11
  56. package/dist/services/node-service.js.map +1 -1
  57. package/dist/services/pii-detector-service.d.ts +1 -0
  58. package/dist/services/pii-detector-service.d.ts.map +1 -1
  59. package/dist/services/pii-detector-service.js +95 -2
  60. package/dist/services/pii-detector-service.js.map +1 -1
  61. package/dist/services/pii-encryption-service.d.ts +10 -0
  62. package/dist/services/pii-encryption-service.d.ts.map +1 -1
  63. package/dist/services/pii-encryption-service.js +32 -0
  64. package/dist/services/pii-encryption-service.js.map +1 -1
  65. package/dist/services/search-service.d.ts +30 -1
  66. package/dist/services/search-service.d.ts.map +1 -1
  67. package/dist/services/search-service.js +262 -45
  68. package/dist/services/search-service.js.map +1 -1
  69. package/dist/services/tag-service.d.ts +78 -0
  70. package/dist/services/tag-service.d.ts.map +1 -0
  71. package/dist/services/tag-service.js +639 -0
  72. package/dist/services/tag-service.js.map +1 -0
  73. package/dist/services/tag-service.test.d.ts +2 -0
  74. package/dist/services/tag-service.test.d.ts.map +1 -0
  75. package/dist/services/tag-service.test.js +448 -0
  76. package/dist/services/tag-service.test.js.map +1 -0
  77. package/dist/services/user-service.d.ts +1 -0
  78. package/dist/services/user-service.d.ts.map +1 -1
  79. package/dist/services/user-service.test.js +72 -1
  80. package/dist/services/user-service.test.js.map +1 -1
  81. package/dist/services/workspace-service.d.ts +2 -0
  82. package/dist/services/workspace-service.d.ts.map +1 -1
  83. package/dist/services/workspace-service.js +7 -1
  84. package/dist/services/workspace-service.js.map +1 -1
  85. package/dist/types/index.d.ts +67 -2
  86. package/dist/types/index.d.ts.map +1 -1
  87. package/package.json +2 -2
  88. package/prisma/schema.prisma +180 -3
@@ -1 +1 @@
1
- {"version":3,"file":"user-service.test.js","sourceRoot":"","sources":["../../src/services/user-service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-service.test.js","sourceRoot":"","sources":["../../src/services/user-service.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D;;;GAGG;AACH,SAAS,UAAU,CAAC,aAA0F;IAC5G,MAAM,KAAK,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;IAEjC,OAAO;QACL,IAAI,EAAE;YACJ,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAiD,EAAE,EAAE;gBACnF,IAAI,KAAK,CAAC,QAAQ;oBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;gBACpF,IAAI,KAAK,CAAC,EAAE;oBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;gBAClE,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YACF,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAgC,EAAE,EAAE;gBACjE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;YAC5D,CAAC,CAAC;YACF,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAgE,EAAE,EAAE;gBAC7F,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,OAAO,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC7E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YACF,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAA4D,EAAE,EAAE;gBAChG,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClD,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;SACH;KACF,CAAC;AACJ,CAAC;AAKD,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,EAAE,GAAG,UAAU,CAAC;YACpB,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE;SAChF,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAW,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,sBAAsB,CAAC,WAAW,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAE3F,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,CAAE,EAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,6BAA6B;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,EAAE,GAAG,UAAU,CAAC;YACpB,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE;SACjF,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAW,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,sBAAsB,CAAC,WAAW,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAE5F,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7C,MAAM,CAAE,EAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,EAAE,GAAG,UAAU,CAAC;YACpB,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3F,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAW,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,sBAAsB,CAC7C,sBAAsB,EACtB,mBAAmB,EACnB,OAAO,CACR,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,+BAA+B;QAC9D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,cAAc;QACpE,MAAM,CAAE,EAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,uBAAuB;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,EAAE,GAAG,UAAU,CAAC;YACpB,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,UAAU,EAAE;SAC3F,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAW,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,sBAAsB,CAC7C,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,CACb,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACnD,MAAM,CAAE,EAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,EAAE,GAAG,UAAU,CAAC;YACpB,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE;SAClF,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAW,CAAC,CAAC;QAEzC,MAAM,GAAG,CAAC,sBAAsB,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;QAErE,MAAM,CAAE,EAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AACjF,EAAE;AACF,wDAAwD;AACxD,kDAAkD;AAClD,+DAA+D;AAC/D,sEAAsE;AACtE,qEAAqE;AACrE,kEAAkE;AAClE,kEAAkE;AAClE,0CAA0C;AAE1C,SAAS,qBAAqB;IAC5B,MAAM,KAAK,GAA6D,EAAE,CAAC;IAC3E,OAAO;QACL,IAAI,EAAE;YACJ,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAA+C,EAAE,EAAE;gBACzF,KAAK,MAAM,CAAC;gBACZ,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACzD,CAAC,CAAC;YACF,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAA4D,EAAE,EAAE;gBAChG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;gBACvF,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC,CAAC;SACH;KACF,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,+CAA+C,EAAE,GAAG,EAAE;IAC7D,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,uCAAuC,CAAC;QACvE,cAAc,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAW,CAAC,CAAC;QAEzC,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAE7C,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAW,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAiB;YAC5B,MAAM,EAAE;gBACN,cAAc,EAAE,YAAY;gBAC5B,aAAa,EAAE,cAAc;aAC9B;SACF,CAAC;QACF,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAE7C,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAW,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAiB;YAC5B,SAAS,EAAE,aAAa;YACxB,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;YAC/D,MAAM,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE;SACzC,CAAC;QACF,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAE7C,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAW,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAEvD,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import type { PrismaClient, Workspace } from "@prisma/client";
2
2
  import { type TenantContext } from "../db/tenant.js";
3
+ import type { TagFilter } from "../types/index.js";
3
4
  export interface WorkspaceFilter {
4
5
  domainIds?: string[];
5
6
  types?: string[];
6
7
  tags?: string[];
8
+ tagFilters?: TagFilter[];
7
9
  maxDepth?: number;
8
10
  maxNodes?: number;
9
11
  includeDrafts?: boolean;
@@ -1 +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"}
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;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,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,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,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;IA0BlC;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CA0B7D"}
@@ -80,10 +80,16 @@ export class WorkspaceService {
80
80
  const domainIds = domainSlugs.length > 0
81
81
  ? await domainSlugToId(domainSlugs)
82
82
  : undefined;
83
+ // Convert old-style tags (string[]) to TagFilter presence checks
84
+ const oldTags = (ws.tags || []);
85
+ const tagFilters = oldTags.length > 0
86
+ ? oldTags.map((tagName) => ({ tagName, op: "exists" }))
87
+ : undefined;
83
88
  return {
84
89
  domainIds: domainIds && domainIds.length > 0 ? domainIds : undefined,
85
90
  types: (ws.nodeTypes || []).length > 0 ? ws.nodeTypes : undefined,
86
- tags: (ws.tags || []).length > 0 ? ws.tags : undefined,
91
+ tags: oldTags.length > 0 ? oldTags : undefined,
92
+ tagFilters,
87
93
  maxDepth: ws.maxDepth ?? undefined,
88
94
  maxNodes: ws.maxNodes ?? undefined,
89
95
  includeDrafts: ws.includeDrafts,
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-service.js","sourceRoot":"","sources":["../../src/services/workspace-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-service.js","sourceRoot":"","sources":["../../src/services/workspace-service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,60 @@
1
- import type { Node as PrismaNode, Edge as PrismaEdge, Domain as PrismaDomain, Workspace as PrismaWorkspace } from "@prisma/client";
1
+ import type { Node as PrismaNode, Edge as PrismaEdge, Domain as PrismaDomain, Workspace as PrismaWorkspace, NodeChunk as PrismaNodeChunk, TagDefinition as PrismaTagDefinition, NodeTag as PrismaNodeTag, NodeTagHistory as PrismaNodeTagHistory, NodeTagAudit as PrismaNodeTagAudit } from "@prisma/client";
2
2
  export type Node = PrismaNode;
3
3
  export type Domain = PrismaDomain;
4
4
  export type Workspace = PrismaWorkspace;
5
+ export type NodeChunk = PrismaNodeChunk;
6
+ export type TagDefinition = PrismaTagDefinition;
7
+ export type NodeTag = PrismaNodeTag;
8
+ export type NodeTagHistory = PrismaNodeTagHistory;
9
+ export type NodeTagAudit = PrismaNodeTagAudit;
10
+ export type TagType = "text" | "number" | "date" | "enum" | "ref";
11
+ export type TagCardinality = "singleton" | "multi";
12
+ export type TagSource = "extracted" | "computed" | "declared";
13
+ export type VerificationStatus = "unverified" | "auto-accepted" | "human-verified" | "contested";
14
+ export type TagDefinitionStatus = "active" | "deprecated" | "retired";
15
+ export interface ApplyTagInput {
16
+ tagName: string;
17
+ valueText?: string;
18
+ valueNum?: number;
19
+ valueCurrency?: string;
20
+ valueUnit?: string;
21
+ valueDate?: string;
22
+ valueRef?: string;
23
+ textSpan?: string;
24
+ offsetStart?: number;
25
+ offsetEnd?: number;
26
+ contentVersion?: number;
27
+ attrs?: Record<string, unknown>;
28
+ confidence?: number;
29
+ modelId?: string;
30
+ modelVersion?: string;
31
+ }
32
+ export type TagFilterOp = "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "between" | "in" | "contains" | "exists";
33
+ export interface TagFilter {
34
+ tagName: string;
35
+ op: TagFilterOp;
36
+ value?: string | number | boolean | string[] | number[];
37
+ valueTo?: string | number;
38
+ }
39
+ export interface TagQuery {
40
+ filters: TagFilter[];
41
+ groupBy?: string[];
42
+ aggregations?: Array<{
43
+ fn: "count" | "sum" | "avg" | "min" | "max";
44
+ tagName: string;
45
+ }>;
46
+ limit?: number;
47
+ offset?: number;
48
+ }
49
+ export interface TagQueryResult {
50
+ rows: Record<string, unknown>[];
51
+ total: number;
52
+ }
53
+ export interface BatchError {
54
+ index: number;
55
+ tagName: string;
56
+ error: string;
57
+ }
5
58
  export type NewNode = Omit<Node, "id" | "createdAt" | "updatedAt" | "embedding" | "searchVector"> & {
6
59
  embedding?: unknown;
7
60
  searchVector?: unknown;
@@ -16,11 +69,14 @@ export interface SearchOptions {
16
69
  statuses?: NodeStatus[];
17
70
  includeDrafts?: boolean;
18
71
  domainIds?: string[];
72
+ tagFilters?: TagFilter[];
19
73
  }
20
74
  export interface SearchResult {
21
75
  node: Node;
22
76
  score: number;
23
- matchType: "semantic" | "keyword" | "hybrid";
77
+ matchType: "semantic" | "keyword" | "substring" | "trigram" | "hybrid";
78
+ snippet?: string;
79
+ snippetChunkIndex?: number;
24
80
  }
25
81
  export interface ContextOptions {
26
82
  query: string;
@@ -43,6 +99,7 @@ export interface ContextPackage {
43
99
  slug: string;
44
100
  description: string;
45
101
  };
102
+ chunks?: Record<string, string[]>;
46
103
  }
47
104
  export interface EmbedBatchOptions {
48
105
  onProgress?: (progress: EmbeddingProgress) => void;
@@ -62,6 +119,10 @@ export interface EmbeddingProvider {
62
119
  export interface OrgMetadata {
63
120
  search?: {
64
121
  semanticWeight?: number;
122
+ keywordWeight?: number;
123
+ substringWeight?: number;
124
+ trigramWeight?: number;
125
+ trigramThreshold?: number;
65
126
  defaultLimit?: number;
66
127
  includeDrafts?: boolean;
67
128
  };
@@ -105,6 +166,10 @@ export interface ApartConfig {
105
166
  };
106
167
  search: {
107
168
  semanticWeight: number;
169
+ keywordWeight: number;
170
+ substringWeight: number;
171
+ trigramWeight: number;
172
+ trigramThreshold: number;
108
173
  defaultLimit: number;
109
174
  includeDrafts: boolean;
110
175
  };
@@ -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.11.5",
3
+ "version": "1.12.0",
4
4
  "description": "Core library: database, services, and providers for Apart Intelligence",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -19,7 +19,7 @@
19
19
  "access": "public"
20
20
  },
21
21
  "dependencies": {
22
- "@casl/ability": "^6.7.0",
22
+ "@casl/ability": "^6.8.0",
23
23
  "@cdssnc/sanitize-pii": "^2.1.2",
24
24
  "@prisma/client": "^6.6.0",
25
25
  "@prisma/extension-accelerate": "^3.0.1",
@@ -35,6 +35,10 @@ model Organization {
35
35
  orgAgentTypes OrgAgentType[]
36
36
  orgMcpServers OrgMcpServer[]
37
37
  usageRecords UsageRecord[]
38
+ tagDefinitions TagDefinition[]
39
+ nodeTags NodeTag[]
40
+ nodeChunks NodeChunk[]
41
+ piiQueryLogs PiiQueryLog[]
38
42
 
39
43
  @@map("organizations")
40
44
  }
@@ -123,6 +127,22 @@ model OrgPiiConfig {
123
127
  @@map("org_pii_config")
124
128
  }
125
129
 
130
+ model PiiQueryLog {
131
+ id String @id @default(uuid()) @db.Uuid
132
+ organizationId String @map("organization_id") @db.Uuid
133
+ queryHash String @map("query_hash") @db.Text
134
+ piiTypesDetected String[] @map("pii_types_detected")
135
+ matchCount Int @map("match_count")
136
+ source String @db.VarChar(20)
137
+ principalId String? @map("principal_id") @db.Text
138
+ createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz
139
+
140
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
141
+
142
+ @@index([organizationId, createdAt], map: "idx_pii_query_logs_org_time")
143
+ @@map("pii_query_logs")
144
+ }
145
+
126
146
  model Domain {
127
147
  id String @id @default(uuid()) @db.Uuid
128
148
  name String @db.VarChar(200)
@@ -159,12 +179,15 @@ model Node {
159
179
  createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz
160
180
  updatedAt DateTime @default(now()) @map("updated_at") @db.Timestamptz
161
181
  version Int @default(1)
162
- hasPii Boolean @default(false) @map("has_pii")
163
- domainId String? @map("domain_id") @db.Uuid
164
- organizationId String @map("organization_id") @db.Uuid
182
+ hasPii Boolean @default(false) @map("has_pii")
183
+ embeddingPiiMode String? @map("embedding_pii_mode") @db.VarChar(20)
184
+ domainId String? @map("domain_id") @db.Uuid
185
+ organizationId String @map("organization_id") @db.Uuid
165
186
 
166
187
  sourceEdges Edge[] @relation("SourceNode")
167
188
  targetEdges Edge[] @relation("TargetNode")
189
+ tags NodeTag[]
190
+ chunks NodeChunk[]
168
191
  domain Domain? @relation(fields: [domainId], references: [id], onDelete: SetNull)
169
192
  organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
170
193
 
@@ -177,6 +200,30 @@ model Node {
177
200
  @@map("nodes")
178
201
  }
179
202
 
203
+ model NodeChunk {
204
+ id String @id @default(uuid()) @db.Uuid
205
+ nodeId String @map("node_id") @db.Uuid
206
+ chunkIndex Int @map("chunk_index")
207
+ content String @db.Text
208
+ tokenCount Int @map("token_count")
209
+ headingContext String? @map("heading_context") @db.VarChar(500)
210
+ startOffset Int @map("start_offset")
211
+ endOffset Int @map("end_offset")
212
+ overlapPrev Int @default(0) @map("overlap_prev")
213
+ embedding Unsupported("vector")?
214
+ embeddingPiiMode String? @map("embedding_pii_mode") @db.VarChar(20)
215
+ organizationId String @map("organization_id") @db.Uuid
216
+ createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz
217
+
218
+ node Node @relation(fields: [nodeId], references: [id], onDelete: Cascade)
219
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
220
+
221
+ @@unique([nodeId, chunkIndex], map: "uq_node_chunks_node_idx")
222
+ @@index([nodeId], map: "idx_node_chunks_node")
223
+ @@index([organizationId], map: "idx_node_chunks_org")
224
+ @@map("node_chunks")
225
+ }
226
+
180
227
  model Edge {
181
228
  id String @id @default(uuid()) @db.Uuid
182
229
  sourceNodeId String @map("source_node_id") @db.Uuid
@@ -431,3 +478,133 @@ model UsageRecord {
431
478
  @@index([organizationId], map: "idx_usage_records_organization")
432
479
  @@map("usage_records")
433
480
  }
481
+
482
+ // ── Tag System ──────────────────────────────────────────────────────────────
483
+
484
+ model TagDefinition {
485
+ id String @id @default(uuid()) @db.Uuid
486
+ organizationId String? @map("organization_id") @db.Uuid
487
+ tagName String @map("tag_name") @db.VarChar(100)
488
+ tagType String @map("tag_type") @db.VarChar(20)
489
+ cardinality String @default("singleton") @db.VarChar(10)
490
+ source String @default("extracted") @db.VarChar(20)
491
+ status String @default("active") @map("status") @db.VarChar(20)
492
+ description String @default("") @db.Text
493
+ category String? @map("category") @db.VarChar(50)
494
+ labels Json? @map("labels") @db.JsonB
495
+ applicableNodeTypes Json @default("[]") @map("applicable_node_types")
496
+ requiredForNodeTypes Json @default("[]") @map("required_for_node_types")
497
+ enumValues Json? @map("enum_values")
498
+ enumVersion Int @default(1) @map("enum_version")
499
+ dependsOn Json @default("[]") @map("depends_on")
500
+ autoAcceptThreshold Float? @map("auto_accept_threshold") @db.Real
501
+ parentDefinitionId String? @map("parent_definition_id") @db.Uuid
502
+ replacedBy String? @map("replaced_by") @db.Uuid
503
+ deprecatedAt DateTime? @map("deprecated_at") @db.Timestamptz
504
+ createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz
505
+ createdBy String @map("created_by") @db.VarChar(255)
506
+
507
+ organization Organization? @relation(fields: [organizationId], references: [id], onDelete: Cascade)
508
+ parentDef TagDefinition? @relation("TagDefHierarchy", fields: [parentDefinitionId], references: [id])
509
+ childDefs TagDefinition[] @relation("TagDefHierarchy")
510
+ replacementDef TagDefinition? @relation("TagDefReplacement", fields: [replacedBy], references: [id])
511
+ replacedDefs TagDefinition[] @relation("TagDefReplacement")
512
+ tags NodeTag[]
513
+
514
+ @@unique([organizationId, tagName], map: "uq_tag_def_org_name")
515
+ @@index([organizationId], map: "idx_tag_defs_org")
516
+ @@index([parentDefinitionId], map: "idx_tag_defs_parent")
517
+ @@map("tag_definitions")
518
+ }
519
+
520
+ model NodeTag {
521
+ id String @id @default(uuid()) @db.Uuid
522
+ nodeId String @map("node_id") @db.Uuid
523
+ organizationId String @map("organization_id") @db.Uuid
524
+ tagDefinitionId String @map("tag_definition_id") @db.Uuid
525
+ tagName String @map("tag_name") @db.VarChar(100)
526
+ isSingleton Boolean @default(false) @map("is_singleton")
527
+
528
+ valueText String? @map("value_text") @db.Text
529
+ valueNum Float? @map("value_num") @db.DoublePrecision
530
+ valueCurrency String? @map("value_currency") @db.Char(3)
531
+ valueUnit String? @map("value_unit") @db.VarChar(20)
532
+ valueDate DateTime? @map("value_date") @db.Timestamptz
533
+ valueRef String? @map("value_ref") @db.Uuid
534
+
535
+ textSpan String? @map("text_span") @db.Text
536
+ offsetStart Int? @map("offset_start")
537
+ offsetEnd Int? @map("offset_end")
538
+ contentVersion Int? @map("content_version")
539
+ attrs Json @default("{}") @db.JsonB
540
+
541
+ taggedBy String @map("tagged_by") @db.VarChar(255)
542
+ modelId String? @map("model_id") @db.VarChar(100)
543
+ modelVersion String? @map("model_version") @db.VarChar(50)
544
+ confidence Float? @db.Real
545
+ verificationStatus String @default("unverified") @map("verification_status") @db.VarChar(20)
546
+ verifiedBy String? @map("verified_by") @db.VarChar(255)
547
+ verifiedAt DateTime? @map("verified_at") @db.Timestamptz
548
+ supersededBy String? @map("superseded_by") @db.Uuid
549
+ batchId String? @map("batch_id") @db.Uuid
550
+
551
+ createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz
552
+ updatedAt DateTime @default(now()) @map("updated_at") @db.Timestamptz
553
+
554
+ node Node @relation(fields: [nodeId], references: [id], onDelete: Cascade)
555
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
556
+ tagDefinition TagDefinition @relation(fields: [tagDefinitionId], references: [id])
557
+ supersedes NodeTag? @relation("TagSupersession", fields: [supersededBy], references: [id])
558
+ supersededTags NodeTag[] @relation("TagSupersession")
559
+
560
+ @@index([nodeId], map: "idx_node_tags_node")
561
+ @@index([organizationId, tagName], map: "idx_node_tags_org_name")
562
+ @@index([valueRef], map: "idx_node_tags_ref")
563
+ @@index([batchId], map: "idx_node_tags_batch")
564
+ @@map("node_tags")
565
+ }
566
+
567
+ model NodeTagHistory {
568
+ id String @id @default(uuid()) @db.Uuid
569
+ tagId String @map("tag_id") @db.Uuid
570
+ nodeId String @map("node_id") @db.Uuid
571
+ organizationId String @map("organization_id") @db.Uuid
572
+ tagName String @map("tag_name") @db.VarChar(100)
573
+
574
+ valueText String? @map("value_text") @db.Text
575
+ valueNum Float? @map("value_num") @db.DoublePrecision
576
+ valueCurrency String? @map("value_currency") @db.Char(3)
577
+ valueUnit String? @map("value_unit") @db.VarChar(20)
578
+ valueDate DateTime? @map("value_date") @db.Timestamptz
579
+ valueRef String? @map("value_ref") @db.Uuid
580
+
581
+ validFrom DateTime @map("valid_from") @db.Timestamptz
582
+ validUntil DateTime @map("valid_until") @db.Timestamptz
583
+ systemFrom DateTime @map("system_from") @db.Timestamptz
584
+ systemTo DateTime? @map("system_to") @db.Timestamptz
585
+
586
+ replacedBy String @map("replaced_by") @db.VarChar(255)
587
+
588
+ @@index([nodeId, tagName, validFrom], map: "idx_tag_history_node_name_time")
589
+ @@index([organizationId, tagName, validFrom], map: "idx_tag_history_org_name_time")
590
+ @@index([nodeId, tagName, systemFrom], map: "idx_tag_history_node_name_system_time")
591
+ @@map("node_tag_history")
592
+ }
593
+
594
+ model NodeTagAudit {
595
+ id String @id @default(uuid()) @db.Uuid
596
+ tagId String @map("tag_id") @db.Uuid
597
+ nodeId String @map("node_id") @db.Uuid
598
+ orgId String @map("organization_id") @db.Uuid
599
+ action String @map("action") @db.VarChar(20)
600
+ oldValue Json? @map("old_value") @db.JsonB
601
+ newValue Json? @map("new_value") @db.JsonB
602
+ actorId String @map("actor_id") @db.Uuid
603
+ reason String? @db.Text
604
+ createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz
605
+
606
+ @@index([tagId], map: "idx_tag_audit_tag")
607
+ @@index([nodeId], map: "idx_tag_audit_node")
608
+ @@index([orgId, createdAt], map: "idx_tag_audit_org_time")
609
+ @@map("node_tag_audit")
610
+ }