@specific.dev/cli 0.1.105 → 0.1.106
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 +43 -7
- package/package.json +1 -1
- /package/dist/admin/_next/static/{DM3asEJQq_O7ltL-zYqgE → P3VZVUKKu1Qjrf-CPDzDC}/_buildManifest.js +0 -0
- /package/dist/admin/_next/static/{DM3asEJQq_O7ltL-zYqgE → P3VZVUKKu1Qjrf-CPDzDC}/_clientMiddlewareManifest.json +0 -0
- /package/dist/admin/_next/static/{DM3asEJQq_O7ltL-zYqgE → P3VZVUKKu1Qjrf-CPDzDC}/_ssgManifest.js +0 -0
package/dist/cli.js
CHANGED
|
@@ -372363,6 +372363,23 @@ Add them to the config block in specific.local`
|
|
|
372363
372363
|
this.systemLog(
|
|
372364
372364
|
`Starting service "${service.name}"${portsList ? ` on port${endpointPorts.size > 1 ? "s" : ""} ${portsList}` : ""}`
|
|
372365
372365
|
);
|
|
372366
|
+
const volumePaths = /* @__PURE__ */ new Map();
|
|
372367
|
+
if (service.volumes) {
|
|
372368
|
+
for (const vol of service.volumes) {
|
|
372369
|
+
const volumeDir = path14.resolve(
|
|
372370
|
+
this.projectDir,
|
|
372371
|
+
".specific",
|
|
372372
|
+
"keys",
|
|
372373
|
+
this.instanceKey,
|
|
372374
|
+
"data",
|
|
372375
|
+
"volumes",
|
|
372376
|
+
service.name,
|
|
372377
|
+
vol.name
|
|
372378
|
+
);
|
|
372379
|
+
fs13.mkdirSync(volumeDir, { recursive: true });
|
|
372380
|
+
volumePaths.set(vol.name, volumeDir);
|
|
372381
|
+
}
|
|
372382
|
+
}
|
|
372366
372383
|
const running = startService(
|
|
372367
372384
|
service,
|
|
372368
372385
|
resources,
|
|
@@ -372372,7 +372389,8 @@ Add them to the config block in specific.local`
|
|
|
372372
372389
|
serviceEndpoints,
|
|
372373
372390
|
(line) => this.addLog(line),
|
|
372374
372391
|
publicUrls,
|
|
372375
|
-
resolveServiceCwd(service)
|
|
372392
|
+
resolveServiceCwd(service),
|
|
372393
|
+
volumePaths
|
|
372376
372394
|
);
|
|
372377
372395
|
runningServices.push(running);
|
|
372378
372396
|
this.services = [...runningServices];
|
|
@@ -372405,6 +372423,23 @@ Add them to the config block in specific.local`
|
|
|
372405
372423
|
if (!service.command && !service.dev?.command) continue;
|
|
372406
372424
|
try {
|
|
372407
372425
|
const endpointPorts = serviceEndpointPorts.get(service.name) || /* @__PURE__ */ new Map();
|
|
372426
|
+
const volumePaths = /* @__PURE__ */ new Map();
|
|
372427
|
+
if (service.volumes) {
|
|
372428
|
+
for (const vol of service.volumes) {
|
|
372429
|
+
const volumeDir = path14.resolve(
|
|
372430
|
+
this.projectDir,
|
|
372431
|
+
".specific",
|
|
372432
|
+
"keys",
|
|
372433
|
+
this.instanceKey,
|
|
372434
|
+
"data",
|
|
372435
|
+
"volumes",
|
|
372436
|
+
service.name,
|
|
372437
|
+
vol.name
|
|
372438
|
+
);
|
|
372439
|
+
fs13.mkdirSync(volumeDir, { recursive: true });
|
|
372440
|
+
volumePaths.set(vol.name, volumeDir);
|
|
372441
|
+
}
|
|
372442
|
+
}
|
|
372408
372443
|
const running = startService(
|
|
372409
372444
|
service,
|
|
372410
372445
|
resources,
|
|
@@ -372414,7 +372449,8 @@ Add them to the config block in specific.local`
|
|
|
372414
372449
|
serviceEndpoints,
|
|
372415
372450
|
(line) => this.addLog(line),
|
|
372416
372451
|
void 0,
|
|
372417
|
-
resolveServiceCwd(service)
|
|
372452
|
+
resolveServiceCwd(service),
|
|
372453
|
+
volumePaths
|
|
372418
372454
|
);
|
|
372419
372455
|
newServices.push(running);
|
|
372420
372456
|
} catch (err) {
|
|
@@ -373039,7 +373075,7 @@ function trackEvent(event, properties) {
|
|
|
373039
373075
|
event,
|
|
373040
373076
|
properties: {
|
|
373041
373077
|
...properties,
|
|
373042
|
-
cli_version: "0.1.
|
|
373078
|
+
cli_version: "0.1.106",
|
|
373043
373079
|
platform: process.platform,
|
|
373044
373080
|
node_version: process.version,
|
|
373045
373081
|
project_id: getProjectId()
|
|
@@ -373374,7 +373410,7 @@ var BETA_REGISTRY = [
|
|
|
373374
373410
|
];
|
|
373375
373411
|
|
|
373376
373412
|
// src/lib/beta/storage.ts
|
|
373377
|
-
import { readFileSync as readFileSync8, writeFileSync as writeFileSync7, existsSync as existsSync16, mkdirSync as
|
|
373413
|
+
import { readFileSync as readFileSync8, writeFileSync as writeFileSync7, existsSync as existsSync16, mkdirSync as mkdirSync13 } from "fs";
|
|
373378
373414
|
import { join as join18 } from "path";
|
|
373379
373415
|
var BETAS_FILE = ".specific/betas.json";
|
|
373380
373416
|
function loadEnabledBetas(projectDir = process.cwd()) {
|
|
@@ -373404,7 +373440,7 @@ function disableBeta(name, projectDir = process.cwd()) {
|
|
|
373404
373440
|
function saveBetas(enabled, projectDir) {
|
|
373405
373441
|
const specificDir = join18(projectDir, ".specific");
|
|
373406
373442
|
if (!existsSync16(specificDir)) {
|
|
373407
|
-
|
|
373443
|
+
mkdirSync13(specificDir, { recursive: true });
|
|
373408
373444
|
}
|
|
373409
373445
|
const data = { enabled };
|
|
373410
373446
|
writeFileSync7(
|
|
@@ -376718,7 +376754,7 @@ function compareVersions(a, b) {
|
|
|
376718
376754
|
return 0;
|
|
376719
376755
|
}
|
|
376720
376756
|
async function checkForUpdate() {
|
|
376721
|
-
const currentVersion = "0.1.
|
|
376757
|
+
const currentVersion = "0.1.106";
|
|
376722
376758
|
const response = await fetch(`${BINARIES_BASE_URL}/latest?t=${Date.now()}`);
|
|
376723
376759
|
if (!response.ok) {
|
|
376724
376760
|
throw new Error(`Failed to check for updates: HTTP ${response.status}`);
|
|
@@ -376986,7 +377022,7 @@ async function projectListCommand() {
|
|
|
376986
377022
|
var program = new Command();
|
|
376987
377023
|
var env = "production";
|
|
376988
377024
|
var envLabel = env !== "production" ? `[${env.toUpperCase()}] ` : "";
|
|
376989
|
-
program.name("specific").description(`${envLabel}Infrastructure-as-code for coding agents`).version("0.1.
|
|
377025
|
+
program.name("specific").description(`${envLabel}Infrastructure-as-code for coding agents`).version("0.1.106").enablePositionalOptions();
|
|
376990
377026
|
program.command("init").description("Initialize project for use with a coding agent").option("--agent <name...>", "Agents to configure (cursor, claude, codex, other)").addHelpText("after", `
|
|
376991
377027
|
Examples:
|
|
376992
377028
|
$ specific init
|
package/package.json
CHANGED
/package/dist/admin/_next/static/{DM3asEJQq_O7ltL-zYqgE → P3VZVUKKu1Qjrf-CPDzDC}/_buildManifest.js
RENAMED
|
File without changes
|
|
File without changes
|
/package/dist/admin/_next/static/{DM3asEJQq_O7ltL-zYqgE → P3VZVUKKu1Qjrf-CPDzDC}/_ssgManifest.js
RENAMED
|
File without changes
|