deepline 0.3.371 → 0.3.373

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.
Files changed (114) hide show
  1. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  2. package/dist/bundling-sources/shared_libs/plays/email-status.ts +95 -0
  3. package/dist/bundling-sources/shared_libs/plays/extractor-targets.ts +14 -0
  4. package/dist/bundling-sources/shared_libs/plays/field-catalog.ts +253 -0
  5. package/dist/bundling-sources/shared_libs/plays/tool-result-types.ts +2 -0
  6. package/dist/bundling-sources/shared_libs/product-notifications/catalog.ts +15 -3
  7. package/dist/cli/{auth-LCSEXQA2.mjs → auth-7BMCDCRH.mjs} +4 -4
  8. package/dist/cli/auth-BWCNRUG3.js +33 -0
  9. package/dist/cli/{billing-KISDL67A.js → billing-GKI7B4JF.js} +73 -73
  10. package/dist/cli/{billing-Z7PLJC5C.mjs → billing-RZEHHMPU.mjs} +4 -4
  11. package/dist/cli/{chunk-E5UD3JDQ.js → chunk-3VN4FTE3.js} +289 -5
  12. package/dist/cli/{chunk-SEDS6ZVR.mjs → chunk-6JCVL7CE.mjs} +2 -2
  13. package/dist/cli/{chunk-DPVBWLBF.js → chunk-BM47AKUZ.js} +266 -254
  14. package/dist/cli/{chunk-NMDNUOVI.js → chunk-CLEB5KUZ.js} +1 -1
  15. package/dist/cli/{chunk-C3IPN4E6.js → chunk-D2CZ4Y5G.js} +15 -15
  16. package/dist/cli/{chunk-3GK3SH3G.mjs → chunk-E6BZWURC.mjs} +200 -13
  17. package/dist/cli/{chunk-44SHFHA3.js → chunk-E7MGPPM5.js} +9 -9
  18. package/dist/cli/{chunk-KGRAQ4OR.mjs → chunk-ECA6NQYL.mjs} +4 -4
  19. package/dist/cli/{chunk-5Z7JFUNX.js → chunk-EYXSAB7O.js} +26 -26
  20. package/dist/cli/{chunk-DOXAN2I7.mjs → chunk-HNLXC5BP.mjs} +1 -1
  21. package/dist/cli/{chunk-N34UX4TW.js → chunk-IHQQNWU4.js} +2 -2
  22. package/dist/cli/{chunk-KKRRIFR3.mjs → chunk-IUYKSTWB.mjs} +1 -1
  23. package/dist/cli/{chunk-BO3ADIBV.js → chunk-JHUMUIU6.js} +6 -6
  24. package/dist/cli/{chunk-IWY7T6MR.mjs → chunk-JP2YA3AV.mjs} +1 -1
  25. package/dist/cli/{chunk-A7X7KFXX.js → chunk-ND4BVWWZ.js} +4 -4
  26. package/dist/cli/{chunk-5BCVKWLV.js → chunk-NVZAZGHA.js} +8 -8
  27. package/dist/cli/{chunk-TT2YWFYW.js → chunk-ORBVXCTL.js} +50 -50
  28. package/dist/cli/{chunk-YYFLULK7.mjs → chunk-P5JPGZNI.mjs} +1 -1
  29. package/dist/cli/{chunk-73NIXYKH.mjs → chunk-PZ26EKNC.mjs} +319 -115
  30. package/dist/cli/{chunk-2L6LBJVC.mjs → chunk-QSV76EMO.mjs} +27 -15
  31. package/dist/cli/{chunk-AIZKDTFF.mjs → chunk-R6TPSZLN.mjs} +2 -2
  32. package/dist/cli/{chunk-C553OZGG.js → chunk-S5OTS6H5.js} +8 -8
  33. package/dist/cli/{chunk-5S525TQV.mjs → chunk-TB73PXE3.mjs} +2 -2
  34. package/dist/cli/{chunk-YENBXYUH.js → chunk-W3H422KP.js} +60 -60
  35. package/dist/cli/{chunk-DQMTJXLK.js → chunk-XJYUQBHY.js} +390 -186
  36. package/dist/cli/{chunk-3FTYFVYN.mjs → chunk-XMME4SCK.mjs} +2 -2
  37. package/dist/cli/{chunk-KBJO7HIF.mjs → chunk-Y32GUTEN.mjs} +1 -1
  38. package/dist/cli/{chunk-JB6ERQUV.mjs → chunk-Y6VOGHF2.mjs} +284 -0
  39. package/dist/cli/{chunk-SENW5J4O.mjs → chunk-YHHY2YHK.mjs} +3 -3
  40. package/dist/cli/{chunk-2JRRXXTA.js → chunk-YPVTQRUM.js} +201 -14
  41. package/dist/cli/{client-Z3Z5EDDJ.mjs → client-FO6LMHT4.mjs} +3 -3
  42. package/dist/cli/client-KAWK7FJR.js +20 -0
  43. package/dist/cli/{csv-TEVHLGGA.mjs → csv-3FNCVMWA.mjs} +3 -3
  44. package/dist/cli/{csv-XGFXV7JE.js → csv-NFQYQWWO.js} +12 -12
  45. package/dist/cli/{db-LLZJ7UH5.js → db-CTLGRV3X.js} +29 -29
  46. package/dist/cli/{db-OB7PMWSZ.mjs → db-VA7HULGR.mjs} +4 -4
  47. package/dist/cli/{describe-GZIRANUZ.mjs → describe-GXGRMP2M.mjs} +46 -17
  48. package/dist/cli/{describe-NWU7LI3I.js → describe-IUHOEPKY.js} +61 -32
  49. package/dist/cli/{executions-64YZGSOW.js → executions-DSK3HRPU.js} +6 -6
  50. package/dist/cli/{executions-7UZ3ZGJ3.mjs → executions-OZQDZQIK.mjs} +4 -4
  51. package/dist/cli/{feedback-MN5CXULH.js → feedback-KTMLMWKV.js} +7 -7
  52. package/dist/cli/{feedback-2WRQRW3U.mjs → feedback-ZOY7R4JD.mjs} +3 -3
  53. package/dist/cli/git-5P5FLEUC.js +23 -0
  54. package/dist/cli/{git-BPYVLLTY.mjs → git-FIOI4IA2.mjs} +4 -4
  55. package/dist/cli/index.js +81 -81
  56. package/dist/cli/index.mjs +32 -32
  57. package/dist/cli/{legacy-noops-ZRPWEPX6.mjs → legacy-noops-KQZWSABN.mjs} +4 -4
  58. package/dist/cli/{legacy-noops-VMXJPLMW.js → legacy-noops-WXAYRQMQ.js} +7 -7
  59. package/dist/cli/{monitors-OQSI2VOL.js → monitors-LPUCHRNJ.js} +85 -85
  60. package/dist/cli/{monitors-5BRTBL7E.mjs → monitors-VHNWIF4V.mjs} +4 -4
  61. package/dist/cli/{org-F5QS3HG4.js → org-GWHWBCMD.js} +64 -64
  62. package/dist/cli/{org-SMZ7AGR3.mjs → org-UW7NPGEY.mjs} +4 -4
  63. package/dist/cli/play-EVBIC7Z5.js +155 -0
  64. package/dist/cli/{play-CJZNLQL7.mjs → play-FNM2E66T.mjs} +8 -8
  65. package/dist/cli/{providers-SH2HYOVR.js → providers-6D6R3PWX.js} +7 -7
  66. package/dist/cli/{providers-CBWXJRDG.mjs → providers-XAZMYDWS.mjs} +4 -4
  67. package/dist/cli/{quickstart-B6EL7WDG.js → quickstart-HBUWBVH6.js} +5 -5
  68. package/dist/cli/{quickstart-342ENF6Q.mjs → quickstart-OK65PGZL.mjs} +3 -3
  69. package/dist/cli/search-6ZY2XWP2.js +26 -0
  70. package/dist/cli/{search-E7DKH3SI.mjs → search-XY6JOTS2.mjs} +5 -5
  71. package/dist/cli/{secrets-M2AW5RGE.js → secrets-6CYCPK7T.js} +13 -13
  72. package/dist/cli/{secrets-FSYIPRVS.mjs → secrets-W2LDLU2W.mjs} +4 -4
  73. package/dist/cli/{sessions-AFE4C3FQ.js → sessions-GOYEKNTJ.js} +5 -5
  74. package/dist/cli/{sessions-DJPGWPNA.mjs → sessions-JAX7PGXU.mjs} +4 -4
  75. package/dist/cli/{settings-KLN2A3PQ.mjs → settings-OACUQOCM.mjs} +7 -7
  76. package/dist/cli/{settings-VUWBNATC.js → settings-QMFYFCT7.js} +74 -74
  77. package/dist/cli/{setup-BE6N5YV6.mjs → setup-2KA5TZBZ.mjs} +6 -6
  78. package/dist/cli/{setup-I5IMTQCX.js → setup-36VOOGVA.js} +41 -41
  79. package/dist/cli/skills-6GPIEPTP.js +28 -0
  80. package/dist/cli/{skills-GSNPQDUG.mjs → skills-QY4BX5ZX.mjs} +4 -4
  81. package/dist/cli/tools-RTECP4WT.js +40 -0
  82. package/dist/cli/{tools-ORCGHV4P.mjs → tools-UCB2QRVC.mjs} +8 -8
  83. package/dist/cli/{update-UXEUWVWS.mjs → update-327MHUO4.mjs} +6 -6
  84. package/dist/cli/update-WR65EHBN.js +28 -0
  85. package/dist/cli/{workflow-R7SDICTU.js → workflow-G7BU54KW.js} +15 -15
  86. package/dist/cli/{workflow-JBQY7JJN.mjs → workflow-HJN4GA5A.mjs} +5 -5
  87. package/dist/{client-CZFMQEgO.d.mts → client-Cn-txrXv.d.mts} +3 -2
  88. package/dist/{client-CgSwpnb-.d.ts → client-fPoIN-3V.d.ts} +3 -2
  89. package/dist/{compiler-manifest-DgdW0q0b.d.ts → compiler-manifest-CY2v8ab0.d.mts} +2 -0
  90. package/dist/{compiler-manifest-DgdW0q0b.d.mts → compiler-manifest-CY2v8ab0.d.ts} +2 -0
  91. package/dist/{index-C3nQQTI-.d.mts → index-B9fBZH1g.d.mts} +1 -1
  92. package/dist/{index-CEYQAfS0.d.ts → index-BZ6uzZJl.d.ts} +1 -1
  93. package/dist/index.d.mts +5 -5
  94. package/dist/index.d.ts +5 -5
  95. package/dist/index.js +79 -249
  96. package/dist/index.mjs +10 -180
  97. package/dist/install-integrity.json +85 -84
  98. package/dist/plays/bundle-play-file.d.mts +3 -3
  99. package/dist/plays/bundle-play-file.d.ts +3 -3
  100. package/dist/plays/run-request.d.mts +2 -2
  101. package/dist/plays/run-request.d.ts +2 -2
  102. package/dist/release.d.mts +1 -1
  103. package/dist/release.d.ts +1 -1
  104. package/dist/release.js +2 -2
  105. package/dist/release.mjs +1 -1
  106. package/package.json +1 -1
  107. package/dist/cli/auth-DQVK3ZI6.js +0 -33
  108. package/dist/cli/client-JFSRNUVD.js +0 -20
  109. package/dist/cli/git-TJIPVSAE.js +0 -23
  110. package/dist/cli/play-K7HE4LBB.js +0 -155
  111. package/dist/cli/search-SEEYCQED.js +0 -26
  112. package/dist/cli/skills-7XH5GMZB.js +0 -28
  113. package/dist/cli/tools-JCL4ABAF.js +0 -40
  114. package/dist/cli/update-YNZOS77Z.js +0 -28
