@commerce-ai-tool/core 2.4.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.
Files changed (118) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/LICENSE +21 -0
  3. package/README.md +11 -0
  4. package/dist/ai/factory.d.ts +5 -0
  5. package/dist/ai/factory.d.ts.map +1 -0
  6. package/dist/ai/index.d.ts +3 -0
  7. package/dist/ai/index.d.ts.map +1 -0
  8. package/dist/ai/json-schema-errors.d.ts +4 -0
  9. package/dist/ai/json-schema-errors.d.ts.map +1 -0
  10. package/dist/ai/providers/bedrock.d.ts +19 -0
  11. package/dist/ai/providers/bedrock.d.ts.map +1 -0
  12. package/dist/ai/providers/openrouter.d.ts +27 -0
  13. package/dist/ai/providers/openrouter.d.ts.map +1 -0
  14. package/dist/ai/types.d.ts +23 -0
  15. package/dist/ai/types.d.ts.map +1 -0
  16. package/dist/cache/search-cache.d.ts +19 -0
  17. package/dist/cache/search-cache.d.ts.map +1 -0
  18. package/dist/client.cjs +423 -0
  19. package/dist/client.cjs.map +1 -0
  20. package/dist/client.d.cts +12 -0
  21. package/dist/client.d.ts +12 -0
  22. package/dist/client.d.ts.map +1 -0
  23. package/dist/client.js +388 -0
  24. package/dist/client.js.map +1 -0
  25. package/dist/commercetools/build-search-keywords.d.ts +37 -0
  26. package/dist/commercetools/build-search-keywords.d.ts.map +1 -0
  27. package/dist/commercetools/cart.d.ts +70 -0
  28. package/dist/commercetools/cart.d.ts.map +1 -0
  29. package/dist/commercetools/checkout.d.ts +33 -0
  30. package/dist/commercetools/checkout.d.ts.map +1 -0
  31. package/dist/commercetools/client.d.ts +43 -0
  32. package/dist/commercetools/client.d.ts.map +1 -0
  33. package/dist/commercetools/facet-color.d.ts +12 -0
  34. package/dist/commercetools/facet-color.d.ts.map +1 -0
  35. package/dist/commercetools/facets.d.ts +31 -0
  36. package/dist/commercetools/facets.d.ts.map +1 -0
  37. package/dist/commercetools/graphql-product-cards.d.ts +94 -0
  38. package/dist/commercetools/graphql-product-cards.d.ts.map +1 -0
  39. package/dist/commercetools/order.d.ts +27 -0
  40. package/dist/commercetools/order.d.ts.map +1 -0
  41. package/dist/commercetools/payment-map.d.ts +18 -0
  42. package/dist/commercetools/payment-map.d.ts.map +1 -0
  43. package/dist/commercetools/payment.d.ts +28 -0
  44. package/dist/commercetools/payment.d.ts.map +1 -0
  45. package/dist/commercetools/product-card-hydrate.d.ts +25 -0
  46. package/dist/commercetools/product-card-hydrate.d.ts.map +1 -0
  47. package/dist/commercetools/product-types.d.ts +34 -0
  48. package/dist/commercetools/product-types.d.ts.map +1 -0
  49. package/dist/commercetools/query-builder.d.ts +41 -0
  50. package/dist/commercetools/query-builder.d.ts.map +1 -0
  51. package/dist/commercetools/search-helpers.d.ts +16 -0
  52. package/dist/commercetools/search-helpers.d.ts.map +1 -0
  53. package/dist/commercetools/suggestion-quality.d.ts +13 -0
  54. package/dist/commercetools/suggestion-quality.d.ts.map +1 -0
  55. package/dist/commercetools/suggestions.d.ts +3 -0
  56. package/dist/commercetools/suggestions.d.ts.map +1 -0
  57. package/dist/index.cjs +6066 -0
  58. package/dist/index.cjs.map +1 -0
  59. package/dist/index.d.cts +42 -0
  60. package/dist/index.d.ts +42 -0
  61. package/dist/index.d.ts.map +1 -0
  62. package/dist/index.js +5939 -0
  63. package/dist/index.js.map +1 -0
  64. package/dist/locale/resolve.d.ts +16 -0
  65. package/dist/locale/resolve.d.ts.map +1 -0
  66. package/dist/messages/index.d.ts +110 -0
  67. package/dist/messages/index.d.ts.map +1 -0
  68. package/dist/observability/enabled.d.ts +15 -0
  69. package/dist/observability/enabled.d.ts.map +1 -0
  70. package/dist/observability/index.d.ts +8 -0
  71. package/dist/observability/index.d.ts.map +1 -0
  72. package/dist/observability/redact.d.ts +9 -0
  73. package/dist/observability/redact.d.ts.map +1 -0
  74. package/dist/observability/spans.d.ts +20 -0
  75. package/dist/observability/spans.d.ts.map +1 -0
  76. package/dist/observability/wrap-ai-provider.d.ts +14 -0
  77. package/dist/observability/wrap-ai-provider.d.ts.map +1 -0
  78. package/dist/payments/types.d.ts +35 -0
  79. package/dist/payments/types.d.ts.map +1 -0
  80. package/dist/prompts/catalog.d.ts +20 -0
  81. package/dist/prompts/catalog.d.ts.map +1 -0
  82. package/dist/prompts/fragments.d.ts +9 -0
  83. package/dist/prompts/fragments.d.ts.map +1 -0
  84. package/dist/prompts/index.d.ts +35 -0
  85. package/dist/prompts/index.d.ts.map +1 -0
  86. package/dist/prompts/resolve.d.ts +35 -0
  87. package/dist/prompts/resolve.d.ts.map +1 -0
  88. package/dist/prompts/schemas.d.ts +206 -0
  89. package/dist/prompts/schemas.d.ts.map +1 -0
  90. package/dist/search/compound-shopping-list.d.ts +6 -0
  91. package/dist/search/compound-shopping-list.d.ts.map +1 -0
  92. package/dist/search/mission.d.ts +14 -0
  93. package/dist/search/mission.d.ts.map +1 -0
  94. package/dist/search/orchestrator.d.ts +29 -0
  95. package/dist/search/orchestrator.d.ts.map +1 -0
  96. package/dist/search/query-passthrough.d.ts +12 -0
  97. package/dist/search/query-passthrough.d.ts.map +1 -0
  98. package/dist/search/relax-search.d.ts +8 -0
  99. package/dist/search/relax-search.d.ts.map +1 -0
  100. package/dist/search/suggestions-input.d.ts +35 -0
  101. package/dist/search/suggestions-input.d.ts.map +1 -0
  102. package/dist/search/voice-tts.d.ts +6 -0
  103. package/dist/search/voice-tts.d.ts.map +1 -0
  104. package/dist/types/index.d.ts +510 -0
  105. package/dist/types/index.d.ts.map +1 -0
  106. package/dist/utils/audio.d.ts +4 -0
  107. package/dist/utils/audio.d.ts.map +1 -0
  108. package/dist/utils/dev-trace.d.ts +2 -0
  109. package/dist/utils/dev-trace.d.ts.map +1 -0
  110. package/dist/utils/hash.d.ts +2 -0
  111. package/dist/utils/hash.d.ts.map +1 -0
  112. package/dist/utils/model-json.d.ts +4 -0
  113. package/dist/utils/model-json.d.ts.map +1 -0
  114. package/dist/utils/search-timer.d.ts +11 -0
  115. package/dist/utils/search-timer.d.ts.map +1 -0
  116. package/dist/utils/with-timeout.d.ts +6 -0
  117. package/dist/utils/with-timeout.d.ts.map +1 -0
  118. package/package.json +86 -0
