@eide/foir-cli 0.55.0 → 0.56.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.
@@ -80,13 +80,41 @@ type EnumFieldDefinitionInput = BaseFieldDefinitionInput & {
80
80
  type: 'enum';
81
81
  config: EnumFieldConfig;
82
82
  };
83
+ /**
84
+ * Relationship declaration on a reference field.
85
+ *
86
+ * `composition` makes records of this model OWNED BY their referenced parent — a
87
+ * single-valued foreign key with ON DELETE CASCADE: sharing and deletes (and
88
+ * later ownership) cascade parent → child. Only valid on a single
89
+ * (non-`multiple`) reference. `association` (the default) is a plain reference;
90
+ * the target keeps its own access + lifecycle. `inverse` names the reverse
91
+ * traversal (parent → children, e.g. a note's `blocks`).
92
+ *
93
+ * The platform validates these at push (e.g. composition on a `multiple`
94
+ * reference is rejected).
95
+ */
96
+ interface FieldRelationshipInput {
97
+ kind: 'composition' | 'association';
98
+ inverse?: string;
99
+ }
100
+ interface ReferenceFieldConfig {
101
+ /** Models this reference may target. Empty ⇒ any record-bearing model. */
102
+ referenceTypes?: string[];
103
+ /** Many-valued reference. Composition is invalid when true. */
104
+ multiple?: boolean;
105
+ relationship?: FieldRelationshipInput;
106
+ }
107
+ type ReferenceFieldDefinitionInput = BaseFieldDefinitionInput & {
108
+ type: 'reference';
109
+ config?: ReferenceFieldConfig;
110
+ };
83
111
  type GenericFieldDefinitionInput = BaseFieldDefinitionInput & {
84
112
  type: string;
85
113
  config?: Record<string, unknown> & {
86
114
  options?: never;
87
115
  };
88
116
  };
89
- type FieldDefinitionInput = SelectFieldDefinitionInput | EnumFieldDefinitionInput | GenericFieldDefinitionInput;
117
+ type FieldDefinitionInput = SelectFieldDefinitionInput | EnumFieldDefinitionInput | ReferenceFieldDefinitionInput | GenericFieldDefinitionInput;
90
118
  /**
91
119
  * Lookup definition — declares one indexed access path on a model.
92
120
  *
@@ -322,9 +350,16 @@ interface ApplyConfigAuthProviderInput {
322
350
  * touching the project-level provider catalogue.
323
351
  */
324
352
  interface ApplyConfigRelyingPartyLoginMethods {
325
- /** Show the password tab on the hosted login? Defaults to true. */
353
+ /**
354
+ * Show email & password sign-in on this RP's hosted login? Defaults to
355
+ * true. Only narrows the project capability — can't enable a method the
356
+ * project (`customerPasswordEnabled`) has turned off.
357
+ */
326
358
  password?: boolean;
327
- /** Show the OTP tab on the hosted login? Defaults to true. */
359
+ /**
360
+ * Show one-time code sign-in on this RP's hosted login? Defaults to true.
361
+ * Only narrows the project capability (`customerOtpEnabled`).
362
+ */
328
363
  otp?: boolean;
329
364
  /**
330
365
  * Provider keys to HIDE on this RP's login page. Empty/missing = show
@@ -677,4 +712,4 @@ interface FoirSecretsConfig {
677
712
  */
678
713
  declare function defineSecrets(config: FoirSecretsConfig): FoirSecretsConfig;
679
714
 
680
- export { type AppInput, type AppPlacementFieldChoiceInput, type AppSinkMappingInput, type AppSourceMappingInput, type ApplyConfigApiKeyInput, type ApplyConfigAuthProviderInput, type ApplyConfigCustomerRoleInput, type ApplyConfigDesignTokensInput, type ApplyConfigHookInput, type ApplyConfigInput, type ApplyConfigModelInput, type ApplyConfigOperationInput, type ApplyConfigPlacementInput, type ApplyConfigProjectInput, type ApplyConfigProjectSettingsInput, type ApplyConfigRelyingPartyInput, type ApplyConfigRelyingPartyLoginMethods, type ApplyConfigScheduleInput, type ApplyConfigSegmentInput, type EnumFieldConfig, type EnumFieldDefinitionInput, type EnumFieldOption, type FieldAccessInput, type FieldDefinitionInput, type FoirSecretsConfig, type LookupDefinitionInput, type QuotaRule, type SecretDeclaration, type SecretOwnerKind, type SelectFieldConfig, type SelectFieldDefinitionInput, defineAuthProvider, defineConfig, defineDesignTokens, defineEnumField, defineField, defineHook, defineModel, defineOperation, definePlacement, defineRelyingParty, defineSchedule, defineSecrets, defineSegment, defineSelectField };
715
+ export { type AppInput, type AppPlacementFieldChoiceInput, type AppSinkMappingInput, type AppSourceMappingInput, type ApplyConfigApiKeyInput, type ApplyConfigAuthProviderInput, type ApplyConfigCustomerRoleInput, type ApplyConfigDesignTokensInput, type ApplyConfigHookInput, type ApplyConfigInput, type ApplyConfigModelInput, type ApplyConfigOperationInput, type ApplyConfigPlacementInput, type ApplyConfigProjectInput, type ApplyConfigProjectSettingsInput, type ApplyConfigRelyingPartyInput, type ApplyConfigRelyingPartyLoginMethods, type ApplyConfigScheduleInput, type ApplyConfigSegmentInput, type EnumFieldConfig, type EnumFieldDefinitionInput, type EnumFieldOption, type FieldAccessInput, type FieldDefinitionInput, type FieldRelationshipInput, type FoirSecretsConfig, type LookupDefinitionInput, type QuotaRule, type ReferenceFieldConfig, type ReferenceFieldDefinitionInput, type SecretDeclaration, type SecretOwnerKind, type SelectFieldConfig, type SelectFieldDefinitionInput, defineAuthProvider, defineConfig, defineDesignTokens, defineEnumField, defineField, defineHook, defineModel, defineOperation, definePlacement, defineRelyingParty, defineSchedule, defineSecrets, defineSegment, defineSelectField };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eide/foir-cli",
3
- "version": "0.55.0",
3
+ "version": "0.56.0",
4
4
  "description": "Universal platform CLI for Foir platform",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -56,7 +56,7 @@
56
56
  "typescript": "5.9.2",
57
57
  "vitest": "^3.2.4",
58
58
  "@foir/rpc-node": "0.0.0",
59
- "@foir/proto-ts": "0.108.0"
59
+ "@foir/proto-ts": "0.109.0"
60
60
  },
61
61
  "engines": {
62
62
  "node": ">=18.0.0"