@specific.dev/cli 0.1.83 → 0.1.85
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/admin/404/index.html +1 -1
- package/dist/admin/404.html +1 -1
- package/dist/admin/__next.!KGRlZmF1bHQp.__PAGE__.txt +1 -1
- package/dist/admin/__next.!KGRlZmF1bHQp.txt +1 -1
- package/dist/admin/__next._full.txt +1 -1
- package/dist/admin/__next._head.txt +1 -1
- package/dist/admin/__next._index.txt +1 -1
- package/dist/admin/__next._tree.txt +1 -1
- package/dist/admin/_not-found/__next._full.txt +1 -1
- package/dist/admin/_not-found/__next._head.txt +1 -1
- package/dist/admin/_not-found/__next._index.txt +1 -1
- package/dist/admin/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/admin/_not-found/__next._not-found.txt +1 -1
- package/dist/admin/_not-found/__next._tree.txt +1 -1
- package/dist/admin/_not-found/index.html +1 -1
- package/dist/admin/_not-found/index.txt +1 -1
- package/dist/admin/databases/__next.!KGRlZmF1bHQp.databases.__PAGE__.txt +1 -1
- package/dist/admin/databases/__next.!KGRlZmF1bHQp.databases.txt +1 -1
- package/dist/admin/databases/__next.!KGRlZmF1bHQp.txt +1 -1
- package/dist/admin/databases/__next._full.txt +1 -1
- package/dist/admin/databases/__next._head.txt +1 -1
- package/dist/admin/databases/__next._index.txt +1 -1
- package/dist/admin/databases/__next._tree.txt +1 -1
- package/dist/admin/databases/index.html +1 -1
- package/dist/admin/databases/index.txt +1 -1
- package/dist/admin/fullscreen/__next._full.txt +1 -1
- package/dist/admin/fullscreen/__next._head.txt +1 -1
- package/dist/admin/fullscreen/__next._index.txt +1 -1
- package/dist/admin/fullscreen/__next._tree.txt +1 -1
- package/dist/admin/fullscreen/__next.fullscreen.__PAGE__.txt +1 -1
- package/dist/admin/fullscreen/__next.fullscreen.txt +1 -1
- package/dist/admin/fullscreen/databases/__next._full.txt +1 -1
- package/dist/admin/fullscreen/databases/__next._head.txt +1 -1
- package/dist/admin/fullscreen/databases/__next._index.txt +1 -1
- package/dist/admin/fullscreen/databases/__next._tree.txt +1 -1
- package/dist/admin/fullscreen/databases/__next.fullscreen.databases.__PAGE__.txt +1 -1
- package/dist/admin/fullscreen/databases/__next.fullscreen.databases.txt +1 -1
- package/dist/admin/fullscreen/databases/__next.fullscreen.txt +1 -1
- package/dist/admin/fullscreen/databases/index.html +1 -1
- package/dist/admin/fullscreen/databases/index.txt +1 -1
- package/dist/admin/fullscreen/index.html +1 -1
- package/dist/admin/fullscreen/index.txt +1 -1
- package/dist/admin/index.html +1 -1
- package/dist/admin/index.txt +1 -1
- package/dist/admin/mail/__next.!KGRlZmF1bHQp.mail.__PAGE__.txt +1 -1
- package/dist/admin/mail/__next.!KGRlZmF1bHQp.mail.txt +1 -1
- package/dist/admin/mail/__next.!KGRlZmF1bHQp.txt +1 -1
- package/dist/admin/mail/__next._full.txt +1 -1
- package/dist/admin/mail/__next._head.txt +1 -1
- package/dist/admin/mail/__next._index.txt +1 -1
- package/dist/admin/mail/__next._tree.txt +1 -1
- package/dist/admin/mail/index.html +1 -1
- package/dist/admin/mail/index.txt +1 -1
- package/dist/admin/workflows/__next.!KGRlZmF1bHQp.txt +1 -1
- package/dist/admin/workflows/__next.!KGRlZmF1bHQp.workflows.__PAGE__.txt +1 -1
- package/dist/admin/workflows/__next.!KGRlZmF1bHQp.workflows.txt +1 -1
- package/dist/admin/workflows/__next._full.txt +1 -1
- package/dist/admin/workflows/__next._head.txt +1 -1
- package/dist/admin/workflows/__next._index.txt +1 -1
- package/dist/admin/workflows/__next._tree.txt +1 -1
- package/dist/admin/workflows/index.html +1 -1
- package/dist/admin/workflows/index.txt +1 -1
- package/dist/cli.js +18 -14
- package/dist/postinstall.js +1 -1
- package/package.json +1 -1
- /package/dist/admin/_next/static/{ZUhVyT91xXNDSM1fLwCBF → auYBWuR9QwsBXcoDWc3nc}/_buildManifest.js +0 -0
- /package/dist/admin/_next/static/{ZUhVyT91xXNDSM1fLwCBF → auYBWuR9QwsBXcoDWc3nc}/_clientMiddlewareManifest.json +0 -0
- /package/dist/admin/_next/static/{ZUhVyT91xXNDSM1fLwCBF → auYBWuR9QwsBXcoDWc3nc}/_ssgManifest.js +0 -0
package/dist/cli.js
CHANGED
|
@@ -183482,7 +183482,19 @@ function caInstalledInTrustStore() {
|
|
|
183482
183482
|
`security find-certificate -c "Specific Local Development CA" -p "${getLoginKeychainPath()}"`,
|
|
183483
183483
|
{ encoding: "utf-8" }
|
|
183484
183484
|
).replace(/\r\n/g, "\n").trim();
|
|
183485
|
-
|
|
183485
|
+
if (keychainCert !== diskCert) {
|
|
183486
|
+
return false;
|
|
183487
|
+
}
|
|
183488
|
+
const trustOutput = execSync(
|
|
183489
|
+
`security dump-trust-settings 2>&1`,
|
|
183490
|
+
{ encoding: "utf-8" }
|
|
183491
|
+
);
|
|
183492
|
+
const caSection = trustOutput.split("Specific Local Development CA");
|
|
183493
|
+
if (caSection.length < 2) {
|
|
183494
|
+
return false;
|
|
183495
|
+
}
|
|
183496
|
+
const afterCA = caSection[1].split(/^Cert \d+:/m)[0];
|
|
183497
|
+
return afterCA.includes("Policy OID");
|
|
183486
183498
|
} else if (platform8 === "linux") {
|
|
183487
183499
|
const trustPaths = [
|
|
183488
183500
|
"/usr/local/share/ca-certificates/specific-local-ca.crt",
|
|
@@ -183601,7 +183613,7 @@ function getCADeleteCommand() {
|
|
|
183601
183613
|
return `security delete-certificate -c "Specific Local Development CA" "${getLoginKeychainPath()}"`;
|
|
183602
183614
|
}
|
|
183603
183615
|
function getCATrustCommand(certPath) {
|
|
183604
|
-
return `security add-trusted-cert -
|
|
183616
|
+
return `security add-trusted-cert -r trustRoot -p ssl -p basic -k "${getLoginKeychainPath()}" "${certPath}"`;
|
|
183605
183617
|
}
|
|
183606
183618
|
function getCAInstallCommands(certPath) {
|
|
183607
183619
|
const platform8 = os.platform();
|
|
@@ -184669,7 +184681,7 @@ function trackEvent(event, properties) {
|
|
|
184669
184681
|
event,
|
|
184670
184682
|
properties: {
|
|
184671
184683
|
...properties,
|
|
184672
|
-
cli_version: "0.1.
|
|
184684
|
+
cli_version: "0.1.85",
|
|
184673
184685
|
platform: process.platform,
|
|
184674
184686
|
node_version: process.version,
|
|
184675
184687
|
project_id: getProjectId()
|
|
@@ -192748,14 +192760,6 @@ Add them to the config block in specific.local`);
|
|
|
192748
192760
|
},
|
|
192749
192761
|
{ key: "admin-space", content: /* @__PURE__ */ React6.createElement(Text6, null, " ") }
|
|
192750
192762
|
] : [],
|
|
192751
|
-
// Dashboard link (only when project is linked)
|
|
192752
|
-
...projectId ? [
|
|
192753
|
-
{
|
|
192754
|
-
key: "dashboard",
|
|
192755
|
-
content: /* @__PURE__ */ React6.createElement(Text6, null, /* @__PURE__ */ React6.createElement(Text6, { bold: true }, "Dashboard:"), /* @__PURE__ */ React6.createElement(Text6, null, " "), /* @__PURE__ */ React6.createElement(Text6, { bold: true }, "https://dashboard.specific.dev/projects/", projectId))
|
|
192756
|
-
},
|
|
192757
|
-
{ key: "dashboard-space", content: /* @__PURE__ */ React6.createElement(Text6, null, " ") }
|
|
192758
|
-
] : [],
|
|
192759
192763
|
// Services section - different rendering for tunnel mode vs local mode
|
|
192760
192764
|
...tunnelEnabled ? (
|
|
192761
192765
|
// Tunnel mode: show tunnel URLs for public services
|
|
@@ -192938,7 +192942,7 @@ async function createGitArchive(projectDir) {
|
|
|
192938
192942
|
);
|
|
192939
192943
|
const allFiles = filesOutput.trim().split("\n").filter(Boolean);
|
|
192940
192944
|
const filteredFiles = allFiles.filter(
|
|
192941
|
-
(file) => !file.startsWith(".specific/") && file !== ".specific"
|
|
192945
|
+
(file) => !file.startsWith(".specific/") && file !== ".specific" && fs25.existsSync(path22.join(projectDir, file))
|
|
192942
192946
|
);
|
|
192943
192947
|
writeLog(
|
|
192944
192948
|
"tarball",
|
|
@@ -194755,7 +194759,7 @@ function compareVersions(a, b) {
|
|
|
194755
194759
|
return 0;
|
|
194756
194760
|
}
|
|
194757
194761
|
async function checkForUpdate() {
|
|
194758
|
-
const currentVersion = "0.1.
|
|
194762
|
+
const currentVersion = "0.1.85";
|
|
194759
194763
|
const response = await fetch(`${BINARIES_BASE_URL}/latest?t=${Date.now()}`);
|
|
194760
194764
|
if (!response.ok) {
|
|
194761
194765
|
throw new Error(`Failed to check for updates: HTTP ${response.status}`);
|
|
@@ -194954,7 +194958,7 @@ function updateCommand() {
|
|
|
194954
194958
|
var program = new Command();
|
|
194955
194959
|
var env = "production";
|
|
194956
194960
|
var envLabel = env !== "production" ? `[${env.toUpperCase()}] ` : "";
|
|
194957
|
-
program.name("specific").description(`${envLabel}Infrastructure-as-code for coding agents`).version("0.1.
|
|
194961
|
+
program.name("specific").description(`${envLabel}Infrastructure-as-code for coding agents`).version("0.1.85").enablePositionalOptions();
|
|
194958
194962
|
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));
|
|
194959
194963
|
program.command("docs [topic]").description("Fetch LLM-optimized documentation").action(docsCommand);
|
|
194960
194964
|
program.command("check").description("Validate specific.hcl configuration").action(checkCommand);
|
package/dist/postinstall.js
CHANGED
package/package.json
CHANGED
/package/dist/admin/_next/static/{ZUhVyT91xXNDSM1fLwCBF → auYBWuR9QwsBXcoDWc3nc}/_buildManifest.js
RENAMED
|
File without changes
|
|
File without changes
|
/package/dist/admin/_next/static/{ZUhVyT91xXNDSM1fLwCBF → auYBWuR9QwsBXcoDWc3nc}/_ssgManifest.js
RENAMED
|
File without changes
|