@topolo/cli 0.6.2 → 0.6.4

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.
@@ -288,6 +288,7 @@ function emitWranglerToml(targetName, target) {
288
288
  lines.push(`directory = ${tomlString(target.assets.directory || target.outputDir || 'dist')}`);
289
289
  if (target.assets.binding) lines.push(`binding = ${tomlString(target.assets.binding)}`);
290
290
  else lines.push(`binding = "ASSETS"`);
291
+ if (target.assets.htmlHandling) lines.push(`html_handling = ${tomlString(target.assets.htmlHandling)}`);
291
292
  if (target.assets.notFoundHandling) lines.push(`not_found_handling = ${tomlString(target.assets.notFoundHandling)}`);
292
293
  if (target.assets.runWorkerFirst !== undefined) lines.push(`run_worker_first = ${tomlString(target.assets.runWorkerFirst)}`);
293
294
  lines.push('');
@@ -390,6 +391,7 @@ function emitWranglerToml(targetName, target) {
390
391
  lines.push(`[env.${env}.assets]`);
391
392
  lines.push(`directory = ${tomlString(target.assets.directory || target.outputDir || 'dist')}`);
392
393
  lines.push(`binding = ${tomlString(target.assets.binding || 'ASSETS')}`);
394
+ if (target.assets.htmlHandling) lines.push(`html_handling = ${tomlString(target.assets.htmlHandling)}`);
393
395
  if (target.assets.notFoundHandling) lines.push(`not_found_handling = ${tomlString(target.assets.notFoundHandling)}`);
394
396
  if (target.assets.runWorkerFirst !== undefined) lines.push(`run_worker_first = ${tomlString(target.assets.runWorkerFirst)}`);
395
397
  lines.push('');
@@ -572,6 +574,20 @@ function emitBindings(lines, bindings, env) {
572
574
  lines.push(`service = ${tomlString(service)}`);
573
575
  lines.push('');
574
576
  }
577
+ // Cloudflare Secrets Store bindings — the durable data-at-rest key escrow
578
+ // (docs/data-at-rest-encryption-architecture.md). Store ids differ per env
579
+ // (per-env Cloudflare accounts), so the shape mirrors d1/kv: per-env config
580
+ // objects under the binding.
581
+ for (const s of bindings.secretsStore || []) {
582
+ if (!bindingAppliesToEnv(s, env)) continue;
583
+ const cfg = s[env];
584
+ if (!cfg) continue;
585
+ lines.push(`[[env.${env}.secrets_store_secrets]]`);
586
+ lines.push(`binding = ${tomlString(s.binding)}`);
587
+ lines.push(`store_id = ${tomlString(cfg.storeId)}`);
588
+ lines.push(`secret_name = ${tomlString(cfg.secretName)}`);
589
+ lines.push('');
590
+ }
575
591
  for (const a of bindings.ai || []) {
576
592
  lines.push(`[env.${env}.ai]`);
577
593
  lines.push(`binding = ${tomlString(a.binding)}`);
@@ -595,7 +611,7 @@ function emitCloudcontrol() {
595
611
  deployableTargets.flatMap((target) => target.environments || ENVS),
596
612
  );
597
613
  cc.deploy_method = deployableTargets.length ? 'wrangler' : 'none';
598
- cc.ci_provider = existing.ci_provider || 'github_actions';
614
+ cc.ci_provider = existing.ci_provider || 'local';
599
615
  cc.quality_policy = existing.quality_policy || {
600
616
  profile: 'first_party_app',
601
617
  coverage: { mode: 'ratchet' },
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ import { platform as platform2 } from "os";
9
9
  import { createInterface } from "readline/promises";
10
10
  import { stdin as input } from "process";
11
11
 
12
- // node_modules/@topolo/sdk/dist/index.js
12
+ // ../topolo-sdk/dist/index.js
13
13
  function applyAuthHeaders(headers, credential) {
14
14
  if (credential.kind === "api_key") {
15
15
  headers.set("X-Api-Key", credential.apiKey);
@@ -137,7 +137,9 @@ var APPLICATIONS = {
137
137
  "domains": [
138
138
  "admin.topolo.app"
139
139
  ],
140
- "routes": [],
140
+ "routes": [
141
+ "admin.topolo.app"
142
+ ],
141
143
  "appId": null
142
144
  },
143
145
  {
@@ -185,7 +187,7 @@ var APPLICATIONS = {
185
187
  "appDir": "TopoloAuth",
186
188
  "name": "topolo-auth",
187
189
  "packageName": "topolo-auth",
188
- "productionUrl": "https://auth.topolo.app/login",
190
+ "productionUrl": "https://auth.topolo.app",
189
191
  "services": [
190
192
  "auth"
191
193
  ],
@@ -221,7 +223,9 @@ var APPLICATIONS = {
221
223
  "domains": [
222
224
  "backup.topolo.app"
223
225
  ],
224
- "routes": [],
226
+ "routes": [
227
+ "backup.topolo.app"
228
+ ],
225
229
  "appId": "backup"
226
230
  }
227
231
  ]
@@ -305,7 +309,9 @@ var APPLICATIONS = {
305
309
  "domains": [
306
310
  "bugfix.topolo.app"
307
311
  ],
308
- "routes": [],
312
+ "routes": [
313
+ "bugfix.topolo.app"
314
+ ],
309
315
  "appId": "bugfix"
310
316
  }
311
317
  ]
@@ -327,7 +333,9 @@ var APPLICATIONS = {
327
333
  "domains": [
328
334
  "bytes.topolo.app"
329
335
  ],
330
- "routes": [],
336
+ "routes": [
337
+ "bytes.topolo.app"
338
+ ],
331
339
  "appId": "bytes"
332
340
  },
333
341
  {
@@ -357,7 +365,9 @@ var APPLICATIONS = {
357
365
  "domains": [
358
366
  "calendar.topolo.app"
359
367
  ],
360
- "routes": [],
368
+ "routes": [
369
+ "calendar.topolo.app"
370
+ ],
361
371
  "appId": "calendar"
362
372
  },
363
373
  {
@@ -387,9 +397,7 @@ var APPLICATIONS = {
387
397
  "domains": [
388
398
  "campaigns.topolo.app"
389
399
  ],
390
- "routes": [
391
- "campaigns.topolo.app"
392
- ],
400
+ "routes": [],
393
401
  "appId": "campaigns"
394
402
  },
395
403
  {
@@ -419,7 +427,9 @@ var APPLICATIONS = {
419
427
  "domains": [
420
428
  "capacity.topolo.app"
421
429
  ],
422
- "routes": [],
430
+ "routes": [
431
+ "capacity.topolo.app"
432
+ ],
423
433
  "appId": "capacity"
424
434
  }
425
435
  ]
@@ -441,7 +451,9 @@ var APPLICATIONS = {
441
451
  "domains": [
442
452
  "chat.topolo.app"
443
453
  ],
444
- "routes": [],
454
+ "routes": [
455
+ "chat.topolo.app"
456
+ ],
445
457
  "appId": "chat"
446
458
  },
447
459
  {
@@ -479,7 +491,9 @@ var APPLICATIONS = {
479
491
  "domains": [
480
492
  "guest.topolo.app"
481
493
  ],
482
- "routes": [],
494
+ "routes": [
495
+ "guest.topolo.app"
496
+ ],
483
497
  "appId": null
484
498
  },
485
499
  {
@@ -489,7 +503,9 @@ var APPLICATIONS = {
489
503
  "domains": [
490
504
  "commerce.topolo.app"
491
505
  ],
492
- "routes": [],
506
+ "routes": [
507
+ "commerce.topolo.app"
508
+ ],
493
509
  "appId": "commerce"
494
510
  },
495
511
  {
@@ -499,7 +515,9 @@ var APPLICATIONS = {
499
515
  "domains": [
500
516
  "station-commerce.topolo.app"
501
517
  ],
502
- "routes": [],
518
+ "routes": [
519
+ "station-commerce.topolo.app"
520
+ ],
503
521
  "appId": null
504
522
  }
505
523
  ]
@@ -677,7 +695,9 @@ var APPLICATIONS = {
677
695
  "domains": [
678
696
  "docs.topolo.app"
679
697
  ],
680
- "routes": [],
698
+ "routes": [
699
+ "docs.topolo.app"
700
+ ],
681
701
  "appId": null
682
702
  },
683
703
  {
@@ -707,7 +727,9 @@ var APPLICATIONS = {
707
727
  "domains": [
708
728
  "feed-analytics-api.topolo.app"
709
729
  ],
710
- "routes": [],
730
+ "routes": [
731
+ "feed-analytics-api.topolo.app"
732
+ ],
711
733
  "appId": null
712
734
  },
713
735
  {
@@ -717,7 +739,9 @@ var APPLICATIONS = {
717
739
  "domains": [
718
740
  "feed-api.topolo.app"
719
741
  ],
720
- "routes": [],
742
+ "routes": [
743
+ "feed-api.topolo.app"
744
+ ],
721
745
  "appId": null
722
746
  },
723
747
  {
@@ -727,7 +751,9 @@ var APPLICATIONS = {
727
751
  "domains": [
728
752
  "feed.topolo.app"
729
753
  ],
730
- "routes": [],
754
+ "routes": [
755
+ "feed.topolo.app"
756
+ ],
731
757
  "appId": "feed"
732
758
  }
733
759
  ]
@@ -839,7 +865,9 @@ var APPLICATIONS = {
839
865
  "domains": [
840
866
  "home.topolo.app"
841
867
  ],
842
- "routes": [],
868
+ "routes": [
869
+ "home.topolo.app"
870
+ ],
843
871
  "appId": "home"
844
872
  },
845
873
  {
@@ -929,7 +957,9 @@ var APPLICATIONS = {
929
957
  "domains": [
930
958
  "learn.topolo.app"
931
959
  ],
932
- "routes": [],
960
+ "routes": [
961
+ "learn.topolo.app"
962
+ ],
933
963
  "appId": "learn"
934
964
  },
935
965
  {
@@ -983,7 +1013,9 @@ var APPLICATIONS = {
983
1013
  "domains": [
984
1014
  "mail.topolo.app"
985
1015
  ],
986
- "routes": [],
1016
+ "routes": [
1017
+ "mail.topolo.app"
1018
+ ],
987
1019
  "appId": "mail"
988
1020
  },
989
1021
  {
@@ -1021,7 +1053,9 @@ var APPLICATIONS = {
1021
1053
  "domains": [
1022
1054
  "mdm.topolo.app"
1023
1055
  ],
1024
- "routes": [],
1056
+ "routes": [
1057
+ "mdm.topolo.app"
1058
+ ],
1025
1059
  "appId": "mdm"
1026
1060
  }
1027
1061
  ]
@@ -1043,7 +1077,9 @@ var APPLICATIONS = {
1043
1077
  "domains": [
1044
1078
  "messages.topolo.app"
1045
1079
  ],
1046
- "routes": [],
1080
+ "routes": [
1081
+ "messages.topolo.app"
1082
+ ],
1047
1083
  "appId": "messages"
1048
1084
  },
1049
1085
  {
@@ -1077,11 +1113,13 @@ var APPLICATIONS = {
1077
1113
  {
1078
1114
  "name": "topolo-nexus-dashboard",
1079
1115
  "kind": "worker",
1080
- "apiUrl": null,
1116
+ "apiUrl": "https://nexus.topolo.app",
1081
1117
  "domains": [
1082
1118
  "nexus.topolo.app"
1083
1119
  ],
1084
- "routes": [],
1120
+ "routes": [
1121
+ "nexus.topolo.app"
1122
+ ],
1085
1123
  "appId": null
1086
1124
  },
1087
1125
  {
@@ -1137,7 +1175,9 @@ var APPLICATIONS = {
1137
1175
  "domains": [
1138
1176
  "observability-watch.topolo.app"
1139
1177
  ],
1140
- "routes": [],
1178
+ "routes": [
1179
+ "observability-watch.topolo.app"
1180
+ ],
1141
1181
  "appId": "observability_watch"
1142
1182
  }
1143
1183
  ]
@@ -1209,7 +1249,9 @@ var APPLICATIONS = {
1209
1249
  "domains": [
1210
1250
  "p2p.topolo.app"
1211
1251
  ],
1212
- "routes": [],
1252
+ "routes": [
1253
+ "p2p.topolo.app"
1254
+ ],
1213
1255
  "appId": "p2p"
1214
1256
  },
1215
1257
  {
@@ -1406,7 +1448,9 @@ var APPLICATIONS = {
1406
1448
  "domains": [
1407
1449
  "studio.topolo.app"
1408
1450
  ],
1409
- "routes": [],
1451
+ "routes": [
1452
+ "studio.topolo.app"
1453
+ ],
1410
1454
  "appId": "social_studio"
1411
1455
  },
1412
1456
  {
@@ -1444,7 +1488,9 @@ var APPLICATIONS = {
1444
1488
  "domains": [
1445
1489
  "socialize.topolo.app"
1446
1490
  ],
1447
- "routes": [],
1491
+ "routes": [
1492
+ "socialize.topolo.app"
1493
+ ],
1448
1494
  "appId": "socialize"
1449
1495
  },
1450
1496
  {
@@ -1454,7 +1500,9 @@ var APPLICATIONS = {
1454
1500
  "domains": [
1455
1501
  "socialize-api.topolo.app"
1456
1502
  ],
1457
- "routes": [],
1503
+ "routes": [
1504
+ "socialize-api.topolo.app"
1505
+ ],
1458
1506
  "appId": null
1459
1507
  },
1460
1508
  {
@@ -1514,7 +1562,9 @@ var APPLICATIONS = {
1514
1562
  "domains": [
1515
1563
  "status.topolo.app"
1516
1564
  ],
1517
- "routes": [],
1565
+ "routes": [
1566
+ "status.topolo.app"
1567
+ ],
1518
1568
  "appId": "status"
1519
1569
  }
1520
1570
  ]
@@ -1630,7 +1680,9 @@ var APPLICATIONS = {
1630
1680
  "domains": [
1631
1681
  "voice.topolo.app"
1632
1682
  ],
1633
- "routes": [],
1683
+ "routes": [
1684
+ "voice.topolo.app"
1685
+ ],
1634
1686
  "appId": "voice"
1635
1687
  },
1636
1688
  {
@@ -1681,7 +1733,9 @@ var APPLICATIONS = {
1681
1733
  "domains": [
1682
1734
  "web.topolo.app"
1683
1735
  ],
1684
- "routes": [],
1736
+ "routes": [
1737
+ "web.topolo.app"
1738
+ ],
1685
1739
  "appId": "web"
1686
1740
  }
1687
1741
  ]
@@ -1758,7 +1812,7 @@ var APPLICATION_REQUIREMENTS = [
1758
1812
  "Use TopoloAppMetricCard, TopoloAppEmptyState, TopoloAppStatusBadge, TopoloAppGrid, and TopoloAppSection for repeated app body patterns",
1759
1813
  "Keep visual QA fixtures available through visualQa=1 or __devpreview=1 so screenshot checks do not depend on live API state",
1760
1814
  "Keep mobile and desktop shell behavior aligned with the platform UI kit",
1761
- "Constrain app-owned workspace wrappers with min-width: 0, width: auto, and viewport-aware max-width so shell padding cannot create page-level horizontal overflow"
1815
+ "Constrain the app workspace-view layout wrappers with min-width: 0, width: auto, and viewport-aware max-width so shell padding cannot create page-level horizontal overflow"
1762
1816
  ]
1763
1817
  },
1764
1818
  {
@@ -3504,7 +3558,7 @@ function createTopolo(options) {
3504
3558
  };
3505
3559
  }
3506
3560
 
3507
- // node_modules/@topolo/sdk/dist/node/credential-store.js
3561
+ // ../topolo-sdk/dist/node/credential-store.js
3508
3562
  import { mkdir, readFile, writeFile, chmod } from "fs/promises";
3509
3563
  import { existsSync } from "fs";
3510
3564
  import { homedir, platform } from "os";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@topolo/cli",
3
- "version": "0.6.2",
4
- "topoloPublishedVersion": "0.6.2",
3
+ "version": "0.6.4",
4
+ "topoloPublishedVersion": "0.6.4",
5
5
  "description": "Command-line interface for Topolo developers, operators, and agents, with internal first-party scaffolding available under the topolo platform namespace.",
6
6
  "type": "module",
7
7
  "bin": {
@@ -12,7 +12,7 @@
12
12
  "skills"
13
13
  ],
14
14
  "scripts": {
15
- "build:sdk": "pnpm --dir ../topolo-sdk build",
15
+ "build:sdk": "python3 ../../tooling/with-resource-lock.py ../topolo-sdk -- pnpm --dir ../topolo-sdk build",
16
16
  "prebuild": "pnpm run build:sdk",
17
17
  "build": "tsup && node scripts/vendor-generator.mjs",
18
18
  "dev": "tsup --watch",
@@ -29,7 +29,7 @@
29
29
  "commander": "^12.1.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@topolo/sdk": "latest",
32
+ "@topolo/sdk": "file:../topolo-sdk",
33
33
  "@types/node": "^20.12.0",
34
34
  "@vitest/coverage-v8": "3.2.6",
35
35
  "tsup": "^8.0.0",