@chengxianglibra/dsh-data-analysis 0.1.1 → 0.2.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 (303) hide show
  1. package/README.md +139 -53
  2. package/cordis.patch.yml +1 -1
  3. package/lib/bin/environment.js +9 -7
  4. package/lib/bin/presentation-lint.js +21 -0
  5. package/lib/bridges.js +2 -2
  6. package/lib/client/credentials/changes.js +74 -0
  7. package/lib/client/credentials/create-datasource.js +171 -0
  8. package/lib/client/credentials/credential-draft.js +42 -0
  9. package/lib/client/credentials/defaults.js +11 -0
  10. package/lib/client/credentials/descriptions.js +46 -0
  11. package/lib/client/credentials/install.js +319 -0
  12. package/lib/client/credentials/model.js +766 -0
  13. package/lib/client/credentials/report-publishing.js +96 -0
  14. package/lib/client/credentials/styles.js +21 -0
  15. package/lib/client/i18n/context.js +22 -0
  16. package/lib/client/i18n/copy.js +57 -0
  17. package/lib/client/i18n/credentials.js +475 -0
  18. package/lib/client/i18n/host.js +27 -0
  19. package/lib/client/i18n/navigation.js +41 -0
  20. package/lib/client/i18n/presentation.js +577 -0
  21. package/lib/client/i18n/python.js +36 -0
  22. package/lib/client/i18n/semantic.js +441 -0
  23. package/lib/client/input-context.js +21 -0
  24. package/lib/client/python-tool/card.js +35 -0
  25. package/lib/client/python-tool/execution-error.js +35 -0
  26. package/lib/client/python-tool/install.js +9 -0
  27. package/lib/client/python-tool/model.js +101 -0
  28. package/lib/client/right-tabs/install.js +535 -0
  29. package/lib/client/right-tabs/live-delivery.js +58 -0
  30. package/lib/client/right-tabs/navigation.js +47 -0
  31. package/lib/client/right-tabs/page.js +178 -0
  32. package/lib/client/right-tabs/styles.js +11 -0
  33. package/lib/client/rpc.js +5 -0
  34. package/lib/client/semantic-reference.js +10 -0
  35. package/lib/client/workspace-header-action.js +24 -0
  36. package/lib/client/workspace-shortcuts.js +26 -0
  37. package/lib/client.js +1250 -730
  38. package/lib/compatibility.js +2 -2
  39. package/lib/datasource/authoring.js +109 -0
  40. package/lib/datasource/bridge-programs.js +42 -27
  41. package/lib/datasource/bridge.js +144 -9
  42. package/lib/datasource/changes-contract.js +41 -0
  43. package/lib/datasource/changes.js +49 -0
  44. package/lib/datasource/configure.js +39 -0
  45. package/lib/datasource/defaults.js +25 -0
  46. package/lib/datasource/index.js +4 -2
  47. package/lib/datasource/python-options.js +21 -0
  48. package/lib/datasource/python.js +206 -0
  49. package/lib/datasource/resolver-program.js +112 -0
  50. package/lib/datasource/rpc.js +150 -0
  51. package/lib/datasource/service.js +962 -0
  52. package/lib/datasource/shell-env.js +2 -333
  53. package/lib/datasource/test.js +25 -51
  54. package/lib/disclosure/activation.js +19 -7
  55. package/lib/disclosure/execution-guidance.js +52 -0
  56. package/lib/disclosure/help.js +4 -1
  57. package/lib/environment/binding.js +54 -9
  58. package/lib/environment/runtime.js +120 -108
  59. package/lib/environment/subprocess.js +6 -1
  60. package/lib/environment/summary.js +3 -3
  61. package/lib/environment/workspace.js +23 -1
  62. package/lib/index.js +1 -1
  63. package/lib/lifecycle.js +33 -0
  64. package/lib/plugin-agents.js +154 -0
  65. package/lib/plugin.js +172 -133
  66. package/lib/presentation/asset.js +34 -0
  67. package/lib/presentation/assets/portable.js +606 -0
  68. package/lib/presentation/assets/static.js +1216 -0
  69. package/lib/presentation/build/index.js +72 -0
  70. package/lib/presentation/commit.js +163 -0
  71. package/lib/presentation/contracts/asset-path.js +9 -0
  72. package/lib/presentation/contracts/catalog.js +62 -0
  73. package/lib/presentation/contracts/charts.js +453 -0
  74. package/lib/presentation/contracts/editing.js +58 -0
  75. package/lib/presentation/contracts/index.js +663 -0
  76. package/lib/presentation/contracts/interaction.js +62 -0
  77. package/lib/presentation/contracts/types.js +15 -0
  78. package/lib/presentation/contracts/values.js +28 -0
  79. package/lib/presentation/delivery.js +71 -0
  80. package/lib/presentation/export-html.js +214 -0
  81. package/lib/presentation/files.js +82 -0
  82. package/lib/presentation/index.js +6 -0
  83. package/lib/presentation/lint.js +46 -0
  84. package/lib/presentation/projection/files.js +85 -0
  85. package/lib/presentation/projection/index.js +196 -0
  86. package/lib/presentation/projection/program.js +137 -0
  87. package/lib/presentation/projection/sql-code.js +79 -0
  88. package/lib/presentation/receipt.js +34 -0
  89. package/lib/presentation/reports.js +219 -0
  90. package/lib/presentation/rpc.js +186 -0
  91. package/lib/presentation/tool.js +118 -0
  92. package/lib/python-execution-contracts.js +1 -0
  93. package/lib/python-execution.js +232 -0
  94. package/lib/report-publishing/adapters.js +111 -0
  95. package/lib/report-publishing/config.js +69 -0
  96. package/lib/report-publishing/service.js +180 -0
  97. package/lib/rpc.js +49 -0
  98. package/lib/semantic-browser/contracts.js +97 -0
  99. package/lib/semantic-browser/definition.js +64 -0
  100. package/lib/semantic-browser/program.js +129 -0
  101. package/lib/semantic-browser/service.js +106 -0
  102. package/lib/semantic-reference/bridge.js +127 -0
  103. package/lib/semantic-reference/contracts.js +127 -0
  104. package/lib/semantic-reference/environment.js +56 -0
  105. package/lib/semantic-reference/index.js +3 -0
  106. package/lib/semantic-reference/labels.js +16 -0
  107. package/lib/semantic-reference/rpc.js +143 -0
  108. package/lib/semantic-reference/search.js +95 -0
  109. package/lib/semantic-reference/usage.js +152 -0
  110. package/lib/tool-lifecycle.js +22 -0
  111. package/lib/types/bridges.d.ts +2 -2
  112. package/lib/types/client/credentials/changes.d.ts +9 -0
  113. package/lib/types/client/credentials/create-datasource.d.ts +7 -0
  114. package/lib/types/client/credentials/credential-draft.d.ts +14 -0
  115. package/lib/types/client/credentials/defaults.d.ts +2 -0
  116. package/lib/types/client/credentials/descriptions.d.ts +1 -0
  117. package/lib/types/client/credentials/install.d.ts +19 -0
  118. package/lib/types/client/credentials/model.d.ts +79 -0
  119. package/lib/types/client/credentials/report-publishing.d.ts +5 -0
  120. package/lib/types/client/credentials/styles.d.ts +1 -0
  121. package/lib/types/client/i18n/context.d.ts +17 -0
  122. package/lib/types/client/i18n/copy.d.ts +806 -0
  123. package/lib/types/client/i18n/credentials.d.ts +475 -0
  124. package/lib/types/client/i18n/host.d.ts +16 -0
  125. package/lib/types/client/i18n/navigation.d.ts +41 -0
  126. package/lib/types/client/i18n/presentation.d.ts +577 -0
  127. package/lib/types/client/i18n/python.d.ts +19 -0
  128. package/lib/types/client/i18n/semantic.d.ts +441 -0
  129. package/lib/types/client/input-context.d.ts +19 -0
  130. package/lib/types/client/presentation/ask-dsh.d.ts +5 -0
  131. package/lib/types/client/presentation/catalog-model.d.ts +24 -0
  132. package/lib/types/client/presentation/catalog.d.ts +20 -0
  133. package/lib/types/client/presentation/chart-explorer.d.ts +12 -0
  134. package/lib/types/client/presentation/chart-geometry.d.ts +30 -0
  135. package/lib/types/client/presentation/chart-renderer.d.ts +10 -0
  136. package/lib/types/client/presentation/chart-specials.d.ts +10 -0
  137. package/lib/types/client/presentation/chart-styles.d.ts +1 -0
  138. package/lib/types/client/presentation/chart-tooltip.d.ts +13 -0
  139. package/lib/types/client/presentation/chart-view.d.ts +23 -0
  140. package/lib/types/client/presentation/context-reference.d.ts +12 -0
  141. package/lib/types/client/presentation/copy-context.d.ts +5 -0
  142. package/lib/types/client/presentation/delivery-model.d.ts +75 -0
  143. package/lib/types/client/presentation/delivery.d.ts +78 -0
  144. package/lib/types/client/presentation/download.d.ts +2 -0
  145. package/lib/types/client/presentation/editor-controls.d.ts +12 -0
  146. package/lib/types/client/presentation/export-menu.d.ts +26 -0
  147. package/lib/types/client/presentation/export-view.d.ts +63 -0
  148. package/lib/types/client/presentation/global-filters.d.ts +6 -0
  149. package/lib/types/client/presentation/host-entry.d.ts +18 -0
  150. package/lib/types/client/presentation/icons.d.ts +4 -0
  151. package/lib/types/client/presentation/markdown.d.ts +5 -0
  152. package/lib/types/client/presentation/model.d.ts +61 -0
  153. package/lib/types/client/presentation/reader.d.ts +24 -0
  154. package/lib/types/client/presentation/reference-source.d.ts +9 -0
  155. package/lib/types/client/presentation/source-code-model.d.ts +17 -0
  156. package/lib/types/client/presentation/source-code.d.ts +6 -0
  157. package/lib/types/client/presentation/source-dialog.d.ts +12 -0
  158. package/lib/types/client/presentation/source-facts.d.ts +20 -0
  159. package/lib/types/client/presentation/source-format.d.ts +5 -0
  160. package/lib/types/client/presentation/source-highlight.d.ts +7 -0
  161. package/lib/types/client/presentation/sources.d.ts +13 -0
  162. package/lib/types/client/presentation/styles.d.ts +1 -0
  163. package/lib/types/client/presentation/table.d.ts +16 -0
  164. package/lib/types/client/presentation/use-element-width.d.ts +5 -0
  165. package/lib/types/client/python-tool/card.d.ts +2 -0
  166. package/lib/types/client/python-tool/execution-error.d.ts +3 -0
  167. package/lib/types/client/python-tool/install.d.ts +2 -0
  168. package/lib/types/client/python-tool/model.d.ts +20 -0
  169. package/lib/types/client/right-tabs/install.d.ts +18 -0
  170. package/lib/types/client/right-tabs/live-delivery.d.ts +8 -0
  171. package/lib/types/client/right-tabs/navigation.d.ts +17 -0
  172. package/lib/types/client/right-tabs/page.d.ts +36 -0
  173. package/lib/types/client/right-tabs/styles.d.ts +2 -0
  174. package/lib/types/client/rpc.d.ts +3 -0
  175. package/lib/types/client/semantic-reference.d.ts +4 -0
  176. package/lib/types/client/workspace-header-action.d.ts +7 -0
  177. package/lib/types/client/workspace-shortcuts.d.ts +15 -0
  178. package/lib/types/client.d.ts +9 -124
  179. package/lib/types/compatibility.d.ts +3 -3
  180. package/lib/types/datasource/authoring.d.ts +35 -0
  181. package/lib/types/datasource/bridge.d.ts +43 -4
  182. package/lib/types/datasource/changes-contract.d.ts +18 -0
  183. package/lib/types/datasource/changes.d.ts +15 -0
  184. package/lib/types/datasource/configure.d.ts +7 -0
  185. package/lib/types/datasource/defaults.d.ts +7 -0
  186. package/lib/types/datasource/index.d.ts +8 -5
  187. package/lib/types/datasource/python-options.d.ts +9 -0
  188. package/lib/types/datasource/python.d.ts +19 -0
  189. package/lib/types/datasource/resolver-program.d.ts +6 -0
  190. package/lib/types/datasource/rpc.d.ts +5 -0
  191. package/lib/types/datasource/service.d.ts +155 -0
  192. package/lib/types/datasource/shell-env.d.ts +0 -29
  193. package/lib/types/datasource/test.d.ts +6 -29
  194. package/lib/types/disclosure/activation.d.ts +2 -1
  195. package/lib/types/disclosure/execution-guidance.d.ts +6 -0
  196. package/lib/types/disclosure/help.d.ts +1 -1
  197. package/lib/types/environment/binding.d.ts +5 -1
  198. package/lib/types/environment/errors.d.ts +1 -1
  199. package/lib/types/environment/runtime.d.ts +5 -5
  200. package/lib/types/environment/types.d.ts +15 -3
  201. package/lib/types/environment/workspace.d.ts +1 -0
  202. package/lib/types/index.d.ts +1 -1
  203. package/lib/types/lifecycle.d.ts +8 -0
  204. package/lib/types/plugin-agents.d.ts +27 -0
  205. package/lib/types/plugin.d.ts +14 -24
  206. package/lib/types/presentation/asset.d.ts +6 -0
  207. package/lib/types/presentation/build/index.d.ts +16 -0
  208. package/lib/types/presentation/commit.d.ts +4 -0
  209. package/lib/types/presentation/contracts/asset-path.d.ts +2 -0
  210. package/lib/types/presentation/contracts/catalog.d.ts +27 -0
  211. package/lib/types/presentation/contracts/charts.d.ts +11 -0
  212. package/lib/types/presentation/contracts/editing.d.ts +8 -0
  213. package/lib/types/presentation/contracts/index.d.ts +11 -0
  214. package/lib/types/presentation/contracts/interaction.d.ts +8 -0
  215. package/lib/types/presentation/contracts/types.d.ts +255 -0
  216. package/lib/types/presentation/contracts/values.d.ts +9 -0
  217. package/lib/types/presentation/delivery.d.ts +3 -0
  218. package/lib/types/presentation/export-html.d.ts +13 -0
  219. package/lib/types/presentation/files.d.ts +7 -0
  220. package/lib/types/presentation/index.d.ts +6 -0
  221. package/lib/types/presentation/lint.d.ts +13 -0
  222. package/lib/types/presentation/projection/files.d.ts +2 -0
  223. package/lib/types/presentation/projection/index.d.ts +20 -0
  224. package/lib/types/presentation/projection/program.d.ts +2 -0
  225. package/lib/types/presentation/projection/sql-code.d.ts +2 -0
  226. package/lib/types/presentation/receipt.d.ts +14 -0
  227. package/lib/types/presentation/reports.d.ts +10 -0
  228. package/lib/types/presentation/rpc.d.ts +25 -0
  229. package/lib/types/presentation/tool.d.ts +12 -0
  230. package/lib/types/python-execution-contracts.d.ts +10 -0
  231. package/lib/types/python-execution.d.ts +10 -0
  232. package/lib/types/report-publishing/adapters.d.ts +6 -0
  233. package/lib/types/report-publishing/config.d.ts +22 -0
  234. package/lib/types/report-publishing/service.d.ts +68 -0
  235. package/lib/types/rpc.d.ts +3 -0
  236. package/lib/types/semantic-browser/contracts.d.ts +47 -0
  237. package/lib/types/semantic-browser/definition.d.ts +20 -0
  238. package/lib/types/semantic-browser/program.d.ts +2 -0
  239. package/lib/types/semantic-browser/service.d.ts +26 -0
  240. package/lib/types/semantic-reference/bridge.d.ts +12 -0
  241. package/lib/types/semantic-reference/contracts.d.ts +54 -0
  242. package/lib/types/semantic-reference/environment.d.ts +22 -0
  243. package/lib/types/semantic-reference/index.d.ts +3 -0
  244. package/lib/types/semantic-reference/labels.d.ts +16 -0
  245. package/lib/types/semantic-reference/rpc.d.ts +15 -0
  246. package/lib/types/semantic-reference/search.d.ts +10 -0
  247. package/lib/types/semantic-reference/usage.d.ts +43 -0
  248. package/lib/types/tool-lifecycle.d.ts +4 -0
  249. package/lib/types/workspace-identity.d.ts +6 -0
  250. package/lib/workspace-identity.js +9 -0
  251. package/package.json +99 -53
  252. package/python/presentation-kit/dist/dsh_data_analysis_presentation_kit-1.1.0-py3-none-any.whl +0 -0
  253. package/skills/dsh-data-analysis-files/SKILL.md +32 -0
  254. package/skills/dsh-data-analysis-files/references/examples.md +93 -0
  255. package/skills/dsh-data-analysis-presentation/SKILL.md +28 -0
  256. package/skills/dsh-data-analysis-presentation/references/chart-examples.md +18 -0
  257. package/skills/dsh-data-analysis-presentation/references/charts.md +55 -0
  258. package/skills/dsh-data-analysis-presentation/references/examples/artifact.draft.json +36 -0
  259. package/skills/dsh-data-analysis-presentation/references/examples/charts-bins.dataset.json +33 -0
  260. package/skills/dsh-data-analysis-presentation/references/examples/charts-boxes.dataset.json +45 -0
  261. package/skills/dsh-data-analysis-presentation/references/examples/charts-composition.dataset.json +33 -0
  262. package/skills/dsh-data-analysis-presentation/references/examples/charts-funnel.dataset.json +27 -0
  263. package/skills/dsh-data-analysis-presentation/references/examples/charts-precision.dataset.json +21 -0
  264. package/skills/dsh-data-analysis-presentation/references/examples/charts-series.dataset.json +58 -0
  265. package/skills/dsh-data-analysis-presentation/references/examples/charts-shares.dataset.json +33 -0
  266. package/skills/dsh-data-analysis-presentation/references/examples/charts-waterfall.dataset.json +44 -0
  267. package/skills/dsh-data-analysis-presentation/references/examples/charts.draft.json +393 -0
  268. package/skills/dsh-data-analysis-presentation/references/examples/comparison-selected.dataset.json +24 -0
  269. package/skills/dsh-data-analysis-presentation/references/examples/comparison-summary.dataset.json +22 -0
  270. package/skills/dsh-data-analysis-presentation/references/examples/comparison.dataset.json +18 -0
  271. package/skills/dsh-data-analysis-presentation/references/examples/comparison.draft.json +80 -0
  272. package/skills/dsh-data-analysis-presentation/references/examples/computed-sources.draft.json +42 -0
  273. package/skills/dsh-data-analysis-presentation/references/examples/computed.dataset.json +12 -0
  274. package/skills/dsh-data-analysis-presentation/references/examples/computed.draft.json +58 -0
  275. package/skills/dsh-data-analysis-presentation/references/examples/interaction-detail.dataset.json +30 -0
  276. package/skills/dsh-data-analysis-presentation/references/examples/interaction-summary.dataset.json +22 -0
  277. package/skills/dsh-data-analysis-presentation/references/examples/interaction.draft.json +279 -0
  278. package/skills/dsh-data-analysis-presentation/references/examples/source-only.draft.json +27 -0
  279. package/skills/dsh-data-analysis-presentation/references/examples/write-charts.py +73 -0
  280. package/skills/dsh-data-analysis-presentation/references/examples/write-comparison.py +42 -0
  281. package/skills/dsh-data-analysis-presentation/references/examples/write-computed.py +21 -0
  282. package/skills/dsh-data-analysis-presentation/references/examples/write-interaction.py +33 -0
  283. package/skills/dsh-data-analysis-presentation/references/examples.md +44 -0
  284. package/skills/dsh-data-analysis-presentation/references/export-html.md +7 -0
  285. package/skills/dsh-data-analysis-presentation/references/interaction.md +56 -0
  286. package/skills/dsh-data-analysis-presentation/references/narrative.md +37 -0
  287. package/skills/dsh-data-analysis-presentation/references/publishing.md +3 -0
  288. package/skills/dsh-data-analysis-presentation/references/schema.md +162 -0
  289. package/lib/datasource/access.js +0 -60
  290. package/lib/datasource/credentials.js +0 -24
  291. package/lib/evidence/bridge-program.js +0 -153
  292. package/lib/evidence/bridge.js +0 -166
  293. package/lib/evidence/index.js +0 -2
  294. package/lib/evidence/sources.js +0 -263
  295. package/lib/types/datasource/access.d.ts +0 -27
  296. package/lib/types/evidence/bridge.d.ts +0 -40
  297. package/lib/types/evidence/index.d.ts +0 -4
  298. package/lib/types/evidence/sources.d.ts +0 -57
  299. package/python/report-kit/dist/dsh_data_analysis_report_kit-3.0.0-py3-none-any.whl +0 -0
  300. package/skills/dsh-data-analysis-report/SKILL.md +0 -57
  301. package/skills/dsh-data-analysis-report/assets/marivo-artifact.js +0 -113
  302. package/skills/dsh-data-analysis-report/assets/marivo-session-dag.js +0 -1201
  303. package/skills/dsh-data-analysis-report/assets/report-data.js +0 -449
