@happyvertical/smrt-core 0.54.2 → 0.54.4

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 (207) hide show
  1. package/AGENTS.md +6 -1
  2. package/README.md +8 -0
  3. package/agents/change-feed.md +7 -12
  4. package/agents/generators.md +13 -0
  5. package/agents/object-runtime.md +8 -0
  6. package/agents/schema-paths.md +14 -0
  7. package/dist/__typechecks__/collection-read-plan.d.ts +2 -2
  8. package/dist/__typechecks__/collection-read-plan.d.ts.map +1 -1
  9. package/dist/audit-context.d.ts +4 -0
  10. package/dist/audit-context.d.ts.map +1 -0
  11. package/dist/audit-context.js +16 -0
  12. package/dist/audit-context.js.map +1 -0
  13. package/dist/audit.d.ts +34 -0
  14. package/dist/audit.d.ts.map +1 -0
  15. package/dist/audit.js +63 -0
  16. package/dist/audit.js.map +1 -0
  17. package/dist/browser.d.ts +19 -18
  18. package/dist/browser.d.ts.map +1 -1
  19. package/dist/browser.js +4 -3
  20. package/dist/cascade.d.ts +1 -1
  21. package/dist/cascade.d.ts.map +1 -1
  22. package/dist/cascade.js +10 -7
  23. package/dist/cascade.js.map +1 -1
  24. package/dist/change-feed.js +1 -1
  25. package/dist/child-accessors.d.ts +1 -1
  26. package/dist/child-accessors.d.ts.map +1 -1
  27. package/dist/collection-read-plan.d.ts +3 -3
  28. package/dist/collection-read-plan.d.ts.map +1 -1
  29. package/dist/collection.d.ts +13 -6
  30. package/dist/collection.d.ts.map +1 -1
  31. package/dist/collection.js +59 -4
  32. package/dist/collection.js.map +1 -1
  33. package/dist/data-query.d.ts +1 -1
  34. package/dist/data-query.d.ts.map +1 -1
  35. package/dist/embedded-write-queue.d.ts +2 -0
  36. package/dist/embedded-write-queue.d.ts.map +1 -1
  37. package/dist/embedded-write-queue.js +12 -5
  38. package/dist/embedded-write-queue.js.map +1 -1
  39. package/dist/embeddings/index.d.ts +5 -5
  40. package/dist/embeddings/index.d.ts.map +1 -1
  41. package/dist/embeddings/provider.d.ts +1 -1
  42. package/dist/embeddings/provider.d.ts.map +1 -1
  43. package/dist/embeddings/storage.d.ts +1 -1
  44. package/dist/embeddings/storage.d.ts.map +1 -1
  45. package/dist/generated-collection-access.d.ts +3 -3
  46. package/dist/generated-collection-access.d.ts.map +1 -1
  47. package/dist/generators/changes-route.js +1 -1
  48. package/dist/generators/index.d.ts +12 -12
  49. package/dist/generators/index.d.ts.map +1 -1
  50. package/dist/generators/mcp-runtime-template.d.ts +2 -0
  51. package/dist/generators/mcp-runtime-template.d.ts.map +1 -1
  52. package/dist/generators/mcp-runtime-template.js +18 -16
  53. package/dist/generators/mcp-runtime-template.js.map +1 -1
  54. package/dist/generators/mcp-tool-name.d.ts +6 -0
  55. package/dist/generators/mcp-tool-name.d.ts.map +1 -1
  56. package/dist/generators/mcp-tool-name.js.map +1 -1
  57. package/dist/generators/mcp.d.ts +34 -1
  58. package/dist/generators/mcp.d.ts.map +1 -1
  59. package/dist/generators/mcp.js +148 -110
  60. package/dist/generators/mcp.js.map +1 -1
  61. package/dist/generators/rest.d.ts +4 -4
  62. package/dist/generators/rest.d.ts.map +1 -1
  63. package/dist/generators/rest.js +16 -7
  64. package/dist/generators/rest.js.map +1 -1
  65. package/dist/hierarchical.d.ts +2 -2
  66. package/dist/hierarchical.d.ts.map +1 -1
  67. package/dist/index.d.ts +68 -66
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +9 -7
  70. package/dist/junction.d.ts +31 -12
  71. package/dist/junction.d.ts.map +1 -1
  72. package/dist/junction.js +31 -12
  73. package/dist/junction.js.map +1 -1
  74. package/dist/knowledge.js +1 -1
  75. package/dist/knowledge.js.map +1 -1
  76. package/dist/manifest/index.d.ts +7 -7
  77. package/dist/manifest/index.d.ts.map +1 -1
  78. package/dist/manifest/manifest-loader.d.ts.map +1 -1
  79. package/dist/manifest/manifest-loader.js +1 -1
  80. package/dist/manifest/manifest-loader.js.map +1 -1
  81. package/dist/manifest/static-manifest.d.ts.map +1 -1
  82. package/dist/manifest/static-manifest.js +106 -9
  83. package/dist/manifest/static-manifest.js.map +1 -1
  84. package/dist/manifest/store.d.ts +8 -0
  85. package/dist/manifest/store.d.ts.map +1 -1
  86. package/dist/manifest/store.js +12 -2
  87. package/dist/manifest/store.js.map +1 -1
  88. package/dist/manifest.json +119 -9
  89. package/dist/migrations/differ.d.ts +3 -3
  90. package/dist/migrations/differ.d.ts.map +1 -1
  91. package/dist/migrations/differ.js +8 -4
  92. package/dist/migrations/differ.js.map +1 -1
  93. package/dist/object.d.ts +8 -7
  94. package/dist/object.d.ts.map +1 -1
  95. package/dist/object.js +19 -7
  96. package/dist/object.js.map +1 -1
  97. package/dist/polymorphic-association.d.ts +1 -1
  98. package/dist/polymorphic-association.d.ts.map +1 -1
  99. package/dist/prebuild/index.d.ts +1 -1
  100. package/dist/prebuild/index.d.ts.map +1 -1
  101. package/dist/query-bounds.d.ts +1 -1
  102. package/dist/query-bounds.d.ts.map +1 -1
  103. package/dist/registry/cache-config.d.ts +1 -1
  104. package/dist/registry/cache-config.d.ts.map +1 -1
  105. package/dist/registry/class-registration.d.ts +1 -1
  106. package/dist/registry/class-registration.d.ts.map +1 -1
  107. package/dist/registry/class-registration.js +75 -10
  108. package/dist/registry/class-registration.js.map +1 -1
  109. package/dist/registry/collection-resolution.d.ts +3 -3
  110. package/dist/registry/collection-resolution.d.ts.map +1 -1
  111. package/dist/registry/collection-resolution.js +2 -1
  112. package/dist/registry/collection-resolution.js.map +1 -1
  113. package/dist/registry/collision-policy.d.ts +8 -0
  114. package/dist/registry/collision-policy.d.ts.map +1 -1
  115. package/dist/registry/collision-policy.js +2 -2
  116. package/dist/registry/collision-policy.js.map +1 -1
  117. package/dist/registry/embedding-manager.d.ts +1 -1
  118. package/dist/registry/embedding-manager.d.ts.map +1 -1
  119. package/dist/registry/framework-base-classes.d.ts.map +1 -1
  120. package/dist/registry/framework-base-classes.js +2 -1
  121. package/dist/registry/framework-base-classes.js.map +1 -1
  122. package/dist/registry/index.d.ts +6 -6
  123. package/dist/registry/index.d.ts.map +1 -1
  124. package/dist/registry/inheritance-resolver.d.ts +2 -2
  125. package/dist/registry/inheritance-resolver.d.ts.map +1 -1
  126. package/dist/registry/manifest-field-merge.d.ts +1 -1
  127. package/dist/registry/manifest-field-merge.d.ts.map +1 -1
  128. package/dist/registry/name-resolver.d.ts +1 -1
  129. package/dist/registry/name-resolver.d.ts.map +1 -1
  130. package/dist/registry/qualified-name-aliases.d.ts +1 -1
  131. package/dist/registry/qualified-name-aliases.d.ts.map +1 -1
  132. package/dist/registry/relationship-graph.d.ts +1 -1
  133. package/dist/registry/relationship-graph.d.ts.map +1 -1
  134. package/dist/registry/runtime-overrides.d.ts +1 -1
  135. package/dist/registry/runtime-overrides.d.ts.map +1 -1
  136. package/dist/registry/schema-builder.d.ts.map +1 -1
  137. package/dist/registry/schema-builder.js +33 -4
  138. package/dist/registry/schema-builder.js.map +1 -1
  139. package/dist/registry/shared-state.d.ts +9 -3
  140. package/dist/registry/shared-state.d.ts.map +1 -1
  141. package/dist/registry/shared-state.js +12 -1
  142. package/dist/registry/shared-state.js.map +1 -1
  143. package/dist/registry/types.d.ts +11 -5
  144. package/dist/registry/types.d.ts.map +1 -1
  145. package/dist/registry/validator.d.ts +1 -1
  146. package/dist/registry/validator.d.ts.map +1 -1
  147. package/dist/registry.d.ts +19 -13
  148. package/dist/registry.d.ts.map +1 -1
  149. package/dist/registry.js +25 -3
  150. package/dist/registry.js.map +1 -1
  151. package/dist/relationship-loader.d.ts +1 -1
  152. package/dist/relationship-loader.d.ts.map +1 -1
  153. package/dist/runtime/client.d.ts +1 -1
  154. package/dist/runtime/client.d.ts.map +1 -1
  155. package/dist/runtime/index.d.ts +5 -5
  156. package/dist/runtime/index.d.ts.map +1 -1
  157. package/dist/runtime/server.d.ts +1 -1
  158. package/dist/runtime/server.d.ts.map +1 -1
  159. package/dist/scanner/manifest-generator.d.ts.map +1 -1
  160. package/dist/scanner/manifest-generator.js +5 -1
  161. package/dist/scanner/manifest-generator.js.map +1 -1
  162. package/dist/scanner/types.d.ts +8 -0
  163. package/dist/scanner/types.d.ts.map +1 -1
  164. package/dist/scanner/types.js.map +1 -1
  165. package/dist/schema/ddl/duckdb-strategy.d.ts.map +1 -1
  166. package/dist/schema/ddl/duckdb-strategy.js +1 -0
  167. package/dist/schema/ddl/duckdb-strategy.js.map +1 -1
  168. package/dist/schema/ddl/null-equal-index.d.ts.map +1 -1
  169. package/dist/schema/ddl/null-equal-index.js +4 -2
  170. package/dist/schema/ddl/null-equal-index.js.map +1 -1
  171. package/dist/schema/ddl/types.d.ts +1 -1
  172. package/dist/schema/ddl/types.d.ts.map +1 -1
  173. package/dist/schema/generator.d.ts +3 -0
  174. package/dist/schema/generator.d.ts.map +1 -1
  175. package/dist/schema/generator.js +38 -0
  176. package/dist/schema/generator.js.map +1 -1
  177. package/dist/smrt-knowledge.json +74 -20
  178. package/dist/sync/apply.d.ts +2 -0
  179. package/dist/sync/apply.d.ts.map +1 -1
  180. package/dist/sync/apply.js +7 -3
  181. package/dist/sync/apply.js.map +1 -1
  182. package/dist/utils/scanner-module.d.ts +9 -0
  183. package/dist/utils/scanner-module.d.ts.map +1 -1
  184. package/dist/utils.d.ts +1 -1
  185. package/dist/utils.d.ts.map +1 -1
  186. package/dist/vite-plugin/changes-route.d.ts +1 -1
  187. package/dist/vite-plugin/changes-route.d.ts.map +1 -1
  188. package/dist/vite-plugin/events-route.d.ts +1 -1
  189. package/dist/vite-plugin/events-route.d.ts.map +1 -1
  190. package/dist/vite-plugin/index.d.ts +14 -0
  191. package/dist/vite-plugin/index.d.ts.map +1 -1
  192. package/dist/vite-plugin/index.js +58 -18
  193. package/dist/vite-plugin/index.js.map +1 -1
  194. package/dist/vite-plugin/package-stamp.d.ts +41 -0
  195. package/dist/vite-plugin/package-stamp.d.ts.map +1 -0
  196. package/dist/vite-plugin/package-stamp.js +33 -0
  197. package/dist/vite-plugin/package-stamp.js.map +1 -0
  198. package/dist/vite-plugin/sveltekit-generator.d.ts +1 -1
  199. package/dist/vite-plugin/sveltekit-generator.d.ts.map +1 -1
  200. package/dist/vite-plugin/sveltekit-generator.js +5 -3
  201. package/dist/vite-plugin/sveltekit-generator.js.map +1 -1
  202. package/dist/vite-plugin/sync-apply-route.d.ts +1 -1
  203. package/dist/vite-plugin/sync-apply-route.d.ts.map +1 -1
  204. package/dist/vite-plugin/sync-apply-route.js +10 -0
  205. package/dist/vite-plugin/sync-apply-route.js.map +1 -1
  206. package/dist/vite-plugin.js +2 -2
  207. package/package.json +10 -10
