@itznexus/itznexus-cli 1.6.0 → 1.8.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.
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const contentSeedCommand: Command;
@@ -0,0 +1,240 @@
1
+ import { Command } from "commander";
2
+ import chalk from "chalk";
3
+ import { api } from "../../lib/api.js";
4
+ import { printList, printDetail, handleError } from "../../lib/format.js";
5
+ const listCommand = new Command("list")
6
+ .description("List content seeds")
7
+ .option("--status <status>", "Filter by status (raw|active|exhausted|archived)")
8
+ .option("--scope-hint <scope>", "Filter by scope (minimal|small|medium|large)")
9
+ .option("--search <query>", "Search title and gist")
10
+ .option("--json", "Output as JSON")
11
+ .action(async (opts) => {
12
+ try {
13
+ const params = new URLSearchParams();
14
+ if (opts.status)
15
+ params.set("status", opts.status);
16
+ if (opts.scopeHint)
17
+ params.set("scopeHint", opts.scopeHint);
18
+ if (opts.search)
19
+ params.set("search", opts.search);
20
+ const qs = params.toString();
21
+ const data = await api.get(`/content-seeds${qs ? `?${qs}` : ""}`);
22
+ printList(data, [
23
+ { key: "title", label: "Title", width: 35 },
24
+ { key: "status", label: "Status", width: 12 },
25
+ { key: "scopeHint", label: "Scope", width: 10 },
26
+ { key: "updatedAt", label: "Updated", width: 24 },
27
+ ], opts);
28
+ }
29
+ catch (err) {
30
+ handleError(err);
31
+ }
32
+ });
33
+ const getCommand = new Command("get")
34
+ .description("Get a content seed")
35
+ .argument("<id>", "Seed ID")
36
+ .option("--json", "Output as JSON")
37
+ .action(async (id, opts) => {
38
+ try {
39
+ const data = await api.get(`/content-seeds/${id}`);
40
+ if (opts.json) {
41
+ console.log(JSON.stringify(data, null, 2));
42
+ return;
43
+ }
44
+ console.log(chalk.bold(data.title));
45
+ console.log(chalk.dim(data.gist));
46
+ printDetail(data, [
47
+ { key: "id", label: "ID" },
48
+ { key: "status", label: "Status" },
49
+ { key: "scopeHint", label: "Scope" },
50
+ { key: "sourceType", label: "Source type" },
51
+ { key: "sourceId", label: "Source ID" },
52
+ { key: "proof", label: "Proof" },
53
+ { key: "promise", label: "Promise" },
54
+ { key: "plan", label: "Plan" },
55
+ { key: "createdAt", label: "Created" },
56
+ { key: "updatedAt", label: "Updated" },
57
+ ], opts);
58
+ }
59
+ catch (err) {
60
+ handleError(err);
61
+ }
62
+ });
63
+ const createCommand = new Command("create")
64
+ .description("Create a new content seed")
65
+ .requiredOption("--title <text>", "Working title (for the picker, not public)")
66
+ .requiredOption("--gist <text>", "1 to 2 sentence claim, the seed's substance")
67
+ .option("--scope-hint <scope>", "Scope hint (minimal|small|medium|large)", "small")
68
+ .option("--status <status>", "Status (raw|active|exhausted|archived)")
69
+ .option("--proof <text>", "3P: proof")
70
+ .option("--promise <text>", "3P: promise")
71
+ .option("--plan <text>", "3P: plan")
72
+ .option("--source-type <type>", "Source type (sprint|project|task|interaction|page|manual)")
73
+ .option("--source-id <id>", "Source entity ID")
74
+ .option("--json", "Output as JSON")
75
+ .action(async (opts) => {
76
+ try {
77
+ const payload = {
78
+ title: opts.title,
79
+ gist: opts.gist,
80
+ };
81
+ if (opts.scopeHint !== undefined)
82
+ payload.scopeHint = opts.scopeHint;
83
+ if (opts.status !== undefined)
84
+ payload.status = opts.status;
85
+ if (opts.proof !== undefined)
86
+ payload.proof = opts.proof;
87
+ if (opts.promise !== undefined)
88
+ payload.promise = opts.promise;
89
+ if (opts.plan !== undefined)
90
+ payload.plan = opts.plan;
91
+ if (opts.sourceType !== undefined)
92
+ payload.sourceType = opts.sourceType;
93
+ if (opts.sourceId !== undefined)
94
+ payload.sourceId = opts.sourceId;
95
+ const data = await api.post("/content-seeds", payload);
96
+ if (opts.json) {
97
+ console.log(JSON.stringify(data, null, 2));
98
+ }
99
+ else {
100
+ console.log(chalk.green("✓"), `Seed created: ${chalk.bold(data.id)}`);
101
+ }
102
+ }
103
+ catch (err) {
104
+ handleError(err);
105
+ }
106
+ });
107
+ const updateCommand = new Command("update")
108
+ .description("Update a content seed")
109
+ .argument("<id>", "Seed ID")
110
+ .option("--title <text>", "Title")
111
+ .option("--gist <text>", "Gist")
112
+ .option("--scope-hint <scope>", "Scope (minimal|small|medium|large)")
113
+ .option("--status <status>", "Status (raw|active|exhausted|archived)")
114
+ .option("--proof <text>", 'Proof ("null" to clear)')
115
+ .option("--promise <text>", 'Promise ("null" to clear)')
116
+ .option("--plan <text>", 'Plan ("null" to clear)')
117
+ .option("--source-type <type>", 'Source type (sprint|project|task|interaction|page|manual, "null" to clear)')
118
+ .option("--source-id <id>", 'Source entity ID ("null" to clear)')
119
+ .option("--json", "Output as JSON")
120
+ .action(async (id, opts) => {
121
+ try {
122
+ const nullable = (v) => (v === "null" ? null : v);
123
+ const payload = {};
124
+ if (opts.title !== undefined)
125
+ payload.title = opts.title;
126
+ if (opts.gist !== undefined)
127
+ payload.gist = opts.gist;
128
+ if (opts.scopeHint !== undefined)
129
+ payload.scopeHint = opts.scopeHint;
130
+ if (opts.status !== undefined)
131
+ payload.status = opts.status;
132
+ if (opts.proof !== undefined)
133
+ payload.proof = nullable(opts.proof);
134
+ if (opts.promise !== undefined)
135
+ payload.promise = nullable(opts.promise);
136
+ if (opts.plan !== undefined)
137
+ payload.plan = nullable(opts.plan);
138
+ if (opts.sourceType !== undefined)
139
+ payload.sourceType = nullable(opts.sourceType);
140
+ if (opts.sourceId !== undefined)
141
+ payload.sourceId = nullable(opts.sourceId);
142
+ const data = await api.post(`/content-seeds/${id}`, payload);
143
+ if (opts.json) {
144
+ console.log(JSON.stringify(data, null, 2));
145
+ }
146
+ else {
147
+ console.log(chalk.green("✓"), "Seed updated");
148
+ }
149
+ }
150
+ catch (err) {
151
+ handleError(err);
152
+ }
153
+ });
154
+ const deleteCommand = new Command("delete")
155
+ .description("Delete a content seed")
156
+ .argument("<id>", "Seed ID")
157
+ .option("--json", "Output as JSON")
158
+ .action(async (id, opts) => {
159
+ try {
160
+ await api.delete(`/content-seeds/${id}`);
161
+ if (opts.json) {
162
+ console.log(JSON.stringify({ deleted: true, id }));
163
+ }
164
+ else {
165
+ console.log(chalk.green("✓"), "Seed deleted");
166
+ }
167
+ }
168
+ catch (err) {
169
+ handleError(err);
170
+ }
171
+ });
172
+ const linkFolderCommand = new Command("link-folder")
173
+ .description("Link a folder to a content seed")
174
+ .argument("<id>", "Seed ID")
175
+ .requiredOption("--folder <folderId>", "Folder ID")
176
+ .option("--json", "Output as JSON")
177
+ .action(async (id, opts) => {
178
+ try {
179
+ const data = await api.post(`/content-seeds/${id}/folders`, {
180
+ folderId: opts.folder,
181
+ });
182
+ if (opts.json) {
183
+ console.log(JSON.stringify(data, null, 2));
184
+ }
185
+ else {
186
+ console.log(chalk.green("✓"), "Folder linked");
187
+ }
188
+ }
189
+ catch (err) {
190
+ handleError(err);
191
+ }
192
+ });
193
+ const unlinkFolderCommand = new Command("unlink-folder")
194
+ .description("Unlink a folder from a content seed")
195
+ .argument("<id>", "Seed ID")
196
+ .requiredOption("--folder <folderId>", "Folder ID")
197
+ .option("--json", "Output as JSON")
198
+ .action(async (id, opts) => {
199
+ try {
200
+ await api.delete(`/content-seeds/${id}/folders/${opts.folder}`);
201
+ if (opts.json) {
202
+ console.log(JSON.stringify({ unlinked: true }));
203
+ }
204
+ else {
205
+ console.log(chalk.green("✓"), "Folder unlinked");
206
+ }
207
+ }
208
+ catch (err) {
209
+ handleError(err);
210
+ }
211
+ });
212
+ const syncDefaultFoldersCommand = new Command("sync-default-folders")
213
+ .description("Sync default reference folders to a content seed")
214
+ .argument("<id>", "Seed ID")
215
+ .option("--json", "Output as JSON")
216
+ .action(async (id, opts) => {
217
+ try {
218
+ const data = await api.post(`/content-seeds/${id}/sync-default-folders`, {});
219
+ if (opts.json) {
220
+ console.log(JSON.stringify(data, null, 2));
221
+ }
222
+ else {
223
+ console.log(chalk.green("✓"), `Linked ${data.linked}, skipped ${data.skipped}`);
224
+ }
225
+ }
226
+ catch (err) {
227
+ handleError(err);
228
+ }
229
+ });
230
+ export const contentSeedCommand = new Command("content-seed")
231
+ .description("Manage content seeds")
232
+ .addCommand(listCommand)
233
+ .addCommand(getCommand)
234
+ .addCommand(createCommand)
235
+ .addCommand(updateCommand)
236
+ .addCommand(deleteCommand)
237
+ .addCommand(linkFolderCommand)
238
+ .addCommand(unlinkFolderCommand)
239
+ .addCommand(syncDefaultFoldersCommand);
240
+ //# sourceMappingURL=content-seeds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-seeds.js","sourceRoot":"","sources":["../../../src/commands/api/content-seeds.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,12 +5,14 @@ import path from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import { Command } from "commander";
7
7
  import { checkForUpdates } from "./lib/auto-update.js";
