@hypequery/datasets 0.13.5 → 0.14.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 (113) hide show
  1. package/README.md +10 -0
  2. package/dist/agent-catalog.d.ts +97 -0
  3. package/dist/agent-catalog.d.ts.map +1 -0
  4. package/dist/agent-catalog.js +79 -0
  5. package/dist/api.type-test.js +19 -1
  6. package/dist/catalog.d.ts +17 -6
  7. package/dist/catalog.d.ts.map +1 -1
  8. package/dist/catalog.js +18 -1
  9. package/dist/contract.d.ts +11 -7
  10. package/dist/contract.d.ts.map +1 -1
  11. package/dist/contract.js +22 -1
  12. package/dist/dataset-query.d.ts.map +1 -1
  13. package/dist/dataset-query.js +9 -3
  14. package/dist/dataset.d.ts.map +1 -1
  15. package/dist/dataset.js +19 -2
  16. package/dist/executor.d.ts +6 -0
  17. package/dist/executor.d.ts.map +1 -1
  18. package/dist/executor.js +83 -24
  19. package/dist/field.d.ts.map +1 -1
  20. package/dist/field.js +2 -0
  21. package/dist/in-memory-backend.d.ts.map +1 -1
  22. package/dist/in-memory-backend.js +2 -17
  23. package/dist/index.d.ts +10 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +7 -0
  26. package/dist/measure.d.ts.map +1 -1
  27. package/dist/measure.js +4 -0
  28. package/dist/protocol-adapter.d.ts.map +1 -1
  29. package/dist/protocol-adapter.js +21 -0
  30. package/dist/protocol-rehydrate.d.ts +46 -0
  31. package/dist/protocol-rehydrate.d.ts.map +1 -0
  32. package/dist/protocol-rehydrate.js +218 -0
  33. package/dist/publishing/features/dataset-publication.d.ts +10 -0
  34. package/dist/publishing/features/dataset-publication.d.ts.map +1 -0
  35. package/dist/publishing/features/dataset-publication.js +34 -0
  36. package/dist/publishing/node.d.ts +16 -0
  37. package/dist/publishing/node.d.ts.map +1 -0
  38. package/dist/publishing/node.js +35 -0
  39. package/dist/publishing/publisher.d.ts +17 -0
  40. package/dist/publishing/publisher.d.ts.map +1 -0
  41. package/dist/publishing/publisher.js +32 -0
  42. package/dist/publishing/types.d.ts +31 -0
  43. package/dist/publishing/types.d.ts.map +1 -0
  44. package/dist/publishing/types.js +1 -0
  45. package/dist/query-builder-protocol.d.ts +6 -2
  46. package/dist/query-builder-protocol.d.ts.map +1 -1
  47. package/dist/semantic-plan.d.ts +3 -1
  48. package/dist/semantic-plan.d.ts.map +1 -1
  49. package/dist/semantic-planner.d.ts.map +1 -1
  50. package/dist/semantic-planner.js +4 -0
  51. package/dist/semantic-query-schema.d.ts +48 -0
  52. package/dist/semantic-query-schema.d.ts.map +1 -0
  53. package/dist/semantic-query-schema.js +218 -0
  54. package/dist/sql-utils.d.ts +36 -0
  55. package/dist/sql-utils.d.ts.map +1 -1
  56. package/dist/sql-utils.js +76 -0
  57. package/dist/tools.d.ts +5 -0
  58. package/dist/tools.d.ts.map +1 -1
  59. package/dist/tools.js +25 -267
  60. package/dist/types.d.ts +102 -12
  61. package/dist/types.d.ts.map +1 -1
  62. package/dist/utils/agent-catalog-projection.d.ts +78 -0
  63. package/dist/utils/agent-catalog-projection.d.ts.map +1 -0
  64. package/dist/utils/agent-catalog-projection.js +179 -0
  65. package/dist/utils/dataset-cache-policy.d.ts +34 -0
  66. package/dist/utils/dataset-cache-policy.d.ts.map +1 -0
  67. package/dist/utils/dataset-cache-policy.js +50 -0
  68. package/dist/utils/dataset-contract.d.ts +2 -2
  69. package/dist/utils/dataset-contract.d.ts.map +1 -1
  70. package/dist/utils/dataset-contract.js +3 -1
  71. package/dist/utils/dataset-definition-validation.d.ts +35 -0
  72. package/dist/utils/dataset-definition-validation.d.ts.map +1 -0
  73. package/dist/utils/dataset-definition-validation.js +215 -0
  74. package/dist/utils/dataset-metric-ref.d.ts +2 -2
  75. package/dist/utils/dataset-metric-ref.d.ts.map +1 -1
  76. package/dist/utils/dataset-metric-ref.js +5 -3
  77. package/dist/utils/metric-alias.d.ts +4 -0
  78. package/dist/utils/metric-alias.d.ts.map +1 -0
  79. package/dist/utils/metric-alias.js +28 -0
  80. package/dist/utils/protocol-metric-capabilities.d.ts +7 -0
  81. package/dist/utils/protocol-metric-capabilities.d.ts.map +1 -0
  82. package/dist/utils/protocol-metric-capabilities.js +57 -0
  83. package/dist/utils/protocol-rehydrate-filters.d.ts +10 -0
  84. package/dist/utils/protocol-rehydrate-filters.d.ts.map +1 -0
  85. package/dist/utils/protocol-rehydrate-filters.js +36 -0
  86. package/dist/utils/protocol-semantic-metadata.d.ts +5 -0
  87. package/dist/utils/protocol-semantic-metadata.d.ts.map +1 -0
  88. package/dist/utils/protocol-semantic-metadata.js +5 -0
  89. package/dist/utils/published-name.d.ts +3 -0
  90. package/dist/utils/published-name.d.ts.map +1 -0
  91. package/dist/utils/published-name.js +7 -0
  92. package/dist/utils/published-relationships.d.ts +34 -0
  93. package/dist/utils/published-relationships.d.ts.map +1 -0
  94. package/dist/utils/published-relationships.js +35 -0
  95. package/dist/utils/relationship-fields.d.ts +7 -0
  96. package/dist/utils/relationship-fields.d.ts.map +1 -1
  97. package/dist/utils/relationship-fields.js +13 -1
  98. package/dist/utils/result-limits.d.ts +34 -0
  99. package/dist/utils/result-limits.d.ts.map +1 -0
  100. package/dist/utils/result-limits.js +40 -0
  101. package/dist/utils/semantic-metadata-validation.d.ts +4 -0
  102. package/dist/utils/semantic-metadata-validation.d.ts.map +1 -0
  103. package/dist/utils/semantic-metadata-validation.js +103 -0
  104. package/dist/utils/semantic-metadata.d.ts +4 -0
  105. package/dist/utils/semantic-metadata.d.ts.map +1 -0
  106. package/dist/utils/semantic-metadata.js +13 -0
  107. package/dist/utils/semantic-result-serialization.d.ts +9 -0
  108. package/dist/utils/semantic-result-serialization.d.ts.map +1 -0
  109. package/dist/utils/semantic-result-serialization.js +26 -0
  110. package/dist/utils/semantic-tool.d.ts +5 -0
  111. package/dist/utils/semantic-tool.d.ts.map +1 -0
  112. package/dist/utils/semantic-tool.js +29 -0
  113. package/package.json +5 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-tool.d.ts","sourceRoot":"","sources":["../../src/utils/semantic-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEtC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAenF"}
