@lumenflow/mcp 2.21.1 → 3.1.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 (96) hide show
  1. package/LICENSE +13 -185
  2. package/dist/bin.d.ts.map +1 -1
  3. package/dist/bin.js +2 -0
  4. package/dist/bin.js.map +1 -1
  5. package/dist/cli-runner.d.ts +0 -13
  6. package/dist/cli-runner.d.ts.map +1 -1
  7. package/dist/cli-runner.js +2 -0
  8. package/dist/cli-runner.js.map +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/mcp-constants.d.ts +173 -0
  13. package/dist/mcp-constants.d.ts.map +1 -0
  14. package/dist/mcp-constants.js +193 -0
  15. package/dist/mcp-constants.js.map +1 -0
  16. package/dist/resources.d.ts +0 -8
  17. package/dist/resources.d.ts.map +1 -1
  18. package/dist/resources.js +2 -0
  19. package/dist/resources.js.map +1 -1
  20. package/dist/runtime-cache.d.ts +7 -0
  21. package/dist/runtime-cache.d.ts.map +1 -0
  22. package/dist/runtime-cache.js +28 -0
  23. package/dist/runtime-cache.js.map +1 -0
  24. package/dist/runtime-tool-resolver.constants.d.ts +33 -0
  25. package/dist/runtime-tool-resolver.constants.d.ts.map +1 -0
  26. package/dist/runtime-tool-resolver.constants.js +35 -0
  27. package/dist/runtime-tool-resolver.constants.js.map +1 -0
  28. package/dist/runtime-tool-resolver.d.ts +5 -0
  29. package/dist/runtime-tool-resolver.d.ts.map +1 -0
  30. package/dist/runtime-tool-resolver.js +2030 -0
  31. package/dist/runtime-tool-resolver.js.map +1 -0
  32. package/dist/server.d.ts +0 -11
  33. package/dist/server.d.ts.map +1 -1
  34. package/dist/server.js +32 -4
  35. package/dist/server.js.map +1 -1
  36. package/dist/tools/agent-tools.d.ts +0 -8
  37. package/dist/tools/agent-tools.d.ts.map +1 -1
  38. package/dist/tools/agent-tools.js +115 -41
  39. package/dist/tools/agent-tools.js.map +1 -1
  40. package/dist/tools/context-tools.d.ts +1 -7
  41. package/dist/tools/context-tools.d.ts.map +1 -1
  42. package/dist/tools/context-tools.js +25 -40
  43. package/dist/tools/context-tools.js.map +1 -1
  44. package/dist/tools/flow-tools.d.ts +0 -8
  45. package/dist/tools/flow-tools.d.ts.map +1 -1
  46. package/dist/tools/flow-tools.js +53 -64
  47. package/dist/tools/flow-tools.js.map +1 -1
  48. package/dist/tools/initiative-tools.d.ts +0 -8
  49. package/dist/tools/initiative-tools.d.ts.map +1 -1
  50. package/dist/tools/initiative-tools.js +200 -84
  51. package/dist/tools/initiative-tools.js.map +1 -1
  52. package/dist/tools/memory-tools.d.ts +0 -8
  53. package/dist/tools/memory-tools.d.ts.map +1 -1
  54. package/dist/tools/memory-tools.js +270 -166
  55. package/dist/tools/memory-tools.js.map +1 -1
  56. package/dist/tools/orchestration-tools.d.ts +0 -8
  57. package/dist/tools/orchestration-tools.d.ts.map +1 -1
  58. package/dist/tools/orchestration-tools.js +101 -57
  59. package/dist/tools/orchestration-tools.js.map +1 -1
  60. package/dist/tools/parity-tools.d.ts +12 -8
  61. package/dist/tools/parity-tools.d.ts.map +1 -1
  62. package/dist/tools/parity-tools.js +778 -193
  63. package/dist/tools/parity-tools.js.map +1 -1
  64. package/dist/tools/runtime-task-constants.d.ts +19 -0
  65. package/dist/tools/runtime-task-constants.d.ts.map +1 -0
  66. package/dist/tools/runtime-task-constants.js +21 -0
  67. package/dist/tools/runtime-task-constants.js.map +1 -0
  68. package/dist/tools/runtime-task-tools.d.ts +10 -0
  69. package/dist/tools/runtime-task-tools.d.ts.map +1 -0
  70. package/dist/tools/runtime-task-tools.js +116 -0
  71. package/dist/tools/runtime-task-tools.js.map +1 -0
  72. package/dist/tools/setup-tools.d.ts +0 -8
  73. package/dist/tools/setup-tools.d.ts.map +1 -1
  74. package/dist/tools/setup-tools.js +152 -65
  75. package/dist/tools/setup-tools.js.map +1 -1
  76. package/dist/tools/validation-tools.d.ts +0 -8
  77. package/dist/tools/validation-tools.d.ts.map +1 -1
  78. package/dist/tools/validation-tools.js +100 -54
  79. package/dist/tools/validation-tools.js.map +1 -1
  80. package/dist/tools/wu-tools.d.ts +1 -11
  81. package/dist/tools/wu-tools.d.ts.map +1 -1
  82. package/dist/tools/wu-tools.js +446 -250
  83. package/dist/tools/wu-tools.js.map +1 -1
  84. package/dist/tools-shared.d.ts +81 -1
  85. package/dist/tools-shared.d.ts.map +1 -1
  86. package/dist/tools-shared.js +201 -1
  87. package/dist/tools-shared.js.map +1 -1
  88. package/dist/tools.d.ts +29 -2
  89. package/dist/tools.d.ts.map +1 -1
  90. package/dist/tools.js +61 -32
  91. package/dist/tools.js.map +1 -1
  92. package/dist/worktree-enforcement.d.ts +32 -0
  93. package/dist/worktree-enforcement.d.ts.map +1 -0
  94. package/dist/worktree-enforcement.js +154 -0
  95. package/dist/worktree-enforcement.js.map +1 -0
  96. package/package.json +8 -5