8
+ import { setActiveProfile } from "./lib/config.js";
8
9
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
9
10
  const pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, "..", "package.json"), "utf-8"));
10
11
  // API-mapped commands (1-1 with API domains)
11
12
  import { authCommand } from "./commands/api/auth.js";
12
13
  import { auditLogCommand } from "./commands/api/audit-logs.js";
13
14
  import { claudeEventCommand } from "./commands/api/claude-events.js";
15
+ import { contentSeedCommand } from "./commands/api/content-seeds.js";
14
16
  import { fileCommand } from "./commands/api/files.js";
15
17
  import { folderCommand } from "./commands/api/folders.js";
16
18
  import { gmailAccountCommand } from "./commands/api/gmail-accounts.js";
@@ -40,7 +42,7 @@ import { upworkCommand } from "./commands/agents/upwork.js";
40
42
  // Tooling
41
43
  import { schemaCommand } from "./commands/schema.js";
42
44
  checkForUpdates();
43
- const helpText = `ITzNexus CLI — operational commands for ITzAgency
45
+ const helpText = `ITzNexus CLI: operational commands for ITzWorking
44
46
 
45
47
  USAGE
46
48
  itznexus <command> [flags]
@@ -60,6 +62,7 @@ CONTENT
60
62
  page Manage pages (docs/notes)
