@cxtms/cx-schema 1.9.255 → 1.9.256

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cxtms/cx-schema",
3
- "version": "1.9.255",
3
+ "version": "1.9.256",
4
4
  "description": "Schema validation package for CXTMS YAML modules",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -25,6 +25,9 @@
25
25
  {
26
26
  "$ref": "caching.json"
27
27
  },
28
+ {
29
+ "$ref": "calendar.json"
30
+ },
28
31
  {
29
32
  "$ref": "charge.json"
30
33
  },
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Calendar Tasks",
4
+ "description": "Issue and import iCalendar feed links",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": { "type": "string", "enum": ["Calendar/IssueLink@1", "Calendar/ImportFeed@1"] },
8
+ "name": { "type": "string" },
9
+ "description": { "type": "string" },
10
+ "conditions": { "type": "array" },
11
+ "continueOnError": { "type": "boolean" },
12
+ "inputs": {
13
+ "type": "object",
14
+ "properties": {
15
+ "organizationId": {}, "calendarId": {}, "label": {},
16
+ "organizationConnectionId": {}, "url": {}, "etag": {}
17
+ },
18
+ "required": ["organizationId"],
19
+ "additionalProperties": true
20
+ },
21
+ "outputs": { "type": "array" }
22
+ },
23
+ "required": ["task", "name", "inputs"],
24
+ "additionalProperties": true
25
+ }
@@ -53,6 +53,8 @@ npx cxtms create workflow <name> --template <template>
53
53
 
54
54
  **All templates** — update `name`, `description`, `tags`, `inputs`, `variables`, replace placeholder steps.
55
55
 
56
+ **Workflow overrides** — active workflows in the same organization with the same case-insensitive `workflow.name` form an override group. Only the highest `workflow.priority` is effective (default 50; lowest workflow ID wins ties). Use a higher priority to replace a base-app workflow without modifying it. The rule covers triggers, schedules, execution by name, MCP surfaces, public API routes, and document workflows; deactivating or deleting the winner restores the next-highest definition.
57
+
56
58
  **`entity-trigger`** — set `entityName`, `eventType` (Modified/Created/Deleted), `position` (Before/After), `conditions` on `changes`. Access entity via `{{ entity.* }}`. Before: use `Validation/Validate@1`. After: cascade changes.
57
59
 
58
60
  **`document`** — keep `file`/`fileName`/`fileDisposition` outputs. Update `Document/Render@1`: `engine` (handlebars/jsrender), `recipe` (chrome-pdf/html-to-xlsx), `content` (HTML template), `data` mapping.
@@ -18,9 +18,21 @@
18
18
  - Notification tasks (Create)
19
19
  - Note tasks (Create, Update, Delete, Import, Export, RenameThread)
20
20
  - AccountingTransaction/ApplyCredit task
21
+ - Calendar feed tasks (IssueLink, ImportFeed)
21
22
 
22
23
  All entity tasks follow the `Namespace/Operation@Version` pattern. Outputs are stored as `ActivityName.StepName.outputKey`.
23
24
 
25
+ ## Calendar feeds
26
+
27
+ | Task | Description |
28
+ |------|-------------|
29
+ | `Calendar/IssueLink@1` | Issue a user or organization-connection iCalendar feed link |
30
+ | `Calendar/ImportFeed@1` | Reconcile an iCalendar feed into a local mirror calendar |
31
+
32
+ `Calendar/IssueLink@1` requires `organizationId` and `calendarId`; optional `label` and `organizationConnectionId` create a labeled user link or an idempotent system link. Outputs: `calendarLinkId`, `url`, `isSystem`. The URL contains the token and must be stored securely.
33
+
34
+ `Calendar/ImportFeed@1` requires `organizationId` and accepts `url`, prior mirror `calendarId`, and prior `etag`. Outputs: `status`, `reason`, `calendarId`, `etag`, `businessHours`, and `availabilityBlocks`. Status is `ok`, `unchanged`, `revoked`, `error`, or `skipped`. Persist the returned calendar ID and ETag after successful calls; do not delete a previous mirror on `error`.
35
+
24
36
  ## PostalCodes
25
37
 
26
38
  | Task | Description |