@sparkelf/dsh-plugin-dataops 0.1.0-rc.11 → 0.1.0-rc.13
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.
- package/README.i18n.yaml +2 -2
- package/README.md +1 -1
- package/README.zh.md +1 -1
- package/lib/client.js +12 -4
- package/lib/index.js +7 -1
- package/lib/types/client/index.d.ts +3 -3
- package/package.json +32 -29
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/plus/dataops/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 1dc47738195d66e1ca08ac35c18107e0780bf430
|
|
6
|
+
README.zh.md: a4cec8bbfb2b2a687afb892d3d07273a99534d28
|
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ This complete Host and Client plugin owns one DataOps target identity, browser A
|
|
|
23
23
|
<a id="use-this-package"></a>
|
|
24
24
|
## Use this package
|
|
25
25
|
|
|
26
|
-
Set `DSH_DATAOPS_BASE_URL` to the DataOps Web origin that serves both `/auth/dsh/authorize` and proxied `/api`; `DSH_DATAOPS_CALLBACK_ORIGIN` optionally names a non-loopback DSH browser origin. The package stores the delegated access token and stable target identity under `dataops_access_token` and `dataops_target_ref`; DataOps ties the token lifetime to its authenticated browser session. When the current grant expires or its browser session is revoked, the DataOps Client contribution raises a DSH shell modal with **Later** and **Sign in again**; the latter opens the real OAuth popup from the user gesture. Settings also distinguishes the rejected stored grant from a never-connected state and keeps the same recovery action available. An authentication-rejected MCP call remains an error result inside the agent turn; it does not terminate the task, and Plus does not automatically replay an unconfirmed tool operation. Disconnect revokes account tokens but retains target identity. OAuth callback failures expose only a fixed, actionable stage in Settings; authorization codes, state, tokens, upstream bodies, and arbitrary error text remain outside the browser message.
|
|
26
|
+
Set `DSH_DATAOPS_BASE_URL` to the DataOps Web origin that serves both `/auth/dsh/authorize` and proxied `/api`; `DSH_DATAOPS_CALLBACK_ORIGIN` optionally names a non-loopback DSH browser origin. The browser contribution registers only when Host plugin inventory reports the matching `plus-dataops` entry effectively enabled, so an installed package whose environment condition disables the Host stays inert instead of requesting absent routes. The package stores the delegated access token and stable target identity under `dataops_access_token` and `dataops_target_ref`; DataOps ties the token lifetime to its authenticated browser session. When the current grant expires or its browser session is revoked, the DataOps Client contribution raises a DSH shell modal with **Later** and **Sign in again**; the latter opens the real OAuth popup from the user gesture. Settings also distinguishes the rejected stored grant from a never-connected state and keeps the same recovery action available. An authentication-rejected MCP call remains an error result inside the agent turn; it does not terminate the task, and Plus does not automatically replay an unconfirmed tool operation. Disconnect revokes account tokens but retains target identity. OAuth callback failures expose only a fixed, actionable stage in Settings; authorization codes, state, tokens, upstream bodies, and arbitrary error text remain outside the browser message.
|
|
27
27
|
|
|
28
28
|
-----
|
|
29
29
|
|
package/README.zh.md
CHANGED
|
@@ -23,7 +23,7 @@ kind: "package-reference"
|
|
|
23
23
|
<a id="use-this-package"></a>
|
|
24
24
|
## 使用此软件包
|
|
25
25
|
|
|
26
|
-
把`DSH_DATAOPS_BASE_URL`设为同时提供`/auth/dsh/authorize`及proxied `/api`的DataOps Web origin;`DSH_DATAOPS_CALLBACK_ORIGIN`可选指定non-loopback DSH browser origin。该package把delegated access token及stable target identity存入`dataops_access_token`与`dataops_target_ref`;DataOps把token lifetime绑定到authenticated browser session。Current grant过期或其browser session被revoke时,DataOps Client contribution会弹出带**稍后**与**重新登录**的DSH shell modal;后者从用户手势打开real OAuth popup。Settings也会把rejected stored grant与never-connected state区分,并保留同一个恢复动作。Authentication-rejected MCP call仍是agent turn内的error result,不会终止task;Plus不会自动重放结果未知的tool operation。Disconnect会revoke account tokens但保留target identity。OAuth callback failure只在Settings暴露固定、可操作的failure stage;authorization code、state、token、upstream body及任意error text不会进入browser message。
|
|
26
|
+
把`DSH_DATAOPS_BASE_URL`设为同时提供`/auth/dsh/authorize`及proxied `/api`的DataOps Web origin;`DSH_DATAOPS_CALLBACK_ORIGIN`可选指定non-loopback DSH browser origin。Browser contribution仅在Host plugin inventory报告对应`plus-dataops` entry有效启用时注册;若环境条件禁用Host,已安装package保持inert,不请求不存在的route。该package把delegated access token及stable target identity存入`dataops_access_token`与`dataops_target_ref`;DataOps把token lifetime绑定到authenticated browser session。Current grant过期或其browser session被revoke时,DataOps Client contribution会弹出带**稍后**与**重新登录**的DSH shell modal;后者从用户手势打开real OAuth popup。Settings也会把rejected stored grant与never-connected state区分,并保留同一个恢复动作。Authentication-rejected MCP call仍是agent turn内的error result,不会终止task;Plus不会自动重放结果未知的tool operation。Disconnect会revoke account tokens但保留target identity。OAuth callback failure只在Settings暴露固定、可操作的failure stage;authorization code、state、token、upstream body及任意error text不会进入browser message。
|
|
27
27
|
|
|
28
28
|
-----
|
|
29
29
|
|
package/lib/client.js
CHANGED
|
@@ -489,10 +489,18 @@ window.__ModuleLoader__.load({
|
|
|
489
489
|
//#endregion
|
|
490
490
|
//#region lib/types/client/index.js
|
|
491
491
|
const NS = "settings.dataops";
|
|
492
|
-
/** Client services required for
|
|
493
|
-
const inject = [
|
|
494
|
-
|
|
495
|
-
|
|
492
|
+
/** Client services required for Host activation discovery, Settings, and frame overlays. */
|
|
493
|
+
const inject = [
|
|
494
|
+
"slots",
|
|
495
|
+
"locale",
|
|
496
|
+
"remote",
|
|
497
|
+
"remote.pluginInventory"
|
|
498
|
+
];
|
|
499
|
+
/** 仅在Host inventory确认对应plugin有效启用时注册browser contributions。 */
|
|
500
|
+
async function apply(ctx) {
|
|
501
|
+
const result = await ctx.remote.pluginInventory.list();
|
|
502
|
+
if (!result.ok) throw new Error(`pluginInventory.list failed: ${result.error.code}: ${result.error.message}`);
|
|
503
|
+
if (!result.value.entries.some((entry) => entry.entryId === "plus-dataops" && entry.enabled)) return;
|
|
496
504
|
ctx.effect(() => ctx.locale.register(NS, {
|
|
497
505
|
zh,
|
|
498
506
|
en
|
package/lib/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { createHash, randomBytes } from "node:crypto";
|
|
|
2
2
|
import { MAX_TIMER_DELAY_MS } from "@deepseek-ai/dsh-timeout";
|
|
3
3
|
import z from "@deepseek-ai/schemastery";
|
|
4
4
|
import { credentialRef } from "@deepseek-ai/dsh-credentials";
|
|
5
|
-
import
|
|
5
|
+
import { Config as Config$1, apply as apply$1, inject as inject$1, name as name$1 } from "@sparkelf/dsh-plugin-mcp-credentials";
|
|
6
6
|
//#region lib/types/index.js
|
|
7
7
|
/**
|
|
8
8
|
* Standalone DataOps MCP integration. It owns one persistent DSH target
|
|
@@ -10,6 +10,12 @@ import * as McpClient from "@sparkelf/dsh-plugin-mcp-credentials";
|
|
|
10
10
|
* authenticated MCP client for the target's immutable principal.
|
|
11
11
|
* @module @sparkelf/dsh-plugin-dataops
|
|
12
12
|
*/
|
|
13
|
+
const McpClient = {
|
|
14
|
+
name: name$1,
|
|
15
|
+
inject: inject$1,
|
|
16
|
+
Config: Config$1,
|
|
17
|
+
apply: apply$1
|
|
18
|
+
};
|
|
13
19
|
/** Cordis plugin name for the standalone DataOps integration. */
|
|
14
20
|
const name = "mcp-dataops";
|
|
15
21
|
/** Services required by the standalone authorization and MCP composition. */
|
|
@@ -5,8 +5,8 @@ declare module '@deepseek-ai/dsh-client-ui-slots' {
|
|
|
5
5
|
'settings.dataops': DataOpsKey;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
/** Client services required for
|
|
8
|
+
/** Client services required for Host activation discovery, Settings, and frame overlays. */
|
|
9
9
|
export declare const inject: string[];
|
|
10
|
-
/**
|
|
11
|
-
export declare function apply(ctx: Context): void
|
|
10
|
+
/** 仅在Host inventory确认对应plugin有效启用时注册browser contributions。 */
|
|
11
|
+
export declare function apply(ctx: Context): Promise<void>;
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
package/package.json
CHANGED
|
@@ -4,28 +4,30 @@
|
|
|
4
4
|
},
|
|
5
5
|
"description": "Standalone DataOps MCP integration with delegated browser authorization and Settings UI",
|
|
6
6
|
"devDependencies": {
|
|
7
|
-
"@deepseek-ai/cordis": "^4.0.
|
|
8
|
-
"@deepseek-ai/dsh-
|
|
9
|
-
"@deepseek-ai/dsh-
|
|
10
|
-
"@deepseek-ai/dsh-client-
|
|
11
|
-
"@deepseek-ai/dsh-client-
|
|
12
|
-
"@deepseek-ai/dsh-client-
|
|
13
|
-
"@deepseek-ai/dsh-client-ui-
|
|
14
|
-
"@deepseek-ai/dsh-client-ui-
|
|
15
|
-
"@deepseek-ai/dsh-client-ui-
|
|
16
|
-
"@deepseek-ai/dsh-client-ui-
|
|
17
|
-
"@deepseek-ai/dsh-
|
|
18
|
-
"@deepseek-ai/dsh-
|
|
19
|
-
"@deepseek-ai/dsh-
|
|
20
|
-
"@deepseek-ai/dsh-
|
|
21
|
-
"@deepseek-ai/dsh-
|
|
22
|
-
"@
|
|
7
|
+
"@deepseek-ai/cordis": "^4.0.2",
|
|
8
|
+
"@deepseek-ai/dsh-api-remotes": "^0.1.2-alpha.2",
|
|
9
|
+
"@deepseek-ai/dsh-brand": "^0.1.2-alpha.2",
|
|
10
|
+
"@deepseek-ai/dsh-client-connection": "^0.1.2-alpha.2",
|
|
11
|
+
"@deepseek-ai/dsh-client-locale": "^0.1.2-alpha.2",
|
|
12
|
+
"@deepseek-ai/dsh-client-store": "^0.1.2-alpha.2",
|
|
13
|
+
"@deepseek-ai/dsh-client-ui-layout": "^0.1.2-alpha.2",
|
|
14
|
+
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.2-alpha.2",
|
|
15
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.2-alpha.2",
|
|
16
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.1.2-alpha.2",
|
|
17
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.2-alpha.2",
|
|
18
|
+
"@deepseek-ai/dsh-credentials": "^0.1.2-alpha.2",
|
|
19
|
+
"@deepseek-ai/dsh-host-webserver": "^0.1.2-alpha.2",
|
|
20
|
+
"@deepseek-ai/dsh-invariants": "^0.1.2-alpha.2",
|
|
21
|
+
"@deepseek-ai/dsh-timeout": "^0.1.2-alpha.2",
|
|
22
|
+
"@deepseek-ai/dsh-tools": "^0.1.2-alpha.2",
|
|
23
|
+
"@sparkelf/dsh-plugin-mcp-credentials": "^0.1.0-rc.13",
|
|
23
24
|
"@types/react": "~18.3.1",
|
|
24
25
|
"react": "^18.2.0"
|
|
25
26
|
},
|
|
26
27
|
"dsh": {
|
|
27
28
|
"client": {
|
|
28
29
|
"inject": [
|
|
30
|
+
"@deepseek-ai/dsh-api-remotes",
|
|
29
31
|
"@deepseek-ai/dsh-client-connection",
|
|
30
32
|
"@deepseek-ai/dsh-client-locale",
|
|
31
33
|
"@deepseek-ai/dsh-client-ui-layout",
|
|
@@ -61,18 +63,19 @@
|
|
|
61
63
|
"name": "@sparkelf/dsh-plugin-dataops",
|
|
62
64
|
"peerDependencies": {
|
|
63
65
|
"@deepseek-ai/cordis": ">=4.0.1",
|
|
64
|
-
"@deepseek-ai/dsh-
|
|
65
|
-
"@deepseek-ai/dsh-
|
|
66
|
-
"@deepseek-ai/dsh-client-
|
|
67
|
-
"@deepseek-ai/dsh-client-
|
|
68
|
-
"@deepseek-ai/dsh-client-ui-
|
|
69
|
-
"@deepseek-ai/dsh-client-ui-
|
|
70
|
-
"@deepseek-ai/dsh-
|
|
71
|
-
"@deepseek-ai/dsh-
|
|
72
|
-
"@deepseek-ai/dsh-
|
|
73
|
-
"@deepseek-ai/dsh-
|
|
74
|
-
"@deepseek-ai/dsh-
|
|
75
|
-
"@
|
|
66
|
+
"@deepseek-ai/dsh-api-remotes": ">=0.1.2-alpha.2",
|
|
67
|
+
"@deepseek-ai/dsh-brand": ">=0.1.2-alpha.2",
|
|
68
|
+
"@deepseek-ai/dsh-client-connection": ">=0.1.2-alpha.2",
|
|
69
|
+
"@deepseek-ai/dsh-client-locale": ">=0.1.2-alpha.2",
|
|
70
|
+
"@deepseek-ai/dsh-client-ui-layout": ">=0.1.2-alpha.2",
|
|
71
|
+
"@deepseek-ai/dsh-client-ui-renderer": ">=0.1.2-alpha.2",
|
|
72
|
+
"@deepseek-ai/dsh-client-ui-settings": ">=0.1.2-alpha.2",
|
|
73
|
+
"@deepseek-ai/dsh-credentials": ">=0.1.2-alpha.2",
|
|
74
|
+
"@deepseek-ai/dsh-host-webserver": ">=0.1.2-alpha.2",
|
|
75
|
+
"@deepseek-ai/dsh-invariants": ">=0.1.2-alpha.2",
|
|
76
|
+
"@deepseek-ai/dsh-timeout": ">=0.1.2-alpha.2",
|
|
77
|
+
"@deepseek-ai/dsh-tools": ">=0.1.2-alpha.2",
|
|
78
|
+
"@sparkelf/dsh-plugin-mcp-credentials": ">=0.1.0-rc.12"
|
|
76
79
|
},
|
|
77
80
|
"publishConfig": {
|
|
78
81
|
"access": "public"
|
|
@@ -88,5 +91,5 @@
|
|
|
88
91
|
},
|
|
89
92
|
"type": "module",
|
|
90
93
|
"types": "lib/types/index.d.ts",
|
|
91
|
-
"version": "0.1.0-rc.
|
|
94
|
+
"version": "0.1.0-rc.13"
|
|
92
95
|
}
|