downcity 1.1.424 → 1.1.428
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/city/process/registry/ManagedAgentRepository.d.ts +20 -27
- package/bin/city/process/registry/ManagedAgentRepository.d.ts.map +1 -1
- package/bin/city/process/registry/ManagedAgentRepository.js +35 -131
- package/bin/city/process/registry/ManagedAgentRepository.js.map +1 -1
- package/bin/city/runtime/plugins/DowncityPlugins.d.ts.map +1 -1
- package/bin/city/runtime/plugins/DowncityPlugins.js +72 -4
- package/bin/city/runtime/plugins/DowncityPlugins.js.map +1 -1
- package/package.json +13 -12
|
@@ -1,36 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* CLI Agent Registry 适配层。
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* - 不再维护独立项目路径 Registry,也不从 Workspace 目录读取 Agent 声明。
|
|
7
|
-
* - 多个 Agent 可以绑定同一个 Workspace,按路径反查时必须显式处理歧义。
|
|
4
|
+
* 注册规则和持久化由 `@downcity/agent-registry` 唯一拥有;本模块只把共享记录
|
|
5
|
+
* 投影为 CLI 控制面类型,确保 CLI 与 Desktop 不产生双轨数据源。
|
|
8
6
|
*/
|
|
7
|
+
import { normalize_agent_registry_id, normalize_agent_registry_workspace } from "@downcity/agent-registry";
|
|
9
8
|
import type { CreateManagedAgentInput, ManagedAgent, UpdateManagedAgentInput } from "../../types/agent/ManagedAgent.js";
|
|
10
|
-
/**
|
|
11
|
-
export declare
|
|
12
|
-
/** 规范化 Workspace
|
|
13
|
-
export declare
|
|
14
|
-
/** 按
|
|
15
|
-
export declare function get_managed_agent(
|
|
16
|
-
/** 按 Workspace
|
|
17
|
-
export declare function list_managed_agents_by_workspace(
|
|
18
|
-
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
* 关键点(中文)
|
|
22
|
-
* - 路径不是 Agent 身份,因此允许返回空。
|
|
23
|
-
* - 同一路径绑定多个 Agent 时拒绝猜测,调用方必须使用 `agent_id`。
|
|
24
|
-
*/
|
|
25
|
-
export declare function get_managed_agent_by_workspace(workspace_path_input: string): ManagedAgent | null;
|
|
26
|
-
/** 列出全部受管 Agent。 */
|
|
9
|
+
/** 规范化 Agent ID。 */
|
|
10
|
+
export declare const normalize_managed_agent_id: typeof normalize_agent_registry_id;
|
|
11
|
+
/** 规范化 Workspace 路径。 */
|
|
12
|
+
export declare const normalize_managed_workspace_path: typeof normalize_agent_registry_workspace;
|
|
13
|
+
/** 按 ID 读取 Agent。 */
|
|
14
|
+
export declare function get_managed_agent(agent_id: string): ManagedAgent | null;
|
|
15
|
+
/** 按 Workspace 列出 Agent。 */
|
|
16
|
+
export declare function list_managed_agents_by_workspace(workspace_path: string): ManagedAgent[];
|
|
17
|
+
/** 按 Workspace 读取唯一 Agent。 */
|
|
18
|
+
export declare function get_managed_agent_by_workspace(workspace_path: string): ManagedAgent | null;
|
|
19
|
+
/** 列出全部 Agent。 */
|
|
27
20
|
export declare function list_managed_agents(): ManagedAgent[];
|
|
28
|
-
/**
|
|
21
|
+
/** 创建 Agent。 */
|
|
29
22
|
export declare function create_managed_agent(input: CreateManagedAgentInput): ManagedAgent;
|
|
30
|
-
/**
|
|
23
|
+
/** 更新 Agent。 */
|
|
31
24
|
export declare function update_managed_agent(input: UpdateManagedAgentInput): ManagedAgent;
|
|
32
|
-
/**
|
|
25
|
+
/** 保存完整 Agent。 */
|
|
33
26
|
export declare function save_managed_agent(input: ManagedAgent): ManagedAgent;
|
|
34
|
-
/**
|
|
35
|
-
export declare function remove_managed_agent(
|
|
27
|
+
/** 删除 Agent 及其 CLI 关联数据。 */
|
|
28
|
+
export declare function remove_managed_agent(agent_id: string): void;
|
|
36
29
|
//# sourceMappingURL=ManagedAgentRepository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedAgentRepository.d.ts","sourceRoot":"","sources":["../../../../src/city/process/registry/ManagedAgentRepository.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ManagedAgentRepository.d.ts","sourceRoot":"","sources":["../../../../src/city/process/registry/ManagedAgentRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAKL,2BAA2B,EAC3B,kCAAkC,EAKnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,uBAAuB,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAOzH,oBAAoB;AACpB,eAAO,MAAM,0BAA0B,oCAA8B,CAAC;AAEtE,wBAAwB;AACxB,eAAO,MAAM,gCAAgC,2CAAqC,CAAC;AAEnF,qBAAqB;AACrB,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAGvE;AAED,4BAA4B;AAC5B,wBAAgB,gCAAgC,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,EAAE,CAEvF;AAED,8BAA8B;AAC9B,wBAAgB,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAI1F;AAED,kBAAkB;AAClB,wBAAgB,mBAAmB,IAAI,YAAY,EAAE,CAEpD;AAED,gBAAgB;AAChB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,CAEjF;AAED,gBAAgB;AAChB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,CAEjF;AAED,kBAAkB;AAClB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAEpE;AAED,4BAA4B;AAC5B,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE3D"}
|
|
@@ -1,148 +1,52 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* CLI Agent Registry 适配层。
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* - 不再维护独立项目路径 Registry,也不从 Workspace 目录读取 Agent 声明。
|
|
7
|
-
* - 多个 Agent 可以绑定同一个 Workspace,按路径反查时必须显式处理歧义。
|
|
4
|
+
* 注册规则和持久化由 `@downcity/agent-registry` 唯一拥有;本模块只把共享记录
|
|
5
|
+
* 投影为 CLI 控制面类型,确保 CLI 与 Desktop 不产生双轨数据源。
|
|
8
6
|
*/
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
export
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const workspace_path = path.resolve(String(input || "").trim() || ".");
|
|
31
|
-
if (!workspace_path)
|
|
32
|
-
throw new Error("workspace_path is required");
|
|
33
|
-
return workspace_path;
|
|
34
|
-
}
|
|
35
|
-
/** 按 Agent ID 读取受管 Agent。 */
|
|
36
|
-
export function get_managed_agent(agent_id_input) {
|
|
37
|
-
const agent_id = normalize_managed_agent_id(agent_id_input);
|
|
38
|
-
return withPlatformStore((context) => get_managed_agent_row(context, agent_id));
|
|
39
|
-
}
|
|
40
|
-
/** 按 Workspace 路径读取全部受管 Agent。 */
|
|
41
|
-
export function list_managed_agents_by_workspace(workspace_path_input) {
|
|
42
|
-
const workspace_path = normalize_managed_workspace_path(workspace_path_input);
|
|
43
|
-
return withPlatformStore((context) => list_managed_agent_rows_by_workspace(context, workspace_path));
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* 按 Workspace 路径读取唯一 Agent。
|
|
47
|
-
*
|
|
48
|
-
* 关键点(中文)
|
|
49
|
-
* - 路径不是 Agent 身份,因此允许返回空。
|
|
50
|
-
* - 同一路径绑定多个 Agent 时拒绝猜测,调用方必须使用 `agent_id`。
|
|
51
|
-
*/
|
|
52
|
-
export function get_managed_agent_by_workspace(workspace_path_input) {
|
|
53
|
-
const agents = list_managed_agents_by_workspace(workspace_path_input);
|
|
7
|
+
import { create_agent_registry_record, get_agent_registry_record, list_agent_registry_records, list_agent_registry_records_by_workspace, normalize_agent_registry_id, normalize_agent_registry_workspace, remove_agent_registry_record, save_agent_registry_record, update_agent_registry_record, } from "@downcity/agent-registry";
|
|
8
|
+
/** 把共享记录投影成 CLI 类型。 */
|
|
9
|
+
function to_managed_agent(record) {
|
|
10
|
+
return record;
|
|
11
|
+
}
|
|
12
|
+
/** 规范化 Agent ID。 */
|
|
13
|
+
export const normalize_managed_agent_id = normalize_agent_registry_id;
|
|
14
|
+
/** 规范化 Workspace 路径。 */
|
|
15
|
+
export const normalize_managed_workspace_path = normalize_agent_registry_workspace;
|
|
16
|
+
/** 按 ID 读取 Agent。 */
|
|
17
|
+
export function get_managed_agent(agent_id) {
|
|
18
|
+
const record = get_agent_registry_record(agent_id);
|
|
19
|
+
return record ? to_managed_agent(record) : null;
|
|
20
|
+
}
|
|
21
|
+
/** 按 Workspace 列出 Agent。 */
|
|
22
|
+
export function list_managed_agents_by_workspace(workspace_path) {
|
|
23
|
+
return list_agent_registry_records_by_workspace(workspace_path).map(to_managed_agent);
|
|
24
|
+
}
|
|
25
|
+
/** 按 Workspace 读取唯一 Agent。 */
|
|
26
|
+
export function get_managed_agent_by_workspace(workspace_path) {
|
|
27
|
+
const agents = list_managed_agents_by_workspace(workspace_path);
|
|
54
28
|
if (agents.length <= 1)
|
|
55
29
|
return agents[0] ?? null;
|
|
56
30
|
throw new Error(`Workspace is bound to multiple agents: ${agents.map((agent) => agent.agent_id).join(", ")}`);
|
|
57
31
|
}
|
|
58
|
-
/**
|
|
32
|
+
/** 列出全部 Agent。 */
|
|
59
33
|
export function list_managed_agents() {
|
|
60
|
-
return
|
|
34
|
+
return list_agent_registry_records().map(to_managed_agent);
|
|
61
35
|
}
|
|
62
|
-
/**
|
|
36
|
+
/** 创建 Agent。 */
|
|
63
37
|
export function create_managed_agent(input) {
|
|
64
|
-
|
|
65
|
-
const workspace_path = normalize_managed_workspace_path(input.workspace_path);
|
|
66
|
-
const agent = withPlatformStore((context) => {
|
|
67
|
-
if (get_managed_agent_row(context, agent_id)) {
|
|
68
|
-
throw new Error(`Agent already exists: ${agent_id}`);
|
|
69
|
-
}
|
|
70
|
-
const current_time = now_iso();
|
|
71
|
-
const agent = {
|
|
72
|
-
agent_id,
|
|
73
|
-
workspace_path,
|
|
74
|
-
version: String(input.version || "").trim() || "1.0.0",
|
|
75
|
-
...(input.start ? { start: input.start } : {}),
|
|
76
|
-
...(input.execution ? { execution: input.execution } : {}),
|
|
77
|
-
...(input.llm ? { llm: input.llm } : {}),
|
|
78
|
-
created_at: current_time,
|
|
79
|
-
updated_at: current_time,
|
|
80
|
-
};
|
|
81
|
-
set_managed_agent_row(context, agent);
|
|
82
|
-
return agent;
|
|
83
|
-
});
|
|
84
|
-
return agent;
|
|
38
|
+
return to_managed_agent(create_agent_registry_record(input));
|
|
85
39
|
}
|
|
86
|
-
/**
|
|
40
|
+
/** 更新 Agent。 */
|
|
87
41
|
export function update_managed_agent(input) {
|
|
88
|
-
|
|
89
|
-
return withPlatformStore((context) => {
|
|
90
|
-
const existing = get_managed_agent_row(context, agent_id);
|
|
91
|
-
if (!existing)
|
|
92
|
-
throw new Error(`Agent not found: ${agent_id}`);
|
|
93
|
-
const updates_workspace = Object.prototype.hasOwnProperty.call(input, "workspace_path");
|
|
94
|
-
if (updates_workspace && input.workspace_path === undefined) {
|
|
95
|
-
throw new Error("workspace_path cannot be undefined");
|
|
96
|
-
}
|
|
97
|
-
const agent = {
|
|
98
|
-
...existing,
|
|
99
|
-
...(updates_workspace
|
|
100
|
-
? { workspace_path: normalize_managed_workspace_path(input.workspace_path) }
|
|
101
|
-
: {}),
|
|
102
|
-
...(Object.prototype.hasOwnProperty.call(input, "start")
|
|
103
|
-
? { start: input.start }
|
|
104
|
-
: {}),
|
|
105
|
-
...(Object.prototype.hasOwnProperty.call(input, "execution")
|
|
106
|
-
? { execution: input.execution }
|
|
107
|
-
: {}),
|
|
108
|
-
...(Object.prototype.hasOwnProperty.call(input, "llm")
|
|
109
|
-
? { llm: input.llm }
|
|
110
|
-
: {}),
|
|
111
|
-
updated_at: now_iso(),
|
|
112
|
-
};
|
|
113
|
-
set_managed_agent_row(context, agent);
|
|
114
|
-
return agent;
|
|
115
|
-
});
|
|
42
|
+
return to_managed_agent(update_agent_registry_record(input));
|
|
116
43
|
}
|
|
117
|
-
/**
|
|
44
|
+
/** 保存完整 Agent。 */
|
|
118
45
|
export function save_managed_agent(input) {
|
|
119
|
-
|
|
120
|
-
const workspace_path = normalize_managed_workspace_path(input.workspace_path);
|
|
121
|
-
return withPlatformStore((context) => {
|
|
122
|
-
const existing = get_managed_agent_row(context, agent_id);
|
|
123
|
-
if (!existing)
|
|
124
|
-
throw new Error(`Agent not found: ${agent_id}`);
|
|
125
|
-
const agent = {
|
|
126
|
-
...input,
|
|
127
|
-
agent_id,
|
|
128
|
-
workspace_path,
|
|
129
|
-
created_at: existing.created_at,
|
|
130
|
-
updated_at: now_iso(),
|
|
131
|
-
};
|
|
132
|
-
set_managed_agent_row(context, agent);
|
|
133
|
-
return agent;
|
|
134
|
-
});
|
|
46
|
+
return to_managed_agent(save_agent_registry_record(input));
|
|
135
47
|
}
|
|
136
|
-
/**
|
|
137
|
-
export function remove_managed_agent(
|
|
138
|
-
|
|
139
|
-
withPlatformStore((context) => {
|
|
140
|
-
const remove = context.sqlite.transaction(() => {
|
|
141
|
-
context.sqlite.prepare("DELETE FROM agent_tokens WHERE agent_id = ?;").run(agent_id);
|
|
142
|
-
context.sqlite.prepare("DELETE FROM agent_plugins WHERE agent_id = ?;").run(agent_id);
|
|
143
|
-
remove_managed_agent_row(context, agent_id);
|
|
144
|
-
});
|
|
145
|
-
remove();
|
|
146
|
-
});
|
|
48
|
+
/** 删除 Agent 及其 CLI 关联数据。 */
|
|
49
|
+
export function remove_managed_agent(agent_id) {
|
|
50
|
+
remove_agent_registry_record(agent_id);
|
|
147
51
|
}
|
|
148
52
|
//# sourceMappingURL=ManagedAgentRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedAgentRepository.js","sourceRoot":"","sources":["../../../../src/city/process/registry/ManagedAgentRepository.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ManagedAgentRepository.js","sourceRoot":"","sources":["../../../../src/city/process/registry/ManagedAgentRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,wCAAwC,EACxC,2BAA2B,EAC3B,kCAAkC,EAClC,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,GAE7B,MAAM,0BAA0B,CAAC;AAGlC,uBAAuB;AACvB,SAAS,gBAAgB,CAAC,MAA2B;IACnD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,oBAAoB;AACpB,MAAM,CAAC,MAAM,0BAA0B,GAAG,2BAA2B,CAAC;AAEtE,wBAAwB;AACxB,MAAM,CAAC,MAAM,gCAAgC,GAAG,kCAAkC,CAAC;AAEnF,qBAAqB;AACrB,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,MAAM,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,gCAAgC,CAAC,cAAsB;IACrE,OAAO,wCAAwC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACxF,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,8BAA8B,CAAC,cAAsB;IACnE,MAAM,MAAM,GAAG,gCAAgC,CAAC,cAAc,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACjD,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChH,CAAC;AAED,kBAAkB;AAClB,MAAM,UAAU,mBAAmB;IACjC,OAAO,2BAA2B,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC7D,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,oBAAoB,CAAC,KAA8B;IACjE,OAAO,gBAAgB,CAAC,4BAA4B,CAAC,KAAsE,CAAC,CAAC,CAAC;AAChI,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,oBAAoB,CAAC,KAA8B;IACjE,OAAO,gBAAgB,CAAC,4BAA4B,CAAC,KAAsE,CAAC,CAAC,CAAC;AAChI,CAAC;AAED,kBAAkB;AAClB,MAAM,UAAU,kBAAkB,CAAC,KAAmB;IACpD,OAAO,gBAAgB,CAAC,0BAA0B,CAAC,KAAuC,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,4BAA4B,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DowncityPlugins.d.ts","sourceRoot":"","sources":["../../../../src/city/runtime/plugins/DowncityPlugins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"DowncityPlugins.d.ts","sourceRoot":"","sources":["../../../../src/city/runtime/plugins/DowncityPlugins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmCH,OAAO,KAAK,EAGV,UAAU,EACX,MAAM,2CAA2C,CAAC;AAmJnD,mDAAmD;AACnD,wBAAgB,4BAA4B,CAAC,KAAK,GAAE;IAClD,mBAAmB;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAE7D,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;CACV,GAAG,UAAU,EAAE,CA4FpB"}
|
|
@@ -13,7 +13,7 @@ import { MemoryPlugin } from "@downcity/plugins/memory";
|
|
|
13
13
|
import { SkillPlugin } from "@downcity/plugins/skill";
|
|
14
14
|
import { SoundPlugin, } from "@downcity/plugins/sound";
|
|
15
15
|
import { TaskPlugin } from "@downcity/plugins/task";
|
|
16
|
-
import { WebPlugin } from "@downcity/plugins/web";
|
|
16
|
+
import { PlaywrightBrowserProvider, WebPlugin, } from "@downcity/plugins/web";
|
|
17
17
|
import { WorkboardPlugin } from "@downcity/plugins/workboard";
|
|
18
18
|
import { CityUserManager } from "../../shared/CityUserManager.js";
|
|
19
19
|
const city_user_manager = new CityUserManager();
|
|
@@ -24,8 +24,39 @@ const skill_manifest = {
|
|
|
24
24
|
};
|
|
25
25
|
const web_manifest = {
|
|
26
26
|
name: "web",
|
|
27
|
-
title: "Web
|
|
28
|
-
description: "
|
|
27
|
+
title: "Web",
|
|
28
|
+
description: "Provides structured browser sessions through a configured CDP endpoint.",
|
|
29
|
+
config: {
|
|
30
|
+
schema: {
|
|
31
|
+
type: "object",
|
|
32
|
+
additionalProperties: false,
|
|
33
|
+
required: ["cdp_url"],
|
|
34
|
+
properties: {
|
|
35
|
+
cdp_url: {
|
|
36
|
+
type: "string",
|
|
37
|
+
minLength: 1,
|
|
38
|
+
description: "Chrome DevTools Protocol endpoint, for example http://127.0.0.1:9222.",
|
|
39
|
+
},
|
|
40
|
+
default_url: {
|
|
41
|
+
type: "string",
|
|
42
|
+
description: "Default URL opened when browser_create_session omits url.",
|
|
43
|
+
},
|
|
44
|
+
timeout_ms: {
|
|
45
|
+
type: "integer",
|
|
46
|
+
minimum: 1000,
|
|
47
|
+
maximum: 60000,
|
|
48
|
+
description: "Default browser action timeout in milliseconds.",
|
|
49
|
+
},
|
|
50
|
+
max_observation_chars: {
|
|
51
|
+
type: "integer",
|
|
52
|
+
minimum: 1,
|
|
53
|
+
maximum: 100000,
|
|
54
|
+
description: "Maximum visible-text characters returned by each observation.",
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
defaults: {},
|
|
59
|
+
},
|
|
29
60
|
};
|
|
30
61
|
const workboard_manifest = {
|
|
31
62
|
name: "workboard",
|
|
@@ -70,7 +101,22 @@ class CitySkillPlugin extends SkillPlugin {
|
|
|
70
101
|
}
|
|
71
102
|
class CityWebPlugin extends WebPlugin {
|
|
72
103
|
static manifest = web_manifest;
|
|
73
|
-
constructor(
|
|
104
|
+
constructor(input) {
|
|
105
|
+
const cdp_url = read_required_string(input.config, "cdp_url", "Web Plugin");
|
|
106
|
+
const default_url = read_optional_string(input.config, "default_url");
|
|
107
|
+
const timeout_ms = read_optional_number(input.config, "timeout_ms");
|
|
108
|
+
const max_observation_chars = read_optional_number(input.config, "max_observation_chars");
|
|
109
|
+
super({
|
|
110
|
+
browser: new PlaywrightBrowserProvider({
|
|
111
|
+
cdp_url,
|
|
112
|
+
...(default_url ? { default_url } : {}),
|
|
113
|
+
...(timeout_ms !== undefined ? { timeout_ms } : {}),
|
|
114
|
+
...(max_observation_chars !== undefined
|
|
115
|
+
? { max_observation_chars }
|
|
116
|
+
: {}),
|
|
117
|
+
}),
|
|
118
|
+
});
|
|
119
|
+
}
|
|
74
120
|
}
|
|
75
121
|
class CityWorkboardPlugin extends WorkboardPlugin {
|
|
76
122
|
static manifest = workboard_manifest;
|
|
@@ -224,4 +270,26 @@ function require_model_id(input, capability) {
|
|
|
224
270
|
throw new TypeError(`${capability} requires model id`);
|
|
225
271
|
return model_id;
|
|
226
272
|
}
|
|
273
|
+
/** 从 Plugin 配置读取必填字符串。 */
|
|
274
|
+
function read_required_string(config, key, owner) {
|
|
275
|
+
const value = read_optional_string(config, key);
|
|
276
|
+
if (!value)
|
|
277
|
+
throw new TypeError(`${owner} requires ${key}`);
|
|
278
|
+
return value;
|
|
279
|
+
}
|
|
280
|
+
/** 从 Plugin 配置读取可选字符串。 */
|
|
281
|
+
function read_optional_string(config, key) {
|
|
282
|
+
const value = config[key];
|
|
283
|
+
if (typeof value !== "string")
|
|
284
|
+
return undefined;
|
|
285
|
+
const normalized = value.trim();
|
|
286
|
+
return normalized || undefined;
|
|
287
|
+
}
|
|
288
|
+
/** 从 Plugin 配置读取可选有限数值。 */
|
|
289
|
+
function read_optional_number(config, key) {
|
|
290
|
+
const value = config[key];
|
|
291
|
+
return typeof value === "number" && Number.isFinite(value)
|
|
292
|
+
? value
|
|
293
|
+
: undefined;
|
|
294
|
+
}
|
|
227
295
|
//# sourceMappingURL=DowncityPlugins.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DowncityPlugins.js","sourceRoot":"","sources":["../../../../src/city/runtime/plugins/DowncityPlugins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,UAAU,EACV,8BAA8B,EAC9B,gCAAgC,EAChC,aAAa,EACb,SAAS,EACT,eAAe,EACf,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,GAE7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,WAAW,GAGZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EACL,WAAW,GAIZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"DowncityPlugins.js","sourceRoot":"","sources":["../../../../src/city/runtime/plugins/DowncityPlugins.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "downcity",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.428",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Downcity CLI — local City container and Federation Server management",
|
|
6
6
|
"bin": {
|
|
@@ -23,13 +23,14 @@
|
|
|
23
23
|
"@ai-sdk/openai": "^3.0.67",
|
|
24
24
|
"@ai-sdk/openai-compatible": "^2.0.48",
|
|
25
25
|
"@ai-sdk/xai": "^3.0.93",
|
|
26
|
-
"@downcity/agent": "^1.1.
|
|
27
|
-
"@downcity/
|
|
28
|
-
"@downcity/
|
|
29
|
-
"@downcity/
|
|
30
|
-
"@downcity/
|
|
31
|
-
"@downcity/
|
|
32
|
-
"@downcity/
|
|
26
|
+
"@downcity/agent": "^1.1.337",
|
|
27
|
+
"@downcity/agent-registry": "^0.1.3",
|
|
28
|
+
"@downcity/city": "^0.2.268",
|
|
29
|
+
"@downcity/plugins": "^1.0.253",
|
|
30
|
+
"@downcity/server": "^0.1.148",
|
|
31
|
+
"@downcity/shell": "^0.1.172",
|
|
32
|
+
"@downcity/type": "0.1.197",
|
|
33
|
+
"@downcity/ui": "0.1.264",
|
|
33
34
|
"@earendil-works/pi-tui": "^0.74.2",
|
|
34
35
|
"@larksuiteoapi/node-sdk": "^1.66.0",
|
|
35
36
|
"@openrouter/ai-sdk-provider": "^2.9.0",
|
|
@@ -55,10 +56,10 @@
|
|
|
55
56
|
"zod": "^4.4.3"
|
|
56
57
|
},
|
|
57
58
|
"optionalDependencies": {
|
|
58
|
-
"@downcity/sandbox-linux": "^0.1.
|
|
59
|
-
"@downcity/sandbox-macos": "^0.1.
|
|
60
|
-
"@downcity/sandbox-windows-mxc": "^0.1.
|
|
61
|
-
"@downcity/sandbox-windows-srt": "^0.1.
|
|
59
|
+
"@downcity/sandbox-linux": "^0.1.35",
|
|
60
|
+
"@downcity/sandbox-macos": "^0.1.35",
|
|
61
|
+
"@downcity/sandbox-windows-mxc": "^0.1.35",
|
|
62
|
+
"@downcity/sandbox-windows-srt": "^0.1.34"
|
|
62
63
|
},
|
|
63
64
|
"devDependencies": {
|
|
64
65
|
"@types/better-sqlite3": "^7.6.13",
|