@wirecat/bitrix24-cli 0.4.0 → 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/CHANGELOG.md +78 -0
- package/README.md +84 -9
- package/dist/api-keys.d.ts +18 -13
- package/dist/api-keys.d.ts.map +1 -1
- package/dist/api-keys.js +79 -22
- package/dist/api-keys.js.map +1 -1
- package/dist/bin/b24.js +2 -2
- package/dist/bitrix/errors.js +1 -1
- package/dist/bitrix/errors.js.map +1 -1
- package/dist/bitrix/transport.d.ts +1 -1
- package/dist/bitrix/transport.d.ts.map +1 -1
- package/dist/bitrix/transport.js +20 -6
- package/dist/bitrix/transport.js.map +1 -1
- package/dist/body.d.ts +14 -0
- package/dist/body.d.ts.map +1 -0
- package/dist/body.js +44 -0
- package/dist/body.js.map +1 -0
- package/dist/bundle/{chunk-JAS3OZSP.js → all-profiles-CANIDIDS.js} +12 -7
- package/dist/bundle/{anthropic-QCYLKSJJ.js → anthropic-JUJB4DCF.js} +5 -5
- package/dist/bundle/{app-server-FSLZ2Y6N.js → app-server-3V5Z4PTK.js} +68 -54
- package/dist/bundle/b24.js +18 -12
- package/dist/bundle/{bun-UYRQXF33.js → bun-LKMV5TY7.js} +2 -2
- package/dist/bundle/{bun-sqlite-GXME7EMT.js → bun-sqlite-S56EF74S.js} +3 -3
- package/dist/bundle/{chunk-D2IRPC5I.js → chunk-2I4KWS3H.js} +6 -6
- package/dist/bundle/chunk-36PO5NWY.js +147 -0
- package/dist/bundle/{chunk-COOOXDKZ.js → chunk-42F7Q7V6.js} +3 -3
- package/dist/bundle/{chunk-POUSZWMP.js → chunk-4D3K6GZW.js} +18 -4
- package/dist/bundle/chunk-5D4MJQ6X.js +22 -0
- package/dist/bundle/chunk-5JOPERVF.js +84 -0
- package/dist/bundle/chunk-6A4UPWDC.js +15 -0
- package/dist/bundle/{chunk-O7FVOICH.js → chunk-6MGWIZG4.js} +1 -1
- package/dist/bundle/{chunk-B252WFK7.js → chunk-6YJTNZ7U.js} +13 -13
- package/dist/bundle/{chunk-2D5W4LWL.js → chunk-7FBFJ6B4.js} +4 -2
- package/dist/bundle/chunk-7VCMOTQP.js +55 -0
- package/dist/bundle/{chunk-6BLVBGRK.js → chunk-A5IMMGYU.js} +36 -34
- package/dist/bundle/{chunk-66QLBRIT.js → chunk-ASEHTBNK.js} +1 -1
- package/dist/bundle/{chunk-MY6FAZRA.js → chunk-B6LPJYPQ.js} +2 -2
- package/dist/bundle/{chunk-EQLWU6ZB.js → chunk-BHEE2K6C.js} +7 -7
- package/dist/bundle/chunk-BYZQBE63.js +971 -0
- package/dist/bundle/{chunk-J7OMY6EO.js → chunk-COKGNTDQ.js} +1477 -723
- package/dist/bundle/{chunk-QVZSLBR6.js → chunk-DVFYRQGE.js} +1 -1
- package/dist/bundle/{chunk-Q7Z5IMVY.js → chunk-DVSIBZ3G.js} +1 -1
- package/dist/bundle/chunk-EJEIXC6Y.js +273 -0
- package/dist/bundle/chunk-EYTGCM44.js +130 -0
- package/dist/bundle/{chunk-SBW2Y7AZ.js → chunk-EYYOKT23.js} +26 -26
- package/dist/bundle/{chunk-Y5PPMGCS.js → chunk-FCWPIWSR.js} +2 -2
- package/dist/bundle/{chunk-AOUNT22U.js → chunk-FSWRMQWX.js} +2 -2
- package/dist/bundle/{chunk-ADLS6FVG.js → chunk-FXBHOCJK.js} +1 -1
- package/dist/bundle/chunk-G5MW6RCM.js +723 -0
- package/dist/bundle/{chunk-4OVK5XW2.js → chunk-GLTKRLFT.js} +8 -8
- package/dist/bundle/chunk-GUUZQ7NE.js +581 -0
- package/dist/bundle/{chunk-XOPMSWFC.js → chunk-H6RIPOOI.js} +36 -3
- package/dist/bundle/{chunk-GTMCLOYY.js → chunk-HGFNC4CR.js} +1447 -430
- package/dist/bundle/{chunk-IF27EQN6.js → chunk-IERYD2N2.js} +6 -6
- package/dist/bundle/{chunk-Q4ILKTV4.js → chunk-IGCLMEMB.js} +3 -3
- package/dist/bundle/{chunk-2IZ6GGU2.js → chunk-J7WCSZ2Q.js} +410 -918
- package/dist/bundle/{chunk-CR3TLGM4.js → chunk-JZYHQ4HB.js} +3 -3
- package/dist/bundle/{chunk-XR5SUCAC.js → chunk-K4QM3X5F.js} +4 -4
- package/dist/bundle/{chunk-OWILUBCI.js → chunk-KFSMY7SZ.js} +2 -2
- package/dist/bundle/{chunk-AMVRNYD6.js → chunk-KPEDH5T4.js} +1 -1
- package/dist/bundle/{chunk-NEK7LKC6.js → chunk-KUY7LII2.js} +4 -4
- package/dist/bundle/{chunk-NDSOBIR3.js → chunk-LFXDHLFR.js} +3 -3
- package/dist/bundle/{chunk-ZU4HXKEW.js → chunk-LGLT4JB6.js} +3 -3
- package/dist/bundle/{chunk-EIGPMMGC.js → chunk-LM4OOBAW.js} +3 -3
- package/dist/bundle/chunk-M74BSKMA.js +234 -0
- package/dist/bundle/{chunk-MPI2FDJ4.js → chunk-MMMT6ORT.js} +11 -11
- package/dist/bundle/{chunk-F5NH3UJQ.js → chunk-NGYD6QTE.js} +2 -2
- package/dist/bundle/{chunk-6ERX33NC.js → chunk-NO6QOPVT.js} +10 -19
- package/dist/bundle/chunk-O6XC7DZI.js +804 -0
- package/dist/bundle/chunk-OE3NFB53.js +64 -0
- package/dist/bundle/{chunk-VTIUWHZ3.js → chunk-OUMFNB34.js} +13 -149
- package/dist/bundle/{chunk-VMQL4GNH.js → chunk-P2RQTNVJ.js} +806 -850
- package/dist/bundle/{chunk-XKQZLR2X.js → chunk-PBIBGIZ7.js} +1 -1
- package/dist/bundle/{chunk-YFZXI3NN.js → chunk-Q6VQHTRW.js} +2 -2
- package/dist/bundle/{chunk-OKDC6CLH.js → chunk-QHBCNVUG.js} +5 -5
- package/dist/bundle/{chunk-WJRBX5QB.js → chunk-QNOXAQ6Y.js} +4 -4
- package/dist/bundle/{chunk-GTFRSYYJ.js → chunk-R5F2O5GX.js} +7 -269
- package/dist/bundle/{chunk-OCRCVLZQ.js → chunk-R5PBSKJL.js} +1 -1
- package/dist/bundle/{chunk-JB7OXYAU.js → chunk-RS2BARUU.js} +4 -4
- package/dist/bundle/chunk-TG3DSPT5.js +14 -0
- package/dist/bundle/{chunk-UH56WLDS.js → chunk-U22JMKUO.js} +6 -125
- package/dist/bundle/chunk-U66Q5TVK.js +106 -0
- package/dist/bundle/{chunk-NWKXMMON.js → chunk-UCHMQWON.js} +136 -33
- package/dist/bundle/{chunk-DQIQIZQS.js → chunk-VMJS7FJZ.js} +451 -433
- package/dist/bundle/{chunk-IWEWDVZ6.js → chunk-VMVAQHDC.js} +77 -615
- package/dist/bundle/{chunk-M5XMAUGZ.js → chunk-WWMCJFMT.js} +2 -2
- package/dist/bundle/{chunk-OYLJHX74.js → chunk-XTA5TN3H.js} +1 -1
- package/dist/bundle/{chunk-ELBOQHJA.js → chunk-XUHHBEA7.js} +652 -131
- package/dist/bundle/{chunk-BHZ5VDDY.js → chunk-YDZHO4LT.js} +13 -13
- package/dist/bundle/{chunk-NKLLI4B2.js → chunk-ZKINZFIT.js} +6 -6
- package/dist/bundle/{chunk-GTDOUP6L.js → chunk-ZSQXSIFQ.js} +85 -38
- package/dist/bundle/{chunk-LAYH344Y.js → chunk-ZZEHDIEG.js} +58 -54
- package/dist/bundle/command-contract-OQV6H7SR.js +36 -0
- package/dist/bundle/{decode-IF2F2SFC.js → decode-QSTBX4MG.js} +3 -3
- package/dist/bundle/{echarts-WDDVEJO2.js → echarts-JZELFH2N.js} +2 -2
- package/dist/bundle/{embed-VDUGYEAR.js → embed-4RIW2LVH.js} +4 -4
- package/dist/bundle/{embedder-DUN62H3Z.js → embedder-SW7DTWSL.js} +7 -7
- package/dist/bundle/{first-run-NDGYBQEN.js → first-run-7AISOSOM.js} +8 -8
- package/dist/bundle/first-screen-NMHNFZ2B.js +34 -0
- package/dist/bundle/{instructions-JIIKWS7X.js → instructions-BZE5YUGG.js} +1 -1
- package/dist/bundle/{mcp-33JX6KP4.js → mcp-SDWHDJTY.js} +2 -2
- package/dist/bundle/{node-P4E63KXA.js → node-KM3CUABH.js} +9 -9
- package/dist/bundle/{node-K57WT42O.js → node-LTKZIO4U.js} +2 -2
- package/dist/bundle/{node-sqlite-KS6ORRIG.js → node-sqlite-HQ5PN2RH.js} +4 -4
- package/dist/bundle/{oauth-SLSANN37.js → oauth-UH6FOZQL.js} +5 -5
- package/dist/bundle/{open-WJPHADEX.js → open-TSUP3XGL.js} +3 -3
- package/dist/bundle/{openai-HXB3GTOD.js → openai-GVEE52E3.js} +14 -14
- package/dist/bundle/{process-P73TFAXT.js → process-AGXY76ZE.js} +1 -1
- package/dist/bundle/{program-7BMG5NIN.js → program-BI4A4HFJ.js} +1045 -1048
- package/dist/bundle/{prompt-WDPV37R4.js → prompt-NRSUY7FA.js} +3 -3
- package/dist/bundle/{recognize-CXIFL6IV.js → recognize-NPDPQ6PJ.js} +2 -2
- package/dist/bundle/{remote-Q4VJ4OQW.js → remote-HFASMVLB.js} +5 -5
- package/dist/bundle/{rerank-SUFYK63I.js → rerank-TL6Z6F7K.js} +5 -5
- package/dist/bundle/{chunk-XG6QKS7L.js → serve-VB4DHDZQ.js} +8 -6
- package/dist/bundle/server-T5EDRPJI.js +68 -0
- package/dist/bundle/{chunk-K7XWCZF6.js → server-Z6MW6C37.js} +50 -14
- package/dist/bundle/source-4IGO5J7E.js +237 -0
- package/dist/bundle/sqlite-runtime-YS4POY3W.js +17 -0
- package/dist/bundle/{state-EZCCXQV7.js → state-ISZVVZGR.js} +4 -4
- package/dist/bundle/store-IZJBAKJV.js +58 -0
- package/dist/bundle/{store-MZ7JBYR6.js → store-L76MSQC3.js} +17 -12
- package/dist/bundle/store-PBTIB7BD.js +207 -0
- package/dist/bundle/store-maintenance-command-YFKII7TF.js +58 -0
- package/dist/bundle/writer-3O5EYMFE.js +214 -0
- package/dist/commands/api.d.ts.map +1 -1
- package/dist/commands/api.js +34 -33
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/crm-shared.d.ts +4 -0
- package/dist/commands/crm-shared.d.ts.map +1 -0
- package/dist/commands/crm-shared.js +94 -0
- package/dist/commands/crm-shared.js.map +1 -0
- package/dist/commands/crm-writes.d.ts +0 -1
- package/dist/commands/crm-writes.d.ts.map +1 -1
- package/dist/commands/crm-writes.js +31 -92
- package/dist/commands/crm-writes.js.map +1 -1
- package/dist/commands/crm.d.ts.map +1 -1
- package/dist/commands/crm.js +1 -45
- package/dist/commands/crm.js.map +1 -1
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +1 -0
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/write.d.ts +1 -6
- package/dist/commands/write.d.ts.map +1 -1
- package/dist/commands/write.js +7 -16
- package/dist/commands/write.js.map +1 -1
- package/dist/config.d.ts +0 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -9
- package/dist/config.js.map +1 -1
- package/dist/crm/capabilities.d.ts +7 -0
- package/dist/crm/capabilities.d.ts.map +1 -0
- package/dist/crm/capabilities.js +7 -0
- package/dist/crm/capabilities.js.map +1 -0
- package/dist/crm/conditions.d.ts +1 -1
- package/dist/crm/conditions.d.ts.map +1 -1
- package/dist/crm/conditions.js +3 -5
- package/dist/crm/conditions.js.map +1 -1
- package/dist/crm/custom-query.d.ts +1 -1
- package/dist/crm/custom-query.d.ts.map +1 -1
- package/dist/crm/custom-query.js +2 -2
- package/dist/crm/custom-query.js.map +1 -1
- package/dist/crm/deal.d.ts +4 -28
- package/dist/crm/deal.d.ts.map +1 -1
- package/dist/crm/deal.js +15 -48
- package/dist/crm/deal.js.map +1 -1
- package/dist/crm/fields.d.ts +2 -26
- package/dist/crm/fields.d.ts.map +1 -1
- package/dist/crm/fields.js +2 -67
- package/dist/crm/fields.js.map +1 -1
- package/dist/crm/items.d.ts.map +1 -1
- package/dist/crm/items.js +6 -5
- package/dist/crm/items.js.map +1 -1
- package/dist/crm/lead.d.ts +5 -37
- package/dist/crm/lead.d.ts.map +1 -1
- package/dist/crm/lead.js +15 -61
- package/dist/crm/lead.js.map +1 -1
- package/dist/crm/pipelines.d.ts +5 -0
- package/dist/crm/pipelines.d.ts.map +1 -0
- package/dist/crm/pipelines.js +54 -0
- package/dist/crm/pipelines.js.map +1 -0
- package/dist/crm/product.d.ts.map +1 -1
- package/dist/crm/product.js +2 -2
- package/dist/crm/product.js.map +1 -1
- package/dist/crm/rest3-fields.d.ts +3 -0
- package/dist/crm/rest3-fields.d.ts.map +1 -0
- package/dist/crm/rest3-fields.js +38 -0
- package/dist/crm/rest3-fields.js.map +1 -0
- package/dist/crm/source.d.ts +15 -0
- package/dist/crm/source.d.ts.map +1 -0
- package/dist/crm/source.js +122 -0
- package/dist/crm/source.js.map +1 -0
- package/dist/crm/user.d.ts.map +1 -1
- package/dist/crm/user.js +2 -2
- package/dist/crm/user.js.map +1 -1
- package/dist/crm/values.d.ts +19 -4
- package/dist/crm/values.d.ts.map +1 -1
- package/dist/crm/values.js +28 -2
- package/dist/crm/values.js.map +1 -1
- package/dist/crm/writer.d.ts +9 -0
- package/dist/crm/writer.d.ts.map +1 -0
- package/dist/crm/writer.js +119 -0
- package/dist/crm/writer.js.map +1 -0
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +51 -6
- package/dist/program.js.map +1 -1
- package/dist/store.d.ts +15 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +33 -0
- package/dist/store.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -6
- package/skills/bitrix24-cli/SKILL.md +16 -15
- package/dist/bundle/all-profiles-MBQZCOVK.js +0 -24
- package/dist/bundle/chunk-UCLWWSQK.js +0 -48
- package/dist/bundle/command-contract-UON4EIC4.js +0 -30
- package/dist/bundle/first-screen-QAVKP5RF.js +0 -28
- package/dist/bundle/mcp-57EQ6QJO.js +0 -171
- package/dist/bundle/mcp-PFJER2DE.js +0 -87
- package/dist/bundle/serve-B7PGFOC2.js +0 -19
- package/dist/bundle/server-4DBNJWW6.js +0 -58
- package/dist/bundle/server-OKE7SXJ2.js +0 -45
- package/dist/bundle/store-maintenance-command-T5QZMENJ.js +0 -47
- package/dist/commands/doctor.d.ts +0 -77
- package/dist/commands/doctor.d.ts.map +0 -1
- package/dist/commands/doctor.js +0 -74
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/fields.d.ts +0 -3
- package/dist/commands/fields.d.ts.map +0 -1
- package/dist/commands/fields.js +0 -45
- package/dist/commands/fields.js.map +0 -1
- package/dist/commands/mcp.d.ts +0 -3
- package/dist/commands/mcp.d.ts.map +0 -1
- package/dist/commands/mcp.js +0 -97
- package/dist/commands/mcp.js.map +0 -1
- package/dist/crm/pipeline.d.ts +0 -17
- package/dist/crm/pipeline.d.ts.map +0 -1
- package/dist/crm/pipeline.js +0 -42
- package/dist/crm/pipeline.js.map +0 -1
- package/dist/crm/stage.d.ts +0 -20
- package/dist/crm/stage.d.ts.map +0 -1
- package/dist/crm/stage.js +0 -65
- package/dist/crm/stage.js.map +0 -1
- package/dist/mcp.d.ts +0 -29
- package/dist/mcp.d.ts.map +0 -1
- package/dist/mcp.js +0 -102
- package/dist/mcp.js.map +0 -1
- /package/dist/bundle/{chunk-NDTJE6JQ.js → chunk-ZQ3GWKDQ.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/commands/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EACL,aAAa,EACb,MAAM,EACN,SAAS,EACT,cAAc,EACd,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAc,QAAQ,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAGlH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/commands/write.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import { type Configuration } from "@wirecat/cli-core/cli";
|
|
2
|
-
/**
|
|
3
|
-
* Assigning a record to another employee tells that employee in Bitrix24 by itself, so it is its own key, denied
|
|
4
|
-
* until the owner allows it (WC-PERM-22). Assigning to the webhook's own user tells nobody.
|
|
5
|
-
*/
|
|
6
|
-
export declare const ASSIGN_KEY = "crm.assign-others";
|
|
7
2
|
export declare const permissions: import("@wirecat/cli-core/cli").CommandPermissions;
|
|
8
3
|
export declare const configuration: Configuration;
|
|
9
4
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAmD,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAmD,MAAM,uBAAuB,CAAA;AAW3G,eAAO,MAAM,WAAW,oDAKtB,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,aAAsD,CAAA"}
|
package/dist/config.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import { commandPathKey, commandPermissions, settingsFor } from "@wirecat/cli-core/cli";
|
|
2
|
-
import {
|
|
2
|
+
import { CRM_WRITE_DEFAULTS, CRM_WRITE_KEYS, crmAlsoChecks } from "@wirecat/cli-core/crm";
|
|
3
|
+
import { API_DEFAULTS, API_KEYS, apiKeysOf, crmApiKeys } from "./api-keys.js";
|
|
3
4
|
import { IDENTITY } from "./identity.js";
|
|
4
|
-
/**
|
|
5
|
-
* Assigning a record to another employee tells that employee in Bitrix24 by itself, so it is its own key, denied
|
|
6
|
-
* until the owner allows it (WC-PERM-22). Assigning to the webhook's own user tells nobody.
|
|
7
|
-
*/
|
|
8
|
-
export const ASSIGN_KEY = "crm.assign-others";
|
|
9
5
|
/** `api list` and `show` never reach the portal; `api call` names its method only in its arguments and checks it itself. */
|
|
10
6
|
const keyOf = (path) => path[0] === "api" && ["call", "list", "show"].includes(path[1] ?? "") ? null : commandPathKey(path);
|
|
7
|
+
const crmChecks = crmAlsoChecks(crmApiKeys);
|
|
11
8
|
export const permissions = commandPermissions({
|
|
12
9
|
keyOf,
|
|
13
|
-
alsoChecks: apiKeysOf,
|
|
14
|
-
extra: [
|
|
15
|
-
defaults: {
|
|
10
|
+
alsoChecks: (path) => [...crmChecks(path), ...apiKeysOf(path)],
|
|
11
|
+
extra: [...CRM_WRITE_KEYS, ...API_KEYS],
|
|
12
|
+
defaults: { ...CRM_WRITE_DEFAULTS, ...API_DEFAULTS },
|
|
16
13
|
});
|
|
17
14
|
export const configuration = settingsFor(IDENTITY, { permissions });
|
|
18
15
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC3G,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC3G,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,4HAA4H;AAC5H,MAAM,KAAK,GAAG,CAAC,IAAuB,EAAE,EAAE,CACxC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;AAErG,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC;IAC5C,KAAK;IACL,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9D,KAAK,EAAE,CAAC,GAAG,cAAc,EAAE,GAAG,QAAQ,CAAC;IACvC,QAAQ,EAAE,EAAE,GAAG,kBAAkB,EAAE,GAAG,YAAY,EAAE;CACrD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAAkB,WAAW,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type CrmWriteCapabilities } from "@wirecat/cli-core/crm";
|
|
2
|
+
/**
|
|
3
|
+
* Not idempotent: on a live portal (2026-11-07) a create repeated with the same `Idempotency-Key` made a second lead,
|
|
4
|
+
* although the REST 3.0 documentation says the repeat is answered from its record.
|
|
5
|
+
*/
|
|
6
|
+
export declare const BITRIX_WRITES: CrmWriteCapabilities;
|
|
7
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/crm/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5E;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,oBAAuF,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CRM_VERBS } from "@wirecat/cli-core/crm";
|
|
2
|
+
/**
|
|
3
|
+
* Not idempotent: on a live portal (2026-11-07) a create repeated with the same `Idempotency-Key` made a second lead,
|
|
4
|
+
* although the REST 3.0 documentation says the repeat is answered from its record.
|
|
5
|
+
*/
|
|
6
|
+
export const BITRIX_WRITES = { kinds: ["deal", "lead"], verbs: CRM_VERBS, idempotent: false };
|
|
7
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/crm/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6B,MAAM,uBAAuB,CAAA;AAE5E;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAyB,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA"}
|
package/dist/crm/conditions.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export interface Condition {
|
|
|
9
9
|
/** How one query field reaches the portal: its Bitrix24 name, and how its values read. */
|
|
10
10
|
export interface FieldMap {
|
|
11
11
|
field: string;
|
|
12
|
-
kind: "id" | "number" | "time" | "text" | "
|
|
12
|
+
kind: "id" | "number" | "time" | "text" | "word";
|
|
13
13
|
}
|
|
14
14
|
/** The query's terms as conditions, AND-ed: `nativeTerms` has already refused anything the portal cannot ask. */
|
|
15
15
|
export declare const conditionsOf: (terms: ReadonlyMap<string, Predicate>, fields: Readonly<Record<string, FieldMap>>) => Condition[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../src/crm/conditions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAIxD,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAA;AAE7D,uGAAuG;AACvG,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,QAAQ,CAAA;IACZ,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB;AAED,0FAA0F;AAC1F,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../src/crm/conditions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAIxD,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAA;AAE7D,uGAAuG;AACvG,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,QAAQ,CAAA;IACZ,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB;AAED,0FAA0F;AAC1F,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CACjD;AAiCD,iHAAiH;AACjH,eAAO,MAAM,YAAY,UAAW,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,gBAiB1G,CAAA;AAEJ,uFAAuF;AACvF,eAAO,MAAM,UAAU,eAAgB,SAAS,SAAS,EAAE,YAAgD,CAAA;AAE3G;;;GAGG;AACH,eAAO,MAAM,WAAW,eAAgB,SAAS,SAAS,EAAE,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAI5F,CAAA;AAEJ,2GAA2G;AAC3G,eAAO,MAAM,WAAW,eACV,SAAS,SAAS,EAAE,UACzB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,4BAWnD,CAAA"}
|
package/dist/crm/conditions.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CliError } from "@wirecat/cli-base";
|
|
2
2
|
import { timeBounds } from "@wirecat/cli-core/cli";
|
|
3
|
-
import {
|
|
3
|
+
import { portalTime } from "./values.js";
|
|
4
4
|
const bare = (value) => value.replace(/^\*+|\*+$/g, "");
|
|
5
5
|
const valueFor = (kind, raw, name) => {
|
|
6
6
|
if (kind === "id" || kind === "number") {
|
|
@@ -11,8 +11,6 @@ const valueFor = (kind, raw, name) => {
|
|
|
11
11
|
});
|
|
12
12
|
return found;
|
|
13
13
|
}
|
|
14
|
-
if (kind === "outcome")
|
|
15
|
-
return semanticsOf(raw.toLowerCase());
|
|
16
14
|
return raw;
|
|
17
15
|
};
|
|
18
16
|
const range = (node, map, name) => {
|
|
@@ -43,8 +41,8 @@ export const conditionsOf = (terms, fields) => [...terms].flatMap(([name, node])
|
|
|
43
41
|
if (map.kind === "time") {
|
|
44
42
|
const { since, until } = timeBounds(node);
|
|
45
43
|
return [
|
|
46
|
-
...(since === undefined ? [] : [{ field: map.field, op: ">=", value:
|
|
47
|
-
...(until === undefined ? [] : [{ field: map.field, op: "<=", value:
|
|
44
|
+
...(since === undefined ? [] : [{ field: map.field, op: ">=", value: portalTime(since) }]),
|
|
45
|
+
...(until === undefined ? [] : [{ field: map.field, op: "<=", value: portalTime(until) }]),
|
|
48
46
|
];
|
|
49
47
|
}
|
|
50
48
|
if (node.operator === "range")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../src/crm/conditions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../src/crm/conditions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAiBxC,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;AAE/D,MAAM,QAAQ,GAAG,CAAC,IAAsB,EAAE,GAAW,EAAE,IAAY,EAAmB,EAAE;IACtF,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3E,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,GAAG,IAAI,UAAU,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,SAAS,GAAG,EAAE,EAAE;gBAC1G,MAAM,EAAE,iBAAiB;aAC1B,CAAC,CAAA;QACJ,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,IAAe,EAAE,GAAa,EAAE,IAAY,EAAe,EAAE;IAC1E,MAAM,GAAG,GAAgB,EAAE,CAAA;IAC3B,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG;QACpB,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,EAAE,EAAE,IAAI,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YAC/C,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;SAC5C,CAAC,CAAA;IACJ,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG;QAChD,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,EAAE,EAAE,IAAI,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YAC/C,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;SAC5C,CAAC,CAAA;IACJ,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,iHAAiH;AACjH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAqC,EAAE,MAA0C,EAAE,EAAE,CAChH,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAe,EAAE;IAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,+BAA+B,IAAI,EAAE,EAAE;YAC5E,MAAM,EAAE,yBAAyB;SAClC,CAAC,CAAA;IACJ,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC3F,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QACzC,OAAO;YACL,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnG,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACpG,CAAA;IACH,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAC5D,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;AACrF,CAAC,CAAC,CAAA;AAEJ,uFAAuF;AACvF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAgC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;AAE3G;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAgC,EAAuC,EAAE,CACnG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACtC,IAAI,EAAE,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IAC1E,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;AAC3B,CAAC,CAAC,CAAA;AAEJ,2GAA2G;AAC3G,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,UAAgC,EAChC,KAAK,GAAgD,EAAE,EACvD,EAAE;IACF,MAAM,MAAM,GAA4B,EAAE,CAAA;IAC1C,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,UAAU,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC7D,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;;YAC5G,MAAM,CAAC,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAA;IAC/E,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Predicate, type QueryRegistry } from "@wirecat/cli-base/query";
|
|
2
2
|
import type { Condition } from "./conditions.js";
|
|
3
|
-
import {
|
|
3
|
+
import type { Field } from "./fields.js";
|
|
4
4
|
/** The field names a query uses that the list's own fields do not have: the portal's custom fields, if any. */
|
|
5
5
|
export declare const customNames: (text: string, registry: QueryRegistry, command: string, defaultField?: string) => string[];
|
|
6
6
|
/** The custom fields a query names, each as typed, refused unless the portal can filter a list by it. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-query.d.ts","sourceRoot":"","sources":["../../src/crm/custom-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,SAAS,EAAe,KAAK,aAAa,EAAa,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"custom-query.d.ts","sourceRoot":"","sources":["../../src/crm/custom-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,SAAS,EAAe,KAAK,aAAa,EAAa,MAAM,yBAAyB,CAAA;AAGpH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC,+GAA+G;AAC/G,eAAO,MAAM,WAAW,SAChB,MAAM,YACF,aAAa,WACd,MAAM,4BAEd,MAAM,EAOR,CAAA;AAED,yGAAyG;AACzG,eAAO,MAAM,gBAAgB,WAAY,SAAS,KAAK,EAAE,SAAS,SAAS,MAAM,EAAE,KAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EASjG,CAAA;AAEJ,iHAAiH;AACjH,eAAO,MAAM,gBAAgB,aAAc,aAAa,UAAU,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAG,aAQ7F,CAAA;AAcF,qGAAqG;AACrG,eAAO,MAAM,gBAAgB,UAAW,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAG,SAAS,EAK1G,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,UAAW,MAAM,GAAG,SAAS,KAAG,MAAM,EAAE,GAAG,KAAK,GAAG,SAY1E,CAAA;AAED,mHAAmH;AACnH,eAAO,MAAM,aAAa,WAAY,SAAS,KAAK,EAAE,UAAU,MAAM,EAAE,GAAG,KAAK,GAAG,SAAS,KAAG,MAAM,EAOpG,CAAA"}
|
package/dist/crm/custom-query.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CliError } from "@wirecat/cli-base";
|
|
2
2
|
import { parseLucene, walkQuery } from "@wirecat/cli-base/query";
|
|
3
3
|
import { LIST_QUERY_GUIDE } from "@wirecat/cli-core/cli";
|
|
4
|
-
import {
|
|
4
|
+
import { fieldNamed, optionOf, unknownField } from "@wirecat/cli-core/crm";
|
|
5
5
|
/** The field names a query uses that the list's own fields do not have: the portal's custom fields, if any. */
|
|
6
6
|
export const customNames = (text, registry, command, defaultField = "none") => {
|
|
7
7
|
if (text.trim() === "")
|
|
@@ -14,7 +14,7 @@ export const customNames = (text, registry, command, defaultField = "none") => {
|
|
|
14
14
|
};
|
|
15
15
|
/** The custom fields a query names, each as typed, refused unless the portal can filter a list by it. */
|
|
16
16
|
export const filterableFields = (fields, names) => names.map((name) => {
|
|
17
|
-
const field =
|
|
17
|
+
const field = fieldNamed(fields, name);
|
|
18
18
|
if (!field.filterable)
|
|
19
19
|
throw new CliError("validation_error", `the portal cannot filter a list by ${field.label ?? field.code}`, {
|
|
20
20
|
reason: "field.not-filterable",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-query.js","sourceRoot":"","sources":["../../src/crm/custom-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAkC,WAAW,EAAsB,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"custom-query.js","sourceRoot":"","sources":["../../src/crm/custom-query.ts"],"names":[],"mappings":"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"}
|
package/dist/crm/deal.d.ts
CHANGED
|
@@ -1,31 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { FieldMap } from "./conditions.js";
|
|
1
|
+
import type { CrmItem } from "@wirecat/cli-core";
|
|
3
2
|
import type { ItemType } from "./items.js";
|
|
4
3
|
import { type Metadata, type Raw } from "./values.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
readonly pipeline_id: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
9
|
-
readonly stage_id: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
10
|
-
readonly outcome: v.PicklistSchema<readonly ["open", "won", "lost"], undefined>;
|
|
11
|
-
readonly amount: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
12
|
-
readonly currency: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
13
|
-
readonly assigned_to: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
14
|
-
readonly organization_id: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
15
|
-
readonly person_ids: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
16
|
-
readonly closes_on: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
17
|
-
readonly created_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
18
|
-
readonly updated_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
19
|
-
readonly url: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
20
|
-
readonly provider_metadata: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StrictObjectSchema<{
|
|
21
|
-
readonly label: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
22
|
-
readonly value: v.UnknownSchema;
|
|
23
|
-
readonly option_id: v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.ArraySchema<v.StringSchema<undefined>, undefined>], undefined>, undefined>;
|
|
24
|
-
}, undefined>, undefined>, undefined>;
|
|
25
|
-
}, undefined>;
|
|
26
|
-
export type Deal = v.InferOutput<typeof dealSchema>;
|
|
27
|
-
export declare const DEAL_FIELDS: Record<string, FieldMap>;
|
|
28
|
-
/** Bitrix24 ⇄ neutral for a deal. */
|
|
29
|
-
export declare const fromBitrixDeal: (raw: Raw, metadata?: Metadata) => Deal;
|
|
30
|
-
export declare const DEAL: ItemType<Deal>;
|
|
4
|
+
/** Bitrix24 ⇄ neutral for a deal: its pipeline is its category, `0` the default one. */
|
|
5
|
+
export declare const fromBitrixDeal: (raw: Raw, metadata?: Metadata) => CrmItem;
|
|
6
|
+
export declare const DEAL: ItemType<CrmItem>;
|
|
31
7
|
//# sourceMappingURL=deal.d.ts.map
|
package/dist/crm/deal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deal.d.ts","sourceRoot":"","sources":["../../src/crm/deal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"deal.d.ts","sourceRoot":"","sources":["../../src/crm/deal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAA4B,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAQ,MAAM,aAAa,CAAA;AAErF,wFAAwF;AACxF,eAAO,MAAM,cAAc,QAAS,GAAG,aAAa,QAAQ,KAAG,OAc7D,CAAA;AAEF,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,CAsBlC,CAAA"}
|
package/dist/crm/deal.js
CHANGED
|
@@ -1,51 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export const dealSchema = v.strictObject({
|
|
4
|
-
id: v.string(),
|
|
5
|
-
title: v.nullable(v.string()),
|
|
6
|
-
pipeline_id: v.nullable(v.string()),
|
|
7
|
-
stage_id: v.nullable(v.string()),
|
|
8
|
-
outcome: v.picklist(OUTCOMES),
|
|
9
|
-
amount: v.nullable(v.number()),
|
|
10
|
-
currency: v.nullable(v.string()),
|
|
11
|
-
assigned_to: v.nullable(v.string()),
|
|
12
|
-
organization_id: v.nullable(v.string()),
|
|
13
|
-
person_ids: v.array(v.string()),
|
|
14
|
-
closes_on: v.nullable(v.string()),
|
|
15
|
-
created_at: nullableTime,
|
|
16
|
-
updated_at: nullableTime,
|
|
17
|
-
url: v.nullable(v.string()),
|
|
18
|
-
provider_metadata: metadataSchema,
|
|
19
|
-
});
|
|
20
|
-
export const DEAL_FIELDS = {
|
|
21
|
-
title: { field: "title", kind: "word" },
|
|
22
|
-
pipeline_id: { field: "categoryId", kind: "id" },
|
|
23
|
-
stage_id: { field: "stageId", kind: "text" },
|
|
24
|
-
outcome: { field: "stageSemanticId", kind: "outcome" },
|
|
25
|
-
amount: { field: "opportunity", kind: "number" },
|
|
26
|
-
currency: { field: "currencyId", kind: "text" },
|
|
27
|
-
assigned_to: { field: "assignedById", kind: "id" },
|
|
28
|
-
organization_id: { field: "companyId", kind: "id" },
|
|
29
|
-
created_at: { field: "createdTime", kind: "time" },
|
|
30
|
-
updated_at: { field: "updatedTime", kind: "time" },
|
|
31
|
-
};
|
|
32
|
-
/** Bitrix24 ⇄ neutral for a deal. */
|
|
1
|
+
import { amountOf, epoch, id, ids, text } from "./values.js";
|
|
2
|
+
/** Bitrix24 ⇄ neutral for a deal: its pipeline is its category, `0` the default one. */
|
|
33
3
|
export const fromBitrixDeal = (raw, metadata) => ({
|
|
34
|
-
|
|
35
|
-
title: text(raw.title),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
closes_on: text(raw.closeTime)?.slice(0, 10) ?? null,
|
|
45
|
-
created_at: time(raw.createdTime),
|
|
46
|
-
updated_at: time(raw.updatedTime),
|
|
4
|
+
externalId: id(raw.id) ?? "",
|
|
5
|
+
title: text(raw.title) ?? "",
|
|
6
|
+
pipeline: text(raw.categoryId) ?? "0",
|
|
7
|
+
stage: text(raw.stageId) ?? "",
|
|
8
|
+
...amountOf(raw.opportunity, raw.currencyId),
|
|
9
|
+
closeDate: text(raw.closeTime)?.slice(0, 10) ?? null,
|
|
10
|
+
organization: id(raw.companyId),
|
|
11
|
+
people: ids(raw.contactsId).map((externalId) => ({ externalId, role: "contact" })),
|
|
12
|
+
createdAt: epoch(raw.createdTime),
|
|
13
|
+
updatedAt: epoch(raw.updatedTime),
|
|
47
14
|
url: text(raw.url),
|
|
48
|
-
|
|
15
|
+
assignee: id(raw.assignedById),
|
|
16
|
+
...(metadata ? { metadata } : {}),
|
|
49
17
|
});
|
|
50
18
|
export const DEAL = {
|
|
51
19
|
type: "deal",
|
|
@@ -56,16 +24,15 @@ export const DEAL = {
|
|
|
56
24
|
"title",
|
|
57
25
|
"categoryId",
|
|
58
26
|
"stageId",
|
|
59
|
-
"stageSemanticId",
|
|
60
27
|
"opportunity",
|
|
61
28
|
"currencyId",
|
|
62
|
-
"assignedById",
|
|
63
29
|
"companyId",
|
|
64
30
|
"contactsId",
|
|
65
31
|
"closeTime",
|
|
66
32
|
"createdTime",
|
|
67
33
|
"updatedTime",
|
|
68
34
|
"url",
|
|
35
|
+
"assignedById",
|
|
69
36
|
],
|
|
70
37
|
words: ["title"],
|
|
71
38
|
nameOf: (deal) => deal.title,
|
package/dist/crm/deal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deal.js","sourceRoot":"","sources":["../../src/crm/deal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deal.js","sourceRoot":"","sources":["../../src/crm/deal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAA2B,IAAI,EAAE,MAAM,aAAa,CAAA;AAErF,wFAAwF;AACxF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAE,QAAmB,EAAW,EAAE,CAAC,CAAC;IACzE,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;IAC5B,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;IAC5B,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG;IACrC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;IAC9B,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC;IAC5C,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI;IACpD,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;IAC/B,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,SAAkB,EAAE,CAAC,CAAC;IAC3F,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;IACjC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;IACjC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAClB,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC;IAC9B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CAClC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,IAAI,GAAsB;IACrC,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,CAAC;IACf,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE;QACN,IAAI;QACJ,OAAO;QACP,YAAY;QACZ,SAAS;QACT,aAAa;QACb,YAAY;QACZ,WAAW;QACX,YAAY;QACZ,WAAW;QACX,aAAa;QACb,aAAa;QACb,KAAK;QACL,cAAc;KACf;IACD,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK;IAC5B,GAAG,EAAE,cAAc;CACpB,CAAA"}
|
package/dist/crm/fields.d.ts
CHANGED
|
@@ -1,22 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import * as v from "valibot";
|
|
1
|
+
import type { CrmField } from "@wirecat/cli-core";
|
|
3
2
|
import type { BitrixTransport } from "../bitrix/transport.js";
|
|
4
3
|
import type { ItemType } from "./items.js";
|
|
5
4
|
import { type Metadata, type Raw } from "./values.js";
|
|
6
|
-
export declare const fieldSchema: v.StrictObjectSchema<{
|
|
7
|
-
readonly code: v.StringSchema<undefined>;
|
|
8
|
-
readonly label: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
9
|
-
readonly type: v.StringSchema<undefined>;
|
|
10
|
-
readonly multiple: v.BooleanSchema<undefined>;
|
|
11
|
-
readonly filterable: v.BooleanSchema<undefined>;
|
|
12
|
-
/** A list field's options; absent on any other field. */
|
|
13
|
-
readonly options: v.OptionalSchema<v.ArraySchema<v.StrictObjectSchema<{
|
|
14
|
-
readonly id: v.StringSchema<undefined>;
|
|
15
|
-
readonly label: v.StringSchema<undefined>;
|
|
16
|
-
}, undefined>, undefined>, undefined>;
|
|
17
|
-
}, undefined>;
|
|
18
5
|
/** One of the portal's own fields on deals, leads, contacts or companies. */
|
|
19
|
-
export type Field =
|
|
6
|
+
export type Field = CrmField;
|
|
20
7
|
/**
|
|
21
8
|
* The portal's custom fields of one type, in two calls that need only read rights: REST 3.0's `field.list` has the
|
|
22
9
|
* title and whether a list can filter by it, and REST 2's `userfield.list` the real type and a list field's options,
|
|
@@ -25,17 +12,6 @@ export type Field = v.InferOutput<typeof fieldSchema>;
|
|
|
25
12
|
export declare const loadFields: (portal: BitrixTransport, type: ItemType<unknown>["type"]) => Promise<Field[]>;
|
|
26
13
|
/** Custom values as `{ label, value }`, a list field's option ids turned into their labels. */
|
|
27
14
|
export declare const metadataOf: (custom: Record<string, unknown>, fields: readonly Field[]) => Metadata;
|
|
28
|
-
/** No field by that name: the fields whose code or label holds it, or is held in it, as candidates. */
|
|
29
|
-
export declare const unknownField: (fields: readonly Field[], name: string) => CliError;
|
|
30
|
-
/**
|
|
31
|
-
* A custom field by its code, or by its whole label; two fields with that label are refused with both, never
|
|
32
|
-
* guessed (as `resolveItem` refuses two records).
|
|
33
|
-
*/
|
|
34
|
-
export declare const findField: (fields: readonly Field[], name: string) => Field;
|
|
35
|
-
/** A list field's option by its id or its whole label. */
|
|
36
|
-
export declare const optionOf: (field: Field, value: string) => string;
|
|
37
|
-
/** `--field` as typed, split at the first `=`. */
|
|
38
|
-
export declare const fieldPairsOf: (typed: readonly string[]) => [string, string][];
|
|
39
15
|
/**
|
|
40
16
|
* The custom values to write, by code, as typed: a list field's options as their ids, numbers as `field.list` types
|
|
41
17
|
* them (`int`), and a multiple field's values as an array.
|
package/dist/crm/fields.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/crm/fields.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/crm/fields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAY,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAa,MAAM,aAAa,CAAA;AAE1E,6EAA6E;AAC7E,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAA;AAO5B;;;;GAIG;AACH,eAAO,MAAM,UAAU,WAAkB,eAAe,QAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAG,OAAO,CAAC,KAAK,EAAE,CA0B1G,CAAA;AAKD,+FAA+F;AAC/F,eAAO,MAAM,UAAU,WAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,SAAS,KAAK,EAAE,KAAG,QAetF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,WAAY,SAAS,KAAK,EAAE,SAAS,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAG,GAiB3F,CAAA"}
|
package/dist/crm/fields.js
CHANGED
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import { CliError } from "@wirecat/cli-base";
|
|
2
|
-
import
|
|
2
|
+
import { fieldNamed, optionOf } from "@wirecat/cli-core/crm";
|
|
3
3
|
import { isCustom, text, yes } from "./values.js";
|
|
4
|
-
export const fieldSchema = v.strictObject({
|
|
5
|
-
code: v.string(),
|
|
6
|
-
label: v.nullable(v.string()),
|
|
7
|
-
type: v.string(),
|
|
8
|
-
multiple: v.boolean(),
|
|
9
|
-
filterable: v.boolean(),
|
|
10
|
-
/** A list field's options; absent on any other field. */
|
|
11
|
-
options: v.optional(v.array(v.strictObject({ id: v.string(), label: v.string() }))),
|
|
12
|
-
});
|
|
13
4
|
const rows = (result) => {
|
|
14
5
|
const items = Array.isArray(result) ? result : result?.items;
|
|
15
6
|
return Array.isArray(items) ? items : [];
|
|
@@ -63,62 +54,6 @@ export const metadataOf = (custom, fields) => {
|
|
|
63
54
|
return [code, { label, value: optionLabel(field, value), option_id: String(value) }];
|
|
64
55
|
}));
|
|
65
56
|
};
|
|
66
|
-
/** Case, spaces and underscores aside: `lead_source` and `Lead source` are one name. */
|
|
67
|
-
const folded = (name) => name
|
|
68
|
-
.trim()
|
|
69
|
-
.toLocaleLowerCase()
|
|
70
|
-
.replace(/[\s_]+/g, " ");
|
|
71
|
-
const named = (field) => ({ code: field.code, label: field.label });
|
|
72
|
-
/** No field by that name: the fields whose code or label holds it, or is held in it, as candidates. */
|
|
73
|
-
export const unknownField = (fields, name) => {
|
|
74
|
-
const want = folded(name);
|
|
75
|
-
const close = fields.filter((field) => [field.code, field.label ?? ""].some((one) => {
|
|
76
|
-
const other = folded(one);
|
|
77
|
-
return other !== "" && (other.includes(want) || want.includes(other));
|
|
78
|
-
}));
|
|
79
|
-
return new CliError("validation_error", `no custom field is named ${name}${close.length ? "; close ones are in candidates" : ""} — \`fields list\` lists them`, { reason: "field.unknown", candidates: close.map(named) });
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* A custom field by its code, or by its whole label; two fields with that label are refused with both, never
|
|
83
|
-
* guessed (as `resolveItem` refuses two records).
|
|
84
|
-
*/
|
|
85
|
-
export const findField = (fields, name) => {
|
|
86
|
-
const want = folded(name);
|
|
87
|
-
const byCode = fields.find((field) => folded(field.code) === want);
|
|
88
|
-
if (byCode)
|
|
89
|
-
return byCode;
|
|
90
|
-
const labelled = fields.filter((field) => field.label !== null && folded(field.label) === want);
|
|
91
|
-
if (labelled.length === 1 && labelled[0])
|
|
92
|
-
return labelled[0];
|
|
93
|
-
if (labelled.length > 1)
|
|
94
|
-
throw new CliError("validation_error", `${labelled.length} custom fields are labelled ${name}; name one by its code`, {
|
|
95
|
-
reason: "field.ambiguous",
|
|
96
|
-
candidates: labelled.map(named),
|
|
97
|
-
});
|
|
98
|
-
throw unknownField(fields, name);
|
|
99
|
-
};
|
|
100
|
-
/** A list field's option by its id or its whole label. */
|
|
101
|
-
export const optionOf = (field, value) => {
|
|
102
|
-
if (!field.options)
|
|
103
|
-
return value;
|
|
104
|
-
const want = folded(value);
|
|
105
|
-
const found = field.options.find((option) => option.id === value.trim()) ??
|
|
106
|
-
field.options.find((option) => folded(option.label) === want);
|
|
107
|
-
if (!found)
|
|
108
|
-
throw new CliError("validation_error", `${field.label ?? field.code} has no option ${value}`, {
|
|
109
|
-
reason: "field.unknown-option",
|
|
110
|
-
field: field.code,
|
|
111
|
-
allowed: field.options,
|
|
112
|
-
});
|
|
113
|
-
return found.id;
|
|
114
|
-
};
|
|
115
|
-
/** `--field` as typed, split at the first `=`. */
|
|
116
|
-
export const fieldPairsOf = (typed) => typed.map((one) => {
|
|
117
|
-
const at = one.indexOf("=");
|
|
118
|
-
if (at <= 0 || one.slice(0, at).trim() === "")
|
|
119
|
-
throw new CliError("validation_error", `--field takes <key>=<value>; got ${one}`, { param: "--field" });
|
|
120
|
-
return [one.slice(0, at), one.slice(at + 1)];
|
|
121
|
-
});
|
|
122
57
|
/**
|
|
123
58
|
* The custom values to write, by code, as typed: a list field's options as their ids, numbers as `field.list` types
|
|
124
59
|
* them (`int`), and a multiple field's values as an array.
|
|
@@ -126,7 +61,7 @@ export const fieldPairsOf = (typed) => typed.map((one) => {
|
|
|
126
61
|
export const customValues = (fields, pairs) => {
|
|
127
62
|
const values = new Map();
|
|
128
63
|
for (const [name, value] of pairs) {
|
|
129
|
-
const field =
|
|
64
|
+
const field = fieldNamed(fields, name);
|
|
130
65
|
values.set(field, [...(values.get(field) ?? []), field.options ? Number(optionOf(field, value)) : value]);
|
|
131
66
|
}
|
|
132
67
|
return Object.fromEntries([...values].map(([field, all]) => {
|
package/dist/crm/fields.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/crm/fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/crm/fields.ts"],"names":[],"mappings":"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"}
|
package/dist/crm/items.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../src/crm/items.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../src/crm/items.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,KAAK,SAAS,EAAwC,MAAM,iBAAiB,CAAA;AACtF,OAAO,EAAE,KAAK,KAAK,EAA0B,MAAM,aAAa,CAAA;AAChE,OAAO,EAAgB,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,WAAW,CAAA;AAE7C,0GAA0G;AAC1G,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IACzB,uFAAuF;IACvF,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAA;IAClC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ,KAAK,CAAC,CAAA;CAC1C;AAaD,yFAAyF;AACzF,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,MAAM,EAAE,SAAS,KAAK,EAAE,CAAA;CACzB;AAED,eAAO,MAAM,SAAS,GAAU,CAAC,UACvB,eAAe,QACjB,QAAQ,CAAC,CAAC,CAAC,cACL,SAAS,SAAS,EAAE,UACxB,MAAM,WACN,MAAM;;;EA6Bf,CAAA;AAOD,6GAA6G;AAC7G,eAAO,MAAM,OAAO,GAAU,CAAC,UAAU,eAAe,QAAQ,QAAQ,CAAC,CAAC,CAAC,MAAM,MAAM,KAAG,OAAO,CAAC,CAAC,CAYlG,CAAA;AAcD;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAU,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,UAChD,eAAe,QACjB,QAAQ,CAAC,CAAC,CAAC,aACN,MAAM,KAChB,OAAO,CAAC,MAAM,CAuBhB,CAAA"}
|
package/dist/crm/items.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CliError, isCliError } from "@wirecat/cli-base";
|
|
2
|
+
import { foldName } from "@wirecat/cli-core";
|
|
2
3
|
import { needsRest2, rest2Filter, rest3Filter } from "./conditions.js";
|
|
3
4
|
import { loadFields, metadataOf } from "./fields.js";
|
|
4
5
|
import { customFields } from "./values.js";
|
|
@@ -56,18 +57,18 @@ export const getItem = async (portal, type, id) => {
|
|
|
56
57
|
return type.map(item);
|
|
57
58
|
return type.map(item, metadataOf(custom, await fieldsOrNone(portal, type.type)));
|
|
58
59
|
};
|
|
59
|
-
/**
|
|
60
|
+
/** A webhook without the rights to read field definitions still shows the record, with codes for labels. */
|
|
60
61
|
const fieldsOrNone = async (portal, type) => {
|
|
61
62
|
try {
|
|
62
63
|
return await loadFields(portal, type);
|
|
63
64
|
}
|
|
64
65
|
catch (error) {
|
|
65
|
-
if (isCliError(error) && error.code === "
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
if (isCliError(error) && error.code === "permission_error")
|
|
67
|
+
return [];
|
|
68
|
+
throw error;
|
|
68
69
|
}
|
|
69
70
|
};
|
|
70
|
-
const folded = (value) => value?.trim()
|
|
71
|
+
const folded = (value) => foldName(value?.trim() ?? "");
|
|
71
72
|
/**
|
|
72
73
|
* An id as it is, or a name matched whole against the portal's substring search; two matches are refused with both,
|
|
73
74
|
* never guessed (as cli-core's `pickPerson` refuses).
|
package/dist/crm/items.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"items.js","sourceRoot":"","sources":["../../src/crm/items.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"items.js","sourceRoot":"","sources":["../../src/crm/items.ts"],"names":[],"mappings":"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"}
|