skedyul 1.7.26 → 1.7.27

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.
@@ -83,6 +83,11 @@ export interface BackendFieldDefinition {
83
83
  }>;
84
84
  limitChoices?: number;
85
85
  };
86
+ aiMeta?: {
87
+ description?: string;
88
+ mutability?: 'always' | 'restricted' | 'create_only' | 'immutable';
89
+ };
90
+ section?: string;
86
91
  }
87
92
  /**
88
93
  * Backend-compatible relationship definition.
@@ -159,7 +164,11 @@ export interface BackendDesiredSchema {
159
164
  navigation?: BackendNavigationDefinition;
160
165
  }
161
166
  /**
162
- * Transform a CRM schema to the backend's DesiredSchema format.
167
+ * Transform a CRM schema to a legacy backend DesiredSchema format.
168
+ *
169
+ * @deprecated The CLI API and UI upload accept public CRM v1 JSON directly
170
+ * (`list` / `unique` / `default` / `requirement` / `section` / `aiMeta`).
171
+ * Prefer sending the loaded schema without this transform.
163
172
  */
164
173
  export declare function transformToBackendSchema(schema: CRMSchema): BackendDesiredSchema;
165
174
  /**
@@ -51,6 +51,11 @@ export interface EntityFieldDefinition {
51
51
  matchCandidate?: boolean;
52
52
  /** Whether this field should be mapped for a complete configuration */
53
53
  required?: boolean;
54
+ /**
55
+ * Global FieldDefinition handle to attach when CRM apply creates or
56
+ * retargets the mapped workplace field (e.g. `calendar/recurrence`).
57
+ */
58
+ definition?: string;
54
59
  /** Enum options when the source value is constrained */
55
60
  options?: FieldOption[] | string[];
56
61
  }
@@ -27,8 +27,9 @@ export type FieldType = 'string' | 'long_string' | 'number' | 'boolean' | 'date'
27
27
  * - 'none': No action (orphan the reference)
28
28
  * - 'cascade': Delete related records
29
29
  * - 'restrict': Prevent deletion if references exist
30
+ * - 'set_null': Clear the relation field on related records
30
31
  */
31
- export type OnDelete = 'none' | 'cascade' | 'restrict';
32
+ export type OnDelete = 'none' | 'cascade' | 'restrict' | 'set_null';
32
33
  /**
33
34
  * Field requirement types.
34
35
  * - 'optional': Field is never required
@@ -180,23 +181,22 @@ export interface RelationshipLink {
180
181
  label: string;
181
182
  }
182
183
  /**
183
- * Relationship cardinality from source (one) to target (many or one).
184
+ * Relationship cardinality from source to target.
184
185
  * - 'one_to_one': One source record relates to one target record
185
186
  * - 'one_to_many': One source record relates to many target records
186
- *
187
- * Note: For many-to-one relationships, swap source and target and use 'one_to_many'.
187
+ * - 'many_to_one': Many source records relate to one target record
188
+ * - 'many_to_many': Many source records relate to many target records
188
189
  */
189
- export type Cardinality = 'one_to_one' | 'one_to_many';
190
+ export type Cardinality = 'one_to_one' | 'one_to_many' | 'many_to_one' | 'many_to_many';
190
191
  /**
191
192
  * Relationship definition between two models.
192
- * Source is always the "one" side, target is the "many" side (for one_to_many).
193
193
  */
