@dpuse/dpuse-shared 0.3.737 → 0.3.741

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.md CHANGED
@@ -12,6 +12,26 @@
12
12
 
13
13
  The library is written in TypeScript and designed to be consumed exclusively by TypeScript projects. All configuration types are schema-validated using [Valibot](https://valibot.dev/), giving consumers both compile-time safety and runtime validation from a single source of truth.
14
14
 
15
+ <!-- OPENING_START -->
16
+
17
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)
18
+ [![DPUse version](https://img.shields.io/github/v/release/dpuse/dpuse-shared?color=f6821f&label=DPUse)](https://github.com/dpuse/dpuse-shared/releases/latest)
19
+ [![CI](https://github.com/dpuse/dpuse-shared/actions/workflows/ci.yml/badge.svg)](https://github.com/dpuse/dpuse-shared/actions/workflows/ci.yml)
20
+ [![CodeQL](https://github.com/dpuse/dpuse-shared/actions/workflows/codeql.yml/badge.svg)](https://github.com/dpuse/dpuse-shared/actions/workflows/codeql.yml)
21
+ [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=dpuse_dpuse-shared&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=dpuse_dpuse-shared)
22
+
23
+ [Documentation](https://www.dpuse.app) · [Report a Vulnerability](https://github.com/dpuse/dpuse-shared/security/advisories/new) · [Open an Issue](https://github.com/dpuse/dpuse-shared/issues)
24
+
25
+ ## About DPUse
26
+
27
+ DPUse (Data Positioning & Use) is an in-browser application that positions your data for use through three core activities: sourcing, contextualising, and publishing. **Sourcing** uses a library of [Connectors](https://www.dpuse.app) to establish [Connections](https://www.dpuse.app) to applications, databases, file stores, and curated datasets; these connections are subsequently used to configure structured [Data Views](https://www.dpuse.app) from the underlying sources. **Contextualising** extracts chronological events from those [Data Views](https://www.dpuse.app) and maps them into comprehensive [Context Models](https://www.dpuse.app). This provides the DPUse Engine with the structural framework required to generate deterministic transactions, facts, or observations. **Publishing** employs a library of [Presenters](https://www.dpuse.app) to render standard [Presentations](https://www.dpuse.app) immediately using the contextualised data; additionally, [Cookbooks](https://www.dpuse.app) of [Recipes](https://www.dpuse.app) allow you to build Data Apps using your preferred tools.
28
+
29
+ ## Introduction
30
+
31
+ ...
32
+
33
+ <!-- OPENING_END -->
34
+
15
35
  ## Table of Contents
16
36
 
17
37
  ## Prerequisites
@@ -94,8 +114,11 @@ See [API_REFERENCE.md](./API_REFERENCE.md) for the complete API reference, inclu
94
114
  License data is collected automatically on each release using [license-checker](https://github.com/RSeidelsohn/license-checker-rseidelsohn). The following table lists all production dependencies. These dependencies (including transitive ones) have been checked and confirmed to use Apache-2.0, BSD-3-Clause, CC0-1.0, or MIT — all permissive, commercially-friendly licenses. Developers cloning this repository should independently verify development dependencies; users of the uploaded library are covered by these checks.
95
115
 
96
116
  <!-- DEPENDENCY_LICENSES_START -->
97
- |Name|Version|License(s)|Document|
98
- |-|:-:|-|-|
117
+
118
+ License data is collected automatically on each release using [license-checker](https://github.com/RSeidelsohn/license-checker-rseidelsohn). The following table lists all production dependencies. These dependencies (including transitive ones) have been checked and confirmed to use MIT — all permissive, commercially-friendly licenses. Users of the uploaded library are covered by these checks; developers cloning this repository should independently verify development dependencies.
119
+
120
+ |Dependency|Version|License(s)|Document|
121
+ |:-|:-:|:-|:-|
99
122
 
100
123
  <!-- DEPENDENCY_LICENSES_END -->
101
124
 
@@ -105,18 +128,49 @@ The dependency tree below lists every package in this project — direct and tra
105
128
 
106
129
  <!-- DEPENDENCY_TREE_START -->
107
130
 
131
+ The dependency tree below lists every package in this project — direct and transitive — along with its installed version, release date, and update status. Packages flagged ❗ have a newer version available; ⚠️ indicates a package that hasn't been updated in the last 6 months or longer. Neither flag necessarily indicates a problem: we let new releases stabilise before upgrading, and some packages are simply mature and stable, requiring no active development.
132
+
108
133
  <!-- DEPENDENCY_TREE_END -->
109
134
 
110
135
  ## Bundle Analysis
111
136
 
112
- The Bundle Analysis Reports provide detailed breakdowns of the bundle's composition and module sizes, helping to identify which modules contribute most to the final build. Two complementary reports are generated automatically on each release:
113
-
114
- - **[rollup-plugin-visualizer](https://github.com/btd/rollup-plugin-visualizer/tree/master)** — generates a static treemap/sunburst view based on pre-build module estimates, useful for a quick visual scan of overall bundle composition, including CSS assets.
115
- - **[Sonda](https://sonda.dev/)** — analyses final source maps to capture the effects of tree-shaking and minification, rather than relying on pre-build estimates. This gives a more accurate picture of what's actually shipped, traces module-level dependencies, and shows the size of each module after tree-shaking and minification for more precise insight into what's driving bundle size. Note: Sonda's Vite reports currently exclude CSS files, since Vite does not generate source maps for CSS.
116
-
117
- [View the rollup-plugin-visualizer Report](https://dpuse.github.io/dpuse-development/bundle-analysis-reports/rollup-visualiser/index.html).
118
-
119
- [View the Sonda Report](https://dpuse.github.io/dpuse-development/bundle-analysis-reports/sonda/index.html).
137
+ <!-- BUNDLE_START -->
138
+
139
+ The Bundle Analysis Report is generated automatically on each release using [Sonda](https://sonda.dev/), which analyses final source maps to reveal the actual effects of tree-shaking and minification rather than relying on pre-build estimates.
140
+
141
+ _Note: Sonda's Vite reports currently exclude CSS files, since Vite does not generate source maps for CSS._
142
+
143
+ |Chunk/Module/File|Composition|
144
+ |:------ |:-----------|
145
+ | dist/componentConfig.schema-DzuoA1f0.js | 10.9 kB · brotli 2.3 kB |
146
+ | dist/dpuse-shared-encoding.es.js | 6.8 kB · brotli 953 B |
147
+ | dist/dpuse-shared-componentModuleConnector.es.js | 3.6 kB · brotli 1.2 kB |
148
+ | dist/dpuse-shared-utilities.es.js | 3.6 kB · brotli 1.2 kB |
149
+ | dist/dpuse-shared-errors.es.js | 3.5 kB · brotli 1.1 kB |
150
+ | dist/dpuse-shared-component.es.js | 1.3 kB · brotli 458 B |
151
+ | dist/dpuse-shared-locale.es.js | 859 B · brotli 381 B |
152
+ | dist/dpuse-shared-componentDataView.es.js | 722 B · brotli 310 B |
153
+ | dist/dpuse-shared-componentModuleContext.es.js | 471 B · brotli 239 B |
154
+ | dist/dpuse-shared-componentModulePresenter.es.js | 411 B · brotli 226 B |
155
+ | dist/dpuse-shared-componentModuleTool.es.js | 325 B · brotli 223 B |
156
+ | dist/moduleConfig.schema-COF8ocp_.js | 325 B · brotli 207 B |
157
+ | dist/dpuse-shared-componentConnection.es.js | 0 B · brotli 1 B |
158
+ | dist/dpuse-shared-componentDimension.es.js | 0 B · brotli 1 B |
159
+ | dist/dpuse-shared-componentEventQuery.es.js | 0 B · brotli 1 B |
160
+ | dist/dpuse-shared-componentModel.es.js | 0 B · brotli 1 B |
161
+ | dist/dpuse-shared-componentModelDimension.es.js | 0 B · brotli 1 B |
162
+ | dist/dpuse-shared-componentModelEntity.es.js | 0 B · brotli 1 B |
163
+ | dist/dpuse-shared-componentModelEntityDataItem.es.js | 0 B · brotli 1 B |
164
+ | dist/dpuse-shared-componentModelEntityEvent.es.js | 0 B · brotli 1 B |
165
+ | dist/dpuse-shared-componentModelEntityPrimaryMeasure.es.js | 0 B · brotli 1 B |
166
+ | dist/dpuse-shared-componentModelSecondaryMeasure.es.js | 0 B · brotli 1 B |
167
+ | dist/dpuse-shared-componentModule.es.js | 0 B · brotli 1 B |
168
+ | dist/dpuse-shared-componentModuleEngine.es.js | 0 B · brotli 1 B |
169
+ | dist/dpuse-shared-componentPresentation.es.js | 0 B · brotli 1 B |
170
+
171
+ <!-- BUNDLE_END -->
172
+
173
+ <!-- GOVERNANCE_START -->
120
174
 
121
175
  ## Security & Quality
122
176
 
@@ -132,8 +186,8 @@ The Bundle Analysis Reports provide detailed breakdowns of the bundle's composit
132
186
 
133
187
  Two complementary tools continuously monitor dependencies for known vulnerabilities:
134
188
 
135
- - **[GitHub Dependabot](https://docs.github.com/en/code-security/dependabot)** automatically raises pull requests to update vulnerable dependencies, drawing on the GitHub Advisory Database which combines NVD and npm-specific advisories.
136
- - **npm audit** runs on every push to `main` via the CI workflow, failing the build if any high or critical severity vulnerabilities are detected.
189
+ - [npm audit](https://docs.npmjs.com/cli/v8/commands/npm-audit) runs on every push to `main` via the CI workflow, failing the build if any high or critical severity vulnerabilities are detected.
190
+ - [GitHub Dependabot](https://docs.github.com/en/code-security/dependabot) automatically raises pull requests to update vulnerable dependencies, drawing on the GitHub Advisory Database which combines NVD and npm-specific advisories.
137
191
 
138
192
  ### Supply Chain Security
139
193
 
@@ -147,16 +201,18 @@ Please do not open public GitHub issues for security vulnerabilities. Use [GitHu
147
201
 
148
202
  [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/dpuse/dpuse-shared/badge)](https://scorecard.dev/viewer/?uri=github.com/dpuse/dpuse-shared)
149
203
 
150
- This project is working towards the [OpenSSF Best Practices](https://www.bestpractices.dev) Passing badge, a self-certification covering security policy, vulnerability reporting, build processes, code quality, and more. The [OpenSSF Scorecard](https://scorecard.dev/viewer/?uri=github.com/dpuse/dpuse-shared) provides an independent automated assessment of the project's security practices and is an ongoing area of improvement.
204
+ This project is working towards the [OpenSSF Best Practices](https://www.bestpractices.dev) Passing badge, a self-certification covering security policy, vulnerability reporting, build processes, code quality, and more. Currently the [OpenSSF Scorecard](https://scorecard.dev/viewer/?uri=github.com/dpuse/dpuse-shared) provides an independent automated assessment of the project's security practices and is an ongoing area of improvement.
151
205
 
152
206
  ## Contributing
153
207
 
154
- This repository is maintained solely by its owner and does not accept external contributions. It is part of a larger closed application suite and is published for informational and cloning purposes only.
208
+ This repository is maintained solely by its owner and does not, at present, accept external contributions into the canonical repo. Its source is published openly under the MIT License — every DPUse project is fully open source except DPUse Engine, which remains closed and proprietary.
155
209
 
156
- If you find a security vulnerability, see [Reporting Vulnerabilities](#reporting-vulnerabilities). For bugs, inconsistencies, or other feedback, you are welcome to [open a GitHub issue](https://github.com/dpuse/dpuse-shared/issues) — feedback is read, but responses and fixes are at the maintainer's discretion.
210
+ For security vulnerabilities, see [Reporting Vulnerabilities](#reporting-vulnerabilities). For bugs, inconsistencies, or other feedback, [open a GitHub issue](https://github.com/dpuse/dpuse-shared/issues) — feedback is read, but responses and fixes are at the maintainer's discretion.
157
211
 
158
212
  ## License
159
213
 
160
214
  This project is licensed under the MIT License, permitting free use, modification, and distribution.
161
215
 
162
216
  [MIT](./LICENSE) © 2026-present Jonathan Terrell
217
+
218
+ <!-- GOVERNANCE_END -->
@@ -9,6 +9,7 @@ var m = n([
9
9
  "describeConnection",
10
10
  "dropObject",
11
11
  "findObject",
12
+ "getInfo",
12
13
  "getReadableStream",
13
14
  "getRecord",
14
15
  "listNodes",
@@ -22,7 +23,12 @@ var m = n([
22
23
  "curatedDataset",
23
24
  "database",
24
25
  "fileStore"
25
- ]), g = i({ label: o }), _ = i({
26
+ ]), g = i({ label: o }), _ = n([
27
+ "bidirectional",
28
+ "destination",
29
+ "source",
30
+ "unknown"
31
+ ]), v = i({ label: o }), y = i({
26
32
  authMethodId: n([
27
33
  "apiKey",
28
34
  "disabled",
@@ -35,17 +41,19 @@ var m = n([
35
41
  label: a(o),
36
42
  maxConnectionCount: s(f()),
37
43
  params: a(l(u(c(), c())))
38
- }), v = i({
44
+ }), b = i({
39
45
  typeId: r("connector"),
40
46
  ...p,
41
47
  actionNames: l(m),
42
48
  category: s(g),
43
49
  categoryId: h,
44
- implementations: u(c(), _),
50
+ implementations: u(c(), y),
51
+ usage: s(v),
52
+ usageId: _,
45
53
  vendorAccountURL: s(c()),
46
54
  vendorDocumentationURL: s(c()),
47
55
  vendorHomeURL: s(c())
48
- }), y = [
56
+ }), x = [
49
57
  {
50
58
  id: "application",
51
59
  label: {
@@ -74,13 +82,14 @@ var m = n([
74
82
  es: "Almacén de Archivos"
75
83
  }
76
84
  }
77
- ], b = {
85
+ ], S = {
78
86
  abortOperation: "Abort Operation",
79
87
  auditObjectContent: "Audit Object Content",
80
88
  createObject: "Create Object",
81
89
  describeConnection: "Describe Connection",
82
90
  dropObject: "Drop Object",
83
91
  findObject: "Find Object",
92
+ getInfo: "Get Info",
84
93
  getReadableStream: "Get Readable Stream",
85
94
  getRecord: "Get Record",
86
95
  listNodes: "List Nodes",
@@ -89,14 +98,44 @@ var m = n([
89
98
  retrieveChunks: "Retrieve Chunks",
90
99
  retrieveRecords: "Retrieve Records",
91
100
  upsertRecords: "Upsert Records"
92
- }, x = /* @__PURE__ */ new Set([
101
+ }, C = [
102
+ {
103
+ id: "bidirectional",
104
+ label: {
105
+ en: "Bidirectional",
106
+ es: "Bidireccional"
107
+ }
108
+ },
109
+ {
110
+ id: "destination",
111
+ label: {
112
+ en: "Destination",
113
+ es: "Destino"
114
+ }
115
+ },
116
+ {
117
+ id: "source",
118
+ label: {
119
+ en: "Source",
120
+ es: "Origen"
121
+ }
122
+ },
123
+ {
124
+ id: "unknown",
125
+ label: {
126
+ en: "Unknown",
127
+ es: "Desconocido"
128
+ }
129
+ }
130
+ ], w = /* @__PURE__ */ new Set([
93
131
  "createObject",
94
132
  "dropObject",
95
133
  "removeRecords",
96
134
  "upsertRecords"
97
- ]), S = /* @__PURE__ */ new Set([
135
+ ]), T = /* @__PURE__ */ new Set([
98
136
  "auditObjectContent",
99
137
  "findObject",
138
+ "getInfo",
100
139
  "getReadableStream",
101
140
  "getRecord",
102
141
  "listNodes",
@@ -104,13 +143,22 @@ var m = n([
104
143
  "retrieveChunks",
105
144
  "retrieveRecords"
106
145
  ]);
107
- function C(e) {
146
+ function E(e) {
108
147
  let t = !1, n = !1;
109
- for (let r of e) S.has(r) && (t = !0), x.has(r) && (n = !0);
148
+ for (let r of e) T.has(r) && (t = !0), w.has(r) && (n = !0);
110
149
  return t && n ? "bidirectional" : t ? "source" : n ? "destination" : "unknown";
111
150
  }
112
- var w = (n, r = "en") => {
113
- let i = y.find((e) => e.id === n);
151
+ var D = (n, r = "en") => {
152
+ let i = x.find((e) => e.id === n);
153
+ return i ? {
154
+ label: t(e(i.label), r) ?? i.id,
155
+ description: []
156
+ } : {
157
+ label: n,
158
+ description: []
159
+ };
160
+ }, O = (n, r = "en") => {
161
+ let i = C.find((e) => e.id === n);
114
162
  return i ? {
115
163
  label: t(e(i.label), r) ?? i.id,
116
164
  description: []
@@ -119,11 +167,11 @@ var w = (n, r = "en") => {
119
167
  description: []
120
168
  };
121
169
  };
122
- function T(e) {
170
+ function k(e) {
123
171
  let t = new Set(e), n = "|Action|Supported|\n";
124
172
  n += "|:----|:-------:|\n";
125
- for (let e of Object.keys(b)) n += `| ${b[e]} | ${t.has(e) ? "✓" : ""} |\n`;
173
+ for (let e of Object.keys(S)) n += `| ${S[e]} | ${t.has(e) ? "✓" : ""} |\n`;
126
174
  return n;
127
175
  }
128
176
  //#endregion
129
- export { b as CONNECTOR_ACTION_NAME_MAP, v as connectorConfigSchema, w as constructConnectorCategoryConfig, C as determineConnectorUsageId, T as getConnectorActionsTable };
177
+ export { S as CONNECTOR_ACTION_NAME_MAP, b as connectorConfigSchema, D as constructConnectorCategoryConfig, O as constructConnectorUsageConfig, E as determineConnectorUsageId, k as getConnectorActionsTable };
@@ -2,15 +2,22 @@
2
2
  * Defines the configuration metadata for a connector. Used for validation
3
3
  * of connector manifests and capability discovery at runtime.
4
4
  */
5
- export declare const connectorActionNameSchema: import('valibot').UnionSchema<readonly [import('valibot').LiteralSchema<"abortOperation", undefined>, import('valibot').LiteralSchema<"auditObjectContent", undefined>, import('valibot').LiteralSchema<"createObject", undefined>, import('valibot').LiteralSchema<"describeConnection", undefined>, import('valibot').LiteralSchema<"dropObject", undefined>, import('valibot').LiteralSchema<"findObject", undefined>, import('valibot').LiteralSchema<"getReadableStream", undefined>, import('valibot').LiteralSchema<"getRecord", undefined>, import('valibot').LiteralSchema<"listNodes", undefined>, import('valibot').LiteralSchema<"previewObject", undefined>, import('valibot').LiteralSchema<"removeRecords", undefined>, import('valibot').LiteralSchema<"retrieveChunks", undefined>, import('valibot').LiteralSchema<"retrieveRecords", undefined>, import('valibot').LiteralSchema<"upsertRecords", undefined>], undefined>;
5
+ export declare const connectorActionNameSchema: import('valibot').UnionSchema<readonly [import('valibot').LiteralSchema<"abortOperation", undefined>, import('valibot').LiteralSchema<"auditObjectContent", undefined>, import('valibot').LiteralSchema<"createObject", undefined>, import('valibot').LiteralSchema<"describeConnection", undefined>, import('valibot').LiteralSchema<"dropObject", undefined>, import('valibot').LiteralSchema<"findObject", undefined>, import('valibot').LiteralSchema<"getInfo", undefined>, import('valibot').LiteralSchema<"getReadableStream", undefined>, import('valibot').LiteralSchema<"getRecord", undefined>, import('valibot').LiteralSchema<"listNodes", undefined>, import('valibot').LiteralSchema<"previewObject", undefined>, import('valibot').LiteralSchema<"removeRecords", undefined>, import('valibot').LiteralSchema<"retrieveChunks", undefined>, import('valibot').LiteralSchema<"retrieveRecords", undefined>, import('valibot').LiteralSchema<"upsertRecords", undefined>], undefined>;
6
6
  export declare const connectorCategoryConfigSchema: import('valibot').ObjectSchema<{
7
7
  readonly label: import('valibot').ObjectSchema<{
8
8
  readonly en: import('valibot').StringSchema<undefined>;
9
9
  readonly es: import('valibot').StringSchema<undefined>;
10
10
  }, undefined>;
11
11
  }, undefined>;
12
+ export declare const connectorUsageIdSchema: import('valibot').UnionSchema<readonly [import('valibot').LiteralSchema<"bidirectional", undefined>, import('valibot').LiteralSchema<"destination", undefined>, import('valibot').LiteralSchema<"source", undefined>, import('valibot').LiteralSchema<"unknown", undefined>], undefined>;
13
+ export declare const connectorUsageConfigSchema: import('valibot').ObjectSchema<{
14
+ readonly label: import('valibot').ObjectSchema<{
15
+ readonly en: import('valibot').StringSchema<undefined>;
16
+ readonly es: import('valibot').StringSchema<undefined>;
17
+ }, undefined>;
18
+ }, undefined>;
12
19
  export declare const connectorConfigSchema: import('valibot').ObjectSchema<{
13
- readonly actionNames: import('valibot').ArraySchema<import('valibot').UnionSchema<readonly [import('valibot').LiteralSchema<"abortOperation", undefined>, import('valibot').LiteralSchema<"auditObjectContent", undefined>, import('valibot').LiteralSchema<"createObject", undefined>, import('valibot').LiteralSchema<"describeConnection", undefined>, import('valibot').LiteralSchema<"dropObject", undefined>, import('valibot').LiteralSchema<"findObject", undefined>, import('valibot').LiteralSchema<"getReadableStream", undefined>, import('valibot').LiteralSchema<"getRecord", undefined>, import('valibot').LiteralSchema<"listNodes", undefined>, import('valibot').LiteralSchema<"previewObject", undefined>, import('valibot').LiteralSchema<"removeRecords", undefined>, import('valibot').LiteralSchema<"retrieveChunks", undefined>, import('valibot').LiteralSchema<"retrieveRecords", undefined>, import('valibot').LiteralSchema<"upsertRecords", undefined>], undefined>, undefined>;
20
+ readonly actionNames: import('valibot').ArraySchema<import('valibot').UnionSchema<readonly [import('valibot').LiteralSchema<"abortOperation", undefined>, import('valibot').LiteralSchema<"auditObjectContent", undefined>, import('valibot').LiteralSchema<"createObject", undefined>, import('valibot').LiteralSchema<"describeConnection", undefined>, import('valibot').LiteralSchema<"dropObject", undefined>, import('valibot').LiteralSchema<"findObject", undefined>, import('valibot').LiteralSchema<"getInfo", undefined>, import('valibot').LiteralSchema<"getReadableStream", undefined>, import('valibot').LiteralSchema<"getRecord", undefined>, import('valibot').LiteralSchema<"listNodes", undefined>, import('valibot').LiteralSchema<"previewObject", undefined>, import('valibot').LiteralSchema<"removeRecords", undefined>, import('valibot').LiteralSchema<"retrieveChunks", undefined>, import('valibot').LiteralSchema<"retrieveRecords", undefined>, import('valibot').LiteralSchema<"upsertRecords", undefined>], undefined>, undefined>;
14
21
  readonly category: import('valibot').NullableSchema<import('valibot').ObjectSchema<{
15
22
  readonly label: import('valibot').ObjectSchema<{
16
23
  readonly en: import('valibot').StringSchema<undefined>;
@@ -30,6 +37,13 @@ export declare const connectorConfigSchema: import('valibot').ObjectSchema<{
30
37
  readonly maxConnectionCount: import('valibot').NullableSchema<import('valibot').NumberSchema<undefined>, undefined>;
31
38
  readonly params: import('valibot').OptionalSchema<import('valibot').ArraySchema<import('valibot').RecordSchema<import('valibot').StringSchema<undefined>, import('valibot').StringSchema<undefined>, undefined>, undefined>, undefined>;
32
39
  }, undefined>, undefined>;
40
+ readonly usage: import('valibot').NullableSchema<import('valibot').ObjectSchema<{
41
+ readonly label: import('valibot').ObjectSchema<{
42
+ readonly en: import('valibot').StringSchema<undefined>;
43
+ readonly es: import('valibot').StringSchema<undefined>;
44
+ }, undefined>;
45
+ }, undefined>, undefined>;
46
+ readonly usageId: import('valibot').UnionSchema<readonly [import('valibot').LiteralSchema<"bidirectional", undefined>, import('valibot').LiteralSchema<"destination", undefined>, import('valibot').LiteralSchema<"source", undefined>, import('valibot').LiteralSchema<"unknown", undefined>], undefined>;
33
47
  readonly vendorAccountURL: import('valibot').NullableSchema<import('valibot').StringSchema<undefined>, undefined>;
34
48
  readonly vendorDocumentationURL: import('valibot').NullableSchema<import('valibot').StringSchema<undefined>, undefined>;
35
49
  readonly vendorHomeURL: import('valibot').NullableSchema<import('valibot').StringSchema<undefined>, undefined>;
@@ -3,7 +3,7 @@ import { Component } from '../..';
3
3
  import { EngineConnectorActionOptions } from '../engine';
4
4
  import { ToolConfig } from '../tool';
5
5
  import { ConnectionDescriptionConfig, ConnectionNodeConfig, ObjectColumnConfig } from '../../connection';
6
- import { connectorActionNameSchema, connectorCategoryConfigSchema, connectorConfigSchema } from './connectorConfig.schema';
6
+ import { connectorActionNameSchema, connectorCategoryConfigSchema, connectorConfigSchema, connectorUsageConfigSchema, connectorUsageIdSchema } from './connectorConfig.schema';
7
7
  import { ContentAuditConfig, InferenceRecord, InferenceSummary, ParsingRecord, PreviewConfig, ValueDelimiterId } from '../../dataView';
8
8
  import { LocalisedConfig } from '../../../locale';
9
9
  export { connectorConfigSchema } from './connectorConfig.schema';
@@ -17,6 +17,7 @@ export interface ConnectorInterface extends Component {
17
17
  describeConnection?(options: DescribeConnectionOptions): Promise<DescribeConnectionResult>;
18
18
  dropObject?(options: DropObjectOptions): Promise<void>;
19
19
  findObject?(options: FindObjectOptions): Promise<FindObjectResult>;
20
+ getInfo?(options: GetInfoOptions): Promise<GetInfoResult>;
20
21
  getReadableStream?(options: GetReadableStreamOptions): Promise<ReadableStream<Uint8Array>>;
21
22
  getRecord?(options: GetRecordOptions): Promise<GetRecordResult>;
22
23
  listNodes?(options: ListNodesOptions): Promise<ListNodesResult>;
@@ -35,6 +36,7 @@ export interface ConnectorUtilities {
35
36
  }
36
37
  export type ConnectorConfig = InferOutput<typeof connectorConfigSchema>;
37
38
  type ConnectorCategoryConfig = InferOutput<typeof connectorCategoryConfigSchema>;
39
+ type ConnectorUsageConfig = InferOutput<typeof connectorUsageConfigSchema>;
38
40
  export interface AuditObjectContentOptions1 extends EngineConnectorActionOptions {
39
41
  chunkSize: number | undefined;
40
42
  encodingId: string;
@@ -74,6 +76,12 @@ export interface FindObjectOptions extends EngineConnectorActionOptions {
74
76
  export interface FindObjectResult {
75
77
  path: string | undefined;
76
78
  }
79
+ export interface GetInfoOptions extends EngineConnectorActionOptions {
80
+ path: string;
81
+ }
82
+ export interface GetInfoResult {
83
+ info: Record<string, unknown>;
84
+ }
77
85
  export interface GetReadableStreamOptions extends EngineConnectorActionOptions {
78
86
  id: string;
79
87
  path: string;
@@ -132,7 +140,8 @@ export interface UpsertRecordsOptions extends EngineConnectorActionOptions {
132
140
  path: string;
133
141
  }
134
142
  export declare const CONNECTOR_ACTION_NAME_MAP: Record<ConnectorActionName, string>;
135
- export type ConnectorUsageId = 'bidirectional' | 'destination' | 'source' | 'unknown';
143
+ export type ConnectorUsageId = InferOutput<typeof connectorUsageIdSchema>;
136
144
  export declare function determineConnectorUsageId(actionNames: ConnectorActionName[]): ConnectorUsageId;
137
145
  export declare const constructConnectorCategoryConfig: (id: string, localeId?: import('../../../locale').LocaleId) => LocalisedConfig<ConnectorCategoryConfig>;
146
+ export declare const constructConnectorUsageConfig: (id: string, localeId?: import('../../../locale').LocaleId) => LocalisedConfig<ConnectorUsageConfig>;
138
147
  export declare function getConnectorActionsTable(supported: ConnectorActionName[]): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dpuse/dpuse-shared",
3
- "version": "0.3.737",
3
+ "version": "0.3.741",
4
4
  "private": false,
5
5
  "description": "Common constants, types and utilities used across all DPUse projects.",
6
6
  "license": "MIT",
@@ -125,9 +125,13 @@
125
125
  },
126
126
  "scripts": {
127
127
  "audit": "node -e \"import('@dpuse/dpuse-development').then(m => m.auditDependencies())\"",
128
- "build": "node -e \"import('@dpuse/dpuse-development').then(m => m.buildProject())\"",
128
+ "build": "node -e \"import('@dpuse/dpuse-development').then(m => m.buildProject())\" && npm run documentBundleSizes",
129
129
  "check": "node -e \"import('@dpuse/dpuse-development').then(m => m.checkConfigFiles())\" && node -e \"import('@dpuse/dpuse-development').then(m => m.checkDependencies())\"",
130
- "document": "node -e \"import('@dpuse/dpuse-development').then(m => m.documentDependencies(['MIT']))\"",
130
+ "document": "npm run documentOpening && npm run documentDependencies && npm run documentGovernance",
131
+ "documentBundleSizes": "node -e \"import('@dpuse/dpuse-development').then(m => m.documentBundleSizes())\"",
132
+ "documentDependencies": "node -e \"import('@dpuse/dpuse-development').then(m => m.documentDependencies('MIT'))\"",
133
+ "documentGovernance": "node -e \"import('@dpuse/dpuse-development').then(m => m.documentGovernance())\"",
134
+ "documentOpening": "node -e \"import('@dpuse/dpuse-development').then(m => m.documentOpening())\"",
131
135
  "format": "node -e \"import('@dpuse/dpuse-development').then(m => m.formatCode())\"",
132
136
  "lint": "node -e \"import('@dpuse/dpuse-development').then(m => m.lintCode())\"",
133
137
  "release": "npm run sync && gh release create \"v$(npm pkg get version | tr -d '\"')\" --target \"$(git rev-parse HEAD)\" --generate-notes --latest",
@@ -135,16 +139,16 @@
135
139
  "test": "node -e \"import('@dpuse/dpuse-development').then(m => m.testProject())\""
136
140
  },
137
141
  "devDependencies": {
138
- "@dpuse/dpuse-development": "^0.3.675",
139
- "@dpuse/eslint-config-dpuse": "^1.0.105",
140
- "@types/node": "^26.1.0",
141
- "eslint": "^10.6.0",
142
+ "@dpuse/dpuse-development": "^0.3.686",
143
+ "@dpuse/eslint-config-dpuse": "^1.0.113",
144
+ "@types/node": "^26.1.1",
145
+ "eslint": "^10.7.0",
142
146
  "file-type": "^22.0.1",
143
- "prettier": "^3.9.4",
147
+ "prettier": "^3.9.5",
144
148
  "sonda": "^0.14.0",
145
149
  "typescript": "^6.0.3",
146
150
  "valibot": "^1.4.2",
147
- "vite": "^8.1.3",
151
+ "vite": "^8.1.4",
148
152
  "vite-plugin-dts": "^5.0.3",
149
153
  "vitest": "^4.1.10"
150
154
  }