@adaptive-ds/project-registry 0.3.0 → 0.5.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 (103) hide show
  1. package/README.md +29 -0
  2. package/dist/api/projectRegistryApiHandlerCreate.d.ts +1 -0
  3. package/dist/api/projectRegistryApiHandlerCreate.d.ts.map +1 -1
  4. package/dist/api/projectRegistryApiHandlerCreate.js +83 -2
  5. package/dist/api/projectRegistryApiHandlerCreate.js.map +1 -1
  6. package/dist/cli/ProjectRegistryCliInvocation.d.ts +12 -1
  7. package/dist/cli/ProjectRegistryCliInvocation.d.ts.map +1 -1
  8. package/dist/cli/projectNameFromPath.d.ts +3 -1
  9. package/dist/cli/projectNameFromPath.d.ts.map +1 -1
  10. package/dist/cli/projectNameFromPath.js +16 -3
  11. package/dist/cli/projectNameFromPath.js.map +1 -1
  12. package/dist/cli/projectRegistryCliArgumentsParse.d.ts.map +1 -1
  13. package/dist/cli/projectRegistryCliArgumentsParse.js +89 -8
  14. package/dist/cli/projectRegistryCliArgumentsParse.js.map +1 -1
  15. package/dist/cli/projectRegistryCliHelp.d.ts +1 -1
  16. package/dist/cli/projectRegistryCliHelp.d.ts.map +1 -1
  17. package/dist/cli/projectRegistryCliHelp.js +10 -3
  18. package/dist/cli/projectRegistryCliHelp.js.map +1 -1
  19. package/dist/cli/projectRegistryCliOutputFormat.d.ts.map +1 -1
  20. package/dist/cli/projectRegistryCliOutputFormat.js +47 -0
  21. package/dist/cli/projectRegistryCliOutputFormat.js.map +1 -1
  22. package/dist/cli/projectRegistryCliRequest.d.ts +1 -1
  23. package/dist/cli/projectRegistryCliRequest.d.ts.map +1 -1
  24. package/dist/cli/projectRegistryCliRun.d.ts.map +1 -1
  25. package/dist/cli/projectRegistryCliRun.js +155 -2
  26. package/dist/cli/projectRegistryCliRun.js.map +1 -1
  27. package/dist/index.d.ts +6 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +3 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/project/ProjectUseCaseOptions.d.ts +1 -0
  32. package/dist/project/ProjectUseCaseOptions.d.ts.map +1 -1
  33. package/dist/project/projectCreate.d.ts.map +1 -1
  34. package/dist/project/projectCreate.js +22 -1
  35. package/dist/project/projectCreate.js.map +1 -1
  36. package/dist/project/projectDomainValidate.d.ts +3 -0
  37. package/dist/project/projectDomainValidate.d.ts.map +1 -0
  38. package/dist/project/projectDomainValidate.js +15 -0
  39. package/dist/project/projectDomainValidate.js.map +1 -0
  40. package/dist/project/projectEdit.d.ts.map +1 -1
  41. package/dist/project/projectEdit.js +4 -0
  42. package/dist/project/projectEdit.js.map +1 -1
  43. package/dist/project/projectInputSchema.d.ts +1 -0
  44. package/dist/project/projectInputSchema.d.ts.map +1 -1
  45. package/dist/project/projectInputSchema.js +2 -0
  46. package/dist/project/projectInputSchema.js.map +1 -1
  47. package/dist/project/projectLabelsSchema.d.ts +3 -0
  48. package/dist/project/projectLabelsSchema.d.ts.map +1 -0
  49. package/dist/project/projectLabelsSchema.js +30 -0
  50. package/dist/project/projectLabelsSchema.js.map +1 -0
  51. package/dist/project/projectNormalize.d.ts +2 -0
  52. package/dist/project/projectNormalize.d.ts.map +1 -1
  53. package/dist/project/projectNormalize.js +15 -9
  54. package/dist/project/projectNormalize.js.map +1 -1
  55. package/dist/project/projectSchema.d.ts +1 -0
  56. package/dist/project/projectSchema.d.ts.map +1 -1
  57. package/dist/project/projectSchema.js +2 -0
  58. package/dist/project/projectSchema.js.map +1 -1
  59. package/dist/project-store/ProjectRepository.d.ts +4 -0
  60. package/dist/project-store/ProjectRepository.d.ts.map +1 -1
  61. package/dist/project-store/projectRepositoryOpen.d.ts.map +1 -1
  62. package/dist/project-store/projectRepositoryOpen.js +219 -15
  63. package/dist/project-store/projectRepositoryOpen.js.map +1 -1
  64. package/dist/runtime/ProjectRegistryDaemonConfig.d.ts +1 -0
  65. package/dist/runtime/ProjectRegistryDaemonConfig.d.ts.map +1 -1
  66. package/dist/runtime/projectRegistryDaemonConfigFromEnv.d.ts.map +1 -1
  67. package/dist/runtime/projectRegistryDaemonConfigFromEnv.js +12 -0
  68. package/dist/runtime/projectRegistryDaemonConfigFromEnv.js.map +1 -1
  69. package/dist/runtime/projectRegistryDaemonConfigSchema.d.ts +1 -0
  70. package/dist/runtime/projectRegistryDaemonConfigSchema.d.ts.map +1 -1
  71. package/dist/runtime/projectRegistryDaemonConfigSchema.js +1 -0
  72. package/dist/runtime/projectRegistryDaemonConfigSchema.js.map +1 -1
  73. package/dist/runtime/projectRegistryDaemonConfigValidate.d.ts.map +1 -1
  74. package/dist/runtime/projectRegistryDaemonConfigValidate.js +17 -0
  75. package/dist/runtime/projectRegistryDaemonConfigValidate.js.map +1 -1
  76. package/dist/runtime/projectRegistryDaemonCreate.d.ts.map +1 -1
  77. package/dist/runtime/projectRegistryDaemonCreate.js +3 -0
  78. package/dist/runtime/projectRegistryDaemonCreate.js.map +1 -1
  79. package/dist/user-default-domain/UserDefaultDomain.d.ts +2 -0
  80. package/dist/user-default-domain/UserDefaultDomain.d.ts.map +1 -0
  81. package/dist/user-default-domain/UserDefaultDomain.js +2 -0
  82. package/dist/user-default-domain/UserDefaultDomain.js.map +1 -0
  83. package/dist/user-default-domain/UserDefaultDomainEntry.d.ts +7 -0
  84. package/dist/user-default-domain/UserDefaultDomainEntry.d.ts.map +1 -0
  85. package/dist/user-default-domain/UserDefaultDomainEntry.js +2 -0
  86. package/dist/user-default-domain/UserDefaultDomainEntry.js.map +1 -0
  87. package/dist/user-default-domain/UserDefaultDomainMutation.d.ts +18 -0
  88. package/dist/user-default-domain/UserDefaultDomainMutation.d.ts.map +1 -0
  89. package/dist/user-default-domain/UserDefaultDomainMutation.js +2 -0
  90. package/dist/user-default-domain/UserDefaultDomainMutation.js.map +1 -0
  91. package/dist/user-default-domain/userDefaultDomainPath.d.ts +3 -0
  92. package/dist/user-default-domain/userDefaultDomainPath.d.ts.map +1 -0
  93. package/dist/user-default-domain/userDefaultDomainPath.js +17 -0
  94. package/dist/user-default-domain/userDefaultDomainPath.js.map +1 -0
  95. package/dist/user-default-domain/userDefaultDomainSchema.d.ts +7 -0
  96. package/dist/user-default-domain/userDefaultDomainSchema.d.ts.map +1 -0
  97. package/dist/user-default-domain/userDefaultDomainSchema.js +8 -0
  98. package/dist/user-default-domain/userDefaultDomainSchema.js.map +1 -0
  99. package/dist/user-default-domain/userDefaultDomainValidate.d.ts +4 -0
  100. package/dist/user-default-domain/userDefaultDomainValidate.d.ts.map +1 -0
  101. package/dist/user-default-domain/userDefaultDomainValidate.js +21 -0
  102. package/dist/user-default-domain/userDefaultDomainValidate.js.map +1 -0
  103. package/package.json +6 -1
