grafeo-ogm 2.1.1 → 2.2.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 (59) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +49 -0
  3. package/dist/cjs/compilers/where.compiler.d.ts +83 -6
  4. package/dist/cjs/compilers/where.compiler.d.ts.map +1 -1
  5. package/dist/cjs/compilers/where.compiler.js +155 -75
  6. package/dist/cjs/compilers/where.compiler.js.map +1 -1
  7. package/dist/cjs/execution/executor.d.ts +11 -1
  8. package/dist/cjs/execution/executor.d.ts.map +1 -1
  9. package/dist/cjs/execution/executor.js +6 -3
  10. package/dist/cjs/execution/executor.js.map +1 -1
  11. package/dist/cjs/index.d.ts +2 -2
  12. package/dist/cjs/index.d.ts.map +1 -1
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/model.d.ts +38 -1
  15. package/dist/cjs/model.d.ts.map +1 -1
  16. package/dist/cjs/model.js +120 -2
  17. package/dist/cjs/model.js.map +1 -1
  18. package/dist/cjs/ogm.d.ts.map +1 -1
  19. package/dist/cjs/ogm.js +1 -0
  20. package/dist/cjs/ogm.js.map +1 -1
  21. package/dist/cjs/policy/explain.d.ts +59 -0
  22. package/dist/cjs/policy/explain.d.ts.map +1 -0
  23. package/dist/cjs/policy/explain.js +175 -0
  24. package/dist/cjs/policy/explain.js.map +1 -0
  25. package/dist/cjs/policy/resolver.d.ts +26 -2
  26. package/dist/cjs/policy/resolver.d.ts.map +1 -1
  27. package/dist/cjs/policy/resolver.js +103 -33
  28. package/dist/cjs/policy/resolver.js.map +1 -1
  29. package/dist/cjs/policy/types.d.ts +87 -0
  30. package/dist/cjs/policy/types.d.ts.map +1 -1
  31. package/dist/esm/compilers/where.compiler.d.ts +83 -6
  32. package/dist/esm/compilers/where.compiler.d.ts.map +1 -1
  33. package/dist/esm/compilers/where.compiler.js +154 -75
  34. package/dist/esm/compilers/where.compiler.js.map +1 -1
  35. package/dist/esm/execution/executor.d.ts +11 -1
  36. package/dist/esm/execution/executor.d.ts.map +1 -1
  37. package/dist/esm/execution/executor.js +6 -3
  38. package/dist/esm/execution/executor.js.map +1 -1
  39. package/dist/esm/index.d.ts +2 -2
  40. package/dist/esm/index.d.ts.map +1 -1
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/model.d.ts +38 -1
  43. package/dist/esm/model.d.ts.map +1 -1
  44. package/dist/esm/model.js +121 -3
  45. package/dist/esm/model.js.map +1 -1
  46. package/dist/esm/ogm.d.ts.map +1 -1
  47. package/dist/esm/ogm.js +1 -0
  48. package/dist/esm/ogm.js.map +1 -1
  49. package/dist/esm/policy/explain.d.ts +59 -0
  50. package/dist/esm/policy/explain.d.ts.map +1 -0
  51. package/dist/esm/policy/explain.js +169 -0
  52. package/dist/esm/policy/explain.js.map +1 -0
  53. package/dist/esm/policy/resolver.d.ts +26 -2
  54. package/dist/esm/policy/resolver.d.ts.map +1 -1
  55. package/dist/esm/policy/resolver.js +102 -33
  56. package/dist/esm/policy/resolver.js.map +1 -1
  57. package/dist/esm/policy/types.d.ts +87 -0
  58. package/dist/esm/policy/types.d.ts.map +1 -1
  59. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"where.compiler.js","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"where.compiler.js","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,16 @@ export interface ExecutionContext {
33
33
  */
34
34
  metadata?: Record<string, unknown>;
35
35
  }