package/dist/object.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import type { AITextCompletionOptions, AITool } from '@happyvertical/ai';
2
- import type { SmrtClassOptions } from './class';
3
- import { SmrtClass } from './class';
4
- import { type DatabaseErrorClassification } from './db-errors';
5
- import { type EvaluateOptions, type EvaluationResult } from './decisions';
6
- import type { GenerateEmbeddingsOptions } from './embeddings/types';
7
- import { type ToolCall, type ToolCallResult } from './tools/tool-executor';
2
+ import type { SmrtClassOptions } from "./class.js";
3
+ import { SmrtClass } from "./class.js";
4
+ import { type DatabaseErrorClassification } from "./db-errors.js";
5
+ import { type EvaluateOptions, type EvaluationResult } from "./decisions.js";
6
+ import type { GenerateEmbeddingsOptions } from "./embeddings/types.js";
7
+ import { type ToolCall, type ToolCallResult } from "./tools/tool-executor.js";
8
8
  /** Optional optimistic-concurrency guard for persisted-object saves. */
9
9
  export interface SmrtSaveOptions {
10
10
  /**
@@ -831,6 +831,7 @@ export declare class SmrtObject extends SmrtClass {
831
831
  * (plain INSERT) or `'upsert'` (natural-key upsert, identity adopted).
832
832
  */
833
833
  private writeNaturalKeyRow;
834
+ private scopePartialConflictFilter;
834
835
  /**
835
836
  * Refuse a natural-key collision with a row owned by someone else. Every
836
837
  * ownership column the stored row carries is compared; one the save leaves
@@ -1369,7 +1370,7 @@ export declare class SmrtObject extends SmrtClass {
1369
1370
  * registered field metadata. Falls back to convention (`<class>_id`) when
1370
1371
  * `sourceKey` / `targetKey` are not explicitly set.
1371
1372
  */
1372
- protected resolveManyToManyJoin(fieldName: string, relationship: import('./registry').RelationshipMetadata): Promise<{
1373
+ protected resolveManyToManyJoin(fieldName: string, relationship: import("./registry.js").RelationshipMetadata): Promise<{
1373
1374
  through: string;
1374
1375
  sourceColumn: string;
1375
1376
  targetColumn: string;
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAYzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAS,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAS,CAAC;AAOpC,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,gBAAa,CAAC;AACrB,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,gBAAa,CAAC;AAWrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAoB,CAAC;AA0BpE,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,cAAc,EACpB,MAAM,0BAAuB,CAAC;AAqL/B,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;CACnC;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;CACnC;AAoGD;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;;;;;OASG;IAEH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CACvC;AAqBD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,UAAW,SAAQ,SAAS;IACvC;;OAEG;IACI,UAAU,EAAG,MAAM,CAAC;IAE3B;;;OAGG;IACH,OAAO,CAAC,oBAAoB,CAAmC;IAE/D;;;;;;;;;OASG;IACH,OAAO,CAAC,UAAU,CAAS;IAE3B;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY,CAAuB;IAE3C,wEAAwE;IACxE,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAS;IAEjC;;;OAGG;IACY,OAAO,EAAE,iBAAiB,CAAC;IAE1C;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEzC;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAE3C;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAE9C;;OAEG;IACI,UAAU,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAQ;IAElD;;OAEG;IACI,UAAU,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAQ;IAElD;;;;;OAKG;gBACS,OAAO,GAAE,iBAAsB;IA0B3C,OAAO,CAAC,sBAAsB;IAM9B,SAAS,CAAC,oBAAoB,IAAI,MAAM;IAIxC,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAO5C,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,+BAA+B;YAczB,oBAAoB;IA0FlC;;;;OAIG;IACH,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIjC;;;;;OAKG;IACH,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED;;;;;OAKG;IACI,eAAe,IAAI,IAAI;IAI9B;;;;;;;;OAQG;IACI,mBAAmB,IAAI,IAAI;IAIlC;;;;;;;OAOG;IACI,qBAAqB,IAAI,IAAI;cAIpB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQnD;;;;;;;;OAQG;IACU,eAAe,CAAC,CAAC,EAC5B,SAAS,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GACrC,OAAO,CAAC,CAAC,CAAC;IAoCb;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAM7C;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,UAAU;IAsBlB;;;;OAIG;YACW,+BAA+B;IAiD7C;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAElC;IAED;;;;;OAKG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAKtC;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAEpC;IAED;;;;;OAKG;IACH,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAMxC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;OAKG;IACH,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAK3C;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBxC;;;;;;;;;OASG;IACH,OAAO,CAAC,2BAA2B;IAiBnC;;;;;;;;;OASG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA6JlD,4EAA4E;cAC5D,4BAA4B,CAC1C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAiCnC,+EAA+E;cAC/D,wBAAwB,CACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IA6C1C,OAAO,CAAC,cAAc;IAwBtB;;OAEG;IACH,IAAI,SAAS,WAqCZ;IAED;;;;OAIG;IAMG,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAoC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,SAAS,CAAC,aAAa,CACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI1B;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM;IA0MN;;;;;;;;;;;;;;;;;;;OAmBG;IACH,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOxC;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAgD9B;;;;;;;;;;OAUG;IACH,YAAY,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOlE;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,iBAAiB;IA2CzB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAoClC;;;;;;;;;;OAUG;IACG,KAAK;IA8BX;;;;;;;;;;;;;;;;;;;OAmBG;IACG,OAAO;IAqCb;;;;;;;;OAQG;IACG,UAAU;IAwBhB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;YACW,kBAAkB;IA+BhC;;;;OAIG;IACG,OAAO;IAKb;;;;;;;;;;;;;;;;;;;;;OAqBG;YACW,sBAAsB;IA6DpC;;;;;;;;;;;OAWG;YACW,2BAA2B;IAYzC;;;;;OAKG;IACI,qBAAqB,IAAI,OAAO;IA6BvC,2EAA2E;WAC7D,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IA4BlE;;;;;OAKG;WACiB,gBAAgB,CAClC,OAAO,EAAE,UAAU,EAAE,EACrB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,OAAO,CAAC;IA8PnB;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAIlC,yEAAyE;YAC3D,WAAW;YAgNX,YAAY;IAoD1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACG,IAAI,CAAC,OAAO,GAAE,eAAoB;IAqOxC;;;;;;;OAOG;IACG,aAAa,CAAC,iBAAiB,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6EpE;;;;;OAKG;cACa,uBAAuB,CACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;IAchB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,qBAAqB;IAe7B;;;OAGG;YACW,iBAAiB;IAoB/B;;;;;;;;OAQG;YACW,4BAA4B;IAwB1C;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;YACW,kBAAkB;IAsFhC,OAAO,CAAC,0BAA0B;IAWlC;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IA8BjC;;;;;;OAMG;YACW,cAAc;IAmC5B;;;;;;;;;OASG;YACW,qBAAqB;IA8CnC;;;;;;;;;OASG;IACH,OAAO,CAAC,qBAAqB;IAmB7B,mFAAmF;IACnF,SAAS,CAAC,4BAA4B,IAAI,SAAS,MAAM,EAAE;IAI3D;;;;;;;;;;OAUG;IACH,SAAS,CAAC,wBAAwB,CAChC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAItC;;;OAGG;cACa,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgEnD;;;;;;;;;;;OAWG;cACa,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkEzD;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAMnD;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAMhD;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,uBAAuB,CAC5B,OAAO,EAAE,MAAM,GACd,QAAQ,GAAG,UAAU,GAAG,IAAI;IAiB/B;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,+BAA+B,CACvC,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,2BAA2B,GAC1C,MAAM;IAaT;;;;;OAKG;IACH,SAAS,CAAC,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAyB9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACU,UAAU;IA4CvB;;;;;;;;;;;;;;;;;;OAkBG;IACU,YAAY;IAezB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACU,EAAE,CACb,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,kBAAkB,GAAG,eAAoB;IAsDpD;;;;;;;OAOG;IACU,QAAQ,CACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC;YAmGd,4BAA4B;IAqC1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACU,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;IAoBtE;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACU,QAAQ,CAAC,OAAO,GAAE,kBAAuB;IAoBtD;;;;;OAKG;cACa,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2DG;IACU,MAAM,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwGnE;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,6BAA6B;IAyBrC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,gCAAgC;IAkCxC;;;;;;;;;;;OAWG;IACI,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIlD;;;;;;;;;;;;;;;;OAgBG;IACI,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAItE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IAKU,WAAW,CACtB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,kBAAkB,GAExB,OAAO,CAAC,GAAG,CAAC;IAqGf;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IAGU,eAAe,CAC1B,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,kBAAkB,GAExB,OAAO,CAAC,GAAG,EAAE,CAAC;IAsHjB;;;;;;OAMG;cACa,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,OAAO,eAAY,EAAE,oBAAoB,GACtD,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IA2CF;;;;;;;;;;;;;;;;;;;;;;OAsBG;IAGU,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,kBAAkB,GAExB,OAAO,CAAC,GAAG,CAAC;IAuCf;;;;;;;;;;;;OAYG;IACI,iBAAiB,IAAI,MAAM,EAAE;IAKpC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACU,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAOzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACU,QAAQ,CAAC,OAAO,EAAE;QAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,IAAI,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACU,MAAM,CAAC,OAAO,EAAE;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACU,SAAS,CACpB,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;KACnB,GACL,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA+ChC;;;;;;;;;;;;;;;;;;OAkBG;IACU,MAAM,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAa3E;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACU,WAAW,CAAC,OAAO,EAAE;QAChC,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BnB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACU,kBAAkB,CAC7B,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,IAAI,CAAC;IAiJhB;;;;;;;;;;;;;;;;;OAiBG;IACU,YAAY,CACvB,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IA8C3B;;;;;;;;;;;;;;OAcG;IACU,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IA4EnD;;;;;;;;;;;;OAYG;IACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAW9C"}
package/dist/object.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { classifyDatabaseError, classifyDialectMessage } from "./db-errors.js";
2
+ import { isEmbeddedDatabase, isPostgresDatabase, usesEmbeddedRevisionFallback, withEmbeddedWriteQueue, withEmbeddedWriteTransaction } from "./embedded-write-queue.js";
2
3
  import { DatabaseError, ErrorUtils, RuntimeError, SmrtError, TenantIsolationError, ValidationError } from "./errors.js";
3
4
  import { toSnakeCase } from "./utils/naming.js";
4
5
  import { buildCascadePlan, cascadeReferencesTo, runCascadeDelete } from "./cascade.js";
5
6
  import { broadcastCacheInvalidation, hasCrossProcessCacheInterest, invalidateCollectionCache, resolveDbCacheKey } from "./collection-cache.js";
6
- import { isEmbeddedDatabase, isPostgresDatabase, usesEmbeddedRevisionFallback, withEmbeddedWriteQueue, withEmbeddedWriteTransaction } from "./embedded-write-queue.js";
7
7
  import { GlobalInterceptors, createInterceptorContext, resolveGetStringFilter } from "./interceptors.js";
8
8
  import { detectEngine } from "./schema/ddl/index.js";
9
9
  import { CHANGE_FEED_WAS_PERSISTED_KEY, recordInstanceChange } from "./change-feed.js";
@@ -11,14 +11,14 @@ import { assertFiniteUnitInterval } from "./decisions.js";
11
11
  import { SmrtClass } from "./class.js";
12
12
  import { EmbeddingProvider } from "./embeddings/provider.js";
13
13
  import { EmbeddingStorage } from "./embeddings/storage.js";
14
+ import { resolveOneToManyInverse, resolveRelationshipTargetName } from "./relationship-loader.js";
15
+ import { verifyPersistenceTable } from "./schema/table-verifier.js";
16
+ import { fieldsFromClass, tableNameFromClass } from "./utils.js";
14
17
  import { ContentHasher } from "./embeddings/hash.js";
15
18
  import { getBoxedPrimitiveKind, isRawJSON } from "./plain-json.js";
16
19
  import { isBatchSafeValidator } from "./registry/validator.js";
17
- import { resolveOneToManyInverse, resolveRelationshipTargetName } from "./relationship-loader.js";
18
20
  import { postgresRevisionCondition } from "./revision-guard.js";
19
- import { verifyPersistenceTable } from "./schema/table-verifier.js";
20
21
  import { executeToolCall } from "./tools/tool-executor.js";
21
- import { fieldsFromClass, tableNameFromClass } from "./utils.js";
22
22
  import { ObjectRegistry } from "./registry.js";
23
23
  import { createLogger } from "@happyvertical/logger";
24
24
  import { buildWhere } from "@happyvertical/sql";
@@ -1261,6 +1261,7 @@ var SmrtObject = class SmrtObject extends SmrtClass {
1261
1261
  }
1262
1262
  const columns = prepared[0] ? Object.keys(prepared[0].data) : [];
1263
1263
  const conflict = prepared[0]?.conflictColumns ?? [];
1264
+ if (ObjectRegistry.getConflictPredicate(first.getResolvedQualifiedName())) return false;
1264
1265
  const identities = /* @__PURE__ */ new Set();
1265
1266
  const ownershipColumns = SmrtObject.ownershipColumnsFor(first.getResolvedQualifiedName());
1266
1267
  if ([...ownershipColumns].some((column) => columns.includes(column) && !conflict.includes(column)) || columns.length * added.length > 900 || prepared.some((entry) => {
@@ -1538,7 +1539,7 @@ var SmrtObject = class SmrtObject extends SmrtClass {
1538
1539
  }
1539
1540
  if (writePlan.type === "updateById") this.setMetaType(writePlan.qualifiedMetaType);
1540
1541
  } else if (this._insertOnly && !this._persisted || insertUnderFreshSlug) await this.db.insert(this.tableName, data);
1541
- else await this.db.upsert(this.tableName, upsertConflictColumns, data);
1542
+ else await this.db.upsert(this.tableName, ObjectRegistry.getConflictPredicate(this.getResolvedQualifiedName()) ? ["id"] : upsertConflictColumns, data);
1542
1543
  } catch (error) {
1543
1544
  throw this.toTypedWriteError(error, writePlan.type === "updateById" || revisionGuard !== void 0 ? `UPDATE ${this.tableName} (id-targeted)` : this._insertOnly && !this._persisted || insertUnderFreshSlug ? `INSERT INTO ${this.tableName}` : `UPSERT INTO ${this.tableName}`);
1544
1545
  }
@@ -1689,6 +1690,7 @@ var SmrtObject = class SmrtObject extends SmrtClass {
1689
1690
  if (conflictColumns.length === 0 || conflictColumns.length === 1 && conflictColumns[0] === "id" || !conflictColumns.every((column) => Object.hasOwn(data, column)) || !conflictColumns.some((column) => data[column] == null)) return;
1690
1691
  const filter = {};
1691
1692
  for (const column of conflictColumns) filter[column] = data[column] ?? null;
1693
+ this.scopePartialConflictFilter(filter, data);
1692
1694
  const existing = await this.readNaturalKeyRow(filter);
1693
1695
  if (existing && existing.id !== data.id) {
1694
1696
  const column = conflictColumns.find((name) => data[name] != null) ?? conflictColumns[0];
@@ -1772,6 +1774,7 @@ var SmrtObject = class SmrtObject extends SmrtClass {
1772
1774
  const value = data[column];
1773
1775
  filter[column] = value === void 0 ? null : value;
1774
1776
  }
1777
+ this.scopePartialConflictFilter(filter, data);
1775
1778
  return filter;
1776
1779
  };
1777
1780
  const atomic = isPostgresDatabase(this.db) && conflictColumns.every((column) => data[column] != null);
@@ -1785,7 +1788,7 @@ var SmrtObject = class SmrtObject extends SmrtClass {
1785
1788
  const existing = await this.readNaturalKeyRow(conflictFilter);
1786
1789
  if (!existing) {
1787
1790
  if (atomic) continue;
1788
- return derived ? "insert" : "upsert";
1791
+ return derived || ObjectRegistry.getConflictPredicate(this.getResolvedQualifiedName()) ? "insert" : "upsert";
1789
1792
  }
1790
1793
  if (derived) {
1791
1794
  await this.moveToFreeDerivedSlug(data, conflictFilter, attempt > 0);
@@ -1806,6 +1809,13 @@ var SmrtObject = class SmrtObject extends SmrtClass {
1806
1809
  }
1807
1810
  throw DatabaseError.queryFailed(`INSERT INTO ${this.tableName} (natural key)`, /* @__PURE__ */ new Error("The natural key kept colliding with concurrent writes; retry the save."));
1808
1811
  }
1812
+ scopePartialConflictFilter(filter, data) {
1813
+ const className = this.getResolvedQualifiedName();
1814
+ const overrides = ObjectRegistry.getSTIConflictOverrides(className);
1815
+ if (!overrides.length) return;
1816
+ if (overrides.includes(className)) filter._meta_type = data._meta_type;
1817
+ else filter["_meta_type not in"] = overrides;
1818
+ }
1809
1819
  /**
1810
1820
  * Refuse a natural-key collision with a row owned by someone else. Every
1811
1821
  * ownership column the stored row carries is compared; one the save leaves
@@ -1846,7 +1856,9 @@ var SmrtObject = class SmrtObject extends SmrtClass {
1846
1856
  values.push(value === null ? null : value instanceof Date ? value.toISOString() : Buffer.isBuffer(value) || ArrayBuffer.isView(value) ? value : typeof value === "object" ? JSON.stringify(value) : value);
1847
1857
  }
1848
1858
  const placeholders = values.map((_, index) => `$${index + 1}`).join(", ");
1849
- return ((await this.db.query(`INSERT INTO ${quote(this.tableName)} (${columns.join(", ")}) VALUES (${placeholders}) ON CONFLICT (${conflictColumns.map(quote).join(", ")}) DO NOTHING RETURNING ${quote("id")}`, ...values))?.rows?.length ?? 0) > 0;
1859
+ const predicate = ObjectRegistry.getConflictPredicate(this.getResolvedQualifiedName());
1860
+ const conflictWhere = predicate ? ` WHERE ${predicate}` : "";
1861
+ return ((await this.db.query(`INSERT INTO ${quote(this.tableName)} (${columns.join(", ")}) VALUES (${placeholders}) ON CONFLICT (${conflictColumns.map(quote).join(", ")})${conflictWhere} DO NOTHING RETURNING ${quote("id")}`, ...values))?.rows?.length ?? 0) > 0;
1850
1862
  }
1851
1863
  /**
1852
1864
  * Moves a NEW object's taken derived slug to the first free `<base>-2` …