downcity 1.1.239 → 1.1.242

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.
@@ -1 +1 @@
1
- {"version":3,"file":"CityBuiltinPlugins.d.ts","sourceRoot":"","sources":["../../../../src/city/runtime/plugins/CityBuiltinPlugins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAmGrF;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,GAAE;IACpD;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,UAAU,EAAE,CAcpB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,GAAE;IACpD;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACzD,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAwB7B"}
1
+ {"version":3,"file":"CityBuiltinPlugins.d.ts","sourceRoot":"","sources":["../../../../src/city/runtime/plugins/CityBuiltinPlugins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAmGrF;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,GAAE;IACpD;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,UAAU,EAAE,CAcpB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,GAAE;IACpD;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACzD,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAqC7B"}
@@ -102,6 +102,19 @@ export async function createCityBuiltinPlugins(input = {}) {
102
102
  includeChatAccounts: true,
103
103
  }),
104
104
  new ImagePlugin({
105
+ list_models: async () => {
106
+ const catalog = await client.ai.listModels();
107
+ return catalog.forModality("image").map((model) => ({
108
+ id: model.id,
109
+ name: model.name,
110
+ description: model.description,
111
+ modalities: model.modalities,
112
+ tags: model.tags,
113
+ meta: JSON.parse(JSON.stringify(model.meta ?? {})),
114
+ is_default: model.is_default,
115
+ default_modalities: model.default_modalities,
116
+ }));
117
+ },
105
118
  image_create: async (image_input) => await client.ai.image_create(image_input),
106
119
  image_result: async (image_input) => await client.ai.image_result(image_input),
107
120
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"CityBuiltinPlugins.js","sourceRoot":"","sources":["../../../../src/city/runtime/plugins/CityBuiltinPlugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CityBuiltinPlugins.js","sourceRoot":"","sources":["../../../../src/city/runtime/plugins/CityBuiltinPlugins.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,9 @@ export interface ResolveQueueResult {
24
24
  }
25
25
  /**
26
26
  * 确认 Queue 存在,必要时创建。
27
+ *
28
+ * dry-run 模式不会创建远程 Queue,也不需要解析远程 id;如果 Queue 不存在,
29
+ * 只返回 pending 摘要,让 Wrangler dry-run 继续验证临时 binding 配置。
27
30
  */
28
31
  export declare function resolveQueue(params: ResolveQueueParams): Promise<ResolveQueueResult>;
29
32
  //# sourceMappingURL=QueueResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueueResolver.d.ts","sourceRoot":"","sources":["../../../../src/federation/deploy/runtime/QueueResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,2BAA2B,EAC5B,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAG5F,kBAAkB;AAClB,MAAM,WAAW,kBAAkB;IACjC,mBAAmB;IACnB,WAAW,EAAE,2BAA2B,CAAC;IACzC,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,kBAAkB;AAClB,MAAM,WAAW,kBAAkB;IACjC,qBAAqB;IACrB,OAAO,EAAE,sBAAsB,CAAC;CACjC;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CA8C7B"}
1
+ {"version":3,"file":"QueueResolver.d.ts","sourceRoot":"","sources":["../../../../src/federation/deploy/runtime/QueueResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,2BAA2B,EAC5B,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAG5F,kBAAkB;AAClB,MAAM,WAAW,kBAAkB;IACjC,mBAAmB;IACnB,WAAW,EAAE,2BAA2B,CAAC;IACzC,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,kBAAkB;AAClB,MAAM,WAAW,kBAAkB;IACjC,qBAAqB;IACrB,OAAO,EAAE,sBAAsB,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CA+C7B"}
@@ -6,10 +6,12 @@
6
6
  * - 用户只需要在 `federation.json.resources.queue` 声明稳定资源名。
7
7
  * - Queue 没有需要写入项目配置的 id,Wrangler 配置只绑定 queue name。
8
8
  */
9
- import { CliError } from "../../../shared/CliError.js";
10
9
  import { runCommand } from "./CommandRunner.js";
11
10
  /**
12
11
  * 确认 Queue 存在,必要时创建。
12
+ *
13
+ * dry-run 模式不会创建远程 Queue,也不需要解析远程 id;如果 Queue 不存在,
14
+ * 只返回 pending 摘要,让 Wrangler dry-run 继续验证临时 binding 配置。
13
15
  */
14
16
  export async function resolveQueue(params) {
15
17
  const queue = params.config_file.config.resources.queue;
@@ -34,11 +36,12 @@ export async function resolveQueue(params) {
34
36
  };
35
37
  }
36
38
  if (!create_if_missing) {
37
- throw new CliError({
38
- title: "Cloudflare Queue not found",
39
- note: `Cloudflare account does not have a Queue named ${queue_name}.`,
40
- fix: "Run `city deploy` once without `--dry-run` to let Downcity create it, or update resources.queue.name in federation.json.",
41
- });
39
+ return {
40
+ summary: {
41
+ name: queue_name,
42
+ status: "pending",
43
+ },
44
+ };
42
45
  }
43
46
  await runCommand({
44
47
  label: "Create Cloudflare Queue",
@@ -60,26 +63,66 @@ export async function resolveQueue(params) {
60
63
  async function findExistingQueue(params) {
61
64
  const output = await runCommand({
62
65
  label: "List Cloudflare Queues",
63
- command: "pnpm exec wrangler queues list --json",
66
+ command: "pnpm exec wrangler queues list",
64
67
  cwd: params.project_dir,
65
68
  env: { CLOUDFLARE_ACCOUNT_ID: params.account_id },
66
69
  capture: true,
67
70
  });
71
+ return hasQueueInListOutput(output, params.queue_name);
72
+ }
73
+ /**
74
+ * 从 Wrangler Queue 列表输出中判断指定 Queue 是否存在。
75
+ */
76
+ function hasQueueInListOutput(output, queue_name) {
77
+ const trimmed_output = output.trim();
78
+ if (!trimmed_output)
79
+ return false;
68
80
  try {
69
- const parsed = JSON.parse(output);
81
+ const parsed = JSON.parse(trimmed_output);
70
82
  const items = Array.isArray(parsed)
71
83
  ? parsed
72
84
  : Array.isArray(parsed?.queues)
73
85
  ? parsed.queues
74
86
  : [];
75
- return items.some((item) => {
87
+ const has_json_queue = items.some((item) => {
76
88
  const record = item && typeof item === "object" ? item : {};
77
- return String(record.name ?? record.queue_name ?? "").trim() === params.queue_name;
89
+ return String(record.name ?? record.queue_name ?? "").trim() === queue_name;
78
90
  });
91
+ if (has_json_queue)
92
+ return true;
79
93
  }
80
94
  catch {
81
- return false;
95
+ // Wrangler Queue list 当前是文本输出;JSON 解析失败时继续按表格/文本解析。
96
+ }
97
+ return readTextQueueNames(trimmed_output).some((name) => name === queue_name);
98
+ }
99
+ /**
100
+ * 从文本表格或纯文本输出中读取 Queue 名称。
101
+ */
102
+ function readTextQueueNames(output) {
103
+ const names = [];
104
+ for (const line of output.replace(/\u001b\[[0-9;]*m/g, "").split(/\r?\n/)) {
105
+ const cells = line
106
+ .split(/[│|]/g)
107
+ .map((cell) => cell.trim())
108
+ .filter(Boolean);
109
+ if (cells.length > 1) {
110
+ names.push(...cells.filter(isPossibleQueueName));
111
+ continue;
112
+ }
113
+ const plain_name = line.trim().replace(/^[-*]\s+/, "");
114
+ if (isPossibleQueueName(plain_name))
115
+ names.push(plain_name);
82
116
  }
117
+ return names;
118
+ }
119
+ /**
120
+ * 判断文本片段是否像一个 Cloudflare Queue 名称。
121
+ */
122
+ function isPossibleQueueName(value) {
123
+ if (!value || value === "name" || value === "queue" || value === "Queue Name")
124
+ return false;
125
+ return /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(value);
83
126
  }
84
127
  /**
85
128
  * shell 参数转义。
@@ -1 +1 @@
1
- {"version":3,"file":"QueueResolver.js","sourceRoot":"","sources":["../../../../src/federation/deploy/runtime/QueueResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueueResolver.js","sourceRoot":"","sources":["../../../../src/federation/deploy/runtime/QueueResolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/federation/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AA2BH;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAwJnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/federation/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AA6BH;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAyJnD"}
@@ -17,9 +17,11 @@ import { createVersionBanner } from "../shared/IndexSupport.js";
17
17
  import { setCliVerbosity } from "../shared/CliReporter.js";
18
18
  import { deployFederationProject } from "./deploy/commands/deploy.js";
19
19
  import { createFederationProject } from "./create/commands/create.js";
20
+ import { run_federation_query_command } from "./query/commands/query.js";
20
21
  import { readActiveServer } from "./core/session.js";
21
22
  import { prompt_add_federation_server, prompt_select_active_federation_server, } from "./server/FederationServerManager.js";
22
23
  import { open_federation_server_workspace } from "./server/FederationServerWorkspace.js";
24
+ import { CliError } from "../shared/CliError.js";
23
25
  import { helpText, langOptionText, resolveCliLocale, setCliLocale, t } from "../shared/CliLocale.js";
24
26
  const __filename = fileURLToPath(import.meta.url);
25
27
  const __dirname = dirname(__filename);
@@ -64,7 +66,6 @@ export async function runDownfedCli() {
64
66
  }));
65
67
  const server_program = program
66
68
  .command("server")
67
- .alias("fed")
68
69
  .description(t({
69
70
  zh: "配置并管理已部署 Federation",
70
71
  en: "configure and manage deployed Federations",
@@ -95,6 +96,7 @@ export async function runDownfedCli() {
95
96
  .action(createVersionBanner(packageJson.version, async () => {
96
97
  await prompt_add_federation_server();
97
98
  }));
99
+ register_root_federation_query_command(program);
98
100
  program
99
101
  .command("create [dir]")
100
102
  .description(t({
@@ -158,4 +160,52 @@ export async function runDownfedCli() {
158
160
  }
159
161
  await program.parseAsync(process.argv);
160
162
  }
163
+ function register_root_federation_query_command(program) {
164
+ program
165
+ .command("query <method> <path>")
166
+ .description(t({
167
+ zh: "请求当前 active Federation 的 HTTP API",
168
+ en: "query the HTTP API of the active Federation",
169
+ }))
170
+ .option("--raw", t({
171
+ zh: "只输出原始响应 body",
172
+ en: "print the raw response body only",
173
+ }))
174
+ .option("--header <header>", t({
175
+ zh: "临时请求头,格式 key:value,可重复使用",
176
+ en: "temporary request header in key:value format; repeatable",
177
+ }), collect_query_header, [])
178
+ .option("-d, --data <json>", t({
179
+ zh: "JSON 字符串请求体",
180
+ en: "JSON string request body",
181
+ }))
182
+ .option("--file <path>", t({
183
+ zh: "从文件读取 JSON 请求体",
184
+ en: "read JSON request body from a file",
185
+ }))
186
+ .helpOption("--help", helpText())
187
+ .action(async (method, path, options) => {
188
+ try {
189
+ await run_federation_query_command(method, path, options);
190
+ }
191
+ catch (error) {
192
+ if (error instanceof CliError) {
193
+ render_query_cli_error(error);
194
+ process.exitCode = error.exitCode;
195
+ return;
196
+ }
197
+ throw error;
198
+ }
199
+ });
200
+ }
201
+ function collect_query_header(value, previous) {
202
+ return [...previous, value];
203
+ }
204
+ function render_query_cli_error(error) {
205
+ console.error(error.message);
206
+ if (error.note)
207
+ console.error(error.note);
208
+ if (error.fix)
209
+ console.error(`fix: ${error.fix}`);
210
+ }
161
211
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/federation/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/federation/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EACL,4BAA4B,EAC5B,sCAAsC,GACvC,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,uBAAuB,CAAC;AAEpG,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CACtC,CAAC;AAEzB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,gBAAgB,CAAC;QAClC,IAAI;QACJ,gBAAgB,EAAE,sBAAsB,EAAE;KAC3C,CAAC,CAAC;IACH,YAAY,CAAC,UAAU,CAAC,CAAC;IAEzB,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAC,CAAC,CAAC;QACb,EAAE,EAAE,sDAAsD;QAC1D,EAAE,EAAE,mFAAmF;KACxF,CAAC,CAAC;SACF,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEjD,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAC9B,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,yBAAyB;KAC9B,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5B,EAAE,EAAE,QAAQ;QACZ,EAAE,EAAE,+BAA+B;KACpC,CAAC,CAAC,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,CAAC,CAAC;QACb,EAAE,EAAE,uBAAuB;QAC3B,EAAE,EAAE,sDAAsD;KAC3D,CAAC,CAAC;SACF,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;SAChC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,EAAE;QACzE,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC,CAAC;IAEN,MAAM,cAAc,GAAG,OAAO;SAC3B,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,CAAC,CAAC;QACb,EAAE,EAAE,qBAAqB;QACzB,EAAE,EAAE,2CAA2C;KAChD,CAAC,CAAC;SACF,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEpC,cAAc;SACX,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,CAAC,CAAC;QACb,EAAE,EAAE,mCAAmC;QACvC,EAAE,EAAE,iEAAiE;KACtE,CAAC,CAAC;SACF,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;SAChC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,MAAM,GAAG,gBAAgB,EAAE;eAC5B,MAAM,sCAAsC,EAAE;eAC9C,MAAM,4BAA4B,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,gCAAgC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC,CAAC;IAEN,cAAc;SACX,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,CAAC,CAAC;QACb,EAAE,EAAE,sBAAsB;QAC1B,EAAE,EAAE,+BAA+B;KACpC,CAAC,CAAC;SACF,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;SAChC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,4BAA4B,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC,CAAC;IAEN,sCAAsC,CAAC,OAAO,CAAC,CAAC;IAEhD,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,CAAC,CAAC;QACb,EAAE,EAAE,uBAAuB;QAC3B,EAAE,EAAE,6CAA6C;KAClD,CAAC,CAAC;SACF,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QACvB,EAAE,EAAE,YAAY;QAChB,EAAE,EAAE,0CAA0C;KAC/C,CAAC,CAAC;SACF,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;SAChC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EACpD,GAAuB,EACvB,OAA4B,EAC5B,EAAE;QACF,MAAM,uBAAuB,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC,CAAC;IAEN,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,CAAC,CAAC;QACb,EAAE,EAAE,6BAA6B;QACjC,EAAE,EAAE,wEAAwE;KAC7E,CAAC,CAAC;SACF,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACrB,EAAE,EAAE,iCAAiC;QACrC,EAAE,EAAE,yDAAyD;KAC9D,CAAC,CAAC;SACF,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACpB,EAAE,EAAE,wBAAwB;QAC5B,EAAE,EAAE,mDAAmD;KACxD,CAAC,CAAC;SACF,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QACzB,EAAE,EAAE,2BAA2B;QAC/B,EAAE,EAAE,2DAA2D;KAChE,CAAC,CAAC;SACF,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QACxB,EAAE,EAAE,0BAA0B;QAC9B,EAAE,EAAE,oCAAoC;KACzC,CAAC,CAAC;SACF,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC5B,EAAE,EAAE,8BAA8B;QAClC,EAAE,EAAE,wCAAwC;KAC7C,CAAC,CAAC;SACF,MAAM,CAAC,2BAA2B,EAAE,CAAC,CAAC;QACrC,EAAE,EAAE,+BAA+B;QACnC,EAAE,EAAE,mDAAmD;KACxD,CAAC,CAAC;SACF,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;SAChC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EACpD,MAA0B,EAC1B,OAOC,EACD,EAAE;QACF,MAAM,uBAAuB,CAAC,MAAM,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAEtB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,WAAW,CAAC,eAAe,EAA0C,CAAC;QACnF,IAAI,IAAI,CAAC,KAAK;YAAE,eAAe,CAAC,OAAO,CAAC,CAAC;aACpC,IAAI,IAAI,CAAC,OAAO;YAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAC7B,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAEnC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,sCAAsC,CAAC,OAAgB;IAC9D,OAAO;SACJ,OAAO,CAAC,uBAAuB,CAAC;SAChC,WAAW,CAAC,CAAC,CAAC;QACb,EAAE,EAAE,mCAAmC;QACvC,EAAE,EAAE,6CAA6C;KAClD,CAAC,CAAC;SACF,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACjB,EAAE,EAAE,cAAc;QAClB,EAAE,EAAE,kCAAkC;KACvC,CAAC,CAAC;SACF,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC7B,EAAE,EAAE,0BAA0B;QAC9B,EAAE,EAAE,0DAA0D;KAC/D,CAAC,EAAE,oBAAoB,EAAE,EAAc,CAAC;SACxC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC7B,EAAE,EAAE,aAAa;QACjB,EAAE,EAAE,0BAA0B;KAC/B,CAAC,CAAC;SACF,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QACzB,EAAE,EAAE,gBAAgB;QACpB,EAAE,EAAE,oCAAoC;KACzC,CAAC,CAAC;SACF,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;SAChC,MAAM,CAAC,KAAK,EACX,MAAc,EACd,IAAY,EACZ,OAKC,EACD,EAAE;QACF,IAAI,CAAC;YACH,MAAM,4BAA4B,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC9B,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC9B,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAClC,OAAO;YACT,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa,EAAE,QAAkB;IAC7D,OAAO,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAe;IAC7C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,IAAI;QAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,GAAG;QAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Federation query 调试命令。
3
+ *
4
+ * 关键说明(中文)
5
+ * - 该命令直接请求当前 active Federation,便于排查 auth、env、模型解析与上游错误。
6
+ * - 默认带 admin Authorization 与 JSON content-type。
7
+ * - 非 2xx 响应仍完整打印 status、headers、body,避免吞掉服务端真实错误。
8
+ */
9
+ import type { FederationQueryCommandOptions } from "../../types/FederationQuery.js";
10
+ /**
11
+ * 执行 Federation query 命令。
12
+ */
13
+ export declare function run_federation_query_command(method_input: string, target_input: string, options: FederationQueryCommandOptions): Promise<void>;
14
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/federation/query/commands/query.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EACV,6BAA6B,EAE9B,MAAM,uCAAuC,CAAC;AAc/C;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,IAAI,CAAC,CAqBf"}
@@ -0,0 +1,290 @@
1
+ /**
2
+ * Federation query 调试命令。
3
+ *
4
+ * 关键说明(中文)
5
+ * - 该命令直接请求当前 active Federation,便于排查 auth、env、模型解析与上游错误。
6
+ * - 默认带 admin Authorization 与 JSON content-type。
7
+ * - 非 2xx 响应仍完整打印 status、headers、body,避免吞掉服务端真实错误。
8
+ */
9
+ import { readFile } from "node:fs/promises";
10
+ import { resolve } from "node:path";
11
+ import { readActiveServer } from "../../core/session.js";
12
+ import { CliError } from "../../../shared/CliError.js";
13
+ import { t } from "../../../shared/CliLocale.js";
14
+ const SUPPORTED_METHODS = new Set([
15
+ "GET",
16
+ "POST",
17
+ "PUT",
18
+ "PATCH",
19
+ "DELETE",
20
+ "HEAD",
21
+ "OPTIONS",
22
+ ]);
23
+ /**
24
+ * 执行 Federation query 命令。
25
+ */
26
+ export async function run_federation_query_command(method_input, target_input, options) {
27
+ const server = resolve_active_query_server();
28
+ const request = await resolve_query_request({
29
+ server,
30
+ method_input,
31
+ target_input,
32
+ options,
33
+ });
34
+ const response = await send_query_request(request);
35
+ const response_body = await response.text();
36
+ print_query_response({
37
+ response,
38
+ response_body,
39
+ raw: options.raw === true,
40
+ });
41
+ if (!response.ok) {
42
+ process.exitCode = 1;
43
+ }
44
+ }
45
+ async function send_query_request(request) {
46
+ try {
47
+ return await fetch(request.url, {
48
+ method: request.method,
49
+ headers: request.headers,
50
+ body: request.body,
51
+ redirect: "manual",
52
+ });
53
+ }
54
+ catch (error) {
55
+ throw new CliError({
56
+ title: t({
57
+ zh: "请求 Federation 失败。",
58
+ en: "Failed to query Federation.",
59
+ }),
60
+ note: error_message(error),
61
+ });
62
+ }
63
+ }
64
+ function resolve_active_query_server() {
65
+ const server = readActiveServer();
66
+ if (!server) {
67
+ throw new CliError({
68
+ title: t({
69
+ zh: "当前没有 active Federation。",
70
+ en: "No active Federation is configured.",
71
+ }),
72
+ fix: "fed server add",
73
+ });
74
+ }
75
+ if (!String(server.admin_secret_key ?? "").trim()) {
76
+ throw new CliError({
77
+ title: t({
78
+ zh: "当前 Federation 缺少 admin_secret_key。",
79
+ en: "Current Federation is missing admin_secret_key.",
80
+ }),
81
+ fix: "fed server manage",
82
+ });
83
+ }
84
+ return server;
85
+ }
86
+ async function resolve_query_request(params) {
87
+ const method = normalize_query_method(params.method_input);
88
+ const url = resolve_query_url(params.server.base_url, params.target_input);
89
+ const body = await resolve_query_body(params.options);
90
+ if (body !== undefined && (method === "GET" || method === "HEAD")) {
91
+ throw new CliError({
92
+ title: t({
93
+ zh: `${method} 请求不能携带 body。`,
94
+ en: `${method} requests cannot include a body.`,
95
+ }),
96
+ });
97
+ }
98
+ const headers = resolve_query_headers({
99
+ admin_secret_key: params.server.admin_secret_key,
100
+ header_inputs: params.options.header ?? [],
101
+ });
102
+ return {
103
+ method,
104
+ url,
105
+ headers,
106
+ body,
107
+ };
108
+ }
109
+ function normalize_query_method(method_input) {
110
+ const method = String(method_input ?? "").trim().toUpperCase();
111
+ if (!SUPPORTED_METHODS.has(method)) {
112
+ throw new CliError({
113
+ title: t({
114
+ zh: `不支持的 HTTP method:${method_input}`,
115
+ en: `Unsupported HTTP method: ${method_input}`,
116
+ }),
117
+ note: Array.from(SUPPORTED_METHODS).join(", "),
118
+ });
119
+ }
120
+ return method;
121
+ }
122
+ function resolve_query_url(base_url_input, target_input) {
123
+ const base_url = new URL(base_url_input);
124
+ const target = String(target_input ?? "").trim();
125
+ if (!target) {
126
+ throw new CliError({
127
+ title: t({
128
+ zh: "请求 path 不能为空。",
129
+ en: "Request path is required.",
130
+ }),
131
+ });
132
+ }
133
+ if (/^https?:\/\//iu.test(target)) {
134
+ const url = new URL(target);
135
+ if (url.origin !== base_url.origin) {
136
+ throw new CliError({
137
+ title: t({
138
+ zh: "完整 URL 只能指向当前 active Federation 域名。",
139
+ en: "Full URLs must use the current active Federation origin.",
140
+ }),
141
+ note: t({
142
+ zh: `允许 origin:${base_url.origin}`,
143
+ en: `Allowed origin: ${base_url.origin}`,
144
+ }),
145
+ });
146
+ }
147
+ return url;
148
+ }
149
+ if (!target.startsWith("/")) {
150
+ throw new CliError({
151
+ title: t({
152
+ zh: "请求 path 必须以 / 开头,或传入完整 URL。",
153
+ en: "Request path must start with /, or be a full URL.",
154
+ }),
155
+ });
156
+ }
157
+ return new URL(target, base_url.origin);
158
+ }
159
+ async function resolve_query_body(options) {
160
+ const has_data = typeof options.data === "string";
161
+ const has_file = typeof options.file === "string";
162
+ if (has_data && has_file) {
163
+ throw new CliError({
164
+ title: t({
165
+ zh: "--data 与 --file 不能同时使用。",
166
+ en: "--data and --file cannot be used together.",
167
+ }),
168
+ });
169
+ }
170
+ if (has_data) {
171
+ return normalize_json_body(options.data ?? "", "--data");
172
+ }
173
+ if (has_file) {
174
+ const file_path = resolve(String(options.file));
175
+ const file_body = await read_query_body_file(file_path);
176
+ return normalize_json_body(file_body, "--file");
177
+ }
178
+ return undefined;
179
+ }
180
+ async function read_query_body_file(file_path) {
181
+ try {
182
+ return await readFile(file_path, "utf-8");
183
+ }
184
+ catch (error) {
185
+ throw new CliError({
186
+ title: t({
187
+ zh: `读取请求体文件失败:${file_path}`,
188
+ en: `Failed to read request body file: ${file_path}`,
189
+ }),
190
+ note: error_message(error),
191
+ });
192
+ }
193
+ }
194
+ function normalize_json_body(body_input, source) {
195
+ const body = String(body_input ?? "").trim();
196
+ if (!body) {
197
+ throw new CliError({
198
+ title: t({
199
+ zh: `${source} 请求体不能为空。`,
200
+ en: `${source} body cannot be empty.`,
201
+ }),
202
+ });
203
+ }
204
+ try {
205
+ JSON.parse(body);
206
+ }
207
+ catch {
208
+ throw new CliError({
209
+ title: t({
210
+ zh: `${source} 必须是合法 JSON。`,
211
+ en: `${source} must be valid JSON.`,
212
+ }),
213
+ });
214
+ }
215
+ return body;
216
+ }
217
+ function resolve_query_headers(params) {
218
+ const headers = new Headers();
219
+ headers.set("authorization", `Bearer ${params.admin_secret_key.trim()}`);
220
+ headers.set("content-type", "application/json");
221
+ for (const header_input of params.header_inputs) {
222
+ const separator_index = header_input.indexOf(":");
223
+ if (separator_index <= 0) {
224
+ throw new CliError({
225
+ title: t({
226
+ zh: `header 格式错误:${header_input}`,
227
+ en: `Invalid header format: ${header_input}`,
228
+ }),
229
+ note: t({
230
+ zh: "请使用 key:value 格式。",
231
+ en: "Use key:value format.",
232
+ }),
233
+ });
234
+ }
235
+ const key = header_input.slice(0, separator_index).trim();
236
+ const value = header_input.slice(separator_index + 1).trim();
237
+ if (!key) {
238
+ throw new CliError({
239
+ title: t({
240
+ zh: `header key 不能为空:${header_input}`,
241
+ en: `Header key cannot be empty: ${header_input}`,
242
+ }),
243
+ });
244
+ }
245
+ headers.set(key, value);
246
+ }
247
+ return headers;
248
+ }
249
+ function print_query_response(params) {
250
+ if (params.raw) {
251
+ process.stdout.write(params.response_body);
252
+ return;
253
+ }
254
+ console.log(`status: ${params.response.status} ${params.response.statusText}`.trimEnd());
255
+ console.log("headers:");
256
+ for (const [key, value] of params.response.headers.entries()) {
257
+ console.log(`${key}: ${value}`);
258
+ }
259
+ console.log("");
260
+ print_response_body(params.response_body);
261
+ }
262
+ function print_response_body(response_body) {
263
+ if (!response_body) {
264
+ return;
265
+ }
266
+ const parsed = try_parse_json(response_body);
267
+ if (parsed.ok) {
268
+ console.log(JSON.stringify(parsed.value, null, 2));
269
+ return;
270
+ }
271
+ console.log(response_body);
272
+ }
273
+ function try_parse_json(response_body) {
274
+ try {
275
+ return {
276
+ ok: true,
277
+ value: JSON.parse(response_body),
278
+ };
279
+ }
280
+ catch {
281
+ return { ok: false };
282
+ }
283
+ }
284
+ function error_message(error) {
285
+ if (error instanceof Error) {
286
+ return error.message;
287
+ }
288
+ return String(error);
289
+ }
290
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/federation/query/commands/query.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ export interface FederationD1DatabaseSummary {
60
60
  /**
61
61
  * Queue 准备状态。
62
62
  */
63
- export type FederationQueueStatus = "created" | "reused" | "skipped";
63
+ export type FederationQueueStatus = "created" | "reused" | "pending" | "skipped";
64
64
  /**
65
65
  * Queue 准备结果。
66
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"FederationDeployRuntime.d.ts","sourceRoot":"","sources":["../../../src/federation/types/FederationDeployRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,6BAA6B,GACrC,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,6BAA6B,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD;;OAEG;IACH,KAAK,EAAE,6BAA6B,CAAC;IAErC;;OAEG;IACH,SAAS,EAAE,6BAA6B,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAClC,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,MAAM,EAAE,0BAA0B,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC;CAC/B"}
1
+ {"version":3,"file":"FederationDeployRuntime.d.ts","sourceRoot":"","sources":["../../../src/federation/types/FederationDeployRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,6BAA6B,GACrC,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,6BAA6B,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD;;OAEG;IACH,KAAK,EAAE,6BAA6B,CAAC;IAErC;;OAEG;IACH,SAAS,EAAE,6BAA6B,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAClC,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,MAAM,EAAE,0BAA0B,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC;CAC/B"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Federation query 命令类型定义。
3
+ *
4
+ * 关键说明(中文)
5
+ * - query 命令是面向排查的轻量 HTTP 客户端。
6
+ * - 类型集中放在 types 目录,命令实现只负责解析、请求与输出。
7
+ */
8
+ /**
9
+ * Federation query 命令行参数。
10
+ */
11
+ export interface FederationQueryCommandOptions {
12
+ /** 是否输出服务端原始响应 body。 */
13
+ raw?: boolean;
14
+ /** 临时请求头,格式为 `key:value`,可重复传入。 */
15
+ header?: string[];
16
+ /** JSON 字符串请求体,来自 `--data` 或 `-d`。 */
17
+ data?: string;
18
+ /** 请求体文件路径,文件内容必须是 JSON。 */
19
+ file?: string;
20
+ }
21
+ /**
22
+ * 已解析完成、可直接发送的 Federation query 请求。
23
+ */
24
+ export interface FederationQueryResolvedRequest {
25
+ /** 标准化后的 HTTP method。 */
26
+ method: string;
27
+ /** 只允许指向当前 active Federation origin 的完整请求 URL。 */
28
+ url: URL;
29
+ /** 最终请求头集合,包含 admin Authorization 与临时 header。 */
30
+ headers: Headers;
31
+ /** 已校验为 JSON 的请求 body;没有 body 时为 undefined。 */
32
+ body?: string;
33
+ }
34
+ //# sourceMappingURL=FederationQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FederationQuery.d.ts","sourceRoot":"","sources":["../../../src/federation/types/FederationQuery.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,wBAAwB;IACxB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,GAAG,EAAE,GAAG,CAAC;IACT,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Federation query 命令类型定义。
3
+ *
4
+ * 关键说明(中文)
5
+ * - query 命令是面向排查的轻量 HTTP 客户端。
6
+ * - 类型集中放在 types 目录,命令实现只负责解析、请求与输出。
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=FederationQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FederationQuery.js","sourceRoot":"","sources":["../../../src/federation/types/FederationQuery.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "downcity",
3
- "version": "1.1.239",
3
+ "version": "1.1.242",
4
4
  "type": "module",
5
5
  "description": "Downcity CLI — unified City and Agent host management",
6
6
  "bin": {
@@ -23,9 +23,9 @@
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.152",
26
+ "@downcity/agent": "^1.1.153",
27
27
  "@downcity/city": "^0.2.103",
28
- "@downcity/plugins": "^1.0.94",
28
+ "@downcity/plugins": "^1.0.96",
29
29
  "@downcity/server": "^0.1.14",
30
30
  "@downcity/shell": "^0.1.30",
31
31
  "@downcity/type": "0.1.64",