@@ -0,0 +1,29 @@
1
+ export function semanticToolNamePart(name) {
2
+ const normalized = name.replace(/[^A-Za-z0-9_-]/g, '_');
3
+ return /^[A-Za-z_]/.test(normalized) ? normalized : `_${normalized}`;
4
+ }
5
+ export function parseCanonicalToolInput(schema, input, label) {
6
+ const result = schema.safeParse(input);
7
+ if (!result.success) {
8
+ const issues = result.error.issues.map((issue) => {
9
+ const path = issue.path.length > 0 ? issue.path.join('.') : 'input';
10
+ return `${path}: ${issue.message}`;
11
+ }).join('; ');
12
+ throw new Error(`Invalid ${label}: ${issues}`);
13
+ }
14
+ return result.data;
15
+ }
16
+ export function redactSemanticToolSql(result, includeSql) {
17
+ if (includeSql || !result || typeof result !== 'object') {
18
+ return result;
19
+ }
20
+ const resultObject = result;
21
+ if (!resultObject.meta || typeof resultObject.meta !== 'object' || !('sql' in resultObject.meta)) {
22
+ return result;
23
+ }
24
+ const { sql: _sql, ...meta } = resultObject.meta;
25
+ return {
26
+ ...resultObject,
27
+ meta,
28
+ };
29
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hypequery/datasets",
3
- "version": "0.13.5",
3
+ "version": "0.14.0",
4
4
  "description": "Code-first TypeScript semantic layer for ClickHouse datasets, metrics, multi-tenancy, and AI agents",
5
5
  "keywords": [
6
6
  "semantic-layer",
@@ -42,9 +42,10 @@
42
42
  "dist"
43
43
  ],
44
44
  "dependencies": {
45
- "@hypequery/protocol": "^0.11.0",
45
+ "@hypequery/protocol": "^0.12.0",
46
46
  "@noble/hashes": "^1.8.0",
47
- "zod": "^3.22.4"
47
+ "zod": "^3.22.4",
48
+ "zod-to-json-schema": "^3.23.5"
48
49
  },
49
50
  "peerDependencies": {
50
51
  "zod": "^3.22.4"
@@ -59,7 +60,7 @@
59
60
  "typescript": "^5.7.3",
60
61
  "@vitest/coverage-v8": "^3.2.6",
61
62
  "vitest": "^3.2.6",
62
- "@hypequery/protocol-conformance": "^0.10.0"
63
+ "@hypequery/protocol-conformance": "^0.11.0"
63
64
  },
64
65
  "repository": {
65
66
  "type": "git",