@artkit-ai/core 0.1.0 → 0.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.
- package/dist/adapter.d.ts +119 -0
- package/dist/adapter.d.ts.map +1 -0
- package/dist/adapter.js +45 -0
- package/dist/adapter.js.map +1 -0
- package/dist/diff.d.ts +1 -1
- package/dist/diff.d.ts.map +1 -1
- package/dist/engine.d.ts +29 -23
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +148 -197
- package/dist/engine.js.map +1 -1
- package/dist/envelope.d.ts +10 -27
- package/dist/envelope.d.ts.map +1 -1
- package/dist/envelope.js +8 -20
- package/dist/envelope.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +4 -4
- package/dist/errors.js.map +1 -1
- package/dist/events.d.ts +2 -10
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/i18n.d.ts +8 -14
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +12 -18
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +1 -2
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/memory.d.ts +0 -2
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +15 -109
- package/dist/memory.js.map +1 -1
- package/dist/migrations.d.ts +6 -5
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +20 -14
- package/dist/migrations.js.map +1 -1
- package/dist/projection.d.ts +22 -6
- package/dist/projection.d.ts.map +1 -1
- package/dist/projection.js +5 -5
- package/dist/projection.js.map +1 -1
- package/dist/registry.d.ts +17 -16
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +25 -25
- package/dist/registry.js.map +1 -1
- package/dist/service.d.ts +19 -51
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +119 -404
- package/dist/service.js.map +1 -1
- package/dist/store.d.ts +12 -61
- package/dist/store.d.ts.map +1 -1
- package/dist/testing/index.d.ts +10 -9
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +75 -136
- package/dist/testing/index.js.map +1 -1
- package/dist/theme.js +1 -1
- package/dist/ui.d.ts +18 -1
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +5 -3
- package/dist/ui.js.map +1 -1
- package/package.json +1 -1
- package/src/adapter.ts +180 -0
- package/src/diff.ts +1 -1
- package/src/engine.ts +183 -230
- package/src/envelope.ts +11 -29
- package/src/errors.ts +4 -4
- package/src/events.ts +2 -11
- package/src/i18n.ts +14 -20
- package/src/index.ts +2 -4
- package/src/logger.ts +1 -2
- package/src/memory.ts +16 -122
- package/src/migrations.ts +24 -18
- package/src/projection.ts +25 -7
- package/src/registry.ts +45 -41
- package/src/service.ts +144 -540
- package/src/store.ts +12 -64
- package/src/testing/index.ts +89 -164
- package/src/theme.ts +1 -1
- package/src/ui.ts +24 -4
- package/dist/kind.d.ts +0 -156
- package/dist/kind.d.ts.map +0 -1
- package/dist/kind.js +0 -52
- package/dist/kind.js.map +0 -1
- package/src/kind.ts +0 -217
package/dist/registry.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { assertFormatContract } from './adapter.js';
|
|
1
2
|
import { ArtifactError } from './errors.js';
|
|
2
3
|
import { t } from './i18n.js';
|
|
3
|
-
import { assertKindContract } from './kind.js';
|
|
4
4
|
import { defaultTheme, themeSchema } from './theme.js';
|
|
5
5
|
export const EXPORT_FORMATS = [
|
|
6
6
|
'docx',
|
|
@@ -16,40 +16,40 @@ export const EXPORT_FORMATS = [
|
|
|
16
16
|
];
|
|
17
17
|
export const DEFAULT_BATCH_LIMITS = { maxOperations: 200, maxEnvelopeBytes: 5 * 1024 * 1024 };
|
|
18
18
|
export function createRegistry(options = {}) {
|
|
19
|
-
const
|
|
19
|
+
const formats = new Map();
|
|
20
20
|
const themes = new Map([[defaultTheme.id, defaultTheme]]);
|
|
21
21
|
const exporters = new Map();
|
|
22
22
|
const limitOverrides = options.limits ?? {};
|
|
23
23
|
const batch = { ...DEFAULT_BATCH_LIMITS, ...options.batch };
|
|
24
24
|
const registry = {
|
|
25
25
|
batch,
|
|
26
|
-
register(
|
|
27
|
-
if (
|
|
28
|
-
throw new ArtifactError('
|
|
26
|
+
register(adapter) {
|
|
27
|
+
if (formats.has(adapter.format)) {
|
|
28
|
+
throw new ArtifactError('DUPLICATE_FORMAT', t(undefined, 'DUPLICATE_FORMAT', { format: adapter.format }));
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
assertFormatContract(adapter);
|
|
31
|
+
formats.set(adapter.format, adapter);
|
|
32
32
|
},
|
|
33
|
-
get(
|
|
34
|
-
const found =
|
|
33
|
+
get(format, locale) {
|
|
34
|
+
const found = formats.get(format);
|
|
35
35
|
if (!found) {
|
|
36
|
-
throw new ArtifactError('
|
|
36
|
+
throw new ArtifactError('UNKNOWN_FORMAT', t(locale, 'UNKNOWN_FORMAT', { format }), {
|
|
37
37
|
issues: [
|
|
38
38
|
{
|
|
39
|
-
path: '
|
|
40
|
-
message: t(locale, '
|
|
41
|
-
hint: t(locale, '
|
|
39
|
+
path: 'format',
|
|
40
|
+
message: t(locale, 'UNKNOWN_FORMAT', { format }),
|
|
41
|
+
hint: t(locale, 'UNKNOWN_FORMAT_HINT', { available: [...formats.keys()].join(', ') }),
|
|
42
42
|
},
|
|
43
43
|
],
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
return found;
|
|
47
47
|
},
|
|
48
|
-
has: (
|
|
49
|
-
|
|
50
|
-
limits(
|
|
51
|
-
const base = registry.get(
|
|
52
|
-
const overrides = Object.fromEntries(Object.entries(limitOverrides[
|
|
48
|
+
has: (format) => formats.has(format),
|
|
49
|
+
formats: () => [...formats.values()],
|
|
50
|
+
limits(format) {
|
|
51
|
+
const base = registry.get(format).limits;
|
|
52
|
+
const overrides = Object.fromEntries(Object.entries(limitOverrides[format] ?? {}).filter(([, v]) => v !== undefined));
|
|
53
53
|
return { ...base, ...overrides };
|
|
54
54
|
},
|
|
55
55
|
registerTheme(theme) {
|
|
@@ -64,22 +64,22 @@ export function createRegistry(options = {}) {
|
|
|
64
64
|
hasTheme: (id) => themes.has(id),
|
|
65
65
|
themes: () => [...themes.values()],
|
|
66
66
|
registerExporter(exporter, opts) {
|
|
67
|
-
const key = `${exporter.
|
|
67
|
+
const key = `${exporter.format}:${exporter.target}`;
|
|
68
68
|
if (exporters.has(key) && !opts?.replace) {
|
|
69
69
|
throw new Error(`Exporter ${key} is already registered; pass { replace: true } to override it.`);
|
|
70
70
|
}
|
|
71
71
|
exporters.set(key, exporter);
|
|
72
72
|
},
|
|
73
|
-
exporter(
|
|
74
|
-
const found = exporters.get(`${
|
|
73
|
+
exporter(format, target, locale) {
|
|
74
|
+
const found = exporters.get(`${format}:${target}`);
|
|
75
75
|
if (!found)
|
|
76
|
-
throw new ArtifactError('NOT_FOUND', t(locale, 'EXPORTER_NOT_FOUND', {
|
|
76
|
+
throw new ArtifactError('NOT_FOUND', t(locale, 'EXPORTER_NOT_FOUND', { format, target }));
|
|
77
77
|
return found;
|
|
78
78
|
},
|
|
79
|
-
exporters: (
|
|
79
|
+
exporters: (format) => [...exporters.values()].filter((e) => format === undefined || e.format === format),
|
|
80
80
|
};
|
|
81
|
-
for (const
|
|
82
|
-
registry.register(
|
|
81
|
+
for (const adapter of options.formats ?? [])
|
|
82
|
+
registry.register(adapter);
|
|
83
83
|
for (const theme of options.themes ?? [])
|
|
84
84
|
registry.registerTheme(theme);
|
|
85
85
|
for (const exporter of options.exporters ?? [])
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/service.d.ts
CHANGED
|
@@ -1,24 +1,15 @@
|
|
|
1
|
+
import type { AnyFormatAdapter, ChangeSummary, LintIssue } from './adapter.js';
|
|
1
2
|
import type { AssetRef, AssetResolver } from './assets.js';
|
|
2
|
-
import {
|
|
3
|
-
import { type BatchResult, envelopeOperationSchema } from './engine.js';
|
|
3
|
+
import { type BatchResult } from './engine.js';
|
|
4
4
|
import { type Artifact, type ArtifactSummary } from './envelope.js';
|
|
5
5
|
import { type EventBus } from './events.js';
|
|
6
|
-
import type { ChangeSummary, LintIssue, Projection, ProjectionOptions } from './kind.js';
|
|
7
6
|
import { type Logger, type MetricsHooks } from './logger.js';
|
|
7
|
+
import { type Projection, type ProjectionOptions } from './projection.js';
|
|
8
8
|
import type { ArtifactRegistry } from './registry.js';
|
|
9
|
-
import type { ArtifactFilter, ArtifactStore, AssetStore, Lock, Page, PageRequest, Scope
|
|
10
|
-
export type ArtifactAction = 'create' | 'read' | 'apply' | 'export' | 'list' | '
|
|
11
|
-
/** Mandatory authorization hook in toolkits (spec §16). Return false to deny. */
|
|
9
|
+
import type { ArtifactFilter, ArtifactStore, AssetStore, Lock, Page, PageRequest, Scope } from './store.js';
|
|
10
|
+
export type ArtifactAction = 'create' | 'read' | 'apply' | 'export' | 'list' | 'lock';
|
|
11
|
+
/** Mandatory authorization hook in toolkits (spec §16 and §15.1). Return false to deny. */
|
|
12
12
|
export type AuthorizeFn = (action: ArtifactAction, artifact: ArtifactSummary | null, scope: Scope) => boolean | Promise<boolean>;
|
|
13
|
-
export interface ApprovalPolicy {
|
|
14
|
-
/** Publishing goes through submit → approve (default true). */
|
|
15
|
-
requireApprovalToPublish: boolean;
|
|
16
|
-
/** Only published artifacts can be exported (default false). */
|
|
17
|
-
requireApprovalToExport: boolean;
|
|
18
|
-
/** Agents cannot edit published artifacts without approval (default false). Edits create a new draft. */
|
|
19
|
-
requireApprovalToEditPublished: boolean;
|
|
20
|
-
}
|
|
21
|
-
export declare const DEFAULT_APPROVAL_POLICY: ApprovalPolicy;
|
|
22
13
|
export interface ArtifactServiceOptions {
|
|
23
14
|
registry: ArtifactRegistry;
|
|
24
15
|
store: ArtifactStore;
|
|
@@ -32,46 +23,34 @@ export interface ArtifactServiceOptions {
|
|
|
32
23
|
/** Default locale of new artifacts. */
|
|
33
24
|
defaultArtifactLocale?: string;
|
|
34
25
|
defaultThemeId?: string;
|
|
35
|
-
policy?: Partial<ApprovalPolicy>;
|
|
36
|
-
/** Times a commit is retried when another writer wins the race (default 3). */
|
|
37
|
-
commitRetries?: number;
|
|
38
26
|
/** Default export timeout (default 60s). */
|
|
39
27
|
exportTimeoutMs?: number;
|
|
40
28
|
}
|
|
41
29
|
export interface CreateRequest {
|
|
42
|
-
|
|
30
|
+
format: string;
|
|
43
31
|
title: string;
|
|
32
|
+
/** Native content: Markdown text, OpenUI Lang text or an `IWorkbookData` object (spec §15.1). */
|
|
44
33
|
content?: unknown;
|
|
45
|
-
/**
|
|
46
|
-
|
|
47
|
-
format: string;
|
|
48
|
-
source: unknown;
|
|
49
|
-
};
|
|
34
|
+
/** Initial batch applied on the adapter's empty content, e.g. the first operations of a sheet. */
|
|
35
|
+
operations?: unknown[];
|
|
50
36
|
locale?: string;
|
|
51
37
|
themeId?: string;
|
|
52
38
|
tags?: string[];
|
|
53
|
-
message?: string;
|
|
54
|
-
idempotencyKey?: string;
|
|
55
39
|
}
|
|
56
40
|
export interface CommitResult {
|
|
57
41
|
artifact: Artifact;
|
|
58
42
|
version: number;
|
|
59
|
-
|
|
43
|
+
createdRefs: string[];
|
|
60
44
|
diff: ChangeSummary[];
|
|
61
45
|
lint: LintIssue[];
|
|
62
|
-
/** True when the batch was applied on a newer version than its baseVersion. */
|
|
63
|
-
rebased: boolean;
|
|
64
|
-
/** True when an earlier call with the same idempotency key was replayed. */
|
|
65
|
-
replayed: boolean;
|
|
66
46
|
}
|
|
67
47
|
export interface ApplyRequest {
|
|
68
48
|
artifactId: string;
|
|
49
|
+
/** Version the operations were computed against. Anything else than the current version is a VERSION_CONFLICT. */
|
|
69
50
|
baseVersion: number;
|
|
70
51
|
operations: unknown[];
|
|
71
|
-
idempotencyKey?: string;
|
|
72
|
-
message?: string;
|
|
73
52
|
}
|
|
74
|
-
export interface
|
|
53
|
+
export interface ArtifactReadResult {
|
|
75
54
|
artifact: ArtifactSummary;
|
|
76
55
|
version: number;
|
|
77
56
|
projection: Projection;
|
|
@@ -80,8 +59,8 @@ export interface ReadResult {
|
|
|
80
59
|
}
|
|
81
60
|
export interface ExportRequest {
|
|
82
61
|
artifactId: string;
|
|
62
|
+
/** Target file format: `docx`, `xlsx`, `pptx`, `pdf`, `png`, `html`, `md`, `csv`… */
|
|
83
63
|
format: string;
|
|
84
|
-
version?: number;
|
|
85
64
|
signal?: AbortSignal;
|
|
86
65
|
timeoutMs?: number;
|
|
87
66
|
/** Store the result in the AssetStore and return its reference. */
|
|
@@ -104,23 +83,12 @@ export interface ArtifactService {
|
|
|
104
83
|
readonly registry: ArtifactRegistry;
|
|
105
84
|
readonly events: EventBus;
|
|
106
85
|
create(scope: Scope, request: CreateRequest): Promise<CommitResult>;
|
|
107
|
-
get(scope: Scope, id: string
|
|
108
|
-
|
|
109
|
-
}): Promise<Artifact>;
|
|
110
|
-
read(scope: Scope, id: string, options?: Partial<ProjectionOptions> & {
|
|
111
|
-
version?: number;
|
|
112
|
-
}): Promise<ReadResult>;
|
|
86
|
+
get(scope: Scope, id: string): Promise<Artifact>;
|
|
87
|
+
read(scope: Scope, id: string, options?: Partial<ProjectionOptions>): Promise<ArtifactReadResult>;
|
|
113
88
|
apply(scope: Scope, request: ApplyRequest): Promise<CommitResult>;
|
|
114
89
|
/** Pure dry run on the current version: validates and returns diff/lint without committing. */
|
|
115
90
|
preview(scope: Scope, request: ApplyRequest): Promise<BatchResult>;
|
|
116
91
|
list(scope: Scope, filter?: ArtifactFilter, page?: PageRequest): Promise<Page<ArtifactSummary>>;
|
|
117
|
-
history(scope: Scope, id: string, page?: PageRequest): Promise<Page<VersionEntry>>;
|
|
118
|
-
restore(scope: Scope, id: string, version: number, message?: string): Promise<CommitResult>;
|
|
119
|
-
submit(scope: Scope, id: string, message?: string): Promise<Artifact>;
|
|
120
|
-
approve(scope: Scope, id: string, message?: string): Promise<Artifact>;
|
|
121
|
-
reject(scope: Scope, id: string, reason?: string): Promise<Artifact>;
|
|
122
|
-
publish(scope: Scope, id: string): Promise<Artifact>;
|
|
123
|
-
archive(scope: Scope, id: string): Promise<Artifact>;
|
|
124
92
|
lock(scope: Scope, id: string, ttlMs?: number): Promise<Lock>;
|
|
125
93
|
unlock(scope: Scope, lock: Lock): Promise<void>;
|
|
126
94
|
/** Current lock holder, or null; lets UIs show who is editing before trying to write. */
|
|
@@ -130,10 +98,10 @@ export interface ArtifactService {
|
|
|
130
98
|
assetResolver(scope: Scope): AssetResolver;
|
|
131
99
|
}
|
|
132
100
|
/**
|
|
133
|
-
* The
|
|
134
|
-
*
|
|
101
|
+
* The core pipeline (spec §9.1): authorization, migration, baseVersion check, atomic apply, optimistic commit, events
|
|
102
|
+
* and metadata-only logging. There is no history, approval or archive here: the harness decides what a save means.
|
|
135
103
|
*/
|
|
136
104
|
export declare function createArtifactService(options: ArtifactServiceOptions): ArtifactService;
|
|
137
105
|
export declare function slugify(title: string): string;
|
|
138
|
-
export {
|
|
106
|
+
export type { AnyFormatAdapter };
|
|
139
107
|
//# sourceMappingURL=service.d.ts.map
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|