@niuhuoshan/dsh-connect 0.1.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 (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +380 -0
  3. package/cordis.patch.yml +3 -0
  4. package/lib/client.js +1489 -0
  5. package/lib/index.js +2303 -0
  6. package/lib/index.js.map +7 -0
  7. package/lib/types/client/ConnectSettings.d.ts +9 -0
  8. package/lib/types/client/ConnectSettings.d.ts.map +1 -0
  9. package/lib/types/client/index.d.ts +5 -0
  10. package/lib/types/client/index.d.ts.map +1 -0
  11. package/lib/types/client/rpc.d.ts +7 -0
  12. package/lib/types/client/rpc.d.ts.map +1 -0
  13. package/lib/types/client/styles.d.ts +3 -0
  14. package/lib/types/client/styles.d.ts.map +1 -0
  15. package/lib/types/domain.d.ts +156 -0
  16. package/lib/types/domain.d.ts.map +1 -0
  17. package/lib/types/host/datasource/clickhouse.d.ts +8 -0
  18. package/lib/types/host/datasource/clickhouse.d.ts.map +1 -0
  19. package/lib/types/host/datasource/index.d.ts +4 -0
  20. package/lib/types/host/datasource/index.d.ts.map +1 -0
  21. package/lib/types/host/datasource/mysql.d.ts +8 -0
  22. package/lib/types/host/datasource/mysql.d.ts.map +1 -0
  23. package/lib/types/host/datasource/postgresql.d.ts +8 -0
  24. package/lib/types/host/datasource/postgresql.d.ts.map +1 -0
  25. package/lib/types/host/datasource/provider.d.ts +24 -0
  26. package/lib/types/host/datasource/provider.d.ts.map +1 -0
  27. package/lib/types/host/http/conversation-api.d.ts +57 -0
  28. package/lib/types/host/http/conversation-api.d.ts.map +1 -0
  29. package/lib/types/host/http/executor.d.ts +10 -0
  30. package/lib/types/host/http/executor.d.ts.map +1 -0
  31. package/lib/types/host/http/security.d.ts +5 -0
  32. package/lib/types/host/http/security.d.ts.map +1 -0
  33. package/lib/types/host/http/tools.d.ts +13 -0
  34. package/lib/types/host/http/tools.d.ts.map +1 -0
  35. package/lib/types/host/metadata/enricher.d.ts +35 -0
  36. package/lib/types/host/metadata/enricher.d.ts.map +1 -0
  37. package/lib/types/host/metadata/governance.d.ts +4 -0
  38. package/lib/types/host/metadata/governance.d.ts.map +1 -0
  39. package/lib/types/host/metadata/profiler.d.ts +22 -0
  40. package/lib/types/host/metadata/profiler.d.ts.map +1 -0
  41. package/lib/types/host/metadata/tools.d.ts +4 -0
  42. package/lib/types/host/metadata/tools.d.ts.map +1 -0
  43. package/lib/types/host/rpc.d.ts +29 -0
  44. package/lib/types/host/rpc.d.ts.map +1 -0
  45. package/lib/types/host/store.d.ts +47 -0
  46. package/lib/types/host/store.d.ts.map +1 -0
  47. package/lib/types/index.d.ts +6 -0
  48. package/lib/types/index.d.ts.map +1 -0
  49. package/lib/types/types.d.ts +395 -0
  50. package/lib/types/types.d.ts.map +1 -0
  51. package/package.json +121 -0
@@ -0,0 +1,156 @@
1
+ import type { Domain } from '@deepseek-ai/dsh-storage-domain';
2
+ export declare const connectDomainSpec: {
3
+ name: string;
4
+ version: number;
5
+ tables: {
6
+ data_sources: import("@deepseek-ai/dsh-storage-domain").DomainTableSpec<string, {
7
+ id: string;
8
+ name: string;
9
+ type: "mysql" | "postgresql" | "clickhouse";
10
+ host: string;
11
+ port: number;
12
+ database: string;
13
+ username: string;
14
+ credentialRef: string;
15
+ schemaInclude: string[];
16
+ tls: boolean;
17
+ sampleRows: number;
18
+ aiEnrichment: boolean;
19
+ enabled: boolean;
20
+ createdAt: number;
21
+ updatedAt: number;
22
+ }>;
23
+ api_definitions: import("@deepseek-ai/dsh-storage-domain").DomainTableSpec<string, {
24
+ id: string;
25
+ name: string;
26
+ slug: string;
27
+ description: string;
28
+ method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
29
+ baseUrl: string;
30
+ pathTemplate: string;
31
+ parameters: {
32
+ name: string;
33
+ location: "path" | "query" | "header" | "body";
34
+ type: "string" | "number" | "boolean" | "integer" | "json";
35
+ description: string;
36
+ required: boolean;
37
+ }[];
38
+ auth: {
39
+ type: "none";
40
+ } | {
41
+ type: "bearer";
42
+ credentialRef: string;
43
+ } | {
44
+ type: "api-key";
45
+ credentialRef: string;
46
+ location: "query" | "header";
47
+ name: string;
48
+ } | {
49
+ type: "basic";
50
+ credentialRef: string;
51
+ username: string;
52
+ };
53
+ timeoutMs: number;
54
+ maxResponseBytes: number;
55
+ responsePointer: string;
56
+ allowPrivateNetwork: boolean;
57
+ enabled: boolean;
58
+ createdAt: number;
59
+ updatedAt: number;
60
+ }>;
61
+ metadata_profiles: import("@deepseek-ai/dsh-storage-domain").DomainTableSpec<string, {
62
+ id: string;
63
+ sourceId: string;
64
+ schemaName: string;
65
+ objectName: string;
66
+ objectType: "table" | "view";
67
+ ddl: string;
68
+ columns: {
69
+ name: string;
70
+ type: string;
71
+ nullable: boolean;
72
+ primaryKey: boolean;
73
+ defaultValue?: string | null | undefined;
74
+ comment?: string | undefined;
75
+ references?: {
76
+ schemaName: string;
77
+ objectName: string;
78
+ columnName: string;
79
+ } | undefined;
80
+ }[];
81
+ sample: Record<string, unknown>[];
82
+ term: string;
83
+ description: string;
84
+ tags: string[];
85
+ synonyms: string[];
86
+ semanticColumns: {
87
+ name: string;
88
+ term: string;
89
+ description: string;
90
+ synonyms: string[];
91
+ enums: string[];
92
+ role: "unknown" | "identifier" | "dimension" | "measure" | "time";
93
+ }[];
94
+ confidence: number;
95
+ confidenceReason: string;
96
+ temporary: boolean;
97
+ ignored: boolean;
98
+ fingerprint: string;
99
+ semanticFingerprint: string;
100
+ modelStatus: "heuristic" | "ai" | "failed";
101
+ modelPromptVersion: string;
102
+ profiledAt: number;
103
+ engine?: string | undefined;
104
+ comment?: string | undefined;
105
+ ignoredOverride?: boolean | undefined;
106
+ editedAt?: number | undefined;
107
+ modelProvider?: string | undefined;
108
+ modelName?: string | undefined;
109
+ modelReasoningEffort?: string | undefined;
110
+ modelAnalyzedAt?: number | undefined;
111
+ }>;
112
+ profile_jobs: import("@deepseek-ai/dsh-storage-domain").DomainTableSpec<string, {
113
+ id: string;
114
+ sourceId: string;
115
+ status: "failed" | "queued" | "running" | "completed" | "cancelled";
116
+ mode: "incremental" | "rebuild-ai" | "full";
117
+ total: number;
118
+ processed: number;
119
+ startedAt: number;
120
+ updatedAt: number;
121
+ currentObject?: string | undefined;
122
+ error?: string | undefined;
123
+ finishedAt?: number | undefined;
124
+ modelProvider?: string | undefined;
125
+ modelName?: string | undefined;
126
+ }>;
127
+ metrics: import("@deepseek-ai/dsh-storage-domain").DomainTableSpec<string, {
128
+ id: string;
129
+ sourceId: string;
130
+ profileId: string;
131
+ name: string;
132
+ term: string;
133
+ description: string;
134
+ aggregation: "count" | "sum" | "avg" | "min" | "max" | "formula";
135
+ columnName: string;
136
+ expression: string;
137
+ unit: string;
138
+ tags: string[];
139
+ enabled: boolean;
140
+ createdAt: number;
141
+ updatedAt: number;
142
+ }>;
143
+ metadata_changes: import("@deepseek-ai/dsh-storage-domain").DomainTableSpec<string, {
144
+ id: string;
145
+ sourceId: string;
146
+ profileId: string;
147
+ action: "create" | "update" | "scan" | "model";
148
+ summary: string;
149
+ changedAt: number;
150
+ before?: Record<string, unknown> | undefined;
151
+ after?: Record<string, unknown> | undefined;
152
+ }>;
153
+ };
154
+ };
155
+ export type ConnectDomain = Domain<typeof connectDomainSpec>;
156
+ //# sourceMappingURL=domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../src/domain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAU7D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAW5B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { DataSourceDefinition } from '../../types.js';
2
+ import type { DataSourceProvider, DiscoveredObject } from './provider.js';
3
+ export declare class ClickhouseProvider implements DataSourceProvider {
4
+ test(source: DataSourceDefinition, password: string, signal?: AbortSignal): Promise<void>;
5
+ discover(source: DataSourceDefinition, password: string, signal?: AbortSignal): Promise<DiscoveredObject[]>;
6
+ query(source: DataSourceDefinition, password: string, rawSql: string, limit: number, signal?: AbortSignal): Promise<import("../../types.js").SqlQueryResult>;
7
+ }
8
+ //# sourceMappingURL=clickhouse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickhouse.d.ts","sourceRoot":"","sources":["../../../../src/host/datasource/clickhouse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,gBAAgB,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAsBzE,qBAAa,kBAAmB,YAAW,kBAAkB;IACrD,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IASzF,QAAQ,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAiD3G,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW;CAchH"}
@@ -0,0 +1,4 @@
1
+ import type { DatabaseType } from '../../types.js';
2
+ import type { DataSourceProvider } from './provider.js';
3
+ export declare function providerFor(type: DatabaseType): DataSourceProvider;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/host/datasource/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAWvD,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,kBAAkB,CAElE"}
@@ -0,0 +1,8 @@
1
+ import type { DataSourceDefinition } from '../../types.js';
2
+ import type { DataSourceProvider, DiscoveredObject } from './provider.js';
3
+ export declare class MysqlProvider implements DataSourceProvider {
4
+ test(source: DataSourceDefinition, password: string, signal?: AbortSignal): Promise<void>;
5
+ discover(source: DataSourceDefinition, password: string, signal?: AbortSignal): Promise<DiscoveredObject[]>;
6
+ query(source: DataSourceDefinition, password: string, rawSql: string, limit: number, signal?: AbortSignal): Promise<import("../../types.js").SqlQueryResult>;
7
+ }
8
+ //# sourceMappingURL=mysql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../../../src/host/datasource/mysql.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,gBAAgB,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AA+BzE,qBAAa,aAAc,YAAW,kBAAkB;IAChD,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzF,QAAQ,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA2D3G,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW;CAiBhH"}
@@ -0,0 +1,8 @@
1
+ import type { DataSourceDefinition } from '../../types.js';
2
+ import type { DataSourceProvider, DiscoveredObject } from './provider.js';
3
+ export declare class PostgresqlProvider implements DataSourceProvider {
4
+ test(source: DataSourceDefinition, password: string, signal?: AbortSignal): Promise<void>;
5
+ discover(source: DataSourceDefinition, password: string, signal?: AbortSignal): Promise<DiscoveredObject[]>;
6
+ query(source: DataSourceDefinition, password: string, rawSql: string, limit: number, signal?: AbortSignal): Promise<import("../../types.js").SqlQueryResult>;
7
+ }
8
+ //# sourceMappingURL=postgresql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgresql.d.ts","sourceRoot":"","sources":["../../../../src/host/datasource/postgresql.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,gBAAgB,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AA+BzE,qBAAa,kBAAmB,YAAW,kBAAkB;IACrD,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IASzF,QAAQ,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAkE3G,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW;CAahH"}
@@ -0,0 +1,24 @@
1
+ import type { DataSourceDefinition, PhysicalColumn, SqlQueryResult } from '../../types.js';
2
+ export interface DiscoveredObject {
3
+ schemaName: string;
4
+ objectName: string;
5
+ objectType: 'table' | 'view';
6
+ engine?: string;
7
+ comment?: string;
8
+ ddl: string;
9
+ columns: PhysicalColumn[];
10
+ sample: Array<Record<string, unknown>>;
11
+ }
12
+ export interface DataSourceProvider {
13
+ test(source: DataSourceDefinition, password: string, signal?: AbortSignal): Promise<void>;
14
+ discover(source: DataSourceDefinition, password: string, signal?: AbortSignal): Promise<DiscoveredObject[]>;
15
+ query(source: DataSourceDefinition, password: string, sql: string, limit: number, signal?: AbortSignal): Promise<SqlQueryResult>;
16
+ }
17
+ export declare function sanitizeRows(rows: unknown[], maxRows: number): Array<Record<string, unknown>>;
18
+ export declare function throwIfAborted(signal?: AbortSignal): void;
19
+ /** Validate the query before it reaches a database driver. Providers also use a
20
+ * read-only session where supported, but the plugin must reject writes itself. */
21
+ export declare function validateReadOnlySql(rawSql: string): string;
22
+ export declare function queryLimit(value: number | undefined): number;
23
+ export declare function queryResult(columns: string[], rows: unknown[], limit: number, startedAt: number): SqlQueryResult;
24
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/host/datasource/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,OAAO,GAAG,MAAM,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzF,QAAQ,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;IAC3G,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;CACjI;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAQ7F;AAWD,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAEzD;AAED;kFACkF;AAClF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY1D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG5D;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,CAShH"}
@@ -0,0 +1,57 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import { z } from 'zod';
3
+ import { type ApiDefinitionView } from '../../types.js';
4
+ export declare const CONVERSATION_API_TOOL = "dsh_connect_create_http_api";
5
+ export declare const conversationApiInput: z.ZodObject<{
6
+ name: z.ZodString;
7
+ slug: z.ZodString;
8
+ description: z.ZodString;
9
+ method: z.ZodEnum<{
10
+ GET: "GET";
11
+ POST: "POST";
12
+ PUT: "PUT";
13
+ PATCH: "PATCH";
14
+ DELETE: "DELETE";
15
+ }>;
16
+ baseUrl: z.ZodString;
17
+ pathTemplate: z.ZodDefault<z.ZodString>;
18
+ parameters: z.ZodDefault<z.ZodArray<z.ZodObject<{
19
+ name: z.ZodString;
20
+ location: z.ZodEnum<{
21
+ path: "path";
22
+ query: "query";
23
+ header: "header";
24
+ body: "body";
25
+ }>;
26
+ type: z.ZodEnum<{
27
+ string: "string";
28
+ number: "number";
29
+ boolean: "boolean";
30
+ integer: "integer";
31
+ json: "json";
32
+ }>;
33
+ description: z.ZodDefault<z.ZodString>;
34
+ required: z.ZodDefault<z.ZodBoolean>;
35
+ }, z.core.$strip>>>;
36
+ authType: z.ZodDefault<z.ZodEnum<{
37
+ none: "none";
38
+ bearer: "bearer";
39
+ "api-key": "api-key";
40
+ basic: "basic";
41
+ }>>;
42
+ authLocation: z.ZodOptional<z.ZodEnum<{
43
+ query: "query";
44
+ header: "header";
45
+ }>>;
46
+ authName: z.ZodOptional<z.ZodString>;
47
+ basicUsername: z.ZodOptional<z.ZodString>;
48
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
49
+ maxResponseBytes: z.ZodDefault<z.ZodNumber>;
50
+ responsePointer: z.ZodDefault<z.ZodString>;
51
+ }, z.core.$strict>;
52
+ export type ConversationApiInput = z.infer<typeof conversationApiInput>;
53
+ type CreateConversationApi = (input: ConversationApiInput) => Promise<ApiDefinitionView | undefined>;
54
+ type ValidateConversationApi = (input: ConversationApiInput) => void;
55
+ export declare function registerConversationApiTool(ctx: Context, validate: ValidateConversationApi, create: CreateConversationApi): Array<() => void>;
56
+ export {};
57
+ //# sourceMappingURL=conversation-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-api.d.ts","sourceRoot":"","sources":["../../../../src/host/http/conversation-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAuC,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAE5F,eAAO,MAAM,qBAAqB,gCAAgC,CAAA;AAElE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2B/B,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,KAAK,qBAAqB,GAAG,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAA;AACpG,KAAK,uBAAuB,GAAG,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;AAcpE,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,qBAAqB,GAC5B,KAAK,CAAC,MAAM,IAAI,CAAC,CAqFnB"}
@@ -0,0 +1,10 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import type { ApiDefinition, ApiExecutionResult } from '../../types.js';
3
+ export declare class SecureHttpExecutor {
4
+ private readonly ctx;
5
+ constructor(ctx: Context);
6
+ execute(definition: ApiDefinition, rawArgs: unknown, signal?: AbortSignal): Promise<ApiExecutionResult>;
7
+ private applyAuth;
8
+ }
9
+ export declare function resolveJsonPointer(value: unknown, pointer: string): unknown;
10
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../src/host/http/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAgB,MAAM,gBAAgB,CAAA;AAKrF,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,OAAO;IAEnC,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;YA0D/F,SAAS;CAkBxB;AA0FD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAiB3E"}
@@ -0,0 +1,5 @@
1
+ export declare function assertSafeHeaderName(name: string): void;
2
+ export declare function parseConfiguredBaseUrl(raw: string): URL;
3
+ export declare function assertOutboundTarget(url: URL, allowPrivateNetwork: boolean): Promise<void>;
4
+ export declare function isPrivateAddress(raw: string): boolean;
5
+ //# sourceMappingURL=security.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../../src/host/http/security.ts"],"names":[],"mappings":"AAaA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQvD;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAUvD;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhG;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAiCrD"}
@@ -0,0 +1,13 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import type { ApiDefinition } from '../../types.js';
3
+ export declare class ApiToolRegistry {
4
+ private readonly ctx;
5
+ private disposers;
6
+ private names;
7
+ private readonly executor;
8
+ constructor(ctx: Context);
9
+ replace(definitions: ApiDefinition[]): void;
10
+ dispose(): void;
11
+ private definition;
12
+ }
13
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../../src/host/http/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,gBAAgB,CAAA;AAIjE,qBAAa,eAAe;IAKd,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJhC,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAEhB,GAAG,EAAE,OAAO;IAIzC,OAAO,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,IAAI;IAuB3C,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,UAAU;CA+BnB"}
@@ -0,0 +1,35 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import type { DiscoveredObject } from '../datasource/provider.js';
3
+ import type { SemanticColumn } from '../../types.js';
4
+ export interface SemanticProfile {
5
+ term: string;
6
+ description: string;
7
+ tags: string[];
8
+ synonyms: string[];
9
+ semanticColumns: SemanticColumn[];
10
+ confidence: number;
11
+ confidenceReason: string;
12
+ temporary: boolean;
13
+ modelProvider?: string;
14
+ modelName?: string;
15
+ modelReasoningEffort?: string;
16
+ modelAnalyzedAt?: number;
17
+ modelStatus: 'heuristic' | 'ai' | 'failed';
18
+ }
19
+ export declare const METADATA_MODEL_PROMPT_VERSION = "v3";
20
+ export interface MetadataModelRoute {
21
+ provider: string;
22
+ model: string;
23
+ reasoningEffort?: string;
24
+ }
25
+ export declare class MetadataModelOutputError extends Error {
26
+ constructor(message: string, options?: {
27
+ cause?: unknown;
28
+ });
29
+ }
30
+ export declare class MetadataEnricher {
31
+ private readonly ctx;
32
+ constructor(ctx: Context);
33
+ enrich(object: DiscoveredObject, useAi: boolean, signal?: AbortSignal, selectedRoute?: MetadataModelRoute): Promise<SemanticProfile>;
34
+ }
35
+ //# sourceMappingURL=enricher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enricher.d.ts","sourceRoot":"","sources":["../../../../src/host/metadata/enricher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,QAAQ,CAAA;CAC3C;AAED,eAAO,MAAM,6BAA6B,OAAO,CAAA;AAEjD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAiCD,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,OAAO;IAEnC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;CAsF3I"}
@@ -0,0 +1,4 @@
1
+ import type { MetadataProfile, MetricDefinition, MetricSuggestion } from '../../types.js';
2
+ export declare function recommendMetrics(profiles: MetadataProfile[], sourceId: string, existing: MetricDefinition[]): MetricSuggestion[];
3
+ export declare function metadataYaml(profiles: MetadataProfile[], metrics: MetricDefinition[], sourceId: string): string;
4
+ //# sourceMappingURL=governance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../../../src/host/metadata/governance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AAEvB,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAwChI;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAc/G"}
@@ -0,0 +1,22 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import type { DataSourceDefinition, ProfileJob } from '../../types.js';
3
+ import { ConnectStore } from '../store.js';
4
+ export declare class MetadataProfiler {
5
+ private readonly ctx;
6
+ private readonly store;
7
+ private readonly running;
8
+ private readonly enricher;
9
+ constructor(ctx: Context, store: ConnectStore);
10
+ test(source: DataSourceDefinition, signal?: AbortSignal): Promise<void>;
11
+ start(sourceId: string, mode?: ProfileJob['mode']): Promise<ProfileJob>;
12
+ cancel(sourceId: string): Promise<{
13
+ stopped: true;
14
+ processed: number;
15
+ total: number;
16
+ }>;
17
+ dispose(): Promise<void>;
18
+ private run;
19
+ private resolvePassword;
20
+ private modelRoute;
21
+ }
22
+ //# sourceMappingURL=profiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiler.d.ts","sourceRoot":"","sources":["../../../../src/host/metadata/profiler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAmB,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGvF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ1C,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAGxB,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY;IAKhC,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,UAAU,CAAC,MAAM,CAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6BtF,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAatF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAMhB,GAAG;YAmGH,eAAe;IAM7B,OAAO,CAAC,UAAU;CASnB"}
@@ -0,0 +1,4 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import type { ConnectStore } from '../store.js';
3
+ export declare function registerMetadataTools(ctx: Context, store: ConnectStore): Array<() => void>;
4
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../../src/host/metadata/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAW/C,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CA2I1F"}
@@ -0,0 +1,29 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import type { RpcResult } from '@deepseek-ai/dsh-host-apiproxy/api';
3
+ import { ConnectStore } from './store.js';
4
+ import { MetadataProfiler } from './metadata/profiler.js';
5
+ import { ApiToolRegistry } from './http/tools.js';
6
+ import type { ConversationApiInput } from './http/conversation-api.js';
7
+ export declare class ConnectRpc {
8
+ private readonly ctx;
9
+ private readonly store;
10
+ private readonly profiler;
11
+ private readonly tools;
12
+ private readonly executor;
13
+ constructor(ctx: Context, store: ConnectStore, profiler: MetadataProfiler, tools: ApiToolRegistry);
14
+ handle(endpoint: string, payload: unknown, signal: AbortSignal): Promise<RpcResult<unknown>>;
15
+ validateConversationApi(input: ConversationApiInput): void;
16
+ createConversationApi(input: ConversationApiInput): Promise<import("../types.js").ApiDefinitionView | undefined>;
17
+ private saveDataSource;
18
+ private deleteDataSource;
19
+ private saveApi;
20
+ private deleteApi;
21
+ private resolveApiAuth;
22
+ private prepareConversationApi;
23
+ private requireSource;
24
+ private requireApi;
25
+ private updateMetadata;
26
+ private saveMetric;
27
+ private unsetIfWritable;
28
+ }
29
+ //# sourceMappingURL=rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/host/rpc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AAanE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAgEtE,qBAAa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IANxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAG1B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,eAAe;IAKnC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAmFlG,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAWpD,qBAAqB,CAAC,KAAK,EAAE,oBAAoB;YAMzC,cAAc;YA+Bd,gBAAgB;YAQhB,OAAO;YA6CP,SAAS;YAQT,cAAc;IAiB5B,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,UAAU;YAMJ,cAAc;YAkBd,UAAU;YAiBV,eAAe;CAI9B"}
@@ -0,0 +1,47 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import type { ConnectDomain } from '../domain.js';
3
+ import type { ApiDefinition, ApiDefinitionView, DataSourceDefinition, DataSourceView, MetadataChange, MetadataProfile, MetricDefinition, ProfileJob } from '../types.js';
4
+ export declare class ConnectStore {
5
+ private readonly ctx;
6
+ readonly domain: ConnectDomain;
7
+ constructor(ctx: Context, domain: ConnectDomain);
8
+ dataSources(): DataSourceDefinition[];
9
+ dataSource(id: string): DataSourceDefinition | undefined;
10
+ dataSourceViews(): Promise<DataSourceView[]>;
11
+ putDataSource(value: DataSourceDefinition): Promise<void>;
12
+ deleteDataSource(id: string): Promise<void>;
13
+ apiDefinitions(): ApiDefinition[];
14
+ apiDefinition(id: string): ApiDefinition | undefined;
15
+ apiDefinitionViews(): Promise<ApiDefinitionView[]>;
16
+ putApiDefinition(value: ApiDefinition): Promise<void>;
17
+ deleteApiDefinition(id: string): Promise<boolean>;
18
+ profiles(sourceId?: string): MetadataProfile[];
19
+ profile(id: string): MetadataProfile | undefined;
20
+ putProfile(value: MetadataProfile): Promise<void>;
21
+ metrics(sourceId?: string): MetricDefinition[];
22
+ metric(id: string): MetricDefinition | undefined;
23
+ putMetric(value: MetricDefinition): Promise<void>;
24
+ deleteMetric(id: string): Promise<boolean>;
25
+ changes(sourceId?: string, profileId?: string): MetadataChange[];
26
+ changePage(sourceId: string, profileId: string | undefined, offset: number, limit: number): {
27
+ items: {
28
+ id: string;
29
+ sourceId: string;
30
+ profileId: string;
31
+ action: "create" | "update" | "scan" | "model";
32
+ summary: string;
33
+ changedAt: number;
34
+ }[];
35
+ offset: number;
36
+ limit: number;
37
+ total: number;
38
+ hasMore: boolean;
39
+ };
40
+ putChange(value: MetadataChange): Promise<void>;
41
+ deleteStaleProfiles(sourceId: string, keep: ReadonlySet<string>): Promise<void>;
42
+ jobs(sourceId?: string): ProfileJob[];
43
+ putJob(value: ProfileJob): Promise<void>;
44
+ deleteJob(id: string): Promise<boolean>;
45
+ }
46
+ export declare function toolName(definition: Pick<ApiDefinition, 'slug'>): string;
47
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/host/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,UAAU,EACX,MAAM,aAAa,CAAA;AAEpB,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,aAAa;gBADb,GAAG,EAAE,OAAO,EACpB,MAAM,EAAE,aAAa;IAGhC,WAAW,IAAI,oBAAoB,EAAE;IAMrC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAIlD,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAoBlD,aAAa,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBjD,cAAc,IAAI,aAAa,EAAE;IAMjC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI9C,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAkBxD,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE;IAO9C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIhD,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAO9C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAChD,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IACjD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE;IAOhE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;;;;;;;;;;;;IAYzF,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrF,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE;IAOrC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGxC;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,MAAM,CAExE"}
@@ -0,0 +1,6 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ export declare const name = "dsh-connect";
3
+ export declare const inject: string[];
4
+ export declare function apply(ctx: Context): Promise<void>;
5
+ export type * from './types.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAiBlD,eAAO,MAAM,IAAI,gBAAgB,CAAA;AACjC,eAAO,MAAM,MAAM,UAA0D,CAAA;AAO7E,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCvD;AAED,mBAAmB,YAAY,CAAA"}