@narrative.io/data-collaboration-sdk-ts 0.15.0 → 0.16.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.
@@ -0,0 +1,69 @@
1
+ /**
2
+ * `AccessTokensApi` class provides methods to interact with the access tokens API.
3
+ * It extends `BaseApi` to utilize common HTTP request methods for CRUD operations.
4
+ * This class includes methods to get, create, update, and delete access tokens.
5
+ */
6
+ import { BaseApi } from "src/base-api";
7
+ import { type CreateSystemAccessTokenRequest, type CreateSystemAccessTokenResponse, type AccessTokenMetadata, type UpdateSystemAccessTokenRequest } from "./types";
8
+ import { type ApiRecords } from "src/types";
9
+ declare class AccessTokensApi extends BaseApi {
10
+ /**
11
+ * Retrieves a list of access tokens.
12
+ * @returns {Promise<ApiRecords<AccessTokenMetadata>>} A promise that resolves with a list of access token metadata.
13
+ * @example
14
+ * const accessTokensApi = new AccessTokensApi();
15
+ * const tokens = await accessTokensApi.getAccessTokens();
16
+ * console.log(tokens);
17
+ */
18
+ getAccessTokens(): Promise<ApiRecords<AccessTokenMetadata>>;
19
+ /**
20
+ * Retrieves a single access token by its ID.
21
+ * @param {string} id - The unique identifier for the access token.
22
+ * @returns {Promise<AccessTokenMetadata>} A promise that resolves with the metadata of the requested access token.
23
+ * @example
24
+ * const accessTokensApi = new AccessTokensApi();
25
+ * const tokenMetadata = await accessTokensApi.getAccessToken('your-token-id');
26
+ * console.log(tokenMetadata);
27
+ */
28
+ getAccessToken(id: string): Promise<AccessTokenMetadata>;
29
+ /**
30
+ * Creates a new access token with the provided data.
31
+ * @param {CreateSystemAccessTokenRequest} data - The data needed to create a new access token.
32
+ * @returns {Promise<CreateSystemAccessTokenResponse>} A promise that resolves with the response containing the newly created access token details.
33
+ * @example
34
+ * const accessTokensApi = new AccessTokensApi();
35
+ * const newTokenData = {
36
+ * name: 'New Token',
37
+ * permissions: ['read', 'write'],
38
+ * };
39
+ * const newToken = await accessTokensApi.createAccessToken(newTokenData);
40
+ * console.log(newToken);
41
+ */
42
+ createAccessToken(data: CreateSystemAccessTokenRequest): Promise<CreateSystemAccessTokenResponse>;
43
+ /**
44
+ * Updates an existing access token by ID with the provided data.
45
+ * @param {string} id - The unique identifier for the access token to update.
46
+ * @param {UpdateSystemAccessTokenRequest} data - The data to update the access token with.
47
+ * @returns {Promise<CreateSystemAccessTokenResponse>} A promise that resolves with the response containing the updated access token details.
48
+ * @example
49
+ * const accessTokensApi = new AccessTokensApi();
50
+ * const updateTokenData = {
51
+ * name: 'Updated Token Name',
52
+ * permissions: ['read'],
53
+ * };
54
+ * const updatedToken = await accessTokensApi.updateAccessToken('your-token-id', updateTokenData);
55
+ * console.log(updatedToken);
56
+ */
57
+ updateAccessToken(id: string, data: UpdateSystemAccessTokenRequest): Promise<CreateSystemAccessTokenResponse>;
58
+ /**
59
+ * Deletes an access token by its ID.
60
+ * @param {string} id - The unique identifier for the access token to delete.
61
+ * @returns {Promise<void>} A promise that resolves when the access token is successfully deleted.
62
+ * @example
63
+ * const accessTokensApi = new AccessTokensApi();
64
+ * await accessTokensApi.deleteAccessToken('your-token-id');
65
+ * console.log('Token deleted successfully');
66
+ */
67
+ deleteAccessToken(id: string): Promise<void>;
68
+ }
69
+ export { AccessTokensApi, type CreateSystemAccessTokenRequest, type CreateSystemAccessTokenResponse, type UpdateSystemAccessTokenRequest, type AccessTokenMetadata, };
@@ -0,0 +1,78 @@
1
+ /**
2
+ * `AccessTokensApi` class provides methods to interact with the access tokens API.
3
+ * It extends `BaseApi` to utilize common HTTP request methods for CRUD operations.
4
+ * This class includes methods to get, create, update, and delete access tokens.
5
+ */
6
+ import { BaseApi } from "src/base-api";
7
+ const resourceName = "access-tokens";
8
+ class AccessTokensApi extends BaseApi {
9
+ /**
10
+ * Retrieves a list of access tokens.
11
+ * @returns {Promise<ApiRecords<AccessTokenMetadata>>} A promise that resolves with a list of access token metadata.
12
+ * @example
13
+ * const accessTokensApi = new AccessTokensApi();
14
+ * const tokens = await accessTokensApi.getAccessTokens();
15
+ * console.log(tokens);
16
+ */
17
+ async getAccessTokens() {
18
+ return await this.get(resourceName);
19
+ }
20
+ /**
21
+ * Retrieves a single access token by its ID.
22
+ * @param {string} id - The unique identifier for the access token.
23
+ * @returns {Promise<AccessTokenMetadata>} A promise that resolves with the metadata of the requested access token.
24
+ * @example
25
+ * const accessTokensApi = new AccessTokensApi();
26
+ * const tokenMetadata = await accessTokensApi.getAccessToken('your-token-id');
27
+ * console.log(tokenMetadata);
28
+ */
29
+ async getAccessToken(id) {
30
+ return await this.get(`${resourceName}/${id}`);
31
+ }
32
+ /**
33
+ * Creates a new access token with the provided data.
34
+ * @param {CreateSystemAccessTokenRequest} data - The data needed to create a new access token.
35
+ * @returns {Promise<CreateSystemAccessTokenResponse>} A promise that resolves with the response containing the newly created access token details.
36
+ * @example
37
+ * const accessTokensApi = new AccessTokensApi();
38
+ * const newTokenData = {
39
+ * name: 'New Token',
40
+ * permissions: ['read', 'write'],
41
+ * };
42
+ * const newToken = await accessTokensApi.createAccessToken(newTokenData);
43
+ * console.log(newToken);
44
+ */
45
+ async createAccessToken(data) {
46
+ return await this.post(resourceName, data);
47
+ }
48
+ /**
49
+ * Updates an existing access token by ID with the provided data.
50
+ * @param {string} id - The unique identifier for the access token to update.
51
+ * @param {UpdateSystemAccessTokenRequest} data - The data to update the access token with.
52
+ * @returns {Promise<CreateSystemAccessTokenResponse>} A promise that resolves with the response containing the updated access token details.
53
+ * @example
54
+ * const accessTokensApi = new AccessTokensApi();
55
+ * const updateTokenData = {
56
+ * name: 'Updated Token Name',
57
+ * permissions: ['read'],
58
+ * };
59
+ * const updatedToken = await accessTokensApi.updateAccessToken('your-token-id', updateTokenData);
60
+ * console.log(updatedToken);
61
+ */
62
+ async updateAccessToken(id, data) {
63
+ return await this.put(`${resourceName}/${id}`, data);
64
+ }
65
+ /**
66
+ * Deletes an access token by its ID.
67
+ * @param {string} id - The unique identifier for the access token to delete.
68
+ * @returns {Promise<void>} A promise that resolves when the access token is successfully deleted.
69
+ * @example
70
+ * const accessTokensApi = new AccessTokensApi();
71
+ * await accessTokensApi.deleteAccessToken('your-token-id');
72
+ * console.log('Token deleted successfully');
73
+ */
74
+ async deleteAccessToken(id) {
75
+ await this.delete(`${resourceName}/${id}`);
76
+ }
77
+ }
78
+ export { AccessTokensApi, };
@@ -0,0 +1,29 @@
1
+ export type Permission = string;
2
+ export interface ListSystemAccessTokensResponse {
3
+ accessTokens: AccessTokenMetadata[];
4
+ }
5
+ export interface AccessTokenMetadata {
6
+ id: string;
7
+ name: string;
8
+ permissions: Permission[];
9
+ expiresAt: string;
10
+ }
11
+ export interface GetSystemAccessTokenResponse {
12
+ accessToken: AccessTokenMetadata;
13
+ }
14
+ export interface CreateSystemAccessTokenRequest {
15
+ name: string;
16
+ permissions?: Permission[];
17
+ durationDays?: number;
18
+ }
19
+ export interface CreateSystemAccessTokenResponse {
20
+ id: string;
21
+ name: string;
22
+ permissions: Permission[];
23
+ expiresAt: string;
24
+ accessToken: string;
25
+ }
26
+ export interface UpdateSystemAccessTokenRequest {
27
+ permissions?: Permission[];
28
+ additionalDurationDays?: number;
29
+ }
@@ -0,0 +1 @@
1
+ export {};
package/build/index.d.ts CHANGED
@@ -11,6 +11,7 @@ import { type HealthCheckResult } from "./health/types";
11
11
  import { type SampleRecords } from "./rosetta-stone/types";
