@dpuse/dpuse-shared 0.3.824 → 0.3.826
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.
|
@@ -26,7 +26,8 @@ var m = o([
|
|
|
26
26
|
]), g = u({ label: n }), _ = o([
|
|
27
27
|
"bidirectional",
|
|
28
28
|
"destination",
|
|
29
|
-
"source"
|
|
29
|
+
"source",
|
|
30
|
+
"unknown"
|
|
30
31
|
]), v = u({ label: n }), y = o([
|
|
31
32
|
"apiKey",
|
|
32
33
|
"disabled",
|
|
@@ -142,7 +143,7 @@ var m = o([
|
|
|
142
143
|
function O(e) {
|
|
143
144
|
let t = !1, n = !1;
|
|
144
145
|
for (let r of e) D.has(r) && (t = !0), E.has(r) && (n = !0);
|
|
145
|
-
return t && n ? "bidirectional" : t ? "source" : n ? "destination" : "
|
|
146
|
+
return t && n ? "bidirectional" : t ? "source" : n ? "destination" : "unknown";
|
|
146
147
|
}
|
|
147
148
|
var k = (n, r = "en") => {
|
|
148
149
|
let i = C.find((e) => e.id === n);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dpuse-shared-componentModuleConnector.es.js","names":[],"sources":["../src/component/module/connector/connectorConfig.schema.ts","../src/component/module/connector/index.ts"],"sourcesContent":["/**\n * Defines the configuration metadata for a connector. Used for validation\n * of connector manifests and capability discovery at runtime.\n */\n\n// ── External Dependencies & Registrations\nimport { array, boolean, literal, nullable, number, optional, record, strictObject, string } from 'valibot';\n\n// ── DPUse Framework\nimport { literalUnion } from '@/schema';\nimport { localeLabelSchema } from '@/locale/locale.schema';\nimport { moduleConfigCoreFields } from '@/component/module/moduleConfig.schema';\n\n// ── Schemas - Action Name ────────────────────────────────────────────────────────────────────────────────────────────\n\n// Names of the operations a connector may implement.\nexport const connectorActionNameSchema = literalUnion([\n 'abortOperation',\n 'auditObjectContent',\n 'createObject',\n 'describeConnection',\n 'dropObject',\n 'findObject',\n 'getInfo',\n 'getReadableStream',\n 'getRecord',\n 'listNodes',\n 'previewObject',\n 'removeRecords',\n 'retrieveChunks',\n 'retrieveRecords',\n 'upsertRecords'\n]);\n\n// ── Schemas - Category Configuration ─────────────────────────────────────────────────────────────────────────────────\n\nconst connectorCategoryIdSchema = literalUnion(['application', 'curatedDataset', 'database', 'fileStore']); // Category identifiers used for grouping and filtering connectors.\n\nexport const connectorCategoryConfigSchema = strictObject({\n label: localeLabelSchema\n});\n\n// ── Schemas - Usage ──────────────────────────────────────────────────────────────────────────────────────────────────\n\nexport const connectorUsageIdSchema = literalUnion(['bidirectional', 'destination', 'source']); // Connector data pipeline usage identifiers.\n\nexport const connectorUsageConfigSchema = strictObject({\n label: localeLabelSchema\n});\n\n// ── Schemas - Implementation ─────────────────────────────────────────────────────────────────────────────────────────\n\nconst connectorAuthMethodIdSchema = literalUnion(['apiKey', 'disabled', 'oAuth2', 'none']); // Authentication method identifiers supported by a connector implementation.\n\nconst connectorImplementationParametersSchema = record(string(), string()); // One set of implementation parameters, keyed by name.\n\n// A connector implementation variant. A single connector may expose multiple implementations differing by auth method, limits, or vendor-specific behavior.\nconst connectorImplementationSchema = strictObject({\n authMethodId: connectorAuthMethodIdSchema,\n activeConnectionCount: optional(number()),\n canDescribe: optional(boolean()),\n id: optional(string()),\n label: optional(localeLabelSchema),\n maxConnectionCount: nullable(number()),\n params: optional(array(connectorImplementationParametersSchema))\n});\n\n// ── Schemas - Configuration ──────────────────────────────────────────────────────────────────────────────────────────\n\nexport const connectorConfigSchema = strictObject({\n ...moduleConfigCoreFields,\n typeId: literal('connector'),\n actionNames: array(connectorActionNameSchema),\n category: nullable(connectorCategoryConfigSchema),\n categoryId: connectorCategoryIdSchema,\n implementations: record(string(), connectorImplementationSchema),\n usage: nullable(connectorUsageConfigSchema),\n usageId: nullable(connectorUsageIdSchema)\n});\n","// ── External Dependencies & Registrations\nimport type { InferOutput } from 'valibot';\n\n// ── DPUse Framework\nimport type { Component } from '@/component';\nimport type { EngineConnectorActionOptions } from '@/component/module/engine';\nimport type { ToolConfig } from '@/component/module/tool';\nimport type { ConnectionDescriptionConfig, ConnectionNodeConfig, ObjectColumnConfig } from '@/component/connection';\nimport type {\n connectorActionNameSchema,\n connectorCategoryConfigSchema,\n connectorConfigSchema,\n connectorUsageConfigSchema,\n connectorUsageIdSchema\n} from '@/component/module/connector/connectorConfig.schema';\nimport type { ContentAuditConfig, InferenceRecord, InferenceSummary, ParsingRecord, PreviewConfig, ValueDelimiterId } from '@/component/dataView';\nimport { createLabelMap, DEFAULT_LOCALE_ID, type LocaleLabel, resolveLabel } from '@/locale/label';\nimport type { LocalisedConfig } from '@/locale';\n\n// ── Schemas ──────────────────────────────────────────────────────────────────────────────────────────────────────────\n\nexport { connectorConfigSchema } from '@/component/module/connector/connectorConfig.schema';\n\n// ── Types - Interface ────────────────────────────────────────────────────────────────────────────────────────────────\n\nexport interface ConnectorInterface extends Component {\n abortController: AbortController | undefined;\n readonly config: ConnectorConfig;\n readonly toolConfigs: ToolConfig[];\n abortOperation?(): void; // Abort the active long running action.\n auditObjectContent?(options: AuditObjectContentOptions, chunk: (rowCount: number) => void): Promise<AuditObjectContentResult>;\n createObject?(options: CreateObjectOptions): Promise<void>; // Create an object for a specified connection.\n describeConnection?(options: DescribeConnectionOptions): Promise<DescribeConnectionResult>; // Describe a specified connection.\n dropObject?(options: DropObjectOptions): Promise<void>; // Drop (delete) an object for a specified connection.\n findObject?(options: FindObjectOptions): Promise<FindObjectResult>; // Find an object for a specified connection.\n getInfo?(options: GetInfoOptions): Promise<GetInfoResult>; // Get metadata/info for a node (at any hierarchy level) for a specified connection.\n getReadableStream?(options: GetReadableStreamOptions): Promise<ReadableStream<Uint8Array>>; // Get a reader that can retrieve all records from an object for a specified connection.\n getRecord?(options: GetRecordOptions): Promise<GetRecordResult>; // Get a record for an object for a specified connection.\n listNodes?(options: ListNodesOptions): Promise<ListNodesResult>; // List nodes in a folder for a specified connection.\n previewObject?(options: PreviewObjectOptions): Promise<PreviewConfig>; // Preview an object for a specified connection.\n removeRecords?(options: RemoveRecordsOptions): Promise<void>; // Remove one or more records from an object for a specified connection.\n retrieveChunks?(options: RetrieveChunksOptions, chunk: (data: Uint8Array) => void, complete: () => void): Promise<void>; // Retrieve all chunks from an object for a specified connection.\n retrieveRecords?(\n options: RetrieveRecordsOptions,\n chunk: (typeId: RecordRetrievalTypeId, records: Record<string, unknown>[] | ParsingRecord[]) => void,\n complete: (result: RetrieveRecordsSummary) => void\n ): Promise<void>; // Retrieve all records from an object for a specified connection.\n upsertRecords?(options: UpsertRecordsOptions): Promise<void>; // Upsert one or more records into an object for a specified connection.\n}\n\nexport type ConnectorActionName = InferOutput<typeof connectorActionNameSchema>; // Names of the actions a connector may implement.\n\nexport type ConnectorConstructor = new (connectorUtilities: ConnectorUtilities, toolConfigs: ToolConfig[]) => ConnectorInterface;\n\nexport interface ConnectorUtilities {\n hasReadableStreamTransferSupport(): boolean;\n inferValues: (parsedRecord: ParsingRecord, columnConfigs: ObjectColumnConfig[], hasLeadingRecord: boolean) => InferenceRecord;\n inferDataTypes: (parsedRecords: ParsingRecord[]) => InferenceSummary;\n}\n\n// ── Types - Configuration ────────────────────────────────────────────────────────────────────────────────────────────\n\nexport type ConnectorConfig = InferOutput<typeof connectorConfigSchema>;\n\ntype ConnectorCategoryConfig = InferOutput<typeof connectorCategoryConfigSchema>;\n\ntype ConnectorUsageConfig = InferOutput<typeof connectorUsageConfigSchema>;\n\n// ── Types - Action - Audit Object Content ────────────────────────────────────────────────────────────────────────────\n\nexport interface AuditObjectContentOptions1 extends EngineConnectorActionOptions {\n chunkSize: number | undefined;\n encodingId: string;\n path: string;\n valueDelimiterId: ValueDelimiterId;\n}\nexport interface AuditObjectContentResult1 {\n contentAuditConfig: ContentAuditConfig;\n}\n\nexport interface AuditObjectContentOptions extends EngineConnectorActionOptions {\n chunkSize: number | undefined;\n encodingId: string;\n parsingToolName: string | undefined;\n path: string;\n supportsTransferableStreams: boolean;\n valueDelimiterId: ValueDelimiterId;\n}\nexport interface AuditObjectContentResult {\n processedRowCount: number;\n durationMs: number;\n}\n\n// ── Types - Action - Create Object ───────────────────────────────────────────────────────────────────────────────────\n\nexport interface CreateObjectOptions extends EngineConnectorActionOptions {\n path: string;\n structure: string;\n}\n\n// ── Types - Action - Describe Connection ─────────────────────────────────────────────────────────────────────────────\n\nexport type DescribeConnectionOptions = EngineConnectorActionOptions;\n\ninterface DescribeConnectionResult {\n descriptionConfig: ConnectionDescriptionConfig;\n}\n\n// ── Types - Action - Drop Object ─────────────────────────────────────────────────────────────────────────────────────\n\nexport interface DropObjectOptions extends EngineConnectorActionOptions {\n path: string;\n}\n\n// ── Types - Action - Find Object ─────────────────────────────────────────────────────────────────────────────────────\n\nexport interface FindObjectOptions extends EngineConnectorActionOptions {\n storeId: string | undefined;\n nodeId: string;\n}\nexport interface FindObjectResult {\n path: string | undefined;\n}\n\n// ── Types - Action - Get Info ────────────────────────────────────────────────────────────────────────────────────────\n\nexport interface GetInfoOptions extends EngineConnectorActionOptions {\n path: string;\n}\nexport interface GetInfoResult {\n info: Record<string, unknown>; // Raw, connector-specific metadata — not yet normalized to a common shape.\n}\n\n// ── Types - Action - Get Readable Stream ─────────────────────────────────────────────────────────────────────────────\n\nexport interface GetReadableStreamOptions extends EngineConnectorActionOptions {\n id: string;\n path: string;\n}\n\n// ── Types - Action - Get Record ──────────────────────────────────────────────────────────────────────────────────────\n\nexport interface GetRecordOptions extends EngineConnectorActionOptions {\n id: string;\n path: string;\n}\nexport interface GetRecordResult {\n record?: string[] | Record<string, unknown>;\n}\n\n// ── Types - Action - List Nodes ──────────────────────────────────────────────────────────────────────────────────────\n\nexport interface ListNodesOptions extends EngineConnectorActionOptions {\n folderPath: string;\n limit?: number;\n offset?: number;\n totalCount?: number;\n}\nexport interface ListNodesResult {\n cursor: string | number | undefined;\n connectionNodeConfigs: ConnectionNodeConfig[];\n isMore: boolean;\n totalCount: number;\n}\n\n// ── Types - Action - Preview Object ──────────────────────────────────────────────────────────────────────────────────\n\nexport interface PreviewObjectOptions extends EngineConnectorActionOptions {\n chunkSize: number | undefined;\n extension: string | undefined;\n path: string;\n}\n\n// ── Types - Action - Remove Records ──────────────────────────────────────────────────────────────────────────────────\n\nexport interface RemoveRecordsOptions extends EngineConnectorActionOptions {\n keys: string[];\n path: string;\n}\n\n// ── Types - Action - Retrieve Chunks ─────────────────────────────────────────────────────────────────────────────────\n\nexport interface RetrieveChunksOptions extends EngineConnectorActionOptions {\n chunkSize: number | undefined;\n encodingId: string;\n path: string;\n valueDelimiterId: ValueDelimiterId;\n}\n\n// ── Types - Action - Retrieve Records ────────────────────────────────────────────────────────────────────────────────\n\nexport interface RetrieveRecordsOptions extends EngineConnectorActionOptions {\n chunkSize: number | undefined;\n encodingId: string;\n path: string;\n valueDelimiterId: ValueDelimiterId;\n}\nexport interface RetrieveRecordsSummary {\n byteCount: number; // Number of processed bytes.\n commentLineCount: number; // Count the number of lines being fully commented.\n emptyLineCount: number; // Count the number of processed empty lines; work only with the skip_empty_lines option or an error will be thrown if an empty line is found.\n lineCount: number; // Number of lines encountered in the source dataset, start at 1 for the first line.\n nonUniformRecordCount: number; // Number of non uniform records when relax_column_count is true.\n recordCount: number; // Count the number of processed records.\n}\n\nexport type RecordRetrievalTypeId = 'jsonRecordArray' | 'parsingRecordArray';\n\n// ── Types - Action - Upsert Records ──────────────────────────────────────────────────────────────────────────────────\n\nexport interface UpsertRecordsOptions extends EngineConnectorActionOptions {\n records: Record<string, unknown>[];\n path: string;\n}\n\n// ── Constants ────────────────────────────────────────────────────────────────────────────────────────────────────────\n\nconst CONNECTOR_CATEGORY_CONFIGS: { id: string; label: LocaleLabel }[] = [\n { id: 'application', label: { en: 'Application', es: 'Aplicación' } },\n { id: 'curatedDataset', label: { en: 'Curated Dataset', es: 'Conjunto de Datos Curado' } },\n { id: 'database', label: { en: 'Database', es: 'Base de Datos' } },\n { id: 'fileStore', label: { en: 'File Store', es: 'Almacén de Archivos' } }\n];\n\nexport const CONNECTOR_ACTION_NAME_MAP: Record<ConnectorActionName, string> = {\n abortOperation: 'Abort Operation',\n auditObjectContent: 'Audit Object Content',\n createObject: 'Create Object',\n describeConnection: 'Describe Connection',\n dropObject: 'Drop Object',\n findObject: 'Find Object',\n getInfo: 'Get Info',\n getReadableStream: 'Get Readable Stream',\n getRecord: 'Get Record',\n listNodes: 'List Nodes',\n previewObject: 'Preview Object',\n removeRecords: 'Remove Records',\n retrieveChunks: 'Retrieve Chunks',\n retrieveRecords: 'Retrieve Records',\n upsertRecords: 'Upsert Records'\n};\n\nconst CONNECTOR_USAGE_CONFIGS: { id: string; label: LocaleLabel }[] = [\n { id: 'bidirectional', label: { en: 'Bidirectional', es: 'Bidireccional' } },\n { id: 'destination', label: { en: 'Destination', es: 'Destino' } },\n { id: 'source', label: { en: 'Source', es: 'Origen' } },\n { id: 'unknown', label: { en: 'Unknown', es: 'Desconocido' } }\n];\n\nconst CONNECTOR_DESTINATION_OPERATIONS = new Set<ConnectorActionName>(['createObject', 'dropObject', 'removeRecords', 'upsertRecords']);\nconst CONNECTOR_SOURCE_OPERATIONS = new Set<ConnectorActionName>([\n 'auditObjectContent',\n 'findObject',\n 'getInfo',\n 'getReadableStream',\n 'getRecord',\n 'listNodes',\n 'previewObject',\n 'retrieveChunks',\n 'retrieveRecords'\n]);\n\n// ── Types - Usage ────────────────────────────────────────────────────────────────────────────────────────────────────\n\nexport type ConnectorUsageId = InferOutput<typeof connectorUsageIdSchema>;\n\n// ── Actions ──────────────────────────────────────────────────────────────────────────────────────────────────────────\n\n// Determines whether a connector is a source, destination, or bidirectional connector, based on the actions it implements.\nexport function determineConnectorUsageId(actionNames: ConnectorActionName[]): ConnectorUsageId {\n let isSourceOperation = false;\n let isDestinationOperation = false;\n for (const actionName of actionNames) {\n if (CONNECTOR_SOURCE_OPERATIONS.has(actionName)) isSourceOperation = true;\n if (CONNECTOR_DESTINATION_OPERATIONS.has(actionName)) isDestinationOperation = true;\n }\n if (isSourceOperation && isDestinationOperation) return 'bidirectional';\n if (isSourceOperation) return 'source';\n return isDestinationOperation ? 'destination' : 'source';\n}\n\nexport const constructConnectorCategoryConfig = (id: string, localeId = DEFAULT_LOCALE_ID): LocalisedConfig<ConnectorCategoryConfig> => {\n const connectorCategory = CONNECTOR_CATEGORY_CONFIGS.find((connectorCategory) => connectorCategory.id === id);\n if (connectorCategory) {\n const labelMap = createLabelMap(connectorCategory.label);\n const localizedLabel = resolveLabel(labelMap, localeId);\n return { label: localizedLabel ?? connectorCategory.id, description: '' };\n }\n return { label: id, description: '' };\n};\n\nexport const constructConnectorUsageConfig = (id: string, localeId = DEFAULT_LOCALE_ID): LocalisedConfig<ConnectorUsageConfig> => {\n const connectorUsage = CONNECTOR_USAGE_CONFIGS.find((connectorUsage) => connectorUsage.id === id);\n if (connectorUsage) {\n const labelMap = createLabelMap(connectorUsage.label);\n const localizedLabel = resolveLabel(labelMap, localeId);\n return { label: localizedLabel ?? connectorUsage.id, description: '' };\n }\n return { label: id, description: '' };\n};\n\nexport function getConnectorActionsTable(supported: ConnectorActionName[]): string {\n const supportedSet = new Set(supported);\n let md = '|Action|Supported|\\n';\n md += '|:----|:-------:|\\n';\n for (const id of Object.keys(CONNECTOR_ACTION_NAME_MAP) as ConnectorActionName[]) {\n md += `| ${CONNECTOR_ACTION_NAME_MAP[id]} | ${supportedSet.has(id) ? '✓' : ''} |\\n`;\n }\n return md;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dpuse-shared-componentModuleConnector.es.js","names":[],"sources":["../src/component/module/connector/connectorConfig.schema.ts","../src/component/module/connector/index.ts"],"sourcesContent":["/**\n * Defines the configuration metadata for a connector. Used for validation\n * of connector manifests and capability discovery at runtime.\n */\n\n// ── External Dependencies & Registrations\nimport { array, boolean, literal, nullable, number, optional, record, strictObject, string } from 'valibot';\n\n// ── DPUse Framework\nimport { literalUnion } from '@/schema';\nimport { localeLabelSchema } from '@/locale/locale.schema';\nimport { moduleConfigCoreFields } from '@/component/module/moduleConfig.schema';\n\n// ── Schemas - Action Name ────────────────────────────────────────────────────────────────────────────────────────────\n\n// Names of the operations a connector may implement.\nexport const connectorActionNameSchema = literalUnion([\n 'abortOperation',\n 'auditObjectContent',\n 'createObject',\n 'describeConnection',\n 'dropObject',\n 'findObject',\n 'getInfo',\n 'getReadableStream',\n 'getRecord',\n 'listNodes',\n 'previewObject',\n 'removeRecords',\n 'retrieveChunks',\n 'retrieveRecords',\n 'upsertRecords'\n]);\n\n// ── Schemas - Category Configuration ─────────────────────────────────────────────────────────────────────────────────\n\nconst connectorCategoryIdSchema = literalUnion(['application', 'curatedDataset', 'database', 'fileStore']); // Category identifiers used for grouping and filtering connectors.\n\nexport const connectorCategoryConfigSchema = strictObject({\n label: localeLabelSchema\n});\n\n// ── Schemas - Usage ──────────────────────────────────────────────────────────────────────────────────────────────────\n\nexport const connectorUsageIdSchema = literalUnion(['bidirectional', 'destination', 'source', 'unknown']); // Connector data pipeline usage identifiers.\n\nexport const connectorUsageConfigSchema = strictObject({\n label: localeLabelSchema\n});\n\n// ── Schemas - Implementation ─────────────────────────────────────────────────────────────────────────────────────────\n\nconst connectorAuthMethodIdSchema = literalUnion(['apiKey', 'disabled', 'oAuth2', 'none']); // Authentication method identifiers supported by a connector implementation.\n\nconst connectorImplementationParametersSchema = record(string(), string()); // One set of implementation parameters, keyed by name.\n\n// A connector implementation variant. A single connector may expose multiple implementations differing by auth method, limits, or vendor-specific behavior.\nconst connectorImplementationSchema = strictObject({\n authMethodId: connectorAuthMethodIdSchema,\n activeConnectionCount: optional(number()),\n canDescribe: optional(boolean()),\n id: optional(string()),\n label: optional(localeLabelSchema),\n maxConnectionCount: nullable(number()),\n params: optional(array(connectorImplementationParametersSchema))\n});\n\n// ── Schemas - Configuration ──────────────────────────────────────────────────────────────────────────────────────────\n\nexport const connectorConfigSchema = strictObject({\n ...moduleConfigCoreFields,\n typeId: literal('connector'),\n actionNames: array(connectorActionNameSchema),\n category: nullable(connectorCategoryConfigSchema),\n categoryId: connectorCategoryIdSchema,\n implementations: record(string(), connectorImplementationSchema),\n usage: nullable(connectorUsageConfigSchema),\n usageId: nullable(connectorUsageIdSchema)\n});\n","// ── External Dependencies & Registrations\nimport type { InferOutput } from 'valibot';\n\n// ── DPUse Framework\nimport type { Component } from '@/component';\nimport type { EngineConnectorActionOptions } from '@/component/module/engine';\nimport type { ToolConfig } from '@/component/module/tool';\nimport type { ConnectionDescriptionConfig, ConnectionNodeConfig, ObjectColumnConfig } from '@/component/connection';\nimport type {\n connectorActionNameSchema,\n connectorCategoryConfigSchema,\n connectorConfigSchema,\n connectorUsageConfigSchema,\n connectorUsageIdSchema\n} from '@/component/module/connector/connectorConfig.schema';\nimport type { ContentAuditConfig, InferenceRecord, InferenceSummary, ParsingRecord, PreviewConfig, ValueDelimiterId } from '@/component/dataView';\nimport { createLabelMap, DEFAULT_LOCALE_ID, type LocaleLabel, resolveLabel } from '@/locale/label';\nimport type { LocalisedConfig } from '@/locale';\n\n// ── Schemas ──────────────────────────────────────────────────────────────────────────────────────────────────────────\n\nexport { connectorConfigSchema } from '@/component/module/connector/connectorConfig.schema';\n\n// ── Types - Interface ────────────────────────────────────────────────────────────────────────────────────────────────\n\nexport interface ConnectorInterface extends Component {\n abortController: AbortController | undefined;\n readonly config: ConnectorConfig;\n readonly toolConfigs: ToolConfig[];\n abortOperation?(): void; // Abort the active long running action.\n auditObjectContent?(options: AuditObjectContentOptions, chunk: (rowCount: number) => void): Promise<AuditObjectContentResult>;\n createObject?(options: CreateObjectOptions): Promise<void>; // Create an object for a specified connection.\n describeConnection?(options: DescribeConnectionOptions): Promise<DescribeConnectionResult>; // Describe a specified connection.\n dropObject?(options: DropObjectOptions): Promise<void>; // Drop (delete) an object for a specified connection.\n findObject?(options: FindObjectOptions): Promise<FindObjectResult>; // Find an object for a specified connection.\n getInfo?(options: GetInfoOptions): Promise<GetInfoResult>; // Get metadata/info for a node (at any hierarchy level) for a specified connection.\n getReadableStream?(options: GetReadableStreamOptions): Promise<ReadableStream<Uint8Array>>; // Get a reader that can retrieve all records from an object for a specified connection.\n getRecord?(options: GetRecordOptions): Promise<GetRecordResult>; // Get a record for an object for a specified connection.\n listNodes?(options: ListNodesOptions): Promise<ListNodesResult>; // List nodes in a folder for a specified connection.\n previewObject?(options: PreviewObjectOptions): Promise<PreviewConfig>; // Preview an object for a specified connection.\n removeRecords?(options: RemoveRecordsOptions): Promise<void>; // Remove one or more records from an object for a specified connection.\n retrieveChunks?(options: RetrieveChunksOptions, chunk: (data: Uint8Array) => void, complete: () => void): Promise<void>; // Retrieve all chunks from an object for a specified connection.\n retrieveRecords?(\n options: RetrieveRecordsOptions,\n chunk: (typeId: RecordRetrievalTypeId, records: Record<string, unknown>[] | ParsingRecord[]) => void,\n complete: (result: RetrieveRecordsSummary) => void\n ): Promise<void>; // Retrieve all records from an object for a specified connection.\n upsertRecords?(options: UpsertRecordsOptions): Promise<void>; // Upsert one or more records into an object for a specified connection.\n}\n\nexport type ConnectorActionName = InferOutput<typeof connectorActionNameSchema>; // Names of the actions a connector may implement.\n\nexport type ConnectorConstructor = new (connectorUtilities: ConnectorUtilities, toolConfigs: ToolConfig[]) => ConnectorInterface;\n\nexport interface ConnectorUtilities {\n hasReadableStreamTransferSupport(): boolean;\n inferValues: (parsedRecord: ParsingRecord, columnConfigs: ObjectColumnConfig[], hasLeadingRecord: boolean) => InferenceRecord;\n inferDataTypes: (parsedRecords: ParsingRecord[]) => InferenceSummary;\n}\n\n// ── Types - Configuration ────────────────────────────────────────────────────────────────────────────────────────────\n\nexport type ConnectorConfig = InferOutput<typeof connectorConfigSchema>;\n\ntype ConnectorCategoryConfig = InferOutput<typeof connectorCategoryConfigSchema>;\n\ntype ConnectorUsageConfig = InferOutput<typeof connectorUsageConfigSchema>;\n\n// ── Types - Action - Audit Object Content ────────────────────────────────────────────────────────────────────────────\n\nexport interface AuditObjectContentOptions1 extends EngineConnectorActionOptions {\n chunkSize: number | undefined;\n encodingId: string;\n path: string;\n valueDelimiterId: ValueDelimiterId;\n}\nexport interface AuditObjectContentResult1 {\n contentAuditConfig: ContentAuditConfig;\n}\n\nexport interface AuditObjectContentOptions extends EngineConnectorActionOptions {\n chunkSize: number | undefined;\n encodingId: string;\n parsingToolName: string | undefined;\n path: string;\n supportsTransferableStreams: boolean;\n valueDelimiterId: ValueDelimiterId;\n}\nexport interface AuditObjectContentResult {\n processedRowCount: number;\n durationMs: number;\n}\n\n// ── Types - Action - Create Object ───────────────────────────────────────────────────────────────────────────────────\n\nexport interface CreateObjectOptions extends EngineConnectorActionOptions {\n path: string;\n structure: string;\n}\n\n// ── Types - Action - Describe Connection ─────────────────────────────────────────────────────────────────────────────\n\nexport type DescribeConnectionOptions = EngineConnectorActionOptions;\n\ninterface DescribeConnectionResult {\n descriptionConfig: ConnectionDescriptionConfig;\n}\n\n// ── Types - Action - Drop Object ─────────────────────────────────────────────────────────────────────────────────────\n\nexport interface DropObjectOptions extends EngineConnectorActionOptions {\n path: string;\n}\n\n// ── Types - Action - Find Object ─────────────────────────────────────────────────────────────────────────────────────\n\nexport interface FindObjectOptions extends EngineConnectorActionOptions {\n storeId: string | undefined;\n nodeId: string;\n}\nexport interface FindObjectResult {\n path: string | undefined;\n}\n\n// ── Types - Action - Get Info ────────────────────────────────────────────────────────────────────────────────────────\n\nexport interface GetInfoOptions extends EngineConnectorActionOptions {\n path: string;\n}\nexport interface GetInfoResult {\n info: Record<string, unknown>; // Raw, connector-specific metadata — not yet normalized to a common shape.\n}\n\n// ── Types - Action - Get Readable Stream ─────────────────────────────────────────────────────────────────────────────\n\nexport interface GetReadableStreamOptions extends EngineConnectorActionOptions {\n id: string;\n path: string;\n}\n\n// ── Types - Action - Get Record ──────────────────────────────────────────────────────────────────────────────────────\n\nexport interface GetRecordOptions extends EngineConnectorActionOptions {\n id: string;\n path: string;\n}\nexport interface GetRecordResult {\n record?: string[] | Record<string, unknown>;\n}\n\n// ── Types - Action - List Nodes ──────────────────────────────────────────────────────────────────────────────────────\n\nexport interface ListNodesOptions extends EngineConnectorActionOptions {\n folderPath: string;\n limit?: number;\n offset?: number;\n totalCount?: number;\n}\nexport interface ListNodesResult {\n cursor: string | number | undefined;\n connectionNodeConfigs: ConnectionNodeConfig[];\n isMore: boolean;\n totalCount: number;\n}\n\n// ── Types - Action - Preview Object ──────────────────────────────────────────────────────────────────────────────────\n\nexport interface PreviewObjectOptions extends EngineConnectorActionOptions {\n chunkSize: number | undefined;\n extension: string | undefined;\n path: string;\n}\n\n// ── Types - Action - Remove Records ──────────────────────────────────────────────────────────────────────────────────\n\nexport interface RemoveRecordsOptions extends EngineConnectorActionOptions {\n keys: string[];\n path: string;\n}\n\n// ── Types - Action - Retrieve Chunks ─────────────────────────────────────────────────────────────────────────────────\n\nexport interface RetrieveChunksOptions extends EngineConnectorActionOptions {\n chunkSize: number | undefined;\n encodingId: string;\n path: string;\n valueDelimiterId: ValueDelimiterId;\n}\n\n// ── Types - Action - Retrieve Records ────────────────────────────────────────────────────────────────────────────────\n\nexport interface RetrieveRecordsOptions extends EngineConnectorActionOptions {\n chunkSize: number | undefined;\n encodingId: string;\n path: string;\n valueDelimiterId: ValueDelimiterId;\n}\nexport interface RetrieveRecordsSummary {\n byteCount: number; // Number of processed bytes.\n commentLineCount: number; // Count the number of lines being fully commented.\n emptyLineCount: number; // Count the number of processed empty lines; work only with the skip_empty_lines option or an error will be thrown if an empty line is found.\n lineCount: number; // Number of lines encountered in the source dataset, start at 1 for the first line.\n nonUniformRecordCount: number; // Number of non uniform records when relax_column_count is true.\n recordCount: number; // Count the number of processed records.\n}\n\nexport type RecordRetrievalTypeId = 'jsonRecordArray' | 'parsingRecordArray';\n\n// ── Types - Action - Upsert Records ──────────────────────────────────────────────────────────────────────────────────\n\nexport interface UpsertRecordsOptions extends EngineConnectorActionOptions {\n records: Record<string, unknown>[];\n path: string;\n}\n\n// ── Constants ────────────────────────────────────────────────────────────────────────────────────────────────────────\n\nconst CONNECTOR_CATEGORY_CONFIGS: { id: string; label: LocaleLabel }[] = [\n { id: 'application', label: { en: 'Application', es: 'Aplicación' } },\n { id: 'curatedDataset', label: { en: 'Curated Dataset', es: 'Conjunto de Datos Curado' } },\n { id: 'database', label: { en: 'Database', es: 'Base de Datos' } },\n { id: 'fileStore', label: { en: 'File Store', es: 'Almacén de Archivos' } }\n];\n\nexport const CONNECTOR_ACTION_NAME_MAP: Record<ConnectorActionName, string> = {\n abortOperation: 'Abort Operation',\n auditObjectContent: 'Audit Object Content',\n createObject: 'Create Object',\n describeConnection: 'Describe Connection',\n dropObject: 'Drop Object',\n findObject: 'Find Object',\n getInfo: 'Get Info',\n getReadableStream: 'Get Readable Stream',\n getRecord: 'Get Record',\n listNodes: 'List Nodes',\n previewObject: 'Preview Object',\n removeRecords: 'Remove Records',\n retrieveChunks: 'Retrieve Chunks',\n retrieveRecords: 'Retrieve Records',\n upsertRecords: 'Upsert Records'\n};\n\nconst CONNECTOR_USAGE_CONFIGS: { id: string; label: LocaleLabel }[] = [\n { id: 'bidirectional', label: { en: 'Bidirectional', es: 'Bidireccional' } },\n { id: 'destination', label: { en: 'Destination', es: 'Destino' } },\n { id: 'source', label: { en: 'Source', es: 'Origen' } },\n { id: 'unknown', label: { en: 'Unknown', es: 'Desconocido' } }\n];\n\nconst CONNECTOR_DESTINATION_OPERATIONS = new Set<ConnectorActionName>(['createObject', 'dropObject', 'removeRecords', 'upsertRecords']);\nconst CONNECTOR_SOURCE_OPERATIONS = new Set<ConnectorActionName>([\n 'auditObjectContent',\n 'findObject',\n 'getInfo',\n 'getReadableStream',\n 'getRecord',\n 'listNodes',\n 'previewObject',\n 'retrieveChunks',\n 'retrieveRecords'\n]);\n\n// ── Types - Usage ────────────────────────────────────────────────────────────────────────────────────────────────────\n\nexport type ConnectorUsageId = InferOutput<typeof connectorUsageIdSchema>;\n\n// ── Actions ──────────────────────────────────────────────────────────────────────────────────────────────────────────\n\n// Determines whether a connector is a source, destination, or bidirectional connector, based on the actions it implements.\nexport function determineConnectorUsageId(actionNames: ConnectorActionName[]): ConnectorUsageId {\n let isSourceOperation = false;\n let isDestinationOperation = false;\n for (const actionName of actionNames) {\n if (CONNECTOR_SOURCE_OPERATIONS.has(actionName)) isSourceOperation = true;\n if (CONNECTOR_DESTINATION_OPERATIONS.has(actionName)) isDestinationOperation = true;\n }\n if (isSourceOperation && isDestinationOperation) return 'bidirectional';\n if (isSourceOperation) return 'source';\n return isDestinationOperation ? 'destination' : 'unknown'; // Neither reads nor writes data, e.g. only 'abortOperation' or 'describeConnection'.\n}\n\nexport const constructConnectorCategoryConfig = (id: string, localeId = DEFAULT_LOCALE_ID): LocalisedConfig<ConnectorCategoryConfig> => {\n const connectorCategory = CONNECTOR_CATEGORY_CONFIGS.find((connectorCategory) => connectorCategory.id === id);\n if (connectorCategory) {\n const labelMap = createLabelMap(connectorCategory.label);\n const localizedLabel = resolveLabel(labelMap, localeId);\n return { label: localizedLabel ?? connectorCategory.id, description: '' };\n }\n return { label: id, description: '' };\n};\n\nexport const constructConnectorUsageConfig = (id: string, localeId = DEFAULT_LOCALE_ID): LocalisedConfig<ConnectorUsageConfig> => {\n const connectorUsage = CONNECTOR_USAGE_CONFIGS.find((connectorUsage) => connectorUsage.id === id);\n if (connectorUsage) {\n const labelMap = createLabelMap(connectorUsage.label);\n const localizedLabel = resolveLabel(labelMap, localeId);\n return { label: localizedLabel ?? connectorUsage.id, description: '' };\n }\n return { label: id, description: '' };\n};\n\nexport function getConnectorActionsTable(supported: ConnectorActionName[]): string {\n const supportedSet = new Set(supported);\n let md = '|Action|Supported|\\n';\n md += '|:----|:-------:|\\n';\n for (const id of Object.keys(CONNECTOR_ACTION_NAME_MAP) as ConnectorActionName[]) {\n md += `| ${CONNECTOR_ACTION_NAME_MAP[id]} | ${supportedSet.has(id) ? '✓' : ''} |\\n`;\n }\n return md;\n}\n"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export declare const connectorCategoryConfigSchema: import('valibot').StrictObje
|
|
|
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>], 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
13
|
export declare const connectorUsageConfigSchema: import('valibot').StrictObjectSchema<{
|
|
14
14
|
readonly label: import('valibot').StrictObjectSchema<{
|
|
15
15
|
readonly en: import('valibot').StringSchema<undefined>;
|
|
@@ -44,7 +44,7 @@ export declare const connectorConfigSchema: import('valibot').StrictObjectSchema
|
|
|
44
44
|
readonly es: import('valibot').StringSchema<undefined>;
|
|
45
45
|
}, undefined>;
|
|
46
46
|
}, undefined>, undefined>;
|
|
47
|
-
readonly usageId: import('valibot').NullableSchema<import('valibot').UnionSchema<readonly [import('valibot').LiteralSchema<"bidirectional", undefined>, import('valibot').LiteralSchema<"destination", undefined>, import('valibot').LiteralSchema<"source", undefined>], undefined>, undefined>;
|
|
47
|
+
readonly usageId: import('valibot').NullableSchema<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>, undefined>;
|
|
48
48
|
readonly vendorAccountURL: import('valibot').NullableSchema<import('valibot').StringSchema<undefined>, undefined>;
|
|
49
49
|
readonly vendorDocumentationURL: import('valibot').NullableSchema<import('valibot').StringSchema<undefined>, undefined>;
|
|
50
50
|
readonly vendorHomeURL: import('valibot').NullableSchema<import('valibot').StringSchema<undefined>, undefined>;
|