@dewtech/dare-cli 2.1.0 → 2.2.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 (49) hide show
  1. package/README.md +33 -6
  2. package/dist/__tests__/dag-runner/adapters.test.d.ts +2 -0
  3. package/dist/__tests__/dag-runner/adapters.test.d.ts.map +1 -0
  4. package/dist/__tests__/dag-runner/adapters.test.js +134 -0
  5. package/dist/__tests__/dag-runner/adapters.test.js.map +1 -0
  6. package/dist/__tests__/dag-runner/utils.test.d.ts +2 -0
  7. package/dist/__tests__/dag-runner/utils.test.d.ts.map +1 -0
  8. package/dist/__tests__/dag-runner/utils.test.js +75 -0
  9. package/dist/__tests__/dag-runner/utils.test.js.map +1 -0
  10. package/dist/commands/execute.d.ts.map +1 -1
  11. package/dist/commands/execute.js +38 -30
  12. package/dist/commands/execute.js.map +1 -1
  13. package/dist/dag-runner/adapters/antigravity.d.ts +6 -0
  14. package/dist/dag-runner/adapters/antigravity.d.ts.map +1 -0
  15. package/dist/dag-runner/adapters/antigravity.js +54 -0
  16. package/dist/dag-runner/adapters/antigravity.js.map +1 -0
  17. package/dist/dag-runner/adapters/claude.d.ts +6 -0
  18. package/dist/dag-runner/adapters/claude.d.ts.map +1 -0
  19. package/dist/dag-runner/adapters/claude.js +48 -0
  20. package/dist/dag-runner/adapters/claude.js.map +1 -0
  21. package/dist/dag-runner/adapters/cursor.d.ts +6 -0
  22. package/dist/dag-runner/adapters/cursor.d.ts.map +1 -0
  23. package/dist/dag-runner/adapters/cursor.js +58 -0
  24. package/dist/dag-runner/adapters/cursor.js.map +1 -0
  25. package/dist/dag-runner/adapters/index.d.ts +46 -0
  26. package/dist/dag-runner/adapters/index.d.ts.map +1 -0
  27. package/dist/dag-runner/adapters/index.js +55 -0
  28. package/dist/dag-runner/adapters/index.js.map +1 -0
  29. package/dist/dag-runner/run_dag.d.ts +21 -11
  30. package/dist/dag-runner/run_dag.d.ts.map +1 -1
  31. package/dist/dag-runner/run_dag.js +199 -124
  32. package/dist/dag-runner/run_dag.js.map +1 -1
  33. package/dist/dag-runner/utils/cap-output.d.ts +14 -0
  34. package/dist/dag-runner/utils/cap-output.d.ts.map +1 -0
  35. package/dist/dag-runner/utils/cap-output.js +22 -0
  36. package/dist/dag-runner/utils/cap-output.js.map +1 -0
  37. package/dist/dag-runner/utils/stitch-context.d.ts +24 -0
  38. package/dist/dag-runner/utils/stitch-context.d.ts.map +1 -0
  39. package/dist/dag-runner/utils/stitch-context.js +36 -0
  40. package/dist/dag-runner/utils/stitch-context.js.map +1 -0
  41. package/dist/dag-runner/utils/timeout.d.ts +27 -0
  42. package/dist/dag-runner/utils/timeout.d.ts.map +1 -0
  43. package/dist/dag-runner/utils/timeout.js +55 -0
  44. package/dist/dag-runner/utils/timeout.js.map +1 -0
  45. package/dist/index.d.ts +4 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +2 -1
  48. package/dist/index.js.map +1 -1
  49. package/package.json +4 -1
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Build the upstream context block injected into a child task's prompt.
3
+ *
4
+ * Each parent contributes a snippet capped at `parent_context_chars` chars
5
+ * (per the canonical `dare-dag.yaml` `limits` block). The snippet is the tail
6
+ * of the parent's output — that's where the most decision-relevant content
7
+ * tends to sit for AI agents (final answer, file paths, conclusions).
8
+ *
9
+ * The output is deterministic and self-describing so the child can locate
10
+ * each parent's contribution.
11
+ */
12
+ import type { DagTask } from '../run_dag.js';
13
+ export interface StitchContextInput {
14
+ task: DagTask;
15
+ parents: DagTask[];
16
+ parentContextChars: number;
17
+ }
18
+ export declare function stitchParentContext({ parents, parentContextChars, }: StitchContextInput): string;
19
+ /**
20
+ * Compose the final prompt sent to a runner: the task's `subtask_prompt`
21
+ * concatenated with the upstream context block (when present).
22
+ */
23
+ export declare function composePrompt(input: StitchContextInput): string;
24
+ //# sourceMappingURL=stitch-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stitch-context.d.ts","sourceRoot":"","sources":["../../../src/dag-runner/utils/stitch-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAID,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,kBAAkB,GACnB,EAAE,kBAAkB,GAAG,MAAM,CAgB7B;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAI/D"}
@@ -0,0 +1,36 @@
1
+ const HEADER = '## Upstream context';
2
+ export function stitchParentContext({ parents, parentContextChars, }) {
3
+ if (parents.length === 0)
4
+ return '';
5
+ if (parentContextChars <= 0)
6
+ return '';
7
+ const blocks = [HEADER, ''];
8
+ for (const parent of parents) {
9
+ const snippet = takeTail(parent.output ?? '', parentContextChars);
10
+ blocks.push(`### From parent: ${parent.id} — ${parent.title}`);
11
+ if (snippet.trim().length === 0) {
12
+ blocks.push('_(no captured output)_');
13
+ }
14
+ else {
15
+ blocks.push(snippet);
16
+ }
17
+ blocks.push('');
18
+ }
19
+ return blocks.join('\n');
20
+ }
21
+ /**
22
+ * Compose the final prompt sent to a runner: the task's `subtask_prompt`
23
+ * concatenated with the upstream context block (when present).
24
+ */
25
+ export function composePrompt(input) {
26
+ const ctx = stitchParentContext(input);
27
+ if (ctx.length === 0)
28
+ return input.task.subtask_prompt;
29
+ return `${input.task.subtask_prompt.trim()}\n\n${ctx}`.trimEnd() + '\n';
30
+ }
31
+ function takeTail(text, maxChars) {
32
+ if (text.length <= maxChars)
33
+ return text;
34
+ return `…${text.slice(text.length - maxChars + 1)}`;
35
+ }
36
+ //# sourceMappingURL=stitch-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stitch-context.js","sourceRoot":"","sources":["../../../src/dag-runner/utils/stitch-context.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,GAAG,qBAAqB,CAAC;AAErC,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,kBAAkB,GACC;IACnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,IAAI,kBAAkB,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,GAAG,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;IACvD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AAC1E,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,QAAgB;IAC9C,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;AACtD,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Run an async operation with a hard timeout, backed by `AbortController`.
3
+ *
4
+ * The operation receives the controller's `signal` — adapters MUST forward
5
+ * it to their underlying SDK call (Anthropic, Cursor, Google) so an external
6
+ * abort is honored. If the SDK doesn't support cancellation, we still time
7
+ * out at the JS level via the racing promise.
8
+ *
9
+ * Also accepts an optional `externalSignal` so a SIGINT/SIGTERM listener can
10
+ * cancel everything in flight.
11
+ */
12
+ export interface WithTimeoutOptions {
13
+ timeoutSeconds: number;
14
+ externalSignal?: AbortSignal;
15
+ }
16
+ export interface TimeoutContext {
17
+ signal: AbortSignal;
18
+ }
19
+ export declare class TaskTimeoutError extends Error {
20
+ readonly timeoutSeconds: number;
21
+ constructor(timeoutSeconds: number);
22
+ }
23
+ export declare class TaskAbortedError extends Error {
24
+ constructor(reason?: string);
25
+ }
26
+ export declare function withTimeout<T>(op: (ctx: TimeoutContext) => Promise<T>, { timeoutSeconds, externalSignal }: WithTimeoutOptions): Promise<T>;
27
+ //# sourceMappingURL=timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../src/dag-runner/utils/timeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aACb,cAAc,EAAE,MAAM;gBAAtB,cAAc,EAAE,MAAM;CAInD;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,MAAM,SAAY;CAI/B;AAED,wBAAsB,WAAW,CAAC,CAAC,EACjC,EAAE,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,EACvC,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,kBAAkB,GACrD,OAAO,CAAC,CAAC,CAAC,CA4BZ"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Run an async operation with a hard timeout, backed by `AbortController`.
3
+ *
4
+ * The operation receives the controller's `signal` — adapters MUST forward
5
+ * it to their underlying SDK call (Anthropic, Cursor, Google) so an external
6
+ * abort is honored. If the SDK doesn't support cancellation, we still time
7
+ * out at the JS level via the racing promise.
8
+ *
9
+ * Also accepts an optional `externalSignal` so a SIGINT/SIGTERM listener can
10
+ * cancel everything in flight.
11
+ */
12
+ export class TaskTimeoutError extends Error {
13
+ constructor(timeoutSeconds) {
14
+ super(`Task exceeded ${timeoutSeconds}s timeout`);
15
+ this.timeoutSeconds = timeoutSeconds;
16
+ this.name = 'TaskTimeoutError';
17
+ }
18
+ }
19
+ export class TaskAbortedError extends Error {
20
+ constructor(reason = 'aborted') {
21
+ super(`Task aborted: ${reason}`);
22
+ this.name = 'TaskAbortedError';
23
+ }
24
+ }
25
+ export async function withTimeout(op, { timeoutSeconds, externalSignal }) {
26
+ const controller = new AbortController();
27
+ // Forward external aborts (e.g. SIGINT handler) to our controller.
28
+ const onExternal = () => controller.abort('external');
29
+ if (externalSignal) {
30
+ if (externalSignal.aborted)
31
+ controller.abort('external');
32
+ else
33
+ externalSignal.addEventListener('abort', onExternal, { once: true });
34
+ }
35
+ const timer = setTimeout(() => controller.abort('timeout'), timeoutSeconds * 1000);
36
+ try {
37
+ return await Promise.race([
38
+ op({ signal: controller.signal }),
39
+ new Promise((_, reject) => {
40
+ controller.signal.addEventListener('abort', () => {
41
+ const reason = controller.signal.reason ?? 'aborted';
42
+ reject(reason === 'timeout'
43
+ ? new TaskTimeoutError(timeoutSeconds)
44
+ : new TaskAbortedError(String(reason)));
45
+ }, { once: true });
46
+ }),
47
+ ]);
48
+ }
49
+ finally {
50
+ clearTimeout(timer);
51
+ if (externalSignal)
52
+ externalSignal.removeEventListener('abort', onExternal);
53
+ }
54
+ }
55
+ //# sourceMappingURL=timeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../src/dag-runner/utils/timeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAA4B,cAAsB;QAChD,KAAK,CAAC,iBAAiB,cAAc,WAAW,CAAC,CAAC;QADxB,mBAAc,GAAd,cAAc,CAAQ;QAEhD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,MAAM,GAAG,SAAS;QAC5B,KAAK,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAuC,EACvC,EAAE,cAAc,EAAE,cAAc,EAAsB;IAEtD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAEzC,mEAAmE;IACnE,MAAM,UAAU,GAAG,GAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,cAAc,CAAC,OAAO;YAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;YACpD,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;IAEnF,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,OAAO,CAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC3B,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBAC/C,MAAM,MAAM,GAAI,UAAU,CAAC,MAAM,CAAC,MAA6B,IAAI,SAAS,CAAC;oBAC7E,MAAM,CAAC,MAAM,KAAK,SAAS;wBACzB,CAAC,CAAC,IAAI,gBAAgB,CAAC,cAAc,CAAC;wBACtC,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC5C,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACrB,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,cAAc;YAAE,cAAc,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,9 +9,11 @@ export { initCommand } from './commands/init.js';
9
9
  export { designCommand } from './commands/design.js';
