@trojanbox-vcp-test/site-edit-engine 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.
Files changed (163) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.js +127 -2
  3. package/dist/internal/protocol/operation.d.ts +2 -0
  4. package/dist/internal/protocol/render.d.ts +3 -30
  5. package/dist/internal/protocol.d.ts +1 -1
  6. package/dist/next-app-router.js +1 -140
  7. package/dist/preview-runtime.d.ts +249 -303
  8. package/dist/runtime-sync.d.ts +8 -8
  9. package/dist/runtime.d.ts +1 -127
  10. package/dist/site-edit-instrumentation.d.ts +1 -1
  11. package/dist/source-watcher.js +1 -150
  12. package/dist/types.d.ts +12 -14
  13. package/dist/webpack-loader.cjs +50 -588
  14. package/package.json +2 -2
  15. package/dist/execute-integration/execute-fixture-harness.d.ts +0 -25
  16. package/dist/execute-integration/execute-fixture-harness.js +0 -37
  17. package/dist/internal/ast/diagnostics/index.d.ts +0 -5
  18. package/dist/internal/ast/diagnostics/index.js +0 -25
  19. package/dist/internal/ast/history/index.d.ts +0 -15
  20. package/dist/internal/ast/history/index.js +0 -62
  21. package/dist/internal/ast/index.d.ts +0 -8
  22. package/dist/internal/ast/index.js +0 -5
  23. package/dist/internal/ast/locators/index.d.ts +0 -1
  24. package/dist/internal/ast/locators/index.js +0 -1
  25. package/dist/internal/ast/locators/resolve-locator.d.ts +0 -16
  26. package/dist/internal/ast/locators/resolve-locator.js +0 -920
  27. package/dist/internal/ast/parser/SourceParser.d.ts +0 -30
  28. package/dist/internal/ast/parser/SourceParser.js +0 -49
  29. package/dist/internal/ast/parser/index.d.ts +0 -21
  30. package/dist/internal/ast/parser/index.js +0 -64
  31. package/dist/internal/ast/primitives/conditional/conditional-primitives.d.ts +0 -18
  32. package/dist/internal/ast/primitives/conditional/conditional-primitives.js +0 -237
  33. package/dist/internal/ast/primitives/conditional/index.d.ts +0 -1
  34. package/dist/internal/ast/primitives/conditional/index.js +0 -1
  35. package/dist/internal/ast/primitives/imports/add-import.d.ts +0 -18
  36. package/dist/internal/ast/primitives/imports/add-import.js +0 -111
  37. package/dist/internal/ast/primitives/imports/index.d.ts +0 -2
  38. package/dist/internal/ast/primitives/imports/index.js +0 -2
  39. package/dist/internal/ast/primitives/imports/remove-import.d.ts +0 -15
  40. package/dist/internal/ast/primitives/imports/remove-import.js +0 -72
  41. package/dist/internal/ast/primitives/index.d.ts +0 -10
  42. package/dist/internal/ast/primitives/index.js +0 -10
  43. package/dist/internal/ast/primitives/jsx/index.d.ts +0 -4
  44. package/dist/internal/ast/primitives/jsx/index.js +0 -4
  45. package/dist/internal/ast/primitives/jsx/insert-child.d.ts +0 -11
  46. package/dist/internal/ast/primitives/jsx/insert-child.js +0 -69
  47. package/dist/internal/ast/primitives/jsx/move-node.d.ts +0 -9
  48. package/dist/internal/ast/primitives/jsx/move-node.js +0 -76
  49. package/dist/internal/ast/primitives/jsx/remove-node.d.ts +0 -7
  50. package/dist/internal/ast/primitives/jsx/remove-node.js +0 -36
  51. package/dist/internal/ast/primitives/jsx/update-text.d.ts +0 -8
  52. package/dist/internal/ast/primitives/jsx/update-text.js +0 -81
  53. package/dist/internal/ast/primitives/next/index.d.ts +0 -1
  54. package/dist/internal/ast/primitives/next/index.js +0 -1
  55. package/dist/internal/ast/primitives/next/next-primitives.d.ts +0 -43
  56. package/dist/internal/ast/primitives/next/next-primitives.js +0 -211
  57. package/dist/internal/ast/primitives/shared.d.ts +0 -60
  58. package/dist/internal/ast/primitives/shared.js +0 -176
  59. package/dist/internal/ast/primitives/style/class-expression.d.ts +0 -23
  60. package/dist/internal/ast/primitives/style/class-expression.js +0 -174
  61. package/dist/internal/ast/primitives/style/index.d.ts +0 -1
  62. package/dist/internal/ast/primitives/style/index.js +0 -1
  63. package/dist/internal/ast/primitives/style/style-primitives.d.ts +0 -49
  64. package/dist/internal/ast/primitives/style/style-primitives.js +0 -555
  65. package/dist/internal/ast/primitives/values/index.d.ts +0 -1
  66. package/dist/internal/ast/primitives/values/index.js +0 -1
  67. package/dist/internal/ast/primitives/values/value-primitives.d.ts +0 -42
  68. package/dist/internal/ast/primitives/values/value-primitives.js +0 -158
  69. package/dist/internal/ast/printer/SourcePrinter.d.ts +0 -21
  70. package/dist/internal/ast/printer/SourcePrinter.js +0 -76
  71. package/dist/internal/ast/printer/index.d.ts +0 -6
  72. package/dist/internal/ast/printer/index.js +0 -126
  73. package/dist/internal/ast/types.d.ts +0 -190
  74. package/dist/internal/ast/types.js +0 -1
  75. package/dist/internal/capability/capability-resolver.d.ts +0 -16
  76. package/dist/internal/capability/capability-resolver.js +0 -127
  77. package/dist/internal/classname-source.d.ts +0 -24
  78. package/dist/internal/classname-source.js +0 -220
  79. package/dist/internal/contracts/IEditEngineRuntime.d.ts +0 -18
  80. package/dist/internal/contracts/IEditEngineRuntime.js +0 -1
  81. package/dist/internal/domain/EditDiagnostic.d.ts +0 -38
  82. package/dist/internal/domain/EditDiagnostic.js +0 -43
  83. package/dist/internal/events/event-bus.d.ts +0 -14
  84. package/dist/internal/events/event-bus.js +0 -21
  85. package/dist/internal/graph/graph-builder.d.ts +0 -12
  86. package/dist/internal/graph/graph-builder.js +0 -1371
  87. package/dist/internal/graph/import-resolver.d.ts +0 -31
  88. package/dist/internal/graph/import-resolver.js +0 -109
  89. package/dist/internal/graph/project-graph-builder.d.ts +0 -32
  90. package/dist/internal/graph/project-graph-builder.js +0 -133
  91. package/dist/internal/graph/types.d.ts +0 -114
  92. package/dist/internal/graph/types.js +0 -6
  93. package/dist/internal/history/undo-redo.d.ts +0 -28
  94. package/dist/internal/history/undo-redo.js +0 -42
  95. package/dist/internal/index.d.ts +0 -2
  96. package/dist/internal/index.js +0 -1
  97. package/dist/internal/planner/planner.d.ts +0 -104
  98. package/dist/internal/planner/planner.js +0 -2533
  99. package/dist/internal/planner/types.d.ts +0 -275
  100. package/dist/internal/planner/types.js +0 -6
  101. package/dist/internal/protocol/boundary.js +0 -3
  102. package/dist/internal/protocol/capability.js +0 -8
  103. package/dist/internal/protocol/error.js +0 -38
  104. package/dist/internal/protocol/event.js +0 -3
  105. package/dist/internal/protocol/identity.js +0 -30
  106. package/dist/internal/protocol/operation.js +0 -8
  107. package/dist/internal/protocol/render.js +0 -3
  108. package/dist/internal/protocol.js +0 -2
  109. package/dist/internal/provenance/binding-graph.d.ts +0 -39
  110. package/dist/internal/provenance/binding-graph.js +0 -184
  111. package/dist/internal/provenance/capability-policy.d.ts +0 -15
  112. package/dist/internal/provenance/capability-policy.js +0 -96
  113. package/dist/internal/provenance/data-source-classifier.d.ts +0 -14
  114. package/dist/internal/provenance/data-source-classifier.js +0 -281
  115. package/dist/internal/provenance/resolve-text-provenance.d.ts +0 -45
  116. package/dist/internal/provenance/resolve-text-provenance.js +0 -3090
  117. package/dist/internal/provenance/types.d.ts +0 -89
  118. package/dist/internal/provenance/types.js +0 -1
  119. package/dist/internal/render/component-semantic.d.ts +0 -11
  120. package/dist/internal/render/component-semantic.js +0 -141
  121. package/dist/internal/render/content-model.d.ts +0 -3
  122. package/dist/internal/render/content-model.js +0 -89
  123. package/dist/internal/render/media-model.d.ts +0 -3
  124. package/dist/internal/render/media-model.js +0 -45
  125. package/dist/internal/render/provenance-types.d.ts +0 -33
  126. package/dist/internal/render/provenance-types.js +0 -1
  127. package/dist/internal/render/render-projection.d.ts +0 -24
  128. package/dist/internal/render/render-projection.js +0 -281
  129. package/dist/internal/render/tailwind-style-model.d.ts +0 -19
  130. package/dist/internal/render/tailwind-style-model.js +0 -1187
  131. package/dist/internal/runtime/EditEngineRuntime.d.ts +0 -25
  132. package/dist/internal/runtime/EditEngineRuntime.js +0 -89
  133. package/dist/internal/runtime/EditEngineRuntimeSnapshot.d.ts +0 -31
  134. package/dist/internal/runtime/EditEngineRuntimeSnapshot.js +0 -15
  135. package/dist/internal/runtime/InternalEditEngine.d.ts +0 -44
  136. package/dist/internal/runtime/InternalEditEngine.js +0 -1391
  137. package/dist/internal/runtime.d.ts +0 -3
  138. package/dist/internal/runtime.js +0 -1
  139. package/dist/internal/topology/topology.d.ts +0 -6
  140. package/dist/internal/topology/topology.js +0 -98
  141. package/dist/internal/topology/types.d.ts +0 -35
  142. package/dist/internal/topology/types.js +0 -5
  143. package/dist/internal/types.d.ts +0 -1
  144. package/dist/internal/types.js +0 -1
  145. package/dist/internal/writeback/in-memory-fs.d.ts +0 -7
  146. package/dist/internal/writeback/in-memory-fs.js +0 -44
  147. package/dist/internal/writeback/types.d.ts +0 -45
  148. package/dist/internal/writeback/types.js +0 -7
  149. package/dist/internal/writeback/writeback-service.d.ts +0 -7
  150. package/dist/internal/writeback/writeback-service.js +0 -568
  151. package/dist/internal-adapter.d.ts +0 -18
  152. package/dist/internal-adapter.js +0 -350
  153. package/dist/next-app-router-fs.js +0 -64
  154. package/dist/preview-runtime.js +0 -102
  155. package/dist/public-file-system.js +0 -1
  156. package/dist/runtime-sync.js +0 -321
  157. package/dist/runtime.js +0 -134
  158. package/dist/site-edit-instrumentation.js +0 -322
  159. package/dist/snapshot-file-system.d.ts +0 -19
  160. package/dist/snapshot-file-system.js +0 -49
  161. package/dist/source-writeback-test-harness.d.ts +0 -244
  162. package/dist/source-writeback-test-harness.js +0 -119
  163. package/dist/types.js +0 -1
