@xera-ai/core 0.4.4 → 0.8.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 (157) hide show
  1. package/dist/bin/internal.js +895 -537
  2. package/dist/src/index.js +109 -4
  3. package/package.json +6 -4
  4. package/src/artifact/status.ts +3 -0
  5. package/src/bin-internal/auth-setup.ts +116 -0
  6. package/src/bin-internal/exec.ts +42 -9
  7. package/src/bin-internal/graph-record.ts +3 -0
  8. package/src/bin-internal/index.ts +2 -0
  9. package/src/bin-internal/normalize.ts +13 -1
  10. package/src/bin-internal/report.ts +94 -2
  11. package/src/bin-internal/verify-prompts.ts +2 -1
  12. package/src/classifier/aggregate.ts +3 -0
  13. package/src/classifier/auth-expired.ts +44 -0
  14. package/src/classifier/contract-drift.ts +111 -0
  15. package/src/classifier/rate-limited.ts +25 -0
  16. package/src/config/schema.ts +51 -8
  17. package/src/graph/schema.ts +3 -0
  18. package/src/graph/types.ts +4 -1
  19. package/src/index.ts +2 -0
  20. package/src/scrub/index.ts +1 -0
  21. package/src/scrub/rules.ts +69 -0
  22. package/dist/adapter/types.d.ts +0 -70
  23. package/dist/adapter/types.d.ts.map +0 -1
  24. package/dist/artifact/hash.d.ts +0 -4
  25. package/dist/artifact/hash.d.ts.map +0 -1
  26. package/dist/artifact/meta.d.ts +0 -20
  27. package/dist/artifact/meta.d.ts.map +0 -1
  28. package/dist/artifact/paths.d.ts +0 -25
  29. package/dist/artifact/paths.d.ts.map +0 -1
  30. package/dist/artifact/status.d.ts +0 -75
  31. package/dist/artifact/status.d.ts.map +0 -1
  32. package/dist/auth/encrypt.d.ts +0 -4
  33. package/dist/auth/encrypt.d.ts.map +0 -1
  34. package/dist/auth/key.d.ts +0 -3
  35. package/dist/auth/key.d.ts.map +0 -1
  36. package/dist/auth/refresh.d.ts +0 -9
  37. package/dist/auth/refresh.d.ts.map +0 -1
  38. package/dist/auth/state.d.ts +0 -15
  39. package/dist/auth/state.d.ts.map +0 -1
  40. package/dist/bin-internal/disputes.d.ts +0 -2
  41. package/dist/bin-internal/disputes.d.ts.map +0 -1
  42. package/dist/bin-internal/doctor.d.ts +0 -5
  43. package/dist/bin-internal/doctor.d.ts.map +0 -1
  44. package/dist/bin-internal/eval-deterministic.d.ts +0 -5
  45. package/dist/bin-internal/eval-deterministic.d.ts.map +0 -1
  46. package/dist/bin-internal/eval-prepare.d.ts +0 -7
  47. package/dist/bin-internal/eval-prepare.d.ts.map +0 -1
  48. package/dist/bin-internal/eval-report.d.ts +0 -5
  49. package/dist/bin-internal/eval-report.d.ts.map +0 -1
  50. package/dist/bin-internal/exec.d.ts +0 -2
  51. package/dist/bin-internal/exec.d.ts.map +0 -1
  52. package/dist/bin-internal/fetch.d.ts +0 -5
  53. package/dist/bin-internal/fetch.d.ts.map +0 -1
  54. package/dist/bin-internal/graph-backfill.d.ts +0 -2
  55. package/dist/bin-internal/graph-backfill.d.ts.map +0 -1
  56. package/dist/bin-internal/graph-enrich.d.ts +0 -2
  57. package/dist/bin-internal/graph-enrich.d.ts.map +0 -1
  58. package/dist/bin-internal/graph-query.d.ts +0 -2
  59. package/dist/bin-internal/graph-query.d.ts.map +0 -1
  60. package/dist/bin-internal/graph-record-script.d.ts +0 -2
  61. package/dist/bin-internal/graph-record-script.d.ts.map +0 -1
  62. package/dist/bin-internal/graph-record.d.ts +0 -3
  63. package/dist/bin-internal/graph-record.d.ts.map +0 -1
  64. package/dist/bin-internal/graph-render.d.ts +0 -2
  65. package/dist/bin-internal/graph-render.d.ts.map +0 -1
  66. package/dist/bin-internal/graph-snapshot.d.ts +0 -2
  67. package/dist/bin-internal/graph-snapshot.d.ts.map +0 -1
  68. package/dist/bin-internal/heal-prepare.d.ts +0 -19
  69. package/dist/bin-internal/heal-prepare.d.ts.map +0 -1
  70. package/dist/bin-internal/impact-prepare.d.ts +0 -2
  71. package/dist/bin-internal/impact-prepare.d.ts.map +0 -1
  72. package/dist/bin-internal/index.d.ts +0 -2
  73. package/dist/bin-internal/index.d.ts.map +0 -1
  74. package/dist/bin-internal/lint.d.ts +0 -2
  75. package/dist/bin-internal/lint.d.ts.map +0 -1
  76. package/dist/bin-internal/normalize.d.ts +0 -2
  77. package/dist/bin-internal/normalize.d.ts.map +0 -1
  78. package/dist/bin-internal/post.d.ts +0 -2
  79. package/dist/bin-internal/post.d.ts.map +0 -1
  80. package/dist/bin-internal/promote.d.ts +0 -2
  81. package/dist/bin-internal/promote.d.ts.map +0 -1
  82. package/dist/bin-internal/report.d.ts +0 -2
  83. package/dist/bin-internal/report.d.ts.map +0 -1
  84. package/dist/bin-internal/status-cmd.d.ts +0 -2
  85. package/dist/bin-internal/status-cmd.d.ts.map +0 -1
  86. package/dist/bin-internal/typecheck.d.ts +0 -2
  87. package/dist/bin-internal/typecheck.d.ts.map +0 -1
  88. package/dist/bin-internal/unlock.d.ts +0 -2
  89. package/dist/bin-internal/unlock.d.ts.map +0 -1
  90. package/dist/bin-internal/validate-feature.d.ts +0 -2
  91. package/dist/bin-internal/validate-feature.d.ts.map +0 -1
  92. package/dist/bin-internal/verify-prompts.d.ts +0 -7
  93. package/dist/bin-internal/verify-prompts.d.ts.map +0 -1
  94. package/dist/classifier/aggregate.d.ts +0 -3
  95. package/dist/classifier/aggregate.d.ts.map +0 -1
  96. package/dist/classifier/history.d.ts +0 -13
  97. package/dist/classifier/history.d.ts.map +0 -1
  98. package/dist/classifier/types.d.ts +0 -26
  99. package/dist/classifier/types.d.ts.map +0 -1
  100. package/dist/config/define.d.ts +0 -3
  101. package/dist/config/define.d.ts.map +0 -1
  102. package/dist/config/load.d.ts +0 -3
  103. package/dist/config/load.d.ts.map +0 -1
  104. package/dist/config/schema.d.ts +0 -72
  105. package/dist/config/schema.d.ts.map +0 -1
  106. package/dist/eval/paths.d.ts +0 -15
  107. package/dist/eval/paths.d.ts.map +0 -1
  108. package/dist/eval/run-id.d.ts +0 -6
  109. package/dist/eval/run-id.d.ts.map +0 -1
  110. package/dist/eval/types.d.ts +0 -203
  111. package/dist/eval/types.d.ts.map +0 -1
  112. package/dist/graph/classify.d.ts +0 -42
  113. package/dist/graph/classify.d.ts.map +0 -1
  114. package/dist/graph/cost.d.ts +0 -21
  115. package/dist/graph/cost.d.ts.map +0 -1
  116. package/dist/graph/enrich.d.ts +0 -10
  117. package/dist/graph/enrich.d.ts.map +0 -1
  118. package/dist/graph/impact.d.ts +0 -31
  119. package/dist/graph/impact.d.ts.map +0 -1
  120. package/dist/graph/index.d.ts +0 -17
  121. package/dist/graph/index.d.ts.map +0 -1
  122. package/dist/graph/paths.d.ts +0 -10
  123. package/dist/graph/paths.d.ts.map +0 -1
  124. package/dist/graph/render.d.ts +0 -50
  125. package/dist/graph/render.d.ts.map +0 -1
  126. package/dist/graph/schema.d.ts +0 -180
  127. package/dist/graph/schema.d.ts.map +0 -1
  128. package/dist/graph/similarity.d.ts +0 -3
  129. package/dist/graph/similarity.d.ts.map +0 -1
  130. package/dist/graph/store.d.ts +0 -14
  131. package/dist/graph/store.d.ts.map +0 -1
  132. package/dist/graph/types.d.ts +0 -152
  133. package/dist/graph/types.d.ts.map +0 -1
  134. package/dist/graph/ulid.d.ts +0 -2
  135. package/dist/graph/ulid.d.ts.map +0 -1
  136. package/dist/index.d.ts +0 -20
  137. package/dist/index.d.ts.map +0 -1
  138. package/dist/jira/client.d.ts +0 -11
  139. package/dist/jira/client.d.ts.map +0 -1
  140. package/dist/jira/fields.d.ts +0 -7
  141. package/dist/jira/fields.d.ts.map +0 -1
  142. package/dist/jira/mcp-backend.d.ts +0 -3
  143. package/dist/jira/mcp-backend.d.ts.map +0 -1
  144. package/dist/jira/rest-backend.d.ts +0 -8
  145. package/dist/jira/rest-backend.d.ts.map +0 -1
  146. package/dist/jira/retry.d.ts +0 -8
  147. package/dist/jira/retry.d.ts.map +0 -1
  148. package/dist/jira/types.d.ts +0 -29
  149. package/dist/jira/types.d.ts.map +0 -1
  150. package/dist/lock/file-lock.d.ts +0 -12
  151. package/dist/lock/file-lock.d.ts.map +0 -1
  152. package/dist/logging/ndjson-logger.d.ts +0 -11
  153. package/dist/logging/ndjson-logger.d.ts.map +0 -1
  154. package/dist/reporter/jira-comment.d.ts +0 -9
  155. package/dist/reporter/jira-comment.d.ts.map +0 -1
  156. package/dist/reporter/status-writer.d.ts +0 -14
  157. package/dist/reporter/status-writer.d.ts.map +0 -1
