@camunda8/cli 2.7.0-alpha.9 → 2.8.0-alpha.1

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 (112) hide show
  1. package/EXAMPLES.md +14 -1
  2. package/README.md +11 -3
  3. package/dist/client.d.ts +2 -2
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js.map +1 -1
  6. package/dist/command-dispatch.d.ts.map +1 -1
  7. package/dist/command-dispatch.js +22 -1
  8. package/dist/command-dispatch.js.map +1 -1
  9. package/dist/command-framework.d.ts +36 -6
  10. package/dist/command-framework.d.ts.map +1 -1
  11. package/dist/command-framework.js +53 -19
  12. package/dist/command-framework.js.map +1 -1
  13. package/dist/command-registry.d.ts +85 -61
  14. package/dist/command-registry.d.ts.map +1 -1
  15. package/dist/command-registry.js +108 -52
  16. package/dist/command-registry.js.map +1 -1
  17. package/dist/command-validation.d.ts +14 -6
  18. package/dist/command-validation.d.ts.map +1 -1
  19. package/dist/command-validation.js +69 -8
  20. package/dist/command-validation.js.map +1 -1
  21. package/dist/commands/completion.d.ts +19 -0
  22. package/dist/commands/completion.d.ts.map +1 -1
  23. package/dist/commands/completion.js +36 -14
  24. package/dist/commands/completion.js.map +1 -1
  25. package/dist/commands/deployments.d.ts +30 -3
  26. package/dist/commands/deployments.d.ts.map +1 -1
  27. package/dist/commands/deployments.js +320 -218
  28. package/dist/commands/deployments.js.map +1 -1
  29. package/dist/commands/forms.d.ts.map +1 -1
  30. package/dist/commands/forms.js +2 -3
  31. package/dist/commands/forms.js.map +1 -1
  32. package/dist/commands/help.d.ts.map +1 -1
  33. package/dist/commands/help.js +39 -39
  34. package/dist/commands/help.js.map +1 -1
  35. package/dist/commands/identity-groups.d.ts.map +1 -1
  36. package/dist/commands/identity-groups.js +3 -5
  37. package/dist/commands/identity-groups.js.map +1 -1
  38. package/dist/commands/identity-mapping-rules.d.ts.map +1 -1
  39. package/dist/commands/identity-mapping-rules.js +5 -9
  40. package/dist/commands/identity-mapping-rules.js.map +1 -1
  41. package/dist/commands/identity-roles.d.ts.map +1 -1
  42. package/dist/commands/identity-roles.js +3 -5
  43. package/dist/commands/identity-roles.js.map +1 -1
  44. package/dist/commands/identity-tenants.d.ts.map +1 -1
  45. package/dist/commands/identity-tenants.js +3 -5
  46. package/dist/commands/identity-tenants.js.map +1 -1
  47. package/dist/commands/identity-users.d.ts.map +1 -1
  48. package/dist/commands/identity-users.js +3 -5
  49. package/dist/commands/identity-users.js.map +1 -1
  50. package/dist/commands/identity.d.ts +29 -2
  51. package/dist/commands/identity.d.ts.map +1 -1
  52. package/dist/commands/identity.js +247 -208
  53. package/dist/commands/identity.js.map +1 -1
  54. package/dist/commands/incidents.d.ts.map +1 -1
  55. package/dist/commands/incidents.js +2 -3
  56. package/dist/commands/incidents.js.map +1 -1
  57. package/dist/commands/jobs.d.ts.map +1 -1
  58. package/dist/commands/jobs.js +5 -9
  59. package/dist/commands/jobs.js.map +1 -1
  60. package/dist/commands/mcp-proxy.d.ts +4 -4
  61. package/dist/commands/mcp-proxy.d.ts.map +1 -1
  62. package/dist/commands/mcp-proxy.js +49 -39
  63. package/dist/commands/mcp-proxy.js.map +1 -1
  64. package/dist/commands/messages.d.ts.map +1 -1
  65. package/dist/commands/messages.js +2 -4
  66. package/dist/commands/messages.js.map +1 -1
  67. package/dist/commands/open.d.ts +4 -2
  68. package/dist/commands/open.d.ts.map +1 -1
  69. package/dist/commands/open.js +17 -18
  70. package/dist/commands/open.js.map +1 -1
  71. package/dist/commands/plugins.d.ts.map +1 -1
  72. package/dist/commands/plugins.js +16 -32
  73. package/dist/commands/plugins.js.map +1 -1
  74. package/dist/commands/process-instances.d.ts.map +1 -1
  75. package/dist/commands/process-instances.js +5 -9
  76. package/dist/commands/process-instances.js.map +1 -1
  77. package/dist/commands/profiles.d.ts.map +1 -1
  78. package/dist/commands/profiles.js +8 -16
  79. package/dist/commands/profiles.js.map +1 -1
  80. package/dist/commands/resource-extensions.d.ts +8 -0
  81. package/dist/commands/resource-extensions.d.ts.map +1 -0
  82. package/dist/commands/resource-extensions.js +20 -0
  83. package/dist/commands/resource-extensions.js.map +1 -0
  84. package/dist/commands/run.d.ts +2 -1
  85. package/dist/commands/run.d.ts.map +1 -1
  86. package/dist/commands/run.js +10 -4
  87. package/dist/commands/run.js.map +1 -1
  88. package/dist/commands/search.d.ts.map +1 -1
  89. package/dist/commands/search.js +4 -8
  90. package/dist/commands/search.js.map +1 -1
  91. package/dist/commands/session.d.ts.map +1 -1
  92. package/dist/commands/session.js +4 -7
  93. package/dist/commands/session.js.map +1 -1
  94. package/dist/commands/user-tasks.d.ts.map +1 -1
  95. package/dist/commands/user-tasks.js +2 -3
  96. package/dist/commands/user-tasks.js.map +1 -1
  97. package/dist/commands/variables.d.ts +10 -0
  98. package/dist/commands/variables.d.ts.map +1 -0
  99. package/dist/commands/variables.js +51 -0
  100. package/dist/commands/variables.js.map +1 -0
  101. package/dist/commands/watch.d.ts +7 -5
  102. package/dist/commands/watch.d.ts.map +1 -1
  103. package/dist/commands/watch.js +90 -39
  104. package/dist/commands/watch.js.map +1 -1
  105. package/dist/errors.d.ts +62 -8
  106. package/dist/errors.d.ts.map +1 -1
  107. package/dist/errors.js +99 -10
  108. package/dist/errors.js.map +1 -1
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +22 -39
  111. package/dist/index.js.map +1 -1
  112. package/package.json +7 -5
