@specific.dev/cli 0.1.99 → 0.1.100

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.
Files changed (67) hide show
  1. package/dist/admin/404/index.html +1 -1
  2. package/dist/admin/404.html +1 -1
  3. package/dist/admin/__next.!KGRlZmF1bHQp.__PAGE__.txt +1 -1
  4. package/dist/admin/__next.!KGRlZmF1bHQp.txt +1 -1
  5. package/dist/admin/__next._full.txt +1 -1
  6. package/dist/admin/__next._head.txt +1 -1
  7. package/dist/admin/__next._index.txt +1 -1
  8. package/dist/admin/__next._tree.txt +1 -1
  9. package/dist/admin/_not-found/__next._full.txt +1 -1
  10. package/dist/admin/_not-found/__next._head.txt +1 -1
  11. package/dist/admin/_not-found/__next._index.txt +1 -1
  12. package/dist/admin/_not-found/__next._not-found.__PAGE__.txt +1 -1
  13. package/dist/admin/_not-found/__next._not-found.txt +1 -1
  14. package/dist/admin/_not-found/__next._tree.txt +1 -1
  15. package/dist/admin/_not-found/index.html +1 -1
  16. package/dist/admin/_not-found/index.txt +1 -1
  17. package/dist/admin/databases/__next.!KGRlZmF1bHQp.databases.__PAGE__.txt +1 -1
  18. package/dist/admin/databases/__next.!KGRlZmF1bHQp.databases.txt +1 -1
  19. package/dist/admin/databases/__next.!KGRlZmF1bHQp.txt +1 -1
  20. package/dist/admin/databases/__next._full.txt +1 -1
  21. package/dist/admin/databases/__next._head.txt +1 -1
  22. package/dist/admin/databases/__next._index.txt +1 -1
  23. package/dist/admin/databases/__next._tree.txt +1 -1
  24. package/dist/admin/databases/index.html +1 -1
  25. package/dist/admin/databases/index.txt +1 -1
  26. package/dist/admin/fullscreen/__next._full.txt +1 -1
  27. package/dist/admin/fullscreen/__next._head.txt +1 -1
  28. package/dist/admin/fullscreen/__next._index.txt +1 -1
  29. package/dist/admin/fullscreen/__next._tree.txt +1 -1
  30. package/dist/admin/fullscreen/__next.fullscreen.__PAGE__.txt +1 -1
  31. package/dist/admin/fullscreen/__next.fullscreen.txt +1 -1
  32. package/dist/admin/fullscreen/databases/__next._full.txt +1 -1
  33. package/dist/admin/fullscreen/databases/__next._head.txt +1 -1
  34. package/dist/admin/fullscreen/databases/__next._index.txt +1 -1
  35. package/dist/admin/fullscreen/databases/__next._tree.txt +1 -1
  36. package/dist/admin/fullscreen/databases/__next.fullscreen.databases.__PAGE__.txt +1 -1
  37. package/dist/admin/fullscreen/databases/__next.fullscreen.databases.txt +1 -1
  38. package/dist/admin/fullscreen/databases/__next.fullscreen.txt +1 -1
  39. package/dist/admin/fullscreen/databases/index.html +1 -1
  40. package/dist/admin/fullscreen/databases/index.txt +1 -1
  41. package/dist/admin/fullscreen/index.html +1 -1
  42. package/dist/admin/fullscreen/index.txt +1 -1
  43. package/dist/admin/index.html +1 -1
  44. package/dist/admin/index.txt +1 -1
  45. package/dist/admin/mail/__next.!KGRlZmF1bHQp.mail.__PAGE__.txt +1 -1
  46. package/dist/admin/mail/__next.!KGRlZmF1bHQp.mail.txt +1 -1
  47. package/dist/admin/mail/__next.!KGRlZmF1bHQp.txt +1 -1
  48. package/dist/admin/mail/__next._full.txt +1 -1
  49. package/dist/admin/mail/__next._head.txt +1 -1
  50. package/dist/admin/mail/__next._index.txt +1 -1
  51. package/dist/admin/mail/__next._tree.txt +1 -1
  52. package/dist/admin/mail/index.html +1 -1
  53. package/dist/admin/mail/index.txt +1 -1
  54. package/dist/admin/workflows/__next.!KGRlZmF1bHQp.txt +1 -1
  55. package/dist/admin/workflows/__next.!KGRlZmF1bHQp.workflows.__PAGE__.txt +1 -1
  56. package/dist/admin/workflows/__next.!KGRlZmF1bHQp.workflows.txt +1 -1
  57. package/dist/admin/workflows/__next._full.txt +1 -1
  58. package/dist/admin/workflows/__next._head.txt +1 -1
  59. package/dist/admin/workflows/__next._index.txt +1 -1
  60. package/dist/admin/workflows/__next._tree.txt +1 -1
  61. package/dist/admin/workflows/index.html +1 -1
  62. package/dist/admin/workflows/index.txt +1 -1
  63. package/dist/cli.js +28 -14
  64. package/package.json +1 -1
  65. /package/dist/admin/_next/static/{NFsFtqgp4maBtNqB-mqEU → BOm2VNloUXzWE8sN1MOhy}/_buildManifest.js +0 -0
  66. /package/dist/admin/_next/static/{NFsFtqgp4maBtNqB-mqEU → BOm2VNloUXzWE8sN1MOhy}/_clientMiddlewareManifest.json +0 -0
  67. /package/dist/admin/_next/static/{NFsFtqgp4maBtNqB-mqEU → BOm2VNloUXzWE8sN1MOhy}/_ssgManifest.js +0 -0
