@tellescope/sdk 1.256.1 → 1.256.3

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 (95) hide show
  1. package/lib/cjs/sdk.d.ts +2 -2
  2. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.d.ts +6 -0
  3. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.d.ts.map +1 -0
  4. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.js +163 -0
  5. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.js.map +1 -0
  6. package/lib/cjs/tests/api_tests/embeddables_auth_token.test.d.ts +6 -0
  7. package/lib/cjs/tests/api_tests/embeddables_auth_token.test.d.ts.map +1 -0
  8. package/lib/cjs/tests/api_tests/embeddables_auth_token.test.js +354 -0
  9. package/lib/cjs/tests/api_tests/embeddables_auth_token.test.js.map +1 -0
  10. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.d.ts +6 -0
  11. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.d.ts.map +1 -0
  12. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.js +298 -0
  13. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.js.map +1 -0
  14. package/lib/cjs/tests/api_tests/phone_calls_move_enduser.test.d.ts +6 -0
  15. package/lib/cjs/tests/api_tests/phone_calls_move_enduser.test.d.ts.map +1 -0
  16. package/lib/cjs/tests/api_tests/phone_calls_move_enduser.test.js +274 -0
  17. package/lib/cjs/tests/api_tests/phone_calls_move_enduser.test.js.map +1 -0
  18. package/lib/cjs/tests/api_tests/stripe_webhook_triggers.test.d.ts +18 -0
  19. package/lib/cjs/tests/api_tests/stripe_webhook_triggers.test.d.ts.map +1 -0
  20. package/lib/cjs/tests/api_tests/stripe_webhook_triggers.test.js +964 -0
  21. package/lib/cjs/tests/api_tests/stripe_webhook_triggers.test.js.map +1 -0
  22. package/lib/cjs/tests/api_tests/welle_partner_token.test.d.ts +6 -0
  23. package/lib/cjs/tests/api_tests/welle_partner_token.test.d.ts.map +1 -0
  24. package/lib/cjs/tests/api_tests/welle_partner_token.test.js +313 -0
  25. package/lib/cjs/tests/api_tests/welle_partner_token.test.js.map +1 -0
  26. package/lib/cjs/tests/stripe_webhook_helpers.d.ts +204 -0
  27. package/lib/cjs/tests/stripe_webhook_helpers.d.ts.map +1 -0
  28. package/lib/cjs/tests/stripe_webhook_helpers.js +286 -0
  29. package/lib/cjs/tests/stripe_webhook_helpers.js.map +1 -0
  30. package/lib/cjs/tests/tests.d.ts.map +1 -1
  31. package/lib/cjs/tests/tests.js +217 -193
  32. package/lib/cjs/tests/tests.js.map +1 -1
  33. package/lib/cjs/tests/unit_tests/phone_validation.test.d.ts +3 -0
  34. package/lib/cjs/tests/unit_tests/phone_validation.test.d.ts.map +1 -0
  35. package/lib/cjs/tests/unit_tests/phone_validation.test.js +96 -0
  36. package/lib/cjs/tests/unit_tests/phone_validation.test.js.map +1 -0
  37. package/lib/cjs/tests/unit_tests/translation.test.d.ts +3 -0
  38. package/lib/cjs/tests/unit_tests/translation.test.d.ts.map +1 -0
  39. package/lib/cjs/tests/unit_tests/translation.test.js.map +1 -0
  40. package/lib/esm/enduser.d.ts +0 -1
  41. package/lib/esm/enduser.d.ts.map +1 -1
  42. package/lib/esm/sdk.d.ts +4 -5
  43. package/lib/esm/sdk.d.ts.map +1 -1
  44. package/lib/esm/session.d.ts +0 -1
  45. package/lib/esm/session.d.ts.map +1 -1
  46. package/lib/esm/tests/api_tests/appointment_link_expiration.test.d.ts +6 -0
  47. package/lib/esm/tests/api_tests/appointment_link_expiration.test.d.ts.map +1 -0
  48. package/lib/esm/tests/api_tests/appointment_link_expiration.test.js +156 -0
  49. package/lib/esm/tests/api_tests/appointment_link_expiration.test.js.map +1 -0
  50. package/lib/esm/tests/api_tests/embeddables_auth_token.test.d.ts +6 -0
  51. package/lib/esm/tests/api_tests/embeddables_auth_token.test.d.ts.map +1 -0
  52. package/lib/esm/tests/api_tests/embeddables_auth_token.test.js +347 -0
  53. package/lib/esm/tests/api_tests/embeddables_auth_token.test.js.map +1 -0
  54. package/lib/esm/tests/api_tests/metriport_push_form_response.test.d.ts +6 -0
  55. package/lib/esm/tests/api_tests/metriport_push_form_response.test.d.ts.map +1 -0
  56. package/lib/esm/tests/api_tests/metriport_push_form_response.test.js +294 -0
  57. package/lib/esm/tests/api_tests/metriport_push_form_response.test.js.map +1 -0
  58. package/lib/esm/tests/api_tests/phone_calls_move_enduser.test.d.ts +6 -0
  59. package/lib/esm/tests/api_tests/phone_calls_move_enduser.test.d.ts.map +1 -0
  60. package/lib/esm/tests/api_tests/phone_calls_move_enduser.test.js +270 -0
  61. package/lib/esm/tests/api_tests/phone_calls_move_enduser.test.js.map +1 -0
  62. package/lib/esm/tests/api_tests/stripe_webhook_triggers.test.d.ts +18 -0
  63. package/lib/esm/tests/api_tests/stripe_webhook_triggers.test.d.ts.map +1 -0
  64. package/lib/esm/tests/api_tests/stripe_webhook_triggers.test.js +960 -0
  65. package/lib/esm/tests/api_tests/stripe_webhook_triggers.test.js.map +1 -0
  66. package/lib/esm/tests/api_tests/welle_partner_token.test.d.ts +6 -0
  67. package/lib/esm/tests/api_tests/welle_partner_token.test.d.ts.map +1 -0
  68. package/lib/esm/tests/api_tests/welle_partner_token.test.js +309 -0
  69. package/lib/esm/tests/api_tests/welle_partner_token.test.js.map +1 -0
  70. package/lib/esm/tests/stripe_webhook_helpers.d.ts +204 -0
  71. package/lib/esm/tests/stripe_webhook_helpers.d.ts.map +1 -0
  72. package/lib/esm/tests/stripe_webhook_helpers.js +267 -0
  73. package/lib/esm/tests/stripe_webhook_helpers.js.map +1 -0
  74. package/lib/esm/tests/tests.d.ts.map +1 -1
  75. package/lib/esm/tests/tests.js +217 -193
  76. package/lib/esm/tests/tests.js.map +1 -1
  77. package/lib/esm/tests/unit_tests/phone_validation.test.d.ts +3 -0
  78. package/lib/esm/tests/unit_tests/phone_validation.test.d.ts.map +1 -0
  79. package/lib/esm/tests/unit_tests/phone_validation.test.js +93 -0
  80. package/lib/esm/tests/unit_tests/phone_validation.test.js.map +1 -0
  81. package/lib/esm/tests/unit_tests/translation.test.d.ts +3 -0
  82. package/lib/esm/tests/unit_tests/translation.test.d.ts.map +1 -0
  83. package/lib/esm/tests/unit_tests/translation.test.js +52 -0
  84. package/lib/esm/tests/unit_tests/translation.test.js.map +1 -0
  85. package/lib/tsconfig.tsbuildinfo +1 -1
  86. package/package.json +10 -10
  87. package/src/tests/api_tests/appointment_link_expiration.test.ts +92 -0
  88. package/src/tests/api_tests/embeddables_auth_token.test.ts +417 -0
  89. package/src/tests/api_tests/metriport_push_form_response.test.ts +226 -0
  90. package/src/tests/api_tests/stripe_webhook_triggers.test.ts +676 -0
  91. package/src/tests/api_tests/welle_partner_token.test.ts +249 -0
  92. package/src/tests/stripe_webhook_helpers.ts +240 -0
  93. package/src/tests/tests.ts +12 -0
  94. package/src/tests/unit_tests/phone_validation.test.ts +108 -0
  95. package/test_generated.pdf +0 -0
