@aphexcms/cms-core 9.2.1 → 9.3.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/dist/cli/generate-types.d.ts.map +1 -1
- package/dist/cli/generate-types.js +14 -1
- package/dist/cli/generate-types.js.map +1 -1
- package/dist/cli/index.js +22 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/migrate.d.ts +10 -0
- package/dist/cli/migrate.d.ts.map +1 -0
- package/dist/cli/migrate.js +80 -0
- package/dist/cli/migrate.js.map +1 -0
- package/dist/components/admin/AdminLayout.svelte.d.ts +3 -3
- package/dist/components/admin/DocumentVersionPanel.svelte +3 -0
- package/dist/components/admin/DocumentVersionPanel.svelte.d.ts.map +1 -1
- package/dist/components/admin/MediaBrowser.svelte +0 -1
- package/dist/components/admin/MediaBrowser.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/ImageField.svelte +1 -1
- package/dist/components/admin/fields/NumberField.svelte +61 -16
- package/dist/components/admin/fields/NumberField.svelte.d.ts +2 -2
- package/dist/components/admin/fields/NumberField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/StringField.svelte +26 -2
- package/dist/components/admin/fields/StringField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/richtext/PortableTextImageView.svelte +3 -0
- package/dist/components/admin/fields/richtext/PortableTextImageView.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/richtext/PortableTextInlineView.svelte +3 -1
- package/dist/components/admin/fields/richtext/PortableTextInlineView.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/richtext/PortableTextObjectView.svelte +3 -0
- package/dist/components/admin/fields/richtext/PortableTextObjectView.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/richtext/RichtextField.svelte +17 -23
- package/dist/components/admin/fields/richtext/RichtextField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/richtext/block-defaults.d.ts +4 -0
- package/dist/components/admin/fields/richtext/block-defaults.d.ts.map +1 -0
- package/dist/components/admin/fields/richtext/block-defaults.js +8 -0
- package/dist/components/admin/fields/richtext/portable-text-serializer.d.ts.map +1 -1
- package/dist/components/admin/fields/richtext/portable-text-serializer.js +6 -4
- package/dist/lib/components/admin/fields/richtext/block-defaults.d.ts +4 -0
- package/dist/lib/components/admin/fields/richtext/block-defaults.d.ts.map +1 -0
- package/dist/lib/components/admin/fields/richtext/block-defaults.js +9 -0
- package/dist/lib/components/admin/fields/richtext/block-defaults.js.map +1 -0
- package/dist/lib/components/admin/fields/richtext/portable-text-serializer.d.ts.map +1 -1
- package/dist/lib/components/admin/fields/richtext/portable-text-serializer.js +6 -4
- package/dist/lib/components/admin/fields/richtext/portable-text-serializer.js.map +1 -1
- package/dist/lib/mcp/tools.d.ts +28 -0
- package/dist/lib/mcp/tools.d.ts.map +1 -0
- package/dist/lib/mcp/tools.js +464 -0
- package/dist/lib/mcp/tools.js.map +1 -0
- package/dist/lib/routes/mcp.d.ts +5 -0
- package/dist/lib/routes/mcp.d.ts.map +1 -0
- package/dist/lib/routes/mcp.js +72 -0
- package/dist/lib/routes/mcp.js.map +1 -0
- package/dist/lib/schema-utils/validator.d.ts +6 -0
- package/dist/lib/schema-utils/validator.d.ts.map +1 -1
- package/dist/lib/schema-utils/validator.js +21 -15
- package/dist/lib/schema-utils/validator.js.map +1 -1
- package/dist/lib/server/index.d.ts +2 -1
- package/dist/lib/server/index.d.ts.map +1 -1
- package/dist/lib/server/index.js +4 -1
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/types/schemas.d.ts +13 -1
- package/dist/lib/types/schemas.d.ts.map +1 -1
- package/dist/lib/types/schemas.js.map +1 -1
- package/dist/lib/vite/index.d.ts +12 -1
- package/dist/lib/vite/index.d.ts.map +1 -1
- package/dist/lib/vite/index.js +101 -2
- package/dist/lib/vite/index.js.map +1 -1
- package/dist/mcp/tools.d.ts +28 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +463 -0
- package/dist/routes/mcp.d.ts +5 -0
- package/dist/routes/mcp.d.ts.map +1 -0
- package/dist/routes/mcp.js +71 -0
- package/dist/schema-utils/validator.d.ts +6 -0
- package/dist/schema-utils/validator.d.ts.map +1 -1
- package/dist/schema-utils/validator.js +21 -15
- package/dist/server/index.d.ts +2 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +4 -1
- package/dist/types/schemas.d.ts +13 -1
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/vite/index.d.ts +12 -1
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +101 -2
- package/package.json +3 -1
package/dist/types/schemas.d.ts
CHANGED
|
@@ -75,6 +75,7 @@ export interface DependentList {
|
|
|
75
75
|
options: Record<string, Array<string | {
|
|
76
76
|
title: string;
|
|
77
77
|
value: string;
|
|
78
|
+
icon?: typeof LucideIcon;
|
|
78
79
|
}>>;
|
|
79
80
|
}
|
|
80
81
|
export interface StringField extends BaseField {
|
|
@@ -85,9 +86,11 @@ export interface StringField extends BaseField {
|
|
|
85
86
|
list?: Array<string | {
|
|
86
87
|
title: string;
|
|
87
88
|
value: string;
|
|
89
|
+
icon?: typeof LucideIcon;
|
|
88
90
|
}> | DependentList;
|
|
89
91
|
options?: {
|
|
90
|
-
|
|
92
|
+
/** `'tabs'` renders a segmented control (great for alignment-style pickers with `icon`s). */
|
|
93
|
+
layout?: 'dropdown' | 'radio' | 'tabs';
|
|
91
94
|
direction?: 'horizontal' | 'vertical';
|
|
92
95
|
};
|
|
93
96
|
}
|
|
@@ -102,7 +105,16 @@ export interface NumberField extends BaseField {
|
|
|
102
105
|
type: 'number';
|
|
103
106
|
min?: number;
|
|
104
107
|
max?: number;
|
|
108
|
+
/** Increment for the slider / number input. Defaults to 1 for sliders. */
|
|
109
|
+
step?: number;
|
|
105
110
|
initialValue?: number | (() => number | Promise<number>);
|
|
111
|
+
options?: {
|
|
112
|
+
/** `'slider'` renders a drag slider instead of a number input. Uses `min`/`max`
|
|
113
|
+
* (default 0–100) and `step` (default 1). Defaults to `'input'`. */
|
|
114
|
+
layout?: 'input' | 'slider';
|
|
115
|
+
/** Unit suffix shown in the value label, e.g. `'px'`, `'%'`, `'rem'`. */
|
|
116
|
+
unit?: string;
|
|
117
|
+
};
|
|
106
118
|
}
|
|
107
119
|
export interface BooleanField extends BaseField {
|
|
108
120
|
type: 'boolean';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/lib/types/schemas.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;GAOG;AACH;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,OAAO,QAAQ,EAAE,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,OAAO,YAAY,EAAE,QAAQ,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GACnB,KAAK,CAAC,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GACvC,CAAC,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,SAAS,CAAC,EAAE,UAAU,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW;IAC3B,IAAI,CAAC,EAAE,KAAK,CAAC,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,KAAK,CAAC,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;CACjD;AAGD,MAAM,MAAM,SAAS,GAClB,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,SAAS,GACT,MAAM,GACN,KAAK,GACL,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,WAAW,GACX,MAAM,GACN,UAAU,CAAC;AAEd,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC;IAClE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,kDAAkD;IAClD,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,UAAU,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/lib/types/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/vite/index.d.ts
CHANGED
|
@@ -27,9 +27,19 @@ export interface AphexHMROptions {
|
|
|
27
27
|
*/
|
|
28
28
|
mode?: 'swap' | 'restart';
|
|
29
29
|
}
|
|
30
|
+
export interface AphexTypegenOptions {
|
|
31
|
+
/** Schema entry passed to `aphex generate:types`. Default `src/lib/schemaTypes/index.ts`. */
|
|
32
|
+
schema?: string;
|
|
33
|
+
/** Output file for the generated types. Default `src/lib/generated-types.ts`. */
|
|
34
|
+
output?: string;
|
|
35
|
+
/** Regenerate once when the dev server starts (catches edits made while it was down). Default `true`. */
|
|
36
|
+
runOnStart?: boolean;
|
|
37
|
+
}
|
|
30
38
|
export interface AphexOptions {
|
|
31
39
|
/** HMR plugin options. Pass `false` to disable schema HMR. */
|
|
32
40
|
hmr?: AphexHMROptions | false;
|
|
41
|
+
/** Auto type-generation options. Pass `false` to disable regenerating types on schema change. */
|
|
42
|
+
typegen?: AphexTypegenOptions | false;
|
|
33
43
|
/** Disable the dayjs ESM alias redirect. */
|
|
34
44
|
dayjs?: boolean;
|
|
35
45
|
/** Disable the SSR noExternal/external defaults for cms-core/ui packages. */
|
|
@@ -62,7 +72,8 @@ export declare function aphexHMR(options?: AphexHMROptions): Plugin;
|
|
|
62
72
|
/**
|
|
63
73
|
* One-stop Vite plugin for AphexCMS apps. Bundles:
|
|
64
74
|
*
|
|
65
|
-
* - schema HMR (
|
|
75
|
+
* - schema HMR (hot-swap the engine config on change)
|
|
76
|
+
* - auto type-generation (regenerate generated-types.ts when a schema file changes)
|
|
66
77
|
* - dayjs ESM alias redirect
|
|
67
78
|
* - SSR noExternal/external defaults for cms-core/ui packages
|
|
68
79
|
* - optimizeDeps tuning so first-render isn't slowed by lazy dep discovery
|
package/dist/vite/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/vite/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/vite/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAElD,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IACnC,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yGAAyG;IACzG,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC5B,8DAA8D;IAC9D,GAAG,CAAC,EAAE,eAAe,GAAG,KAAK,CAAC;IAC9B,iGAAiG;IACjG,OAAO,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACtC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,MAAM,CAiF9D;AAkPD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,MAAM,EAAE,CAuB1D"}
|
package/dist/vite/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
|
+
import { spawn } from 'node:child_process';
|
|
3
|
+
import { existsSync } from 'node:fs';
|
|
4
|
+
import { join } from 'node:path';
|
|
2
5
|
const require = createRequire(import.meta.url);
|
|
3
6
|
/**
|
|
4
7
|
* Watches the CMS config and schema files in dev. When any of them change,
|
|
@@ -202,7 +205,18 @@ function aphexOptimizeDeps() {
|
|
|
202
205
|
'@aphexcms/cms-core > dayjs/plugin/customParseFormat',
|
|
203
206
|
'@aphexcms/cms-core > dayjs/plugin/customParseFormat.js',
|
|
204
207
|
'@aphexcms/cms-core > dayjs/plugin/utc',
|
|
205
|
-
'@aphexcms/cms-core > dayjs/plugin/utc.js'
|
|
208
|
+
'@aphexcms/cms-core > dayjs/plugin/utc.js',
|
|
209
|
+
// TipTap powers the richtext editor, lazily imported only when a document
|
|
210
|
+
// with block content is opened — so Vite discovers it mid-session and forces
|
|
211
|
+
// a reload (which can also break in-flight dynamic route imports). Pre-bundle
|
|
212
|
+
// it upfront. Nested under cms-core (which owns the dep) so it resolves in
|
|
213
|
+
// both the monorepo and scaffolded apps — a bare '@tiptap/core' wouldn't
|
|
214
|
+
// resolve from an app that doesn't depend on TipTap directly.
|
|
215
|
+
'@aphexcms/cms-core > @tiptap/core',
|
|
216
|
+
'@aphexcms/cms-core > @tiptap/starter-kit',
|
|
217
|
+
'@aphexcms/cms-core > @tiptap/extension-link',
|
|
218
|
+
'@aphexcms/cms-core > @tiptap/extension-underline',
|
|
219
|
+
'@aphexcms/cms-core > @tiptap/pm/view'
|
|
206
220
|
]
|
|
207
221
|
}
|
|
208
222
|
};
|
|
@@ -228,10 +242,92 @@ function aphexWatchUnfilter() {
|
|
|
228
242
|
}
|
|
229
243
|
};
|
|
230
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* Regenerates `generated-types.ts` whenever a schema file changes in dev — so the typed
|
|
247
|
+
* `localAPI.collections.*`, generated document interfaces, etc. stay in sync without a manual
|
|
248
|
+
* `aphex generate:types`. Dev-only (`apply: 'serve'`); production builds expect types to already
|
|
249
|
+
* be committed.
|
|
250
|
+
*
|
|
251
|
+
* Runs the project's local `aphex generate:types` bin in a child process (the same command the
|
|
252
|
+
* `generate:types` package script runs), debounced and coalesced so rapid saves collapse into one
|
|
253
|
+
* run and overlapping runs don't pile up.
|
|
254
|
+
*/
|
|
255
|
+
function aphexTypegen(options = {}) {
|
|
256
|
+
const schema = options.schema ?? 'src/lib/schemaTypes/index.ts';
|
|
257
|
+
const output = options.output ?? 'src/lib/generated-types.ts';
|
|
258
|
+
const runOnStart = options.runOnStart ?? true;
|
|
259
|
+
const schemaDir = '/schemaTypes/';
|
|
260
|
+
return {
|
|
261
|
+
name: 'aphex:typegen',
|
|
262
|
+
apply: 'serve',
|
|
263
|
+
configureServer(server) {
|
|
264
|
+
const root = server.config.root;
|
|
265
|
+
let pending = null;
|
|
266
|
+
let running = false;
|
|
267
|
+
let rerun = false;
|
|
268
|
+
function regenerate(reason) {
|
|
269
|
+
if (running) {
|
|
270
|
+
rerun = true; // a change landed mid-run — schedule one more pass after it finishes
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
running = true;
|
|
274
|
+
const binName = process.platform === 'win32' ? 'aphex.cmd' : 'aphex';
|
|
275
|
+
const localBin = join(root, 'node_modules', '.bin', binName);
|
|
276
|
+
const useLocal = existsSync(localBin);
|
|
277
|
+
const cmd = useLocal ? localBin : process.platform === 'win32' ? 'npx.cmd' : 'npx';
|
|
278
|
+
const args = useLocal
|
|
279
|
+
? ['generate:types', schema, output]
|
|
280
|
+
: ['--no-install', 'aphex', 'generate:types', schema, output];
|
|
281
|
+
const child = spawn(cmd, args, { cwd: root, stdio: 'pipe' });
|
|
282
|
+
let stderr = '';
|
|
283
|
+
child.stderr?.on('data', (d) => (stderr += d));
|
|
284
|
+
child.on('error', (err) => {
|
|
285
|
+
running = false;
|
|
286
|
+
console.error('[aphex:typegen] failed to run generate:types:', err.message);
|
|
287
|
+
});
|
|
288
|
+
child.on('close', (code) => {
|
|
289
|
+
running = false;
|
|
290
|
+
if (code === 0) {
|
|
291
|
+
console.log(`🧬 [aphex] regenerated ${output} (${reason})`);
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
console.error(`[aphex:typegen] generate:types exited with code ${code}\n${stderr}`);
|
|
295
|
+
}
|
|
296
|
+
if (rerun) {
|
|
297
|
+
rerun = false;
|
|
298
|
+
regenerate('coalesced change');
|
|
299
|
+
}
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
function schedule(reason) {
|
|
303
|
+
if (pending)
|
|
304
|
+
clearTimeout(pending);
|
|
305
|
+
pending = setTimeout(() => {
|
|
306
|
+
pending = null;
|
|
307
|
+
regenerate(reason);
|
|
308
|
+
}, 250);
|
|
309
|
+
}
|
|
310
|
+
if (runOnStart)
|
|
311
|
+
schedule('startup');
|
|
312
|
+
for (const event of ['change', 'add', 'unlink']) {
|
|
313
|
+
server.watcher.on(event, (file) => {
|
|
314
|
+
const normalized = file.replace(/\\/g, '/');
|
|
315
|
+
// Only react to schema files — never to the generated output (which would loop).
|
|
316
|
+
if (normalized.includes(schemaDir) &&
|
|
317
|
+
normalized.endsWith('.ts') &&
|
|
318
|
+
!normalized.endsWith('generated-types.ts')) {
|
|
319
|
+
schedule(`schema change: ${normalized.split('/').pop()}`);
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
}
|
|
231
326
|
/**
|
|
232
327
|
* One-stop Vite plugin for AphexCMS apps. Bundles:
|
|
233
328
|
*
|
|
234
|
-
* - schema HMR (
|
|
329
|
+
* - schema HMR (hot-swap the engine config on change)
|
|
330
|
+
* - auto type-generation (regenerate generated-types.ts when a schema file changes)
|
|
235
331
|
* - dayjs ESM alias redirect
|
|
236
332
|
* - SSR noExternal/external defaults for cms-core/ui packages
|
|
237
333
|
* - optimizeDeps tuning so first-render isn't slowed by lazy dep discovery
|
|
@@ -256,6 +352,9 @@ export function aphex(options = {}) {
|
|
|
256
352
|
if (options.hmr !== false) {
|
|
257
353
|
plugins.push(aphexHMR(options.hmr ?? {}));
|
|
258
354
|
}
|
|
355
|
+
if (options.typegen !== false) {
|
|
356
|
+
plugins.push(aphexTypegen(options.typegen ?? {}));
|
|
357
|
+
}
|
|
259
358
|
if (options.dayjs !== false) {
|
|
260
359
|
plugins.push(aphexDayjsAlias());
|
|
261
360
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aphexcms/cms-core",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.3.0",
|
|
4
4
|
"description": "Aphex CMS Core - A Sanity-style CMS with ports and adapters architecture",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -101,7 +101,9 @@
|
|
|
101
101
|
"@clack/prompts": "^0.11.0",
|
|
102
102
|
"@dnd-kit/helpers": "^0.3.0",
|
|
103
103
|
"@dnd-kit/svelte": "^0.3.0",
|
|
104
|
+
"@hono/mcp": "^0.3.0",
|
|
104
105
|
"@hono/zod-validator": "^0.7.6",
|
|
106
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
105
107
|
"@tiptap/core": "^3.23.4",
|
|
106
108
|
"@tiptap/extension-link": "^3.23.4",
|
|
107
109
|
"@tiptap/extension-underline": "^3.23.4",
|