10
10
  export { blueprintCommand } from './commands/blueprint.js';
11
11
  export { executeCommand } from './commands/execute.js';
12
- export { runDag } from './dag-runner/run_dag.js';
13
- export type { Dag, DagTask, RunDagOptions } from './dag-runner/run_dag.js';
12
+ export { runDag, computeRanks, DEFAULT_DAG_LIMITS } from './dag-runner/run_dag.js';
13
+ export type { Dag, DagTask, DagLimits, DagModelMap, DagModels, RunDagOptions, RunnerName, Complexity, TaskStatus as DagTaskStatus, } from './dag-runner/run_dag.js';
14
14
  export { convertYamlToDag, convertDagToYaml } from './utils/dag-converter.js';
15
+ export { getAdapter, MissingApiKeyError, AdapterCallError, } from './dag-runner/adapters/index.js';
16
+ export type { RunnerAdapter } from './dag-runner/adapters/index.js';
15
17
  export { generateProjectStructure } from './utils/project-generator.js';
16
18
  export type { ProjectConfig } from './utils/project-generator.js';
17
19
  export { GraphRAG } from './graphrag/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACnF,YAAY,EACV,GAAG,EACH,OAAO,EACP,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,IAAI,aAAa,GAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -11,8 +11,9 @@ export { designCommand } from './commands/design.js';
