@miller-tech/uap 1.95.0 → 1.96.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 (44) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/bin/cli.js +6 -0
  3. package/dist/bin/cli.js.map +1 -1
  4. package/dist/cli/deliver.d.ts.map +1 -1
  5. package/dist/cli/deliver.js +46 -5
  6. package/dist/cli/deliver.js.map +1 -1
  7. package/dist/cli/task.d.ts +1 -1
  8. package/dist/cli/task.d.ts.map +1 -1
  9. package/dist/cli/task.js +31 -0
  10. package/dist/cli/task.js.map +1 -1
  11. package/dist/delivery/auto-mine.d.ts +3 -0
  12. package/dist/delivery/auto-mine.d.ts.map +1 -1
  13. package/dist/delivery/auto-mine.js +61 -2
  14. package/dist/delivery/auto-mine.js.map +1 -1
  15. package/dist/delivery/candidate-workspace.d.ts +32 -0
  16. package/dist/delivery/candidate-workspace.d.ts.map +1 -0
  17. package/dist/delivery/candidate-workspace.js +117 -0
  18. package/dist/delivery/candidate-workspace.js.map +1 -0
  19. package/dist/delivery/convergence-loop.d.ts +10 -0
  20. package/dist/delivery/convergence-loop.d.ts.map +1 -1
  21. package/dist/delivery/convergence-loop.js +24 -1
  22. package/dist/delivery/convergence-loop.js.map +1 -1
  23. package/dist/delivery/explorer.d.ts +9 -0
  24. package/dist/delivery/explorer.d.ts.map +1 -1
  25. package/dist/delivery/explorer.js +83 -23
  26. package/dist/delivery/explorer.js.map +1 -1
  27. package/dist/delivery/index.d.ts +2 -1
  28. package/dist/delivery/index.d.ts.map +1 -1
  29. package/dist/delivery/index.js +2 -1
  30. package/dist/delivery/index.js.map +1 -1
  31. package/dist/delivery/run-state.d.ts.map +1 -1
  32. package/dist/delivery/run-state.js +32 -0
  33. package/dist/delivery/run-state.js.map +1 -1
  34. package/dist/observability/halo-exporter.d.ts +2 -0
  35. package/dist/observability/halo-exporter.d.ts.map +1 -1
  36. package/dist/observability/halo-exporter.js +31 -1
  37. package/dist/observability/halo-exporter.js.map +1 -1
  38. package/dist/tasks/beads-sync.d.ts +38 -0
  39. package/dist/tasks/beads-sync.d.ts.map +1 -0
  40. package/dist/tasks/beads-sync.js +122 -0
  41. package/dist/tasks/beads-sync.js.map +1 -0
  42. package/package.json +1 -1
  43. package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
  44. package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/delivery/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,oBAAoB,GAcrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,cAAc,GAGf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAEhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAElB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,GAEV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GAKxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,yBAAyB,GAM1B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,GAKf,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,WAAW,GAIZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,YAAY,GAIb,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,cAAc,GAMf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GAMf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,8BAA8B,GAG/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,GAG3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,cAAc,GAEf,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,wBAAwB,GAGzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GAGpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAkC,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/delivery/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,oBAAoB,GAcrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,cAAc,GAGf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAEhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,GAExB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GAGzB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,GAEV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GAKxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,yBAAyB,GAM1B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,GAKf,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,WAAW,GAIZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,YAAY,GAIb,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,cAAc,GAMf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GAMf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,8BAA8B,GAG/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,GAG3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,cAAc,GAEf,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,wBAAwB,GAGzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GAGpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAkC,MAAM,mCAAmC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-state.d.ts","sourceRoot":"","sources":["../../src/delivery/run-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,gFAAgF;IAChF,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAGjC;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAY5D;AA4DD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAqBvF"}
