@orion-agents/orion-code 0.3.15 → 0.3.17

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 (44) hide show
  1. package/CHANGELOG.md +219 -0
  2. package/dist/runtime/release-receipts.d.ts +15 -3
  3. package/dist/runtime/release-receipts.js +27 -1
  4. package/dist/services/session-storage.d.ts +9 -0
  5. package/dist/services/session-storage.js +27 -1
  6. package/dist/web/git-compare-service.d.ts +45 -0
  7. package/dist/web/git-compare-service.js +160 -0
  8. package/dist/web/git-diff-document.d.ts +83 -0
  9. package/dist/web/git-diff-document.js +214 -0
  10. package/dist/web/git-file-source.d.ts +25 -0
  11. package/dist/web/git-file-source.js +21 -0
  12. package/dist/web/git-history-service.d.ts +151 -0
  13. package/dist/web/git-history-service.js +610 -0
  14. package/dist/web/git-index-transaction.d.ts +45 -0
  15. package/dist/web/git-index-transaction.js +174 -0
  16. package/dist/web/git-patch-builder.d.ts +30 -0
  17. package/dist/web/git-patch-builder.js +134 -0
  18. package/dist/web/git-read-model-service.d.ts +338 -18
  19. package/dist/web/git-read-model-service.js +1029 -110
  20. package/dist/web/git-version-service.d.ts +71 -0
  21. package/dist/web/git-version-service.js +255 -0
  22. package/dist/web/native-directory-picker.d.ts +63 -0
  23. package/dist/web/native-directory-picker.js +169 -0
  24. package/dist/web/protocol.d.ts +51 -2
  25. package/dist/web/server.js +384 -8
  26. package/dist/web/workbench-controller.d.ts +126 -10
  27. package/dist/web/workbench-controller.js +383 -15
  28. package/dist/web/workspace-open-telemetry.d.ts +55 -0
  29. package/dist/web/workspace-open-telemetry.js +73 -0
  30. package/dist/web-client/assets/FilesPanel-BARQCmne.js +1 -0
  31. package/dist/web-client/assets/GitPanel-DjB9eSiJ.js +4 -0
  32. package/dist/web-client/assets/ReviewPanel-YhEGlp-G.js +5 -0
  33. package/dist/web-client/assets/{TerminalPanel-BpsLphLv.js → TerminalPanel-DnWh3Vp2.js} +1 -1
  34. package/dist/web-client/assets/{index-D3sxrAh_.css → index--hnGXXjj.css} +1 -1
  35. package/dist/web-client/assets/index-Drja0_BT.js +20 -0
  36. package/dist/web-client/assets/{useAutoNotice-BeSf9Dfq.js → useAutoNotice-DfQi4G1X.js} +1 -1
  37. package/dist/web-client/index.html +2 -2
  38. package/npm-shrinkwrap.json +2 -2
  39. package/package.json +1 -1
  40. package/dist/web-client/assets/DiffViewer-C0A42Lma.js +0 -5
  41. package/dist/web-client/assets/FilesPanel-DiXKnFMj.js +0 -1
  42. package/dist/web-client/assets/GitPanel--_Yrbldp.js +0 -1
  43. package/dist/web-client/assets/ReviewPanel-BilzL9Ma.js +0 -1
  44. package/dist/web-client/assets/index-C2M48tcK.js +0 -20
@@ -1,10 +1,13 @@
1
1
  import { AgentRuntimeController } from '../runtime/agent-runtime-controller';
2
+ import type { GitCompareModeV1 } from './git-compare-service';
3
+ import type { GitHistoryQueryV1 } from './git-history-service';
2
4
  import type { OrionCodeUiRuntime } from '../runtime/ui-events';
3
5
  import { WorkspaceRegistryV1 } from '../services/workspace-registry';
4
6
  import { WebEventHub } from './event-hub';
5
7
  import { FileReadServiceV1 } from './file-read-service';
6
8
  import { GitReadModelServiceV1 } from './git-read-model-service';
