tiptap-apcore 0.3.1 → 0.4.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.
package/README.md CHANGED
@@ -15,6 +15,8 @@
15
15
  - **OpenAI Function Calling** — `toOpenaiTools(executor)` exports tool definitions for GPT
16
16
  - **Role-based ACL** — `readonly`, `editor`, `admin` roles with tag-level and module-level overrides
17
17
  - **Safety annotations** — every command tagged `readonly`, `destructive`, `idempotent`, `requiresApproval`, `openWorld`, `streaming`
18
+ - **Preview & approval** — `apcore.validate()` predicts a command's effects *before* running it; over MCP this drives the `__apcore_module_preview` meta-tool and gates high-risk commands behind human approval automatically
19
+ - **Audit logging** — opt-in structured `allow` / `deny` audit trail (`audit: true` → `apcore.getAuditLog()`, or supply your own logger)
18
20
  - **Strict JSON Schemas** — `inputSchema` + `outputSchema` with `additionalProperties: false` for all known commands
19
21
  - **Dynamic re-discovery** — call `apcore.refresh()` or `registry.discover()` to pick up extensions added at runtime
20
22
  - **Dynamic ACL** — call `apcore.setAcl()` to switch roles without recreating the instance
@@ -152,6 +154,80 @@ apcore.setAcl({ role: "admin" });
152
154
 
153
155
  > **Note:** `allowModules` is additive — it grants access to listed modules but does not deny unlisted ones. Combine with a role to restrict the baseline.
154
156
 
157
+ ## Preview & Approval (Safety)
158
+
159
+ Before executing a command, an AI agent can ask **"what would this change?"** via
160
+ `validate()` (aka `preflight()`). It runs the same checks as `call()` — editor
161
+ readiness, module existence, ACL, and input validation — **without touching the
162
+ document**, and returns a structured prediction of the effects.
163
+
164
+ ```typescript
165
+ const result = await apcore.validate("tiptap.destructive.setContent", {
166
+ value: "<p>Replaced</p>",
167
+ });
168
+
169
+ // result.valid → true
170
+ // result.requiresApproval → true (sourced from the command's annotations)
171
+ // result.checks → [{ check: "editor_ready", passed: true }, ...]
172
+ // result.predictedChanges → [{
173
+ // action: "replace",
174
+ // target: "editor.content",
175
+ // summary: "Replace all editor content",
176
+ // before: "<p>Hello world</p>", // truncated snapshot of current content
177
+ // after: "<p>Replaced</p>",
178
+ // }]
179
+
180
+ if (result.valid && !result.requiresApproval) {
181
+ await apcore.call("tiptap.destructive.setContent", { value: "<p>Replaced</p>" });
182
+ }
183
+ ```
184
+
185
+ Predicted `Change` records are produced for destructive and content-mutating
186
+ commands (`clearContent`, `setContent`, `deleteSelection`, `deleteRange`,
187
+ `deleteCurrentNode`, `cut`, `deleteNode`, `insertContent`, `insertContentAt`,
188
+ `setLink`). Read-only, formatting, and selection commands report an empty list.
189
+
190
+ ### Automatic MCP preview & approval
191
+
192
+ This is powered by the apcore `Executor.validate()` contract. When you pass the
193
+ executor to `serve()`, **apcore-mcp exposes the `__apcore_module_preview`
194
+ meta-tool and gates commands whose `requiresApproval` annotation is `true`
195
+ behind its elicitation-based approval flow** — no extra wiring required. All six
196
+ `destructive` commands are annotated `requiresApproval: true` out of the box.
197
+
198
+ ```typescript
199
+ import { serve } from "tiptap-apcore/server";
200
+ await serve(apcore.executor); // preview meta-tool + approval flow enabled automatically
201
+ ```
202
+
203
+ ## Audit Logging
204
+
205
+ Opt in to a structured audit trail of every ACL `allow` / `deny` decision.
206
+
207
+ ```typescript
208
+ // Built-in in-memory collector
209
+ const apcore = new TiptapAPCore(editor, { acl: { role: "editor" }, audit: true });
210
+
211
+ await apcore.call("tiptap.query.getHTML", {}); // allow
212
+ await apcore.call("tiptap.destructive.clearContent", {}).catch(() => {}); // deny
213
+
214
+ apcore.getAuditLog();
215
+ // [
216
+ // { timestamp: "2026-07-06T...", targetId: "tiptap.query.getHTML",
217
+ // decision: "allow", roles: ["editor"], reason: "", ... },
218
+ // { timestamp: "2026-07-06T...", targetId: "tiptap.destructive.clearContent",
219
+ // decision: "deny", roles: ["editor"], reason: "Role 'editor' does not permit ...", ... },
220
+ // ]
221
+
222
+ // Or route entries to your own sink (apcore-js AuditLogger)
223
+ new TiptapAPCore(editor, {
224
+ audit: (entry) => myLogger.info("acl", entry),
225
+ });
226
+ ```
227
+
228
+ Entries follow the apcore-js `AuditEntry` wire shape (the TipTap module ID is the
229
+ `targetId`), so they interoperate with the rest of the apcore ecosystem.
230
+
155
231
  ## MCP Server
156
232
 
157
233
  Server functions must be imported from the `tiptap-apcore/server` subpath (Node.js only).
package/dist/index.d.ts CHANGED
@@ -10,11 +10,12 @@
10
10
  */
11
11
  export { withApcore } from "./withApcore.js";
12
12
  export { TiptapAPCore } from "./runtime/TiptapAPCore.js";
13
- export type { ApcoreOptions, ApcoreResult, AclConfig, ExtensionCommandInfo, AnnotationEntry, SelectionEffect, SchemaEntry, Logger, EditorLike, ChainLike, Registry, Executor, ModuleDescriptor, ModuleAnnotations, JsonSchema, } from "./types.js";
13
+ export type { ApcoreOptions, ApcoreResult, AclConfig, ExtensionCommandInfo, AnnotationEntry, SelectionEffect, SchemaEntry, Logger, EditorLike, ChainLike, Registry, Executor, ModuleDescriptor, ModuleAnnotations, JsonSchema, AuditLogger, AuditEntry, } from "./types.js";
14
14
  export { TiptapModuleError, ErrorCodes } from "./errors/index.js";
15
15
  export { TiptapRegistry } from "./runtime/index.js";
16
16
  export { TiptapExecutor } from "./runtime/index.js";
17
17
  export { AclGuard } from "./security/index.js";
