@narrative.io/data-collaboration-sdk-ts 0.0.156 → 0.0.157

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,43 @@
1
+ import { BaseApi } from "src/base-api";
2
+ import type { Connection } from "./types";
3
+ import { type ApiRecords } from "src/types";
4
+ /**
5
+ * Class representing the API for connections.
6
+ *
7
+ * @module ConnectionsApi
8
+ * @extends BaseApi
9
+ * @description This class provides methods for fetching and managing connection records.
10
+ */
11
+ declare class ConnectionsApi extends BaseApi {
12
+ /**
13
+ * Retrieves a specific connection by its ID.
14
+ *
15
+ * @public
16
+ * @async
17
+ * @param {string} [connectionId] - The ID of the connection to retrieve.
18
+ * @returns {Promise<Connection>} A promise that resolves to the connection object.
19
+ * @throws Will throw an error if the API call fails.
20
+ */
21
+ getConnection(connectionId?: string): Promise<Connection>;
22
+ /**
23
+ * Retrieves all connections associated with a specific dataset.
24
+ *
25
+ * @public
26
+ * @async
27
+ * @param {number} datasetId - The ID of the dataset to retrieve connections for.
28
+ * @returns {Promise<ApiRecords<Connection>>} A promise that resolves to an array of connection objects.
29
+ * @throws Will throw an error if the API call fails.
30
+ */
31
+ getDatasetConnections(datasetId: number): Promise<ApiRecords<Connection>>;
32
+ /**
33
+ * Creates a new connection.
34
+ *
35
+ * @public
36
+ * @async
37
+ * @param {Omit<Connection, "id">} newConnection - The connection data to create, excluding the ID.
38
+ * @returns {Promise<Connection>} A promise that resolves to the newly created connection object.
39
+ * @throws Will throw an error if the API call fails.
40
+ */
41
+ createConnection(newConnection: Omit<Connection, "id">): Promise<Connection>;
42
+ }
43
+ export { type Connection, ConnectionsApi };
@@ -0,0 +1,56 @@
1
+ import { BaseApi } from "src/base-api";
2
+ /**
3
+ * The name of the resource to be used in API requests.
4
+ * @constant
5
+ * @private
6
+ * @type {string}
7
+ */
8
+ const resourceName = "connections";
9
+ /**
10
+ * Class representing the API for connections.
11
+ *
12
+ * @module ConnectionsApi
13
+ * @extends BaseApi
14
+ * @description This class provides methods for fetching and managing connection records.
15
+ */
16
+ class ConnectionsApi extends BaseApi {
17
+ /**
18
+ * Retrieves a specific connection by its ID.
19
+ *
20
+ * @public
21
+ * @async
22
+ * @param {string} [connectionId] - The ID of the connection to retrieve.
23
+ * @returns {Promise<Connection>} A promise that resolves to the connection object.
24
+ * @throws Will throw an error if the API call fails.
25
+ */
26
+ async getConnection(connectionId) {
27
+ const url = `${resourceName}/${connectionId}`;
28
+ return await this.get(url);
29
+ }
30
+ /**
31
+ * Retrieves all connections associated with a specific dataset.
32
+ *
33
+ * @public
34
+ * @async
35
+ * @param {number} datasetId - The ID of the dataset to retrieve connections for.
36
+ * @returns {Promise<ApiRecords<Connection>>} A promise that resolves to an array of connection objects.
37
+ * @throws Will throw an error if the API call fails.
38
+ */
39
+ async getDatasetConnections(datasetId) {
40
+ const url = `${resourceName}?dataset_id=${datasetId}`;
41
+ return await this.get(url);
42
+ }
43
+ /**
44
+ * Creates a new connection.
45
+ *
46
+ * @public
47
+ * @async
48
+ * @param {Omit<Connection, "id">} newConnection - The connection data to create, excluding the ID.
49
+ * @returns {Promise<Connection>} A promise that resolves to the newly created connection object.
50
+ * @throws Will throw an error if the API call fails.
51
+ */
52
+ async createConnection(newConnection) {
53
+ return await this.post(resourceName, newConnection);
54
+ }
55
+ }
56
+ export { ConnectionsApi };
@@ -0,0 +1,6 @@
1
+ export interface Connection {
2
+ id: string;
3
+ dataset_id: number;
4
+ profile_id: string;
5
+ quick_settings: Record<string, unknown>;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
package/build/index.d.ts CHANGED
@@ -16,7 +16,7 @@ import { type UploadsResponse } from "./uploads/types";
16
16
  import { type PingStatus } from "./ping/types";
17
17
  import { type Product, ProductsApi } from "./products";
18
18
  import { CompanyInfoApi, type CompanyInfo } from "./company-info";
19
- import { InstallationsApi, type Installation } from "./installations";
19
+ import { InstallationsApi, type Installation, type Profile } from "./installations";
20
20
  import { NqlApi, type CompiledNql, type CreateMaterializedView, type Deduplication, type Explain, type Expression, type Raw, type Select, type Statement, type Table, type Nql, type NqlAst, type NqlField, type NqlResult, type NqlQueryInput, type NqlCompileResult, type NqlExpression, type NqlWhere, type NqlFilterExpression, type NqlBooleanExpression, type NqlFilterBinaryExpression, type NqlFilterUnaryExpression, compileStatement, parseStatement } from "./nql";
21
21
  import { DataStreamsApi, type DataStream, type DataRules, type ColumnSet, type ColumnWithFilterAndExport, type AttributeSet } from "./data-streams";
22
22
  import { ForecastApi, type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type JobState } from "./forecast";
@@ -32,8 +32,9 @@ import { type AccessRule, AccessRulesApi } from "./access-rules/";
32
32
  import { type Subscription, type SubscriptionDetails, type DataStreamSubscriptionDetails, type MarketplaceSubscriptionDetails, type SubscriptionOutput, type SubscriptionType, type SubscriptionStatus, type SubscriptionBudget, SubscriptionsApi } from "./subscriptions";
33
33
  import { type Job, JobsApi } from "./jobs";
34
34
  import { WhoAmIApi } from "./whoami";
35
+ import { ConnectionsApi, type Connection } from "./connections";
35
36
  declare class NarrativeApi extends BaseApi {
36
37
  }
37
- interface NarrativeApi extends BaseApi, HealthCheckApi, DatasetApi, RosettaStoneApi, AttributeApi, PingApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, MappingsApi, AccessRulesApi, AppsApi, SubscriptionsApi, JobsApi, WhoAmIApi {
38
+ interface NarrativeApi extends BaseApi, HealthCheckApi, DatasetApi, RosettaStoneApi, AttributeApi, PingApi, CompanyInfoApi, InstallationsApi, ConnectionsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, MappingsApi, AccessRulesApi, AppsApi, SubscriptionsApi, JobsApi, WhoAmIApi {
38
39
  }
39
- export { NarrativeApi, AttributeApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, AccessRulesApi, SubscriptionsApi, JobsApi, WhoAmIApi, getNqlObject, buildNql, convertNqlObjectToForecastBody, isConversationAssistantMessage, isConversationFunctionMessage, isConversationInputMessage, isConversationMessage, isConversationMessageName, isConversationMessageRole, isConversationMessages, isConversationSystemMessage, isConversationUserMessage, isType, isConversationMessageFunctionCall, isConversationAssistantMessageWithFunctionCall, isRosettaRequestMessage, isConversationAssistantMessageWithoutFunctionCall, type App, type Resource, type UploadsResponse, type PingStatus, type Attribute, type ShallowAttribute, type RefAttribute, type SubAttribute, type PrimitiveAttribute, type ArrayAttribute, type ObjectAttribute, type Environment, type Config, type ApiRecords, type Dataset, type HealthCheckResult, type SampleRecords, type DatasetTableSummary, type DatasetTableSummaryAPIResponse, type UpdateDatasetRequest, type SchemaFileConfigType, type SchemaPropertiesType, type DatasetStatus, type DatasetWriteMode, type SchemaFileConfig, type SchemaProperties, type SchemaProperty, type SchemaPrimitiveProperty, type SchemaObjectProperty, type SchemaArrayProperty, type SchemaArrayItems, type SchemaArrayItemsPrimitive, type SchemaArrayItemsObject, type SchemaArrayItemsArray, type Schema, type AdvancedStatisticsMetadata, type SnapshotRange, type Configuration, type Columns, type ColumnSummary, type ColumnStatistics, type BasicStatistics, type AdvancedStatistics, type Histogram, type Value, type CreateDatasetRequest, type IngestDatasetFileRequest, type Product, type MonetaryAmount, type CompanyInfo, type Installation, type FilePerSnapshotResponse, type BucketCreationRequest, type UpdateAccessTypeRequest, type CompiledNql, type CreateMaterializedView, type Deduplication, type Explain, type Expression, type Raw, type Select, type Statement, type Table, type Nql, type NqlAst, type NqlField, type NqlResult, type NqlQueryInput, type NqlCompileResult, type NqlExpression, type NqlWhere, type NqlFilterExpression, type NqlBooleanExpression, type NqlFilterBinaryExpression, type NqlFilterUnaryExpression, type DataStream, type DataRules, type ColumnSet, type ColumnWithFilterAndExport, type AttributeSet, type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type JobState, type ContractDetails, type CustomerContract, type PaymentMethod, type ContractRateView, type LoginRequest, type LoginResponse, type RegisterRequest, type RegisterResponse, type LoggedInUser, type StytchToken, type ApiToken, type UserRole, type RegistrationStatus, type RegistrationStatusRequest, type RegistrationStatusResponse, type ForecastBody, type ConversationAssistantMessage, type ConversationFunctionMessage, type ConversationIOMessage, type ConversationMessage, type ConversationMessageName, type ConversationMessageRole, type ConversationMessages, type ConversationSystemMessage, type ConversationUserMessage, type RosettaRequestMessage, type ConversationMessageFunctionCall, type ConversationAssistantMessageWithFunctionCall, type RosettaResponseMessage, type ConversationAssistantMessageWithoutFunctionCall, type RetentionPolicy, type AccessRule, type Subscription, type SubscriptionDetails, type DataStreamSubscriptionDetails, type MarketplaceSubscriptionDetails, type SubscriptionOutput, type SubscriptionType, type SubscriptionStatus, type SubscriptionBudget, type Job, type User, type Mapping, type MappingTestResult, compileStatement, parseStatement, };
40
+ export { NarrativeApi, AttributeApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, ConnectionsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, AccessRulesApi, SubscriptionsApi, JobsApi, WhoAmIApi, getNqlObject, buildNql, convertNqlObjectToForecastBody, isConversationAssistantMessage, isConversationFunctionMessage, isConversationInputMessage, isConversationMessage, isConversationMessageName, isConversationMessageRole, isConversationMessages, isConversationSystemMessage, isConversationUserMessage, isType, isConversationMessageFunctionCall, isConversationAssistantMessageWithFunctionCall, isRosettaRequestMessage, isConversationAssistantMessageWithoutFunctionCall, type App, type Resource, type UploadsResponse, type PingStatus, type Attribute, type ShallowAttribute, type Connection, type RefAttribute, type SubAttribute, type PrimitiveAttribute, type ArrayAttribute, type ObjectAttribute, type Environment, type Config, type ApiRecords, type Dataset, type HealthCheckResult, type SampleRecords, type DatasetTableSummary, type DatasetTableSummaryAPIResponse, type UpdateDatasetRequest, type SchemaFileConfigType, type SchemaPropertiesType, type DatasetStatus, type DatasetWriteMode, type SchemaFileConfig, type SchemaProperties, type SchemaProperty, type SchemaPrimitiveProperty, type SchemaObjectProperty, type SchemaArrayProperty, type SchemaArrayItems, type SchemaArrayItemsPrimitive, type SchemaArrayItemsObject, type SchemaArrayItemsArray, type Schema, type AdvancedStatisticsMetadata, type SnapshotRange, type Configuration, type Columns, type ColumnSummary, type ColumnStatistics, type BasicStatistics, type AdvancedStatistics, type Histogram, type Value, type CreateDatasetRequest, type IngestDatasetFileRequest, type Product, type MonetaryAmount, type CompanyInfo, type Installation, type Profile, type FilePerSnapshotResponse, type BucketCreationRequest, type UpdateAccessTypeRequest, type CompiledNql, type CreateMaterializedView, type Deduplication, type Explain, type Expression, type Raw, type Select, type Statement, type Table, type Nql, type NqlAst, type NqlField, type NqlResult, type NqlQueryInput, type NqlCompileResult, type NqlExpression, type NqlWhere, type NqlFilterExpression, type NqlBooleanExpression, type NqlFilterBinaryExpression, type NqlFilterUnaryExpression, type DataStream, type DataRules, type ColumnSet, type ColumnWithFilterAndExport, type AttributeSet, type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type JobState, type ContractDetails, type CustomerContract, type PaymentMethod, type ContractRateView, type LoginRequest, type LoginResponse, type RegisterRequest, type RegisterResponse, type LoggedInUser, type StytchToken, type ApiToken, type UserRole, type RegistrationStatus, type RegistrationStatusRequest, type RegistrationStatusResponse, type ForecastBody, type ConversationAssistantMessage, type ConversationFunctionMessage, type ConversationIOMessage, type ConversationMessage, type ConversationMessageName, type ConversationMessageRole, type ConversationMessages, type ConversationSystemMessage, type ConversationUserMessage, type RosettaRequestMessage, type ConversationMessageFunctionCall, type ConversationAssistantMessageWithFunctionCall, type RosettaResponseMessage, type ConversationAssistantMessageWithoutFunctionCall, type RetentionPolicy, type AccessRule, type Subscription, type SubscriptionDetails, type DataStreamSubscriptionDetails, type MarketplaceSubscriptionDetails, type SubscriptionOutput, type SubscriptionType, type SubscriptionStatus, type SubscriptionBudget, type Job, type User, type Mapping, type MappingTestResult, compileStatement, parseStatement, };
package/build/index.js CHANGED
@@ -9,7 +9,7 @@ import { PingApi } from "./ping";
9
9
  import { UploadsApi } from "./uploads";
10
10
  import { ProductsApi } from "./products";
11
11
  import { CompanyInfoApi } from "./company-info";
12
- import { InstallationsApi } from "./installations";
12
+ import { InstallationsApi, } from "./installations";
13
13
  import { NqlApi, compileStatement, parseStatement, } from "./nql";
14
14
  import { DataStreamsApi, } from "./data-streams";
15
15
  import { ForecastApi, } from "./forecast";
@@ -24,6 +24,7 @@ import { AccessRulesApi } from "./access-rules/";
24
24
  import { SubscriptionsApi, } from "./subscriptions";
25
25
  import { JobsApi } from "./jobs";
26
26
  import { WhoAmIApi } from "./whoami";
27
+ import { ConnectionsApi } from "./connections";
27
28
  class NarrativeApi extends BaseApi {
28
29
  }
29
30
  applyMixins(NarrativeApi, [
@@ -35,6 +36,7 @@ applyMixins(NarrativeApi, [
35
36
  PingApi,
36
37
  CompanyInfoApi,
37
38
  InstallationsApi,
39
+ ConnectionsApi,
38
40
  UploadsApi,
39
41
  ResourceApi,
40
42
  NqlApi,
@@ -49,4 +51,4 @@ applyMixins(NarrativeApi, [
49
51
  JobsApi,
50
52
  WhoAmIApi,
51
53
  ]);
52
- export { NarrativeApi, AttributeApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, AccessRulesApi, SubscriptionsApi, JobsApi, WhoAmIApi, getNqlObject, buildNql, convertNqlObjectToForecastBody, isConversationAssistantMessage, isConversationFunctionMessage, isConversationInputMessage, isConversationMessage, isConversationMessageName, isConversationMessageRole, isConversationMessages, isConversationSystemMessage, isConversationUserMessage, isType, isConversationMessageFunctionCall, isConversationAssistantMessageWithFunctionCall, isRosettaRequestMessage, isConversationAssistantMessageWithoutFunctionCall, compileStatement, parseStatement, };
54
+ export { NarrativeApi, AttributeApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, ConnectionsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, AccessRulesApi, SubscriptionsApi, JobsApi, WhoAmIApi, getNqlObject, buildNql, convertNqlObjectToForecastBody, isConversationAssistantMessage, isConversationFunctionMessage, isConversationInputMessage, isConversationMessage, isConversationMessageName, isConversationMessageRole, isConversationMessages, isConversationSystemMessage, isConversationUserMessage, isType, isConversationMessageFunctionCall, isConversationAssistantMessageWithFunctionCall, isRosettaRequestMessage, isConversationAssistantMessageWithoutFunctionCall, compileStatement, parseStatement, };
@@ -1,6 +1,6 @@
1
1
  import { type ApiRecords } from "../types";
2
2
  import { BaseApi } from "../base-api";
3
- import { type Installation } from "./types";
3
+ import type { Profile, Installation } from "./types";
4
4
  /**
5
5
  * @module InstallationsApi
6
6
  * @description This module provides methods for fetching installation records.
@@ -13,5 +13,6 @@ declare class InstallationsApi extends BaseApi {
13
13
  * @returns {Promise<ApiRecords<Installation>>} - Promise resolving with the list of installations.
14
14
  */
15
15
  getInstallations(appCategory?: string): Promise<ApiRecords<Installation>>;
16
+ getInstallationProfiles(installationId: number): Promise<ApiRecords<Profile>>;
16
17
  }
17
- export { type Installation, InstallationsApi };
18
+ export { type Installation, type Profile, InstallationsApi };
@@ -16,5 +16,9 @@ class InstallationsApi extends BaseApi {
16
16
  const url = `${resourceName}${appCategoryQuery}`;
17
17
  return await this.get(url);
18
18
  }
19
+ async getInstallationProfiles(installationId) {
20
+ const url = `${resourceName}/${installationId}/profiles`;
21
+ return await this.get(url);
22
+ }
19
23
  }
20
24
  export { InstallationsApi };
@@ -11,4 +11,11 @@ export interface Permission {
11
11
  resource: string;
12
12
  }
13
13
  type Access = "read" | "write" | "admin" | "create" | "revise";
14
+ export type ProfileStatus = "enabled" | "disabled" | "archived";
15
+ export interface Profile {
16
+ id: string;
17
+ name: string;
18
+ description: string;
19
+ status: ProfileStatus;
20
+ }
14
21
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@narrative.io/data-collaboration-sdk-ts",
3
- "version": "0.0.156",
3
+ "version": "0.0.157",
4
4
  "main": "build/index.js",
5
5
  "repository": "github:narrative-io/data-collaboration-sdk-ts",
6
6
  "source": "src/index.ts",