@vorionsys/atsf-core 0.2.2 → 0.2.3
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/CHANGELOG.md +3 -3
- package/README.md +77 -11
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.js +1 -1
- package/dist/api/server.d.ts +5 -2
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +186 -149
- package/dist/api/server.js.map +1 -1
- package/dist/arbitration/index.d.ts +4 -4
- package/dist/arbitration/index.d.ts.map +1 -1
- package/dist/arbitration/index.js +46 -41
- package/dist/arbitration/index.js.map +1 -1
- package/dist/arbitration/types.d.ts +10 -10
- package/dist/arbitration/types.d.ts.map +1 -1
- package/dist/basis/evaluator.d.ts +1 -1
- package/dist/basis/evaluator.d.ts.map +1 -1
- package/dist/basis/evaluator.js +56 -54
- package/dist/basis/evaluator.js.map +1 -1
- package/dist/basis/index.d.ts +3 -3
- package/dist/basis/index.js +3 -3
- package/dist/basis/parser.d.ts +16 -16
- package/dist/basis/parser.d.ts.map +1 -1
- package/dist/basis/parser.js +32 -25
- package/dist/basis/parser.js.map +1 -1
- package/dist/basis/types.d.ts +2 -2
- package/dist/chain/index.d.ts.map +1 -1
- package/dist/chain/index.js +16 -16
- package/dist/chain/index.js.map +1 -1
- package/dist/cognigate/index.d.ts +1 -1
- package/dist/cognigate/index.d.ts.map +1 -1
- package/dist/cognigate/index.js +44 -33
- package/dist/cognigate/index.js.map +1 -1
- package/dist/common/adapters.d.ts +18 -11
- package/dist/common/adapters.d.ts.map +1 -1
- package/dist/common/adapters.js +100 -79
- package/dist/common/adapters.js.map +1 -1
- package/dist/common/config.d.ts +67 -67
- package/dist/common/config.js +49 -49
- package/dist/common/config.js.map +1 -1
- package/dist/common/index.d.ts +4 -4
- package/dist/common/index.js +4 -4
- package/dist/common/logger.d.ts +1 -1
- package/dist/common/logger.js +8 -8
- package/dist/common/types.d.ts +8 -8
- package/dist/common/types.js +5 -5
- package/dist/containment/index.d.ts +3 -3
- package/dist/containment/index.d.ts.map +1 -1
- package/dist/containment/index.js +119 -105
- package/dist/containment/index.js.map +1 -1
- package/dist/containment/types.d.ts +11 -11
- package/dist/containment/types.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +9 -9
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +59 -54
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/types.d.ts +12 -12
- package/dist/contracts/types.d.ts.map +1 -1
- package/dist/crewai/callback.d.ts +91 -0
- package/dist/crewai/callback.d.ts.map +1 -0
- package/dist/crewai/callback.js +271 -0
- package/dist/crewai/callback.js.map +1 -0
- package/dist/crewai/executor.d.ts +135 -0
- package/dist/crewai/executor.d.ts.map +1 -0
- package/dist/crewai/executor.js +381 -0
- package/dist/crewai/executor.js.map +1 -0
- package/dist/crewai/index.d.ts +12 -0
- package/dist/crewai/index.d.ts.map +1 -0
- package/dist/crewai/index.js +12 -0
- package/dist/crewai/index.js.map +1 -0
- package/dist/crewai/tools.d.ts +21 -0
- package/dist/crewai/tools.d.ts.map +1 -0
- package/dist/crewai/tools.js +164 -0
- package/dist/crewai/tools.js.map +1 -0
- package/dist/crewai/types.d.ts +139 -0
- package/dist/crewai/types.d.ts.map +1 -0
- package/dist/crewai/types.js +9 -0
- package/dist/crewai/types.js.map +1 -0
- package/dist/enforce/index.d.ts +48 -222
- package/dist/enforce/index.d.ts.map +1 -1
- package/dist/enforce/index.js +144 -47
- package/dist/enforce/index.js.map +1 -1
- package/dist/enforce/trust-aware-enforcement-service.d.ts +121 -0
- package/dist/enforce/trust-aware-enforcement-service.d.ts.map +1 -0
- package/dist/enforce/trust-aware-enforcement-service.js +601 -0
- package/dist/enforce/trust-aware-enforcement-service.js.map +1 -0
- package/dist/enforce/types.d.ts +234 -0
- package/dist/enforce/types.d.ts.map +1 -0
- package/dist/enforce/types.js +10 -0
- package/dist/enforce/types.js.map +1 -0
- package/dist/governance/fluid-workflow.d.ts +8 -8
- package/dist/governance/fluid-workflow.d.ts.map +1 -1
- package/dist/governance/fluid-workflow.js +114 -86
- package/dist/governance/fluid-workflow.js.map +1 -1
- package/dist/governance/index.d.ts +7 -7
- package/dist/governance/index.d.ts.map +1 -1
- package/dist/governance/index.js +81 -74
- package/dist/governance/index.js.map +1 -1
- package/dist/governance/proof-bridge.d.ts +6 -6
- package/dist/governance/proof-bridge.d.ts.map +1 -1
- package/dist/governance/proof-bridge.js +5 -5
- package/dist/governance/proof-bridge.js.map +1 -1
- package/dist/governance/types.d.ts +16 -9
- package/dist/governance/types.d.ts.map +1 -1
- package/dist/governance/types.js.map +1 -1
- package/dist/index.d.ts +29 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -23
- package/dist/index.js.map +1 -1
- package/dist/intent/index.d.ts +21 -56
- package/dist/intent/index.d.ts.map +1 -1
- package/dist/intent/index.js +58 -24
- package/dist/intent/index.js.map +1 -1
- package/dist/intent/persistent-intent-service.d.ts +68 -0
- package/dist/intent/persistent-intent-service.d.ts.map +1 -0
- package/dist/intent/persistent-intent-service.js +277 -0
- package/dist/intent/persistent-intent-service.js.map +1 -0
- package/dist/intent/types.d.ts +69 -0
- package/dist/intent/types.d.ts.map +1 -0
- package/dist/intent/types.js +10 -0
- package/dist/intent/types.js.map +1 -0
- package/dist/intent-gateway/index.d.ts +522 -0
- package/dist/intent-gateway/index.d.ts.map +1 -0
- package/dist/intent-gateway/index.js +1499 -0
- package/dist/intent-gateway/index.js.map +1 -0
- package/dist/langchain/callback.d.ts +2 -2
- package/dist/langchain/callback.d.ts.map +1 -1
- package/dist/langchain/callback.js +30 -30
- package/dist/langchain/callback.js.map +1 -1
- package/dist/langchain/executor.d.ts +4 -4
- package/dist/langchain/executor.d.ts.map +1 -1
- package/dist/langchain/executor.js +82 -80
- package/dist/langchain/executor.js.map +1 -1
- package/dist/langchain/index.d.ts +5 -5
- package/dist/langchain/index.js +5 -5
- package/dist/langchain/tools.d.ts +1 -1
- package/dist/langchain/tools.d.ts.map +1 -1
- package/dist/langchain/tools.js +33 -33
- package/dist/langchain/tools.js.map +1 -1
- package/dist/langchain/types.d.ts +3 -3
- package/dist/langchain/types.d.ts.map +1 -1
- package/dist/layers/implementations/L0-request-format.d.ts +37 -0
- package/dist/layers/implementations/L0-request-format.d.ts.map +1 -0
- package/dist/layers/implementations/L0-request-format.js +218 -0
- package/dist/layers/implementations/L0-request-format.js.map +1 -0
- package/dist/layers/implementations/L1-input-size.d.ts +36 -0
- package/dist/layers/implementations/L1-input-size.d.ts.map +1 -0
- package/dist/layers/implementations/L1-input-size.js +160 -0
- package/dist/layers/implementations/L1-input-size.js.map +1 -0
- package/dist/layers/implementations/L2-charset-sanitizer.d.ts +28 -0
- package/dist/layers/implementations/L2-charset-sanitizer.d.ts.map +1 -0
- package/dist/layers/implementations/L2-charset-sanitizer.js +230 -0
- package/dist/layers/implementations/L2-charset-sanitizer.js.map +1 -0
- package/dist/layers/implementations/L3-schema-conformance.d.ts +47 -0
- package/dist/layers/implementations/L3-schema-conformance.d.ts.map +1 -0
- package/dist/layers/implementations/L3-schema-conformance.js +267 -0
- package/dist/layers/implementations/L3-schema-conformance.js.map +1 -0
- package/dist/layers/implementations/L4-injection-detector.d.ts +47 -0
- package/dist/layers/implementations/L4-injection-detector.d.ts.map +1 -0
- package/dist/layers/implementations/L4-injection-detector.js +260 -0
- package/dist/layers/implementations/L4-injection-detector.js.map +1 -0
- package/dist/layers/implementations/L5-rate-limiter.d.ts +51 -0
- package/dist/layers/implementations/L5-rate-limiter.d.ts.map +1 -0
- package/dist/layers/implementations/L5-rate-limiter.js +183 -0
- package/dist/layers/implementations/L5-rate-limiter.js.map +1 -0
- package/dist/layers/implementations/index.d.ts +16 -0
- package/dist/layers/implementations/index.d.ts.map +1 -0
- package/dist/layers/implementations/index.js +16 -0
- package/dist/layers/implementations/index.js.map +1 -0
- package/dist/layers/index.d.ts +3 -3
- package/dist/layers/index.d.ts.map +1 -1
- package/dist/layers/index.js +99 -71
- package/dist/layers/index.js.map +1 -1
- package/dist/layers/types.d.ts +16 -16
- package/dist/layers/types.d.ts.map +1 -1
- package/dist/persistence/file.d.ts +3 -3
- package/dist/persistence/file.d.ts.map +1 -1
- package/dist/persistence/file.js +32 -28
- package/dist/persistence/file.js.map +1 -1
- package/dist/persistence/index.d.ts +7 -7
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +18 -18
- package/dist/persistence/index.js.map +1 -1
- package/dist/persistence/memory.d.ts +3 -3
- package/dist/persistence/memory.d.ts.map +1 -1
- package/dist/persistence/memory.js +10 -8
- package/dist/persistence/memory.js.map +1 -1
- package/dist/persistence/sqlite.d.ts +3 -3
- package/dist/persistence/sqlite.d.ts.map +1 -1
- package/dist/persistence/sqlite.js +36 -36
- package/dist/persistence/sqlite.js.map +1 -1
- package/dist/persistence/supabase.d.ts +3 -3
- package/dist/persistence/supabase.d.ts.map +1 -1
- package/dist/persistence/supabase.js +41 -43
- package/dist/persistence/supabase.js.map +1 -1
- package/dist/persistence/types.d.ts +5 -5
- package/dist/phase6/ceiling.d.ts +5 -5
- package/dist/phase6/ceiling.d.ts.map +1 -1
- package/dist/phase6/ceiling.js +67 -34
- package/dist/phase6/ceiling.js.map +1 -1
- package/dist/phase6/context.d.ts +3 -3
- package/dist/phase6/context.d.ts.map +1 -1
- package/dist/phase6/context.js +91 -45
- package/dist/phase6/context.js.map +1 -1
- package/dist/phase6/index.d.ts +13 -13
- package/dist/phase6/index.d.ts.map +1 -1
- package/dist/phase6/index.js +16 -16
- package/dist/phase6/index.js.map +1 -1
- package/dist/phase6/presets.d.ts +2 -2
- package/dist/phase6/presets.d.ts.map +1 -1
- package/dist/phase6/presets.js +39 -33
- package/dist/phase6/presets.js.map +1 -1
- package/dist/phase6/provenance.d.ts +4 -4
- package/dist/phase6/provenance.d.ts.map +1 -1
- package/dist/phase6/provenance.js +42 -35
- package/dist/phase6/provenance.js.map +1 -1
- package/dist/phase6/role-gates/index.d.ts +2 -2
- package/dist/phase6/role-gates/index.js +2 -2
- package/dist/phase6/role-gates/kernel.d.ts.map +1 -1
- package/dist/phase6/role-gates/kernel.js +16 -16
- package/dist/phase6/role-gates/kernel.js.map +1 -1
- package/dist/phase6/role-gates/policy.d.ts +2 -2
- package/dist/phase6/role-gates/policy.js +6 -6
- package/dist/phase6/role-gates.d.ts +4 -4
- package/dist/phase6/role-gates.d.ts.map +1 -1
- package/dist/phase6/role-gates.js +80 -58
- package/dist/phase6/role-gates.js.map +1 -1
- package/dist/phase6/types.d.ts +35 -35
- package/dist/phase6/types.d.ts.map +1 -1
- package/dist/phase6/types.js +166 -66
- package/dist/phase6/types.js.map +1 -1
- package/dist/phase6/weight-presets/canonical.d.ts +2 -2
- package/dist/phase6/weight-presets/canonical.d.ts.map +1 -1
- package/dist/phase6/weight-presets/canonical.js +12 -12
- package/dist/phase6/weight-presets/canonical.js.map +1 -1
- package/dist/phase6/weight-presets/deltas.d.ts +2 -2
- package/dist/phase6/weight-presets/deltas.d.ts.map +1 -1
- package/dist/phase6/weight-presets/deltas.js +27 -27
- package/dist/phase6/weight-presets/deltas.js.map +1 -1
- package/dist/phase6/weight-presets/index.d.ts +4 -4
- package/dist/phase6/weight-presets/index.js +4 -4
- package/dist/phase6/weight-presets/merger.d.ts +3 -3
- package/dist/phase6/weight-presets/merger.d.ts.map +1 -1
- package/dist/phase6/weight-presets/merger.js +40 -44
- package/dist/phase6/weight-presets/merger.js.map +1 -1
- package/dist/proof/index.d.ts +3 -3
- package/dist/proof/index.d.ts.map +1 -1
- package/dist/proof/index.js +44 -38
- package/dist/proof/index.js.map +1 -1
- package/dist/proof/merkle.d.ts +3 -3
- package/dist/proof/merkle.d.ts.map +1 -1
- package/dist/proof/merkle.js +26 -25
- package/dist/proof/merkle.js.map +1 -1
- package/dist/proof/zk-proofs.d.ts +6 -6
- package/dist/proof/zk-proofs.d.ts.map +1 -1
- package/dist/proof/zk-proofs.js +42 -43
- package/dist/proof/zk-proofs.js.map +1 -1
- package/dist/provenance/index.d.ts +3 -3
- package/dist/provenance/index.d.ts.map +1 -1
- package/dist/provenance/index.js +19 -17
- package/dist/provenance/index.js.map +1 -1
- package/dist/provenance/types.d.ts +4 -4
- package/dist/provenance/types.d.ts.map +1 -1
- package/dist/sandbox-training/challenges.d.ts +1 -1
- package/dist/sandbox-training/challenges.d.ts.map +1 -1
- package/dist/sandbox-training/challenges.js +228 -228
- package/dist/sandbox-training/challenges.js.map +1 -1
- package/dist/sandbox-training/graduation.d.ts +1 -1
- package/dist/sandbox-training/graduation.d.ts.map +1 -1
- package/dist/sandbox-training/graduation.js +14 -15
- package/dist/sandbox-training/graduation.js.map +1 -1
- package/dist/sandbox-training/index.d.ts +9 -9
- package/dist/sandbox-training/index.d.ts.map +1 -1
- package/dist/sandbox-training/index.js +6 -6
- package/dist/sandbox-training/index.js.map +1 -1
- package/dist/sandbox-training/promotion-service.d.ts +4 -4
- package/dist/sandbox-training/promotion-service.d.ts.map +1 -1
- package/dist/sandbox-training/promotion-service.js +5 -5
- package/dist/sandbox-training/promotion-service.js.map +1 -1
- package/dist/sandbox-training/runner.d.ts +1 -1
- package/dist/sandbox-training/runner.d.ts.map +1 -1
- package/dist/sandbox-training/runner.js +74 -73
- package/dist/sandbox-training/runner.js.map +1 -1
- package/dist/sandbox-training/scorer.d.ts +4 -4
- package/dist/sandbox-training/scorer.js +5 -5
- package/dist/sandbox-training/types.d.ts +4 -4
- package/dist/sandbox-training/types.d.ts.map +1 -1
- package/dist/sandbox-training/types.js +11 -7
- package/dist/sandbox-training/types.js.map +1 -1
- package/dist/trust-engine/ceiling-enforcement/audit.d.ts +1 -1
- package/dist/trust-engine/ceiling-enforcement/audit.d.ts.map +1 -1
- package/dist/trust-engine/ceiling-enforcement/audit.js +3 -4
- package/dist/trust-engine/ceiling-enforcement/audit.js.map +1 -1
- package/dist/trust-engine/ceiling-enforcement/index.d.ts +2 -2
- package/dist/trust-engine/ceiling-enforcement/index.js +2 -2
- package/dist/trust-engine/ceiling-enforcement/kernel.d.ts +1 -1
- package/dist/trust-engine/ceiling-enforcement/kernel.d.ts.map +1 -1
- package/dist/trust-engine/ceiling-enforcement/kernel.js +1 -1
- package/dist/trust-engine/context-policy/enforcement.d.ts.map +1 -1
- package/dist/trust-engine/context-policy/factory.d.ts +1 -1
- package/dist/trust-engine/context-policy/factory.d.ts.map +1 -1
- package/dist/trust-engine/context-policy/factory.js +1 -1
- package/dist/trust-engine/context-policy/factory.js.map +1 -1
- package/dist/trust-engine/context-policy/index.d.ts +2 -2
- package/dist/trust-engine/context-policy/index.js +2 -2
- package/dist/trust-engine/creation-modifiers/index.d.ts +1 -1
- package/dist/trust-engine/creation-modifiers/index.js +1 -1
- package/dist/trust-engine/creation-modifiers/types.d.ts.map +1 -1
- package/dist/trust-engine/creation-modifiers/types.js +2 -3
- package/dist/trust-engine/creation-modifiers/types.js.map +1 -1
- package/dist/trust-engine/decay-profiles.d.ts +1 -1
- package/dist/trust-engine/decay-profiles.d.ts.map +1 -1
- package/dist/trust-engine/decay-profiles.js +4 -4
- package/dist/trust-engine/decay-profiles.js.map +1 -1
- package/dist/trust-engine/index.d.ts +111 -45
- package/dist/trust-engine/index.d.ts.map +1 -1
- package/dist/trust-engine/index.js +418 -61
- package/dist/trust-engine/index.js.map +1 -1
- package/dist/trust-engine/phase6-types.d.ts +10 -10
- package/dist/trust-engine/phase6-types.d.ts.map +1 -1
- package/dist/trust-engine/phase6-types.js +25 -23
- package/dist/trust-engine/phase6-types.js.map +1 -1
- package/dist/trust-engine/types.d.ts +77 -0
- package/dist/trust-engine/types.d.ts.map +1 -0
- package/dist/trust-engine/types.js +20 -0
- package/dist/trust-engine/types.js.map +1 -0
- package/package.json +5 -4
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trust-Aware CrewAI Executor
|
|
3
|
+
*
|
|
4
|
+
* Wraps CrewAI crews and tasks with trust-based access control.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
import { createLogger } from "../common/logger.js";
|
|
9
|
+
import { TrustInsufficientError } from "../common/types.js";
|
|
10
|
+
import { TRUST_LEVEL_NAMES } from "../trust-engine/index.js";
|
|
11
|
+
import { createCrewTrustCallback, } from "./callback.js";
|
|
12
|
+
const logger = createLogger({ component: "crewai-executor" });
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// CREW AGENT EXECUTOR
|
|
15
|
+
// =============================================================================
|
|
16
|
+
/**
|
|
17
|
+
* Trust-aware executor for a single crew agent
|
|
18
|
+
*
|
|
19
|
+
* Provides trust-gated task execution and delegation for CrewAI agents.
|
|
20
|
+
*/
|
|
21
|
+
export class CrewAgentExecutor {
|
|
22
|
+
trustEngine;
|
|
23
|
+
callback;
|
|
24
|
+
config;
|
|
25
|
+
constructor(trustEngine, config) {
|
|
26
|
+
this.trustEngine = trustEngine;
|
|
27
|
+
this.config = config;
|
|
28
|
+
this.callback = createCrewTrustCallback(trustEngine, config);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get the callback handler
|
|
32
|
+
*/
|
|
33
|
+
get callbackHandler() {
|
|
34
|
+
return this.callback;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get the agent ID
|
|
38
|
+
*/
|
|
39
|
+
get agentId() {
|
|
40
|
+
return this.config.agentId;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get the agent role
|
|
44
|
+
*/
|
|
45
|
+
get role() {
|
|
46
|
+
return this.config.role;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Initialize the executor
|
|
50
|
+
*/
|
|
51
|
+
async initialize() {
|
|
52
|
+
await this.callback.initialize();
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Check if the agent has sufficient trust
|
|
56
|
+
*/
|
|
57
|
+
async checkTrust(requiredLevel) {
|
|
58
|
+
const minLevel = requiredLevel ?? this.config.minTrustLevel ?? 1;
|
|
59
|
+
const record = await this.trustEngine.getScore(this.config.agentId);
|
|
60
|
+
if (!record) {
|
|
61
|
+
return {
|
|
62
|
+
allowed: false,
|
|
63
|
+
agentId: this.config.agentId,
|
|
64
|
+
currentLevel: 0,
|
|
65
|
+
currentScore: 0,
|
|
66
|
+
requiredLevel: minLevel,
|
|
67
|
+
reason: "Agent not initialized in trust engine",
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
const allowed = record.level >= minLevel;
|
|
71
|
+
return {
|
|
72
|
+
allowed,
|
|
73
|
+
agentId: this.config.agentId,
|
|
74
|
+
currentLevel: record.level,
|
|
75
|
+
currentScore: record.score,
|
|
76
|
+
requiredLevel: minLevel,
|
|
77
|
+
reason: allowed
|
|
78
|
+
? `Trust level ${TRUST_LEVEL_NAMES[record.level]} meets requirement`
|
|
79
|
+
: `Trust level ${TRUST_LEVEL_NAMES[record.level]} below required ${TRUST_LEVEL_NAMES[minLevel]}`,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Execute a task with trust gating
|
|
84
|
+
*
|
|
85
|
+
* @param task - Task configuration
|
|
86
|
+
* @param fn - The function to execute (typically the actual CrewAI task runner)
|
|
87
|
+
* @throws TrustInsufficientError if trust is too low
|
|
88
|
+
*/
|
|
89
|
+
async executeTask(task, fn) {
|
|
90
|
+
const requiredLevel = task.minTrustLevel ?? this.config.minTrustLevel ?? 1;
|
|
91
|
+
const trustCheck = await this.checkTrust(requiredLevel);
|
|
92
|
+
if (!trustCheck.allowed) {
|
|
93
|
+
logger.warn({
|
|
94
|
+
agentId: this.config.agentId,
|
|
95
|
+
taskId: task.taskId,
|
|
96
|
+
currentLevel: trustCheck.currentLevel,
|
|
97
|
+
requiredLevel: trustCheck.requiredLevel,
|
|
98
|
+
}, "Task execution blocked due to insufficient trust");
|
|
99
|
+
throw new TrustInsufficientError(trustCheck.requiredLevel, trustCheck.currentLevel);
|
|
100
|
+
}
|
|
101
|
+
const runId = crypto.randomUUID();
|
|
102
|
+
const initialSignals = this.callback.signalsRecorded;
|
|
103
|
+
await this.callback.handleTaskStart(task.taskId, runId);
|
|
104
|
+
try {
|
|
105
|
+
const result = await fn();
|
|
106
|
+
await this.callback.handleTaskEnd(task.taskId, runId);
|
|
107
|
+
const finalRecord = await this.trustEngine.getScore(this.config.agentId);
|
|
108
|
+
logger.info({
|
|
109
|
+
agentId: this.config.agentId,
|
|
110
|
+
taskId: task.taskId,
|
|
111
|
+
signalsRecorded: this.callback.signalsRecorded - initialSignals,
|
|
112
|
+
finalScore: finalRecord?.score,
|
|
113
|
+
}, "Trusted task execution completed");
|
|
114
|
+
return {
|
|
115
|
+
result,
|
|
116
|
+
taskId: task.taskId,
|
|
117
|
+
agentId: this.config.agentId,
|
|
118
|
+
trustCheck,
|
|
119
|
+
signalsRecorded: this.callback.signalsRecorded - initialSignals,
|
|
120
|
+
finalScore: finalRecord?.score ?? 0,
|
|
121
|
+
finalLevel: finalRecord?.level ?? 0,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
await this.callback.handleTaskError(task.taskId, error instanceof Error ? error : new Error(String(error)), runId);
|
|
126
|
+
throw error;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Delegate a task to another agent with trust gating on both sides
|
|
131
|
+
*
|
|
132
|
+
* @param task - Task to delegate
|
|
133
|
+
* @param targetExecutor - The target agent's executor
|
|
134
|
+
* @param fn - The function to execute on the target agent
|
|
135
|
+
* @throws TrustInsufficientError if either agent lacks trust
|
|
136
|
+
*/
|
|
137
|
+
async delegateTask(task, targetExecutor, fn) {
|
|
138
|
+
if (this.config.allowDelegation === false) {
|
|
139
|
+
throw new Error(`Agent ${this.config.agentId} is not allowed to delegate tasks`);
|
|
140
|
+
}
|
|
141
|
+
// Check delegator trust
|
|
142
|
+
const delegatorCheck = await this.checkTrust();
|
|
143
|
+
if (!delegatorCheck.allowed) {
|
|
144
|
+
throw new TrustInsufficientError(delegatorCheck.requiredLevel, delegatorCheck.currentLevel);
|
|
145
|
+
}
|
|
146
|
+
// Check delegatee trust
|
|
147
|
+
const delegateeCheck = await targetExecutor.checkTrust(task.minTrustLevel ?? this.config.minTrustLevel ?? 1);
|
|
148
|
+
if (!delegateeCheck.allowed) {
|
|
149
|
+
throw new TrustInsufficientError(delegateeCheck.requiredLevel, delegateeCheck.currentLevel);
|
|
150
|
+
}
|
|
151
|
+
const runId = crypto.randomUUID();
|
|
152
|
+
await this.callback.handleDelegationStart(targetExecutor.agentId, task.taskId, runId);
|
|
153
|
+
try {
|
|
154
|
+
const result = await fn();
|
|
155
|
+
await this.callback.handleDelegationEnd(targetExecutor.agentId, task.taskId, runId);
|
|
156
|
+
logger.info({
|
|
157
|
+
from: this.config.agentId,
|
|
158
|
+
to: targetExecutor.agentId,
|
|
159
|
+
taskId: task.taskId,
|
|
160
|
+
}, "Task delegation completed");
|
|
161
|
+
return {
|
|
162
|
+
result,
|
|
163
|
+
fromAgentId: this.config.agentId,
|
|
164
|
+
toAgentId: targetExecutor.agentId,
|
|
165
|
+
trustCheck: delegatorCheck,
|
|
166
|
+
delegateeTrustCheck: delegateeCheck,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
await this.callback.handleDelegationError(targetExecutor.agentId, task.taskId, error instanceof Error ? error : new Error(String(error)), runId);
|
|
171
|
+
throw error;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Get current trust record for the agent
|
|
176
|
+
*/
|
|
177
|
+
async getTrustRecord() {
|
|
178
|
+
return this.trustEngine.getScore(this.config.agentId);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Manually record a positive signal
|
|
182
|
+
*/
|
|
183
|
+
async recordSuccess(type, value = 0.85) {
|
|
184
|
+
await this.trustEngine.recordSignal({
|
|
185
|
+
id: crypto.randomUUID(),
|
|
186
|
+
entityId: this.config.agentId,
|
|
187
|
+
type: `behavioral.${type}`,
|
|
188
|
+
value,
|
|
189
|
+
source: "crewai-manual",
|
|
190
|
+
timestamp: new Date().toISOString(),
|
|
191
|
+
metadata: { role: this.config.role },
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Manually record a negative signal
|
|
196
|
+
*/
|
|
197
|
+
async recordFailure(type, value = 0.1) {
|
|
198
|
+
await this.trustEngine.recordSignal({
|
|
199
|
+
id: crypto.randomUUID(),
|
|
200
|
+
entityId: this.config.agentId,
|
|
201
|
+
type: `behavioral.${type}`,
|
|
202
|
+
value,
|
|
203
|
+
source: "crewai-manual",
|
|
204
|
+
timestamp: new Date().toISOString(),
|
|
205
|
+
metadata: { role: this.config.role },
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// =============================================================================
|
|
210
|
+
// CREW EXECUTOR
|
|
211
|
+
// =============================================================================
|
|
212
|
+
/**
|
|
213
|
+
* Trust-aware crew executor
|
|
214
|
+
*
|
|
215
|
+
* Manages a crew of agents with collective trust governance.
|
|
216
|
+
* Ensures all agents meet minimum trust requirements before crew execution.
|
|
217
|
+
*/
|
|
218
|
+
export class CrewExecutor {
|
|
219
|
+
trustEngine;
|
|
220
|
+
config;
|
|
221
|
+
agents = new Map();
|
|
222
|
+
constructor(trustEngine, config) {
|
|
223
|
+
this.trustEngine = trustEngine;
|
|
224
|
+
this.config = {
|
|
225
|
+
crewId: config.crewId,
|
|
226
|
+
process: config.process ?? "sequential",
|
|
227
|
+
minCrewTrust: config.minCrewTrust ?? 1,
|
|
228
|
+
maxTaskFailures: config.maxTaskFailures ?? 0,
|
|
229
|
+
recordCrewEvents: config.recordCrewEvents ?? true,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Get the crew ID
|
|
234
|
+
*/
|
|
235
|
+
get crewId() {
|
|
236
|
+
return this.config.crewId;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Get the execution process type
|
|
240
|
+
*/
|
|
241
|
+
get process() {
|
|
242
|
+
return this.config.process;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Get all agent executors
|
|
246
|
+
*/
|
|
247
|
+
get agentExecutors() {
|
|
248
|
+
return Array.from(this.agents.values());
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Add an agent to the crew
|
|
252
|
+
*/
|
|
253
|
+
addAgent(executor) {
|
|
254
|
+
this.agents.set(executor.agentId, executor);
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Get an agent executor by ID
|
|
258
|
+
*/
|
|
259
|
+
getAgent(agentId) {
|
|
260
|
+
return this.agents.get(agentId);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Initialize all agents in the crew
|
|
264
|
+
*/
|
|
265
|
+
async initialize() {
|
|
266
|
+
for (const agent of this.agents.values()) {
|
|
267
|
+
await agent.initialize();
|
|
268
|
+
}
|
|
269
|
+
logger.info({ crewId: this.config.crewId, agentCount: this.agents.size }, "Crew initialized");
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Get the average trust level across all crew members
|
|
273
|
+
*/
|
|
274
|
+
async getCrewTrust() {
|
|
275
|
+
if (this.agents.size === 0) {
|
|
276
|
+
return { averageScore: 0, averageLevel: 0, allMeetMinimum: false };
|
|
277
|
+
}
|
|
278
|
+
let totalScore = 0;
|
|
279
|
+
let totalLevel = 0;
|
|
280
|
+
let allMeet = true;
|
|
281
|
+
for (const agent of this.agents.values()) {
|
|
282
|
+
const record = await this.trustEngine.getScore(agent.agentId);
|
|
283
|
+
const score = record?.score ?? 0;
|
|
284
|
+
const level = record?.level ?? 0;
|
|
285
|
+
totalScore += score;
|
|
286
|
+
totalLevel += level;
|
|
287
|
+
if (level < this.config.minCrewTrust) {
|
|
288
|
+
allMeet = false;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
return {
|
|
292
|
+
averageScore: totalScore / this.agents.size,
|
|
293
|
+
averageLevel: totalLevel / this.agents.size,
|
|
294
|
+
allMeetMinimum: allMeet,
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Execute a set of tasks with the crew
|
|
299
|
+
*
|
|
300
|
+
* Tasks are assigned to agents based on the configured process (sequential/hierarchical).
|
|
301
|
+
* All agents must meet the minimum crew trust requirement.
|
|
302
|
+
*
|
|
303
|
+
* @param tasks - Tasks to execute
|
|
304
|
+
* @param taskRunner - Function that runs a single task given task config and agent executor
|
|
305
|
+
* @throws TrustInsufficientError if any agent fails trust check
|
|
306
|
+
*/
|
|
307
|
+
async kickoff(tasks, taskRunner) {
|
|
308
|
+
// Check crew-level trust
|
|
309
|
+
const crewTrust = await this.getCrewTrust();
|
|
310
|
+
if (!crewTrust.allMeetMinimum) {
|
|
311
|
+
throw new TrustInsufficientError(this.config.minCrewTrust, Math.floor(crewTrust.averageLevel));
|
|
312
|
+
}
|
|
313
|
+
const agentList = Array.from(this.agents.values());
|
|
314
|
+
if (agentList.length === 0) {
|
|
315
|
+
throw new Error("Crew has no agents");
|
|
316
|
+
}
|
|
317
|
+
const results = [];
|
|
318
|
+
let tasksFailed = 0;
|
|
319
|
+
for (let i = 0; i < tasks.length; i++) {
|
|
320
|
+
const task = tasks[i];
|
|
321
|
+
// Determine which agent handles this task
|
|
322
|
+
let agent;
|
|
323
|
+
if (task.assignedAgentId && this.agents.has(task.assignedAgentId)) {
|
|
324
|
+
agent = this.agents.get(task.assignedAgentId);
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
// Round-robin assignment
|
|
328
|
+
agent = agentList[i % agentList.length];
|
|
329
|
+
}
|
|
330
|
+
try {
|
|
331
|
+
const taskResult = await agent.executeTask(task, () => taskRunner(task, agent));
|
|
332
|
+
results.push(taskResult);
|
|
333
|
+
}
|
|
334
|
+
catch (error) {
|
|
335
|
+
tasksFailed++;
|
|
336
|
+
if (tasksFailed > this.config.maxTaskFailures) {
|
|
337
|
+
logger.warn({
|
|
338
|
+
crewId: this.config.crewId,
|
|
339
|
+
tasksFailed,
|
|
340
|
+
maxAllowed: this.config.maxTaskFailures,
|
|
341
|
+
}, "Crew aborted due to too many task failures");
|
|
342
|
+
throw error;
|
|
343
|
+
}
|
|
344
|
+
logger.warn({
|
|
345
|
+
crewId: this.config.crewId,
|
|
346
|
+
taskId: task.taskId,
|
|
347
|
+
agentId: agent.agentId,
|
|
348
|
+
error: error instanceof Error ? error.message : String(error),
|
|
349
|
+
}, "Task failed within tolerance, continuing");
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
let totalSignals = 0;
|
|
353
|
+
for (const agent of this.agents.values()) {
|
|
354
|
+
totalSignals += agent.callbackHandler.signalsRecorded;
|
|
355
|
+
}
|
|
356
|
+
return {
|
|
357
|
+
results,
|
|
358
|
+
crewId: this.config.crewId,
|
|
359
|
+
crewTrust: crewTrust.averageScore,
|
|
360
|
+
totalSignalsRecorded: totalSignals,
|
|
361
|
+
tasksFailed,
|
|
362
|
+
tasksCompleted: results.length,
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
// =============================================================================
|
|
367
|
+
// FACTORY FUNCTIONS
|
|
368
|
+
// =============================================================================
|
|
369
|
+
/**
|
|
370
|
+
* Create a trust-aware crew agent executor
|
|
371
|
+
*/
|
|
372
|
+
export function createCrewAgentExecutor(trustEngine, config) {
|
|
373
|
+
return new CrewAgentExecutor(trustEngine, config);
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Create a trust-aware crew executor
|
|
377
|
+
*/
|
|
378
|
+
export function createCrewExecutor(trustEngine, config) {
|
|
379
|
+
return new CrewExecutor(trustEngine, config);
|
|
380
|
+
}
|
|
381
|
+
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/crewai/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CrewAI Integration
|
|
3
|
+
*
|
|
4
|
+
* Trust-aware adapters for CrewAI multi-agent crews.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
export * from "./types.js";
|
|
9
|
+
export * from "./callback.js";
|
|
10
|
+
export * from "./executor.js";
|
|
11
|
+
export * from "./tools.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crewai/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CrewAI Integration
|
|
3
|
+
*
|
|
4
|
+
* Trust-aware adapters for CrewAI multi-agent crews.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
export * from "./types.js";
|
|
9
|
+
export * from "./callback.js";
|
|
10
|
+
export * from "./executor.js";
|
|
11
|
+
export * from "./tools.js";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/crewai/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CrewAI Trust Tools
|
|
3
|
+
*
|
|
4
|
+
* Tools that allow crew agents to query trust information.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
import type { TrustEngine } from "../trust-engine/index.js";
|
|
9
|
+
/**
|
|
10
|
+
* Tool definition compatible with CrewAI's tool interface
|
|
11
|
+
*/
|
|
12
|
+
export interface CrewTrustToolDefinition {
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
func: (input: string) => Promise<string>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create trust query tools for crew agents
|
|
19
|
+
*/
|
|
20
|
+
export declare function createCrewTrustTools(trustEngine: TrustEngine, agentId: string): CrewTrustToolDefinition[];
|
|
21
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/crewai/tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI5D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,uBAAuB,EAAE,CA8K3B"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CrewAI Trust Tools
|
|
3
|
+
*
|
|
4
|
+
* Tools that allow crew agents to query trust information.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
import { TRUST_LEVEL_NAMES, TRUST_THRESHOLDS } from "../trust-engine/index.js";
|
|
9
|
+
/**
|
|
10
|
+
* Create trust query tools for crew agents
|
|
11
|
+
*/
|
|
12
|
+
export function createCrewTrustTools(trustEngine, agentId) {
|
|
13
|
+
return [
|
|
14
|
+
{
|
|
15
|
+
name: "check_agent_trust",
|
|
16
|
+
description: "Check your current trust score and level within the crew. Returns your trust score (0-1000), " +
|
|
17
|
+
"trust level (L0-L5), and level name. Use this to understand your current permissions.",
|
|
18
|
+
func: async (_input) => {
|
|
19
|
+
const record = await trustEngine.getScore(agentId);
|
|
20
|
+
if (!record) {
|
|
21
|
+
return JSON.stringify({
|
|
22
|
+
error: "Trust record not found",
|
|
23
|
+
agentId,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return JSON.stringify({
|
|
27
|
+
agentId,
|
|
28
|
+
score: record.score,
|
|
29
|
+
level: record.level,
|
|
30
|
+
levelName: TRUST_LEVEL_NAMES[record.level],
|
|
31
|
+
components: record.components,
|
|
32
|
+
recentFailures: record.recentFailures.length,
|
|
33
|
+
acceleratedDecay: trustEngine.isAcceleratedDecayActive(agentId),
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: "check_crew_member_trust",
|
|
39
|
+
description: "Check the trust score for another crew member. " +
|
|
40
|
+
"Input should be the agent ID of the crew member to check. " +
|
|
41
|
+
"Useful for deciding whether to delegate tasks.",
|
|
42
|
+
func: async (input) => {
|
|
43
|
+
const targetId = input.trim();
|
|
44
|
+
const record = await trustEngine.getScore(targetId);
|
|
45
|
+
if (!record) {
|
|
46
|
+
return JSON.stringify({
|
|
47
|
+
error: "Crew member not found",
|
|
48
|
+
agentId: targetId,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return JSON.stringify({
|
|
52
|
+
agentId: targetId,
|
|
53
|
+
score: record.score,
|
|
54
|
+
level: record.level,
|
|
55
|
+
levelName: TRUST_LEVEL_NAMES[record.level],
|
|
56
|
+
lastCalculatedAt: record.lastCalculatedAt,
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "check_delegation_allowed",
|
|
62
|
+
description: "Check if you can delegate a task to another crew member. " +
|
|
63
|
+
"Input should be the target agent ID. " +
|
|
64
|
+
"Returns whether the delegation is allowed based on both agents' trust levels.",
|
|
65
|
+
func: async (input) => {
|
|
66
|
+
const targetId = input.trim();
|
|
67
|
+
const myRecord = await trustEngine.getScore(agentId);
|
|
68
|
+
const targetRecord = await trustEngine.getScore(targetId);
|
|
69
|
+
if (!myRecord) {
|
|
70
|
+
return JSON.stringify({
|
|
71
|
+
allowed: false,
|
|
72
|
+
reason: "Your trust record not found",
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
if (!targetRecord) {
|
|
76
|
+
return JSON.stringify({
|
|
77
|
+
allowed: false,
|
|
78
|
+
reason: `Crew member ${targetId} not found in trust engine`,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
const minDelegationLevel = 2;
|
|
82
|
+
const allowed = myRecord.level >= minDelegationLevel && targetRecord.level >= 1;
|
|
83
|
+
return JSON.stringify({
|
|
84
|
+
allowed,
|
|
85
|
+
yourLevel: myRecord.level,
|
|
86
|
+
yourLevelName: TRUST_LEVEL_NAMES[myRecord.level],
|
|
87
|
+
targetLevel: targetRecord.level,
|
|
88
|
+
targetLevelName: TRUST_LEVEL_NAMES[targetRecord.level],
|
|
89
|
+
reason: allowed
|
|
90
|
+
? `Delegation allowed: you have ${TRUST_LEVEL_NAMES[myRecord.level]} trust, target has ${TRUST_LEVEL_NAMES[targetRecord.level]}`
|
|
91
|
+
: `Delegation blocked: requires ${TRUST_LEVEL_NAMES[minDelegationLevel]} trust for delegator`,
|
|
92
|
+
});
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name: "get_trust_levels",
|
|
97
|
+
description: "Get information about all trust levels and their score ranges. " +
|
|
98
|
+
"Useful for understanding the trust tier system.",
|
|
99
|
+
func: async (_input) => {
|
|
100
|
+
const levels = Object.entries(TRUST_LEVEL_NAMES).map(([level, name]) => ({
|
|
101
|
+
level: parseInt(level),
|
|
102
|
+
name,
|
|
103
|
+
scoreRange: TRUST_THRESHOLDS[parseInt(level)],
|
|
104
|
+
}));
|
|
105
|
+
return JSON.stringify({
|
|
106
|
+
levels,
|
|
107
|
+
description: "Trust levels range from L0 (Sandbox) to L5 (Autonomous). " +
|
|
108
|
+
"Higher levels grant access to more sensitive tasks and delegation capabilities.",
|
|
109
|
+
});
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: "report_task_success",
|
|
114
|
+
description: "Report that you successfully completed a crew task. " +
|
|
115
|
+
"This will record a positive behavioral signal to improve your trust score. " +
|
|
116
|
+
"Input should be a brief description of what you accomplished.",
|
|
117
|
+
func: async (input) => {
|
|
118
|
+
await trustEngine.recordSignal({
|
|
119
|
+
id: crypto.randomUUID(),
|
|
120
|
+
entityId: agentId,
|
|
121
|
+
type: "behavioral.crew_task_completed",
|
|
122
|
+
value: 0.85,
|
|
123
|
+
source: "crewai-self-report",
|
|
124
|
+
timestamp: new Date().toISOString(),
|
|
125
|
+
metadata: { description: input },
|
|
126
|
+
});
|
|
127
|
+
const record = await trustEngine.getScore(agentId);
|
|
128
|
+
return JSON.stringify({
|
|
129
|
+
recorded: true,
|
|
130
|
+
newScore: record?.score,
|
|
131
|
+
newLevel: record?.level,
|
|
132
|
+
message: "Task success recorded. Your trust score may have improved.",
|
|
133
|
+
});
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
name: "report_task_failure",
|
|
138
|
+
description: "Report that you failed to complete a crew task. " +
|
|
139
|
+
"Honest self-reporting of failures helps maintain trust long-term. " +
|
|
140
|
+
"Input should be a brief description of what went wrong.",
|
|
141
|
+
func: async (input) => {
|
|
142
|
+
await trustEngine.recordSignal({
|
|
143
|
+
id: crypto.randomUUID(),
|
|
144
|
+
entityId: agentId,
|
|
145
|
+
type: "behavioral.crew_task_failed",
|
|
146
|
+
value: 0.2,
|
|
147
|
+
source: "crewai-self-report",
|
|
148
|
+
timestamp: new Date().toISOString(),
|
|
149
|
+
metadata: { description: input },
|
|
150
|
+
});
|
|
151
|
+
const record = await trustEngine.getScore(agentId);
|
|
152
|
+
return JSON.stringify({
|
|
153
|
+
recorded: true,
|
|
154
|
+
newScore: record?.score,
|
|
155
|
+
newLevel: record?.level,
|
|
156
|
+
acceleratedDecay: trustEngine.isAcceleratedDecayActive(agentId),
|
|
157
|
+
message: "Task failure recorded. Your trust score may have decreased. " +
|
|
158
|
+
"Honest reporting is valued in the trust system.",
|
|
159
|
+
});
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
];
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/crewai/tools.ts"],"names":[],"mappings":"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"}
|