@jay-framework/editor-protocol 0.15.6 → 0.16.1

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 (2) hide show
  1. package/dist/index.d.ts +76 -3
  2. package/package.json +4 -4
package/dist/index.d.ts CHANGED
@@ -125,8 +125,67 @@ interface ImportResponse<TVendorDoc> extends BaseResponse {
125
125
  type: 'import';
126
126
  vendorDoc?: TVendorDoc;
127
127
  }
128
- type EditorProtocolMessageTypes<TVendorDoc> = PublishMessage | SaveImageMessage | HasImageMessage | GetProjectInfoMessage | ExportMessage<TVendorDoc> | ImportMessage<TVendorDoc>;
129
- type EditorProtocolResponseTypes<TVendorDoc> = PublishResponse | SaveImageResponse | HasImageResponse | GetProjectInfoResponse | ExportResponse | ImportResponse<TVendorDoc>;
128
+ interface FreezeEntry {
129
+ id: string;
130
+ name?: string;
131
+ /** The concrete URL path (e.g., /products/kitan) */
132
+ route: string;
133
+ /** The route pattern (e.g., /products/kitan{/:category}) */
134
+ routePattern?: string;
135
+ createdAt: string;
136
+ }
137
+ interface ListRoutesMessage extends BaseMessage<ListRoutesResponse> {
138
+ type: 'listRoutes';
139
+ }
140
+ interface ListRoutesResponse extends BaseResponse {
141
+ type: 'listRoutes';
142
+ routes: Array<{
143
+ path: string;
144
+ jayHtmlPath: string;
145
+ }>;
146
+ }
147
+ interface ListFreezesMessage extends BaseMessage<ListFreezesResponse> {
148
+ type: 'listFreezes';
149
+ route: string;
150
+ }
151
+ interface ListFreezesResponse extends BaseResponse {
152
+ type: 'listFreezes';
153
+ freezes: FreezeEntry[];
154
+ }
155
+ interface RenameFreezeMessage extends BaseMessage<RenameFreezeResponse> {
156
+ type: 'renameFreeze';
157
+ id: string;
158
+ name: string;
159
+ }
160
+ interface RenameFreezeResponse extends BaseResponse {
161
+ type: 'renameFreeze';
162
+ }
163
+ interface DeleteFreezeMessage extends BaseMessage<DeleteFreezeResponse> {
164
+ type: 'deleteFreeze';
165
+ id: string;
166
+ }
167
+ interface DeleteFreezeResponse extends BaseResponse {
168
+ type: 'deleteFreeze';
169
+ }
170
+ interface LoadRouteParamsMessage extends BaseMessage<LoadRouteParamsResponse> {
171
+ type: 'loadRouteParams';
172
+ /** Route path, e.g. "/products/kitan/[[category]]" */
173
+ route: string;
174
+ }
175
+ /** Initial response acknowledging the request. Param batches arrive as events. */
176
+ interface LoadRouteParamsResponse extends BaseResponse {
177
+ type: 'loadRouteParams';
178
+ }
179
+ /** Streamed event: a batch of params from the loadParams generator */
180
+ interface RouteParamsBatchEvent {
181
+ type: 'routeParamsBatch';
182
+ route: string;
183
+ params: Record<string, string>[];
184
+ /** true if more batches may follow, false if this is the last */
185
+ hasMore: boolean;
186
+ }
187
+ type EditorProtocolMessageTypes<TVendorDoc> = PublishMessage | SaveImageMessage | HasImageMessage | GetProjectInfoMessage | ExportMessage<TVendorDoc> | ImportMessage<TVendorDoc> | ListRoutesMessage | ListFreezesMessage | RenameFreezeMessage | DeleteFreezeMessage | LoadRouteParamsMessage;
188
+ type EditorProtocolResponseTypes<TVendorDoc> = PublishResponse | SaveImageResponse | HasImageResponse | GetProjectInfoResponse | ExportResponse | ImportResponse<TVendorDoc> | ListRoutesResponse | ListFreezesResponse | RenameFreezeResponse | DeleteFreezeResponse | LoadRouteParamsResponse;
130
189
  interface ProtocolMessage<TVendorDoc> {
131
190
  id: string;
132
191
  timestamp: number;
@@ -144,6 +203,11 @@ interface EditorProtocol {
144
203
  getProjectInfo(params: GetProjectInfoMessage): Promise<GetProjectInfoResponse>;
145
204
  export<TVendorDoc>(params: ExportMessage<TVendorDoc>): Promise<ExportResponse>;
146
205
  import<TVendorDoc>(params: ImportMessage<TVendorDoc>): Promise<ImportResponse<TVendorDoc>>;
206
+ listRoutes(params: ListRoutesMessage): Promise<ListRoutesResponse>;
207
+ listFreezes(params: ListFreezesMessage): Promise<ListFreezesResponse>;
208
+ renameFreeze(params: RenameFreezeMessage): Promise<RenameFreezeResponse>;
209
+ deleteFreeze(params: DeleteFreezeMessage): Promise<DeleteFreezeResponse>;
210
+ loadRouteParams(params: LoadRouteParamsMessage): Promise<LoadRouteParamsResponse>;
147
211
  }
148
212
  interface DevServerProtocol {
149
213
  onPublish(callback: EditorProtocol['publish']): void;
@@ -152,6 +216,15 @@ interface DevServerProtocol {
152
216
  onGetProjectInfo(callback: EditorProtocol['getProjectInfo']): void;
153
217
  onExport(callback: EditorProtocol['export']): void;
154
218
  onImport(callback: EditorProtocol['import']): void;
219
+ onListRoutes(callback: EditorProtocol['listRoutes']): void;
220
+ onListFreezes(callback: EditorProtocol['listFreezes']): void;
221
+ onRenameFreeze(callback: EditorProtocol['renameFreeze']): void;
222
+ onDeleteFreeze(callback: EditorProtocol['deleteFreeze']): void;
223
+ /** Emit freeze-changed event to all connected clients */
224
+ emitFreezeChanged(): void;
225
+ onLoadRouteParams(callback: EditorProtocol['loadRouteParams']): void;
226
+ /** Emit a batch of params to all connected clients */
227
+ emitRouteParamsBatch(event: RouteParamsBatchEvent): void;
155
228
  }
156
229
 
157
230
  interface EditorConfig {
@@ -319,4 +392,4 @@ type FigmaVendorDocument = {
319
392
  [key: string]: any;
320
393
  };
321
394
 
322
- export { type BaseMessage, type BaseResponse, type ConnectionState, type Contract, type ContractTag, type DevServerProtocol, type EditorConfig, type EditorProtocol, type EditorProtocolMessageTypes, type EditorProtocolResponseTypes, type ExportMessage, type ExportResponse, type FigmaVendorDocument, type GetProjectInfoMessage, type GetProjectInfoResponse, type HasImageMessage, type HasImageResponse, type ImportMessage, type ImportResponse, type Plugin, type PortDiscoveryResponse, type ProjectComponent, type ProjectInfo, type ProjectPage, type ProtocolMessage, type ProtocolResponse, type PublishComponent, type PublishMessage, type PublishPage, type PublishResponse, type PublishStatus, type SaveImageMessage, type SaveImageResponse, createExportMessage, createExportResponse, createGetProjectInfoMessage, createGetProjectInfoResponse, createHasImageMessage, createHasImageResponse, createImportMessage, createImportResponse, createProtocolMessage, createProtocolResponse, createPublishMessage, createPublishResponse, createSaveImageMessage, createSaveImageResponse };
395
+ export { type BaseMessage, type BaseResponse, type ConnectionState, type Contract, type ContractTag, type DeleteFreezeMessage, type DeleteFreezeResponse, type DevServerProtocol, type EditorConfig, type EditorProtocol, type EditorProtocolMessageTypes, type EditorProtocolResponseTypes, type ExportMessage, type ExportResponse, type FigmaVendorDocument, type FreezeEntry, type GetProjectInfoMessage, type GetProjectInfoResponse, type HasImageMessage, type HasImageResponse, type ImportMessage, type ImportResponse, type ListFreezesMessage, type ListFreezesResponse, type ListRoutesMessage, type ListRoutesResponse, type LoadRouteParamsMessage, type LoadRouteParamsResponse, type Plugin, type PortDiscoveryResponse, type ProjectComponent, type ProjectInfo, type ProjectPage, type ProtocolMessage, type ProtocolResponse, type PublishComponent, type PublishMessage, type PublishPage, type PublishResponse, type PublishStatus, type RenameFreezeMessage, type RenameFreezeResponse, type RouteParamsBatchEvent, type SaveImageMessage, type SaveImageResponse, createExportMessage, createExportResponse, createGetProjectInfoMessage, createGetProjectInfoResponse, createHasImageMessage, createHasImageResponse, createImportMessage, createImportResponse, createProtocolMessage, createProtocolResponse, createPublishMessage, createPublishResponse, createSaveImageMessage, createSaveImageResponse };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jay-framework/editor-protocol",
3
- "version": "0.15.6",
3
+ "version": "0.16.1",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/index.js",
@@ -24,11 +24,11 @@
24
24
  "test:watch": ":"
25
25
  },
26
26
  "dependencies": {
27
- "@jay-framework/compiler-shared": "^0.15.6"
27
+ "@jay-framework/compiler-shared": "^0.16.1"
28
28
  },
29
29
  "devDependencies": {
30
- "@jay-framework/dev-environment": "^0.15.6",
31
- "@jay-framework/jay-cli": "^0.15.6",
30
+ "@jay-framework/dev-environment": "^0.16.1",
31
+ "@jay-framework/jay-cli": "^0.16.1",
32
32
  "@types/node": "^22.15.21",
33
33
  "rimraf": "^5.0.5",
34
34
  "tsup": "^8.0.1",