polpo-ai 0.3.10 → 0.3.11

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.
@@ -1,9 +1,5 @@
1
1
  /**
2
- * polpo-cloud projects — manage projects (session auth, limited CLI support).
3
- *
4
- * NOTE: Projects API uses session auth (Better Auth), not API key auth.
5
- * These commands are stubs that use API key auth — they may not work
6
- * with the current control plane auth model.
2
+ * polpo cloud projects — manage projects via session token auth.
7
3
  */
8
4
  import type { Command } from "commander";
9
5
  export declare function registerProjectsCommand(program: Command): void;
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/cloud/projects.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0F9D"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/cloud/projects.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4BzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgG9D"}
@@ -1,39 +1,55 @@
1
1
  import { loadCredentials } from "./config.js";
2
2
  import { createApiClient } from "./api.js";
3
+ /**
4
+ * Fetch the user's first org ID. The server requires an orgId for
5
+ * project list/create, so we resolve it automatically.
6
+ */
7
+ async function resolveOrgId(client) {
8
+ const res = await client.get("/v1/orgs");
9
+ if (res.status !== 200) {
10
+ console.error(`Failed to fetch organizations (status ${res.status}). Are you logged in?`);
11
+ process.exit(1);
12
+ }
13
+ const orgs = Array.isArray(res.data) ? res.data : [];
14
+ if (orgs.length === 0) {
15
+ console.error("No organizations found. Create one in the dashboard first.");
16
+ process.exit(1);
17
+ }
18
+ return orgs[0].id;
19
+ }
3
20
  export function registerProjectsCommand(program) {
4
21
  const projects = program
5
22
  .command("projects")
6
- .description("Manage projects (limited — uses API key auth)");
23
+ .description("Manage cloud projects");
7
24
  projects
8
25
  .command("list")
9
26
  .description("List projects")
10
- .action(async () => {
27
+ .option("--org <org-id>", "Organization ID (auto-detected if omitted)")
28
+ .action(async (opts) => {
11
29
  const creds = loadCredentials();
12
30
  if (!creds) {
13
- console.error("Not logged in. Run: polpo-cloud login --api-key <key>");
31
+ console.error("Not logged in. Run: polpo login --api-key <key>");
14
32
  process.exit(1);
15
33
  }
16
34
  const client = createApiClient(creds);
17
35
  try {
18
- const res = await client.get("/v1/projects");
36
+ const orgId = opts.org ?? (await resolveOrgId(client));
37
+ const res = await client.get(`/v1/projects?orgId=${encodeURIComponent(orgId)}`);
19
38
  if (res.status === 200) {
20
- const projects = res.data?.data ?? [];
21
- if (projects.length === 0) {
39
+ const list = Array.isArray(res.data) ? res.data : [];
40
+ if (list.length === 0) {
22
41
  console.log("No projects found.");
23
42
  }
24
43
  else {
25
- for (const p of projects) {
44
+ for (const p of list) {
26
45
  const status = p.status ? ` [${p.status}]` : "";
27
46
  console.log(` ${p.name ?? p.id}${status}`);
28
47
  }
29
48
  }
30
49
  }
31
- else if (res.status === 401) {
32
- console.error("Error: Projects API requires session auth. Use the web dashboard to manage projects.");
33
- process.exit(1);
34
- }
35
50
  else {
36
- console.error("Error: status " + res.status);
51
+ const data = res.data;
52
+ console.error("Error: " + (data?.error ?? `status ${res.status}`));
37
53
  process.exit(1);
38
54
  }
39
55
  }
@@ -45,29 +61,35 @@ export function registerProjectsCommand(program) {
45
61
  projects
46
62
  .command("create <name>")
47
63
  .description("Create a project")
48
- .option("--org <org-id>", "Organization ID")
64
+ .option("--org <org-id>", "Organization ID (auto-detected if omitted)")
49
65
  .action(async (name, opts) => {
50
66
  const creds = loadCredentials();
51
67
  if (!creds) {
52
- console.error("Not logged in. Run: polpo-cloud login --api-key <key>");
68
+ console.error("Not logged in. Run: polpo login --api-key <key>");
53
69
  process.exit(1);
54
70
  }
55
71
  const client = createApiClient(creds);
56
72
  try {
73
+ const orgId = opts.org ?? (await resolveOrgId(client));
74
+ // Derive slug from name: lowercase, replace non-alphanumeric with dashes
75
+ const slug = name
76
+ .toLowerCase()
77
+ .replace(/[^a-z0-9]+/g, "-")
78
+ .replace(/^-|-$/g, "");
57
79
  const res = await client.post("/v1/projects", {
80
+ orgId,
58
81
  name,
59
- orgId: opts.org,
82
+ slug,
60
83
  });
61
84
  if (res.status >= 200 && res.status < 300) {
62
- const project = res.data?.data ?? res.data;
85
+ const project = res.data;
63
86
  console.log(`Project "${name}" created.`);
64
87
  if (project?.id) {
65
88
  console.log(` ID: ${project.id}`);
66
89
  }
67
- }
68
- else if (res.status === 401) {
69
- console.error("Error: Projects API requires session auth. Use the web dashboard to manage projects.");
70
- process.exit(1);
90
+ if (project?.slug) {
91
+ console.log(` Slug: ${project.slug}`);
92
+ }
71
93
  }
72
94
  else {
73
95
  const data = res.data;
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../../src/cli/commands/cloud/projects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../../src/cli/commands/cloud/projects.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polpo-ai",
3
- "version": "0.3.10",
3
+ "version": "0.3.11",
4
4
  "description": "The open-source platform for AI agent teams",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",