@narrative.io/data-collaboration-sdk-ts 0.24.0 → 0.27.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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseApi } from "../base-api";
|
|
2
|
-
import { type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type ForecastResult, type ForecastResultFailure, type JobState } from "./types";
|
|
2
|
+
import { type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type CostForecastResult, type ForecastResult, type ForecastResultFailure, type JobState } from "./types";
|
|
3
3
|
/**
|
|
4
4
|
* @module ForecastApi
|
|
5
5
|
* @description This module provides methods for generating forecasts from a subscription
|
|
@@ -49,4 +49,4 @@ declare class ForecastApi extends BaseApi {
|
|
|
49
49
|
*/
|
|
50
50
|
getPublicForecast(forecastId: string): Promise<ForecastResponse>;
|
|
51
51
|
}
|
|
52
|
-
export { ForecastApi, type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type ForecastResult, type ForecastResultFailure, type JobState, };
|
|
52
|
+
export { ForecastApi, type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type ForecastResult, type CostForecastResult, type ForecastResultFailure, type JobState, };
|
package/build/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ import { CompanyInfoApi, type CompanyInfo } from "./company-info";
|
|
|
23
23
|
import { InstallationsApi, type Installation, type Profile } from "./installations";
|
|
24
24
|
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";
|
|
25
25
|
import { DataStreamsApi, type DataStream, type DataRules, type ColumnSet, type ColumnWithFilterAndExport, type AttributeSet } from "./data-streams";
|
|
26
|
-
import { ForecastApi, type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type ForecastResult, type ForecastResultFailure, type JobState } from "./forecast";
|
|
26
|
+
import { ForecastApi, type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type CostForecastResult, type ForecastResult, type ForecastResultFailure, type JobState } from "./forecast";
|
|
27
27
|
import { ContractsApi, type ContractDetails, type CustomerContract, type PaymentMethod, type ContractRateView } from "./contracts";
|
|
28
28
|
import { getNqlObject, buildNql } from "./nql/NQLParser";
|
|
29
29
|
import { convertNqlObjectToForecastBody } from "./nql/DataRulesConverter";
|
|
@@ -43,4 +43,4 @@ declare class NarrativeApi extends BaseApi {
|
|
|
43
43
|
}
|
|
44
44
|
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 {
|
|
45
45
|
}
|
|
46
|
-
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, resources, 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 Permission, 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 ForecastResult, type ForecastResultFailure, 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 AccessRuleSchema, 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, };
|
|
46
|
+
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, resources, 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 Permission, 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 ForecastResult, type CostForecastResult, type ForecastResultFailure, 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 AccessRuleSchema, 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, };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type NqlBudget } from "./Ast";
|
|
2
|
-
import { type CreateMaterializedView, type Deduplication, type Explain, type Expression, type Raw, type Select, type Statement, type Table } from "./AstParser";
|
|
2
|
+
import { type Output, type CreateMaterializedView, type Deduplication, type Explain, type Expression, type Raw, type Select, type Statement, type Table } from "./AstParser";
|
|
3
3
|
export type CompiledNql = string;
|
|
4
4
|
export declare function compileStatement(n: Statement): CompiledNql;
|
|
5
5
|
export declare function compileCreateMaterializedView(n: CreateMaterializedView): CompiledNql;
|
|
@@ -8,4 +8,5 @@ export declare function compileSelect(q: Select): CompiledNql;
|
|
|
8
8
|
export declare function compileBudget(budget: NqlBudget): CompiledNql;
|
|
9
9
|
export declare function compileDeduplication(d: Deduplication | Raw): CompiledNql;
|
|
10
10
|
export declare function compileFrom(tables: Table[] | Raw): CompiledNql;
|
|
11
|
+
export declare function compileOutput(n: Output): CompiledNql;
|
|
11
12
|
export declare function compileExpression(n: Expression): CompiledNql;
|
package/build/nql/NqlBuilder.js
CHANGED
|
@@ -17,7 +17,7 @@ export function compileExplain(n) {
|
|
|
17
17
|
return `EXPLAIN ${compileSelect(n.query)}`;
|
|
18
18
|
}
|
|
19
19
|
export function compileSelect(q) {
|
|
20
|
-
const columns = q.columns.map((e) =>
|
|
20
|
+
const columns = q.columns.map((e) => compileOutput(e));
|
|
21
21
|
const select = `SELECT ${columns.join(", ")}`;
|
|
22
22
|
const budget = q.budget !== null ? compileBudget(q.budget) : "";
|
|
23
23
|
const from = `FROM ${compileFrom(q.from)}`;
|
|
@@ -144,6 +144,21 @@ function compileTableRefs(tables) {
|
|
|
144
144
|
}
|
|
145
145
|
return nql;
|
|
146
146
|
}
|
|
147
|
+
export function compileOutput(n) {
|
|
148
|
+
switch (n.type) {
|
|
149
|
+
case "attribute_ref":
|
|
150
|
+
return compileAttributeRef(n.column, n.as, false);
|
|
151
|
+
case "dataset_column_ref":
|
|
152
|
+
return compileDatasetColumnRef(n.datasetId, n.column, n.as, false);
|
|
153
|
+
case "lit":
|
|
154
|
+
return compileLit(n.value, n.value_type, n.as);
|
|
155
|
+
case "raw_ref":
|
|
156
|
+
return compileRawRef(n.nql, n.as);
|
|
157
|
+
case "nql":
|
|
158
|
+
return raw(n);
|
|
159
|
+
}
|
|
160
|
+
return unreachable(n);
|
|
161
|
+
}
|
|
147
162
|
export function compileExpression(n) {
|
|
148
163
|
switch (n.type) {
|
|
149
164
|
case "=":
|
|
@@ -199,7 +214,7 @@ export function compileExpression(n) {
|
|
|
199
214
|
}
|
|
200
215
|
return unreachable(n);
|
|
201
216
|
}
|
|
202
|
-
function compileAttributeRef(column, as) {
|
|
217
|
+
function compileAttributeRef(column, as, aliasParens) {
|
|
203
218
|
const segments = column.split(".");
|
|
204
219
|
const quotedSegments = segments.reduce((acc, segment, index) => {
|
|
205
220
|
if (index === 0) {
|
|
@@ -209,7 +224,7 @@ function compileAttributeRef(column, as) {
|
|
|
209
224
|
return `${acc}.${quote(segment)}`;
|
|
210
225
|
}
|
|
211
226
|
}, "");
|
|
212
|
-
return aliased(`narrative.rosetta_stone.${quotedSegments}`, as);
|
|
227
|
+
return aliased(`narrative.rosetta_stone.${quotedSegments}`, as, aliasParens);
|
|
213
228
|
}
|
|
214
229
|
function compileBetween(operand, lower, upper, as) {
|
|
215
230
|
const operandNql = compileExpression(operand);
|
|
@@ -220,7 +235,7 @@ function compileBetween(operand, lower, upper, as) {
|
|
|
220
235
|
function compileBinaryOperator(op, operands, as) {
|
|
221
236
|
return aliased(`(${operands.map((e) => compileExpression(e)).join(` ${op} `)})`, as);
|
|
222
237
|
}
|
|
223
|
-
function compileDatasetColumnRef(datasetId, column, as) {
|
|
238
|
+
function compileDatasetColumnRef(datasetId, column, as, aliasParen) {
|
|
224
239
|
const formattedColumn = column
|
|
225
240
|
.split(".")
|
|
226
241
|
.reduce((acc, segment, index) => {
|
|
@@ -231,7 +246,7 @@ function compileDatasetColumnRef(datasetId, column, as) {
|
|
|
231
246
|
return `${acc}.${quote(segment)}`;
|
|
232
247
|
}
|
|
233
248
|
}, "");
|
|
234
|
-
return aliased(`company_data.${quote(datasetId.toString())}.${formattedColumn}`, as);
|
|
249
|
+
return aliased(`company_data.${quote(datasetId.toString())}.${formattedColumn}`, as, false);
|
|
235
250
|
}
|
|
236
251
|
function compileFunctionCall(name, args, as) {
|
|
237
252
|
// Calling convenions for functions are all over the place:
|