package/EXAMPLES.md CHANGED
@@ -515,7 +515,7 @@ c8 deploy ./process1.bpmn ./process2.bpmn ./decision.dmn
515
515
  # Deploy current directory
516
516
  c8 deploy
517
517
 
518
- # Deploys all BPMN/DMN/Form files in specified directory and subdirectories
518
+ # Deploys all files in specified directory and subdirectories
519
519
  c8 deploy ./my-project
520
520
 
521
521
  # Building block folders (containing _bb- in name) are prioritized and marked with 🧱
@@ -604,6 +604,19 @@ c8 deploy process-v2.bpmn
604
604
 
605
605
  The CLI will detect duplicate IDs and provide a helpful error message showing which files conflict.
606
606
 
607
+ ### Default Extensions
608
+
609
+ When scanning directories, `deploy`, `run`, and `watch` only include files matching these extensions by default:
610
+
611
+ `.bpmn`, `.dmn`, `.form`, `.md`, `.txt`, `.xml`, `.rpa`, `.json`, `.config`, `.yml`, `.yaml`
612
+
613
+ Override with `--extensions`:
614
+
615
+ ```bash
616
+ c8 deploy --extensions=.bpmn,.dmn
617
+ c8 watch --extensions=.bpmn,.form
618
+ ```
619
+
607
620
  ### Ignoring Files (`.c8ignore`)
608
621
 
609
622
  When deploying or watching a directory, c8ctl ignores `node_modules/`, `target/`, and `.git/` by default. Add a `.c8ignore` file to your project root for custom patterns (uses `.gitignore` syntax):
package/README.md CHANGED
@@ -12,7 +12,7 @@ c8ctl (_pronounced: "cocktail"_) — a minimal-dependency CLI for Camunda 8 oper
12
12
  - **Building Block Deployment**: Automatic prioritization of `*_bb-*` folders during deployment, marked with 🧱 in results
