@narrative.io/data-collaboration-sdk-ts 2.33.0 → 2.35.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.
package/build/index.d.ts CHANGED
@@ -32,7 +32,7 @@ import type { AstNodeMetadata, AstNodeType, ForecastBody } from "./nql/types";
32
32
  import { PingApi } from "./ping";
33
33
  import type { PingStatus } from "./ping/types";
34
34
  import { type Product, ProductsApi } from "./products";
35
- import { type CreateNqlQueryRequest, type NqlOwnedQueryResponse, type NqlQueryCollaborators, type NqlQueryMetadata, type NqlQueryOwner, type NqlQueryResponse, type NqlSharedQueryResponse, QueriesApi, type UpdateNqlQueryRequest } from "./queries";
35
+ import { type CreateNqlQueryRequest, type NqlOwnedQueryResponse, type NqlQueryAst, type NqlQueryCollaborators, type NqlQueryMetadata, type NqlQueryOwner, type NqlQueryResponse, type NqlSharedQueryResponse, QueriesApi, type UpdateNqlQueryRequest } from "./queries";
36
36
  import { type BucketCreationRequest, type Resource, ResourceApi, type UpdateAccessTypeRequest } from "./resources";
37
37
  import { RosettaStoneApi } from "./rosetta-stone";
38
38
  import type { SampleRecords } from "./rosetta-stone/types";
@@ -48,4 +48,4 @@ declare class NarrativeApi extends BaseApi {
48
48
  }
49
49
  interface NarrativeApi extends BaseApi, HealthCheckApi, AccessTokensApi, DataPlaneApi, DatasetApi, RosettaStoneApi, AttributeApi, AttributeApiV2, PingApi, CompanyInfoApi, InstallationsApi, ConnectionsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, MappingsApi, AccessRulesApi, AppsApi, SubscriptionsApi, JobsApi, QueriesApi, ViewsApi, ModelsApi, ModelTrainingApi, WhoAmIApi {
50
50
  }
51
- export { NarrativeApi, AttributeApi, AttributeApiV2, AccessTokensApi, DataPlaneApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, ConnectionsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, AccessRulesApi, SubscriptionsApi, JobsApi, QueriesApi, ViewsApi, ModelsApi, ModelTrainingApi, 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 CreateAccessRuleV2Request, type UpdateAccessRuleV2Request, 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 GeneralCollaboratorType, type SpecificCollaboratorType, type NonAuthenticatedCollaborator, type CollaboratorList, type GeneralCollaborator, type QueryCollaborator, type ViewCollaborator, type QueryAccess, type ViewAccess, type CollaboratorsConfig, 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 AstNodeType, type AstNodeMetadata, 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 ExplainInput, type MaterializedViewInput, type ExplainOutput, type MaterializedViewOutput, type User, type Mapping, type MappingTestResult, type ValueMapping, type ObjectMapping, type CreateMapping, type CreateNqlQueryRequest, type UpdateNqlQueryRequest, type NqlQueryResponse, type NqlSharedQueryResponse, type NqlOwnedQueryResponse, type NqlQueryCollaborators, type NqlQueryOwner, type NqlQueryMetadata, type View, type OwnedView, type SharedView, type ViewOwner, type CreateViewRequest, type UpdateViewRequest, type OutputModel, type TrainModelRequest, type TrainModelResponse, type ModelTrainingConfig, type CreateModelRequest, type Model, type ModelCollaborators, type UpdateModelRequest, compileStatement, parseStatement, JsonBigNumber, };
51
+ export { NarrativeApi, AttributeApi, AttributeApiV2, AccessTokensApi, DataPlaneApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, ConnectionsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, AccessRulesApi, SubscriptionsApi, JobsApi, QueriesApi, ViewsApi, ModelsApi, ModelTrainingApi, 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 CreateAccessRuleV2Request, type UpdateAccessRuleV2Request, 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 GeneralCollaboratorType, type SpecificCollaboratorType, type NonAuthenticatedCollaborator, type CollaboratorList, type GeneralCollaborator, type QueryCollaborator, type ViewCollaborator, type QueryAccess, type ViewAccess, type CollaboratorsConfig, 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 AstNodeType, type AstNodeMetadata, 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 ExplainInput, type MaterializedViewInput, type ExplainOutput, type MaterializedViewOutput, type User, type Mapping, type MappingTestResult, type ValueMapping, type ObjectMapping, type CreateMapping, type CreateNqlQueryRequest, type UpdateNqlQueryRequest, type NqlQueryResponse, type NqlSharedQueryResponse, type NqlOwnedQueryResponse, type NqlQueryCollaborators, type NqlQueryOwner, type NqlQueryMetadata, type NqlQueryAst, type View, type OwnedView, type SharedView, type ViewOwner, type CreateViewRequest, type UpdateViewRequest, type OutputModel, type TrainModelRequest, type TrainModelResponse, type ModelTrainingConfig, type CreateModelRequest, type Model, type ModelCollaborators, type UpdateModelRequest, compileStatement, parseStatement, JsonBigNumber, };
@@ -1,4 +1,4 @@
1
- import type { NqlBudget } from "./Ast";
1
+ import type { NqlBudget, NqlPlaceholder } from "./Ast";
2
2
  import type { CreateMaterializedView, CreateMaterializedViewMetadata, Deduplication, Explain, Expression, Output, Raw, Select, Statement, Table } from "./AstParser";