@@ -0,0 +1,4 @@
1
+ /** Maps a MIME type to an OpenRouter `input_audio.format` value. */
2
+ export declare function mimeTypeToAudioFormat(mimeType: string): string;
3
+ export declare function uint8ArrayToBase64(bytes: Uint8Array): string;
4
+ //# sourceMappingURL=audio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/utils/audio.ts"],"names":[],"mappings":"AAcA,oEAAoE;AACpE,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO9D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAW5D"}
@@ -0,0 +1,2 @@
1
+ export declare function logSearchTrace(step: string, data: Record<string, unknown>): void;
2
+ //# sourceMappingURL=dev-trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-trace.d.ts","sourceRoot":"","sources":["../../src/utils/dev-trace.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAShF"}
@@ -0,0 +1,2 @@
1
+ export declare function hashUint8Array(bytes: Uint8Array): string;
2
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/utils/hash.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAExD"}
@@ -0,0 +1,4 @@
1
+ export declare function extractJsonObjectLiteral(raw: string): string;
2
+ export declare function repairTruncatedJsonObject(json: string): string;
3
+ export declare function parseModelJson<T>(raw: string): T;
4
+ //# sourceMappingURL=model-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-json.d.ts","sourceRoot":"","sources":["../../src/utils/model-json.ts"],"names":[],"mappings":"AAkCA,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA6C5D;AA2DD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA0E9D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAehD"}
@@ -0,0 +1,11 @@
1
+ export interface SearchTimings {
2
+ steps: Record<string, number>;
3
+ totalMs: number;
4
+ }
5
+ export interface SearchTimer {
6
+ mark(step: string): void;
7
+ finish(): SearchTimings;
8
+ }
9
+ export declare function createSearchTimer(): SearchTimer;
10
+ export declare function shouldIncludeSearchTimings(): boolean;
11
+ //# sourceMappingURL=search-timer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-timer.d.ts","sourceRoot":"","sources":["../../src/utils/search-timer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,IAAI,aAAa,CAAC;CACzB;AAED,wBAAgB,iBAAiB,IAAI,WAAW,CAkB/C;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD"}
@@ -0,0 +1,6 @@
1
+ export declare class SearchTimeoutError extends Error {
2
+ readonly step: string;
3
+ constructor(step: string, timeoutMs: number);
4
+ }
5
+ export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, step: string): Promise<T>;
6
+ //# sourceMappingURL=with-timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-timeout.d.ts","sourceRoot":"","sources":["../../src/utils/with-timeout.ts"],"names":[],"mappings":"AAAA,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAI1C;CACF;AAED,wBAAgB,WAAW,CAAC,CAAC,EAC3B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,CAAC,CAAC,CAiBZ"}
package/package.json ADDED
@@ -0,0 +1,86 @@
1
+ {
2
+ "name": "@commerce-ai-tool/core",
3
+ "version": "2.4.0",
4
+ "description": "Core business logic for Commerce AI Tool — commercetools search with AI interpretation",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./dist/index.cjs",
8
+ "module": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "import": {
13
+ "types": "./dist/index.d.ts",
14
+ "default": "./dist/index.js"
15
+ },
16
+ "require": {
17
+ "types": "./dist/index.d.cts",
18
+ "default": "./dist/index.cjs"
19
+ }
20
+ },
21
+ "./client": {
22
+ "import": {
23
+ "types": "./dist/client.d.ts",
24
+ "default": "./dist/client.js"
25
+ },
26
+ "require": {
27
+ "types": "./dist/client.d.cts",
28
+ "default": "./dist/client.cjs"
29
+ }
30
+ }
31
+ },
32
+ "files": [
33
+ "dist",
34
+ "CHANGELOG.md"
35
+ ],
36
+ "sideEffects": false,
37
+ "dependencies": {
38
+ "@aws-sdk/client-bedrock-runtime": "^3.758.0",
39
+ "@commercetools/platform-sdk": "^8.0.0",
40
+ "@commercetools/sdk-client-v2": "^3.4.0",
41
+ "@langfuse/client": "^5.9.1",
42
+ "@langfuse/tracing": "^5.9.1",
43
+ "@openrouter/sdk": "^0.1.11",
44
+ "@opentelemetry/api": "^1.9.1"
45
+ },
46
+ "devDependencies": {
47
+ "@types/node": "^24.0.0",
48
+ "@typescript/native": "npm:typescript@^7.0.2",
49
+ "tsup": "^8.4.0",
50
+ "vitest": "^3.0.9"
51
+ },
52
+ "publishConfig": {
53
+ "access": "public"
54
+ },
55
+ "author": {
56
+ "name": "Tomasz Miller",
57
+ "url": "https://github.com/tomasz-miller"
58
+ },
59
+ "homepage": "https://github.com/tomasz-miller/commerce-ai-tool#readme",
60
+ "bugs": {
61
+ "url": "https://github.com/tomasz-miller/commerce-ai-tool/issues"
62
+ },
63
+ "repository": {
64
+ "type": "git",
65
+ "url": "git+https://github.com/tomasz-miller/commerce-ai-tool.git",
66
+ "directory": "packages/core"
67
+ },
68
+ "keywords": [
69
+ "commercetools",
70
+ "ai",
71
+ "search",
72
+ "openrouter",
73
+ "bedrock"
74
+ ],
75
+ "engines": {
76
+ "node": ">=24"
77
+ },
78
+ "scripts": {
79
+ "build": "tsup && node ../../scripts/emit-package-dts.mjs dist/index.d.ts dist/client.d.ts",
80
+ "dev": "tsup --watch",
81
+ "typecheck": "tsc --noEmit",
82
+ "lint": "eslint src",
83
+ "test": "vitest run",
84
+ "clean": "rm -rf dist"
85
+ }
86
+ }