@@ -0,0 +1,18 @@
1
+ import { resourceAddress } from './navigation.ts';
2
+ export declare const inject: string[];
3
+ /** Default browser integration. Layout belongs to Harness; mutable content belongs to occurrences. */
4
+ export declare function installRightTabs(ctx: any, { diagnostics }?: {
5
+ diagnostics?: boolean | undefined;
6
+ }): {
7
+ audit: {
8
+ opens: never[];
9
+ errors: never[];
10
+ changes: never[];
11
+ };
12
+ pages: Map<any, any>;
13
+ navigate: (sessionId: any, target: any, actions?: any, automatic?: boolean, params?: undefined) => void;
14
+ changed: (workspaceId: any, reportId: any) => void;
15
+ credentials: import("../credentials/model.ts").CredentialClientModel;
16
+ resourceAddress: typeof resourceAddress;
17
+ ask: (page: any, context: any) => void;
18
+ };
@@ -0,0 +1,8 @@
1
+ import type { SessionEventWindow } from '@deepseek-ai/dsh-api-session-controller/client';
2
+ import type { PresentationDelivery } from '../../presentation/receipt.ts';
3
+ /** Read-only Session window consumer. Initial history and replacement never navigate. */
4
+ export declare class LiveDeliveryObserver {
5
+ #private;
6
+ constructor(sessionId: string, onDelivery: (delivery: PresentationDelivery) => void);
7
+ consume(window: SessionEventWindow, baseline?: boolean): void;
8
+ }
@@ -0,0 +1,17 @@
1
+ import { type SemanticRef } from '../../semantic-reference/contracts.ts';
2
+ export type Directory = 'datasources' | 'semantic' | 'reports';
3
+ export type Resource = {
4
+ kind: 'report';
5
+ workspaceId: string;
6
+ reportId: string;
7
+ buildId?: string;
8
+ } | {
9
+ kind: 'semantic';
10
+ workspaceId: string;
11
+ ref: SemanticRef;
12
+ };
13
+ export declare const directoryKind: (page: Directory) => string;
14
+ export declare const definitionId: (kind: string) => string;
15
+ export declare function resourceAddress(target: Resource): string;
16
+ export declare function parseResource(address: string): Resource;
17
+ export declare function canOpenResource(address: string, kind: Resource['kind']): boolean;
@@ -0,0 +1,36 @@
1
+ import type { PresentationReceipt } from '../../presentation/contracts/types.ts';
2
+ import { CredentialClientModel } from '../credentials/model.ts';
3
+ import { ReportCatalogModel } from '../presentation/catalog-model.ts';
4
+ import { PresentationDeliveryModel, type PresentationRpc } from '../presentation/delivery-model.ts';
5
+ import type { ReaderViewMemory } from '../presentation/reader.tsx';
6
+ import { SemanticBrowserModel } from '../semantic-browser/model.ts';
7
+ import type { Directory, Resource } from './navigation.ts';
8
+ export type PageTarget = Resource | {
9
+ kind: Directory;
10
+ workspaceId: string;
11
+ };
12
+ export interface PageState {
13
+ error?: string;
14
+ notice?: string;
15
+ newer?: PresentationReceipt;
16
+ }
17
+ /** Lifetime belongs to a Host tab occurrence, never to a React body mount. */
18
+ export declare class TabPage {
19
+ #private;
20
+ readonly sessionId: string;
21
+ readonly target: PageTarget;
22
+ readonly reader: PresentationDeliveryModel;
23
+ readonly catalog: ReportCatalogModel;
24
+ readonly semantic: SemanticBrowserModel;
25
+ readonly datasources: CredentialClientModel;
26
+ readonly viewMemory: ReaderViewMemory;
27
+ constructor(sessionId: string, target: PageTarget, rpc: PresentationRpc, occurrenceId?: string);
28
+ getSnapshot: () => PageState;
29
+ subscribe: (listener: () => void) => () => void;
30
+ patch(change: Partial<PageState>): void;
31
+ navigate(revision: number, force?: boolean, history?: boolean): Promise<void>;
32
+ refresh(confirmDiscard?: () => boolean): Promise<void>;
33
+ publicationChanged(workspaceId: string, reportId?: string): Promise<void>;
34
+ unavailable(message: string): void;
35
+ dispose(): void;
36
+ }
@@ -0,0 +1,2 @@
1
+ /** Host-only chrome. Portable reports keep their own independent stylesheet. */
2
+ export declare const rightTabStyles = "\n.rt-page{height:100%;width:100%;min-width:0;overflow:auto;padding:16px;box-sizing:border-box;color:var(--dsw-alias-label-primary,#182a33);background:var(--dsw-alias-bg-base,#fff);container-type:inline-size;font:14px/1.6 system-ui,sans-serif}\n.rt-page *{box-sizing:border-box}.rt-page h2{font-size:18px;overflow-wrap:anywhere}.rt-page .rt-heading{margin:0 0 4px}.rt-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:4px}.rt-page .rt-heading-row .rt-heading{margin:0}.rt-heading-row>button{flex:none}.rt-caption{color:var(--dsw-alias-label-secondary,#627580);font-size:12px;margin:0 0 16px;overflow-wrap:anywhere}\n.rt-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--dsw-alias-border-l2,#dce4e8);margin-bottom:16px}\n.rt-page button,.rt-page select,.rt-page input{font:inherit;color:inherit;max-width:100%}.rt-page button{cursor:pointer;border:1px solid var(--dsw-alias-border-l2,#dce4e8);background:var(--dsw-alias-bg-base,#fff);border-radius:7px;padding:6px 10px}.rt-page button:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover,#edf4f3)}.rt-page button:disabled{opacity:.5;cursor:default}.rt-page :focus-visible{outline:2px solid var(--dsw-alias-state-business-primary,#087b70);outline-offset:3px}\n.rt-page select{padding:8px;border:1px solid var(--dsw-alias-border-l2,#dce4e8);border-radius:7px;background:var(--dsw-alias-bg-base,#fff)}.rt-page [role=alert]{color:var(--dsw-alias-state-warn-label,#b14927);overflow-wrap:anywhere}.rt-notice{padding:12px;border:1px solid var(--dsw-alias-border-l2,#dce4e8);border-radius:8px;background:var(--dsw-alias-bg-module-platform,#f5f7f9)}\n.rt-page .pd-catalog{padding:0;overflow:auto}.rt-page .pd-history{position:static;max-height:300px;border:1px solid var(--dsw-alias-border-l2,#dce4e8);border-radius:8px;margin-bottom:16px;width:100%}\n.rt-page .rt-refresh{display:grid;place-items:center;padding:7px;border-color:transparent;background:transparent}\n@container(max-width:650px){.rt-page .pr-reader{padding:24px 4px}.rt-page .pr-reader h1{font-size:25px}.rt-page .pr-block-metric{padding:14px}.rt-page .pr-metric-value{font-size:clamp(18px,7cqi,30px)}}\n";
@@ -0,0 +1,3 @@
1
+ /** Keep feature RPC names while using Harness's authenticated shared API transport. */
2
+ import type { ClientConnectionRpc } from '@deepseek-ai/dsh-client-connection/client';
3
+ export declare function createPluginRpc(rpc: ClientConnectionRpc): ClientConnectionRpc;
@@ -0,0 +1,4 @@
1
+ import type { ReferenceInsert } from '@deepseek-ai/dsh-client-ui-conversation/client';
2
+ import { type Envelope } from '../semantic-reference/contracts.ts';
3
+ /** Both the @ picker and semantic details insert exactly this Host reference. */
4
+ export declare function semanticReference(envelope: Envelope): ReferenceInsert;
@@ -0,0 +1,7 @@
1
+ export declare function WorkspaceHeaderAction({ label, icon, disabled, title, onClick, }: {
2
+ label: string;
3
+ icon: 'semantic' | 'credentials' | 'reports';
4
+ disabled: boolean;
5
+ title?: string;
6
+ onClick: () => void;
7
+ }): import("react").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import type { SessionSnapshot } from '@deepseek-ai/dsh-api-session-controller/client';
2
+ import { type ConversationSnapshot } from '@deepseek-ai/dsh-client-ui-conversation/client';
3
+ export declare const workspaceDirectories: {
4
+ readonly datasources: "marivo.credentials.datasources-and-credentials";
5
+ readonly semantic: "marivo.navigation.semantic-layer";
6
+ readonly reports: "marivo.presentation.reports";
7
+ };
8
+ export type WorkspaceDirectory = keyof typeof workspaceDirectories;
9
+ /** Only the Host's blank phase exposes preparation actions; drafts are untouched. */
10
+ export declare function WorkspaceShortcuts({ session, conversation, disabled, open, }: {
11
+ session?: SessionSnapshot;
12
+ conversation?: ConversationSnapshot;
13
+ disabled: boolean;
14
+ open: (page: WorkspaceDirectory) => void;
15
+ }): import("react").JSX.Element | null;
@@ -1,125 +1,10 @@
1
1
  import type { Context } from '@deepseek-ai/cordis';