package/README.md CHANGED
@@ -27,6 +27,35 @@ console.log(projectList([normalized.data]).data.map((project) => project.name))
27
27
 
28
28
  Project identity is the `(owner, name)` pair. Normalization validates the combined registry and Caddy model, and listing applies deterministic Software-compatible ordering. Fallible operations return a `Result` from `@adaptive-ds/result`.
29
29
 
30
+ ## Default user domains
31
+
32
+ Each owner can persist a default base domain in the Git-backed registry with the CLI:
33
+
34
+ ```bash
35
+ project-registry user default-domain get
36
+ project-registry user default-domain set example.com
37
+ project-registry user default-domain unset
38
+ ```
39
+
40
+ `set` is an upsert. `unset` persists an explicit unset decision, so it suppresses the environment fallback for that owner. Project defaults resolve in this order: explicit project domains, the persisted user decision, the environment fallback, and then no domain.
41
+
42
+ Repositories without a stored user decision can use the environment fallback, configured as JSON in `PROJECT_REGISTRY_DEFAULT_USER_DOMAINS`:
43
+
44
+ ```bash
45
+ PROJECT_REGISTRY_DEFAULT_USER_DOMAINS='{"leo":"leonardomora.de"}'
46
+ ```
47
+
48
+ Creating project `api` for `leo` without `--domain` assigns `api.leonardomora.de`. Explicit domains continue to override the configured default. The API equivalents are:
49
+
50
+ ```text
51
+ GET /api/v1/users/:owner/default-domain
52
+ PUT /api/v1/users/:owner/default-domain
53
+ DELETE /api/v1/users/:owner/default-domain
54
+ ```
55
+
56
+ `PUT` accepts `{ "expectedRevision": "...", "domain": "example.com" }`; `DELETE` accepts `{ "expectedRevision": "..." }`.
57
+ The `GET` response reports the effective `domain`, its `source` (`explicit`, `environment`, or `none`), and the registry `revision`. JSON CLI output preserves the complete response or mutation data, including the revision.
58
+
30
59
  ## Scripts
