@hasna/project 0.1.2 → 0.1.3

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/cli/index.js CHANGED
@@ -36382,6 +36382,9 @@ function updateProject(id, input, db) {
36382
36382
  if (input.name !== undefined) {
36383
36383
  sets.push("name = ?");
36384
36384
  params.push(input.name);
36385
+ const newSlug = ensureUniqueSlug(slugify(input.name), d, id);
36386
+ sets.push("slug = ?");
36387
+ params.push(newSlug);
36385
36388
  }
36386
36389
  if (input.description !== undefined) {
36387
36390
  sets.push("description = ?");
@@ -36456,7 +36459,10 @@ function resolveProject(idOrSlug, db) {
36456
36459
  const prefixRow = d.query("SELECT id FROM projects WHERE id LIKE ? LIMIT 1").get(`${idOrSlug}%`);
36457
36460
  if (prefixRow)
36458
36461
  return getProject(prefixRow.id, d);
36459
- const subRow = d.query("SELECT id FROM projects WHERE slug LIKE ? ORDER BY length(slug) ASC LIMIT 1").get(`%${idOrSlug}%`);
36462
+ const nameRow = d.query("SELECT id FROM projects WHERE name = ? LIMIT 1").get(idOrSlug);
36463
+ if (nameRow)
36464
+ return getProject(nameRow.id, d);
36465
+ const subRow = d.query("SELECT id FROM projects WHERE slug LIKE ? OR name LIKE ? ORDER BY length(slug) ASC LIMIT 1").get(`%${idOrSlug}%`, `%${idOrSlug}%`);
36460
36466
  if (subRow)
36461
36467
  return getProject(subRow.id, d);
36462
36468
  const allRows = d.query("SELECT id, slug FROM projects WHERE status = 'active'").all();
@@ -45582,7 +45588,7 @@ async function syncProject(project, options = {}) {
45582
45588
  const region = options.region ?? process.env["AWS_DEFAULT_REGION"] ?? "us-east-1";
45583
45589
  const log = options.onProgress ?? (() => {});
45584
45590
  if (!project.s3_bucket) {
45585
- throw new Error(`Project "${project.name}" has no s3_bucket configured. Run: projects update ${project.slug} --s3-bucket <bucket>`);
45591
+ throw new Error(`Project "${project.name}" has no s3_bucket configured. Run: project update ${project.slug} --s3-bucket <bucket>`);
45586
45592
  }
45587
45593
  const client = makeS3Client(region);
45588
45594
  const bucket = project.s3_bucket;
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/db/projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAE7D,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EAEP,aAAa,EACb,mBAAmB,EACnB,OAAO,EAEP,aAAa,EACd,MAAM,mBAAmB,CAAC;AAc3B,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK5C;AAwBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAmD/E;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAMpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAM5E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAM5E;AAED,wBAAgB,YAAY,CAAC,MAAM,GAAE,aAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAmBjF;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,kBAAkB,EACzB,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CA4BT;AAGD,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,mBAAmB,EACjC,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAqBT;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAMjE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAMnE;AAeD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CA8B9E;AAOD,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,aAAa,EACxB,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAST;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACjE,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAST;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAMpF"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/db/projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAE7D,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EAEP,aAAa,EACb,mBAAmB,EACnB,OAAO,EAEP,aAAa,EACd,MAAM,mBAAmB,CAAC;AAc3B,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK5C;AAwBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAmD/E;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAMpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAM5E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAM5E;AAED,wBAAgB,YAAY,CAAC,MAAM,GAAE,aAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAmBjF;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,kBAAkB,EACzB,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAmCT;AAGD,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,mBAAmB,EACjC,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAqBT;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAMjE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAMnE;AAeD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAoC9E;AAOD,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,aAAa,EACxB,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAST;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACjE,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAST;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAMpF"}
package/dist/index.js CHANGED
@@ -22658,6 +22658,9 @@ function updateProject(id, input, db) {
22658
22658
  if (input.name !== undefined) {
22659
22659
  sets.push("name = ?");
22660
22660
  params.push(input.name);
22661
+ const newSlug = ensureUniqueSlug(slugify(input.name), d, id);
22662
+ sets.push("slug = ?");
22663
+ params.push(newSlug);
22661
22664
  }
22662
22665
  if (input.description !== undefined) {
22663
22666
  sets.push("description = ?");
@@ -22753,7 +22756,10 @@ function resolveProject(idOrSlug, db) {
22753
22756
  const prefixRow = d.query("SELECT id FROM projects WHERE id LIKE ? LIMIT 1").get(`${idOrSlug}%`);
22754
22757
  if (prefixRow)
22755
22758
  return getProject(prefixRow.id, d);
22756
- const subRow = d.query("SELECT id FROM projects WHERE slug LIKE ? ORDER BY length(slug) ASC LIMIT 1").get(`%${idOrSlug}%`);
22759
+ const nameRow = d.query("SELECT id FROM projects WHERE name = ? LIMIT 1").get(idOrSlug);
22760
+ if (nameRow)
22761
+ return getProject(nameRow.id, d);
22762
+ const subRow = d.query("SELECT id FROM projects WHERE slug LIKE ? OR name LIKE ? ORDER BY length(slug) ASC LIMIT 1").get(`%${idOrSlug}%`, `%${idOrSlug}%`);
22757
22763
  if (subRow)
22758
22764
  return getProject(subRow.id, d);
22759
22765
  const allRows = d.query("SELECT id, slug FROM projects WHERE status = 'active'").all();
@@ -31858,7 +31864,7 @@ async function syncProject(project, options = {}) {
31858
31864
  const region = options.region ?? process.env["AWS_DEFAULT_REGION"] ?? "us-east-1";
31859
31865
  const log = options.onProgress ?? (() => {});
31860
31866
  if (!project.s3_bucket) {
31861
- throw new Error(`Project "${project.name}" has no s3_bucket configured. Run: projects update ${project.slug} --s3-bucket <bucket>`);
31867
+ throw new Error(`Project "${project.name}" has no s3_bucket configured. Run: project update ${project.slug} --s3-bucket <bucket>`);
31862
31868
  }
31863
31869
  const client = makeS3Client(region);
31864
31870
  const bucket = project.s3_bucket;
package/dist/mcp/index.js CHANGED
@@ -37811,6 +37811,9 @@ function updateProject(id, input, db) {
37811
37811
  if (input.name !== undefined) {
37812
37812
  sets.push("name = ?");
37813
37813
  params.push(input.name);
37814
+ const newSlug = ensureUniqueSlug(slugify(input.name), d, id);
37815
+ sets.push("slug = ?");
37816
+ params.push(newSlug);
37814
37817
  }
37815
37818
  if (input.description !== undefined) {
37816
37819
  sets.push("description = ?");
@@ -37898,7 +37901,10 @@ function resolveProject(idOrSlug, db) {
37898
37901
  const prefixRow = d.query("SELECT id FROM projects WHERE id LIKE ? LIMIT 1").get(`${idOrSlug}%`);
37899
37902
  if (prefixRow)
37900
37903
  return getProject(prefixRow.id, d);
37901
- const subRow = d.query("SELECT id FROM projects WHERE slug LIKE ? ORDER BY length(slug) ASC LIMIT 1").get(`%${idOrSlug}%`);
37904
+ const nameRow = d.query("SELECT id FROM projects WHERE name = ? LIMIT 1").get(idOrSlug);
37905
+ if (nameRow)
37906
+ return getProject(nameRow.id, d);
37907
+ const subRow = d.query("SELECT id FROM projects WHERE slug LIKE ? OR name LIKE ? ORDER BY length(slug) ASC LIMIT 1").get(`%${idOrSlug}%`, `%${idOrSlug}%`);
37902
37908
  if (subRow)
37903
37909
  return getProject(subRow.id, d);
37904
37910
  const allRows = d.query("SELECT id, slug FROM projects WHERE status = 'active'").all();
@@ -47004,7 +47010,7 @@ async function syncProject(project, options = {}) {
47004
47010
  const region = options.region ?? process.env["AWS_DEFAULT_REGION"] ?? "us-east-1";
47005
47011
  const log = options.onProgress ?? (() => {});
47006
47012
  if (!project.s3_bucket) {
47007
- throw new Error(`Project "${project.name}" has no s3_bucket configured. Run: projects update ${project.slug} --s3-bucket <bucket>`);
47013
+ throw new Error(`Project "${project.name}" has no s3_bucket configured. Run: project update ${project.slug} --s3-bucket <bucket>`);
47008
47014
  }
47009
47015
  const client = makeS3Client(region);
47010
47016
  const bucket = project.s3_bucket;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hasna/project",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Project management CLI + MCP server for AI agents — register, sync, and open projects across machines",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -45,11 +45,11 @@
45
45
  },
46
46
  "repository": {
47
47
  "type": "git",
48
- "url": "https://github.com/hasna/open-projects.git"
48
+ "url": "https://github.com/hasna/projects.git"
49
49
  },
50
- "homepage": "https://github.com/hasna/open-projects",
50
+ "homepage": "https://github.com/hasna/projects",
51
51
  "bugs": {
52
- "url": "https://github.com/hasna/open-projects/issues"
52
+ "url": "https://github.com/hasna/projects/issues"
53
53
  },
54
54
  "engines": {
55
55
  "bun": ">=1.0.0"