61
63
  file Manage files
62
64
  folder Manage folders
65
+ content-seed Manage content seeds (multi-platform fan-out)
63
66
 
64
67
  YOUTUBE
65
68
  youtube-production Manage YouTube productions
@@ -92,6 +95,7 @@ COMMON FLAGS
92
95
  --help Show help for command/domain
93
96
  --version Show itznexus version
94
97
  --json Output as JSON
98
+ --profile <name> Config profile to use (or ITZNEXUS_PROFILE)
95
99
 
96
100
  EXAMPLES
97
101
  $ itznexus health
@@ -118,6 +122,7 @@ program.addCommand(interactionCommand);
118
122
  program.addCommand(pageCommand);
119
123
  program.addCommand(fileCommand);
120
124
  program.addCommand(folderCommand);
125
+ program.addCommand(contentSeedCommand);
121
126
  // YouTube
122
127
  program.addCommand(youtubeProductionCommand);
123
128
  program.addCommand(youtubeVideoCommand);
@@ -141,5 +146,24 @@ program.addCommand(upworkCommand);
141
146
  program.addCommand(healthCommand);
142
147
  program.addCommand(authCommand);
143
148
  program.addCommand(schemaCommand);
144
- program.parse();
149
+ // Resolve `--profile` before Commander parses, so it works in any position
150
+ // (e.g. `itznexus lead list --profile staging`) and is set before any
151
+ // loadConfig() runs. The flag is stripped from argv so Commander never sees it.
152
+ const rawArgs = process.argv.slice(2);
153
+ const parsedArgs = [];
154
+ let profile;
155
+ for (let i = 0; i < rawArgs.length; i++) {
156
+ const arg = rawArgs[i];
157
+ if (arg === "--profile") {
158
+ profile = rawArgs[++i];
159
+ }
160
+ else if (arg.startsWith("--profile=")) {
161
+ profile = arg.slice("--profile=".length);
162
+ }
163
+ else {
164
+ parsedArgs.push(arg);
165
+ }
166
+ }
167
+ setActiveProfile(profile);
168
+ program.parse(parsedArgs, { from: "user" });
145
169
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@ type Config = {
2
2
  apiUrl: string;
3
3
  apiKey?: string;
4
4
  };
