vibeman 0.0.3 → 0.0.5
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/index.js +3 -3
- package/dist/runtime/api/.tsbuildinfo +1 -1
- package/dist/runtime/api/agent/agent-service.d.ts +4 -0
- package/dist/runtime/api/agent/agent-service.js +62 -3
- package/dist/runtime/api/agent/ai-providers/amp-cli-provider.d.ts +38 -0
- package/dist/runtime/api/agent/ai-providers/amp-cli-provider.js +268 -0
- package/dist/runtime/api/agent/ai-providers/codex-cli-provider.js +40 -12
- package/dist/runtime/api/agent/ai-providers/gemini-cli-provider.d.ts +24 -0
- package/dist/runtime/api/agent/ai-providers/gemini-cli-provider.js +291 -0
- package/dist/runtime/api/agent/ai-providers/index.d.ts +3 -3
- package/dist/runtime/api/agent/ai-providers/index.js +3 -1
- package/dist/runtime/api/agent/ai-providers/types.d.ts +5 -2
- package/dist/runtime/api/agent/amp-cli-provider.test.d.ts +1 -0
- package/dist/runtime/api/agent/amp-cli-provider.test.js +99 -0
- package/dist/runtime/api/agent/codex-cli-provider.test.js +10 -8
- package/dist/runtime/api/agent/prompt-service.js +108 -105
- package/dist/runtime/api/agent/prompt-service.test.js +35 -0
- package/dist/runtime/api/agent/routing-policy.d.ts +2 -2
- package/dist/runtime/api/agent/routing-policy.test.js +4 -4
- package/dist/runtime/api/api/routers/ai.d.ts +3 -3
- package/dist/runtime/api/api/routers/executions.d.ts +2 -7
- package/dist/runtime/api/api/routers/executions.js +2 -2
- package/dist/runtime/api/api/routers/provider-config.d.ts +34 -0
- package/dist/runtime/api/api/routers/settings.d.ts +19 -0
- package/dist/runtime/api/api/routers/settings.js +16 -0
- package/dist/runtime/api/api/routers/tasks.d.ts +9 -9
- package/dist/runtime/api/api/routers/workflows.d.ts +12 -12
- package/dist/runtime/api/api/routers/worktrees.d.ts +2 -2
- package/dist/runtime/api/api/trpc.d.ts +16 -16
- package/dist/runtime/api/lib/local-config.d.ts +94 -4
- package/dist/runtime/api/lib/local-config.js +16 -0
- package/dist/runtime/api/lib/provider-detection.d.ts +2 -0
- package/dist/runtime/api/lib/provider-detection.js +83 -1
- package/dist/runtime/api/lib/server/vibeman-info.d.ts +5 -0
- package/dist/runtime/api/lib/server/vibeman-info.js +85 -0
- package/dist/runtime/api/lib/trpc/server.d.ts +63 -33
- package/dist/runtime/api/persistence/execution-log-persistence.d.ts +1 -1
- package/dist/runtime/api/persistence/execution-log-persistence.js +19 -3
- package/dist/runtime/api/router.d.ts +63 -33
- package/dist/runtime/api/settings-service.js +31 -14
- package/dist/runtime/api/tasks/task-file-parser.d.ts +1 -0
- package/dist/runtime/api/tasks/task-file-parser.js +20 -1
- package/dist/runtime/api/tasks/task-updater.d.ts +62 -0
- package/dist/runtime/api/tasks/task-updater.js +260 -0
- package/dist/runtime/api/tasks/task-updater.test.d.ts +1 -0
- package/dist/runtime/api/tasks/task-updater.test.js +303 -0
- package/dist/runtime/api/types/index.d.ts +1 -1
- package/dist/runtime/api/types/settings.d.ts +17 -6
- package/dist/runtime/api/vcs/git-service.d.ts +9 -0
- package/dist/runtime/api/vcs/git-service.js +23 -0
- package/dist/runtime/api/vcs/worktree-service.d.ts +1 -1
- package/dist/runtime/api/vcs/worktree-service.js +22 -10
- package/dist/runtime/api/workflows/quality-pipeline.js +2 -1
- package/dist/runtime/api/workflows/vibing-orchestrator.d.ts +93 -5
- package/dist/runtime/api/workflows/vibing-orchestrator.js +774 -203
- package/dist/runtime/api/workflows/workflow-effects.d.ts +45 -0
- package/dist/runtime/api/workflows/workflow-effects.js +49 -0
- package/dist/runtime/api/workflows/workflow-reconciler.d.ts +65 -0
- package/dist/runtime/api/workflows/workflow-reconciler.js +226 -0
- package/dist/runtime/api/workflows/workflow-reducer.d.ts +26 -0
- package/dist/runtime/api/workflows/workflow-reducer.js +288 -0
- package/dist/runtime/api/workflows/workflow-reducer.test.d.ts +1 -0
- package/dist/runtime/api/workflows/workflow-reducer.test.js +247 -0
- package/dist/runtime/api/workflows/workflow-schema.d.ts +546 -0
- package/dist/runtime/api/workflows/workflow-schema.js +256 -0
- package/dist/runtime/web/.next/BUILD_ID +1 -1
- package/dist/runtime/web/.next/app-build-manifest.json +50 -50
- package/dist/runtime/web/.next/app-path-routes-manifest.json +1 -1
- package/dist/runtime/web/.next/build-manifest.json +14 -14
- package/dist/runtime/web/.next/prerender-manifest.json +3 -3
- package/dist/runtime/web/.next/react-loadable-manifest.json +2 -33
- package/dist/runtime/web/.next/required-server-files.json +5 -5
- package/dist/runtime/web/.next/server/app/.vibeman/assets/images/[...path]/route.js +1 -1
- package/dist/runtime/web/.next/server/app/.vibeman/assets/images/[...path]/route.js.nft.json +1 -1
- package/dist/runtime/web/.next/server/app/.vibeman/assets/images/[...path]/route_client-reference-manifest.js +1 -1
- package/dist/runtime/web/.next/server/app/_not-found/page.js +2 -2
- package/dist/runtime/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/runtime/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/.next/server/app/_not-found.html +2 -2
- package/dist/runtime/web/.next/server/app/_not-found.rsc +12 -12
- package/dist/runtime/web/.next/server/app/api/health/route.js +1 -1
- package/dist/runtime/web/.next/server/app/api/health/route.js.nft.json +1 -1
- package/dist/runtime/web/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/dist/runtime/web/.next/server/app/api/images/[...path]/route.js +1 -1
- package/dist/runtime/web/.next/server/app/api/images/[...path]/route.js.nft.json +1 -1
- package/dist/runtime/web/.next/server/app/api/images/[...path]/route_client-reference-manifest.js +1 -1
- package/dist/runtime/web/.next/server/app/api/upload/route.js +1 -1
- package/dist/runtime/web/.next/server/app/api/upload/route.js.nft.json +1 -1
- package/dist/runtime/web/.next/server/app/api/upload/route_client-reference-manifest.js +1 -1
- package/dist/runtime/web/.next/server/app/index.html +2 -2
- package/dist/runtime/web/.next/server/app/index.rsc +15 -15
- package/dist/runtime/web/.next/server/app/page.js +27 -62
- package/dist/runtime/web/.next/server/app/page.js.nft.json +1 -1
- package/dist/runtime/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/.next/server/app-paths-manifest.json +1 -1
- package/dist/runtime/web/.next/server/chunks/210.js +1 -0
- package/dist/runtime/web/.next/server/chunks/291.js +18 -0
- package/dist/runtime/web/.next/server/chunks/552.js +22 -0
- package/dist/runtime/web/.next/server/chunks/780.js +1 -0
- package/dist/runtime/web/.next/server/chunks/905.js +6 -0
- package/dist/runtime/web/.next/server/chunks/98.js +1 -0
- package/dist/runtime/web/.next/server/middleware-build-manifest.js +1 -1
- package/dist/runtime/web/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/dist/runtime/web/.next/server/pages/404.html +2 -2
- package/dist/runtime/web/.next/server/pages/500.html +1 -1
- package/dist/runtime/web/.next/server/pages/_app.js +1 -1
- package/dist/runtime/web/.next/server/pages/_app.js.nft.json +1 -1
- package/dist/runtime/web/.next/server/pages/_document.js +1 -1
- package/dist/runtime/web/.next/server/pages/_document.js.nft.json +1 -1
- package/dist/runtime/web/.next/server/pages/_error.js +9 -9
- package/dist/runtime/web/.next/server/pages/_error.js.nft.json +1 -1
- package/dist/runtime/web/.next/server/pages-manifest.json +1 -1
- package/dist/runtime/web/.next/server/server-reference-manifest.json +1 -1
- package/dist/runtime/web/.next/server/webpack-runtime.js +1 -1
- package/dist/runtime/web/.next/static/{5_15u1WQCxN1_eHZpldCv → LJFZk_8tvKFN_Ee4HqUuM}/_buildManifest.js +1 -1
- package/dist/runtime/web/.next/static/chunks/05c91ade-7d09b2b280adffd1.js +1 -0
- package/dist/runtime/web/.next/static/chunks/201-51bef3fa8c832e2e.js +1 -0
- package/dist/runtime/web/.next/static/chunks/524-89747ed9b0294f8a.js +1 -0
- package/dist/runtime/web/.next/static/chunks/554-8bec6e9cca6acc67.js +1 -0
- package/dist/runtime/web/.next/static/chunks/764.86e9503a69d45a85.js +1 -0
- package/dist/runtime/web/.next/static/chunks/{87c73c54-09e1ba5c70e60a51.js → 7ab4dc20-239138e0ae7af24a.js} +1 -1
- package/dist/runtime/web/.next/static/chunks/905-342391e3d3a3678f.js +20 -0
- package/dist/runtime/web/.next/static/chunks/a8a5ce16-4edea7df2d9b544a.js +79 -0
- package/dist/runtime/web/.next/static/chunks/{8bb4d8db-3e2aa02b0a2384b9.js → ad74d572-4c1b162e2c15acaa.js} +1 -1
- package/dist/runtime/web/.next/static/chunks/app/.vibeman/assets/images/[...path]/route-7b752a8641f96c1f.js +1 -0
- package/dist/runtime/web/.next/static/chunks/app/_not-found/page-34e66b251c2b5044.js +1 -0
- package/dist/runtime/web/.next/static/chunks/app/api/health/route-7b752a8641f96c1f.js +1 -0
- package/dist/runtime/web/.next/static/chunks/app/api/images/[...path]/route-7b752a8641f96c1f.js +1 -0
- package/dist/runtime/web/.next/static/chunks/app/api/upload/route-7b752a8641f96c1f.js +1 -0
- package/dist/runtime/web/.next/static/chunks/app/layout-df9ac93cb02b2385.js +1 -0
- package/dist/runtime/web/.next/static/chunks/app/page-6610743f7de5f92a.js +1 -0
- package/dist/runtime/web/.next/static/chunks/c25e0690-e9b798b8de667da1.js +1 -0
- package/dist/runtime/web/.next/static/chunks/framework-57157ec4d37f64aa.js +1 -0
- package/dist/runtime/web/.next/static/chunks/main-app-156cc0c60371bd78.js +1 -0
- package/dist/runtime/web/.next/static/chunks/main-df25d367c47b1fec.js +1 -0
- package/dist/runtime/web/.next/static/chunks/pages/_app-9f629a5e1131d19f.js +1 -0
- package/dist/runtime/web/.next/static/chunks/pages/_error-9238238274c7efcd.js +1 -0
- package/dist/runtime/web/.next/static/chunks/webpack-cd50e39b423d1808.js +1 -0
- package/dist/runtime/web/.next/static/css/4fbf378a264bd4ea.css +1 -0
- package/dist/runtime/web/package.json +8 -8
- package/dist/runtime/web/server.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -37
- package/dist/runtime/api/lib/trpc/client.d.ts +0 -1
- package/dist/runtime/api/lib/trpc/client.js +0 -5
- package/dist/runtime/web/.next/server/chunks/217.js +0 -1
- package/dist/runtime/web/.next/server/chunks/383.js +0 -6
- package/dist/runtime/web/.next/server/chunks/458.js +0 -1
- package/dist/runtime/web/.next/server/chunks/576.js +0 -18
- package/dist/runtime/web/.next/server/chunks/635.js +0 -22
- package/dist/runtime/web/.next/server/chunks/761.js +0 -1
- package/dist/runtime/web/.next/server/chunks/777.js +0 -3
- package/dist/runtime/web/.next/server/chunks/825.js +0 -1
- package/dist/runtime/web/.next/server/chunks/838.js +0 -1
- package/dist/runtime/web/.next/server/chunks/973.js +0 -15
- package/dist/runtime/web/.next/static/chunks/18-15c10d3288afef2e.js +0 -1
- package/dist/runtime/web/.next/static/chunks/1c0ca389.537bbe362e3ffbd9.js +0 -3
- package/dist/runtime/web/.next/static/chunks/22747d63-ad5da0c19f4cfe41.js +0 -71
- package/dist/runtime/web/.next/static/chunks/355.056c2645878a799a.js +0 -1
- package/dist/runtime/web/.next/static/chunks/420.a5ccf151c9e2b2f1.js +0 -1
- package/dist/runtime/web/.next/static/chunks/439.1be0c6242fd248d5.js +0 -15
- package/dist/runtime/web/.next/static/chunks/440.c52e7c0f797e22b2.js +0 -1
- package/dist/runtime/web/.next/static/chunks/575-e2478287c27da87b.js +0 -1
- package/dist/runtime/web/.next/static/chunks/691.920d88c115087314.js +0 -1
- package/dist/runtime/web/.next/static/chunks/765-e838910065b50c3d.js +0 -1
- package/dist/runtime/web/.next/static/chunks/823-6f371a6e829adbba.js +0 -63
- package/dist/runtime/web/.next/static/chunks/891cff7f.0f71fc028f87e683.js +0 -1
- package/dist/runtime/web/.next/static/chunks/9af238c7-271a911d4e99ab18.js +0 -1
- package/dist/runtime/web/.next/static/chunks/app/.vibeman/assets/images/[...path]/route-751c9265a65409e5.js +0 -1
- package/dist/runtime/web/.next/static/chunks/app/_not-found/page-1cb74d1cba27d0ab.js +0 -1
- package/dist/runtime/web/.next/static/chunks/app/api/health/route-751c9265a65409e5.js +0 -1
- package/dist/runtime/web/.next/static/chunks/app/api/images/[...path]/route-751c9265a65409e5.js +0 -1
- package/dist/runtime/web/.next/static/chunks/app/api/upload/route-751c9265a65409e5.js +0 -1
- package/dist/runtime/web/.next/static/chunks/app/layout-8435322f09fd0975.js +0 -1
- package/dist/runtime/web/.next/static/chunks/app/page-9fe7d75095b4ccec.js +0 -1
- package/dist/runtime/web/.next/static/chunks/cac567b0-5b77dd12911823cd.js +0 -1
- package/dist/runtime/web/.next/static/chunks/framework-2518f1345b5b2806.js +0 -1
- package/dist/runtime/web/.next/static/chunks/main-17665e5e39de9a8a.js +0 -1
- package/dist/runtime/web/.next/static/chunks/main-app-c0b0f5ba4f7f9d75.js +0 -1
- package/dist/runtime/web/.next/static/chunks/pages/_app-d6f6b3bbc3d81ee1.js +0 -1
- package/dist/runtime/web/.next/static/chunks/pages/_error-75a96cf1997cc3b9.js +0 -1
- package/dist/runtime/web/.next/static/chunks/webpack-c8de37305b4635cf.js +0 -1
- package/dist/runtime/web/.next/static/css/08c950681f1a9a92.css +0 -1
- /package/dist/runtime/web/.next/static/{5_15u1WQCxN1_eHZpldCv → LJFZk_8tvKFN_Ee4HqUuM}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
// ============================================================================
|
|
3
|
+
// WORKFLOW STATE MACHINE SCHEMA
|
|
4
|
+
// Single source of truth for phases, events, and valid transitions
|
|
5
|
+
// ============================================================================
|
|
6
|
+
// 6 core phases (simplified from 12+)
|
|
7
|
+
export const WorkflowPhaseSchema = z.enum([
|
|
8
|
+
'draft',
|
|
9
|
+
'implementing',
|
|
10
|
+
'validating',
|
|
11
|
+
'approved',
|
|
12
|
+
'merging',
|
|
13
|
+
'done',
|
|
14
|
+
]);
|
|
15
|
+
// Terminal/interrupt states (orthogonal to phase)
|
|
16
|
+
export const TerminalStatusSchema = z.enum(['failed', 'paused']);
|
|
17
|
+
// Combined status for external APIs (backward compatibility)
|
|
18
|
+
export const WorkflowStatusSchema = z.union([WorkflowPhaseSchema, TerminalStatusSchema]);
|
|
19
|
+
// Quality results from validation phase
|
|
20
|
+
export const QualityResultsSchema = z.object({
|
|
21
|
+
overall: z.boolean(),
|
|
22
|
+
timestamp: z.string(),
|
|
23
|
+
details: z.record(z.string(), z.boolean()),
|
|
24
|
+
outputs: z.record(z.string(), z.string()),
|
|
25
|
+
});
|
|
26
|
+
// AI review result
|
|
27
|
+
export const AIReviewResultSchema = z.object({
|
|
28
|
+
executionId: z.string(),
|
|
29
|
+
reviewSummary: z.string(),
|
|
30
|
+
recommendations: z.array(z.string()),
|
|
31
|
+
qualityScore: z.number(),
|
|
32
|
+
timestamp: z.string().optional(),
|
|
33
|
+
});
|
|
34
|
+
// ============================================================================
|
|
35
|
+
// WORKFLOW EVENTS
|
|
36
|
+
// All state changes are triggered by explicit events
|
|
37
|
+
// ============================================================================
|
|
38
|
+
export const WorkflowEventSchema = z.discriminatedUnion('type', [
|
|
39
|
+
// Lifecycle events
|
|
40
|
+
z.object({ type: z.literal('START') }),
|
|
41
|
+
z.object({ type: z.literal('PAUSE') }),
|
|
42
|
+
z.object({ type: z.literal('RESUME') }),
|
|
43
|
+
z.object({ type: z.literal('RETRY') }),
|
|
44
|
+
// Implementation phase events
|
|
45
|
+
z.object({ type: z.literal('IMPL_SUCCESS'), executionId: z.string().optional() }),
|
|
46
|
+
z.object({ type: z.literal('IMPL_FAIL'), error: z.string(), canRetry: z.boolean() }),
|
|
47
|
+
// Validation phase events
|
|
48
|
+
z.object({ type: z.literal('VALID_SUCCESS'), results: QualityResultsSchema }),
|
|
49
|
+
z.object({
|
|
50
|
+
type: z.literal('VALID_FAIL'),
|
|
51
|
+
error: z.string(),
|
|
52
|
+
results: QualityResultsSchema.optional(),
|
|
53
|
+
}),
|
|
54
|
+
// AI review phase events
|
|
55
|
+
z.object({ type: z.literal('REVIEW_DONE'), result: AIReviewResultSchema }),
|
|
56
|
+
z.object({ type: z.literal('REVIEW_SKIP') }),
|
|
57
|
+
// Human approval events
|
|
58
|
+
z.object({ type: z.literal('APPROVE') }),
|
|
59
|
+
z.object({ type: z.literal('REJECT'), feedback: z.string() }),
|
|
60
|
+
// Merge phase events
|
|
61
|
+
z.object({
|
|
62
|
+
type: z.literal('MERGE_SUCCESS'),
|
|
63
|
+
prUrl: z.string().optional(),
|
|
64
|
+
prNumber: z.number().optional(),
|
|
65
|
+
}),
|
|
66
|
+
z.object({ type: z.literal('MERGE_FAIL'), error: z.string() }),
|
|
67
|
+
// Cleanup phase events
|
|
68
|
+
z.object({ type: z.literal('CLEAN_SUCCESS') }),
|
|
69
|
+
z.object({ type: z.literal('CLEAN_FAIL'), error: z.string() }),
|
|
70
|
+
// Manual completion
|
|
71
|
+
z.object({ type: z.literal('COMPLETE_MANUAL') }),
|
|
72
|
+
]);
|
|
73
|
+
// ============================================================================
|
|
74
|
+
// WORKFLOW CONFIGURATION
|
|
75
|
+
// Controls flow behavior (which steps to run, retry policy, etc.)
|
|
76
|
+
// ============================================================================
|
|
77
|
+
export const WorkflowConfigSchema = z.object({
|
|
78
|
+
autoQualityChecks: z.boolean().default(true),
|
|
79
|
+
requireHumanApproval: z.boolean().default(true),
|
|
80
|
+
aiCodeReview: z.boolean().default(true),
|
|
81
|
+
stepByStepMode: z.boolean().default(false),
|
|
82
|
+
autoCommit: z.boolean().default(false),
|
|
83
|
+
createPR: z.boolean().optional(),
|
|
84
|
+
autoMerge: z.boolean().optional(),
|
|
85
|
+
retryPolicy: z
|
|
86
|
+
.object({
|
|
87
|
+
maxImplementationAttempts: z.number().default(3),
|
|
88
|
+
})
|
|
89
|
+
.default({ maxImplementationAttempts: 3 }),
|
|
90
|
+
});
|
|
91
|
+
// ============================================================================
|
|
92
|
+
// WORKFLOW STATE
|
|
93
|
+
// The complete state of a workflow at any point in time
|
|
94
|
+
// ============================================================================
|
|
95
|
+
export const WorkflowStateSchema = z.object({
|
|
96
|
+
id: z.string(),
|
|
97
|
+
taskId: z.string(),
|
|
98
|
+
phase: WorkflowPhaseSchema,
|
|
99
|
+
terminalStatus: TerminalStatusSchema.nullable().default(null),
|
|
100
|
+
// Timestamps
|
|
101
|
+
startTime: z.string(),
|
|
102
|
+
endTime: z.string().optional(),
|
|
103
|
+
lastUpdatedAt: z.string(),
|
|
104
|
+
// Attempt tracking
|
|
105
|
+
attempts: z.record(WorkflowPhaseSchema, z.number()).default({}),
|
|
106
|
+
executionIds: z.record(WorkflowPhaseSchema, z.array(z.string())).default({}),
|
|
107
|
+
// Phase-specific results
|
|
108
|
+
qualityResults: QualityResultsSchema.optional(),
|
|
109
|
+
aiReviewResult: AIReviewResultSchema.optional(),
|
|
110
|
+
// Links (PR, branch, etc.)
|
|
111
|
+
links: z
|
|
112
|
+
.object({
|
|
113
|
+
prUrl: z.string().optional(),
|
|
114
|
+
prNumber: z.number().optional(),
|
|
115
|
+
branchName: z.string().optional(),
|
|
116
|
+
baseBranch: z.string().optional(),
|
|
117
|
+
})
|
|
118
|
+
.default({}),
|
|
119
|
+
// Error context for failed state
|
|
120
|
+
error: z.string().optional(),
|
|
121
|
+
failureContext: z
|
|
122
|
+
.object({
|
|
123
|
+
atPhase: WorkflowPhaseSchema,
|
|
124
|
+
error: z.string().optional(),
|
|
125
|
+
timestamp: z.string(),
|
|
126
|
+
})
|
|
127
|
+
.optional(),
|
|
128
|
+
// Configuration snapshot (frozen at workflow start)
|
|
129
|
+
config: WorkflowConfigSchema,
|
|
130
|
+
// Rerun context for retry scenarios
|
|
131
|
+
rerunContext: z
|
|
132
|
+
.object({
|
|
133
|
+
reason: z.string(),
|
|
134
|
+
previousExecutionId: z.string().optional(),
|
|
135
|
+
feedback: z.string().optional(),
|
|
136
|
+
})
|
|
137
|
+
.optional(),
|
|
138
|
+
});
|
|
139
|
+
export const TRANSITIONS = {
|
|
140
|
+
draft: {
|
|
141
|
+
START: 'implementing',
|
|
142
|
+
},
|
|
143
|
+
implementing: {
|
|
144
|
+
IMPL_SUCCESS: 'validating',
|
|
145
|
+
IMPL_FAIL: (state, event) => {
|
|
146
|
+
if (event.type !== 'IMPL_FAIL')
|
|
147
|
+
return null;
|
|
148
|
+
const attempts = (state.attempts.implementing ?? 0) + 1;
|
|
149
|
+
const maxAttempts = state.config.retryPolicy?.maxImplementationAttempts ?? 3;
|
|
150
|
+
return event.canRetry && attempts < maxAttempts ? 'implementing' : null; // null -> failed
|
|
151
|
+
},
|
|
152
|
+
PAUSE: null, // -> paused (handled in reducer)
|
|
153
|
+
},
|
|
154
|
+
validating: {
|
|
155
|
+
VALID_SUCCESS: (state) => {
|
|
156
|
+
if (state.config.aiCodeReview)
|
|
157
|
+
return 'approved'; // AI review is part of 'approved' waiting state
|
|
158
|
+
if (state.config.requireHumanApproval)
|
|
159
|
+
return 'approved';
|
|
160
|
+
return 'merging';
|
|
161
|
+
},
|
|
162
|
+
VALID_FAIL: 'implementing',
|
|
163
|
+
PAUSE: null,
|
|
164
|
+
},
|
|
165
|
+
approved: {
|
|
166
|
+
APPROVE: 'merging',
|
|
167
|
+
REJECT: 'implementing',
|
|
168
|
+
REVIEW_DONE: 'approved', // stays in approved, updates aiReviewResult
|
|
169
|
+
REVIEW_SKIP: 'approved',
|
|
170
|
+
PAUSE: null,
|
|
171
|
+
},
|
|
172
|
+
merging: {
|
|
173
|
+
MERGE_SUCCESS: 'done', // skip cleaning for now, can be added back
|
|
174
|
+
MERGE_FAIL: 'approved',
|
|
175
|
+
PAUSE: null,
|
|
176
|
+
},
|
|
177
|
+
done: {
|
|
178
|
+
// Terminal phase, no transitions out
|
|
179
|
+
},
|
|
180
|
+
};
|
|
181
|
+
// Helper to check if a transition is valid
|
|
182
|
+
export function isValidTransition(fromPhase, eventType) {
|
|
183
|
+
const phaseTransitions = TRANSITIONS[fromPhase];
|
|
184
|
+
return eventType in phaseTransitions;
|
|
185
|
+
}
|
|
186
|
+
// Helper to get next phase from transition
|
|
187
|
+
export function getNextPhase(state, event) {
|
|
188
|
+
// Handle terminal status events globally
|
|
189
|
+
if (event.type === 'PAUSE')
|
|
190
|
+
return 'paused';
|
|
191
|
+
if (event.type === 'RESUME')
|
|
192
|
+
return state.phase; // restore phase
|
|
193
|
+
if (event.type === 'RETRY')
|
|
194
|
+
return 'implementing';
|
|
195
|
+
const phaseTransitions = TRANSITIONS[state.phase];
|
|
196
|
+
const transition = phaseTransitions[event.type];
|
|
197
|
+
if (transition === undefined)
|
|
198
|
+
return null; // invalid transition
|
|
199
|
+
if (transition === null) {
|
|
200
|
+
// Explicit null means terminal (failed/paused)
|
|
201
|
+
if (event.type === 'IMPL_FAIL' ||
|
|
202
|
+
event.type === 'VALID_FAIL' ||
|
|
203
|
+
event.type === 'MERGE_FAIL' ||
|
|
204
|
+
event.type === 'CLEAN_FAIL') {
|
|
205
|
+
return 'failed';
|
|
206
|
+
}
|
|
207
|
+
return 'paused';
|
|
208
|
+
}
|
|
209
|
+
if (typeof transition === 'function') {
|
|
210
|
+
const result = transition(state, event);
|
|
211
|
+
return result === null ? 'failed' : result;
|
|
212
|
+
}
|
|
213
|
+
return transition;
|
|
214
|
+
}
|
|
215
|
+
// Phase labels for UI (core phases only)
|
|
216
|
+
export const PHASE_LABELS = {
|
|
217
|
+
draft: 'Draft',
|
|
218
|
+
implementing: 'Implementing',
|
|
219
|
+
validating: 'Validating',
|
|
220
|
+
approved: 'Awaiting Approval',
|
|
221
|
+
merging: 'Merging',
|
|
222
|
+
done: 'Completed',
|
|
223
|
+
failed: 'Failed',
|
|
224
|
+
paused: 'Paused',
|
|
225
|
+
};
|
|
226
|
+
// Extended phase labels for timeline display (includes legacy phases for UI compatibility)
|
|
227
|
+
export const EXTENDED_PHASE_LABELS = {
|
|
228
|
+
...PHASE_LABELS,
|
|
229
|
+
implemented: 'Implemented',
|
|
230
|
+
validated: 'Validated',
|
|
231
|
+
'ai-reviewing': 'AI Review',
|
|
232
|
+
'ai-reviewed': 'AI Reviewed',
|
|
233
|
+
'awaiting-review': 'Awaiting Review',
|
|
234
|
+
merged: 'Merged',
|
|
235
|
+
cleaning: 'Cleaning',
|
|
236
|
+
cleaned: 'Cleaned',
|
|
237
|
+
completed: 'Completed',
|
|
238
|
+
};
|
|
239
|
+
// Ordered phases for timeline display (core phases)
|
|
240
|
+
export const PHASE_ORDER = [
|
|
241
|
+
'draft',
|
|
242
|
+
'implementing',
|
|
243
|
+
'validating',
|
|
244
|
+
'approved',
|
|
245
|
+
'merging',
|
|
246
|
+
'done',
|
|
247
|
+
];
|
|
248
|
+
// Extended phase flow for timeline (includes action phases for UI compatibility)
|
|
249
|
+
export const EXTENDED_PHASE_FLOW = [
|
|
250
|
+
'implementing',
|
|
251
|
+
'validating',
|
|
252
|
+
'ai-reviewing',
|
|
253
|
+
'awaiting-review',
|
|
254
|
+
'merging',
|
|
255
|
+
'cleaning',
|
|
256
|
+
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
LJFZk_8tvKFN_Ee4HqUuM
|
|
@@ -1,66 +1,66 @@
|
|
|
1
1
|
{
|
|
2
2
|
"pages": {
|
|
3
3
|
"/_not-found/page": [
|
|
4
|
-
"static/chunks/webpack-
|
|
5
|
-
"static/chunks/
|
|
6
|
-
"static/chunks/
|
|
7
|
-
"static/chunks/main-app-
|
|
8
|
-
"static/chunks/app/_not-found/page-
|
|
4
|
+
"static/chunks/webpack-cd50e39b423d1808.js",
|
|
5
|
+
"static/chunks/7ab4dc20-239138e0ae7af24a.js",
|
|
6
|
+
"static/chunks/201-51bef3fa8c832e2e.js",
|
|
7
|
+
"static/chunks/main-app-156cc0c60371bd78.js",
|
|
8
|
+
"static/chunks/app/_not-found/page-34e66b251c2b5044.js"
|
|
9
|
+
],
|
|
10
|
+
"/layout": [
|
|
11
|
+
"static/chunks/webpack-cd50e39b423d1808.js",
|
|
12
|
+
"static/chunks/7ab4dc20-239138e0ae7af24a.js",
|
|
13
|
+
"static/chunks/201-51bef3fa8c832e2e.js",
|
|
14
|
+
"static/chunks/main-app-156cc0c60371bd78.js",
|
|
15
|
+
"static/css/521bd69cc298cd1a.css",
|
|
16
|
+
"static/css/2728291c68f99cb1.css",
|
|
17
|
+
"static/css/537e22821e101b87.css",
|
|
18
|
+
"static/chunks/c25e0690-e9b798b8de667da1.js",
|
|
19
|
+
"static/chunks/554-8bec6e9cca6acc67.js",
|
|
20
|
+
"static/chunks/524-89747ed9b0294f8a.js",
|
|
21
|
+
"static/chunks/app/layout-df9ac93cb02b2385.js"
|
|
9
22
|
],
|
|
10
23
|
"/.vibeman/assets/images/[...path]/route": [
|
|
11
|
-
"static/chunks/webpack-
|
|
12
|
-
"static/chunks/
|
|
13
|
-
"static/chunks/
|
|
14
|
-
"static/chunks/main-app-
|
|
15
|
-
"static/chunks/app/.vibeman/assets/images/[...path]/route-
|
|
24
|
+
"static/chunks/webpack-cd50e39b423d1808.js",
|
|
25
|
+
"static/chunks/7ab4dc20-239138e0ae7af24a.js",
|
|
26
|
+
"static/chunks/201-51bef3fa8c832e2e.js",
|
|
27
|
+
"static/chunks/main-app-156cc0c60371bd78.js",
|
|
28
|
+
"static/chunks/app/.vibeman/assets/images/[...path]/route-7b752a8641f96c1f.js"
|
|
16
29
|
],
|
|
17
30
|
"/api/health/route": [
|
|
18
|
-
"static/chunks/webpack-
|
|
19
|
-
"static/chunks/
|
|
20
|
-
"static/chunks/
|
|
21
|
-
"static/chunks/main-app-
|
|
22
|
-
"static/chunks/app/api/health/route-
|
|
31
|
+
"static/chunks/webpack-cd50e39b423d1808.js",
|
|
32
|
+
"static/chunks/7ab4dc20-239138e0ae7af24a.js",
|
|
33
|
+
"static/chunks/201-51bef3fa8c832e2e.js",
|
|
34
|
+
"static/chunks/main-app-156cc0c60371bd78.js",
|
|
35
|
+
"static/chunks/app/api/health/route-7b752a8641f96c1f.js"
|
|
23
36
|
],
|
|
24
37
|
"/api/images/[...path]/route": [
|
|
25
|
-
"static/chunks/webpack-
|
|
26
|
-
"static/chunks/
|
|
27
|
-
"static/chunks/
|
|
28
|
-
"static/chunks/main-app-
|
|
29
|
-
"static/chunks/app/api/images/[...path]/route-
|
|
38
|
+
"static/chunks/webpack-cd50e39b423d1808.js",
|
|
39
|
+
"static/chunks/7ab4dc20-239138e0ae7af24a.js",
|
|
40
|
+
"static/chunks/201-51bef3fa8c832e2e.js",
|
|
41
|
+
"static/chunks/main-app-156cc0c60371bd78.js",
|
|
42
|
+
"static/chunks/app/api/images/[...path]/route-7b752a8641f96c1f.js"
|
|
30
43
|
],
|
|
31
44
|
"/api/upload/route": [
|
|
32
|
-
"static/chunks/webpack-
|
|
33
|
-
"static/chunks/
|
|
34
|
-
"static/chunks/
|
|
35
|
-
"static/chunks/main-app-
|
|
36
|
-
"static/chunks/app/api/upload/route-
|
|
37
|
-
],
|
|
38
|
-
"/layout": [
|
|
39
|
-
"static/chunks/webpack-c8de37305b4635cf.js",
|
|
40
|
-
"static/chunks/87c73c54-09e1ba5c70e60a51.js",
|
|
41
|
-
"static/chunks/18-15c10d3288afef2e.js",
|
|
42
|
-
"static/chunks/main-app-c0b0f5ba4f7f9d75.js",
|
|
43
|
-
"static/css/521bd69cc298cd1a.css",
|
|
44
|
-
"static/css/2728291c68f99cb1.css",
|
|
45
|
-
"static/css/537e22821e101b87.css",
|
|
46
|
-
"static/chunks/cac567b0-5b77dd12911823cd.js",
|
|
47
|
-
"static/chunks/575-e2478287c27da87b.js",
|
|
48
|
-
"static/chunks/765-e838910065b50c3d.js",
|
|
49
|
-
"static/chunks/app/layout-8435322f09fd0975.js"
|
|
45
|
+
"static/chunks/webpack-cd50e39b423d1808.js",
|
|
46
|
+
"static/chunks/7ab4dc20-239138e0ae7af24a.js",
|
|
47
|
+
"static/chunks/201-51bef3fa8c832e2e.js",
|
|
48
|
+
"static/chunks/main-app-156cc0c60371bd78.js",
|
|
49
|
+
"static/chunks/app/api/upload/route-7b752a8641f96c1f.js"
|
|
50
50
|
],
|
|
51
51
|
"/page": [
|
|
52
|
-
"static/chunks/webpack-
|
|
53
|
-
"static/chunks/
|
|
54
|
-
"static/chunks/
|
|
55
|
-
"static/chunks/main-app-
|
|
56
|
-
"static/css/
|
|
57
|
-
"static/chunks/
|
|
58
|
-
"static/chunks/
|
|
59
|
-
"static/chunks/
|
|
60
|
-
"static/chunks/
|
|
61
|
-
"static/chunks/
|
|
62
|
-
"static/chunks/
|
|
63
|
-
"static/chunks/app/page-
|
|
52
|
+
"static/chunks/webpack-cd50e39b423d1808.js",
|
|
53
|
+
"static/chunks/7ab4dc20-239138e0ae7af24a.js",
|
|
54
|
+
"static/chunks/201-51bef3fa8c832e2e.js",
|
|
55
|
+
"static/chunks/main-app-156cc0c60371bd78.js",
|
|
56
|
+
"static/css/4fbf378a264bd4ea.css",
|
|
57
|
+
"static/chunks/c25e0690-e9b798b8de667da1.js",
|
|
58
|
+
"static/chunks/05c91ade-7d09b2b280adffd1.js",
|
|
59
|
+
"static/chunks/a8a5ce16-4edea7df2d9b544a.js",
|
|
60
|
+
"static/chunks/ad74d572-4c1b162e2c15acaa.js",
|
|
61
|
+
"static/chunks/554-8bec6e9cca6acc67.js",
|
|
62
|
+
"static/chunks/905-342391e3d3a3678f.js",
|
|
63
|
+
"static/chunks/app/page-6610743f7de5f92a.js"
|
|
64
64
|
]
|
|
65
65
|
}
|
|
66
66
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
+
"/_not-found/page": "/_not-found",
|
|
2
3
|
"/.vibeman/assets/images/[...path]/route": "/.vibeman/assets/images/[...path]",
|
|
3
4
|
"/api/health/route": "/api/health",
|
|
4
5
|
"/api/images/[...path]/route": "/api/images/[...path]",
|
|
5
6
|
"/api/upload/route": "/api/upload",
|
|
6
|
-
"/_not-found/page": "/_not-found",
|
|
7
7
|
"/page": "/"
|
|
8
8
|
}
|
|
@@ -5,28 +5,28 @@
|
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"ampDevFiles": [],
|
|
7
7
|
"lowPriorityFiles": [
|
|
8
|
-
"static/
|
|
9
|
-
"static/
|
|
8
|
+
"static/LJFZk_8tvKFN_Ee4HqUuM/_buildManifest.js",
|
|
9
|
+
"static/LJFZk_8tvKFN_Ee4HqUuM/_ssgManifest.js"
|
|
10
10
|
],
|
|
11
11
|
"rootMainFiles": [
|
|
12
|
-
"static/chunks/webpack-
|
|
13
|
-
"static/chunks/
|
|
14
|
-
"static/chunks/
|
|
15
|
-
"static/chunks/main-app-
|
|
12
|
+
"static/chunks/webpack-cd50e39b423d1808.js",
|
|
13
|
+
"static/chunks/7ab4dc20-239138e0ae7af24a.js",
|
|
14
|
+
"static/chunks/201-51bef3fa8c832e2e.js",
|
|
15
|
+
"static/chunks/main-app-156cc0c60371bd78.js"
|
|
16
16
|
],
|
|
17
17
|
"rootMainFilesTree": {},
|
|
18
18
|
"pages": {
|
|
19
19
|
"/_app": [
|
|
20
|
-
"static/chunks/webpack-
|
|
21
|
-
"static/chunks/framework-
|
|
22
|
-
"static/chunks/main-
|
|
23
|
-
"static/chunks/pages/_app-
|
|
20
|
+
"static/chunks/webpack-cd50e39b423d1808.js",
|
|
21
|
+
"static/chunks/framework-57157ec4d37f64aa.js",
|
|
22
|
+
"static/chunks/main-df25d367c47b1fec.js",
|
|
23
|
+
"static/chunks/pages/_app-9f629a5e1131d19f.js"
|
|
24
24
|
],
|
|
25
25
|
"/_error": [
|
|
26
|
-
"static/chunks/webpack-
|
|
27
|
-
"static/chunks/framework-
|
|
28
|
-
"static/chunks/main-
|
|
29
|
-
"static/chunks/pages/_error-
|
|
26
|
+
"static/chunks/webpack-cd50e39b423d1808.js",
|
|
27
|
+
"static/chunks/framework-57157ec4d37f64aa.js",
|
|
28
|
+
"static/chunks/main-df25d367c47b1fec.js",
|
|
29
|
+
"static/chunks/pages/_error-9238238274c7efcd.js"
|
|
30
30
|
]
|
|
31
31
|
},
|
|
32
32
|
"ampFirstPages": []
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"dynamicRoutes": {},
|
|
55
55
|
"notFoundRoutes": [],
|
|
56
56
|
"preview": {
|
|
57
|
-
"previewModeId": "
|
|
58
|
-
"previewModeSigningKey": "
|
|
59
|
-
"previewModeEncryptionKey": "
|
|
57
|
+
"previewModeId": "b97036d702454105e0e0a0374f45f1f1",
|
|
58
|
+
"previewModeSigningKey": "c911a5963e97ad5a5566318cc48c4450206db55a9ebeeba238b4af42f73796d1",
|
|
59
|
+
"previewModeEncryptionKey": "7afd68b6fba6a2af6d05109f927edd362f7381aa2d6a69a0bcfdfc41b64ca06f"
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -1,39 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"components/ui/TerminalLogsViewer.tsx -> @xterm/addon-fit": {
|
|
3
|
-
"id": 79355,
|
|
4
|
-
"files": [
|
|
5
|
-
"static/chunks/355.056c2645878a799a.js"
|
|
6
|
-
]
|
|
7
|
-
},
|
|
8
|
-
"components/ui/TerminalLogsViewer.tsx -> @xterm/addon-web-links": {
|
|
9
|
-
"id": 9691,
|
|
10
|
-
"files": [
|
|
11
|
-
"static/chunks/691.920d88c115087314.js"
|
|
12
|
-
]
|
|
13
|
-
},
|
|
14
|
-
"components/ui/TerminalLogsViewer.tsx -> @xterm/addon-webgl": {
|
|
15
|
-
"id": 6439,
|
|
16
|
-
"files": [
|
|
17
|
-
"static/chunks/439.1be0c6242fd248d5.js"
|
|
18
|
-
]
|
|
19
|
-
},
|
|
20
|
-
"components/ui/TerminalLogsViewer.tsx -> @xterm/xterm": {
|
|
21
|
-
"id": 67179,
|
|
22
|
-
"files": [
|
|
23
|
-
"static/chunks/1c0ca389.537bbe362e3ffbd9.js"
|
|
24
|
-
]
|
|
25
|
-
},
|
|
26
2
|
"components/ui/WorkflowReview.tsx -> @mantine/modals": {
|
|
27
|
-
"id":
|
|
28
|
-
"files": [
|
|
29
|
-
"static/chunks/440.c52e7c0f797e22b2.js"
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
"lib/id-generator.ts -> crypto": {
|
|
33
|
-
"id": 56203,
|
|
3
|
+
"id": 2764,
|
|
34
4
|
"files": [
|
|
35
|
-
"static/chunks/
|
|
36
|
-
"static/chunks/420.a5ccf151c9e2b2f1.js"
|
|
5
|
+
"static/chunks/764.86e9503a69d45a85.js"
|
|
37
6
|
]
|
|
38
7
|
}
|
|
39
8
|
}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
"version": 1,
|
|
3
3
|
"config": {
|
|
4
4
|
"env": {},
|
|
5
|
-
"webpack": null,
|
|
6
5
|
"eslint": {
|
|
7
6
|
"ignoreDuringBuilds": true
|
|
8
7
|
},
|
|
@@ -99,7 +98,7 @@
|
|
|
99
98
|
"transform": "lodash/{{member}}"
|
|
100
99
|
}
|
|
101
100
|
},
|
|
102
|
-
"outputFileTracingRoot": "/Users/harryyu/BDev/vibeman
|
|
101
|
+
"outputFileTracingRoot": "/Users/harryyu/BDev/vibeman",
|
|
103
102
|
"allowedDevOrigins": [
|
|
104
103
|
"localhost",
|
|
105
104
|
"127.0.0.1"
|
|
@@ -208,6 +207,7 @@
|
|
|
208
207
|
"devtoolSegmentExplorer": true,
|
|
209
208
|
"browserDebugInfoInTerminal": false,
|
|
210
209
|
"optimizeRouterScrolling": false,
|
|
210
|
+
"middlewareClientMaxBodySize": 10485760,
|
|
211
211
|
"optimizePackageImports": [
|
|
212
212
|
"lucide-react",
|
|
213
213
|
"date-fns",
|
|
@@ -303,11 +303,11 @@
|
|
|
303
303
|
"@mantine/notifications"
|
|
304
304
|
],
|
|
305
305
|
"turbopack": {
|
|
306
|
-
"root": "/Users/harryyu/BDev/vibeman
|
|
306
|
+
"root": "/Users/harryyu/BDev/vibeman"
|
|
307
307
|
}
|
|
308
308
|
},
|
|
309
309
|
"appDir": "/Users/harryyu/BDev/vibeman/apps/web",
|
|
310
|
-
"relativeAppDir": "",
|
|
310
|
+
"relativeAppDir": "apps/web",
|
|
311
311
|
"files": [
|
|
312
312
|
".next/routes-manifest.json",
|
|
313
313
|
".next/server/pages-manifest.json",
|
|
@@ -329,6 +329,6 @@
|
|
|
329
329
|
".next/required-server-files.json"
|
|
330
330
|
],
|
|
331
331
|
"ignore": [
|
|
332
|
-
"../../node_modules/next/dist/compiled/@ampproject/toolbox-optimizer/**/*"
|
|
332
|
+
"../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/compiled/@ampproject/toolbox-optimizer/**/*"
|
|
333
333
|
]
|
|
334
334
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=744,a.ids=[744],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},
|
|
1
|
+
(()=>{var a={};a.id=744,a.ids=[744],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4477:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>j});var d=c(63519),e=c(29021),f=c(33873),g=c.n(f),h=c(80221);let i={".jpg":"image/jpeg",".jpeg":"image/jpeg",".png":"image/png",".gif":"image/gif",".webp":"image/webp",".svg":"image/svg+xml"};async function j(a,{params:b}){try{let a=b?.path??[];if(!Array.isArray(a)||0===a.length)return new d.NextResponse("Not Found",{status:404});let c=function(a){let b=a.join("/"),c=g().posix.normalize(b);return c.startsWith("..")?null:c}(a);if(!c)return new d.NextResponse("Forbidden",{status:403});let f=(0,h.k3)(),j=g().join(f,c),k=g().normalize(j),l=g().normalize(f+g().sep);if(!k.startsWith(l))return new d.NextResponse("Forbidden",{status:403});try{await e.promises.access(j)}catch{return new d.NextResponse("Not Found",{status:404})}let m=await e.promises.readFile(j),n=i[g().extname(j).toLowerCase()]??"application/octet-stream";return new d.NextResponse(m,{headers:{"Content-Type":n,"Cache-Control":"public, max-age=31536000, immutable"}})}catch(a){return console.error("Error serving image:",a),new d.NextResponse("Internal Server Error",{status:500})}}},6241:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d={};c.r(d),c.d(d,{GET:()=>u.GET});var e=c(81118),f=c(66935),g=c(53966),h=c(37536),i=c(99710),j=c(261),k=c(13760),l=c(53266),m=c(98610),n=c(70289),o=c(20511),p=c(91637),q=c(46515),r=c(73092),s=c(86439),t=c(49114),u=c(4477);let v=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/.vibeman/assets/images/[...path]/route",pathname:"/.vibeman/assets/images/[...path]",filename:"route",bundlePath:"app/.vibeman/assets/images/[...path]/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/harryyu/BDev/vibeman/apps/web/src/app/.vibeman/assets/images/[...path]/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,g.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){var d;let e="/.vibeman/assets/images/[...path]/route";"/index"===e&&(e="/");let g=await v.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:w,nextConfig:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D}=g,E=(0,j.normalizeAppPath)(e),F=!!(z.dynamicRoutes[E]||z.routes[D]);if(F&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[E];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||v.isDev||y||(G="/index"===(G=D)?"/":G);let H=!0===v.isDev||!F,I=F&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:w,prerenderManifest:z,renderOpts:{experimental:{cacheComponents:!!x.experimental.cacheComponents,authInterrupts:!!x.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=x.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>v.onRequestError(a,b,d,A)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>v.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!F)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})},A),b}},l=await v.handleResponse({req:a,nextConfig:x,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil});if(!F)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&F||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},38631:()=>{},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},61599:()=>{},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},80221:(a,b,c)=>{"use strict";c.d(b,{C0:()=>i,Ui:()=>j,bx:()=>k,k3:()=>h});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f);function h(){return g().join(g().join(g().join(function(){let a=process.env.VIBEMAN_PROJECT_ROOT?.trim();if(a){if(g().isAbsolute(a))return g().normalize(a);let b=[process.env.VIBEMAN_PROJECT_ROOT_BASE,process.env.INIT_CWD,process.env.PWD,process.cwd()].filter(a=>!!a?.trim()),c=null;for(let d of b){let b=g().resolve(d,a);if(c||(c=b),e().existsSync(b))return b}return c??g().resolve(a)}let b=process.cwd(),{root:c}=g().parse(b);for(;;){if(e().existsSync(g().join(b,".git")))return b;if(b===c)break;b=g().dirname(b)}for(b=process.cwd();;){if(e().existsSync(g().join(b,".vibeman")))return b;if(b===c)break;b=g().dirname(b)}return process.cwd()}(),".vibeman"),"assets"),"images")}async function i(){let a=h();return await d.promises.mkdir(a,{recursive:!0}),a}function j(a){return[".vibeman/assets/images",l(a)].join("/")}function k(a){return["/.vibeman/assets/images",l(a)].join("/")}function l(a){let b=a.replace(/\\\\/g,"/"),c=g().posix.normalize(b);if(c.startsWith(".."))throw Error("Invalid image filename");return c.replace(/^\//,"")}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[552,780],()=>b(b.s=6241));module.exports=c})();
|
package/dist/runtime/web/.next/server/app/.vibeman/assets/images/[...path]/route.js.nft.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/
|
|
1
|
+
{"version":1,"files":["../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/lib/constants.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/lib/interop-default.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/lib/is-error.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/lib/semver-noop.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/load-manifest.external.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/server/response-cache/types.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/shared/lib/segment.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../../../node_modules/.pnpm/next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1_sass@1.97.0/node_modules/next/package.json","../../../../../../../../../package.json","../../../../../../../node_modules/next","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/552.js","../../../../../chunks/780.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
|