@sparkelf/dsh-plugin-dataops 0.1.0-rc.10

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.
@@ -0,0 +1,54 @@
1
+ import { type EngineStoreHandle } from '@deepseek-ai/dsh-client-store';
2
+ import type { DataOpsKey } from './locales.ts';
3
+ /** Account identity returned by the delegated DataOps userinfo endpoint. */
4
+ export interface DataOpsAccount {
5
+ username: string;
6
+ displayName: string;
7
+ email: string;
8
+ }
9
+ /** Browser-visible projection of the current delegated DataOps grant. */
10
+ export interface DataOpsStatus {
11
+ credentialConfigured: boolean;
12
+ credentialWritable: boolean;
13
+ authorizationAccepted: boolean;
14
+ expiresAt: number | null;
15
+ account: DataOpsAccount | null;
16
+ }
17
+ /** Shared state rendered by the Settings section and frame-wide expiry prompt. */
18
+ export interface DataOpsState {
19
+ status?: DataOpsStatus;
20
+ loading: boolean;
21
+ failure: DataOpsKey | undefined;
22
+ disconnecting: boolean;
23
+ expiryPromptDismissed: boolean;
24
+ }
25
+ type DataOpsActionDecl = {
26
+ beginLoad: (draft: DataOpsState) => void;
27
+ setStatus: (draft: DataOpsState, status: DataOpsStatus) => void;
28
+ setFailure: (draft: DataOpsState, failure: DataOpsKey) => void;
29
+ clearFailure: (draft: DataOpsState) => void;
30
+ setDisconnecting: (draft: DataOpsState, disconnecting: boolean) => void;
31
+ dismissExpiryPrompt: (draft: DataOpsState) => void;
32
+ };
33
+ /** Bound write operations shared by both DataOps Client entries. */
34
+ export interface DataOpsActions {
35
+ beginLoad: () => void;
36
+ setStatus: (status: DataOpsStatus) => void;
37
+ setFailure: (failure: DataOpsKey) => void;
38
+ clearFailure: () => void;
39
+ setDisconnecting: (disconnecting: boolean) => void;
40
+ dismissExpiryPrompt: () => void;
41
+ }
42
+ /**
43
+ * Return whether the stored grant exists but is no longer accepted.
44
+ * @param status - Current Host-projected DataOps status.
45
+ * @returns Whether a writable stored grant needs interactive sign-in.
46
+ */
47
+ export declare function isLoginExpired(status: DataOpsStatus | undefined): boolean;
48
+ /**
49
+ * Create the root-scoped state shared by DataOps Settings and expiry modal.
50
+ * @returns A store handle shared by both root-scope registrations.
51
+ */
52
+ export declare function createDataOpsStore(): EngineStoreHandle<DataOpsState, DataOpsActionDecl>;
53
+ export {};
54
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1,33 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import z from '@deepseek-ai/schemastery';
3
+ /** Cordis plugin name for the standalone DataOps integration. */
4
+ export declare const name = "mcp-dataops";
5
+ /** Services required by the standalone authorization and MCP composition. */
6
+ export declare const inject: string[];
7
+ /** Configuration for one standalone DataOps target and delegated MCP connection. */
8
+ export interface Config {
9
+ /** DataOps origin, for example `https://dataops.example.com`. */
10
+ baseUrl: string;
11
+ /** Local MCP tool namespace. */
12
+ serverName: string;
13
+ /** Access-token credential reference for the standalone DataOps grant. */
14
+ credentialRef: string;
15
+ /** Persistent DSH target identity credential; generated once and never cleared by disconnect. */
16
+ targetCredentialRef: string;
17
+ /** Explicit HTTP or HTTPS DSH browser origin for non-loopback Web deployments. */
18
+ callbackOrigin?: string;
19
+ /** Per-MCP-tool timeout forwarded to the generic mcp-client. */
20
+ toolCallTimeoutMs: number;
21
+ /** Whether an immediately attempted MCP connection failure rejects this plugin. */
22
+ failOnStartupError: boolean;
23
+ }
24
+ /** Schemastery parser for standalone DataOps integration configuration. */
25
+ export declare const Config: z<Config>;
26
+ /**
27
+ * Compose the DataOps browser authorization routes and generic MCP child.
28
+ * @param ctx - Cordis context with credentials, Web routes, and tool registry.
29
+ * @param config - Standalone DataOps origin, credential references, and MCP settings.
30
+ * @returns Startup readiness after the persistent target and stored grant are accepted.
31
+ */
32
+ export declare function apply(ctx: Context, config: Config): Promise<void>;
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,13 @@
1
+ /** Package-owned invariant companion for `@sparkelf/dsh-plugin-dataops`. */
2
+ import type { Context } from '@deepseek-ai/cordis';
3
+ /** Cordis plugin name for the DataOps invariant companion. */
4
+ export declare const name = "mcp-dataops-invariant";
5
+ /** Services required to register the package invariant installer. */
6
+ export declare const inject: string[];
7
+ /**
8
+ * Register the package's explained empty invariant installer.
9
+ * @param ctx - Cordis context with the invariant registry.
10
+ * @returns The registration disposer.
11
+ */
12
+ export declare const apply: (ctx: Context) => Promise<() => void>;
13
+ //# sourceMappingURL=invariant.d.ts.map
package/package.json ADDED
@@ -0,0 +1,92 @@
1
+ {
2
+ "dependencies": {
3
+ "@deepseek-ai/schemastery": ">=3.18.1"
4
+ },
5
+ "description": "Standalone DataOps MCP integration with delegated browser authorization and Settings UI",
6
+ "devDependencies": {
7
+ "@deepseek-ai/cordis": "^4.0.1",
8
+ "@deepseek-ai/dsh-brand": "^0.1.2-alpha.1",
9
+ "@deepseek-ai/dsh-client-connection": "^0.1.2-alpha.1",
10
+ "@deepseek-ai/dsh-client-locale": "^0.1.2-alpha.1",
11
+ "@deepseek-ai/dsh-client-store": "^0.1.2-alpha.1",
12
+ "@deepseek-ai/dsh-client-ui-layout": "^0.1.2-alpha.1",
13
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.1.2-alpha.1",
14
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.1.2-alpha.1",
15
+ "@deepseek-ai/dsh-client-ui-settings": "^0.1.2-alpha.1",
16
+ "@deepseek-ai/dsh-client-ui-slots": "^0.1.2-alpha.1",
17
+ "@deepseek-ai/dsh-credentials": "^0.1.2-alpha.1",
18
+ "@deepseek-ai/dsh-host-webserver": "^0.1.2-alpha.1",
19
+ "@deepseek-ai/dsh-invariants": "^0.1.2-alpha.1",
20
+ "@deepseek-ai/dsh-timeout": "^0.1.2-alpha.1",
21
+ "@deepseek-ai/dsh-tools": "^0.1.2-alpha.1",
22
+ "@sparkelf/dsh-plugin-mcp-credentials": "^0.1.0-rc.10",
23
+ "@types/react": "~18.3.1",
24
+ "react": "^18.2.0"
25
+ },
26
+ "dsh": {
27
+ "client": {
28
+ "inject": [
29
+ "@deepseek-ai/dsh-client-connection",
30
+ "@deepseek-ai/dsh-client-locale",
31
+ "@deepseek-ai/dsh-client-ui-layout",
32
+ "@deepseek-ai/dsh-client-ui-settings",
33
+ "@deepseek-ai/dsh-client-ui-renderer"
34
+ ],
35
+ "platform": "web"
36
+ }
37
+ },
38
+ "exports": {
39
+ ".": {
40
+ "default": "./lib/index.js",
41
+ "types": "./lib/types/index.d.ts"
42
+ },
43
+ "./client": {
44
+ "default": "./lib/client.js",
45
+ "types": "./lib/types/client/index.d.ts"
46
+ },
47
+ "./invariant": {
48
+ "default": "./lib/invariant.js",
49
+ "types": "./lib/types/invariant.d.ts"
50
+ },
51
+ "./package.json": "./package.json"
52
+ },
53
+ "files": [
54
+ "lib/index.js",
55
+ "lib/invariant.js",
56
+ "lib/client.js",
57
+ "lib/types/**/*.d.ts"
58
+ ],
59
+ "license": "MIT",
60
+ "main": "lib/index.js",
61
+ "name": "@sparkelf/dsh-plugin-dataops",
62
+ "peerDependencies": {
63
+ "@deepseek-ai/cordis": ">=4.0.1",
64
+ "@deepseek-ai/dsh-brand": ">=0.1.2-alpha.1",
65
+ "@deepseek-ai/dsh-client-connection": ">=0.1.2-alpha.1",
66
+ "@deepseek-ai/dsh-client-locale": ">=0.1.2-alpha.1",
67
+ "@deepseek-ai/dsh-client-ui-layout": ">=0.1.2-alpha.1",
68
+ "@deepseek-ai/dsh-client-ui-renderer": ">=0.1.2-alpha.1",
69
+ "@deepseek-ai/dsh-client-ui-settings": ">=0.1.2-alpha.1",
70
+ "@deepseek-ai/dsh-credentials": ">=0.1.2-alpha.1",
71
+ "@deepseek-ai/dsh-host-webserver": ">=0.1.2-alpha.1",
72
+ "@deepseek-ai/dsh-invariants": ">=0.1.2-alpha.1",
73
+ "@deepseek-ai/dsh-timeout": ">=0.1.2-alpha.1",
74
+ "@deepseek-ai/dsh-tools": ">=0.1.2-alpha.1",
75
+ "@sparkelf/dsh-plugin-mcp-credentials": ">=0.1.0-rc.10"
76
+ },
77
+ "publishConfig": {
78
+ "access": "public"
79
+ },
80
+ "repository": {
81
+ "directory": "packages/plus/dataops",
82
+ "type": "git",
83
+ "url": "git+https://github.com/SparkElf/deepseek-harness-plus.git"
84
+ },
85
+ "scripts": {
86
+ "bundle": "tsdown",
87
+ "watch": "tsdown --watch"
88
+ },
89
+ "type": "module",
90
+ "types": "lib/types/index.d.ts",
91
+ "version": "0.1.0-rc.10"
92
+ }