2
- export declare const MARIVO_CREDENTIAL_STORAGE_PREFIX = "DSH_DATA_ANALYSIS_CREDENTIAL_";
3
- declare const EVIDENCE_SOURCES_META_KIND = "marivo-evidence-sources";
4
- declare const EVIDENCE_SOURCES_META_VERSION = 2;
5
- /** Browser-side copy of the Host mapping; contract tests keep both implementations identical. */
6
- export declare function marivoCredentialStorageRef(ref: string): string;
7
- export interface MarivoEvidenceSource {
8
- status: 'available' | 'missing' | 'unsupported';
9
- title: string;
10
- locator: string;
11
- excerpt: string | null;
12
- truncated: boolean;
13
- environmentFingerprint: string;
14
- sessionId: string;
15
- findingId: string;
16
- findingType: string | null;
17
- epistemicKind: string | null;
18
- artifactRef: string;
19
- canonicalItemKey: string | null;
20
- committedAt: string | null;
21
- sourceRefs: string[];
22
- revalidation: {
23
- status: string;
24
- semanticStatus: string | null;
25
- evidenceStatus: string | null;
26
- dependencyStatus: string | null;
27
- } | null;
28
- }
29
- export interface MarivoEvidenceSourcesMeta {
30
- readonly kind: typeof EVIDENCE_SOURCES_META_KIND;
31
- readonly version: typeof EVIDENCE_SOURCES_META_VERSION;
32
- readonly dshSessionId: string;
33
- readonly sources: readonly MarivoEvidenceSource[];
34
- }
35
- export interface MarivoEvidenceSourcesTurnDelivery {
36
- readonly seq: number;
37
- readonly sources: readonly MarivoEvidenceSource[];
38
- }
39
- export interface MarivoEvidenceSourcesTurnData {
40
- readonly deliveries: readonly MarivoEvidenceSourcesTurnDelivery[];
41
- }
42
- interface MarivoEvidenceSourcesTurnState {
43
- readonly turn: number;
44
- readonly calls: ReadonlyMap<string, string>;
45
- readonly deliveries: readonly MarivoEvidenceSourcesTurnDelivery[];
46
- }
47
- export interface MarivoEvidenceArtifactGroup {
48
- readonly key: string;
49
- readonly environmentFingerprint: string;
50
- readonly sessionId: string;
51
- readonly artifactRef: string;
52
- readonly sources: readonly MarivoEvidenceSource[];
53
- }
54
- declare module '@deepseek-ai/dsh-client-runtime/client' {
55
- interface ConversationTurnDataMap {
56
- /** Explicitly requested Marivo Evidence sources collected from this exact Turn. */
57
- 'marivo-evidence-sources-delivery': MarivoEvidenceSourcesTurnData;
58
- }
59
- }
60
- /** Parse the closed per-call source attachment persisted in Tool result metadata. */
61
- export declare function parseEvidenceSourcesMeta(value: unknown): MarivoEvidenceSourcesMeta | null;
62
- /** Decode the Code Mode-only source attachment from a durable sub-dispatch result. */
63
- export declare function parseEvidenceSourcesDurableContent(value: unknown): {
64
- readonly turn: number;
65
- readonly meta: MarivoEvidenceSourcesMeta;
66
- } | null;
67
- /** Recover one successful native or nested source attachment. */
68
- export declare function evidenceSourcesDeliveryFromEvent(event: any, calls?: ReadonlyMap<string, string>): MarivoEvidenceSourcesTurnDelivery | null;
69
- /** Aggregate explicit source attachments under one Harness-owned Turn key. */
70
- export declare const marivoEvidenceSourcesDeliveryDefinition: {
71
- kind: string;
72
- match(event: any): {
73
- id: string;
74
- role: string;
75
- } | null;
76
- start(_context: any, match: any): MarivoEvidenceSourcesTurnState;
77
- update(context: any, match: any): MarivoEvidenceSourcesTurnState;
78
- buildLocationData(context: any, scope: string): {
79
- kind: string;
80
- turn: any;
81
- key: string;
82
- value: {
83
- deliveries: any;
84
- };
85
- } | null;
86
- };
87
- /** Successful sources completed before this exact closing Assistant message. */
88
- export declare function evidenceSourcesForClosing(owner: any): readonly MarivoEvidenceSource[];
89
- export declare function selectMarivoEvidenceSources(owner: any): readonly MarivoEvidenceSource[] | null;
90
- /** Group source presentation only; this does not infer Evidence equivalence or compatibility. */
91
- export declare function groupMarivoEvidenceSources(sources: readonly MarivoEvidenceSource[]): readonly MarivoEvidenceArtifactGroup[];
92
- export interface NeedsCredentialsResult {
93
- status: 'needs-credentials';
94
- name: string;
95
- refs: string[];
96
- }
97
- export declare function parseNeedsCredentials(text: string): NeedsCredentialsResult | null;
98
- export declare function shouldAutoOpen(sessionId: string, callId: string, result: NeedsCredentialsResult | null): boolean;
99
- export declare function blankCredentialValues(refs: readonly string[]): Record<string, string>;
100
- export declare class CredentialDialogController {
101
- readonly api: any;
102
- constructor(api: any);
103
- describe(refs: readonly string[]): Promise<Record<string, {
104
- configured: boolean;
105
- }>>;
106
- inspect(refs: readonly string[]): Promise<{
107
- configured: Record<string, boolean>;
108
- missing: string[];
109
- shouldOpen: boolean;
110
- }>;
111
- save(values: Readonly<Record<string, string>>): Promise<{
112
- ok: boolean;
113
- saved: string[];
114
- errors: Record<string, string>;
115
- }>;
116
- }
117
- export declare function MarivoDatasourceTestToolView(props: any): import("react").JSX.Element;
118
- export declare function MarivoDatasourceAccessToolView(props: any): import("react").JSX.Element;
119
- export declare function MarivoEvidenceSourcesPanel({ matched: sources, t, }: {
120
- matched: readonly MarivoEvidenceSource[];
121
- t: (key: string, values?: Record<string, string>) => string;
122
- }): import("react").JSX.Element;
123
- export declare const inject: string[];
124
- export declare function apply(ctx: Context): void;
125
- export {};
2
+ import { inject, installRightTabs } from './client/right-tabs/install.tsx';
3
+ export { marivoPresentationDeliveryDefinition, parsePresentationDurableContent, presentationDeliveryFromEvent, presentationsForNode, } from './client/presentation/delivery.ts';
4
+ export { PresentationDeliveryModel } from './client/presentation/delivery-model.ts';
5
+ export { HostPresentationReader } from './client/presentation/host-entry.tsx';
6
+ export { inject };
7
+ export declare function apply(ctx: Context, options?: {
8
+ diagnostics?: boolean;
9
+ onInstalled?: (controller: ReturnType<typeof installRightTabs>) => void;
10
+ }): void;
@@ -10,14 +10,14 @@ export interface DshDataAnalysisCompatibility {
10
10
  readonly packageSpec: string;
11
11
  };
