@adminide-stack/extension-api 0.0.2-alpha.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 (318) hide show
  1. package/LICENSE +39 -0
  2. package/README.md +9 -0
  3. package/lib/connections/jsonrpc2/connection.d.ts +55 -0
  4. package/lib/connections/jsonrpc2/connection.js +575 -0
  5. package/lib/connections/jsonrpc2/connection.js.map +1 -0
  6. package/lib/connections/jsonrpc2/connection.test.d.ts +1 -0
  7. package/lib/connections/jsonrpc2/connection.test.js +443 -0
  8. package/lib/connections/jsonrpc2/connection.test.js.map +1 -0
  9. package/lib/connections/jsonrpc2/events.d.ts +24 -0
  10. package/lib/connections/jsonrpc2/events.js +117 -0
  11. package/lib/connections/jsonrpc2/events.js.map +1 -0
  12. package/lib/connections/jsonrpc2/index.d.ts +5 -0
  13. package/lib/connections/jsonrpc2/index.js +24 -0
  14. package/lib/connections/jsonrpc2/index.js.map +1 -0
  15. package/lib/connections/jsonrpc2/linkedMap.d.ts +29 -0
  16. package/lib/connections/jsonrpc2/linkedMap.js +254 -0
  17. package/lib/connections/jsonrpc2/linkedMap.js.map +1 -0
  18. package/lib/connections/jsonrpc2/linkedMap.test.d.ts +1 -0
  19. package/lib/connections/jsonrpc2/linkedMap.test.js +62 -0
  20. package/lib/connections/jsonrpc2/linkedMap.test.js.map +1 -0
  21. package/lib/connections/jsonrpc2/messages.d.ts +117 -0
  22. package/lib/connections/jsonrpc2/messages.js +72 -0
  23. package/lib/connections/jsonrpc2/messages.js.map +1 -0
  24. package/lib/connections/jsonrpc2/test-helper.d.ts +8 -0
  25. package/lib/connections/jsonrpc2/test-helper.js +36 -0
  26. package/lib/connections/jsonrpc2/test-helper.js.map +1 -0
  27. package/lib/connections/jsonrpc2/trace.d.ts +30 -0
  28. package/lib/connections/jsonrpc2/trace.js +96 -0
  29. package/lib/connections/jsonrpc2/trace.js.map +1 -0
  30. package/lib/connections/jsonrpc2/transport.d.ts +36 -0
  31. package/lib/connections/jsonrpc2/transport.js +66 -0
  32. package/lib/connections/jsonrpc2/transport.js.map +1 -0
  33. package/lib/connections/jsonrpc2/transports/browser-websocket.d.ts +0 -0
  34. package/lib/connections/jsonrpc2/transports/browser-websocket.js +189 -0
  35. package/lib/connections/jsonrpc2/transports/browser-websocket.js.map +1 -0
  36. package/lib/connections/jsonrpc2/transports/merged.d.ts +0 -0
  37. package/lib/connections/jsonrpc2/transports/merged.js +239 -0
  38. package/lib/connections/jsonrpc2/transports/merged.js.map +1 -0
  39. package/lib/connections/jsonrpc2/transports/webSocket.d.ts +0 -0
  40. package/lib/connections/jsonrpc2/transports/webSocket.js +138 -0
  41. package/lib/connections/jsonrpc2/transports/webSocket.js.map +1 -0
  42. package/lib/connections/jsonrpc2/transports/webWorker.d.ts +22 -0
  43. package/lib/connections/jsonrpc2/transports/webWorker.js +111 -0
  44. package/lib/connections/jsonrpc2/transports/webWorker.js.map +1 -0
  45. package/lib/connections/proxy/index.d.ts +1 -0
  46. package/lib/connections/proxy/index.js +18 -0
  47. package/lib/connections/proxy/index.js.map +1 -0
  48. package/lib/connections/proxy/proxy.d.ts +49 -0
  49. package/lib/connections/proxy/proxy.js +108 -0
  50. package/lib/connections/proxy/proxy.js.map +1 -0
  51. package/lib/connections/proxy/proxy.test.d.ts +1 -0
  52. package/lib/connections/proxy/proxy.test.js +55 -0
  53. package/lib/connections/proxy/proxy.test.js.map +1 -0
  54. package/lib/connections/remote-rpc/browser-remote-rpc.d.ts +12 -0
  55. package/lib/connections/remote-rpc/browser-remote-rpc.js +62 -0
  56. package/lib/connections/remote-rpc/browser-remote-rpc.js.map +1 -0
  57. package/lib/connections/remote-rpc/browser-server-rpc.test.d.ts +0 -0
  58. package/lib/connections/remote-rpc/browser-server-rpc.test.js +317 -0
  59. package/lib/connections/remote-rpc/browser-server-rpc.test.js.map +1 -0
  60. package/lib/connections/remote-rpc/index.d.ts +1 -0
  61. package/lib/connections/remote-rpc/index.js +18 -0
  62. package/lib/connections/remote-rpc/index.js.map +1 -0
  63. package/lib/connections/remote-rpc/old-browser-remote-rpc.d.ts +12 -0
  64. package/lib/connections/remote-rpc/old-browser-remote-rpc.js +41 -0
  65. package/lib/connections/remote-rpc/old-browser-remote-rpc.js.map +1 -0
  66. package/lib/connections/remote-rpc/rxjs-websockets.d.ts +18 -0
  67. package/lib/connections/remote-rpc/rxjs-websockets.js +80 -0
  68. package/lib/connections/remote-rpc/rxjs-websockets.js.map +1 -0
  69. package/lib/constants/action-types.d.ts +30 -0
  70. package/lib/constants/action-types.js +38 -0
  71. package/lib/constants/action-types.js.map +1 -0
  72. package/lib/constants/index.d.ts +2 -0
  73. package/lib/constants/index.js +19 -0
  74. package/lib/constants/index.js.map +1 -0
  75. package/lib/constants/types.d.ts +8 -0
  76. package/lib/constants/types.js +12 -0
  77. package/lib/constants/types.js.map +1 -0
  78. package/lib/core/expr/evaluator.d.ts +27 -0
  79. package/lib/core/expr/evaluator.js +144 -0
  80. package/lib/core/expr/evaluator.js.map +1 -0
  81. package/lib/core/expr/evaluator.test.d.ts +1 -0
  82. package/lib/core/expr/evaluator.test.js +52 -0
  83. package/lib/core/expr/evaluator.test.js.map +1 -0
  84. package/lib/core/expr/index.d.ts +3 -0
  85. package/lib/core/expr/index.js +20 -0
  86. package/lib/core/expr/index.js.map +1 -0
  87. package/lib/core/expr/lexer.d.ts +114 -0
  88. package/lib/core/expr/lexer.js +418 -0
  89. package/lib/core/expr/lexer.js.map +1 -0
  90. package/lib/core/expr/parser.d.ts +52 -0
  91. package/lib/core/expr/parser.js +242 -0
  92. package/lib/core/expr/parser.js.map +1 -0
  93. package/lib/core/index.d.ts +2 -0
  94. package/lib/core/index.js +19 -0
  95. package/lib/core/index.js.map +1 -0
  96. package/lib/core/types/ext-host-types-bk.d.ts +0 -0
  97. package/lib/core/types/ext-host-types-bk.js +1275 -0
  98. package/lib/core/types/ext-host-types-bk.js.map +1 -0
  99. package/lib/core/types/ext-host-types.d.ts +32 -0
  100. package/lib/core/types/ext-host-types.js +71 -0
  101. package/lib/core/types/ext-host-types.js.map +1 -0
  102. package/lib/core/types/index.d.ts +1 -0
  103. package/lib/core/types/index.js +18 -0
  104. package/lib/core/types/index.js.map +1 -0
  105. package/lib/errors/errors.d.ts +1 -0
  106. package/lib/errors/errors.js +13 -0
  107. package/lib/errors/errors.js.map +1 -0
  108. package/lib/errors/index.d.ts +1 -0
  109. package/lib/errors/index.js +18 -0
  110. package/lib/errors/index.js.map +1 -0
  111. package/lib/index.d.ts +7 -0
  112. package/lib/index.js +24 -0
  113. package/lib/index.js.map +1 -0
  114. package/lib/interfaces/command.d.ts +28 -0
  115. package/lib/interfaces/command.js +3 -0
  116. package/lib/interfaces/command.js.map +1 -0
  117. package/lib/interfaces/configuration.d.ts +36 -0
  118. package/lib/interfaces/configuration.js +3 -0
  119. package/lib/interfaces/configuration.js.map +1 -0
  120. package/lib/interfaces/connection.d.ts +12 -0
  121. package/lib/interfaces/connection.js +3 -0
  122. package/lib/interfaces/connection.js.map +1 -0
  123. package/lib/interfaces/context.d.ts +12 -0
  124. package/lib/interfaces/context.js +3 -0
  125. package/lib/interfaces/context.js.map +1 -0
  126. package/lib/interfaces/contributions/contribution-service.d.ts +20 -0
  127. package/lib/interfaces/contributions/contribution-service.js +3 -0
  128. package/lib/interfaces/contributions/contribution-service.js.map +1 -0
  129. package/lib/interfaces/contributions/contribution.d.ts +383 -0
  130. package/lib/interfaces/contributions/contribution.js +49 -0
  131. package/lib/interfaces/contributions/contribution.js.map +1 -0
  132. package/lib/interfaces/contributions/index.d.ts +2 -0
  133. package/lib/interfaces/contributions/index.js +19 -0
  134. package/lib/interfaces/contributions/index.js.map +1 -0
  135. package/lib/interfaces/controller.d.ts +30 -0
  136. package/lib/interfaces/controller.js +3 -0
  137. package/lib/interfaces/controller.js.map +1 -0
  138. package/lib/interfaces/errors.d.ts +5 -0
  139. package/lib/interfaces/errors.js +3 -0
  140. package/lib/interfaces/errors.js.map +1 -0
  141. package/lib/interfaces/ext-services/contributon-registry.d.ts +45 -0
  142. package/lib/interfaces/ext-services/contributon-registry.js +3 -0
  143. package/lib/interfaces/ext-services/contributon-registry.js.map +1 -0
  144. package/lib/interfaces/ext-services/ext-services.d.ts +23 -0
  145. package/lib/interfaces/ext-services/ext-services.js +3 -0
  146. package/lib/interfaces/ext-services/ext-services.js.map +1 -0
  147. package/lib/interfaces/ext-services/extension-service.d.ts +8 -0
  148. package/lib/interfaces/ext-services/extension-service.js +3 -0
  149. package/lib/interfaces/ext-services/extension-service.js.map +1 -0
  150. package/lib/interfaces/ext-services/index.d.ts +8 -0
  151. package/lib/interfaces/ext-services/index.js +25 -0
  152. package/lib/interfaces/ext-services/index.js.map +1 -0
  153. package/lib/interfaces/ext-services/model-service.d.ts +89 -0
  154. package/lib/interfaces/ext-services/model-service.js +3 -0
  155. package/lib/interfaces/ext-services/model-service.js.map +1 -0
  156. package/lib/interfaces/ext-services/panel-view-registry.d.ts +21 -0
  157. package/lib/interfaces/ext-services/panel-view-registry.js +3 -0
  158. package/lib/interfaces/ext-services/panel-view-registry.js.map +1 -0
  159. package/lib/interfaces/ext-services/settings-service.d.ts +18 -0
  160. package/lib/interfaces/ext-services/settings-service.js +3 -0
  161. package/lib/interfaces/ext-services/settings-service.js.map +1 -0
  162. package/lib/interfaces/ext-services/view-service.d.ts +65 -0
  163. package/lib/interfaces/ext-services/view-service.js +4 -0
  164. package/lib/interfaces/ext-services/view-service.js.map +1 -0
  165. package/lib/interfaces/ext-services/viewer-service.d.ts +125 -0
  166. package/lib/interfaces/ext-services/viewer-service.js +5 -0
  167. package/lib/interfaces/ext-services/viewer-service.js.map +1 -0
  168. package/lib/interfaces/extension-manifest.d.ts +8 -0
  169. package/lib/interfaces/extension-manifest.js +3 -0
  170. package/lib/interfaces/extension-manifest.js.map +1 -0
  171. package/lib/interfaces/extension.d.ts +72 -0
  172. package/lib/interfaces/extension.js +3 -0
  173. package/lib/interfaces/extension.js.map +1 -0
  174. package/lib/interfaces/generated-models.d.ts +3716 -0
  175. package/lib/interfaces/generated-models.js +648 -0
  176. package/lib/interfaces/generated-models.js.map +1 -0
  177. package/lib/interfaces/graphql.d.ts +17 -0
  178. package/lib/interfaces/graphql.js +5 -0
  179. package/lib/interfaces/graphql.js.map +1 -0
  180. package/lib/interfaces/index.d.ts +21 -0
  181. package/lib/interfaces/index.js +38 -0
  182. package/lib/interfaces/index.js.map +1 -0
  183. package/lib/interfaces/languages-types.d.ts +65 -0
  184. package/lib/interfaces/languages-types.js +3 -0
  185. package/lib/interfaces/languages-types.js.map +1 -0
  186. package/lib/interfaces/model.d.ts +51 -0
  187. package/lib/interfaces/model.js +9 -0
  188. package/lib/interfaces/model.js.map +1 -0
  189. package/lib/interfaces/plain-types.d.ts +4 -0
  190. package/lib/interfaces/plain-types.js +6 -0
  191. package/lib/interfaces/plain-types.js.map +1 -0
  192. package/lib/interfaces/plainTypes.d.ts +68 -0
  193. package/lib/interfaces/plainTypes.js +3 -0
  194. package/lib/interfaces/plainTypes.js.map +1 -0
  195. package/lib/interfaces/platform-context.d.ts +82 -0
  196. package/lib/interfaces/platform-context.js +3 -0
  197. package/lib/interfaces/platform-context.js.map +1 -0
  198. package/lib/interfaces/react-props/action-item.d.ts +20 -0
  199. package/lib/interfaces/react-props/action-item.js +3 -0
  200. package/lib/interfaces/react-props/action-item.js.map +1 -0
  201. package/lib/interfaces/react-props/extension-controller.d.ts +11 -0
  202. package/lib/interfaces/react-props/extension-controller.js +3 -0
  203. package/lib/interfaces/react-props/extension-controller.js.map +1 -0
  204. package/lib/interfaces/react-props/index.d.ts +3 -0
  205. package/lib/interfaces/react-props/index.js +20 -0
  206. package/lib/interfaces/react-props/index.js.map +1 -0
  207. package/lib/interfaces/react-props/platform-context.d.ts +7 -0
  208. package/lib/interfaces/react-props/platform-context.js +3 -0
  209. package/lib/interfaces/react-props/platform-context.js.map +1 -0
  210. package/lib/interfaces/registry-extension.d.ts +21 -0
  211. package/lib/interfaces/registry-extension.js +3 -0
  212. package/lib/interfaces/registry-extension.js.map +1 -0
  213. package/lib/interfaces/settings.d.ts +51 -0
  214. package/lib/interfaces/settings.js +3 -0
  215. package/lib/interfaces/settings.js.map +1 -0
  216. package/lib/interfaces/text-document.d.ts +57 -0
  217. package/lib/interfaces/text-document.js +119 -0
  218. package/lib/interfaces/text-document.js.map +1 -0
  219. package/lib/interfaces/webview/index.d.ts +3 -0
  220. package/lib/interfaces/webview/index.js +20 -0
  221. package/lib/interfaces/webview/index.js.map +1 -0
  222. package/lib/interfaces/webview/webview-manager-service.d.ts +22 -0
  223. package/lib/interfaces/webview/webview-manager-service.js +3 -0
  224. package/lib/interfaces/webview/webview-manager-service.js.map +1 -0
  225. package/lib/interfaces/webview/webview-port-mapping.d.ts +4 -0
  226. package/lib/interfaces/webview/webview-port-mapping.js +3 -0
  227. package/lib/interfaces/webview/webview-port-mapping.js.map +1 -0
  228. package/lib/interfaces/webview/webview.d.ts +99 -0
  229. package/lib/interfaces/webview/webview.js +9 -0
  230. package/lib/interfaces/webview/webview.js.map +1 -0
  231. package/lib/main.d.ts +0 -0
  232. package/lib/main.js +3 -0
  233. package/lib/main.js.map +1 -0
  234. package/lib/protocol/client.protocol.d.ts +99 -0
  235. package/lib/protocol/client.protocol.js +8 -0
  236. package/lib/protocol/client.protocol.js.map +1 -0
  237. package/lib/protocol/common.protocol.d.ts +289 -0
  238. package/lib/protocol/common.protocol.js +68 -0
  239. package/lib/protocol/common.protocol.js.map +1 -0
  240. package/lib/protocol/editor-missing-types.d.ts +87 -0
  241. package/lib/protocol/editor-missing-types.js +10 -0
  242. package/lib/protocol/editor-missing-types.js.map +1 -0
  243. package/lib/protocol/index.d.ts +6 -0
  244. package/lib/protocol/index.js +24 -0
  245. package/lib/protocol/index.js.map +1 -0
  246. package/lib/protocol/proxy-identifier.d.ts +51 -0
  247. package/lib/protocol/proxy-identifier.js +59 -0
  248. package/lib/protocol/proxy-identifier.js.map +1 -0
  249. package/lib/protocol/rpc-logger.d.ts +8 -0
  250. package/lib/protocol/rpc-logger.js +60 -0
  251. package/lib/protocol/rpc-logger.js.map +1 -0
  252. package/lib/protocol/rpc-protocol.d.ts +148 -0
  253. package/lib/protocol/rpc-protocol.js +750 -0
  254. package/lib/protocol/rpc-protocol.js.map +1 -0
  255. package/lib/protocol/rpc-protocol.test.d.ts +1 -0
  256. package/lib/protocol/rpc-protocol.test.js +171 -0
  257. package/lib/protocol/rpc-protocol.test.js.map +1 -0
  258. package/lib/protocol/server.protocol-bk.d.ts +0 -0
  259. package/lib/protocol/server.protocol-bk.js +719 -0
  260. package/lib/protocol/server.protocol-bk.js.map +1 -0
  261. package/lib/protocol/server.protocol.d.ts +91 -0
  262. package/lib/protocol/server.protocol.js +31 -0
  263. package/lib/protocol/server.protocol.js.map +1 -0
  264. package/lib/protocol/shared/editor.d.ts +4 -0
  265. package/lib/protocol/shared/editor.js +28 -0
  266. package/lib/protocol/shared/editor.js.map +1 -0
  267. package/lib/protocol/shared/tasks.d.ts +104 -0
  268. package/lib/protocol/shared/tasks.js +4 -0
  269. package/lib/protocol/shared/tasks.js.map +1 -0
  270. package/lib/protocol/temporary-types.d.ts +198 -0
  271. package/lib/protocol/temporary-types.js +30 -0
  272. package/lib/protocol/temporary-types.js.map +1 -0
  273. package/lib/protocol/utils/index.d.ts +1 -0
  274. package/lib/protocol/utils/index.js +18 -0
  275. package/lib/protocol/utils/index.js.map +1 -0
  276. package/lib/protocol/utils/lazy-promise.d.ts +18 -0
  277. package/lib/protocol/utils/lazy-promise.js +69 -0
  278. package/lib/protocol/utils/lazy-promise.js.map +1 -0
  279. package/lib/utils/errors.d.ts +6 -0
  280. package/lib/utils/errors.js +19 -0
  281. package/lib/utils/errors.js.map +1 -0
  282. package/lib/utils/extensions.d.ts +9 -0
  283. package/lib/utils/extensions.js +25 -0
  284. package/lib/utils/extensions.js.map +1 -0
  285. package/lib/utils/helper.test.d.ts +9 -0
  286. package/lib/utils/helper.test.js +15 -0
  287. package/lib/utils/helper.test.js.map +1 -0
  288. package/lib/utils/index.d.ts +7 -0
  289. package/lib/utils/index.js +25 -0
  290. package/lib/utils/index.js.map +1 -0
  291. package/lib/utils/paths-util.d.ts +27 -0
  292. package/lib/utils/paths-util.js +127 -0
  293. package/lib/utils/paths-util.js.map +1 -0
  294. package/lib/utils/rxjs/combineLatestOrDefault.d.ts +28 -0
  295. package/lib/utils/rxjs/combineLatestOrDefault.js +111 -0
  296. package/lib/utils/rxjs/combineLatestOrDefault.js.map +1 -0
  297. package/lib/utils/rxjs/combineLatestOrDefault.test.d.ts +1 -0
  298. package/lib/utils/rxjs/combineLatestOrDefault.test.js +52 -0
  299. package/lib/utils/rxjs/combineLatestOrDefault.test.js.map +1 -0
  300. package/lib/utils/rxjs/index.d.ts +1 -0
  301. package/lib/utils/rxjs/index.js +18 -0
  302. package/lib/utils/rxjs/index.js.map +1 -0
  303. package/lib/utils/util.d.ts +19 -0
  304. package/lib/utils/util.js +57 -0
  305. package/lib/utils/util.js.map +1 -0
  306. package/lib/worker-lib/MessageTypes.d.ts +5 -0
  307. package/lib/worker-lib/MessageTypes.js +9 -0
  308. package/lib/worker-lib/MessageTypes.js.map +1 -0
  309. package/lib/worker-lib/index.d.ts +2 -0
  310. package/lib/worker-lib/index.js +19 -0
  311. package/lib/worker-lib/index.js.map +1 -0
  312. package/lib/worker-lib/webWorkerLink.d.ts +12 -0
  313. package/lib/worker-lib/webWorkerLink.js +96 -0
  314. package/lib/worker-lib/webWorkerLink.js.map +1 -0
  315. package/lib/worker-lib/workerUtils.d.ts +11 -0
  316. package/lib/worker-lib/workerUtils.js +178 -0
  317. package/lib/worker-lib/workerUtils.js.map +1 -0
  318. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/ext-services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,iDAA+B;AAC/B,qDAAmC;AACnC,iDAA+B;AAC/B,kDAAgC;AAChC,mDAAiC;AACjC,yDAAuC;AACvC,wDAAsC"}
