@kandiforge/kandi-office 0.16.152 → 0.16.154
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/RustRenderer.js +1 -1
- package/dist/forms/storage/TauriFormStorage.js +1 -1
- package/dist/forms/storage/TauriThemeStorage.js +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/logger.js +1 -1
- package/dist/services/TauriDocumentService.js +1 -1
- package/dist/shared/commands/AutoCommitCommand.ts +254 -0
- package/dist/shared/commands/AutoConfigurationCommand.ts +642 -0
- package/dist/shared/commands/BaseAICommand.ts +85 -0
- package/dist/shared/commands/CommitDialogCommand.ts +451 -0
- package/dist/shared/commands/ForgeSpecCommand.ts +73 -0
- package/dist/shared/commands/GeneratePlanCommand.ts +79 -0
- package/dist/shared/commands/GenerateSpecCommand.ts +309 -0
- package/dist/shared/commands/PlanningItemCommand.ts +305 -0
- package/dist/shared/commands/SpeculativePlanCommand.ts +81 -0
- package/dist/shared/commands/TerminalAssistantCommand.ts +321 -0
- package/dist/shared/commands/index.ts +49 -0
- package/dist/shared/components/AgentConfiguration/AgentConfigurationDialog.tsx +325 -0
- package/dist/shared/components/AgentConfiguration/AgentList.tsx +246 -0
- package/dist/shared/components/AgentsDialog/kf-agents-dialog.css +663 -0
- package/dist/shared/components/AgentsDialog/kf-agents-dialog.js +1062 -0
- package/dist/shared/components/CommitDialog/CommitDialogView.css +860 -0
- package/dist/shared/components/CommitDialog/CommitDialogView.tsx +2137 -0
- package/dist/shared/components/CommitDialog/CommitMessageInput.tsx +98 -0
- package/dist/shared/components/CommitDialog/CommitMessageSection.tsx +199 -0
- package/dist/shared/components/DebugOverlay/DebugOverlay.ts +218 -0
- package/dist/shared/components/DebugOverlay/index.ts +2 -0
- package/dist/shared/components/FileIcon/BrandedFileIcon.tsx +343 -0
- package/dist/shared/components/FileIcon/VSCodeFileIcon.tsx +222 -0
- package/dist/shared/components/FileList/FileListView.css +124 -0
- package/dist/shared/components/FileList/FileListView.tsx +406 -0
- package/dist/shared/components/LoginChip/KandiLoginChip.tsx +200 -0
- package/dist/shared/components/LoginChip/LoginChip.css +228 -0
- package/dist/shared/components/LoginChip/LoginChip.html +75 -0
- package/dist/shared/components/LoginChip/LoginChip.ts +233 -0
- package/dist/shared/components/LoginChip/index.ts +2 -0
- package/dist/shared/components/LoginChip/vanilla/kf-login-chip.css +279 -0
- package/dist/shared/components/LoginChip/vanilla/kf-login-chip.js +459 -0
- package/dist/shared/components/PlanMode/AssigneeSelectionMenu.tsx +38 -0
- package/dist/shared/components/PlanMode/BulkEditConfirmDialog.tsx +78 -0
- package/dist/shared/components/PlanMode/CreateIterationDialog.tsx +103 -0
- package/dist/shared/components/PlanMode/CreateMilestoneDialog.tsx +112 -0
- package/dist/shared/components/PlanMode/CreateProjectDialog.tsx +100 -0
- package/dist/shared/components/PlanMode/DeleteConfirmDialog.tsx +79 -0
- package/dist/shared/components/PlanMode/EditMilestoneDialog.tsx +120 -0
- package/dist/shared/components/PlanMode/EditProjectDialog.tsx +108 -0
- package/dist/shared/components/PlanMode/FilterBar.tsx +278 -0
- package/dist/shared/components/PlanMode/FilterControl.tsx +109 -0
- package/dist/shared/components/PlanMode/IssueCard.tsx +713 -0
- package/dist/shared/components/PlanMode/IssueCardMenu.tsx +115 -0
- package/dist/shared/components/PlanMode/KanbanColumn.tsx +466 -0
- package/dist/shared/components/PlanMode/PlanModeView.css +41 -0
- package/dist/shared/components/PlanMode/PlanModeView.tsx +2716 -0
- package/dist/shared/components/PlanMode/PlanModeView.tsx.backup +3164 -0
- package/dist/shared/components/PlanMode/VKanbanColumn.tsx +538 -0
- package/dist/shared/components/PlanMode/constants.ts +57 -0
- package/dist/shared/components/PlanMode/hooks/useActiveIssues.ts +197 -0
- package/dist/shared/components/PlanMode/hooks/useBulkOperations.ts +203 -0
- package/dist/shared/components/PlanMode/hooks/useColumnResize.ts +145 -0
- package/dist/shared/components/PlanMode/hooks/useDialogState.ts +55 -0
- package/dist/shared/components/PlanMode/hooks/useDragAndDrop.ts +39 -0
- package/dist/shared/components/PlanMode/hooks/useIssueActions.ts +169 -0
- package/dist/shared/components/PlanMode/hooks/useMilestoneOperations.ts +176 -0
- package/dist/shared/components/PlanMode/hooks/useProjectOperations.ts +174 -0
- package/dist/shared/components/PlanMode/services/IssueStatusService.ts +247 -0
- package/dist/shared/components/PlanMode/types.ts +69 -0
- package/dist/shared/components/PlanMode/utils/helpers.ts +222 -0
- package/dist/shared/components/ProfileDialog/kf-profile-dialog.css +252 -0
- package/dist/shared/components/ProfileDialog/kf-profile-dialog.js +201 -0
- package/dist/shared/components/ProfileDialog/vanilla/kf-profile-dialog.css +252 -0
- package/dist/shared/components/ProfileDialog/vanilla/kf-profile-dialog.js +195 -0
- package/dist/shared/components/Tooltips/SmartTooltip.tsx +66 -0
- package/dist/shared/components/Tooltips/TooltipConfig.tsx +72 -0
- package/dist/shared/components/contexts/IssuesContext.tsx +63 -0
- package/dist/shared/components/contexts/SharedComponentContexts.tsx +188 -0
- package/dist/shared/components/contexts/index.tsx +272 -0
- package/dist/shared/contexts/DialogContext.tsx +242 -0
- package/dist/shared/contexts/EditorContext.tsx +437 -0
- package/dist/shared/contexts/PlatformContext.tsx +33 -0
- package/dist/shared/contexts/RepositoryContext.tsx +346 -0
- package/dist/shared/contexts/SharedPanelContext.tsx +323 -0
- package/dist/shared/contexts/SpecExecutionContext.tsx +134 -0
- package/dist/shared/contexts/UIStateContext.tsx +171 -0
- package/dist/shared/interfaces/FINAL_STATUS.md +196 -0
- package/dist/shared/interfaces/IContextProviders.ts +416 -0
- package/dist/shared/interfaces/IMPLEMENTATION_STATUS.md +116 -0
- package/dist/shared/interfaces/IPlatformAdapter.ts +65 -0
- package/dist/shared/interfaces/README.md +171 -0
- package/dist/shared/interfaces/index.ts +12 -0
- package/dist/shared/kandi-kit/contexts/IssuesProvider.tsx +984 -0
- package/dist/shared/kandi-kit/index.ts +71 -0
- package/dist/shared/kandi-kit/main-only.ts +16 -0
- package/dist/shared/kandi-kit/renderer.ts +9 -0
- package/dist/shared/kandi-kit/services/AITemplateService.ts +146 -0
- package/dist/shared/kandi-kit/services/AiAssistantClient.ts +613 -0
- package/dist/shared/kandi-kit/services/AnthropicClient.ts +355 -0
- package/dist/shared/kandi-kit/services/AssistantTokenLogger.ts +226 -0
- package/dist/shared/kandi-kit/services/ForgeClient.ts +371 -0
- package/dist/shared/kandi-kit/services/GPTCodingClient.ts +301 -0
- package/dist/shared/kandi-kit/services/GitHubAccessManager.ts +302 -0
- package/dist/shared/kandi-kit/services/GitHubService.ts +1359 -0
- package/dist/shared/kandi-kit/services/OpenAIClient.ts +419 -0
- package/dist/shared/kandi-kit/services/PlanClient.ts +82 -0
- package/dist/shared/kandi-kit/services/PlanClient.ts.backup +666 -0
- package/dist/shared/kandi-kit/services/PlanClient.ts.bak +694 -0
- package/dist/shared/kandi-kit/services/RunClient.ts +647 -0
- package/dist/shared/kandi-kit/services/SpecFileManager.ts +884 -0
- package/dist/shared/kandi-kit/services/SpecTemplateManager.ts +466 -0
- package/dist/shared/kandi-kit/services/SpectacleClient.ts +638 -0
- package/dist/shared/kandi-kit/services/SuperSmallClient.ts +299 -0
- package/dist/shared/kandi-kit/services/TemplateSyncService.ts +143 -0
- package/dist/shared/kandi-kit/services/UnifiedTokenSummary.ts +88 -0
- package/dist/shared/kandi-kit/services/XaiClient.ts +383 -0
- package/dist/shared/kandi-kit/tools/SuperSmallTool.ts +99 -0
- package/dist/shared/kandi-kit/tools/index.ts +5 -0
- package/dist/shared/kandi-kit/types/global.d.ts +37 -0
- package/dist/shared/package-lock.json +2593 -0
- package/dist/shared/package.json +30 -0
- package/dist/shared/providers/AICommandProvider.ts +709 -0
- package/dist/shared/services/FileLogger.ts +655 -0
- package/dist/shared/services/Logger.ts +200 -0
- package/dist/shared/services/agents/AgentService.ts +179 -0
- package/dist/shared/services/agents/ai-roles-metadata.js +124 -0
- package/dist/shared/services/agents/index.ts +2 -0
- package/dist/shared/services/agents/kf-agent-service.js +673 -0
- package/dist/shared/services/auth/KandiForgeAuthService.ts +254 -0
- package/dist/shared/services/auth/index.ts +2 -0
- package/dist/shared/services/auth/vanilla/kf-auth-service.js +237 -0
- package/dist/shared/services/encryption/README.md +59 -0
- package/dist/shared/services/encryption/kf-encryption-service.js +333 -0
- package/dist/shared/services/http/AxiosHttpClient.ts +46 -0
- package/dist/shared/services/http/IHttpClient.ts +36 -0
- package/dist/shared/services/http/index.ts +5 -0
- package/dist/shared/services/interfaces.ts +59 -0
- package/dist/shared/services/logger/kf-logger.js +299 -0
- package/dist/shared/types/ai-roles-metadata.js +121 -0
- package/dist/shared/types/ai-roles.ts +327 -0
- package/dist/shared/types/speculation.ts +133 -0
- package/dist/shared/utils/pathUtils.ts +318 -0
- package/dist/styles.css +1 -0
- package/dist/viewers/DocxViewer.js +1 -1
- package/dist/viewers/XmlViewer.css +491 -0
- package/dist/viewers/XmlViewer.d.ts +23 -0
- package/dist/viewers/XmlViewer.d.ts.map +1 -0
- package/dist/viewers/XmlViewer.js +134 -0
- package/dist/viewers/XmlViewer.js.map +1 -0
- package/dist/viewers/pdf/hooks/useFileWatcher.js +1 -1
- package/dist/viewers/xml/XmlMappingPanel.d.ts +11 -0
- package/dist/viewers/xml/XmlMappingPanel.d.ts.map +1 -0
- package/dist/viewers/xml/XmlMappingPanel.js +126 -0
- package/dist/viewers/xml/XmlMappingPanel.js.map +1 -0
- package/dist/viewers/xml/XmlPreview.d.ts +9 -0
- package/dist/viewers/xml/XmlPreview.d.ts.map +1 -0
- package/dist/viewers/xml/XmlPreview.js +54 -0
- package/dist/viewers/xml/XmlPreview.js.map +1 -0
- package/dist/viewers/xml/XmlThemePicker.d.ts +7 -0
- package/dist/viewers/xml/XmlThemePicker.d.ts.map +1 -0
- package/dist/viewers/xml/XmlThemePicker.js +5 -0
- package/dist/viewers/xml/XmlThemePicker.js.map +1 -0
- package/dist/viewers/xml/XmlTreeNavigator.d.ts +9 -0
- package/dist/viewers/xml/XmlTreeNavigator.d.ts.map +1 -0
- package/dist/viewers/xml/XmlTreeNavigator.js +15 -0
- package/dist/viewers/xml/XmlTreeNavigator.js.map +1 -0
- package/dist/viewers/xml/types.d.ts +155 -0
- package/dist/viewers/xml/types.d.ts.map +1 -0
- package/dist/viewers/xml/types.js +23 -0
- package/dist/viewers/xml/types.js.map +1 -0
- package/dist/viewers/xml/wasmBackend.d.ts +3 -0
- package/dist/viewers/xml/wasmBackend.d.ts.map +1 -0
- package/dist/viewers/xml/wasmBackend.js +60 -0
- package/dist/viewers/xml/wasmBackend.js.map +1 -0
- package/dist/wasm/LICENSE +37 -0
- package/dist/wasm/docx.d.ts +3 -3
- package/dist/wasm/docx.d.ts.map +1 -1
- package/dist/wasm/docx.js +22 -52
- package/dist/wasm/docx.js.map +1 -1
- package/dist/wasm/index.d.ts +1 -5
- package/dist/wasm/index.d.ts.map +1 -1
- package/dist/wasm/index.js +1 -3
- package/dist/wasm/index.js.map +1 -1
- package/dist/wasm/kandi_office_wasm.d.ts +165 -9
- package/dist/wasm/kandi_office_wasm.js +617 -24
- package/dist/wasm/kandi_office_wasm_bg.wasm +0 -0
- package/dist/wasm/kandi_office_wasm_bg.wasm.d.ts +24 -8
- package/dist/wasm/package.json +1 -1
- package/dist/wasm/pptx.d.ts +2 -2
- package/dist/wasm/pptx.d.ts.map +1 -1
- package/dist/wasm/pptx.js +81 -204
- package/dist/wasm/pptx.js.map +1 -1
- package/dist/wasm/types.d.ts +87 -211
- package/dist/wasm/types.d.ts.map +1 -1
- package/dist/wasm/wasm-loader.d.ts +1 -15
- package/dist/wasm/wasm-loader.d.ts.map +1 -1
- package/dist/wasm/wasm-loader.js +19 -17
- package/dist/wasm/wasm-loader.js.map +1 -1
- package/dist/wasm/xml.d.ts +10 -0
- package/dist/wasm/xml.d.ts.map +1 -0
- package/dist/wasm/xml.js +49 -0
- package/dist/wasm/xml.js.map +1 -0
- package/package.json +13 -5
- package/dist/ai-sidebar.html +0 -18
- package/dist/assets/AISidebar-CQ5fP3eJ.css +0 -1
- package/dist/assets/AISidebar-DrYmsI3P.js +0 -1
- package/dist/assets/FileLogger-C_Ag2mq_.js +0 -5
- package/dist/assets/HelpSidebar-CE2_097f.js +0 -1
- package/dist/assets/HelpSidebar-CJCALl_s.css +0 -1
- package/dist/assets/LoggerAdapter-DkeqR1k8.js +0 -1
- package/dist/assets/aiSidebar-C7jRWkNR.js +0 -2
- package/dist/assets/event-BQOPLiga.js +0 -1
- package/dist/assets/helpWindow-CXeq0Xvl.js +0 -2
- package/dist/assets/index-BCQcZBWV.js +0 -9
- package/dist/assets/index-D7-2e4s_.css +0 -1
- package/dist/assets/kandi-agent-icon-C6wMIunM.png +0 -0
- package/dist/assets/kandi-profile-icon-DR9b6TxX.png +0 -0
- package/dist/assets/kandi-settings-icon-B7gXEjZE.png +0 -0
- package/dist/assets/kandi_office_wasm-DOF-sjXG.js +0 -2
- package/dist/assets/kandi_office_wasm_bg-PSbcZKTi.wasm +0 -0
- package/dist/assets/logs-C00nBFHe.js +0 -2
- package/dist/assets/logs-CteYkMat.css +0 -1
- package/dist/assets/main-BDYXdlok.js +0 -323
- package/dist/assets/main-CQ6LhAcC.css +0 -1
- package/dist/assets/pdf-DUPavs6M.js +0 -12
- package/dist/assets/pdf.worker.min-yatZIOMy.mjs +0 -21
- package/dist/assets/preload-helper-BXl3LOEh.js +0 -1
- package/dist/assets/webview-B8guzubV.js +0 -1
- package/dist/assets/webviewWindow-BSH5q3Fg.js +0 -1
- package/dist/help-window.html +0 -18
- package/dist/index.html +0 -22
- package/dist/kandi-icon.png +0 -0
- package/dist/office-context-map.json +0 -47
- package/dist/src/log-viewer.html +0 -16
package/dist/RustRenderer.js
CHANGED
|
@@ -11,7 +11,7 @@ export function RustRenderer({ slideIndex, slideJson, width = 960, height = 540,
|
|
|
11
11
|
try {
|
|
12
12
|
let json = slideJson;
|
|
13
13
|
if (!json) {
|
|
14
|
-
const { invoke } = await import('@tauri-apps/api
|
|
14
|
+
const { invoke } = await new Function('m', 'return import(m)')('@tauri-apps/api/core');
|
|
15
15
|
json = await invoke('pptx_get_slide_json', { slideIndex });
|
|
16
16
|
}
|
|
17
17
|
const service = getDocumentService();
|
package/dist/index.d.ts
CHANGED
|
@@ -3,14 +3,16 @@ export type { DocxViewerProps } from './viewers/DocxViewer';
|
|
|
3
3
|
export { MarkdownViewer } from './viewers/MarkdownViewer';
|
|
4
4
|
export type { MarkdownViewerProps } from './viewers/MarkdownViewer';
|
|
5
5
|
export { PdfViewer } from './viewers/pdf/PdfViewer';
|
|
6
|
+
export { XmlViewer } from './viewers/XmlViewer';
|
|
7
|
+
export type { XmlViewerBackend } from './viewers/XmlViewer';
|
|
6
8
|
export { getDocumentService, resetDocumentService } from './services/documentServiceRegistry';
|
|
7
9
|
export type { IDocumentService, PptxDocumentHandle, DocxDocumentHandle, PdfDocumentHandle, SlideInfo } from './services/IDocumentService';
|
|
8
10
|
export { initWasm, isWasmReady } from './wasm/index';
|
|
9
11
|
export { extractPptx, parsePptxSlides, renderSlideToCanvas, parseSlideJson } from './wasm/pptx';
|
|
10
12
|
export { extractDocx, parseDocx, processDocx, renderDocxPage, layoutDocx } from './wasm/docx';
|
|
13
|
+
export { parseXml, xmlAutoDetectLayout, xmlRenderHtml, xmlSerializeLayout, xmlDeserializeLayout, xmlGetNavTree, xmlElementNames, xmlElementPaths, } from './wasm/xml';
|
|
14
|
+
export { createWasmXmlBackend } from './viewers/xml/wasmBackend';
|
|
11
15
|
export type { Slide, Shape, ShapeType, Position, Size, TextStyle, Background, Color, Fill, GradientFill, Stroke, TextParagraph, TextRun, ChartData, Theme, DocxDocument, DocxParagraph, DocxRun, LayoutPage, PptxExtractedData, DocxExtractedData, } from './wasm/types';
|
|
12
|
-
export * from './forms';
|
|
13
|
-
export * from './forms-builder';
|
|
14
16
|
export { RustRenderer } from './RustRenderer';
|
|
15
|
-
export declare const VERSION = "0.16.
|
|
17
|
+
export declare const VERSION = "0.16.154";
|
|
16
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAG3D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAC7F,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAGzI,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC/F,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAGhE,YAAY,EACV,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,UAAU,EACV,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,aAAa,EACb,OAAO,EACP,SAAS,EACT,KAAK,EACL,YAAY,EACZ,aAAa,EACb,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,eAAO,MAAM,OAAO,aAAa,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
export { DocxViewer } from './viewers/DocxViewer';
|
|
2
2
|
export { MarkdownViewer } from './viewers/MarkdownViewer';
|
|
3
3
|
export { PdfViewer } from './viewers/pdf/PdfViewer';
|
|
4
|
+
export { XmlViewer } from './viewers/XmlViewer';
|
|
4
5
|
export { getDocumentService, resetDocumentService } from './services/documentServiceRegistry';
|
|
5
6
|
export { initWasm, isWasmReady } from './wasm/index';
|
|
6
7
|
export { extractPptx, parsePptxSlides, renderSlideToCanvas, parseSlideJson } from './wasm/pptx';
|
|
7
8
|
export { extractDocx, parseDocx, processDocx, renderDocxPage, layoutDocx } from './wasm/docx';
|
|
8
|
-
export
|
|
9
|
-
export
|
|
9
|
+
export { parseXml, xmlAutoDetectLayout, xmlRenderHtml, xmlSerializeLayout, xmlDeserializeLayout, xmlGetNavTree, xmlElementNames, xmlElementPaths, } from './wasm/xml';
|
|
10
|
+
export { createWasmXmlBackend } from './viewers/xml/wasmBackend';
|
|
10
11
|
export { RustRenderer } from './RustRenderer';
|
|
11
|
-
export const VERSION = '0.16.
|
|
12
|
+
export const VERSION = '0.16.154';
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAI/C,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAI7F,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC/F,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AA4BhE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAA"}
|
package/dist/logger.js
CHANGED
|
@@ -15,7 +15,7 @@ export var LogCategory;
|
|
|
15
15
|
})(LogCategory || (LogCategory = {}));
|
|
16
16
|
async function tryInvoke(cmd, args) {
|
|
17
17
|
try {
|
|
18
|
-
const { invoke } = await import('@tauri-apps/api
|
|
18
|
+
const { invoke } = await new Function('m', 'return import(m)')('@tauri-apps/api/core');
|
|
19
19
|
await invoke(cmd, args);
|
|
20
20
|
}
|
|
21
21
|
catch {
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AutoCommitCommand - Automatically generate commit messages
|
|
3
|
+
*
|
|
4
|
+
* This command handles automatic commit message generation and can also
|
|
5
|
+
* handle the "Generate Split" functionality for splitting commits
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { BaseAICommand } from './BaseAICommand';
|
|
9
|
+
import { IAIChatInterface, AIRoles } from '../types/ai-roles';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Arguments for auto commit generation
|
|
13
|
+
*/
|
|
14
|
+
export interface AutoCommitArgs {
|
|
15
|
+
/** Git diff output showing all changes */
|
|
16
|
+
changes: string;
|
|
17
|
+
/** Optional file paths to include in analysis */
|
|
18
|
+
filePaths?: string[];
|
|
19
|
+
/** Whether to split into multiple commits */
|
|
20
|
+
splitCommits?: boolean;
|
|
21
|
+
/** Repository context */
|
|
22
|
+
repositoryContext?: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Single commit suggestion
|
|
27
|
+
*/
|
|
28
|
+
export interface CommitSuggestion {
|
|
29
|
+
/** Commit message title */
|
|
30
|
+
title: string;
|
|
31
|
+
/** Commit message description */
|
|
32
|
+
description?: string;
|
|
33
|
+
/** Files to include in this commit */
|
|
34
|
+
files: string[];
|
|
35
|
+
/** Reasoning for this commit grouping */
|
|
36
|
+
reasoning?: string;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Result from auto commit generation
|
|
41
|
+
*/
|
|
42
|
+
export interface AutoCommitResult {
|
|
43
|
+
/** List of suggested commits (1 for single commit, multiple for split) */
|
|
44
|
+
commits: CommitSuggestion[];
|
|
45
|
+
/** Overall analysis of the changes */
|
|
46
|
+
analysis?: string;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export class AutoCommitCommand extends BaseAICommand<AutoCommitArgs, AutoCommitResult> {
|
|
50
|
+
constructor() {
|
|
51
|
+
super(AIRoles.AI_PUSH);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
validateArgs(args: AutoCommitArgs): true | string {
|
|
55
|
+
if (!args.changes || args.changes.trim().length === 0) {
|
|
56
|
+
return 'No changes provided for auto commit generation';
|
|
57
|
+
}
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
async execute(
|
|
62
|
+
chatInterface: IAIChatInterface,
|
|
63
|
+
args: AutoCommitArgs
|
|
64
|
+
): Promise<AutoCommitResult> {
|
|
65
|
+
this.logExecutionStart(args);
|
|
66
|
+
|
|
67
|
+
// Verify chat interface is ready
|
|
68
|
+
await this.verifyChatInterface(chatInterface);
|
|
69
|
+
|
|
70
|
+
// Validate arguments
|
|
71
|
+
const validation = this.validateArgs(args);
|
|
72
|
+
if (validation !== true) {
|
|
73
|
+
throw new Error(validation);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
try {
|
|
77
|
+
const prompt = args.splitCommits
|
|
78
|
+
? this.buildSplitPrompt(args)
|
|
79
|
+
: this.buildSinglePrompt(args);
|
|
80
|
+
|
|
81
|
+
const systemPrompt = args.splitCommits
|
|
82
|
+
? this.getSplitSystemPrompt()
|
|
83
|
+
: this.getSingleSystemPrompt();
|
|
84
|
+
|
|
85
|
+
// Call AI
|
|
86
|
+
const response = await chatInterface.sendMessage(prompt, {
|
|
87
|
+
systemPrompt,
|
|
88
|
+
temperature: 0.4,
|
|
89
|
+
maxTokens: 2000 // More tokens for split commits
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
// Parse response
|
|
93
|
+
const result = args.splitCommits
|
|
94
|
+
? this.parseSplitResponse(response, args)
|
|
95
|
+
: this.parseSingleResponse(response, args);
|
|
96
|
+
|
|
97
|
+
this.logExecutionSuccess(result);
|
|
98
|
+
return result;
|
|
99
|
+
} catch (error) {
|
|
100
|
+
this.logExecutionError(error);
|
|
101
|
+
throw error;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Build prompt for single commit message
|
|
107
|
+
*/
|
|
108
|
+
private buildSinglePrompt(args: AutoCommitArgs): string {
|
|
109
|
+
let prompt = 'Generate a commit message for these changes:\n\n';
|
|
110
|
+
prompt += '```diff\n';
|
|
111
|
+
prompt += args.changes;
|
|
112
|
+
prompt += '\n```\n\n';
|
|
113
|
+
|
|
114
|
+
if (args.repositoryContext) {
|
|
115
|
+
prompt += `Repository: ${args.repositoryContext}\n\n`;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
prompt += 'Format:\nTITLE: <summary>\nDESCRIPTION: <details>\n';
|
|
119
|
+
return prompt;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Build prompt for split commits analysis
|
|
124
|
+
*/
|
|
125
|
+
private buildSplitPrompt(args: AutoCommitArgs): string {
|
|
126
|
+
let prompt = 'Analyze these changes and suggest how to split them into logical, atomic commits:\n\n';
|
|
127
|
+
prompt += '```diff\n';
|
|
128
|
+
prompt += args.changes;
|
|
129
|
+
prompt += '\n```\n\n';
|
|
130
|
+
|
|
131
|
+
if (args.filePaths && args.filePaths.length > 0) {
|
|
132
|
+
prompt += 'Files changed:\n';
|
|
133
|
+
args.filePaths.forEach(file => {
|
|
134
|
+
prompt += `- ${file}\n`;
|
|
135
|
+
});
|
|
136
|
+
prompt += '\n';
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (args.repositoryContext) {
|
|
140
|
+
prompt += `Repository: ${args.repositoryContext}\n\n`;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
prompt += 'For each suggested commit, provide:\n';
|
|
144
|
+
prompt += '1. COMMIT #N\n';
|
|
145
|
+
prompt += '2. TITLE: <summary>\n';
|
|
146
|
+
prompt += '3. DESCRIPTION: <details>\n';
|
|
147
|
+
prompt += '4. FILES: <comma-separated file paths>\n';
|
|
148
|
+
prompt += '5. REASONING: <why these changes belong together>\n';
|
|
149
|
+
prompt += '\n';
|
|
150
|
+
prompt += 'Separate each commit with "---"\n';
|
|
151
|
+
|
|
152
|
+
return prompt;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* System prompt for single commit
|
|
157
|
+
*/
|
|
158
|
+
private getSingleSystemPrompt(): string {
|
|
159
|
+
return 'You are an expert at writing clear, atomic git commit messages. ' +
|
|
160
|
+
'Write concise titles (under 50 chars) and detailed descriptions when needed. ' +
|
|
161
|
+
'Focus on the "why" and impact of changes.';
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* System prompt for split commits
|
|
166
|
+
*/
|
|
167
|
+
private getSplitSystemPrompt(): string {
|
|
168
|
+
return 'You are an expert at analyzing code changes and organizing them into atomic, logical commits. ' +
|
|
169
|
+
'Each commit should represent a single logical change. ' +
|
|
170
|
+
'Group related changes together (e.g., refactoring, bug fixes, features). ' +
|
|
171
|
+
'Prefer fewer, well-organized commits over many tiny commits. ' +
|
|
172
|
+
'Each commit should be independently buildable if possible.';
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Parse response for single commit
|
|
177
|
+
*/
|
|
178
|
+
private parseSingleResponse(response: string, args: AutoCommitArgs): AutoCommitResult {
|
|
179
|
+
const lines = response.split('\n');
|
|
180
|
+
let title = '';
|
|
181
|
+
let description = '';
|
|
182
|
+
|
|
183
|
+
for (const line of lines) {
|
|
184
|
+
const trimmed = line.trim();
|
|
185
|
+
if (trimmed.startsWith('TITLE:')) {
|
|
186
|
+
title = trimmed.substring(6).trim();
|
|
187
|
+
} else if (trimmed.startsWith('DESCRIPTION:')) {
|
|
188
|
+
description = trimmed.substring(12).trim();
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
if (!title) {
|
|
193
|
+
title = lines.find(l => l.trim().length > 0)?.trim() || 'Update files';
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
if (description && /^(none|n\/a|-)$/i.test(description)) {
|
|
197
|
+
description = '';
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
return {
|
|
201
|
+
commits: [{
|
|
202
|
+
title: title.substring(0, 72),
|
|
203
|
+
description: description || undefined,
|
|
204
|
+
files: args.filePaths || []
|
|
205
|
+
}]
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Parse response for split commits
|
|
211
|
+
*/
|
|
212
|
+
private parseSplitResponse(response: string, args: AutoCommitArgs): AutoCommitResult {
|
|
213
|
+
const commitBlocks = response.split('---').map(block => block.trim()).filter(b => b.length > 0);
|
|
214
|
+
const commits: CommitSuggestion[] = [];
|
|
215
|
+
|
|
216
|
+
for (const block of commitBlocks) {
|
|
217
|
+
const lines = block.split('\n');
|
|
218
|
+
let title = '';
|
|
219
|
+
let description = '';
|
|
220
|
+
let files: string[] = [];
|
|
221
|
+
let reasoning = '';
|
|
222
|
+
|
|
223
|
+
for (const line of lines) {
|
|
224
|
+
const trimmed = line.trim();
|
|
225
|
+
if (trimmed.startsWith('TITLE:')) {
|
|
226
|
+
title = trimmed.substring(6).trim();
|
|
227
|
+
} else if (trimmed.startsWith('DESCRIPTION:')) {
|
|
228
|
+
description = trimmed.substring(12).trim();
|
|
229
|
+
} else if (trimmed.startsWith('FILES:')) {
|
|
230
|
+
const fileStr = trimmed.substring(6).trim();
|
|
231
|
+
files = fileStr.split(',').map(f => f.trim()).filter(f => f.length > 0);
|
|
232
|
+
} else if (trimmed.startsWith('REASONING:')) {
|
|
233
|
+
reasoning = trimmed.substring(10).trim();
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
if (title) {
|
|
238
|
+
commits.push({
|
|
239
|
+
title: title.substring(0, 72),
|
|
240
|
+
description: description || undefined,
|
|
241
|
+
files: files.length > 0 ? files : (args.filePaths || []),
|
|
242
|
+
reasoning: reasoning || undefined
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// Fallback: If no commits parsed, return single commit
|
|
248
|
+
if (commits.length === 0) {
|
|
249
|
+
return this.parseSingleResponse(response, args);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
return { commits };
|
|
253
|
+
}
|
|
254
|
+
}
|