@holokai/holo-test 1.4.5 → 1.5.1

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 (154) hide show
  1. package/README.md +217 -82
  2. package/dist/conformance/audit-tests.d.ts +4 -0
  3. package/dist/conformance/audit-tests.d.ts.map +1 -0
  4. package/dist/conformance/audit-tests.js +55 -0
  5. package/dist/conformance/audit-tests.js.map +1 -0
  6. package/dist/conformance/datastore-tests.d.ts +13 -0
  7. package/dist/conformance/datastore-tests.d.ts.map +1 -0
  8. package/dist/conformance/datastore-tests.js +121 -0
  9. package/dist/conformance/datastore-tests.js.map +1 -0
  10. package/dist/conformance/holo-fixture-loader.d.ts +4 -0
  11. package/dist/conformance/holo-fixture-loader.d.ts.map +1 -0
  12. package/dist/conformance/holo-fixture-loader.js +79 -0
  13. package/dist/conformance/holo-fixture-loader.js.map +1 -0
  14. package/dist/conformance/holo-fixture-tests.d.ts +4 -0
  15. package/dist/conformance/holo-fixture-tests.d.ts.map +1 -0
  16. package/dist/conformance/holo-fixture-tests.js +273 -0
  17. package/dist/conformance/holo-fixture-tests.js.map +1 -0
  18. package/dist/conformance/holo-fixture-types.d.ts +93 -0
  19. package/dist/conformance/holo-fixture-types.d.ts.map +1 -0
  20. package/dist/conformance/holo-fixture-types.js +2 -0
  21. package/dist/conformance/holo-fixture-types.js.map +1 -0
  22. package/dist/conformance/loader.d.ts +7 -0
  23. package/dist/conformance/loader.d.ts.map +1 -0
  24. package/dist/conformance/loader.js +71 -0
  25. package/dist/conformance/loader.js.map +1 -0
  26. package/dist/conformance/pipeline-tests.d.ts +4 -0
  27. package/dist/conformance/pipeline-tests.d.ts.map +1 -0
  28. package/dist/conformance/pipeline-tests.js +73 -0
  29. package/dist/conformance/pipeline-tests.js.map +1 -0
  30. package/dist/conformance/runner.d.ts +2 -0
  31. package/dist/conformance/runner.d.ts.map +1 -0
  32. package/dist/conformance/runner.js +102 -0
  33. package/dist/conformance/runner.js.map +1 -0
  34. package/dist/conformance/sdk-tests.d.ts +12 -0
  35. package/dist/conformance/sdk-tests.d.ts.map +1 -0
  36. package/dist/{services/http-fixture-server.js → conformance/sdk-tests.js} +56 -17
  37. package/dist/conformance/sdk-tests.js.map +1 -0
  38. package/dist/conformance/translator-tests.d.ts +4 -0
  39. package/dist/conformance/translator-tests.d.ts.map +1 -0
  40. package/dist/conformance/translator-tests.js +49 -0
  41. package/dist/conformance/translator-tests.js.map +1 -0
  42. package/dist/conformance/types.d.ts +81 -0
  43. package/dist/conformance/types.d.ts.map +1 -0
  44. package/dist/conformance/types.js +2 -0
  45. package/dist/conformance/types.js.map +1 -0
  46. package/dist/conformance/wire-tests.d.ts +4 -0
  47. package/dist/conformance/wire-tests.d.ts.map +1 -0
  48. package/dist/conformance/wire-tests.js +52 -0
  49. package/dist/conformance/wire-tests.js.map +1 -0
  50. package/dist/fixtures/plugin.js +3 -3
  51. package/dist/fixtures/plugin.js.map +1 -1
  52. package/dist/helpers/vitest-helpers.d.ts +1 -1
  53. package/dist/index.d.ts +28 -30
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +24 -27
  56. package/dist/index.js.map +1 -1
  57. package/dist/live/assertions.d.ts +1 -1
  58. package/dist/live/assertions.d.ts.map +1 -1
  59. package/dist/live/assertions.js +54 -21
  60. package/dist/live/assertions.js.map +1 -1
  61. package/dist/live/error-payloads.d.ts +5 -0
  62. package/dist/live/error-payloads.d.ts.map +1 -0
  63. package/dist/live/error-payloads.js +47 -0
  64. package/dist/live/error-payloads.js.map +1 -0
  65. package/dist/live/error-tester.d.ts +3 -0
  66. package/dist/live/error-tester.d.ts.map +1 -0
  67. package/dist/live/error-tester.js +121 -0
  68. package/dist/live/error-tester.js.map +1 -0
  69. package/dist/live/index.d.ts +7 -5
  70. package/dist/live/index.d.ts.map +1 -1
  71. package/dist/live/index.js +6 -4
  72. package/dist/live/index.js.map +1 -1
  73. package/dist/live/live-tester.d.ts +1 -1
  74. package/dist/live/live-tester.js +3 -3
  75. package/dist/live/types.d.ts +10 -1
  76. package/dist/live/types.d.ts.map +1 -1
  77. package/dist/services/plugin-loader.d.ts +2 -1
  78. package/dist/services/plugin-loader.d.ts.map +1 -1
  79. package/dist/services/plugin-loader.js +2 -1
  80. package/dist/services/plugin-loader.js.map +1 -1
  81. package/dist/types.d.ts +0 -37
  82. package/dist/types.d.ts.map +1 -1
  83. package/package.json +9 -12
  84. package/dist/cli.d.ts +0 -3
  85. package/dist/cli.d.ts.map +0 -1
  86. package/dist/cli.js +0 -83
  87. package/dist/cli.js.map +0 -1
  88. package/dist/contracts/audit-contract.d.ts +0 -3
  89. package/dist/contracts/audit-contract.d.ts.map +0 -1
  90. package/dist/contracts/audit-contract.js +0 -11
  91. package/dist/contracts/audit-contract.js.map +0 -1
  92. package/dist/contracts/datastore-contract.d.ts +0 -12
  93. package/dist/contracts/datastore-contract.d.ts.map +0 -1
  94. package/dist/contracts/datastore-contract.js +0 -20
  95. package/dist/contracts/datastore-contract.js.map +0 -1
  96. package/dist/contracts/pipeline-contract.d.ts +0 -3
  97. package/dist/contracts/pipeline-contract.d.ts.map +0 -1
  98. package/dist/contracts/pipeline-contract.js +0 -9
  99. package/dist/contracts/pipeline-contract.js.map +0 -1
  100. package/dist/contracts/roundtrip-contract.d.ts +0 -3
  101. package/dist/contracts/roundtrip-contract.d.ts.map +0 -1
  102. package/dist/contracts/roundtrip-contract.js +0 -9
  103. package/dist/contracts/roundtrip-contract.js.map +0 -1
  104. package/dist/contracts/wire-contract.d.ts +0 -3
  105. package/dist/contracts/wire-contract.d.ts.map +0 -1
  106. package/dist/contracts/wire-contract.js +0 -9
  107. package/dist/contracts/wire-contract.js.map +0 -1
  108. package/dist/dsl/assertions.d.ts +0 -6
  109. package/dist/dsl/assertions.d.ts.map +0 -1
  110. package/dist/dsl/assertions.js +0 -54
  111. package/dist/dsl/assertions.js.map +0 -1
  112. package/dist/dsl/suite-builder.d.ts +0 -25
  113. package/dist/dsl/suite-builder.d.ts.map +0 -1
  114. package/dist/dsl/suite-builder.js +0 -96
  115. package/dist/dsl/suite-builder.js.map +0 -1
  116. package/dist/factories/worker-request-factory.d.ts +0 -5
  117. package/dist/factories/worker-request-factory.d.ts.map +0 -1
  118. package/dist/factories/worker-request-factory.js +0 -19
  119. package/dist/factories/worker-request-factory.js.map +0 -1
  120. package/dist/fixtures/fixture-loader.d.ts +0 -6
  121. package/dist/fixtures/fixture-loader.d.ts.map +0 -1
  122. package/dist/fixtures/fixture-loader.js +0 -23
  123. package/dist/fixtures/fixture-loader.js.map +0 -1
  124. package/dist/runner/test-reporter.d.ts +0 -3
  125. package/dist/runner/test-reporter.d.ts.map +0 -1
  126. package/dist/runner/test-reporter.js +0 -43
  127. package/dist/runner/test-reporter.js.map +0 -1
  128. package/dist/runner/test-runner.d.ts +0 -12
  129. package/dist/runner/test-runner.d.ts.map +0 -1
  130. package/dist/runner/test-runner.js +0 -37
  131. package/dist/runner/test-runner.js.map +0 -1
  132. package/dist/services/http-fixture-server.d.ts +0 -14
  133. package/dist/services/http-fixture-server.d.ts.map +0 -1
  134. package/dist/services/http-fixture-server.js.map +0 -1
  135. package/dist/testers/audit-tester.d.ts +0 -4
  136. package/dist/testers/audit-tester.d.ts.map +0 -1
  137. package/dist/testers/audit-tester.js +0 -74
  138. package/dist/testers/audit-tester.js.map +0 -1
  139. package/dist/testers/datastore-tester.d.ts +0 -17
  140. package/dist/testers/datastore-tester.d.ts.map +0 -1
  141. package/dist/testers/datastore-tester.js +0 -306
  142. package/dist/testers/datastore-tester.js.map +0 -1
  143. package/dist/testers/pipeline-tester.d.ts +0 -4
  144. package/dist/testers/pipeline-tester.d.ts.map +0 -1
  145. package/dist/testers/pipeline-tester.js +0 -62
  146. package/dist/testers/pipeline-tester.js.map +0 -1
  147. package/dist/testers/roundtrip-tester.d.ts +0 -3
  148. package/dist/testers/roundtrip-tester.d.ts.map +0 -1
  149. package/dist/testers/roundtrip-tester.js +0 -77
  150. package/dist/testers/roundtrip-tester.js.map +0 -1
  151. package/dist/testers/wire-tester.d.ts +0 -4
  152. package/dist/testers/wire-tester.d.ts.map +0 -1
  153. package/dist/testers/wire-tester.js +0 -87
  154. package/dist/testers/wire-tester.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/services/plugin-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,UAAU,CAAC;AAGnC,OAAO,EACH,uBAAuB,EACvB,eAAe,IAAI,kBAAkB,EACrC,gBAAgB,IAAI,mBAAmB,EACvC,cAAc,IAAI,iBAAiB,EACnC,UAAU,IAAI,aAAa,EAC9B,MAAM,0BAA0B,CAAC;AAElC,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B,SAAS,mBAAmB;IACxB,IAAI,gBAAgB;QAAE,OAAO;IAC7B,gBAAgB,GAAG,IAAI,CAAC;IAExB,MAAM,IAAI,GAAG,GAAG,EAAE;IAClB,CAAC,CAAC;IACF,MAAM,UAAU,GAAG;QACf,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU;KACD,CAAC;IAE3B,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE;QAChC,QAAQ,EAAE,CAAC,IAAuB,EAAE,EAAE,CAAC,UAAU;KACpD,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc;IAC3C,mBAAmB,EAAE,CAAC;IACtB,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAgB;IACjD,mBAAmB,EAAE,CAAC;IACtB,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc;IACpD,mBAAmB,EAAE,CAAC;IACtB,MAAM,WAAW,GAAG,2BAA2B,MAAM,EAAE,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,MAAM,GAAqB,GAAG,CAAC,OAAO,CAAC;IAE7C,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,MAAM,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/services/plugin-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,UAAU,CAAC;AAGnC,OAAO,EACH,uBAAuB,EACvB,wBAAwB,IAAI,2BAA2B,EACvD,eAAe,IAAI,kBAAkB,EACrC,gBAAgB,IAAI,mBAAmB,EACvC,cAAc,IAAI,iBAAiB,EACnC,UAAU,IAAI,aAAa,EAC9B,MAAM,0BAA0B,CAAC;AAElC,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B,SAAS,mBAAmB;IACxB,IAAI,gBAAgB;QAAE,OAAO;IAC7B,gBAAgB,GAAG,IAAI,CAAC;IAExB,MAAM,IAAI,GAAG,GAAG,EAAE;IAClB,CAAC,CAAC;IACF,MAAM,UAAU,GAAG;QACf,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU;KACD,CAAC;IAE3B,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE;QAChC,QAAQ,EAAE,CAAC,IAAuB,EAAE,EAAE,CAAC,UAAU;KACpD,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc;IAC3C,mBAAmB,EAAE,CAAC;IACtB,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAgB;IACjD,mBAAmB,EAAE,CAAC;IACtB,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc;IACpD,mBAAmB,EAAE,CAAC;IACtB,MAAM,WAAW,GAAG,2BAA2B,MAAM,EAAE,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,MAAM,GAAqB,GAAG,CAAC,OAAO,CAAC;IAE7C,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,MAAM,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAClD,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AACpE,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,40 +1,3 @@
