@blackms/aistack 1.0.7 → 1.0.9
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.
- package/LICENSE +21 -0
- package/README.md +8 -2
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/workflow.d.ts +6 -0
- package/dist/cli/commands/workflow.d.ts.map +1 -0
- package/dist/cli/commands/workflow.js +114 -0
- package/dist/cli/commands/workflow.js.map +1 -0
- package/dist/cli/index.js +2 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/task.d.ts.map +1 -1
- package/dist/hooks/task.js +55 -0
- package/dist/hooks/task.js.map +1 -1
- package/dist/hooks/workflow.d.ts +39 -0
- package/dist/hooks/workflow.d.ts.map +1 -0
- package/dist/hooks/workflow.js +129 -0
- package/dist/hooks/workflow.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/cli-providers.d.ts +90 -0
- package/dist/providers/cli-providers.d.ts.map +1 -0
- package/dist/providers/cli-providers.js +263 -0
- package/dist/providers/cli-providers.js.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +31 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/types.d.ts +15 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/workflows/doc-sync.d.ts +51 -0
- package/dist/workflows/doc-sync.d.ts.map +1 -0
- package/dist/workflows/doc-sync.js +370 -0
- package/dist/workflows/doc-sync.js.map +1 -0
- package/dist/workflows/index.d.ts +9 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/index.js +10 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/runner.d.ts +41 -0
- package/dist/workflows/runner.d.ts.map +1 -0
- package/dist/workflows/runner.js +185 -0
- package/dist/workflows/runner.js.map +1 -0
- package/dist/workflows/types.d.ts +103 -0
- package/dist/workflows/types.d.ts.map +1 -0
- package/dist/workflows/types.js +5 -0
- package/dist/workflows/types.js.map +1 -0
- package/package.json +1 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 blackms
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -132,7 +132,7 @@ graph TB
|
|
|
132
132
|
| **mcp** | MCP server exposing 30 tools via stdio transport |
|
|
133
133
|
| **coordination** | Hierarchical coordinator, task queue, and message bus |
|
|
134
134
|
| **providers** | Anthropic, OpenAI, and Ollama LLM integrations |
|
|
135
|
-
| **hooks** |
|
|
135
|
+
| **hooks** | 5 lifecycle events: session-start, session-end, pre-task, post-task, workflow |
|
|
136
136
|
| **plugins** | Runtime extensibility for agents, tools, and hooks |
|
|
137
137
|
|
|
138
138
|
---
|
|
@@ -145,9 +145,15 @@ graph TB
|
|
|
145
145
|
| `agent spawn -t <type>` | Spawn an agent |
|
|
146
146
|
| `agent list` | List active agents |
|
|
147
147
|
| `agent stop -n <name>` | Stop an agent |
|
|
148
|
+
| `agent status -n <name>` | Get agent status |
|
|
149
|
+
| `agent types` | List available agent types |
|
|
148
150
|
| `memory store -k <key> -c <content>` | Store key-value pair |
|
|
149
151
|
| `memory search -q <query>` | Full-text search |
|
|
152
|
+
| `memory list` | List memory entries |
|
|
153
|
+
| `memory delete -k <key>` | Delete entry |
|
|
150
154
|
| `mcp start` | Start MCP server |
|
|
155
|
+
| `plugin list` | List loaded plugins |
|
|
156
|
+
| `workflow run <name>` | Run a workflow |
|
|
151
157
|
| `status` | System status |
|
|
152
158
|
|
|
153
159
|
---
|
|
@@ -291,7 +297,7 @@ const server = await startMCPServer(config);
|
|
|
291
297
|
import { MemoryManager } from '@blackms/aistack/memory';
|
|
292
298
|
|
|
293
299
|
// Agents only
|
|
294
|
-
import { spawnAgent,
|
|
300
|
+
import { spawnAgent, listAgentTypes, getAgentDefinition } from '@blackms/aistack/agents';
|
|
295
301
|
|
|
296
302
|
// MCP server only
|
|
297
303
|
import { startMCPServer } from '@blackms/aistack/mcp';
|
|
@@ -7,4 +7,5 @@ export { createMemoryCommand } from './memory.js';
|
|
|
7
7
|
export { createMcpCommand } from './mcp.js';
|
|
8
8
|
export { createPluginCommand } from './plugin.js';
|
|
9
9
|
export { createStatusCommand } from './status.js';
|
|
10
|
+
export { createWorkflowCommand } from './workflow.js';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -7,4 +7,5 @@ export { createMemoryCommand } from './memory.js';
|
|
|
7
7
|
export { createMcpCommand } from './mcp.js';
|
|
8
8
|
export { createPluginCommand } from './plugin.js';
|
|
9
9
|
export { createStatusCommand } from './status.js';
|
|
10
|
+
export { createWorkflowCommand } from './workflow.js';
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/workflow.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,qBAAqB,IAAI,OAAO,CA2H/C"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* workflow command - Run and manage workflows
|
|
3
|
+
*/
|
|
4
|
+
import { Command } from 'commander';
|
|
5
|
+
import { runDocSync, getWorkflowRunner, resetWorkflowRunner } from '../../workflows/index.js';
|
|
6
|
+
import { registerDefaultTriggers, getWorkflowTriggers, clearWorkflowTriggers } from '../../hooks/index.js';
|
|
7
|
+
import { logger } from '../../utils/logger.js';
|
|
8
|
+
const log = logger.child('workflow');
|
|
9
|
+
export function createWorkflowCommand() {
|
|
10
|
+
const command = new Command('workflow')
|
|
11
|
+
.description('Run and manage workflows');
|
|
12
|
+
// Run subcommand
|
|
13
|
+
command
|
|
14
|
+
.command('run <workflow>')
|
|
15
|
+
.description('Run a workflow')
|
|
16
|
+
.option('-d, --docs <path>', 'Documentation directory', './docs')
|
|
17
|
+
.option('-s, --source <path>', 'Source code directory', '.')
|
|
18
|
+
.option('-v, --verbose', 'Verbose output')
|
|
19
|
+
.action(async (workflow, options) => {
|
|
20
|
+
const { docs, verbose } = options;
|
|
21
|
+
console.log(`Running workflow: ${workflow}\n`);
|
|
22
|
+
const runner = getWorkflowRunner();
|
|
23
|
+
// Subscribe to events if verbose
|
|
24
|
+
if (verbose) {
|
|
25
|
+
runner.on('phase:start', (phase) => {
|
|
26
|
+
console.log(` [PHASE] Starting: ${phase}`);
|
|
27
|
+
});
|
|
28
|
+
runner.on('phase:complete', (result) => {
|
|
29
|
+
console.log(` [PHASE] Completed: ${result.phase} (${result.success ? 'PASS' : 'FAIL'})`);
|
|
30
|
+
if (result.findings.length > 0) {
|
|
31
|
+
console.log(` Findings: ${result.findings.length}`);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
runner.on('finding', (finding) => {
|
|
35
|
+
console.log(` [FINDING] ${finding.severity.toUpperCase()}: ${finding.claim}`);
|
|
36
|
+
console.log(` ${finding.contradiction}`);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
switch (workflow) {
|
|
41
|
+
case 'doc-sync':
|
|
42
|
+
case 'documentation_truth_sync_with_adversarial_review':
|
|
43
|
+
await runDocSync(docs);
|
|
44
|
+
console.log('\nWorkflow completed.');
|
|
45
|
+
break;
|
|
46
|
+
default:
|
|
47
|
+
console.error(`Unknown workflow: ${workflow}`);
|
|
48
|
+
console.log('\nAvailable workflows:');
|
|
49
|
+
console.log(' doc-sync Documentation sync with adversarial review');
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.error('Workflow failed:', error instanceof Error ? error.message : String(error));
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
log.info('Workflow executed', { workflow });
|
|
58
|
+
});
|
|
59
|
+
// List subcommand
|
|
60
|
+
command
|
|
61
|
+
.command('list')
|
|
62
|
+
.description('List available workflows')
|
|
63
|
+
.action(() => {
|
|
64
|
+
console.log('Available workflows:\n');
|
|
65
|
+
console.log(' doc-sync');
|
|
66
|
+
console.log(' Documentation Truth Sync with Adversarial Review');
|
|
67
|
+
console.log(' Ensures all documentation is perfectly aligned with the codebase');
|
|
68
|
+
console.log(' Phases: inventory → analysis → sync → consistency → adversarial → reconciliation');
|
|
69
|
+
console.log('');
|
|
70
|
+
});
|
|
71
|
+
// Triggers subcommand
|
|
72
|
+
command
|
|
73
|
+
.command('triggers')
|
|
74
|
+
.description('Manage workflow triggers')
|
|
75
|
+
.option('-l, --list', 'List registered triggers')
|
|
76
|
+
.option('-r, --register-defaults', 'Register default triggers')
|
|
77
|
+
.option('-c, --clear', 'Clear all triggers')
|
|
78
|
+
.action((options) => {
|
|
79
|
+
const { list, registerDefaults, clear } = options;
|
|
80
|
+
if (clear) {
|
|
81
|
+
clearWorkflowTriggers();
|
|
82
|
+
console.log('All workflow triggers cleared.');
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (registerDefaults) {
|
|
86
|
+
registerDefaultTriggers();
|
|
87
|
+
console.log('Default triggers registered.');
|
|
88
|
+
}
|
|
89
|
+
if (list || registerDefaults) {
|
|
90
|
+
const triggers = getWorkflowTriggers();
|
|
91
|
+
console.log(`\nRegistered triggers (${triggers.length}):\n`);
|
|
92
|
+
for (const trigger of triggers) {
|
|
93
|
+
console.log(` ${trigger.id}`);
|
|
94
|
+
console.log(` Name: ${trigger.name}`);
|
|
95
|
+
console.log(` Workflow: ${trigger.workflowId}`);
|
|
96
|
+
console.log('');
|
|
97
|
+
}
|
|
98
|
+
if (triggers.length === 0) {
|
|
99
|
+
console.log(' No triggers registered.');
|
|
100
|
+
console.log(' Use --register-defaults to add default triggers.\n');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
// Reset subcommand
|
|
105
|
+
command
|
|
106
|
+
.command('reset')
|
|
107
|
+
.description('Reset workflow runner state')
|
|
108
|
+
.action(() => {
|
|
109
|
+
resetWorkflowRunner();
|
|
110
|
+
console.log('Workflow runner reset.');
|
|
111
|
+
});
|
|
112
|
+
return command;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/cli/commands/workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Command } from 'commander';
|
|
6
6
|
import { logger } from '../utils/logger.js';
|
|
7
|
-
import { createInitCommand, createAgentCommand, createMemoryCommand, createMcpCommand, createPluginCommand, createStatusCommand, } from './commands/index.js';
|
|
7
|
+
import { createInitCommand, createAgentCommand, createMemoryCommand, createMcpCommand, createPluginCommand, createStatusCommand, createWorkflowCommand, } from './commands/index.js';
|
|
8
8
|
// Read version from package.json would be ideal, but for now hardcode
|
|
9
9
|
const VERSION = '1.0.0';
|
|
10
10
|
async function main() {
|
|
@@ -31,6 +31,7 @@ async function main() {
|
|
|
31
31
|
program.addCommand(createMcpCommand());
|
|
32
32
|
program.addCommand(createPluginCommand());
|
|
33
33
|
program.addCommand(createStatusCommand());
|
|
34
|
+
program.addCommand(createWorkflowCommand());
|
|
34
35
|
// Parse arguments
|
|
35
36
|
await program.parseAsync(process.argv);
|
|
36
37
|
}
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,sEAAsE;AACtE,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,YAAY,CAAC;SAClB,WAAW,CAAC,2CAA2C,CAAC;SACxD,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;SACjD,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC;SACxC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAA4C,CAAC;QAE1E,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,eAAe;IACf,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAE5C,kBAAkB;IAClB,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -26,4 +26,5 @@ export declare function clearCustomHooks(): void;
|
|
|
26
26
|
export declare function getHookCount(event?: HookEvent): number;
|
|
27
27
|
export { sessionStartHook, sessionEndHook } from './session.js';
|
|
28
28
|
export { preTaskHook, postTaskHook } from './task.js';
|
|
29
|
+
export { workflowHook, registerWorkflowTrigger, unregisterWorkflowTrigger, getWorkflowTriggers, clearWorkflowTriggers, registerDefaultTriggers, type WorkflowTrigger, } from './workflow.js';
|
|
29
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AASnD,KAAK,WAAW,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAG5G;;GAEG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CAkDf;AAoBD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAKzE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAEtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAUtD;AAGD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { sessionStartHook, sessionEndHook } from './session.js';
|
|
5
5
|
import { preTaskHook, postTaskHook } from './task.js';
|
|
6
|
+
import { workflowHook } from './workflow.js';
|
|
6
7
|
import { logger } from '../utils/logger.js';
|
|
7
8
|
const log = logger.child('hooks');
|
|
8
9
|
const customHooks = new Map();
|
|
@@ -32,6 +33,9 @@ export async function executeHooks(event, context, memory, config) {
|
|
|
32
33
|
case 'post-task':
|
|
33
34
|
await postTaskHook(context, memory, config);
|
|
34
35
|
break;
|
|
36
|
+
case 'workflow':
|
|
37
|
+
await workflowHook(context, memory, config);
|
|
38
|
+
break;
|
|
35
39
|
}
|
|
36
40
|
// Execute custom hooks
|
|
37
41
|
const handlers = customHooks.get(event) ?? [];
|
|
@@ -109,4 +113,5 @@ export function getHookCount(event) {
|
|
|
109
113
|
// Re-export hook functions
|
|
110
114
|
export { sessionStartHook, sessionEndHook } from './session.js';
|
|
111
115
|
export { preTaskHook, postTaskHook } from './task.js';
|
|
116
|
+
export { workflowHook, registerWorkflowTrigger, unregisterWorkflowTrigger, getWorkflowTriggers, clearWorkflowTriggers, registerDefaultTriggers, } from './workflow.js';
|
|
112
117
|
//# sourceMappingURL=index.js.map
|
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/task.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/hooks/task.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/hooks/task.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOnD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAmDf;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAgCf"}
|
package/dist/hooks/task.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Task hooks - pre-task, post-task
|
|
3
3
|
*/
|
|
4
4
|
import { logger } from '../utils/logger.js';
|
|
5
|
+
import { getWorkflowTriggers } from './workflow.js';
|
|
6
|
+
import { getWorkflowRunner, registerDocSyncWorkflow, docSyncConfig } from '../workflows/index.js';
|
|
5
7
|
const log = logger.child('hooks:task');
|
|
6
8
|
/**
|
|
7
9
|
* Pre-task hook
|
|
@@ -78,5 +80,58 @@ export async function postTaskHook(context, memory, _config) {
|
|
|
78
80
|
});
|
|
79
81
|
log.debug('Stored task result', { taskId: context.taskId });
|
|
80
82
|
}
|
|
83
|
+
// Check if task modified documentation files
|
|
84
|
+
await checkDocumentationTrigger(context, memory);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Check if task modified documentation and trigger sync workflow
|
|
88
|
+
*/
|
|
89
|
+
async function checkDocumentationTrigger(context, memory) {
|
|
90
|
+
const modifiedFiles = context.data?.modifiedFiles;
|
|
91
|
+
if (!modifiedFiles || modifiedFiles.length === 0) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// Check if any modified file is documentation
|
|
95
|
+
const hasDocChanges = modifiedFiles.some((file) => file.includes('/docs/') || file.endsWith('.md') || file.endsWith('.mdx'));
|
|
96
|
+
if (!hasDocChanges) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
log.info('Documentation changes detected, checking triggers', {
|
|
100
|
+
files: modifiedFiles.filter((f) => f.includes('/docs/') || f.endsWith('.md')),
|
|
101
|
+
});
|
|
102
|
+
// Check registered triggers
|
|
103
|
+
const triggers = getWorkflowTriggers();
|
|
104
|
+
const docSyncTrigger = triggers.find((t) => t.workflowId === 'doc-sync');
|
|
105
|
+
if (docSyncTrigger) {
|
|
106
|
+
log.info('Running doc-sync workflow via trigger');
|
|
107
|
+
try {
|
|
108
|
+
const runner = getWorkflowRunner();
|
|
109
|
+
registerDocSyncWorkflow();
|
|
110
|
+
const config = { ...docSyncConfig };
|
|
111
|
+
if (docSyncTrigger.options?.targetDirectory) {
|
|
112
|
+
config.inputs.targetDirectory = docSyncTrigger.options.targetDirectory;
|
|
113
|
+
}
|
|
114
|
+
const report = await runner.run(config);
|
|
115
|
+
// Store workflow report
|
|
116
|
+
await memory.store(`workflow-report-${report.id}`, JSON.stringify(report, null, 2), {
|
|
117
|
+
namespace: 'workflows',
|
|
118
|
+
metadata: {
|
|
119
|
+
triggeredBy: 'post-task',
|
|
120
|
+
taskId: context.taskId,
|
|
121
|
+
verdict: report.verdict,
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
log.info('Doc-sync workflow completed', {
|
|
125
|
+
verdict: report.verdict,
|
|
126
|
+
documentsScanned: report.summary.documentsScanned,
|
|
127
|
+
findings: report.summary.findingsTotal,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
log.error('Doc-sync workflow failed', {
|
|
132
|
+
error: error instanceof Error ? error.message : String(error),
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
81
136
|
}
|
|
82
137
|
//# sourceMappingURL=task.js.map
|
package/dist/hooks/task.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/hooks/task.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/hooks/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow hook handler
|
|
3
|
+
*
|
|
4
|
+
* Triggers workflows based on conditions
|
|
5
|
+
*/
|
|
6
|
+
import type { HookContext, AgentStackConfig } from '../types.js';
|
|
7
|
+
import type { MemoryManager } from '../memory/index.js';
|
|
8
|
+
export interface WorkflowTrigger {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
condition: (context: HookContext) => boolean;
|
|
12
|
+
workflowId: string;
|
|
13
|
+
options?: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Register a workflow trigger
|
|
17
|
+
*/
|
|
18
|
+
export declare function registerWorkflowTrigger(trigger: WorkflowTrigger): void;
|
|
19
|
+
/**
|
|
20
|
+
* Unregister a workflow trigger
|
|
21
|
+
*/
|
|
22
|
+
export declare function unregisterWorkflowTrigger(triggerId: string): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Get all registered triggers
|
|
25
|
+
*/
|
|
26
|
+
export declare function getWorkflowTriggers(): WorkflowTrigger[];
|
|
27
|
+
/**
|
|
28
|
+
* Clear all triggers
|
|
29
|
+
*/
|
|
30
|
+
export declare function clearWorkflowTriggers(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Workflow hook - executes workflows based on triggers
|
|
33
|
+
*/
|
|
34
|
+
export declare function workflowHook(context: HookContext, memory: MemoryManager, _config: AgentStackConfig): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Default triggers
|
|
37
|
+
*/
|
|
38
|
+
export declare function registerDefaultTriggers(): void;
|
|
39
|
+
//# sourceMappingURL=workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/hooks/workflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAKD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAGtE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAOpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,EAAE,CAEvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAmBf;AAiED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAe9C"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow hook handler
|
|
3
|
+
*
|
|
4
|
+
* Triggers workflows based on conditions
|
|
5
|
+
*/
|
|
6
|
+
import { getWorkflowRunner, registerDocSyncWorkflow, docSyncConfig } from '../workflows/index.js';
|
|
7
|
+
import { logger } from '../utils/logger.js';
|
|
8
|
+
const log = logger.child('workflow-hook');
|
|
9
|
+
// Registered workflow triggers
|
|
10
|
+
const triggers = [];
|
|
11
|
+
/**
|
|
12
|
+
* Register a workflow trigger
|
|
13
|
+
*/
|
|
14
|
+
export function registerWorkflowTrigger(trigger) {
|
|
15
|
+
triggers.push(trigger);
|
|
16
|
+
log.debug('Registered workflow trigger', { id: trigger.id, name: trigger.name });
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Unregister a workflow trigger
|
|
20
|
+
*/
|
|
21
|
+
export function unregisterWorkflowTrigger(triggerId) {
|
|
22
|
+
const index = triggers.findIndex(t => t.id === triggerId);
|
|
23
|
+
if (index >= 0) {
|
|
24
|
+
triggers.splice(index, 1);
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get all registered triggers
|
|
31
|
+
*/
|
|
32
|
+
export function getWorkflowTriggers() {
|
|
33
|
+
return [...triggers];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Clear all triggers
|
|
37
|
+
*/
|
|
38
|
+
export function clearWorkflowTriggers() {
|
|
39
|
+
triggers.length = 0;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Workflow hook - executes workflows based on triggers
|
|
43
|
+
*/
|
|
44
|
+
export async function workflowHook(context, memory, _config) {
|
|
45
|
+
const workflowId = context.data?.workflowId;
|
|
46
|
+
// If specific workflow requested
|
|
47
|
+
if (workflowId) {
|
|
48
|
+
await executeWorkflow(workflowId, context, memory);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
// Check triggers
|
|
52
|
+
for (const trigger of triggers) {
|
|
53
|
+
if (trigger.condition(context)) {
|
|
54
|
+
log.info('Trigger matched, executing workflow', {
|
|
55
|
+
triggerId: trigger.id,
|
|
56
|
+
workflowId: trigger.workflowId,
|
|
57
|
+
});
|
|
58
|
+
await executeWorkflow(trigger.workflowId, context, memory, trigger.options);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Execute a workflow by ID
|
|
64
|
+
*/
|
|
65
|
+
async function executeWorkflow(workflowId, context, memory, options) {
|
|
66
|
+
const runner = getWorkflowRunner();
|
|
67
|
+
try {
|
|
68
|
+
switch (workflowId) {
|
|
69
|
+
case 'documentation_truth_sync_with_adversarial_review':
|
|
70
|
+
case 'doc-sync': {
|
|
71
|
+
registerDocSyncWorkflow();
|
|
72
|
+
const config = { ...docSyncConfig };
|
|
73
|
+
// Apply options
|
|
74
|
+
if (options?.targetDirectory) {
|
|
75
|
+
config.inputs.targetDirectory = options.targetDirectory;
|
|
76
|
+
}
|
|
77
|
+
if (options?.sourceCode) {
|
|
78
|
+
config.inputs.sourceCode = options.sourceCode;
|
|
79
|
+
}
|
|
80
|
+
const report = await runner.run(config);
|
|
81
|
+
// Store report in memory
|
|
82
|
+
await memory.store(`workflow-report-${report.id}`, JSON.stringify(report, null, 2), {
|
|
83
|
+
namespace: 'workflows',
|
|
84
|
+
metadata: {
|
|
85
|
+
workflowId,
|
|
86
|
+
verdict: report.verdict,
|
|
87
|
+
completedAt: report.completedAt.toISOString(),
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
log.info('Workflow completed', {
|
|
91
|
+
workflowId,
|
|
92
|
+
verdict: report.verdict,
|
|
93
|
+
documentsScanned: report.summary.documentsScanned,
|
|
94
|
+
findings: report.summary.findingsTotal,
|
|
95
|
+
});
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
default:
|
|
99
|
+
log.warn('Unknown workflow', { workflowId });
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
log.error('Workflow execution failed', {
|
|
104
|
+
workflowId,
|
|
105
|
+
error: error instanceof Error ? error.message : String(error),
|
|
106
|
+
});
|
|
107
|
+
throw error;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Default triggers
|
|
112
|
+
*/
|
|
113
|
+
export function registerDefaultTriggers() {
|
|
114
|
+
// Trigger doc-sync when docs directory changes
|
|
115
|
+
registerWorkflowTrigger({
|
|
116
|
+
id: 'doc-sync-on-change',
|
|
117
|
+
name: 'Documentation Sync on Change',
|
|
118
|
+
condition: (context) => {
|
|
119
|
+
const path = context.data?.path;
|
|
120
|
+
return path?.includes('/docs/') || path?.endsWith('.md') || false;
|
|
121
|
+
},
|
|
122
|
+
workflowId: 'doc-sync',
|
|
123
|
+
options: {
|
|
124
|
+
targetDirectory: './docs',
|
|
125
|
+
sourceCode: '.',
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/hooks/workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export { AnthropicProvider, OpenAIProvider, OllamaProvider, createProvider, regi
|
|
|
11
11
|
export { MCPServer, startMCPServer, } from './mcp/index.js';
|
|
12
12
|
export { TaskQueue, MessageBus, getMessageBus, resetMessageBus, HierarchicalCoordinator, } from './coordination/index.js';
|
|
13
13
|
export { loadPlugin, discoverPlugins, getPlugin, listPlugins, unloadPlugin, getPluginCount, } from './plugins/index.js';
|
|
14
|
-
export { executeHooks, registerHook, unregisterHooks, clearCustomHooks, getHookCount, } from './hooks/index.js';
|
|
14
|
+
export { executeHooks, registerHook, unregisterHooks, clearCustomHooks, getHookCount, workflowHook, registerWorkflowTrigger, unregisterWorkflowTrigger, getWorkflowTriggers, clearWorkflowTriggers, registerDefaultTriggers, type WorkflowTrigger, } from './hooks/index.js';
|
|
15
15
|
export { GitHubClient, createGitHubClient, } from './github/index.js';
|
|
16
|
+
export { type WorkflowPhase, type Severity, type Verdict, type WorkflowAgent, type Finding, type PhaseResult, type WorkflowConfig, type WorkflowContext, type DocumentInfo, type DocumentType, type SyncResult, type DocumentChange, type DiagramUpdate, type WorkflowReport, type PhaseExecutor, type WorkflowEvents, WorkflowRunner, getWorkflowRunner, resetWorkflowRunner, docSyncConfig, registerDocSyncWorkflow, runDocSync, } from './workflows/index.js';
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,MAAM,EACN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,EACb,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EAEjB,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,oBAAoB,EAEpB,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,SAAS,EACT,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,UAAU,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,MAAM,EACN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,EACb,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EAEjB,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,oBAAoB,EAEpB,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,SAAS,EACT,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,UAAU,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,EAEnB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EAEnB,aAAa,EACb,uBAAuB,EACvB,UAAU,GACX,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -26,7 +26,13 @@ export { TaskQueue, MessageBus, getMessageBus, resetMessageBus, HierarchicalCoor
|
|
|
26
26
|
// Plugins
|
|
27
27
|
export { loadPlugin, discoverPlugins, getPlugin, listPlugins, unloadPlugin, getPluginCount, } from './plugins/index.js';
|
|
28
28
|
// Hooks
|
|
29
|
-
export { executeHooks, registerHook, unregisterHooks, clearCustomHooks, getHookCount, } from './hooks/index.js';
|
|
29
|
+
export { executeHooks, registerHook, unregisterHooks, clearCustomHooks, getHookCount, workflowHook, registerWorkflowTrigger, unregisterWorkflowTrigger, getWorkflowTriggers, clearWorkflowTriggers, registerDefaultTriggers, } from './hooks/index.js';
|
|
30
30
|
// GitHub
|
|
31
31
|
export { GitHubClient, createGitHubClient, } from './github/index.js';
|
|
32
|
+
// Workflows
|
|
33
|
+
export {
|
|
34
|
+
// Runner
|
|
35
|
+
WorkflowRunner, getWorkflowRunner, resetWorkflowRunner,
|
|
36
|
+
// Doc Sync
|
|
37
|
+
docSyncConfig, registerDocSyncWorkflow, runDocSync, } from './workflows/index.js';
|
|
32
38
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,QAAQ;AACR,OAAO,EACL,MAAM,EACN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,SAAS;AACT,OAAO,EACL,aAAa,EACb,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,SAAS;AACT,OAAO;AACL,WAAW;AACX,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,iBAAiB;AACjB,UAAU;AACV,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,oBAAoB;AACpB,cAAc;AACd,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,MAAM;AACN,OAAO,EACL,SAAS,EACT,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,eAAe;AACf,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,UAAU;AACV,OAAO,EACL,UAAU,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,QAAQ;AACR,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,QAAQ;AACR,OAAO,EACL,MAAM,EACN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,SAAS;AACT,OAAO,EACL,aAAa,EACb,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,SAAS;AACT,OAAO;AACL,WAAW;AACX,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,iBAAiB;AACjB,UAAU;AACV,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,oBAAoB;AACpB,cAAc;AACd,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,MAAM;AACN,OAAO,EACL,SAAS,EACT,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,eAAe;AACf,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,UAAU;AACV,OAAO,EACL,UAAU,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,QAAQ;AACR,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GAExB,MAAM,kBAAkB,CAAC;AAE1B,SAAS;AACT,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACZ,OAAO;AAkBL,SAAS;AACT,cAAc,EACd,iBAAiB,EACjB,mBAAmB;AACnB,WAAW;AACX,aAAa,EACb,uBAAuB,EACvB,UAAU,GACX,MAAM,sBAAsB,CAAC"}
|