11
11
  export { blueprintCommand } from './commands/blueprint.js';
12
12
  export { executeCommand } from './commands/execute.js';
13
13
  // DAG Runner
14
- export { runDag } from './dag-runner/run_dag.js';
14
+ export { runDag, computeRanks, DEFAULT_DAG_LIMITS } from './dag-runner/run_dag.js';
15
15
  export { convertYamlToDag, convertDagToYaml } from './utils/dag-converter.js';
16
+ export { getAdapter, MissingApiKeyError, AdapterCallError, } from './dag-runner/adapters/index.js';
16
17
  // Project generation
17
18
  export { generateProjectStructure } from './utils/project-generator.js';
18
19
  // Knowledge graph engine
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,qBAAqB;AACrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,yBAAyB;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAe/C,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAYnF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AAGxC,qBAAqB;AACrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,yBAAyB;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAe/C,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dewtech/dare-cli",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "DARE Framework - CLI, GraphRAG engine, MCP server and shared types in a single package",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,6 +20,9 @@
20
20
  "templates"
21
21
  ],
22
22
  "dependencies": {
23
+ "@anthropic-ai/sdk": "^0.93.0",
24
+ "@cursor/sdk": "^1.0.12",
25
+ "@google/generative-ai": "^0.24.1",
23
26
  "chalk": "^5.3.0",
24
27
  "commander": "^11.0.0",
25
28
  "cors": "^2.8.5",