1
- import type { ProviderResponseStatus } from '@holokai/holo-types/entities';
2
- export interface FixtureScenario {
3
- name: string;
4
- plugin: string;
5
- protocol: string;
6
- streaming: boolean;
7
- providerChunks: any[];
8
- expectedText: string;
9
- expectedWire: string[];
10
- expectedStatus: number;
11
- expectedHeaders: Record<string, string>;
12
- expectedAudit?: {
13
- access_model: string;
14
- input_tokens?: number;
15
- output_tokens?: number;
16
- status: ProviderResponseStatus;
17
- metadata?: Record<string, any>;
18
- };
19
- expectedSdkResult?: any;
20
- sdkRequest?: any;
21
- sdkAdapter?: SdkAdapter;
22
- tags?: string[];
23
- requestId?: string;
24
- sourceId?: string;
25
- organizationId?: string;
26
- providerId?: string;
27
- protocolId?: string;
28
- payload?: Record<string, unknown>;
29
- }
30
- export interface SdkAdapter {
31
- family: string;
32
- call(fixture: FixtureScenario, port: number): Promise<any>;
33
- routes(fixture: FixtureScenario): {
34
- method: string;
35
- path: string;
36
- } | undefined;
37
- }
38
1
  export interface TestResult {
39
2
  name: string;
40
3
  category: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,8BAA8B,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IAEnB,cAAc,EAAE,GAAG,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IAErB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,aAAa,CAAC,EAAE;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,sBAAsB,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAClC,CAAC;IAEF,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3D,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAClF;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@holokai/holo-test",
3
- "version": "1.4.5",
3
+ "version": "1.5.1",
4
4
  "type": "module",
5
5
  "description": "Test SDK for Holo provider plugins",
6
6
  "publishConfig": {
@@ -10,9 +10,6 @@
10
10
  "license": "MIT",
11
11
  "main": "./dist/index.js",
12
12
  "types": "./dist/index.d.ts",
13
- "bin": {
14
- "holo-test": "./dist/cli.js"
15
- },
16
13
  "exports": {
17
14
  ".": {
18
15
  "types": "./dist/index.d.ts",
@@ -25,17 +22,13 @@
25
22
  "!dist/**/*.test.*"
26
23
  ],
27
24
  "sideEffects": false,
28
- "scripts": {
29
- "build": "tsc --build",
30
- "clean": "rm -rf dist tsconfig.tsbuildinfo"
31
- },
32
25
  "dependencies": {
33
- "@holokai/holo-types": "^1.4.5",
34
- "@holokai/holo-sdk": "^1.4.5",
35
26
  "express": "^4.21.0",
36
27
  "diff": "^8.0.2",
37
28
  "reflect-metadata": "^0.2.2",
38
- "uuid": "^11.1.0"
29
+ "uuid": "^11.1.0",
30
+ "@holokai/holo-sdk": "^1.5.1",
31
+ "@holokai/holo-types": "^1.5.1"
39
32
  },
40
33
  "peerDependencies": {
41
34
  "tsyringe": "^4.10.0",
@@ -47,5 +40,9 @@
47
40
  "@types/node": "^24.0.11",
48
41
  "ts-node": "^10.9.2",
49
42
  "typescript": "^5.0.0"
43
+ },
44
+ "scripts": {
45
+ "build": "tsc --build && tsc-alias --resolve-full-paths -p tsconfig.json",
46
+ "clean": "rm -rf dist tsconfig.tsbuildinfo"
50
47
  }
51
- }
48
+ }
package/dist/cli.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- import 'reflect-metadata';
3
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,kBAAkB,CAAC"}
package/dist/cli.js DELETED
@@ -1,83 +0,0 @@
1
- #!/usr/bin/env node
2
- import 'reflect-metadata';
3
- import { resolve } from 'node:path';
4
- import { runTests } from './runner/test-runner';
5
- function parseArgs(argv) {
6
- const args = argv.slice(2);
7
- const options = {};
8
- for (let i = 0; i < args.length; i++) {
9
- const arg = args[i];
10
- if (arg === '--plugin' && i + 1 < args.length) {
11
- options.plugin = args[++i];
12
- }
13
- else if (arg === '--tag' && i + 1 < args.length) {
14
- options.tag = args[++i];
15
- }
16
- else if (arg === '--fixtures' && i + 1 < args.length) {
17
- options.fixtureDir = args[++i];
18
- }
19
- else if (arg === '--wire') {
20
- options.wire = true;
21
- }
22
- else if (arg === '--audit') {
23
- options.audit = true;
24
- }
25
- else if (arg === '--pipeline') {
26
- options.pipeline = true;
27
- }
28
- else if (arg === '--roundtrip') {
29
- options.roundtrip = true;
30
- }
31
- else if (arg === '--verbose' || arg === '-v') {
32
- options.verbose = true;
33
- }
34
- else if (arg === '--help' || arg === '-h') {
35
- printHelp();
36
- process.exit(0);
37
- }
38
- }
39
- return options;
40
- }
41
- function printHelp() {
42
- console.log(`
43
- holo-test — Plugin test harness for Holo provider plugins
44
-
45
- Usage:
46
- npx holo-test [options]
47
-
48
- Options:
49
- --plugin <name> Test only this plugin family (openai, claude, gemini, ollama)
50
- --tag <tag> Filter fixtures by tag
51
- --fixtures <dir> Path to fixtures directory (default: auto-discover)
52
- --wire Run wire format tests only
53
- --audit Run audit record tests only
54
- --pipeline Run full pipeline tests only
55
- --roundtrip Run SDK round-trip tests only
56
- --verbose, -v Show diffs on failure
57
- --help, -h Show this help
58
- `);
59
- }
60
- async function main() {
61
- const args = parseArgs(process.argv);
62
- const originalCwd = process.env['INIT_CWD'] ?? process.cwd();
63
- const fixtureDir = typeof args.fixtureDir === 'string'
64
- ? resolve(originalCwd, args.fixtureDir)
65
- : resolve(originalCwd, 'plugins');
66
- console.log(`holo-test — fixture dir: ${fixtureDir}`);
67
- const success = await runTests({
68
- fixtureDir,
69
- plugin: typeof args.plugin === 'string' ? args.plugin : undefined,
70
- tag: typeof args.tag === 'string' ? args.tag : undefined,
71
- wire: args.wire === true,
72
- audit: args.audit === true,
73
- pipeline: args.pipeline === true,
74
- roundtrip: args.roundtrip === true,
75
- verbose: args.verbose === true,
76
- });
77
- process.exit(success ? 0 : 1);
78
- }
79
- main().catch(err => {
80
- console.error(err);
81
- process.exit(1);
82
- });
83
- //# sourceMappingURL=cli.js.map
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,SAAS,SAAS,CAAC,IAAc;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAqC,EAAE,CAAC;IAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACrD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YAC9B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAC/B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QAC7B,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC7C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3B,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC1C,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,SAAS;IACd,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;CAgBf,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACf,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;QAClD,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC;QACvC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEtC,OAAO,CAAC,GAAG,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC;QAC3B,UAAU;QACV,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACjE,GAAG,EAAE,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;QACxD,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;QACxB,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI;QAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;QAChC,SAAS,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI;QAClC,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI;KACjC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { FixtureScenario } from '../types';
2
- export declare function runAuditContract(family: string, fixture: FixtureScenario): Promise<void>;
3
- //# sourceMappingURL=audit-contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit-contract.d.ts","sourceRoot":"","sources":["../../src/contracts/audit-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AAK9C,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAK9F"}
@@ -1,11 +0,0 @@
1
- import { loadPlugin } from '../services/plugin-loader';
2
- import { testAudit } from '../testers/audit-tester';
3
- import { assertTestResult } from '../helpers/vitest-helpers';
4
- export async function runAuditContract(family, fixture) {
5
- if (!fixture.expectedAudit)
6
- return;
7
- const plugin = await loadPlugin(family);
8
- const result = await testAudit(plugin, fixture);
9
- assertTestResult(result);
10
- }
11
- //# sourceMappingURL=audit-contract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit-contract.js","sourceRoot":"","sources":["../../src/contracts/audit-contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,OAAwB;IAC3E,IAAI,CAAC,OAAO,CAAC,aAAa;QAAE,OAAO;IACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,12 +0,0 @@
1
- export interface DatastoreTestConfig {
2
- connectionConfig: Record<string, any>;
3
- requestTable: string;
4
- responseTable: string;
5
- costTable: string;
6
- cleanup?: (insertedIds: {
7
- table: string;
8
- id: string;
9
- }[]) => Promise<void>;
10
- }
11
- export declare function runDatastoreContract(family: string, config: DatastoreTestConfig): Promise<void>;
12
- //# sourceMappingURL=datastore-contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datastore-contract.d.ts","sourceRoot":"","sources":["../../src/contracts/datastore-contract.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7E;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBrG"}
@@ -1,20 +0,0 @@
1
- import { testDatastore } from '../testers/datastore-tester';
2
- import { loadDatastorePlugin } from '../services/plugin-loader';
3
- import { assertTestResult } from '../helpers/vitest-helpers';
4
- export async function runDatastoreContract(family, config) {
5
- const plugin = await loadDatastorePlugin(family);
6
- const opts = {
7
- connectionConfig: config.connectionConfig,
8
- requestTable: config.requestTable,
9
- responseTable: config.responseTable,
10
- costTable: config.costTable,
11
- };
12
- const { results, insertedIds } = await testDatastore(plugin, opts);
13
- for (const result of results) {
14
- assertTestResult(result);
15
- }
16
- if (config.cleanup && insertedIds.length > 0) {
17
- await config.cleanup(insertedIds);
18
- }
19
- }
20
- //# sourceMappingURL=datastore-contract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datastore-contract.js","sourceRoot":"","sources":["../../src/contracts/datastore-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAC,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAU3D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAc,EAAE,MAA2B;IAClF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAsB;QAC5B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS;KAC9B,CAAC;IAEF,MAAM,EAAC,OAAO,EAAE,WAAW,EAAC,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEjE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;AACL,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { FixtureScenario } from '../types';
2
- export declare function runPipelineContract(family: string, fixture: FixtureScenario): Promise<void>;
3
- //# sourceMappingURL=pipeline-contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeline-contract.d.ts","sourceRoot":"","sources":["../../src/contracts/pipeline-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AAK9C,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjG"}
@@ -1,9 +0,0 @@
1
- import { loadPlugin } from '../services/plugin-loader';
2
- import { testPipeline } from '../testers/pipeline-tester';
3
- import { assertTestResult } from '../helpers/vitest-helpers';
4
- export async function runPipelineContract(family, fixture) {
5
- const plugin = await loadPlugin(family);
6
- const result = await testPipeline(plugin, fixture);
7
- assertTestResult(result);
8
- }
9
- //# sourceMappingURL=pipeline-contract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeline-contract.js","sourceRoot":"","sources":["../../src/contracts/pipeline-contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc,EAAE,OAAwB;IAC9E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { FixtureScenario, SdkAdapter } from '../types';
2
- export declare function runRoundTripContract(fixture: FixtureScenario, adapter: SdkAdapter): Promise<void>;
3
- //# sourceMappingURL=roundtrip-contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"roundtrip-contract.d.ts","sourceRoot":"","sources":["../../src/contracts/roundtrip-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAI1D,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvG"}
@@ -1,9 +0,0 @@
1
- import { testRoundTrip } from '../testers/roundtrip-tester';
2
- import { assertTestResult } from '../helpers/vitest-helpers';
3
- export async function runRoundTripContract(fixture, adapter) {
4
- if (!fixture.sdkRequest || !fixture.expectedSdkResult)
5
- return;
6
- const result = await testRoundTrip(fixture, adapter);
7
- assertTestResult(result);
8
- }
9
- //# sourceMappingURL=roundtrip-contract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"roundtrip-contract.js","sourceRoot":"","sources":["../../src/contracts/roundtrip-contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAwB,EAAE,OAAmB;IACpF,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,iBAAiB;QAAE,OAAO;IAC9D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { FixtureScenario } from '../types';
2
- export declare function runWireContract(family: string, fixture: FixtureScenario): Promise<void>;
3
- //# sourceMappingURL=wire-contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wire-contract.d.ts","sourceRoot":"","sources":["../../src/contracts/wire-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AAK9C,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7F"}
@@ -1,9 +0,0 @@
1
- import { loadPlugin } from '../services/plugin-loader';
2
- import { testWire } from '../testers/wire-tester';
3
- import { assertTestResult } from '../helpers/vitest-helpers';
4
- export async function runWireContract(family, fixture) {
5
- const plugin = await loadPlugin(family);
6
- const result = await testWire(plugin, fixture);
7
- assertTestResult(result);
8
- }
9
- //# sourceMappingURL=wire-contract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wire-contract.js","sourceRoot":"","sources":["../../src/contracts/wire-contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,OAAwB;IAC1E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { AssertionError } from '../types';
2
- export declare function assertEqual(field: string, actual: any, expected: any): AssertionError | null;
3
- export declare function assertDeepEqual(field: string, actual: any, expected: any): AssertionError | null;
4
- export declare function assertPartialMatch(field: string, actual: Record<string, any>, expected: Record<string, any>): AssertionError | null;
5
- export declare function assertArrayEqual(field: string, actual: string[], expected: string[]): AssertionError[];
6
- //# sourceMappingURL=assertions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertions.d.ts","sourceRoot":"","sources":["../../src/dsl/assertions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAE7C,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,cAAc,GAAG,IAAI,CAG5F;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,cAAc,GAAG,IAAI,CAYhG;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,cAAc,GAAG,IAAI,CAMnI;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CA8BtG"}
@@ -1,54 +0,0 @@
1
- import { diffLines } from 'diff';
2
- export function assertEqual(field, actual, expected) {
3
- if (actual === expected)
4
- return null;
5
- return { field, expected, actual };
6
- }
7
- export function assertDeepEqual(field, actual, expected) {
8
- const actualStr = JSON.stringify(actual, null, 2);
9
- const expectedStr = JSON.stringify(expected, null, 2);
10
- if (actualStr === expectedStr)
11
- return null;
12
- const changes = diffLines(expectedStr, actualStr);
13
- const diffStr = changes.map(c => {
14
- const prefix = c.added ? '+' : c.removed ? '-' : ' ';
15
- return c.value.split('\n').filter(l => l).map(l => `${prefix} ${l}`).join('\n');
16
- }).join('\n');
17
- return { field, expected, actual, diff: diffStr };
18
- }
19
- export function assertPartialMatch(field, actual, expected) {
20
- for (const [key, value] of Object.entries(expected)) {
21
- const err = assertDeepEqual(`${field}.${key}`, actual?.[key], value);
22
- if (err)
23
- return err;
24
- }
25
- return null;
26
- }
27
- export function assertArrayEqual(field, actual, expected) {
28
- const errors = [];
29
- if (actual.length !== expected.length) {
30
- errors.push({
31
- field: `${field}.length`,
32
- expected: expected.length,
33
- actual: actual.length,
34
- });
35
- }
36
- const len = Math.min(actual.length, expected.length);
37
- for (let i = 0; i < len; i++) {
38
- if (actual[i] !== expected[i]) {
39
- const changes = diffLines(expected[i], actual[i]);
40
- const diffStr = changes.map(c => {
41
- const prefix = c.added ? '+' : c.removed ? '-' : ' ';
42
- return c.value.split('\n').filter(l => l).map(l => `${prefix} ${l}`).join('\n');
43
- }).join('\n');
44
- errors.push({
45
- field: `${field}[${i}]`,
46
- expected: expected[i],
47
- actual: actual[i],
48
- diff: diffStr,
49
- });
50
- }
51
- }
52
- return errors;
53
- }
54
- //# sourceMappingURL=assertions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertions.js","sourceRoot":"","sources":["../../src/dsl/assertions.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import type { FixtureScenario } from '../types';
2
- declare class SuiteBuilder {
3
- private _plugin?;
4
- private _protocol?;
5
- private _streaming?;
6
- private _fixtureDir?;
7
- private _fixtures?;
8
- private _categories;
9
- private _verbose;
10
- forPlugin(plugin: string): SuiteBuilder;
11
- protocol(protocol: string): SuiteBuilder;
12
- streaming(streaming?: boolean): SuiteBuilder;
13
- fixtureDir(dir: string): SuiteBuilder;
14
- withFixtures(fixtures: FixtureScenario[]): SuiteBuilder;
15
- wire(): SuiteBuilder;
16
- audit(): SuiteBuilder;
17
- pipeline(): SuiteBuilder;
18
- roundTrip(): SuiteBuilder;
19
- allFixtures(): SuiteBuilder;
20
- verbose(verbose?: boolean): SuiteBuilder;
21
- run(): Promise<boolean>;
22
- }
23
- export declare function suite(): SuiteBuilder;
24
- export {};
25
- //# sourceMappingURL=suite-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suite-builder.d.ts","sourceRoot":"","sources":["../../src/dsl/suite-builder.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,eAAe,EAAa,MAAM,UAAU,CAAC;AAE1D,cAAM,YAAY;IACd,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAU;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAoB;IACtC,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,QAAQ,CAAS;IAEzB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAKvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAKxC,SAAS,CAAC,SAAS,UAAO,GAAG,YAAY;IAKzC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IAKrC,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,YAAY;IAKvD,IAAI,IAAI,YAAY;IAKpB,KAAK,IAAI,YAAY;IAKrB,QAAQ,IAAI,YAAY;IAKxB,SAAS,IAAI,YAAY;IAKzB,WAAW,IAAI,YAAY;IAI3B,OAAO,CAAC,OAAO,UAAO,GAAG,YAAY;IAK/B,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAsChC;AAED,wBAAgB,KAAK,IAAI,YAAY,CAEpC"}
@@ -1,96 +0,0 @@
1
- import { loadFixtures } from '../fixtures/fixture-loader';
2
- import { loadPlugin } from '../services/plugin-loader';
3
- import { testWire } from '../testers/wire-tester';
4
- import { testAudit } from '../testers/audit-tester';
5
- import { testPipeline } from '../testers/pipeline-tester';
6
- import { testRoundTrip } from '../testers/roundtrip-tester';
7
- import { reportResults } from '../runner/test-reporter';
8
- class SuiteBuilder {
9
- _plugin;
10
- _protocol;
11
- _streaming;
12
- _fixtureDir;
13
- _fixtures;
14
- _categories = new Set();
15
- _verbose = false;
16
- forPlugin(plugin) {
17
- this._plugin = plugin;
18
- return this;
19
- }
20
- protocol(protocol) {
21
- this._protocol = protocol;
22
- return this;
23
- }
24
- streaming(streaming = true) {
25
- this._streaming = streaming;
26
- return this;
27
- }
28
- fixtureDir(dir) {
29
- this._fixtureDir = dir;
30
- return this;
31
- }
32
- withFixtures(fixtures) {
33
- this._fixtures = fixtures;
34
- return this;
35
- }
36
- wire() {
37
- this._categories.add('wire');
38
- return this;
39
- }
40
- audit() {
41
- this._categories.add('audit');
42
- return this;
43
- }
44
- pipeline() {
45
- this._categories.add('pipeline');
46
- return this;
47
- }
48
- roundTrip() {
49
- this._categories.add('roundtrip');
50
- return this;
51
- }
52
- allFixtures() {
53
- return this;
54
- }
55
- verbose(verbose = true) {
56
- this._verbose = verbose;
57
- return this;
58
- }
59
- async run() {
60
- let fixtures = this._fixtures;
61
- if (!fixtures) {
62
- const dir = this._fixtureDir || process.cwd();
63
- fixtures = await loadFixtures(dir, { plugin: this._plugin });
64
- }
65
- if (this._protocol) {
66
- fixtures = fixtures.filter(f => f.protocol === this._protocol);
67
- }
68
- if (this._streaming !== undefined) {
69
- fixtures = fixtures.filter(f => f.streaming === this._streaming);
70
- }
71
- const runAll = this._categories.size === 0;
72
- const results = [];
73
- for (const fixture of fixtures) {
74
- const pluginImpl = await loadPlugin(fixture.plugin);
75
- if (runAll || this._categories.has('wire')) {
76
- results.push(await testWire(pluginImpl, fixture));
77
- }
78
- if (runAll || this._categories.has('audit')) {
79
- if (fixture.expectedAudit) {
80
- results.push(await testAudit(pluginImpl, fixture));
81
- }
82
- }
83
- if (runAll || this._categories.has('pipeline')) {
84
- results.push(await testPipeline(pluginImpl, fixture));
85
- }
86
- if (this._categories.has('roundtrip') && fixture.sdkAdapter && fixture.sdkRequest) {
87
- results.push(await testRoundTrip(fixture, fixture.sdkAdapter));
88
- }
89
- }
90
- return reportResults(results, this._verbose);
91
- }
92
- }
93
- export function suite() {
94
- return new SuiteBuilder();
95
- }
96
- //# sourceMappingURL=suite-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suite-builder.js","sourceRoot":"","sources":["../../src/dsl/suite-builder.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { HoloWorkerRequest } from '@holokai/holo-types/worker';
2
- import type { FixtureScenario } from '../types';
3
- export declare function createTestWorkerRequest(fixture: FixtureScenario): HoloWorkerRequest;
4
- export declare function createTestEnvelope(fixture: FixtureScenario, request: HoloWorkerRequest): import("@holokai/holo-types/worker").WorkerResponseEnvelope;
5
- //# sourceMappingURL=worker-request-factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-request-factory.d.ts","sourceRoot":"","sources":["../../src/factories/worker-request-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAGlE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AAG9C,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,GAAG,iBAAiB,CAYnF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,+DAEtF"}
@@ -1,19 +0,0 @@
1
- import { createResponseEnvelope, createWorkerRequest } from '@holokai/holo-sdk/provider';
2
- import { v4 as uuidv4 } from 'uuid';
3
- export function createTestWorkerRequest(fixture) {
4
- const protocol = { id: fixture.protocolId ?? uuidv4(), name: fixture.protocol, capability: 'chat' };
5
- return createWorkerRequest({
6
- provider: { id: fixture.providerId ?? uuidv4(), name: fixture.plugin },
7
- protocol,
8
- payload: fixture.payload ?? {},
9
- sourceId: fixture.sourceId ?? uuidv4(),
10
- requestId: fixture.requestId ?? uuidv4(),
11
- organizationId: fixture.organizationId ?? 'test-org',
12
- isStreaming: fixture.streaming,
13
- httpRequestDetails: { path: '/test', method: 'POST' },
14
- });
15
- }
16
- export function createTestEnvelope(fixture, request) {
17
- return createResponseEnvelope(request, fixture.expectedAudit?.access_model ?? 'unknown');
18
- }
19
- //# sourceMappingURL=worker-request-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-request-factory.js","sourceRoot":"","sources":["../../src/factories/worker-request-factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,sBAAsB,EAAE,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAEvF,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,MAAM,CAAC;AAElC,MAAM,UAAU,uBAAuB,CAAC,OAAwB;IAC5D,MAAM,QAAQ,GAAqB,EAAC,EAAE,EAAE,OAAO,CAAC,UAAU,IAAI,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;IACpH,OAAO,mBAAmB,CAAC;QACvB,QAAQ,EAAE,EAAC,EAAE,EAAE,OAAO,CAAC,UAAU,IAAI,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAQ;QAC3E,QAAQ;QACR,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM,EAAE;QACtC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM,EAAE;QACxC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,UAAU;QACpD,WAAW,EAAE,OAAO,CAAC,SAAS;QAC9B,kBAAkB,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAC;KACtD,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAwB,EAAE,OAA0B;IACnF,OAAO,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,YAAY,IAAI,SAAS,CAAC,CAAC;AAC7F,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { FixtureScenario } from '../types';
2
- export declare function loadFixtures(baseDir: string, filter?: {
3
- plugin?: string | undefined;
4
- tag?: string | undefined;
5
- }): Promise<FixtureScenario[]>;
6
- //# sourceMappingURL=fixture-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fixture-loader.d.ts","sourceRoot":"","sources":["../../src/fixtures/fixture-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AAE9C,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IACzD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAqB7B"}
@@ -1,23 +0,0 @@
1
- import { glob } from 'node:fs/promises';
2
- import { pathToFileURL } from 'node:url';
3
- export async function loadFixtures(baseDir, filter) {
4
- const pattern = `${baseDir}/**/*.fixture.{ts,js}`;
5
- const files = [];
6
- for await (const file of glob(pattern)) {
7
- files.push(file);
8
- }
9
- const fixtures = [];
10
- for (const file of files.sort()) {
11
- const mod = await import(pathToFileURL(file).href);
12
- const scenario = mod.default ?? mod.fixture;
13
- if (!scenario)
14
- continue;
15
- if (filter?.plugin && scenario.plugin !== filter.plugin)
16
- continue;
17
- if (filter?.tag && !scenario.tags?.includes(filter.tag))
18
- continue;
19
- fixtures.push(scenario);
20
- }
21
- return fixtures;
22
- }
23
- //# sourceMappingURL=fixture-loader.js.map