7
- import { type WebComposerActionResultV1, type WebComposerActionV1, type WebComposerControlStateV1, type WebBootstrapV1, type WebCommandResultV1, type WebContextActivateRequestV1, type WebContextGuardV1, type WebMcpServerSummaryV1, type WebPageV1, type WebSessionSnapshotV1, type WebSessionSummaryV1, type WebSettingsMutationResultV1, type WebSettingsSnapshotV1, type WebSettingsUpdateRequestV1, type WebSkillSummaryV1, type WebToolDetailPageV1, type WebToolDetailSummaryV1, type WebWorkspaceSummaryV1, type WebWorkspaceProjectSummaryV1 } from './protocol';
9
+ import { type WebComposerActionResultV1, type WebComposerActionV1, type WebComposerControlStateV1, type WebBootstrapV1, type WebCommandResultV1, type WebContextActivateRequestV1, type WebContextGuardV1, type WebMcpServerSummaryV1, type WebPageV1, type WebSessionSnapshotV1, type WebSessionSummaryV1, type WebSettingsMutationResultV1, type WebSettingsSnapshotV1, type WebSettingsUpdateRequestV1, type WebSkillSummaryV1, type WebToolDetailPageV1, type WebToolDetailSummaryV1, type WebWorkspaceSummaryV1, type WebWorkspaceProjectSummaryV1, type WebWorkspaceCandidateSourceV1, type WebWorkspaceCandidateV1 } from './protocol';
10
+ import { type NativeDirectoryPickResult, type NativeDirectoryPicker } from './native-directory-picker';
8
11
  import { type WebSessionRuntimeSummaryV1 } from './session-runtime-registry';
9
12
  import { TerminalManagerV1 } from './terminal-manager';
10
13
  export { WebWorkbenchError } from './errors';
@@ -14,6 +17,8 @@ export interface WebWorkbenchControllerOptions {
14
17
  readonly createRuntime?: (cwd: string) => Promise<OrionCodeUiRuntime>;
15
18
  readonly createSessionRuntime?: (cwd: string) => Promise<OrionCodeUiRuntime>;
16
19
  readonly workspaceRegistry?: WorkspaceRegistryV1;
20
+ /** v0.3.16 — Host native directory picker; injectable for tests. */
21
+ readonly nativeDirectoryPicker?: NativeDirectoryPicker;
17
22
  }
18
23
  /** Owns the Workspace surface plus the bounded Web Session actor registry. */
