@jawkx1999/opencr 0.1.0-alpha.2 → 0.1.0-alpha.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.
Files changed (34) hide show
  1. package/dist/client/assets/index-C9jeaZcr.css +1 -0
  2. package/dist/client/assets/index-DF6LDO7P.js +1978 -0
  3. package/dist/client/index.html +3 -3
  4. package/dist/server/cli/index.js +32 -1
  5. package/dist/server/cli/index.js.map +1 -1
  6. package/dist/server/core/agents/opencode.js +685 -0
  7. package/dist/server/core/agents/opencode.js.map +1 -0
  8. package/dist/server/core/reviewDiagnostics.js +116 -0
  9. package/dist/server/core/reviewDiagnostics.js.map +1 -0
  10. package/dist/server/core/reviewPayload.js +7 -0
  11. package/dist/server/core/reviewPayload.js.map +1 -1
  12. package/dist/server/core/reviewRequest.js +4 -1
  13. package/dist/server/core/reviewRequest.js.map +1 -1
  14. package/dist/server/core/reviewSource/commitish.js +1 -1
  15. package/dist/server/core/reviewSource/commitish.js.map +1 -1
  16. package/dist/server/core/reviewSource/githubPr.js +31 -0
  17. package/dist/server/core/reviewSource/githubPr.js.map +1 -1
  18. package/dist/server/core/reviewSource/index.js +2 -2
  19. package/dist/server/core/reviewSource/index.js.map +1 -1
  20. package/dist/server/core/server.js +27 -6
  21. package/dist/server/core/server.js.map +1 -1
  22. package/dist/server/core/workspace/identity.js +47 -0
  23. package/dist/server/core/workspace/identity.js.map +1 -0
  24. package/dist/server/core/workspace/repository.js +399 -0
  25. package/dist/server/core/workspace/repository.js.map +1 -0
  26. package/dist/server/server/app.js +204 -2
  27. package/dist/server/server/app.js.map +1 -1
  28. package/dist/server/shared/types.js +1 -1
  29. package/dist/server/shared/types.js.map +1 -1
  30. package/package.json +5 -4
  31. package/dist/client/assets/index-CMvi92Od.js +0 -1974
  32. package/dist/client/assets/index-dwKNSbA7.css +0 -1
  33. package/dist/server/cli/utils.js +0 -2
  34. package/dist/server/cli/utils.js.map +0 -1
@@ -3,9 +3,9 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>opencr</title>
7
- <script type="module" crossorigin src="/assets/index-CMvi92Od.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-dwKNSbA7.css">
6
+ <title>OpenCr</title>
7
+ <script type="module" crossorigin src="/assets/index-DF6LDO7P.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-C9jeaZcr.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
@@ -6,9 +6,18 @@ import { execSync } from 'node:child_process';
6
6
  import { Command, InvalidArgumentError } from 'commander';
7
7
  import { Effect } from 'effect';
8
8
  import { resolveReviewRequest, ReviewRequestError } from '../core/reviewRequest.js';
9
+ import { createAgentService } from '../core/agents/opencode.js';
9
10
  import { loadReviewPayload } from '../core/reviewPayload.js';
10
11
  import { startDebugServer, ServerStartError } from '../core/server.js';
12
+ import { buildReviewIdentity } from '../core/workspace/identity.js';
13
+ import { ReviewWorkspaceRepository } from '../core/workspace/repository.js';
11
14
  import { DEFAULT_DIFF_VIEW_MODE, normalizeDiffViewMode } from '../shared/diffMode.js';
15
+ const resolveAgentRepositoryPath = (request) => {
16
+ if (request.source.kind === 'git') {
17
+ return request.source.repositoryPath;
18
+ }
19
+ return request.invocation.cwd;
20
+ };
12
21
  const findPackageJsonPath = () => {
13
22
  const startDirectory = dirname(fileURLToPath(import.meta.url));
14
23
  for (let index = 0; index < 6; index += 1) {
@@ -82,6 +91,7 @@ program
82
91
  .option('--include-untracked', 'include untracked files in working-tree diffs')
83
92
  .option('--keep-alive', 'keep the server alive after the browser disconnects')
84
93
  .action(async (commitish, compareWith, options) => {
94
+ let workspaceRepository = null;
85
95
  try {
86
96
  const requestInput = {
87
97
  commitish,
@@ -93,9 +103,28 @@ program
93
103
  };
94
104
  const resolvedRequest = await Effect.runPromise(resolveReviewRequest(requestInput));
95
105
  const reviewPayload = await loadReviewPayload(resolvedRequest.request, resolvedRequest.initialPatch);
106
+ const agentService = createAgentService(resolveAgentRepositoryPath(resolvedRequest.request));
107
+ const reviewIdentity = buildReviewIdentity(resolvedRequest.request, reviewPayload.diff.patch);
108
+ workspaceRepository = new ReviewWorkspaceRepository();
109
+ const repository = workspaceRepository;
110
+ if (resolvedRequest.request.behavior.clearArtifacts) {
111
+ repository.clearWorkspace(reviewIdentity.targetId);
112
+ }
96
113
  const started = await startDebugServer({
97
114
  request: resolvedRequest.request,
98
- reviewPayload,
115
+ getReviewPayload: () => ({
116
+ ...reviewPayload,
117
+ workspace: repository.loadWorkspace(reviewIdentity.targetId),
118
+ }),
119
+ saveWorkspace: (input) => {
120
+ return repository.saveWorkspace({
121
+ targetId: reviewIdentity.targetId,
122
+ snapshotId: reviewIdentity.snapshotId,
123
+ baseRevision: input.baseRevision,
124
+ workspace: input.workspace,
125
+ });
126
+ },
127
+ agentService,
99
128
  });
100
129
  console.log(`\nopencr server started on ${started.debugState.server.url}`);
101
130
  console.log(`Review label: ${started.debugState.request.reviewLabel}`);
@@ -114,11 +143,13 @@ program
114
143
  }
115
144
  process.on('SIGINT', () => {
116
145
  void started.stop().finally(() => {
146
+ workspaceRepository?.close();
117
147
  process.exit(0);
118
148
  });
119
149
  });
120
150
  }
121
151
  catch (error) {
152
+ workspaceRepository?.close();
122
153
  console.error(`Error: ${formatError(error)}`);
123
154
  process.exitCode = 1;
124
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"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"}