13
13
  - **Process Application Support**: Resources in folders with `.process-application` file marked with 📦 in results
14
14
  - **Enhanced Deployment Results**: Table view showing file paths, visual indicators, resource details, and versions
15
- - **Watch Mode**: Monitors a folder for changes to `*.{bpmn,dmn,form}` and auto-redeploys
15
+ - **Watch Mode**: Monitors a folder for file changes and auto-redeploys (configurable extensions via `--extensions`)
16
16
  - **`.c8ignore` Support**: Filter deploy/watch file scanning with `.gitignore`-style patterns; `node_modules/`, `target/`, `.git/` ignored by default
17
17
  - **Open Applications**: Open Camunda web applications (Operate, Tasklist, Modeler, Optimize) in the browser directly from the CLI
18
18
  - **Search**: Powerful search across process definitions, process instances, user tasks, incidents, jobs, and variables with filter, wildcard, and case-insensitive support
@@ -138,6 +138,14 @@ c8ctl open optimize # Open Camunda Optimize in browser
138
138
  c8ctl open operate --profile=prod # Open Operate with a specific profile
139
139
  ```
140
140
 
141
+ ### Default Extensions
142
+
143
+ When scanning directories, `deploy`, `run`, and `watch` only include files with these extensions:
144
+
145
+ `.bpmn`, `.dmn`, `.form`, `.md`, `.txt`, `.xml`, `.rpa`, `.json`, `.config`, `.yml`, `.yaml`
146
+
147
+ Use `--extensions` to override (e.g. `--extensions=.bpmn,.dmn`).
148
+
141
149
  ### Ignoring Files (`.c8ignore`)
142
150
 
143
151
  When scanning directories for deployment artifacts, c8ctl automatically ignores:
@@ -672,7 +680,7 @@ c8ctl <verb> <resource> [arguments] [flags]
672
680
  - `resolve` - Resolve incident
673
681
  - `publish` - Publish message
674
682
  - `correlate` - Correlate message
675
- - `deploy` - Deploy BPMN/DMN/forms
683
+ - `deploy` - Deploy resources
676
684
  - `run` - Deploy and start process
677
685
  - `watch` (alias: `w`) - Watch for changes and auto-deploy
678
686
  - `add` - Add a profile
@@ -808,4 +816,4 @@ Apache 2.0 - see LICENSE.md
808
816
 
809
817
  ## Contributing
810
818
 
811
- See `COMMIT-MESSAGE-GUIDELINE.md` for commit message conventions.
819
+ See `AGENTS.md` for commit message conventions.
package/dist/client.d.ts CHANGED
@@ -29,6 +29,7 @@ type PagedResponse<T> = {
29
29
  hasMoreTotalItems: boolean;
30
30
  };
31
31
  };
32
+ export type { PagedResponse };
32
33
  /**
33
34
  * Fetch all pages from a Camunda 8 search endpoint using cursor-based
34
35
  * pagination. The caller supplies a search function that accepts a filter
@@ -41,7 +42,7 @@ type PagedResponse<T> = {
41
42
  * @returns all collected items across every page (up to maxItems)
42
43
  */
43
44
  /** Consistency options passed to every search call in fetchAllPages */
44
- type SearchConsistencyOpts = {
45
+ export type SearchConsistencyOpts = {
45
46
  consistency: {
46
47
  waitUpToMs: number;
47
48
  };
@@ -61,5 +62,4 @@ export declare function emitDryRun(opts: {
61
62
  profile?: string;
62
63
  body?: unknown;
63
64
  }): boolean;
64
- export {};
65
65
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,cAAc,EAEnB,MAAM,qCAAqC,CAAC;AAK7C;;GAEG;AACH,wBAAgB,YAAY,CAC3B,WAAW,CAAC,EAAE,MAAM,EACpB,mBAAmB,GAAE,OAAO,CAAC,cAAc,CAAM,GAC/C,aAAa,CAqCf;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,UAAY,CAAC;AAE3C;;;;GAIG;AACH,KAAK,aAAa,CAAC,CAAC,IAAI;IACvB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,IAAI,EAAE;QACL,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;QAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,iBAAiB,EAAE,OAAO,CAAC;KAC3B,CAAC;CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,uEAAuE;AACvE,KAAK,qBAAqB,GAAG;IAAE,WAAW,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAErE,wBAAsB,aAAa,CAClC,CAAC,EACD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE3D,QAAQ,EAAE,CACT,MAAM,EAAE,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAC9C,IAAI,EAAE,qBAAqB,KACvB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAC9B,MAAM,EAAE,CAAC,EACT,QAAQ,SAAoB,EAC5B,QAAQ,SAAoB,GAC1B,OAAO,CAAC,CAAC,EAAE,CAAC,CAuCd;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAYV"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,cAAc,EAEnB,MAAM,qCAAqC,CAAC;AAK7C;;GAEG;AACH,wBAAgB,YAAY,CAC3B,WAAW,CAAC,EAAE,MAAM,EACpB,mBAAmB,GAAE,OAAO,CAAC,cAAc,CAAM,GAC/C,aAAa,CAqCf;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,UAAY,CAAC;AAE3C;;;;GAIG;AACH,KAAK,aAAa,CAAC,CAAC,IAAI;IACvB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,IAAI,EAAE;QACL,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;QAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,iBAAiB,EAAE,OAAO,CAAC;KAC3B,CAAC;CACF,CAAC;AAEF,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;;;;;;;;GAUG;AACH,uEAAuE;AACvE,MAAM,MAAM,qBAAqB,GAAG;IAAE,WAAW,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAE5E,wBAAsB,aAAa,CAClC,CAAC,EACD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE3D,QAAQ,EAAE,CACT,MAAM,EAAE,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAC9C,IAAI,EAAE,qBAAqB,KACvB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAC9B,MAAM,EAAE,CAAC,EACT,QAAQ,SAAoB,EAC5B,QAAQ,SAAoB,GAC1B,OAAO,CAAC,CAAC,EAAE,CAAC,CAuCd;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAYV"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"command-dispatch.d.ts","sourceRoot":"","sources":["../src/command-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAmGhE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAiHlE,CAAC"}
1
+ {"version":3,"file":"command-dispatch.d.ts","sourceRoot":"","sources":["../src/command-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AA+GhE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAuIlE,CAAC"}
@@ -7,9 +7,10 @@
7
7
  * This replaces the ~1800-line if/else dispatch chain that previously
8
8
  * lived in index.ts.
9
9
  */
10
+ import { completionCommand } from "./commands/completion.js";
10
11
  import { deployCommand } from "./commands/deployments.js";
11
12
  import { getFormCommand } from "./commands/forms.js";
12
- import { createIdentityAuthorizationCommand, createIdentityGroupCommand, createIdentityMappingRuleCommand, createIdentityRoleCommand, createIdentityTenantCommand, createIdentityUserCommand, deleteIdentityAuthorizationCommand, deleteIdentityGroupCommand, deleteIdentityMappingRuleCommand, deleteIdentityRoleCommand, deleteIdentityTenantCommand, deleteIdentityUserCommand, getIdentityAuthorizationCommand, getIdentityGroupCommand, getIdentityMappingRuleCommand, getIdentityRoleCommand, getIdentityTenantCommand, getIdentityUserCommand, listAuthorizationsCommand, listGroupsCommand, listMappingRulesCommand, listRolesCommand, listTenantsCommand, listUsersCommand, searchIdentityAuthorizationsCommand, searchIdentityGroupsCommand, searchIdentityMappingRulesCommand, searchIdentityRolesCommand, searchIdentityTenantsCommand, searchIdentityUsersCommand, } from "./commands/identity.js";
13
+ import { assignFallbackCommand, assignGroupCommand, assignMappingRuleCommand, assignRoleCommand, assignUserCommand, createIdentityAuthorizationCommand, createIdentityGroupCommand, createIdentityMappingRuleCommand, createIdentityRoleCommand, createIdentityTenantCommand, createIdentityUserCommand, deleteIdentityAuthorizationCommand, deleteIdentityGroupCommand, deleteIdentityMappingRuleCommand, deleteIdentityRoleCommand, deleteIdentityTenantCommand, deleteIdentityUserCommand, getIdentityAuthorizationCommand, getIdentityGroupCommand, getIdentityMappingRuleCommand, getIdentityRoleCommand, getIdentityTenantCommand, getIdentityUserCommand, listAuthorizationsCommand, listGroupsCommand, listMappingRulesCommand, listRolesCommand, listTenantsCommand, listUsersCommand, searchIdentityAuthorizationsCommand, searchIdentityGroupsCommand, searchIdentityMappingRulesCommand, searchIdentityRolesCommand, searchIdentityTenantsCommand, searchIdentityUsersCommand, unassignFallbackCommand, unassignGroupCommand, unassignMappingRuleCommand, unassignRoleCommand, unassignUserCommand, } from "./commands/identity.js";
13
14
  import { getIncidentCommand, listIncidentsCommand, resolveIncidentCommand, } from "./commands/incidents.js";
14
15
  import { activateJobsCommand, completeJobCommand, failJobCommand, listJobsCommand, } from "./commands/jobs.js";
15
16
  import { mcpProxyCommand } from "./commands/mcp-proxy.js";
@@ -24,6 +25,7 @@ import { searchIncidentsCommand, searchJobsCommand, searchProcessDefinitionsComm
24
25
  import { outputCommand, useProfileCommand, useTenantCommand, } from "./commands/session.js";
25
26
  import { getTopologyCommand } from "./commands/topology.js";
26
27
  import { completeUserTaskCommand, listUserTasksCommand, } from "./commands/user-tasks.js";
28
+ import { setVariableCommand } from "./commands/variables.js";
27
29
  import { watchCommand } from "./commands/watch.js";
28
30
  /**
29
31
  * Dispatch map keyed by "verb:resource".
@@ -114,6 +116,25 @@ export const COMMAND_DISPATCH = new Map([
114
116
  ["delete:tenant", deleteIdentityTenantCommand],
115
117
  ["delete:authorization", deleteIdentityAuthorizationCommand],
116
118
  ["delete:mapping-rule", deleteIdentityMappingRuleCommand],
119
+ // ── Identity: assign / unassign ────────────────────────────────────
120
+ ["assign:role", assignRoleCommand],
121
+ ["assign:user", assignUserCommand],
122
+ ["assign:group", assignGroupCommand],
123
+ ["assign:mapping-rule", assignMappingRuleCommand],
124
+ ["unassign:role", unassignRoleCommand],
125
+ ["unassign:user", unassignUserCommand],
126
+ ["unassign:group", unassignGroupCommand],
127
+ ["unassign:mapping-rule", unassignMappingRuleCommand],
128
+ // Fallbacks for unknown resource names — preserve the canonical
129
+ // "Cannot (un)assign resource type: <name>" error from handleAssign.
130
+ ["assign:", assignFallbackCommand],
131
+ ["unassign:", unassignFallbackCommand],
132
+ // ── Completion ─────────────────────────────────────────────────────
133
+ // `completion` is resourceless in the registry; the handler branches
134
+ // on ctx.resource (bash / zsh / fish / install).
135
+ ["completion:", completionCommand],
136
+ // ── Variables ───────────────────────────────────────────────────────
137
+ ["set:variable", setVariableCommand],
117
138
  // ── Resourceless verbs ─────────────────────────────────────────────
118
139
  ["deploy:", deployCommand],
119
140
  ["run:", runCommand],
@@ -1 +1 @@
1
- {"version":3,"file":"command-dispatch.js","sourceRoot":"","sources":["../src/command-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-dispatch.js","sourceRoot":"","sources":["../src/command-dispatch.ts"],"names":[],"mappings":"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"}
@@ -39,11 +39,14 @@ export type ResolvedPositionals<V extends keyof Registry, R extends string> = Re
39
39
  /**
40
40
  * Map a flag schema to typed handler parameters.
41
41
  *
42
- * - Flags with `validate` → the validator's return type (branded) | undefined
43
- * - Boolean flags → boolean | undefined
44
- * - Everything else → string | undefined
42
+ * - Flags with `validate` → the validator's return type
43
+ * - Boolean flags → boolean
44
+ * - Everything else → string
45
45
  *
46
- * All flags are optional because CLI users may omit any flag.
46
+ * A flag is non-optional in the handler's view iff it is declared
47
+ * `required: true` in the FlagDef. `required: true` is enforced at the
48
+ * framework boundary by validateFlags (#308), so the handler is guaranteed
49
+ * to see a value.
47
50
  *
48
51
  * The type parameter is unconstrained so conditional types like
49
52
  * `ResolvedFlags<V, R>` can be passed through without constraint errors.
@@ -51,9 +54,15 @@ export type ResolvedPositionals<V extends keyof Registry, R extends string> = Re
51
54
  export type InferFlags<F extends Record<string, any>> = {
52
55
  [K in keyof F]: F[K] extends {
53
56
  validate: (v: string) => infer R;
54
- } ? R | undefined : F[K] extends {
57
+ } ? F[K] extends {
58
+ required: true;
59
+ } ? R : R | undefined : F[K] extends {
55
60
  type: "boolean";
56
- } ? boolean | undefined : string | undefined;
61
+ } ? F[K] extends {
62
+ required: true;
63
+ } ? boolean : boolean | undefined : F[K] extends {
64
+ required: true;
65
+ } ? string : string | undefined;
57
66
  };
58
67
  /**
59
68
  * Map a readonly positional schema tuple to a named record of typed values.
@@ -168,6 +177,17 @@ export interface CommandContext {
168
177
  /** Active profile name (for client/tenant resolution). */
169
178
  profile: string | undefined;
170
179
  }
180
+ /**
181
+ * Brand symbol stamped on every value returned by `defineCommand`.
182
+ *
183
+ * This is the structural seam tested by `command-dispatch-structure.test.ts`
184
+ * (#290): every value in `COMMAND_DISPATCH` must carry this marker, which
185
+ * guarantees the entry was produced by the framework factory and therefore
186
+ * goes through flag deserialization, dry-run handling, result rendering, and
187
+ * the `handleCommandError` wrapper. A hand-rolled function with the right
188
+ * signature cannot satisfy this marker.
189
+ */
190
+ export declare const DEFINE_COMMAND_MARKER: unique symbol;
171
191
  /**
172
192
  * Return type of `defineCommand`. Stores the verb, resource, and an
173
193
  * `execute` method that deserializes raw CLI input and calls the handler
@@ -177,7 +197,17 @@ export interface CommandHandler<V extends keyof Registry, R extends string> {
177
197
  verb: V;
178
198
  resource: R;
179
199
  execute: (ctx: CommandContext, rawValues: Record<string, unknown>, rawArgs: string[]) => Promise<void>;
200
+ /** Brand attached by `defineCommand`. See `DEFINE_COMMAND_MARKER`. */
201
+ readonly [DEFINE_COMMAND_MARKER]: true;
180
202
  }
203
+ /**
204
+ * Test-time guard: returns true iff `value` was produced by `defineCommand`.
205
+ *
206
+ * Uses an own-property check so a forged marker on a prototype cannot satisfy
207
+ * the brand — only objects that explicitly carry the symbol on themselves
208
+ * (i.e. those produced by `defineCommand`) pass.
209
+ */
210
+ export declare function isDefinedCommand(value: unknown): value is AnyCommandHandler;
181
211
  /**
182
212
  * Type-erased command handler for use in dispatch maps.
183
213
  * Preserves the `execute` signature without carrying generic type params.
@@ -1 +1 @@
1
- {"version":3,"file":"command-framework.d.ts","sourceRoot":"","sources":["../src/command-framework.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-framework.d.ts","sourceRoot":"","sources":["../src/command-framework.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,32 @@ import { resolveClusterConfig } from "./config.js";
17
17
  import { handleCommandError } from "./errors.js";
18
18
  import { getLogger, sortTableData, } from "./logger.js";
19
19
  import { c8ctl } from "./runtime.js";
20
+ // ─── CommandHandler ──────────────────────────────────────────────────────────
21
+ /**
22
+ * Brand symbol stamped on every value returned by `defineCommand`.
23
+ *
24
+ * This is the structural seam tested by `command-dispatch-structure.test.ts`
25
+ * (#290): every value in `COMMAND_DISPATCH` must carry this marker, which
26
+ * guarantees the entry was produced by the framework factory and therefore
27
+ * goes through flag deserialization, dry-run handling, result rendering, and
28
+ * the `handleCommandError` wrapper. A hand-rolled function with the right
29
+ * signature cannot satisfy this marker.
30
+ */
31
+ export const DEFINE_COMMAND_MARKER = Symbol("c8ctl.defineCommand");
32
+ /**
33
+ * Test-time guard: returns true iff `value` was produced by `defineCommand`.
34
+ *
35
+ * Uses an own-property check so a forged marker on a prototype cannot satisfy
36
+ * the brand — only objects that explicitly carry the symbol on themselves
37
+ * (i.e. those produced by `defineCommand`) pass.
38
+ */
39
+ export function isDefinedCommand(value) {
40
+ if (typeof value !== "object" || value === null)
41
+ return false;
42
+ if (!Object.hasOwn(value, DEFINE_COMMAND_MARKER))
43
+ return false;
44
+ return Reflect.get(value, DEFINE_COMMAND_MARKER) === true;
45
+ }
20
46
  // ─── defineCommand ───────────────────────────────────────────────────────────
21
47
  /**
22
48
  * Define a command handler for a verb×resource pair.
@@ -42,26 +68,34 @@ export function defineCommand(verb, resource, handler) {
42
68
  const entry = COMMAND_REGISTRY[verb];
43
69
  const flagDefs = entry.resourceFlags?.[resource] ?? entry.flags;
44
70
  const positionalDefs = entry.resourcePositionals?.[resource] ?? [];
45
- return {
46
- verb,
47
- resource,
48
- execute: async (ctx, rawValues, rawArgs) => {
49
- const flags = deserializeFlags(rawValues, flagDefs);
50
- const args = deserializePositionals(rawArgs, positionalDefs, verb, resource);
51
- try {
52
- const result = await handler(ctx,
53
- // biome-ignore lint/plugin: framework-internal assertion — flagDefs resolved from COMMAND_REGISTRY[V][R]
54
- flags,
55
- // biome-ignore lint/plugin: framework-internal assertion — positionalDefs resolved from COMMAND_REGISTRY[V][R]
56
- args);
57
- if (result)
58
- renderResult(result, ctx);
59
- }
60
- catch (error) {
61
- handleCommandError(ctx.logger, `Failed to ${verb} ${resource.replace(/-/g, " ")}`, error);
62
- }
63
- },
71
+ // Build the handler and stamp the brand as a non-enumerable own property
72
+ // so it doesn't appear in `Object.keys`, spreads, or JSON output but is
73
+ // still detectable by `isDefinedCommand` via `Object.hasOwn`.
74
+ const execute = async (ctx, rawValues, rawArgs) => {
75
+ const flags = deserializeFlags(rawValues, flagDefs);
76
+ const args = deserializePositionals(rawArgs, positionalDefs, verb, resource);
77
+ try {
78
+ const result = await handler(ctx,
79
+ // biome-ignore lint/plugin: framework-internal assertion — flagDefs resolved from COMMAND_REGISTRY[V][R]
80
+ flags,
81
+ // biome-ignore lint/plugin: framework-internal assertion — positionalDefs resolved from COMMAND_REGISTRY[V][R]
82
+ args);
83
+ if (result)
84
+ renderResult(result, ctx);
85
+ }
86
+ catch (error) {
87
+ handleCommandError(ctx.logger, `Failed to ${verb} ${resource.replace(/-/g, " ")}`, error);
88
+ }
64
89
  };
90
+ const handler_ = { verb, resource, execute };
91
+ Object.defineProperty(handler_, DEFINE_COMMAND_MARKER, {
92
+ value: true,
93
+ enumerable: false,
94
+ writable: false,
95
+ configurable: false,
96
+ });
97
+ // biome-ignore lint/plugin: framework-internal assertion — brand stamped via defineProperty above to satisfy CommandHandler's required marker
98
+ return handler_;
65
99
  }
66
100
  // ─── deserializeFlags ────────────────────────────────────────────────────────
67
101
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"command-framework.js","sourceRoot":"","sources":["../src/command-framework.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-framework.js","sourceRoot":"","sources":["../src/command-framework.ts"],"names":[],"mappings":"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"}