@camunda8/cli 2.7.0-alpha.8 → 2.7.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 (109) 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 +89 -30
  14. package/dist/command-registry.d.ts.map +1 -1
  15. package/dist/command-registry.js +112 -35
  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/identity-groups.d.ts.map +1 -1
  33. package/dist/commands/identity-groups.js +3 -5
  34. package/dist/commands/identity-groups.js.map +1 -1
  35. package/dist/commands/identity-mapping-rules.d.ts.map +1 -1
  36. package/dist/commands/identity-mapping-rules.js +5 -9
  37. package/dist/commands/identity-mapping-rules.js.map +1 -1
  38. package/dist/commands/identity-roles.d.ts.map +1 -1
  39. package/dist/commands/identity-roles.js +3 -5
  40. package/dist/commands/identity-roles.js.map +1 -1
  41. package/dist/commands/identity-tenants.d.ts.map +1 -1
  42. package/dist/commands/identity-tenants.js +3 -5
  43. package/dist/commands/identity-tenants.js.map +1 -1
  44. package/dist/commands/identity-users.d.ts.map +1 -1
  45. package/dist/commands/identity-users.js +3 -5
  46. package/dist/commands/identity-users.js.map +1 -1
  47. package/dist/commands/identity.d.ts +29 -2
  48. package/dist/commands/identity.d.ts.map +1 -1
  49. package/dist/commands/identity.js +247 -208
  50. package/dist/commands/identity.js.map +1 -1
  51. package/dist/commands/incidents.d.ts.map +1 -1
  52. package/dist/commands/incidents.js +2 -3
  53. package/dist/commands/incidents.js.map +1 -1
  54. package/dist/commands/jobs.d.ts.map +1 -1
  55. package/dist/commands/jobs.js +5 -9
  56. package/dist/commands/jobs.js.map +1 -1
  57. package/dist/commands/mcp-proxy.d.ts +4 -4
  58. package/dist/commands/mcp-proxy.d.ts.map +1 -1
  59. package/dist/commands/mcp-proxy.js +49 -39
  60. package/dist/commands/mcp-proxy.js.map +1 -1
  61. package/dist/commands/messages.d.ts.map +1 -1
  62. package/dist/commands/messages.js +2 -4
  63. package/dist/commands/messages.js.map +1 -1
  64. package/dist/commands/open.d.ts +4 -2
  65. package/dist/commands/open.d.ts.map +1 -1
  66. package/dist/commands/open.js +17 -18
  67. package/dist/commands/open.js.map +1 -1
  68. package/dist/commands/plugins.d.ts.map +1 -1
  69. package/dist/commands/plugins.js +16 -32
  70. package/dist/commands/plugins.js.map +1 -1
  71. package/dist/commands/process-instances.d.ts.map +1 -1
  72. package/dist/commands/process-instances.js +5 -9
  73. package/dist/commands/process-instances.js.map +1 -1
  74. package/dist/commands/profiles.d.ts.map +1 -1
  75. package/dist/commands/profiles.js +8 -16
  76. package/dist/commands/profiles.js.map +1 -1
  77. package/dist/commands/resource-extensions.d.ts +8 -0
  78. package/dist/commands/resource-extensions.d.ts.map +1 -0
  79. package/dist/commands/resource-extensions.js +20 -0
  80. package/dist/commands/resource-extensions.js.map +1 -0
  81. package/dist/commands/run.d.ts +2 -1
  82. package/dist/commands/run.d.ts.map +1 -1
  83. package/dist/commands/run.js +10 -4
  84. package/dist/commands/run.js.map +1 -1
  85. package/dist/commands/search.d.ts.map +1 -1
  86. package/dist/commands/search.js +4 -8
  87. package/dist/commands/search.js.map +1 -1
  88. package/dist/commands/session.d.ts.map +1 -1
  89. package/dist/commands/session.js +4 -7
  90. package/dist/commands/session.js.map +1 -1
  91. package/dist/commands/user-tasks.d.ts.map +1 -1
  92. package/dist/commands/user-tasks.js +2 -3
  93. package/dist/commands/user-tasks.js.map +1 -1
  94. package/dist/commands/variables.d.ts +10 -0
  95. package/dist/commands/variables.d.ts.map +1 -0
  96. package/dist/commands/variables.js +51 -0
  97. package/dist/commands/variables.js.map +1 -0
  98. package/dist/commands/watch.d.ts +7 -5
  99. package/dist/commands/watch.d.ts.map +1 -1
  100. package/dist/commands/watch.js +90 -39
  101. package/dist/commands/watch.js.map +1 -1
  102. package/dist/errors.d.ts +62 -8
  103. package/dist/errors.d.ts.map +1 -1
  104. package/dist/errors.js +99 -10
  105. package/dist/errors.js.map +1 -1
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +22 -39
  108. package/dist/index.js.map +1 -1
  109. package/package.json +8 -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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"}
