@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.
- 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 +28 -14
- package/package.json +1 -1
- /package/dist/admin/_next/static/{NFsFtqgp4maBtNqB-mqEU → BOm2VNloUXzWE8sN1MOhy}/_buildManifest.js +0 -0
- /package/dist/admin/_next/static/{NFsFtqgp4maBtNqB-mqEU → BOm2VNloUXzWE8sN1MOhy}/_clientMiddlewareManifest.json +0 -0
- /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
|
-
|
|
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
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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
/package/dist/admin/_next/static/{NFsFtqgp4maBtNqB-mqEU → BOm2VNloUXzWE8sN1MOhy}/_buildManifest.js
RENAMED
|
File without changes
|
|
File without changes
|
/package/dist/admin/_next/static/{NFsFtqgp4maBtNqB-mqEU → BOm2VNloUXzWE8sN1MOhy}/_ssgManifest.js
RENAMED
|
File without changes
|