@@ -1,25 +0,0 @@
1
- import type { SiteEditGetClassNameSourceResult, SiteEditObjectCapabilities, SiteEditSetClassNameSourceRequest, SiteEditSetClassNameSourceResult } from "@trojanbox-vcp-test/contracts";
2
- import type { DesignerEvent, OperationRequest, OperationResult, RenderDocument, RenderObjectDetail } from "../protocol.js";
3
- import type { IEditEngineRuntime } from "../contracts/IEditEngineRuntime.js";
4
- import type { EditEngineRuntimeOptions } from "./EditEngineRuntimeSnapshot.js";
5
- export declare class EditEngineRuntime implements IEditEngineRuntime {
6
- private readonly engine;
7
- private readonly options;
8
- constructor(options: EditEngineRuntimeOptions);
9
- get status(): IEditEngineRuntime["status"];
10
- registerRoute(routeId: string, entryFile: string): void;
11
- setActiveRoute(routeId: string): Promise<void>;
12
- getDocument(routeId: string): RenderDocument;
13
- getObjectCapabilities(key: string, routeId?: string): SiteEditObjectCapabilities;
14
- getRenderDetail(key: string, routeId?: string): RenderObjectDetail;
15
- getClassNameSource(key: string, routeId?: string): SiteEditGetClassNameSourceResult;
16
- setClassNameSource(request: SiteEditSetClassNameSourceRequest): Promise<SiteEditSetClassNameSourceResult>;
17
- execute(request: OperationRequest): Promise<OperationResult>;
18
- undo(): Promise<OperationResult>;
19
- redo(): Promise<OperationResult>;
20
- notifyFileChanged(file: string): void;
21
- subscribe(listener: (event: DesignerEvent) => void): () => void;
22
- dispose(): void;
23
- private createFileSystem;
24
- }
25
- export declare function createEditEngineRuntime(options: EditEngineRuntimeOptions): IEditEngineRuntime;
@@ -1,89 +0,0 @@
1
- import fs from "node:fs/promises";
2
- import path from "node:path";
3
- import { createInternalEditEngine, } from "./InternalEditEngine.js";
4
- export class EditEngineRuntime {
5
- constructor(options) {
6
- this.options = options;
7
- this.engine = createInternalEditEngine({
8
- ...options,
9
- fileSystem: this.createFileSystem(),
10
- });
11
- }
12
- get status() {
13
- return this.engine.status;
14
- }
15
- registerRoute(routeId, entryFile) {
16
- this.engine.registerRoute(routeId, entryFile);
17
- }
18
- async setActiveRoute(routeId) {
19
- await this.engine.setActiveRoute(routeId);
20
- }
21
- getDocument(routeId) {
22
- return this.engine.getDocument(routeId);
23
- }
24
- getObjectCapabilities(key, routeId) {
25
- return this.engine.getObjectCapabilities(key, routeId);
26
- }
27
- getRenderDetail(key, routeId) {
28
- return this.engine.getRenderDetail(key, routeId);
29
- }
30
- getClassNameSource(key, routeId) {
31
- return this.engine.getClassNameSource(key, routeId);
32
- }
33
- setClassNameSource(request) {
34
- return this.engine.setClassNameSource(request);
35
- }
36
- execute(request) {
37
- return this.engine.execute(request);
38
- }
39
- undo() {
40
- return this.engine.undo();
41
- }
42
- redo() {
43
- return this.engine.redo();
44
- }
45
- notifyFileChanged(file) {
46
- this.engine.notifyFileChanged(file);
47
- }
48
- subscribe(listener) {
49
- return this.engine.subscribe(listener);
50
- }
51
- dispose() {
52
- this.engine.dispose();
53
- }
54
- createFileSystem() {
55
- if (this.options.fileSystem) {
56
- return this.options.fileSystem;
57
- }
58
- const versions = new Map();
59
- const { projectRoot } = this.options;
60
- return {
61
- async readFile(file) {
62
- return fs.readFile(path.join(projectRoot, file), "utf8");
63
- },
64
- async writeFile(file, content) {
65
- await fs.writeFile(path.join(projectRoot, file), content, "utf8");
66
- },
67
- async exists(file) {
68
- try {
69
- await fs.access(path.join(projectRoot, file));
70
- return true;
71
- }
72
- catch {
73
- return false;
74
- }
75
- },
76
- getVersion(file) {
77
- return versions.get(file) ?? 0;
78
- },
79
- bumpVersion(file) {
80
- const nextVersion = (versions.get(file) ?? 0) + 1;
81
- versions.set(file, nextVersion);
82
- return nextVersion;
83
- },
84
- };
85
- }
86
- }
87
- export function createEditEngineRuntime(options) {
88
- return new EditEngineRuntime(options);
89
- }
@@ -1,31 +0,0 @@
1
- import type { DesignerEvent, RenderDocument, RenderObjectDetail } from "../protocol.js";
2
- import type { ExternalSourceResolver, FunctionCallContract } from "../provenance/types.js";
3
- import type { ProjectFileSystem } from "../types.js";
4
- import type { ExternalWritebackAdapter } from "../writeback/types.js";
5
- export type { ExternalSourceResolver, FunctionCallContract, } from "../provenance/types.js";
6
- export type { ProjectFileSystem } from "../types.js";
7
- export type { ExternalWritebackAdapter } from "../writeback/types.js";
8
- export type RuntimeRouteConfig = {
9
- routeId: string;
10
- entryFile: string;
11
- };
12
- export type EditEngineRuntimeOptions = {
13
- projectRoot: string;
14
- fileSystem?: ProjectFileSystem;
15
- externalAdapters?: ExternalWritebackAdapter[];
16
- externalSourceResolvers?: ExternalSourceResolver[];
17
- functionCallContracts?: FunctionCallContract[];
18
- onEvent?: (event: DesignerEvent) => void;
19
- dev?: boolean;
20
- routes: RuntimeRouteConfig[];
21
- };
22
- export declare class EditEngineRuntimeSnapshot {
23
- readonly routeId: string;
24
- readonly initialDocument: RenderDocument;
25
- readonly initialDetails: Record<string, RenderObjectDetail>;
26
- constructor(routeId: string, initialDocument: RenderDocument, initialDetails: Record<string, RenderObjectDetail>);
27
- static capture(routeId: string, runtime: Pick<{
28
- getDocument(routeId: string): RenderDocument;
29
- getRenderDetail(key: string): RenderObjectDetail;
30
- }, "getDocument" | "getRenderDetail">): EditEngineRuntimeSnapshot;
31
- }
@@ -1,15 +0,0 @@
1
- export class EditEngineRuntimeSnapshot {
2
- constructor(routeId, initialDocument, initialDetails) {
3
- this.routeId = routeId;
4
- this.initialDocument = initialDocument;
5
- this.initialDetails = initialDetails;
6
- }
7
- static capture(routeId, runtime) {
8
- const initialDocument = runtime.getDocument(routeId);
9
- const initialDetails = Object.fromEntries(initialDocument.entries.map((entry) => [
10
- entry.key,
11
- runtime.getRenderDetail(entry.key),
12
- ]));
13
- return new EditEngineRuntimeSnapshot(routeId, initialDocument, initialDetails);
14
- }
15
- }
@@ -1,44 +0,0 @@
1
- import type { SiteEditGetClassNameSourceResult, SiteEditObjectCapabilities, SiteEditSetClassNameSourceRequest, SiteEditSetClassNameSourceResult } from "@trojanbox-vcp-test/contracts";
2
- import type { RenderDocument, RenderObjectDetail, OperationRequest, OperationResult, DesignerEvent } from "../protocol.js";
3
- import type { ProjectFileSystem } from "./EditEngineRuntimeSnapshot.js";
4
- import type { ExternalSourceResolver, FunctionCallContract } from "../provenance/types.js";
5
- import type { ExternalWritebackAdapter } from "../writeback/types.js";
6
- /**
7
- * Engine 配置。
8
- */
9
- export interface InternalEditEngineConfig {
10
- projectRoot: string;
11
- routes?: Array<{
12
- routeId: string;
13
- entryFile: string;
14
- }>;
15
- fileSystem?: ProjectFileSystem;
16
- externalAdapters?: ExternalWritebackAdapter[];
17
- externalSourceResolvers?: ExternalSourceResolver[];
18
- functionCallContracts?: FunctionCallContract[];
19
- onEvent?: (event: DesignerEvent) => void;
20
- dev?: boolean;
21
- }
22
- /**
23
- * DesignerEngine —— 核心引擎接口。
24
- */
25
- export interface InternalEditEngine {
26
- readonly status: "idle" | "building" | "ready" | "disposed";
27
- dispose(): void;
28
- registerRoute(routeId: string, entryFile: string): void;
29
- setActiveRoute(routeId: string): Promise<void>;
30
- getDocument(routeId: string): RenderDocument;
31
- getObjectCapabilities(key: string, routeId?: string): SiteEditObjectCapabilities;
32
- getRenderDetail(key: string, routeId?: string): RenderObjectDetail;
33
- getClassNameSource(key: string, routeId?: string): SiteEditGetClassNameSourceResult;
34
- setClassNameSource(request: SiteEditSetClassNameSourceRequest): Promise<SiteEditSetClassNameSourceResult>;
35
- execute(request: OperationRequest): Promise<OperationResult>;
36
- undo(): Promise<OperationResult>;
37
- redo(): Promise<OperationResult>;
38
- notifyFileChanged(file: string): void;
39
- subscribe(listener: (event: DesignerEvent) => void): () => void;
40
- }
41
- /**
42
- * 创建 DesignerEngine 实例。
43
- */
44
- export declare function createInternalEditEngine(config: InternalEditEngineConfig): InternalEditEngine;