@activepieces/piece-netsuite 0.1.6 → 0.1.8
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/package.json +10 -21
- package/src/index.d.ts +1 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js.map +1 -1
- package/src/lib/actions/execute-dataset.d.ts +1 -0
- package/src/lib/actions/execute-dataset.d.ts.map +1 -0
- package/src/lib/actions/execute-dataset.js +5 -0
- package/src/lib/actions/execute-dataset.js.map +1 -1
- package/src/lib/actions/get-customer.d.ts +1 -0
- package/src/lib/actions/get-customer.d.ts.map +1 -0
- package/src/lib/actions/get-customer.js +5 -0
- package/src/lib/actions/get-customer.js.map +1 -1
- package/src/lib/actions/get-vendor.d.ts +1 -0
- package/src/lib/actions/get-vendor.d.ts.map +1 -0
- package/src/lib/actions/get-vendor.js +5 -0
- package/src/lib/actions/get-vendor.js.map +1 -1
- package/src/lib/actions/run-suiteql.d.ts +2 -1
- package/src/lib/actions/run-suiteql.d.ts.map +1 -0
- package/src/lib/actions/run-suiteql.js +5 -0
- package/src/lib/actions/run-suiteql.js.map +1 -1
- package/src/lib/common/client.d.ts +1 -0
- package/src/lib/common/client.d.ts.map +1 -0
- package/src/lib/common/client.js.map +1 -1
- package/src/lib/common/oauth.d.ts +1 -0
- package/src/lib/common/oauth.d.ts.map +1 -0
- package/src/lib/common/oauth.js +18 -12
- package/src/lib/common/oauth.js.map +1 -1
- package/README.md +0 -7
package/package.json
CHANGED
|
@@ -1,28 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@activepieces/piece-netsuite",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
|
+
"main": "./src/index.js",
|
|
5
|
+
"types": "./src/index.d.ts",
|
|
4
6
|
"dependencies": {
|
|
5
|
-
"@
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"axios-retry": "4.4.1",
|
|
9
|
-
"deepmerge-ts": "7.1.0",
|
|
10
|
-
"form-data": "4.0.4",
|
|
11
|
-
"mime-types": "2.1.35",
|
|
12
|
-
"nanoid": "3.3.8",
|
|
13
|
-
"semver": "7.6.0",
|
|
14
|
-
"socket.io-client": "4.8.1",
|
|
7
|
+
"@activepieces/pieces-common": "0.12.3",
|
|
8
|
+
"@activepieces/pieces-framework": "0.30.0",
|
|
9
|
+
"@activepieces/shared": "0.87.1",
|
|
15
10
|
"sql-formatter": "15.6.10",
|
|
16
|
-
"zod": "4.1.13",
|
|
17
|
-
"@activepieces/pieces-common": "0.11.6",
|
|
18
|
-
"@activepieces/pieces-framework": "0.25.4",
|
|
19
|
-
"@activepieces/shared": "0.37.0",
|
|
20
11
|
"tslib": "2.6.2"
|
|
21
12
|
},
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"main": "./src/index.js",
|
|
27
|
-
"type": "commonjs"
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc -p tsconfig.lib.json && cp package.json dist/",
|
|
15
|
+
"lint": "eslint 'src/**/*.ts'"
|
|
16
|
+
}
|
|
28
17
|
}
|
package/src/index.d.ts
CHANGED
|
@@ -12,3 +12,4 @@ export declare const netsuite: import("@activepieces/pieces-framework").Piece<im
|
|
|
12
12
|
tokenId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
13
13
|
tokenSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
|
|
14
14
|
}>>;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,YAAY;;;;;;EA6BvB,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;GA2CnB,CAAC"}
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,qEAKwC;AACxC,yDAAqD;AACrD,6DAAyD;AACzD,2DAAuD;AACvD,mEAA+D;AAC/D,iDAAqD;AACrD,+DAAwE;AACxE,8CAAuD;AAE1C,QAAA,YAAY,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC/C,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE;QACL,SAAS,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC5B,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,0BAA0B;SACxC,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,4BAA4B;SAC1C,CAAC;QACF,cAAc,EAAE,4BAAS,CAAC,UAAU,CAAC;YACnC,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,+BAA+B;SAC7C,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,wBAAwB;SACtC,CAAC;QACF,WAAW,EAAE,4BAAS,CAAC,UAAU,CAAC;YAChC,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,4BAA4B;SAC1C,CAAC;KACH;CACF,CAAC,CAAC;AAEU,QAAA,QAAQ,GAAG,IAAA,8BAAW,EAAC;IAClC,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,kDAAkD;IAC3D,UAAU,EAAE,CAAC,sBAAa,CAAC,UAAU,CAAC;IACtC,IAAI,EAAE,oBAAY;IAClB,OAAO,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;IACpC,OAAO,EAAE;QACP,sBAAS;QACT,0BAAW;QACX,wBAAU;QACV,gCAAc;QACd,IAAA,yCAAyB,EAAC;YACxB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,OAAO,WAAW,SAAS,CAAC,SAAS,6BAA6B,CAAC;YACrE,CAAC;YACD,IAAI,EAAE,oBAAY;YAClB,WAAW,EAAE,CAAO,IAAI,EAAE,UAAU,EAAE,EAAE;gBACtC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;gBAE7B,MAAM,UAAU,GAAG,IAAA,yBAAiB,EAClC,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,cAAc,EACxB,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,WAAW,EACrB,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACxB,UAAU,CAAC,QAAQ,CAAC,EACpB,UAAU,CAAC,aAAa,CAAC,CAC1B,CAAC;gBAEF,OAAO;oBACL,aAAa,EAAE,UAAU;oBACzB,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,4BAA4B;iBACrC,CAAC;YACJ,CAAC,CAAA;SACF,CAAC;KACH;IACD,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-dataset.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/execute-dataset.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;EAuDzB,CAAC"}
|
|
@@ -11,6 +11,11 @@ exports.executeDataset = (0, pieces_framework_1.createAction)({
|
|
|
11
11
|
auth: __1.netsuiteAuth,
|
|
12
12
|
displayName: 'Execute Dataset',
|
|
13
13
|
description: 'Execute Dataset on NetSuite.',
|
|
14
|
+
audience: 'both',
|
|
15
|
+
aiMetadata: {
|
|
16
|
+
description: 'Runs a saved NetSuite dataset (workbook query) by its dataset ID and returns all result rows, auto-paginating across them. Use when a predefined dataset already captures the query you need, rather than writing raw SuiteQL. The dataset ID is selected from the datasets available on the connected account. This is a read-only execution and is safe to repeat.',
|
|
17
|
+
idempotent: true,
|
|
18
|
+
},
|
|
14
19
|
props: {
|
|
15
20
|
datasetId: pieces_framework_1.Property.Dropdown({
|
|
16
21
|
auth: __1.netsuiteAuth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-dataset.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"execute-dataset.js","sourceRoot":"","sources":["../../../../src/lib/actions/execute-dataset.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAyD;AACzD,6BAAqC;AACrC,6CAAkD;AAErC,QAAA,cAAc,GAAG,IAAA,+BAAY,EAAC;IACzC,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,gBAAY;IAClB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,8BAA8B;IAC3C,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE;QACV,WAAW,EACT,sWAAsW;QACxW,UAAU,EAAE,IAAI;KACjB;IACD,KAAK,EAAE;QACL,SAAS,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC3B,IAAI,EAAE,gBAAY;YAClB,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;gBACtB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO;wBACL,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,mCAAmC;wBAChD,OAAO,EAAE,EAAE;qBACZ,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAG,IAAI,uBAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE9C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAG5C;oBACD,MAAM,EAAE,0BAAU,CAAC,GAAG;oBACtB,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,iCAAiC;iBACxD,CAAC,CAAC;gBAEH,OAAO;oBACL,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC5B,KAAK,EAAE,IAAI,CAAC,IAAI;wBAChB,KAAK,EAAE,IAAI,CAAC,EAAE;qBACf,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC,CAAA;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,MAAM,GAAG,IAAI,uBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAEzC,OAAO,MAAM,CAAC,oBAAoB,CAAC;gBACjC,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,mCAAmC,SAAS,SAAS;aAC5E,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-customer.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/get-customer.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW;;;;;;;;EA2BtB,CAAC"}
|
|
@@ -11,6 +11,11 @@ exports.getCustomer = (0, pieces_framework_1.createAction)({
|
|
|
11
11
|
auth: __1.netsuiteAuth,
|
|
12
12
|
displayName: 'Get Customer',
|
|
13
13
|
description: 'Gets customer details from NetSuite.',
|
|
14
|
+
audience: 'both',
|
|
15
|
+
aiMetadata: {
|
|
16
|
+
description: 'Fetches a single customer record from NetSuite by its internal record ID. Use when you already have the customer ID and need its full details; this is a read-only lookup that is safe to repeat.',
|
|
17
|
+
idempotent: true,
|
|
18
|
+
},
|
|
14
19
|
props: {
|
|
15
20
|
customerId: pieces_framework_1.Property.ShortText({
|
|
16
21
|
displayName: 'Customer ID',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-customer.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"get-customer.js","sourceRoot":"","sources":["../../../../src/lib/actions/get-customer.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAyD;AACzD,6BAAqC;AACrC,6CAAkD;AAErC,QAAA,WAAW,GAAG,IAAA,+BAAY,EAAC;IACtC,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,gBAAY;IAClB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,sCAAsC;IACnD,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE;QACV,WAAW,EACT,mMAAmM;QACrM,UAAU,EAAE,IAAI;KACjB;IACD,KAAK,EAAE;QACL,UAAU,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC7B,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,qCAAqC;SACnD,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,MAAM,GAAG,IAAI,uBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAE1C,OAAO,MAAM,CAAC,WAAW,CAAC;gBACxB,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,qCAAqC,UAAU,EAAE;aACxE,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-vendor.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/get-vendor.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS;;;;;;;;EA2BpB,CAAC"}
|
|
@@ -11,6 +11,11 @@ exports.getVendor = (0, pieces_framework_1.createAction)({
|
|
|
11
11
|
auth: __1.netsuiteAuth,
|
|
12
12
|
displayName: 'Get Vendor',
|
|
13
13
|
description: 'Gets vendor details from NetSuite.',
|
|
14
|
+
audience: 'both',
|
|
15
|
+
aiMetadata: {
|
|
16
|
+
description: 'Fetches a single vendor record from NetSuite by its internal record ID. Use when you already have the vendor ID and need its full details; this is a read-only lookup that is safe to repeat.',
|
|
17
|
+
idempotent: true,
|
|
18
|
+
},
|
|
14
19
|
props: {
|
|
15
20
|
vendorId: pieces_framework_1.Property.ShortText({
|
|
16
21
|
displayName: 'Vendor ID',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-vendor.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"get-vendor.js","sourceRoot":"","sources":["../../../../src/lib/actions/get-vendor.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAyD;AACzD,6BAAqC;AACrC,6CAAkD;AAErC,QAAA,SAAS,GAAG,IAAA,+BAAY,EAAC;IACpC,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,gBAAY;IAClB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,oCAAoC;IACjD,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE;QACV,WAAW,EACT,+LAA+L;QACjM,UAAU,EAAE,IAAI;KACjB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,mCAAmC;SACjD,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,MAAM,GAAG,IAAI,uBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAExC,OAAO,MAAM,CAAC,WAAW,CAAC;gBACxB,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,mCAAmC,QAAQ,EAAE;aACpE,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -5,7 +5,8 @@ export declare const runSuiteQL: import("@activepieces/pieces-framework").IActio
|
|
|
5
5
|
tokenId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
6
6
|
tokenSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
|
|
7
7
|
}>, {
|
|
8
|
-
markdown: import("
|
|
8
|
+
markdown: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
|
|
9
9
|
query: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
10
10
|
args: import("@activepieces/pieces-framework").ArrayProperty<false>;
|
|
11
11
|
}>;
|
|
12
|
+
//# sourceMappingURL=run-suiteql.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-suiteql.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/run-suiteql.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,UAAU;;;;;;;;;;EAyDrB,CAAC"}
|
|
@@ -16,6 +16,11 @@ exports.runSuiteQL = (0, pieces_framework_1.createAction)({
|
|
|
16
16
|
auth: __1.netsuiteAuth,
|
|
17
17
|
displayName: 'Run SuiteQL Query',
|
|
18
18
|
description: 'Run SuiteQL Query on NetSuite.',
|
|
19
|
+
audience: 'both',
|
|
20
|
+
aiMetadata: {
|
|
21
|
+
description: 'Runs an arbitrary SuiteQL (Oracle SQL) query against NetSuite and returns all matching rows, auto-paginating across results. Use this for flexible read queries across any NetSuite record type when no dedicated action fits. Pass dynamic values via numbered placeholders (:1, :2, ...) and the Arguments list rather than interpolating into the query string. This is a read-only query and is safe to repeat.',
|
|
22
|
+
idempotent: true,
|
|
23
|
+
},
|
|
19
24
|
props: {
|
|
20
25
|
markdown: pieces_framework_1.Property.MarkDown({
|
|
21
26
|
value: mkdown,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-suiteql.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"run-suiteql.js","sourceRoot":"","sources":["../../../../src/lib/actions/run-suiteql.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAyD;AACzD,6BAAqC;AACrC,6CAAkD;AAClD,iDAAgE;AAEhE,MAAM,MAAM,GAAG;;;CAGd,CAAC;AAEW,QAAA,UAAU,GAAG,IAAA,+BAAY,EAAC;IACrC,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,gBAAY;IAClB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,gCAAgC;IAC7C,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE;QACV,WAAW,EACT,qZAAqZ;QACvZ,UAAU,EAAE,IAAI;KACjB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC1B,KAAK,EAAE,MAAM;SACd,CAAC;QAEF,KAAK,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,sDAAsD;YACnE,QAAQ,EAAE,IAAI;SACf,CAAC;QAEF,IAAI,EAAE,2BAAQ,CAAC,KAAK,CAAC;YACnB,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,mCAAmC;YAChD,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,MAAM,GAAG,IAAI,uBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEtD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YACvC,MAAM,IAAI,GAAc,OAAO,CAAC,UAAU,CAAC,IAAiB,IAAI,EAAE,CAAC;YAEnE,6HAA6H;YAC7H,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAClD,sCAAsC;gBACtC,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;gBACvB,kCAAkC;gBAClC,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;gBAC5B,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAgB,CAAC,CAAC;YAErB,oHAAoH;YACpH,MAAM,YAAY,GAAG,IAAA,sBAAS,EAAC,KAAK,EAAE;gBACpC,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,oBAAoB,CAAC;gBACjC,MAAM,EAAE,0BAAU,CAAC,IAAI;gBACvB,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,iCAAiC;gBACvD,IAAI,EAAE;oBACJ,CAAC,EAAE,YAAY;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAKrC,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAOD,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAe;gBAEf,IAAI,EAAE,YAAY;IAI9B,IAAI,OAAO,IAAI,MAAM,CAEpB;IAEK,WAAW,CAAC,CAAC,EAAE,EACnB,MAAM,EACN,GAAG,EACH,WAAW,EACX,IAAI,GACL,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;IA4B3B,oBAAoB,CAAC,CAAC,EAAE,EAC5B,MAAM,EACN,GAAG,EACH,IAAI,GACL,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAyBzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/lib/common/client.ts"],"names":[],"mappings":";;;;AAAA,+DAIqC;AACrC,mCAA4C;AAE5C,MAAM,SAAS,GAAG,IAAI,CAAC;AAsBvB,MAAa,cAAc;IAGzB,YAAY,IAAkB;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,6BAA6B,CAAC;IACrE,CAAC;IAEK,WAAW;qEAAI,EACnB,MAAM,EACN,GAAG,EACH,WAAW,EACX,IAAI,GACc;YAClB,MAAM,UAAU,GAAG,IAAA,yBAAiB,EAClC,IAAI,CAAC,IAAI,CAAC,SAAS,EACnB,IAAI,CAAC,IAAI,CAAC,WAAW,EACrB,IAAI,CAAC,IAAI,CAAC,cAAc,EACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB,IAAI,CAAC,IAAI,CAAC,WAAW,EACrB,GAAG,EACH,MAAM,EACN,WAAW,CACZ,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM;gBACN,GAAG;gBACH,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU;oBACzB,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,4BAA4B;iBACrC;gBACD,WAAW;gBACX,IAAI;aACL,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;KAAA;IAED,4GAA4G;IACtG,oBAAoB;qEAAI,EAC5B,MAAM,EACN,GAAG,EACH,IAAI,GACmC;;YACvC,MAAM,OAAO,GAAQ,EAAE,CAAC;YACxB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,OAAO,GAAG,IAAI,CAAC;YAEnB,OAAO,OAAO,EAAE,CAAC;gBACf,MAAM,WAAW,GAAG;oBAClB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;oBACxB,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC;iBAC3B,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAuB;oBAC5D,MAAM;oBACN,GAAG;oBACH,WAAW;oBACX,IAAI;iBACL,CAAC,CAAC;gBAEH,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,OAAO,GAAG,MAAA,QAAQ,CAAC,OAAO,mCAAI,KAAK,CAAC;gBACpC,UAAU,IAAI,SAAS,CAAC;YAC1B,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;CACF;AAzED,wCAyEC"}
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
export declare function createOAuthHeader(accountId: string, consumerKey: string, consumerSecret: string, tokenId: string, tokenSecret: string, requestUrl: string, httpMethod: string, queryParams?: Record<string, string | number | boolean>): string;
|
|
2
|
+
//# sourceMappingURL=oauth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/oauth.ts"],"names":[],"mappings":"AAqFA,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACtD,MAAM,CA2BR"}
|
package/src/lib/common/oauth.js
CHANGED
|
@@ -4,10 +4,14 @@ exports.createOAuthHeader = createOAuthHeader;
|
|
|
4
4
|
const crypto_1 = require("crypto");
|
|
5
5
|
const SIGN_METHOD = 'HMAC-SHA256';
|
|
6
6
|
const OAUTH_VERSION = '1.0';
|
|
7
|
+
// OAuth 1.0 (RFC 5849 §3.6) requires RFC 3986 percent-encoding, which encodes
|
|
8
|
+
// '!', '*', "'", '(', ')' — characters that encodeURIComponent leaves unencoded.
|
|
9
|
+
function oauthEncode(str) {
|
|
10
|
+
return encodeURIComponent(str).replace(/[!'()*]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
|
|
11
|
+
}
|
|
7
12
|
function generateNonce() {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return Array.from({ length }, () => possible[Math.floor(Math.random() * possible.length)]).join('');
|
|
13
|
+
// Use CSPRNG instead of Math.random() for unpredictable nonces.
|
|
14
|
+
return (0, crypto_1.randomBytes)(16).toString('hex');
|
|
11
15
|
}
|
|
12
16
|
function generateSignature(requestUrl, httpMethod, oauthNonce, timestamp, consumerKey, consumerSecret, tokenId, tokenSecret, queryParams) {
|
|
13
17
|
// Parse URL to get base URL and existing query params
|
|
@@ -32,23 +36,25 @@ function generateSignature(requestUrl, httpMethod, oauthNonce, timestamp, consum
|
|
|
32
36
|
allParams[key] = String(value);
|
|
33
37
|
});
|
|
34
38
|
}
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
+
// RFC 5849 §3.4.1.3: encode keys/values first, then sort the encoded pairs.
|
|
40
|
+
// Sorting on raw strings would differ from sorting on encoded strings when
|
|
41
|
+
// param names contain characters whose encoded form changes byte order (e.g. '{' → '%7B').
|
|
42
|
+
const encodedPairs = Object.entries(allParams).map(([key, value]) => [oauthEncode(key), oauthEncode(value)]);
|
|
43
|
+
encodedPairs.sort(([ka, va], [kb, vb]) => ka < kb ? -1 : ka > kb ? 1 : va < vb ? -1 : va > vb ? 1 : 0);
|
|
44
|
+
const paramString = encodedPairs.map(([k, v]) => `${k}=${v}`).join('&');
|
|
39
45
|
const signatureBaseString = [
|
|
40
46
|
httpMethod.toUpperCase(),
|
|
41
|
-
|
|
42
|
-
|
|
47
|
+
oauthEncode(baseUrl),
|
|
48
|
+
oauthEncode(paramString),
|
|
43
49
|
].join('&');
|
|
44
50
|
const signingKey = [
|
|
45
|
-
|
|
46
|
-
|
|
51
|
+
oauthEncode(consumerSecret),
|
|
52
|
+
oauthEncode(tokenSecret),
|
|
47
53
|
].join('&');
|
|
48
54
|
const hmac = (0, crypto_1.createHmac)('sha256', signingKey);
|
|
49
55
|
hmac.update(signatureBaseString);
|
|
50
56
|
const signature = hmac.digest('base64');
|
|
51
|
-
return
|
|
57
|
+
return oauthEncode(signature);
|
|
52
58
|
}
|
|
53
59
|
function createOAuthHeader(accountId, consumerKey, consumerSecret, tokenId, tokenSecret, requestUrl, httpMethod, queryParams) {
|
|
54
60
|
const oauthNonce = generateNonce();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../../src/lib/common/oauth.ts"],"names":[],"mappings":"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"}
|