next-ai-editor 0.2.6 → 1.0.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 (97) hide show
  1. package/README.md +2 -2
  2. package/dist/index.cjs +2115 -34
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.ts +189 -4
  5. package/dist/index.js +2115 -34
  6. package/dist/index.js.map +1 -1
  7. package/dist/next-ai-editor.css +489 -112
  8. package/package.json +4 -22
  9. package/client/package.json +0 -5
  10. package/dist/AIEditorProvider-CLgf1Vwa.cjs +0 -1488
  11. package/dist/AIEditorProvider-CLgf1Vwa.cjs.map +0 -1
  12. package/dist/AIEditorProvider-DWId5Qmv.js +0 -1489
  13. package/dist/AIEditorProvider-DWId5Qmv.js.map +0 -1
  14. package/dist/client/AIEditorProvider.d.ts +0 -21
  15. package/dist/client/AIEditorProvider.d.ts.map +0 -1
  16. package/dist/client/components/ChatPanel.d.ts +0 -18
  17. package/dist/client/components/ChatPanel.d.ts.map +0 -1
  18. package/dist/client/components/ControlPill.d.ts +0 -8
  19. package/dist/client/components/ControlPill.d.ts.map +0 -1
  20. package/dist/client/components/MessageItem.d.ts +0 -7
  21. package/dist/client/components/MessageItem.d.ts.map +0 -1
  22. package/dist/client/components/MessageList.d.ts +0 -7
  23. package/dist/client/components/MessageList.d.ts.map +0 -1
  24. package/dist/client/components/TaskHistoryPanel.d.ts +0 -10
  25. package/dist/client/components/TaskHistoryPanel.d.ts.map +0 -1
  26. package/dist/client/components/index.d.ts +0 -11
  27. package/dist/client/components/index.d.ts.map +0 -1
  28. package/dist/client/fiber-utils.d.ts +0 -35
  29. package/dist/client/fiber-utils.d.ts.map +0 -1
  30. package/dist/client/hooks/index.d.ts +0 -3
  31. package/dist/client/hooks/index.d.ts.map +0 -1
  32. package/dist/client/hooks/useChatStream.d.ts +0 -66
  33. package/dist/client/hooks/useChatStream.d.ts.map +0 -1
  34. package/dist/client/hooks/useHotReload.d.ts +0 -10
  35. package/dist/client/hooks/useHotReload.d.ts.map +0 -1
  36. package/dist/client/index.d.ts +0 -6
  37. package/dist/client/index.d.ts.map +0 -1
  38. package/dist/client/query-params.d.ts +0 -9
  39. package/dist/client/query-params.d.ts.map +0 -1
  40. package/dist/client.cjs +0 -12
  41. package/dist/client.cjs.map +0 -1
  42. package/dist/client.js +0 -12
  43. package/dist/client.js.map +0 -1
  44. package/dist/comments-BQ6AQ-eC.cjs +0 -1570
  45. package/dist/comments-BQ6AQ-eC.cjs.map +0 -1
  46. package/dist/comments-CjBQxjDP.js +0 -1553
  47. package/dist/comments-CjBQxjDP.js.map +0 -1
  48. package/dist/index.d.ts.map +0 -1
  49. package/dist/path-utils-Bai2xKx9.js +0 -36
  50. package/dist/path-utils-Bai2xKx9.js.map +0 -1
  51. package/dist/path-utils-DYzEWUGy.cjs +0 -35
  52. package/dist/path-utils-DYzEWUGy.cjs.map +0 -1
  53. package/dist/server/agent/sdk-client.d.ts +0 -54
  54. package/dist/server/agent/sdk-client.d.ts.map +0 -1
  55. package/dist/server/agent/session-store.d.ts +0 -101
  56. package/dist/server/agent/session-store.d.ts.map +0 -1
  57. package/dist/server/handlers/absolute-path.d.ts +0 -3
  58. package/dist/server/handlers/absolute-path.d.ts.map +0 -1
  59. package/dist/server/handlers/chat.d.ts +0 -6
  60. package/dist/server/handlers/chat.d.ts.map +0 -1
  61. package/dist/server/handlers/comments.d.ts +0 -10
  62. package/dist/server/handlers/comments.d.ts.map +0 -1
  63. package/dist/server/handlers/config.d.ts +0 -7
  64. package/dist/server/handlers/config.d.ts.map +0 -1
  65. package/dist/server/handlers/index.d.ts +0 -18
  66. package/dist/server/handlers/index.d.ts.map +0 -1
  67. package/dist/server/handlers/pages-router.d.ts +0 -21
  68. package/dist/server/handlers/pages-router.d.ts.map +0 -1
  69. package/dist/server/handlers/read.d.ts +0 -3
  70. package/dist/server/handlers/read.d.ts.map +0 -1
  71. package/dist/server/handlers/resolve.d.ts +0 -3
  72. package/dist/server/handlers/resolve.d.ts.map +0 -1
  73. package/dist/server/handlers/undo.d.ts +0 -3
  74. package/dist/server/handlers/undo.d.ts.map +0 -1
  75. package/dist/server/handlers/validate-session.d.ts +0 -3
  76. package/dist/server/handlers/validate-session.d.ts.map +0 -1
  77. package/dist/server/index.d.ts +0 -12
  78. package/dist/server/index.d.ts.map +0 -1
  79. package/dist/server/utils/ast.d.ts +0 -49
  80. package/dist/server/utils/ast.d.ts.map +0 -1
  81. package/dist/server/utils/file-system.d.ts +0 -24
  82. package/dist/server/utils/file-system.d.ts.map +0 -1
  83. package/dist/server/utils/source-map.d.ts +0 -39
  84. package/dist/server/utils/source-map.d.ts.map +0 -1
  85. package/dist/server.cjs +0 -29
  86. package/dist/server.cjs.map +0 -1
  87. package/dist/server.js +0 -29
  88. package/dist/server.js.map +0 -1
  89. package/dist/shared/comment-types.d.ts +0 -140
  90. package/dist/shared/comment-types.d.ts.map +0 -1
  91. package/dist/shared/path-utils.d.ts +0 -24
  92. package/dist/shared/path-utils.d.ts.map +0 -1
  93. package/dist/shared/storage.d.ts +0 -53
  94. package/dist/shared/storage.d.ts.map +0 -1
  95. package/dist/shared/types.d.ts +0 -74
  96. package/dist/shared/types.d.ts.map +0 -1
  97. package/server/package.json +0 -5
