next-ai-editor 0.2.5 → 1.0.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 +2 -2
- package/dist/index.cjs +2108 -33
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +187 -4
- package/dist/index.js +2108 -33
- package/dist/index.js.map +1 -1
- package/dist/next-ai-editor.css +489 -112
- package/package.json +4 -20
- package/dist/AIEditorProvider-CLgf1Vwa.cjs +0 -1488
- package/dist/AIEditorProvider-CLgf1Vwa.cjs.map +0 -1
- package/dist/AIEditorProvider-DWId5Qmv.js +0 -1489
- package/dist/AIEditorProvider-DWId5Qmv.js.map +0 -1
- package/dist/client/AIEditorProvider.d.ts +0 -21
- package/dist/client/AIEditorProvider.d.ts.map +0 -1
- package/dist/client/components/ChatPanel.d.ts +0 -18
- package/dist/client/components/ChatPanel.d.ts.map +0 -1
- package/dist/client/components/ControlPill.d.ts +0 -8
- package/dist/client/components/ControlPill.d.ts.map +0 -1
- package/dist/client/components/MessageItem.d.ts +0 -7
- package/dist/client/components/MessageItem.d.ts.map +0 -1
- package/dist/client/components/MessageList.d.ts +0 -7
- package/dist/client/components/MessageList.d.ts.map +0 -1
- package/dist/client/components/TaskHistoryPanel.d.ts +0 -10
- package/dist/client/components/TaskHistoryPanel.d.ts.map +0 -1
- package/dist/client/components/index.d.ts +0 -11
- package/dist/client/components/index.d.ts.map +0 -1
- package/dist/client/fiber-utils.d.ts +0 -35
- package/dist/client/fiber-utils.d.ts.map +0 -1
- package/dist/client/hooks/index.d.ts +0 -3
- package/dist/client/hooks/index.d.ts.map +0 -1
- package/dist/client/hooks/useChatStream.d.ts +0 -66
- package/dist/client/hooks/useChatStream.d.ts.map +0 -1
- package/dist/client/hooks/useHotReload.d.ts +0 -10
- package/dist/client/hooks/useHotReload.d.ts.map +0 -1
- package/dist/client/index.cjs +0 -1
- package/dist/client/index.d.ts +0 -6
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js +0 -1
- package/dist/client/query-params.d.ts +0 -9
- package/dist/client/query-params.d.ts.map +0 -1
- package/dist/client.cjs +0 -12
- package/dist/client.cjs.map +0 -1
- package/dist/client.js +0 -12
- package/dist/client.js.map +0 -1
- package/dist/comments-2HX-AAwu.cjs +0 -1512
- package/dist/comments-2HX-AAwu.cjs.map +0 -1
- package/dist/comments-BYFEhf6K.js +0 -1495
- package/dist/comments-BYFEhf6K.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/path-utils-Bai2xKx9.js +0 -36
- package/dist/path-utils-Bai2xKx9.js.map +0 -1
- package/dist/path-utils-DYzEWUGy.cjs +0 -35
- package/dist/path-utils-DYzEWUGy.cjs.map +0 -1
- package/dist/server/agent/sdk-client.d.ts +0 -54
- package/dist/server/agent/sdk-client.d.ts.map +0 -1
- package/dist/server/agent/session-store.d.ts +0 -101
- package/dist/server/agent/session-store.d.ts.map +0 -1
- package/dist/server/handlers/absolute-path.d.ts +0 -3
- package/dist/server/handlers/absolute-path.d.ts.map +0 -1
- package/dist/server/handlers/chat.d.ts +0 -6
- package/dist/server/handlers/chat.d.ts.map +0 -1
- package/dist/server/handlers/comments.d.ts +0 -10
- package/dist/server/handlers/comments.d.ts.map +0 -1
- package/dist/server/handlers/config.d.ts +0 -7
- package/dist/server/handlers/config.d.ts.map +0 -1
- package/dist/server/handlers/index.d.ts +0 -18
- package/dist/server/handlers/index.d.ts.map +0 -1
- package/dist/server/handlers/read.d.ts +0 -3
- package/dist/server/handlers/read.d.ts.map +0 -1
- package/dist/server/handlers/resolve.d.ts +0 -3
- package/dist/server/handlers/resolve.d.ts.map +0 -1
- package/dist/server/handlers/undo.d.ts +0 -3
- package/dist/server/handlers/undo.d.ts.map +0 -1
- package/dist/server/handlers/validate-session.d.ts +0 -3
- package/dist/server/handlers/validate-session.d.ts.map +0 -1
- package/dist/server/index.cjs +0 -1
- package/dist/server/index.d.ts +0 -11
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -1
- package/dist/server/utils/ast.d.ts +0 -49
- package/dist/server/utils/ast.d.ts.map +0 -1
- package/dist/server/utils/file-system.d.ts +0 -24
- package/dist/server/utils/file-system.d.ts.map +0 -1
- package/dist/server/utils/source-map.d.ts +0 -39
- package/dist/server/utils/source-map.d.ts.map +0 -1
- package/dist/server.cjs +0 -28
- package/dist/server.cjs.map +0 -1
- package/dist/server.js +0 -28
- package/dist/server.js.map +0 -1
- package/dist/shared/comment-types.d.ts +0 -140
- package/dist/shared/comment-types.d.ts.map +0 -1
- package/dist/shared/path-utils.d.ts +0 -24
- package/dist/shared/path-utils.d.ts.map +0 -1
- package/dist/shared/storage.d.ts +0 -53
- package/dist/shared/storage.d.ts.map +0 -1
- package/dist/shared/types.d.ts +0 -74
- package/dist/shared/types.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-session.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/validate-session.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAUxD,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAiEnF"}
|
package/dist/server/index.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require("../server.cjs");
|
package/dist/server/index.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export { handleAIEditorRequest } from "./handlers";
|
|
2
|
-
export { handleRead } from "./handlers/read";
|
|
3
|
-
export { handleUndo } from "./handlers/undo";
|
|
4
|
-
export { handleResolve } from "./handlers/resolve";
|
|
5
|
-
export { handleAbsolutePath } from "./handlers/absolute-path";
|
|
6
|
-
export { handleValidateSession } from "./handlers/validate-session";
|
|
7
|
-
export { handleCommentsRequest } from "./handlers/comments";
|
|
8
|
-
export * from "./utils/file-system";
|
|
9
|
-
export * from "./utils/ast";
|
|
10
|
-
export * from "./utils/source-map";
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
|
package/dist/server/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../server.js";
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import * as t from "@babel/types";
|
|
2
|
-
import type { ElementContext } from "../../shared/types";
|
|
3
|
-
export interface ElementMatch {
|
|
4
|
-
node: t.JSXElement | t.JSXFragment;
|
|
5
|
-
startLine: number;
|
|
6
|
-
endLine: number;
|
|
7
|
-
score: number;
|
|
8
|
-
}
|
|
9
|
-
export interface TargetElementResult {
|
|
10
|
-
startLine: number;
|
|
11
|
-
endLine: number;
|
|
12
|
-
componentStart: number;
|
|
13
|
-
componentEnd: number;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Parse a file with Babel (TypeScript + JSX)
|
|
17
|
-
*/
|
|
18
|
-
export declare function parseFile(content: string): t.File | null;
|
|
19
|
-
/**
|
|
20
|
-
* Extract the component name from an AST
|
|
21
|
-
* Looks for both default and named exports
|
|
22
|
-
*/
|
|
23
|
-
export declare function extractComponentName(ast: t.File): string | null;
|
|
24
|
-
/**
|
|
25
|
-
* Validate that generated code is syntactically correct
|
|
26
|
-
* Checks if code can be parsed and maintains reasonable structure balance
|
|
27
|
-
*/
|
|
28
|
-
export declare function validateGeneratedCode(newCode: string, originalCode: string, fileContent?: string): boolean;
|
|
29
|
-
/**
|
|
30
|
-
* Find the target element in the AST
|
|
31
|
-
*/
|
|
32
|
-
export declare function findTargetElement(ast: t.File, fileContent: string, options: {
|
|
33
|
-
componentName: string;
|
|
34
|
-
lineNumber: number;
|
|
35
|
-
elementContext?: ElementContext;
|
|
36
|
-
}): TargetElementResult | null;
|
|
37
|
-
/**
|
|
38
|
-
* Score an element match against the provided context
|
|
39
|
-
*/
|
|
40
|
-
export declare function scoreElementMatch(node: t.JSXElement, context: ElementContext, fileContent: string): number;
|
|
41
|
-
/**
|
|
42
|
-
* Get the full name of a JSX member expression (e.g., "Motion.div")
|
|
43
|
-
*/
|
|
44
|
-
export declare function getJSXMemberName(node: t.JSXMemberExpression): string;
|
|
45
|
-
/**
|
|
46
|
-
* Get the value of a JSX attribute
|
|
47
|
-
*/
|
|
48
|
-
export declare function getAttributeValue(attr: t.JSXAttribute): string | null;
|
|
49
|
-
//# sourceMappingURL=ast.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/server/utils/ast.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMzD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAiBxD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,GAAG,IAAI,CAmC/D;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAuDT;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,CAAC,CAAC,IAAI,EACX,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IACP,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,GACA,mBAAmB,GAAG,IAAI,CAwN5B;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,CAAC,CAAC,UAAU,EAClB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,GAClB,MAAM,CA6ER;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAQpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,GAAG,MAAM,GAAG,IAAI,CAUrE"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { NextResponse } from "next/server";
|
|
2
|
-
/**
|
|
3
|
-
* Validate that we're in development mode
|
|
4
|
-
* Returns error response if not in dev mode, null otherwise
|
|
5
|
-
*/
|
|
6
|
-
export declare function validateDevMode(): NextResponse | null;
|
|
7
|
-
/**
|
|
8
|
-
* Normalize file path by removing webpack/turbopack prefixes
|
|
9
|
-
*/
|
|
10
|
-
export declare function normalizePath(filePath: string): string;
|
|
11
|
-
/**
|
|
12
|
-
* Resolve a file path to an absolute path within the project
|
|
13
|
-
* Returns null if file doesn't exist or is outside project root
|
|
14
|
-
*/
|
|
15
|
-
export declare function resolveFilePath(projectRoot: string, normalizedPath: string): Promise<string | null>;
|
|
16
|
-
/**
|
|
17
|
-
* Validate that a file path is within the project root (security check)
|
|
18
|
-
*/
|
|
19
|
-
export declare function isPathSecure(absolutePath: string, projectRoot: string): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Check if a file exists
|
|
22
|
-
*/
|
|
23
|
-
export declare function fileExists(filePath: string): Promise<boolean>;
|
|
24
|
-
//# sourceMappingURL=file-system.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-system.d.ts","sourceRoot":"","sources":["../../../src/server/utils/file-system.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAQrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CAET;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnE"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
interface CompiledPosition {
|
|
2
|
-
filePath: string;
|
|
3
|
-
line: number;
|
|
4
|
-
column: number;
|
|
5
|
-
chunkId?: string;
|
|
6
|
-
}
|
|
7
|
-
interface OriginalPosition {
|
|
8
|
-
source: string;
|
|
9
|
-
line: number;
|
|
10
|
-
column: number;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Parse _debugStack format to extract compiled position
|
|
14
|
-
* Format: "at ComponentName (file-path:line:column)"
|
|
15
|
-
* With turbopack, the file path is the compiled JS file path
|
|
16
|
-
*/
|
|
17
|
-
export declare function parseDebugStack(stack: string | any): CompiledPosition | null;
|
|
18
|
-
/**
|
|
19
|
-
* Extract component name from debug stack
|
|
20
|
-
* Format: "at ComponentName (file-path:line:column)"
|
|
21
|
-
*/
|
|
22
|
-
export declare function extractComponentNameFromStack(stack: string | any): string | null;
|
|
23
|
-
/**
|
|
24
|
-
* Parse debug stack to extract both component instance (parent) and definition
|
|
25
|
-
* Returns up to 2 frames: [componentDefinition, parentInstance]
|
|
26
|
-
*/
|
|
27
|
-
export declare function parseDebugStackFrames(stack: string | any): CompiledPosition[];
|
|
28
|
-
/**
|
|
29
|
-
* Resolve original source position from compiled position
|
|
30
|
-
* With turbopack, source maps are separate .map files with the same path as the compiled file
|
|
31
|
-
*/
|
|
32
|
-
export declare function resolveOriginalPosition(compiledPos: CompiledPosition, projectRoot: string): Promise<OriginalPosition | null>;
|
|
33
|
-
/**
|
|
34
|
-
* Helper to get original position from _debugStack
|
|
35
|
-
* Combines parsing and resolution into one function
|
|
36
|
-
*/
|
|
37
|
-
export declare function getOriginalPositionFromDebugStack(debugStack: string | any, projectRoot: string): Promise<OriginalPosition | null>;
|
|
38
|
-
export {};
|
|
39
|
-
//# sourceMappingURL=source-map.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source-map.d.ts","sourceRoot":"","sources":["../../../src/server/utils/source-map.ts"],"names":[],"mappings":"AAUA,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,gBAAgB,GAAG,IAAI,CAoD5E;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,CA+BhF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,gBAAgB,EAAE,CAiD7E;AAGD;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,gBAAgB,EAC7B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA8GlC;AAyKD;;;GAGG;AACH,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,MAAM,GAAG,GAAG,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAKlC"}
|
package/dist/server.cjs
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const comments = require("./comments-2HX-AAwu.cjs");
|
|
4
|
-
exports.extractComponentName = comments.extractComponentName;
|
|
5
|
-
exports.extractComponentNameFromStack = comments.extractComponentNameFromStack;
|
|
6
|
-
exports.fileExists = comments.fileExists;
|
|
7
|
-
exports.findTargetElement = comments.findTargetElement;
|
|
8
|
-
exports.getAttributeValue = comments.getAttributeValue;
|
|
9
|
-
exports.getJSXMemberName = comments.getJSXMemberName;
|
|
10
|
-
exports.getOriginalPositionFromDebugStack = comments.getOriginalPositionFromDebugStack;
|
|
11
|
-
exports.handleAIEditorRequest = comments.handleAIEditorRequest;
|
|
12
|
-
exports.handleAbsolutePath = comments.handleAbsolutePath;
|
|
13
|
-
exports.handleCommentsRequest = comments.handleCommentsRequest;
|
|
14
|
-
exports.handleRead = comments.handleRead;
|
|
15
|
-
exports.handleResolve = comments.handleResolve;
|
|
16
|
-
exports.handleUndo = comments.handleUndo;
|
|
17
|
-
exports.handleValidateSession = comments.handleValidateSession;
|
|
18
|
-
exports.isPathSecure = comments.isPathSecure;
|
|
19
|
-
exports.normalizePath = comments.normalizePath;
|
|
20
|
-
exports.parseDebugStack = comments.parseDebugStack;
|
|
21
|
-
exports.parseDebugStackFrames = comments.parseDebugStackFrames;
|
|
22
|
-
exports.parseFile = comments.parseFile;
|
|
23
|
-
exports.resolveFilePath = comments.resolveFilePath;
|
|
24
|
-
exports.resolveOriginalPosition = comments.resolveOriginalPosition;
|
|
25
|
-
exports.scoreElementMatch = comments.scoreElementMatch;
|
|
26
|
-
exports.validateDevMode = comments.validateDevMode;
|
|
27
|
-
exports.validateGeneratedCode = comments.validateGeneratedCode;
|
|
28
|
-
//# sourceMappingURL=server.cjs.map
|
package/dist/server.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/server.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { j, t, g, l, o, m, x, h, d, f, a, c, b, e, i, n, q, u, p, r, w, s, v, k } from "./comments-BYFEhf6K.js";
|
|
2
|
-
export {
|
|
3
|
-
j as extractComponentName,
|
|
4
|
-
t as extractComponentNameFromStack,
|
|
5
|
-
g as fileExists,
|
|
6
|
-
l as findTargetElement,
|
|
7
|
-
o as getAttributeValue,
|
|
8
|
-
m as getJSXMemberName,
|
|
9
|
-
x as getOriginalPositionFromDebugStack,
|
|
10
|
-
h as handleAIEditorRequest,
|
|
11
|
-
d as handleAbsolutePath,
|
|
12
|
-
f as handleCommentsRequest,
|
|
13
|
-
a as handleRead,
|
|
14
|
-
c as handleResolve,
|
|
15
|
-
b as handleUndo,
|
|
16
|
-
e as handleValidateSession,
|
|
17
|
-
i as isPathSecure,
|
|
18
|
-
n as normalizePath,
|
|
19
|
-
q as parseDebugStack,
|
|
20
|
-
u as parseDebugStackFrames,
|
|
21
|
-
p as parseFile,
|
|
22
|
-
r as resolveFilePath,
|
|
23
|
-
w as resolveOriginalPosition,
|
|
24
|
-
s as scoreElementMatch,
|
|
25
|
-
v as validateDevMode,
|
|
26
|
-
k as validateGeneratedCode
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Types for Figma-style comment system
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Simple message format for comment chat
|
|
6
|
-
*/
|
|
7
|
-
export interface CommentMessage {
|
|
8
|
-
role: "user" | "assistant";
|
|
9
|
-
content: string;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Editor mode - determines click behavior
|
|
13
|
-
*/
|
|
14
|
-
export type EditorMode = "select" | "comment" | "area" | "text";
|
|
15
|
-
/**
|
|
16
|
-
* Comment status during lifecycle
|
|
17
|
-
*/
|
|
18
|
-
export type CommentStatus = "active" | "streaming" | "done" | "error";
|
|
19
|
-
/**
|
|
20
|
-
* Types of anchors for different selection modes
|
|
21
|
-
*/
|
|
22
|
-
export type AnchorType = "coordinate" | "component" | "area" | "text";
|
|
23
|
-
/**
|
|
24
|
-
* Base point in 2D space
|
|
25
|
-
*/
|
|
26
|
-
export interface Point {
|
|
27
|
-
x: number;
|
|
28
|
-
y: number;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Coordinate-based anchor (comment mode - click anywhere)
|
|
32
|
-
*/
|
|
33
|
-
export interface CoordinateAnchor {
|
|
34
|
-
type: "coordinate";
|
|
35
|
-
x: number;
|
|
36
|
-
y: number;
|
|
37
|
-
pageX: number;
|
|
38
|
-
pageY: number;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Component-based anchor (component selection mode)
|
|
42
|
-
*/
|
|
43
|
-
export interface ComponentAnchor {
|
|
44
|
-
type: "component";
|
|
45
|
-
componentName: string;
|
|
46
|
-
filePath: string;
|
|
47
|
-
lineNumber: number;
|
|
48
|
-
elementContext?: {
|
|
49
|
-
tagName?: string;
|
|
50
|
-
className?: string;
|
|
51
|
-
textContent?: string;
|
|
52
|
-
[key: string]: any;
|
|
53
|
-
};
|
|
54
|
-
lastKnownPosition: Point;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Area-based anchor (rectangle selection)
|
|
58
|
-
*/
|
|
59
|
-
export interface AreaAnchor {
|
|
60
|
-
type: "area";
|
|
61
|
-
bounds: {
|
|
62
|
-
x: number;
|
|
63
|
-
y: number;
|
|
64
|
-
width: number;
|
|
65
|
-
height: number;
|
|
66
|
-
};
|
|
67
|
-
elements: string[];
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Text-based anchor (text selection)
|
|
71
|
-
*/
|
|
72
|
-
export interface TextAnchor {
|
|
73
|
-
type: "text";
|
|
74
|
-
selectedText: string;
|
|
75
|
-
containerSelector: string;
|
|
76
|
-
startOffset: number;
|
|
77
|
-
endOffset: number;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Union type for all anchor types
|
|
81
|
-
*/
|
|
82
|
-
export type AnchorData = CoordinateAnchor | ComponentAnchor | AreaAnchor | TextAnchor;
|
|
83
|
-
/**
|
|
84
|
-
* Complete comment state
|
|
85
|
-
*/
|
|
86
|
-
export interface CommentState {
|
|
87
|
-
id: string;
|
|
88
|
-
position: Point;
|
|
89
|
-
isMinimized: boolean;
|
|
90
|
-
isDragging: boolean;
|
|
91
|
-
anchorType: AnchorType;
|
|
92
|
-
anchorData: AnchorData;
|
|
93
|
-
messages: CommentMessage[];
|
|
94
|
-
sessionId: string;
|
|
95
|
-
threadId: string;
|
|
96
|
-
status: CommentStatus;
|
|
97
|
-
createdAt: number;
|
|
98
|
-
lastActive: number;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Task history item - aggregates messages by user request
|
|
102
|
-
*/
|
|
103
|
-
export interface TaskHistoryItem {
|
|
104
|
-
id: string;
|
|
105
|
-
userRequest: string;
|
|
106
|
-
commentId: string;
|
|
107
|
-
status: "pending" | "done" | "failed";
|
|
108
|
-
actions: TaskAction[];
|
|
109
|
-
affectedFiles: string[];
|
|
110
|
-
anchorPosition?: Point;
|
|
111
|
-
createdAt: number;
|
|
112
|
-
completedAt?: number;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Individual action within a task
|
|
116
|
-
*/
|
|
117
|
-
export interface TaskAction {
|
|
118
|
-
type: "tool_use" | "result" | "error";
|
|
119
|
-
tool?: string;
|
|
120
|
-
result?: string;
|
|
121
|
-
error?: string;
|
|
122
|
-
timestamp: number;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Editor state shape
|
|
126
|
-
*/
|
|
127
|
-
export interface EditorState {
|
|
128
|
-
mode: EditorMode;
|
|
129
|
-
isPillVisible: boolean;
|
|
130
|
-
comments: Map<string, CommentState>;
|
|
131
|
-
taskHistory: TaskHistoryItem[];
|
|
132
|
-
selectedCommentId: string | null;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Serializable comment for file storage
|
|
136
|
-
*/
|
|
137
|
-
export interface SerializableComment extends Omit<CommentState, "messages"> {
|
|
138
|
-
messages: any[];
|
|
139
|
-
}
|
|
140
|
-
//# sourceMappingURL=comment-types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"comment-types.d.ts","sourceRoot":"","sources":["../../src/shared/comment-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared path utilities for cleaning and normalizing file paths
|
|
3
|
-
* Used by both client and server for consistent path handling
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Clean a file path by removing protocol prefixes and URL encoding
|
|
7
|
-
* Works with Turbopack, Webpack, and React Server Components paths
|
|
8
|
-
*/
|
|
9
|
-
export declare function cleanPath(filePath: string): string;
|
|
10
|
-
/**
|
|
11
|
-
* Normalize a source path by cleaning it and making it relative to project root
|
|
12
|
-
* @param source - The source path to normalize
|
|
13
|
-
* @param projectRoot - The project root directory
|
|
14
|
-
* @returns Normalized relative path
|
|
15
|
-
*/
|
|
16
|
-
export declare function normalizeSourcePath(source: string, projectRoot: string): string;
|
|
17
|
-
/**
|
|
18
|
-
* Check if a file path should be skipped (e.g., node_modules, framework internals)
|
|
19
|
-
* @param filePath - The file path to check
|
|
20
|
-
* @param additionalSkipPatterns - Additional patterns to skip (optional)
|
|
21
|
-
* @returns true if the path should be skipped
|
|
22
|
-
*/
|
|
23
|
-
export declare function shouldSkipPath(filePath: string, additionalSkipPatterns?: string[]): boolean;
|
|
24
|
-
//# sourceMappingURL=path-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"path-utils.d.ts","sourceRoot":"","sources":["../../src/shared/path-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiClD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAa/E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,sBAAsB,GAAE,MAAM,EAAO,GACpC,OAAO,CAOT"}
|
package/dist/shared/storage.d.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import type { ElementContext, PersistedSession } from "./types";
|
|
2
|
-
export type { ElementContext, PersistedSession };
|
|
3
|
-
export declare class AIEditorStorage {
|
|
4
|
-
private static readonly STORAGE_PREFIX;
|
|
5
|
-
private static readonly VERSION;
|
|
6
|
-
private static readonly MAX_STORAGE_SIZE;
|
|
7
|
-
/**
|
|
8
|
-
* Generate storage key from file path and component name
|
|
9
|
-
* Format: "ai-editor:session:components/Header.tsx#Header"
|
|
10
|
-
*/
|
|
11
|
-
static getSessionKey(filePath: string, componentName: string): string;
|
|
12
|
-
/**
|
|
13
|
-
* Save session to localStorage
|
|
14
|
-
*/
|
|
15
|
-
static saveSession(session: PersistedSession): boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Load session by filePath + componentName
|
|
18
|
-
*/
|
|
19
|
-
static loadSession(filePath: string, componentName: string): PersistedSession | null;
|
|
20
|
-
/**
|
|
21
|
-
* Delete specific session
|
|
22
|
-
*/
|
|
23
|
-
static deleteSession(filePath: string, componentName: string): void;
|
|
24
|
-
/**
|
|
25
|
-
* Get all session keys
|
|
26
|
-
*/
|
|
27
|
-
static getAllSessionKeys(): string[];
|
|
28
|
-
/**
|
|
29
|
-
* Clear all sessions
|
|
30
|
-
*/
|
|
31
|
-
static clearAllSessions(): void;
|
|
32
|
-
/**
|
|
33
|
-
* Get total storage usage in bytes
|
|
34
|
-
*/
|
|
35
|
-
static getStorageSize(): number;
|
|
36
|
-
/**
|
|
37
|
-
* Remove sessions older than maxAge milliseconds
|
|
38
|
-
*/
|
|
39
|
-
static pruneOldSessions(maxAge: number): void;
|
|
40
|
-
/**
|
|
41
|
-
* Compute SHA-256 hash of file content using Web Crypto API
|
|
42
|
-
*/
|
|
43
|
-
static hashFileContent(content: string): Promise<string>;
|
|
44
|
-
/**
|
|
45
|
-
* Simple hash fallback (for environments without Web Crypto API)
|
|
46
|
-
*/
|
|
47
|
-
private static simpleHash;
|
|
48
|
-
/**
|
|
49
|
-
* Get most recently modified session
|
|
50
|
-
*/
|
|
51
|
-
static getLastActiveSession(): PersistedSession | null;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/shared/storage.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;AAMjD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAwB;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAW;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAE3D;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAMrE;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAsCtD;;OAEG;IACH,MAAM,CAAC,WAAW,CAChB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,gBAAgB,GAAG,IAAI;IA0B1B;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IASnE;;OAEG;IACH,MAAM,CAAC,iBAAiB,IAAI,MAAM,EAAE;IAepC;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,IAAI;IAU/B;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,MAAM;IAmB/B;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA4B7C;;OAEG;WACU,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB9D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAUzB;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,gBAAgB,GAAG,IAAI;CAoCvD"}
|
package/dist/shared/types.d.ts
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
export interface ElementContext {
|
|
2
|
-
tagName: string;
|
|
3
|
-
textContent?: string;
|
|
4
|
-
className?: string;
|
|
5
|
-
key?: string;
|
|
6
|
-
nthOfType?: number;
|
|
7
|
-
props?: Record<string, unknown>;
|
|
8
|
-
}
|
|
9
|
-
export interface SourceLocation {
|
|
10
|
-
filePath: string;
|
|
11
|
-
lineNumber: number;
|
|
12
|
-
columnNumber: number;
|
|
13
|
-
componentName: string;
|
|
14
|
-
elementContext?: ElementContext;
|
|
15
|
-
debugStack?: string;
|
|
16
|
-
parentComponent?: {
|
|
17
|
-
filePath: string;
|
|
18
|
-
lineNumber: number;
|
|
19
|
-
columnNumber: number;
|
|
20
|
-
componentName: string;
|
|
21
|
-
debugStack?: string;
|
|
22
|
-
childKey?: string;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
export interface PersistedSession {
|
|
26
|
-
sessionId: string;
|
|
27
|
-
version: string;
|
|
28
|
-
lastModified: number;
|
|
29
|
-
sourceLocation: {
|
|
30
|
-
filePath: string;
|
|
31
|
-
lineNumber: number;
|
|
32
|
-
columnNumber: number;
|
|
33
|
-
componentName: string;
|
|
34
|
-
elementContext?: ElementContext;
|
|
35
|
-
debugStack?: string;
|
|
36
|
-
};
|
|
37
|
-
editHistory: Array<{
|
|
38
|
-
id: string;
|
|
39
|
-
suggestion: string;
|
|
40
|
-
success: boolean;
|
|
41
|
-
error?: string;
|
|
42
|
-
timestamp: number;
|
|
43
|
-
fileSnapshot?: string;
|
|
44
|
-
editedFilePath?: string;
|
|
45
|
-
modifiedLines?: {
|
|
46
|
-
start: number;
|
|
47
|
-
end: number;
|
|
48
|
-
};
|
|
49
|
-
generatedCode?: string;
|
|
50
|
-
}>;
|
|
51
|
-
fileValidation: {
|
|
52
|
-
lastKnownHash: string;
|
|
53
|
-
lastKnownSize: number;
|
|
54
|
-
lastEditTimestamp: number;
|
|
55
|
-
};
|
|
56
|
-
uiState: {
|
|
57
|
-
currentSuggestion: string;
|
|
58
|
-
modalWasOpen: boolean;
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
export interface SuggestionsRequest {
|
|
62
|
-
componentName: string;
|
|
63
|
-
elementTag?: string;
|
|
64
|
-
className?: string;
|
|
65
|
-
textContent?: string;
|
|
66
|
-
lastSuggestion?: string;
|
|
67
|
-
editHistory?: string;
|
|
68
|
-
}
|
|
69
|
-
export interface SuggestionsResponse {
|
|
70
|
-
success: boolean;
|
|
71
|
-
suggestions: string[];
|
|
72
|
-
error?: string;
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IAErB,cAAc,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,WAAW,EAAE,KAAK,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IAEH,cAAc,EAAE;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IAEF,OAAO,EAAE;QACP,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|