factory-factory 0.2.2 → 0.2.4
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/client/assets/{_basePickBy-CISdQ2gh.js → _basePickBy-CCB8XrLV.js} +1 -1
- package/dist/client/assets/{_baseUniq-DbasVTTn.js → _baseUniq-CnpEKy-E.js} +1 -1
- package/dist/client/assets/{arc-DLw2lHO3.js → arc-BVt3NpFL.js} +1 -1
- package/dist/client/assets/{architectureDiagram-VXUJARFQ-BMuH-Hnq.js → architectureDiagram-VXUJARFQ-DQXtRVG1.js} +1 -1
- package/dist/client/assets/{blockDiagram-VD42YOAC-DmK7wVT_.js → blockDiagram-VD42YOAC-C_GKWlYL.js} +1 -1
- package/dist/client/assets/{c4Diagram-YG6GDRKO-Dcjqp_Ah.js → c4Diagram-YG6GDRKO-njABqJg1.js} +1 -1
- package/dist/client/assets/channel-DXVcwOT7.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-Qs_UDhnI.js → chunk-4BX2VUAB-DNMCzzfR.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-BO9yB0ki.js → chunk-55IACEB6-CajLRh0F.js} +1 -1
- package/dist/client/assets/{chunk-B4BG7PRW-BglcMNkh.js → chunk-B4BG7PRW-BLSFZNLe.js} +1 -1
- package/dist/client/assets/{chunk-DI55MBZ5-CXV9Cibn.js → chunk-DI55MBZ5-DtQPQERJ.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-9BOiNUQ0.js → chunk-FMBD7UC4-BhtFvMT5.js} +1 -1
- package/dist/client/assets/{chunk-QN33PNHL-CC_W0vDr.js → chunk-QN33PNHL-DBHUU683.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-Czfwg8a1.js → chunk-QZHKN3VN-B1rA-SBe.js} +1 -1
- package/dist/client/assets/{chunk-TZMSLE5B-BJV3Hq3o.js → chunk-TZMSLE5B-BJUlg6Pf.js} +1 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-DSXhUv2N.js +1 -0
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-DSXhUv2N.js +1 -0
- package/dist/client/assets/clone-Cel7XaEC.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-B5cm6i8I.js → cose-bilkent-S5V4N54A-CyjRxz-A.js} +1 -1
- package/dist/client/assets/{dagre-6UL2VRFP-CVH3lZKU.js → dagre-6UL2VRFP-CURGwkx9.js} +1 -1
- package/dist/client/assets/{diagram-PSM6KHXK-_30scg7I.js → diagram-PSM6KHXK-CaOIVsbD.js} +1 -1
- package/dist/client/assets/{diagram-QEK2KX5R-9lrSo1mZ.js → diagram-QEK2KX5R-0zoz9z8_.js} +1 -1
- package/dist/client/assets/{diagram-S2PKOQOG-BXTnVDbA.js → diagram-S2PKOQOG-D6WyG3pJ.js} +1 -1
- package/dist/client/assets/{erDiagram-Q2GNP2WA-G8ND4OKG.js → erDiagram-Q2GNP2WA-BwfTai9D.js} +1 -1
- package/dist/client/assets/{flowDiagram-NV44I4VS-DuNdqXHj.js → flowDiagram-NV44I4VS-z6idjLXa.js} +1 -1
- package/dist/client/assets/{ganttDiagram-JELNMOA3-D8xrPWlF.js → ganttDiagram-JELNMOA3-BLAK0GDW.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-NY62KEGX-DInZobj6.js → gitGraphDiagram-NY62KEGX-DsC9TQow.js} +1 -1
- package/dist/client/assets/{graph-B4QY9Cck.js → graph-72LNxX96.js} +1 -1
- package/dist/client/assets/{index-V-FCWQQz.js → index-C0E1P_GL.js} +130 -130
- package/dist/client/assets/index-DI1BSYUN.css +1 -0
- package/dist/client/assets/{infoDiagram-WHAUD3N6-Dny0M-Oi.js → infoDiagram-WHAUD3N6-CInk5tUs.js} +1 -1
- package/dist/client/assets/{journeyDiagram-XKPGCS4Q-94HP68E8.js → journeyDiagram-XKPGCS4Q-nTrHP_HR.js} +1 -1
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-CeWqcrPF.js → kanban-definition-3W4ZIXB7-xiF9MwcX.js} +1 -1
- package/dist/client/assets/{layout-3khFWUY7.js → layout-BxYnyUX2.js} +1 -1
- package/dist/client/assets/{linear-XI3Hp28C.js → linear-BOpSSl-n.js} +1 -1
- package/dist/client/assets/{mindmap-definition-VGOIOE7T-CDV8vhxz.js → mindmap-definition-VGOIOE7T-BxYEWuiO.js} +1 -1
- package/dist/client/assets/{pieDiagram-ADFJNKIX-C7pM-a3b.js → pieDiagram-ADFJNKIX-DHQkQuZp.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-BVupGY8e.js → quadrantDiagram-AYHSOK5B--dbc4LsQ.js} +1 -1
- package/dist/client/assets/{requirementDiagram-UZGBJVZJ-_W6CGno1.js → requirementDiagram-UZGBJVZJ-Dr-h39fn.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-TZEHDZUN-DuDbqB0A.js → sankeyDiagram-TZEHDZUN-BwKHqT4R.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WL72ISMW-LER3Fq55.js → sequenceDiagram-WL72ISMW-DizdB6A9.js} +1 -1
- package/dist/client/assets/{stateDiagram-FKZM4ZOC-B0z2P05N.js → stateDiagram-FKZM4ZOC-C-J72Wtl.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-waz9l7Vx.js +1 -0
- package/dist/client/assets/{terminal-instance-CoJFcQup.js → terminal-instance-qIJHj7KS.js} +1 -1
- package/dist/client/assets/{timeline-definition-IT6M3QCI-DUb5ucGf.js → timeline-definition-IT6M3QCI-DAGw_FKd.js} +1 -1
- package/dist/client/assets/{treemap-KMMF4GRG-DaUbhciW.js → treemap-KMMF4GRG-Bo4f4Al3.js} +1 -1
- package/dist/client/assets/{xychartDiagram-PRI3JC2R-DvmloW_f.js → xychartDiagram-PRI3JC2R-CAJ9NVad.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/prisma/generated/enums.d.ts +0 -1
- package/dist/prisma/generated/enums.d.ts.map +1 -1
- package/dist/prisma/generated/enums.js +0 -1
- package/dist/prisma/generated/enums.js.map +1 -1
- package/dist/prisma/generated/internal/class.js +2 -2
- package/dist/prisma/generated/internal/class.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.d.ts +0 -1
- package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.js +0 -1
- package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +0 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +0 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/prisma/generated/models/UserSettings.d.ts +1 -29
- package/dist/prisma/generated/models/UserSettings.d.ts.map +1 -1
- package/dist/prompts/workflows/ratchet.md +22 -36
- package/dist/src/backend/claude/protocol.d.ts +5 -2
- package/dist/src/backend/claude/protocol.d.ts.map +1 -1
- package/dist/src/backend/claude/protocol.js +51 -7
- package/dist/src/backend/claude/protocol.js.map +1 -1
- package/dist/src/backend/claude/protocol.test.js +170 -0
- package/dist/src/backend/claude/protocol.test.js.map +1 -1
- package/dist/src/backend/claude/registry.d.ts.map +1 -1
- package/dist/src/backend/claude/registry.js +12 -1
- package/dist/src/backend/claude/registry.js.map +1 -1
- package/dist/src/backend/claude/types.d.ts +25 -3
- package/dist/src/backend/claude/types.d.ts.map +1 -1
- package/dist/src/backend/claude/types.js +23 -0
- package/dist/src/backend/claude/types.js.map +1 -1
- package/dist/src/backend/interceptors/pr-detection.interceptor.d.ts.map +1 -1
- package/dist/src/backend/interceptors/pr-detection.interceptor.js +19 -23
- package/dist/src/backend/interceptors/pr-detection.interceptor.js.map +1 -1
- package/dist/src/backend/resource_accessors/user-settings.accessor.d.ts +0 -1
- package/dist/src/backend/resource_accessors/user-settings.accessor.d.ts.map +1 -1
- package/dist/src/backend/resource_accessors/user-settings.accessor.js.map +1 -1
- package/dist/src/backend/resource_accessors/workspace.accessor.d.ts +1 -0
- package/dist/src/backend/resource_accessors/workspace.accessor.d.ts.map +1 -1
- package/dist/src/backend/resource_accessors/workspace.accessor.js +6 -0
- package/dist/src/backend/resource_accessors/workspace.accessor.js.map +1 -1
- package/dist/src/backend/services/chat-event-forwarder.service.d.ts +2 -0
- package/dist/src/backend/services/chat-event-forwarder.service.d.ts.map +1 -1
- package/dist/src/backend/services/chat-event-forwarder.service.js +50 -24
- package/dist/src/backend/services/chat-event-forwarder.service.js.map +1 -1
- package/dist/src/backend/services/chat-message-handlers/attachment-processing.d.ts +14 -0
- package/dist/src/backend/services/chat-message-handlers/attachment-processing.d.ts.map +1 -0
- package/dist/src/backend/services/chat-message-handlers/attachment-processing.js +81 -0
- package/dist/src/backend/services/chat-message-handlers/attachment-processing.js.map +1 -0
- package/dist/src/backend/services/chat-message-handlers/attachment-processing.test.d.ts +2 -0
- package/dist/src/backend/services/chat-message-handlers/attachment-processing.test.d.ts.map +1 -0
- package/dist/src/backend/services/chat-message-handlers/attachment-processing.test.js +315 -0
- package/dist/src/backend/services/chat-message-handlers/attachment-processing.test.js.map +1 -0
- package/dist/src/backend/services/chat-message-handlers/handlers/handlers.test.js +34 -0
- package/dist/src/backend/services/chat-message-handlers/handlers/handlers.test.js.map +1 -1
- package/dist/src/backend/services/chat-message-handlers.service.d.ts +0 -2
- package/dist/src/backend/services/chat-message-handlers.service.d.ts.map +1 -1
- package/dist/src/backend/services/chat-message-handlers.service.js +2 -60
- package/dist/src/backend/services/chat-message-handlers.service.js.map +1 -1
- package/dist/src/backend/services/data-backup.service.d.ts +482 -3
- package/dist/src/backend/services/data-backup.service.d.ts.map +1 -1
- package/dist/src/backend/services/data-backup.service.js +164 -20
- package/dist/src/backend/services/data-backup.service.js.map +1 -1
- package/dist/src/backend/services/data-backup.service.test.d.ts +2 -0
- package/dist/src/backend/services/data-backup.service.test.d.ts.map +1 -0
- package/dist/src/backend/services/data-backup.service.test.js +602 -0
- package/dist/src/backend/services/data-backup.service.test.js.map +1 -0
- package/dist/src/backend/services/pr-snapshot.service.d.ts +9 -1
- package/dist/src/backend/services/pr-snapshot.service.d.ts.map +1 -1
- package/dist/src/backend/services/pr-snapshot.service.js +53 -3
- package/dist/src/backend/services/pr-snapshot.service.js.map +1 -1
- package/dist/src/backend/services/pr-snapshot.service.test.js +102 -47
- package/dist/src/backend/services/pr-snapshot.service.test.js.map +1 -1
- package/dist/src/backend/services/ratchet.service.d.ts +0 -2
- package/dist/src/backend/services/ratchet.service.d.ts.map +1 -1
- package/dist/src/backend/services/ratchet.service.js +30 -57
- package/dist/src/backend/services/ratchet.service.js.map +1 -1
- package/dist/src/backend/services/ratchet.service.test.js +83 -6
- package/dist/src/backend/services/ratchet.service.test.js.map +1 -1
- package/dist/src/backend/services/scheduler.service.d.ts.map +1 -1
- package/dist/src/backend/services/scheduler.service.js +16 -7
- package/dist/src/backend/services/scheduler.service.js.map +1 -1
- package/dist/src/backend/services/scheduler.service.test.js +41 -5
- package/dist/src/backend/services/scheduler.service.test.js.map +1 -1
- package/dist/src/backend/services/session.repository.d.ts +4 -0
- package/dist/src/backend/services/session.repository.d.ts.map +1 -1
- package/dist/src/backend/services/session.repository.js +6 -0
- package/dist/src/backend/services/session.repository.js.map +1 -1
- package/dist/src/backend/services/session.service.d.ts +0 -1
- package/dist/src/backend/services/session.service.d.ts.map +1 -1
- package/dist/src/backend/services/session.service.js +20 -24
- package/dist/src/backend/services/session.service.js.map +1 -1
- package/dist/src/backend/services/session.service.test.js +256 -9
- package/dist/src/backend/services/session.service.test.js.map +1 -1
- package/dist/src/backend/services/slash-command-cache.service.d.ts.map +1 -1
- package/dist/src/backend/services/slash-command-cache.service.js +8 -5
- package/dist/src/backend/services/slash-command-cache.service.js.map +1 -1
- package/dist/src/backend/services/workspace-creation.service.test.js +0 -2
- package/dist/src/backend/services/workspace-creation.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace-flow-state.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace-flow-state.service.js +0 -1
- package/dist/src/backend/services/workspace-flow-state.service.js.map +1 -1
- package/dist/src/backend/trpc/admin.trpc.d.ts +124 -1
- package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/github.trpc.d.ts +14 -0
- package/dist/src/backend/trpc/github.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/github.trpc.js +28 -0
- package/dist/src/backend/trpc/github.trpc.js.map +1 -1
- package/dist/src/backend/trpc/index.d.ts +138 -4
- package/dist/src/backend/trpc/index.d.ts.map +1 -1
- package/dist/src/backend/trpc/user-settings.trpc.d.ts +0 -3
- package/dist/src/backend/trpc/user-settings.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/user-settings.trpc.js +0 -1
- package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.js +1 -0
- package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
- package/dist/tsconfig.backend.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/prisma/migrations/20260206170000_remove_merge_conflict_state/migration.sql +7 -0
- package/prisma/migrations/20260206174726_remove_ratchet_auto_fix_conflicts/migration.sql +33 -0
- package/prisma/schema.prisma +0 -2
- package/prompts/workflows/ratchet.md +22 -36
- package/dist/client/assets/channel-t_S6k3cr.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-2upzgQsa.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-2upzgQsa.js +0 -1
- package/dist/client/assets/clone-CWl2uYnl.js +0 -1
- package/dist/client/assets/index-eDDa27-u.css +0 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-HoKsGlH4.js +0 -1
|
@@ -0,0 +1,602 @@
|
|
|
1
|
+
import { CIStatus, KanbanColumn, PRState, RatchetState, RunScriptStatus, WorkspaceCreationSource, WorkspaceStatus, } from '../../../prisma/generated/client.js';
|
|
2
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
3
|
+
const mockTx = vi.hoisted(() => ({
|
|
4
|
+
project: {
|
|
5
|
+
findUnique: vi.fn(),
|
|
6
|
+
create: vi.fn(),
|
|
7
|
+
},
|
|
8
|
+
workspace: {
|
|
9
|
+
findUnique: vi.fn(),
|
|
10
|
+
create: vi.fn(),
|
|
11
|
+
},
|
|
12
|
+
claudeSession: {
|
|
13
|
+
findUnique: vi.fn(),
|
|
14
|
+
create: vi.fn(),
|
|
15
|
+
},
|
|
16
|
+
terminalSession: {
|
|
17
|
+
findUnique: vi.fn(),
|
|
18
|
+
create: vi.fn(),
|
|
19
|
+
},
|
|
20
|
+
userSettings: {
|
|
21
|
+
findFirst: vi.fn(),
|
|
22
|
+
create: vi.fn(),
|
|
23
|
+
},
|
|
24
|
+
}));
|
|
25
|
+
vi.mock('../db', () => ({
|
|
26
|
+
prisma: {
|
|
27
|
+
project: {
|
|
28
|
+
findMany: vi.fn(),
|
|
29
|
+
findUnique: vi.fn(),
|
|
30
|
+
create: vi.fn(),
|
|
31
|
+
},
|
|
32
|
+
workspace: {
|
|
33
|
+
findMany: vi.fn(),
|
|
34
|
+
findUnique: vi.fn(),
|
|
35
|
+
create: vi.fn(),
|
|
36
|
+
},
|
|
37
|
+
claudeSession: {
|
|
38
|
+
findMany: vi.fn(),
|
|
39
|
+
findUnique: vi.fn(),
|
|
40
|
+
create: vi.fn(),
|
|
41
|
+
},
|
|
42
|
+
terminalSession: {
|
|
43
|
+
findMany: vi.fn(),
|
|
44
|
+
findUnique: vi.fn(),
|
|
45
|
+
create: vi.fn(),
|
|
46
|
+
},
|
|
47
|
+
userSettings: {
|
|
48
|
+
findFirst: vi.fn(),
|
|
49
|
+
create: vi.fn(),
|
|
50
|
+
},
|
|
51
|
+
$transaction: vi.fn((callback) => callback(mockTx)),
|
|
52
|
+
},
|
|
53
|
+
}));
|
|
54
|
+
import { prisma } from '../db.js';
|
|
55
|
+
import { dataBackupService, exportDataSchema } from './data-backup.service.js';
|
|
56
|
+
describe('DataBackupService', () => {
|
|
57
|
+
const mockProject = {
|
|
58
|
+
id: 'proj-1',
|
|
59
|
+
name: 'Test Project',
|
|
60
|
+
slug: 'test-project',
|
|
61
|
+
repoPath: '/path/to/repo',
|
|
62
|
+
worktreeBasePath: '/path/to/worktrees',
|
|
63
|
+
defaultBranch: 'main',
|
|
64
|
+
githubOwner: 'test-owner',
|
|
65
|
+
githubRepo: 'test-repo',
|
|
66
|
+
isArchived: false,
|
|
67
|
+
startupScriptCommand: 'npm install',
|
|
68
|
+
startupScriptPath: null,
|
|
69
|
+
startupScriptTimeout: 300,
|
|
70
|
+
createdAt: new Date('2025-01-01T00:00:00.000Z'),
|
|
71
|
+
updatedAt: new Date('2025-01-01T00:00:00.000Z'),
|
|
72
|
+
};
|
|
73
|
+
const mockWorkspaceV2 = {
|
|
74
|
+
id: 'ws-1',
|
|
75
|
+
projectId: 'proj-1',
|
|
76
|
+
name: 'Test Workspace',
|
|
77
|
+
description: 'Test description',
|
|
78
|
+
status: WorkspaceStatus.READY,
|
|
79
|
+
worktreePath: '/path/to/worktree',
|
|
80
|
+
branchName: 'feature/test',
|
|
81
|
+
isAutoGeneratedBranch: true,
|
|
82
|
+
creationSource: WorkspaceCreationSource.GITHUB_ISSUE,
|
|
83
|
+
creationMetadata: { issueNumber: 123 },
|
|
84
|
+
initErrorMessage: null,
|
|
85
|
+
initOutput: 'Init output',
|
|
86
|
+
initStartedAt: new Date('2025-01-01T00:00:00.000Z'),
|
|
87
|
+
initCompletedAt: new Date('2025-01-01T00:05:00.000Z'),
|
|
88
|
+
initRetryCount: 0,
|
|
89
|
+
runScriptCommand: 'npm run dev',
|
|
90
|
+
runScriptCleanupCommand: 'npm run cleanup',
|
|
91
|
+
runScriptPid: 12_345,
|
|
92
|
+
runScriptPort: 3000,
|
|
93
|
+
runScriptStartedAt: new Date('2025-01-01T00:10:00.000Z'),
|
|
94
|
+
runScriptStatus: RunScriptStatus.RUNNING,
|
|
95
|
+
prUrl: 'https://github.com/test/repo/pull/1',
|
|
96
|
+
githubIssueNumber: 123,
|
|
97
|
+
githubIssueUrl: 'https://github.com/test/repo/issues/123',
|
|
98
|
+
prNumber: 1,
|
|
99
|
+
prState: PRState.OPEN,
|
|
100
|
+
prReviewState: 'APPROVED',
|
|
101
|
+
prCiStatus: CIStatus.SUCCESS,
|
|
102
|
+
prUpdatedAt: new Date('2025-01-01T00:15:00.000Z'),
|
|
103
|
+
prCiFailedAt: null,
|
|
104
|
+
prCiLastNotifiedAt: null,
|
|
105
|
+
prReviewLastCheckedAt: new Date('2025-01-01T00:20:00.000Z'),
|
|
106
|
+
prReviewLastCommentId: 'comment-123',
|
|
107
|
+
ratchetEnabled: true,
|
|
108
|
+
ratchetState: RatchetState.READY,
|
|
109
|
+
ratchetLastCheckedAt: new Date('2025-01-01T00:25:00.000Z'),
|
|
110
|
+
ratchetLastPushAt: new Date('2025-01-01T00:30:00.000Z'),
|
|
111
|
+
ratchetActiveSessionId: 'session-123',
|
|
112
|
+
ratchetLastCiRunId: 'run-123',
|
|
113
|
+
ratchetLastNotifiedState: RatchetState.CI_RUNNING,
|
|
114
|
+
hasHadSessions: true,
|
|
115
|
+
cachedKanbanColumn: KanbanColumn.WORKING,
|
|
116
|
+
stateComputedAt: new Date('2025-01-01T00:35:00.000Z'),
|
|
117
|
+
createdAt: new Date('2025-01-01T00:00:00.000Z'),
|
|
118
|
+
updatedAt: new Date('2025-01-01T00:35:00.000Z'),
|
|
119
|
+
};
|
|
120
|
+
const mockUserSettingsV2 = {
|
|
121
|
+
id: 'settings-1',
|
|
122
|
+
userId: 'default',
|
|
123
|
+
preferredIde: 'cursor',
|
|
124
|
+
customIdeCommand: null,
|
|
125
|
+
playSoundOnComplete: true,
|
|
126
|
+
notificationSoundPath: '/path/to/sound.mp3',
|
|
127
|
+
workspaceOrder: { 'proj-1': ['ws-1', 'ws-2'] },
|
|
128
|
+
cachedSlashCommands: { commands: [] },
|
|
129
|
+
ratchetEnabled: true,
|
|
130
|
+
ratchetAutoFixCi: true,
|
|
131
|
+
ratchetAutoFixReviews: false,
|
|
132
|
+
ratchetAutoMerge: false,
|
|
133
|
+
ratchetAllowedReviewers: ['user1', 'user2'],
|
|
134
|
+
createdAt: new Date('2025-01-01T00:00:00.000Z'),
|
|
135
|
+
updatedAt: new Date('2025-01-01T00:00:00.000Z'),
|
|
136
|
+
};
|
|
137
|
+
beforeEach(() => {
|
|
138
|
+
vi.clearAllMocks();
|
|
139
|
+
});
|
|
140
|
+
describe('exportData', () => {
|
|
141
|
+
it('should export data in v2 format with all fields', async () => {
|
|
142
|
+
vi.mocked(prisma.project.findMany).mockResolvedValue([mockProject]);
|
|
143
|
+
vi.mocked(prisma.workspace.findMany).mockResolvedValue([mockWorkspaceV2]);
|
|
144
|
+
vi.mocked(prisma.claudeSession.findMany).mockResolvedValue([]);
|
|
145
|
+
vi.mocked(prisma.terminalSession.findMany).mockResolvedValue([]);
|
|
146
|
+
vi.mocked(prisma.userSettings.findFirst).mockResolvedValue(mockUserSettingsV2);
|
|
147
|
+
const result = await dataBackupService.exportData('1.0.0');
|
|
148
|
+
expect(result.meta.schemaVersion).toBe(2);
|
|
149
|
+
expect(result.meta.version).toBe('1.0.0');
|
|
150
|
+
expect(result.data.projects).toHaveLength(1);
|
|
151
|
+
expect(result.data.workspaces).toHaveLength(1);
|
|
152
|
+
const exportedWorkspace = result.data.workspaces[0];
|
|
153
|
+
expect(exportedWorkspace).toBeDefined();
|
|
154
|
+
expect(exportedWorkspace?.ratchetEnabled).toBe(true);
|
|
155
|
+
expect(exportedWorkspace?.ratchetState).toBe(RatchetState.READY);
|
|
156
|
+
expect(exportedWorkspace?.ratchetLastCheckedAt).toBe('2025-01-01T00:25:00.000Z');
|
|
157
|
+
expect(exportedWorkspace?.ratchetActiveSessionId).toBe('session-123');
|
|
158
|
+
expect(exportedWorkspace?.ratchetLastCiRunId).toBe('run-123');
|
|
159
|
+
expect(exportedWorkspace?.prReviewLastCheckedAt).toBe('2025-01-01T00:20:00.000Z');
|
|
160
|
+
expect(exportedWorkspace?.prReviewLastCommentId).toBe('comment-123');
|
|
161
|
+
const exportedSettings = result.data.userSettings;
|
|
162
|
+
expect(exportedSettings).not.toBeNull();
|
|
163
|
+
expect(exportedSettings?.ratchetEnabled).toBe(true);
|
|
164
|
+
expect(exportedSettings?.ratchetAutoFixCi).toBe(true);
|
|
165
|
+
expect(exportedSettings?.ratchetAutoFixReviews).toBe(false);
|
|
166
|
+
expect(exportedSettings?.ratchetAutoMerge).toBe(false);
|
|
167
|
+
expect(exportedSettings?.ratchetAllowedReviewers).toEqual(['user1', 'user2']);
|
|
168
|
+
expect('workspaceOrder' in (exportedSettings ?? {})).toBe(false);
|
|
169
|
+
expect('cachedSlashCommands' in (exportedSettings ?? {})).toBe(false);
|
|
170
|
+
});
|
|
171
|
+
it('should handle null user settings', async () => {
|
|
172
|
+
vi.mocked(prisma.project.findMany).mockResolvedValue([]);
|
|
173
|
+
vi.mocked(prisma.workspace.findMany).mockResolvedValue([]);
|
|
174
|
+
vi.mocked(prisma.claudeSession.findMany).mockResolvedValue([]);
|
|
175
|
+
vi.mocked(prisma.terminalSession.findMany).mockResolvedValue([]);
|
|
176
|
+
vi.mocked(prisma.userSettings.findFirst).mockResolvedValue(null);
|
|
177
|
+
const result = await dataBackupService.exportData('1.0.0');
|
|
178
|
+
expect(result.data.userSettings).toBeNull();
|
|
179
|
+
});
|
|
180
|
+
it('should export valid v2 schema', async () => {
|
|
181
|
+
vi.mocked(prisma.project.findMany).mockResolvedValue([mockProject]);
|
|
182
|
+
vi.mocked(prisma.workspace.findMany).mockResolvedValue([mockWorkspaceV2]);
|
|
183
|
+
vi.mocked(prisma.claudeSession.findMany).mockResolvedValue([]);
|
|
184
|
+
vi.mocked(prisma.terminalSession.findMany).mockResolvedValue([]);
|
|
185
|
+
vi.mocked(prisma.userSettings.findFirst).mockResolvedValue(mockUserSettingsV2);
|
|
186
|
+
const result = await dataBackupService.exportData('1.0.0');
|
|
187
|
+
const parseResult = exportDataSchema.safeParse(result);
|
|
188
|
+
expect(parseResult.success).toBe(true);
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
describe('importData - v2 round-trip', () => {
|
|
192
|
+
it('should import v2 data without loss', async () => {
|
|
193
|
+
const exportedData = {
|
|
194
|
+
meta: {
|
|
195
|
+
exportedAt: '2025-01-01T00:00:00.000Z',
|
|
196
|
+
version: '1.0.0',
|
|
197
|
+
schemaVersion: 2,
|
|
198
|
+
},
|
|
199
|
+
data: {
|
|
200
|
+
projects: [
|
|
201
|
+
{
|
|
202
|
+
id: 'proj-1',
|
|
203
|
+
name: 'Test Project',
|
|
204
|
+
slug: 'test-project',
|
|
205
|
+
repoPath: '/path/to/repo',
|
|
206
|
+
worktreeBasePath: '/path/to/worktrees',
|
|
207
|
+
defaultBranch: 'main',
|
|
208
|
+
githubOwner: 'test-owner',
|
|
209
|
+
githubRepo: 'test-repo',
|
|
210
|
+
isArchived: false,
|
|
211
|
+
startupScriptCommand: 'npm install',
|
|
212
|
+
startupScriptPath: null,
|
|
213
|
+
startupScriptTimeout: 300,
|
|
214
|
+
createdAt: '2025-01-01T00:00:00.000Z',
|
|
215
|
+
updatedAt: '2025-01-01T00:00:00.000Z',
|
|
216
|
+
},
|
|
217
|
+
],
|
|
218
|
+
workspaces: [
|
|
219
|
+
{
|
|
220
|
+
id: 'ws-1',
|
|
221
|
+
projectId: 'proj-1',
|
|
222
|
+
name: 'Test Workspace',
|
|
223
|
+
description: 'Test description',
|
|
224
|
+
status: WorkspaceStatus.READY,
|
|
225
|
+
worktreePath: '/path/to/worktree',
|
|
226
|
+
branchName: 'feature/test',
|
|
227
|
+
isAutoGeneratedBranch: true,
|
|
228
|
+
creationSource: WorkspaceCreationSource.GITHUB_ISSUE,
|
|
229
|
+
creationMetadata: { issueNumber: 123 },
|
|
230
|
+
initErrorMessage: null,
|
|
231
|
+
initOutput: 'Init output',
|
|
232
|
+
initStartedAt: '2025-01-01T00:00:00.000Z',
|
|
233
|
+
initCompletedAt: '2025-01-01T00:05:00.000Z',
|
|
234
|
+
initRetryCount: 0,
|
|
235
|
+
runScriptCommand: 'npm run dev',
|
|
236
|
+
runScriptCleanupCommand: 'npm run cleanup',
|
|
237
|
+
runScriptPid: 12_345,
|
|
238
|
+
runScriptPort: 3000,
|
|
239
|
+
runScriptStartedAt: '2025-01-01T00:10:00.000Z',
|
|
240
|
+
runScriptStatus: RunScriptStatus.RUNNING,
|
|
241
|
+
prUrl: 'https://github.com/test/repo/pull/1',
|
|
242
|
+
githubIssueNumber: 123,
|
|
243
|
+
githubIssueUrl: 'https://github.com/test/repo/issues/123',
|
|
244
|
+
prNumber: 1,
|
|
245
|
+
prState: PRState.OPEN,
|
|
246
|
+
prReviewState: 'APPROVED',
|
|
247
|
+
prCiStatus: CIStatus.SUCCESS,
|
|
248
|
+
prUpdatedAt: '2025-01-01T00:15:00.000Z',
|
|
249
|
+
prCiFailedAt: null,
|
|
250
|
+
prCiLastNotifiedAt: null,
|
|
251
|
+
prReviewLastCheckedAt: '2025-01-01T00:20:00.000Z',
|
|
252
|
+
prReviewLastCommentId: 'comment-123',
|
|
253
|
+
ratchetEnabled: true,
|
|
254
|
+
ratchetState: RatchetState.READY,
|
|
255
|
+
ratchetLastCheckedAt: '2025-01-01T00:25:00.000Z',
|
|
256
|
+
ratchetLastPushAt: '2025-01-01T00:30:00.000Z',
|
|
257
|
+
ratchetActiveSessionId: 'session-123',
|
|
258
|
+
ratchetLastCiRunId: 'run-123',
|
|
259
|
+
ratchetLastNotifiedState: RatchetState.CI_RUNNING,
|
|
260
|
+
hasHadSessions: true,
|
|
261
|
+
cachedKanbanColumn: KanbanColumn.WORKING,
|
|
262
|
+
stateComputedAt: '2025-01-01T00:35:00.000Z',
|
|
263
|
+
createdAt: '2025-01-01T00:00:00.000Z',
|
|
264
|
+
updatedAt: '2025-01-01T00:35:00.000Z',
|
|
265
|
+
},
|
|
266
|
+
],
|
|
267
|
+
claudeSessions: [],
|
|
268
|
+
terminalSessions: [],
|
|
269
|
+
userSettings: {
|
|
270
|
+
preferredIde: 'cursor',
|
|
271
|
+
customIdeCommand: null,
|
|
272
|
+
playSoundOnComplete: true,
|
|
273
|
+
notificationSoundPath: '/path/to/sound.mp3',
|
|
274
|
+
ratchetEnabled: true,
|
|
275
|
+
ratchetAutoFixCi: true,
|
|
276
|
+
ratchetAutoFixReviews: false,
|
|
277
|
+
ratchetAutoMerge: false,
|
|
278
|
+
ratchetAllowedReviewers: ['user1', 'user2'],
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
};
|
|
282
|
+
vi.mocked(mockTx.project.findUnique)
|
|
283
|
+
.mockResolvedValueOnce(null)
|
|
284
|
+
.mockResolvedValueOnce(null)
|
|
285
|
+
.mockResolvedValue(mockProject);
|
|
286
|
+
vi.mocked(mockTx.project.create).mockResolvedValue(mockProject);
|
|
287
|
+
vi.mocked(mockTx.workspace.findUnique).mockResolvedValue(null);
|
|
288
|
+
vi.mocked(mockTx.workspace.create).mockResolvedValue(mockWorkspaceV2);
|
|
289
|
+
vi.mocked(mockTx.userSettings.findFirst).mockResolvedValue(null);
|
|
290
|
+
vi.mocked(mockTx.userSettings.create).mockResolvedValue(mockUserSettingsV2);
|
|
291
|
+
const result = await dataBackupService.importData(exportedData);
|
|
292
|
+
expect(result.projects.imported).toBe(1);
|
|
293
|
+
expect(result.workspaces.imported).toBe(1);
|
|
294
|
+
expect(result.userSettings.imported).toBe(true);
|
|
295
|
+
expect(mockTx.workspace.create).toHaveBeenCalledWith({
|
|
296
|
+
data: expect.objectContaining({
|
|
297
|
+
ratchetEnabled: true,
|
|
298
|
+
ratchetState: RatchetState.READY,
|
|
299
|
+
ratchetActiveSessionId: 'session-123',
|
|
300
|
+
ratchetLastCiRunId: 'run-123',
|
|
301
|
+
prReviewLastCommentId: 'comment-123',
|
|
302
|
+
}),
|
|
303
|
+
});
|
|
304
|
+
expect(mockTx.userSettings.create).toHaveBeenCalledWith({
|
|
305
|
+
data: expect.objectContaining({
|
|
306
|
+
ratchetEnabled: true,
|
|
307
|
+
ratchetAutoFixCi: true,
|
|
308
|
+
ratchetAutoFixReviews: false,
|
|
309
|
+
ratchetAutoMerge: false,
|
|
310
|
+
}),
|
|
311
|
+
});
|
|
312
|
+
});
|
|
313
|
+
});
|
|
314
|
+
describe('importData - v1 compatibility', () => {
|
|
315
|
+
it('should import v1 data with migration to v2 defaults', async () => {
|
|
316
|
+
const v1Data = {
|
|
317
|
+
meta: {
|
|
318
|
+
exportedAt: '2024-12-01T00:00:00.000Z',
|
|
319
|
+
version: '0.9.0',
|
|
320
|
+
schemaVersion: 1,
|
|
321
|
+
},
|
|
322
|
+
data: {
|
|
323
|
+
projects: [
|
|
324
|
+
{
|
|
325
|
+
id: 'proj-1',
|
|
326
|
+
name: 'Test Project',
|
|
327
|
+
slug: 'test-project',
|
|
328
|
+
repoPath: '/path/to/repo',
|
|
329
|
+
worktreeBasePath: '/path/to/worktrees',
|
|
330
|
+
defaultBranch: 'main',
|
|
331
|
+
githubOwner: null,
|
|
332
|
+
githubRepo: null,
|
|
333
|
+
isArchived: false,
|
|
334
|
+
startupScriptCommand: null,
|
|
335
|
+
startupScriptPath: null,
|
|
336
|
+
startupScriptTimeout: 300,
|
|
337
|
+
createdAt: '2024-12-01T00:00:00.000Z',
|
|
338
|
+
updatedAt: '2024-12-01T00:00:00.000Z',
|
|
339
|
+
},
|
|
340
|
+
],
|
|
341
|
+
workspaces: [
|
|
342
|
+
{
|
|
343
|
+
id: 'ws-1',
|
|
344
|
+
projectId: 'proj-1',
|
|
345
|
+
name: 'Old Workspace',
|
|
346
|
+
description: null,
|
|
347
|
+
status: WorkspaceStatus.READY,
|
|
348
|
+
worktreePath: '/path/to/worktree',
|
|
349
|
+
branchName: 'main',
|
|
350
|
+
initErrorMessage: null,
|
|
351
|
+
initOutput: null,
|
|
352
|
+
initStartedAt: null,
|
|
353
|
+
initCompletedAt: null,
|
|
354
|
+
initRetryCount: 0,
|
|
355
|
+
runScriptCommand: null,
|
|
356
|
+
runScriptCleanupCommand: null,
|
|
357
|
+
runScriptPid: null,
|
|
358
|
+
runScriptPort: null,
|
|
359
|
+
runScriptStartedAt: null,
|
|
360
|
+
runScriptStatus: RunScriptStatus.IDLE,
|
|
361
|
+
prUrl: null,
|
|
362
|
+
githubIssueNumber: null,
|
|
363
|
+
githubIssueUrl: null,
|
|
364
|
+
prNumber: null,
|
|
365
|
+
prState: PRState.NONE,
|
|
366
|
+
prReviewState: null,
|
|
367
|
+
prCiStatus: CIStatus.UNKNOWN,
|
|
368
|
+
prUpdatedAt: null,
|
|
369
|
+
prCiFailedAt: null,
|
|
370
|
+
prCiLastNotifiedAt: null,
|
|
371
|
+
hasHadSessions: false,
|
|
372
|
+
cachedKanbanColumn: KanbanColumn.WAITING,
|
|
373
|
+
stateComputedAt: null,
|
|
374
|
+
createdAt: '2024-12-01T00:00:00.000Z',
|
|
375
|
+
updatedAt: '2024-12-01T00:00:00.000Z',
|
|
376
|
+
},
|
|
377
|
+
],
|
|
378
|
+
claudeSessions: [],
|
|
379
|
+
terminalSessions: [],
|
|
380
|
+
userSettings: {
|
|
381
|
+
preferredIde: 'cursor',
|
|
382
|
+
customIdeCommand: null,
|
|
383
|
+
playSoundOnComplete: true,
|
|
384
|
+
notificationSoundPath: null,
|
|
385
|
+
},
|
|
386
|
+
},
|
|
387
|
+
};
|
|
388
|
+
vi.mocked(mockTx.project.findUnique)
|
|
389
|
+
.mockResolvedValueOnce(null)
|
|
390
|
+
.mockResolvedValueOnce(null)
|
|
391
|
+
.mockResolvedValue(mockProject);
|
|
392
|
+
vi.mocked(mockTx.project.create).mockResolvedValue(mockProject);
|
|
393
|
+
vi.mocked(mockTx.workspace.findUnique).mockResolvedValue(null);
|
|
394
|
+
vi.mocked(mockTx.workspace.create).mockResolvedValue(mockWorkspaceV2);
|
|
395
|
+
vi.mocked(mockTx.userSettings.findFirst).mockResolvedValue(null);
|
|
396
|
+
vi.mocked(mockTx.userSettings.create).mockResolvedValue(mockUserSettingsV2);
|
|
397
|
+
const result = await dataBackupService.importData(v1Data);
|
|
398
|
+
expect(result.projects.imported).toBe(1);
|
|
399
|
+
expect(result.workspaces.imported).toBe(1);
|
|
400
|
+
expect(result.userSettings.imported).toBe(true);
|
|
401
|
+
expect(mockTx.workspace.create).toHaveBeenCalledWith({
|
|
402
|
+
data: expect.objectContaining({
|
|
403
|
+
id: 'ws-1',
|
|
404
|
+
name: 'Old Workspace',
|
|
405
|
+
isAutoGeneratedBranch: false,
|
|
406
|
+
creationSource: WorkspaceCreationSource.MANUAL,
|
|
407
|
+
creationMetadata: undefined,
|
|
408
|
+
ratchetEnabled: true,
|
|
409
|
+
ratchetState: RatchetState.IDLE,
|
|
410
|
+
ratchetLastCheckedAt: null,
|
|
411
|
+
ratchetLastPushAt: null,
|
|
412
|
+
ratchetActiveSessionId: null,
|
|
413
|
+
ratchetLastCiRunId: null,
|
|
414
|
+
ratchetLastNotifiedState: null,
|
|
415
|
+
prReviewLastCheckedAt: null,
|
|
416
|
+
prReviewLastCommentId: null,
|
|
417
|
+
}),
|
|
418
|
+
});
|
|
419
|
+
expect(mockTx.userSettings.create).toHaveBeenCalledWith({
|
|
420
|
+
data: expect.objectContaining({
|
|
421
|
+
preferredIde: 'cursor',
|
|
422
|
+
ratchetEnabled: false,
|
|
423
|
+
ratchetAutoFixCi: true,
|
|
424
|
+
ratchetAutoFixReviews: true,
|
|
425
|
+
ratchetAutoMerge: false,
|
|
426
|
+
}),
|
|
427
|
+
});
|
|
428
|
+
});
|
|
429
|
+
it('should handle v1 PAUSED runScriptStatus migration', async () => {
|
|
430
|
+
const v1Data = {
|
|
431
|
+
meta: {
|
|
432
|
+
exportedAt: '2024-12-01T00:00:00.000Z',
|
|
433
|
+
version: '0.9.0',
|
|
434
|
+
schemaVersion: 1,
|
|
435
|
+
},
|
|
436
|
+
data: {
|
|
437
|
+
projects: [],
|
|
438
|
+
workspaces: [
|
|
439
|
+
{
|
|
440
|
+
id: 'ws-1',
|
|
441
|
+
projectId: 'proj-1',
|
|
442
|
+
name: 'Old Workspace',
|
|
443
|
+
description: null,
|
|
444
|
+
status: WorkspaceStatus.READY,
|
|
445
|
+
worktreePath: '/path',
|
|
446
|
+
branchName: 'main',
|
|
447
|
+
initErrorMessage: null,
|
|
448
|
+
initOutput: null,
|
|
449
|
+
initStartedAt: null,
|
|
450
|
+
initCompletedAt: null,
|
|
451
|
+
initRetryCount: 0,
|
|
452
|
+
runScriptCommand: null,
|
|
453
|
+
runScriptCleanupCommand: null,
|
|
454
|
+
runScriptPid: null,
|
|
455
|
+
runScriptPort: null,
|
|
456
|
+
runScriptStartedAt: null,
|
|
457
|
+
runScriptStatus: 'PAUSED',
|
|
458
|
+
prUrl: null,
|
|
459
|
+
githubIssueNumber: null,
|
|
460
|
+
githubIssueUrl: null,
|
|
461
|
+
prNumber: null,
|
|
462
|
+
prState: PRState.NONE,
|
|
463
|
+
prReviewState: null,
|
|
464
|
+
prCiStatus: CIStatus.UNKNOWN,
|
|
465
|
+
prUpdatedAt: null,
|
|
466
|
+
prCiFailedAt: null,
|
|
467
|
+
prCiLastNotifiedAt: null,
|
|
468
|
+
hasHadSessions: false,
|
|
469
|
+
cachedKanbanColumn: KanbanColumn.WAITING,
|
|
470
|
+
stateComputedAt: null,
|
|
471
|
+
createdAt: '2024-12-01T00:00:00.000Z',
|
|
472
|
+
updatedAt: '2024-12-01T00:00:00.000Z',
|
|
473
|
+
},
|
|
474
|
+
],
|
|
475
|
+
claudeSessions: [],
|
|
476
|
+
terminalSessions: [],
|
|
477
|
+
userSettings: null,
|
|
478
|
+
},
|
|
479
|
+
};
|
|
480
|
+
vi.mocked(mockTx.project.findUnique).mockResolvedValue(mockProject);
|
|
481
|
+
vi.mocked(mockTx.workspace.findUnique).mockResolvedValue(null);
|
|
482
|
+
vi.mocked(mockTx.workspace.create).mockResolvedValue(mockWorkspaceV2);
|
|
483
|
+
await dataBackupService.importData(v1Data);
|
|
484
|
+
expect(mockTx.workspace.create).toHaveBeenCalledWith({
|
|
485
|
+
data: expect.objectContaining({
|
|
486
|
+
runScriptStatus: RunScriptStatus.IDLE,
|
|
487
|
+
}),
|
|
488
|
+
});
|
|
489
|
+
});
|
|
490
|
+
});
|
|
491
|
+
describe('importData - skip existing records', () => {
|
|
492
|
+
it('should skip projects that already exist', async () => {
|
|
493
|
+
const exportedData = {
|
|
494
|
+
meta: {
|
|
495
|
+
exportedAt: '2025-01-01T00:00:00.000Z',
|
|
496
|
+
version: '1.0.0',
|
|
497
|
+
schemaVersion: 2,
|
|
498
|
+
},
|
|
499
|
+
data: {
|
|
500
|
+
projects: [
|
|
501
|
+
{
|
|
502
|
+
id: 'proj-1',
|
|
503
|
+
name: 'Test Project',
|
|
504
|
+
slug: 'test-project',
|
|
505
|
+
repoPath: '/path',
|
|
506
|
+
worktreeBasePath: '/path',
|
|
507
|
+
defaultBranch: 'main',
|
|
508
|
+
githubOwner: null,
|
|
509
|
+
githubRepo: null,
|
|
510
|
+
isArchived: false,
|
|
511
|
+
startupScriptCommand: null,
|
|
512
|
+
startupScriptPath: null,
|
|
513
|
+
startupScriptTimeout: 300,
|
|
514
|
+
createdAt: '2025-01-01T00:00:00.000Z',
|
|
515
|
+
updatedAt: '2025-01-01T00:00:00.000Z',
|
|
516
|
+
},
|
|
517
|
+
],
|
|
518
|
+
workspaces: [],
|
|
519
|
+
claudeSessions: [],
|
|
520
|
+
terminalSessions: [],
|
|
521
|
+
userSettings: null,
|
|
522
|
+
},
|
|
523
|
+
};
|
|
524
|
+
vi.mocked(mockTx.project.findUnique).mockResolvedValue(mockProject);
|
|
525
|
+
const result = await dataBackupService.importData(exportedData);
|
|
526
|
+
expect(result.projects.skipped).toBe(1);
|
|
527
|
+
expect(result.projects.imported).toBe(0);
|
|
528
|
+
expect(mockTx.project.create).not.toHaveBeenCalled();
|
|
529
|
+
});
|
|
530
|
+
it('should skip workspaces with missing projects', async () => {
|
|
531
|
+
const exportedData = {
|
|
532
|
+
meta: {
|
|
533
|
+
exportedAt: '2025-01-01T00:00:00.000Z',
|
|
534
|
+
version: '1.0.0',
|
|
535
|
+
schemaVersion: 2,
|
|
536
|
+
},
|
|
537
|
+
data: {
|
|
538
|
+
projects: [],
|
|
539
|
+
workspaces: [
|
|
540
|
+
{
|
|
541
|
+
id: 'ws-1',
|
|
542
|
+
projectId: 'missing-project',
|
|
543
|
+
name: 'Orphaned Workspace',
|
|
544
|
+
description: null,
|
|
545
|
+
status: WorkspaceStatus.NEW,
|
|
546
|
+
worktreePath: null,
|
|
547
|
+
branchName: null,
|
|
548
|
+
isAutoGeneratedBranch: false,
|
|
549
|
+
creationSource: WorkspaceCreationSource.MANUAL,
|
|
550
|
+
creationMetadata: null,
|
|
551
|
+
initErrorMessage: null,
|
|
552
|
+
initOutput: null,
|
|
553
|
+
initStartedAt: null,
|
|
554
|
+
initCompletedAt: null,
|
|
555
|
+
initRetryCount: 0,
|
|
556
|
+
runScriptCommand: null,
|
|
557
|
+
runScriptCleanupCommand: null,
|
|
558
|
+
runScriptPid: null,
|
|
559
|
+
runScriptPort: null,
|
|
560
|
+
runScriptStartedAt: null,
|
|
561
|
+
runScriptStatus: RunScriptStatus.IDLE,
|
|
562
|
+
prUrl: null,
|
|
563
|
+
githubIssueNumber: null,
|
|
564
|
+
githubIssueUrl: null,
|
|
565
|
+
prNumber: null,
|
|
566
|
+
prState: PRState.NONE,
|
|
567
|
+
prReviewState: null,
|
|
568
|
+
prCiStatus: CIStatus.UNKNOWN,
|
|
569
|
+
prUpdatedAt: null,
|
|
570
|
+
prCiFailedAt: null,
|
|
571
|
+
prCiLastNotifiedAt: null,
|
|
572
|
+
prReviewLastCheckedAt: null,
|
|
573
|
+
prReviewLastCommentId: null,
|
|
574
|
+
ratchetEnabled: true,
|
|
575
|
+
ratchetState: RatchetState.IDLE,
|
|
576
|
+
ratchetLastCheckedAt: null,
|
|
577
|
+
ratchetLastPushAt: null,
|
|
578
|
+
ratchetActiveSessionId: null,
|
|
579
|
+
ratchetLastCiRunId: null,
|
|
580
|
+
ratchetLastNotifiedState: null,
|
|
581
|
+
hasHadSessions: false,
|
|
582
|
+
cachedKanbanColumn: KanbanColumn.WAITING,
|
|
583
|
+
stateComputedAt: null,
|
|
584
|
+
createdAt: '2025-01-01T00:00:00.000Z',
|
|
585
|
+
updatedAt: '2025-01-01T00:00:00.000Z',
|
|
586
|
+
},
|
|
587
|
+
],
|
|
588
|
+
claudeSessions: [],
|
|
589
|
+
terminalSessions: [],
|
|
590
|
+
userSettings: null,
|
|
591
|
+
},
|
|
592
|
+
};
|
|
593
|
+
vi.mocked(mockTx.workspace.findUnique).mockResolvedValue(null);
|
|
594
|
+
vi.mocked(mockTx.project.findUnique).mockResolvedValue(null);
|
|
595
|
+
const result = await dataBackupService.importData(exportedData);
|
|
596
|
+
expect(result.workspaces.skipped).toBe(1);
|
|
597
|
+
expect(result.workspaces.imported).toBe(0);
|
|
598
|
+
expect(mockTx.workspace.create).not.toHaveBeenCalled();
|
|
599
|
+
});
|
|
600
|
+
});
|
|
601
|
+
});
|
|
602
|
+
//# sourceMappingURL=data-backup.service.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-backup.service.test.js","sourceRoot":"","sources":["../../../../src/backend/services/data-backup.service.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,9 +16,17 @@ export type PRSnapshotRefreshResult = {
|
|
|
16
16
|
success: false;
|
|
17
17
|
reason: 'workspace_not_found' | 'no_pr_url' | 'fetch_failed' | 'error';
|
|
18
18
|
};
|
|
19
|
+
export type AttachAndRefreshResult = {
|
|
20
|
+
success: true;
|
|
21
|
+
snapshot: SnapshotData;
|
|
22
|
+
} | {
|
|
23
|
+
success: false;
|
|
24
|
+
reason: 'workspace_not_found' | 'fetch_failed' | 'error';
|
|
25
|
+
};
|
|
19
26
|
declare class PRSnapshotService {
|
|
27
|
+
attachAndRefreshPR(workspaceId: string, prUrl: string): Promise<AttachAndRefreshResult>;
|
|
20
28
|
refreshWorkspace(workspaceId: string, explicitPrUrl?: string | null): Promise<PRSnapshotRefreshResult>;
|
|
21
|
-
applySnapshot(workspaceId: string, snapshot: SnapshotData): Promise<void>;
|
|
29
|
+
applySnapshot(workspaceId: string, snapshot: SnapshotData, prUrl?: string): Promise<void>;
|
|
22
30
|
}
|
|
23
31
|
export declare const prSnapshotService: PRSnapshotService;
|
|
24
32
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-snapshot.service.d.ts","sourceRoot":"","sources":["../../../../src/backend/services/pr-snapshot.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMxD,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,GACxF,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC,CAAA;KAAE,GAC5B,CAAC,GACD,KAAK,GACP,KAAK,CAAC;IACV,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,GAC3F,CAAC,SAAS;QAAE,UAAU,EAAE,MAAM,CAAC,CAAA;KAAE,GAC/B,CAAC,GACD,KAAK,GACP,KAAK,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GACzC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,qBAAqB,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,CAAA;CAAE,CAAC;AAE/F,cAAM,iBAAiB;
|
|
1
|
+
{"version":3,"file":"pr-snapshot.service.d.ts","sourceRoot":"","sources":["../../../../src/backend/services/pr-snapshot.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMxD,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,GACxF,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC,CAAA;KAAE,GAC5B,CAAC,GACD,KAAK,GACP,KAAK,CAAC;IACV,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,GAC3F,CAAC,SAAS;QAAE,UAAU,EAAE,MAAM,CAAC,CAAA;KAAE,GAC/B,CAAC,GACD,KAAK,GACP,KAAK,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GACzC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,qBAAqB,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,CAAA;CAAE,CAAC;AAE/F,MAAM,MAAM,sBAAsB,GAC9B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GACzC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,qBAAqB,GAAG,cAAc,GAAG,OAAO,CAAA;CAAE,CAAC;AAEjF,cAAM,iBAAiB;IASf,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA0DvF,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,OAAO,CAAC,uBAAuB,CAAC;IA4C7B,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBhG;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
|