@orion-agents/orion-code 0.2.2 → 0.3.0

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 (149) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +73 -14
  3. package/README.zh-CN.md +63 -14
  4. package/bin/orion +15 -4
  5. package/dist/cli.js +51 -172
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/model-command-handlers.d.ts +2 -2
  8. package/dist/commands/model-command-handlers.d.ts.map +1 -1
  9. package/dist/commands/model-command-handlers.js +113 -32
  10. package/dist/commands/model-command-handlers.js.map +1 -1
  11. package/dist/commands/session-command-handlers.d.ts.map +1 -1
  12. package/dist/commands/session-command-handlers.js +106 -15
  13. package/dist/commands/session-command-handlers.js.map +1 -1
  14. package/dist/commands/types.d.ts +13 -3
  15. package/dist/commands/types.d.ts.map +1 -1
  16. package/dist/commands/types.js +1 -1
  17. package/dist/commands/types.js.map +1 -1
  18. package/dist/index.d.ts +1 -1
  19. package/dist/index.js +1 -1
  20. package/dist/runtime/agent-loop.d.ts.map +1 -1
  21. package/dist/runtime/agent-loop.js +3 -3
  22. package/dist/runtime/agent-loop.js.map +1 -1
  23. package/dist/runtime/agent-runtime-controller.d.ts +32 -1
  24. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  25. package/dist/runtime/agent-runtime-controller.js +242 -27
  26. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  27. package/dist/runtime/agent-runtime-runner.d.ts +2 -1
  28. package/dist/runtime/agent-runtime-runner.d.ts.map +1 -1
  29. package/dist/runtime/legacy-thread-materializer.d.ts +18 -0
  30. package/dist/runtime/legacy-thread-materializer.d.ts.map +1 -1
  31. package/dist/runtime/legacy-thread-materializer.js +27 -12
  32. package/dist/runtime/legacy-thread-materializer.js.map +1 -1
  33. package/dist/runtime/orion-runtime-v1.d.ts +2 -0
  34. package/dist/runtime/orion-runtime-v1.d.ts.map +1 -1
  35. package/dist/runtime/orion-runtime-v1.js +7 -1
  36. package/dist/runtime/orion-runtime-v1.js.map +1 -1
  37. package/dist/runtime/orion-session-runner.d.ts +7 -2
  38. package/dist/runtime/orion-session-runner.d.ts.map +1 -1
  39. package/dist/runtime/orion-session-runner.js +16 -6
  40. package/dist/runtime/orion-session-runner.js.map +1 -1
  41. package/dist/runtime/product-bootstrap.d.ts +22 -0
  42. package/dist/runtime/product-bootstrap.d.ts.map +1 -0
  43. package/dist/runtime/product-bootstrap.js +374 -0
  44. package/dist/runtime/product-bootstrap.js.map +1 -0
  45. package/dist/runtime/product-orion-runtime.d.ts +2 -1
  46. package/dist/runtime/product-orion-runtime.d.ts.map +1 -1
  47. package/dist/runtime/product-orion-runtime.js +83 -13
  48. package/dist/runtime/product-orion-runtime.js.map +1 -1
  49. package/dist/runtime/protocol/runtime-protocol-v1.d.ts +1 -1
  50. package/dist/runtime/protocol/runtime-protocol-v1.js +1 -1
  51. package/dist/runtime/protocol/runtime-protocol-v1.js.map +1 -1
  52. package/dist/runtime/release-receipts.d.ts +63 -3
  53. package/dist/runtime/release-receipts.d.ts.map +1 -1
  54. package/dist/runtime/release-receipts.js +297 -7
  55. package/dist/runtime/release-receipts.js.map +1 -1
  56. package/dist/runtime/step-snapshot.d.ts.map +1 -1
  57. package/dist/runtime/step-snapshot.js +22 -2
  58. package/dist/runtime/step-snapshot.js.map +1 -1
  59. package/dist/runtime/subagents/runtime-integration.d.ts +1 -1
  60. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  61. package/dist/runtime/subagents/runtime-integration.js +5 -2
  62. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  63. package/dist/runtime/thread-event-store.d.ts +27 -0
  64. package/dist/runtime/thread-event-store.d.ts.map +1 -1
  65. package/dist/runtime/thread-event-store.js +119 -17
  66. package/dist/runtime/thread-event-store.js.map +1 -1
  67. package/dist/runtime/thread-projection.d.ts +10 -0
  68. package/dist/runtime/thread-projection.d.ts.map +1 -1
  69. package/dist/runtime/thread-projection.js +40 -0
  70. package/dist/runtime/thread-projection.js.map +1 -1
  71. package/dist/runtime/thread-runtime.d.ts +3 -1
  72. package/dist/runtime/thread-runtime.d.ts.map +1 -1
  73. package/dist/runtime/thread-runtime.js +6 -0
  74. package/dist/runtime/thread-runtime.js.map +1 -1
  75. package/dist/runtime/thread-session-view.d.ts +43 -0
  76. package/dist/runtime/thread-session-view.d.ts.map +1 -1
  77. package/dist/runtime/thread-session-view.js +85 -22
  78. package/dist/runtime/thread-session-view.js.map +1 -1
  79. package/dist/runtime/thread-ui-adapter.d.ts +2 -0
  80. package/dist/runtime/thread-ui-adapter.d.ts.map +1 -1
  81. package/dist/runtime/thread-ui-adapter.js +126 -4
  82. package/dist/runtime/thread-ui-adapter.js.map +1 -1
  83. package/dist/runtime/ui-events.d.ts +35 -0
  84. package/dist/runtime/ui-events.d.ts.map +1 -1
  85. package/dist/runtime/ui-events.js +1 -0
  86. package/dist/runtime/ui-events.js.map +1 -1
  87. package/dist/runtime/ui-view-model.d.ts +2 -0
  88. package/dist/runtime/ui-view-model.d.ts.map +1 -1
  89. package/dist/runtime/ui-view-model.js +7 -3
  90. package/dist/runtime/ui-view-model.js.map +1 -1
  91. package/dist/services/global-config.d.ts +25 -0
  92. package/dist/services/global-config.d.ts.map +1 -1
  93. package/dist/services/global-config.js +373 -5
  94. package/dist/services/global-config.js.map +1 -1
  95. package/dist/services/session-storage.d.ts +59 -0
  96. package/dist/services/session-storage.d.ts.map +1 -1
  97. package/dist/services/session-storage.js +303 -101
  98. package/dist/services/session-storage.js.map +1 -1
  99. package/dist/services/settings-coordinator.d.ts +174 -0
  100. package/dist/services/settings-coordinator.d.ts.map +1 -0
  101. package/dist/services/settings-coordinator.js +605 -0
  102. package/dist/services/settings-coordinator.js.map +1 -0
  103. package/dist/services/settings-document-repository.d.ts +138 -0
  104. package/dist/services/settings-document-repository.d.ts.map +1 -0
  105. package/dist/services/settings-document-repository.js +551 -0
  106. package/dist/services/settings-document-repository.js.map +1 -0
  107. package/dist/terminal-ui/launch.d.ts.map +1 -1
  108. package/dist/terminal-ui/launch.js +5 -0
  109. package/dist/terminal-ui/launch.js.map +1 -1
  110. package/dist/tui-ui/state.d.ts.map +1 -1
  111. package/dist/tui-ui/state.js +5 -0
  112. package/dist/tui-ui/state.js.map +1 -1
  113. package/dist/web/event-hub.d.ts +39 -0
  114. package/dist/web/event-hub.d.ts.map +1 -0
  115. package/dist/web/event-hub.js +263 -0
  116. package/dist/web/event-hub.js.map +1 -0
  117. package/dist/web/index.d.ts +6 -0
  118. package/dist/web/index.d.ts.map +1 -0
  119. package/dist/web/index.js +28 -0
  120. package/dist/web/index.js.map +1 -0
  121. package/dist/web/launch.d.ts +9 -0
  122. package/dist/web/launch.d.ts.map +1 -0
  123. package/dist/web/launch.js +64 -0
  124. package/dist/web/launch.js.map +1 -0
  125. package/dist/web/protocol.d.ts +346 -0
  126. package/dist/web/protocol.d.ts.map +1 -0
  127. package/dist/web/protocol.js +348 -0
  128. package/dist/web/protocol.js.map +1 -0
  129. package/dist/web/server.d.ts +20 -0
  130. package/dist/web/server.d.ts.map +1 -0
  131. package/dist/web/server.js +498 -0
  132. package/dist/web/server.js.map +1 -0
  133. package/dist/web/workbench-controller.d.ts +63 -0
  134. package/dist/web/workbench-controller.d.ts.map +1 -0
  135. package/dist/web/workbench-controller.js +774 -0
  136. package/dist/web/workbench-controller.js.map +1 -0
  137. package/dist/web-client/assets/index-BAEO71Gp.css +1 -0
  138. package/dist/web-client/assets/index-DSkFy7gM.js +13 -0
  139. package/dist/web-client/index.html +16 -0
  140. package/docs/architecture/v0.3.0-web-api.yaml +1309 -0
  141. package/docs/migration/v0.2.2-to-v0.3.0-settings.md +114 -0
  142. package/docs/migration/v0.2.2-to-v0.3.0.md +55 -0
  143. package/docs/orion.example.json +9 -2
  144. package/docs/plan/v0.3.0-node-runtime-compatibility-plan.md +57 -0
  145. package/docs/plan/v0.3.0-settings-integration-plan.md +740 -0
  146. package/docs/plan/v0.3.0-web-workbench-plan.md +325 -0
  147. package/docs/readme.md +12 -1
  148. package/npm-shrinkwrap.json +1779 -426
  149. package/package.json +33 -9
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Durable, secret-preserving storage seam for the v0.3.0 Settings subsystem.
3
+ *
4
+ * `orion.json` remains the only settings document. The sidecar key is solely
5
+ * local revision entropy and never contains settings or leaves this service.
6
+ */
7
+ import { type GlobalConfigDocument } from './global-config';
8
+ import { type EffortPreference } from './effort';
9
+ export declare const SETTINGS_REVISION_KEY_FILE = ".orion-settings-revision.key";
10
+ export declare const SETTINGS_REVISION_PREFIX = "hmac-sha256:";
11
+ export type SettingsKeyV1 = 'appearance.theme' | 'appearance.motion' | 'defaults.model' | 'defaults.effort' | 'defaults.globalEffort' | 'permissions.toolConfirmation';
12
+ export type SettingsOperationV1 = {
13
+ readonly op: 'set';
14
+ readonly key: 'appearance.theme';
15
+ readonly value: 'system' | 'light' | 'dark';
16
+ } | {
17
+ readonly op: 'unset';
18
+ readonly key: 'appearance.theme';
19
+ } | {
20
+ readonly op: 'set';
21
+ readonly key: 'appearance.motion';
22
+ readonly value: 'system' | 'reduced';
23
+ } | {
24
+ readonly op: 'unset';
25
+ readonly key: 'appearance.motion';
26
+ } | {
27
+ readonly op: 'set';
28
+ readonly key: 'defaults.model';
29
+ readonly value: string;
30
+ } | {
31
+ readonly op: 'unset';
32
+ readonly key: 'defaults.model';
33
+ } | {
34
+ readonly op: 'set';
35
+ readonly key: 'defaults.effort';
36
+ readonly value: EffortPreference;
37
+ } | {
38
+ readonly op: 'unset';
39
+ readonly key: 'defaults.effort';
40
+ }
41
+ /** Internal command/TUI operation. The Web protocol intentionally omits this key. */
42
+ | {
43
+ readonly op: 'set';
44
+ readonly key: 'defaults.globalEffort';
45
+ readonly value: EffortPreference;
46
+ } | {
47
+ readonly op: 'unset';
48
+ readonly key: 'defaults.globalEffort';
49
+ } | {
50
+ readonly op: 'set';
51
+ readonly key: 'permissions.toolConfirmation';
52
+ readonly value: 'ask' | 'allow' | 'deny';
53
+ } | {
54
+ readonly op: 'unset';
55
+ readonly key: 'permissions.toolConfirmation';
56
+ };
57
+ export type SettingsDocumentRepositoryErrorCode = 'settings_invalid_operation' | 'settings_revision_conflict' | 'settings_document_invalid' | 'settings_document_unavailable' | 'settings_rejected' | 'settings_recovery_required';
58
+ export declare class SettingsDocumentRepositoryError extends Error {
59
+ readonly code: SettingsDocumentRepositoryErrorCode;
60
+ constructor(code: SettingsDocumentRepositoryErrorCode, message: string);
61
+ }
62
+ export interface SettingsRepositorySnapshotV1 {
63
+ readonly revision: string;
64
+ readonly state: 'ready' | 'invalid' | 'unavailable';
65
+ readonly hasDocument: boolean;
66
+ /** Current valid document, or the last-good document while state is invalid/unavailable. */
67
+ readonly document: Readonly<GlobalConfigDocument>;
68
+ readonly lastGoodRevision?: string;
69
+ readonly diagnostic?: {
70
+ readonly code: 'settings_document_invalid' | 'settings_document_unavailable';
71
+ readonly message: string;
72
+ };
73
+ }
74
+ export interface SettingsRepositoryInvalidationV1 {
75
+ readonly revision: string;
76
+ readonly reason: 'external-edit';
77
+ readonly state: 'ready' | 'invalid';
78
+ }
79
+ export interface SettingsDocumentRepositoryOptions {
80
+ readonly documentPath?: string;
81
+ readonly revisionKeyPath?: string;
82
+ readonly lockWaitMs?: number;
83
+ readonly watchDebounceMs?: number;
84
+ /** Additional semantic validation, invoked inside the file lock before write. */
85
+ readonly validateCandidate?: (candidate: Readonly<GlobalConfigDocument>) => void;
86
+ }
87
+ export interface SettingsPersistResultV1 {
88
+ readonly revision: string;
89
+ readonly appliedKeys: readonly SettingsKeyV1[];
90
+ readonly snapshot: SettingsRepositorySnapshotV1;
91
+ /** Opaque to callers other than SettingsCoordinatorV1. */
92
+ readonly rollbackToken: unknown;
93
+ }
94
+ export interface SettingsEnsureDocumentResultV1 {
95
+ readonly created: boolean;
96
+ readonly snapshot: SettingsRepositorySnapshotV1;
97
+ }
98
+ /** Validate bounded public path operations without ever accepting arbitrary paths. */
99
+ export declare function validateSettingsOperationsV1(operations: readonly SettingsOperationV1[]): readonly SettingsOperationV1[];
100
+ /** Repository for strict reads and lock-protected CAS writes of `orion.json`. */
101
+ export declare class SettingsDocumentRepository {
102
+ readonly documentPath: string;
103
+ private readonly revisionKeyPath;
104
+ private readonly revisionKey;
105
+ private readonly lockWaitMs;
106
+ private readonly watchDebounceMs;
107
+ private readonly validateCandidate?;
108
+ private lastGood;
109
+ private lastReadSignature;
110
+ private lastObservedSignature;
111
+ private watcher;
112
+ private watchTimer;
113
+ private listeners;
114
+ private closed;
115
+ constructor(options?: SettingsDocumentRepositoryOptions);
116
+ static create(options?: SettingsDocumentRepositoryOptions): SettingsDocumentRepository;
117
+ private assertOpen;
118
+ private loadOrCreateRevisionKey;
119
+ private revision;
120
+ private readDisk;
121
+ private remember;
122
+ /** Strictly read current bytes. Invalid bytes never become defaults. */
123
+ read(): SettingsRepositorySnapshotV1;
124
+ /** Whether the current document (or its directory when missing) is locally writable. */
125
+ isWritable(snapshot?: SettingsRepositorySnapshotV1): boolean;
126
+ /** Apply a typed batch under one cross-process lock and one atomic rename. */
127
+ persist(workspace: string, expectedRevision: string, operations: readonly SettingsOperationV1[]): SettingsPersistResultV1;
128
+ /** Conditionally restore the exact previous bytes after a Runtime apply failure. */
129
+ rollback(rollbackToken: unknown): SettingsRepositorySnapshotV1;
130
+ /** Create the minimal canonical document when the pathless advanced action needs one. */
131
+ ensureDocument(): SettingsEnsureDocumentResultV1;
132
+ /** Watch atomic replacements by observing the containing directory. */
133
+ watch(listener: (event: SettingsRepositoryInvalidationV1) => void): () => void;
134
+ private refreshWatcher;
135
+ private stopWatcher;
136
+ close(): void;
137
+ }
138
+ //# sourceMappingURL=settings-document-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-document-repository.d.ts","sourceRoot":"","sources":["../../src/services/settings-document-repository.ts"],"names":[],"mappings":"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"}