5
+ /** Set by the CLI entrypoint from the `--profile` flag (overrides env). */
6
+ export declare function setActiveProfile(name?: string): void;
7
+ export declare function getActiveProfile(): string;
5
8
  export declare function loadConfig(): Config;
6
9
  export declare function saveConfig(config: Partial<Config>): void;
7
10
  export {};
@@ -3,26 +3,79 @@ import path from "node:path";
3
3
  import os from "node:os";
4
4
  const CONFIG_DIR = path.join(os.homedir(), ".itznexus");
5
5
  const CONFIG_FILE = path.join(CONFIG_DIR, "config.json");
6
+ const DEFAULT_PROFILE = "default";
7
+ let activeProfile = process.env.ITZNEXUS_PROFILE?.trim() || DEFAULT_PROFILE;
8
+ /** Set by the CLI entrypoint from the `--profile` flag (overrides env). */
9
+ export function setActiveProfile(name) {
10
+ const trimmed = name?.trim();
11
+ if (trimmed) {
12
+ activeProfile = trimmed;
13
+ }
14
+ }
15
+ export function getActiveProfile() {
16
+ return activeProfile;
17
+ }
6
18
  function defaultConfig() {
7
19
  return {
8
20
  apiUrl: process.env.ITZNEXUS_API_URL ?? "https://api.itznex.us",
9
21
  };
10
22
  }
