@narrative.io/data-collaboration-sdk-ts 0.0.104 → 0.0.106

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.
@@ -1,6 +1,6 @@
1
1
  import { type ApiRecords } from '../types';
2
2
  import { BaseApi } from '../base-api';
3
- import type { FilePerSnapshotResponse, Dataset, DatasetTableSummaryAPIResponse, ColumnStatistics, RetentionPolicy } from './types';
3
+ import type { FilePerSnapshotResponse, Dataset, DatasetTableSummaryAPIResponse, ColumnStatistics, RetentionPolicy, DatasetTableSummary } from './types';
4
4
  export { type FilePerSnapshotResponse, type Dataset, type RetentionPolicy, type DatasetTableSummaryAPIResponse, type ColumnStatistics };
5
5
  /**
6
6
  * @module DatasetApi
@@ -82,6 +82,16 @@ export declare class DatasetApi extends BaseApi {
82
82
  */
83
83
  getColumnStats(datasetId: number): Promise<ColumnStatistics>;
84
84
  /**
85
+ * Fetches the summary statistics for a given dataset.
86
+ *
87
+ * @param {number} datasetId - The ID of the dataset to fetch summary statistics for.
88
+ * @returns {Promise<ApiRecords<DatasetTableSummary>>} A Promise that resolves with an object containing the dataset summary statistics.
89
+ * @throws {Error} If there is an issue with the request or the response.
90
+ * @memberof DatasetApi
91
+ * @public
92
+ */
93
+ getStatistics(datasetId: number, offset?: number, size?: number): Promise<ApiRecords<DatasetTableSummary>>;
94
+ /**
85
95
  * Updates the retention policy of a specific dataset.
86
96
  *
87
97
  * @param {number} datasetId - The ID of the dataset to update the retention policy for.
@@ -101,6 +101,18 @@ export class DatasetApi extends BaseApi {
101
101
  return await this.get(`${resourceName}/${datasetId}/column-stats`);
102
102
  }
103
103
  /**
104
+ * Fetches the summary statistics for a given dataset.
105
+ *
106
+ * @param {number} datasetId - The ID of the dataset to fetch summary statistics for.
107
+ * @returns {Promise<ApiRecords<DatasetTableSummary>>} A Promise that resolves with an object containing the dataset summary statistics.
108
+ * @throws {Error} If there is an issue with the request or the response.
109
+ * @memberof DatasetApi
110
+ * @public
111
+ */
112
+ async getStatistics(datasetId, offset = 0, size = 1000) {
113
+ return await this.get(`${resourceName}/${datasetId}/stats?offset=${offset}&per_page=${size}`);
114
+ }
115
+ /**
104
116
  * Updates the retention policy of a specific dataset.
105
117
  *
106
118
  * @param {number} datasetId - The ID of the dataset to update the retention policy for.
package/build/index.d.ts CHANGED
@@ -29,6 +29,6 @@ import { type ConversationMessageRole, isConversationMessageRole, type Conversat
29
29
  import { MappingsApi } from './mappings';
30
30
  declare class NarrativeApi extends BaseApi {
31
31
  }
32
- interface NarrativeApi extends BaseApi, HealthCheckApi, DatasetApi, RosettaStoneApi, AttributeApi, PingApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, MappingsApi {
32
+ interface NarrativeApi extends BaseApi, HealthCheckApi, DatasetApi, RosettaStoneApi, AttributeApi, PingApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, MappingsApi, AppsApi {
33
33
  }
34
34
  export { NarrativeApi, AttributeApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, 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 Product, type MonetaryAmount, type CompanyInfo, type Installation, type FilePerSnapshotResponse, type BucketCreationRequest, type UpdateAccessTypeRequest, type Nql, 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 };
package/build/index.js CHANGED
@@ -22,5 +22,5 @@ import { isConversationMessageRole, isConversationMessageName, isConversationUse
22
22
  import { MappingsApi } from './mappings';
23
23
  class NarrativeApi extends BaseApi {
24
24
  }
25
- applyMixins(NarrativeApi, [BaseApi, HealthCheckApi, DatasetApi, RosettaStoneApi, AttributeApi, PingApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, MappingsApi]);
25
+ applyMixins(NarrativeApi, [BaseApi, HealthCheckApi, DatasetApi, RosettaStoneApi, AttributeApi, PingApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, MappingsApi, AppsApi]);
26
26
  export { NarrativeApi, AttributeApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, getNqlObject, buildNql, convertNqlObjectToForecastBody, isConversationAssistantMessage, isConversationFunctionMessage, isConversationInputMessage, isConversationMessage, isConversationMessageName, isConversationMessageRole, isConversationMessages, isConversationSystemMessage, isConversationUserMessage, isType, isConversationMessageFunctionCall, isConversationAssistantMessageWithFunctionCall, isRosettaRequestMessage, isConversationAssistantMessageWithoutFunctionCall };
@@ -81,7 +81,6 @@ function ensureAtLeastOneRequired(dataRulesAttributes) {
81
81
  * @throws {Error} - Throws an error if price filter conditions are not met.
82
82
  */
83
83
  function getPriceFromNql(nqlObject) {
84
- console.log('yyy', JSON.stringify(nqlObject.where.filterExpressions));
85
84
  const priceFilter = nqlObject.where.filterExpressions.filter((expr) => ('left' in expr && typeof expr.left === 'object' && expr.left.field === '_price_cpm_usd') || ('right' in expr && typeof expr.right === 'object' && expr.right.field === '_price_cpm_usd'));
86
85
  if (priceFilter.length !== 1) {
87
86
  throw new Error('Expected exactly one price filter');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@narrative.io/data-collaboration-sdk-ts",
3
- "version": "0.0.104",
3
+ "version": "0.0.106",
4
4
  "main": "build/index.js",
5
5
  "repository": "github:narrative-io/data-collaboration-sdk-ts",
6
6
  "source": "src/index.ts",