@ebowwa/daemons 0.5.0 → 0.5.1
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/agent.d.ts +37 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/bin/discord-cli.js +25 -60
- package/dist/bin/telegram-cli.js +25 -60
- package/dist/channels/base.d.ts +163 -0
- package/dist/channels/base.d.ts.map +1 -0
- package/dist/channels/discord.d.ts +61 -0
- package/dist/channels/discord.d.ts.map +1 -0
- package/dist/channels/index.d.ts +55 -0
- package/dist/channels/index.d.ts.map +1 -0
- package/dist/channels/telegram.d.ts +113 -0
- package/dist/channels/telegram.d.ts.map +1 -0
- package/dist/daemon.d.ts +119 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/hooks.d.ts +34 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -60
- package/dist/memory.d.ts +151 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/skills/coding/commit.d.ts +31 -0
- package/dist/skills/coding/commit.d.ts.map +1 -0
- package/dist/skills/coding/execute-subtask.d.ts +30 -0
- package/dist/skills/coding/execute-subtask.d.ts.map +1 -0
- package/dist/skills/coding/fix-issues.d.ts +29 -0
- package/dist/skills/coding/fix-issues.d.ts.map +1 -0
- package/dist/skills/coding/index.d.ts +21 -0
- package/dist/skills/coding/index.d.ts.map +1 -0
- package/dist/skills/coding/plan-task.d.ts +38 -0
- package/dist/skills/coding/plan-task.d.ts.map +1 -0
- package/dist/skills/coding/quality-check.d.ts +35 -0
- package/dist/skills/coding/quality-check.d.ts.map +1 -0
- package/dist/skills/index.d.ts +38 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/registry.d.ts +95 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/shared/index.d.ts +16 -0
- package/dist/skills/shared/index.d.ts.map +1 -0
- package/dist/skills/shared/reflect.d.ts +42 -0
- package/dist/skills/shared/reflect.d.ts.map +1 -0
- package/dist/skills/shared/review.d.ts +42 -0
- package/dist/skills/shared/review.d.ts.map +1 -0
- package/dist/skills/shared/trajectory.d.ts +80 -0
- package/dist/skills/shared/trajectory.d.ts.map +1 -0
- package/dist/skills/trading/analyze-market.d.ts +43 -0
- package/dist/skills/trading/analyze-market.d.ts.map +1 -0
- package/dist/skills/trading/check-risk.d.ts +33 -0
- package/dist/skills/trading/check-risk.d.ts.map +1 -0
- package/dist/skills/trading/execute-trade.d.ts +38 -0
- package/dist/skills/trading/execute-trade.d.ts.map +1 -0
- package/dist/skills/trading/generate-signal.d.ts +57 -0
- package/dist/skills/trading/generate-signal.d.ts.map +1 -0
- package/dist/skills/trading/index.d.ts +21 -0
- package/dist/skills/trading/index.d.ts.map +1 -0
- package/dist/skills/trading/monitor-position.d.ts +37 -0
- package/dist/skills/trading/monitor-position.d.ts.map +1 -0
- package/dist/skills/types.d.ts +173 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/workflows.d.ts +36 -0
- package/dist/skills/workflows.d.ts.map +1 -0
- package/dist/state.d.ts +31 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/tools.d.ts +42 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/types.d.ts +281 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/workflow.d.ts +182 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflows/coding.d.ts +79 -0
- package/dist/workflows/coding.d.ts.map +1 -0
- package/dist/workflows/index.d.ts +24 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/trading.d.ts +72 -0
- package/dist/workflows/trading.d.ts.map +1 -0
- package/package.json +9 -2
- package/src/channels/base.ts +1 -0
- package/src/channels/telegram.ts +2 -1
- package/src/skills/shared/trajectory.ts +8 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLM Daemon - Trajectory Skill
|
|
3
|
+
*
|
|
4
|
+
* Integration with @ebowwa/trajectory for learning from execution patterns.
|
|
5
|
+
* Provides:
|
|
6
|
+
* - Query learned patterns by domain
|
|
7
|
+
* - Record execution results for learning
|
|
8
|
+
* - Provide context about past successful patterns
|
|
9
|
+
*/
|
|
10
|
+
import { z } from "zod";
|
|
11
|
+
import type { Skill } from "../types.js";
|
|
12
|
+
/**
|
|
13
|
+
* Trajectory skill parameters
|
|
14
|
+
*/
|
|
15
|
+
declare const TrajectoryParams: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
16
|
+
action: z.ZodLiteral<"query">;
|
|
17
|
+
domain: z.ZodString;
|
|
18
|
+
minSuccessRate: z.ZodOptional<z.ZodNumber>;
|
|
19
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
21
|
+
action: z.ZodLiteral<"record">;
|
|
22
|
+
execution: z.ZodObject<{
|
|
23
|
+
primitiveId: z.ZodString;
|
|
24
|
+
package: z.ZodString;
|
|
25
|
+
version: z.ZodString;
|
|
26
|
+
inputs: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
27
|
+
output: z.ZodUnknown;
|
|
28
|
+
durationNs: z.ZodNumber;
|
|
29
|
+
verified: z.ZodBoolean;
|
|
30
|
+
invariantsChecked: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
31
|
+
verificationErrors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
32
|
+
specId: z.ZodOptional<z.ZodString>;
|
|
33
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
36
|
+
action: z.ZodLiteral<"context">;
|
|
37
|
+
task: z.ZodString;
|
|
38
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
39
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
40
|
+
action: z.ZodLiteral<"stats">;
|
|
41
|
+
}, z.core.$strip>], "action">;
|
|
42
|
+
/**
|
|
43
|
+
* Pattern info from trajectory memory
|
|
44
|
+
*/
|
|
45
|
+
interface LearnedPattern {
|
|
46
|
+
primitiveSequence: string[];
|
|
47
|
+
avgDurationMs: number;
|
|
48
|
+
successRate: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Trajectory skill result data
|
|
52
|
+
*/
|
|
53
|
+
interface TrajectoryData {
|
|
54
|
+
action: "query" | "record" | "context" | "stats";
|
|
55
|
+
patterns?: LearnedPattern[];
|
|
56
|
+
recorded?: {
|
|
57
|
+
executionId: string;
|
|
58
|
+
timestamp: number;
|
|
59
|
+
};
|
|
60
|
+
context?: {
|
|
61
|
+
relevantPatterns: LearnedPattern[];
|
|
62
|
+
suggestions: string[];
|
|
63
|
+
historicalSuccess: number;
|
|
64
|
+
};
|
|
65
|
+
stats?: {
|
|
66
|
+
totalExecutions: number;
|
|
67
|
+
totalCompositions: number;
|
|
68
|
+
totalTrajectories: number;
|
|
69
|
+
successfulTrajectories: number;
|
|
70
|
+
avgExecutionsPerComposition: number;
|
|
71
|
+
avgAttemptsPerTrajectory: number;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Trajectory skill definition
|
|
76
|
+
*/
|
|
77
|
+
export declare const trajectorySkill: Skill<z.infer<typeof TrajectoryParams>, TrajectoryData>;
|
|
78
|
+
export { TrajectoryParams };
|
|
79
|
+
export type { TrajectoryData, LearnedPattern };
|
|
80
|
+
//# sourceMappingURL=trajectory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trajectory.d.ts","sourceRoot":"","sources":["../../../src/skills/shared/trajectory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAA6B,MAAM,aAAa,CAAC;AAGpE;;GAEG;AACH,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;6BAyCpB,CAAC;AAEH;;GAEG;AACH,UAAU,cAAc;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IACjD,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE;QACT,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,gBAAgB,EAAE,cAAc,EAAE,CAAC;QACnC,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,KAAK,CAAC,EAAE;QACN,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,2BAA2B,EAAE,MAAM,CAAC;QACpC,wBAAwB,EAAE,MAAM,CAAC;KAClC,CAAC;CACH;AA2CD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CACjC,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,EAChC,cAAc,CAmLf,CAAC;AAKF,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLM Daemon - Analyze Market Skill
|
|
3
|
+
*
|
|
4
|
+
* Analyze market conditions and identify trading opportunities.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import type { Skill } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Analyze market parameters
|
|
10
|
+
*/
|
|
11
|
+
declare const AnalyzeMarketParams: z.ZodObject<{
|
|
12
|
+
symbol: z.ZodOptional<z.ZodString>;
|
|
13
|
+
timeframe: z.ZodOptional<z.ZodEnum<{
|
|
14
|
+
short: "short";
|
|
15
|
+
medium: "medium";
|
|
16
|
+
long: "long";
|
|
17
|
+
}>>;
|
|
18
|
+
includeSentiment: z.ZodOptional<z.ZodBoolean>;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
/**
|
|
21
|
+
* Market analysis result data
|
|
22
|
+
*/
|
|
23
|
+
interface AnalyzeMarketData {
|
|
24
|
+
trend: "bullish" | "bearish" | "sideways";
|
|
25
|
+
confidence: number;
|
|
26
|
+
supportLevels: number[];
|
|
27
|
+
resistanceLevels: number[];
|
|
28
|
+
indicators: {
|
|
29
|
+
rsi?: number;
|
|
30
|
+
macd?: string;
|
|
31
|
+
volume?: string;
|
|
32
|
+
};
|
|
33
|
+
signals: string[];
|
|
34
|
+
riskLevel: "low" | "medium" | "high";
|
|
35
|
+
marketCondition: "volatile" | "ranging" | "trending";
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Analyze market skill
|
|
39
|
+
*/
|
|
40
|
+
export declare const analyzeMarketSkill: Skill<z.infer<typeof AnalyzeMarketParams>, AnalyzeMarketData>;
|
|
41
|
+
export { AnalyzeMarketParams };
|
|
42
|
+
export type { AnalyzeMarketData };
|
|
43
|
+
//# sourceMappingURL=analyze-market.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze-market.d.ts","sourceRoot":"","sources":["../../../src/skills/trading/analyze-market.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAA6B,MAAM,aAAa,CAAC;AAGpE;;GAEG;AACH,QAAA,MAAM,mBAAmB;;;;;;;;iBAOvB,CAAC;AAEH;;GAEG;AACH,UAAU,iBAAiB;IACzB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE;QACV,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,eAAe,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;CACtD;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,EAAE,iBAAiB,CA+F5F,CAAC;AAIF,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLM Daemon - Check Risk Skill
|
|
3
|
+
*
|
|
4
|
+
* Evaluate risk and validate signal before execution.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import type { Skill } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Check risk parameters
|
|
10
|
+
*/
|
|
11
|
+
declare const CheckRiskParams: z.ZodObject<{
|
|
12
|
+
maxRiskPerTrade: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
minRiskReward: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
maxExposure: z.ZodOptional<z.ZodNumber>;
|
|
15
|
+
}, z.core.$strip>;
|
|
16
|
+
/**
|
|
17
|
+
* Risk check result data
|
|
18
|
+
*/
|
|
19
|
+
interface CheckRiskData {
|
|
20
|
+
approved: boolean;
|
|
21
|
+
riskScore: number;
|
|
22
|
+
concerns: string[];
|
|
23
|
+
adjustments: string[];
|
|
24
|
+
maxPositionSize: number;
|
|
25
|
+
reasoning: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Check risk skill
|
|
29
|
+
*/
|
|
30
|
+
export declare const checkRiskSkill: Skill<z.infer<typeof CheckRiskParams>, CheckRiskData>;
|
|
31
|
+
export { CheckRiskParams };
|
|
32
|
+
export type { CheckRiskData };
|
|
33
|
+
//# sourceMappingURL=check-risk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-risk.d.ts","sourceRoot":"","sources":["../../../src/skills/trading/check-risk.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAA6B,MAAM,aAAa,CAAC;AAkCpE;;GAEG;AACH,QAAA,MAAM,eAAe;;;;iBAOnB,CAAC;AAEH;;GAEG;AACH,UAAU,aAAa;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,EAAE,aAAa,CAsGhF,CAAC;AAIF,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLM Daemon - Execute Trade Skill
|
|
3
|
+
*
|
|
4
|
+
* Execute trades according to validated signals.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import type { Skill } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Execute trade parameters
|
|
10
|
+
*/
|
|
11
|
+
declare const ExecuteTradeParams: z.ZodObject<{
|
|
12
|
+
paper: z.ZodOptional<z.ZodBoolean>;
|
|
13
|
+
orderType: z.ZodOptional<z.ZodEnum<{
|
|
14
|
+
limit: "limit";
|
|
15
|
+
market: "market";
|
|
16
|
+
fok: "fok";
|
|
17
|
+
}>>;
|
|
18
|
+
}, z.core.$strip>;
|
|
19
|
+
/**
|
|
20
|
+
* Execute trade result data
|
|
21
|
+
*/
|
|
22
|
+
interface ExecuteTradeData {
|
|
23
|
+
orderId: string;
|
|
24
|
+
direction: string;
|
|
25
|
+
entryPrice: number;
|
|
26
|
+
size: number;
|
|
27
|
+
stopLossOrderId: string;
|
|
28
|
+
takeProfitOrderIds: string[];
|
|
29
|
+
status: "placed" | "filled" | "partial" | "failed";
|
|
30
|
+
timestamp: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Execute trade skill
|
|
34
|
+
*/
|
|
35
|
+
export declare const executeTradeSkill: Skill<z.infer<typeof ExecuteTradeParams>, ExecuteTradeData>;
|
|
36
|
+
export { ExecuteTradeParams };
|
|
37
|
+
export type { ExecuteTradeData };
|
|
38
|
+
//# sourceMappingURL=execute-trade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-trade.d.ts","sourceRoot":"","sources":["../../../src/skills/trading/execute-trade.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAA6B,MAAM,aAAa,CAAC;AAmCpE;;GAEG;AACH,QAAA,MAAM,kBAAkB;;;;;;;iBAKtB,CAAC;AAEH;;GAEG;AACH,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,EAAE,gBAAgB,CA8GzF,CAAC;AAIF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLM Daemon - Generate Signal Skill
|
|
3
|
+
*
|
|
4
|
+
* Generate trading signals based on market analysis.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import type { Skill } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Generate signal parameters
|
|
10
|
+
*/
|
|
11
|
+
declare const GenerateSignalParams: z.ZodObject<{
|
|
12
|
+
riskTolerance: z.ZodOptional<z.ZodEnum<{
|
|
13
|
+
conservative: "conservative";
|
|
14
|
+
moderate: "moderate";
|
|
15
|
+
aggressive: "aggressive";
|
|
16
|
+
}>>;
|
|
17
|
+
maxPositionSize: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
}, z.core.$strip>;
|
|
19
|
+
/**
|
|
20
|
+
* Trading signal result data
|
|
21
|
+
*/
|
|
22
|
+
interface GenerateSignalData {
|
|
23
|
+
direction: "long" | "short" | "none";
|
|
24
|
+
entryZone: {
|
|
25
|
+
min: number;
|
|
26
|
+
max: number;
|
|
27
|
+
};
|
|
28
|
+
stopLoss: number;
|
|
29
|
+
takeProfits: {
|
|
30
|
+
tp1: {
|
|
31
|
+
price: number;
|
|
32
|
+
size: string;
|
|
33
|
+
};
|
|
34
|
+
tp2: {
|
|
35
|
+
price: number;
|
|
36
|
+
size: string;
|
|
37
|
+
};
|
|
38
|
+
tp3: {
|
|
39
|
+
price: number;
|
|
40
|
+
size: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
positionSize: {
|
|
44
|
+
percentage: number;
|
|
45
|
+
reason: string;
|
|
46
|
+
};
|
|
47
|
+
riskReward: number;
|
|
48
|
+
confidence: number;
|
|
49
|
+
rationale: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Generate signal skill
|
|
53
|
+
*/
|
|
54
|
+
export declare const generateSignalSkill: Skill<z.infer<typeof GenerateSignalParams>, GenerateSignalData>;
|
|
55
|
+
export { GenerateSignalParams };
|
|
56
|
+
export type { GenerateSignalData };
|
|
57
|
+
//# sourceMappingURL=generate-signal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-signal.d.ts","sourceRoot":"","sources":["../../../src/skills/trading/generate-signal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAA6B,MAAM,aAAa,CAAC;AAGpE;;GAEG;AACH,QAAA,MAAM,oBAAoB;;;;;;;iBAKxB,CAAC;AAEH;;GAEG;AACH,UAAU,kBAAkB;IAC1B,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACrC,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE;QACX,GAAG,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACrC,GAAG,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACrC,GAAG,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KACtC,CAAC;IACF,YAAY,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAAE,kBAAkB,CAiH/F,CAAC;AAIF,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLM Daemon - Trading Skills
|
|
3
|
+
*
|
|
4
|
+
* Skills for trading and market analysis workflows.
|
|
5
|
+
*/
|
|
6
|
+
import "./analyze-market.js";
|
|
7
|
+
import "./generate-signal.js";
|
|
8
|
+
import "./check-risk.js";
|
|
9
|
+
import "./execute-trade.js";
|
|
10
|
+
import "./monitor-position.js";
|
|
11
|
+
export { analyzeMarketSkill } from "./analyze-market.js";
|
|
12
|
+
export { generateSignalSkill } from "./generate-signal.js";
|
|
13
|
+
export { checkRiskSkill } from "./check-risk.js";
|
|
14
|
+
export { executeTradeSkill } from "./execute-trade.js";
|
|
15
|
+
export { monitorPositionSkill } from "./monitor-position.js";
|
|
16
|
+
export type { AnalyzeMarketData } from "./analyze-market.js";
|
|
17
|
+
export type { GenerateSignalData } from "./generate-signal.js";
|
|
18
|
+
export type { CheckRiskData } from "./check-risk.js";
|
|
19
|
+
export type { ExecuteTradeData } from "./execute-trade.js";
|
|
20
|
+
export type { MonitorPositionData } from "./monitor-position.js";
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/skills/trading/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,qBAAqB,CAAC;AAC7B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,iBAAiB,CAAC;AACzB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,uBAAuB,CAAC;AAG/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLM Daemon - Monitor Position Skill
|
|
3
|
+
*
|
|
4
|
+
* Monitor open positions and market conditions.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import type { Skill } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Monitor position parameters
|
|
10
|
+
*/
|
|
11
|
+
declare const MonitorPositionParams: z.ZodObject<{
|
|
12
|
+
interval: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
maxHoldTime: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
/**
|
|
16
|
+
* Monitor position result data
|
|
17
|
+
*/
|
|
18
|
+
interface MonitorPositionData {
|
|
19
|
+
currentPrice: number;
|
|
20
|
+
unrealizedPnL: number;
|
|
21
|
+
pnlPercent: number;
|
|
22
|
+
tp1Hit: boolean;
|
|
23
|
+
tp2Hit: boolean;
|
|
24
|
+
tp3Hit: boolean;
|
|
25
|
+
stopLossHit: boolean;
|
|
26
|
+
targetReached: boolean;
|
|
27
|
+
positionClosed: boolean;
|
|
28
|
+
status: "open" | "closed" | "stopped_out" | "taken_profit";
|
|
29
|
+
recommendation: "hold" | "close" | "adjust";
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Monitor position skill
|
|
33
|
+
*/
|
|
34
|
+
export declare const monitorPositionSkill: Skill<z.infer<typeof MonitorPositionParams>, MonitorPositionData>;
|
|
35
|
+
export { MonitorPositionParams };
|
|
36
|
+
export type { MonitorPositionData };
|
|
37
|
+
//# sourceMappingURL=monitor-position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monitor-position.d.ts","sourceRoot":"","sources":["../../../src/skills/trading/monitor-position.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAA6B,MAAM,aAAa,CAAC;AAmBpE;;GAEG;AACH,QAAA,MAAM,qBAAqB;;;iBAKzB,CAAC;AAEH;;GAEG;AACH,UAAU,mBAAmB;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,cAAc,CAAC;IAC3D,cAAc,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;CAC7C;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,EAAE,mBAAmB,CAqHlG,CAAC;AAIF,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLM Daemon - Skill Types
|
|
3
|
+
*
|
|
4
|
+
* Composable skill system for workflow phases.
|
|
5
|
+
* Skills are reusable units of work that can be shared across workflows.
|
|
6
|
+
*/
|
|
7
|
+
import type { z } from "zod";
|
|
8
|
+
import type { GLMDaemonState } from "../types.js";
|
|
9
|
+
import type { GLMAgent } from "../agent.js";
|
|
10
|
+
/**
|
|
11
|
+
* Skill parameter schema type
|
|
12
|
+
*/
|
|
13
|
+
export type SkillParams = z.ZodType<unknown>;
|
|
14
|
+
/**
|
|
15
|
+
* Skill result data type
|
|
16
|
+
* Flexible type for skill result data - can be any non-null value
|
|
17
|
+
*/
|
|
18
|
+
export type SkillData = unknown;
|
|
19
|
+
/**
|
|
20
|
+
* Context passed to skill execution
|
|
21
|
+
*/
|
|
22
|
+
export interface SkillContext {
|
|
23
|
+
/** Current daemon state */
|
|
24
|
+
state: GLMDaemonState;
|
|
25
|
+
/** Agent instance for AI calls */
|
|
26
|
+
agent: GLMAgent;
|
|
27
|
+
/** Workflow-specific custom data */
|
|
28
|
+
custom: Record<string, unknown>;
|
|
29
|
+
/** Increment tool count and check for reflection trigger */
|
|
30
|
+
incrementToolCount: () => boolean;
|
|
31
|
+
/** Execute a lifecycle hook */
|
|
32
|
+
executeHook: (event: string, ...args: unknown[]) => Promise<void>;
|
|
33
|
+
/** Call another skill by ID */
|
|
34
|
+
callSkill: (id: string, params?: unknown) => Promise<SkillResult>;
|
|
35
|
+
/** Workflow configuration (contains skill params) */
|
|
36
|
+
workflowConfig?: Record<string, unknown>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Result returned by skill execution
|
|
40
|
+
*/
|
|
41
|
+
export interface SkillResult<T = SkillData> {
|
|
42
|
+
/** Whether the skill executed successfully */
|
|
43
|
+
success: boolean;
|
|
44
|
+
/** Result data from skill execution */
|
|
45
|
+
data?: T;
|
|
46
|
+
/** Error message if failed */
|
|
47
|
+
error?: string;
|
|
48
|
+
/** Updates to apply to context.custom */
|
|
49
|
+
contextUpdates?: Record<string, unknown>;
|
|
50
|
+
/** Updates to apply to daemon state */
|
|
51
|
+
stateUpdates?: Partial<GLMDaemonState>;
|
|
52
|
+
/** Next skill to execute (overrides workflow transition) */
|
|
53
|
+
nextSkill?: string;
|
|
54
|
+
/** Whether to stop the workflow */
|
|
55
|
+
stop?: boolean;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Skill configuration (static definition)
|
|
59
|
+
*/
|
|
60
|
+
export interface SkillConfig<P = unknown> {
|
|
61
|
+
/** Unique skill identifier (e.g., "analyze-market" → "/analyze-market") */
|
|
62
|
+
id: string;
|
|
63
|
+
/** Human-readable name */
|
|
64
|
+
name: string;
|
|
65
|
+
/** Description for AI to understand skill purpose */
|
|
66
|
+
description: string;
|
|
67
|
+
/** Parameter schema (Zod) for validation */
|
|
68
|
+
paramsSchema?: z.ZodType<P>;
|
|
69
|
+
/** Default parameters from workflow config */
|
|
70
|
+
defaultParams?: P;
|
|
71
|
+
/** Context keys required before execution */
|
|
72
|
+
requires?: string[];
|
|
73
|
+
/** Context keys produced after execution */
|
|
74
|
+
produces?: string[];
|
|
75
|
+
/** Tags for categorization */
|
|
76
|
+
tags?: string[];
|
|
77
|
+
/** Whether this skill can run in parallel with others */
|
|
78
|
+
parallelizable?: boolean;
|
|
79
|
+
/** Max retry attempts on failure (default: 3) */
|
|
80
|
+
maxRetries?: number;
|
|
81
|
+
/** Base delay for retry backoff in ms (default: 1000) */
|
|
82
|
+
retryBaseDelay?: number;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Skill interface - combines config and execution
|
|
86
|
+
*/
|
|
87
|
+
export interface Skill<P = unknown, T = SkillData> extends SkillConfig<P> {
|
|
88
|
+
/** Execute the skill */
|
|
89
|
+
execute(params: P | undefined, context: SkillContext): Promise<SkillResult<T>>;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Skill factory function type
|
|
93
|
+
*/
|
|
94
|
+
export type SkillFactory<P = unknown, T = SkillData> = (config?: Partial<SkillConfig<P>>) => Skill<P, T>;
|
|
95
|
+
/**
|
|
96
|
+
* Transition rule between skills
|
|
97
|
+
*/
|
|
98
|
+
export interface SkillTransition {
|
|
99
|
+
/** Source skill ID or "*" for any */
|
|
100
|
+
from: string;
|
|
101
|
+
/** Target skill ID */
|
|
102
|
+
to: string;
|
|
103
|
+
/** Condition for transition */
|
|
104
|
+
condition?: SkillTransitionCondition;
|
|
105
|
+
/** Priority (higher = checked first) */
|
|
106
|
+
priority?: number;
|
|
107
|
+
/** Description of when this transition applies */
|
|
108
|
+
description?: string;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Transition condition function
|
|
112
|
+
*/
|
|
113
|
+
export type SkillTransitionCondition = (context: SkillContext, result: SkillResult) => boolean | Promise<boolean>;
|
|
114
|
+
/**
|
|
115
|
+
* Workflow configuration using skill sequences
|
|
116
|
+
*/
|
|
117
|
+
export interface SkillWorkflowConfig {
|
|
118
|
+
/** Workflow identifier */
|
|
119
|
+
id: string;
|
|
120
|
+
/** Human-readable name */
|
|
121
|
+
name: string;
|
|
122
|
+
/** Description */
|
|
123
|
+
description: string;
|
|
124
|
+
/** Skills to execute (in order, unless transitions override) */
|
|
125
|
+
skills: string[];
|
|
126
|
+
/** Initial skill to start with */
|
|
127
|
+
initialSkill: string;
|
|
128
|
+
/** Skills that terminate the workflow */
|
|
129
|
+
terminalSkills: string[];
|
|
130
|
+
/** Transition rules between skills */
|
|
131
|
+
transitions: SkillTransition[];
|
|
132
|
+
/** Default skill parameters */
|
|
133
|
+
skillParams?: Record<string, unknown>;
|
|
134
|
+
/** System prompt extensions for this workflow */
|
|
135
|
+
systemPromptExtensions?: string;
|
|
136
|
+
/** Reflection skill ID (if supported) */
|
|
137
|
+
reflectionSkill?: string;
|
|
138
|
+
/** Custom completion check */
|
|
139
|
+
isComplete?: (context: SkillContext) => boolean | Promise<boolean>;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Skill execution metadata
|
|
143
|
+
*/
|
|
144
|
+
export interface SkillExecutionMeta {
|
|
145
|
+
/** Skill ID */
|
|
146
|
+
skillId: string;
|
|
147
|
+
/** Execution start time */
|
|
148
|
+
startTime: string;
|
|
149
|
+
/** Execution end time */
|
|
150
|
+
endTime?: string;
|
|
151
|
+
/** Duration in ms */
|
|
152
|
+
duration?: number;
|
|
153
|
+
/** Attempt number (for retries) */
|
|
154
|
+
attempt: number;
|
|
155
|
+
/** Whether execution succeeded */
|
|
156
|
+
success: boolean;
|
|
157
|
+
/** Error message if failed */
|
|
158
|
+
error?: string;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Skill execution options
|
|
162
|
+
*/
|
|
163
|
+
export interface SkillExecutionOptions {
|
|
164
|
+
/** Override max retries */
|
|
165
|
+
maxRetries?: number;
|
|
166
|
+
/** Skip parameter validation */
|
|
167
|
+
skipValidation?: boolean;
|
|
168
|
+
/** Custom timeout in ms */
|
|
169
|
+
timeout?: number;
|
|
170
|
+
/** Whether to update context after execution */
|
|
171
|
+
updateContext?: boolean;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/skills/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,KAAK,EAAE,cAAc,CAAC;IAEtB,kCAAkC;IAClC,KAAK,EAAE,QAAQ,CAAC;IAEhB,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhC,4DAA4D;IAC5D,kBAAkB,EAAE,MAAM,OAAO,CAAC;IAElC,+BAA+B;IAC/B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE,+BAA+B;IAC/B,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAElE,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,SAAS;IACxC,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IAEjB,uCAAuC;IACvC,IAAI,CAAC,EAAE,CAAC,CAAC;IAET,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAEvC,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mCAAmC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,2EAA2E;IAC3E,EAAE,EAAE,MAAM,CAAC;IAEX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IAEpB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,CAAC,CAAC;IAElB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,yDAAyD;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,SAAS,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IACvE,wBAAwB;IACxB,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CAChF;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,SAAS,IAAI,CACrD,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAC7B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IAEb,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAC;IAEX,+BAA+B;IAC/B,SAAS,CAAC,EAAE,wBAAwB,CAAC;IAErC,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,WAAW,KAChB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,EAAE,EAAE,MAAM,CAAC;IAEX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IAEpB,gEAAgE;IAChE,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IAErB,yCAAyC;IACzC,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,sCAAsC;IACtC,WAAW,EAAE,eAAe,EAAE,CAAC;IAE/B,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC,iDAAiD;IACjD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,yCAAyC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpE;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;IAEhB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAElB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAEhB,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IAEjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,gCAAgC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLM Daemon - Skill-Based Workflows
|
|
3
|
+
*
|
|
4
|
+
* Workflow definitions using skill sequences.
|
|
5
|
+
* Replaces the old class-based workflow system.
|
|
6
|
+
*/
|
|
7
|
+
import type { SkillWorkflowConfig } from "./types.js";
|
|
8
|
+
export declare const codingWorkflow: SkillWorkflowConfig;
|
|
9
|
+
export declare const tradingWorkflow: SkillWorkflowConfig;
|
|
10
|
+
/**
|
|
11
|
+
* Simple workflow registry for skill-based workflows
|
|
12
|
+
*/
|
|
13
|
+
declare class WorkflowConfigRegistry {
|
|
14
|
+
private workflows;
|
|
15
|
+
private defaultWorkflow;
|
|
16
|
+
register(config: SkillWorkflowConfig, setDefault?: boolean): void;
|
|
17
|
+
get(id: string): SkillWorkflowConfig | undefined;
|
|
18
|
+
getDefault(): SkillWorkflowConfig | undefined;
|
|
19
|
+
list(): Array<{
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
description: string;
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
25
|
+
export declare const workflowConfigRegistry: WorkflowConfigRegistry;
|
|
26
|
+
import type { SkillContext, SkillResult } from "./types.js";
|
|
27
|
+
/**
|
|
28
|
+
* Execute a skill-based workflow
|
|
29
|
+
*/
|
|
30
|
+
export declare function executeWorkflowSkill(workflow: SkillWorkflowConfig, context: SkillContext): Promise<SkillResult>;
|
|
31
|
+
/**
|
|
32
|
+
* Check if workflow is complete
|
|
33
|
+
*/
|
|
34
|
+
export declare function isWorkflowComplete(workflow: SkillWorkflowConfig, context: SkillContext): Promise<boolean>;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=workflows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/skills/workflows.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAmB,MAAM,YAAY,CAAC;AAkDvE,eAAO,MAAM,cAAc,EAAE,mBAyB5B,CAAC;AAkDF,eAAO,MAAM,eAAe,EAAE,mBAoC7B,CAAC;AAMF;;GAEG;AACH,cAAM,sBAAsB;IAC1B,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,eAAe,CAAuB;IAE9C,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,UAAU,UAAQ,GAAG,IAAI;IAO/D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIhD,UAAU,IAAI,mBAAmB,GAAG,SAAS;IAK7C,IAAI,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAOjE;AAED,eAAO,MAAM,sBAAsB,wBAA+B,CAAC;AAUnE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG5D;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,WAAW,CAAC,CA8CtB;AAgDD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,OAAO,CAAC,CAclB"}
|
package/dist/state.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLM Daemon - State Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages SLAM state persistence to disk.
|
|
5
|
+
*/
|
|
6
|
+
import type { GLMDaemonState } from "./types.js";
|
|
7
|
+
export declare class StateManager {
|
|
8
|
+
private statePath;
|
|
9
|
+
constructor(statePath: string);
|
|
10
|
+
/**
|
|
11
|
+
* Load state from disk
|
|
12
|
+
*/
|
|
13
|
+
load(): Promise<GLMDaemonState | null>;
|
|
14
|
+
/**
|
|
15
|
+
* Save state to disk
|
|
16
|
+
*/
|
|
17
|
+
save(state: GLMDaemonState): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Delete state file
|
|
20
|
+
*/
|
|
21
|
+
delete(): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Check if state file exists
|
|
24
|
+
*/
|
|
25
|
+
exists(): Promise<boolean>;
|
|
26
|
+
/**
|
|
27
|
+
* Update a portion of state (merge)
|
|
28
|
+
*/
|
|
29
|
+
update(updates: Partial<GLMDaemonState>): Promise<GLMDaemonState>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,EAAE,MAAM;IAI7B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAU5C;;OAEG;IACG,IAAI,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAShC;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAUxE"}
|
package/dist/tools.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLM Daemon - Tool Bridge
|
|
3
|
+
*
|
|
4
|
+
* Connects GLM agents to MCP servers for tool access.
|
|
5
|
+
*/
|
|
6
|
+
import type { GLMToolsConfig } from "./types.js";
|
|
7
|
+
export declare class ToolBridge {
|
|
8
|
+
private config;
|
|
9
|
+
private availableTools;
|
|
10
|
+
private toolTimeout;
|
|
11
|
+
private maxRetries;
|
|
12
|
+
constructor(config?: GLMToolsConfig);
|
|
13
|
+
/**
|
|
14
|
+
* Get list of available tools
|
|
15
|
+
*/
|
|
16
|
+
getAvailableTools(): string[];
|
|
17
|
+
/**
|
|
18
|
+
* Set available tools (from MCP discovery)
|
|
19
|
+
*/
|
|
20
|
+
setAvailableTools(tools: string[]): void;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a tool is allowed
|
|
23
|
+
*/
|
|
24
|
+
isToolAllowed(toolName: string): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Execute a tool with timeout and retry
|
|
27
|
+
*/
|
|
28
|
+
executeTool(toolName: string, args: Record<string, unknown>): Promise<{
|
|
29
|
+
success: boolean;
|
|
30
|
+
result?: unknown;
|
|
31
|
+
error?: string;
|
|
32
|
+
}>;
|
|
33
|
+
/**
|
|
34
|
+
* Execute tool with timeout
|
|
35
|
+
*/
|
|
36
|
+
private executeWithTimeout;
|
|
37
|
+
/**
|
|
38
|
+
* Discover tools from MCP servers
|
|
39
|
+
*/
|
|
40
|
+
discoverMCPTools(): Promise<void>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,GAAE,cAAmB;IAMvC;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAIxC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAexC;;OAEG;IACG,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA+BlE;;OAEG;YACW,kBAAkB;IAkBhC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAoBxC"}
|