agl 1.0.17 → 21.0.2

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 (277) hide show
  1. package/.smartconfig.json +55 -0
  2. package/changelog.md +1026 -0
  3. package/cli.js +14 -0
  4. package/dist_serve/bundle.js +44778 -0
  5. package/dist_serve/index.html +13 -0
  6. package/dist_ts/00_commitinfo_data.d.ts +8 -0
  7. package/dist_ts/00_commitinfo_data.js +9 -0
  8. package/dist_ts/classes.authmodels.d.ts +126 -0
  9. package/dist_ts/classes.authmodels.js +1422 -0
  10. package/dist_ts/classes.authstore.d.ts +160 -0
  11. package/dist_ts/classes.authstore.js +2483 -0
  12. package/dist_ts/classes.browserresourcehost.d.ts +85 -0
  13. package/dist_ts/classes.browserresourcehost.js +912 -0
  14. package/dist_ts/classes.cli.d.ts +21 -0
  15. package/dist_ts/classes.cli.js +1082 -0
  16. package/dist_ts/classes.config.d.ts +23 -0
  17. package/dist_ts/classes.config.js +267 -0
  18. package/dist_ts/classes.controller.d.ts +523 -0
  19. package/dist_ts/classes.controller.js +10611 -0
  20. package/dist_ts/classes.controllermanagement.d.ts +32 -0
  21. package/dist_ts/classes.controllermanagement.js +222 -0
  22. package/dist_ts/classes.draftmanager.d.ts +30 -0
  23. package/dist_ts/classes.draftmanager.js +179 -0
  24. package/dist_ts/classes.embeddeddb.d.ts +30 -0
  25. package/dist_ts/classes.embeddeddb.js +159 -0
  26. package/dist_ts/classes.flexframedtransport.d.ts +56 -0
  27. package/dist_ts/classes.flexframedtransport.js +275 -0
  28. package/dist_ts/classes.flexmodels.private.d.ts +231 -0
  29. package/dist_ts/classes.flexmodels.private.js +985 -0
  30. package/dist_ts/classes.flexmodels.public.d.ts +207 -0
  31. package/dist_ts/classes.flexmodels.public.js +885 -0
  32. package/dist_ts/classes.flexprojectionreader.d.ts +89 -0
  33. package/dist_ts/classes.flexprojectionreader.js +580 -0
  34. package/dist_ts/classes.flexservice.d.ts +196 -0
  35. package/dist_ts/classes.flexservice.js +3704 -0
  36. package/dist_ts/classes.flexstore.d.ts +174 -0
  37. package/dist_ts/classes.flexstore.js +3400 -0
  38. package/dist_ts/classes.flexsupervisor.d.ts +105 -0
  39. package/dist_ts/classes.flexsupervisor.js +1191 -0
  40. package/dist_ts/classes.gitreversion.d.ts +431 -0
  41. package/dist_ts/classes.gitreversion.js +10592 -0
  42. package/dist_ts/classes.harnessoperationmanager.d.ts +113 -0
  43. package/dist_ts/classes.harnessoperationmanager.js +602 -0
  44. package/dist_ts/classes.opencodeclient.d.ts +146 -0
  45. package/dist_ts/classes.opencodeclient.js +3003 -0
  46. package/dist_ts/classes.opencodesupervisor.d.ts +60 -0
  47. package/dist_ts/classes.opencodesupervisor.js +1003 -0
  48. package/dist_ts/classes.passkeymanager.d.ts +34 -0
  49. package/dist_ts/classes.passkeymanager.js +456 -0
  50. package/dist_ts/classes.processinspection.d.ts +50 -0
  51. package/dist_ts/classes.processinspection.js +484 -0
  52. package/dist_ts/classes.resourcecoordinator.d.ts +64 -0
  53. package/dist_ts/classes.resourcecoordinator.js +294 -0
  54. package/dist_ts/classes.sessionintelligencereader.d.ts +13 -0
  55. package/dist_ts/classes.sessionintelligencereader.js +40 -0
  56. package/dist_ts/classes.systemmetricssampler.d.ts +53 -0
  57. package/dist_ts/classes.systemmetricssampler.js +168 -0
  58. package/dist_ts/classes.terminalmanager.d.ts +95 -0
  59. package/dist_ts/classes.terminalmanager.js +981 -0
  60. package/dist_ts/classes.terminalresourcehost.d.ts +20 -0
  61. package/dist_ts/classes.terminalresourcehost.js +84 -0
  62. package/dist_ts/classes.upgradecoordinator.d.ts +244 -0
  63. package/dist_ts/classes.upgradecoordinator.js +2155 -0
  64. package/dist_ts/classes.upgradetransaction.d.ts +92 -0
  65. package/dist_ts/classes.upgradetransaction.js +2125 -0
  66. package/dist_ts/classes.uploadmanager.d.ts +24 -0
  67. package/dist_ts/classes.uploadmanager.js +210 -0
  68. package/dist_ts/classes.validation.d.ts +91 -0
  69. package/dist_ts/classes.validation.js +1087 -0
  70. package/dist_ts/flexharness.child.d.ts +1 -0
  71. package/dist_ts/flexharness.child.js +28 -0
  72. package/dist_ts/functions.canonicaldirectory.d.ts +21 -0
  73. package/dist_ts/functions.canonicaldirectory.js +144 -0
  74. package/dist_ts/functions.controllerdataroot.d.ts +15 -0
  75. package/dist_ts/functions.controllerdataroot.js +76 -0
  76. package/dist_ts/functions.embeddeddb.d.ts +2 -0
  77. package/dist_ts/functions.embeddeddb.js +21 -0
  78. package/dist_ts/functions.flexcredentialstore.d.ts +16 -0
  79. package/dist_ts/functions.flexcredentialstore.js +93 -0
  80. package/dist_ts/functions.opencodeauth.d.ts +3 -0
  81. package/dist_ts/functions.opencodeauth.js +31 -0
  82. package/dist_ts/functions.runtimeenvironment.d.ts +2 -0
  83. package/dist_ts/functions.runtimeenvironment.js +79 -0
  84. package/dist_ts/functions.upgradefollower.d.ts +3 -0
  85. package/dist_ts/functions.upgradefollower.js +95 -0
  86. package/dist_ts/index.d.ts +24 -0
  87. package/dist_ts/index.js +25 -0
  88. package/dist_ts/interfaces.auth.d.ts +181 -0
  89. package/dist_ts/interfaces.auth.js +82 -0
  90. package/dist_ts/interfaces.config.d.ts +34 -0
  91. package/dist_ts/interfaces.config.js +2 -0
  92. package/dist_ts/interfaces.flexipc.d.ts +939 -0
  93. package/dist_ts/interfaces.flexipc.js +1492 -0
  94. package/dist_ts/interfaces.gitreversion.d.ts +246 -0
  95. package/dist_ts/interfaces.gitreversion.js +2 -0
  96. package/dist_ts/interfaces.lifecycle.d.ts +37 -0
  97. package/dist_ts/interfaces.lifecycle.js +2 -0
  98. package/dist_ts/interfaces.opencode.d.ts +101 -0
  99. package/dist_ts/interfaces.opencode.js +3 -0
  100. package/dist_ts/interfaces.projects.d.ts +156 -0
  101. package/dist_ts/interfaces.projects.js +5 -0
  102. package/dist_ts/plugins.d.ts +36 -0
  103. package/dist_ts/plugins.js +40 -0
  104. package/dist_ts_interfaces/index.d.ts +2 -0
  105. package/dist_ts_interfaces/index.js +3 -0
  106. package/dist_ts_interfaces/interfaces.d.ts +747 -0
  107. package/dist_ts_interfaces/interfaces.js +47 -0
  108. package/dist_ts_interfaces/plugins.d.ts +4 -0
  109. package/dist_ts_interfaces/plugins.js +3 -0
  110. package/dist_ts_interfaces/requests.d.ts +806 -0
  111. package/dist_ts_interfaces/requests.js +2 -0
  112. package/dist_ts_migration/classes.documentmigrationrunner.d.ts +8 -0
  113. package/dist_ts_migration/classes.documentmigrationrunner.js +24 -0
  114. package/dist_ts_migration/classes.flexmigrationrunner.d.ts +11 -0
  115. package/dist_ts_migration/classes.flexmigrationrunner.js +25 -0
  116. package/dist_ts_migration/classes.flexpostharnessmigrationrunner.d.ts +10 -0
  117. package/dist_ts_migration/classes.flexpostharnessmigrationrunner.js +15 -0
  118. package/dist_ts_migration/classes.migrationrunner.d.ts +8 -0
  119. package/dist_ts_migration/classes.migrationrunner.js +34 -0
  120. package/dist_ts_migration/index.d.ts +12 -0
  121. package/dist_ts_migration/index.js +13 -0
  122. package/dist_ts_migration/v10_flexharnessv3migration.d.ts +11 -0
  123. package/dist_ts_migration/v10_flexharnessv3migration.js +23 -0
  124. package/dist_ts_migration/v13_flexprojectionorder.d.ts +11 -0
  125. package/dist_ts_migration/v13_flexprojectionorder.js +23 -0
  126. package/dist_ts_migration/v16_flexprovidercredentials.d.ts +22 -0
  127. package/dist_ts_migration/v16_flexprovidercredentials.js +149 -0
  128. package/dist_ts_migration/v18_resourcelayout.d.ts +22 -0
  129. package/dist_ts_migration/v18_resourcelayout.js +23 -0
  130. package/dist_ts_migration/v18_resourcelayoutmigration.d.ts +6 -0
  131. package/dist_ts_migration/v18_resourcelayoutmigration.js +61 -0
  132. package/dist_ts_migration/v19_flexprojectmanagement.d.ts +11 -0
  133. package/dist_ts_migration/v19_flexprojectmanagement.js +21 -0
  134. package/dist_ts_migration/v1_embeddeddatabaselocation.d.ts +28 -0
  135. package/dist_ts_migration/v1_embeddeddatabaselocation.js +415 -0
  136. package/dist_ts_migration/v22_projectfilesystemidentitymigration.d.ts +7 -0
  137. package/dist_ts_migration/v22_projectfilesystemidentitymigration.js +105 -0
  138. package/dist_ts_migration/v2_controllerdataroot.d.ts +130 -0
  139. package/dist_ts_migration/v2_controllerdataroot.js +1887 -0
  140. package/dist_ts_migration/v6_protocoldocumentmigration.d.ts +7 -0
  141. package/dist_ts_migration/v6_protocoldocumentmigration.js +100 -0
  142. package/dist_ts_migration/v6_protocoldocuments.d.ts +7 -0
  143. package/dist_ts_migration/v6_protocoldocuments.js +138 -0
  144. package/html/index.html +13 -0
  145. package/{LICENSE → license.md} +2 -2
  146. package/package.json +86 -48
  147. package/readme.md +480 -0
  148. package/readme.plan.md +188 -0
  149. package/ts/00_commitinfo_data.ts +8 -0
  150. package/ts/classes.authmodels.ts +1245 -0
  151. package/ts/classes.authstore.ts +3274 -0
  152. package/ts/classes.browserresourcehost.ts +1205 -0
  153. package/ts/classes.cli.ts +1254 -0
  154. package/ts/classes.config.ts +351 -0
  155. package/ts/classes.controller.ts +14426 -0
  156. package/ts/classes.controllermanagement.ts +330 -0
  157. package/ts/classes.draftmanager.ts +232 -0
  158. package/ts/classes.embeddeddb.ts +166 -0
  159. package/ts/classes.flexframedtransport.ts +283 -0
  160. package/ts/classes.flexmodels.private.ts +823 -0
  161. package/ts/classes.flexmodels.public.ts +732 -0
  162. package/ts/classes.flexprojectionreader.ts +816 -0
  163. package/ts/classes.flexservice.ts +4302 -0
  164. package/ts/classes.flexstore.ts +4565 -0
  165. package/ts/classes.flexsupervisor.ts +1453 -0
  166. package/ts/classes.gitreversion.ts +13353 -0
  167. package/ts/classes.harnessoperationmanager.ts +870 -0
  168. package/ts/classes.opencodeclient.ts +4110 -0
  169. package/ts/classes.opencodesupervisor.ts +1280 -0
  170. package/ts/classes.passkeymanager.ts +570 -0
  171. package/ts/classes.processinspection.ts +623 -0
  172. package/ts/classes.resourcecoordinator.ts +436 -0
  173. package/ts/classes.sessionintelligencereader.ts +52 -0
  174. package/ts/classes.systemmetricssampler.ts +215 -0
  175. package/ts/classes.terminalmanager.ts +1207 -0
  176. package/ts/classes.terminalresourcehost.ts +122 -0
  177. package/ts/classes.upgradecoordinator.ts +2675 -0
  178. package/ts/classes.upgradetransaction.ts +2900 -0
  179. package/ts/classes.uploadmanager.ts +240 -0
  180. package/ts/classes.validation.ts +1409 -0
  181. package/ts/flexharness.child.ts +35 -0
  182. package/ts/functions.canonicaldirectory.ts +213 -0
  183. package/ts/functions.controllerdataroot.ts +107 -0
  184. package/ts/functions.embeddeddb.ts +22 -0
  185. package/ts/functions.flexcredentialstore.ts +128 -0
  186. package/ts/functions.opencodeauth.ts +34 -0
  187. package/ts/functions.runtimeenvironment.ts +90 -0
  188. package/ts/functions.upgradefollower.ts +115 -0
  189. package/ts/index.ts +36 -6
  190. package/ts/interfaces.auth.ts +316 -0
  191. package/ts/interfaces.config.ts +37 -0
  192. package/ts/interfaces.flexipc.ts +2586 -0
  193. package/ts/interfaces.gitreversion.ts +336 -0
  194. package/ts/interfaces.lifecycle.ts +46 -0
  195. package/ts/interfaces.opencode.ts +153 -0
  196. package/ts/interfaces.projects.ts +182 -0
  197. package/ts/plugins.ts +64 -0
  198. package/ts_interfaces/index.ts +2 -0
  199. package/ts_interfaces/interfaces.ts +827 -0
  200. package/ts_interfaces/plugins.ts +15 -0
  201. package/ts_interfaces/requests.ts +1186 -0
  202. package/ts_migration/classes.documentmigrationrunner.ts +32 -0
  203. package/ts_migration/classes.flexmigrationrunner.ts +33 -0
  204. package/ts_migration/classes.flexpostharnessmigrationrunner.ts +22 -0
  205. package/ts_migration/classes.migrationrunner.ts +40 -0
  206. package/ts_migration/index.ts +12 -0
  207. package/ts_migration/v10_flexharnessv3migration.ts +35 -0
  208. package/ts_migration/v13_flexprojectionorder.ts +33 -0
  209. package/ts_migration/v16_flexprovidercredentials.ts +196 -0
  210. package/ts_migration/v18_resourcelayout.ts +55 -0
  211. package/ts_migration/v18_resourcelayoutmigration.ts +68 -0
  212. package/ts_migration/v19_flexprojectmanagement.ts +28 -0
  213. package/ts_migration/v1_embeddeddatabaselocation.ts +560 -0
  214. package/ts_migration/v22_projectfilesystemidentitymigration.ts +121 -0
  215. package/ts_migration/v2_controllerdataroot.ts +2349 -0
  216. package/ts_migration/v6_protocoldocumentmigration.ts +144 -0
  217. package/ts_migration/v6_protocoldocuments.ts +198 -0
  218. package/ts_web/00_commitinfo_data.ts +8 -0
  219. package/ts_web/classes.controllersocketclient.ts +517 -0
  220. package/ts_web/classes.sessiondraftsync.ts +390 -0
  221. package/ts_web/elements.harnesscontrollerapp.ts +11494 -0
  222. package/ts_web/index.ts +2 -0
  223. package/ts_web/plugins.ts +31 -0
  224. package/.gitlab-ci.yml +0 -71
  225. package/.npmignore +0 -5
  226. package/README.md +0 -40
  227. package/dist/cli.js +0 -2
  228. package/dist/index.d.ts +0 -0
  229. package/dist/index.js +0 -9
  230. package/dist/mod_bundle/index.d.ts +0 -1
  231. package/dist/mod_bundle/index.js +0 -18
  232. package/dist/mod_bundle/mod.plugins.d.ts +0 -4
  233. package/dist/mod_bundle/mod.plugins.js +0 -11
  234. package/dist/mod_install/index.d.ts +0 -4
  235. package/dist/mod_install/index.js +0 -21
  236. package/dist/mod_install/mod.plugins.d.ts +0 -1
  237. package/dist/mod_install/mod.plugins.js +0 -7
  238. package/dist/mod_standard/index.d.ts +0 -4
  239. package/dist/mod_standard/index.js +0 -21
  240. package/dist/mod_standard/mod.browser.d.ts +0 -6
  241. package/dist/mod_standard/mod.browser.js +0 -14
  242. package/dist/mod_standard/mod.clean.d.ts +0 -4
  243. package/dist/mod_standard/mod.clean.js +0 -12
  244. package/dist/mod_standard/mod.compile.d.ts +0 -4
  245. package/dist/mod_standard/mod.compile.js +0 -21
  246. package/dist/mod_standard/mod.plugins.d.ts +0 -8
  247. package/dist/mod_standard/mod.plugins.js +0 -19
  248. package/dist/mod_standard/mod.test.d.ts +0 -4
  249. package/dist/mod_standard/mod.test.js +0 -12
  250. package/dist/plr.cli.d.ts +0 -3
  251. package/dist/plr.cli.js +0 -57
  252. package/dist/plr.config.d.ts +0 -11
  253. package/dist/plr.config.js +0 -26
  254. package/dist/plr.mods.d.ts +0 -17
  255. package/dist/plr.mods.js +0 -17
  256. package/dist/plr.paths.d.ts +0 -19
  257. package/dist/plr.paths.js +0 -26
  258. package/dist/plr.plugins.d.ts +0 -8
  259. package/dist/plr.plugins.js +0 -16
  260. package/npmextra.json +0 -10
  261. package/ts/mod_bundle/index.ts +0 -20
  262. package/ts/mod_bundle/mod.plugins.ts +0 -9
  263. package/ts/mod_install/index.ts +0 -20
  264. package/ts/mod_install/mod.plugins.ts +0 -1
  265. package/ts/mod_standard/index.ts +0 -23
  266. package/ts/mod_standard/mod.browser.ts +0 -17
  267. package/ts/mod_standard/mod.clean.ts +0 -13
  268. package/ts/mod_standard/mod.compile.ts +0 -23
  269. package/ts/mod_standard/mod.plugins.ts +0 -17
  270. package/ts/mod_standard/mod.test.ts +0 -13
  271. package/ts/plr.cli.ts +0 -60
  272. package/ts/plr.config.ts +0 -36
  273. package/ts/plr.mods.ts +0 -25
  274. package/ts/plr.paths.ts +0 -29
  275. package/ts/plr.plugins.ts +0 -17
  276. package/tslint.json +0 -3
  277. package/yarn.lock +0 -3464
