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,182 @@
1
+ import type {
2
+ IControllerRuntimeId,
3
+ TControllerResourceKind,
4
+ TControllerSessionId,
5
+ TControllerModelChoice,
6
+ IControllerSessionGroup,
7
+ TControllerScratchpadUpdater,
8
+ TControllerIntelligenceStatus,
9
+ IControllerIntelligenceExchange,
10
+ IControllerSessionScratchpad,
11
+ } from '../ts_interfaces/index.js';
12
+ import type * as plugins from './plugins.js';
13
+
14
+ export const controllerProjectLimit = 512;
15
+ export const controllerResourceLimit = 4096;
16
+ export const controllerResourcesPerProjectLimit = 64;
17
+ export const controllerFilesystemIdentityMaximumComponents = 512;
18
+
19
+ export type TControllerFilesystemObjectType = 'directory' | 'file';
20
+
21
+ export interface IControllerFilesystemIdentityComponent {
22
+ device: string;
23
+ inode: string;
24
+ type: TControllerFilesystemObjectType;
25
+ }
26
+
27
+ export interface IControllerFilesystemIdentity {
28
+ /** Ordered filesystem identities from the filesystem root through the target. */
29
+ ancestry: IControllerFilesystemIdentityComponent[];
30
+ }
31
+
32
+ export interface IControllerProjectFilesystemIdentity extends IControllerFilesystemIdentity {}
33
+
34
+ export interface IControllerPersistedSessionGroup {
35
+ id: string;
36
+ name: string;
37
+ sessionIds: TControllerSessionId[];
38
+ }
39
+
40
+ export interface IControllerProjectDocument {
41
+ /** 16-byte base64url identifier. */
42
+ id: string;
43
+ /** `controller:<port>` owner scope. */
44
+ controllerId: string;
45
+ /** Directory name under the projects root; doubles as display name. */
46
+ name: string;
47
+ /** Absolute resolved path of the project worktree. */
48
+ directory: string;
49
+ /** Legacy projects that could not be verified during migration remain permanently unbound. */
50
+ directoryIdentityState: 'bound' | 'unbound';
51
+ /** Complete root-to-project filesystem ancestry, present only while bound. */
52
+ directoryIdentity?: IControllerProjectFilesystemIdentity;
53
+ createdAt: Date;
54
+ /** Durable write-before-cleanup intent; startup resumes this removal. */
55
+ removalStartedAt?: Date;
56
+ /** Tombstone: set when the project is deregistered; files stay untouched. */
57
+ removedAt?: Date;
58
+ }
59
+
60
+ export interface IControllerSessionGroupsDocument {
61
+ /** `${controllerId}:groups:${projectId}` — one persisted session layout per project. */
62
+ id: string;
63
+ controllerId: string;
64
+ projectId: string;
65
+ groups: IControllerPersistedSessionGroup[];
66
+ /** Present with revision; both are absent on legacy documents. */
67
+ ungroupedSessionIds?: TControllerSessionId[];
68
+ /** Present with ungroupedSessionIds; legacy documents are interpreted as revision zero. */
69
+ revision?: number;
70
+ }
71
+
72
+ export interface IControllerPendingResourceAttachment {
73
+ operationId: string;
74
+ attachmentRevision: number;
75
+ sessionId: TControllerSessionId | null;
76
+ requestedAt: Date;
77
+ }
78
+
79
+ export interface IControllerTerminalResourceMetadata {
80
+ command: string;
81
+ args: string[];
82
+ cwd: string;
83
+ stoppedAt?: Date;
84
+ lastExitCode?: number;
85
+ }
86
+
87
+ export interface IControllerResourceDocument {
88
+ /** Random stable public identifier. */
89
+ id: string;
90
+ controllerId: string;
91
+ projectId: string;
92
+ kind: TControllerResourceKind;
93
+ title: string;
94
+ /** Stable BrowserRuntime attachment authority for the resource lifetime. */
95
+ attachmentAuthorityId: string;
96
+ attachmentRevision: number;
97
+ sessionId: TControllerSessionId | null;
98
+ /** Write-before-side-effect attachment obligation. */
99
+ pendingAttachment?: IControllerPendingResourceAttachment;
100
+ lifecycle: 'active' | 'retiring' | 'retired';
101
+ terminal?: IControllerTerminalResourceMetadata;
102
+ createdAt: Date;
103
+ updatedAt: Date;
104
+ retiringAt?: Date;
105
+ retiredAt?: Date;
106
+ /** Reconciliation identity for the newest exact write. */
107
+ updateId: string;
108
+ }
109
+
110
+ export interface IControllerSettingsDocument {
111
+ /** `controller:<port>:settings` — one settings document per controller. */
112
+ id: string;
113
+ controllerId: string;
114
+ /** At most one default per session harness. */
115
+ defaultModels: TControllerModelChoice[];
116
+ /** Present only as `true`; absent means permission requests wait for a human. */
117
+ autoAcceptPermissions?: true;
118
+ /** Flex provider connection currently installed into the controller-owned OpenCode runtime. */
119
+ selectedOpenCodeProviderConnectionId?: string;
120
+ }
121
+
122
+ export interface IControllerPersistedIntelligenceExchange {
123
+ id: string;
124
+ question: string;
125
+ status: TControllerIntelligenceStatus;
126
+ answer?: string;
127
+ error?: string;
128
+ model?: string;
129
+ scratchpadConflict?: true;
130
+ /** Private admission state, present only while status is running. */
131
+ scratchpadRevisionAtAdmission?: number;
132
+ /** Cleanup obligation retained until the temporary OpenCode session is confirmed deleted. */
133
+ temporarySessionId?: string;
134
+ createdAt: Date;
135
+ completedAt?: Date;
136
+ }
137
+
138
+ export interface IControllerSessionStateDocument {
139
+ /** Hash of the complete controller/project/qualified-session scope. */
140
+ id: string;
141
+ controllerId: string;
142
+ projectId: string;
143
+ sessionId: IControllerRuntimeId;
144
+ scratchpad: {
145
+ text: string;
146
+ revision: number;
147
+ updatedAt?: Date;
148
+ updatedBy?: TControllerScratchpadUpdater;
149
+ };
150
+ intelligenceExchanges: IControllerPersistedIntelligenceExchange[];
151
+ /** Exact FlexHarness project-management state for Flex sessions. */
152
+ flexProjectManagement?: plugins.flexharness.TFlexProjectManagementRecord;
153
+ /** Durable per-session model choice; absent means use the harness default. */
154
+ modelChoice?: TControllerModelChoice;
155
+ /** Fixed-size reconciliation identity for the newest exact transition. */
156
+ updateId: string;
157
+ /** Content-clearing tombstone; TTL cleanup is best-effort storage maintenance. */
158
+ deletedAt?: Date;
159
+ }
160
+
161
+ export interface IControllerSessionState {
162
+ scratchpad: IControllerSessionScratchpad;
163
+ intelligenceExchanges: IControllerIntelligenceExchange[];
164
+ modelChoice?: TControllerModelChoice;
165
+ }
166
+
167
+ export interface IControllerIntelligenceAdmission {
168
+ exchange: IControllerIntelligenceExchange;
169
+ scratchpadRevision: number;
170
+ scratchpadText: string;
171
+ }
172
+
173
+ export interface IControllerInterruptedIntelligenceRecovery {
174
+ recoveredCount: number;
175
+ exhaustive: boolean;
176
+ temporarySessionIds: Array<{
177
+ projectId: string;
178
+ sessionId: IControllerRuntimeId;
179
+ exchangeId: string;
180
+ nativeId: string;
181
+ }>;
182
+ }
package/ts/plugins.ts ADDED
@@ -0,0 +1,64 @@
1
+ // Node native modules
2
+ import * as childProcess from 'node:child_process';
3
+ import * as crypto from 'node:crypto';
4
+ import * as fs from 'node:fs';
5
+ import { createRequire } from 'node:module';
6
+ import * as net from 'node:net';
7
+ import * as os from 'node:os';
8
+ import * as path from 'node:path';
9
+ import * as stream from 'node:stream';
10
+ import * as url from 'node:url';
11
+ import * as util from 'node:util';
12
+
13
+ export { childProcess, createRequire, crypto, fs, net, os, path, stream, url, util };
14
+
15
+ // foss.global modules
16
+ import * as smartcli from '@push.rocks/smartcli';
17
+ import * as smartagent from '@push.rocks/smartagent';
18
+ import * as smartagentCompaction from '@push.rocks/smartagent/compaction';
19
+ import * as smartagentTools from '@push.rocks/smartagent/tools';
20
+ import * as smartai from '@push.rocks/smartai';
21
+ import * as smartaiProviders from '@push.rocks/smartai/providers';
22
+ import * as smartdata from '@push.rocks/smartdata';
23
+ import * as smartdb from '@push.rocks/smartdb';
24
+ import * as smartfs from '@push.rocks/smartfs';
25
+ import * as smartsecret from '@push.rocks/smartsecret';
26
+ import * as smartshell from '@push.rocks/smartshell';
27
+ import * as flexharness from '@modelprofile.com/flexharness';
28
+ import * as browserRuntime from '@modelprofile.com/browser-runtime';
29
+ import * as crossharness from '@modelprofile.com/crossharness-mcp';
30
+ import * as flexharnessMigration from '@modelprofile.com/flexharness/migration';
31
+ import * as typedrequest from '@api.global/typedrequest';
32
+ import * as typedrequestInterfaces from '@api.global/typedrequest-interfaces';
33
+ import * as typedserver from '@api.global/typedserver';
34
+ import * as typedsocket from '@api.global/typedsocket';
35
+
36
+ export {
37
+ flexharness,
38
+ browserRuntime,
39
+ crossharness,
40
+ flexharnessMigration,
41
+ smartagent,
42
+ smartagentCompaction,
43
+ smartagentTools,
44
+ smartai,
45
+ smartaiProviders,
46
+ smartcli,
47
+ smartdata,
48
+ smartdb,
49
+ smartfs,
50
+ smartsecret,
51
+ smartshell,
52
+ typedrequest,
53
+ typedrequestInterfaces,
54
+ typedserver,
55
+ typedsocket,
56
+ };
57
+
58
+ // third-party modules
59
+ import * as simplewebauthnServer from '@simplewebauthn/server';
60
+ import * as opencodeSdk from '@opencode-ai/sdk/v2';
61
+ import * as systeminformation from 'systeminformation';
62
+ import * as tldts from 'tldts';
63
+
64
+ export { opencodeSdk, simplewebauthnServer, systeminformation, tldts };
@@ -0,0 +1,2 @@
1
+ export * from './interfaces.js';
2
+ export * from './requests.js';