@itznexus/itznexus-cli 1.142.0 → 1.144.0

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 (79) hide show
  1. package/dist/commands/agents/project-stack.d.ts +2 -0
  2. package/dist/commands/agents/project-stack.js +101 -0
  3. package/dist/commands/agents/project-stack.js.map +1 -0
  4. package/dist/commands/api/outreach-catalog.d.ts +2 -0
  5. package/dist/commands/api/outreach-catalog.js +167 -0
  6. package/dist/commands/api/outreach-catalog.js.map +1 -0
  7. package/dist/commands/api/outreach-companies.d.ts +2 -0
  8. package/dist/commands/api/outreach-companies.js +93 -0
  9. package/dist/commands/api/outreach-companies.js.map +1 -0
  10. package/dist/commands/api/outreach-company-writes.d.ts +2 -0
  11. package/dist/commands/api/outreach-company-writes.js +101 -0
  12. package/dist/commands/api/outreach-company-writes.js.map +1 -0
  13. package/dist/commands/api/outreach-enrollment-writes.d.ts +2 -0
  14. package/dist/commands/api/outreach-enrollment-writes.js +144 -0
  15. package/dist/commands/api/outreach-enrollment-writes.js.map +1 -0
  16. package/dist/commands/api/outreach-enrollments.d.ts +2 -0
  17. package/dist/commands/api/outreach-enrollments.js +92 -0
  18. package/dist/commands/api/outreach-enrollments.js.map +1 -0
  19. package/dist/commands/api/outreach-prospect-writes.d.ts +2 -0
  20. package/dist/commands/api/outreach-prospect-writes.js +139 -0
  21. package/dist/commands/api/outreach-prospect-writes.js.map +1 -0
  22. package/dist/commands/api/outreach-prospects.d.ts +2 -0
  23. package/dist/commands/api/outreach-prospects.js +96 -0
  24. package/dist/commands/api/outreach-prospects.js.map +1 -0
  25. package/dist/commands/api/outreach-settings.d.ts +2 -0
  26. package/dist/commands/api/outreach-settings.js +193 -0
  27. package/dist/commands/api/outreach-settings.js.map +1 -0
  28. package/dist/commands/api/outreach-shared.d.ts +24 -0
  29. package/dist/commands/api/outreach-shared.js +34 -0
  30. package/dist/commands/api/outreach-shared.js.map +1 -0
  31. package/dist/commands/api/outreach-signals.d.ts +2 -0
  32. package/dist/commands/api/outreach-signals.js +80 -0
  33. package/dist/commands/api/outreach-signals.js.map +1 -0
  34. package/dist/commands/api/outreach.d.ts +2 -0
  35. package/dist/commands/api/outreach.js +21 -0
  36. package/dist/commands/api/outreach.js.map +1 -0
  37. package/dist/commands/api/projects.js +2 -0
  38. package/dist/commands/api/projects.js.map +1 -1
  39. package/dist/commands/api/seo-backlinks.js +1 -1
  40. package/dist/commands/api/seo-backlinks.js.map +1 -1
  41. package/dist/commands/api/seo-catalog.js +1 -1
  42. package/dist/commands/api/seo-catalog.js.map +1 -1
  43. package/dist/commands/api/seo-changes.js +1 -1
  44. package/dist/commands/api/seo-changes.js.map +1 -1
  45. package/dist/commands/api/seo-data.js +1 -1
  46. package/dist/commands/api/seo-data.js.map +1 -1
  47. package/dist/commands/api/seo-keyword-writes.js +1 -1
  48. package/dist/commands/api/seo-keyword-writes.js.map +1 -1
  49. package/dist/commands/api/seo-keywords.js +1 -1
  50. package/dist/commands/api/seo-keywords.js.map +1 -1
  51. package/dist/commands/api/seo-offers.js +1 -1
  52. package/dist/commands/api/seo-offers.js.map +1 -1
  53. package/dist/commands/api/seo-page-writes.js +1 -1
  54. package/dist/commands/api/seo-page-writes.js.map +1 -1
  55. package/dist/commands/api/seo-pages.js +1 -1
  56. package/dist/commands/api/seo-pages.js.map +1 -1
  57. package/dist/commands/api/seo-settings.js +1 -1
  58. package/dist/commands/api/seo-settings.js.map +1 -1
  59. package/dist/commands/api/seo-site.js +1 -1
  60. package/dist/commands/api/seo-site.js.map +1 -1
  61. package/dist/index.js +5 -0
  62. package/dist/index.js.map +1 -1
  63. package/dist/{commands/api/seo-shared.d.ts → lib/command-helpers.d.ts} +1 -1
  64. package/dist/{commands/api/seo-shared.js → lib/command-helpers.js} +8 -8
  65. package/dist/lib/command-helpers.js.map +1 -0
  66. package/dist/lib/stack/driver.d.ts +14 -0
  67. package/dist/lib/stack/driver.js +228 -0
  68. package/dist/lib/stack/driver.js.map +1 -0
  69. package/dist/lib/stack/manifest.d.ts +28 -0
  70. package/dist/lib/stack/manifest.js +182 -0
  71. package/dist/lib/stack/manifest.js.map +1 -0
  72. package/dist/lib/stack/processes.d.ts +11 -0
  73. package/dist/lib/stack/processes.js +139 -0
  74. package/dist/lib/stack/processes.js.map +1 -0
  75. package/dist/lib/stack/registry.d.ts +24 -0
  76. package/dist/lib/stack/registry.js +37 -0
  77. package/dist/lib/stack/registry.js.map +1 -0
  78. package/package.json +3 -2
  79. package/dist/commands/api/seo-shared.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/lib/stack/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ReadyProbe } from "./manifest.js";