@@ -1,29 +0,0 @@
1
- export interface JiraTicket {
2
- key: string;
3
- summary: string;
4
- story: string;
5
- acceptanceCriteria?: string;
6
- attachments: Array<{
7
- filename: string;
8
- url: string;
9
- }>;
10
- raw: Record<string, unknown>;
11
- }
12
- export interface JiraFieldMap {
13
- story: string;
14
- acceptanceCriteria?: string;
15
- }
16
- export interface JiraClient {
17
- readonly backend: 'mcp' | 'rest';
18
- fetchTicket(key: string, fields: JiraFieldMap): Promise<JiraTicket>;
19
- postComment(key: string, body: string): Promise<{
20
- id: string;
21
- }>;
22
- transitionStatus(key: string, statusName: string): Promise<void>;
23
- listFields(sampleKey: string): Promise<Array<{
24
- id: string;
25
- name: string;
26
- hasContent: boolean;
27
- }>>;
28
- }
29
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/jira/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACpE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CAAC;CAClG"}
@@ -1,12 +0,0 @@
1
- export interface LockData {
2
- pid: number;
3
- hostname: string;
4
- started_at: string;
5
- run_id: string;
6
- }
7
- export declare function acquireLock(path: string, runId: string): boolean;
8
- export declare function releaseLock(path: string): void;
9
- export declare function readLock(path: string): LockData | null;
10
- export declare function isLockStale(path: string): boolean;
11
- export declare function forceUnlock(path: string): void;
12
- //# sourceMappingURL=file-lock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-lock.d.ts","sourceRoot":"","sources":["../../src/lock/file-lock.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAgBhE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAGtD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAcjD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9C"}
@@ -1,11 +0,0 @@
1
- export interface LogEntry {
2
- ts: string;
3
- [key: string]: unknown;
4
- }
5
- export declare class NdjsonLogger {
6
- private readonly path;
7
- constructor(path: string);
8
- log(payload: Record<string, unknown>): void;
9
- static readAll(path: string): LogEntry[];
10
- }
11
- //# sourceMappingURL=ndjson-logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ndjson-logger.d.ts","sourceRoot":"","sources":["../../src/logging/ndjson-logger.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,MAAM;IAIzC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK3C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE;CAMzC"}
@@ -1,9 +0,0 @@
1
- import type { ClassifyOutput } from '../classifier/types';
2
- export interface JiraCommentInput extends ClassifyOutput {
3
- ticket: string;
4
- runId: string;
5
- xeraVersion: string;
6
- promptsVersion: string;
7
- }
8
- export declare function buildJiraComment(input: JiraCommentInput): string;
9
- //# sourceMappingURL=jira-comment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jira-comment.d.ts","sourceRoot":"","sources":["../../src/reporter/jira-comment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CA2BhE"}
@@ -1,14 +0,0 @@
1
- import type { ClassifyOutput } from '../classifier/types';
2
- export interface StatusWriterInput {
3
- ticket: string;
4
- runTs: string;
5
- classification: ClassifyOutput;
6
- scenarioCounts: {
7
- total: number;
8
- passed: number;
9
- failed: number;
10
- skipped: number;
11
- };
12
- }
13
- export declare function writeStatusFromClassification(path: string, input: StatusWriterInput): void;
14
- //# sourceMappingURL=status-writer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-writer.d.ts","sourceRoot":"","sources":["../../src/reporter/status-writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACpF;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAyB1F"}