@@ -1,4 +1,280 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/tool-output.ts
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// ../plays/email-status.ts
2
+ var nullable = (type) => ({ type: [type, "null"] });
3
+ var oneOf = (values) => ({ type: "string", enum: values });
4
+ var EMAIL_STATUS_JSON_SCHEMA = {
5
+ type: "object",
6
+ required: [
7
+ "verdict",
8
+ "status",
9
+ "verified",
10
+ "confidence",
11
+ "reasons",
12
+ "signals",
13
+ "provider"
14
+ ],
15
+ properties: {
16
+ verdict: oneOf([
17
+ "send",
18
+ "send_with_caution",
19
+ "verify_next",
20
+ "hold",
21
+ "drop"
22
+ ]),
23
+ status: oneOf([
24
+ "valid",
25
+ "invalid",
26
+ "catch_all",
27
+ "valid_catch_all",
28
+ "unknown",
29
+ "do_not_mail",
30
+ "spamtrap",
31
+ "abuse",
32
+ "disposable"
33
+ ]),
34
+ verified: { type: "boolean" },
35
+ confidence: nullable("number"),
36
+ reasons: { type: "array", items: { type: "string" } },
37
+ signals: {
38
+ type: "object",
39
+ required: [
40
+ "catch_all",
41
+ "deliverability",
42
+ "mx_class",
43
+ "mx_provider",
44
+ "mx_record",
45
+ "fraud_score",
46
+ "disposable",
47
+ "role_based",
48
+ "free_email",
49
+ "abuse",
50
+ "spamtrap",
51
+ "suspect",
52
+ "valid"
53
+ ],
54
+ properties: {
55
+ catch_all: nullable("boolean"),
56
+ deliverability: oneOf([
57
+ "high",
58
+ "medium",
59
+ "low",
60
+ "unknown"
61
+ ]),
62
+ mx_class: oneOf([
63
+ "consumer_mailbox",
64
+ "workspace_mailbox",
65
+ "security_gateway",
66
+ "on_prem",
67
+ "unknown"
68
+ ]),
69
+ mx_provider: nullable("string"),
70
+ mx_record: nullable("string"),
71
+ fraud_score: nullable("number"),
72
+ disposable: nullable("boolean"),
73
+ role_based: nullable("boolean"),
74
+ free_email: nullable("boolean"),
75
+ abuse: nullable("boolean"),
76
+ spamtrap: nullable("boolean"),
77
+ suspect: nullable("boolean"),
78
+ valid: nullable("boolean")
79
+ }
80
+ },
81
+ provider: {
82
+ type: "object",
83
+ required: ["name", "raw_status", "raw_score"],
84
+ properties: {
85
+ name: { type: "string" },
86
+ raw_status: { type: ["string", "boolean", "number", "null"] },
87
+ raw_score: nullable("number")
88
+ }
89
+ }
90
+ }
91
+ };
92
+ function normalizeKey(value) {
93
+ if (value == null) return null;
94
+ if (typeof value === "boolean") return String(value);
95
+ const normalized = String(value).trim().toLowerCase().replace(/\s+/g, "_");
96
+ return normalized || null;
97
+ }
98
+ function boolish(value) {
99
+ if (typeof value === "boolean") return value;
100
+ if (typeof value === "number")
101
+ return value === 1 ? true : value === 0 ? false : null;
102
+ if (typeof value !== "string") return null;
103
+ const normalized = value.trim().toLowerCase();
104
+ if (["true", "yes", "y", "1"].includes(normalized)) return true;
105
+ if (["false", "no", "n", "0"].includes(normalized)) return false;
106
+ return null;
107
+ }
108
+ function numberish(value) {
109
+ if (typeof value === "number" && Number.isFinite(value)) return value;
110
+ if (typeof value !== "string" || value.trim() === "") return null;
111
+ const parsed = Number(value);
112
+ return Number.isFinite(parsed) ? parsed : null;
113
+ }
114
+ function stringish(value) {
115
+ return typeof value === "string" && value.trim() ? value.trim() : null;
116
+ }
117
+ function deliverability(value) {
118
+ const normalized = normalizeKey(value);
119
+ return normalized === "high" || normalized === "medium" || normalized === "low" ? normalized : "unknown";
120
+ }
121
+ function mxClass(mxProvider, mxRecord) {
122
+ const haystack = `${_nullishCoalesce(stringish(mxProvider), () => ( ""))} ${_nullishCoalesce(stringish(mxRecord), () => ( ""))}`.toLowerCase();
123
+ if (!haystack.trim()) return "unknown";
124
+ if (/proofpoint|pphosted|mimecast|barracuda|ess\.barracudanetworks|ironport|cisco|iphmx|messagelabs|symantec/.test(
125
+ haystack
126
+ )) {
127
+ return "security_gateway";
128
+ }
129
+ if (/aspmx\.l\.google|google|g-suite|google workspace/.test(haystack)) {
130
+ return "workspace_mailbox";
131
+ }
132
+ if (/protection\.outlook|office365|microsoft|outlook|exchange online/.test(
133
+ haystack
134
+ )) {
135
+ return "workspace_mailbox";
136
+ }
137
+ if (/gmail|yahoo|icloud|aol|hotmail/.test(haystack))
138
+ return "consumer_mailbox";
139
+ if (/postfix|exim|sendmail|zimbra|plesk|cpanel|mail\./.test(haystack))
140
+ return "on_prem";
141
+ return "unknown";
142
+ }
143
+ function entryForStatus(key, map) {
144
+ if (!key) return null;
145
+ return _nullishCoalesce(_optionalChain([map, 'optionalAccess', _ => _[key]]), () => ( null));
146
+ }
147
+ function read(values, name) {
148
+ return values[name];
149
+ }
150
+ function matchesRule(rule, values) {
151
+ return Object.entries(rule.when).every(([key, expected]) => {
152
+ const actual = read(values, key);
153
+ if (key.endsWith("Lt")) {
154
+ const source = numberish(read(values, key.slice(0, -2)));
155
+ return typeof expected === "number" && source != null && source < expected;
156
+ }
157
+ if (typeof expected === "boolean") return boolish(actual) === expected;
158
+ if (typeof expected === "number") return numberish(actual) === expected;
159
+ return normalizeKey(actual) === normalizeKey(expected);
160
+ });
161
+ }
162
+ function buildEmailStatus({
163
+ config,
164
+ values
165
+ }) {
166
+ const rawStatus = read(values, "rawStatus");
167
+ const rawScore = numberish(read(values, "rawScore"));
168
+ const valid = boolish(read(values, "valid"));
169
+ const catchAll = boolish(read(values, "catchAll"));
170
+ const disposable = boolish(read(values, "disposable"));
171
+ const abuse = boolish(read(values, "abuse"));
172
+ const spamtrap = boolish(read(values, "spamtrap"));
173
+ const suspect = boolish(read(values, "suspect"));
174
+ const rawKey = normalizeKey(rawStatus);
175
+ const mapped = _nullishCoalesce(_nullishCoalesce(_optionalChain([config, 'access', _2 => _2.rules, 'optionalAccess', _3 => _3.find, 'call', _4 => _4((rule) => matchesRule(rule, values))]), () => ( entryForStatus(rawKey, config.statusMap))), () => ( entryForStatus(valid == null ? null : String(valid), config.statusMap)));
176
+ const status = _nullishCoalesce(_optionalChain([mapped, 'optionalAccess', _5 => _5.status]), () => ( (disposable ? "disposable" : abuse ? "abuse" : spamtrap ? "spamtrap" : catchAll ? "catch_all" : valid === true ? "valid" : valid === false ? "invalid" : "unknown")));
177
+ const defaultVerdict = status === "valid" ? "send" : status === "valid_catch_all" ? "send_with_caution" : status === "catch_all" ? "verify_next" : status === "unknown" ? "hold" : "drop";
178
+ const verdict = _nullishCoalesce(_optionalChain([mapped, 'optionalAccess', _6 => _6.verdict]), () => ( defaultVerdict));
179
+ const verified = _nullishCoalesce(_optionalChain([mapped, 'optionalAccess', _7 => _7.verified]), () => ( (status === "valid" || status === "valid_catch_all" || verdict === "send")));
180
+ const reasons = [
181
+ _optionalChain([mapped, 'optionalAccess', _8 => _8.reason]),
182
+ catchAll ? "catch_all_domain" : null,
183
+ mxClass(read(values, "mxProvider"), read(values, "mxRecord")) === "security_gateway" ? "security_gateway_mx" : null,
184
+ suspect ? "provider_marked_suspect" : null
185
+ ].filter((reason) => typeof reason === "string");
186
+ return {
187
+ verdict,
188
+ status,
189
+ verified,
190
+ confidence: rawScore,
191
+ reasons,
192
+ signals: {
193
+ catch_all: catchAll,
194
+ deliverability: deliverability(read(values, "deliverability")),
195
+ mx_class: mxClass(read(values, "mxProvider"), read(values, "mxRecord")),
196
+ mx_provider: stringish(read(values, "mxProvider")),
197
+ mx_record: stringish(read(values, "mxRecord")),
198
+ fraud_score: numberish(read(values, "fraudScore")),
199
+ disposable,
200
+ role_based: boolish(read(values, "roleBased")),
201
+ free_email: boolish(read(values, "freeEmail")),
202
+ abuse,
203
+ spamtrap,
204
+ suspect,
205
+ valid
206
+ },
207
+ provider: {
208
+ name: config.provider,
209
+ raw_status: typeof rawStatus === "string" || typeof rawStatus === "boolean" || typeof rawStatus === "number" ? rawStatus : null,
210
+ raw_score: rawScore
211
+ }
212
+ };
213
+ }
214
+
215
+ // ../plays/extractor-targets.ts
216
+ var JOB_CHANGE_STATUS_VALUES = [
217
+ "moved",
218
+ "no_change",
219
+ "left_company",
220
+ "unknown",
221
+ "profile_unavailable",
222
+ "no_new_company"
223
+ ];
224
+ var JOB_CHANGE_JSON_SCHEMA = {
225
+ type: "object",
226
+ required: ["status", "date", "new_company", "new_title"],
227
+ properties: {
228
+ status: { type: "string", enum: JOB_CHANGE_STATUS_VALUES },
229
+ date: { type: ["string", "null"] },
230
+ new_company: { type: ["string", "null"] },
231
+ new_title: { type: ["string", "null"] }
232
+ }
233
+ };
234
+ var PHONE_STATUS_VALUES = ["valid", "invalid", "unknown"];
235
+ var DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS = {
236
+ id: { identity: true, valueKind: "string" },
237
+ name: { identity: true, valueKind: "string" },
238
+ email: { identity: true, valueKind: "string" },
239
+ personal_email: { identity: true, valueKind: "string" },
240
+ phone: { identity: true, valueKind: "string" },
241
+ linkedin: { identity: true, valueKind: "string" },
242
+ linkedin_url: { identity: true, valueKind: "string" },
243
+ domain: { identity: true, valueKind: "string" },
244
+ website: { identity: true, valueKind: "string" },
245
+ first_name: { identity: true, valueKind: "string" },
246
+ last_name: { identity: true, valueKind: "string" },
247
+ full_name: { identity: true, valueKind: "string" },
248
+ company: { identity: true, valueKind: "string" },
249
+ company_name: { identity: true, valueKind: "string" },
250
+ organization_name: { identity: true, valueKind: "string" },
251
+ company_domain: { identity: true, valueKind: "string" },
252
+ company_website: { identity: true, valueKind: "string" },
253
+ company_linkedin_url: { identity: true, valueKind: "string" },
254
+ title: { identity: false, valueKind: "string" },
255
+ industry: { identity: false, valueKind: "string" },
256
+ status: { identity: false, valueKind: "string" },
257
+ job_change: { identity: false, valueKind: "job_change" },
258
+ job_change_status: {
259
+ identity: false,
260
+ valueKind: "job_change_status",
261
+ enum: JOB_CHANGE_STATUS_VALUES
262
+ },
263
+ email_status: { identity: false, valueKind: "email_status" },
264
+ phone_status: {
265
+ identity: false,
266
+ valueKind: "phone_status",
267
+ enum: PHONE_STATUS_VALUES
268
+ }
269
+ };
270
+ var DEEPLINE_EXTRACTOR_TARGETS = Object.keys(
271
+ DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS
272
+ );
273
+ function isDeeplineExtractorTarget(value) {
274
+ return value in DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS;
275
+ }
276
+
277
+ // src/tool-output.ts
2
278
 