package/dist/cli.js CHANGED
@@ -370503,8 +370503,8 @@ async function startMailServer(mail, smtpPort, apiPort) {
370503
370503
  from: parsed.from?.text ?? "",
370504
370504
  to: Array.isArray(parsed.to) ? parsed.to.map((addr) => addr.text) : parsed.to ? [parsed.to.text] : [],
370505
370505
  subject: parsed.subject ?? "(no subject)",
370506
- text: parsed.text,
370507
- html: typeof parsed.html === "string" ? parsed.html : void 0,
370506
+ ...parsed.text !== void 0 ? { text: parsed.text } : {},
370507
+ ...typeof parsed.html === "string" ? { html: parsed.html } : {},
370508
370508
  date: parsed.date ?? /* @__PURE__ */ new Date()
370509
370509
  };
370510
370510
  emails.push(email);
@@ -372536,12 +372536,11 @@ Add them to the config block in specific.local`
372536
372536
  host: r.host,
372537
372537
  syncEnabled: r.type === "postgres" && syncDatabases.has(name)
372538
372538
  })),
372539
- projectId: void 0,
372540
372539
  hasTemporal,
372541
372540
  hasMail,
372542
- mailApiUrl,
372543
- drizzleGatewayPort: this.drizzleGateway?.port,
372544
- temporalUiPort
372541
+ ...mailApiUrl !== void 0 ? { mailApiUrl } : {},
372542
+ ...this.drizzleGateway ? { drizzleGatewayPort: this.drizzleGateway.port } : {},
372543
+ ...temporalUiPort !== void 0 ? { temporalUiPort } : {}
372545
372544
  });
372546
372545
  const adminPort = portAllocator.getAdminPort();
372547
372546
  const adminServer = await startAdminServer(getState, adminPort);
@@ -372656,6 +372655,7 @@ var WORKOS_CLIENT_ID = "client_01K4HSP8CE0R73V7Z67WE9CC86";
372656
372655
  function getTokenExpiresAt(accessToken) {
372657
372656
  try {
372658
372657
  const payload = accessToken.split(".")[1];
372658
+ if (!payload) return null;
372659
372659
  const decoded = JSON.parse(Buffer.from(payload, "base64url").toString());
372660
372660
  if (typeof decoded.exp === "number") {
372661
372661
  return decoded.exp * 1e3;
@@ -373038,7 +373038,7 @@ function trackEvent(event, properties) {
373038
373038
  event,
373039
373039
  properties: {
373040
373040
  ...properties,
373041
- cli_version: "0.1.99",
373041
+ cli_version: "0.1.100",
373042
373042
  platform: process.platform,
373043
373043
  node_version: process.version,
373044
373044
  project_id: getProjectId()
@@ -375662,7 +375662,10 @@ function DeployUI({ environment, config }) {
375662
375662
  {
375663
375663
  key: currentConfig,
375664
375664
  configName: currentConfig,
375665
- defaultValue: config.configs?.find((c) => c.name === currentConfig)?.default,
375665
+ ...(() => {
375666
+ const d = config.configs?.find((c) => c.name === currentConfig)?.default;
375667
+ return d !== void 0 ? { defaultValue: d } : {};
375668
+ })(),
375666
375669
  onSubmit: handleConfigSubmit,
375667
375670
  onCancel: handleConfigCancel
375668
375671
  }
@@ -375820,7 +375823,8 @@ async function execCommand(serviceName, command, instanceKey = "default") {
375820
375823
  postgres: required.postgres,
375821
375824
  redis: required.redis,
375822
375825
  storage: required.storage,
375823
- temporal: required.temporal
375826
+ temporal: required.temporal,
375827
+ mail: []
375824
375828
  },
375825
375829
  stateManager,
375826
375830
  dataDir: `.specific/keys/${instanceKey}/data`,
@@ -375992,7 +375996,8 @@ async function psqlCommand(databaseName, instanceKey = "default", extraArgs = []
375992
375996
  postgres: [targetDb],
375993
375997
  redis: [],
375994
375998
  storage: [],
375995
- temporal: []
375999
+ temporal: [],
376000
+ mail: []
375996
376001
  },
375997
376002
  stateManager,
375998
376003
  dataDir: `.specific/keys/${instanceKey}/data`,
@@ -376068,6 +376073,14 @@ var VALID_ACTIONS = ["start", "complete", "status", "abort", "check"];
376068
376073
  var MIGRATION_SUBCOMMANDS = ["start", "complete", "abort"];
376069
376074
  var OFFLINE_ACTIONS = ["check"];
376070
376075
  async function reshapeCommand(action, databaseName, instanceKey = "default") {
376076
+ if (action === "docs") {
376077
+ console.error(
376078
+ `Use 'specific docs' for Reshape documentation:
376079
+
376080
+ specific docs postgres/reshape`
376081
+ );
376082
+ process.exit(1);
376083
+ }
376071
376084
  if (!VALID_ACTIONS.includes(action)) {
376072
376085
  console.error(
376073
376086
  `Error: Invalid action "${action}". Valid actions: ${VALID_ACTIONS.join(", ")}`
@@ -376186,7 +376199,8 @@ async function reshapeCommand(action, databaseName, instanceKey = "default") {
376186
376199
  postgres: [targetDb],
376187
376200
  redis: [],
376188
376201
  storage: [],
376189
- temporal: []
376202
+ temporal: [],
376203
+ mail: []
376190
376204
  },
376191
376205
  stateManager,
376192
376206
  dataDir: `.specific/keys/${instanceKey}/data`,
@@ -376516,7 +376530,7 @@ function compareVersions(a, b) {
376516
376530
  return 0;
376517
376531
  }
376518
376532
  async function checkForUpdate() {
376519
- const currentVersion = "0.1.99";
376533
+ const currentVersion = "0.1.100";
376520
376534
  const response = await fetch(`${BINARIES_BASE_URL}/latest?t=${Date.now()}`);
376521
376535
  if (!response.ok) {
376522
376536
  throw new Error(`Failed to check for updates: HTTP ${response.status}`);
@@ -376663,7 +376677,7 @@ function UpdateUI() {
376663
376677
  if (cancelled) return;
376664
376678
  setState({
376665
376679
  phase: "error",
376666
- checkResult: state.checkResult,
376680
+ ...state.checkResult ? { checkResult: state.checkResult } : {},
376667
376681
  error: err instanceof Error ? err.message : String(err)
376668
376682
  });
376669
376683
  }
@@ -376715,7 +376729,7 @@ function updateCommand() {
376715
376729
  var program = new Command();
376716
376730
  var env = "production";
376717
376731
  var envLabel = env !== "production" ? `[${env.toUpperCase()}] ` : "";
376718
- program.name("specific").description(`${envLabel}Infrastructure-as-code for coding agents`).version("0.1.99").enablePositionalOptions();
376732
+ program.name("specific").description(`${envLabel}Infrastructure-as-code for coding agents`).version("0.1.100").enablePositionalOptions();
376719
376733
  program.command("init").description("Initialize project for use with a coding agent").option("--agent <name...>", "Agents to configure (cursor, claude, codex, other)").action((options2) => initCommand(options2));
376720
376734
  program.command("docs [topic]").description("Fetch LLM-optimized documentation").action(docsCommand);
376721
376735
  program.command("check").description("Validate specific.hcl configuration").action(checkCommand);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@specific.dev/cli",
3
- "version": "0.1.99",
3
+ "version": "0.1.100",
4
4
  "description": "CLI for Specific infrastructure-as-code",
5
5
  "type": "module",
6
6
  "main": "dist/cli.js",