@@ -1,12 +1,16 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
1
3
  /**
2
4
  * @file context-tools.ts
3
5
  * @description Context/read operations via @lumenflow/core
4
6
  *
5
7
  * WU-1642: Extracted from tools.ts during domain decomposition.
8
+ * WU-1803: Migrated from shell-out/direct core calls to executeViaPack (runtime pack execution)
6
9
  */
7
10
  import { z } from 'zod';
8
11
  import { wuStatusEnum } from '@lumenflow/core';
9
- import { ErrorCodes, getCore, success, error, runCliCommand, } from '../tools-shared.js';
12
+ import { ErrorCodes, CliArgs, executeViaPack } from '../tools-shared.js';
13
+ import { CliCommands } from '../mcp-constants.js';
10
14
  /**
11
15
  * context_get - Get current WU context (location, git state, WU state)
12
16
  */
@@ -14,60 +18,41 @@ export const contextGetTool = {
14
18
  name: 'context_get',
15
19
  description: 'Get current LumenFlow context including location, git state, and active WU',
16
20
  inputSchema: z.object({}).optional(),
17
- async execute(_input, options) {
18
- try {
19
- const core = await getCore();
20
- const context = await core.computeWuContext({
21
- cwd: options?.projectRoot,
22
- });
23
- return success(context);
24
- }
25
- catch (err) {
26
- return error(err instanceof Error ? err.message : String(err), ErrorCodes.CONTEXT_ERROR);
27
- }
21
+ async execute(input, options) {
22
+ const result = await executeViaPack(CliCommands.CONTEXT_GET, input ?? {}, {
23
+ projectRoot: options?.projectRoot,
24
+ fallback: {
25
+ command: CliCommands.CONTEXT_GET,
26
+ args: [],
27
+ errorCode: ErrorCodes.CONTEXT_ERROR,
28
+ },
29
+ });
30
+ return result;
28
31
  },
29
32
  };
30
33
  /**
31
34
  * wu_list - List all WUs with optional status filter
32
- * Uses CLI shell-out for consistency with other tools
33
35
  *
34
36
  * WU-1431: Uses shared wuStatusEnum for status filter
37
+ * WU-1803: Migrated from CLI validation alias path to executeViaPack('wu:list')
35
38
  */
36
39
  export const wuListTool = {
37
40
  name: 'wu_list',
38
41
  description: 'List all Work Units (WUs) with optional status filter',
39
- // WU-1431: Uses shared wuStatusEnum for status filter
40
- // (wu_list is MCP-specific, not a shared CLI command, so inline schema is OK)
41
42
  inputSchema: z.object({
42
43
  status: wuStatusEnum.optional(),
43
44
  lane: z.string().optional(),
44
45
  }),
45
46
  async execute(input, options) {
46
- // Use spec:linter which validates and lists all WUs
47
- const cliOptions = { projectRoot: options?.projectRoot };
48
- // Shell out to get all WU YAMLs via validate --all
49
- const result = await runCliCommand('wu:validate', ['--all', '--json'], cliOptions);
50
- if (result.success) {
51
- try {
52
- const data = JSON.parse(result.stdout);
53
- let wus = Array.isArray(data) ? data : data.wus || [];
54
- // Apply filters
55
- if (input.status) {
56
- wus = wus.filter((wu) => wu.status === input.status);
57
- }
58
- if (input.lane) {
59
- wus = wus.filter((wu) => wu.lane === input.lane);
60
- }
61
- return success(wus);
62
- }
63
- catch {
64
- // If JSON parse fails, return raw output
65
- return success({ message: result.stdout });
66
- }
67
- }
68
- else {
69
- return error(result.stderr || result.error?.message || 'wu_list failed', ErrorCodes.WU_LIST_ERROR);
70
- }
47
+ const result = await executeViaPack(CliCommands.WU_LIST, input, {
48
+ projectRoot: options?.projectRoot,
49
+ fallback: {
50
+ command: CliCommands.WU_VALIDATE,
51
+ args: ['--all', CliArgs.JSON],
52
+ errorCode: ErrorCodes.WU_LIST_ERROR,
53
+ },
54
+ });
55
+ return result;
71
56
  },
72
57
  };
73
58
  //# sourceMappingURL=context-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-tools.js","sourceRoot":"","sources":["../../src/tools/context-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-tools.js","sourceRoot":"","sources":["../../src/tools/context-tools.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAuB,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,4EAA4E;IACzF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEpC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO;QAC1B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,EAAE;YACxE,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,QAAQ,EAAE;gBACR,OAAO,EAAE,WAAW,CAAC,WAAW;gBAChC,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,UAAU,CAAC,aAAa;aACpC;SACF,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAmB;IACxC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,uDAAuD;IACpE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO;QAC1B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE;YAC9D,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,QAAQ,EAAE;gBACR,OAAO,EAAE,WAAW,CAAC,WAAW;gBAChC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;gBAC7B,SAAS,EAAE,UAAU,CAAC,aAAa;aACpC;SACF,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC"}
@@ -1,11 +1,3 @@
1
- /**
2
- * @file flow-tools.ts
3
- * @description Flow/Metrics tool implementations
4
- *
5
- * WU-1642: Extracted from tools.ts during domain decomposition.
6
- * WU-1426: Flow/Metrics tools: flow_bottlenecks, flow_report, metrics_snapshot
7
- * WU-1457: All flow/metrics commands use shared schemas
8
- */
9
1
  import { type ToolDefinition } from '../tools-shared.js';
10
2
  /**
11
3
  * flow_bottlenecks - Identify flow bottlenecks
@@ -1 +1 @@
1
- {"version":3,"file":"flow-tools.d.ts","sourceRoot":"","sources":["../../src/tools/flow-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,EACL,KAAK,cAAc,EAQpB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cA8BjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,cAgC5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cA0BjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAkBlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,cAkBzB,CAAC"}
1
+ {"version":3,"file":"flow-tools.d.ts","sourceRoot":"","sources":["../../src/tools/flow-tools.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,KAAK,cAAc,EAKpB,MAAM,oBAAoB,CAAC;AAG5B;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAsBjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,cAwB5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAiBjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAmBlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,cAmBzB,CAAC"}
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
1
3
  /**
2
4
  * @file flow-tools.ts
3
5
  * @description Flow/Metrics tool implementations
@@ -5,9 +7,11 @@
5
7
  * WU-1642: Extracted from tools.ts during domain decomposition.
6
8
  * WU-1426: Flow/Metrics tools: flow_bottlenecks, flow_report, metrics_snapshot
7
9
  * WU-1457: All flow/metrics commands use shared schemas
10
+ * WU-1803: Migrated from CLI shell-out to executeViaPack (runtime pack execution)
8
11
  */
9
12
  import { flowBottlenecksSchema, flowReportSchema, metricsSnapshotSchema, metricsSchema, } from '@lumenflow/core';
10
- import { ErrorCodes, CliArgs, success, error, buildMetricsArgs, runCliCommand, } from '../tools-shared.js';
13
+ import { ErrorCodes, CliArgs, buildMetricsArgs, executeViaPack, } from '../tools-shared.js';
14
+ import { CliCommands } from '../mcp-constants.js';
11
15
  /**
12
16
  * flow_bottlenecks - Identify flow bottlenecks
13
17
  */
@@ -17,28 +21,21 @@ export const flowBottlenecksTool = {
17
21
  inputSchema: flowBottlenecksSchema,
18
22
  async execute(input, options) {
19
23
  const args = [];
20
- // WU-1457: Use shared schema fields (limit, format match CLI flags)
21
24
  if (input.limit)
22
25
  args.push('--limit', String(input.limit));
23
26
  if (input.format)
24
- args.push('--format', input.format);
25
- // WU-1452: flow:bottlenecks uses --format json, not --json
27
+ args.push(CliArgs.FORMAT, input.format);
26
28
  if (input.json)
27
29
  args.push(...CliArgs.FORMAT_JSON);
28
- const cliOptions = { projectRoot: options?.projectRoot };
29
- const result = await runCliCommand('flow:bottlenecks', args, cliOptions);
30
- if (result.success) {
31
- try {
32
- const data = JSON.parse(result.stdout);
33
- return success(data);
34
- }
35
- catch {
36
- return success({ message: result.stdout || 'Bottleneck analysis complete' });
37
- }
38
- }
39
- else {
40
- return error(result.stderr || result.error?.message || 'flow:bottlenecks failed', ErrorCodes.FLOW_BOTTLENECKS_ERROR);
41
- }
30
+ const result = await executeViaPack(CliCommands.FLOW_BOTTLENECKS, input, {
31
+ projectRoot: options?.projectRoot,
32
+ fallback: {
33
+ command: CliCommands.FLOW_BOTTLENECKS,
34
+ args,
35
+ errorCode: ErrorCodes.FLOW_BOTTLENECKS_ERROR,
36
+ },
37
+ });
38
+ return result;
42
39
  },
43
40
  };
44
41
  /**
@@ -50,32 +47,25 @@ export const flowReportTool = {
50
47
  inputSchema: flowReportSchema,
51
48
  async execute(input, options) {
52
49
  const args = [];
53
- // WU-1457: Use shared schema field names (start/end match CLI flags)
54
50
  if (input.start)
55
51
  args.push('--start', input.start);
56
52
  if (input.end)
57
53
  args.push('--end', input.end);
58
54
  if (input.days)
59
55
  args.push('--days', String(input.days));
60
- // WU-1452: flow:report uses --format, not --json
61
56
  if (input.format)
62
- args.push('--format', input.format);
57
+ args.push(CliArgs.FORMAT, input.format);
63
58
  if (input.json)
64
59
  args.push(...CliArgs.FORMAT_JSON);
65
- const cliOptions = { projectRoot: options?.projectRoot };
66
- const result = await runCliCommand('flow:report', args, cliOptions);
67
- if (result.success) {
68
- try {
69
- const data = JSON.parse(result.stdout);
70
- return success(data);
71
- }
72
- catch {
73
- return success({ message: result.stdout || 'Flow report generated' });
74
- }
75
- }
76
- else {
77
- return error(result.stderr || result.error?.message || 'flow:report failed', ErrorCodes.FLOW_REPORT_ERROR);
78
- }
60
+ const result = await executeViaPack(CliCommands.FLOW_REPORT, input, {
61
+ projectRoot: options?.projectRoot,
62
+ fallback: {
63
+ command: CliCommands.FLOW_REPORT,
64
+ args,
65
+ errorCode: ErrorCodes.FLOW_REPORT_ERROR,
66
+ },
67
+ });
68
+ return result;
79
69
  },
80
70
  };
81
71
  /**
@@ -85,23 +75,16 @@ export const metricsSnapshotTool = {
85
75
  name: 'metrics_snapshot',
86
76
  description: 'Capture a snapshot of current LumenFlow metrics',
87
77
  inputSchema: metricsSnapshotSchema,
88
- async execute(_input, options) {
89
- // WU-1452: metrics:snapshot always outputs JSON (writes to file); no --json flag exists
90
- const args = [];
91
- const cliOptions = { projectRoot: options?.projectRoot };
92
- const result = await runCliCommand('metrics:snapshot', args, cliOptions);
93
- if (result.success) {
94
- try {
95
- const data = JSON.parse(result.stdout);
96
- return success(data);
97
- }
98
- catch {
99
- return success({ message: result.stdout || 'Metrics snapshot captured' });
100
- }
101
- }
102
- else {
103
- return error(result.stderr || result.error?.message || 'metrics:snapshot failed', ErrorCodes.METRICS_SNAPSHOT_ERROR);
104
- }
78
+ async execute(input, options) {
79
+ const result = await executeViaPack(CliCommands.METRICS_SNAPSHOT, input, {
80
+ projectRoot: options?.projectRoot,
81
+ fallback: {
82
+ command: CliCommands.METRICS_SNAPSHOT,
83
+ args: [],
84
+ errorCode: ErrorCodes.METRICS_SNAPSHOT_ERROR,
85
+ },
86
+ });
87
+ return result;
105
88
  },
106
89
  };
107
90
  /**
@@ -113,12 +96,15 @@ export const lumenflowMetricsTool = {
113
96
  inputSchema: metricsSchema,
114
97
  async execute(input, options) {
115
98
  const args = buildMetricsArgs(input);
116
- const cliOptions = { projectRoot: options?.projectRoot };
117
- const result = await runCliCommand('metrics', args, cliOptions);
118
- if (result.success) {
119
- return success({ message: result.stdout || 'Metrics generated' });
120
- }
121
- return error(result.stderr || result.error?.message || 'lumenflow:metrics failed', ErrorCodes.LUMENFLOW_METRICS_ERROR);
99
+ const result = await executeViaPack(CliCommands.LUMENFLOW_METRICS, input, {
100
+ projectRoot: options?.projectRoot,
101
+ fallback: {
102
+ command: CliCommands.METRICS,
103
+ args,
104
+ errorCode: ErrorCodes.LUMENFLOW_METRICS_ERROR,
105
+ },
106
+ });
107
+ return result;
122
108
  },
123
109
  };
124
110
  /**
@@ -130,12 +116,15 @@ export const metricsTool = {
130
116
  inputSchema: metricsSchema,
131
117
  async execute(input, options) {
132
118
  const args = buildMetricsArgs(input);
133
- const cliOptions = { projectRoot: options?.projectRoot };
134
- const result = await runCliCommand('metrics', args, cliOptions);
135
- if (result.success) {
136
- return success({ message: result.stdout || 'Metrics generated' });
137
- }
138
- return error(result.stderr || result.error?.message || 'metrics failed', ErrorCodes.METRICS_ERROR);
119
+ const result = await executeViaPack(CliCommands.METRICS, input, {
120
+ projectRoot: options?.projectRoot,
121
+ fallback: {
122
+ command: CliCommands.METRICS,
123
+ args,
124
+ errorCode: ErrorCodes.METRICS_ERROR,
125
+ },
126
+ });
127
+ return result;
139
128
  },
140
129
  };
141
130
  //# sourceMappingURL=flow-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flow-tools.js","sourceRoot":"","sources":["../../src/tools/flow-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-tools.js","sourceRoot":"","sources":["../../src/tools/flow-tools.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,3 @@
1
- /**
2
- * @file initiative-tools.ts
3
- * @description Initiative tool implementations
4
- *
5
- * WU-1642: Extracted from tools.ts during domain decomposition.
6
- * WU-1424: Initiative tools
7
- * WU-1455: Initiative command schemas from @lumenflow/core
8
- */
9
1
  import { type ToolDefinition } from '../tools-shared.js';
10
2
  /**
11
3
  * initiative_list - List all initiatives
@@ -1 +1 @@
1
- {"version":3,"file":"initiative-tools.d.ts","sourceRoot":"","sources":["../../src/tools/initiative-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,EACL,KAAK,cAAc,EASpB,MAAM,oBAAoB,CAAC;AAwB5B;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cA6BhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAgClC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAuClC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAuDhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cA6BjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,cA4BpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,cA0BpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cA2BhC,CAAC"}
1
+ {"version":3,"file":"initiative-tools.d.ts","sourceRoot":"","sources":["../../src/tools/initiative-tools.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,KAAK,cAAc,EAQpB,MAAM,oBAAoB,CAAC;AA+E5B;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAiChC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAoClC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAoDlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAoEhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cA0CjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAyCpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAuCpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAwChC,CAAC"}