18
18
  export type { ServeOptions, AsyncServeOptions, AsyncServeApp, ToOpenaiToolsOptions, RegistryOrExecutor, OpenAIToolDef, } from "apcore-mcp";
19
19
  export { REGISTRY_EVENTS, MODULE_ID_PATTERN } from "apcore-mcp";
20
+ export type { PreflightResult, PreflightCheckResult, PreviewResult, Change, } from "apcore-js";
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,WAAW,EACX,MAAM,EACN,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,WAAW,EACX,MAAM,EACN,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKhE,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,MAAM,GACP,MAAM,WAAW,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAkBzD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAW/C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAoBzD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAW/C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { ApcoreOptions, EditorLike, AclConfig, ModuleDescriptor } from "../types.js";
1
+ import type { ApcoreOptions, EditorLike, AclConfig, ModuleDescriptor, AuditLogger, AuditEntry } from "../types.js";
2
+ import type { PreflightResult } from "apcore-js";
2
3
  import { TiptapRegistry } from "./TiptapRegistry.js";
3
4
  import { TiptapExecutor } from "./TiptapExecutor.js";
4
5
  /**
@@ -15,11 +16,33 @@ export declare class TiptapAPCore {
15
16
  private _aclGuard;
16
17
  private _scanner;
17
18
  private _builder;
19
+ private _auditLogger;
20
+ private _auditEntries;
18
21
  constructor(editor: EditorLike, options?: ApcoreOptions);
19
22
  /** The APCore Registry containing all discovered module definitions */
20
23
  get registry(): TiptapRegistry;
21
24
  /** The APCore Executor for running commands against the editor */
22
25
  get executor(): TiptapExecutor;
26
+ /** The structured ACL audit logger, if auditing was enabled via options. */
27
+ get auditLogger(): AuditLogger | undefined;
28
+ /**
29
+ * Return the recorded ACL audit entries (allow/deny decisions).
30
+ *
31
+ * Only populated when `audit: true` was passed in the options (which enables
32
+ * the built-in in-memory collector). When a custom {@link AuditLogger}
33
+ * function is supplied instead, entries go to that sink and this returns an
34
+ * empty array — query your own store.
35
+ */
36
+ getAuditLog(): AuditEntry[];
37
+ /**
38
+ * Resolve the `audit` option into an apcore-js {@link AuditLogger} callback.
39
+ *
40
+ * - `true` → a built-in in-memory collector (entries readable via
41
+ * {@link getAuditLog}).
42
+ * - an {@link AuditLogger} function → used directly as the sink.
43
+ * - falsy → auditing disabled.
44
+ */
45
+ private resolveAuditLogger;
23
46
  /**
24
47
  * Execute an editor command via APCore.
25
48
  *
@@ -28,6 +51,21 @@ export declare class TiptapAPCore {
28
51
  * @returns The execution result
29
52
  */
30
53
  call(moduleId: string, inputs: Record<string, unknown>): Promise<Record<string, unknown>>;