1
+ {"version":3,"file":"run-state.d.ts","sourceRoot":"","sources":["../../src/delivery/run-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,gFAAgF;IAChF,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAGjC;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAY5D;AAwFD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAqBvF"}
@@ -95,6 +95,38 @@ function readState(projectRoot, runId) {
95
95
  if (parsed.taskId !== undefined && (typeof parsed.taskId !== 'string' || !/^uap-[0-9a-f]{8}$/.test(parsed.taskId))) {
96
96
  delete parsed.taskId;
97
97
  }
98
+ if (parsed.checkpoint) {
99
+ const cp = parsed.checkpoint;
100
+ // Seeds are re-injected verbatim into every candidate prompt on resume —
101
+ // enforce the same bounds the ideation generator does at creation time.
102
+ if (cp.seeds !== undefined) {
103
+ if (!Array.isArray(cp.seeds)) {
104
+ delete cp.seeds;
105
+ }
106
+ else {
107
+ const seeds = [];
108
+ for (const seed of cp.seeds.slice(0, 8)) {
109
+ if (typeof seed !== 'object' || seed === null)
110
+ continue;
111
+ const { id, hint } = seed;
112
+ if (typeof id !== 'string' || typeof hint !== 'string')
113
+ continue;
114
+ if (!/^[a-z0-9][a-z0-9-]{0,47}$/.test(id))
115
+ continue;
116
+ seeds.push({ id, hint: hint.slice(0, 400) });
117
+ }
118
+ cp.seeds = seeds.length >= 2 ? seeds : undefined;
119
+ }
120
+ }
121
+ if (cp.candidates !== undefined) {
122
+ cp.candidates =
123
+ typeof cp.candidates === 'number' && Number.isFinite(cp.candidates)
124
+ ? Math.min(8, Math.max(2, Math.round(cp.candidates)))
125
+ : undefined;
126
+ }
127
+ cp.criticEnabled = cp.criticEnabled === undefined ? undefined : Boolean(cp.criticEnabled);
128
+ cp.modelEscalated = cp.modelEscalated === undefined ? undefined : Boolean(cp.modelEscalated);
129
+ }
98
130
  return parsed;
99
131
  }
100
132
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"run-state.js","sourceRoot":"","sources":["../../src/delivery/run-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-state.js","sourceRoot":"","sources":["../../src/delivery/run-state.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,8 @@ export declare function sessionTraceId(): string;
78
78
  export declare function _resetHaloSession(): void;
79
79
  /** Build the serialized span object without performing any I/O (pure). */
80
80
  export declare function buildHaloSpan(input: HaloSpanInput): HaloSpan;
81
+ /** Reset rotation counter. Test-only. */
82
+ export declare function _resetRotationCounter(): void;
81
83
  /** Append a span to the trace file. No-op when tracing is disabled. */
82
84
  export declare function recordHaloSpan(input: HaloSpanInput): void;
83
85
  /** Convenience: record a TOOL span. */
@@ -1 +1 @@
1
- {"version":3,"file":"halo-exporter.d.ts","sourceRoot":"","sources":["../../src/observability/halo-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"halo-exporter.d.ts","sourceRoot":"","sources":["../../src/observability/halo-exporter.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@
17
17
  *
18
18
  * Failures here never throw into the caller — tracing must not break execution.
19
19
  */
20
- import { appendFileSync, mkdirSync } from 'fs';
20
+ import { appendFileSync, mkdirSync, renameSync, statSync } from 'fs';
21
21
  import { dirname, join } from 'path';
22
22
  import { randomBytes, createHash } from 'crypto';
23
23
  /** Schema version HALO expects in `inference.export.schema_version`. */
@@ -95,6 +95,35 @@ export function buildHaloSpan(input) {
95
95
  return span;
96
96
  }
97
97
  let _warned = false;
98
+ /** Size-based rotation: with tracing on by default the file must not grow
99
+ * unboundedly. Checked every ROTATE_CHECK_EVERY appends (stat is not free);
100
+ * above the cap the file rotates to `<path>.1`, replacing the previous
101
+ * rotation — one generation of history is enough for auto-mining. */
102
+ const ROTATE_CHECK_EVERY = 100;
103
+ const DEFAULT_MAX_TRACE_BYTES = 10 * 1024 * 1024;
104
+ let _appendsSinceCheck = 0;
105
+ function maxTraceBytes() {
106
+ const v = Number(process.env.UAP_HALO_TRACE_MAX_BYTES);
107
+ return Number.isFinite(v) && v > 0 ? v : DEFAULT_MAX_TRACE_BYTES;
108
+ }
109
+ function maybeRotate(path) {
110
+ _appendsSinceCheck += 1;
111
+ if (_appendsSinceCheck < ROTATE_CHECK_EVERY)
112
+ return;
113
+ _appendsSinceCheck = 0;
114
+ try {
115
+ if (statSync(path).size > maxTraceBytes()) {
116
+ renameSync(path, `${path}.1`);
117
+ }
118
+ }
119
+ catch {
120
+ // missing file / racing writer — rotation is best-effort
121
+ }
122
+ }
123
+ /** Reset rotation counter. Test-only. */
124
+ export function _resetRotationCounter() {
125
+ _appendsSinceCheck = 0;
126
+ }
98
127
  /** Append a span to the trace file. No-op when tracing is disabled. */
99
128
  export function recordHaloSpan(input) {
100
129
  if (!isHaloTracingEnabled())
@@ -103,6 +132,7 @@ export function recordHaloSpan(input) {
103
132
  const span = buildHaloSpan(input);
104
133
  const path = haloTracePath();
105
134
  mkdirSync(dirname(path), { recursive: true });
135
+ maybeRotate(path);
106
136
  appendFileSync(path, JSON.stringify(span) + '\n');
107
137
  }
108
138
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"halo-exporter.js","sourceRoot":"","sources":["../../src/observability/halo-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"halo-exporter.js","sourceRoot":"","sources":["../../src/observability/halo-exporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Beads ↔ Task sync — one source of truth for "what needs doing".
3
+ *
4
+ * Some projects carry a legacy `beads` tracker (`.beads/issues.jsonl`)
5
+ * alongside the UAP task DB, with no linkage — two half-true boards. This
6
+ * module imports beads issues into the task DB idempotently: each issue maps
7
+ * to one task carrying a `beads:<id>` label; re-running updates status drift
8
+ * (beads is treated as the source for beads-labeled tasks).
9
+ *
10
+ * Import-only by design: UAP never writes back into `.beads/` (that file
11
+ * belongs to the beads CLI). Fail-soft throughout.
12
+ */
13
+ import type { TaskService } from './service.js';
14
+ export interface BeadsSyncResult {
15
+ imported: number;
16
+ updated: number;
17
+ unchanged: number;
18
+ skipped: number;
19
+ }
20
+ interface BeadsIssue {
21
+ id: string;
22
+ title: string;
23
+ description?: string;
24
+ status?: string;
25
+ priority?: number;
26
+ issue_type?: string;
27
+ }
28
+ export declare function beadsIssuesPath(projectRoot: string): string;
29
+ export declare function hasBeads(projectRoot: string): boolean;
30
+ export declare function readBeadsIssues(projectRoot: string): BeadsIssue[];
31
+ /**
32
+ * Import/refresh beads issues into the task DB. Idempotent: matches on the
33
+ * `beads:<id>` label; creates missing tasks, updates status drift, leaves
34
+ * everything else alone.
35
+ */
36
+ export declare function syncBeadsToTasks(projectRoot: string, service: TaskService): BeadsSyncResult;
37
+ export {};
38
+ //# sourceMappingURL=beads-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beads-sync.d.ts","sourceRoot":"","sources":["../../src/tasks/beads-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAaD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAErD;AAQD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,EAAE,CA2BjE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,eAAe,CAqD3F"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Beads ↔ Task sync — one source of truth for "what needs doing".
3
+ *
4
+ * Some projects carry a legacy `beads` tracker (`.beads/issues.jsonl`)
5
+ * alongside the UAP task DB, with no linkage — two half-true boards. This
6
+ * module imports beads issues into the task DB idempotently: each issue maps
7
+ * to one task carrying a `beads:<id>` label; re-running updates status drift
8
+ * (beads is treated as the source for beads-labeled tasks).
9
+ *
10
+ * Import-only by design: UAP never writes back into `.beads/` (that file
11
+ * belongs to the beads CLI). Fail-soft throughout.
12
+ */
13
+ import { existsSync, readFileSync } from 'fs';
14
+ import { join } from 'path';
15
+ const STATUS_MAP = {
16
+ open: 'open',
17
+ in_progress: 'in_progress',
18
+ blocked: 'blocked',
19
+ closed: 'done',
20
+ done: 'done',
21
+ wont_do: 'wont_do',
22
+ };
23
+ const TYPE_SET = new Set(['task', 'bug', 'feature', 'epic', 'chore', 'story']);
24
+ export function beadsIssuesPath(projectRoot) {
25
+ return join(projectRoot, '.beads', 'issues.jsonl');
26
+ }
27
+ export function hasBeads(projectRoot) {
28
+ return existsSync(beadsIssuesPath(projectRoot));
29
+ }
30
+ /** Parse .beads/issues.jsonl, dropping malformed lines. */
31
+ /** Issue ids become task labels; refuse anything that is not a plain slug. */
32
+ const ISSUE_ID_RE = /^[A-Za-z0-9._:-]{1,64}$/;
33
+ /** Hard cap — the file is repo-controlled and sync auto-runs on `task ready`. */
34
+ const MAX_ISSUES = 2000;
35
+ export function readBeadsIssues(projectRoot) {
36
+ try {
37
+ const lines = readFileSync(beadsIssuesPath(projectRoot), 'utf-8')
38
+ .split('\n')
39
+ .filter(Boolean)
40
+ .slice(0, MAX_ISSUES);
41
+ const issues = [];
42
+ for (const line of lines) {
43
+ try {
44
+ const parsed = JSON.parse(line);
45
+ if (parsed &&
46
+ typeof parsed.id === 'string' &&
47
+ ISSUE_ID_RE.test(parsed.id) &&
48
+ typeof parsed.title === 'string' &&
49
+ parsed.title.trim()) {
50
+ issues.push(parsed);
51
+ }
52
+ }
53
+ catch {
54
+ // skip corrupt line
55
+ }
56
+ }
57
+ return issues;
58
+ }
59
+ catch {
60
+ return [];
61
+ }
62
+ }
63
+ /**
64
+ * Import/refresh beads issues into the task DB. Idempotent: matches on the
65
+ * `beads:<id>` label; creates missing tasks, updates status drift, leaves
66
+ * everything else alone.
67
+ */
68
+ export function syncBeadsToTasks(projectRoot, service) {
69
+ const result = { imported: 0, updated: 0, unchanged: 0, skipped: 0 };
70
+ const issues = readBeadsIssues(projectRoot);
71
+ if (issues.length === 0)
72
+ return result;
73
+ for (const issue of issues) {
74
+ try {
75
+ const label = `beads:${issue.id}`;
76
+ const status = STATUS_MAP[issue.status ?? 'open'] ?? 'open';
77
+ const existing = service.list({ labels: [label] });
78
+ if (existing.length === 0) {
79
+ const type = TYPE_SET.has(issue.issue_type) ? issue.issue_type : 'task';
80
+ const rawPriority = typeof issue.priority === 'number' && Number.isFinite(issue.priority) ? issue.priority : 2;
81
+ const priority = Math.min(4, Math.max(0, Math.round(rawPriority)));
82
+ const task = service.create({
83
+ title: issue.title.slice(0, 200),
84
+ description: (issue.description ?? '').slice(0, 2000) || undefined,
85
+ type,
86
+ priority,
87
+ labels: [label, 'beads'],
88
+ });
89
+ if (status !== 'open') {
90
+ if (status === 'done') {
91
+ service.close(task.id, `beads status: ${String(issue.status).slice(0, 40)}`);
92
+ }
93
+ else {
94
+ // update() handles terminal wont_do correctly (sets closed_at);
95
+ // close() would relabel it 'done' and churn forever on re-sync.
96
+ service.update(task.id, { status });
97
+ }
98
+ }
99
+ result.imported += 1;
100
+ continue;
101
+ }
102
+ const task = existing[0];
103
+ if (task.status === status) {
104
+ result.unchanged += 1;
105
+ continue;
106
+ }
107
+ // Beads is the source of truth for beads-labeled tasks.
108
+ if (status === 'done') {
109
+ service.close(task.id, `beads status: ${String(issue.status).slice(0, 40)}`);
110
+ }
111
+ else {
112
+ service.update(task.id, { status });
113
+ }
114
+ result.updated += 1;
115
+ }
116
+ catch {
117
+ result.skipped += 1;
118
+ }
119
+ }
120
+ return result;
121
+ }
122
+ //# sourceMappingURL=beads-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beads-sync.js","sourceRoot":"","sources":["../../src/tasks/beads-sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miller-tech/uap",
3
- "version": "1.95.0",
3
+ "version": "1.96.0",
4
4
  "description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",