@salesforce/b2c-tooling-sdk 0.4.1 → 0.5.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/README.md +1 -1
- package/data/cip-proto/common.proto +281 -0
- package/data/cip-proto/requests.proto +178 -0
- package/data/cip-proto/responses.proto +135 -0
- package/dist/cjs/cli/base-command.d.ts +3 -1
- package/dist/cjs/cli/base-command.js +12 -4
- package/dist/cjs/cli/base-command.js.map +1 -1
- package/dist/cjs/cli/config.d.ts +1 -1
- package/dist/cjs/cli/config.js +4 -2
- package/dist/cjs/cli/config.js.map +1 -1
- package/dist/cjs/cli/instance-command.d.ts +1 -0
- package/dist/cjs/cli/mrt-command.d.ts +1 -0
- package/dist/cjs/cli/oauth-command.d.ts +1 -0
- package/dist/cjs/cli/ods-command.d.ts +1 -0
- package/dist/cjs/cli/webdav-command.d.ts +1 -0
- package/dist/cjs/clients/cip.d.ts +162 -0
- package/dist/cjs/clients/cip.js +571 -0
- package/dist/cjs/clients/cip.js.map +1 -0
- package/dist/cjs/clients/index.d.ts +3 -0
- package/dist/cjs/clients/index.js +2 -0
- package/dist/cjs/clients/index.js.map +1 -1
- package/dist/cjs/clients/middleware-registry.d.ts +1 -1
- package/dist/cjs/clients/middleware-registry.js.map +1 -1
- package/dist/cjs/config/dw-json.d.ts +10 -8
- package/dist/cjs/config/dw-json.js +10 -10
- package/dist/cjs/config/dw-json.js.map +1 -1
- package/dist/cjs/config/mapping.js +7 -0
- package/dist/cjs/config/mapping.js.map +1 -1
- package/dist/cjs/config/sources/dw-json-source.js +5 -5
- package/dist/cjs/config/sources/dw-json-source.js.map +1 -1
- package/dist/cjs/config/sources/package-json-source.js +2 -2
- package/dist/cjs/config/sources/package-json-source.js.map +1 -1
- package/dist/cjs/config/types.d.ts +5 -1
- package/dist/cjs/discovery/patterns/storefront-next.d.ts +4 -8
- package/dist/cjs/discovery/patterns/storefront-next.js +53 -8
- package/dist/cjs/discovery/patterns/storefront-next.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -2
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/logging/index.d.ts +1 -1
- package/dist/cjs/logging/index.js +1 -1
- package/dist/cjs/operations/cip/index.d.ts +35 -0
- package/dist/cjs/operations/cip/index.js +128 -0
- package/dist/cjs/operations/cip/index.js.map +1 -0
- package/dist/cjs/operations/cip/reports.d.ts +2 -0
- package/dist/cjs/operations/cip/reports.js +210 -0
- package/dist/cjs/operations/cip/reports.js.map +1 -0
- package/dist/cjs/operations/cip/types.d.ts +97 -0
- package/dist/cjs/operations/cip/types.js +7 -0
- package/dist/cjs/operations/cip/types.js.map +1 -0
- package/dist/cjs/operations/content/export.js +2 -5
- package/dist/cjs/operations/content/export.js.map +1 -1
- package/dist/cjs/operations/jobs/index.d.ts +1 -1
- package/dist/cjs/operations/jobs/index.js +1 -1
- package/dist/cjs/operations/jobs/index.js.map +1 -1
- package/dist/cjs/operations/jobs/site-archive.d.ts +33 -9
- package/dist/cjs/operations/jobs/site-archive.js +43 -16
- package/dist/cjs/operations/jobs/site-archive.js.map +1 -1
- package/dist/cjs/schemas/index.d.ts +6 -1
- package/dist/cjs/schemas/index.js +7 -1
- package/dist/cjs/schemas/index.js.map +1 -1
- package/dist/cjs/schemas/security-schemes.d.ts +26 -0
- package/dist/cjs/schemas/security-schemes.js +44 -0
- package/dist/cjs/schemas/security-schemes.js.map +1 -0
- package/dist/esm/cli/base-command.d.ts +3 -1
- package/dist/esm/cli/base-command.js +12 -4
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/config.d.ts +1 -1
- package/dist/esm/cli/config.js +4 -2
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +1 -0
- package/dist/esm/cli/mrt-command.d.ts +1 -0
- package/dist/esm/cli/oauth-command.d.ts +1 -0
- package/dist/esm/cli/ods-command.d.ts +1 -0
- package/dist/esm/cli/webdav-command.d.ts +1 -0
- package/dist/esm/clients/cip.d.ts +162 -0
- package/dist/esm/clients/cip.js +571 -0
- package/dist/esm/clients/cip.js.map +1 -0
- package/dist/esm/clients/index.d.ts +3 -0
- package/dist/esm/clients/index.js +2 -0
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/middleware-registry.d.ts +1 -1
- package/dist/esm/clients/middleware-registry.js.map +1 -1
- package/dist/esm/config/dw-json.d.ts +10 -8
- package/dist/esm/config/dw-json.js +10 -10
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/mapping.js +7 -0
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/sources/dw-json-source.js +5 -5
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/sources/package-json-source.js +2 -2
- package/dist/esm/config/sources/package-json-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +5 -1
- package/dist/esm/discovery/patterns/storefront-next.d.ts +4 -8
- package/dist/esm/discovery/patterns/storefront-next.js +53 -8
- package/dist/esm/discovery/patterns/storefront-next.js.map +1 -1
- package/dist/esm/index.d.ts +4 -2
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/logging/index.d.ts +1 -1
- package/dist/esm/logging/index.js +1 -1
- package/dist/esm/operations/cip/index.d.ts +35 -0
- package/dist/esm/operations/cip/index.js +128 -0
- package/dist/esm/operations/cip/index.js.map +1 -0
- package/dist/esm/operations/cip/reports.d.ts +2 -0
- package/dist/esm/operations/cip/reports.js +210 -0
- package/dist/esm/operations/cip/reports.js.map +1 -0
- package/dist/esm/operations/cip/types.d.ts +97 -0
- package/dist/esm/operations/cip/types.js +7 -0
- package/dist/esm/operations/cip/types.js.map +1 -0
- package/dist/esm/operations/content/export.js +2 -5
- package/dist/esm/operations/content/export.js.map +1 -1
- package/dist/esm/operations/jobs/index.d.ts +1 -1
- package/dist/esm/operations/jobs/index.js +1 -1
- package/dist/esm/operations/jobs/index.js.map +1 -1
- package/dist/esm/operations/jobs/site-archive.d.ts +33 -9
- package/dist/esm/operations/jobs/site-archive.js +43 -16
- package/dist/esm/operations/jobs/site-archive.js.map +1 -1
- package/dist/esm/schemas/index.d.ts +6 -1
- package/dist/esm/schemas/index.js +7 -1
- package/dist/esm/schemas/index.js.map +1 -1
- package/dist/esm/schemas/security-schemes.d.ts +26 -0
- package/dist/esm/schemas/security-schemes.js +44 -0
- package/dist/esm/schemas/security-schemes.js.map +1 -0
- package/package.json +21 -9
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import type { AuthStrategy } from '../auth/types.js';
|
|
2
|
+
import { type MiddlewareRegistry } from './middleware-registry.js';
|
|
3
|
+
/** Default CIP Avatica host. */
|
|
4
|
+
export declare const DEFAULT_CIP_HOST = "jdbc.analytics.commercecloud.salesforce.com";
|
|
5
|
+
/** Default CIP Avatica host for staging/non-production analytics. */
|
|
6
|
+
export declare const DEFAULT_CIP_STAGING_HOST = "jdbc.stg.analytics.commercecloud.salesforce.com";
|
|
7
|
+
/** CIP client configuration. */
|
|
8
|
+
export interface CipClientConfig {
|
|
9
|
+
/** CIP instance identifier (for example `zzxy_prd`). */
|
|
10
|
+
instance: string;
|
|
11
|
+
/** Optional CIP host override. */
|
|
12
|
+
host?: string;
|
|
13
|
+
/** Middleware registry to use for this client. Defaults to global registry. */
|
|
14
|
+
middlewareRegistry?: MiddlewareRegistry;
|
|
15
|
+
}
|
|
16
|
+
/** Column metadata for a CIP result set. */
|
|
17
|
+
export interface CipColumn {
|
|
18
|
+
/** Preferred output label for the column. */
|
|
19
|
+
label: string;
|
|
20
|
+
/** Original column name, when provided by CIP. */
|
|
21
|
+
name?: string;
|
|
22
|
+
/** Avatica type name (for example `VARCHAR`, `DATE`). */
|
|
23
|
+
typeName?: string;
|
|
24
|
+
}
|
|
25
|
+
/** Decoded CIP frame. */
|
|
26
|
+
export interface CipFrame {
|
|
27
|
+
/** Row offset in the full result set. */
|
|
28
|
+
offset: number;
|
|
29
|
+
/** Whether this is the terminal frame. */
|
|
30
|
+
done: boolean;
|
|
31
|
+
/** Column metadata for row decoding. */
|
|
32
|
+
columns: CipColumn[];
|
|
33
|
+
/** Decoded row objects. */
|
|
34
|
+
rows: Array<Record<string, unknown>>;
|
|
35
|
+
}
|
|
36
|
+
/** Execute response with decoded first frame. */
|
|
37
|
+
export interface CipExecuteResponse {
|
|
38
|
+
/** Statement id used for this execution. */
|
|
39
|
+
statementId: number;
|
|
40
|
+
/** Decoded first frame when present. */
|
|
41
|
+
frame?: CipFrame;
|
|
42
|
+
}
|
|
43
|
+
/** Fetch response with decoded frame. */
|
|
44
|
+
export interface CipFetchResponse {
|
|
45
|
+
/** Decoded fetched frame when present. */
|
|
46
|
+
frame?: CipFrame;
|
|
47
|
+
}
|
|
48
|
+
/** Convenience result for full query execution. */
|
|
49
|
+
export interface CipQueryResult {
|
|
50
|
+
/** Ordered columns for output formatting. */
|
|
51
|
+
columns: string[];
|
|
52
|
+
/** Decoded result rows. */
|
|
53
|
+
rows: Array<Record<string, unknown>>;
|
|
54
|
+
/** Total number of rows returned. */
|
|
55
|
+
rowCount: number;
|
|
56
|
+
}
|
|
57
|
+
/** Options for high-level query execution. */
|
|
58
|
+
export interface CipQueryOptions {
|
|
59
|
+
/** Initial and subsequent frame fetch size. */
|
|
60
|
+
fetchSize?: number;
|
|
61
|
+
/** Optional Avatica connection properties. */
|
|
62
|
+
connectionProperties?: Record<string, string>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* CIP Avatica client with protobuf transport.
|
|
66
|
+
*
|
|
67
|
+
* Use this client for raw SQL execution against B2C Commerce Intelligence
|
|
68
|
+
* (CIP/CCAC) data.
|
|
69
|
+
*
|
|
70
|
+
* See {@link createCipClient} for the recommended construction helper.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```ts
|
|
74
|
+
* import {OAuthStrategy} from '@salesforce/b2c-tooling-sdk/auth';
|
|
75
|
+
* import {createCipClient} from '@salesforce/b2c-tooling-sdk/clients';
|
|
76
|
+
*
|
|
77
|
+
* const auth = new OAuthStrategy({
|
|
78
|
+
* clientId: process.env.SFCC_CLIENT_ID!,
|
|
79
|
+
* clientSecret: process.env.SFCC_CLIENT_SECRET!,
|
|
80
|
+
* });
|
|
81
|
+
*
|
|
82
|
+
* const cip = createCipClient({instance: 'zzxy_prd'}, auth);
|
|
83
|
+
*
|
|
84
|
+
* const result = await cip.query(
|
|
85
|
+
* 'SELECT submit_date, num_orders FROM ccdw_aggr_sales_summary LIMIT 10',
|
|
86
|
+
* {fetchSize: 500},
|
|
87
|
+
* );
|
|
88
|
+
*
|
|
89
|
+
* console.log(result.rowCount, result.columns, result.rows[0]);
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export declare class CipClient {
|
|
93
|
+
private readonly config;
|
|
94
|
+
private readonly auth;
|
|
95
|
+
private readonly baseUrl;
|
|
96
|
+
private readonly middlewareRegistry;
|
|
97
|
+
private protoRoot?;
|
|
98
|
+
private connectionId?;
|
|
99
|
+
private sessionId?;
|
|
100
|
+
private readonly signatureByStatementId;
|
|
101
|
+
constructor(config: CipClientConfig, auth: AuthStrategy);
|
|
102
|
+
/**
|
|
103
|
+
* Opens a new Avatica connection.
|
|
104
|
+
*/
|
|
105
|
+
openConnection(info?: Record<string, string>): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Closes the current Avatica connection (no-op if not open).
|
|
108
|
+
*/
|
|
109
|
+
closeConnection(): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Creates a statement in the currently open connection.
|
|
112
|
+
*/
|
|
113
|
+
createStatement(): Promise<number>;
|
|
114
|
+
/**
|
|
115
|
+
* Closes a statement.
|
|
116
|
+
*/
|
|
117
|
+
closeStatement(statementId: number): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Executes SQL and returns the first decoded frame.
|
|
120
|
+
*/
|
|
121
|
+
execute(statementId: number, sql: string, firstFrameMaxSize?: number): Promise<CipExecuteResponse>;
|
|
122
|
+
/**
|
|
123
|
+
* Fetches an additional frame for an existing statement.
|
|
124
|
+
*/
|
|
125
|
+
fetch(statementId: number, offset: number, fetchMaxRowCount?: number): Promise<CipFetchResponse>;
|
|
126
|
+
/**
|
|
127
|
+
* Executes SQL and returns the full decoded row set.
|
|
128
|
+
*
|
|
129
|
+
* This helper opens and closes the connection automatically.
|
|
130
|
+
*/
|
|
131
|
+
query(sql: string, options?: CipQueryOptions): Promise<CipQueryResult>;
|
|
132
|
+
private requireConnection;
|
|
133
|
+
private getMiddleware;
|
|
134
|
+
private getProtoRoot;
|
|
135
|
+
private sendRequest;
|
|
136
|
+
private decodeFrame;
|
|
137
|
+
private getColumnsFromSignature;
|
|
138
|
+
private getColumnTypeName;
|
|
139
|
+
private decodeColumnValue;
|
|
140
|
+
private decodeTypedValue;
|
|
141
|
+
private decodeNumericValue;
|
|
142
|
+
private formatProtobufBody;
|
|
143
|
+
private headersToObject;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Creates a CIP client and ensures the required CIP scope on OAuth strategies.
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ```ts
|
|
150
|
+
* import {OAuthStrategy} from '@salesforce/b2c-tooling-sdk/auth';
|
|
151
|
+
* import {createCipClient} from '@salesforce/b2c-tooling-sdk/clients';
|
|
152
|
+
*
|
|
153
|
+
* const auth = new OAuthStrategy({
|
|
154
|
+
* clientId: process.env.SFCC_CLIENT_ID!,
|
|
155
|
+
* clientSecret: process.env.SFCC_CLIENT_SECRET!,
|
|
156
|
+
* });
|
|
157
|
+
*
|
|
158
|
+
* const cip = createCipClient({instance: 'zzxy_prd'}, auth);
|
|
159
|
+
* const query = await cip.query('SELECT submit_date FROM ccdw_aggr_sales_summary LIMIT 1');
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
export declare function createCipClient(config: CipClientConfig, auth: AuthStrategy): CipClient;
|