54
+ /**
55
+ * Validate a command and predict its effects WITHOUT executing it.
56
+ *
57
+ * Delegates to the executor's apcore `validate()` contract, returning a
58
+ * PreflightResult with validity, approval requirement, and predicted changes.
59
+ * This is what powers the apcore-mcp preview meta-tool and approval flow.
60
+ *
61
+ * @param moduleId - The module ID (e.g., 'tiptap.destructive.clearContent')
62
+ * @param inputs - Input arguments for the command
63
+ */
64
+ validate(moduleId: string, inputs: Record<string, unknown>): Promise<PreflightResult>;
65
+ /**
66
+ * Preflight — alias for {@link validate}, mirroring the apcore-js Executor API.
67
+ */
68
+ preflight(moduleId: string, inputs: Record<string, unknown>): Promise<PreflightResult>;
31
69
  /**
32
70
  * List available modules in the registry.
33
71
  *
@@ -1 +1 @@
1
- {"version":3,"file":"TiptapAPCore.d.ts","sourceRoot":"","sources":["../../src/runtime/TiptapAPCore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,SAAS,EACT,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa;IAyDvD,uEAAuE;IACvE,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED,kEAAkE;IAClE,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;;;;;OAMG;IACG,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAInC;;;;;OAKG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,EAAE;IAI9D;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAIxD;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IAa5B;;;;OAIG;IACH,OAAO,IAAI,MAAM;CA6BlB"}
1
+ {"version":3,"file":"TiptapAPCore.d.ts","sourceRoot":"","sources":["../../src/runtime/TiptapAPCore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAGjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,aAAa,CAA2B;gBAEpC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa;IAgEvD,uEAAuE;IACvE,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED,kEAAkE;IAClE,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED,4EAA4E;IAC5E,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CAEzC;IAED;;;;;;;OAOG;IACH,WAAW,IAAI,UAAU,EAAE;IAI3B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;;OAMG;IACG,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAInC;;;;;;;;;OASG;IACG,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,eAAe,CAAC;IAI3B;;OAEG;IACG,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,eAAe,CAAC;IAI3B;;;;;OAKG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,EAAE;IAI9D;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAIxD;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IAa5B;;;;OAIG;IACH,OAAO,IAAI,MAAM;CA6BlB"}
@@ -19,6 +19,8 @@ export class TiptapAPCore {
19
19
  _aclGuard;
20
20
  _scanner;
21
21
  _builder;
22
+ _auditLogger;
23
+ _auditEntries;
22
24
  constructor(editor, options) {
23
25
  if (editor == null) {
24
26
  throw new TypeError("editor must be a valid TipTap Editor instance");
@@ -42,7 +44,10 @@ export class TiptapAPCore {
42
44
  this._scanner = new ExtensionScanner(this._options.logger);
43
45
  this._builder = new ModuleBuilder(prefix);
44
46
  this._registry = new TiptapRegistry();
45
- this._aclGuard = new AclGuard(this._options.acl, this._options.logger);
47
+ const resolvedAudit = this.resolveAuditLogger(this._options.audit);
48
+ this._auditLogger = resolvedAudit.logger;
49
+ this._auditEntries = resolvedAudit.entries;
50
+ this._aclGuard = new AclGuard(this._options.acl, this._options.logger, this._auditLogger);
46
51
  this._executor = new TiptapExecutor(editor, this._registry, this._aclGuard, this._options.sanitizeHtml);
47
52
  // 2. Initial discovery
48
53
  this.refresh();
@@ -57,6 +62,38 @@ export class TiptapAPCore {
57
62
  get executor() {
58
63
  return this._executor;
59
64
  }
65
+ /** The structured ACL audit logger, if auditing was enabled via options. */
66
+ get auditLogger() {
67
+ return this._auditLogger;
68
+ }
69
+ /**
70
+ * Return the recorded ACL audit entries (allow/deny decisions).
71
+ *
72
+ * Only populated when `audit: true` was passed in the options (which enables
73
+ * the built-in in-memory collector). When a custom {@link AuditLogger}
74
+ * function is supplied instead, entries go to that sink and this returns an
75
+ * empty array — query your own store.
76
+ */
77
+ getAuditLog() {
78
+ return this._auditEntries ? [...this._auditEntries] : [];
79
+ }
80
+ /**
81
+ * Resolve the `audit` option into an apcore-js {@link AuditLogger} callback.
82
+ *
83
+ * - `true` → a built-in in-memory collector (entries readable via
84
+ * {@link getAuditLog}).
85
+ * - an {@link AuditLogger} function → used directly as the sink.
86
+ * - falsy → auditing disabled.
87
+ */
88
+ resolveAuditLogger(audit) {
89
+ if (!audit)
90
+ return { logger: undefined, entries: undefined };
91
+ if (audit === true) {
92
+ const entries = [];
93
+ return { logger: (entry) => { entries.push(entry); }, entries };
94
+ }
95
+ return { logger: audit, entries: undefined };
96
+ }
60
97
  /**
61
98
  * Execute an editor command via APCore.
62
99
  *
@@ -67,6 +104,25 @@ export class TiptapAPCore {
67
104
  async call(moduleId, inputs) {
68
105
  return this._executor.call(moduleId, inputs);
69
106
  }
107
+ /**
108
+ * Validate a command and predict its effects WITHOUT executing it.
109
+ *
110
+ * Delegates to the executor's apcore `validate()` contract, returning a
111
+ * PreflightResult with validity, approval requirement, and predicted changes.
112
+ * This is what powers the apcore-mcp preview meta-tool and approval flow.
113
+ *
114
+ * @param moduleId - The module ID (e.g., 'tiptap.destructive.clearContent')
115
+ * @param inputs - Input arguments for the command
116
+ */
117
+ async validate(moduleId, inputs) {
118
+ return this._executor.validate(moduleId, inputs);
119
+ }
120
+ /**
121
+ * Preflight — alias for {@link validate}, mirroring the apcore-js Executor API.
122
+ */
123
+ async preflight(moduleId, inputs) {
124
+ return this._executor.preflight(moduleId, inputs);
125
+ }
70
126
  /**
71
127
  * List available modules in the registry.
72
128
  *
@@ -1 +1 @@
1
- {"version":3,"file":"TiptapAPCore.js","sourceRoot":"","sources":["../../src/runtime/TiptapAPCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TiptapAPCore.js","sourceRoot":"","sources":["../../src/runtime/TiptapAPCore.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Executor, EditorLike } from "../types.js";
2
+ import type { PreflightResult } from "apcore-js";
2
3
  import type { TiptapRegistry } from "./TiptapRegistry.js";
3
4
  import { AclGuard } from "../security/AclGuard.js";
4
5
  export type { EditorLike, ChainLike } from "../types.js";
@@ -10,6 +11,42 @@ export declare class TiptapExecutor implements Executor {
10
11
  constructor(editor: EditorLike, registry: TiptapRegistry, aclGuard: AclGuard, sanitizeHtml?: (html: string) => string);
11
12
  call(moduleId: string, inputs: Record<string, unknown>): Promise<Record<string, unknown>>;
12
13
  callAsync(moduleId: string, inputs: Record<string, unknown>): Promise<Record<string, unknown>>;
14
+ /**
15
+ * Validate inputs and predict effects WITHOUT executing the command.
16
+ *
17
+ * Implements the apcore Executor `validate()` contract (PROTOCOL_SPEC §5.6).
18
+ * When this executor is passed to `serve()`, apcore-mcp exposes the
19
+ * `__apcore_module_preview` meta-tool and gates high-risk calls behind its
20
+ * elicitation-based approval flow — both driven entirely by this method.
21
+ *
22
+ * @returns A PreflightResult describing whether the call is valid, whether it
23
+ * requires human approval, and a structured prediction of its changes.
24
+ */
25
+ validate(moduleId: string, inputs: Record<string, unknown>): Promise<PreflightResult>;
26
+ /**
27
+ * Preflight — apcore-js API-parity alias for {@link validate}. Validates the
28
+ * call without side effects and returns the same PreflightResult.
29
+ */
30
+ preflight(moduleId: string, inputs: Record<string, unknown>): Promise<PreflightResult>;
31
+ /**
32
+ * Run the same input validation that call() performs, but without executing
33
+ * the command. Returns a structured error record when inputs are invalid,
34
+ * or null when they pass.
35
+ */
36
+ private dryValidateInputs;
37
+ /** Validate required inputs for the built-in query commands. */
38
+ private validateQueryInputs;
39
+ /**
40
+ * Produce a structured prediction of the side effects a command would have,
41
+ * per the apcore preview contract. Only destructive and content-mutating
42
+ * commands report changes; read-only, formatting, and selection commands
43
+ * return an empty list.
44
+ */
45
+ private predictChanges;
46
+ /** Truncated snapshot of the editor's current HTML, for change previews. */
47
+ private snapshot;
48
+ /** Coerce a value to a length-bounded preview string. */
49
+ private truncate;
13
50
  private extractCategory;
14
51
  private extractCommandName;
15
52
  private executeQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"TiptapExecutor.d.ts","sourceRoot":"","sources":["../../src/runtime/TiptapExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAa,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAInD,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA4DzD,qBAAa,cAAe,YAAW,QAAQ;IAC7C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAyC;gBAG3D,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM;IAQnC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAuBzF,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIpG,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,YAAY;IAmDpB,OAAO,CAAC,cAAc;IAyCtB,OAAO,CAAC,gBAAgB;IAsCxB,OAAO,CAAC,SAAS;CAiHlB"}