@@ -0,0 +1,3 @@
1
+ declare const run_all: () => void;
2
+ export { run_all as phone_validation_unit_tests };
3
+ //# sourceMappingURL=phone_validation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone_validation.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit_tests/phone_validation.test.ts"],"names":[],"mappings":"AA8FA,QAAA,MAAM,OAAO,YAOZ,CAAA;AAMD,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,CAAA"}
@@ -0,0 +1,93 @@
1
+ import { parse_phone_number, phoneValidator, phoneValidatorOptional, } from "@tellescope/validation";
2
+ import { to_human_readable_phone_number } from "@tellescope/utilities";
3
+ var failures = 0;
4
+ var passed = 0;
5
+ var assert = function (name, actual, expected) {
6
+ if (actual === expected) {
7
+ passed++;
8
+ console.log(" \u2713 ".concat(name));
9
+ }
10
+ else {
11
+ failures++;
12
+ console.error(" \u2717 ".concat(name, " \u2014 expected ").concat(JSON.stringify(expected), ", got ").concat(JSON.stringify(actual)));
13
+ }
14
+ };
15
+ // validators throw on invalid input; THREW lets us assert rejection without try/catch per case
16
+ var THREW = 'THREW';
17
+ var attempt = function (validate, value) {
18
+ try {
19
+ return validate(value);
20
+ }
21
+ catch (err) {
22
+ return THREW;
23
+ }
24
+ };
25
+ // phoneValidator and phoneValidatorOptional carry identical parsing logic and differ only in
26
+ // their build_validator options, so every parsing case runs against both.
27
+ var run_validator_tests = function () {
28
+ console.log("\n[phoneValidator / phoneValidatorOptional]");
29
+ var cases = [
30
+ // [input, expected, description]
31
+ ['+14155551234', '+14155551234', 'normalized E.164 passes through'],
32
+ ['4155551234', '+14155551234', 'bare 10 digits gets a US country code'],
33
+ ['(415) 555-1234', '+14155551234', 'formatted number is normalized'],
34
+ [' 415-555-1234 ', '+14155551234', 'whitespace and dashes are stripped'],
35
+ ['311', '311', 'N11 service code passes through (pre-existing behavior)'],
36
+ // Short codes: valid SMS endpoints, but not E.164 — no country code, no '+'
37
+ ['894546', '894546', '6-digit short code passes through unchanged'],
38
+ ['89454', '89454', '5-digit short code passes through unchanged'],
39
+ ['00000', '00000', 'leading zeroes are preserved, not normalized away'],
40
+ // The short-code allowance must not widen past bare 5-6 digits
41
+ ['+1894546', THREW, 'a leading + forces the strict E.164 path'],
42
+ ['1234', THREW, '4 digits still rejects'],
43
+ ['1234567', THREW, '7 digits still rejects'],
44
+ ['123456789', THREW, '9 digits still rejects'],
45
+ ['12', THREW, 'too-few digits still rejects'],
46
+ ['not a phone', THREW, 'junk still rejects'],
47
+ ];
48
+ for (var _i = 0, cases_1 = cases; _i < cases_1.length; _i++) {
49
+ var _a = cases_1[_i], input = _a[0], expected = _a[1], description = _a[2];
50
+ assert("".concat(description, " (required)"), attempt(phoneValidator.validate(), input), expected);
51
+ assert("".concat(description, " (optional)"), attempt(phoneValidatorOptional.validate(), input), expected);
52
+ }
53
+ assert('optional variant accepts empty string', attempt(phoneValidatorOptional.validate(), ''), '');
54
+ };
55
+ // parse_phone_number is the non-throwing wrapper used on integration payloads, where a junk
56
+ // number must not fail the whole request. It inherits the short-code rule from phoneValidator.
57
+ var run_parse_tests = function () {
58
+ console.log("\n[parse_phone_number]");
59
+ assert('E.164 passes through', parse_phone_number('+14155551234'), '+14155551234');
60
+ assert('bare 10 digits normalizes', parse_phone_number('4155551234'), '+14155551234');
61
+ assert('short code passes through', parse_phone_number('894546'), '894546');
62
+ assert('7 digits returns undefined', parse_phone_number('1234567'), undefined);
63
+ assert('junk returns undefined', parse_phone_number('not a phone'), undefined);
64
+ assert('empty string returns undefined', parse_phone_number(''), undefined);
65
+ assert('undefined returns undefined', parse_phone_number(undefined), undefined);
66
+ assert('null returns undefined', parse_phone_number(null), undefined);
67
+ };
68
+ // Guards the display formatter against the negative-slice bug: before the length check,
69
+ // a 6-digit short code rendered as '+ (894) 546-'
70
+ var run_display_tests = function () {
71
+ console.log("\n[to_human_readable_phone_number]");
72
+ assert('E.164 formats with country code', to_human_readable_phone_number('+15555555555'), '+1 (555) 555-5555');
73
+ assert('bare 10 digits formats', to_human_readable_phone_number('5555555555'), '(555) 555-5555');
74
+ assert('6-digit short code is returned as-is', to_human_readable_phone_number('894546'), '894546');
75
+ assert('5-digit short code is returned as-is', to_human_readable_phone_number('89454'), '89454');
76
+ assert('311 is returned as-is', to_human_readable_phone_number('311'), '311');
77
+ assert('empty string returns empty string', to_human_readable_phone_number(''), '');
78
+ assert('undefined returns empty string', to_human_readable_phone_number(undefined), '');
79
+ };
80
+ var run_all = function () {
81
+ console.log("Running phone_validation unit tests");
82
+ run_validator_tests();
83
+ run_parse_tests();
84
+ run_display_tests();
85
+ console.log("\nResults: ".concat(passed, " passed, ").concat(failures, " failed"));
86
+ if (failures > 0)
87
+ process.exit(1);
88
+ };
89
+ if (require.main === module) {
90
+ run_all();
91
+ }
92
+ export { run_all as phone_validation_unit_tests };
93
+ //# sourceMappingURL=phone_validation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone_validation.test.js","sourceRoot":"","sources":["../../../../src/tests/unit_tests/phone_validation.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const run_all: () => void;
2
+ export { run_all as translation_unit_tests };
3
+ //# sourceMappingURL=translation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit_tests/translation.test.ts"],"names":[],"mappings":"AA6DA,QAAA,MAAM,OAAO,YAMZ,CAAA;AAMD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,CAAA"}
@@ -0,0 +1,52 @@
1
+ import { generateTranslationSystemPrompt, translationLanguageCodeForLanguage, } from "@tellescope/utilities";
2
+ var failures = 0;
3
+ var passed = 0;
4
+ var assert = function (name, actual, expected) {
5
+ if (actual === expected) {
6
+ passed++;
7
+ console.log(" \u2713 ".concat(name));
8
+ }
9
+ else {
10
+ failures++;
11
+ console.error(" \u2717 ".concat(name, " \u2014 expected ").concat(JSON.stringify(expected), ", got ").concat(JSON.stringify(actual)));
12
+ }
13
+ };
14
+ // Only the gating is worth pinning: the markup-preservation clauses must not leak into the plain prompt
15
+ // used for inbound message translation, where there is no markup to preserve. The prompt wording itself
16
+ // is not asserted — that would only detect intentional edits.
17
+ var run_prompt_tests = function () {
18
+ console.log("\n[generateTranslationSystemPrompt]");
19
+ var MARKUP_CLAUSE = 'HTML tags';
20
+ assert('plain prompt omits the markup-preservation clauses', generateTranslationSystemPrompt('Spanish').includes(MARKUP_CLAUSE), false);
21
+ assert('draft prompt includes the markup-preservation clauses', generateTranslationSystemPrompt('Spanish', { preserveTemplateSyntax: true }).includes(MARKUP_CLAUSE), true);
22
+ assert('explicitly-false option matches the plain prompt', generateTranslationSystemPrompt('Spanish', { preserveTemplateSyntax: false }), generateTranslationSystemPrompt('Spanish'));
23
+ };
24
+ // Drafts are assumed to be written in English, so English (and anything unrecognized) resolves to the
25
+ // fallback. Real Enduser.language records include bare codes, regional codes, and displayName-only rows.
26
+ var run_language_tests = function () {
27
+ console.log("\n[translationLanguageCodeForLanguage]");
28
+ assert('bare supported code passes through', translationLanguageCodeForLanguage({ iso6391: 'vi' }), 'vi');
29
+ assert('regional code is reduced to its base', translationLanguageCodeForLanguage({ iso6391: 'es-ES' }), 'es');
30
+ assert('uppercase code is normalized', translationLanguageCodeForLanguage({ iso6391: 'PT' }), 'pt');
31
+ assert('displayName is used when iso6391 is empty', translationLanguageCodeForLanguage({ displayName: 'Spanish', iso6391: '' }), 'es');
32
+ assert('displayName match is case insensitive', translationLanguageCodeForLanguage({ displayName: 'korean' }), 'ko');
33
+ assert('iso6391 wins over displayName', translationLanguageCodeForLanguage({ displayName: 'Spanish', iso6391: 'fr' }), 'fr');
34
+ assert('English falls through to the fallback', translationLanguageCodeForLanguage({ iso6391: 'en' }), 'es');
35
+ assert('English displayName falls through to the fallback', translationLanguageCodeForLanguage({ displayName: 'English' }), 'es');
36
+ assert('unsupported code falls through to the fallback', translationLanguageCodeForLanguage({ iso6391: 'sw' }), 'es');
37
+ assert('missing language falls through to the fallback', translationLanguageCodeForLanguage(undefined), 'es');
38
+ assert('explicit fallback is honored', translationLanguageCodeForLanguage(undefined, { fallback: 'fr' }), 'fr');
39
+ };
40
+ var run_all = function () {
41
+ console.log("Running translation unit tests");
42
+ run_prompt_tests();
43
+ run_language_tests();
44
+ console.log("\nResults: ".concat(passed, " passed, ").concat(failures, " failed"));
45
+ if (failures > 0)
46
+ process.exit(1);
47
+ };
48
+ if (require.main === module) {
49
+ run_all();
50
+ }
51
+ export { run_all as translation_unit_tests };
52
+ //# sourceMappingURL=translation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation.test.js","sourceRoot":"","sources":["../../../../src/tests/unit_tests/translation.test.ts"],"names":[],"mappings":"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"}