36
+ /** Per-call execution options that are not part of `ExecutionContext`. */
37
+ export interface ExecuteOptions {
38
+ /**
39
+ * Access mode for the auto-commit session the executor opens itself.
40
+ * `'READ'` makes the server reject any write in the statement. Ignored
41
+ * when the caller supplies a `transaction` / `session` — the caller
42
+ * owns the access mode of those. Omitted → the driver default.
43
+ */
44
+ accessMode?: 'READ' | 'WRITE';
45
+ }
36
46
  /**
37
47
  * Executes Cypher queries against Neo4j, using either a provided
38
48
  * transaction or an auto-commit session.
@@ -47,7 +57,7 @@ export declare class Executor {
47
57
  * Execute a Cypher query, using either the provided transaction
48
58
  * or a new auto-commit session.
49
59
  */
50
- execute(cypher: string, params: Record<string, unknown>, context?: ExecutionContext): Promise<QueryResult>;
60
+ execute(cypher: string, params: Record<string, unknown>, context?: ExecutionContext, options?: ExecuteOptions): Promise<QueryResult>;
51
61
  /**
52
62
  * Attach OGM-managed metadata to an existing transaction. Failures
53
63
  * (older drivers without `setMetaData`, or already-finished tx) are
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/execution/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAKD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sGAAsG;IACtG,gBAAgB,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAAC;IACpD,oDAAoD;IACpD,WAAW,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAAC;IAC/C,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,qBAAa,QAAQ;IAOjB,OAAO,CAAC,MAAM;IANhB,2CAA2C;IAC3C,MAAM,CAAC,KAAK,UAAS;IAErB,OAAO,CAAC,MAAM,CAAY;gBAGhB,MAAM,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,SAAS;IAKpB;;;OAGG;IACG,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,WAAW,CAAC;IAuCvB;;;;OAIG;IACH,OAAO,CAAC,cAAc;CAkBvB"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/execution/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAKD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sGAAsG;IACtG,gBAAgB,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAAC;IACpD,oDAAoD;IACpD,WAAW,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAAC;IAC/C,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,0EAA0E;AAC1E,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,QAAQ;IAOjB,OAAO,CAAC,MAAM;IANhB,2CAA2C;IAC3C,MAAM,CAAC,KAAK,UAAS;IAErB,OAAO,CAAC,MAAM,CAAY;gBAGhB,MAAM,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,SAAS;IAKpB;;;OAGG;IACG,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE,gBAAgB,EAC1B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC;IA0CvB;;;;OAIG;IACH,OAAO,CAAC,cAAc;CAkBvB"}
@@ -16,7 +16,7 @@ class Executor {
16
16
  * Execute a Cypher query, using either the provided transaction
17
17
  * or a new auto-commit session.
18
18
  */