@@ -5,7 +5,7 @@
5
5
  * Consumers (help, completion, validation, dispatch) derive their
6
6
  * data from this registry instead of maintaining separate copies.
7
7
  */
8
- import { AuthorizationKey, IncidentKey, JobKey, ProcessDefinitionId, ProcessDefinitionKey, ProcessInstanceKey, TenantId, Username, UserTaskKey } from "@camunda8/orchestration-cluster-api";
8
+ import { AuthorizationKey, ElementInstanceKey, IncidentKey, JobKey, ProcessDefinitionId, ProcessDefinitionKey, ProcessInstanceKey, TenantId, Username, UserTaskKey } from "@camunda8/orchestration-cluster-api";
9
9
  export interface FlagDef {
10
10
  /** Value type: "string" expects an argument, "boolean" is a presence flag. */
11
11
  type: "string" | "boolean";
@@ -1276,32 +1276,6 @@ export declare const COMMAND_REGISTRY: {
1276
1276
  description: string;
1277
1277
  validate: typeof TenantId.assumeExists;
1278
1278
  };
1279
- ownerId: {
1280
- type: "string";
1281
- description: string;
1282
- required: true;
1283
- };
1284
- ownerType: {
1285
- type: "string";
1286
- description: string;
1287
- required: true;
1288
- };
1289
- resourceType: {
1290
- type: "string";
1291
- description: string;
1292
- required: true;
1293
- };
1294
- resourceId: {
1295
- type: "string";
1296
- description: string;
1297
- required: true;
1298
- };
1299
- permissions: {
1300
- type: "string";
1301
- description: string;
1302
- required: true;
1303
- csv: true;
1304
- };
1305
1279
  mappingRuleId: {
1306
1280
  type: "string";
1307
1281
  description: string;
@@ -1315,6 +1289,36 @@ export declare const COMMAND_REGISTRY: {
1315
1289
  description: string;
1316
1290
  };
1317
1291
  };
1292
+ resourceFlags: {
1293
+ authorization: {
1294
+ ownerId: {
1295
+ type: "string";
1296
+ description: string;
1297
+ required: true;
1298
+ };
1299
+ ownerType: {
1300
+ type: "string";
1301
+ description: string;
1302
+ required: true;
1303
+ };
1304
+ resourceType: {
1305
+ type: "string";
1306
+ description: string;
1307
+ required: true;
1308
+ };
1309
+ resourceId: {
1310
+ type: "string";
1311
+ description: string;
1312
+ required: true;
1313
+ };
1314
+ permissions: {
1315
+ type: "string";
1316
+ description: string;
1317
+ required: true;
1318
+ csv: true;
1319
+ };
1320
+ };
1321
+ };
1318
1322
  };
1319
1323
  delete: {
1320
1324
  description: string;
@@ -1578,6 +1582,42 @@ export declare const COMMAND_REGISTRY: {
1578
1582
  }];
1579
1583
  };
1580
1584
  };