3
279
 
4
280
 
@@ -71,7 +347,7 @@ function candidateRoots(payload) {
71
347
  function findBestArrayCandidate(value, pathPrefix = "", depth = 0) {
72
348
  if (depth > 5) return null;
73
349
  const directRows = normalizeRows(value);
74
- const hasObjectRow = _nullishCoalesce(_optionalChain([directRows, 'optionalAccess', _ => _.some, 'call', _2 => _2(
350
+ const hasObjectRow = _nullishCoalesce(_optionalChain([directRows, 'optionalAccess', _9 => _9.some, 'call', _10 => _10(
75
351
  (row) => Object.keys(row).some((key) => key !== "value")
76
352
  )]), () => ( false));
77
353
  let best = directRows && directRows.length > 0 && hasObjectRow ? { path: pathPrefix, rows: directRows } : null;
@@ -89,7 +365,7 @@ function findBestArrayCandidate(value, pathPrefix = "", depth = 0) {
89
365
  return best;
90
366
  }
91
367
  function tryConvertToList(payload, options) {
92
- const listExtractorPaths = Array.isArray(_optionalChain([options, 'optionalAccess', _3 => _3.listExtractorPaths])) ? _optionalChain([options, 'optionalAccess', _4 => _4.listExtractorPaths, 'access', _5 => _5.filter, 'call', _6 => _6(
368
+ const listExtractorPaths = Array.isArray(_optionalChain([options, 'optionalAccess', _11 => _11.listExtractorPaths])) ? _optionalChain([options, 'optionalAccess', _12 => _12.listExtractorPaths, 'access', _13 => _13.filter, 'call', _14 => _14(
93
369
  (entry) => typeof entry === "string" && entry.trim().length > 0
94
370
  )]) : [];
95
371
  if (listExtractorPaths.length > 0) {
@@ -147,7 +423,7 @@ function writeJsonOutputFile(payload, stem) {
147
423
  return outputPath;
148
424
  }
149
425
  function writeCsvOutputFile(rows, stem, options) {
150
- const outputPath = _optionalChain([options, 'optionalAccess', _7 => _7.outPath]) ? options.outPath : _path.join.call(void 0, ensureOutputDir(), `${stem}_${Date.now()}.csv`);
426
+ const outputPath = _optionalChain([options, 'optionalAccess', _15 => _15.outPath]) ? options.outPath : _path.join.call(void 0, ensureOutputDir(), `${stem}_${Date.now()}.csv`);
151
427
  _fs.mkdirSync.call(void 0, _path.dirname.call(void 0, outputPath), { recursive: true });
152
428
  const columns = columnsForRows(rows);
153
429
  const escapeCell = (value) => {
@@ -388,4 +664,12 @@ function normalizeTableNamespace(value) {
388
664
 
389
665
 
390
666
 
391
- exports.stableStringify = stableStringify; exports.sha256Hex = sha256Hex; exports.normalizeTableNamespace = normalizeTableNamespace; exports.tryConvertToList = tryConvertToList; exports.projectRowOutput = projectRowOutput; exports.writeJsonOutputFile = writeJsonOutputFile; exports.writeCsvOutputFile = writeCsvOutputFile; exports.extractSummaryFields = extractSummaryFields;
667
+
668
+
669
+
670
+
671
+
672
+
673
+
674
+
675
+ exports.EMAIL_STATUS_JSON_SCHEMA = EMAIL_STATUS_JSON_SCHEMA; exports.buildEmailStatus = buildEmailStatus; exports.JOB_CHANGE_STATUS_VALUES = JOB_CHANGE_STATUS_VALUES; exports.JOB_CHANGE_JSON_SCHEMA = JOB_CHANGE_JSON_SCHEMA; exports.PHONE_STATUS_VALUES = PHONE_STATUS_VALUES; exports.DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS = DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS; exports.DEEPLINE_EXTRACTOR_TARGETS = DEEPLINE_EXTRACTOR_TARGETS; exports.isDeeplineExtractorTarget = isDeeplineExtractorTarget; exports.stableStringify = stableStringify; exports.sha256Hex = sha256Hex; exports.normalizeTableNamespace = normalizeTableNamespace; exports.tryConvertToList = tryConvertToList; exports.projectRowOutput = projectRowOutput; exports.writeJsonOutputFile = writeJsonOutputFile; exports.writeCsvOutputFile = writeCsvOutputFile; exports.extractSummaryFields = extractSummaryFields;
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-GAMFK2ZP.mjs";
4
4
  import {
5
5
  printCommandEnvelope
6
- } from "./chunk-DOXAN2I7.mjs";
6
+ } from "./chunk-HNLXC5BP.mjs";
7
7
  import {
8
8
  DEFAULT_SKILL_AGENTS,
9
9
  KNOWN_SKILL_AGENTS,
@@ -22,7 +22,7 @@ import {
22
22
  sdkCliStateDirPath,
23
23
  skillsAgentPathSegment,
24
24
  writeSdkSkillsLocalVersion
25
- } from "./chunk-KKRRIFR3.mjs";
25
+ } from "./chunk-IUYKSTWB.mjs";
26
26
  import {
27
27
  DeeplineError
28
28
  } from "./chunk-NXGCO4JB.mjs";