194
194
  export interface RelationshipDefinition {
195
- /** Source side of the relationship (the "one" side) */
195
+ /** Source side of the relationship */
196
196
  source: RelationshipLink;
197
- /** Target side of the relationship (the "many" side for one_to_many) */
197
+ /** Target side of the relationship */
198
198
  target: RelationshipLink;
199
- /** Cardinality: 'one_to_one' or 'one_to_many' */
199
+ /** Cardinality from the source side */
200
200
  cardinality: Cardinality;
201
201
  /** Behavior when a related record is deleted */
202
202
  onDelete?: OnDelete;
@@ -545,8 +545,9 @@ export declare const file: {
545
545
  /**
546
546
  * Upload file content and create a File record.
547
547
  *
548
- * Files are scoped to the app installation and stored privately.
548
+ * Files are stored privately under workplaces/{subdomain}/files/{timestamp}-{name}.
549
549
  * Use file.getUrl() to generate a temporary download URL when needed.
550
+ * The optional `path` argument is accepted for compatibility but ignored for the S3 key.
550
551
  *
551
552
  * @example
552
553
  * ```ts
@@ -557,14 +558,6 @@ export declare const file: {
557
558
  * name: 'document.pdf',
558
559
  * mimeType: 'application/pdf',
559
560
  * })
560
- *
561
- * // Upload with a path prefix for organization
562
- * const { id } = await file.upload({
563
- * content: imageBuffer,
564
- * name: 'photo.jpg',
565
- * mimeType: 'image/jpeg',
566
- * path: 'attachments',
567
- * })
568
561
  * ```
569
562
  */
570
563
  upload(params: FileUploadParams): Promise<FileUploadResult>;
@@ -364,6 +364,10 @@ var CRMFieldAppearanceSchemaZ = z3.object({
364
364
  placeholder: z3.string().optional(),
365
365
  helpText: z3.string().optional()
366
366
  });
367
+ var CRMFieldAiMetaSchemaZ = z3.object({
368
+ description: z3.string().optional(),
369
+ mutability: z3.enum(["always", "restricted", "create_only", "immutable"]).optional()
370
+ });
367
371
  var CRMFieldSchemaZ = z3.object({
368
372
  handle: z3.string().regex(/^[a-z][a-z0-9_]*$/, "Handle must be lowercase alphanumeric with underscores, starting with a letter"),
369
373
  label: z3.string().min(1, "Label is required"),
@@ -377,6 +381,8 @@ var CRMFieldSchemaZ = z3.object({
377
381
  list: z3.boolean().optional(),
378
382
  default: z3.unknown().optional(),
379
383
  definition: CRMFieldDefinitionSchema.optional(),
384
+ /** AI metadata - description and mutability hints for agents */
385
+ aiMeta: CRMFieldAiMetaSchemaZ.optional(),
380
386
  /**
381
387
  * Workplace-scoped field section handle (visualization helper).
382
388
  * Find-or-create on apply; display name is derived from the handle on create.
@@ -392,8 +398,18 @@ var CRMModelSchemaZ = z3.object({
392
398
  icon: z3.string().optional(),
393
399
  fields: z3.array(CRMFieldSchemaZ)
394
400
  });
395
- var CRMCardinalitySchema = z3.enum(["one_to_one", "one_to_many"]);
396
- var CRMOnDeleteSchema = z3.enum(["none", "cascade", "restrict"]);
401
+ var CRMCardinalitySchema = z3.enum([
402
+ "one_to_one",
403
+ "one_to_many",
404
+ "many_to_one",
405
+ "many_to_many"
406
+ ]);
407
+ var CRMOnDeleteSchema = z3.enum([
408
+ "none",
409
+ "cascade",
410
+ "restrict",
411
+ "set_null"
412
+ ]);
397
413
  var CRMRelationshipLinkSchema = z3.object({
398
414
  model: z3.string(),
399
415
  field: z3.string(),
@@ -1327,6 +1343,8 @@ var EntityFieldDefinitionSchema = z8.object({
1327
1343
  /** @deprecated Prefer isUnique */
1328
1344
  matchCandidate: z8.boolean().optional(),
1329
1345
  required: z8.boolean().optional(),
1346
+ /** Global FieldDefinition handle (e.g. calendar/recurrence) */
1347
+ definition: z8.string().optional(),
1330
1348
  options: z8.array(
1331
1349
  z8.union([
1332
1350
  z8.string(),
@@ -1360,9 +1378,16 @@ var EntityDefinitionSchema = z8.object({
1360
1378
  });
1361
1379
  var RelationshipCardinalitySchema = z8.enum([
1362
1380
  "ONE_TO_ONE",
1363
- "ONE_TO_MANY"
1381
+ "ONE_TO_MANY",
1382
+ "MANY_TO_ONE",
1383
+ "MANY_TO_MANY"
1384
+ ]);
1385
+ var OnDeleteBehaviorSchema = z8.enum([
1386
+ "NONE",
1387
+ "CASCADE",
1388
+ "RESTRICT",
1389
+ "SET_NULL"
1364
1390
  ]);
1365
- var OnDeleteBehaviorSchema = z8.enum(["NONE", "CASCADE", "RESTRICT"]);
1366
1391
  var RelationshipLinkSchema = z8.object({
1367
1392
  model: z8.string(),
1368
1393
  field: z8.string(),
@@ -3246,8 +3271,9 @@ var file = {
3246
3271
  /**
3247
3272
  * Upload file content and create a File record.
3248
3273
  *
3249
- * Files are scoped to the app installation and stored privately.
3274
+ * Files are stored privately under workplaces/{subdomain}/files/{timestamp}-{name}.
3250
3275
  * Use file.getUrl() to generate a temporary download URL when needed.
3276
+ * The optional `path` argument is accepted for compatibility but ignored for the S3 key.
3251
3277
  *
3252
3278
  * @example
3253
3279
  * ```ts
@@ -3258,14 +3284,6 @@ var file = {
3258
3284
  * name: 'document.pdf',
3259
3285
  * mimeType: 'application/pdf',
3260
3286
  * })
3261
- *
3262
- * // Upload with a path prefix for organization
3263
- * const { id } = await file.upload({
3264
- * content: imageBuffer,
3265
- * name: 'photo.jpg',
3266
- * mimeType: 'image/jpeg',
3267
- * path: 'attachments',
3268
- * })
3269
3287
  * ```
3270
3288
  */
3271
3289
  async upload(params) {
@@ -8864,6 +8882,8 @@ export {
8864
8882
  CRMCardinalitySchema,
8865
8883
  CRMContextSchema2 as CRMContextSchema,
8866
8884
  CRMDataSchema,
8885
+ CRMFieldAiMetaSchemaZ,
8886
+ CRMFieldAppearanceSchemaZ,
8867
8887
  CRMFieldDefinitionSchema,
8868
8888
  CRMFieldOptionSchema,
8869
8889
  CRMFieldRequirementSchema,
package/dist/index.d.ts CHANGED
@@ -34,7 +34,7 @@ export { CRMContextSchema, SenderContextSchema, ThreadContextItemSchema, ThreadI
34
34
  export type { CRMContext, SenderContext, ThreadContextItem, ThreadInfo, SandboxConfig, Subscription, Association, Contact, AgentSenderContext, AgentThreadContext, AgentContext, ContextIssueSeverity, ContextIssueType, ContextIssue, ContextValidationResult, MockSenderContext, MockThreadContext, MockContext, } from './context';
35
35
  export { MemoryEntryTypeSchema, MemoryEntrySchema, WorkingMemoryConfigSchema, SemanticMemoryConfigSchema, ExternalMemoryConfigSchema, MemoryConfigSchema, MemoryScopeSchema, MemoryQueryOptionsSchema, ConversationSummarySchema, AgentObservationSchema, ExternalDataCacheSchema, MemoryService, InMemoryStore, createInMemoryService, } from './memory';
36
36
  export type { MemoryEntryType, MemoryEntry, WorkingMemoryConfig as MemoryWorkingConfig, SemanticMemoryConfig as MemorySemanticConfig, ExternalMemoryConfig as MemoryExternalConfig, MemoryConfig, MemoryScope, MemoryQueryOptions, ConversationSummary, AgentObservation, ExternalDataCache, MemoryStore, } from './memory';
37
- export type { CRMFieldType, CRMFieldRequirement, CRMFieldOption, CRMFieldDefinition, CRMFieldSchema, CRMModelSchema, CRMCardinality, CRMOnDelete, CRMRelationshipLink, CRMRelationshipSchema, CRMSchema, CRMSchemaValidationResult, } from './schemas';
37
+ export type { CRMFieldType, CRMFieldRequirement, CRMFieldOption, CRMFieldDefinition, CRMFieldAppearance, CRMFieldAiMeta, CRMFieldSchema, CRMModelSchema, CRMCardinality, CRMOnDelete, CRMRelationshipLink, CRMRelationshipSchema, CRMSchema, CRMSchemaValidationResult, } from './schemas';
38
38
  export type { SkedyulConfig, SerializableSkedyulConfig, InstallConfig, ProvisionConfig, BaseDefinition, Scope, FieldOwner, Visibility, ComputeLayer, StructuredFilter, FilterOperator, FilterCondition, FieldOption, EnvVariable, EnvSchema, InstallPhase, FieldType, Cardinality, OnDelete, InlineFieldDefinition, FieldVisibility, FieldDefinition, ModelDefinition, RelationshipLink, RelationshipDefinition, CapabilityType, ChannelCapability, ChannelBatchCapability, ChannelFieldPermissions, ChannelField, ChannelDefinition, WorkflowActionInput, WorkflowAction, WorkflowDefinition, AgentDefinition, NavigationItem, NavigationSection, NavigationSidebar, BreadcrumbItem, NavigationBreadcrumb, NavigationConfig, ContextMode, ContextItemModel, ContextItemTool, ContextItem, ContextDefinition, FormStyleProps, ButtonVariant, ButtonSize, ButtonProps, RelationshipExtension, FormHeader, FormActionDefinition, ActionDefinition, ModalFormDefinition, InputComponent, TextareaComponent, SelectComponent, ComboboxComponent, CheckboxComponent, DatePickerComponent, TimePickerComponent, StatusIndicator, FieldSettingComponent, ImageSettingComponent, FileSettingComponent, ListItemTemplate, ListComponent, EmptyFormComponent, AlertComponent, FormComponent, FormLayoutColumn, FormLayoutRow, FormLayoutConfig, FormProps, CardHeader, CardBlock, ListBlock, BlockDefinition, SetupStepDefinition, SetupStepKind, BatchCascadePhase, BatchOperationDefinition, BatchOperationContext, BatchOperationIterateResult, BatchOperationSetupResult, PageType, PageDefinition, HttpMethod, WebhookRequest, WebhookHandlerContext, WebhookHandlerResponse, WebhookHandlerFn, WebhookHandlerDefinition, Webhooks, WebhookHandlerMetadata, ModelDependency, ChannelDependency, WorkflowDependency, ResourceDependency, } from './config';
39
39
  export { compileAgent, compileWorkflow } from './compiler';
40
40
  export type { ValidationError, ValidationWarning, ResolvedPersona, ResolvedTool, EventConfig as CompilerEventConfig, IRMemoryConfig, PolicyConfig, IRRuntimeConfig, AgentIR, WorkflowStepIR, WorkflowIR, CompilationResult, } from './compiler';
package/dist/index.js CHANGED
@@ -51,6 +51,8 @@ __export(index_exports, {
51
51
  CRMCardinalitySchema: () => CRMCardinalitySchema,
52
52
  CRMContextSchema: () => CRMContextSchema2,
53
53
  CRMDataSchema: () => CRMDataSchema,
54
+ CRMFieldAiMetaSchemaZ: () => CRMFieldAiMetaSchemaZ,
55
+ CRMFieldAppearanceSchemaZ: () => CRMFieldAppearanceSchemaZ,
54
56
  CRMFieldDefinitionSchema: () => CRMFieldDefinitionSchema,
55
57
  CRMFieldOptionSchema: () => CRMFieldOptionSchema,
56
58
  CRMFieldRequirementSchema: () => CRMFieldRequirementSchema,
@@ -753,6 +755,10 @@ var CRMFieldAppearanceSchemaZ = import_v43.z.object({
753
755
  placeholder: import_v43.z.string().optional(),
754
756
  helpText: import_v43.z.string().optional()
755
757
  });
758
+ var CRMFieldAiMetaSchemaZ = import_v43.z.object({
759
+ description: import_v43.z.string().optional(),
760
+ mutability: import_v43.z.enum(["always", "restricted", "create_only", "immutable"]).optional()
761
+ });
756
762
  var CRMFieldSchemaZ = import_v43.z.object({
757
763
  handle: import_v43.z.string().regex(/^[a-z][a-z0-9_]*$/, "Handle must be lowercase alphanumeric with underscores, starting with a letter"),
758
764
  label: import_v43.z.string().min(1, "Label is required"),
@@ -766,6 +772,8 @@ var CRMFieldSchemaZ = import_v43.z.object({
766
772
  list: import_v43.z.boolean().optional(),
767
773
  default: import_v43.z.unknown().optional(),
768
774
  definition: CRMFieldDefinitionSchema.optional(),
775
+ /** AI metadata - description and mutability hints for agents */
776
+ aiMeta: CRMFieldAiMetaSchemaZ.optional(),
769
777
  /**
770
778
  * Workplace-scoped field section handle (visualization helper).
771
779
  * Find-or-create on apply; display name is derived from the handle on create.
@@ -781,8 +789,18 @@ var CRMModelSchemaZ = import_v43.z.object({
781
789
  icon: import_v43.z.string().optional(),
782
790
  fields: import_v43.z.array(CRMFieldSchemaZ)
783
791
  });
784
- var CRMCardinalitySchema = import_v43.z.enum(["one_to_one", "one_to_many"]);
785
- var CRMOnDeleteSchema = import_v43.z.enum(["none", "cascade", "restrict"]);
792
+ var CRMCardinalitySchema = import_v43.z.enum([
793
+ "one_to_one",
794
+ "one_to_many",
795
+ "many_to_one",
796
+ "many_to_many"
797
+ ]);
798
+ var CRMOnDeleteSchema = import_v43.z.enum([
799
+ "none",
800
+ "cascade",
801
+ "restrict",
802
+ "set_null"
803
+ ]);
786
804
  var CRMRelationshipLinkSchema = import_v43.z.object({
787
805
  model: import_v43.z.string(),
788
806
  field: import_v43.z.string(),
@@ -1716,6 +1734,8 @@ var EntityFieldDefinitionSchema = import_v48.z.object({
1716
1734
  /** @deprecated Prefer isUnique */
1717
1735
  matchCandidate: import_v48.z.boolean().optional(),
1718
1736
  required: import_v48.z.boolean().optional(),
1737
+ /** Global FieldDefinition handle (e.g. calendar/recurrence) */
1738
+ definition: import_v48.z.string().optional(),
1719
1739
  options: import_v48.z.array(
1720
1740
  import_v48.z.union([
1721
1741
  import_v48.z.string(),
@@ -1749,9 +1769,16 @@ var EntityDefinitionSchema = import_v48.z.object({
1749
1769
  });
1750
1770
  var RelationshipCardinalitySchema = import_v48.z.enum([
1751
1771
  "ONE_TO_ONE",
1752
- "ONE_TO_MANY"
1772
+ "ONE_TO_MANY",
1773
+ "MANY_TO_ONE",
1774
+ "MANY_TO_MANY"
1775
+ ]);
1776
+ var OnDeleteBehaviorSchema = import_v48.z.enum([
1777
+ "NONE",
1778
+ "CASCADE",
1779
+ "RESTRICT",
1780
+ "SET_NULL"
1753
1781
  ]);
1754
- var OnDeleteBehaviorSchema = import_v48.z.enum(["NONE", "CASCADE", "RESTRICT"]);
1755
1782
  var RelationshipLinkSchema = import_v48.z.object({
1756
1783
  model: import_v48.z.string(),
1757
1784
  field: import_v48.z.string(),
@@ -3635,8 +3662,9 @@ var file = {
3635
3662
  /**
3636
3663
  * Upload file content and create a File record.
3637
3664
  *
3638
- * Files are scoped to the app installation and stored privately.
3665
+ * Files are stored privately under workplaces/{subdomain}/files/{timestamp}-{name}.
3639
3666
  * Use file.getUrl() to generate a temporary download URL when needed.
3667
+ * The optional `path` argument is accepted for compatibility but ignored for the S3 key.
3640
3668
  *
3641
3669
  * @example
3642
3670
  * ```ts
@@ -3647,14 +3675,6 @@ var file = {
3647
3675
  * name: 'document.pdf',
3648
3676
  * mimeType: 'application/pdf',
3649
3677
  * })
3650
- *
3651
- * // Upload with a path prefix for organization
3652
- * const { id } = await file.upload({
3653
- * content: imageBuffer,
3654
- * name: 'photo.jpg',
3655
- * mimeType: 'image/jpeg',
3656
- * path: 'attachments',
3657
- * })
3658
3678
  * ```
3659
3679
  */
3660
3680
  async upload(params) {
@@ -9254,6 +9274,8 @@ var index_default = { z: import_v414.z };
9254
9274
  CRMCardinalitySchema,
9255
9275
  CRMContextSchema,
9256
9276
  CRMDataSchema,
9277
+ CRMFieldAiMetaSchemaZ,
9278
+ CRMFieldAppearanceSchemaZ,
9257
9279
  CRMFieldDefinitionSchema,
9258
9280
  CRMFieldOptionSchema,
9259
9281
  CRMFieldRequirementSchema,
@@ -77,6 +77,19 @@ export declare const CRMFieldAppearanceSchemaZ: z.ZodObject<{
77
77
  helpText: z.ZodOptional<z.ZodString>;
78
78
  }, z.core.$strip>;
79
79
  export type CRMFieldAppearance = z.infer<typeof CRMFieldAppearanceSchemaZ>;
80
+ /**
81
+ * AI metadata for CRM fields (hints for agents / auto-fill).
82
+ */
83
+ export declare const CRMFieldAiMetaSchemaZ: z.ZodObject<{
84
+ description: z.ZodOptional<z.ZodString>;
85
+ mutability: z.ZodOptional<z.ZodEnum<{
86
+ always: "always";
87
+ restricted: "restricted";
88
+ create_only: "create_only";
89
+ immutable: "immutable";
90
+ }>>;
91
+ }, z.core.$strip>;
92
+ export type CRMFieldAiMeta = z.infer<typeof CRMFieldAiMetaSchemaZ>;
80
93
  /**
81
94
  * Field schema for CRM models.
82
95
  */
@@ -123,6 +136,15 @@ export declare const CRMFieldSchemaZ: z.ZodObject<{
123
136
  max: z.ZodOptional<z.ZodNumber>;
124
137
  pattern: z.ZodOptional<z.ZodString>;
125
138
  }, z.core.$strip>]>>;
139
+ aiMeta: z.ZodOptional<z.ZodObject<{
140
+ description: z.ZodOptional<z.ZodString>;
141
+ mutability: z.ZodOptional<z.ZodEnum<{
142
+ always: "always";
143
+ restricted: "restricted";
144
+ create_only: "create_only";
145
+ immutable: "immutable";
146
+ }>>;
147
+ }, z.core.$strip>>;
126
148
  section: z.ZodOptional<z.ZodString>;
127
149
  }, z.core.$strip>;
128
150
  export type CRMFieldSchema = z.infer<typeof CRMFieldSchemaZ>;
@@ -179,6 +201,15 @@ export declare const CRMModelSchemaZ: z.ZodObject<{
179
201
  max: z.ZodOptional<z.ZodNumber>;
180
202
  pattern: z.ZodOptional<z.ZodString>;
181
203
  }, z.core.$strip>]>>;
204
+ aiMeta: z.ZodOptional<z.ZodObject<{
205
+ description: z.ZodOptional<z.ZodString>;
206
+ mutability: z.ZodOptional<z.ZodEnum<{
207
+ always: "always";
208
+ restricted: "restricted";
209
+ create_only: "create_only";
210
+ immutable: "immutable";
211
+ }>>;
212
+ }, z.core.$strip>>;
182
213
  section: z.ZodOptional<z.ZodString>;
183
214
  }, z.core.$strip>>;
184
215
  }, z.core.$strip>;
@@ -189,6 +220,8 @@ export type CRMModelSchema = z.infer<typeof CRMModelSchemaZ>;
189
220
  export declare const CRMCardinalitySchema: z.ZodEnum<{
190
221
  one_to_one: "one_to_one";
191
222
  one_to_many: "one_to_many";
223
+ many_to_one: "many_to_one";
224
+ many_to_many: "many_to_many";
192
225
  }>;
193
226
  export type CRMCardinality = z.infer<typeof CRMCardinalitySchema>;
194
227
  /**
@@ -198,6 +231,7 @@ export declare const CRMOnDeleteSchema: z.ZodEnum<{
198
231
  none: "none";
199
232
  cascade: "cascade";
200
233
  restrict: "restrict";
234
+ set_null: "set_null";
201
235
  }>;
202
236
  export type CRMOnDelete = z.infer<typeof CRMOnDeleteSchema>;
203
237
  /**
@@ -226,11 +260,14 @@ export declare const CRMRelationshipSchemaZ: z.ZodObject<{
226
260
  cardinality: z.ZodEnum<{
227
261
  one_to_one: "one_to_one";
228
262
  one_to_many: "one_to_many";
263
+ many_to_one: "many_to_one";
264
+ many_to_many: "many_to_many";
229
265
  }>;
230
266
  onDelete: z.ZodOptional<z.ZodEnum<{
231
267
  none: "none";
232
268
  cascade: "cascade";
233
269
  restrict: "restrict";
270
+ set_null: "set_null";
234
271
  }>>;
235
272
  }, z.core.$strip>;
236
273
  export type CRMRelationshipSchema = z.infer<typeof CRMRelationshipSchemaZ>;
@@ -380,6 +417,15 @@ export declare const CRMSchemaZ: z.ZodObject<{
380
417
  max: z.ZodOptional<z.ZodNumber>;
381
418
  pattern: z.ZodOptional<z.ZodString>;
382
419
  }, z.core.$strip>]>>;
420
+ aiMeta: z.ZodOptional<z.ZodObject<{
421
+ description: z.ZodOptional<z.ZodString>;
422
+ mutability: z.ZodOptional<z.ZodEnum<{
423
+ always: "always";
424
+ restricted: "restricted";
425
+ create_only: "create_only";
426
+ immutable: "immutable";
427
+ }>>;
428
+ }, z.core.$strip>>;
383
429
  section: z.ZodOptional<z.ZodString>;
384
430
  }, z.core.$strip>>;
385
431
  }, z.core.$strip>>;
@@ -397,11 +443,14 @@ export declare const CRMSchemaZ: z.ZodObject<{
397
443
  cardinality: z.ZodEnum<{
398
444
  one_to_one: "one_to_one";
399
445
  one_to_many: "one_to_many";
446
+ many_to_one: "many_to_one";
447
+ many_to_many: "many_to_many";
400
448
  }>;
401
449
  onDelete: z.ZodOptional<z.ZodEnum<{
402
450
  none: "none";
403
451
  cascade: "cascade";
404
452
  restrict: "restrict";
453
+ set_null: "set_null";
405
454
  }>>;
406
455
  }, z.core.$strip>>>;
407
456
  pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -1,2 +1,2 @@
1
- export { CRMFieldTypeSchema, CRMFieldRequirementSchema, CRMFieldOptionSchema, CRMFieldDefinitionSchema, CRMFieldSchemaZ, CRMModelSchemaZ, CRMCardinalitySchema, CRMOnDeleteSchema, CRMRelationshipLinkSchema, CRMRelationshipSchemaZ, CRMSchemaZ, type CRMFieldType, type CRMFieldRequirement, type CRMFieldOption, type CRMFieldDefinition, type CRMFieldSchema, type CRMModelSchema, type CRMCardinality, type CRMOnDelete, type CRMRelationshipLink, type CRMRelationshipSchema, type CRMSchema, type CRMSchemaValidationResult, defineSchema, validateCRMSchema, parseCRMSchema, safeParseCRMSchema, } from './crm-schema';
1
+ export { CRMFieldTypeSchema, CRMFieldRequirementSchema, CRMFieldOptionSchema, CRMFieldDefinitionSchema, CRMFieldAppearanceSchemaZ, CRMFieldAiMetaSchemaZ, CRMFieldSchemaZ, CRMModelSchemaZ, CRMCardinalitySchema, CRMOnDeleteSchema, CRMRelationshipLinkSchema, CRMRelationshipSchemaZ, CRMSchemaZ, type CRMFieldType, type CRMFieldRequirement, type CRMFieldOption, type CRMFieldDefinition, type CRMFieldAppearance, type CRMFieldAiMeta, type CRMFieldSchema, type CRMModelSchema, type CRMCardinality, type CRMOnDelete, type CRMRelationshipLink, type CRMRelationshipSchema, type CRMSchema, type CRMSchemaValidationResult, defineSchema, validateCRMSchema, parseCRMSchema, safeParseCRMSchema, } from './crm-schema';
2
2
  export { AGENT_SCHEMA_VERSION_V3, PersonaVoiceFormatV3Schema, PersonaVoiceV3Schema, PersonaV3Schema, ToolApprovalConfigSchema, ToolRefV3Schema, WorkingMemoryConfigSchema, ExternalMemoryConfigSchema, SemanticMemoryConfigSchema, MemoryConfigV3Schema, PoliciesConfigV3Schema, RuntimeConfigV3Schema, AgentYAMLV3Schema, TimeWindowTimeStampSchema, TimeWindowDayOfWeekSchema, TimeWindowSlotAgentSchema, ResponseModeSchema, TimeWindowBehaviorSchema, TimeWindowPolicySchema, TimeWindowPoliciesSchema, TimeWindowDefaultSchema, SchedulingDelaySchema, SchedulingPatternSchema, SchedulingBehaviorConfigSchema, type PersonaVoiceFormatV3, type PersonaVoiceV3, type PersonaV3, type ToolApprovalConfig, type ToolRefV3, type WorkingMemoryConfig, type ExternalMemoryConfig, type SemanticMemoryConfig, type MemoryConfigV3, type PoliciesConfigV3, type RuntimeConfigV3, type AgentYAMLV3, type TimeWindowTimeStamp, type TimeWindowDayOfWeek, type TimeWindowSlotAgent, type ResponseMode, type TimeWindowBehavior, type TimeWindowPolicy, type TimeWindowPolicies, type TimeWindowDefault, type SchedulingDelay, type SchedulingPattern, type SchedulingBehaviorConfig, defineAgentV3, validateAgentYAMLV3, } from './agent-schema-v3';
package/dist/schemas.d.ts CHANGED
@@ -383,6 +383,7 @@ export declare const EntityFieldDefinitionSchema: z.ZodObject<{
383
383
  isUnique: z.ZodOptional<z.ZodBoolean>;
384
384
  matchCandidate: z.ZodOptional<z.ZodBoolean>;
385
385
  required: z.ZodOptional<z.ZodBoolean>;
386
+ definition: z.ZodOptional<z.ZodString>;
386
387
  options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
387
388
  value: z.ZodString;
388
389
  label: z.ZodString;
@@ -424,6 +425,7 @@ export declare const EntityDefinitionSchema: z.ZodObject<{
424
425
  isUnique: z.ZodOptional<z.ZodBoolean>;
425
426
  matchCandidate: z.ZodOptional<z.ZodBoolean>;
426
427
  required: z.ZodOptional<z.ZodBoolean>;
428
+ definition: z.ZodOptional<z.ZodString>;
427
429
  options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
428
430
  value: z.ZodString;
429
431
  label: z.ZodString;
@@ -445,6 +447,7 @@ export declare const EntityDefinitionSchema: z.ZodObject<{
445
447
  isUnique: z.ZodOptional<z.ZodBoolean>;
446
448
  matchCandidate: z.ZodOptional<z.ZodBoolean>;
447
449
  required: z.ZodOptional<z.ZodBoolean>;
450
+ definition: z.ZodOptional<z.ZodString>;
448
451
  options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
449
452
  value: z.ZodString;
450
453
  label: z.ZodString;
@@ -468,11 +471,14 @@ export declare const EntityDefinitionSchema: z.ZodObject<{
468
471
  export declare const RelationshipCardinalitySchema: z.ZodEnum<{
469
472
  ONE_TO_ONE: "ONE_TO_ONE";
470
473
  ONE_TO_MANY: "ONE_TO_MANY";
474
+ MANY_TO_ONE: "MANY_TO_ONE";
475
+ MANY_TO_MANY: "MANY_TO_MANY";
471
476
  }>;
472
477
  export declare const OnDeleteBehaviorSchema: z.ZodEnum<{
473
478
  NONE: "NONE";
474
479
  CASCADE: "CASCADE";
475
480
  RESTRICT: "RESTRICT";
481
+ SET_NULL: "SET_NULL";
476
482
  }>;
477
483
  export declare const RelationshipLinkSchema: z.ZodObject<{
478
484
  model: z.ZodString;
@@ -493,11 +499,14 @@ export declare const RelationshipDefinitionSchema: z.ZodObject<{
493
499
  cardinality: z.ZodEnum<{
494
500
  ONE_TO_ONE: "ONE_TO_ONE";
495
501
  ONE_TO_MANY: "ONE_TO_MANY";
502
+ MANY_TO_ONE: "MANY_TO_ONE";
503
+ MANY_TO_MANY: "MANY_TO_MANY";
496
504
  }>;
497
505
  onDelete: z.ZodDefault<z.ZodEnum<{
498
506
  NONE: "NONE";
499
507
  CASCADE: "CASCADE";
500
508
  RESTRICT: "RESTRICT";
509
+ SET_NULL: "SET_NULL";
501
510
  }>>;
502
511
  }, z.core.$strip>;
503
512
  /** Standard capability types for communication channels */
@@ -3386,11 +3395,14 @@ export declare const InstallConfigSchema: z.ZodObject<{
3386
3395
  cardinality: z.ZodEnum<{
3387
3396
  ONE_TO_ONE: "ONE_TO_ONE";
3388
3397
  ONE_TO_MANY: "ONE_TO_MANY";
3398
+ MANY_TO_ONE: "MANY_TO_ONE";
3399
+ MANY_TO_MANY: "MANY_TO_MANY";
3389
3400
  }>;
3390
3401
  onDelete: z.ZodDefault<z.ZodEnum<{
3391
3402
  NONE: "NONE";
3392
3403
  CASCADE: "CASCADE";
3393
3404
  RESTRICT: "RESTRICT";
3405
+ SET_NULL: "SET_NULL";
3394
3406
  }>>;
3395
3407
  }, z.core.$strip>>>;
3396
3408
  }, z.core.$strip>;
@@ -3620,6 +3632,7 @@ export declare const ProvisionConfigSchema: z.ZodObject<{
3620
3632
  isUnique: z.ZodOptional<z.ZodBoolean>;
3621
3633
  matchCandidate: z.ZodOptional<z.ZodBoolean>;
3622
3634
  required: z.ZodOptional<z.ZodBoolean>;
3635
+ definition: z.ZodOptional<z.ZodString>;
3623
3636
  options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
3624
3637
  value: z.ZodString;
3625
3638
  label: z.ZodString;
@@ -3641,6 +3654,7 @@ export declare const ProvisionConfigSchema: z.ZodObject<{
3641
3654
  isUnique: z.ZodOptional<z.ZodBoolean>;
3642
3655
  matchCandidate: z.ZodOptional<z.ZodBoolean>;
3643
3656
  required: z.ZodOptional<z.ZodBoolean>;
3657
+ definition: z.ZodOptional<z.ZodString>;
3644
3658
  options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
3645
3659
  value: z.ZodString;
3646
3660
  label: z.ZodString;
@@ -3675,11 +3689,14 @@ export declare const ProvisionConfigSchema: z.ZodObject<{
3675
3689
  cardinality: z.ZodEnum<{
3676
3690
  ONE_TO_ONE: "ONE_TO_ONE";
3677
3691
  ONE_TO_MANY: "ONE_TO_MANY";
3692
+ MANY_TO_ONE: "MANY_TO_ONE";
3693
+ MANY_TO_MANY: "MANY_TO_MANY";
3678
3694
  }>;
3679
3695
  onDelete: z.ZodDefault<z.ZodEnum<{
3680
3696
  NONE: "NONE";
3681
3697
  CASCADE: "CASCADE";
3682
3698
  RESTRICT: "RESTRICT";
3699
+ SET_NULL: "SET_NULL";
3683
3700
  }>>;
3684
3701
  }, z.core.$strip>>>;
3685
3702
  channels: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -4480,6 +4497,7 @@ export declare const SkedyulConfigSchema: z.ZodObject<{
4480
4497
  isUnique: z.ZodOptional<z.ZodBoolean>;
4481
4498
  matchCandidate: z.ZodOptional<z.ZodBoolean>;
4482
4499
  required: z.ZodOptional<z.ZodBoolean>;
4500
+ definition: z.ZodOptional<z.ZodString>;
4483
4501
  options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
4484
4502
  value: z.ZodString;
4485
4503
  label: z.ZodString;
@@ -4501,6 +4519,7 @@ export declare const SkedyulConfigSchema: z.ZodObject<{
4501
4519
  isUnique: z.ZodOptional<z.ZodBoolean>;
4502
4520
  matchCandidate: z.ZodOptional<z.ZodBoolean>;
4503
4521
  required: z.ZodOptional<z.ZodBoolean>;
4522
+ definition: z.ZodOptional<z.ZodString>;
4504
4523
  options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
4505
4524
  value: z.ZodString;
4506
4525
  label: z.ZodString;
@@ -4535,11 +4554,14 @@ export declare const SkedyulConfigSchema: z.ZodObject<{
4535
4554
  cardinality: z.ZodEnum<{
4536
4555
  ONE_TO_ONE: "ONE_TO_ONE";
4537
4556
  ONE_TO_MANY: "ONE_TO_MANY";
4557
+ MANY_TO_ONE: "MANY_TO_ONE";
4558
+ MANY_TO_MANY: "MANY_TO_MANY";
4538
4559
  }>;
4539
4560
  onDelete: z.ZodDefault<z.ZodEnum<{
4540
4561
  NONE: "NONE";
4541
4562
  CASCADE: "CASCADE";
4542
4563
  RESTRICT: "RESTRICT";
4564
+ SET_NULL: "SET_NULL";
4543
4565
  }>>;
4544
4566
  }, z.core.$strip>>>;
4545
4567
  channels: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -5447,5 +5469,5 @@ export type MessageBulkStatusOutput = z.infer<typeof MessageBulkStatusOutputSche
5447
5469
  export declare function isModelDependency(dep: ResourceDependency): dep is ModelDependency;
5448
5470
  export declare function isChannelDependency(dep: ResourceDependency): dep is ChannelDependency;
5449
5471
  export declare function isWorkflowDependency(dep: ResourceDependency): dep is WorkflowDependency;
5450
- export { CRMFieldTypeSchema, CRMFieldRequirementSchema, CRMFieldOptionSchema, CRMFieldDefinitionSchema, CRMFieldSchemaZ, CRMModelSchemaZ, CRMCardinalitySchema, CRMOnDeleteSchema, CRMRelationshipLinkSchema, CRMRelationshipSchemaZ, CRMSchemaZ, defineSchema, validateCRMSchema, parseCRMSchema, safeParseCRMSchema, } from './schemas/index';
5451
- export type { CRMFieldType, CRMFieldRequirement, CRMFieldOption, CRMFieldDefinition, CRMFieldSchema, CRMModelSchema, CRMCardinality, CRMOnDelete, CRMRelationshipLink, CRMRelationshipSchema, CRMSchema, CRMSchemaValidationResult, } from './schemas/index';
5472
+ export { CRMFieldTypeSchema, CRMFieldRequirementSchema, CRMFieldOptionSchema, CRMFieldDefinitionSchema, CRMFieldAppearanceSchemaZ, CRMFieldAiMetaSchemaZ, CRMFieldSchemaZ, CRMModelSchemaZ, CRMCardinalitySchema, CRMOnDeleteSchema, CRMRelationshipLinkSchema, CRMRelationshipSchemaZ, CRMSchemaZ, defineSchema, validateCRMSchema, parseCRMSchema, safeParseCRMSchema, } from './schemas/index';
5473
+ export type { CRMFieldType, CRMFieldRequirement, CRMFieldOption, CRMFieldDefinition, CRMFieldAppearance, CRMFieldAiMeta, CRMFieldSchema, CRMModelSchema, CRMCardinality, CRMOnDelete, CRMRelationshipLink, CRMRelationshipSchema, CRMSchema, CRMSchemaValidationResult, } from './schemas/index';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skedyul",
3
- "version": "1.7.26",
3
+ "version": "1.7.27",
4
4
  "description": "The Skedyul SDK for Node.js",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -22,6 +22,12 @@
22
22
  "types": "./dist/server.d.ts",
23
23
  "require": "./dist/dedicated/server.js"
24
24
  },
25
+ "./cli": {
26
+ "types": "./dist/cli/api/index.d.ts",
27
+ "import": "./dist/cli/api/index.js",
28
+ "require": "./dist/cli/api/index.js",
29
+ "default": "./dist/cli/api/index.js"
30
+ },
25
31
  "./cli/utils/auth": {
26
32
  "types": "./dist/cli/utils/auth.d.ts",
27
33
  "require": "./dist/cli/utils/auth.js",
@@ -76,7 +82,7 @@
76
82
  "build": "rm -rf dist tsconfig.tsbuildinfo && tsc --emitDeclarationOnly && pnpm exec tsup-node && node -e \"require('fs').mkdirSync('dist',{recursive:true}); require('fs').writeFileSync('dist/.build-stamp', String(Date.now()))\"",
77
83
  "db:generate": "echo 'No database generation needed for this package'",
78
84
  "dev:watch": "npx nodemon --watch src --ext js,ts --exec \"pnpm run build\"",
79
- "test": "tsc --project tsconfig.tests.json && node --test dist-tests/tests/server.test.js dist-tests/tests/cli.test.js dist-tests/tests/agent-schema-v3.test.js dist-tests/tests/ratelimit.test.js dist-tests/tests/sequencer.test.js dist-tests/tests/config-loader.test.js dist-tests/tests/gsm7.test.js dist-tests/tests/batch-operation.test.js"
85
+ "test": "tsc --project tsconfig.tests.json && node --test dist-tests/tests/server.test.js dist-tests/tests/cli.test.js dist-tests/tests/cli-api.test.js dist-tests/tests/agent-schema-v3.test.js dist-tests/tests/ratelimit.test.js dist-tests/tests/sequencer.test.js dist-tests/tests/config-loader.test.js dist-tests/tests/gsm7.test.js dist-tests/tests/batch-operation.test.js"
80
86
  },
81
87
  "keywords": [
82
88
  "mcp",