@@ -0,0 +1,1186 @@
1
+ import * as plugins from './plugins.js';
2
+ import type {
3
+ IControllerEvent,
4
+ IControllerMessageBundle,
5
+ IControllerMessagePage,
6
+ TControllerModelChoice,
7
+ TControllerModelOption,
8
+ IControllerPathSuggestion,
9
+ IControllerProject,
10
+ TControllerResource,
11
+ TControllerResourceKind,
12
+ IControllerBrowserViewState,
13
+ TControllerBrowserViewEvent,
14
+ TControllerBrowserViewOperation,
15
+ IControllerProvider,
16
+ IControllerProviderAccountRateLimits,
17
+ IControllerProviderConnection,
18
+ IControllerProviderLogin,
19
+ IControllerModelRefreshJob,
20
+ IControllerRuntimeId,
21
+ IControllerSession,
22
+ IControllerSessionDraft,
23
+ IControllerDraftAttachment,
24
+ IControllerSessionGroup,
25
+ IControllerSessionLayout,
26
+ IControllerTerminal,
27
+ TControllerTerminalId,
28
+ IControllerSlashListResult,
29
+ TControllerSlashExecuteResult,
30
+ IControllerSessionDetail,
31
+ IControllerSessionAuxiliary,
32
+ IControllerSessionScratchpad,
33
+ IControllerIntelligenceExchange,
34
+ IControllerSettings,
35
+ IControllerStatus,
36
+ IControllerSystemMetrics,
37
+ TControllerAuthState,
38
+ TControllerPermissionReply,
39
+ TControllerSessionHarnessId,
40
+ TControllerSessionId,
41
+ } from './interfaces.js';
42
+
43
+ export interface IReq_ControllerStatus extends plugins.typedrequestInterfaces.implementsTR<
44
+ plugins.typedrequestInterfaces.ITypedRequest,
45
+ IReq_ControllerStatus
46
+ > {
47
+ method: 'controller.status';
48
+ request: Record<string, never>;
49
+ response: IControllerStatus;
50
+ }
51
+
52
+ export interface IReq_ControllerUpgradeLaunch extends plugins.typedrequestInterfaces.implementsTR<
53
+ plugins.typedrequestInterfaces.ITypedRequest,
54
+ IReq_ControllerUpgradeLaunch
55
+ > {
56
+ method: 'controller.upgrade.launch';
57
+ request: {
58
+ /** One-time 256-bit launch grant created by the local management CLI. */
59
+ token: string;
60
+ };
61
+ response: {
62
+ accepted: true;
63
+ workerPid: number;
64
+ logFilePath: string;
65
+ };
66
+ }
67
+
68
+ export interface IReq_ControllerUpgradePrepare extends plugins.typedrequestInterfaces.implementsTR<
69
+ plugins.typedrequestInterfaces.ITypedRequest,
70
+ IReq_ControllerUpgradePrepare
71
+ > {
72
+ method: 'controller.upgrade.prepare';
73
+ request: {
74
+ token: string;
75
+ targetVersion: string;
76
+ gracePeriodMs: number;
77
+ };
78
+ response: {
79
+ prepared: true;
80
+ sessionCount: number;
81
+ };
82
+ }
83
+
84
+ export interface IReq_ControllerUpgradePrepareBegin extends plugins.typedrequestInterfaces.implementsTR<
85
+ plugins.typedrequestInterfaces.ITypedRequest,
86
+ IReq_ControllerUpgradePrepareBegin
87
+ > {
88
+ method: 'controller.upgrade.prepare.begin';
89
+ request: {
90
+ token: string;
91
+ targetVersion: string;
92
+ gracePeriodMs: number;
93
+ };
94
+ response: {
95
+ accepted: true;
96
+ };
97
+ }
98
+
99
+ export interface IReq_ControllerUpgradeFinalize extends plugins.typedrequestInterfaces.implementsTR<
100
+ plugins.typedrequestInterfaces.ITypedRequest,
101
+ IReq_ControllerUpgradeFinalize
102
+ > {
103
+ method: 'controller.upgrade.finalize';
104
+ request: {
105
+ token: string;
106
+ mode: 'continue' | 'compensate' | 'reopen';
107
+ };
108
+ response: {
109
+ finalized: true;
110
+ continued: number;
111
+ failed: number;
112
+ };
113
+ }
114
+
115
+ export interface IReq_ControllerSystemMetrics extends plugins.typedrequestInterfaces.implementsTR<
116
+ plugins.typedrequestInterfaces.ITypedRequest,
117
+ IReq_ControllerSystemMetrics
118
+ > {
119
+ method: 'controller.system.metrics';
120
+ request: Record<string, never>;
121
+ response: IControllerSystemMetrics;
122
+ }
123
+
124
+ export interface IReq_ControllerAuthState extends plugins.typedrequestInterfaces.implementsTR<
125
+ plugins.typedrequestInterfaces.ITypedRequest,
126
+ IReq_ControllerAuthState
127
+ > {
128
+ method: 'controller.auth.state';
129
+ request: Record<string, never>;
130
+ response: {
131
+ state: TControllerAuthState;
132
+ authenticated: boolean;
133
+ setupCodeExpired: boolean;
134
+ };
135
+ }
136
+
137
+ export interface IReq_ControllerSetupBegin extends plugins.typedrequestInterfaces.implementsTR<
138
+ plugins.typedrequestInterfaces.ITypedRequest,
139
+ IReq_ControllerSetupBegin
140
+ > {
141
+ method: 'controller.auth.setup.begin';
142
+ request: {
143
+ setupCode: string;
144
+ };
145
+ response: {
146
+ ceremonyId: string;
147
+ options: plugins.PublicKeyCredentialCreationOptionsJSON;
148
+ };
149
+ }
150
+
151
+ export interface IReq_ControllerSetupFinish extends plugins.typedrequestInterfaces.implementsTR<
152
+ plugins.typedrequestInterfaces.ITypedRequest,
153
+ IReq_ControllerSetupFinish
154
+ > {
155
+ method: 'controller.auth.setup.finish';
156
+ request: {
157
+ ceremonyId: string;
158
+ setupCode: string;
159
+ response: plugins.RegistrationResponseJSON;
160
+ };
161
+ response: {
162
+ authenticated: true;
163
+ /** single-use token to re-authenticate this browser after a reconnect */
164
+ resumeToken: string;
165
+ /** Unix milliseconds; the resume token stops working after this moment */
166
+ resumeExpiresAt: number;
167
+ };
168
+ }
169
+
170
+ export interface IReq_ControllerAuthenticationBegin extends plugins.typedrequestInterfaces.implementsTR<
171
+ plugins.typedrequestInterfaces.ITypedRequest,
172
+ IReq_ControllerAuthenticationBegin
173
+ > {
174
+ method: 'controller.auth.authentication.begin';
175
+ request: Record<string, never>;
176
+ response: {
177
+ ceremonyId: string;
178
+ options: plugins.PublicKeyCredentialRequestOptionsJSON;
179
+ };
180
+ }
181
+
182
+ export interface IReq_ControllerAuthenticationFinish extends plugins.typedrequestInterfaces.implementsTR<
183
+ plugins.typedrequestInterfaces.ITypedRequest,
184
+ IReq_ControllerAuthenticationFinish
185
+ > {
186
+ method: 'controller.auth.authentication.finish';
187
+ request: {
188
+ ceremonyId: string;
189
+ response: plugins.AuthenticationResponseJSON;
190
+ };
191
+ response: {
192
+ authenticated: true;
193
+ /** single-use token to re-authenticate this browser after a reconnect */
194
+ resumeToken: string;
195
+ /** Unix milliseconds; the resume token stops working after this moment */
196
+ resumeExpiresAt: number;
197
+ };
198
+ }
199
+
200
+ export interface IReq_ControllerTempPasswordLogin extends plugins.typedrequestInterfaces.implementsTR<
201
+ plugins.typedrequestInterfaces.ITypedRequest,
202
+ IReq_ControllerTempPasswordLogin
203
+ > {
204
+ method: 'controller.auth.temppassword.login';
205
+ request: {
206
+ password: string;
207
+ };
208
+ response: {
209
+ authenticated: true;
210
+ /** Unix milliseconds; the credential stops working after this moment. */
211
+ expiresAt: number;
212
+ /** single-use token to re-authenticate this browser after a reconnect */
213
+ resumeToken: string;
214
+ /** Unix milliseconds; the resume token stops working after this moment */
215
+ resumeExpiresAt: number;
216
+ };
217
+ }
218
+
219
+ /**
220
+ * Re-authenticates a fresh connection using a resume token minted by a prior
221
+ * login on this browser. Tokens are single-use: a successful resume rotates
222
+ * the token, so a stolen historical token cannot be replayed.
223
+ */
224
+ export interface IReq_ControllerAuthResume extends plugins.typedrequestInterfaces.implementsTR<
225
+ plugins.typedrequestInterfaces.ITypedRequest,
226
+ IReq_ControllerAuthResume
227
+ > {
228
+ method: 'controller.auth.resume';
229
+ request: {
230
+ token: string;
231
+ };
232
+ response: {
233
+ authenticated: true;
234
+ resumeToken: string;
235
+ resumeExpiresAt: number;
236
+ };
237
+ }
238
+
239
+ export interface IReq_ControllerProjectList extends plugins.typedrequestInterfaces.implementsTR<
240
+ plugins.typedrequestInterfaces.ITypedRequest,
241
+ IReq_ControllerProjectList
242
+ > {
243
+ method: 'controller.project.list';
244
+ request: Record<string, never>;
245
+ response: {
246
+ projects: IControllerProject[];
247
+ };
248
+ }
249
+
250
+ export interface IReq_ControllerProjectCreate extends plugins.typedrequestInterfaces.implementsTR<
251
+ plugins.typedrequestInterfaces.ITypedRequest,
252
+ IReq_ControllerProjectCreate
253
+ > {
254
+ method: 'controller.project.create';
255
+ request: {
256
+ /** Existing directory path relative to the projects root; never created. */
257
+ path: string;
258
+ };
259
+ response: {
260
+ project: IControllerProject;
261
+ };
262
+ }
263
+
264
+ export interface IReq_ControllerProjectSuggest extends plugins.typedrequestInterfaces.implementsTR<
265
+ plugins.typedrequestInterfaces.ITypedRequest,
266
+ IReq_ControllerProjectSuggest
267
+ > {
268
+ method: 'controller.project.suggest';
269
+ request: {
270
+ /** Partial relative path being typed; empty lists the root's directories. */
271
+ query: string;
272
+ };
273
+ response: {
274
+ suggestions: IControllerPathSuggestion[];
275
+ };
276
+ }
277
+
278
+ export interface IReq_ControllerProjectRemove extends plugins.typedrequestInterfaces.implementsTR<
279
+ plugins.typedrequestInterfaces.ITypedRequest,
280
+ IReq_ControllerProjectRemove
281
+ > {
282
+ method: 'controller.project.remove';
283
+ request: {
284
+ projectId: string;
285
+ };
286
+ response: {
287
+ success: boolean;
288
+ };
289
+ }
290
+
291
+ export interface IReq_ControllerProviderList extends plugins.typedrequestInterfaces.implementsTR<
292
+ plugins.typedrequestInterfaces.ITypedRequest,
293
+ IReq_ControllerProviderList
294
+ > {
295
+ method: 'controller.provider.list';
296
+ request: Record<string, never>;
297
+ response: {
298
+ providers: IControllerProvider[];
299
+ };
300
+ }
301
+
302
+ export interface IReq_ControllerProviderConnectionList extends plugins.typedrequestInterfaces.implementsTR<
303
+ plugins.typedrequestInterfaces.ITypedRequest,
304
+ IReq_ControllerProviderConnectionList
305
+ > {
306
+ method: 'controller.provider.connection.list';
307
+ request: Record<string, never>;
308
+ response: {
309
+ connections: IControllerProviderConnection[];
310
+ /** False when the response is a persisted read-only snapshot. */
311
+ runtimeAvailable: boolean;
312
+ };
313
+ }
314
+
315
+ export interface IReq_ControllerProviderConnectionActivateOpenCode extends plugins.typedrequestInterfaces.implementsTR<
316
+ plugins.typedrequestInterfaces.ITypedRequest,
317
+ IReq_ControllerProviderConnectionActivateOpenCode
318
+ > {
319
+ method: 'controller.provider.connection.activate-opencode';
320
+ request: {
321
+ providerConnectionId: string;
322
+ };
323
+ response: {
324
+ activated: true;
325
+ pausedSessions: number;
326
+ continuedSessions: number;
327
+ };
328
+ }
329
+
330
+ export interface IReq_ControllerProviderLoginBegin extends plugins.typedrequestInterfaces.implementsTR<
331
+ plugins.typedrequestInterfaces.ITypedRequest,
332
+ IReq_ControllerProviderLoginBegin
333
+ > {
334
+ method: 'controller.provider.login.begin';
335
+ request: {
336
+ providerID: 'openai';
337
+ };
338
+ response: {
339
+ login: IControllerProviderLogin;
340
+ };
341
+ }
342
+
343
+ export interface IReq_ControllerProviderLoginGet extends plugins.typedrequestInterfaces.implementsTR<
344
+ plugins.typedrequestInterfaces.ITypedRequest,
345
+ IReq_ControllerProviderLoginGet
346
+ > {
347
+ method: 'controller.provider.login.get';
348
+ request: {
349
+ loginId: IControllerRuntimeId;
350
+ };
351
+ response: {
352
+ login: IControllerProviderLogin;
353
+ };
354
+ }
355
+
356
+ export interface IReq_ControllerProviderLoginCancel extends plugins.typedrequestInterfaces.implementsTR<
357
+ plugins.typedrequestInterfaces.ITypedRequest,
358
+ IReq_ControllerProviderLoginCancel
359
+ > {
360
+ method: 'controller.provider.login.cancel';
361
+ request: {
362
+ loginId: IControllerRuntimeId;
363
+ };
364
+ response: {
365
+ cancelled: boolean;
366
+ };
367
+ }
368
+
369
+ export interface IReq_ControllerProviderConnectionLogout extends plugins.typedrequestInterfaces.implementsTR<
370
+ plugins.typedrequestInterfaces.ITypedRequest,
371
+ IReq_ControllerProviderConnectionLogout
372
+ > {
373
+ method: 'controller.provider.connection.logout';
374
+ request: {
375
+ providerConnectionId: string;
376
+ };
377
+ response: {
378
+ success: boolean;
379
+ };
380
+ }
381
+
382
+ export interface IReq_ControllerProviderConnectionRateLimitsGet extends plugins.typedrequestInterfaces.implementsTR<
383
+ plugins.typedrequestInterfaces.ITypedRequest,
384
+ IReq_ControllerProviderConnectionRateLimitsGet
385
+ > {
386
+ method: 'controller.provider.connection.ratelimits.get';
387
+ request: {
388
+ providerConnectionId: string;
389
+ };
390
+ response: {
391
+ rateLimits: IControllerProviderAccountRateLimits;
392
+ };
393
+ }
394
+
395
+ export interface IReq_ControllerProviderModelRefreshBegin extends plugins.typedrequestInterfaces.implementsTR<
396
+ plugins.typedrequestInterfaces.ITypedRequest,
397
+ IReq_ControllerProviderModelRefreshBegin
398
+ > {
399
+ method: 'controller.provider.model.refresh.begin';
400
+ request: {
401
+ providerConnectionId: string;
402
+ };
403
+ response: {
404
+ job: IControllerModelRefreshJob;
405
+ };
406
+ }
407
+
408
+ export interface IReq_ControllerProviderModelRefreshGet extends plugins.typedrequestInterfaces.implementsTR<
409
+ plugins.typedrequestInterfaces.ITypedRequest,
410
+ IReq_ControllerProviderModelRefreshGet
411
+ > {
412
+ method: 'controller.provider.model.refresh.get';
413
+ request: {
414
+ jobId: IControllerRuntimeId;
415
+ };
416
+ response: {
417
+ job: IControllerModelRefreshJob;
418
+ };
419
+ }
420
+
421
+ export interface IReq_ControllerModelList extends plugins.typedrequestInterfaces.implementsTR<
422
+ plugins.typedrequestInterfaces.ITypedRequest,
423
+ IReq_ControllerModelList
424
+ > {
425
+ method: 'controller.model.list';
426
+ request: Record<string, never>;
427
+ response: {
428
+ models: TControllerModelOption[];
429
+ };
430
+ }
431
+
432
+ export interface IReq_ControllerSettingsGet extends plugins.typedrequestInterfaces.implementsTR<
433
+ plugins.typedrequestInterfaces.ITypedRequest,
434
+ IReq_ControllerSettingsGet
435
+ > {
436
+ method: 'controller.settings.get';
437
+ request: Record<string, never>;
438
+ response: {
439
+ settings: IControllerSettings;
440
+ /** Default base directory: relative project paths and initial suggestions resolve here. */
441
+ projectsRoot: string;
442
+ };
443
+ }
444
+
445
+ export interface IReq_ControllerSettingsUpdate extends plugins.typedrequestInterfaces.implementsTR<
446
+ plugins.typedrequestInterfaces.ITypedRequest,
447
+ IReq_ControllerSettingsUpdate
448
+ > {
449
+ method: 'controller.settings.update';
450
+ request: {
451
+ /** Full replacement; an empty list clears all defaults. Absent leaves them unchanged. */
452
+ defaultModels?: TControllerModelChoice[];
453
+ /** Absent leaves the auto-accept behavior unchanged. */
454
+ autoAcceptPermissions?: boolean;
455
+ };
456
+ response: {
457
+ settings: IControllerSettings;
458
+ };
459
+ }
460
+
461
+ export interface IReq_ControllerSessionList extends plugins.typedrequestInterfaces.implementsTR<
462
+ plugins.typedrequestInterfaces.ITypedRequest,
463
+ IReq_ControllerSessionList
464
+ > {
465
+ method: 'controller.session.list';
466
+ request: {
467
+ projectId: string;
468
+ };
469
+ response: {
470
+ sessions: IControllerSession[];
471
+ };
472
+ }
473
+
474
+ export interface IReq_ControllerSessionGet extends plugins.typedrequestInterfaces.implementsTR<
475
+ plugins.typedrequestInterfaces.ITypedRequest,
476
+ IReq_ControllerSessionGet
477
+ > {
478
+ method: 'controller.session.get';
479
+ request: {
480
+ projectId: string;
481
+ sessionId: IControllerRuntimeId;
482
+ };
483
+ response: IControllerSessionDetail;
484
+ }
485
+
486
+ export interface IReq_ControllerSessionAuxiliaryGet extends plugins.typedrequestInterfaces.implementsTR<
487
+ plugins.typedrequestInterfaces.ITypedRequest,
488
+ IReq_ControllerSessionAuxiliaryGet
489
+ > {
490
+ method: 'controller.session.auxiliary.get';
491
+ request: {
492
+ projectId: string;
493
+ sessionId: IControllerRuntimeId;
494
+ };
495
+ response: IControllerSessionAuxiliary;
496
+ }
497
+
498
+ export interface IReq_ControllerSessionModelUpdate extends plugins.typedrequestInterfaces.implementsTR<
499
+ plugins.typedrequestInterfaces.ITypedRequest,
500
+ IReq_ControllerSessionModelUpdate
501
+ > {
502
+ method: 'controller.session.model.update';
503
+ request: {
504
+ projectId: string;
505
+ sessionId: IControllerRuntimeId;
506
+ model: TControllerModelChoice;
507
+ };
508
+ response: {
509
+ model: TControllerModelChoice;
510
+ };
511
+ }
512
+
513
+ export interface IReq_ControllerSessionScratchpadSave extends plugins.typedrequestInterfaces.implementsTR<
514
+ plugins.typedrequestInterfaces.ITypedRequest,
515
+ IReq_ControllerSessionScratchpadSave
516
+ > {
517
+ method: 'controller.session.scratchpad.save';
518
+ request: {
519
+ projectId: string;
520
+ sessionId: IControllerRuntimeId;
521
+ text: string;
522
+ expectedRevision: number;
523
+ };
524
+ response: {
525
+ scratchpad: IControllerSessionScratchpad;
526
+ };
527
+ }
528
+
529
+ export interface IReq_ControllerSessionIntelligenceAsk extends plugins.typedrequestInterfaces.implementsTR<
530
+ plugins.typedrequestInterfaces.ITypedRequest,
531
+ IReq_ControllerSessionIntelligenceAsk
532
+ > {
533
+ method: 'controller.session.intelligence.ask';
534
+ request: {
535
+ projectId: string;
536
+ sessionId: IControllerRuntimeId;
537
+ question: string;
538
+ };
539
+ response: {
540
+ exchange: IControllerIntelligenceExchange;
541
+ };
542
+ }
543
+
544
+ export interface IReq_ControllerSessionMessagesPage extends plugins.typedrequestInterfaces.implementsTR<
545
+ plugins.typedrequestInterfaces.ITypedRequest,
546
+ IReq_ControllerSessionMessagesPage
547
+ > {
548
+ method: 'controller.session.messages.page';
549
+ request: {
550
+ projectId: string;
551
+ sessionId: IControllerRuntimeId;
552
+ limit: number;
553
+ /** Opaque harness cursor returned by the previous page. */
554
+ before?: string;
555
+ };
556
+ response: IControllerMessagePage;
557
+ }
558
+
559
+ export interface IReq_ControllerSessionMessageGet extends plugins.typedrequestInterfaces.implementsTR<
560
+ plugins.typedrequestInterfaces.ITypedRequest,
561
+ IReq_ControllerSessionMessageGet
562
+ > {
563
+ method: 'controller.session.message.get';
564
+ request: {
565
+ projectId: string;
566
+ sessionId: IControllerRuntimeId;
567
+ messageId: IControllerRuntimeId;
568
+ };
569
+ response: IControllerMessageBundle;
570
+ }
571
+
572
+ export interface IReq_ControllerSessionCreate extends plugins.typedrequestInterfaces.implementsTR<
573
+ plugins.typedrequestInterfaces.ITypedRequest,
574
+ IReq_ControllerSessionCreate
575
+ > {
576
+ method: 'controller.session.create';
577
+ request: {
578
+ projectId: string;
579
+ harnessId: TControllerSessionHarnessId;
580
+ title?: string;
581
+ /** Initial durable model choice for this session. */
582
+ model?: TControllerModelChoice;
583
+ };
584
+ response: {
585
+ session: IControllerSession;
586
+ };
587
+ }
588
+
589
+ export interface IReq_ControllerSessionDelete extends plugins.typedrequestInterfaces.implementsTR<
590
+ plugins.typedrequestInterfaces.ITypedRequest,
591
+ IReq_ControllerSessionDelete
592
+ > {
593
+ method: 'controller.session.delete';
594
+ request: {
595
+ projectId: string;
596
+ sessionId: IControllerRuntimeId;
597
+ };
598
+ response: {
599
+ success: boolean;
600
+ };
601
+ }
602
+
603
+ export interface IReq_ControllerSessionDiscardEmpty extends plugins.typedrequestInterfaces.implementsTR<
604
+ plugins.typedrequestInterfaces.ITypedRequest,
605
+ IReq_ControllerSessionDiscardEmpty
606
+ > {
607
+ method: 'controller.session.discard-empty';
608
+ request: {
609
+ projectId: string;
610
+ sessionId: IControllerRuntimeId;
611
+ };
612
+ response: {
613
+ discarded: boolean;
614
+ retryable: boolean;
615
+ };
616
+ }
617
+
618
+ export interface IReq_ControllerSessionDraftGet extends plugins.typedrequestInterfaces.implementsTR<
619
+ plugins.typedrequestInterfaces.ITypedRequest,
620
+ IReq_ControllerSessionDraftGet
621
+ > {
622
+ method: 'controller.session.draft.get';
623
+ request: {
624
+ projectId: string;
625
+ sessionId: IControllerRuntimeId;
626
+ };
627
+ response: {
628
+ draft: IControllerSessionDraft;
629
+ };
630
+ }
631
+
632
+ export interface IReq_ControllerSessionDraftUpdate extends plugins.typedrequestInterfaces.implementsTR<
633
+ plugins.typedrequestInterfaces.ITypedRequest,
634
+ IReq_ControllerSessionDraftUpdate
635
+ > {
636
+ method: 'controller.session.draft.update';
637
+ request: {
638
+ projectId: string;
639
+ sessionId: IControllerRuntimeId;
640
+ expectedRevision: number;
641
+ text?: string;
642
+ attachments?: IControllerDraftAttachment[];
643
+ };
644
+ response: {
645
+ draft: IControllerSessionDraft;
646
+ };
647
+ }
648
+
649
+ export interface IReq_ControllerSessionSend extends plugins.typedrequestInterfaces.implementsTR<
650
+ plugins.typedrequestInterfaces.ITypedRequest,
651
+ IReq_ControllerSessionSend
652
+ > {
653
+ method: 'controller.session.send';
654
+ request: {
655
+ projectId: string;
656
+ sessionId: IControllerRuntimeId;
657
+ /** Exact controller-memory draft snapshot to send and conditionally clear. */
658
+ draftRevision: number;
659
+ /** Per-message override; the persisted default applies when absent. */
660
+ model?: TControllerModelChoice;
661
+ };
662
+ response: {
663
+ accepted: true;
664
+ };
665
+ }
666
+
667
+ export interface IReq_ControllerSlashList extends plugins.typedrequestInterfaces.implementsTR<
668
+ plugins.typedrequestInterfaces.ITypedRequest,
669
+ IReq_ControllerSlashList
670
+ > {
671
+ method: 'controller.slash.list';
672
+ request: {
673
+ projectId: string;
674
+ sessionId: IControllerRuntimeId;
675
+ };
676
+ response: IControllerSlashListResult;
677
+ }
678
+
679
+ export interface IReq_ControllerSlashExecute extends plugins.typedrequestInterfaces.implementsTR<
680
+ plugins.typedrequestInterfaces.ITypedRequest,
681
+ IReq_ControllerSlashExecute
682
+ > {
683
+ method: 'controller.slash.execute';
684
+ request: {
685
+ projectId: string;
686
+ sessionId: IControllerRuntimeId;
687
+ draftRevision: number;
688
+ /** Per-message override; a model pinned by the command itself wins. */
689
+ model?: TControllerModelChoice;
690
+ };
691
+ response: {
692
+ accepted: true;
693
+ result: TControllerSlashExecuteResult;
694
+ };
695
+ }
696
+
697
+ export interface IReq_ControllerSessionAbort extends plugins.typedrequestInterfaces.implementsTR<
698
+ plugins.typedrequestInterfaces.ITypedRequest,
699
+ IReq_ControllerSessionAbort
700
+ > {
701
+ method: 'controller.session.abort';
702
+ request: {
703
+ projectId: string;
704
+ sessionId: IControllerRuntimeId;
705
+ };
706
+ response: {
707
+ success: boolean;
708
+ };
709
+ }
710
+
711
+ export interface IReq_ControllerPermissionReply extends plugins.typedrequestInterfaces.implementsTR<
712
+ plugins.typedrequestInterfaces.ITypedRequest,
713
+ IReq_ControllerPermissionReply
714
+ > {
715
+ method: 'controller.permission.reply';
716
+ request: {
717
+ projectId: string;
718
+ sessionId: IControllerRuntimeId;
719
+ requestId: IControllerRuntimeId;
720
+ reply: TControllerPermissionReply;
721
+ message?: string;
722
+ };
723
+ response: {
724
+ success: boolean;
725
+ };
726
+ }
727
+
728
+ export interface IReq_ControllerSessionGroupsGet extends plugins.typedrequestInterfaces.implementsTR<
729
+ plugins.typedrequestInterfaces.ITypedRequest,
730
+ IReq_ControllerSessionGroupsGet
731
+ > {
732
+ method: 'controller.sessiongroups.get';
733
+ request: {
734
+ projectId: string;
735
+ };
736
+ response: IControllerSessionLayout;
737
+ }
738
+
739
+ export interface IReq_ControllerSessionGroupsUpdate extends plugins.typedrequestInterfaces.implementsTR<
740
+ plugins.typedrequestInterfaces.ITypedRequest,
741
+ IReq_ControllerSessionGroupsUpdate
742
+ > {
743
+ method: 'controller.sessiongroups.update';
744
+ request: {
745
+ projectId: string;
746
+ /** Full replacement: the stored group list becomes exactly this. */
747
+ groups: IControllerSessionGroup[];
748
+ /** Omitted by legacy clients; the server then preserves the stored order. */
749
+ ungroupedSessionIds?: TControllerSessionId[];
750
+ /** Omitted by legacy clients; current clients use it for optimistic concurrency. */
751
+ expectedRevision?: number;
752
+ };
753
+ response: IControllerSessionLayout;
754
+ }
755
+
756
+ export interface IReq_ControllerSessionRename extends plugins.typedrequestInterfaces.implementsTR<
757
+ plugins.typedrequestInterfaces.ITypedRequest,
758
+ IReq_ControllerSessionRename
759
+ > {
760
+ method: 'controller.session.rename';
761
+ request: {
762
+ projectId: string;
763
+ sessionId: IControllerRuntimeId;
764
+ title: string;
765
+ };
766
+ response: {
767
+ session: IControllerSession;
768
+ };
769
+ }
770
+
771
+ export interface IReq_ControllerSessionArchive extends plugins.typedrequestInterfaces.implementsTR<
772
+ plugins.typedrequestInterfaces.ITypedRequest,
773
+ IReq_ControllerSessionArchive
774
+ > {
775
+ method: 'controller.session.archive';
776
+ request: {
777
+ projectId: string;
778
+ sessionId: IControllerRuntimeId;
779
+ };
780
+ response: {
781
+ session: IControllerSession;
782
+ };
783
+ }
784
+
785
+ export interface IReq_ControllerQuestionReply extends plugins.typedrequestInterfaces.implementsTR<
786
+ plugins.typedrequestInterfaces.ITypedRequest,
787
+ IReq_ControllerQuestionReply
788
+ > {
789
+ method: 'controller.question.reply';
790
+ request: {
791
+ projectId: string;
792
+ sessionId: IControllerRuntimeId;
793
+ requestId: IControllerRuntimeId;
794
+ /** One answer list per question, in question order; null rejects the request. */
795
+ answers: string[][] | null;
796
+ };
797
+ response: {
798
+ success: boolean;
799
+ };
800
+ }
801
+
802
+ export interface IReq_ControllerSessionYolo extends plugins.typedrequestInterfaces.implementsTR<
803
+ plugins.typedrequestInterfaces.ITypedRequest,
804
+ IReq_ControllerSessionYolo
805
+ > {
806
+ method: 'controller.session.yolo';
807
+ request: {
808
+ projectId: string;
809
+ sessionId: IControllerRuntimeId;
810
+ /** True auto-accepts every permission request of this chat until disabled or restart. */
811
+ enabled: boolean;
812
+ };
813
+ response: {
814
+ enabled: boolean;
815
+ };
816
+ }
817
+
818
+ export interface IReq_ControllerTerminalList extends plugins.typedrequestInterfaces.implementsTR<
819
+ plugins.typedrequestInterfaces.ITypedRequest,
820
+ IReq_ControllerTerminalList
821
+ > {
822
+ method: 'controller.terminal.list';
823
+ request: {
824
+ projectId: string;
825
+ };
826
+ response: {
827
+ terminals: IControllerTerminal[];
828
+ };
829
+ }
830
+
831
+ export interface IReq_ControllerResourceList extends plugins.typedrequestInterfaces.implementsTR<
832
+ plugins.typedrequestInterfaces.ITypedRequest,
833
+ IReq_ControllerResourceList
834
+ > {
835
+ method: 'controller.resource.list';
836
+ request: { projectId: string };
837
+ response: { resources: TControllerResource[] };
838
+ }
839
+
840
+ export interface IReq_ControllerResourceCreate extends plugins.typedrequestInterfaces.implementsTR<
841
+ plugins.typedrequestInterfaces.ITypedRequest,
842
+ IReq_ControllerResourceCreate
843
+ > {
844
+ method: 'controller.resource.create';
845
+ request: {
846
+ projectId: string;
847
+ kind: TControllerResourceKind;
848
+ title?: string;
849
+ };
850
+ response: { resource: TControllerResource };
851
+ }
852
+
853
+ export interface IReq_ControllerResourceRename extends plugins.typedrequestInterfaces.implementsTR<
854
+ plugins.typedrequestInterfaces.ITypedRequest,
855
+ IReq_ControllerResourceRename
856
+ > {
857
+ method: 'controller.resource.rename';
858
+ request: { projectId: string; resourceId: string; title: string };
859
+ response: { resource: TControllerResource };
860
+ }
861
+
862
+ export interface IReq_ControllerResourceAttach extends plugins.typedrequestInterfaces.implementsTR<
863
+ plugins.typedrequestInterfaces.ITypedRequest,
864
+ IReq_ControllerResourceAttach
865
+ > {
866
+ method: 'controller.resource.attach';
867
+ request: {
868
+ projectId: string;
869
+ resourceId: string;
870
+ sessionId: TControllerSessionId;
871
+ expectedAttachmentRevision: number;
872
+ };
873
+ response: { resource: TControllerResource };
874
+ }
875
+
876
+ export interface IReq_ControllerResourceDetach extends plugins.typedrequestInterfaces.implementsTR<
877
+ plugins.typedrequestInterfaces.ITypedRequest,
878
+ IReq_ControllerResourceDetach
879
+ > {
880
+ method: 'controller.resource.detach';
881
+ request: {
882
+ projectId: string;
883
+ resourceId: string;
884
+ expectedAttachmentRevision: number;
885
+ };
886
+ response: { resource: TControllerResource };
887
+ }
888
+
889
+ export interface IReq_ControllerResourceRetire extends plugins.typedrequestInterfaces.implementsTR<
890
+ plugins.typedrequestInterfaces.ITypedRequest,
891
+ IReq_ControllerResourceRetire
892
+ > {
893
+ method: 'controller.resource.retire';
894
+ request: { projectId: string; resourceId: string };
895
+ response: { retired: true };
896
+ }
897
+
898
+ export interface IReq_ControllerResourceStart extends plugins.typedrequestInterfaces.implementsTR<
899
+ plugins.typedrequestInterfaces.ITypedRequest,
900
+ IReq_ControllerResourceStart
901
+ > {
902
+ method: 'controller.resource.start';
903
+ request: { projectId: string; resourceId: string };
904
+ response: { resource: TControllerResource };
905
+ }
906
+
907
+ export interface IReq_ControllerResourceStop extends plugins.typedrequestInterfaces.implementsTR<
908
+ plugins.typedrequestInterfaces.ITypedRequest,
909
+ IReq_ControllerResourceStop
910
+ > {
911
+ method: 'controller.resource.stop';
912
+ request: { projectId: string; resourceId: string };
913
+ response: { resource: TControllerResource };
914
+ }
915
+
916
+ export interface IReq_ControllerBrowserViewOpen extends plugins.typedrequestInterfaces.implementsTR<
917
+ plugins.typedrequestInterfaces.ITypedRequest,
918
+ IReq_ControllerBrowserViewOpen
919
+ > {
920
+ method: 'controller.browser.view.open';
921
+ request: {
922
+ projectId: string;
923
+ resourceId: string;
924
+ expectedAttachmentRevision: number;
925
+ };
926
+ response: {
927
+ viewId: string;
928
+ resourceId: string;
929
+ attachmentRevision: number;
930
+ state: IControllerBrowserViewState;
931
+ };
932
+ }
933
+
934
+ export interface IReq_ControllerBrowserViewActivate extends plugins.typedrequestInterfaces.implementsTR<
935
+ plugins.typedrequestInterfaces.ITypedRequest,
936
+ IReq_ControllerBrowserViewActivate
937
+ > {
938
+ method: 'controller.browser.view.activate';
939
+ request: { viewId: string };
940
+ response: { activated: true };
941
+ }
942
+
943
+ export interface IReq_ControllerBrowserViewClose extends plugins.typedrequestInterfaces.implementsTR<
944
+ plugins.typedrequestInterfaces.ITypedRequest,
945
+ IReq_ControllerBrowserViewClose
946
+ > {
947
+ method: 'controller.browser.view.close';
948
+ request: { viewId: string };
949
+ response: { closed: true };
950
+ }
951
+
952
+ export interface IReq_ControllerBrowserViewOperate extends plugins.typedrequestInterfaces.implementsTR<
953
+ plugins.typedrequestInterfaces.ITypedRequest,
954
+ IReq_ControllerBrowserViewOperate
955
+ > {
956
+ method: 'controller.browser.view.operate';
957
+ request: { viewId: string; operation: TControllerBrowserViewOperation };
958
+ response: { accepted: boolean; state: IControllerBrowserViewState };
959
+ }
960
+
961
+ /** Server to client push for one exact human browser view. */
962
+ export interface IReq_ControllerBrowserViewEvent extends plugins.typedrequestInterfaces.implementsTR<
963
+ plugins.typedrequestInterfaces.ITypedRequest,
964
+ IReq_ControllerBrowserViewEvent
965
+ > {
966
+ method: 'controller.browser.view.event';
967
+ request: {
968
+ viewId: string;
969
+ resourceId: string;
970
+ attachmentRevision: number;
971
+ event: TControllerBrowserViewEvent<'send'>;
972
+ };
973
+ response: Record<string, never>;
974
+ }
975
+
976
+ export interface IReq_ControllerTerminalCreate extends plugins.typedrequestInterfaces.implementsTR<
977
+ plugins.typedrequestInterfaces.ITypedRequest,
978
+ IReq_ControllerTerminalCreate
979
+ > {
980
+ method: 'controller.terminal.create';
981
+ request: {
982
+ projectId: string;
983
+ /** Display title; defaults to a shell-derived name. */
984
+ title?: string;
985
+ };
986
+ response: {
987
+ terminal: IControllerTerminal;
988
+ };
989
+ }
990
+
991
+ export interface IReq_ControllerTerminalRename extends plugins.typedrequestInterfaces.implementsTR<
992
+ plugins.typedrequestInterfaces.ITypedRequest,
993
+ IReq_ControllerTerminalRename
994
+ > {
995
+ method: 'controller.terminal.rename';
996
+ request: {
997
+ projectId: string;
998
+ terminalId: TControllerTerminalId;
999
+ title: string;
1000
+ };
1001
+ response: {
1002
+ terminal: IControllerTerminal;
1003
+ };
1004
+ }
1005
+
1006
+ export interface IReq_ControllerTerminalRemove extends plugins.typedrequestInterfaces.implementsTR<
1007
+ plugins.typedrequestInterfaces.ITypedRequest,
1008
+ IReq_ControllerTerminalRemove
1009
+ > {
1010
+ method: 'controller.terminal.remove';
1011
+ request: {
1012
+ projectId: string;
1013
+ terminalId: TControllerTerminalId;
1014
+ };
1015
+ response: {
1016
+ success: boolean;
1017
+ };
1018
+ }
1019
+
1020
+ export interface IReq_ControllerTerminalAttach extends plugins.typedrequestInterfaces.implementsTR<
1021
+ plugins.typedrequestInterfaces.ITypedRequest,
1022
+ IReq_ControllerTerminalAttach
1023
+ > {
1024
+ method: 'controller.terminal.attach';
1025
+ request: {
1026
+ projectId: string;
1027
+ terminalId: TControllerTerminalId;
1028
+ };
1029
+ response: {
1030
+ success: boolean;
1031
+ };
1032
+ }
1033
+
1034
+ export interface IReq_ControllerTerminalDetach extends plugins.typedrequestInterfaces.implementsTR<
1035
+ plugins.typedrequestInterfaces.ITypedRequest,
1036
+ IReq_ControllerTerminalDetach
1037
+ > {
1038
+ method: 'controller.terminal.detach';
1039
+ request: {
1040
+ projectId: string;
1041
+ terminalId: TControllerTerminalId;
1042
+ };
1043
+ response: {
1044
+ success: boolean;
1045
+ };
1046
+ }
1047
+
1048
+ export interface IReq_ControllerTerminalInput extends plugins.typedrequestInterfaces.implementsTR<
1049
+ plugins.typedrequestInterfaces.ITypedRequest,
1050
+ IReq_ControllerTerminalInput
1051
+ > {
1052
+ method: 'controller.terminal.input';
1053
+ request: {
1054
+ projectId: string;
1055
+ terminalId: TControllerTerminalId;
1056
+ /** Base64-encoded UTF-8 keystroke bytes. */
1057
+ dataBase64: string;
1058
+ };
1059
+ response: {
1060
+ success: boolean;
1061
+ };
1062
+ }
1063
+
1064
+ export interface IReq_ControllerTerminalResize extends plugins.typedrequestInterfaces.implementsTR<
1065
+ plugins.typedrequestInterfaces.ITypedRequest,
1066
+ IReq_ControllerTerminalResize
1067
+ > {
1068
+ method: 'controller.terminal.resize';
1069
+ request: {
1070
+ projectId: string;
1071
+ terminalId: TControllerTerminalId;
1072
+ rows: number;
1073
+ cols: number;
1074
+ };
1075
+ response: {
1076
+ success: boolean;
1077
+ };
1078
+ }
1079
+
1080
+ /** Server→client push: raw PTY output for a terminal the client may be viewing. */
1081
+ export interface IReq_ControllerTerminalOutput extends plugins.typedrequestInterfaces.implementsTR<
1082
+ plugins.typedrequestInterfaces.ITypedRequest,
1083
+ IReq_ControllerTerminalOutput
1084
+ > {
1085
+ method: 'controller.terminal.output';
1086
+ request: {
1087
+ terminalId: TControllerTerminalId;
1088
+ /** Base64-encoded raw output bytes; empty for pure control frames. */
1089
+ dataBase64: string;
1090
+ /** This chunk starts a fresh replay: reset the screen before writing. */
1091
+ reset?: boolean;
1092
+ /** The PTY ended; no further output follows. */
1093
+ ended?: boolean;
1094
+ };
1095
+ response: Record<string, never>;
1096
+ }
1097
+
1098
+ export interface IReq_ControllerEvent extends plugins.typedrequestInterfaces.implementsTR<
1099
+ plugins.typedrequestInterfaces.ITypedRequest,
1100
+ IReq_ControllerEvent
1101
+ > {
1102
+ method: 'controller.event';
1103
+ request: IControllerEvent;
1104
+ response: {
1105
+ received: true;
1106
+ };
1107
+ }
1108
+
1109
+ export type TControllerRequest =
1110
+ | IReq_ControllerStatus
1111
+ | IReq_ControllerUpgradeLaunch
1112
+ | IReq_ControllerUpgradePrepare
1113
+ | IReq_ControllerUpgradePrepareBegin
1114
+ | IReq_ControllerUpgradeFinalize
1115
+ | IReq_ControllerSystemMetrics
1116
+ | IReq_ControllerAuthState
1117
+ | IReq_ControllerSetupBegin
1118
+ | IReq_ControllerSetupFinish
1119
+ | IReq_ControllerAuthenticationBegin
1120
+ | IReq_ControllerAuthenticationFinish
1121
+ | IReq_ControllerTempPasswordLogin
1122
+ | IReq_ControllerAuthResume
1123
+ | IReq_ControllerProjectList
1124
+ | IReq_ControllerProjectCreate
1125
+ | IReq_ControllerProjectRemove
1126
+ | IReq_ControllerProjectSuggest
1127
+ | IReq_ControllerProviderList
1128
+ | IReq_ControllerProviderConnectionList
1129
+ | IReq_ControllerProviderConnectionActivateOpenCode
1130
+ | IReq_ControllerProviderLoginBegin
1131
+ | IReq_ControllerProviderLoginGet
1132
+ | IReq_ControllerProviderLoginCancel
1133
+ | IReq_ControllerProviderConnectionLogout
1134
+ | IReq_ControllerProviderConnectionRateLimitsGet
1135
+ | IReq_ControllerProviderModelRefreshBegin
1136
+ | IReq_ControllerProviderModelRefreshGet
1137
+ | IReq_ControllerSlashList
1138
+ | IReq_ControllerSlashExecute
1139
+ | IReq_ControllerModelList
1140
+ | IReq_ControllerSettingsGet
1141
+ | IReq_ControllerSettingsUpdate
1142
+ | IReq_ControllerSessionList
1143
+ | IReq_ControllerSessionGet
1144
+ | IReq_ControllerSessionAuxiliaryGet
1145
+ | IReq_ControllerSessionModelUpdate
1146
+ | IReq_ControllerSessionScratchpadSave
1147
+ | IReq_ControllerSessionIntelligenceAsk
1148
+ | IReq_ControllerSessionMessagesPage
1149
+ | IReq_ControllerSessionMessageGet
1150
+ | IReq_ControllerSessionCreate
1151
+ | IReq_ControllerSessionDelete
1152
+ | IReq_ControllerSessionDiscardEmpty
1153
+ | IReq_ControllerSessionDraftGet
1154
+ | IReq_ControllerSessionDraftUpdate
1155
+ | IReq_ControllerSessionSend
1156
+ | IReq_ControllerSessionAbort
1157
+ | IReq_ControllerPermissionReply
1158
+ | IReq_ControllerQuestionReply
1159
+ | IReq_ControllerSessionRename
1160
+ | IReq_ControllerSessionArchive
1161
+ | IReq_ControllerSessionGroupsGet
1162
+ | IReq_ControllerSessionGroupsUpdate
1163
+ | IReq_ControllerSessionYolo
1164
+ | IReq_ControllerResourceList
1165
+ | IReq_ControllerResourceCreate
1166
+ | IReq_ControllerResourceRename
1167
+ | IReq_ControllerResourceAttach
1168
+ | IReq_ControllerResourceDetach
1169
+ | IReq_ControllerResourceRetire
1170
+ | IReq_ControllerResourceStart
1171
+ | IReq_ControllerResourceStop
1172
+ | IReq_ControllerBrowserViewOpen
1173
+ | IReq_ControllerBrowserViewActivate
1174
+ | IReq_ControllerBrowserViewClose
1175
+ | IReq_ControllerBrowserViewOperate
1176
+ | IReq_ControllerTerminalList
1177
+ | IReq_ControllerTerminalCreate
1178
+ | IReq_ControllerTerminalRename
1179
+ | IReq_ControllerTerminalRemove
1180
+ | IReq_ControllerTerminalAttach
1181
+ | IReq_ControllerTerminalDetach
1182
+ | IReq_ControllerTerminalInput
1183
+ | IReq_ControllerTerminalResize
1184
+ | IReq_ControllerTerminalOutput
1185
+ | IReq_ControllerBrowserViewEvent
1186
+ | IReq_ControllerEvent;