@adep/cli 0.1.0 → 0.1.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/index.js CHANGED
@@ -9,7 +9,7 @@ var __export = (target, all) => {
9
9
  __defProp(target, name, { get: all[name], enumerable: true });
10
10
  };
11
11
 
12
- // src/config.ts
12
+ // packages/cli/src/config.ts
13
13
  function resolvePaths(env = process.env) {
14
14
  const home = env["ADEP_HOME"] ?? `${env["HOME"] ?? ""}/.adep`;
15
15
  return { home, credentialsFile: `${home}/credentials` };
@@ -18,12 +18,12 @@ function resolveServer(env = process.env) {
18
18
  return (env["ADEP_SERVER"] ?? "https://adep.jajabjbj.top").replace(/\/+$/, "");
19
19
  }
20
20
  var init_config = __esm({
21
- "src/config.ts"() {
21
+ "packages/cli/src/config.ts"() {
22
22
  "use strict";
23
23
  }
24
24
  });
25
25
 
26
- // src/credentials.ts
26
+ // packages/cli/src/credentials.ts
27
27
  import { mkdir, open, readFile, rm, stat } from "node:fs/promises";
28
28
  import { dirname } from "node:path";
29
29
  async function saveCredentials(paths, credentials) {
@@ -70,15 +70,15 @@ function decodeToken(encoded) {
70
70
  return Buffer.from(encoded, "base64").toString("utf8");
71
71
  }
72
72
  var init_credentials = __esm({
73
- "src/credentials.ts"() {
73
+ "packages/cli/src/credentials.ts"() {
74
74
  "use strict";
75
75
  }
76
76
  });
77
77
 
78
- // src/offline/errors.ts
78
+ // packages/cli/src/offline/errors.ts
79
79
  var NetworkRequiredError;
80
80
  var init_errors = __esm({
81
- "src/offline/errors.ts"() {
81
+ "packages/cli/src/offline/errors.ts"() {
82
82
  "use strict";
83
83
  NetworkRequiredError = class extends Error {
84
84
  command;
@@ -93,7 +93,7 @@ var init_errors = __esm({
93
93
  }
94
94
  });
95
95
 
96
- // src/offline/net.ts
96
+ // packages/cli/src/offline/net.ts
97
97
  var net_exports = {};
98
98
  __export(net_exports, {
99
99
  isOffline: () => isOffline,
@@ -136,7 +136,7 @@ async function requireNetwork(command) {
136
136
  }
137
137
  var PROBE_TTL_MS, PROBE_URL, PROBE_TIMEOUT_MS, cachedResult;
138
138
  var init_net = __esm({
139
- "src/offline/net.ts"() {
139
+ "packages/cli/src/offline/net.ts"() {
140
140
  "use strict";
141
141
  init_errors();
142
142
  PROBE_TTL_MS = 3e4;
@@ -146,7 +146,7 @@ var init_net = __esm({
146
146
  }
147
147
  });
148
148
 
149
- // src/auth.ts
149
+ // packages/cli/src/auth.ts
150
150
  function sessionCookieOf(setCookie) {
151
151
  const line = setCookie.find(
152
152
  (entry) => entry.startsWith("better-auth.session_token=") && !/max-age=0/i.test(entry)
@@ -217,7 +217,7 @@ async function logout(paths) {
217
217
  }
218
218
  var CliError;
219
219
  var init_auth = __esm({
220
- "src/auth.ts"() {
220
+ "packages/cli/src/auth.ts"() {
221
221
  "use strict";
222
222
  init_credentials();
223
223
  init_net();
@@ -232,7 +232,7 @@ var init_auth = __esm({
232
232
  }
233
233
  });
234
234
 
235
- // ../../shared/sdk/adep-config.ts
235
+ // shared/sdk/adep-config.ts
236
236
  function typeNameOf(value) {
237
237
  if (value === null) return "null";
238
238
  if (Array.isArray(value)) return "array";
@@ -356,7 +356,7 @@ function renderAdepConfig(config, options = {}) {
356
356
  }
357
357
  var DEFAULT_ADEP_CONFIG;
358
358
  var init_adep_config = __esm({
359
- "../../shared/sdk/adep-config.ts"() {
359
+ "shared/sdk/adep-config.ts"() {
360
360
  "use strict";
361
361
  DEFAULT_ADEP_CONFIG = {
362
362
  functionsDir: "functions",
@@ -365,7 +365,7 @@ var init_adep_config = __esm({
365
365
  }
366
366
  });
367
367
 
368
- // src/prompt.ts
368
+ // packages/cli/src/prompt.ts
369
369
  var prompt_exports = {};
370
370
  __export(prompt_exports, {
371
371
  createPrompt: () => createPrompt
@@ -396,7 +396,7 @@ function createPrompt(input = process.stdin) {
396
396
  }
397
397
  var MutedStream;
398
398
  var init_prompt = __esm({
399
- "src/prompt.ts"() {
399
+ "packages/cli/src/prompt.ts"() {
400
400
  "use strict";
401
401
  MutedStream = class extends Writable {
402
402
  write(_chunk, ...rest) {
@@ -407,10 +407,10 @@ var init_prompt = __esm({
407
407
  }
408
408
  });
409
409
 
410
- // ../runtime/src/shared/capability-keys.ts
410
+ // packages/runtime/src/shared/capability-keys.ts
411
411
  var RPC_CAPABILITY_KEY, CHAIN_CAPABILITY_KEY, DB_RPC, REALTIME_CAPABILITY_CODES, REALTIME_CAPABILITY_METHODS;
412
412
  var init_capability_keys = __esm({
413
- "../runtime/src/shared/capability-keys.ts"() {
413
+ "packages/runtime/src/shared/capability-keys.ts"() {
414
414
  "use strict";
415
415
  RPC_CAPABILITY_KEY = "__adepRpc";
416
416
  CHAIN_CAPABILITY_KEY = "__adepChain";
@@ -445,7 +445,7 @@ var init_capability_keys = __esm({
445
445
  }
446
446
  });
447
447
 
448
- // ../runtime/src/shared/executor-runtime.ts
448
+ // packages/runtime/src/shared/executor-runtime.ts
449
449
  function isHttpStatus(status) {
450
450
  return typeof status === "number" && Number.isInteger(status) && status >= 400 && status <= 599;
451
451
  }
@@ -454,7 +454,7 @@ function normalizeHttpStatus(status) {
454
454
  }
455
455
  var ExecutorError, TIMEOUT_CODE, OOM_CODE, DEFAULT_TIMEOUT_MS, DEFAULT_MEMORY_LIMIT_MB;
456
456
  var init_executor_runtime = __esm({
457
- "../runtime/src/shared/executor-runtime.ts"() {
457
+ "packages/runtime/src/shared/executor-runtime.ts"() {
458
458
  "use strict";
459
459
  ExecutorError = class extends Error {
460
460
  constructor(status, code, message) {
@@ -471,18 +471,18 @@ var init_executor_runtime = __esm({
471
471
  }
472
472
  });
473
473
 
474
- // ../runtime/src/functions/runtime/executor.ts
474
+ // packages/runtime/src/functions/runtime/executor.ts
475
475
  var init_executor = __esm({
476
- "../runtime/src/functions/runtime/executor.ts"() {
476
+ "packages/runtime/src/functions/runtime/executor.ts"() {
477
477
  "use strict";
478
478
  init_executor_runtime();
479
479
  }
480
480
  });
481
481
 
482
- // ../runtime/src/functions/domain.ts
482
+ // packages/runtime/src/functions/domain.ts
483
483
  var MAX_TOTAL_SOURCE_BYTES, FnError;
484
484
  var init_domain = __esm({
485
- "../runtime/src/functions/domain.ts"() {
485
+ "packages/runtime/src/functions/domain.ts"() {
486
486
  "use strict";
487
487
  MAX_TOTAL_SOURCE_BYTES = 256 * 1024;
488
488
  FnError = class extends Error {
@@ -498,7 +498,7 @@ var init_domain = __esm({
498
498
  }
499
499
  });
500
500
 
501
- // ../runtime/src/functions/deps/manifest.ts
501
+ // packages/runtime/src/functions/deps/manifest.ts
502
502
  import { createHash } from "node:crypto";
503
503
  function isVersionRangeSpec(spec) {
504
504
  if (spec === "*" || spec === "latest") return true;
@@ -579,7 +579,7 @@ function depsKeyOf(dependencies) {
579
579
  }
580
580
  var PACKAGE_NAME_PATTERN, COMPARATOR_PATTERN, MANIFEST_MAX_DEPS;
581
581
  var init_manifest = __esm({
582
- "../runtime/src/functions/deps/manifest.ts"() {
582
+ "packages/runtime/src/functions/deps/manifest.ts"() {
583
583
  "use strict";
584
584
  init_domain();
585
585
  PACKAGE_NAME_PATTERN = /^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-._~]+$/;
@@ -588,7 +588,7 @@ var init_manifest = __esm({
588
588
  }
589
589
  });
590
590
 
591
- // ../runtime/src/functions/deps/resolve.ts
591
+ // packages/runtime/src/functions/deps/resolve.ts
592
592
  import { resolve as resolve2 } from "node:path";
593
593
  function resolveExecutionDeps(config, projectId, manifestContent) {
594
594
  const manifest = tryParseManifestDependencies(manifestContent);
@@ -602,13 +602,13 @@ function resolveExecutionDeps(config, projectId, manifestContent) {
602
602
  };
603
603
  }
604
604
  var init_resolve = __esm({
605
- "../runtime/src/functions/deps/resolve.ts"() {
605
+ "packages/runtime/src/functions/deps/resolve.ts"() {
606
606
  "use strict";
607
607
  init_manifest();
608
608
  }
609
609
  });
610
610
 
611
- // ../runtime/src/functions/runtime/worker-executor.ts
611
+ // packages/runtime/src/functions/runtime/worker-executor.ts
612
612
  import { readFileSync } from "node:fs";
613
613
  import { fileURLToPath, pathToFileURL } from "node:url";
614
614
  import { dirname as dirname3, join as join2 } from "node:path";
@@ -651,7 +651,7 @@ function rpcReply(worker, id, ok, payload) {
651
651
  }
652
652
  var WorkerFunctionExecutor;
653
653
  var init_worker_executor = __esm({
654
- "../runtime/src/functions/runtime/worker-executor.ts"() {
654
+ "packages/runtime/src/functions/runtime/worker-executor.ts"() {
655
655
  "use strict";
656
656
  init_executor();
657
657
  init_resolve();
@@ -765,13 +765,13 @@ var init_worker_executor = __esm({
765
765
  }
766
766
  });
767
767
 
768
- // ../runtime/src/database/builder/dialect.ts
768
+ // packages/runtime/src/database/builder/dialect.ts
769
769
  function dialectFor(driver) {
770
770
  return driver.engine === "pg" ? postgresDialect : sqliteDialect;
771
771
  }
772
772
  var sqliteDialect, postgresDialect;
773
773
  var init_dialect = __esm({
774
- "../runtime/src/database/builder/dialect.ts"() {
774
+ "packages/runtime/src/database/builder/dialect.ts"() {
775
775
  "use strict";
776
776
  sqliteDialect = {
777
777
  name: "sqlite",
@@ -790,7 +790,7 @@ var init_dialect = __esm({
790
790
  }
791
791
  });
792
792
 
793
- // ../runtime/src/database/provision/identifier.ts
793
+ // packages/runtime/src/database/provision/identifier.ts
794
794
  function assertIdentifier(name) {
795
795
  if (!IDENTIFIER_PATTERN.test(name)) {
796
796
  throw new DbError(
@@ -806,7 +806,7 @@ function quoteIdentifier(name) {
806
806
  }
807
807
  var DbError, IDENTIFIER_PATTERN;
808
808
  var init_identifier = __esm({
809
- "../runtime/src/database/provision/identifier.ts"() {
809
+ "packages/runtime/src/database/provision/identifier.ts"() {
810
810
  "use strict";
811
811
  DbError = class extends Error {
812
812
  constructor(status, code, message) {
@@ -820,7 +820,7 @@ var init_identifier = __esm({
820
820
  }
821
821
  });
822
822
 
823
- // ../runtime/src/database/builder/guards.ts
823
+ // packages/runtime/src/database/builder/guards.ts
824
824
  function unsafeOperation(message) {
825
825
  return new DbError(400, "DB_UNSAFE_OP", message);
826
826
  }
@@ -844,13 +844,13 @@ function assertReadOnlyQuery(sql) {
844
844
  }
845
845
  }
846
846
  var init_guards = __esm({
847
- "../runtime/src/database/builder/guards.ts"() {
847
+ "packages/runtime/src/database/builder/guards.ts"() {
848
848
  "use strict";
849
849
  init_identifier();
850
850
  }
851
851
  });
852
852
 
853
- // ../runtime/src/database/builder/owned.ts
853
+ // packages/runtime/src/database/builder/owned.ts
854
854
  function changeLogTable(table) {
855
855
  const name = `${CHANGE_LOG_PREFIX}${table}`;
856
856
  assertIdentifier(name);
@@ -961,7 +961,7 @@ async function readChanges(driver, table, query = {}) {
961
961
  }
962
962
  var OWNED_PK, OWNED_OWNER_KEY, CHANGE_LOG_PREFIX;
963
963
  var init_owned = __esm({
964
- "../runtime/src/database/builder/owned.ts"() {
964
+ "packages/runtime/src/database/builder/owned.ts"() {
965
965
  "use strict";
966
966
  init_identifier();
967
967
  init_dialect();
@@ -972,7 +972,7 @@ var init_owned = __esm({
972
972
  }
973
973
  });
974
974
 
975
- // ../runtime/src/database/builder/ulid.ts
975
+ // packages/runtime/src/database/builder/ulid.ts
976
976
  function encodeTime(now) {
977
977
  let ts = Math.trunc(now);
978
978
  let out = "";
@@ -1034,7 +1034,7 @@ function ulid(now = Date.now()) {
1034
1034
  }
1035
1035
  var ENCODING, TIME_LEN, RANDOM_LEN, lastTime, lastRandom;
1036
1036
  var init_ulid = __esm({
1037
- "../runtime/src/database/builder/ulid.ts"() {
1037
+ "packages/runtime/src/database/builder/ulid.ts"() {
1038
1038
  "use strict";
1039
1039
  ENCODING = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
1040
1040
  TIME_LEN = 10;
@@ -1044,7 +1044,7 @@ var init_ulid = __esm({
1044
1044
  }
1045
1045
  });
1046
1046
 
1047
- // ../runtime/src/database/builder/table.ts
1047
+ // packages/runtime/src/database/builder/table.ts
1048
1048
  function pushParam(params, dialect, value) {
1049
1049
  params.push(value);
1050
1050
  return dialect.placeholder(params.length - 1);
@@ -1352,7 +1352,7 @@ function createTableBuilder(table, driver, dialect, options = {}) {
1352
1352
  }
1353
1353
  var OPERATORS, LIST_OPERATORS;
1354
1354
  var init_table = __esm({
1355
- "../runtime/src/database/builder/table.ts"() {
1355
+ "packages/runtime/src/database/builder/table.ts"() {
1356
1356
  "use strict";
1357
1357
  init_identifier();
1358
1358
  init_guards();
@@ -1373,7 +1373,7 @@ var init_table = __esm({
1373
1373
  }
1374
1374
  });
1375
1375
 
1376
- // ../runtime/src/database/builder/index.ts
1376
+ // packages/runtime/src/database/builder/index.ts
1377
1377
  function createCloudDb(driver, options = {}) {
1378
1378
  const dialect = options.dialect ?? dialectFor(driver);
1379
1379
  let txState = TX_STATES.get(driver);
@@ -1427,7 +1427,7 @@ function createCloudDb(driver, options = {}) {
1427
1427
  }
1428
1428
  var TX_STATES;
1429
1429
  var init_builder = __esm({
1430
- "../runtime/src/database/builder/index.ts"() {
1430
+ "packages/runtime/src/database/builder/index.ts"() {
1431
1431
  "use strict";
1432
1432
  init_dialect();
1433
1433
  init_guards();
@@ -1437,7 +1437,7 @@ var init_builder = __esm({
1437
1437
  }
1438
1438
  });
1439
1439
 
1440
- // ../runtime/src/database/sdk/cloud.ts
1440
+ // packages/runtime/src/database/sdk/cloud.ts
1441
1441
  function errorWithCode(error) {
1442
1442
  const code = typeof error === "object" && error !== null && typeof error.code === "string" ? error.code : void 0;
1443
1443
  if (code !== void 0 && error instanceof Error) {
@@ -1533,7 +1533,7 @@ function createDbCapability(driver, options = {}) {
1533
1533
  }
1534
1534
  var CLOUD_DB_SPEC, WRITE_TERMINALS;
1535
1535
  var init_cloud = __esm({
1536
- "../runtime/src/database/sdk/cloud.ts"() {
1536
+ "packages/runtime/src/database/sdk/cloud.ts"() {
1537
1537
  "use strict";
1538
1538
  init_capability_keys();
1539
1539
  init_builder();
@@ -1550,7 +1550,7 @@ var init_cloud = __esm({
1550
1550
  }
1551
1551
  });
1552
1552
 
1553
- // src/sim/sql-engine.ts
1553
+ // packages/cli/src/sim/sql-engine.ts
1554
1554
  function ident(raw) {
1555
1555
  return raw.trim().replace(/^"|"$/g, "").trim();
1556
1556
  }
@@ -1715,7 +1715,7 @@ function project(rows, selectRaw) {
1715
1715
  }
1716
1716
  var SimDbError, ParamCursor, SimSqlEngine;
1717
1717
  var init_sql_engine = __esm({
1718
- "src/sim/sql-engine.ts"() {
1718
+ "packages/cli/src/sim/sql-engine.ts"() {
1719
1719
  "use strict";
1720
1720
  SimDbError = class extends Error {
1721
1721
  constructor(code, message) {
@@ -1974,7 +1974,7 @@ var init_sql_engine = __esm({
1974
1974
  }
1975
1975
  });
1976
1976
 
1977
- // src/sim/db.ts
1977
+ // packages/cli/src/sim/db.ts
1978
1978
  function toProjectDriver(engine) {
1979
1979
  return {
1980
1980
  engine: "sqlite",
@@ -1994,14 +1994,14 @@ function createSimDbCapability(options = {}) {
1994
1994
  return { bundle, engine, driver };
1995
1995
  }
1996
1996
  var init_db = __esm({
1997
- "src/sim/db.ts"() {
1997
+ "packages/cli/src/sim/db.ts"() {
1998
1998
  "use strict";
1999
1999
  init_cloud();
2000
2000
  init_sql_engine();
2001
2001
  }
2002
2002
  });
2003
2003
 
2004
- // ../runtime/src/storage/driver.ts
2004
+ // packages/runtime/src/storage/driver.ts
2005
2005
  function assertSafeStoragePath(path) {
2006
2006
  if (typeof path !== "string" || path.length === 0) {
2007
2007
  throw new StorageError(400, STORAGE_CODES.invalidPath, "\u5B58\u50A8\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A");
@@ -2029,7 +2029,7 @@ function assertSafeStoragePath(path) {
2029
2029
  }
2030
2030
  var PROJECT_QUOTA_BYTES, StorageError, STORAGE_CODES;
2031
2031
  var init_driver = __esm({
2032
- "../runtime/src/storage/driver.ts"() {
2032
+ "packages/runtime/src/storage/driver.ts"() {
2033
2033
  "use strict";
2034
2034
  PROJECT_QUOTA_BYTES = 1024 * 1024 * 1024;
2035
2035
  StorageError = class extends Error {
@@ -2048,7 +2048,7 @@ var init_driver = __esm({
2048
2048
  }
2049
2049
  });
2050
2050
 
2051
- // ../runtime/src/storage/hmac-sha256.ts
2051
+ // packages/runtime/src/storage/hmac-sha256.ts
2052
2052
  function compress(h, block, w) {
2053
2053
  for (let i = 0; i < 16; i += 1) {
2054
2054
  const j = i * 4;
@@ -2143,7 +2143,7 @@ function hmacSha256Hex(key, message) {
2143
2143
  }
2144
2144
  var K, rotr;
2145
2145
  var init_hmac_sha256 = __esm({
2146
- "../runtime/src/storage/hmac-sha256.ts"() {
2146
+ "packages/runtime/src/storage/hmac-sha256.ts"() {
2147
2147
  "use strict";
2148
2148
  K = new Uint32Array([
2149
2149
  1116352408,
@@ -2215,7 +2215,7 @@ var init_hmac_sha256 = __esm({
2215
2215
  }
2216
2216
  });
2217
2217
 
2218
- // ../runtime/src/storage/signature.ts
2218
+ // packages/runtime/src/storage/signature.ts
2219
2219
  function sign(secret, projectId, path, expires) {
2220
2220
  const payload = `${projectId}|${path}|${expires}`;
2221
2221
  return hmacSha256Hex(secret, payload);
@@ -2228,7 +2228,7 @@ function signDownloadUrl(config, projectId, path, ttlSeconds = DEFAULT_SIGN_TTL_
2228
2228
  }
2229
2229
  var DEFAULT_SIGN_TTL_SECONDS, SIGN_EXPIRES_KEY, SIGN_SIGNATURE_KEY;
2230
2230
  var init_signature = __esm({
2231
- "../runtime/src/storage/signature.ts"() {
2231
+ "packages/runtime/src/storage/signature.ts"() {
2232
2232
  "use strict";
2233
2233
  init_hmac_sha256();
2234
2234
  DEFAULT_SIGN_TTL_SECONDS = 15 * 60;
@@ -2237,7 +2237,7 @@ var init_signature = __esm({
2237
2237
  }
2238
2238
  });
2239
2239
 
2240
- // ../runtime/src/storage/cloud.ts
2240
+ // packages/runtime/src/storage/cloud.ts
2241
2241
  function asBytes(data) {
2242
2242
  if (typeof data === "string") return new TextEncoder().encode(data);
2243
2243
  if (data instanceof ArrayBuffer) return new Uint8Array(data);
@@ -2296,7 +2296,7 @@ function createStorageCapability(driver, signer, projectId) {
2296
2296
  }
2297
2297
  var DEFAULT_VISIBILITY;
2298
2298
  var init_cloud2 = __esm({
2299
- "../runtime/src/storage/cloud.ts"() {
2299
+ "packages/runtime/src/storage/cloud.ts"() {
2300
2300
  "use strict";
2301
2301
  init_capability_keys();
2302
2302
  init_driver();
@@ -2305,7 +2305,7 @@ var init_cloud2 = __esm({
2305
2305
  }
2306
2306
  });
2307
2307
 
2308
- // ../runtime/src/storage/driver/local.ts
2308
+ // packages/runtime/src/storage/driver/local.ts
2309
2309
  import { mkdir as mkdir3, readFile as readFile2, readdir, rm as rm2, stat as stat3, unlink, writeFile as writeFile2 } from "node:fs/promises";
2310
2310
  import { dirname as dirname4, join as join3 } from "node:path";
2311
2311
  function createLocalStorageDriver(options) {
@@ -2512,14 +2512,14 @@ function createLocalStorageDriver(options) {
2512
2512
  }
2513
2513
  var META_SUFFIX;
2514
2514
  var init_local = __esm({
2515
- "../runtime/src/storage/driver/local.ts"() {
2515
+ "packages/runtime/src/storage/driver/local.ts"() {
2516
2516
  "use strict";
2517
2517
  init_driver();
2518
2518
  META_SUFFIX = ".adep-meta.json";
2519
2519
  }
2520
2520
  });
2521
2521
 
2522
- // src/sim/storage.ts
2522
+ // packages/cli/src/sim/storage.ts
2523
2523
  import { join as join4 } from "node:path";
2524
2524
  function createSimStorageCapability(options) {
2525
2525
  const dir = join4(options.cwd, ".adep", "sim", "storage");
@@ -2532,14 +2532,14 @@ function createSimStorageCapability(options) {
2532
2532
  return { bundle, driver };
2533
2533
  }
2534
2534
  var init_storage = __esm({
2535
- "src/sim/storage.ts"() {
2535
+ "packages/cli/src/sim/storage.ts"() {
2536
2536
  "use strict";
2537
2537
  init_cloud2();
2538
2538
  init_local();
2539
2539
  }
2540
2540
  });
2541
2541
 
2542
- // src/sim/realtime.ts
2542
+ // packages/cli/src/sim/realtime.ts
2543
2543
  function realtimeError(code, message) {
2544
2544
  return new Error(`[${code}] ${message}`);
2545
2545
  }
@@ -2620,7 +2620,7 @@ function createSimRealtimeCapability() {
2620
2620
  }
2621
2621
  var SimRealtime, MAX_BUFFERED_MESSAGES, MAX_SUBSCRIPTIONS, REALTIME_CODES;
2622
2622
  var init_realtime = __esm({
2623
- "src/sim/realtime.ts"() {
2623
+ "packages/cli/src/sim/realtime.ts"() {
2624
2624
  "use strict";
2625
2625
  init_capability_keys();
2626
2626
  SimRealtime = class {
@@ -2668,7 +2668,7 @@ var init_realtime = __esm({
2668
2668
  }
2669
2669
  });
2670
2670
 
2671
- // src/sim/runtime.ts
2671
+ // packages/cli/src/sim/runtime.ts
2672
2672
  import { mkdir as mkdir4, readFile as readFile3, writeFile as writeFile3 } from "node:fs/promises";
2673
2673
  import { dirname as dirname5, join as join5 } from "node:path";
2674
2674
  function simDir(cwd) {
@@ -2733,7 +2733,7 @@ async function createSimRuntime(options) {
2733
2733
  };
2734
2734
  }
2735
2735
  var init_runtime = __esm({
2736
- "src/sim/runtime.ts"() {
2736
+ "packages/cli/src/sim/runtime.ts"() {
2737
2737
  "use strict";
2738
2738
  init_db();
2739
2739
  init_storage();
@@ -2741,7 +2741,7 @@ var init_runtime = __esm({
2741
2741
  }
2742
2742
  });
2743
2743
 
2744
- // src/sim/env.ts
2744
+ // packages/cli/src/sim/env.ts
2745
2745
  import { readFile as readFile4 } from "node:fs/promises";
2746
2746
  import { join as join6 } from "node:path";
2747
2747
  function parseEnv(content) {
@@ -2774,12 +2774,12 @@ async function loadSimEnv(cwd, config = {}) {
2774
2774
  return merged;
2775
2775
  }
2776
2776
  var init_env = __esm({
2777
- "src/sim/env.ts"() {
2777
+ "packages/cli/src/sim/env.ts"() {
2778
2778
  "use strict";
2779
2779
  }
2780
2780
  });
2781
2781
 
2782
- // src/sim/invoke.ts
2782
+ // packages/cli/src/sim/invoke.ts
2783
2783
  function resolveFunctionEntry(files, fnName) {
2784
2784
  const flat = `${fnName}.ts`;
2785
2785
  if (files[flat] !== void 0) return flat;
@@ -2832,15 +2832,15 @@ function createSimInvokeHandler(options) {
2832
2832
  };
2833
2833
  }
2834
2834
  var init_invoke = __esm({
2835
- "src/sim/invoke.ts"() {
2835
+ "packages/cli/src/sim/invoke.ts"() {
2836
2836
  "use strict";
2837
2837
  }
2838
2838
  });
2839
2839
 
2840
- // src/sim/boundary.ts
2840
+ // packages/cli/src/sim/boundary.ts
2841
2841
  var SIM_BOUNDARIES;
2842
2842
  var init_boundary = __esm({
2843
- "src/sim/boundary.ts"() {
2843
+ "packages/cli/src/sim/boundary.ts"() {
2844
2844
  "use strict";
2845
2845
  SIM_BOUNDARIES = [
2846
2846
  {
@@ -2872,7 +2872,7 @@ var init_boundary = __esm({
2872
2872
  }
2873
2873
  });
2874
2874
 
2875
- // src/ts-config.ts
2875
+ // packages/cli/src/ts-config.ts
2876
2876
  import { stat as stat4, readFile as readFile5 } from "node:fs/promises";
2877
2877
  import { join as join7 } from "node:path";
2878
2878
  async function loadAdepConfigModule(cwd) {
@@ -2918,13 +2918,13 @@ ${result.errors.map((e) => ` - ${e}`).join("\n")}`;
2918
2918
  return result.data;
2919
2919
  }
2920
2920
  var init_ts_config = __esm({
2921
- "src/ts-config.ts"() {
2921
+ "packages/cli/src/ts-config.ts"() {
2922
2922
  "use strict";
2923
2923
  init_adep_config();
2924
2924
  }
2925
2925
  });
2926
2926
 
2927
- // src/dev.ts
2927
+ // packages/cli/src/dev.ts
2928
2928
  var dev_exports = {};
2929
2929
  __export(dev_exports, {
2930
2930
  loadConfig: () => loadConfig,
@@ -3218,7 +3218,7 @@ async function startDevServer(options) {
3218
3218
  };
3219
3219
  }
3220
3220
  var init_dev = __esm({
3221
- "src/dev.ts"() {
3221
+ "packages/cli/src/dev.ts"() {
3222
3222
  "use strict";
3223
3223
  init_executor();
3224
3224
  init_worker_executor();
@@ -3230,7 +3230,7 @@ var init_dev = __esm({
3230
3230
  }
3231
3231
  });
3232
3232
 
3233
- // src/serve/banner.ts
3233
+ // packages/cli/src/serve/banner.ts
3234
3234
  function isLoopback(host) {
3235
3235
  return host === "127.0.0.1" || host === "localhost" || host === "::1" || host === "[::1]";
3236
3236
  }
@@ -3289,12 +3289,12 @@ function renderBanner(options) {
3289
3289
  return lines.join("\n");
3290
3290
  }
3291
3291
  var init_banner = __esm({
3292
- "src/serve/banner.ts"() {
3292
+ "packages/cli/src/serve/banner.ts"() {
3293
3293
  "use strict";
3294
3294
  }
3295
3295
  });
3296
3296
 
3297
- // src/serve/server.ts
3297
+ // packages/cli/src/serve/server.ts
3298
3298
  var server_exports = {};
3299
3299
  __export(server_exports, {
3300
3300
  isLoopback: () => isLoopback,
@@ -3622,7 +3622,7 @@ async function startServeServer(options) {
3622
3622
  }
3623
3623
  var MIME_TYPES;
3624
3624
  var init_server = __esm({
3625
- "src/serve/server.ts"() {
3625
+ "packages/cli/src/serve/server.ts"() {
3626
3626
  "use strict";
3627
3627
  init_executor();
3628
3628
  init_worker_executor();
@@ -3655,7 +3655,7 @@ var init_server = __esm({
3655
3655
  }
3656
3656
  });
3657
3657
 
3658
- // src/client.ts
3658
+ // packages/cli/src/client.ts
3659
3659
  var client_exports = {};
3660
3660
  __export(client_exports, {
3661
3661
  createClient: () => createClient,
@@ -3748,7 +3748,7 @@ async function resolveSlug(cwd, slug) {
3748
3748
  return config.name;
3749
3749
  }
3750
3750
  var init_client = __esm({
3751
- "src/client.ts"() {
3751
+ "packages/cli/src/client.ts"() {
3752
3752
  "use strict";
3753
3753
  init_auth();
3754
3754
  init_credentials();
@@ -3756,7 +3756,7 @@ var init_client = __esm({
3756
3756
  }
3757
3757
  });
3758
3758
 
3759
- // src/deploy.ts
3759
+ // packages/cli/src/deploy.ts
3760
3760
  var deploy_exports = {};
3761
3761
  __export(deploy_exports, {
3762
3762
  collectEntries: () => collectEntries,
@@ -3864,7 +3864,7 @@ async function deploy(paths, options) {
3864
3864
  };
3865
3865
  }
3866
3866
  var init_deploy = __esm({
3867
- "src/deploy.ts"() {
3867
+ "packages/cli/src/deploy.ts"() {
3868
3868
  "use strict";
3869
3869
  init_auth();
3870
3870
  init_client();
@@ -3873,7 +3873,7 @@ var init_deploy = __esm({
3873
3873
  }
3874
3874
  });
3875
3875
 
3876
- // src/export/client.ts
3876
+ // packages/cli/src/export/client.ts
3877
3877
  var client_exports2 = {};
3878
3878
  __export(client_exports2, {
3879
3879
  createExportApiClient: () => createExportApiClient
@@ -3935,14 +3935,14 @@ async function createExportApiClient(paths) {
3935
3935
  };
3936
3936
  }
3937
3937
  var init_client2 = __esm({
3938
- "src/export/client.ts"() {
3938
+ "packages/cli/src/export/client.ts"() {
3939
3939
  "use strict";
3940
3940
  init_auth();
3941
3941
  init_client();
3942
3942
  }
3943
3943
  });
3944
3944
 
3945
- // ../../shared/deploy-bundle/zip.ts
3945
+ // shared/deploy-bundle/zip.ts
3946
3946
  function zipRead(buf) {
3947
3947
  const r = new Reader(buf);
3948
3948
  const eocd = findEocd(buf);
@@ -3983,7 +3983,7 @@ function findEocd(buf) {
3983
3983
  }
3984
3984
  var SIG_CENTRAL, SIG_EOCD, CRC_TABLE, Reader, ZipFormatError;
3985
3985
  var init_zip = __esm({
3986
- "../../shared/deploy-bundle/zip.ts"() {
3986
+ "shared/deploy-bundle/zip.ts"() {
3987
3987
  "use strict";
3988
3988
  SIG_CENTRAL = 33639248;
3989
3989
  SIG_EOCD = 101010256;
@@ -4021,7 +4021,7 @@ var init_zip = __esm({
4021
4021
  }
4022
4022
  });
4023
4023
 
4024
- // src/export/fs.ts
4024
+ // packages/cli/src/export/fs.ts
4025
4025
  var fs_exports = {};
4026
4026
  __export(fs_exports, {
4027
4027
  createExportFileSystem: () => createExportFileSystem
@@ -4058,16 +4058,16 @@ function createExportFileSystem() {
4058
4058
  };
4059
4059
  }
4060
4060
  var init_fs = __esm({
4061
- "src/export/fs.ts"() {
4061
+ "packages/cli/src/export/fs.ts"() {
4062
4062
  "use strict";
4063
4063
  init_zip();
4064
4064
  }
4065
4065
  });
4066
4066
 
4067
- // ../../shared/deploy-bundle/manifest.ts
4067
+ // shared/deploy-bundle/manifest.ts
4068
4068
  var CURRENT_SCHEMA_VERSION, BundleContentKind, ALLOWED_CONTENT_KINDS;
4069
4069
  var init_manifest2 = __esm({
4070
- "../../shared/deploy-bundle/manifest.ts"() {
4070
+ "shared/deploy-bundle/manifest.ts"() {
4071
4071
  "use strict";
4072
4072
  CURRENT_SCHEMA_VERSION = 2;
4073
4073
  BundleContentKind = {
@@ -4088,7 +4088,7 @@ var init_manifest2 = __esm({
4088
4088
  }
4089
4089
  });
4090
4090
 
4091
- // ../../shared/deploy-bundle/validate.ts
4091
+ // shared/deploy-bundle/validate.ts
4092
4092
  function validateBundleManifest(manifest) {
4093
4093
  const errors = [];
4094
4094
  const warnings = [];
@@ -4322,13 +4322,13 @@ function verifyContents(contents, actualContents, hashFunction) {
4322
4322
  };
4323
4323
  }
4324
4324
  var init_validate = __esm({
4325
- "../../shared/deploy-bundle/validate.ts"() {
4325
+ "shared/deploy-bundle/validate.ts"() {
4326
4326
  "use strict";
4327
4327
  init_manifest2();
4328
4328
  }
4329
4329
  });
4330
4330
 
4331
- // src/export/command.ts
4331
+ // packages/cli/src/export/command.ts
4332
4332
  var command_exports = {};
4333
4333
  __export(command_exports, {
4334
4334
  ExportCommand: () => ExportCommand
@@ -4336,7 +4336,7 @@ __export(command_exports, {
4336
4336
  import { createHash as createHash3 } from "node:crypto";
4337
4337
  var ExportCommand;
4338
4338
  var init_command = __esm({
4339
- "src/export/command.ts"() {
4339
+ "packages/cli/src/export/command.ts"() {
4340
4340
  "use strict";
4341
4341
  init_validate();
4342
4342
  ExportCommand = class {
@@ -4559,7 +4559,7 @@ ${detail}`);
4559
4559
  }
4560
4560
  });
4561
4561
 
4562
- // src/db.ts
4562
+ // packages/cli/src/db.ts
4563
4563
  var db_exports = {};
4564
4564
  __export(db_exports, {
4565
4565
  dbExec: () => dbExec,
@@ -4633,13 +4633,13 @@ async function dbRollback(paths, options) {
4633
4633
  );
4634
4634
  }
4635
4635
  var init_db2 = __esm({
4636
- "src/db.ts"() {
4636
+ "packages/cli/src/db.ts"() {
4637
4637
  "use strict";
4638
4638
  init_client();
4639
4639
  }
4640
4640
  });
4641
4641
 
4642
- // src/storage.ts
4642
+ // packages/cli/src/storage.ts
4643
4643
  var storage_exports = {};
4644
4644
  __export(storage_exports, {
4645
4645
  contentTypeOf: () => contentTypeOf,
@@ -4745,14 +4745,14 @@ async function storageRemove(paths, options) {
4745
4745
  );
4746
4746
  }
4747
4747
  var init_storage2 = __esm({
4748
- "src/storage.ts"() {
4748
+ "packages/cli/src/storage.ts"() {
4749
4749
  "use strict";
4750
4750
  init_client();
4751
4751
  init_auth();
4752
4752
  }
4753
4753
  });
4754
4754
 
4755
- // src/doctor.ts
4755
+ // packages/cli/src/doctor.ts
4756
4756
  var doctor_exports = {};
4757
4757
  __export(doctor_exports, {
4758
4758
  formatDoctorReport: () => formatDoctorReport,
@@ -4841,7 +4841,7 @@ function formatDoctorReport(report) {
4841
4841
  }
4842
4842
  var SERVER_PROBE_TIMEOUT_MS, OFFLINE_COMMANDS;
4843
4843
  var init_doctor = __esm({
4844
- "src/doctor.ts"() {
4844
+ "packages/cli/src/doctor.ts"() {
4845
4845
  "use strict";
4846
4846
  init_credentials();
4847
4847
  init_config();
@@ -4858,7 +4858,7 @@ var init_doctor = __esm({
4858
4858
  }
4859
4859
  });
4860
4860
 
4861
- // src/mcp.ts
4861
+ // packages/cli/src/mcp.ts
4862
4862
  var mcp_exports = {};
4863
4863
  __export(mcp_exports, {
4864
4864
  mcpList: () => mcpList,
@@ -4971,14 +4971,14 @@ async function resolveFunction(client, project2, name) {
4971
4971
  return { id: target.id, name: target.name };
4972
4972
  }
4973
4973
  var init_mcp = __esm({
4974
- "src/mcp.ts"() {
4974
+ "packages/cli/src/mcp.ts"() {
4975
4975
  "use strict";
4976
4976
  init_auth();
4977
4977
  init_client();
4978
4978
  }
4979
4979
  });
4980
4980
 
4981
- // src/projects.ts
4981
+ // packages/cli/src/projects.ts
4982
4982
  var projects_exports = {};
4983
4983
  __export(projects_exports, {
4984
4984
  projectsCreate: () => projectsCreate,
@@ -5033,14 +5033,14 @@ async function requireNetworkGuard() {
5033
5033
  await requireNetwork2("adep projects");
5034
5034
  }
5035
5035
  var init_projects = __esm({
5036
- "src/projects.ts"() {
5036
+ "packages/cli/src/projects.ts"() {
5037
5037
  "use strict";
5038
5038
  init_auth();
5039
5039
  init_client();
5040
5040
  }
5041
5041
  });
5042
5042
 
5043
- // src/functions.ts
5043
+ // packages/cli/src/functions.ts
5044
5044
  var functions_exports = {};
5045
5045
  __export(functions_exports, {
5046
5046
  functionsDeploy: () => functionsDeploy,
@@ -5115,7 +5115,7 @@ async function projectsListFrom(client) {
5115
5115
  return result.projects;
5116
5116
  }
5117
5117
  var init_functions = __esm({
5118
- "src/functions.ts"() {
5118
+ "packages/cli/src/functions.ts"() {
5119
5119
  "use strict";
5120
5120
  init_auth();
5121
5121
  init_client();
@@ -5123,7 +5123,7 @@ var init_functions = __esm({
5123
5123
  }
5124
5124
  });
5125
5125
 
5126
- // src/hosting.ts
5126
+ // packages/cli/src/hosting.ts
5127
5127
  var hosting_exports = {};
5128
5128
  __export(hosting_exports, {
5129
5129
  hostingConfig: () => hostingConfig,
@@ -5240,7 +5240,7 @@ async function hostingConfig(paths, options) {
5240
5240
  }
5241
5241
  var HOSTING_CONFIG_PATH;
5242
5242
  var init_hosting = __esm({
5243
- "src/hosting.ts"() {
5243
+ "packages/cli/src/hosting.ts"() {
5244
5244
  "use strict";
5245
5245
  init_client();
5246
5246
  init_auth();
@@ -5249,20 +5249,20 @@ var init_hosting = __esm({
5249
5249
  }
5250
5250
  });
5251
5251
 
5252
- // src/cli.ts
5252
+ // packages/cli/src/cli.ts
5253
5253
  init_config();
5254
5254
  import { Command } from "commander";
5255
5255
  import { createRequire as createRequire2 } from "node:module";
5256
5256
 
5257
- // src/output.ts
5257
+ // packages/cli/src/output.ts
5258
5258
  init_auth();
5259
5259
 
5260
- // src/init.ts
5260
+ // packages/cli/src/init.ts
5261
5261
  import { mkdir as mkdir2, stat as stat2, writeFile } from "node:fs/promises";
5262
5262
  import { createRequire } from "node:module";
5263
5263
  import { dirname as dirname2, join, resolve } from "node:path";
5264
5264
 
5265
- // ../../shared/sdk/adep-env.ts
5265
+ // shared/sdk/adep-env.ts
5266
5266
  var ADEP_ENV_DTS = `/**
5267
5267
  * AgentDeploy \u4E91\u51FD\u6570\u5F00\u53D1\u73AF\u5883\u7C7B\u578B\u58F0\u660E\uFF08\u90E8\u7F72\u5305 / adep init \u751F\u6210\uFF0C\u8BF7\u52FF\u624B\u6539\uFF09\u3002
5268
5268
  *
@@ -5538,109 +5538,30 @@ var ADEP_TSCONFIG_JSON = `{
5538
5538
  }
5539
5539
  `;
5540
5540
 
5541
- // src/init.ts
5541
+ // packages/cli/src/init.ts
5542
5542
  init_adep_config();
5543
5543
 
5544
- // ../../shared/sdk/web-project-template.ts
5544
+ // shared/sdk/web-project-template.ts
5545
+ var ADEP_CLIENT_VERSION = "^0.2.0";
5546
+ var ADEP_VITE_PLUGIN_VERSION = "^0.1.0";
5545
5547
  var WEB_DEPENDENCIES = {
5546
- vue: "^3.3.4"
5548
+ vue: "^3.3.4",
5549
+ // @adep/client:浏览器端云函数调用 SDK(IDE-031)。模板默认在 web/src/lib/adep.ts
5550
+ // 封装并由 App.vue 示例调用;运行时 fetch('/api/{name}') 在 dev 态被 @adep/vite-plugin
5551
+ // 拦截(CLI 代理到本地 adep dev / Web IDE 经 postMessage 转发到 IDE 主线程),
5552
+ // 生产态由平台网关路由到已发布云函数。
5553
+ "@adep/client": ADEP_CLIENT_VERSION
5547
5554
  };
5548
5555
  var WEB_DEV_DEPENDENCIES = {
5549
5556
  vite: "^4.4.0",
5550
5557
  "@vitejs/plugin-vue": "^4.3.0",
5551
5558
  // vite 内部动态 import('esbuild-wasm'),必须在 package.json 显式声明才能被 Nodebox 解析
5552
- "esbuild-wasm": "0.18.20"
5559
+ "esbuild-wasm": "0.18.20",
5560
+ // @adep/vite-plugin:云函数 Vite 插件(IDE-030)。dev 时自动注入 /api/* fetch 拦截器
5561
+ // (Web IDE 预览经 postMessage 转发到 IDE 主线程执行云函数草稿),若注入 createDevServer
5562
+ // (CLI 场景)则启动本地 adep dev server 并按 functions_prefix 代理 /{prefix}/* 到云函数。
5563
+ "@adep/vite-plugin": ADEP_VITE_PLUGIN_VERSION
5553
5564
  };
5554
- var WEB_FN_PROXY_SCRIPT = `(function () {
5555
- if (window.__adepFnProxyInstalled) return;
5556
- window.__adepFnProxyInstalled = true;
5557
- var ORIGINAL_FETCH = window.fetch.bind(window);
5558
- var pending = {};
5559
- var nextId = 1;
5560
- var TIMEOUT_MS = 15000;
5561
-
5562
- window.addEventListener("message", function (event) {
5563
- var data = event.data;
5564
- if (!data || data.__adepFnResponse !== true) return;
5565
- var entry = pending[data.id];
5566
- if (!entry) return;
5567
- delete pending[data.id];
5568
- clearTimeout(entry.timer);
5569
- var headers;
5570
- try { headers = new Headers(data.headers || {}); }
5571
- catch (e) { headers = new Headers({ "content-type": "text/plain" }); }
5572
- var body = data.body == null ? null : data.body;
5573
- try {
5574
- entry.resolve(new Response(body, { status: data.status || 200, statusText: "", headers: headers }));
5575
- } catch (e2) {
5576
- entry.resolve(new Response(String(body), { status: data.status || 200, headers: { "content-type": "text/plain" } }));
5577
- }
5578
- });
5579
-
5580
- function readBody(input, init) {
5581
- if (typeof Request !== "undefined" && input instanceof Request) {
5582
- return input.text().catch(function () { return null; });
5583
- }
5584
- var body = init && init.body !== undefined ? init.body : input;
5585
- if (body == null) return Promise.resolve(null);
5586
- if (typeof body === "string") return Promise.resolve(body);
5587
- if (typeof ArrayBuffer !== "undefined" && body instanceof ArrayBuffer) {
5588
- return Promise.resolve(new TextDecoder().decode(body));
5589
- }
5590
- if (typeof Blob !== "undefined" && body instanceof Blob) return body.text();
5591
- if (typeof URLSearchParams !== "undefined" && body instanceof URLSearchParams) {
5592
- return Promise.resolve(body.toString());
5593
- }
5594
- try { return Promise.resolve(String(body)); } catch (e) { return Promise.resolve(null); }
5595
- }
5596
-
5597
- function collectHeaders(input, init) {
5598
- var out = {};
5599
- try { input.headers.forEach(function (v, k) { out[k] = v; }); } catch (e) {}
5600
- if (init && init.headers) {
5601
- try { new Headers(init.headers).forEach(function (v, k) { out[k] = v; }); } catch (e2) {}
5602
- }
5603
- return out;
5604
- }
5605
-
5606
- window.fetch = function (input, init) {
5607
- var urlStr;
5608
- var method;
5609
- var headers = {};
5610
- var isRequest = typeof Request !== "undefined" && input instanceof Request;
5611
- if (isRequest) {
5612
- urlStr = String(input.url);
5613
- method = (init && init.method) || input.method || "GET";
5614
- headers = collectHeaders(input, init);
5615
- } else if (typeof input === "string" || (typeof URL !== "undefined" && input instanceof URL)) {
5616
- urlStr = String(input);
5617
- method = (init && init.method) || "GET";
5618
- try { new Headers(init && init.headers || {}).forEach(function (v, k) { headers[k] = v; }); } catch (e) {}
5619
- } else {
5620
- return ORIGINAL_FETCH(input, init);
5621
- }
5622
- var u;
5623
- try { u = new URL(urlStr, document.baseURI); }
5624
- catch (e) { return ORIGINAL_FETCH(input, init); }
5625
- if (u.pathname.indexOf("/api/") !== 0 && u.pathname !== "/api") {
5626
- return ORIGINAL_FETCH(input, init);
5627
- }
5628
- if (window.parent === window) return ORIGINAL_FETCH(input, init);
5629
- method = (method || "GET").toUpperCase();
5630
- var target = u.pathname + u.search;
5631
- return readBody(input, init).then(function (textBody) {
5632
- return new Promise(function (resolve) {
5633
- var id = nextId++;
5634
- var timer = setTimeout(function () {
5635
- delete pending[id];
5636
- resolve(new Response('{"error":{"code":"FN_PROXY_TIMEOUT","message":"\\u4e91\\u51fd\\u6570\\u6267\\u884c\\u8d85\\u65f6"}}', { status: 504, headers: { "content-type": "application/json" } }));
5637
- }, TIMEOUT_MS);
5638
- pending[id] = { resolve: resolve, timer: timer };
5639
- window.parent.postMessage({ __adepFnRequest: true, id: id, method: method, url: target, headers: headers, body: textBody }, "*");
5640
- });
5641
- });
5642
- };
5643
- })();`;
5644
5565
  function webProjectFiles() {
5645
5566
  return [
5646
5567
  {
@@ -5679,37 +5600,17 @@ function webProjectFiles() {
5679
5600
  {
5680
5601
  path: "vite.config.ts",
5681
5602
  content: [
5682
- `// web/vite.config.ts \u2014\u2014 \u6807\u51C6 Vite \u914D\u7F6E\uFF08Vue 3 \u63D2\u4EF6\uFF09+ Web IDE \u9884\u89C8\u4E91\u51FD\u6570\u4EE3\u7406\u3002`,
5683
- `// \u4E0B\u9762\u7684 adepFunctionsPlugin \u4EC5\u5728 Nodebox \u771F vite \u9884\u89C8\u4E0B\u751F\u6548\uFF1Adev \u65F6\u628A fetch \u62E6\u622A\u5668\u6CE8\u5165`,
5684
- `// index.html\uFF0C\u9884\u89C8\u91CC fetch('/api/*') \u7ECF postMessage \u8F6C\u53D1\u5230 IDE \u4E3B\u7EBF\u7A0B\u6267\u884C\u5F53\u524D\u9879\u76EE\u4E91\u51FD\u6570\u8349\u7A3F\u3002`,
5685
- `// \uFF08\u6D4F\u89C8\u5668\u5185 vite-dev \u9884\u89C8\u7531 @adep/web-container \u5728 buildDocument \u91CC\u6CE8\u5165\u540C\u4E00\u4EFD\u811A\u672C\u3002\uFF09`,
5603
+ `// web/vite.config.ts \u2014\u2014 \u6807\u51C6 Vite \u914D\u7F6E\uFF08Vue 3 + @adep/vite-plugin \u4E91\u51FD\u6570\u4EE3\u7406\uFF09\u3002`,
5604
+ `// @adep/vite-plugin \u5728 dev \u65F6\uFF1A`,
5605
+ `// 1. \u6CE8\u5165 /api/* fetch \u62E6\u622A\u5668\uFF08Web IDE \u9884\u89C8\u7ECF postMessage \u8F6C\u53D1\u5230 IDE \u4E3B\u7EBF\u7A0B\u6267\u884C\u4E91\u51FD\u6570\u8349\u7A3F\uFF09\uFF1B`,
5606
+ `// 2. \u82E5\u6CE8\u5165 createDevServer\uFF08CLI \u573A\u666F\uFF09\uFF0C\u542F\u52A8\u672C\u5730 adep dev \u5E76\u4EE3\u7406 /api/* \u5230\u4E91\u51FD\u6570\u3002`,
5607
+ `// \u6D4F\u89C8\u5668\u5185 vite-dev \u9884\u89C8\uFF08@adep/web-container buildDocument\uFF09\u6CE8\u5165\u540C\u4E00\u4EFD\u811A\u672C\uFF0C\u65E0\u9700\u5728\u6B64\u5185\u8054\u3002`,
5686
5608
  `import { defineConfig } from 'vite'`,
5687
5609
  `import vue from '@vitejs/plugin-vue'`,
5688
- ``,
5689
- `// \u6CE8\u610F\uFF1AFN_PROXY_SCRIPT \u4E0E packages/web-container/src/function-fetch-proxy.ts \u7684`,
5690
- `// FN_FETCH_INTERCEPTOR_SCRIPT \u5FC5\u987B\u9010\u5B57\u4E00\u81F4\uFF08\u4E24\u5904\u590D\u5236\u7C98\u8D34\uFF0C\u6539\u62E6\u622A\u5668\u52A1\u5FC5\u540C\u6B65\uFF09\u3002`,
5691
- `const FN_PROXY_SCRIPT = \`${WEB_FN_PROXY_SCRIPT}\``,
5692
- ``,
5693
- `const adepFunctionsPlugin = {`,
5694
- ` name: 'adep-fn-proxy',`,
5695
- ` configureServer(server) {`,
5696
- ` server.middlewares.use((req, res, next) => {`,
5697
- ` const pathname = (req.url ?? '').split('?')[0]`,
5698
- ` if (pathname === '/@adep/fn-proxy.js') {`,
5699
- ` res.setHeader('content-type', 'application/javascript; charset=utf-8')`,
5700
- ` res.end(FN_PROXY_SCRIPT)`,
5701
- ` return`,
5702
- ` }`,
5703
- ` next()`,
5704
- ` })`,
5705
- ` },`,
5706
- ` transformIndexHtml(html) {`,
5707
- ` return html.replace('</head>', '<script src="/@adep/fn-proxy.js"></script></head>')`,
5708
- ` },`,
5709
- `}`,
5610
+ `import { adepPlugin } from '@adep/vite-plugin'`,
5710
5611
  ``,
5711
5612
  `export default defineConfig({`,
5712
- ` plugins: [vue(), adepFunctionsPlugin],`,
5613
+ ` plugins: [vue(), adepPlugin()],`,
5713
5614
  `})`,
5714
5615
  ``
5715
5616
  ].join("\n")
@@ -5726,14 +5627,45 @@ function webProjectFiles() {
5726
5627
  ``
5727
5628
  ].join("\n")
5728
5629
  },
5630
+ {
5631
+ path: "src/lib/adep.ts",
5632
+ content: [
5633
+ `// web/src/lib/adep.ts \u2014\u2014 @adep/client \u6D4F\u89C8\u5668\u7AEF\u5C01\u88C5\uFF08IDE-032\uFF09\u3002`,
5634
+ `// \u5F00\u53D1\u6001\uFF08vite dev + @adep/vite-plugin\uFF09\uFF1AinvokeFunction \u8D70 fetch('/api/*')\uFF0C`,
5635
+ `// \u7531 vite \u63D2\u4EF6\u62E6\u622A\u5230\u672C\u5730\u4E91\u51FD\u6570\u6267\u884C\uFF08CLI\uFF09\u6216\u7ECF postMessage \u8F6C\u53D1\u5230 IDE \u4E3B\u7EBF\u7A0B\uFF08Web IDE\uFF09\u3002`,
5636
+ `// \u751F\u4EA7\u6001\uFF08\u5DF2\u90E8\u7F72\u7AD9\u70B9\uFF09\uFF1Afetch('/api/*') \u7531\u5E73\u53F0\u7F51\u5173\u8DEF\u7531\u5230\u5DF2\u53D1\u5E03\u4E91\u51FD\u6570\u3002`,
5637
+ `import { createAdepClient } from '@adep/client'`,
5638
+ ``,
5639
+ `export const adep = createAdepClient()`,
5640
+ ``,
5641
+ `export const { invokeFunction } = adep`,
5642
+ ``
5643
+ ].join("\n")
5644
+ },
5729
5645
  {
5730
5646
  path: "src/App.vue",
5731
5647
  content: [
5732
5648
  `<script setup lang="ts">`,
5733
5649
  `import { ref } from 'vue'`,
5650
+ `import { invokeFunction } from './lib/adep'`,
5734
5651
  ``,
5735
5652
  `const title = ref('adep web')`,
5736
5653
  `const clicks = ref(0)`,
5654
+ `const fnResult = ref<string>('')`,
5655
+ `const fnLoading = ref(false)`,
5656
+ ``,
5657
+ `async function callHello() {`,
5658
+ ` fnLoading.value = true`,
5659
+ ` fnResult.value = ''`,
5660
+ ` try {`,
5661
+ ` const result = await invokeFunction<{ message: string }>('hello')`,
5662
+ ` fnResult.value = result.message`,
5663
+ ` } catch (err) {`,
5664
+ ` fnResult.value = \`\u8C03\u7528\u5931\u8D25\uFF1A\${err instanceof Error ? err.message : String(err)}\``,
5665
+ ` } finally {`,
5666
+ ` fnLoading.value = false`,
5667
+ ` }`,
5668
+ `}`,
5737
5669
  `</script>`,
5738
5670
  ``,
5739
5671
  `<template>`,
@@ -5741,6 +5673,12 @@ function webProjectFiles() {
5741
5673
  ` <h1>{{ title }}</h1>`,
5742
5674
  ` <p>\u5728 web/src/App.vue \u91CC\u7F16\u8F91\uFF0C\u4FDD\u5B58\u540E\u9884\u89C8\u81EA\u52A8\u5237\u65B0\uFF08HMR\uFF09\u3002</p>`,
5743
5675
  ` <button @click="clicks++">clicks: {{ clicks }}</button>`,
5676
+ ` <div style="margin-top: 16px;">`,
5677
+ ` <button @click="callHello" :disabled="fnLoading">`,
5678
+ ` {{ fnLoading ? '\u8C03\u7528\u4E2D\u2026' : '\u8C03\u7528 hello \u51FD\u6570' }}`,
5679
+ ` </button>`,
5680
+ ` <p v-if="fnResult" style="margin-top: 8px; color: #059669;">\u7ED3\u679C\uFF1A{{ fnResult }}</p>`,
5681
+ ` </div>`,
5744
5682
  ` </main>`,
5745
5683
  `</template>`,
5746
5684
  ``,
@@ -5756,6 +5694,10 @@ function webProjectFiles() {
5756
5694
  ` background: #eef2ff;`,
5757
5695
  ` cursor: pointer;`,
5758
5696
  `}`,
5697
+ `button:disabled {`,
5698
+ ` opacity: 0.6;`,
5699
+ ` cursor: not-allowed;`,
5700
+ `}`,
5759
5701
  `</style>`,
5760
5702
  ``
5761
5703
  ].join("\n")
@@ -5766,7 +5708,7 @@ function webSrcFiles() {
5766
5708
  return webProjectFiles().filter((file) => file.path.startsWith("src/"));
5767
5709
  }
5768
5710
 
5769
- // src/init.ts
5711
+ // packages/cli/src/init.ts
5770
5712
  var TEMPLATE_NAMES = ["empty", "function", "fullstack"];
5771
5713
  var InitError = class extends Error {
5772
5714
  constructor(code, message) {
@@ -5783,7 +5725,7 @@ var ADEP_CONFIG_HEADER = `// adep \u9879\u76EE\u914D\u7F6E\uFF1ACLI\uFF08dev / s
5783
5725
  // - functionsDir\uFF1A\u4E91\u51FD\u6570\u76EE\u5F55\uFF08dev / serve / deploy \u8BFB\u53D6\uFF0C\u7F3A\u7701 functions/\uFF09
5784
5726
  // - functions_prefix\uFF1A\u4E91\u51FD\u6570\u8DEF\u7531\u524D\u7F00\uFF0C**\u9ED8\u8BA4 /api**\uFF08\u4E0E\u7EBF\u4E0A\u51FD\u6570\u8DEF\u7531 /api/{fn} \u5BF9\u9F50\uFF09\u3002
5785
5727
  // dev \u8BBF\u95EE\u8DEF\u5F84\u4E3A /{prefix}/{fnName}\uFF08\u5982 /api/hello\uFF09\uFF1Bserve \u4E3A /api/{prefix}/{fnName}\u3002
5786
- // vite \u63D2\u4EF6\uFF08vite.config.ts \u7684 adep()\uFF09\u6309\u6B64\u524D\u7F00\u628A\u524D\u7AEF /{prefix}/* \u8BF7\u6C42\u4EE3\u7406\u5230\u4E91\u51FD\u6570\u3002
5728
+ // vite \u63D2\u4EF6\uFF08vite.config.ts \u7684 adepPlugin()\uFF09\u6309\u6B64\u524D\u7F00\u628A\u524D\u7AEF /{prefix}/* \u8BF7\u6C42\u4EE3\u7406\u5230\u4E91\u51FD\u6570\u3002
5787
5729
  // \u8FB9\u754C\uFF1A\u53EA\u5F71\u54CD\u672C\u5730 HTTP \u5165\u53E3\u8DEF\u7531\uFF1B\u51FD\u6570\u4E92\u8C03\uFF08ctx.cloud.invoke\uFF09\u4E0E\u7EBF\u4E0A\u90E8\u7F72\u8DEF\u5F84\u6309\u51FD\u6570\u540D\uFF0C\u4E0D\u53D7\u5F71\u54CD\u3002`;
5788
5730
  var PACKAGE_JSON = (name, template) => {
5789
5731
  const pkg = {
@@ -5832,11 +5774,12 @@ AgentDeploy \u5168\u6808\u9879\u76EE\uFF08\u6A21\u677F\uFF1A${template}\uFF09\u3
5832
5774
  ## \u76EE\u5F55\u7ED3\u6784
5833
5775
 
5834
5776
  - \`package.json\`\uFF1A\u5E94\u7528\u5B9A\u4E49\uFF08@adep/cli + \u524D\u7AEF\u4F9D\u8D56\u540C\u6839\u58F0\u660E\uFF1Bvite \u5DE5\u7A0B\u6839\u5728\u9879\u76EE\u6839\u76EE\u5F55\uFF09
5835
- - \`vite.config.ts\`\uFF1Avite \u914D\u7F6E\uFF08vue \u63D2\u4EF6 + \`adep()\` \u4E91\u51FD\u6570\u63D2\u4EF6\uFF1Bbuild.outDir = site/\uFF09
5777
+ - \`vite.config.ts\`\uFF1Avite \u914D\u7F6E\uFF08vue \u63D2\u4EF6 + \`adepPlugin()\` \u4E91\u51FD\u6570\u63D2\u4EF6\uFF0C\u6765\u81EA @adep/vite-plugin\uFF1Bbuild.outDir = site/\uFF09
5836
5778
  - \`index.html\`\uFF1Avite \u5165\u53E3\uFF08\u5F15\u7528 \`/web/src/main.ts\`\uFF09
5837
5779
  - \`adep.config.ts\`\uFF1A\u9879\u76EE\u914D\u7F6E\uFF08name / template / functionsDir / functions_prefix\uFF0C\u9ED8\u8BA4 /api\uFF09
5838
5780
  - \`functions/\`\uFF1A\u4E91\u51FD\u6570\u76EE\u5F55\uFF08\u6BCF\u4E2A\u6587\u4EF6 = \u4E00\u4E2A\u51FD\u6570\uFF0C\u9ED8\u8BA4\u5BFC\u51FA \`(ctx: AdepContext) => Response\`\uFF09
5839
5781
  - \`web/src/\`\uFF1A\u524D\u7AEF\u6E90\u7801\uFF08Vue 3\uFF1B\u4E0E Web IDE \u7684 \`web/\` \u5DE5\u7A0B\u5171\u7528\u540C\u4E00\u4EFD \`src/\`\uFF09
5782
+ - \`web/src/lib/adep.ts\`\uFF1A@adep/client \u6D4F\u89C8\u5668\u7AEF\u5C01\u88C5\uFF08\`invokeFunction('hello', args)\` \u8C03\u7528\u4E91\u51FD\u6570\uFF09
5840
5783
  - \`site/\`\uFF1A\`vite build\` \u7684\u524D\u7AEF\u6784\u5EFA\u4EA7\u7269\uFF08\u7AD9\u70B9\u6258\u7BA1\u76EE\u5F55\uFF0C\`adep hosting deploy site\` \u4E0A\u4F20\uFF1B\u5DF2 gitignore\uFF09
5841
5784
  - \`database/schema.sql\`\uFF1A\u6570\u636E\u5E93\u7ED3\u6784\uFF08\u8868\u7531\u5E73\u53F0\u63A7\u5236\u53F0 / \`adep db\` \u7BA1\u7406\uFF0C\u6B64\u5904\u4E3A\u7ED3\u6784\u8BB0\u5F55\uFF09
5842
5785
  - \`tsconfig.json\`\uFF1ATypeScript \u7F16\u8F91\u5668\u914D\u7F6E\uFF08strict + noEmit\uFF09
@@ -5850,6 +5793,24 @@ AgentDeploy \u5168\u6808\u9879\u76EE\uFF08\u6A21\u677F\uFF1A${template}\uFF09\u3
5850
5793
  \`functions_prefix: '/api'\`\uFF0C\u56E0\u6B64\u524D\u7AEF \`fetch('/api/hello')\` \u5373\u8C03\u7528 \`functions/hello.ts\`\uFF0C
5851
5794
  \u4E0E\u7EBF\u4E0A\u90E8\u7F72\u540E\u7684\u51FD\u6570\u8DEF\u7531 \`/api/{fn}\` \u4E00\u81F4\u3002
5852
5795
 
5796
+ ## \u4ECE\u524D\u7AEF\u8C03\u7528\u4E91\u51FD\u6570\uFF08@adep/client\uFF09
5797
+
5798
+ \u6A21\u677F\u9884\u7F6E \`@adep/client\` SDK\uFF0C\`web/src/lib/adep.ts\` \u5DF2\u5C01\u88C5\u597D \`invokeFunction\`\uFF1A
5799
+
5800
+ \`\`\`ts
5801
+ import { invokeFunction } from './lib/adep'
5802
+
5803
+ // POST /api/hello\uFF0Cargs \u4F5C\u4E3A JSON body \u4F20\u7ED9\u51FD\u6570
5804
+ const result = await invokeFunction<{ message: string }>('hello', { name: 'world' })
5805
+ console.log(result.message)
5806
+ \`\`\`
5807
+
5808
+ - **\u5F00\u53D1\u6001**\uFF1A\`invokeFunction\` \u8D70 \`fetch('/api/*')\`\uFF0C\u7531 \`@adep/vite-plugin\` \u4EE3\u7406\u5230\u672C\u5730
5809
+ \`adep dev\`\uFF08CLI\uFF09\u6216\u7ECF postMessage \u8F6C\u53D1\u5230 IDE \u4E3B\u7EBF\u7A0B\u6267\u884C\u4E91\u51FD\u6570\u8349\u7A3F\uFF08Web IDE\uFF09\u3002
5810
+ - **\u751F\u4EA7\u6001**\uFF1A\`fetch('/api/*')\` \u7531\u5E73\u53F0\u7F51\u5173\u8DEF\u7531\u5230\u5DF2\u53D1\u5E03\u4E91\u51FD\u6570\uFF08\`adep deploy\` \u540E\u751F\u6548\uFF09\u3002
5811
+ - \u9519\u8BEF\u5904\u7406\uFF1A\u975E 2xx \u629B \`FunctionInvokeError\`\uFF08\u542B status / code / body\uFF09\uFF0C\u8D85\u65F6\u629B
5812
+ \`FunctionTimeoutError\`\u3002\u8BE6\u89C1\u6587\u6863\u7AD9\u300CSDK \u2192 \u6D4F\u89C8\u5668\u7AEF SDK\u300D\u3002
5813
+
5853
5814
  ## \u4E91\u51FD\u6570\u8DEF\u7531\u524D\u7F00\uFF08functions_prefix\uFF09
5854
5815
 
5855
5816
  \`adep.config.ts\` \u7684 \`functions_prefix\`\uFF08\u9ED8\u8BA4 \`/api\`\uFF09\uFF1A
@@ -5914,8 +5875,9 @@ var INDEX_HTML = `<!doctype html>
5914
5875
  </html>
5915
5876
  `;
5916
5877
  var VITE_CONFIG = `// vite.config.ts \u2014\u2014 \u9879\u76EE\u6839 vite \u914D\u7F6E\uFF08CLI-014 \u5168\u6808\u5F00\u53D1\u4F53\u9A8C\uFF09\u3002
5917
- // adep() \u662F @adep/cli \u7684\u4E91\u51FD\u6570 vite \u63D2\u4EF6\uFF1A\u5185\u7F6E adep dev server \u5E76\u6309 adep.config.ts \u7684
5918
- // functions_prefix\uFF08\u9ED8\u8BA4 /api\uFF09\u628A /api/* \u8BF7\u6C42\u4EE3\u7406\u5230\u4E91\u51FD\u6570\u2014\u2014vite dev \u5373\u53EF\u8C03\u8BD5\u524D\u7AEF + \u51FD\u6570\u3002
5878
+ // adep() \u662F @adep/cli/vite \u7684\u4E91\u51FD\u6570 vite \u63D2\u4EF6\uFF1A\u5185\u7F6E adep dev server \u5E76\u6309
5879
+ // adep.config.ts \u7684 functions_prefix\uFF08\u9ED8\u8BA4 /api\uFF09\u628A /api/* \u8BF7\u6C42\u4EE3\u7406\u5230\u4E91\u51FD\u6570\u2014\u2014
5880
+ // vite dev \u5373\u53EF\u8C03\u8BD5\u524D\u7AEF + \u51FD\u6570\uFF08curl http://localhost:5173/api/hello\uFF09\u3002
5919
5881
  import { defineConfig } from 'vite'
5920
5882
  import vue from '@vitejs/plugin-vue'
5921
5883
  import adep from '@adep/cli/vite'
@@ -5995,7 +5957,7 @@ async function initProject(cwd, name, template) {
5995
5957
  return { projectPath, files: files.map((file) => file.path) };
5996
5958
  }
5997
5959
 
5998
- // src/output.ts
5960
+ // packages/cli/src/output.ts
5999
5961
  function isCommandError(error) {
6000
5962
  return error instanceof CliError || error instanceof InitError;
6001
5963
  }
@@ -6076,7 +6038,7 @@ function formatSeconds(seconds) {
6076
6038
  return `${Math.max(0.1, Math.round(seconds * 10) / 10)}s`;
6077
6039
  }
6078
6040
 
6079
- // src/commands/context.ts
6041
+ // packages/cli/src/commands/context.ts
6080
6042
  function createCliContext(deps) {
6081
6043
  const { output, paths, cwd, json } = deps;
6082
6044
  return {
@@ -6087,7 +6049,7 @@ function createCliContext(deps) {
6087
6049
  };
6088
6050
  }
6089
6051
 
6090
- // src/commands/auth.ts
6052
+ // packages/cli/src/commands/auth.ts
6091
6053
  init_auth();
6092
6054
  init_config();
6093
6055
  function registerAuth(program2, ctx) {
@@ -6134,10 +6096,10 @@ function registerAuth(program2, ctx) {
6134
6096
  });
6135
6097
  }
6136
6098
 
6137
- // src/commands/init.ts
6099
+ // packages/cli/src/commands/init.ts
6138
6100
  init_config();
6139
6101
 
6140
- // src/templates.ts
6102
+ // packages/cli/src/templates.ts
6141
6103
  init_auth();
6142
6104
  async function fetchTemplates(server) {
6143
6105
  let response;
@@ -6164,7 +6126,7 @@ async function fetchTemplates(server) {
6164
6126
  return templates ?? [];
6165
6127
  }
6166
6128
 
6167
- // src/commands/init.ts
6129
+ // packages/cli/src/commands/init.ts
6168
6130
  function registerInit(program2, ctx) {
6169
6131
  program2.command("init").description("\u521D\u59CB\u5316\u9879\u76EE\uFF08\u6A21\u677F\uFF1Aempty / function / fullstack\uFF09\uFF0C\u6216 --list \u4ECE\u5E73\u53F0\u53D6\u6A21\u677F\u6E05\u5355").argument("[name]", "\u9879\u76EE\u76EE\u5F55\u540D\uFF08\u914D\u5408 --list \u65F6\u53EF\u7701\u7565\uFF09").option("-t, --template <template>", "\u6A21\u677F\uFF1Aempty | function | fullstack", "fullstack").option("-l, --list", "\u4ECE\u5E73\u53F0 /api/v1/templates \u5217\u51FA\u53EF\u7528\u6A21\u677F\uFF08\u4E0D\u811A\u624B\u67B6\uFF09", false).option(
6170
6132
  "-s, --server <url>",
@@ -6201,7 +6163,7 @@ function registerInit(program2, ctx) {
6201
6163
  );
6202
6164
  }
6203
6165
 
6204
- // src/commands/dev.ts
6166
+ // packages/cli/src/commands/dev.ts
6205
6167
  function registerDevServers(program2, ctx) {
6206
6168
  program2.command("dev").description("\u672C\u5730\u8C03\u8BD5\uFF1A\u76D1\u542C functions/ \u70ED\u91CD\u8F7D\uFF0Chttp://localhost:<port>/<fnName>").option("-p, --port <port>", "\u76D1\u542C\u7AEF\u53E3\uFF08\u7F3A\u7701 8787\uFF09", "8787").action(async (flags) => {
6207
6169
  const command = ctx.io("dev");
@@ -6239,7 +6201,7 @@ function registerDevServers(program2, ctx) {
6239
6201
  });
6240
6202
  }
6241
6203
 
6242
- // src/commands/publish.ts
6204
+ // packages/cli/src/commands/publish.ts
6243
6205
  init_auth();
6244
6206
  init_client();
6245
6207
  init_deploy();
@@ -6355,7 +6317,7 @@ function registerPublish(program2, ctx) {
6355
6317
  });
6356
6318
  }
6357
6319
 
6358
- // src/commands/deploy.ts
6320
+ // packages/cli/src/commands/deploy.ts
6359
6321
  async function runDeploy(paths, io, cwd, slug, dir) {
6360
6322
  const { deploy: deploy2 } = await Promise.resolve().then(() => (init_deploy(), deploy_exports));
6361
6323
  const startedAt = Date.now();
@@ -6398,7 +6360,7 @@ function registerDeploy(program2, ctx) {
6398
6360
  });
6399
6361
  }
6400
6362
 
6401
- // src/commands/export.ts
6363
+ // packages/cli/src/commands/export.ts
6402
6364
  function registerExport(program2, ctx) {
6403
6365
  program2.command("export").description("\u5BFC\u51FA\u81EA\u6258\u7BA1\u90E8\u7F72\u5305\uFF1A\u89E6\u53D1\u957F\u4EFB\u52A1 \u2192 \u8F6E\u8BE2\u8FDB\u5EA6 \u2192 \u4E0B\u8F7D zip \u2192 manifest \u9010\u9879\u81EA\u68C0").option("-p, --project <slug>", "\u76EE\u6807\u5E73\u53F0\u9879\u76EE slug\uFF08\u7F3A\u7701\u53D6 adep.config.ts \u7684 name\uFF09").option("--with-data", "\u5305\u542B\u6570\u636E\u5E93\u884C\u6570\u636E\uFF08\u7F3A\u7701\u4EC5 schema\uFF09").option("--with-source", "[\u5DF2\u5E9F\u5F03] \u542B\u6E90\u7801\u5DF2\u4E3A\u9ED8\u8BA4\u884C\u4E3A\uFF1B\u4FDD\u7559\u4E0D\u62A5\u9519\uFF0C\u4EC5\u63D0\u793A\uFF0C\u5C06\u5728\u672A\u6765\u7248\u672C\u79FB\u9664").option(
6404
6366
  "--without-source",
@@ -6436,7 +6398,7 @@ function registerExport(program2, ctx) {
6436
6398
  );
6437
6399
  }
6438
6400
 
6439
- // src/commands/db.ts
6401
+ // packages/cli/src/commands/db.ts
6440
6402
  function registerDb(program2, ctx) {
6441
6403
  const db = program2.command("db").description("\u9879\u76EE\u6570\u636E\u5E93\u7EF4\u62A4\uFF1A\u542F\u52A8 / \u72B6\u6001 / \u505C\u6B62 / SQL / \u5FEB\u7167 / \u56DE\u6EDA").option("-p, --project <slug>", "\u76EE\u6807\u5E73\u53F0\u9879\u76EE slug\uFF08\u7F3A\u7701\u53D6 adep.config.ts \u7684 name\uFF09");
6442
6404
  db.command("start").description("\u542F\u52A8\u9879\u76EE\u6570\u636E\u5E93\uFF08\u5DF2\u5B58\u5728\u5219\u91CD\u65B0\u6FC0\u6D3B\uFF0C\u4E0D\u91CD\u5EFA\u6570\u636E\uFF09").option("-p, --project <slug>", "\u76EE\u6807\u5E73\u53F0\u9879\u76EE slug\uFF08\u7F3A\u7701\u53D6 adep.config.ts \u7684 name\uFF09").action(async (flags) => {
@@ -6565,7 +6527,7 @@ function registerDb(program2, ctx) {
6565
6527
  });
6566
6528
  }
6567
6529
 
6568
- // src/commands/storage.ts
6530
+ // packages/cli/src/commands/storage.ts
6569
6531
  function registerStorage(program2, ctx) {
6570
6532
  const storage = program2.command("storage").description("\u4E91\u5B58\u50A8 / \u6587\u4EF6\u5B58\u50A8\uFF1A\u4E0A\u4F20 / \u4E0B\u8F7D / \u5217\u8868 / \u5220\u9664").option("-p, --project <slug>", "\u76EE\u6807\u5E73\u53F0\u9879\u76EE slug\uFF08\u7F3A\u7701\u53D6 adep.config.ts \u7684 name\uFF09");
6571
6533
  storage.command("upload").description("\u4E0A\u4F20\u5355\u4E2A\u6587\u4EF6\uFF08multipart\uFF1B\u5355\u6587\u4EF6 \u2264 50MB\uFF09").argument("<file>", "\u672C\u5730\u6587\u4EF6\u8DEF\u5F84").requiredOption("--path <remote-path>", "\u6876\u5185\u76EE\u6807\u8DEF\u5F84\uFF08\u5982 avatars/a.png\uFF09").option(
@@ -6639,7 +6601,7 @@ function registerStorage(program2, ctx) {
6639
6601
  });
6640
6602
  }
6641
6603
 
6642
- // src/commands/doctor.ts
6604
+ // packages/cli/src/commands/doctor.ts
6643
6605
  function registerDoctor(program2, ctx) {
6644
6606
  program2.command("doctor").description("\u73AF\u5883\u81EA\u68C0\uFF1A\u51ED\u636E\u72B6\u6001 / \u5E73\u53F0\u53EF\u8FBE\u6027 / \u79BB\u7EBF\u53EF\u7528\u8303\u56F4\uFF08\u8865\u9F50\u65AD\u7F51\u6587\u6848\u5F15\u7528\u7684\u60AC\u7A7A\u547D\u4EE4\uFF09").action(async () => {
6645
6607
  const command = ctx.io("doctor");
@@ -6651,7 +6613,7 @@ function registerDoctor(program2, ctx) {
6651
6613
  });
6652
6614
  }
6653
6615
 
6654
- // src/commands/mcp.ts
6616
+ // packages/cli/src/commands/mcp.ts
6655
6617
  function registerMcp(program2, ctx) {
6656
6618
  const mcp = program2.command("mcp").description("MCP Tool\uFF1A\u628A\u4E91\u51FD\u6570\u53D1\u5E03\u4E3A\u5DE5\u5177 / \u53D6\u6D88\u53D1\u5E03 / \u5217\u51FA");
6657
6619
  mcp.command("publish").description("\u53D1\u5E03\u4E91\u51FD\u6570\u4E3A\u9879\u76EE MCP Tool\uFF08Tool \u540D\u7F3A\u7701\u53D6\u51FD\u6570\u540D\uFF0C--name \u53EF\u8986\u76D6\uFF09").requiredOption("--function <fn>", "\u8981\u53D1\u5E03\u7684\u51FD\u6570\u540D").option("--name <tool>", "\u6CE8\u518C\u7684 Tool \u540D\uFF08\u7F3A\u7701\u53D6\u51FD\u6570\u540D\uFF09").option(
@@ -6714,7 +6676,7 @@ function registerMcp(program2, ctx) {
6714
6676
  });
6715
6677
  }
6716
6678
 
6717
- // src/commands/projects.ts
6679
+ // packages/cli/src/commands/projects.ts
6718
6680
  function registerProjects(program2, ctx) {
6719
6681
  const projects = program2.command("projects").description("\u9879\u76EE\uFF1A\u521B\u5EFA / \u5217\u51FA / \u67E5\u770B\uFF08\u5B50\u57DF\u5730\u5740\u7531\u5E73\u53F0\u56DE\u663E\uFF0C\u4E0D\u5728 CLI \u4FA7\u62FC\uFF09");
6720
6682
  projects.command("create").description("\u521B\u5EFA\u9879\u76EE\u5E76\u8F93\u51FA\u5B50\u57DF\u5730\u5740").argument("<slug>", "\u9879\u76EE slug\uFF08\u5168\u5C40\u552F\u4E00\uFF0C\u5373\u5B50\u57DF\u540D\uFF09").option("-n, --name <name>", "\u9879\u76EE\u5C55\u793A\u540D\uFF08\u7F3A\u7701\u53D6 slug\uFF09").option("--space <spaceId>", "\u5F52\u5C5E\u7A7A\u95F4\uFF08\u7F3A\u7701\u4E2A\u4EBA\u7A7A\u95F4\uFF09").action(async (slug, flags) => {
@@ -6754,7 +6716,7 @@ function registerProjects(program2, ctx) {
6754
6716
  });
6755
6717
  }
6756
6718
 
6757
- // src/commands/functions.ts
6719
+ // packages/cli/src/commands/functions.ts
6758
6720
  init_auth();
6759
6721
  function registerFunctions(program2, ctx) {
6760
6722
  const functions = program2.command("functions").description("\u4E91\u51FD\u6570\uFF1A\u90E8\u7F72\uFF08\u53EF\u6307\u5B9A\u76EE\u5F55\uFF09/ \u5217\u51FA / \u67E5\u65E5\u5FD7");
@@ -6809,7 +6771,7 @@ function registerFunctions(program2, ctx) {
6809
6771
  });
6810
6772
  }
6811
6773
 
6812
- // src/commands/hosting.ts
6774
+ // packages/cli/src/commands/hosting.ts
6813
6775
  init_auth();
6814
6776
  function parseBool(raw) {
6815
6777
  if (raw === void 0) return void 0;
@@ -6895,7 +6857,7 @@ function registerHosting(program2, ctx) {
6895
6857
  });
6896
6858
  }
6897
6859
 
6898
- // src/cli.ts
6860
+ // packages/cli/src/cli.ts
6899
6861
  var requireJson2 = createRequire2(import.meta.url);
6900
6862
  var APP_VERSION = requireJson2("../package.json").version;
6901
6863
  function buildProgram(options = {}) {
@@ -6924,6 +6886,6 @@ function buildProgram(options = {}) {
6924
6886
  return program2;
6925
6887
  }
6926
6888
 
6927
- // src/index.ts
6889
+ // packages/cli/src/index.ts
6928
6890
  var program = buildProgram();
6929
6891
  await program.parseAsync(process.argv);