11
- export function loadConfig() {
12
- const defaults = defaultConfig();
23
+ /**
24
+ * Legacy single-profile format: `{ apiUrl, apiKey }` written at the top level.
25
+ * Distinguished from the multi-profile format (where values are objects) by a
26
+ * non-object `apiUrl`/`apiKey` at the root.
27
+ */
28
+ function isLegacyFlat(raw) {
29
+ return ((typeof raw.apiUrl === "string" || typeof raw.apiKey === "string") &&
30
+ typeof raw.default !== "object");
31
+ }
32
+ /**
33
+ * Read the full multi-profile store, migrating the legacy flat format to
34
+ * `{ default: { ... } }` and persisting the fix when needed.
35
+ */
36
+ function readStore() {
13
37
  if (!fs.existsSync(CONFIG_FILE)) {
14
- return defaults;
38
+ return {};
39
+ }
40
+ const parsed = JSON.parse(fs.readFileSync(CONFIG_FILE, "utf-8"));
41
+ if (typeof parsed !== "object" || parsed === null) {
42
+ return {};
15
43
  }
16
- const raw = fs.readFileSync(CONFIG_FILE, "utf-8");
17
- const stored = JSON.parse(raw);
18
- return { ...defaults, ...stored };
44
+ const raw = parsed;
45
+ if (isLegacyFlat(raw)) {
46
+ const migrated = { [DEFAULT_PROFILE]: raw };
47
+ writeStore(migrated);
48
+ return migrated;
49
+ }
50
+ return raw;
19
51
  }
20
- export function saveConfig(config) {
21
- const current = loadConfig();
22
- const merged = { ...current, ...config };
52
+ function writeStore(store) {
23
53
  if (!fs.existsSync(CONFIG_DIR)) {
24
54
  fs.mkdirSync(CONFIG_DIR, { recursive: true });
25
55
  }
26
- fs.writeFileSync(CONFIG_FILE, JSON.stringify(merged, null, 2) + "\n");
56
+ fs.writeFileSync(CONFIG_FILE, JSON.stringify(store, null, 2) + "\n");
57
+ }
58
+ export function loadConfig() {
59
+ const store = readStore();
60
+ const merged = { ...defaultConfig(), ...store[activeProfile] };
61
+ // Explicitly-set env vars win over the stored profile. The worker
62
+ // injects a per-profile identity this way:
63
+ // ITZNEXUS_API_KEY=… ITZNEXUS_API_URL=… itznexus claude ingest …
64
+ if (process.env.ITZNEXUS_API_URL) {
65
+ merged.apiUrl = process.env.ITZNEXUS_API_URL;
66
+ }
67
+ if (process.env.ITZNEXUS_API_KEY) {
68
+ merged.apiKey = process.env.ITZNEXUS_API_KEY;
69
+ }
70
+ return merged;
71
+ }
72
+ export function saveConfig(config) {
73
+ const store = readStore();
74
+ store[activeProfile] = {
75
+ ...defaultConfig(),
76
+ ...store[activeProfile],
77
+ ...config,
78
+ };
79
+ writeStore(store);
27
80
  }
28
81
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AACxD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAOzD,SAAS,aAAa;IACpB,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,uBAAuB;KAChE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;IAEjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;IAElD,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAuB;IAChD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IAEzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@itznexus/itznexus-cli",
3
- "version": "1.6.0",
4
- "description": "ITzNexus CLI — operational commands for ITzAgency",
3
+ "version": "1.8.0",
4
+ "description": "ITzNexus CLI: operational commands for ITzWorking",
5
5
  "type": "module",
6
6
  "publishConfig": {
7
7
  "access": "public"