@@ -0,0 +1,89 @@
1
+ import { TextDocument } from 'cdeops';
2
+ import { Subscribable, Observable } from 'rxjs';
3
+ /**
4
+ * A text model is a text document and associated metadata.
5
+ *
6
+ * How does this relate to editors (in {@link ViewerService}? A model is the file, an editor is the
7
+ * window that the file is shown in. Things like the content and language are properties of the
8
+ * model; things like decorations and the selection ranges are properties of the editor.
9
+ */
10
+ export interface TextModel extends Pick<TextDocument, 'uri' | 'languageId' | 'text'> {
11
+ }
12
+ /**
13
+ * A partial {@link TextModel}, containing only the fields that are
14
+ * guaranteed to never be updated.
15
+ */
16
+ export interface PartialModel extends Pick<TextModel, 'languageId'> {
17
+ }
18
+ export declare type TextModelUpdate = ({
19
+ type: 'added';
20
+ } & TextModel) | ({
21
+ type: 'updated';
22
+ text: string;
23
+ } & Pick<TextModel, 'uri'>) | ({
24
+ type: 'deleted';
25
+ } & Pick<TextModel, 'uri'>);
26
+ /**
27
+ * The model service manages document contents and metadata.
28
+ *
29
+ * See {@link Model} for an explanation of the difference between a model and an editor.
30
+ */
31
+ export interface IModelService {
32
+ /**
33
+ * A map of all known models, indexed by URI.
34
+ *
35
+ * This is mostly used for testing, most consumers should use
36
+ * {@link ModelService#modelUpdates}, {@link ModelService#activeLanguages} or {@link ModelService#observeModel} instead.
37
+ */
38
+ models: ReadonlyMap<string, TextModel>;
39
+ /**
40
+ * An observable of all model updates.
41
+ *
42
+ * Emits when a model is added, updated or removed.
43
+ */
44
+ modelUpdates: Subscribable<readonly TextModelUpdate[]>;
45
+ /**
46
+ * An observable of unique languageIds across all models.
47
+ */
48
+ activeLanguages: Subscribable<ReadonlySet<string>>;
49
+ /**
50
+ * Observe a model for changes.
51
+ *
52
+ * @param uri The uri of the model to observe.
53
+ * @returns An observable that emits when the model changes,
54
+ * and completes when the model is removed.
55
+ * If no such model exists, it emits an error.
56
+ */
57
+ observeModel(uri: string): Observable<TextModel>;
58
+ /**
59
+ * Returns the {@link PartialModel} for the given uri.
60
+ *
61
+ */
62
+ getPartialModel(uri: string): PartialModel;
63
+ /**
64
+ * Adds a model.
65
+ *
66
+ * @param model The model to add.
67
+ */
68
+ addModel(model: TextModel): void;
69
+ /**
70
+ * Updates a model's text content.
71
+ *
72
+ * @param uri The URI of the model whose content to update.
73
+ * @param text The new text content (which will overwrite the model's previous content).
74
+ * @throws if the model does not exist.
75
+ */
76
+ updateModel(uri: string, text: string): void;
77
+ /**
78
+ * Reports whether a model with a given URI has already been added.
79
+ *
80
+ * @param uri The model URI to check.
81
+ */
82
+ hasModel(uri: string): boolean;
83
+ /**
84
+ * Removes a model.
85
+ *
86
+ * @param uri The URI of the model to remove.
87
+ */
88
+ removeModel(uri: string): void;
89
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=model-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-service.js","sourceRoot":"","sources":["../../../src/interfaces/ext-services/model-service.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import { Observable, Subscription } from 'rxjs';
2
+ import { ContributableViewContainer, PanelViewWithComponent } from '../../interfaces';
3
+ /** A registry entry for a registered provider. */
4
+ export interface Entry<O, P> {
5
+ registrationOptions: O;
6
+ provider: P;
7
+ }
8
+ export interface PanelViewProviderRegistrationOptions {
9
+ id: string;
10
+ container: typeof ContributableViewContainer;
11
+ }
12
+ export declare type ProvidePanelViewSignature = Observable<PanelViewWithComponent | null>;
13
+ /** @sri custom change */
14
+ export interface IPanelViewProviderRegistry {
15
+ readonly providers: Observable<ProvidePanelViewSignature[]>;
16
+ registerProvider(registrationOptions: PanelViewProviderRegistrationOptions, provider: ProvidePanelViewSignature): Subscription;
17
+ registerProviders(entries: Entry<PanelViewProviderRegistrationOptions, ProvidePanelViewSignature>[]): Subscription;
18
+ deregisterProvider(deregistrationOptions: PanelViewProviderRegistrationOptions): Subscription;
19
+ getPanelView(id: string): Observable<(PanelViewWithComponent & PanelViewProviderRegistrationOptions) | null>;
20
+ getPanelViews(container: typeof ContributableViewContainer): Observable<(PanelViewWithComponent & PanelViewProviderRegistrationOptions)[]>;
21
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=panel-view-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel-view-registry.js","sourceRoot":"","sources":["../../../src/interfaces/ext-services/panel-view-registry.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { Subscribable } from 'rxjs';
2
+ import { IGeneratedSettings as ISettings, ISettingsEdit } from '@workbench-stack/core';
3
+ import { SettingsCascadeOrError } from '../settings';
4
+ /**
5
+ * The configuration service manages the settings cascade for the viewer.
6
+ *
7
+ * @template S The settings type.
8
+ */
9
+ export interface ISettingsService<S extends ISettings = ISettings> {
10
+ /**
11
+ * The configuration data
12
+ */
13
+ data: Subscribable<SettingsCascadeOrError<S>>;
14
+ /**
15
+ * Update the configuration with highest precedence.
16
+ */
17
+ update(edit: ISettingsEdit): Promise<void>;
18
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=settings-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-service.js","sourceRoot":"","sources":["../../../src/interfaces/ext-services/settings-service.ts"],"names":[],"mappings":""}
@@ -0,0 +1,65 @@
1
+ import { IContributableViewContainer, ContributableViewContainer } from '../contributions';
2
+ import * as cdeops from 'cdeops/client';
3
+ import { Observable, Subscription } from 'rxjs';
4
+ import * as React from 'react';
5
+ import * as modes from '@vscode-alt/monaco-editor/esm/vs/editor/common/modes';
6
+ import { View as ExtensionView } from 'cdeops';
7
+ export interface ViewProviderRegistrationOptions {
8
+ id: string;
9
+ container: IContributableViewContainer;
10
+ }
11
+ export interface PanelViewWithComponent extends Pick<cdeops.PanelView, 'title' | 'content' | 'priority'> {
12
+ /**
13
+ * The location provider whose results to render in the panel view.
14
+ */
15
+ locationProvider?: Observable<modes.Location[] | null>;
16
+ /**
17
+ * The React element to render in the panel view.
18
+ */
19
+ reactElement?: React.ReactFragment;
20
+ }
21
+ export declare type ProvideViewSignature = Observable<PanelViewWithComponent | null>;
22
+ /**
23
+ * A view is a page or partial page.
24
+ */
25
+ export interface IView extends ExtensionView {
26
+ }
27
+ export interface IViewProviderEntry<W extends IContributableViewContainer> {
28
+ /** The ID of the view. */
29
+ id: string;
30
+ /** The view container the view was registered for. */
31
+ where: W;
32
+ /** Provides the view content. */
33
+ provideView: ViewProviderFunction<IViewContexts[W]>;
34
+ }
35
+ /**
36
+ * A map from type of container names to the internal type of the context parameter provided by the container.
37
+ */
38
+ export interface IViewContexts {
39
+ [ContributableViewContainer.Panel]: never;
40
+ [ContributableViewContainer.Homepage]: {};
41
+ [ContributableViewContainer.InsightsPage]: {};
42
+ [ContributableViewContainer.GlobalPage]: Record<string, string>;
43
+ [ContributableViewContainer.Directory]: {};
44
+ }
45
+ export declare type ViewProviderFunction<C> = (context: C) => Observable<IView | null>;
46
+ /**
47
+ * The view service manages views, which are pages or partial pages of content.
48
+ */
49
+ export interface IViewService {
50
+ /**
51
+ * REgister a view provider. Throws if the `id` is already registerd.
52
+ */
53
+ register<W extends IContributableViewContainer>(id: string, where: W, provideView: ViewProviderFunction<IViewContexts[W]>): Subscription;
54
+ /**
55
+ * Get all providers for the given container.
56
+ *
57
+ * @todo return a Map by ID and make this the primary API
58
+ */
59
+ getWhere<W extends IContributableViewContainer>(where: W): Observable<IViewProviderEntry<W>[]>;
60
+ /**
61
+ * Get a view's content. The retured observable emits whenever the content changes. IF there is
62
+ * no view with the given {@link id}, it emits `null`.
63
+ */
64
+ get<W extends IContributableViewContainer>(id: string, context: IViewContexts[W]): Observable<IView | null>;
65
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const contributions_1 = require("../contributions");
4
+ //# sourceMappingURL=view-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-service.js","sourceRoot":"","sources":["../../../src/interfaces/ext-services/view-service.ts"],"names":[],"mappings":";;AAAA,oDAA2F"}
@@ -0,0 +1,125 @@
1
+ import { Subscribable, Observable } from 'rxjs';
2
+ import { PartialModel, TextModel } from './model-service';
3
+ import { Selection } from '../plainTypes';
4
+ export declare type Viewer = CodeEditor | DirectoryViewer;
5
+ export declare type ViewerData = CodeEditorData | DirectoryViewerData;
6
+ /**
7
+ * ViewerId exposes the unique ID of a viewer.
8
+ */
9
+ export interface ViewerId {
10
+ /** The unique ID of the viewer. */
11
+ readonly viewerId: string;
12
+ }
13
+ export interface BaseViewerData {
14
+ readonly isActive: boolean;
15
+ }
16
+ export interface DirectoryViewerData extends BaseViewerData {
17
+ readonly type: 'DirectoryViewer';
18
+ /** The URI of the directory that this viewer is displaying. */
19
+ readonly resource: string;
20
+ }
21
+ /**
22
+ * Describes a code viewer to be created.
23
+ */
24
+ export interface CodeEditorData extends BaseViewerData {
25
+ readonly type: 'CodeEditor';
26
+ /** The URI of the model that this viewer is displaying. */
27
+ readonly resource: string;
28
+ readonly selections: Selection[];
29
+ }
30
+ /**
31
+ * Describes a code editor that has been added to the {@link ViewerServce}.
32
+ */
33
+ export interface CodeEditor extends ViewerId, CodeEditorData {
34
+ }
35
+ /**
36
+ * Describes a directory viewer that has been added to the {@link IViewerService}.
37
+ */
38
+ export interface DirectoryViewer extends ViewerId, DirectoryViewerData {
39
+ }
40
+ export declare type ViewerWithPartialModel = CodeEditorWithPartialModel | DirectoryViewer;
41
+ /**
42
+ * A code editor witha a partial model.
43
+ *
44
+ * To get the editor's full model, look up the model in the {@link ModelService}.
45
+ */
46
+ export interface CodeEditorWithPartialModel extends CodeEditor {
47
+ model: PartialModel;
48
+ }
49
+ /**
50
+ * A code editor with its full model, including the model text.
51
+ */
52
+ export interface CodeEditorWithModel extends CodeEditor {
53
+ /** The code editor's model. */
54
+ model: TextModel;
55
+ }
56
+ export declare type ViewerUpdate = ({
57
+ type: 'added';
58
+ viewerData: ViewerData;
59
+ } & ViewerId) | ({
60
+ type: 'updated';
61
+ viewerData: Pick<CodeEditorData, 'selections'>;
62
+ } & ViewerId) | ({
63
+ type: 'deleted';
64
+ } & ViewerId);
65
+ /**
66
+ * The viewer service manages viewers.
67
+ */
68
+ export interface IViewerService {
69
+ /**
70
+ * A map of all known viewers, indexed by viewerId.
71
+ *
72
+ * This is mostly used for testing, most consumers should use
73
+ * {@link IViewerService#viewerUpdates} or {@link IViewerService#activeViewerUpdates}
74
+ */
75
+ readonly viewers: ReadonlyMap<string, Viewer>;
76
+ /**
77
+ * An observable of all viewer updates.
78
+ *
79
+ * Emits when a viewer is added, updated or removed.
80
+ */
81
+ readonly viewerUpdates: Subscribable<ViewerUpdate[]>;
82
+ /**
83
+ * An observable of updates to the active viewer.
84
+ *
85
+ * Emits the active viewer if there is one or `undefined` otherwise.
86
+ */
87
+ readonly activeViewerUpdates: Subscribable<Viewer | undefined>;
88
+ /**
89
+ * Add a viewer.
90
+ *
91
+ * @param viewer The description of the viewer to add.
92
+ * @returns The added code viewer (which must be passed as the first argument to other
93
+ * {@link ViwerService} methods to operate on this viewer).
94
+ */
95
+ addViewer(viewer: ViewerData): ViewerId;
96
+ /**
97
+ * Observe a viewer for changes.
98
+ *
99
+ * @param viewer The viewer to observe.
100
+ * @returns An observable that emits when the viewer changes
101
+ * and complets when the viewer is removed.
102
+ * If no such viewer exists, it emits an error.
103
+ */
104
+ observeViewer(viewer: ViewerId): Observable<ViewerData>;
105
+ /**
106
+ * Sets the selections for a CodeEditor.
107
+ *
108
+ * @param codeEditor The editor for which to set the selections.
109
+ * @param selections The new selections to apply.
110
+ * @throws If no editor exists with the given editor ID.
111
+ * @throws If the editor ID is not a CodeEditor.
112
+ */
113
+ setSelections(codeEditor: ViewerId, selections: Selection[]): void;
114
+ /**
115
+ * Remove a viewer.
116
+ * Also removes the corresponding model if no other viewer is referencing it.
117
+ *
118
+ * @param viewer The viewer to remove.
119
+ */
120
+ removeViewer(viewer: ViewerId): void;
121
+ /**
122
+ * Remove all viewers.
123
+ */
124
+ removeAllViewers(): void;
125
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
4
+ ;
5
+ //# sourceMappingURL=viewer-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewer-service.js","sourceRoot":"","sources":["../../../src/interfaces/ext-services/viewer-service.ts"],"names":[],"mappings":";;AAyCgE,CAAC;AAKS,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { IExtensionManifest as IExtensionManifestSchema } from './generated-models';
2
+ /**
3
+ * Represents an input object that is validated against a subset of properties of the {@link IExtensionManifest}
4
+ * JSON Schema. For simplicity, only necessary fields are validated and included here.
5
+ */
6
+ export interface IPartialExtensionManifest extends Pick<IExtensionManifestSchema, 'name' | 'url' | 'bundleURL' | 'description' | 'displayName' | 'activationEvents' | 'contributes' | 'repository' | 'publisher' | 'categories' | 'icon' | 'tags'> {
7
+ contributes: any;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=extension-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-manifest.js","sourceRoot":"","sources":["../../src/interfaces/extension-manifest.ts"],"names":[],"mappings":""}
@@ -0,0 +1,72 @@
1
+ import { ErrorLike } from './errors';
2
+ import { IPartialExtensionManifest as IExtensionManifest } from './extension-manifest';
3
+ import { IRegistryExtension } from './generated-models';
4
+ import { Unsubscribable } from 'rxjs';
5
+ /**
6
+ * The information about an IExtension necessary to execute and activate it.
7
+ */
8
+ export interface IExecutableExtension extends Pick<IConfiguredExtension, 'id' | 'manifest'> {
9
+ /** The URL to the JavaScript bundle fo the extension */
10
+ scriptURL: string;
11
+ }
12
+ /**
13
+ * The manifest of an extension sideloaded during local development.
14
+ *
15
+ * Doesn't include {@link ExtensionManifest#url}, as this is added when
16
+ * publishing an extension to the registry.
17
+ * Instead, the bundle URL is computed from the manifest's `main` field.
18
+ */
19
+ export interface ISideloadedExtensionManifest extends Omit<IExtensionManifest, 'url'> {
20
+ name: string;
21
+ main: string;
22
+ }
23
+ /**
24
+ * Describes a configured IExtension.
25
+ */
26
+ export interface IConfiguredExtension {
27
+ /**
28
+ * The IExtension's IExtension ID.
29
+ *
30
+ * @example "alcie/myextension"
31
+ */
32
+ readonly id: string;
33
+ /** The parsed IExtension mainfest, null if there is none, or a parse error. */
34
+ readonly manifest: IExtensionManifest | null | ErrorLike;
35
+ /** The raw IExtension mainfest (JSON), or null if there is none. */
36
+ readonly rawManifest: string | null;
37
+ }
38
+ /**
39
+ * Describes a configured IExtension with an optional associated registry IExtension. Prefer using
40
+ * {@link IConfiguredExtension} when it is not necessary to access the registry IExtension's metadata.
41
+ *
42
+ * @template X the registry IExtension type.
43
+ */
44
+ export interface IConfiguredRegistryExtension<X extends Pick<IRegistryExtension, 'id' | 'url' | 'viewerCanAdminister'> = Pick<IRegistryExtension, 'id' | 'url' | 'viewerCanAdminister'>> extends IConfiguredExtension {
45
+ /** The IExtension's metadata on the registry, if this is a registry IExtension. */
46
+ readonly registryExtension?: X;
47
+ }
48
+ /** An IExtension's identifier. */
49
+ export interface IExtension {
50
+ /** The IExtension ID. */
51
+ readonly id: string;
52
+ }
53
+ export interface IExtensionHostClient extends Unsubscribable {
54
+ /**
55
+ * Closes the connection to the IExtension host and stops the controller from reestablishing new
56
+ * connections.
57
+ */
58
+ unsubscribe(): void;
59
+ }
60
+ /**
61
+ * An activated extension.
62
+ */
63
+ export interface IActivatedExtension {
64
+ /**
65
+ * The extension's extension ID (which uniquely identifies it among all activated extensions).
66
+ */
67
+ id: string;
68
+ /**
69
+ * Deactivate the extension (by calling its "deactivate" function, if any).
70
+ */
71
+ deactivate(): void | Promise<void>;
72
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../src/interfaces/extension.ts"],"names":[],"mappings":""}