12
12
  import { AttributeApi } from "./attributes";
13
13
  import { type Resource, ResourceApi, type BucketCreationRequest, type UpdateAccessTypeRequest } from "./resources";
14
+ import { type AccessTokenMetadata, type CreateSystemAccessTokenRequest, type CreateSystemAccessTokenResponse, type UpdateSystemAccessTokenRequest, AccessTokensApi } from "./access-tokens";
14
15
  import { type Attribute, type ShallowAttribute, type RefAttribute, type SubAttribute, type PrimitiveAttribute, type ArrayAttribute, type ObjectAttribute } from "./attributes/types";
15
16
  import { PingApi } from "./ping";
16
17
  import { UploadsApi } from "./uploads";
@@ -38,6 +39,6 @@ import { WhoAmIApi } from "./whoami";
38
39
  import { ConnectionsApi, type Connection } from "./connections";
39
40
  declare class NarrativeApi extends BaseApi {
40
41
  }
41
- interface NarrativeApi extends BaseApi, HealthCheckApi, DataPlaneApi, DatasetApi, RosettaStoneApi, AttributeApi, PingApi, CompanyInfoApi, InstallationsApi, ConnectionsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, MappingsApi, AccessRulesApi, AppsApi, SubscriptionsApi, JobsApi, WhoAmIApi {
42
+ interface NarrativeApi extends BaseApi, HealthCheckApi, AccessTokensApi, DataPlaneApi, DatasetApi, RosettaStoneApi, AttributeApi, PingApi, CompanyInfoApi, InstallationsApi, ConnectionsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, MappingsApi, AccessRulesApi, AppsApi, SubscriptionsApi, JobsApi, WhoAmIApi {
42
43
  }
43
- export { NarrativeApi, AttributeApi, DataPlaneApi, 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 DataPlane, type App, type Resource, type AccessRuleV2, type GetAccessRulesParameters, 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 ApiRecordsV2, 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 GetJobsParameters, 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 SharedAccessRule, type OwnedAccessRule, 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, type ValueMapping, type ObjectMapping, type CreateMapping, compileStatement, parseStatement, };
44
+ export { NarrativeApi, AttributeApi, AccessTokensApi, DataPlaneApi, 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 DataPlane, type AccessTokenMetadata, type CreateSystemAccessTokenRequest, type CreateSystemAccessTokenResponse, type UpdateSystemAccessTokenRequest, type App, type Resource, type AccessRuleV2, type GetAccessRulesParameters, 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 ApiRecordsV2, 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 GetJobsParameters, 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 SharedAccessRule, type OwnedAccessRule, 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, type ValueMapping, type ObjectMapping, type CreateMapping, compileStatement, parseStatement, };
package/build/index.js CHANGED
@@ -6,6 +6,7 @@ import { applyMixins } from "./utils";
6
6
  import { DataPlaneApi } from "./data-planes";
7
7
  import { AttributeApi } from "./attributes";
8
8
  import { ResourceApi, } from "./resources";
9
+ import { AccessTokensApi, } from "./access-tokens";
9
10
  import { PingApi } from "./ping";
10
11
  import { UploadsApi } from "./uploads";
11
12
  import { ProductsApi } from "./products";
@@ -31,6 +32,7 @@ class NarrativeApi extends BaseApi {
31
32
  applyMixins(NarrativeApi, [
32
33
  BaseApi,
33
34
  HealthCheckApi,
35
+ AccessTokensApi,
34
36
  DatasetApi,
35
37
  DataPlaneApi,
36
38
  RosettaStoneApi,
@@ -53,4 +55,4 @@ applyMixins(NarrativeApi, [
53
55
  JobsApi,
54
56
  WhoAmIApi,
55
57
  ]);
56
- export { NarrativeApi, AttributeApi, DataPlaneApi, 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, };
58
+ export { NarrativeApi, AttributeApi, AccessTokensApi, DataPlaneApi, 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, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@narrative.io/data-collaboration-sdk-ts",
3
- "version": "0.15.0",
3
+ "version": "0.16.0",
4
4
  "main": "build/index.js",
5
5
  "repository": "github:narrative-io/data-collaboration-sdk-ts",
6
6
  "source": "src/index.ts",