1
+ {"version":3,"file":"TiptapExecutor.d.ts","sourceRoot":"","sources":["../../src/runtime/TiptapExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAa,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,WAAW,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAOnD,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA4DzD,qBAAa,cAAe,YAAW,QAAQ;IAC7C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAyC;gBAG3D,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM;IAQnC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAuBzF,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIpG;;;;;;;;;;OAUG;IACG,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,eAAe,CAAC;IAqD3B;;;OAGG;IACG,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,eAAe,CAAC;IAI3B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA4BzB,gEAAgE;IAChE,OAAO,CAAC,mBAAmB;IAgB3B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IA0EtB,4EAA4E;IAC5E,OAAO,CAAC,QAAQ;IAIhB,yDAAyD;IACzD,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,YAAY;IAmDpB,OAAO,CAAC,cAAc;IAyCtB,OAAO,CAAC,gBAAgB;IAsCxB,OAAO,CAAC,SAAS;CAiHlB"}
@@ -1,4 +1,6 @@
1
1
  import { TiptapModuleError, ErrorCodes } from "../errors/index.js";
2
+ /** Max length of a content snapshot / preview string embedded in a Change. */
3
+ const MAX_PREVIEW_LEN = 500;
2
4
  // ── URL safety (C-1) ──────────────────────────────────────────────
3
5
  const SAFE_PROTOCOLS = /^(https?|mailto|tel):/i;
4
6
  const SAFE_RELATIVE = /^[/#?]/;
@@ -66,6 +68,201 @@ export class TiptapExecutor {
66
68
  async callAsync(moduleId, inputs) {
67
69
  return this.call(moduleId, inputs);
68
70
  }
71
+ /**
72
+ * Validate inputs and predict effects WITHOUT executing the command.
73
+ *
74
+ * Implements the apcore Executor `validate()` contract (PROTOCOL_SPEC §5.6).
75
+ * When this executor is passed to `serve()`, apcore-mcp exposes the
76
+ * `__apcore_module_preview` meta-tool and gates high-risk calls behind its
77
+ * elicitation-based approval flow — both driven entirely by this method.
78
+ *
79
+ * @returns A PreflightResult describing whether the call is valid, whether it
80
+ * requires human approval, and a structured prediction of its changes.
81
+ */
82
+ async validate(moduleId, inputs) {
83
+ const checks = [];
84
+ const errors = [];
85
+ // 1. Editor readiness
86
+ if (this.editor.isDestroyed) {
87
+ checks.push({ check: "editor_ready", passed: false, error: { editorDestroyed: true } });
88
+ errors.push({ code: ErrorCodes.EDITOR_NOT_READY, message: "Editor is not ready" });
89
+ return { valid: false, checks, requiresApproval: false, errors };
90
+ }
91
+ checks.push({ check: "editor_ready", passed: true });
92
+ // 2. Module resolution
93
+ const descriptor = this.registry.getDefinition(moduleId);
94
+ if (!descriptor) {
95
+ checks.push({ check: "module_exists", passed: false });
96
+ errors.push({ code: ErrorCodes.MODULE_NOT_FOUND, message: `Module '${moduleId}' not found` });
97
+ return { valid: false, checks, requiresApproval: false, errors };
98
+ }
99
+ checks.push({ check: "module_exists", passed: true });
100
+ // 3. Access control (non-throwing — mirrors the check enforced by call())
101
+ const aclAllowed = this.aclGuard.isAllowed(moduleId, descriptor);
102
+ checks.push({ check: "acl", passed: aclAllowed });
103
+ if (!aclAllowed) {
104
+ errors.push({
105
+ code: ErrorCodes.ACL_DENIED,
106
+ message: `Access denied: module '${moduleId}' is not permitted`,
107
+ });
108
+ }
109
+ // 4. Input validation (dry — reuses the same arg-building logic as call())
110
+ const inputError = this.dryValidateInputs(moduleId, inputs);
111
+ checks.push({ check: "input_schema", passed: inputError == null, error: inputError ?? undefined });
112
+ if (inputError) {
113
+ errors.push(inputError);
114
+ }
115
+ // 5. Approval requirement, sourced from the module's safety annotations
116
+ const requiresApproval = descriptor.annotations?.requiresApproval ?? false;
117
+ // 6. Predicted changes — only meaningful when the call would actually run
118
+ const predictedChanges = errors.length === 0 ? this.predictChanges(moduleId, inputs) : [];
119
+ return {
120
+ valid: errors.length === 0,
121
+ checks,
122
+ requiresApproval,
123
+ errors,
124
+ predictedChanges,
125
+ };
126
+ }
127
+ /**
128
+ * Preflight — apcore-js API-parity alias for {@link validate}. Validates the
129
+ * call without side effects and returns the same PreflightResult.
130
+ */
131
+ async preflight(moduleId, inputs) {
132
+ return this.validate(moduleId, inputs);
133
+ }
134
+ /**
135
+ * Run the same input validation that call() performs, but without executing
136
+ * the command. Returns a structured error record when inputs are invalid,
137
+ * or null when they pass.
138
+ */
139
+ dryValidateInputs(moduleId, inputs) {
140
+ const category = this.extractCategory(moduleId);
141
+ const commandName = this.extractCommandName(moduleId);
142
+ try {
143
+ if (category === "query") {
144
+ this.validateQueryInputs(commandName, inputs, moduleId);
145
+ }
146
+ else if (commandName === "selectText") {
147
+ requireString(inputs, "text", moduleId);
148
+ }
149
+ else if (!FORBIDDEN_PROPS.has(commandName)) {
150
+ // buildArgs performs the same required-field and URL-safety checks as
151
+ // call(), and has no side effects, so it doubles as a dry validator.
152
+ this.buildArgs(commandName, inputs, moduleId);
153
+ }
154
+ return null;
155
+ }
156
+ catch (err) {
157
+ if (err instanceof TiptapModuleError) {
158
+ return { code: err.code, message: err.message, ...(err.details ?? {}) };
159
+ }
160
+ return {
161
+ code: ErrorCodes.SCHEMA_VALIDATION_ERROR,
162
+ message: err instanceof Error ? err.message : String(err),
163
+ };
164
+ }
165
+ }
166
+ /** Validate required inputs for the built-in query commands. */
167
+ validateQueryInputs(commandName, inputs, moduleId) {
168
+ switch (commandName) {
169
+ case "isActive":
170
+ requireString(inputs, "name", moduleId);
171
+ break;
172
+ case "getAttributes":
173
+ requireString(inputs, "typeOrName", moduleId);
174
+ break;
175
+ // Remaining query commands take no required inputs.
176
+ }
177
+ }
178
+ /**
179
+ * Produce a structured prediction of the side effects a command would have,
180
+ * per the apcore preview contract. Only destructive and content-mutating
181
+ * commands report changes; read-only, formatting, and selection commands
182
+ * return an empty list.
183
+ */
184
+ predictChanges(moduleId, inputs) {
185
+ const commandName = this.extractCommandName(moduleId);
186
+ switch (commandName) {
187
+ case "clearContent":
188
+ return [{
189
+ action: "delete",
190
+ target: "editor.content",
191
+ summary: "Clear all editor content",
192
+ before: this.snapshot(),
193
+ }];
194
+ case "setContent":
195
+ return [{
196
+ action: "replace",
197
+ target: "editor.content",
198
+ summary: "Replace all editor content",
199
+ before: this.snapshot(),
200
+ after: this.truncate(inputs.value),
201
+ }];
202
+ case "deleteSelection":
203
+ return [{
204
+ action: "delete",
205
+ target: "editor.selection",
206
+ summary: "Delete the current text selection",
207
+ }];
208
+ case "deleteRange":
209
+ return [{
210
+ action: "delete",
211
+ target: `editor.range[${inputs.from}..${inputs.to}]`,
212
+ summary: `Delete the document range from ${inputs.from} to ${inputs.to}`,
213
+ }];
214
+ case "deleteCurrentNode":
215
+ return [{
216
+ action: "delete",
217
+ target: "editor.currentNode",
218
+ summary: "Delete the node at the current cursor position",
219
+ }];
220
+ case "cut":
221
+ return [{
222
+ action: "delete",
223
+ target: "editor.selection",
224
+ summary: "Cut (remove) the current selection",
225
+ }];
226
+ case "deleteNode":
227
+ return [{
228
+ action: "delete",
229
+ target: `editor.node[${String(inputs.typeOrName)}]`,
230
+ summary: `Delete the nearest '${String(inputs.typeOrName)}' node`,
231
+ }];
232
+ case "insertContent":
233
+ return [{
234
+ action: "insert",
235
+ target: "editor.selection",
236
+ summary: "Insert content at the cursor",
237
+ after: this.truncate(inputs.value),
238
+ }];
239
+ case "insertContentAt":
240
+ return [{
241
+ action: "insert",
242
+ target: `editor.position[${inputs.position}]`,
243
+ summary: `Insert content at position ${inputs.position}`,
244
+ after: this.truncate(inputs.value),
245
+ }];
246
+ case "setLink":
247
+ return [{
248
+ action: "write",
249
+ target: "editor.selection",
250
+ summary: `Set link href to '${String(inputs.href)}'`,
251
+ after: inputs.href,
252
+ }];
253
+ default:
254
+ return [];
255
+ }
256
+ }
257
+ /** Truncated snapshot of the editor's current HTML, for change previews. */
258
+ snapshot() {
259
+ return this.truncate(this.editor.getHTML());
260
+ }
261
+ /** Coerce a value to a length-bounded preview string. */
262
+ truncate(value) {
263
+ const str = typeof value === "string" ? value : JSON.stringify(value ?? null);
264
+ return str.length > MAX_PREVIEW_LEN ? `${str.slice(0, MAX_PREVIEW_LEN)}...` : str;
265
+ }
69
266
  extractCategory(moduleId) {
70
267
  // "tiptap.format.toggleBold" → "format"
71
268
  const parts = moduleId.split(".");
@@ -1 +1 @@
1
- {"version":3,"file":"TiptapExecutor.js","sourceRoot":"","sources":["../../src/runtime/TiptapExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TiptapExecutor.js","sourceRoot":"","sources":["../../src/runtime/TiptapExecutor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEnE,8EAA8E;AAC9E,MAAM,eAAe,GAAG,GAAG,CAAC;AAK5B,qEAAqE;AAErE,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAChD,MAAM,aAAa,GAAG,QAAQ,CAAC;AAE/B,SAAS,SAAS,CAAC,GAAY;IAC7B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,qEAAqE;AAErE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,WAAW;IACX,aAAa;IACb,WAAW;IACX,UAAU;IACV,SAAS;IACT,gBAAgB;CACjB,CAAC,CAAC;AAEH,qEAAqE;AAErE,SAAS,aAAa,CACpB,MAA+B,EAC/B,KAAa,EACb,QAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,iBAAiB,CACzB,UAAU,CAAC,uBAAuB,EAClC,IAAI,KAAK,8BAA8B,EACvC,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CACpB,MAA+B,EAC/B,KAAa,EACb,QAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,iBAAiB,CACzB,UAAU,CAAC,uBAAuB,EAClC,IAAI,KAAK,2BAA2B,EACpC,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qEAAqE;AAErE,MAAM,OAAO,cAAc;IAChB,QAAQ,CAAiB;IAC1B,MAAM,CAAa;IACnB,QAAQ,CAAW;IACnB,YAAY,CAAyC;IAE7D,YACE,MAAkB,EAClB,QAAwB,EACxB,QAAkB,EAClB,YAAuC;QAEvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,MAA+B;QAC1D,wBAAwB;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7G,CAAC;QAED,wBAAwB;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,gBAAgB,EAAE,WAAW,QAAQ,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3G,CAAC;QAED,mCAAmC;QACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE1C,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,MAA+B;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,MAA+B;QAE/B,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAmC,EAAE,CAAC;QAElD,sBAAsB;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACxF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,gBAAgB,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACnF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACnE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAErD,uBAAuB;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,gBAAgB,EAAE,OAAO,EAAE,WAAW,QAAQ,aAAa,EAAE,CAAC,CAAC;YAC9F,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACnE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtD,0EAA0E;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,UAAU,CAAC,UAAU;gBAC3B,OAAO,EAAE,0BAA0B,QAAQ,oBAAoB;aAChE,CAAC,CAAC;QACL,CAAC;QAED,2EAA2E;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,EAAE,KAAK,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC;QACnG,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;QAED,wEAAwE;QACxE,MAAM,gBAAgB,GAAG,UAAU,CAAC,WAAW,EAAE,gBAAgB,IAAI,KAAK,CAAC;QAE3E,0EAA0E;QAC1E,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1F,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM;YACN,gBAAgB;YAChB,MAAM;YACN,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CACb,QAAgB,EAChB,MAA+B;QAE/B,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CACvB,QAAgB,EAChB,MAA+B;QAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;gBACxC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7C,sEAAsE;gBACtE,qEAAqE;gBACrE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;gBACrC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;YAC1E,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,uBAAuB;gBACxC,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gEAAgE;IACxD,mBAAmB,CACzB,WAAmB,EACnB,MAA+B,EAC/B,QAAgB;QAEhB,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,UAAU;gBACb,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,eAAe;gBAClB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAC9C,MAAM;YACR,oDAAoD;QACtD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,QAAgB,EAAE,MAA+B;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtD,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,cAAc;gBACjB,OAAO,CAAC;wBACN,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,gBAAgB;wBACxB,OAAO,EAAE,0BAA0B;wBACnC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE;qBACxB,CAAC,CAAC;YACL,KAAK,YAAY;gBACf,OAAO,CAAC;wBACN,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE,gBAAgB;wBACxB,OAAO,EAAE,4BAA4B;wBACrC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE;wBACvB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;qBACnC,CAAC,CAAC;YACL,KAAK,iBAAiB;gBACpB,OAAO,CAAC;wBACN,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,kBAAkB;wBAC1B,OAAO,EAAE,mCAAmC;qBAC7C,CAAC,CAAC;YACL,KAAK,aAAa;gBAChB,OAAO,CAAC;wBACN,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,gBAAgB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,GAAG;wBACpD,OAAO,EAAE,kCAAkC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,EAAE,EAAE;qBACzE,CAAC,CAAC;YACL,KAAK,mBAAmB;gBACtB,OAAO,CAAC;wBACN,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,oBAAoB;wBAC5B,OAAO,EAAE,gDAAgD;qBAC1D,CAAC,CAAC;YACL,KAAK,KAAK;gBACR,OAAO,CAAC;wBACN,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,kBAAkB;wBAC1B,OAAO,EAAE,oCAAoC;qBAC9C,CAAC,CAAC;YACL,KAAK,YAAY;gBACf,OAAO,CAAC;wBACN,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,eAAe,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG;wBACnD,OAAO,EAAE,uBAAuB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ;qBAClE,CAAC,CAAC;YACL,KAAK,eAAe;gBAClB,OAAO,CAAC;wBACN,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,kBAAkB;wBAC1B,OAAO,EAAE,8BAA8B;wBACvC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;qBACnC,CAAC,CAAC;YACL,KAAK,iBAAiB;gBACpB,OAAO,CAAC;wBACN,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,mBAAmB,MAAM,CAAC,QAAQ,GAAG;wBAC7C,OAAO,EAAE,8BAA8B,MAAM,CAAC,QAAQ,EAAE;wBACxD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;qBACnC,CAAC,CAAC;YACL,KAAK,SAAS;gBACZ,OAAO,CAAC;wBACN,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,kBAAkB;wBAC1B,OAAO,EAAE,qBAAqB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;wBACpD,KAAK,EAAE,MAAM,CAAC,IAAI;qBACnB,CAAC,CAAC;YACL;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,4EAA4E;IACpE,QAAQ;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,yDAAyD;IACjD,QAAQ,CAAC,KAAc;QAC7B,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;QAC9E,OAAO,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IACpF,CAAC;IAEO,eAAe,CAAC,QAAgB;QACtC,wCAAwC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,CAAC;IAEO,kBAAkB,CAAC,QAAgB;QACzC,4CAA4C;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACjD,CAAC;IAEO,YAAY,CAAC,QAAgB,EAAE,MAA+B;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAEtD,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,OAAO,GAAgC,EAAE,CAAC;gBAChD,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;oBAC9C,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBACjD,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACrD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAC,KAAiC,IAAI,EAAE,CAAC,EAAE,CAAC;YACjG,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACjE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,CAAC;YACD,KAAK,SAAS;gBACZ,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxC,KAAK,YAAY;gBACf,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3C,KAAK,WAAW;gBACd,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1C,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC;gBAC/C,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;oBAC/C,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,iBAAiB,EACtD,yCAAyC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAY,EAAE,CAAC;YAC9C,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC;gBAC/C,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC1C,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,iBAAiB,EACtD,yCAAyC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAY,EAAE,CAAC;YACzC,CAAC;YACD;gBACE,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,iBAAiB,EACtD,YAAY,WAAW,2BAA2B,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,QAAgB,EAAE,MAA+B;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAEtD,6DAA6D;QAC7D,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,2DAA2D;QAC3D,IAAI,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,iBAAiB,EACtD,YAAY,WAAW,kBAAkB,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,mEAAmE;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QAErC,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YACpC,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,iBAAiB,EACtD,YAAY,WAAW,2BAA2B,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,0CAA0C;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAElC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,wEAAwE;YACxE,uEAAuE;YACvE,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;gBACrD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,WAAW,EAAE,EAAE,CAAC;YACjE,CAAC;YACD,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,cAAc,EACnD,YAAY,WAAW,UAAU,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAEO,gBAAgB,CAAC,MAA+B,EAAE,QAAgB;QACxE,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9F,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QAClC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;QACnB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;QAEjB,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,SAAS,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,OAAO,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACrC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBAChD,IAAI,GAAG,KAAK,CAAC,CAAC;wBAAE,MAAM;oBACtB,KAAK,EAAE,CAAC;oBACR,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;wBACzB,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC;wBACtB,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;wBAClC,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,UAAU,GAAG,GAAG,GAAG,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,2CAA2C;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;QAC1C,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QAE/D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACvD,CAAC;IAEO,SAAS,CAAC,WAAmB,EAAE,MAA+B,EAAE,QAAgB;QACtF,gFAAgF;QAChF,iCAAiC;QACjC,QAAQ,WAAW,EAAE,CAAC;YACpB,wBAAwB;YACxB,KAAK,YAAY,CAAC;YAAC,KAAK,cAAc,CAAC;YAAC,KAAK,cAAc,CAAC;YAAC,KAAK,YAAY,CAAC;YAC/E,KAAK,iBAAiB,CAAC;YAAC,KAAK,iBAAiB,CAAC;YAAC,KAAK,mBAAmB,CAAC;YACzE,KAAK,kBAAkB,CAAC;YAAC,KAAK,mBAAmB,CAAC;YAAC,KAAK,gBAAgB,CAAC;YACzE,KAAK,kBAAkB,CAAC;YAAC,KAAK,eAAe,CAAC;YAAC,KAAK,YAAY,CAAC;YACjE,KAAK,cAAc,CAAC;YAAC,KAAK,mBAAmB,CAAC;YAAC,KAAK,WAAW,CAAC;YAChE,KAAK,WAAW,CAAC;YAAC,KAAK,kBAAkB,CAAC;YAAC,KAAK,sBAAsB,CAAC;YACvE,KAAK,oBAAoB,CAAC;YAAC,KAAK,MAAM,CAAC;YAAC,KAAK,gBAAgB,CAAC;YAC9D,KAAK,MAAM,CAAC;YAAC,KAAK,MAAM,CAAC;YAAC,KAAK,iBAAiB,CAAC;YAAC,KAAK,mBAAmB,CAAC;YAC3E,KAAK,KAAK,CAAC;YAAC,KAAK,cAAc,CAAC;YAAC,KAAK,aAAa,CAAC;YACpD,KAAK,SAAS,CAAC;YAAC,KAAK,WAAW,CAAC;YAAC,KAAK,WAAW,CAAC;YAAC,KAAK,aAAa,CAAC;YACvE,KAAK,WAAW,CAAC;YAAC,KAAK,aAAa,CAAC;YAAC,KAAK,SAAS,CAAC;YAAC,KAAK,WAAW,CAAC;YACvE,KAAK,eAAe,CAAC;YAAC,KAAK,iBAAiB,CAAC;YAAC,KAAK,cAAc,CAAC;YAClE,KAAK,UAAU;gBACb,OAAO,EAAE,CAAC;YAEZ,KAAK,YAAY;gBACf,OAAO,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEjF,kCAAkC;YAClC,KAAK,eAAe;gBAClB,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACnC,KAAK,YAAY;gBACf,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACnC,KAAK,iBAAiB;gBACpB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,KAAK,iBAAiB;gBACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,KAAK,cAAc;gBACjB,OAAO,CAAC,MAAM,CAAC,SAAmB,CAAC,CAAC;YACtC,KAAK,SAAS;gBACZ,OAAO,CAAC,MAAM,CAAC,UAAoB,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC3D,KAAK,WAAW;gBACd,OAAO,CAAC,MAAM,CAAC,UAAoB,CAAC,CAAC;YACvC,KAAK,kBAAkB;gBACrB,OAAO,CAAC,MAAM,CAAC,UAAoB,EAAE,MAAM,CAAC,KAAgC,CAAC,CAAC;YAChF,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,+BAA+B;gBAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,uBAAuB,EAC5D,gCAAgC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,MAAM,SAAS,GAA4B,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;oBAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAClE,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS;oBAAE,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;gBACzD,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC;YAED,wCAAwC;YACxC,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnD,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;gBACD,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAC7D,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnD,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;gBACD,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,KAAK,SAAS;gBACZ,OAAO,CAAC,MAAM,CAAC,UAAoB,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC3D,KAAK,cAAc,CAAC;YAAC,KAAK,cAAc;gBACtC,OAAO,CAAC,MAAM,CAAC,UAAoB,CAAC,CAAC;YACvC,KAAK,QAAQ;gBACX,OAAO,CAAC,MAAM,CAAC,UAAoB,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC3D,KAAK,MAAM;gBACT,OAAO,CAAC,MAAM,CAAC,UAAoB,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC3D,KAAK,eAAe;gBAClB,OAAO,CAAC,MAAM,CAAC,UAAoB,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;YACnE,KAAK,YAAY;gBACf,OAAO,CAAC,MAAM,CAAC,UAAoB,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YAChE,KAAK,YAAY;gBACf,OAAO,CAAC,MAAM,CAAC,cAAwB,EAAE,MAAM,CAAC,cAAwB,EAAE,MAAM,CAAC,SAAS,IAAI,KAAK,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YAChI,KAAK,YAAY;gBACf,OAAO,CAAC,MAAM,CAAC,UAAoB,CAAC,CAAC;YAEvC,uBAAuB;YACvB,KAAK,cAAc;gBACjB,OAAO,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,KAAK,GAAG,MAAM,CAAC,KAAe,CAAC;gBACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnD,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;gBACD,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,KAAK,aAAa;gBAChB,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAEhD,qBAAqB;YACrB,KAAK,kBAAkB;gBACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3B,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAC7D,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC;YACD,KAAK,OAAO;gBACV,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhE;gBACE,yDAAyD;gBACzD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,CAAC;IACH,CAAC;CACF"}
@@ -1,11 +1,21 @@
1
- import type { AclConfig, Logger, ModuleDescriptor } from "../types.js";
1
+ import type { AclConfig, Logger, ModuleDescriptor, AuditLogger } from "../types.js";
2
2
  export declare class AclGuard {
3
3
  private config;
4
4
  private logger;
5
- constructor(config?: AclConfig, logger?: Logger);
5
+ private auditLogger;
6
+ constructor(config?: AclConfig, logger?: Logger, auditLogger?: AuditLogger);
6
7
  /** Update ACL configuration at runtime */
7
8
  updateConfig(config: AclConfig | undefined): void;
8
9
  check(moduleId: string, descriptor: ModuleDescriptor): void;
10
+ /**
11
+ * Append an ACL decision to the structured audit log, when configured.
12
+ *
13
+ * Emits an apcore-js `AuditEntry` (cross-ecosystem wire shape) with the
14
+ * TipTap module ID as the `targetId`. Fields that have no meaning in the
15
+ * editor domain (caller identity, named rules, trace/call-depth) are left
16
+ * empty/null per the entry contract.
17
+ */
18
+ private audit;
9
19
  isAllowed(moduleId: string, descriptor: ModuleDescriptor): boolean;
10
20
  private getDenialReason;
11
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AclGuard.d.ts","sourceRoot":"","sources":["../../src/security/AclGuard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AASvE,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM;IAK/C,0CAA0C;IAC1C,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;IAKjD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAY3D,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO;IAwClE,OAAO,CAAC,eAAe;CAgDxB"}
1
+ {"version":3,"file":"AclGuard.d.ts","sourceRoot":"","sources":["../../src/security/AclGuard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AASpF,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAA0B;gBAEjC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW;IAM1E,0CAA0C;IAC1C,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;IAKjD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAiB3D;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK;IAsBb,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO;IAwClE,OAAO,CAAC,eAAe;CAgDxB"}
@@ -7,9 +7,11 @@ const ROLE_TAGS = {
7
7
  export class AclGuard {
8
8
  config;
9
9
  logger;
10
- constructor(config, logger) {
10
+ auditLogger;
11
+ constructor(config, logger, auditLogger) {
11
12
  this.config = config;
12
13
  this.logger = logger;
14
+ this.auditLogger = auditLogger;
13
15
  }
14
16
  /** Update ACL configuration at runtime */
15
17
  updateConfig(config) {
@@ -17,12 +19,41 @@ export class AclGuard {
17
19
  this.logger?.info?.("ACL configuration updated", { role: config?.role });
18
20
  }
19
21
  check(moduleId, descriptor) {
20
- if (!this.isAllowed(moduleId, descriptor)) {
21
- const reason = this.getDenialReason(moduleId, descriptor);
22
+ const allowed = this.isAllowed(moduleId, descriptor);
23
+ const reason = allowed ? undefined : this.getDenialReason(moduleId, descriptor);
24
+ // Record the enforcement decision in the structured audit trail (if any).
25
+ this.audit(moduleId, allowed ? "allow" : "deny", reason);
26
+ if (!allowed) {
22
27
  this.logger?.warn(`ACL denied: ${moduleId}`, { reason });
23
28
  throw new TiptapModuleError(ErrorCodes.ACL_DENIED, `Access denied: module '${moduleId}' is not permitted`, { moduleId });
24
29
  }
25
30
  }
31
+ /**
32
+ * Append an ACL decision to the structured audit log, when configured.
33
+ *
34
+ * Emits an apcore-js `AuditEntry` (cross-ecosystem wire shape) with the
35
+ * TipTap module ID as the `targetId`. Fields that have no meaning in the
36
+ * editor domain (caller identity, named rules, trace/call-depth) are left
37
+ * empty/null per the entry contract.
38
+ */
39
+ audit(moduleId, decision, reason) {
40
+ if (!this.auditLogger)
41
+ return;
42
+ this.auditLogger({
43
+ timestamp: new Date().toISOString(),
44
+ callerId: "",
45
+ targetId: moduleId,
46
+ decision,
47
+ reason: reason ?? "",
48
+ matchedRule: null,
49
+ matchedRuleIndex: null,
50
+ identityType: null,
51
+ roles: this.config?.role ? [this.config.role] : [],
52
+ callDepth: null,
53
+ traceId: null,
54
+ handlerError: null,
55
+ });
56
+ }
26
57
  isAllowed(moduleId, descriptor) {
27
58
  // No ACL config = all allowed (opt-in security)
28
59
  if (!this.config)
@@ -1 +1 @@
1
- {"version":3,"file":"AclGuard.js","sourceRoot":"","sources":["../../src/security/AclGuard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEnE,MAAM,SAAS,GAA6B;IAC1C,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC;IAC9D,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC;CAC7E,CAAC;AAEF,MAAM,OAAO,QAAQ;IACX,MAAM,CAAwB;IAC9B,MAAM,CAAqB;IAEnC,YAAY,MAAkB,EAAE,MAAe;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,0CAA0C;IAC1C,YAAY,CAAC,MAA6B;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,UAA4B;QAClD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACzD,MAAM,IAAI,iBAAiB,CACzB,UAAU,CAAC,UAAU,EACrB,0BAA0B,QAAQ,oBAAoB,EACtD,EAAE,QAAQ,EAAE,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,SAAS,CAAC,QAAgB,EAAE,UAA4B;QACtD,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAE9B,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAC5D,IAAI,CAAC,MAAM,CAAC;QACd,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;QAEzC,sCAAsC;QACtC,IAAI,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAElD,kBAAkB;QAClB,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;QACnD,CAAC;QAED,cAAc;QACd,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACjE,CAAC;QAED,eAAe;QACf,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QACjE,CAAC;QAED,gBAAgB;QAChB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5B,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,yEAAyE;QACzE,MAAM,YAAY,GAChB,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YACzC,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,YAAY,CAAC;IACvB,CAAC;IAEO,eAAe,CACrB,QAAgB,EAChB,UAA4B;QAE5B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,eAAe,CAAC;QAEzC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,GAC5D,IAAI,CAAC,MAAM,CAAC;QACd,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;QAEzC,iBAAiB;QACjB,IAAI,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,WAAW,QAAQ,8BAA8B,CAAC;QAC3D,CAAC;QAED,2CAA2C;QAC3C,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,OAAO,WAAW,QAAQ,mCAAmC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,cAAc;QACd,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,gBAAgB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC;YACvE,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,OAAO,gBAAgB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,iBAAiB,IAAI,GAAG,CAAC;YAClC,CAAC;YACD,OAAO,SAAS,IAAI,2BAA2B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1E,CAAC;QAED,OAAO,yBAAyB,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"AclGuard.js","sourceRoot":"","sources":["../../src/security/AclGuard.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -6,6 +6,9 @@
6
6
  */
7
7
  export type { Registry, Executor, ModuleDescriptor, ModuleAnnotations, JsonSchema, } from "apcore-mcp";
8
8
  import type { ModuleAnnotations, JsonSchema } from "apcore-mcp";
9
+ import type { AuditLogger } from "apcore-js";
10
+ /** Structured ACL audit logger, re-exported from apcore-js. */
11
+ export type { AuditLogger, AuditEntry } from "apcore-js";
9
12
  /** Minimal logger interface for diagnostic output */
10
13
  export interface Logger {
11
14
  info?(msg: string, ctx?: Record<string, unknown>): void;
@@ -86,6 +89,13 @@ export interface ApcoreOptions {
86
89
  logger?: Logger;
87
90
  /** Optional HTML sanitizer applied to insertContent/setContent values */
88
91
  sanitizeHtml?: (html: string) => string;
92
+ /**
93
+ * Structured audit logging for ACL decisions. Pass `true` to record every
94
+ * allow/deny decision in an in-memory apcore-js audit log (queryable via
95
+ * {@link TiptapAPCore.getAuditLog}), or supply your own {@link AuditLogger}.
96
+ * Defaults to disabled.
97
+ */
98
+ audit?: boolean | AuditLogger;
89
99
  }
90
100
  /** Return value of withApcore() */
91
101
  export interface ApcoreResult {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tiptap-apcore",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "TipTap editor APCore modules - let AI safely control your TipTap editor",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -29,16 +29,16 @@
29
29
  },
30
30
  "peerDependencies": {
31
31
  "@tiptap/core": "^2.0.0",
32
- "apcore-js": "^0.13.0",
33
- "apcore-mcp": "^0.10.0"
32
+ "apcore-js": ">=0.25.0",
33
+ "apcore-mcp": "^0.17.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@tiptap/core": "^2.10.0",
37
37
  "@tiptap/pm": "^2.10.0",
38
38
  "@tiptap/starter-kit": "^2.10.0",
39
39
  "@vitest/coverage-v8": "^3.0.0",
40
- "apcore-js": "^0.13.0",
41
- "apcore-mcp": "^0.10.0",
40
+ "apcore-js": "^0.25.0",
41
+ "apcore-mcp": "^0.17.0",
42
42
  "apdev-js": "^0.2.2",
43
43
  "jsdom": "^25.0.0",
44
44
  "typescript": "^5.5.0",