12
12
  readonly contracts: {
13
- readonly runtimeInstallation: 'dsh-data-analysis-runtime/v2';
13
+ readonly runtimeInstallation: 'dsh-data-analysis-runtime/v3';
14
14
  readonly subprocessPolicy: 'direct-argv-inherited-env-snapshot-overlay-v2';
15
15
  };
16
16
  }
17
17
  /** The package semver and the compatibility contract shipped in this exact installation. */
18
18
  export declare const PLUGIN_VERSION: string;
19
19
  export declare const DSH_DATA_ANALYSIS_COMPATIBILITY: DshDataAnalysisCompatibility;
20
- /** Every DSH peer is required and must use this one verified release. */
20
+ /** Every DSH peer is required and must satisfy this declared compatibility range. */
21
21
  export declare const DSH_PEER_RANGE: string;
22
22
  export declare const DSH_DISTRIBUTION: "@deepseek-ai/dsh";
23
23
  export declare const DSH_PEER_DEPENDENCIES: Readonly<{
@@ -25,5 +25,5 @@ export declare const DSH_PEER_DEPENDENCIES: Readonly<{
25
25
  }>;
26
26
  export declare const MARIVO_VERSION: string;
27
27
  export declare const MARIVO_PACKAGE_SPEC: string;
28
- export declare const RUNTIME_INSTALLATION_VERSION: "dsh-data-analysis-runtime/v2";
28
+ export declare const RUNTIME_INSTALLATION_VERSION: "dsh-data-analysis-runtime/v3";
29
29
  export declare const SUBPROCESS_POLICY_VERSION: "direct-argv-inherited-env-snapshot-overlay-v2";
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod';
2
+ export declare const datasourceAuthoringSchema: z.ZodObject<{
3
+ fingerprint: z.ZodString;
4
+ backends: z.ZodArray<z.ZodObject<{
5
+ name: z.ZodString;
6
+ fields: z.ZodArray<z.ZodObject<{
7
+ name: z.ZodString;
8
+ type: z.ZodEnum<{
9
+ string: "string";
10
+ number: "number";
11
+ boolean: "boolean";
12
+ json: "json";
13
+ }>;
14
+ required: z.ZodBoolean;
15
+ description: z.ZodString;
16
+ default: z.ZodOptional<z.ZodUnknown>;
17
+ }, z.core.$strip>>;
18
+ }, z.core.$strip>>;
19
+ }, z.core.$strip>;
20
+ export type DatasourceAuthoring = z.infer<typeof datasourceAuthoringSchema>;
21
+ export interface DatasourceConfiguration {
22
+ name: string;
23
+ backend: string;
24
+ fields: Record<string, unknown>;
25
+ version: string;
26
+ }
27
+ export interface DatasourceUpdateInput extends DatasourceCreateInput {
28
+ name: string;
29
+ version: string;
30
+ }
31
+ export interface DatasourceCreateInput {
32
+ backend: string;
33
+ fields: Record<string, unknown>;
34
+ }
35
+ export declare const DATASOURCE_AUTHORING_PROGRAM: string;
@@ -1,6 +1,7 @@
1
- import type { JsonValue } from '@deepseek-ai/dsh-session';
1
+ import type { JsonValue } from '@deepseek-ai/dsh-util-values';
2
2
  import type { MarivoBridgeSource } from '../environment/source.ts';
3
3
  import type { MarivoCheckedRunner, MarivoEnvironmentBinding } from '../environment/types.ts';
4
+ import { type DatasourceAuthoring, type DatasourceConfiguration, type DatasourceCreateInput, type DatasourceUpdateInput } from './authoring.ts';
4
5
  interface JsonObject {
5
6
  [key: string]: JsonValue;
6
7
  }
@@ -13,7 +14,10 @@ export interface MarivoDatasourceFailure extends JsonObject {
13
14
  }
14
15
  export interface MarivoDatasourceRepair extends JsonObject {
15
16
  kind: string;
16
- help_target: string;
17
+ help_target: {
18
+ surface: string;
19
+ canonical_id: string | null;
20
+ };
17
21
  action: string;
18
22
  snippet: string | null;
19
23
  candidates: string[];
@@ -21,7 +25,11 @@ export interface MarivoDatasourceRepair extends JsonObject {
21
25
  }
22
26
  export interface MarivoDatasourceDescription {
23
27
  name: string;
28
+ backend?: string;
29
+ properties?: Record<string, JsonValue>;
24
30
  refs: string[];
31
+ fields: Record<string, string>;
32
+ definition: string;
25
33
  }
26
34
  export interface MarivoDatasourceTestResult {
27
35
  name: string;
@@ -32,9 +40,23 @@ export interface MarivoDatasourceTestResult {
32
40
  }
33
41
  export interface MarivoDatasourceBridgePort {
34
42
  readonly binding: Readonly<MarivoEnvironmentBinding>;
43
+ remove?(description: Readonly<MarivoDatasourceDescription>, signal?: AbortSignal): Promise<{
44
+ name?: string;
45
+ error?: string;
46
+ }>;
47
+ authoring?(signal?: AbortSignal): Promise<DatasourceAuthoring>;
48
+ create?(input: DatasourceCreateInput, signal?: AbortSignal): Promise<{
49
+ name?: string;
50
+ error?: string;
51
+ }>;
52
+ configuration?(name: string, signal?: AbortSignal): Promise<DatasourceConfiguration>;
53
+ update?(input: DatasourceUpdateInput, signal?: AbortSignal): Promise<{
54
+ name?: string;
55
+ error?: string;
56
+ }>;
35
57
  describe(name: string, signal?: AbortSignal): Promise<MarivoDatasourceDescription>;
36
58
  inventory(signal?: AbortSignal): Promise<MarivoDatasourceDescription[]>;
37
- test(name: string, environmentOverlay: Readonly<NodeJS.ProcessEnv>, signal?: AbortSignal): Promise<MarivoDatasourceTestResult>;
59
+ test(description: Readonly<MarivoDatasourceDescription>, values: Readonly<Record<string, string>>, signal?: AbortSignal): Promise<MarivoDatasourceTestResult>;
38
60
  }
39
61
  export type MarivoDatasourceBridgeSource = MarivoBridgeSource<MarivoDatasourceBridgePort>;
40
62
  export type MarivoDatasourceInventoryBridge = Pick<MarivoDatasourceBridgePort, 'inventory'>;
@@ -44,9 +66,26 @@ export declare class MarivoDatasourceBridge {
44
66
  #private;
45
67
  readonly binding: Readonly<MarivoEnvironmentBinding>;
46
68
  constructor(runner: MarivoCheckedRunner);
69
+ authoring(signal?: AbortSignal): Promise<DatasourceAuthoring>;
70
+ configuration(name: string, signal?: AbortSignal): Promise<DatasourceConfiguration>;
71
+ update(input: DatasourceUpdateInput, signal?: AbortSignal): Promise<{
72
+ name?: string;
73
+ error?: string;
74
+ }>;
75
+ create(input: DatasourceCreateInput, signal?: AbortSignal): Promise<{
76
+ name?: string;
77
+ error?: string;
78
+ }>;
47
79
  describe(name: string, signal?: AbortSignal): Promise<MarivoDatasourceDescription>;
80
+ remove(description: Readonly<MarivoDatasourceDescription>, signal?: AbortSignal): Promise<{
81
+ error: string;
82
+ name?: undefined;
83
+ } | {
84
+ name: string;
85
+ error?: undefined;
86
+ }>;
48
87
  inventory(signal?: AbortSignal): Promise<MarivoDatasourceDescription[]>;
49
- test(name: string, environmentOverlay: Readonly<NodeJS.ProcessEnv>, signal?: AbortSignal): Promise<MarivoDatasourceTestResult>;
88
+ test(description: Readonly<MarivoDatasourceDescription>, values: Readonly<Record<string, string>>, signal?: AbortSignal): Promise<MarivoDatasourceTestResult>;
50
89
  }
51
90
  export declare function resolveMarivoDatasourceBridge(source: MarivoDatasourceBridgeSource): Promise<MarivoDatasourceBridgePort>;
52
91
  export declare function resolveMarivoDatasourceInventoryBridge(source: MarivoDatasourceInventoryBridgeSource): Promise<MarivoDatasourceInventoryBridge>;
@@ -0,0 +1,18 @@
1
+ import type { TypertRemoteContribution } from '@deepseek-ai/dsh-typert-protocol';
2
+ import type { TypertContribution } from '@deepseek-ai/dsh-typert-registry';
3
+ import { z } from 'zod';
4
+ export declare const CREDENTIAL_CHANGES_SERVICE = "dshDataAnalysisCredentials";
5
+ export declare const credentialRevisionSchema: z.ZodObject<{
6
+ generation: z.ZodString;
7
+ cursor: z.ZodString;
8
+ }, z.core.$strict>;
9
+ export type CredentialRevision = z.infer<typeof credentialRevisionSchema>;
10
+ export declare const credentialChangesHost: TypertContribution;
11
+ export declare const credentialChangesRemote: TypertRemoteContribution;
12
+ declare module '@deepseek-ai/dsh-typert-protocol' {
13
+ interface TypertRemoteNamespaceMap {
14
+ dshDataAnalysisCredentials: {
15
+ changes(sessionId: string, signal?: AbortSignal): AsyncIterable<CredentialRevision>;
16
+ };
17
+ }
18
+ }
@@ -0,0 +1,15 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import { TypertRemoteService } from '@deepseek-ai/dsh-typert-protocol';
3
+ import { type CredentialRevision } from './changes-contract.ts';
4
+ import { type MarivoCredentialService } from './service.ts';
5
+ /** Reuses the Host's logical stream carrier; credentials and waiting calls keep their owner. */
6
+ export declare class CredentialChangesService extends TypertRemoteService {
7
+ private readonly credentials;
8
+ private readonly lifetime;
9
+ private readonly tasks;
10
+ private closing?;
11
+ constructor(ctx: Context, credentials: Pick<MarivoCredentialService, 'waitWatch'>);
12
+ changes(sessionId: string, caller: AbortSignal): AsyncIterable<CredentialRevision>;
13
+ private snapshot;
14
+ close(): Promise<void>;
15
+ }
@@ -0,0 +1,7 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import { type ToolDefinition } from '@deepseek-ai/dsh-tools';
3
+ import { type MarivoDatasourceBridgeSource } from './bridge.ts';
4
+ import type { MarivoCredentialService } from './service.ts';
5
+ export declare const MARIVO_DATASOURCE_CONFIGURE_TOOL_NAME = "marivo_datasource_configure";
6
+ export declare function createMarivoDatasourceConfigureTool(source: MarivoDatasourceBridgeSource, service: MarivoCredentialService): ToolDefinition;
7
+ export declare function registerMarivoDatasourceConfigureTool(ctx: Context, source: MarivoDatasourceBridgeSource, service: MarivoCredentialService): () => Promise<void>;
@@ -0,0 +1,7 @@
1
+ import type { DatasourceAuthoring } from './authoring.ts';
2
+ export type DatasourceDefaults = Record<string, Record<string, unknown>>;
3
+ export type DatasourceAuthoringView = DatasourceAuthoring & {
4
+ creationDefaults?: DatasourceDefaults;
5
+ };
6
+ /** Validate against this Workspace's live Runtime; never include config values in errors. */
7
+ export declare function withDatasourceDefaults(schema: DatasourceAuthoring, configured: unknown): DatasourceAuthoringView;
@@ -1,8 +1,11 @@
1
- export type { MarivoDatasourceAccessOptions, MarivoDatasourceAccessValue, } from './access.ts';
2
- export { createMarivoDatasourceAccessTool, MARIVO_DATASOURCE_ACCESS_TOOL_NAME, registerMarivoDatasourceAccessTool, } from './access.ts';
1
+ export type { DatasourceConfiguration, DatasourceUpdateInput } from './authoring.ts';
3
2
  export type { MarivoDatasourceBridgePort, MarivoDatasourceBridgeSource, MarivoDatasourceDescription, MarivoDatasourceFailure, MarivoDatasourceInventoryBridge, MarivoDatasourceInventoryBridgeSource, MarivoDatasourceRepair, MarivoDatasourceTestResult, } from './bridge.ts';
4
3
  export { MarivoDatasourceBridge, resolveMarivoDatasourceBridge, resolveMarivoDatasourceInventoryBridge, } from './bridge.ts';
5
- export type { MarivoShellLeaseReceipt } from './shell-env.ts';
6
- export { assertMarivoCredentialReferences, DEFAULT_MARIVO_CREDENTIAL_LEASE_MAX_USES, DEFAULT_MARIVO_CREDENTIAL_LEASE_TTL_MS, MARIVO_CREDENTIAL_LEASE_PREFIX, MARIVO_CREDENTIAL_STORAGE_PREFIX, MarivoShellCredentialLeases, marivoCredentialStorageRef, } from './shell-env.ts';
7
- export type { MarivoDatasourceTestOptions, MarivoDatasourceTestValue, } from './test.ts';
4
+ export { createMarivoDatasourceConfigureTool, MARIVO_DATASOURCE_CONFIGURE_TOOL_NAME, registerMarivoDatasourceConfigureTool, } from './configure.ts';
5
+ export type { MarivoPythonExecutionSummary } from './python.ts';
6
+ export { MarivoPythonExecutionError, registerMarivoPythonTool } from './python.ts';
7
+ export type { MarivoPythonOptions } from './python-options.ts';
8
+ export type { ConfigurationRequestView, ConfigurationResult, DatasourceConfigureInput, } from './service.ts';
9
+ export { MarivoCredentialService } from './service.ts';
10
+ export { assertMarivoCredentialReferences, MARIVO_CREDENTIAL_STORAGE_PREFIX, marivoCredentialStorageRef, } from './shell-env.ts';
8
11
  export { createMarivoDatasourceTestTool, MARIVO_DATASOURCE_TEST_TOOL_NAME, registerMarivoDatasourceTestTool, } from './test.ts';
@@ -0,0 +1,9 @@
1
+ export declare const DEFAULT_PYTHON_TIMEOUT_MS = 120000;
2
+ export declare const DEFAULT_PYTHON_MAX_TIMEOUT_MS = 600000;
3
+ export interface MarivoPythonOptions {
4
+ pythonTimeoutMs?: number;
5
+ pythonMaxTimeoutMs?: number;
6
+ }
7
+ /** Do not echo rejected inputs: tool arguments and configuration are not trusted diagnostics. */
8
+ export declare function pythonTimeout(value: unknown, name: string): number;
9
+ export declare function resolvePythonOptions(options: MarivoPythonOptions): Required<MarivoPythonOptions>;
@@ -0,0 +1,19 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import { type MarivoDatasourceBridgeSource } from './bridge.ts';
3
+ import { type MarivoPythonOptions } from './python-options.ts';
4
+ import { type MarivoCredentialService } from './service.ts';
5
+ export interface MarivoPythonExecutionSummary {
6
+ phase: 'preparing' | 'executing' | 'capturing-code';
7
+ reason: 'not-started' | 'succeeded' | 'nonzero-exit' | 'timed-out' | 'cancelled' | 'unknown';
8
+ requestedTimeoutMs: number | null;
9
+ effectiveTimeoutMs: number | null;
10
+ elapsedMs: number;
11
+ executionElapsedMs: number | null;
12
+ nextAction: string | null;
13
+ }
14
+ /** The message survives Harness error normalization; it contains only safe adapter facts. */
15
+ export declare class MarivoPythonExecutionError extends Error {
16
+ readonly execution: MarivoPythonExecutionSummary;
17
+ constructor(message: string, execution: MarivoPythonExecutionSummary);
18
+ }
19
+ export declare function registerMarivoPythonTool(ctx: Context, source: MarivoDatasourceBridgeSource, service: MarivoCredentialService, options?: MarivoPythonOptions): () => Promise<void>;
@@ -0,0 +1,6 @@
1
+ /** Shared Python adapter. All inputs below arrive on a Host-owned pipe. */
2
+ export declare const RESOLVER_PROGRAM: string;
3
+ /** The worker checks the exact binding and enters scope before any user code. */
4
+ export declare const PYTHON_WORKER: string;
5
+ /** Capture raw fd output before Harness collection/spill, including driver writes. */
6
+ export declare const PYTHON_LAUNCHER: string;
@@ -0,0 +1,5 @@
1
+ import type { HostConnectionHandle } from '@deepseek-ai/dsh-client-connection';
2
+ import type { MarivoDatasourceBridgePort } from './bridge.ts';
3
+ import { type DatasourceDefaults } from './defaults.ts';
4
+ import { type MarivoCredentialService } from './service.ts';
5
+ export declare function registerCredentialRpc(connection: HostConnectionHandle, service: MarivoCredentialService, workspace: (id: string) => Promise<MarivoDatasourceBridgePort>, datasourceDefaults?: DatasourceDefaults): () => Promise<void>;