19
24
  export declare class WebWorkbenchController {
@@ -34,6 +39,11 @@ export declare class WebWorkbenchController {
34
39
  */
35
40
  private readonly workspaceKernels;
36
41
  private readonly workspaceRegistry;
42
+ /** v0.3.16 — Host directory picker plus its single-in-flight guard. */
43
+ private readonly directoryPicker;
44
+ private pickerInFlight;
45
+ /** v0.3.17 — bounded, path-free open-path traces exposed through diagnostics(). */
46
+ private readonly openTelemetry;
37
47
  readonly terminalManager: TerminalManagerV1;
38
48
  private readonly mutationResults;
39
49
  private readonly sessionViews;
@@ -78,6 +88,29 @@ export declare class WebWorkbenchController {
78
88
  bootstrap(nonce: string): WebBootstrapV1;
79
89
  settings(): WebSettingsSnapshotV1;
80
90
  listWorkspaces(context?: WebContextGuardV1): readonly WebWorkspaceSummaryV1[];
91
+ /**
92
+ * v0.3.16 — Ask the Host to run the OS directory picker.
93
+ *
94
+ * This is a *browse* action: it never registers, activates or reads a
95
+ * workspace. Only one picker may be open at a time so a stuck native dialog
96
+ * cannot be stacked, and the result is a plain path the caller must still
97
+ * confirm through the normal activation flow.
98
+ */
99
+ pickDirectory(input: {
100
+ readonly title?: string;
101
+ readonly initialPath?: string;
102
+ /** v0.3.17 — optional trace correlation id from the HTTP request. */
103
+ readonly requestId?: string;
104
+ }): Promise<NativeDirectoryPickResult>;
105
+ /**
106
+ * v0.3.17 — Read-only, bounded preview of a candidate directory.
107
+ *
108
+ * Probes with asynchronous fs so a hung network mount or a broken symlink
109
+ * cannot freeze the Node event loop, and races the whole probe against a
110
+ * short budget. It never registers a workspace, activates a Context, reads
111
+ * file contents, or touches the session catalog beyond a warm-cache peek.
112
+ */
113
+ inspectWorkspaceFast(path: string, source?: WebWorkspaceCandidateSourceV1, requestId?: string): Promise<WebWorkspaceCandidateV1>;
81
114
  listWorkspaceSessions(workspaceId: string, context?: WebContextGuardV1): readonly WebSessionSummaryV1[];
82
115
  /** Archived sessions of a Workspace (v0.3.7), newest archive first. */
83
116
  listArchivedWorkspaceSessions(workspaceId: string, context?: WebContextGuardV1): readonly WebSessionSummaryV1[];
@@ -138,14 +171,90 @@ export declare class WebWorkbenchController {
138
171
  }): Promise<{
139
172
  readonly repositoryRevision: string;
140
173
  }>;
141
- gitCommit(context: WebContextGuardV1, input: {
142
- readonly message: string;
174
+ /**
175
+ * v0.3.17 S4 — history reads.
176
+ *
177
+ * Read-only by construction: they are registered as queries, so none of them can reach the
178
+ * mutation path (`assertMutation` / `executeMutation` are never involved). That is what
179
+ * makes "browsing history never writes to the workspace" a structural property rather than
180
+ * a promise.
181
+ */
182
+ /**
183
+ * v0.3.17 S6 — translate a Git file token into a Files token (plan G7).
184
+ *
185
+ * The browser never derives one token from the other: the Git token is resolved to a
186
+ * workspace-relative path here, and only the FileReadService mints the Files-side id.
187
+ * That keeps the two id spaces from leaking into each other.
188
+ */
189
+ gitFilesTarget(context: WebContextGuardV1, gitFileToken: string): Promise<Readonly<{
190
+ path: string;
191
+ source: import("./git-file-source").GitWorktreeSourceV1;
192
+ filesToken: string;
193
+ }>>;
194
+ gitRefs(context: WebContextGuardV1): Promise<import("./git-history-service").GitRefsV1>;
195
+ gitHistory(context: WebContextGuardV1, query: GitHistoryQueryV1): Promise<import("./git-history-service").GitHistoryPageV1>;
196
+ gitCommitDetail(context: WebContextGuardV1, oid: string, parentIndex?: number): Promise<import("./git-history-service").GitCommitDetailV1>;
197
+ gitCommitFiles(context: WebContextGuardV1, oid: string, parentIndex?: number): Promise<import("./git-history-service").GitCommitFilesV1>;
198
+ gitCommitDiff(context: WebContextGuardV1, input: {
199
+ readonly oid: string;
200
+ readonly path: string;
201
+ readonly parentIndex?: number;
202
+ readonly cursor?: string;
203
+ }): Promise<import("./git-diff-document").GitDiffDocumentV2>;
204
+ /**
205
+ * v0.3.17 S5 — branch/version comparison. Registered as a query: the compare view can
206
+ * never reach the mutation path.
207
+ */
208
+ gitCompare(context: WebContextGuardV1, input: {
209
+ readonly baseRef: string;
210
+ readonly headRef: string;
211
+ readonly mode: GitCompareModeV1;
212
+ }): Promise<import("./git-compare-service").GitCompareResultV1>;
213
+ gitCompareFileDiff(context: WebContextGuardV1, input: {
214
+ readonly baseOid: string;
215
+ readonly headOid: string;
216
+ readonly path: string;
217
+ readonly cursor?: string;
218
+ }): Promise<import("./git-diff-document").GitDiffDocumentV2>;
219
+ /** v0.3.17 S5 — the commit graph, as git itself drew it. Read-only. */
220
+ gitGraph(context: WebContextGuardV1, input: {
221
+ readonly limit?: number;
222
+ }): Promise<import("./git-history-service").GitGraphPageV1>;
223
+ gitBlame(context: WebContextGuardV1, input: {
224
+ readonly path: string;
225
+ readonly rev?: string;
226
+ readonly limit?: number;
227
+ }): Promise<import("./git-history-service").GitBlameResultV1>;
228
+ /**
229
+ * v0.3.17 S5 — conflict stages, historical blobs and gitlink entries. All query-only.
230
+ */
231
+ gitConflictVersions(context: WebContextGuardV1, path: string): Promise<import("./git-version-service").GitConflictVersionsV1>;
232
+ gitBlob(context: WebContextGuardV1, input: {
233
+ readonly path: string;
234
+ readonly rev: string;
235
+ }): Promise<import("./git-version-service").GitBlobResultV1>;
236
+ gitSubmodules(context: WebContextGuardV1): Promise<readonly import("./git-version-service").GitSubmoduleEntryV1[]>;
237
+ gitFileHistory(context: WebContextGuardV1, input: {
238
+ readonly path: string;
239
+ readonly rev?: string;
240
+ readonly limit?: number;
241
+ }): Promise<import("./git-history-service").GitFileHistoryPageV1>;
242
+ /** v0.3.17 S3 — preview of what the index would commit, independent of list filters. */
243
+ gitCommitPreview(context: WebContextGuardV1): Promise<import("./git-read-model-service").GitCommitPreviewV1>;
244
+ /**
245
+ * v0.3.17 S3 — commit against the frozen revision the form showed. Identity, signing and
246
+ * hooks come from the repository's own configuration (plan §7.9).
247
+ */
248
+ gitCommit(context: WebContextGuardV1, input: Parameters<GitReadModelServiceV1['commit']>[0]): Promise<import("./git-read-model-service").GitCommitOutcomeV1>;
249
+ /** v0.3.17 S3 — Host-rebuilt hunk or line selection applied to the index only. */
250
+ gitApplyPatch(context: WebContextGuardV1, input: {
251
+ readonly fileId: string;
143
252
  readonly expectedRepositoryRevision: string;
144
- }): Promise<{
145
- readonly repositoryRevision: string;
146
- readonly commitSha: string;
147
- }>;
148
- private resolveSafeGitPaths;
253
+ readonly hunkIds?: readonly string[];
254
+ readonly lineIds?: readonly string[];
255
+ }): Promise<import("./git-read-model-service").GitMutationResultV1>;
256
+ /** v0.3.17 S2 — structured diff document for the selected comparison source. */
257
+ gitDiffDocument(context: WebContextGuardV1, input: Parameters<GitReadModelServiceV1['diffDocument']>[0]): Promise<import("./git-diff-document").GitDiffDocumentV2>;
149
258
  private assertGitRepositoryRevision;
150
259
  private fileContextRevision;
151
260
  gitLog(context: WebContextGuardV1, input: Parameters<GitReadModelServiceV1['log']>[0]): Promise<import("./git-read-model-service").WebGitLogPageV1>;
@@ -171,8 +280,10 @@ export declare class WebWorkbenchController {
171
280
  * hold them open — require that no actor exists at all (phase 'cold').
172
281
  */
173
282
  private assertSessionHasNoActor;
174
- switchWorkspace(path: string, context: WebContextGuardV1): Promise<void>;
175
- activateContext(input: Omit<WebContextActivateRequestV1, 'requestId'>): Promise<void>;
283
+ switchWorkspace(path: string, context: WebContextGuardV1, requestId?: string): Promise<void>;
284
+ activateContext(input: Omit<WebContextActivateRequestV1, 'requestId'> & {
285
+ readonly requestId?: string;
286
+ }): Promise<void>;
176
287
  dispatch(raw: unknown): Promise<WebCommandResultV1>;
177
288
  private resolveCommandContext;
178
289
  private resolveContextReference;
@@ -239,4 +350,9 @@ export declare class WebWorkbenchController {
239
350
  }
240
351
  export declare function pageItems<T>(items: readonly T[], cursor?: string, pageSize?: number): WebPageV1<T>;
241
352
  export declare function pageCollectionItems<T>(scope: string, items: readonly T[], cursor: string | undefined, pageSize: number, keyOf: (item: T) => string): WebPageV1<T>;
353
+ /**
354
+ * True when a directory looks like a project root. Only marker *existence* is
355
+ * checked — never file contents — which is what roots discovery filters on.
356
+ */
357
+ export declare function hasProjectSignal(canonicalPath: string): boolean;
242
358
  //# sourceMappingURL=workbench-controller.d.ts.map