grafeo-ogm 2.5.4 → 2.6.1

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 (65) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/README.md +126 -1
  3. package/dist/cjs/compilers/fulltext.compiler.d.ts +17 -1
  4. package/dist/cjs/compilers/fulltext.compiler.d.ts.map +1 -1
  5. package/dist/cjs/compilers/fulltext.compiler.js +35 -3
  6. package/dist/cjs/compilers/fulltext.compiler.js.map +1 -1
  7. package/dist/cjs/compilers/mutation.compiler.d.ts +65 -2
  8. package/dist/cjs/compilers/mutation.compiler.d.ts.map +1 -1
  9. package/dist/cjs/compilers/mutation.compiler.js +249 -15
  10. package/dist/cjs/compilers/mutation.compiler.js.map +1 -1
  11. package/dist/cjs/compilers/selection.compiler.d.ts +65 -1
  12. package/dist/cjs/compilers/selection.compiler.d.ts.map +1 -1
  13. package/dist/cjs/compilers/selection.compiler.js +521 -25
  14. package/dist/cjs/compilers/selection.compiler.js.map +1 -1
  15. package/dist/cjs/compilers/where.compiler.d.ts +4 -0
  16. package/dist/cjs/compilers/where.compiler.d.ts.map +1 -1
  17. package/dist/cjs/compilers/where.compiler.js +23 -0
  18. package/dist/cjs/compilers/where.compiler.js.map +1 -1
  19. package/dist/cjs/interface-model.d.ts.map +1 -1
  20. package/dist/cjs/interface-model.js +8 -1
  21. package/dist/cjs/interface-model.js.map +1 -1
  22. package/dist/cjs/model.d.ts +33 -0
  23. package/dist/cjs/model.d.ts.map +1 -1
  24. package/dist/cjs/model.js +90 -11
  25. package/dist/cjs/model.js.map +1 -1
  26. package/dist/cjs/ogm.d.ts +14 -0
  27. package/dist/cjs/ogm.d.ts.map +1 -1
  28. package/dist/cjs/ogm.js +36 -2
  29. package/dist/cjs/ogm.js.map +1 -1
  30. package/dist/cjs/utils/strict-mode.d.ts +39 -0
  31. package/dist/cjs/utils/strict-mode.d.ts.map +1 -0
  32. package/dist/cjs/utils/strict-mode.js +59 -0
  33. package/dist/cjs/utils/strict-mode.js.map +1 -0
  34. package/dist/esm/compilers/fulltext.compiler.d.ts +17 -1
  35. package/dist/esm/compilers/fulltext.compiler.d.ts.map +1 -1
  36. package/dist/esm/compilers/fulltext.compiler.js +35 -3
  37. package/dist/esm/compilers/fulltext.compiler.js.map +1 -1
  38. package/dist/esm/compilers/mutation.compiler.d.ts +65 -2
  39. package/dist/esm/compilers/mutation.compiler.d.ts.map +1 -1
  40. package/dist/esm/compilers/mutation.compiler.js +249 -15
  41. package/dist/esm/compilers/mutation.compiler.js.map +1 -1
  42. package/dist/esm/compilers/selection.compiler.d.ts +65 -1
  43. package/dist/esm/compilers/selection.compiler.d.ts.map +1 -1
  44. package/dist/esm/compilers/selection.compiler.js +521 -25
  45. package/dist/esm/compilers/selection.compiler.js.map +1 -1
  46. package/dist/esm/compilers/where.compiler.d.ts +4 -0
  47. package/dist/esm/compilers/where.compiler.d.ts.map +1 -1
  48. package/dist/esm/compilers/where.compiler.js +23 -0
  49. package/dist/esm/compilers/where.compiler.js.map +1 -1
  50. package/dist/esm/interface-model.d.ts.map +1 -1
  51. package/dist/esm/interface-model.js +8 -1
  52. package/dist/esm/interface-model.js.map +1 -1
  53. package/dist/esm/model.d.ts +33 -0
  54. package/dist/esm/model.d.ts.map +1 -1
  55. package/dist/esm/model.js +91 -12
  56. package/dist/esm/model.js.map +1 -1
  57. package/dist/esm/ogm.d.ts +14 -0
  58. package/dist/esm/ogm.d.ts.map +1 -1
  59. package/dist/esm/ogm.js +36 -2
  60. package/dist/esm/ogm.js.map +1 -1
  61. package/dist/esm/utils/strict-mode.d.ts +39 -0
  62. package/dist/esm/utils/strict-mode.d.ts.map +1 -0
  63. package/dist/esm/utils/strict-mode.js +54 -0
  64. package/dist/esm/utils/strict-mode.js.map +1 -0
  65. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"interface-model.js","sourceRoot":"","sources":["../../src/interface-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interface-model.js","sourceRoot":"","sources":["../../src/interface-model.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { WhereCompiler } from './compilers/where.compiler';
9
9
  import { ExecutionContext, OGMLogger } from './execution/executor';
10
10
  import type { DetailedResolution, Operation, PolicyContext, PolicyDefaults, PolicyExplanation, ResolvedPolicies } from './policy/types';
11
11
  import { NodeDefinition, SchemaMetadata } from './schema/types';
12
+ import { StrictMode } from './utils/strict-mode';
12
13
  /**
13
14
  * Internal binding handed to `Model` by `OGM.withContext(ctx)`. Carries
14
15
  * the per-request ctx, a resolver function, defaults, and a logger
@@ -249,6 +250,11 @@ export interface QueryCompilers {
249
250
  where: WhereCompiler;
250
251
  selection: SelectionCompiler;
251
252
  fulltext: FulltextCompiler;
253
+ /**
254
+ * v2.6.0 — the OGM's strict-mode switch and warn-once logger, shared by
255
+ * every compiler. Optional for hand-built compiler bundles (lenient).
256
+ */
257
+ strictMode?: StrictMode;
252
258
  }
253
259
  /** Additional compilers needed for write operations (create, update, delete). */
254
260
  export interface MutationCompilers {
@@ -292,6 +298,7 @@ export declare class Model<T = any, TSelect extends Record<string, unknown> = an
292
298
  private executor;
293
299
  private policyBinding;
294
300
  private logger;
301
+ private strictMode;
295
302
  constructor(nodeDef: NodeDefinition, schema: SchemaMetadata, driver: Driver, compilers?: ModelCompilers, logger?: OGMLogger, policyBinding?: ModelPolicyBinding);
296
303
  /**
297
304
  * Build a `PolicyContextBundle` for a single operation. Returns
@@ -585,6 +592,16 @@ export declare class Model<T = any, TSelect extends Record<string, unknown> = an
585
592
  * write via `src/policy/nested-writes.ts`.
586
593
  */
587
594
  private evaluateWriteRestrictives;
595
+ /**
596
+ * v2.6.1 — the root `update` row filter on `n`, for a MERGE-based write
597
+ * (upsert, createMany with skipDuplicates) to apply to the nodes it
598
+ * MATCHES. The same clause a direct `update` puts in its WHERE
599
+ * (permissives OR-ed, restrictives AND-ed, `false` when no permissive
600
+ * applies). `undefined` when no policy is bound, a bypass is active, the
601
+ * type has no `update` policy or an override fires — the MERGE is then
602
+ * compiled exactly as before.
603
+ */
604
+ private compileUpdateGuard;
588
605
  private defaultSelection;
589
606
  /**
590
607
  * Swap the trailing `RETURN n` of a mutation/upsert statement for the
@@ -597,6 +614,22 @@ export declare class Model<T = any, TSelect extends Record<string, unknown> = an
597
614
  * projection reads, and the original tail was a bare `RETURN n`.
598
615
  */
599
616
  private stitchMutationProjection;
617
+ /**
618
+ * v2.6.1 — filter a mutation's returned rows by the root type's `read`
619
+ * policy: the write still happens, but a node the context cannot read
620
+ * (in its post-write state) is not returned, as `find` would not return
621
+ * it. Pre-2.6.1 create / update / upsert returned every node they wrote,
622
+ * so a context allowed to update (or create) a node it could not read got
623
+ * it back in full. Nested selections already applied their target read
624
+ * policies; this adds the root.
625
+ *
626
+ * Inserts `WITH n [@cypher preludes] WHERE <read clause>` before the
627
+ * trailing `RETURN n` (a WITH closes the write part, invariant 1; the
628
+ * WHERE only drops rows, invariant 2). No-op — byte-identical — when no
629
+ * policy is bound, a bypass is active, the type has no read policy or an
630
+ * override fires.
631
+ */
632
+ private applyRootReadFilter;
600
633
  /**
601
634
  * Replace the plain "RETURN n" in mutation cypher with a projected RETURN
602
635
  * when a selectionSet is provided, enabling relationship traversals.
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
package/dist/esm/model.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { int as neo4jInt } from 'neo4j-driver';
2
2
  import { FulltextCompiler } from './compilers/fulltext.compiler';
3
- import { MutationCompiler } from './compilers/mutation.compiler';
3
+ import { MutationCompiler, } from './compilers/mutation.compiler';
4
4
  import { SelectNormalizer } from './compilers/select-normalizer';
5
5
  import { SelectionCompiler, } from './compilers/selection.compiler';
6
6
  import { VectorCompiler } from './compilers/vector.compiler';
@@ -15,6 +15,7 @@ import { hashCtx, projectResolution } from './policy/resolver';
15
15
  import { NO_ROOT_POLICY } from './policy/types';
16
16
  import { CypherFieldScope } from './utils/cypher-field-projection';
17
17
  import { compileSortClause, orderBeforeProjection, } from './utils/cypher-sort-projection';
18
+ import { lenientStrictMode } from './utils/strict-mode';
18
19
  import { assertSafeIdentifier, assertSafeLabel, escapeIdentifier, mergeParams, } from './utils/validation';
19
20
  /** Type guard: checks if a fulltext input is a leaf (not a logical operator) */
20
21
  export function isFulltextLeaf(input) {
@@ -46,6 +47,7 @@ export class Model {
46
47
  this.executor = new Executor(driver, logger);
47
48
  this.policyBinding = policyBinding;
48
49
  this.logger = logger;
50
+ this.strictMode = compilers?.strictMode ?? lenientStrictMode();
49
51
  }
50
52
  /**
51
53
  * Build a `PolicyContextBundle` for a single operation. Returns
@@ -522,6 +524,12 @@ export class Model {
522
524
  entry.average = ResultMapper.convertNeo4jTypes(record.get(`${field}_avg`));
523
525
  entry.sum = ResultMapper.convertNeo4jTypes(record.get(`${field}_sum`));
524
526
  }
527
+ else if (category === 'numericList') {
528
+ // v2.6.0 — the keys the generated types declare, with no value:
529
+ // a list has no average / sum (pre-2.6.0 the query failed).
530
+ entry.average = null;
531
+ entry.sum = null;
532
+ }
525
533
  aggregateResult[field] = entry;
526
534
  }
527
535
  return aggregateResult;
@@ -574,9 +582,13 @@ export class Model {
574
582
  async upsert(params) {
575
583
  if (params.select && params.selectionSet)
576
584
  throw new OGMError('Cannot provide both "select" and "selectionSet". They are mutually exclusive.');
577
- // MERGE has no WHERE we can stitch into so we evaluate restrictives
578
- // against both `create` and `update` inputs at the application layer.
579
- // Permissive default-deny applies — see PolicyDeniedError.
585
+ // WITH CHECK restrictives are evaluated against both `create` and
586
+ // `update` inputs at the application layer. Permissive default-deny
587
+ // applies — see PolicyDeniedError. v2.6.1 — the `update` ROW filter is
588
+ // also applied, to the node the MERGE matches (`compileUpdateGuard`):
589
+ // an existing node the context cannot update is left untouched and the
590
+ // call returns null, as a direct `update` matches 0 rows. Pre-2.6.1
591
+ // only the WITH CHECK ran, so any existing node could be rewritten.
580
592
  const updatePolicy = this.resolvePolicyContext('update', params.unsafe);
581
593
  const createPolicy = this.resolvePolicyContext('create', params.unsafe);
582
594
  this.assertNotDeniedAtCompile(updatePolicy, 'update');
@@ -590,10 +602,10 @@ export class Model {
590
602
  });
591
603
  this.evaluateWriteRestrictives(updatePolicy, 'update', params.update);
592
604
  this.evaluateWriteRestrictives(createPolicy, 'create', params.create);
593
- const { cypher, params: mergeParams } = this.mutationCompiler.compileMerge(params.where, params.create, params.update, this.nodeDef, params.labels);
594
- // Shared counter so the selection's connection-where params don't collide
595
- // with anything already in mergeParams.
605
+ // Shared counter so the update guard's and the selection's params don't
606
+ // collide with anything already in mergeParams.
596
607
  const paramCounter = { count: 0 };
608
+ const { cypher, params: mergeParams } = this.mutationCompiler.compileMerge(params.where, params.create, params.update, this.nodeDef, params.labels, this.compileUpdateGuard(updatePolicy, paramCounter, ['__matched']));
597
609
  const readPolicyContext = this.resolvePolicyContext('read', params.unsafe);
598
610
  let finalCypher;
599
611
  if (params.select)
@@ -608,7 +620,20 @@ export class Model {
608
620
  async createMany(params) {
609
621
  const policyContext = this.resolvePolicyContext('create', params.unsafe);
610
622
  this.evaluateCreatePolicies(policyContext, params.data);
611
- const { cypher, params: mutParams } = this.mutationCompiler.compileCreateMany(params.data, this.nodeDef, params.skipDuplicates, params.labels);
623
+ // v2.6.1 — with skipDuplicates, default-mode `labels` are also SET on
624
+ // the EXISTING nodes the MERGE matches: a label change, gated by the
625
+ // `update` row filter as `setLabels` is. Pre-2.6.1 every matched node
626
+ // was relabelled. No compile-time throw: the call is a create, and a
627
+ // context without an update permissive simply relabels no matched node.
628
+ // (`policyContext` is null exactly when no policy is bound or a bypass
629
+ // is active, so the update bundle is resolved only when it can apply.)
630
+ const updateGuard = policyContext &&
631
+ params.skipDuplicates &&
632
+ params.labels &&
633
+ params.labels.length > 0
634
+ ? this.compileUpdateGuard(this.resolvePolicyContext('update', params.unsafe), { count: 0 })
635
+ : undefined;
636
+ const { cypher, params: mutParams } = this.mutationCompiler.compileCreateMany(params.data, this.nodeDef, params.skipDuplicates, params.labels, updateGuard);
612
637
  const result = await this.executor.execute(cypher, mutParams, this.withAuditMetadata(params.context, policyContext, 'create', Boolean(params.unsafe?.bypassPolicies)));
613
638
  // v2.5.0 — with skipDuplicates the MERGE row count includes the
614
639
  // existing nodes it matched, so the count comes from the write counters:
@@ -791,12 +816,18 @@ export class Model {
791
816
  const selStr = typeof selectionSet === 'string'
792
817
  ? selectionSet
793
818
  : (selectionSet.loc?.source?.body ?? String(selectionSet));
794
- const cached = Model._selectionCache.get(selStr);
795
- if (cached)
819
+ // v2.6.0 — strict mode parses some selectionSets differently, and this
820
+ // cache is shared by every OGM, so strict entries get their own key.
821
+ // Default-mode keys are unchanged.
822
+ const cacheKey = this.strictMode.strict ? `strict\u0000${selStr}` : selStr;
823
+ const cached = Model._selectionCache.get(cacheKey);
824
+ if (cached) {
825
+ this.selectionCompiler.replayParseWarnings(cached);
796
826
  return cached;
827
+ }
797
828
  const parsed = this.selectionCompiler.parseSelectionSet(selStr);
798
829
  if (Model._selectionCache.size < 500)
799
- Model._selectionCache.set(selStr, parsed);
830
+ Model._selectionCache.set(cacheKey, parsed);
800
831
  return parsed;
801
832
  }
802
833
  /**
@@ -827,6 +858,21 @@ export class Model {
827
858
  evaluateWriteRestrictives(bundle, operation, input) {
828
859
  evaluateWriteRestrictives(bundle, this.nodeDef.typeName, operation, input);
829
860
  }
861
+ /**
862
+ * v2.6.1 — the root `update` row filter on `n`, for a MERGE-based write
863
+ * (upsert, createMany with skipDuplicates) to apply to the nodes it
864
+ * MATCHES. The same clause a direct `update` puts in its WHERE
865
+ * (permissives OR-ed, restrictives AND-ed, `false` when no permissive
866
+ * applies). `undefined` when no policy is bound, a bypass is active, the
867
+ * type has no `update` policy or an override fires — the MERGE is then
868
+ * compiled exactly as before.
869
+ */
870
+ compileUpdateGuard(bundle, paramCounter, preserveVars = []) {
871
+ if (!bundle)
872
+ return undefined;
873
+ const guard = this.whereCompiler.compile(undefined, 'n', this.nodeDef, paramCounter, { policyContext: bundle, preserveVars });
874
+ return guard.cypher ? guard : undefined;
875
+ }
830
876
  defaultSelection() {
831
877
  if (this._defaultSelection)
832
878
  return this._defaultSelection;
@@ -879,6 +925,33 @@ export class Model {
879
925
  : `RETURN ${returnClause}`;
880
926
  return cypher.replace(/RETURN n\s*$/, replacement);
881
927
  }
928
+ /**
929
+ * v2.6.1 — filter a mutation's returned rows by the root type's `read`
930
+ * policy: the write still happens, but a node the context cannot read
931
+ * (in its post-write state) is not returned, as `find` would not return
932
+ * it. Pre-2.6.1 create / update / upsert returned every node they wrote,
933
+ * so a context allowed to update (or create) a node it could not read got
934
+ * it back in full. Nested selections already applied their target read
935
+ * policies; this adds the root.
936
+ *
937
+ * Inserts `WITH n [@cypher preludes] WHERE <read clause>` before the
938
+ * trailing `RETURN n` (a WITH closes the write part, invariant 1; the
939
+ * WHERE only drops rows, invariant 2). No-op — byte-identical — when no
940
+ * policy is bound, a bypass is active, the type has no read policy or an
941
+ * override fires.
942
+ */
943
+ applyRootReadFilter(cypher, params, paramCounter, policyContext) {
944
+ if (!policyContext)
945
+ return cypher;
946
+ const read = this.whereCompiler.compile(undefined, 'n', this.nodeDef, paramCounter, { policyContext });
947
+ if (!read.cypher)
948
+ return cypher;
949
+ mergeParams(params, read.params);
950
+ const lines = ['WITH n', ...(read.preludes ?? []), `WHERE ${read.cypher}`];
951
+ // A replacer function: the clause holds `$param` text, which a
952
+ // replacement STRING would scan for `$&`-style patterns.
953
+ return cypher.replace(/RETURN n\s*$/, () => `${lines.join('\n')}\nRETURN n`);
954
+ }
882
955
  /**
883
956
  * Replace the plain "RETURN n" in mutation cypher with a projected RETURN
884
957
  * when a selectionSet is provided, enabling relationship traversals.
@@ -887,6 +960,7 @@ export class Model {
887
960
  * CALL preludes are stitched immediately before the new RETURN.
888
961
  */
889
962
  applySelectionSetToMutation(cypher, selectionSet, params, paramCounter, policyContext = null) {
963
+ cypher = this.applyRootReadFilter(cypher, params, paramCounter, policyContext);
890
964
  let selection;
891
965
  if (selectionSet) {
892
966
  selection = this.parseSelectionSetCached(selectionSet);
@@ -928,6 +1002,7 @@ export class Model {
928
1002
  * Only projects entity fields when select[pluralName] is present.
929
1003
  */
930
1004
  applySelectToMutation(cypher, select, params, paramCounter, policyContext = null) {
1005
+ cypher = this.applyRootReadFilter(cypher, params, paramCounter, policyContext);
931
1006
  const entitySelect = select[this.nodeDef.pluralName];
932
1007
  // v1.8.4 — when typed select doesn't request the entity field
933
1008
  // (e.g., `select: { info: {...} }` only), pre-1.8.4 left a bare
@@ -966,6 +1041,7 @@ export class Model {
966
1041
  * Replace "RETURN n" in upsert cypher with a projected RETURN clause.
967
1042
  */
968
1043
  applySelectionSetToUpsert(cypher, selectionSet, params, paramCounter, policyContext = null) {
1044
+ cypher = this.applyRootReadFilter(cypher, params, paramCounter, policyContext);
969
1045
  // v1.8.4 — symmetric with `applySelectionSetToMutation`: project
970
1046
  // via `defaultSelection()` (which includes `__typename`) when no
971
1047
  // selectionSet is provided, instead of leaving the bare `RETURN n`.
@@ -980,6 +1056,7 @@ export class Model {
980
1056
  * Apply a type-safe `select` object to an upsert's RETURN clause.
981
1057
  */
982
1058
  applySelectToUpsert(cypher, select, params, paramCounter, policyContext = null) {
1059
+ cypher = this.applyRootReadFilter(cypher, params, paramCounter, policyContext);
983
1060
  const selection = this.selectNormalizer.normalize(select, this.nodeDef);
984
1061
  const selectScope = new CypherFieldScope('n', [], '__sel');
985
1062
  const returnClause = this.selectionCompiler.compile(selection, 'n', this.nodeDef, this._maxDepth, 0, params, paramCounter, selectScope, policyContext);
@@ -1036,7 +1113,9 @@ function resolveFieldAggregateCategory(fieldName, nodeDef) {
1036
1113
  if (!prop)
1037
1114
  return 'other';
1038
1115
  if (prop.type === 'Int' || prop.type === 'Float')
1039
- return 'numeric';
1116
+ // v2.6.0 — an `[Int]` / `[Float]` list has no avg / sum: the server
1117
+ // rejects `avg(n.list)`, which failed the whole aggregate query.
1118
+ return prop.isArray ? 'numericList' : 'numeric';
1040
1119
  if (prop.type === 'DateTime' ||
1041
1120
  prop.type === 'Date' ||
1042
1121
  prop.type === 'Time' ||