2
+ export declare function runStep(command: string, cwd: string, env: Record<string, string>): void;
3
+ export declare function spawnDetached(command: string, cwd: string, logFile: string, env: Record<string, string>): number;
4
+ export declare function alive(pid: number): boolean;
5
+ export declare function killGroup(pid: number): Promise<void>;
6
+ export declare function probeOnce(probe: ReadyProbe): Promise<boolean>;
7
+ export declare function waitReady(probe: ReadyProbe, timeoutMs: number, label: string, logFile?: string, pid?: number): Promise<void>;
8
+ export declare function hashFile(file: string): string;
9
+ export declare function logTail(file: string, lines?: number): string;
10
+ export declare function composeProjects(): Set<string> | null;
11
+ export declare function gitBranch(cwd: string): string | null;
@@ -0,0 +1,139 @@
1
+ import { execFileSync, execSync, spawn } from "node:child_process";
2
+ import crypto from "node:crypto";
3
+ import fs from "node:fs";
4
+ import net from "node:net";
5
+ import { setTimeout as sleep } from "node:timers/promises";
6
+ const POLL_MS = 500;
7
+ const PROBE_TIMEOUT_MS = 1500;
8
+ const KILL_GRACE_MS = 10_000;
9
+ // One-shot step (compose up, a migration, an install): the command's output
10
+ // streams to the caller's terminal, and a non-zero exit stops the driver.
11
+ export function runStep(command, cwd, env) {
12
+ execSync(command, { cwd, stdio: "inherit", env: { ...process.env, ...env } });
13
+ }
14
+ // Long-lived service, detached in its own process group so the driver can
15
+ // end the whole tree later (npm and bun fork the real server), with both
16
+ // streams appended to the service's log file.
17
+ export function spawnDetached(command, cwd, logFile, env) {
18
+ const fd = fs.openSync(logFile, "a");
19
+ const child = spawn(command, {
20
+ cwd,
21
+ shell: true,
22
+ detached: true,
23
+ stdio: ["ignore", fd, fd],
24
+ env: { ...process.env, ...env },
25
+ });
26
+ fs.closeSync(fd);
27
+ child.unref();
28
+ if (child.pid === undefined)
29
+ throw new Error(`could not start: ${command}`);
30
+ return child.pid;
31
+ }
32
+ export function alive(pid) {
33
+ try {
34
+ process.kill(pid, 0);
35
+ return true;
36
+ }
37
+ catch {
38
+ return false;
39
+ }
40
+ }
41
+ function signalGroup(pid, signal) {
42
+ try {
43
+ process.kill(-pid, signal);
44
+ }
45
+ catch (err) {
46
+ // ESRCH: the group is already gone, which is the outcome wanted.
47
+ if (err.code !== "ESRCH")
48
+ throw err;
49
+ }
50
+ }
51
+ export async function killGroup(pid) {
52
+ signalGroup(pid, "SIGTERM");
53
+ const deadline = Date.now() + KILL_GRACE_MS;
54
+ while (alive(pid) && Date.now() < deadline)
55
+ await sleep(POLL_MS);
56
+ if (alive(pid))
57
+ signalGroup(pid, "SIGKILL");
58
+ }
59
+ function probeTcp(port) {
60
+ return new Promise((resolve) => {
61
+ const socket = net.createConnection({
62
+ port,
63
+ host: "localhost",
64
+ autoSelectFamily: true,
65
+ });
66
+ const done = (ok) => {
67
+ socket.destroy();
68
+ resolve(ok);
69
+ };
70
+ socket.setTimeout(PROBE_TIMEOUT_MS, () => done(false));
71
+ socket.once("connect", () => done(true));
72
+ socket.once("error", () => done(false));
73
+ });
74
+ }
75
+ async function probeHttp(url) {
76
+ try {
77
+ const res = await fetch(url, {
78
+ signal: AbortSignal.timeout(PROBE_TIMEOUT_MS),
79
+ });
80
+ return res.status < 500;
81
+ }
82
+ catch {
83
+ return false;
84
+ }
85
+ }
86
+ export function probeOnce(probe) {
87
+ return probe.kind === "tcp" ? probeTcp(probe.port) : probeHttp(probe.url);
88
+ }
89
+ export async function waitReady(probe, timeoutMs, label, logFile, pid) {
90
+ const deadline = Date.now() + timeoutMs;
91
+ const tail = () => logFile ? `\n--- ${logFile} ---\n${logTail(logFile)}` : "";
92
+ while (Date.now() < deadline) {
93
+ if (await probeOnce(probe))
94
+ return;
95
+ if (pid !== undefined && !alive(pid)) {
96
+ throw new Error(`${label}: exited before answering its ready probe${tail()}`);
97
+ }
98
+ await sleep(POLL_MS);
99
+ }
100
+ throw new Error(`${label}: not ready after ${Math.round(timeoutMs / 1000)}s${tail()}`);
101
+ }
102
+ export function hashFile(file) {
103
+ return crypto
104
+ .createHash("sha256")
105
+ .update(fs.readFileSync(file))
106
+ .digest("hex");
107
+ }
108
+ export function logTail(file, lines = 40) {
109
+ if (!fs.existsSync(file))
110
+ return "";
111
+ return fs.readFileSync(file, "utf8").split("\n").slice(-lines).join("\n");
112
+ }
113
+ // Compose project labels of the running containers; null when Docker is
114
+ // absent or down (then nothing is recorded, and nothing is exempted).
115
+ export function composeProjects() {
116
+ try {
117
+ const out = execFileSync("docker", ["ps", "--format", '{{.Label "com.docker.compose.project"}}'], { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
118
+ return new Set(out
119
+ .split("\n")
120
+ .map((l) => l.trim())
121
+ .filter((l) => l !== ""));
122
+ }
123
+ catch {
124
+ return null;
125
+ }
126
+ }
127
+ export function gitBranch(cwd) {
128
+ try {
129
+ return execFileSync("git", ["rev-parse", "--abbrev-ref", "HEAD"], {
130
+ cwd,
131
+ encoding: "utf8",
132
+ stdio: ["ignore", "pipe", "ignore"],
133
+ }).trim();
134
+ }
135
+ catch {
136
+ return null;
137
+ }
138
+ }
139
+ //# sourceMappingURL=processes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processes.js","sourceRoot":"","sources":["../../../src/lib/stack/processes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export declare const STACKS_DIR: string;
2
+ export type ServiceRecord = {
3
+ pid: number | null;
4
+ startedAt: string;
5
+ };
6
+ export type StackRecord = {
7
+ slug: string;
8
+ root: string;
9
+ branch: string | null;
10
+ startedAt: string;
11
+ lastUsedAt: string;
12
+ services: Record<string, ServiceRecord>;
13
+ ups: Record<string, {
14
+ owned: boolean;
15
+ }>;
16
+ installs: Record<string, string>;
17
+ composeProjects: string[];
18
+ };
19
+ export declare function logDir(slug: string): string;
20
+ export declare function logPath(slug: string, service: string): string;
21
+ export declare function readRecord(slug: string): StackRecord | null;
22
+ export declare function writeRecord(rec: StackRecord): void;
23
+ export declare function removeRecord(slug: string): void;
24
+ export declare function listRecords(): StackRecord[];
@@ -0,0 +1,37 @@
1
+ import fs from "node:fs";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ // One record per project stack the driver brought up, outside the workspace
5
+ // so it survives syncs and is readable by the worker (which reads this
6
+ // folder to take idle, failed and leftover stacks down). Logs sit beside it.
7
+ export const STACKS_DIR = path.join(os.homedir(), ".itznexus", "stacks");
8
+ const recordPath = (slug) => path.join(STACKS_DIR, `${slug}.json`);
9
+ export function logDir(slug) {
10
+ return path.join(STACKS_DIR, slug);
11
+ }
12
+ export function logPath(slug, service) {
13
+ return path.join(logDir(slug), `${service}.log`);
14
+ }
15
+ export function readRecord(slug) {
16
+ const file = recordPath(slug);
17
+ if (!fs.existsSync(file))
18
+ return null;
19
+ return JSON.parse(fs.readFileSync(file, "utf8"));
20
+ }
21
+ export function writeRecord(rec) {
22
+ fs.mkdirSync(logDir(rec.slug), { recursive: true });
23
+ fs.writeFileSync(recordPath(rec.slug), JSON.stringify(rec, null, 2));
24
+ }
25
+ export function removeRecord(slug) {
26
+ fs.rmSync(recordPath(slug), { force: true });
27
+ }
28
+ export function listRecords() {
29
+ if (!fs.existsSync(STACKS_DIR))
30
+ return [];
31
+ return fs
32
+ .readdirSync(STACKS_DIR)
33
+ .filter((f) => f.endsWith(".json"))
34
+ .map((f) => readRecord(f.slice(0, -".json".length)))
35
+ .filter((r) => r !== null);
36
+ }
37
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/lib/stack/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,4EAA4E;AAC5E,uEAAuE;AACvE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AAsBzE,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;AAE3E,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,OAAe;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAgB,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAgB;IAC1C,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1C,OAAO,EAAE;SACN,WAAW,CAAC,UAAU,CAAC;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SACnD,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACjD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itznexus/itznexus-cli",
3
- "version": "1.142.0",
3
+ "version": "1.144.0",
4
4
  "description": "ITzNexus CLI: operational commands for ITzWorking",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -31,7 +31,8 @@
31
31
  "dependencies": {
32
32
  "chalk": "5.6.2",
33
33
  "commander": "14.0.3",
34
- "dotenv": "17.3.1"
34
+ "dotenv": "17.3.1",
35
+ "yaml": "2.9.1"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@eslint/js": "10.0.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"seo-shared.js","sourceRoot":"","sources":["../../../src/commands/api/seo-shared.ts"],"names":[],"mappings":"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"}