31
60
 
32
61
  - `bun run dev` watch tests
@@ -10,6 +10,7 @@ type ApiHandlerOptions = {
10
10
  caddyApplication: Pick<CaddyApplication, "projectChange" | "regenerate" | "status">;
11
11
  configOptions?: CaddyConfigOptions;
12
12
  portRange?: ProjectPortRange;
13
+ defaultUserDomains?: Readonly<Record<string, string>>;
13
14
  projectAccessLogSource?: ProjectAccessLogSource;
14
15
  socketAccessResolve?: ProjectRegistryDaemonSocketAccessResolve;
15
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"projectRegistryApiHandlerCreate.d.ts","sourceRoot":"","sources":["../../src/api/projectRegistryApiHandlerCreate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAGrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAU9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAG9E,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,mDAAmD,CAAA;AAC5G,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,wDAAwD,CAAA;AAEtH,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,iBAAiB,CAAA;IAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,eAAe,GAAG,YAAY,GAAG,QAAQ,CAAC,CAAA;IACnF,aAAa,CAAC,EAAE,kBAAkB,CAAA;IAClC,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,mBAAmB,CAAC,EAAE,wCAAwC,CAAA;CAC/D,CAAA;AA4eD,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,iBAAiB,GAAG,mCAAmC,CAqa/G"}
1
+ {"version":3,"file":"projectRegistryApiHandlerCreate.d.ts","sourceRoot":"","sources":["../../src/api/projectRegistryApiHandlerCreate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAGrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAY9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAG9E,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,mDAAmD,CAAA;AAC5G,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,wDAAwD,CAAA;AAEtH,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,iBAAiB,CAAA;IAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,eAAe,GAAG,YAAY,GAAG,QAAQ,CAAC,CAAA;IACnF,aAAa,CAAC,EAAE,kBAAkB,CAAA;IAClC,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,kBAAkB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACrD,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,mBAAmB,CAAC,EAAE,wCAAwC,CAAA;CAC/D,CAAA;AAsfD,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,iBAAiB,GAAG,mCAAmC,CA4e/G"}
@@ -5,10 +5,12 @@ import { caddyConfigInspectUseCase } from "../caddy/caddyConfigInspectUseCase.js
5
5
  import { projectDocsUrlsUseCase } from "../caddy/projectDocsUrlsUseCase.js";
6
6
  import { projectCreate } from "../project/projectCreate.js";
7
7
  import { projectDelete } from "../project/projectDelete.js";
8
+ import { projectDomainValidate } from "../project/projectDomainValidate.js";
8
9
  import { projectEdit } from "../project/projectEdit.js";
9
10
  import { projectGetUseCase } from "../project/projectGetUseCase.js";
10
11
  import { projectHistory } from "../project/projectHistory.js";
11
12
  import { projectListUseCase } from "../project/projectListUseCase.js";
13
+ import { projectOwnerAuthorize } from "../project/projectOwnerAuthorize.js";
12
14
  const apiFailureStatus = {
13
15
  "api.method-not-allowed": 405,
14
16
  "api.not-found": 404,
@@ -96,6 +98,13 @@ function routeParse(path) {
96
98
  return { kind: "regenerate", legacy: false };
97
99
  if (path === "/regenerate")
98
100
  return { kind: "regenerate", legacy: true };
101
+ const versionedDefaultDomain = path.match(/^\/api\/v1\/users\/([^/]+)\/default-domain$/);
102
+ if (versionedDefaultDomain !== null) {
103
+ const owner = segmentDecode(versionedDefaultDomain[1], ownerPattern);
104
+ if (owner === undefined)
105
+ return undefined;
106
+ return { kind: "default-domain", legacy: false, owner };
107
+ }
99
108
  const versionedHistory = path.match(/^\/api\/v1\/users\/([^/]+)\/projects\/([^/]+)\/history$/);
100
109
  if (versionedHistory !== null) {
101
110
  const owner = segmentDecode(versionedHistory[1], ownerPattern);
@@ -197,7 +206,8 @@ function routeRequiresProjectAccess(route) {
197
206
  route.kind === "access-logs" ||
198
207
  route.kind === "self-access-logs" ||
199
208
  route.kind === "history" ||
200
- route.kind === "config");
209
+ route.kind === "config" ||
210
+ route.kind === "default-domain");
201
211
  }
202
212
  function resultErrorResponse(result, legacy, feature) {
203
213
  const code = result.code;
@@ -283,6 +293,8 @@ function routeMethods(route) {
283
293
  return route.legacy ? ["GET", "PUT", "PATCH", "DELETE"] : ["GET", "PATCH", "DELETE"];
284
294
  if (route.kind === "project-by-port")
285
295
  return ["DELETE"];
296
+ if (route.kind === "default-domain")
297
+ return ["GET", "PUT", "DELETE"];
286
298
  if (route.kind === "regenerate")
287
299
  return ["POST"];
288
300
  return ["GET"];
@@ -516,7 +528,76 @@ export function projectRegistryApiHandlerCreate(options) {
516
528
  }
517
529
  const resolvedAccess = access ?? requestAccessCreate(username);
518
530
  const owner = "owner" in route && route.owner !== undefined ? route.owner : username;
519
- const useCaseOptions = { repository: options.repository, access: resolvedAccess, portRange: options.portRange };
531
+ const useCaseOptions = {
532
+ repository: options.repository,
533
+ access: resolvedAccess,
534
+ portRange: options.portRange,
535
+ defaultUserDomains: options.defaultUserDomains,
536
+ };
537
+ if (route.kind === "default-domain") {
538
+ const actorR = await resolvedAccess.actorResolve();
539
+ if (!actorR.success)
540
+ return resultErrorResponse(actorR, false, "projects");
541
+ const authorizationR = await projectOwnerAuthorize(resolvedAccess, actorR.data, owner);
542
+ if (!authorizationR.success)
543
+ return resultErrorResponse(authorizationR, false, "projects");
544
+ if (request.method === "GET") {
545
+ const entryR = await options.repository.getUserDefaultDomain(owner);
546
+ if (!entryR.success)
547
+ return resultErrorResponse(entryR, false, "projects");
548
+ const environmentDomain = options.defaultUserDomains?.[owner];
549
+ if (entryR.data.domain === null) {
550
+ return successResponse({ owner, domain: null, source: "explicit", revision: entryR.data.revision });
551
+ }
552
+ if (entryR.data.domain !== undefined) {
553
+ return successResponse({
554
+ owner,
555
+ domain: entryR.data.domain,
556
+ source: "explicit",
557
+ revision: entryR.data.revision,
558
+ });
559
+ }
560
+ if (environmentDomain !== undefined) {
561
+ const environmentDomainR = projectDomainValidate(environmentDomain, "projectRegistryApiDefaultDomainGet");
562
+ if (!environmentDomainR.success)
563
+ return resultErrorResponse(environmentDomainR, false, "projects");
564
+ return successResponse({
565
+ owner,
566
+ domain: environmentDomainR.data,
567
+ source: "environment",
568
+ revision: entryR.data.revision,
569
+ });
570
+ }
571
+ return successResponse({ owner, domain: null, source: "none", revision: entryR.data.revision });
572
+ }
573
+ const body = await requestBodyJson(request, false);
574
+ if (body instanceof Response)
575
+ return body;
576
+ let domain;
577
+ if (request.method === "PUT") {
578
+ const bodyRecord = recordValue(body);
579
+ const domainR = projectDomainValidate(bodyRecord?.domain, "projectRegistryApiDefaultDomainSet");
580
+ if (!domainR.success) {
581
+ return errorResponse({
582
+ code: "request.invalid",
583
+ message: domainR.errorMessage,
584
+ op: domainR.op,
585
+ status: 400,
586
+ }, false);
587
+ }
588
+ domain = domainR.data;
589
+ }
590
+ else {
591
+ domain = null;
592
+ }
593
+ const mutationR = await options.repository.setUserDefaultDomain(owner, domain, {
594
+ actor: actorR.data.username,
595
+ ...expectedRevision(body),
596
+ });
597
+ if (!mutationR.success)
598
+ return resultErrorResponse(mutationR, false, "projects");
599
+ return successResponse(mutationR.data);
600
+ }
520
601
  if (route.kind === "regenerate") {
521
602
  const regeneratedR = await options.caddyApplication.regenerate();
522
603
  if (!regeneratedR.success)
@@ -1 +1 @@
1
- {"version":3,"file":"projectRegistryApiHandlerCreate.js","sourceRoot":"","sources":["../../src/api/projectRegistryApiHandlerCreate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectRegistryApiHandlerCreate.js","sourceRoot":"","sources":["../../src/api/projectRegistryApiHandlerCreate.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,13 @@ export type ProjectRegistryCliInvocation = {
4
4
  kind: "help";
5
5
  } | {
6
6
  kind: "version";
7
+ } | {
8
+ kind: "user-default-domain-get";
9
+ } | {
10
+ kind: "user-default-domain-set";
11
+ domain: string;
12
+ } | {
13
+ kind: "user-default-domain-unset";
7
14
  } | {
8
15
  kind: "project-list";
9
16
  } | {
@@ -11,12 +18,16 @@ export type ProjectRegistryCliInvocation = {
11
18
  name: string;
12
19
  } | {
13
20
  kind: "project-create";
14
- name: string;
21
+ name?: string;
15
22
  caddy: ProjectRegistryCliCaddyOptions;
23
+ labels?: Record<string, string>;
16
24
  } | {
17
25
  kind: "project-edit";
18
26
  name: string;
19
27
  caddy: ProjectRegistryCliCaddyOptions;
28
+ labels?: Record<string, string>;
29
+ removeLabels?: string[];
30
+ clearLabels?: boolean;
20
31
  } | {
21
32
  kind: "project-delete";
22
33
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectRegistryCliInvocation.d.ts","sourceRoot":"","sources":["../../src/cli/ProjectRegistryCliInvocation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AAEzF,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EACH;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAChB;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,GACnB;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,GACxB;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACrC;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,8BAA8B,CAAA;KAAE,GAC/E;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,8BAA8B,CAAA;KAAE,GAC7E;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACxC;QAAE,IAAI,EAAE,wBAAwB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAChD;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD;QAAE,IAAI,EAAE,qBAAqB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9F;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACnC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GAC3D;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GACnD;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GACrC;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,GACtB;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAA;IACtB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA"}
1
+ {"version":3,"file":"ProjectRegistryCliInvocation.d.ts","sourceRoot":"","sources":["../../src/cli/ProjectRegistryCliInvocation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AAEzF,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EACH;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAChB;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,GACnB;QAAE,IAAI,EAAE,yBAAyB,CAAA;KAAE,GACnC;QAAE,IAAI,EAAE,yBAAyB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GACnD;QAAE,IAAI,EAAE,2BAA2B,CAAA;KAAE,GACrC;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,GACxB;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACrC;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,8BAA8B,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GACjH;QACE,IAAI,EAAE,cAAc,CAAA;QACpB,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,8BAA8B,CAAA;QACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;QACvB,WAAW,CAAC,EAAE,OAAO,CAAA;KACtB,GACD;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACxC;QAAE,IAAI,EAAE,wBAAwB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAChD;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD;QAAE,IAAI,EAAE,qBAAqB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9F;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACnC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GAC3D;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GACnD;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GACrC;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,GACtB;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAA;IACtB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA"}
@@ -4,5 +4,7 @@ import type { Project } from "../project/Project.js";
4
4
  * Resolve a project name by matching the current directory against project filesystem paths.
5
5
  * Prefers the longest matching path (exact or ancestor of the current directory).
6
6
  */
7
- export declare function projectNameFromPath(projects: readonly Project[], cwd: string): Result<string>;
7
+ export declare function projectNameFromPath(projects: readonly Project[], cwd: string): Result<string> & {
8
+ hint?: string;
9
+ };
8
10
  //# sourceMappingURL=projectNameFromPath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectNameFromPath.d.ts","sourceRoot":"","sources":["../../src/cli/projectNameFromPath.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAEpD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAuB7F"}
1
+ {"version":3,"file":"projectNameFromPath.d.ts","sourceRoot":"","sources":["../../src/cli/projectNameFromPath.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAEpD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAsCjH"}
@@ -1,4 +1,4 @@
1
- import { isAbsolute, relative, resolve, sep } from "node:path";
1
+ import { basename, isAbsolute, relative, resolve, sep } from "node:path";
2
2
  import { createResult, createResultError } from "#result";
3
3
  /**
4
4
  * Resolve a project name by matching the current directory against project filesystem paths.
@@ -22,8 +22,21 @@ export function projectNameFromPath(projects, cwd) {
22
22
  bestLength = projectPath.length;
23
23
  bestName = project.name;
24
24
  }
25
- if (bestName === undefined)
26
- return createResultError(op, `no project matches cwd: ${resolvedCwd}`);
25
+ if (bestName === undefined) {
26
+ const suggestedName = basename(resolvedCwd) || "<name>";
27
+ const nameCollision = projects.some((project) => project.name === suggestedName);
28
+ const pathCollision = projects.some((project) => {
29
+ const projectPath = project.caddy?.path;
30
+ return projectPath !== undefined && projectPath !== "" && resolve(projectPath) === resolvedCwd;
31
+ });
32
+ const command = nameCollision || pathCollision
33
+ ? `project-registry project create --name <name> --path ${resolvedCwd} --docs`
34
+ : "project-registry project create --docs";
35
+ return {
36
+ ...createResultError(op, `no project matches cwd: ${resolvedCwd}`),
37
+ hint: `Run: ${command}`,
38
+ };
39
+ }
27
40
  return createResult(bestName);
28
41
  }
29
42
  //# sourceMappingURL=projectNameFromPath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectNameFromPath.js","sourceRoot":"","sources":["../../src/cli/projectNameFromPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAe,MAAM,SAAS,CAAA;AAGtE;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAA4B,EAAE,GAAW;IAC3E,MAAM,EAAE,GAAG,qBAAqB,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAEhC,IAAI,QAA4B,CAAA;IAChC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAA;IAEnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAA;QAC5C,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,EAAE;YAAE,SAAQ;QAEvE,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QACtD,MAAM,cAAc,GAAG,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,CAAA;QACjF,MAAM,OAAO,GAAG,WAAW,KAAK,EAAE,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;QACnF,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,IAAI,UAAU;YAAE,SAAQ;QAE1D,UAAU,GAAG,WAAW,CAAC,MAAM,CAAA;QAC/B,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,iBAAiB,CAAC,EAAE,EAAE,2BAA2B,WAAW,EAAE,CAAC,CAAA;IAClG,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"projectNameFromPath.js","sourceRoot":"","sources":["../../src/cli/projectNameFromPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAe,MAAM,SAAS,CAAA;AAGtE;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAA4B,EAAE,GAAW;IAC3E,MAAM,EAAE,GAAG,qBAAqB,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAEhC,IAAI,QAA4B,CAAA;IAChC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAA;IAEnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAA;QAC5C,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,EAAE;YAAE,SAAQ;QAEvE,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QACtD,MAAM,cAAc,GAAG,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,CAAA;QACjF,MAAM,OAAO,GAAG,WAAW,KAAK,EAAE,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;QACnF,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,IAAI,UAAU;YAAE,SAAQ;QAE1D,UAAU,GAAG,WAAW,CAAC,MAAM,CAAA;QAC/B,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAA;QACvD,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;QAChF,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAA;YACvC,OAAO,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,EAAE,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,WAAW,CAAA;QAChG,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GACX,aAAa,IAAI,aAAa;YAC5B,CAAC,CAAC,wDAAwD,WAAW,SAAS;YAC9E,CAAC,CAAC,wCAAwC,CAAA;QAC9C,OAAO;YACL,GAAG,iBAAiB,CAAC,EAAE,EAAE,2BAA2B,WAAW,EAAE,CAAC;YAClE,IAAI,EAAE,QAAQ,OAAO,EAAE;SACxB,CAAA;IACH,CAAC;IACD,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"projectRegistryCliArgumentsParse.d.ts","sourceRoot":"","sources":["../../src/cli/projectRegistryCliArgumentsParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAEtE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AA8CrF,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC,CA8W9G"}
1
+ {"version":3,"file":"projectRegistryCliArgumentsParse.d.ts","sourceRoot":"","sources":["../../src/cli/projectRegistryCliArgumentsParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAGtE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AA8CrF,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAoc9G"}
@@ -1,4 +1,5 @@
1
1
  import { createResult, createResultError } from "#result";
2
+ import { projectDomainValidate } from "../project/projectDomainValidate.js";
2
3
  const projectNamePattern = /^[a-z0-9][a-z0-9-]*$/;
3
4
  const projectNameRequirement = "Project names must start with a lowercase letter or digit and contain only lowercase letters, digits, and hyphens.";
4
5
  const projectNameHint = "Use a name such as 'my-project'.";
@@ -41,6 +42,8 @@ export function projectRegistryCliArgumentsParse(args) {
41
42
  const positionals = [];
42
43
  const domains = [];
43
44
  const headerUpEntries = [];
45
+ const labels = {};
46
+ const removeLabels = [];
44
47
  const seen = new Set();
45
48
  const booleans = new Set();
46
49
  let socket;
@@ -56,6 +59,8 @@ export function projectRegistryCliArgumentsParse(args) {
56
59
  let json = false;
57
60
  let help = false;
58
61
  let version = false;
62
+ let hasLabels = false;
63
+ let clearLabels = false;
59
64
  for (let index = 0; index < args.length; index += 1) {
60
65
  const argument = args[index];
61
66
  if (["--json", "--help", "-h", "--version", "-V"].includes(argument)) {
@@ -81,11 +86,14 @@ export function projectRegistryCliArgumentsParse(args) {
81
86
  "--spa",
82
87
  "--no-spa",
83
88
  "--http",
89
+ "--clear-labels",
84
90
  ];
85
91
  if (booleanNames.includes(argument)) {
86
92
  if (booleans.has(argument))
87
93
  return createResultError(op, `Option ${argument} may only be provided once.`);
88
94
  booleans.add(argument);
95
+ if (argument === "--clear-labels")
96
+ clearLabels = true;
89
97
  continue;
90
98
  }
91
99
  const optionNames = [
@@ -98,13 +106,15 @@ export function projectRegistryCliArgumentsParse(args) {
98
106
  "--kind",
99
107
  "--access",
100
108
  "--header-up",
109
+ "--label",
110
+ "--remove-label",
101
111
  "--flush-interval",
102
112
  "--owner",
103
113
  "--before",
104
114
  ];
105
115
  const option = optionNames.find((name) => argument === name || argument.startsWith(`${name}=`));
106
116
  if (option !== undefined) {
107
- const repeatable = option === "--domain" || option === "--header-up";
117
+ const repeatable = option === "--domain" || option === "--header-up" || option === "--label" || option === "--remove-label";
108
118
  if (!repeatable && seen.has(option))
109
119
  return createResultError(op, `Option ${option} may only be provided once.`);
110
120
  seen.add(option);
@@ -188,6 +198,29 @@ export function projectRegistryCliArgumentsParse(args) {
188
198
  headerUpEntries.push(value);
189
199
  continue;
190
200
  }
201
+ if (option === "--label") {
202
+ if (value === undefined || !value.includes("=")) {
203
+ return createResultError(op, `Option --label requires K=V${value === undefined ? "." : `, got: ${value}.`}`);
204
+ }
205
+ const separator = value.indexOf("=");
206
+ const key = value.slice(0, separator);
207
+ if (key.trim() === "")
208
+ return createResultError(op, "Option --label requires a non-blank key.");
209
+ Object.defineProperty(labels, key, {
210
+ configurable: true,
211
+ enumerable: true,
212
+ value: value.slice(separator + 1),
213
+ writable: true,
214
+ });
215
+ hasLabels = true;
216
+ continue;
217
+ }
218
+ if (option === "--remove-label") {
219
+ if (value === undefined || value.trim() === "")
220
+ return createResultError(op, "Option --remove-label requires a non-blank key.");
221
+ removeLabels.push(value);
222
+ continue;
223
+ }
191
224
  flushInterval = finiteNumberParse(value);
192
225
  if (flushInterval === undefined)
193
226
  return createResultError(op, "Option --flush-interval requires a finite number.");
@@ -250,7 +283,8 @@ export function projectRegistryCliArgumentsParse(args) {
250
283
  const [subject, action, value, ...extra] = positionals;
251
284
  const hasCaddyOptions = Object.keys(caddy).length > 0;
252
285
  const hasOnlyPortOption = port !== undefined && Object.keys(caddy).length === 1;
253
- const hasMutationOptions = hasCaddyOptions || flagName !== undefined;
286
+ const hasLabelOptions = hasLabels || removeLabels.length > 0 || clearLabels;
287
+ const hasMutationOptions = hasCaddyOptions || flagName !== undefined || hasLabelOptions;
254
288
  const hasAccessLogOptions = owner !== undefined || before !== undefined;
255
289
  const hasHttp = booleans.has("--http");
256
290
  if (subject === "project" &&
@@ -262,6 +296,39 @@ export function projectRegistryCliArgumentsParse(args) {
262
296
  !hasHttp) {
263
297
  return createResult({ command: { kind: "project-list" }, json, socket });
264
298
  }
299
+ if (subject === "user" &&
300
+ action === "default-domain" &&
301
+ value === "get" &&
302
+ extra.length === 0 &&
303
+ limit === undefined &&
304
+ !hasMutationOptions &&
305
+ !hasAccessLogOptions &&
306
+ !hasHttp) {
307
+ return createResult({ command: { kind: "user-default-domain-get" }, json, socket });
308
+ }
309
+ if (subject === "user" &&
310
+ action === "default-domain" &&
311
+ value === "set" &&
312
+ extra.length === 1 &&
313
+ limit === undefined &&
314
+ !hasMutationOptions &&
315
+ !hasAccessLogOptions &&
316
+ !hasHttp) {
317
+ const domainR = projectDomainValidate(extra[0], op);
318
+ if (!domainR.success)
319
+ return domainR;
320
+ return createResult({ command: { kind: "user-default-domain-set", domain: domainR.data }, json, socket });
321
+ }
322
+ if (subject === "user" &&
323
+ action === "default-domain" &&
324
+ value === "unset" &&
325
+ extra.length === 0 &&
326
+ limit === undefined &&
327
+ !hasMutationOptions &&
328
+ !hasAccessLogOptions &&
329
+ !hasHttp) {
330
+ return createResult({ command: { kind: "user-default-domain-unset" }, json, socket });
331
+ }
265
332
  if (subject === "project" &&
266
333
  action === "get" &&
267
334
  value !== undefined &&
@@ -294,11 +361,14 @@ export function projectRegistryCliArgumentsParse(args) {
294
361
  limit === undefined &&
295
362
  !hasAccessLogOptions &&
296
363
  !hasHttp) {
297
- if (flagName === undefined)
298
- return createResultError(op, "Project create requires --name.");
299
- if (caddy.domains === undefined)
300
- return createResultError(op, "Project create requires at least one --domain.");
301
- return createResult({ command: { kind: "project-create", name: flagName, caddy }, json, socket });
364
+ if (removeLabels.length > 0 || clearLabels) {
365
+ return createResultError(op, "Options --remove-label and --clear-labels are only valid for project edit.");
366
+ }
367
+ return createResult({
368
+ command: { kind: "project-create", name: flagName, caddy, ...(hasLabels ? { labels } : {}) },
369
+ json,
370
+ socket,
371
+ });
302
372
  }
303
373
  if (subject === "project" &&
304
374
  action === "edit" &&
@@ -311,7 +381,18 @@ export function projectRegistryCliArgumentsParse(args) {
311
381
  return projectNameError(op);
312
382
  if (flagName !== undefined)
313
383
  return createResultError(op, "Option --name cannot edit an immutable project name.");
314
- return createResult({ command: { kind: "project-edit", name: value, caddy }, json, socket });
384
+ return createResult({
385
+ command: {
386
+ kind: "project-edit",
387
+ name: value,
388
+ caddy,
389
+ ...(hasLabels ? { labels } : {}),
390
+ ...(removeLabels.length > 0 ? { removeLabels } : {}),
391
+ ...(clearLabels ? { clearLabels: true } : {}),
392
+ },
393
+ json,
394
+ socket,
395
+ });
315
396
  }
316
397
  if (subject === "delete" &&
317
398
  action === undefined &&