19
- async execute(cypher, params, context) {
19
+ async execute(cypher, params, context, options) {
20
20
  if (Executor.debug) {
21
21
  this.logger.debug('[OGM] Cypher: %s', cypher);
22
22
  this.logger.debug('[OGM] Params: %s', JSON.stringify(params, null, 2));
@@ -32,8 +32,11 @@ class Executor {
32
32
  return context.metadata
33
33
  ? context.session.run(cypher, params, { metadata: context.metadata })
34
34
  : context.session.run(cypher, params);
35
- // Auto-commit session
36
- const session = this.driver.session();
35
+ // Auto-commit session. The no-arg call is kept verbatim when no
36
+ // access mode is requested so the default path is unchanged.
37
+ const session = options?.accessMode
38
+ ? this.driver.session({ defaultAccessMode: options.accessMode })
39
+ : this.driver.session();
37
40
  try {
38
41
  const result = context?.metadata
39
42
  ? await session.run(cypher, params, { metadata: context.metadata })
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/execution/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/execution/executor.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export type { InterfaceModelInterface } from './interface-model';
9
9
  export { OGMError, RecordNotFoundError, SubgraphOperationError, } from './errors';
10
10
  export { PolicyDeniedError } from './policy/errors';
11
11
  export { override, permissive, restrictive, isReadRestrictive, isWriteRestrictive, } from './policy/types';
12
- export type { Policy, OverridePolicy, PermissivePolicy, RestrictivePolicy, ReadRestrictivePolicy, WriteRestrictivePolicy, PolicyContext, PolicyContextBundle, Operation, OperationOrWildcard, ReadOperation, WriteOperation, PoliciesByModel, PolicyDefaults, ResolvedPolicies, } from './policy/types';
12
+ export type { Policy, OverridePolicy, PermissivePolicy, RestrictivePolicy, ReadRestrictivePolicy, WriteRestrictivePolicy, PolicyContext, PolicyContextBundle, Operation, OperationOrWildcard, ReadOperation, WriteOperation, PoliciesByModel, PolicyDefaults, ResolvedPolicies, PolicyClauseOutcome, PolicyClauseExplanation, PolicyExplanation, } from './policy/types';
13
13
  export type { SchemaMetadata, NodeDefinition, InterfaceDefinition, RelationshipDefinition, RelationshipPropertiesDefinition, PropertyDefinition, FulltextIndex, VectorIndex, Neo4jValue, WhereInput, MutationInput, } from './schema/types';
14
14
  export { parseSchema, pluralize } from './schema/parser';
15
15
  export { clearResolveTargetDefCache } from './schema/utils';
@@ -24,7 +24,7 @@ export { FulltextCompiler } from './compilers/fulltext.compiler';
24
24
  export { VectorCompiler } from './compilers/vector.compiler';
25
25
  export type { VectorResult } from './compilers/vector.compiler';
26
26
  export { Executor } from './execution/executor';
27
- export type { ExecutionContext, OGMLogger } from './execution/executor';
27
+ export type { ExecuteOptions, ExecutionContext, OGMLogger, } from './execution/executor';
28
28
  export { ResultMapper } from './execution/result-mapper';
29
29
  export { generateTypes } from './generator';
30
30
  export type { GenerateTypesOptions, GenerateTypesConfig, GenerateTypesResult, GeneratorWarning, } from './generator';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACf,6BAA4C;AAAnC,0FAAA,GAAG,OAAA;AAAE,qGAAA,cAAc,OAAA;AAE5B,kCAAkC;AAClC,6BAA2C;AAAlC,kGAAA,GAAG,OAAe;AAC3B,iCAAsE;AAA7D,8FAAA,KAAK,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAWpD,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAGvB,SAAS;AACT,mCAIkB;AAHhB,kGAAA,QAAQ,OAAA;AACR,6GAAA,mBAAmB,OAAA;AACnB,gHAAA,sBAAsB,OAAA;AAExB,0CAAoD;AAA3C,2GAAA,iBAAiB,OAAA;AAE1B,iCAAiC;AACjC,wCAMwB;AALtB,iGAAA,QAAQ,OAAA;AACR,mGAAA,UAAU,OAAA;AACV,oGAAA,WAAW,OAAA;AACX,0GAAA,iBAAiB,OAAA;AACjB,2GAAA,kBAAkB,OAAA;AAmCpB,gBAAgB;AAChB,0CAAyD;AAAhD,qGAAA,WAAW,OAAA;AAAE,mGAAA,SAAS,OAAA;AAE/B,eAAe;AACf,wCAA4D;AAAnD,mHAAA,0BAA0B,OAAA;AAEnC,yCAAyC;AACzC,6DAA2D;AAAlD,+GAAA,aAAa,OAAA;AAKtB,qEAAmE;AAA1D,uHAAA,iBAAiB,OAAA;AAE1B,mEAAiE;AAAxD,qHAAA,gBAAgB,OAAA;AACzB,mEAAiE;AAAxD,qHAAA,gBAAgB,OAAA;AAEzB,mEAAiE;AAAxD,qHAAA,gBAAgB,OAAA;AACzB,+DAA6D;AAApD,iHAAA,cAAc,OAAA;AAGvB,YAAY;AACZ,iDAAgD;AAAvC,oGAAA,QAAQ,OAAA;AAEjB,2DAAyD;AAAhD,6GAAA,YAAY,OAAA;AAErB,iBAAiB;AACjB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AAQtB,sBAAsB;AACtB,uCAA2D;AAAlD,yGAAA,aAAa,OAAA;AAAE,0GAAA,cAAc,OAAA;AAQtC,QAAQ;AACR,yCAAqD;AAA5C,6GAAA,mBAAmB,OAAA;AAC5B,iDAK4B;AAJ1B,kHAAA,oBAAoB,OAAA;AACpB,6GAAA,eAAe,OAAA;AACf,iHAAA,mBAAmB,OAAA;AACnB,8GAAA,gBAAgB,OAAA;AAGlB,mEAAmE;AACnE,qEAAqE;AACrE,+DAA+D;AAC/D,gEAAgE;AAChE,iEAAiE;AACjE,kEAAkE;AAClE,qDAAqD;AACrD,qCAImB;AAHjB,uGAAA,YAAY,OAAA;AACZ,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AAGrB,4EAA4E;AAC5E,4EAA4E;AAC5E,sEAAsE;AACtE,qCAA2C;AAAlC,qGAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACf,6BAA4C;AAAnC,0FAAA,GAAG,OAAA;AAAE,qGAAA,cAAc,OAAA;AAE5B,kCAAkC;AAClC,6BAA2C;AAAlC,kGAAA,GAAG,OAAe;AAC3B,iCAAsE;AAA7D,8FAAA,KAAK,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAWpD,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAGvB,SAAS;AACT,mCAIkB;AAHhB,kGAAA,QAAQ,OAAA;AACR,6GAAA,mBAAmB,OAAA;AACnB,gHAAA,sBAAsB,OAAA;AAExB,0CAAoD;AAA3C,2GAAA,iBAAiB,OAAA;AAE1B,iCAAiC;AACjC,wCAMwB;AALtB,iGAAA,QAAQ,OAAA;AACR,mGAAA,UAAU,OAAA;AACV,oGAAA,WAAW,OAAA;AACX,0GAAA,iBAAiB,OAAA;AACjB,2GAAA,kBAAkB,OAAA;AAsCpB,gBAAgB;AAChB,0CAAyD;AAAhD,qGAAA,WAAW,OAAA;AAAE,mGAAA,SAAS,OAAA;AAE/B,eAAe;AACf,wCAA4D;AAAnD,mHAAA,0BAA0B,OAAA;AAEnC,yCAAyC;AACzC,6DAA2D;AAAlD,+GAAA,aAAa,OAAA;AAKtB,qEAAmE;AAA1D,uHAAA,iBAAiB,OAAA;AAE1B,mEAAiE;AAAxD,qHAAA,gBAAgB,OAAA;AACzB,mEAAiE;AAAxD,qHAAA,gBAAgB,OAAA;AAEzB,mEAAiE;AAAxD,qHAAA,gBAAgB,OAAA;AACzB,+DAA6D;AAApD,iHAAA,cAAc,OAAA;AAGvB,YAAY;AACZ,iDAAgD;AAAvC,oGAAA,QAAQ,OAAA;AAMjB,2DAAyD;AAAhD,6GAAA,YAAY,OAAA;AAErB,iBAAiB;AACjB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AAQtB,sBAAsB;AACtB,uCAA2D;AAAlD,yGAAA,aAAa,OAAA;AAAE,0GAAA,cAAc,OAAA;AAQtC,QAAQ;AACR,yCAAqD;AAA5C,6GAAA,mBAAmB,OAAA;AAC5B,iDAK4B;AAJ1B,kHAAA,oBAAoB,OAAA;AACpB,6GAAA,eAAe,OAAA;AACf,iHAAA,mBAAmB,OAAA;AACnB,8GAAA,gBAAgB,OAAA;AAGlB,mEAAmE;AACnE,qEAAqE;AACrE,+DAA+D;AAC/D,gEAAgE;AAChE,iEAAiE;AACjE,kEAAkE;AAClE,qDAAqD;AACrD,qCAImB;AAHjB,uGAAA,YAAY,OAAA;AACZ,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AAGrB,4EAA4E;AAC5E,4EAA4E;AAC5E,sEAAsE;AACtE,qCAA2C;AAAlC,qGAAA,YAAY,OAAA"}
@@ -7,7 +7,7 @@ import { SelectionCompiler } from './compilers/selection.compiler';
7
7
  import { VectorCompiler } from './compilers/vector.compiler';
8
8
  import { WhereCompiler } from './compilers/where.compiler';
9
9
  import { ExecutionContext, OGMLogger } from './execution/executor';
10
- import type { Operation, PolicyContext, PolicyDefaults, ResolvedPolicies } from './policy/types';
10
+ import type { DetailedResolution, Operation, PolicyContext, PolicyDefaults, PolicyExplanation, ResolvedPolicies } from './policy/types';
11
11
  import { NodeDefinition, SchemaMetadata } from './schema/types';
12
12
  /**
13
13
  * Internal binding handed to `Model` by `OGM.withContext(ctx)`. Carries
@@ -19,6 +19,11 @@ import { NodeDefinition, SchemaMetadata } from './schema/types';
19
19
  export interface ModelPolicyBinding {
20
20
  ctx: PolicyContext;
21
21
  resolve: (typeName: string, op: Operation, ctx: PolicyContext) => ResolvedPolicies | null;
22
+ /**
23
+ * Full resolution (nothing dropped) for `explainPolicies`. Optional so
24
+ * hand-built bindings stay valid; `OGMWithContext` always supplies it.
25
+ */
26
+ resolveDetailed?: (typeName: string, op: Operation, ctx: PolicyContext) => DetailedResolution | null;
22
27
  defaults: PolicyDefaults;
23
28
  logger?: OGMLogger;
24
29
  /** Set when this binding belongs to a `unsafe.bypassPolicies()` OGM. */
@@ -322,6 +327,38 @@ export declare class Model<T = any, TSelect extends Record<string, unknown> = an
322
327
  context?: ExecutionContext;
323
328
  unsafe?: UnsafeOptions;
324
329
  }): Promise<T[]>;
330
+ /**
331
+ * Explain, per candidate node, the outcome of every `read` policy that
332
+ * `find` would enforce for this model's bound context (GitHub issue #6).
333
+ *
334
+ * **This is a deliberate policy bypass.** Candidates are selected by
335
+ * `where` / `labels` exactly as `find` selects them, but the root policy
336
+ * predicate is REPORTED instead of applied — nodes the bound context
337
+ * cannot see ARE returned, with `visible: false`. Use it only on
338
+ * admin-only diagnostic paths. Every call logs a `warn` and is tagged
339
+ * `explain: true` in transaction metadata, even with
340
+ * `auditMetadata: false`.
341
+ *
342
+ * - `visible` is the exact enforcement verdict: the query projects the
343
+ * same composed predicate `find` puts in its WHERE, and the verdict
344
+ * recomputed from the per-policy outcomes must agree with it or the
345
+ * call throws — it never returns a possibly-wrong explanation.
346
+ * - Relationships in the selection are still filtered by their own
347
+ * target-type policies, exactly as in `find`; only the root type's
348
+ * policies are explained.
349
+ * - When the executor opens its own session it is READ-mode, so the
350
+ * server rejects any write. A caller-supplied `transaction` /
351
+ * `session` is used as-is — the caller owns its access mode.
352
+ * - `options.limit` defaults to 100 and may not exceed 1,000.
353
+ */
354
+ explainPolicies(params?: {
355
+ where?: TWhere;
356
+ selectionSet?: string | DocumentNode;
357
+ select?: TSelect;
358
+ labels?: string[];
359
+ options?: FindOptions<TSort>;
360
+ context?: ExecutionContext;
361
+ }): Promise<PolicyExplanation<T>[]>;
325
362
  create(params: {
326
363
  input: TCreateInput[];
327
364
  labels?: string[];
@@ -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/cjs/model.js CHANGED
@@ -14,6 +14,7 @@ const errors_1 = require("./errors");
14
14
  const executor_1 = require("./execution/executor");
15
15
  const result_mapper_1 = require("./execution/result-mapper");
16
16
  const errors_2 = require("./policy/errors");
17
+ const explain_1 = require("./policy/explain");
17
18
  const resolver_1 = require("./policy/resolver");
18
19
  const types_1 = require("./policy/types");
19
20
  const cypher_field_projection_1 = require("./utils/cypher-field-projection");
@@ -107,11 +108,17 @@ class Model {
107
108
  * Build `ExecutionContext` with audit metadata when policies are
108
109
  * configured. Preserves the user's transaction/session selection.
109
110
  */
110
- withAuditMetadata(context, bundle, operation, bypassed) {
111
+ withAuditMetadata(context, bundle, operation, bypassed,
112
+ /**
113
+ * `explainPolicies` call — tags `explain: true` and, like a global
114
+ * bypass, is ALWAYS recorded even with `auditMetadata: false`.
115
+ */
116
+ explain = false) {
111
117
  if (!this.policyBinding)
112
118
  return context;
113
119
  if (this.policyBinding.defaults.auditMetadata === false &&
114
- !this.policyBinding.globalBypass)
120
+ !this.policyBinding.globalBypass &&
121
+ !explain)
115
122
  return context;
116
123
  const evaluated = bundle?.resolved.evaluated ?? [];
117
124
  const metadata = {
@@ -122,6 +129,8 @@ class Model {
122
129
  policiesEvaluated: [...evaluated],
123
130
  bypassed,
124
131
  };
132
+ if (explain)
133
+ metadata.explain = true;
125
134
  if (context?.metadata)
126
135
  return { ...context, metadata: { ...context.metadata, ...metadata } };
127
136
  if (context)
@@ -229,6 +238,115 @@ class Model {
229
238
  const result = await this.executor.execute(cypher, allParams, this.withAuditMetadata(params?.context, policyContext, 'read', Boolean(params?.unsafe?.bypassPolicies)));
230
239
  return result_mapper_1.ResultMapper.mapRecords(result.records, 'n');
231
240
  }
241
+ // --- explainPolicies ------------------------------------------------------
242
+ /**
243
+ * Explain, per candidate node, the outcome of every `read` policy that
244
+ * `find` would enforce for this model's bound context (GitHub issue #6).
245
+ *
246
+ * **This is a deliberate policy bypass.** Candidates are selected by
247
+ * `where` / `labels` exactly as `find` selects them, but the root policy
248
+ * predicate is REPORTED instead of applied — nodes the bound context
249
+ * cannot see ARE returned, with `visible: false`. Use it only on
250
+ * admin-only diagnostic paths. Every call logs a `warn` and is tagged
251
+ * `explain: true` in transaction metadata, even with
252
+ * `auditMetadata: false`.
253
+ *
254
+ * - `visible` is the exact enforcement verdict: the query projects the
255
+ * same composed predicate `find` puts in its WHERE, and the verdict
256
+ * recomputed from the per-policy outcomes must agree with it or the
257
+ * call throws — it never returns a possibly-wrong explanation.
258
+ * - Relationships in the selection are still filtered by their own
259
+ * target-type policies, exactly as in `find`; only the root type's
260
+ * policies are explained.
261
+ * - When the executor opens its own session it is READ-mode, so the
262
+ * server rejects any write. A caller-supplied `transaction` /
263
+ * `session` is used as-is — the caller owns its access mode.
264
+ * - `options.limit` defaults to 100 and may not exceed 1,000.
265
+ */
266
+ async explainPolicies(params) {
267
+ if (params?.select && params?.selectionSet)
268
+ throw new errors_1.OGMError('Cannot provide both "select" and "selectionSet". They are mutually exclusive.');
269
+ const binding = this.policyBinding;
270
+ if (binding?.globalBypass)
271
+ throw new errors_1.OGMError('explainPolicies cannot run on a policy-bypassed OGM (ogm.unsafe.bypassPolicies()): there are no enforced policies to explain.');
272
+ const resolveDetailed = binding?.resolveDetailed;
273
+ if (!binding || !resolveDetailed)
274
+ throw new errors_1.OGMError(`explainPolicies requires a policy-bound model. Obtain it via ogm.withContext(ctx).model('${this.nodeDef.typeName}').`);
275
+ const limit = (0, explain_1.resolveExplainLimit)(params?.options?.limit);
276
+ if (this.logger?.warn)
277
+ this.logger.warn('[OGM] explainPolicies on type "%s" returns rows regardless of policy outcome (diagnostic policy bypass)', this.nodeDef.typeName);
278
+ // Resolve ONCE and derive the compile input from the same object the
279
+ // report is built from — keeps fragments aligned with entries.
280
+ const ctx = binding.ctx;
281
+ const detailed = resolveDetailed(this.nodeDef.typeName, 'read', ctx);
282
+ const policyContext = detailed
283
+ ? {
284
+ ctx,
285
+ operation: 'read',
286
+ resolved: (0, resolver_1.projectResolution)(detailed),
287
+ defaults: binding.defaults,
288
+ resolveForType: (typeName, targetOp) => binding.resolve(typeName, targetOp, ctx),
289
+ }
290
+ : null;
291
+ const cypherParts = [];
292
+ const allParams = {};
293
+ const paramCounter = { count: 0 };
294
+ const selection = this.resolveSelection(params ?? {});
295
+ const validatedLabels = (params?.labels ?? []).map((l) => (0, validation_1.assertSafeLabel)(l));
296
+ const labels = [(0, validation_1.escapeIdentifier)(this.nodeDef.label), ...validatedLabels];
297
+ cypherParts.push(`MATCH (n:${labels.join(':')})`);
298
+ // Candidate WHERE — compiled exactly as `find` compiles it (same
299
+ // order, counter, prelude scope, policy-aware traversal), with the
300
+ // root policy clause returned separately instead of AND-stitched.
301
+ let userCypher;
302
+ let policyClause = null;
303
+ let fragments = null;
304
+ if (policyContext) {
305
+ const where = this.whereCompiler.compileForExplain(params?.where, 'n', this.nodeDef, paramCounter, policyContext);
306
+ if (where.preludes.length > 0)
307
+ cypherParts.push(...where.preludes);
308
+ (0, validation_1.mergeParams)(allParams, where.params);
309
+ userCypher = where.userCypher;
310
+ policyClause = where.policy?.clause ?? null;
311
+ fragments = where.policy?.fragments ?? null;
312
+ }
313
+ else {
314
+ // No policy registered for this type — `find` compiles without a
315
+ // policy context too.
316
+ const where = this.whereCompiler.compile(params?.where, 'n', this.nodeDef, paramCounter);
317
+ if (where.preludes && where.preludes.length > 0)
318
+ cypherParts.push(...where.preludes);
319
+ (0, validation_1.mergeParams)(allParams, where.params);
320
+ userCypher = where.cypher;
321
+ }
322
+ if (userCypher)
323
+ cypherParts.push(`WHERE ${userCypher}`);
324
+ // Project the outcomes right after the candidate WHERE: the `@cypher`
325
+ // `__where_*` aliases the fragments reference are only in scope here
326
+ // (selection / sort preludes carry just their own preserveVars).
327
+ const plan = (0, explain_1.buildExplainPlan)(detailed, fragments);
328
+ const visibleExpr = policyClause === null ? 'true' : `coalesce((${policyClause}), false)`;
329
+ cypherParts.push(`WITH n, [${plan.outcomeExpressions.join(', ')}] AS ${explain_1.EXPLAIN_OUTCOMES}, ${visibleExpr} AS ${explain_1.EXPLAIN_VISIBLE}`);
330
+ const explainVars = [explain_1.EXPLAIN_OUTCOMES, explain_1.EXPLAIN_VISIBLE];
331
+ const selectScope = new cypher_field_projection_1.CypherFieldScope('n', explainVars, '__sel');
332
+ const returnClause = this.selectionCompiler.compile(selection, 'n', this.nodeDef, this._maxDepth, 0, allParams, paramCounter, selectScope, policyContext);
333
+ const opts = this.compileOptions({ ...params?.options, limit }, allParams, [
334
+ ...explainVars,
335
+ ...selectScope.carried(),
336
+ ]);
337
+ if (selectScope.hasAny())
338
+ cypherParts.push(...selectScope.emit());
339
+ if (opts.pre)
340
+ cypherParts.push(opts.pre);
341
+ cypherParts.push(`RETURN ${returnClause}, ${explain_1.EXPLAIN_OUTCOMES}, ${explain_1.EXPLAIN_VISIBLE}`);
342
+ if (opts.post)
343
+ cypherParts.push(opts.post);
344
+ const result = await this.executor.execute(cypherParts.join('\n'), allParams, this.withAuditMetadata(params?.context, policyContext, 'read', false, true), { accessMode: 'READ' });
345
+ return result.records.map((record, row) => ({
346
+ node: result_mapper_1.ResultMapper.mapRecord(record, 'n'),
347
+ ...(0, explain_1.interpretExplainRow)(plan, record.get(explain_1.EXPLAIN_OUTCOMES), record.get(explain_1.EXPLAIN_VISIBLE), this.nodeDef.typeName, row),
348
+ }));
349
+ }
232
350
  // --- create ---------------------------------------------------------------
233
351
  async create(params) {
234
352
  if (params.select && params.selectionSet)