1585
+ set: {
1586
+ description: string;
1587
+ helpDescription: string;
1588
+ helpResource: string;
1589
+ hasDetailedHelp: true;
1590
+ helpFooterLabel: string;
1591
+ mutating: true;
1592
+ requiresResource: true;
1593
+ helpExamples: {
1594
+ command: string;
1595
+ description: string;
1596
+ }[];
1597
+ resources: string[];
1598
+ flags: {
1599
+ variables: {
1600
+ type: "string";
1601
+ description: string;
1602
+ required: true;
1603
+ showInTopLevelHelp: true;
1604
+ helpHint: string;
1605
+ };
1606
+ local: {
1607
+ type: "boolean";
1608
+ description: string;
1609
+ showInTopLevelHelp: true;
1610
+ helpHint: string;
1611
+ };
1612
+ };
1613
+ resourcePositionals: {
1614
+ variable: readonly [{
1615
+ readonly name: "key";
1616
+ readonly required: true;
1617
+ readonly validate: typeof ElementInstanceKey.assumeExists;
1618
+ }];
1619
+ };
1620
+ };
1581
1621
  deploy: {
1582
1622
  description: string;
1583
1623
  helpDescription: string;
@@ -1591,7 +1631,12 @@ export declare const COMMAND_REGISTRY: {
1591
1631
  description: string;
1592
1632
  }[];
1593
1633
  resources: never[];
1594
- flags: {};
1634
+ flags: {
1635
+ force: {
1636
+ type: "boolean";
1637
+ description: string;
1638
+ };
1639
+ };
1595
1640
  };
1596
1641
  run: {
1597
1642
  description: string;
@@ -1611,6 +1656,10 @@ export declare const COMMAND_REGISTRY: {
1611
1656
  type: "string";
1612
1657
  description: string;
1613
1658
  };
1659
+ force: {
1660
+ type: "boolean";
1661
+ description: string;
1662
+ };
1614
1663
  };
1615
1664
  };
1616
1665
  assign: {
@@ -1733,6 +1782,10 @@ export declare const COMMAND_REGISTRY: {
1733
1782
  type: "boolean";
1734
1783
  description: string;
1735
1784
  };
1785
+ extensions: {
1786
+ type: "string";
1787
+ description: string;
1788
+ };
1736
1789
  };
1737
1790
  aliases: string[];
1738
1791
  };
@@ -1994,7 +2047,12 @@ export declare const COMMAND_REGISTRY: {
1994
2047
  description: string;
1995
2048
  }[];
1996
2049
  resources: string[];
1997
- flags: {};
2050
+ flags: {
2051
+ shell: {
2052
+ type: "string";
2053
+ description: string;
2054
+ };
2055
+ };
1998
2056
  resourceFlags: {
1999
2057
  install: {
2000
2058
  shell: {
@@ -2064,7 +2122,8 @@ export declare function resolveAlias(resource: string): string;
2064
2122
  */
2065
2123
  export declare function getCommandDef(verb: string): CommandDef | undefined;
2066
2124
  /**
2067
- * Get all flags accepted for a given verb, including global flags.
2125
+ * Get all flags accepted for a given verb, including global flags and any
2126
+ * resource-scoped flags declared under `resourceFlags`.
2068
2127
  */
2069
2128
  export declare function getAcceptedFlags(verb: string): Record<string, FlagDef> | undefined;
2070
2129
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"command-registry.d.ts","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+/BS,CAAC;AAEvC,yEAAyE;AACzE,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAIjD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAe9C,CAAC;AAEL;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CASlE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAIrC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWtE;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAC/C,MAAM,EACN;IAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAC9C,CAwCA"}
1
+ {"version":3,"file":"command-registry.d.ts","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,MAAM,qCAAqC,CAAC;AAI7C,MAAM,WAAW,OAAO;IACvB,8EAA8E;IAC9E,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,wFAAwF;IACxF,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;;OAMG;IAEH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC;IAClC,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wGAAwG;IACxG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8FAA8F;IAC9F,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kGAAkG;IAClG,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,mFAAmF;IACnF,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC,CAAC;IAC/D,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnE;AAID;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyBnD,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBmB,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;CAamB,CAAC;AAkP7C,eAAO,MAAM,YAAY;;;;;;;CAOmB,CAAC;AAoC7C,eAAO,MAAM,kBAAkB;;;;EAMc,CAAC;AA4D9C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2kCS,CAAC;AAEvC,yEAAyE;AACzE,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAIjD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAe9C,CAAC;AAEL;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CASlE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAUrC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWtE;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAC/C,MAAM,EACN;IAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAC9C,CAwCA"}