@@ -1,21 +0,0 @@
1
- import type { NextApiRequest, NextApiResponse } from "next";
2
- /**
3
- * Catch-all handler for AI editor routes (Pages Router)
4
- *
5
- * Usage:
6
- * ```ts
7
- * // pages/api/ai-editor/[...path].ts
8
- * import { handleAIEditorPagesRequest } from "next-ai-editor/server";
9
- * export default handleAIEditorPagesRequest;
10
- * ```
11
- *
12
- * Route mapping:
13
- * - GET /api/ai-editor/read -> handleRead
14
- * - POST /api/ai-editor/undo -> handleUndo
15
- * - POST /api/ai-editor/resolve -> handleResolve
16
- * - GET /api/ai-editor/absolute-path -> handleAbsolutePath
17
- * - POST /api/ai-editor/validate-session -> handleValidateSession
18
- * - POST /api/ai-editor/chat -> handleChat (SSE)
19
- */
20
- export declare function handleAIEditorPagesRequest(req: NextApiRequest, res: NextApiResponse): Promise<void>;
21
- //# sourceMappingURL=pages-router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pages-router.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/pages-router.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAS5D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,IAAI,CAAC,CAiEf"}
@@ -1,3 +0,0 @@
1
- import { NextRequest, NextResponse } from "next/server";
2
- export declare function handleRead(req: NextRequest): Promise<NextResponse>;
3
- //# sourceMappingURL=read.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/read.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAexD,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CA+MxE"}
@@ -1,3 +0,0 @@
1
- import { NextRequest, NextResponse } from "next/server";
2
- export declare function handleResolve(req: NextRequest): Promise<NextResponse>;
3
- //# sourceMappingURL=resolve.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/resolve.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQxD,wBAAsB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAsF3E"}
@@ -1,3 +0,0 @@
1
- import { NextRequest, NextResponse } from "next/server";
2
- export declare function handleUndo(req: NextRequest): Promise<NextResponse>;
3
- //# sourceMappingURL=undo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"undo.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/undo.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAcxD,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAiDxE"}
@@ -1,3 +0,0 @@
1
- import { NextRequest, NextResponse } from "next/server";
2
- export declare function handleValidateSession(req: NextRequest): Promise<NextResponse>;
3
- //# sourceMappingURL=validate-session.d.ts.map
@@ -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"}
@@ -1,12 +0,0 @@
1
- export { handleAIEditorRequest } from "./handlers";
2
- export { handleAIEditorPagesRequest } from "./handlers/pages-router";
3
- export { handleRead } from "./handlers/read";
4
- export { handleUndo } from "./handlers/undo";
5
- export { handleResolve } from "./handlers/resolve";
6
- export { handleAbsolutePath } from "./handlers/absolute-path";
7
- export { handleValidateSession } from "./handlers/validate-session";
8
- export { handleCommentsRequest } from "./handlers/comments";
9
- export * from "./utils/file-system";
10
- export * from "./utils/ast";
11
- export * from "./utils/source-map";
12
- //# 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,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAGrE,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"}
@@ -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,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const comments = require("./comments-BQ6AQ-eC.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.handleAIEditorPagesRequest = comments.handleAIEditorPagesRequest;
12
- exports.handleAIEditorRequest = comments.handleAIEditorRequest;
13
- exports.handleAbsolutePath = comments.handleAbsolutePath;
14
- exports.handleCommentsRequest = comments.handleCommentsRequest;
15
- exports.handleRead = comments.handleRead;
16
- exports.handleResolve = comments.handleResolve;
17
- exports.handleUndo = comments.handleUndo;
18
- exports.handleValidateSession = comments.handleValidateSession;
19
- exports.isPathSecure = comments.isPathSecure;
20
- exports.normalizePath = comments.normalizePath;
21
- exports.parseDebugStack = comments.parseDebugStack;
22
- exports.parseDebugStackFrames = comments.parseDebugStackFrames;
23
- exports.parseFile = comments.parseFile;
24
- exports.resolveFilePath = comments.resolveFilePath;
25
- exports.resolveOriginalPosition = comments.resolveOriginalPosition;
26
- exports.scoreElementMatch = comments.scoreElementMatch;
27
- exports.validateDevMode = comments.validateDevMode;
28
- exports.validateGeneratedCode = comments.validateGeneratedCode;
29
- //# sourceMappingURL=server.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/server.js DELETED
@@ -1,29 +0,0 @@
1
- import { k, u, j, m, q, o, y, a, h, e, g, b, d, c, f, i, n, t, w, p, r, x, s, v, l } from "./comments-CjBQxjDP.js";
2
- export {
3
- k as extractComponentName,
4
- u as extractComponentNameFromStack,
5
- j as fileExists,
6
- m as findTargetElement,
7
- q as getAttributeValue,
8
- o as getJSXMemberName,
9
- y as getOriginalPositionFromDebugStack,
10
- a as handleAIEditorPagesRequest,
11
- h as handleAIEditorRequest,
12
- e as handleAbsolutePath,
13
- g as handleCommentsRequest,
14
- b as handleRead,
15
- d as handleResolve,
16
- c as handleUndo,
17
- f as handleValidateSession,
18
- i as isPathSecure,
19
- n as normalizePath,
20
- t as parseDebugStack,
21
- w as parseDebugStackFrames,
22
- p as parseFile,
23
- r as resolveFilePath,
24
- x as resolveOriginalPosition,
25
- s as scoreElementMatch,
26
- v as validateDevMode,
27
- l as validateGeneratedCode
28
- };
29
- //# sourceMappingURL=server.js.map
@@ -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"}
@@ -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"}
@@ -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"}
@@ -1,5 +0,0 @@
1
- {
2
- "main": "../dist/server.cjs",
3
- "module": "../dist/server.js",
4
- "types": "../dist/server/index.d.ts"
5
- }