crewly 1.8.7 → 1.8.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/dist/backend/backend/src/constants.d.ts +12 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +12 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.js +17 -0
- package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +8 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +15 -7
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts +7 -0
- package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-bridge.service.js +69 -12
- package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts +122 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.js +252 -17
- package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.d.ts +37 -3
- package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.js +140 -23
- package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +75 -0
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js +164 -12
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +12 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +12 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/cli/src/index.js +0 -0
- package/package.json +1 -1
- package/config/constants.d.ts.map +0 -1
- package/config/index.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +0 -169
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +0 -1779
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +0 -513
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +0 -1568
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts +0 -86
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js +0 -147
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts +0 -68
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js +0 -131
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts +0 -130
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js +0 -263
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts +0 -74
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js +0 -140
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts +0 -29
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js +0 -279
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +0 -340
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +0 -1176
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts +0 -79
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js +0 -145
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts +0 -79
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js +0 -218
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts +0 -16
- package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/index.js +0 -16
- package/dist/backend/backend/src/services/agent/crewly-agent/index.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts +0 -135
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js +0 -185
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +0 -141
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +0 -310
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts +0 -91
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js +0 -143
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts +0 -103
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js +0 -256
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts +0 -143
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js +0 -264
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts +0 -13
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js +0 -91
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts +0 -135
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +0 -1937
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +0 -1
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts +0 -429
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.js +0 -852
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.js.map +0 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +0 -171
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.js +0 -725
- package/dist/backend/backend/src/services/project/task-tracking.service.js.map +0 -1
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts +0 -118
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.js +0 -326
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.js.map +0 -1
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts +0 -74
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js +0 -154
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js.map +0 -1
- package/dist/backend/backend/src/types/auto-assign.types.d.ts +0 -271
- package/dist/backend/backend/src/types/auto-assign.types.d.ts.map +0 -1
- package/dist/backend/backend/src/types/auto-assign.types.js +0 -136
- package/dist/backend/backend/src/types/auto-assign.types.js.map +0 -1
- package/dist/backend/backend/src/utils/esm-require.utils.d.ts +0 -111
- package/dist/backend/backend/src/utils/esm-require.utils.d.ts.map +0 -1
- package/dist/backend/backend/src/utils/esm-require.utils.js +0 -124
- package/dist/backend/backend/src/utils/esm-require.utils.js.map +0 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +0 -220
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +0 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js +0 -37
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts +0 -56
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js +0 -91
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.d.ts +0 -159
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.js +0 -304
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts +0 -115
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js +0 -215
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js.map +0 -1
- package/dist/cli/backend/src/services/memory/embedding-provider.d.ts +0 -78
- package/dist/cli/backend/src/services/memory/embedding-provider.d.ts.map +0 -1
- package/dist/cli/backend/src/services/memory/embedding-provider.js +0 -179
- package/dist/cli/backend/src/services/memory/embedding-provider.js.map +0 -1
- package/dist/cli/backend/src/services/memory/vector-store.service.d.ts +0 -331
- package/dist/cli/backend/src/services/memory/vector-store.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/memory/vector-store.service.js +0 -814
- package/dist/cli/backend/src/services/memory/vector-store.service.js.map +0 -1
- package/dist/cli/backend/src/services/project/task-tracking.service.d.ts +0 -171
- package/dist/cli/backend/src/services/project/task-tracking.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/project/task-tracking.service.js +0 -725
- package/dist/cli/backend/src/services/project/task-tracking.service.js.map +0 -1
- package/dist/cli/backend/src/types/auto-assign.types.d.ts +0 -271
- package/dist/cli/backend/src/types/auto-assign.types.d.ts.map +0 -1
- package/dist/cli/backend/src/types/auto-assign.types.js +0 -136
- package/dist/cli/backend/src/types/auto-assign.types.js.map +0 -1
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WikiChatSubscriberService — listens on chat-v2's `chat_message` event
|
|
3
|
-
* and fires `WikiIngestService.ingest` for every user-authored message.
|
|
4
|
-
*
|
|
5
|
-
* Phase A (rules-only routing):
|
|
6
|
-
* senderType === 'user' → ingest into the Crewly project vault.
|
|
7
|
-
* senderType === 'agent' | 'system' → skip.
|
|
8
|
-
*
|
|
9
|
-
* Phase B (per spec §4.5) will replace the project-only routing with an
|
|
10
|
-
* LLM-driven gate that picks team / project / global per source.
|
|
11
|
-
*
|
|
12
|
-
* Failure mode is FIRE-AND-FORGET: a malformed message, missing schema,
|
|
13
|
-
* or filesystem error MUST NOT block the live chat flow. Errors are
|
|
14
|
-
* logged at warn-level and swallowed.
|
|
15
|
-
*
|
|
16
|
-
* @module services/wiki/wiki-chat-subscriber.service
|
|
17
|
-
*/
|
|
18
|
-
import * as path from 'path';
|
|
19
|
-
import { LoggerService } from '../core/logger.service.js';
|
|
20
|
-
import { WikiIngestService, detectMessageShape } from './wiki-ingest.service.js';
|
|
21
|
-
/**
|
|
22
|
-
* Process-singleton subscriber. Call `start()` once at server boot,
|
|
23
|
-
* `stop()` at shutdown.
|
|
24
|
-
*/
|
|
25
|
-
export class WikiChatSubscriberService {
|
|
26
|
-
logger;
|
|
27
|
-
chatService;
|
|
28
|
-
projectVaultPath;
|
|
29
|
-
ingestService;
|
|
30
|
-
boundHandler = null;
|
|
31
|
-
started = false;
|
|
32
|
-
constructor(opts) {
|
|
33
|
-
this.logger = LoggerService.getInstance().createComponentLogger('WikiChatSubscriber');
|
|
34
|
-
this.chatService = opts.chatService;
|
|
35
|
-
this.projectVaultPath = opts.projectVaultPath ?? resolveDefaultProjectVaultPath();
|
|
36
|
-
this.ingestService = opts.ingestService ?? WikiIngestService.getInstance();
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Subscribe to `chat_message`. Idempotent — calling start() twice
|
|
40
|
-
* leaves a single listener.
|
|
41
|
-
*/
|
|
42
|
-
start() {
|
|
43
|
-
if (this.started) {
|
|
44
|
-
this.logger.debug('start() called twice — ignoring');
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
this.boundHandler = (dto) => {
|
|
48
|
-
// Fire-and-forget; any thrown error is logged + swallowed in handle().
|
|
49
|
-
void this.handle(dto);
|
|
50
|
-
};
|
|
51
|
-
this.chatService.on('chat_message', this.boundHandler);
|
|
52
|
-
this.started = true;
|
|
53
|
-
this.logger.info('WikiChatSubscriber started', {
|
|
54
|
-
vaultPath: this.projectVaultPath,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
/** Detach. Safe to call when not started. */
|
|
58
|
-
stop() {
|
|
59
|
-
if (!this.started || !this.boundHandler)
|
|
60
|
-
return;
|
|
61
|
-
this.chatService.off('chat_message', this.boundHandler);
|
|
62
|
-
this.boundHandler = null;
|
|
63
|
-
this.started = false;
|
|
64
|
-
this.logger.info('WikiChatSubscriber stopped');
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Handle a single chat message. Public for tests.
|
|
68
|
-
*/
|
|
69
|
-
async handle(dto) {
|
|
70
|
-
try {
|
|
71
|
-
if (!this.isIngestable(dto)) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
const ingestInput = {
|
|
75
|
-
vaultPath: this.projectVaultPath,
|
|
76
|
-
sourceType: 'user_chat',
|
|
77
|
-
sourceRef: `chat:${dto.channelId}:${dto.id}`,
|
|
78
|
-
sourceBody: dto.content,
|
|
79
|
-
callerSession: `user/${dto.senderId}`,
|
|
80
|
-
};
|
|
81
|
-
// Phase A rules-based promotion: decision-shaped chats land in
|
|
82
|
-
// BOTH log.md (audit) and llm-curated/decisions/<date>-<slug>.md
|
|
83
|
-
// (canonical). Phase B will replace `detectMessageShape` with an
|
|
84
|
-
// LLM gate per v2.1 §4.
|
|
85
|
-
const shape = detectMessageShape(dto.content);
|
|
86
|
-
if (shape === 'decision') {
|
|
87
|
-
const result = await this.ingestService.ingestDecision(ingestInput);
|
|
88
|
-
if (!result.log.ok) {
|
|
89
|
-
this.logger.warn('WikiChatSubscriber decision-log ingest refused', {
|
|
90
|
-
reason: result.log.reason,
|
|
91
|
-
messageId: dto.id,
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
if (!result.decision.ok) {
|
|
95
|
-
this.logger.warn('WikiChatSubscriber decisions/ promotion refused', {
|
|
96
|
-
reason: result.decision.reason,
|
|
97
|
-
messageId: dto.id,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
const outcome = await this.ingestService.ingest(ingestInput);
|
|
103
|
-
if (!outcome.ok) {
|
|
104
|
-
this.logger.warn('WikiChatSubscriber ingest refused', {
|
|
105
|
-
reason: outcome.reason,
|
|
106
|
-
messageId: dto.id,
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
catch (err) {
|
|
111
|
-
// Swallow — chat flow must not block on wiki write failures.
|
|
112
|
-
this.logger.warn('WikiChatSubscriber.handle threw (swallowed)', {
|
|
113
|
-
messageId: dto.id,
|
|
114
|
-
error: err.message,
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Decide whether a chat-v2 message should drive a wiki write.
|
|
120
|
-
* Public for tests; logic is conservative — only ingest user-authored
|
|
121
|
-
* text messages, skip agents/system, mentions-only pings, and slash
|
|
122
|
-
* commands.
|
|
123
|
-
*/
|
|
124
|
-
isIngestable(dto) {
|
|
125
|
-
if (dto.senderType !== 'user')
|
|
126
|
-
return false;
|
|
127
|
-
if (!dto.content || dto.content.trim().length === 0)
|
|
128
|
-
return false;
|
|
129
|
-
// Skip slash commands — they're orc-controls, not knowledge.
|
|
130
|
-
if (dto.content.trimStart().startsWith('/'))
|
|
131
|
-
return false;
|
|
132
|
-
// chat-v2 defaults `contentType` to 'markdown' when sendMessage doesn't
|
|
133
|
-
// supply one (chat-v2.service.ts ~line 1240). Accept the two readable
|
|
134
|
-
// text-bearing types; reject binary/system flavors like 'system_note'.
|
|
135
|
-
const acceptable = new Set(['text', 'markdown']);
|
|
136
|
-
if (dto.contentType && !acceptable.has(dto.contentType))
|
|
137
|
-
return false;
|
|
138
|
-
return true;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Resolve a sensible default vault path:
|
|
143
|
-
* 1. `CREWLY_PROJECT_VAULT_PATH` env var (explicit override)
|
|
144
|
-
* 2. `<cwd>/.crewly/wiki` if it exists
|
|
145
|
-
* 3. The Crewly repo's own project vault (the only one with SCHEMA.md today)
|
|
146
|
-
*/
|
|
147
|
-
function resolveDefaultProjectVaultPath() {
|
|
148
|
-
const fromEnv = process.env['CREWLY_PROJECT_VAULT_PATH'];
|
|
149
|
-
if (fromEnv && path.isAbsolute(fromEnv)) {
|
|
150
|
-
return fromEnv;
|
|
151
|
-
}
|
|
152
|
-
return path.join('/Users/yellowsunhy/Desktop/projects/crewly-projects/crewly', '.crewly/wiki');
|
|
153
|
-
}
|
|
154
|
-
//# sourceMappingURL=wiki-chat-subscriber.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wiki-chat-subscriber.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-chat-subscriber.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auto-Assignment Type Definitions
|
|
3
|
-
*
|
|
4
|
-
* Types for the automatic task assignment system.
|
|
5
|
-
*
|
|
6
|
-
* @module types/auto-assign.types
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Prioritization strategy for task assignment
|
|
10
|
-
*/
|
|
11
|
-
export type PrioritizationStrategy = 'fifo' | 'priority' | 'deadline' | 'custom';
|
|
12
|
-
/**
|
|
13
|
-
* Role matching rule for task assignment
|
|
14
|
-
*/
|
|
15
|
-
export interface RoleMatchRule {
|
|
16
|
-
/** The agent role this rule applies to */
|
|
17
|
-
role: string;
|
|
18
|
-
/** Task types this role can handle */
|
|
19
|
-
taskTypes: string[];
|
|
20
|
-
/** Priority order (lower = higher priority) */
|
|
21
|
-
priority: number;
|
|
22
|
-
/** If true, only this role can handle these task types */
|
|
23
|
-
exclusive?: boolean;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Load balancing configuration
|
|
27
|
-
*/
|
|
28
|
-
export interface LoadBalancingConfig {
|
|
29
|
-
/** Whether load balancing is enabled */
|
|
30
|
-
enabled: boolean;
|
|
31
|
-
/** Maximum tasks an agent can work on simultaneously */
|
|
32
|
-
maxConcurrentTasks: number;
|
|
33
|
-
/** Whether to prefer assigning to idle agents */
|
|
34
|
-
preferIdleAgents: boolean;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Dependency handling configuration
|
|
38
|
-
*/
|
|
39
|
-
export interface DependencyConfig {
|
|
40
|
-
/** Whether to respect blocking dependencies */
|
|
41
|
-
respectBlocking: boolean;
|
|
42
|
-
/** Whether to wait for dependencies before assignment */
|
|
43
|
-
waitForDependencies: boolean;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Complete assignment strategy configuration
|
|
47
|
-
*/
|
|
48
|
-
export interface AssignmentStrategy {
|
|
49
|
-
/** How tasks are prioritized */
|
|
50
|
-
prioritization: PrioritizationStrategy;
|
|
51
|
-
/** Role matching rules */
|
|
52
|
-
roleMatching: RoleMatchRule[];
|
|
53
|
-
/** Load balancing settings */
|
|
54
|
-
loadBalancing: LoadBalancingConfig;
|
|
55
|
-
/** Dependency handling settings */
|
|
56
|
-
dependencies: DependencyConfig;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Result of a task assignment operation
|
|
60
|
-
*/
|
|
61
|
-
export interface TaskAssignmentResult {
|
|
62
|
-
/** Task ID that was assigned */
|
|
63
|
-
taskId: string;
|
|
64
|
-
/** Path to the task file */
|
|
65
|
-
taskPath: string;
|
|
66
|
-
/** Agent ID that received the task */
|
|
67
|
-
agentId: string;
|
|
68
|
-
/** Session name of the agent */
|
|
69
|
-
sessionName: string;
|
|
70
|
-
/** When the task was assigned */
|
|
71
|
-
assignedAt: string;
|
|
72
|
-
/** Estimated completion time (optional) */
|
|
73
|
-
estimatedCompletion?: string;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Task in the assignment queue
|
|
77
|
-
*/
|
|
78
|
-
export interface QueuedTask {
|
|
79
|
-
/** Unique task identifier */
|
|
80
|
-
taskId: string;
|
|
81
|
-
/** Path to the task file */
|
|
82
|
-
taskPath: string;
|
|
83
|
-
/** Task title */
|
|
84
|
-
title: string;
|
|
85
|
-
/** Task priority (lower = higher priority) */
|
|
86
|
-
priority: number;
|
|
87
|
-
/** Type of task (feature, fix, test, etc.) */
|
|
88
|
-
taskType?: string;
|
|
89
|
-
/** Role required to complete this task */
|
|
90
|
-
requiredRole?: string;
|
|
91
|
-
/** Task IDs that must complete before this task */
|
|
92
|
-
dependencies: string[];
|
|
93
|
-
/** Task IDs currently blocking this task */
|
|
94
|
-
blockedBy: string[];
|
|
95
|
-
/** When the task was created */
|
|
96
|
-
createdAt: string;
|
|
97
|
-
/** Estimated hours to complete */
|
|
98
|
-
estimatedHours?: number;
|
|
99
|
-
/** Task labels/tags */
|
|
100
|
-
labels?: string[];
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Assignment status
|
|
104
|
-
*/
|
|
105
|
-
export type AssignmentStatus = 'active' | 'completed' | 'failed' | 'reassigned';
|
|
106
|
-
/**
|
|
107
|
-
* Record of a task assignment
|
|
108
|
-
*/
|
|
109
|
-
export interface TaskAssignment {
|
|
110
|
-
/** Task ID */
|
|
111
|
-
taskId: string;
|
|
112
|
-
/** Agent ID assigned to the task */
|
|
113
|
-
agentId: string;
|
|
114
|
-
/** Session name of the agent */
|
|
115
|
-
sessionName: string;
|
|
116
|
-
/** When the task was assigned */
|
|
117
|
-
assignedAt: string;
|
|
118
|
-
/** Current status of the assignment */
|
|
119
|
-
status: AssignmentStatus;
|
|
120
|
-
/** When the task was completed (if applicable) */
|
|
121
|
-
completedAt?: string;
|
|
122
|
-
/** Number of continuation iterations */
|
|
123
|
-
iterations?: number;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Task queue for a project
|
|
127
|
-
*/
|
|
128
|
-
export interface TaskQueue {
|
|
129
|
-
/** Project path */
|
|
130
|
-
projectPath: string;
|
|
131
|
-
/** All open tasks, sorted by priority */
|
|
132
|
-
tasks: QueuedTask[];
|
|
133
|
-
/** Assignment history */
|
|
134
|
-
assignments: TaskAssignment[];
|
|
135
|
-
/** Assignment strategy configuration */
|
|
136
|
-
config: AssignmentStrategy;
|
|
137
|
-
/** Last updated timestamp */
|
|
138
|
-
lastUpdated: string;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Types of assignment events
|
|
142
|
-
*/
|
|
143
|
-
export type AssignmentEventType = 'task_assigned' | 'task_completed' | 'task_failed' | 'agent_idle' | 'no_tasks' | 'assignment_skipped';
|
|
144
|
-
/**
|
|
145
|
-
* Event emitted by the AutoAssignService
|
|
146
|
-
*/
|
|
147
|
-
export interface AssignmentEvent {
|
|
148
|
-
/** Type of event */
|
|
149
|
-
type: AssignmentEventType;
|
|
150
|
-
/** Agent ID involved */
|
|
151
|
-
agentId: string;
|
|
152
|
-
/** Session name of the agent */
|
|
153
|
-
sessionName: string;
|
|
154
|
-
/** Task ID (if applicable) */
|
|
155
|
-
taskId?: string;
|
|
156
|
-
/** Timestamp of the event */
|
|
157
|
-
timestamp: string;
|
|
158
|
-
/** Additional metadata */
|
|
159
|
-
metadata?: Record<string, unknown>;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Notification configuration for auto-assignment
|
|
163
|
-
*/
|
|
164
|
-
export interface NotificationConfig {
|
|
165
|
-
/** Notify when agent becomes idle */
|
|
166
|
-
notifyOnIdle: boolean;
|
|
167
|
-
/** Idle threshold in minutes before notification */
|
|
168
|
-
idleThresholdMinutes: number;
|
|
169
|
-
/** Notify when no tasks available */
|
|
170
|
-
notifyOnNoTasks: boolean;
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Rate limits for auto-assignment
|
|
174
|
-
*/
|
|
175
|
-
export interface AssignmentLimits {
|
|
176
|
-
/** Maximum assignments per day per agent */
|
|
177
|
-
maxAssignmentsPerDay: number;
|
|
178
|
-
/** Cooldown between task assignments in seconds */
|
|
179
|
-
cooldownBetweenTasks: number;
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Complete auto-assignment configuration
|
|
183
|
-
*/
|
|
184
|
-
export interface AutoAssignConfig {
|
|
185
|
-
/** Whether auto-assignment is enabled */
|
|
186
|
-
enabled: boolean;
|
|
187
|
-
/** Assignment strategy */
|
|
188
|
-
strategy: AssignmentStrategy;
|
|
189
|
-
/** Notification settings */
|
|
190
|
-
notifications: NotificationConfig;
|
|
191
|
-
/** Rate limits */
|
|
192
|
-
limits: AssignmentLimits;
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Parameters for finding the next task
|
|
196
|
-
*/
|
|
197
|
-
export interface FindNextTaskParams {
|
|
198
|
-
/** Session name of the agent */
|
|
199
|
-
sessionName: string;
|
|
200
|
-
/** Agent's role */
|
|
201
|
-
role: string;
|
|
202
|
-
/** Project path */
|
|
203
|
-
projectPath: string;
|
|
204
|
-
/** Preferred task types (optional) */
|
|
205
|
-
preferredTaskTypes?: string[];
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Result of finding the next task
|
|
209
|
-
*/
|
|
210
|
-
export interface FindNextTaskResult {
|
|
211
|
-
/** Whether a task was found */
|
|
212
|
-
found: boolean;
|
|
213
|
-
/** The task (if found) */
|
|
214
|
-
task?: QueuedTask;
|
|
215
|
-
/** Reason if no task found */
|
|
216
|
-
reason?: 'no_tasks' | 'all_blocked' | 'role_mismatch' | 'at_limit' | 'cooldown';
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Auto-assignment related constants
|
|
220
|
-
*/
|
|
221
|
-
export declare const AUTO_ASSIGN_CONSTANTS: {
|
|
222
|
-
/** Default configuration values */
|
|
223
|
-
readonly DEFAULTS: {
|
|
224
|
-
readonly MAX_CONCURRENT_TASKS: 1;
|
|
225
|
-
readonly MAX_ASSIGNMENTS_PER_DAY: 50;
|
|
226
|
-
readonly COOLDOWN_BETWEEN_TASKS: 60;
|
|
227
|
-
readonly IDLE_THRESHOLD_MINUTES: 5;
|
|
228
|
-
};
|
|
229
|
-
/** Task type categories */
|
|
230
|
-
readonly TASK_TYPES: {
|
|
231
|
-
readonly DEVELOPMENT: readonly ["feature", "fix", "refactor", "implement"];
|
|
232
|
-
readonly TESTING: readonly ["test", "verify", "qa"];
|
|
233
|
-
readonly FRONTEND: readonly ["ui", "component", "style", "frontend"];
|
|
234
|
-
readonly BACKEND: readonly ["api", "service", "database", "backend"];
|
|
235
|
-
readonly MANAGEMENT: readonly ["planning", "review", "coordination", "documentation"];
|
|
236
|
-
};
|
|
237
|
-
/** Priority levels */
|
|
238
|
-
readonly PRIORITY: {
|
|
239
|
-
readonly CRITICAL: 1;
|
|
240
|
-
readonly HIGH: 2;
|
|
241
|
-
readonly MEDIUM: 5;
|
|
242
|
-
readonly LOW: 10;
|
|
243
|
-
readonly BACKLOG: 20;
|
|
244
|
-
};
|
|
245
|
-
/** Configuration file paths */
|
|
246
|
-
readonly PATHS: {
|
|
247
|
-
readonly CONFIG_FILE: "auto-assign.yaml";
|
|
248
|
-
readonly CONFIG_DIR: ".crewly/config";
|
|
249
|
-
};
|
|
250
|
-
};
|
|
251
|
-
/**
|
|
252
|
-
* Default role matching rules
|
|
253
|
-
*/
|
|
254
|
-
export declare const DEFAULT_ROLE_MATCHING: RoleMatchRule[];
|
|
255
|
-
/**
|
|
256
|
-
* Default assignment strategy
|
|
257
|
-
*/
|
|
258
|
-
export declare const DEFAULT_ASSIGNMENT_STRATEGY: AssignmentStrategy;
|
|
259
|
-
/**
|
|
260
|
-
* Default notification configuration
|
|
261
|
-
*/
|
|
262
|
-
export declare const DEFAULT_NOTIFICATION_CONFIG: NotificationConfig;
|
|
263
|
-
/**
|
|
264
|
-
* Default assignment limits
|
|
265
|
-
*/
|
|
266
|
-
export declare const DEFAULT_ASSIGNMENT_LIMITS: AssignmentLimits;
|
|
267
|
-
/**
|
|
268
|
-
* Default complete auto-assignment configuration
|
|
269
|
-
*/
|
|
270
|
-
export declare const DEFAULT_AUTO_ASSIGN_CONFIG: AutoAssignConfig;
|
|
271
|
-
//# sourceMappingURL=auto-assign.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auto-assign.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/auto-assign.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auto-Assignment Type Definitions
|
|
3
|
-
*
|
|
4
|
-
* Types for the automatic task assignment system.
|
|
5
|
-
*
|
|
6
|
-
* @module types/auto-assign.types
|
|
7
|
-
*/
|
|
8
|
-
// ======================
|
|
9
|
-
// Constants
|
|
10
|
-
// ======================
|
|
11
|
-
/**
|
|
12
|
-
* Auto-assignment related constants
|
|
13
|
-
*/
|
|
14
|
-
export const AUTO_ASSIGN_CONSTANTS = {
|
|
15
|
-
/** Default configuration values */
|
|
16
|
-
DEFAULTS: {
|
|
17
|
-
MAX_CONCURRENT_TASKS: 1,
|
|
18
|
-
MAX_ASSIGNMENTS_PER_DAY: 50,
|
|
19
|
-
COOLDOWN_BETWEEN_TASKS: 60, // seconds
|
|
20
|
-
IDLE_THRESHOLD_MINUTES: 5,
|
|
21
|
-
},
|
|
22
|
-
/** Task type categories */
|
|
23
|
-
TASK_TYPES: {
|
|
24
|
-
DEVELOPMENT: ['feature', 'fix', 'refactor', 'implement'],
|
|
25
|
-
TESTING: ['test', 'verify', 'qa'],
|
|
26
|
-
FRONTEND: ['ui', 'component', 'style', 'frontend'],
|
|
27
|
-
BACKEND: ['api', 'service', 'database', 'backend'],
|
|
28
|
-
MANAGEMENT: ['planning', 'review', 'coordination', 'documentation'],
|
|
29
|
-
},
|
|
30
|
-
/** Priority levels */
|
|
31
|
-
PRIORITY: {
|
|
32
|
-
CRITICAL: 1,
|
|
33
|
-
HIGH: 2,
|
|
34
|
-
MEDIUM: 5,
|
|
35
|
-
LOW: 10,
|
|
36
|
-
BACKLOG: 20,
|
|
37
|
-
},
|
|
38
|
-
/** Configuration file paths */
|
|
39
|
-
PATHS: {
|
|
40
|
-
CONFIG_FILE: 'auto-assign.yaml',
|
|
41
|
-
CONFIG_DIR: '.crewly/config',
|
|
42
|
-
},
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Default role matching rules
|
|
46
|
-
*/
|
|
47
|
-
export const DEFAULT_ROLE_MATCHING = [
|
|
48
|
-
{
|
|
49
|
-
role: 'developer',
|
|
50
|
-
taskTypes: ['feature', 'fix', 'refactor', 'test', 'implement'],
|
|
51
|
-
priority: 1,
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
role: 'frontend-developer',
|
|
55
|
-
taskTypes: ['feature', 'fix', 'ui', 'component', 'style', 'frontend'],
|
|
56
|
-
priority: 1,
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
role: 'backend-developer',
|
|
60
|
-
taskTypes: ['feature', 'fix', 'api', 'service', 'database', 'backend'],
|
|
61
|
-
priority: 1,
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
role: 'qa',
|
|
65
|
-
taskTypes: ['test', 'review', 'verify', 'qa'],
|
|
66
|
-
priority: 1,
|
|
67
|
-
exclusive: true,
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
role: 'tester',
|
|
71
|
-
taskTypes: ['test', 'review', 'verify'],
|
|
72
|
-
priority: 2,
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
role: 'pm',
|
|
76
|
-
taskTypes: ['planning', 'review', 'coordination', 'documentation'],
|
|
77
|
-
priority: 1,
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
role: 'tpm',
|
|
81
|
-
taskTypes: ['planning', 'coordination', 'tracking'],
|
|
82
|
-
priority: 1,
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
role: 'pgm',
|
|
86
|
-
taskTypes: ['planning', 'management', 'coordination'],
|
|
87
|
-
priority: 1,
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
role: 'designer',
|
|
91
|
-
taskTypes: ['design', 'ui', 'ux', 'mockup'],
|
|
92
|
-
priority: 1,
|
|
93
|
-
exclusive: true,
|
|
94
|
-
},
|
|
95
|
-
];
|
|
96
|
-
/**
|
|
97
|
-
* Default assignment strategy
|
|
98
|
-
*/
|
|
99
|
-
export const DEFAULT_ASSIGNMENT_STRATEGY = {
|
|
100
|
-
prioritization: 'priority',
|
|
101
|
-
roleMatching: DEFAULT_ROLE_MATCHING,
|
|
102
|
-
loadBalancing: {
|
|
103
|
-
enabled: true,
|
|
104
|
-
maxConcurrentTasks: AUTO_ASSIGN_CONSTANTS.DEFAULTS.MAX_CONCURRENT_TASKS,
|
|
105
|
-
preferIdleAgents: true,
|
|
106
|
-
},
|
|
107
|
-
dependencies: {
|
|
108
|
-
respectBlocking: true,
|
|
109
|
-
waitForDependencies: true,
|
|
110
|
-
},
|
|
111
|
-
};
|
|
112
|
-
/**
|
|
113
|
-
* Default notification configuration
|
|
114
|
-
*/
|
|
115
|
-
export const DEFAULT_NOTIFICATION_CONFIG = {
|
|
116
|
-
notifyOnIdle: true,
|
|
117
|
-
idleThresholdMinutes: AUTO_ASSIGN_CONSTANTS.DEFAULTS.IDLE_THRESHOLD_MINUTES,
|
|
118
|
-
notifyOnNoTasks: true,
|
|
119
|
-
};
|
|
120
|
-
/**
|
|
121
|
-
* Default assignment limits
|
|
122
|
-
*/
|
|
123
|
-
export const DEFAULT_ASSIGNMENT_LIMITS = {
|
|
124
|
-
maxAssignmentsPerDay: AUTO_ASSIGN_CONSTANTS.DEFAULTS.MAX_ASSIGNMENTS_PER_DAY,
|
|
125
|
-
cooldownBetweenTasks: AUTO_ASSIGN_CONSTANTS.DEFAULTS.COOLDOWN_BETWEEN_TASKS,
|
|
126
|
-
};
|
|
127
|
-
/**
|
|
128
|
-
* Default complete auto-assignment configuration
|
|
129
|
-
*/
|
|
130
|
-
export const DEFAULT_AUTO_ASSIGN_CONFIG = {
|
|
131
|
-
enabled: true,
|
|
132
|
-
strategy: DEFAULT_ASSIGNMENT_STRATEGY,
|
|
133
|
-
notifications: DEFAULT_NOTIFICATION_CONFIG,
|
|
134
|
-
limits: DEFAULT_ASSIGNMENT_LIMITS,
|
|
135
|
-
};
|
|
136
|
-
//# sourceMappingURL=auto-assign.types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auto-assign.types.js","sourceRoot":"","sources":["../../../../../backend/src/types/auto-assign.types.ts"],"names":[],"mappings":"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"}
|