@roll-agent/core 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/roll.js +0 -0
- package/dist/cli/commands/agent-add.d.ts +13 -1
- package/dist/cli/commands/agent-add.d.ts.map +1 -1
- package/dist/cli/commands/agent-add.js +35 -9
- package/dist/cli/commands/agent-add.js.map +1 -1
- package/dist/cli/commands/agent-health.d.ts.map +1 -1
- package/dist/cli/commands/agent-health.js +73 -27
- package/dist/cli/commands/agent-health.js.map +1 -1
- package/dist/cli/commands/agent-info.d.ts.map +1 -1
- package/dist/cli/commands/agent-info.js +7 -1
- package/dist/cli/commands/agent-info.js.map +1 -1
- package/dist/cli/commands/agent-install.d.ts +19 -0
- package/dist/cli/commands/agent-install.d.ts.map +1 -0
- package/dist/cli/commands/agent-install.js +137 -0
- package/dist/cli/commands/agent-install.js.map +1 -0
- package/dist/cli/commands/agent-list.d.ts.map +1 -1
- package/dist/cli/commands/agent-list.js +8 -6
- package/dist/cli/commands/agent-list.js.map +1 -1
- package/dist/cli/commands/agent-remove.d.ts.map +1 -1
- package/dist/cli/commands/agent-remove.js +48 -6
- package/dist/cli/commands/agent-remove.js.map +1 -1
- package/dist/cli/commands/agent-start.d.ts.map +1 -1
- package/dist/cli/commands/agent-start.js +47 -20
- package/dist/cli/commands/agent-start.js.map +1 -1
- package/dist/cli/commands/agent-stop.d.ts.map +1 -1
- package/dist/cli/commands/agent-stop.js +30 -9
- package/dist/cli/commands/agent-stop.js.map +1 -1
- package/dist/cli/commands/agent.d.ts.map +1 -1
- package/dist/cli/commands/agent.js +22 -8
- package/dist/cli/commands/agent.js.map +1 -1
- package/dist/cli/commands/ask.d.ts.map +1 -1
- package/dist/cli/commands/ask.js +141 -38
- package/dist/cli/commands/ask.js.map +1 -1
- package/dist/cli/commands/chat.d.ts +18 -0
- package/dist/cli/commands/chat.d.ts.map +1 -0
- package/dist/cli/commands/chat.js +33 -0
- package/dist/cli/commands/chat.js.map +1 -0
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +74 -36
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +5 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/run.d.ts +10 -0
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +79 -3
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/update.d.ts +11 -3
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +238 -44
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +20 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/update-checker.d.ts.map +1 -1
- package/dist/cli/utils/update-checker.js +1 -2
- package/dist/cli/utils/update-checker.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +2 -7
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/helpers.d.ts +4 -0
- package/dist/config/helpers.d.ts.map +1 -0
- package/dist/config/helpers.js +16 -0
- package/dist/config/helpers.js.map +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.d.ts +2 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +74 -20
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +20 -18
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +4 -3
- package/dist/config/schema.js.map +1 -1
- package/dist/llm/engine.d.ts.map +1 -1
- package/dist/llm/engine.js.map +1 -1
- package/dist/mcp/client-manager.d.ts +2 -0
- package/dist/mcp/client-manager.d.ts.map +1 -1
- package/dist/mcp/client-manager.js +3 -0
- package/dist/mcp/client-manager.js.map +1 -1
- package/dist/mcp/sampling-handler.d.ts.map +1 -1
- package/dist/mcp/sampling-handler.js +3 -1
- package/dist/mcp/sampling-handler.js.map +1 -1
- package/dist/registry/discovery.d.ts +2 -1
- package/dist/registry/discovery.d.ts.map +1 -1
- package/dist/registry/discovery.js +174 -7
- package/dist/registry/discovery.js.map +1 -1
- package/dist/registry/health-check.d.ts +1 -0
- package/dist/registry/health-check.d.ts.map +1 -1
- package/dist/registry/health-check.js +3 -3
- package/dist/registry/health-check.js.map +1 -1
- package/dist/registry/index.d.ts +3 -1
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +2 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/manifest.d.ts +9 -0
- package/dist/registry/manifest.d.ts.map +1 -0
- package/dist/registry/manifest.js +24 -0
- package/dist/registry/manifest.js.map +1 -0
- package/dist/registry/process-manager.d.ts +19 -3
- package/dist/registry/process-manager.d.ts.map +1 -1
- package/dist/registry/process-manager.js +136 -14
- package/dist/registry/process-manager.js.map +1 -1
- package/dist/registry/runtime-setup.d.ts +12 -0
- package/dist/registry/runtime-setup.d.ts.map +1 -0
- package/dist/registry/runtime-setup.js +67 -0
- package/dist/registry/runtime-setup.js.map +1 -0
- package/dist/registry/source.d.ts +16 -0
- package/dist/registry/source.d.ts.map +1 -0
- package/dist/registry/source.js +84 -0
- package/dist/registry/source.js.map +1 -0
- package/dist/registry/store.d.ts +1 -0
- package/dist/registry/store.d.ts.map +1 -1
- package/dist/registry/store.js +266 -17
- package/dist/registry/store.js.map +1 -1
- package/dist/router/llm-router.d.ts +2 -2
- package/dist/router/llm-router.d.ts.map +1 -1
- package/dist/router/llm-router.js +4 -6
- package/dist/router/llm-router.js.map +1 -1
- package/dist/tool-runtime/argument-extractor.d.ts +4 -0
- package/dist/tool-runtime/argument-extractor.d.ts.map +1 -0
- package/dist/tool-runtime/argument-extractor.js +97 -0
- package/dist/tool-runtime/argument-extractor.js.map +1 -0
- package/dist/tool-runtime/extraction-schema.d.ts +11 -0
- package/dist/tool-runtime/extraction-schema.d.ts.map +1 -0
- package/dist/tool-runtime/extraction-schema.js +220 -0
- package/dist/tool-runtime/extraction-schema.js.map +1 -0
- package/dist/tool-runtime/messages.d.ts +3 -0
- package/dist/tool-runtime/messages.d.ts.map +1 -0
- package/dist/tool-runtime/messages.js +26 -0
- package/dist/tool-runtime/messages.js.map +1 -0
- package/dist/tool-runtime/preflight.d.ts +13 -0
- package/dist/tool-runtime/preflight.d.ts.map +1 -0
- package/dist/tool-runtime/preflight.js +130 -0
- package/dist/tool-runtime/preflight.js.map +1 -0
- package/dist/tool-runtime/schema.d.ts +13 -0
- package/dist/tool-runtime/schema.d.ts.map +1 -0
- package/dist/tool-runtime/schema.js +64 -0
- package/dist/tool-runtime/schema.js.map +1 -0
- package/dist/types/agent.d.ts +61 -11
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js +19 -0
- package/dist/types/agent.js.map +1 -1
- package/dist/types/ask.d.ts +39 -0
- package/dist/types/ask.d.ts.map +1 -0
- package/dist/types/ask.js +15 -0
- package/dist/types/ask.js.map +1 -0
- package/dist/types/chat.d.ts +48 -0
- package/dist/types/chat.d.ts.map +1 -0
- package/dist/types/chat.js +9 -0
- package/dist/types/chat.js.map +1 -0
- package/dist/types/router.d.ts +7 -7
- package/dist/types/router.d.ts.map +1 -1
- package/dist/types/router.js.map +1 -1
- package/package.json +18 -10
- package/dist/cli/smoke.e2e.d.ts +0 -2
- package/dist/cli/smoke.e2e.d.ts.map +0 -1
- package/dist/cli/smoke.e2e.js +0 -57
- package/dist/cli/smoke.e2e.js.map +0 -1
package/dist/types/agent.js
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
1
|
/** Agent 运行状态 */
|
|
2
2
|
export const AGENT_STATUSES = ["idle", "starting", "online", "error", "stopped"];
|
|
3
|
+
/** Agent 来源类型 */
|
|
4
|
+
export const AGENT_SOURCE_TYPES = [
|
|
5
|
+
"git",
|
|
6
|
+
"local-path",
|
|
7
|
+
"installed-package",
|
|
8
|
+
"remote-manifest",
|
|
9
|
+
];
|
|
10
|
+
/** Agent 运行时 ownership */
|
|
11
|
+
export const AGENT_RUNTIME_OWNERSHIPS = [
|
|
12
|
+
"on-demand",
|
|
13
|
+
"core-managed",
|
|
14
|
+
"external-managed",
|
|
15
|
+
];
|
|
16
|
+
export const AGENT_STORE_SCHEMA_VERSION = 2;
|
|
17
|
+
export function createDefaultRuntimeForTransport(transport) {
|
|
18
|
+
return transport.type === "stdio"
|
|
19
|
+
? { ownership: "on-demand" }
|
|
20
|
+
: { ownership: "external-managed" };
|
|
21
|
+
}
|
|
3
22
|
//# sourceMappingURL=agent.js.map
|
package/dist/types/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAcA,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAcA,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC;AAG1F,iBAAiB;AACjB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK;IACL,YAAY;IACZ,mBAAmB;IACnB,iBAAiB;CACT,CAAC;AAGX,0BAA0B;AAC1B,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,WAAW;IACX,cAAc;IACd,kBAAkB;CACV,CAAC;AAsEX,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAU,CAAC;AAqCrD,MAAM,UAAU,gCAAgC,CAAC,SAAyB;IACxE,OAAO,SAAS,CAAC,IAAI,KAAK,OAAO;QAC/B,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE;QAC5B,CAAC,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { RouteDecision, RouteSelection } from "./router.ts";
|
|
2
|
+
export declare const ASK_RESULT_STATUSES: readonly ["success", "needs_input", "needs_confirmation", "failed"];
|
|
3
|
+
export type AskResultStatus = (typeof ASK_RESULT_STATUSES)[number];
|
|
4
|
+
export declare const ASK_FAILURE_STAGES: readonly ["route", "connect", "execute"];
|
|
5
|
+
export type AskFailureStage = (typeof ASK_FAILURE_STAGES)[number];
|
|
6
|
+
export declare const ASK_VALIDATION_ISSUE_CODES: readonly ["missing_required", "requires_explicit_input", "invalid_type", "invalid_enum", "unexpected_property"];
|
|
7
|
+
export type AskValidationIssueCode = (typeof ASK_VALIDATION_ISSUE_CODES)[number];
|
|
8
|
+
export interface AskValidationIssue {
|
|
9
|
+
readonly path: string;
|
|
10
|
+
readonly code: AskValidationIssueCode;
|
|
11
|
+
readonly message: string;
|
|
12
|
+
readonly description?: string;
|
|
13
|
+
readonly expected?: string;
|
|
14
|
+
readonly actual?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface AskNeedsInputResult {
|
|
17
|
+
readonly status: "needs_input";
|
|
18
|
+
readonly decision: RouteDecision;
|
|
19
|
+
readonly validationIssues: ReadonlyArray<AskValidationIssue>;
|
|
20
|
+
readonly message: string;
|
|
21
|
+
}
|
|
22
|
+
export interface AskNeedsConfirmationResult {
|
|
23
|
+
readonly status: "needs_confirmation";
|
|
24
|
+
readonly decision: RouteSelection;
|
|
25
|
+
readonly message: string;
|
|
26
|
+
}
|
|
27
|
+
export interface AskFailedResult {
|
|
28
|
+
readonly status: "failed";
|
|
29
|
+
readonly stage: AskFailureStage;
|
|
30
|
+
readonly decision?: RouteSelection | RouteDecision;
|
|
31
|
+
readonly message: string;
|
|
32
|
+
}
|
|
33
|
+
export interface AskSuccessResult {
|
|
34
|
+
readonly status: "success";
|
|
35
|
+
readonly decision: RouteDecision;
|
|
36
|
+
readonly result: unknown;
|
|
37
|
+
}
|
|
38
|
+
export type AskCommandResult = AskNeedsInputResult | AskNeedsConfirmationResult | AskFailedResult | AskSuccessResult;
|
|
39
|
+
//# sourceMappingURL=ask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/types/ask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,eAAO,MAAM,mBAAmB,qEAKtB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,eAAO,MAAM,kBAAkB,0CAA2C,CAAC;AAC3E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B,iHAM7B,CAAC;AACX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GACxB,mBAAmB,GACnB,0BAA0B,GAC1B,eAAe,GACf,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const ASK_RESULT_STATUSES = [
|
|
2
|
+
"success",
|
|
3
|
+
"needs_input",
|
|
4
|
+
"needs_confirmation",
|
|
5
|
+
"failed",
|
|
6
|
+
];
|
|
7
|
+
export const ASK_FAILURE_STAGES = ["route", "connect", "execute"];
|
|
8
|
+
export const ASK_VALIDATION_ISSUE_CODES = [
|
|
9
|
+
"missing_required",
|
|
10
|
+
"requires_explicit_input",
|
|
11
|
+
"invalid_type",
|
|
12
|
+
"invalid_enum",
|
|
13
|
+
"unexpected_property",
|
|
14
|
+
];
|
|
15
|
+
//# sourceMappingURL=ask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/types/ask.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,aAAa;IACb,oBAAoB;IACpB,QAAQ;CACA,CAAC;AAGX,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAG3E,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,kBAAkB;IAClB,yBAAyB;IACzB,cAAc;IACd,cAAc;IACd,qBAAqB;CACb,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export declare const CHAT_RESULT_STATUSES: readonly ["unavailable", "completed", "needs_input", "needs_confirmation", "failed"];
|
|
2
|
+
export type ChatResultStatus = (typeof CHAT_RESULT_STATUSES)[number];
|
|
3
|
+
export declare const CHAT_FAILURE_STAGES: readonly ["bootstrap", "plan", "execute"];
|
|
4
|
+
export type ChatFailureStage = (typeof CHAT_FAILURE_STAGES)[number];
|
|
5
|
+
export interface ChatStepSummary {
|
|
6
|
+
readonly summary: string;
|
|
7
|
+
readonly agentName?: string;
|
|
8
|
+
readonly toolName?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ChatInputRequirement {
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly description: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ChatPendingAction {
|
|
15
|
+
readonly summary: string;
|
|
16
|
+
readonly agentName?: string;
|
|
17
|
+
readonly toolName?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ChatUnavailableResult {
|
|
20
|
+
readonly status: "unavailable";
|
|
21
|
+
readonly message: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ChatCompletedResult {
|
|
24
|
+
readonly status: "completed";
|
|
25
|
+
readonly sessionId: string;
|
|
26
|
+
readonly output: string;
|
|
27
|
+
readonly steps: ReadonlyArray<ChatStepSummary>;
|
|
28
|
+
}
|
|
29
|
+
export interface ChatNeedsInputResult {
|
|
30
|
+
readonly status: "needs_input";
|
|
31
|
+
readonly sessionId: string;
|
|
32
|
+
readonly message: string;
|
|
33
|
+
readonly requiredInputs: ReadonlyArray<ChatInputRequirement>;
|
|
34
|
+
}
|
|
35
|
+
export interface ChatNeedsConfirmationResult {
|
|
36
|
+
readonly status: "needs_confirmation";
|
|
37
|
+
readonly sessionId: string;
|
|
38
|
+
readonly message: string;
|
|
39
|
+
readonly pendingActions: ReadonlyArray<ChatPendingAction>;
|
|
40
|
+
}
|
|
41
|
+
export interface ChatFailedResult {
|
|
42
|
+
readonly status: "failed";
|
|
43
|
+
readonly stage: ChatFailureStage;
|
|
44
|
+
readonly message: string;
|
|
45
|
+
readonly sessionId?: string;
|
|
46
|
+
}
|
|
47
|
+
export type ChatCommandResult = ChatUnavailableResult | ChatCompletedResult | ChatNeedsInputResult | ChatNeedsConfirmationResult | ChatFailedResult;
|
|
48
|
+
//# sourceMappingURL=chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/types/chat.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,sFAMvB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,eAAO,MAAM,mBAAmB,2CAA4C,CAAC;AAC7E,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,iBAAiB,GACzB,qBAAqB,GACrB,mBAAmB,GACnB,oBAAoB,GACpB,2BAA2B,GAC3B,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/types/chat.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,aAAa;IACb,WAAW;IACX,aAAa;IACb,oBAAoB;IACpB,QAAQ;CACA,CAAC;AAGX,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAU,CAAC"}
|
package/dist/types/router.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export type RouterMode = RollConfig["router"]["mode"];
|
|
4
|
-
/** LLM 路由决策结果 */
|
|
5
|
-
export interface RouteDecision {
|
|
1
|
+
/** LLM 路由选中的目标 */
|
|
2
|
+
export interface RouteSelection {
|
|
6
3
|
readonly agentName: string;
|
|
7
4
|
readonly toolName: string;
|
|
8
|
-
|
|
9
|
-
/** 置信度,取值范围 0–1,低于 confirmThreshold 时请求用户确认 */
|
|
5
|
+
/** 置信度,取值范围 0–1,低于 ask.confirmThreshold 时请求用户确认 */
|
|
10
6
|
readonly confidence: Confidence;
|
|
11
7
|
}
|
|
8
|
+
/** 绑定了工具输入后的最终调用决策 */
|
|
9
|
+
export interface RouteDecision extends RouteSelection {
|
|
10
|
+
readonly input: Readonly<Record<string, unknown>>;
|
|
11
|
+
}
|
|
12
12
|
/**
|
|
13
13
|
* 0–1 范围的置信度品牌类型。
|
|
14
14
|
* 使用 `asConfidence()` 构造以确保运行时校验。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/types/router.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/types/router.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED,sBAAsB;AACtB,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnD;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC;AAErE,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAKtD"}
|
package/dist/types/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/types/router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/types/router.ts"],"names":[],"mappings":"AAmBA,8CAA8C;AAC9C,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,UAAU,CAAC,2CAA2C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,KAAmB,CAAC;AAC7B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@roll-agent/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"type": "module",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/steveoon/roll-agent"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/steveoon/roll-agent",
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/steveoon/roll-agent/issues"
|
|
12
|
+
},
|
|
5
13
|
"exports": {
|
|
6
14
|
".": {
|
|
7
15
|
"types": "./dist/cli/index.d.ts",
|
|
@@ -18,14 +26,6 @@
|
|
|
18
26
|
"engines": {
|
|
19
27
|
"node": ">=22.6.0"
|
|
20
28
|
},
|
|
21
|
-
"scripts": {
|
|
22
|
-
"dev": "node --experimental-strip-types src/cli/index.ts",
|
|
23
|
-
"build": "tsc -p tsconfig.build.json",
|
|
24
|
-
"typecheck": "tsc --noEmit",
|
|
25
|
-
"test": "node --experimental-strip-types --test \"src/**/*.test.ts\"",
|
|
26
|
-
"test:e2e": "node --experimental-strip-types --test \"src/**/*.e2e.ts\"",
|
|
27
|
-
"clean": "rm -rf dist"
|
|
28
|
-
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@ai-sdk/anthropic": "^3.0.58",
|
|
31
31
|
"@ai-sdk/deepseek": "^2.0.24",
|
|
@@ -43,5 +43,13 @@
|
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "^22.0.0"
|
|
46
|
+
},
|
|
47
|
+
"scripts": {
|
|
48
|
+
"dev": "node --experimental-strip-types src/cli/index.ts",
|
|
49
|
+
"build": "rm -rf dist && tsc -p tsconfig.build.json",
|
|
50
|
+
"typecheck": "tsc --noEmit",
|
|
51
|
+
"test": "node --experimental-strip-types --test \"src/**/*.test.ts\"",
|
|
52
|
+
"test:e2e": "node --experimental-strip-types --test \"src/**/*.e2e.ts\"",
|
|
53
|
+
"clean": "rm -rf dist"
|
|
46
54
|
}
|
|
47
|
-
}
|
|
55
|
+
}
|
package/dist/cli/smoke.e2e.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"smoke.e2e.d.ts","sourceRoot":"","sources":["../../src/cli/smoke.e2e.ts"],"names":[],"mappings":""}
|
package/dist/cli/smoke.e2e.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { test } from "node:test";
|
|
2
|
-
import assert from "node:assert/strict";
|
|
3
|
-
import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
|
4
|
-
import { resolve } from "node:path";
|
|
5
|
-
import { tmpdir } from "node:os";
|
|
6
|
-
import { randomUUID } from "node:crypto";
|
|
7
|
-
import { spawnSync } from "node:child_process";
|
|
8
|
-
function runRoll(args, cwd, env = {}) {
|
|
9
|
-
const cliEntry = resolve(import.meta.dirname, "index.ts");
|
|
10
|
-
const result = spawnSync(process.execPath, ["--experimental-strip-types", cliEntry, ...args], {
|
|
11
|
-
cwd,
|
|
12
|
-
encoding: "utf-8",
|
|
13
|
-
env: { ...process.env, NO_COLOR: "1", ...env },
|
|
14
|
-
});
|
|
15
|
-
return {
|
|
16
|
-
status: result.status,
|
|
17
|
-
stdout: result.stdout,
|
|
18
|
-
stderr: result.stderr,
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
function buildConfigYaml(dataDir) {
|
|
22
|
-
return `llm:
|
|
23
|
-
default-provider: anthropic
|
|
24
|
-
default-model: claude-sonnet-4-20250514
|
|
25
|
-
providers: {}
|
|
26
|
-
|
|
27
|
-
router:
|
|
28
|
-
mode: declarative
|
|
29
|
-
|
|
30
|
-
agents:
|
|
31
|
-
data-dir: ${dataDir}
|
|
32
|
-
`;
|
|
33
|
-
}
|
|
34
|
-
test("e2e smoke: register boss-reply agent and run get_unread", { timeout: 120_000 }, () => {
|
|
35
|
-
const workspace = mkdtempSync(resolve(tmpdir(), `roll-e2e-${randomUUID()}-`));
|
|
36
|
-
try {
|
|
37
|
-
const repoRoot = resolve(import.meta.dirname, "../../../../");
|
|
38
|
-
const bossAgentPath = resolve(repoRoot, "agents/boss-reply");
|
|
39
|
-
const dataDir = resolve(workspace, "agents-data");
|
|
40
|
-
writeFileSync(resolve(workspace, "roll.config.yaml"), buildConfigYaml(dataDir), "utf-8");
|
|
41
|
-
const addResult = runRoll(["agent", "add", bossAgentPath], workspace, {
|
|
42
|
-
ROLL_SKIP_INSTALL: "1",
|
|
43
|
-
});
|
|
44
|
-
assert.equal(addResult.status, 0, `agent add failed\nstdout:\n${addResult.stdout}\nstderr:\n${addResult.stderr}`);
|
|
45
|
-
const listResult = runRoll(["agent", "list", "--json"], workspace);
|
|
46
|
-
assert.equal(listResult.status, 0, `agent list failed\nstdout:\n${listResult.stdout}\nstderr:\n${listResult.stderr}`);
|
|
47
|
-
const listedAgents = JSON.parse(listResult.stdout);
|
|
48
|
-
assert.ok(listedAgents.some((agent) => agent.skill.name === "boss-reply-agent"));
|
|
49
|
-
const runResult = runRoll(["run", "boss-reply-agent", "get_unread"], workspace);
|
|
50
|
-
assert.equal(runResult.status, 0, `roll run failed\nstdout:\n${runResult.stdout}\nstderr:\n${runResult.stderr}`);
|
|
51
|
-
assert.match(runResult.stdout, /"messages"\s*:\s*\[\]/);
|
|
52
|
-
}
|
|
53
|
-
finally {
|
|
54
|
-
rmSync(workspace, { recursive: true, force: true });
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
//# sourceMappingURL=smoke.e2e.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"smoke.e2e.js","sourceRoot":"","sources":["../../src/cli/smoke.e2e.ts"],"names":[],"mappings":"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"}
|