3
3
  export type CompiledNql = string;
4
4
  export declare function compileStatement(n: Statement): CompiledNql;
@@ -11,3 +11,4 @@ export declare function compileDeduplication(d: Deduplication | Raw): CompiledNq
11
11
  export declare function compileFrom(tables: Table[] | Raw): CompiledNql;
12
12
  export declare function compileOutput(n: Output): CompiledNql;
13
13
  export declare function compileExpression(n: Expression): CompiledNql;
14
+ export declare function compilePlaceholder(n: NqlPlaceholder): CompiledNql;
@@ -210,6 +210,8 @@ export function compileOutput(n) {
210
210
  return compileRawRef(n.nql, n.as);
211
211
  case "nql":
212
212
  return raw(n);
213
+ case "placeholder":
214
+ return compilePlaceholder(n);
213
215
  }
214
216
  throw new Error("unreachable");
215
217
  }
@@ -251,6 +253,8 @@ export function compileExpression(n) {
251
253
  return raw(n);
252
254
  case "raw_ref":
253
255
  return compileRawRef(n.nql, n.as);
256
+ case "placeholder":
257
+ return compilePlaceholder(n);
254
258
  }
255
259
  throw new Error("unreachable");
256
260
  }
@@ -345,6 +349,20 @@ function compileRawRef(nql, as) {
345
349
  function compileUnaryMinus(operand, as) {
346
350
  return aliased(`-(${compileExpression(operand)})`, as);
347
351
  }
352
+ export function compilePlaceholder(n) {
353
+ switch (n.expectedType) {
354
+ case "literal":
355
+ case "string_literal":
356
+ case "long_literal":
357
+ case "double_literal":
358
+ case "boolean_literal":
359
+ case "timestamp_literal":
360
+ case "column":
361
+ return `{{${n.identifier}}}`;
362
+ default:
363
+ throw new Error("unsupported placeholder");
364
+ }
365
+ }
348
366
  function aliased(nql, as, parens) {
349
367
  const alias = as !== undefined ? `${nql} AS ${quote(as)}` : nql;
350
368
  if ((parens === undefined || parens) && as !== undefined) {
@@ -1,6 +1,6 @@
1
1
  import { BaseApi } from "../base-api";
2
2
  import type { ApiRecords } from "../types";
3
- import type { CreateNqlQueryRequest, NqlOwnedQueryResponse, NqlQueryCollaborators, NqlQueryMetadata, NqlQueryOwner, NqlQueryResponse, NqlSharedQueryResponse, UpdateNqlQueryRequest } from "./types";
3
+ import type { CreateNqlQueryRequest, NqlOwnedQueryResponse, NqlQueryAst, NqlQueryCollaborators, NqlQueryMetadata, NqlQueryOwner, NqlQueryResponse, NqlSharedQueryResponse, UpdateNqlQueryRequest } from "./types";
4
4
  /**
5
5
  * A class for accessing the Queries API.
6
6
  * @extends BaseApi
@@ -42,4 +42,4 @@ declare class QueriesApi extends BaseApi {
42
42
  */
43
43
  updateQuery(queryId: string, data: UpdateNqlQueryRequest): Promise<NqlQueryResponse>;
44
44
  }
45
- export { QueriesApi, type CreateNqlQueryRequest, type UpdateNqlQueryRequest, type NqlQueryResponse, type NqlSharedQueryResponse, type NqlOwnedQueryResponse, type NqlQueryCollaborators, type NqlQueryOwner, type NqlQueryMetadata, };
45
+ export { QueriesApi, type CreateNqlQueryRequest, type UpdateNqlQueryRequest, type NqlQueryResponse, type NqlSharedQueryResponse, type NqlOwnedQueryResponse, type NqlQueryCollaborators, type NqlQueryOwner, type NqlQueryMetadata, type NqlQueryAst, };
@@ -1,13 +1,20 @@
1
- import type { NqlAst } from "src/nql";
2
- import type { Node } from "src/nql/AstParser";
3
1
  import type { CollaboratorsConfig } from "src/types";
2
+ import type * as Parser from "../nql/AstParser";
3
+ export interface NqlQueryAst {
4
+ parsed: Parser.Select;
5
+ compiled: string;
6
+ placeholdersWithContext?: unknown[];
7
+ ast_metadata: {
8
+ node_type: "multiple";
9
+ };
10
+ }
4
11
  export interface CreateNqlQueryRequest {
5
12
  name: string;
6
13
  display_name?: string;
7
14
  description?: string;
8
15
  tags?: string[];
9
16
  collaborators: CollaboratorsConfig;
10
- ast: NqlAst | Node;
17
+ ast: NqlQueryAst;
11
18
  }
12
19
  export interface UpdateNqlQueryRequest {
13
20
  name?: string;
@@ -15,7 +22,7 @@ export interface UpdateNqlQueryRequest {
15
22
  description?: string;
16
23
  tags?: string[];
17
24
  collaborators?: CollaboratorsConfig;
18
- ast?: NqlAst | Node;
25
+ ast?: NqlQueryAst;
19
26
  }
20
27
  export type NqlQueryResponse = NqlSharedQueryResponse | NqlOwnedQueryResponse;
21
28
  export interface NqlSharedQueryResponse {
@@ -26,7 +33,7 @@ export interface NqlSharedQueryResponse {
26
33
  tags?: string[];
27
34
  owner: NqlQueryOwner;
28
35
  is_owned?: boolean;
29
- ast: NqlAst | Node;
36
+ ast: NqlQueryAst;
30
37
  }
31
38
  export interface NqlOwnedQueryResponse extends NqlSharedQueryResponse {
32
39
  collaborators: CollaboratorsConfig;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@narrative.io/data-collaboration-sdk-ts",
3
- "version": "2.33.0",
3
+ "version": "2.35.0",
4
4
  "main": "build/index.js",
5
5
  "repository": "github:narrative-io/data-collaboration-sdk-ts",
6
6
  "source": "src/index.ts",
@@ -24,17 +24,17 @@
24
24
  "@babel/preset-env": "7.26.0",
25
25
  "@babel/preset-typescript": "7.26.0",
26
26
  "@biomejs/biome": "1.9.4",
27
- "@commitlint/cli": "19.5.0",
28
- "@commitlint/config-conventional": "19.5.0",
27
+ "@commitlint/cli": "19.6.1",
28
+ "@commitlint/config-conventional": "19.6.0",
29
29
  "@types/jest": "29.5.14",
30
30
  "babel-jest": "29.7.0",
31
31
  "jest": "29.7.0",
32
- "lefthook": "1.8.4",
32
+ "lefthook": "1.10.2",
33
33
  "ts-jest": "29.2.5"
34
34
  },
35
35
  "dependencies": {
36
36
  "mande": "2.0.9",
37
- "zod": "3.23.8",
37
+ "zod": "3.24.1",
38
38
  "bignumber.js": "9.1.2"
39
39
  },
40
40
  "overrides": {