@futdevpro/fsm-dynamo 1.20.35 → 1.20.38
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/build/_models/control-models/data-model-params.control-model.d.ts +46 -0
- package/build/_models/control-models/data-model-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/data-model-params.control-model.js +15 -0
- package/build/_models/control-models/data-model-params.control-model.js.map +1 -1
- package/build/_models/control-models/data-model-settings.control-model.d.ts +8 -1
- package/build/_models/control-models/data-model-settings.control-model.d.ts.map +1 -1
- package/build/_models/control-models/data-model-settings.control-model.js +7 -0
- package/build/_models/control-models/data-model-settings.control-model.js.map +1 -1
- package/build/_modules/ngx-models/_enums/voice/voice-provider-type.enum.d.ts +2 -0
- package/build/_modules/ngx-models/_enums/voice/voice-provider-type.enum.d.ts.map +1 -1
- package/build/_modules/ngx-models/_enums/voice/voice-provider-type.enum.js +5 -0
- package/build/_modules/ngx-models/_enums/voice/voice-provider-type.enum.js.map +1 -1
- package/package.json +1 -1
|
@@ -35,6 +35,52 @@ export interface DyFM_RetentionSettings {
|
|
|
35
35
|
* `retentionDays`; non-finite or ≤ 0 values are rejected. Pure + side-effect-free (unit-tested).
|
|
36
36
|
*/
|
|
37
37
|
export declare function DyFM_resolveRetentionTtlSeconds(retention?: DyFM_RetentionSettings): number | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* FR-BFR-041 / SR-3 — declarative COMPOUND and PARTIAL indexes.
|
|
40
|
+
*
|
|
41
|
+
* The property-level `index` / `unique` flags can only describe a SINGLE field. A uniqueness rule
|
|
42
|
+
* that spans two fields — or that must apply only to the documents where a field EXISTS — cannot be
|
|
43
|
+
* expressed with them at all. The measured case that forced this: an append-only ledger needs
|
|
44
|
+
* `unique (type, flowRunId) WHERE flowRunId EXISTS` as its idempotency lock. A field-level
|
|
45
|
+
* `unique` on `flowRunId` would be actively WRONG there, for two independent reasons:
|
|
46
|
+
* (1) the field is OPTIONAL, so every document without it would collide on a single `null` key and
|
|
47
|
+
* the second such document would be silently rejected;
|
|
48
|
+
* (2) the SAME `flowRunId` legitimately appears under different `type` values across one flow-run.
|
|
49
|
+
*
|
|
50
|
+
* A declared index is installed by `DyNTS_App` at startup, next to the retention TTL index, with the
|
|
51
|
+
* same guarantees: non-fatal (never blocks startup) and idempotent (an identical index is a no-op).
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* const params = new DyFM_DataModel_Params<MyEvent>({
|
|
56
|
+
* dataName: 'my_event',
|
|
57
|
+
* indexes: [ {
|
|
58
|
+
* name: 'flowrun_idem',
|
|
59
|
+
* keys: { type: 1, flowRunId: 1 },
|
|
60
|
+
* unique: true,
|
|
61
|
+
* partialFilterExpression: { flowRunId: { $exists: true } },
|
|
62
|
+
* } ],
|
|
63
|
+
* properties: { ... },
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export interface DyFM_DeclaredIndex {
|
|
68
|
+
/** Index name — stable identifier used for reconciliation; must be unique within the model. */
|
|
69
|
+
name: string;
|
|
70
|
+
/** Index keys: field name → direction (`1` ascending, `-1` descending). At least one entry. */
|
|
71
|
+
keys: Record<string, 1 | -1>;
|
|
72
|
+
/** Enforce uniqueness over the key combination. */
|
|
73
|
+
unique?: boolean;
|
|
74
|
+
/** Restrict the index to the documents matching this filter (MongoDB partial index). */
|
|
75
|
+
partialFilterExpression?: Record<string, unknown>;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Resolve the declared indexes of a model to the VALID ones, or `undefined` when there is nothing
|
|
79
|
+
* to install. An entry is dropped when it has no usable `name` or no key at all — an index without
|
|
80
|
+
* keys is not installable, and a nameless one could not be reconciled on the next startup.
|
|
81
|
+
* Pure + side-effect-free (unit-tested).
|
|
82
|
+
*/
|
|
83
|
+
export declare function DyFM_resolveDeclaredIndexes(indexes?: DyFM_DeclaredIndex[]): DyFM_DeclaredIndex[] | undefined;
|
|
38
84
|
export declare class DyFM_DataModelParams_ControlModel<T extends DyFM_Metadata> extends DyFM_DataModel_Settings<T> {
|
|
39
85
|
readonly stackLocation?: string;
|
|
40
86
|
constructor(set: DyFM_DataModel_Settings<T>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-model-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAEL,wBAAwB,EACzB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,EACL,mCAAmC,EACnC,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAG,MAAM,GAAG,SAAS,CAQtG;AAcD,qBAAa,iCAAiC,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAMxG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;gBAG9B,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAiNjC,WAAW,CAAC,IAAI,OAAO;IAIvB;;;;;OAKG;IACH,eAAe,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;IAI7D,yBAAyB,CAAC,CACxB,QAAQ,EAAE,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,GACzC,IAAI;CA2BR;AAED,2FAA2F;AAC3F,OAAO,EAAE,iCAAiC,IAAI,qBAAqB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"data-model-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAEL,wBAAwB,EACzB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,EACL,mCAAmC,EACnC,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAG,MAAM,GAAG,SAAS,CAQtG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,kBAAkB;IACjC,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7B,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wFAAwF;IACxF,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnD;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,GAAG,SAAS,CAO5G;AAcD,qBAAa,iCAAiC,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAMxG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;gBAG9B,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAiNjC,WAAW,CAAC,IAAI,OAAO;IAIvB;;;;;OAKG;IACH,eAAe,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;IAI7D,yBAAyB,CAAC,CACxB,QAAQ,EAAE,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,GACzC,IAAI;CA2BR;AAED,2FAA2F;AAC3F,OAAO,EAAE,iCAAiC,IAAI,qBAAqB,EAAE,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DyFM_DataModel_Params = exports.DyFM_DataModelParams_ControlModel = exports.DyFM_DataModel_Settings = exports.DyFM_DataModelSettings_ControlModel = void 0;
|
|
4
4
|
exports.DyFM_resolveRetentionTtlSeconds = DyFM_resolveRetentionTtlSeconds;
|
|
5
|
+
exports.DyFM_resolveDeclaredIndexes = DyFM_resolveDeclaredIndexes;
|
|
5
6
|
const log_util_1 = require("../../_collections/utils/log.util");
|
|
6
7
|
const object_util_1 = require("../../_collections/utils/object.util");
|
|
7
8
|
const stack_util_1 = require("../../_collections/utils/stack.util");
|
|
@@ -31,6 +32,20 @@ function DyFM_resolveRetentionTtlSeconds(retention) {
|
|
|
31
32
|
}
|
|
32
33
|
return Math.floor(raw);
|
|
33
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Resolve the declared indexes of a model to the VALID ones, or `undefined` when there is nothing
|
|
37
|
+
* to install. An entry is dropped when it has no usable `name` or no key at all — an index without
|
|
38
|
+
* keys is not installable, and a nameless one could not be reconciled on the next startup.
|
|
39
|
+
* Pure + side-effect-free (unit-tested).
|
|
40
|
+
*/
|
|
41
|
+
function DyFM_resolveDeclaredIndexes(indexes) {
|
|
42
|
+
if (!indexes?.length) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
const valid = indexes.filter((entry) => !!entry && typeof entry.name === 'string' && !!entry.name.trim()
|
|
46
|
+
&& !!entry.keys && Object.keys(entry.keys).length > 0);
|
|
47
|
+
return valid.length ? valid : undefined;
|
|
48
|
+
}
|
|
34
49
|
/* export type DyFM_Data_P<T extends DyFM_Metadata> = DyFM_DataModel_Params<T>;
|
|
35
50
|
*
|
|
36
51
|
* @example
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-model-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":";;;AAoDA,0EAQC;
|
|
1
|
+
{"version":3,"file":"data-model-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":";;;AAoDA,0EAQC;AAgDD,kEAOC;AAnHD,gEAA6D;AAC7D,sEAAmE;AACnE,oEAAwF;AACxF,4EAAoF;AACpF,oFAAgF;AAChF,4EAAwE;AAExE,6FAG8C;AAC9C,+DAAmD;AACnD,2FAA8E;AAE9E,yFAG6C;AAF3C,wJAAA,mCAAmC,OAAA;AACnC,4IAAA,uBAAuB,OAAA;AA+BzB;;;;GAIG;AACH,SAAgB,+BAA+B,CAAC,SAAkC;IAChF,IAAI,CAAC,SAAS,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IACrC,MAAM,GAAG,GACP,SAAS,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU;QACvD,CAAC,CAAC,SAAS,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,GAAG,KAAK;YACvE,CAAC,CAAC,SAAS,CAAC;IAClB,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IACjF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AA0CD;;;;;GAKG;AACH,SAAgB,2BAA2B,CAAC,OAA8B;IACxE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAC3C,MAAM,KAAK,GAAyB,OAAO,CAAC,MAAM,CAAC,CAAC,KAAyB,EAAW,EAAE,CACxF,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;WAC7D,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAa,iCAA2D,SAAQ,2DAA0B;IACxG;QACE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,mDAAmD;IAC1C,aAAa,CAAU;IAEhC,YACE,GAA+B;QAE/B,KAAK,CAAC,GAAG,CAAC,CAAC;QAEX,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;YAED,IAAI,CAAC,aAAa,GAAG,IAAA,8CAAiC,GAAE,CAAC;YAEzD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC5D,mBAAQ,CAAC,KAAK,CACZ,qCAAqC;oBACrC,8BAA8B,IAAI,CAAC,QAAQ,UAAU;oBACrD,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;gBAEF,IAAI,CAAC,UAAU,GAAG,EAA4B,CAAC;YACjD,CAAC;YAED,MAAM,IAAI,GAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAW,EAAQ,EAAE;gBACjC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,mBAAQ,CAAC,KAAK,CACZ,qCAAqC;wBACrC,iCAAiC,IAAI,CAAC,QAAQ,UAAU;wBACxD,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;gBACJ,CAAC;gBAED,MAAM,cAAc,GAAqC,IAAI,6DAAwB,CAAC;oBACpF,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBACvB,GAAG,EAAE,GAAG;iBACT,EAAE,IAAI,CAAC,CAAC;gBACT,MAAM,SAAS,GAA4B,IAAA,0CAAyB,EAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC1F,IAAI,SAAS,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC;oBACtC,cAAc,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;oBAClD,cAAc,CAAC,IAAI,GAAG,SAAS,CAAC;gBAClC,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;gBAEtC,IAAI,cAAc,CAAC,eAAe,EAAE,CAAC;oBACnC,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,CAAC,GAAW,EAAQ,EAAE;gBACjC,MAAM,QAAQ,GAAqC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACxE;;;;;;;;;oBASI;gBAEJ,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;oBAC5B,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAe,EAAQ,EAAE;wBACxD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC9B,mBAAQ,CAAC,KAAK,CACZ,6BAA6B,OAAO,oBAAoB;gCACxD,IAAI,IAAI,CAAC,QAAQ,UAAU;gCAC3B,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;wBACJ,CAAC;wBAED;;;;;;4BAMI;wBAEJ;;;;;;;;4BAQI;oBACN,CAAC,CAAC,CAAC;oBAEH,mEAAmE;oBAEnE,IAAI,QAAQ,CAAC,IAAI,KAAK,kDAAuB,CAAC,KAAK,EAAE,CAAC;wBACpD,mBAAQ,CAAC,KAAK,CACZ,6BAA6B,QAAQ,CAAC,cAAc,kCAAkC;4BACtF,IAAI,IAAI,CAAC,QAAQ,UAAU;4BAC3B,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;oBACJ,CAAC;oBAED,IAAI,QAAQ,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;wBACzC,mBAAQ,CAAC,KAAK,CACZ,6BAA6B,QAAQ,CAAC,cAAc,kCAAkC;4BACtF,IAAI,IAAI,CAAC,QAAQ,UAAU;4BAC3B,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;oBACJ,CAAC;oBAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;wBAChC,mBAAQ,CAAC,KAAK,CACZ,0DAA0D;4BAC1D,IAAI,IAAI,CAAC,QAAQ,UAAU;4BAC3B,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;oBACJ,CAAC;oBAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACnB,yDAAyD;wBACzD,mBAAQ,CAAC,IAAI,CACX,kEAAkE;4BAClE,IAAI,IAAI,CAAC,QAAQ,WAAW;4BAC5B,2DAA2D;4BAC3D,2DAA2D;4BAC3D,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;oBACJ,CAAC;oBAED;;;;;;;;;;;;;;wBAcI;gBACN,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,SAAS,IAAI,0CAAmB,CAAC,IAAI,EAAE,CAAC;gBACpE,IAAI,CAAC,SAAS,GAAG,0CAAmB,CAAC,IAAI,CAAC;YAC5C,CAAC;YAED;;;;;;;;;;;;;;;gBAeI;YAEJ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,mBAAQ,CAAC,KAAK,CACZ,qCAAqC;oBACrC,2BAA2B,IAAI,CAAC,QAAQ,UAAU;oBAClD,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;gBACF,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;YAClC,CAAC;YAED,+FAA+F;YAC/F;;;;;;;gBAOI;YAEJ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,mBAAQ,CAAC,IAAI,CACX,qCAAqC;oBACrC,wCAAwC,IAAI,CAAC,QAAQ,UAAU;oBAC/D,2BAA2B;oBAC3B,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;YACJ,CAAC;YAED,yBAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gCAAU,CAAC,SAAS,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACxE,mBAAQ,CAAC,IAAI,CACX,oGAAoG;gBACpG,KAAK,IAAI,CAAC,QAAQ,UAAU;gBAC5B,oBAAoB,IAAI,CAAC,aAAa,EAAE,CACzC,CAAC;YACF;;;;iBAIK;QACP,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAqB,GAAM;QACxC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACzC,CAAC;IAED,yBAAyB,CACvB,QAA0C;QAE1C,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,EAAQ,EAAE;gBAClE,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,mBAAQ,CAAC,KAAK,CACZ,mDAAmD;wBACnD,wCAAwC,IAAI,CAAC,QAAQ,UAAU;wBAC/D,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;gBACJ,CAAC;gBAED,MAAM,uBAAuB,GAC3B,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAEhC,uBAAuB,CAAC,GAAG,GAAG,GAAG,CAAC;gBAClC,MAAM,SAAS,GAA4B,IAAA,0CAAyB,EAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBACnG,IAAI,SAAS,KAAK,uBAAuB,CAAC,IAAI,EAAE,CAAC;oBAC/C,uBAAuB,CAAC,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC;oBACpE,uBAAuB,CAAC,IAAI,GAAG,SAAS,CAAC;gBAC3C,CAAC;gBAED,IAAI,uBAAuB,CAAC,eAAe,EAAE,CAAC;oBAC5C,IAAI,CAAC,yBAAyB,CAAC,uBAAuB,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AArQD,8EAqQC;AAG6C,kEAAqB"}
|
|
@@ -2,7 +2,7 @@ import { DyFM_DataModel_Type } from '../../_enums/data-model-type.enum';
|
|
|
2
2
|
import { DyFM_DeprecatedBooleanAlias } from '../types/deprecated-boolean-alias.type';
|
|
3
3
|
import { DyFM_Metadata } from '../data-models/metadata.data-model';
|
|
4
4
|
import { DyFM_DataProperties } from './data-property-params.control-model';
|
|
5
|
-
import { DyFM_RetentionSettings } from './data-model-params.control-model';
|
|
5
|
+
import { DyFM_DeclaredIndex, DyFM_RetentionSettings } from './data-model-params.control-model';
|
|
6
6
|
/**
|
|
7
7
|
* Declarative data-model settings used by the database and service layers.
|
|
8
8
|
* Historical boolean names remain the serialized keys; their `is...` aliases
|
|
@@ -26,6 +26,13 @@ export declare class DyFM_DataModelSettings_ControlModel<T extends DyFM_Metadata
|
|
|
26
26
|
isDeleteForbidden?: boolean;
|
|
27
27
|
/** Declarative automatic-retention settings for the model. */
|
|
28
28
|
retention?: DyFM_RetentionSettings;
|
|
29
|
+
/**
|
|
30
|
+
* Declarative COMPOUND / PARTIAL indexes installed at startup (FR-BFR-041 / SR-3).
|
|
31
|
+
*
|
|
32
|
+
* Use this when the property-level `index` / `unique` flags cannot express the rule — a key that
|
|
33
|
+
* spans SEVERAL fields, or a uniqueness rule that must apply only where a field EXISTS.
|
|
34
|
+
*/
|
|
35
|
+
indexes?: DyFM_DeclaredIndex[];
|
|
29
36
|
/** Property declarations used to configure persistence behavior. */
|
|
30
37
|
properties: DyFM_DataProperties<T>;
|
|
31
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-model-settings.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-settings.control-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"data-model-settings.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-settings.control-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE/F;;;;GAIG;AACH,qBAAa,mCAAmC,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,aAAa;IAK7F,uEAAuE;IACvE,QAAQ,EAAG,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC,2FAA2F;IAC3F,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,kFAAkF;IAC1E,cAAc,CAAC,EAAE,OAAO,CAAC;IAEjC,gGAAgG;IAChG,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC3C,oFAAoF;IAC5E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAEpC,gGAAgG;IAChG,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC3C,oFAAoF;IAC5E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAEpC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,sBAAsB,CAAC;IAEnC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAE/B,oEAAoE;IACpE,UAAU,EAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACrC;AAiCD,6FAA6F;AAC7F,OAAO,EAAE,mCAAmC,IAAI,uBAAuB,EAAE,CAAC"}
|
|
@@ -22,6 +22,13 @@ class DyFM_DataModelSettings_ControlModel extends metadata_data_model_1.DyFM_Met
|
|
|
22
22
|
forbidDelete;
|
|
23
23
|
/** Declarative automatic-retention settings for the model. */
|
|
24
24
|
retention;
|
|
25
|
+
/**
|
|
26
|
+
* Declarative COMPOUND / PARTIAL indexes installed at startup (FR-BFR-041 / SR-3).
|
|
27
|
+
*
|
|
28
|
+
* Use this when the property-level `index` / `unique` flags cannot express the rule — a key that
|
|
29
|
+
* spans SEVERAL fields, or a uniqueness rule that must apply only where a field EXISTS.
|
|
30
|
+
*/
|
|
31
|
+
indexes;
|
|
25
32
|
/** Property declarations used to configure persistence behavior. */
|
|
26
33
|
properties;
|
|
27
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-model-settings.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-settings.control-model.ts"],"names":[],"mappings":";;;AAEA,4EAAmE;AAInE;;;;GAIG;AACH,MAAa,mCAA6D,SAAQ,mCAAa;IAC7F;QACE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,uEAAuE;IACvE,QAAQ,CAAU;IAClB,SAAS,CAAuB;IAEhC,2FAA2F;IAC3F,UAAU,CAA+B;IAIzC,gGAAgG;IAChG,YAAY,CAA+B;IAI3C,gGAAgG;IAChG,YAAY,CAA+B;IAI3C,8DAA8D;IAC9D,SAAS,CAA0B;IAEnC,oEAAoE;IACpE,UAAU,CAA0B;CACrC;
|
|
1
|
+
{"version":3,"file":"data-model-settings.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-settings.control-model.ts"],"names":[],"mappings":";;;AAEA,4EAAmE;AAInE;;;;GAIG;AACH,MAAa,mCAA6D,SAAQ,mCAAa;IAC7F;QACE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,uEAAuE;IACvE,QAAQ,CAAU;IAClB,SAAS,CAAuB;IAEhC,2FAA2F;IAC3F,UAAU,CAA+B;IAIzC,gGAAgG;IAChG,YAAY,CAA+B;IAI3C,gGAAgG;IAChG,YAAY,CAA+B;IAI3C,8DAA8D;IAC9D,SAAS,CAA0B;IAEnC;;;;;OAKG;IACH,OAAO,CAAwB;IAE/B,oEAAoE;IACpE,UAAU,CAA0B;CACrC;AArCD,kFAqCC;AAkC+C,sEAAuB;AAhCvE,MAAM,CAAC,cAAc,CAAC,mCAAmC,CAAC,SAAS,EAAE,gBAAgB,EAAE;IACrF,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,KAAK;IACjB,GAAG,EAAE;QACH,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,GAAG,EAAE,UAAU,OAA4B;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;IAC5B,CAAC;CACF,CAAC,CAAC;AACH,MAAM,CAAC,cAAc,CAAC,mCAAmC,CAAC,SAAS,EAAE,mBAAmB,EAAE;IACxF,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,KAAK;IACjB,GAAG,EAAE;QACH,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,GAAG,EAAE,UAAU,OAA4B;QACzC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC;AACH,MAAM,CAAC,cAAc,CAAC,mCAAmC,CAAC,SAAS,EAAE,mBAAmB,EAAE;IACxF,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,KAAK;IACjB,GAAG,EAAE;QACH,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,GAAG,EAAE,UAAU,OAA4B;QACzC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -18,6 +18,8 @@ export declare enum DyFM_VoiceProvider_Type {
|
|
|
18
18
|
openAiTts = "openai-tts",
|
|
19
19
|
elevenLabsTts = "elevenlabs-tts",
|
|
20
20
|
browserSpeechSynthesis = "browser-speech-synthesis",
|
|
21
|
+
serverProxyStt = "server-proxy-stt",
|
|
22
|
+
serverProxyTts = "server-proxy-tts",
|
|
21
23
|
vosk = "vosk",
|
|
22
24
|
whisperWasm = "whisper-wasm"
|
|
23
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-provider-type.enum.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ngx-models/_enums/voice/voice-provider-type.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,oBAAY,uBAAuB;IAEjC,aAAa,mBAA8B;IAC3C,gBAAgB,sBAA8B;IAC9C,wBAAwB,+BAA+B;IAEvD,SAAS,eAA8B;IACvC,aAAa,mBAA8B;IAC3C,sBAAsB,6BAA+B;
|
|
1
|
+
{"version":3,"file":"voice-provider-type.enum.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ngx-models/_enums/voice/voice-provider-type.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,oBAAY,uBAAuB;IAEjC,aAAa,mBAA8B;IAC3C,gBAAgB,sBAA8B;IAC9C,wBAAwB,+BAA+B;IAEvD,SAAS,eAA8B;IACvC,aAAa,mBAA8B;IAC3C,sBAAsB,6BAA+B;IAIrD,cAAc,qBAA+B;IAC7C,cAAc,qBAA+B;IAE7C,IAAI,SAA6B;IACjC,WAAW,iBAA8B;CAC1C"}
|
|
@@ -24,6 +24,11 @@ var DyFM_VoiceProvider_Type;
|
|
|
24
24
|
DyFM_VoiceProvider_Type["openAiTts"] = "openai-tts";
|
|
25
25
|
DyFM_VoiceProvider_Type["elevenLabsTts"] = "elevenlabs-tts";
|
|
26
26
|
DyFM_VoiceProvider_Type["browserSpeechSynthesis"] = "browser-speech-synthesis";
|
|
27
|
+
// Server-proxy (MP-3 / SP-3.1) — the browser never sees a provider API key.
|
|
28
|
+
// The app's own backend holds the credential and forwards the call; which upstream
|
|
29
|
+
// provider it uses is the SERVER's decision, invisible from here.
|
|
30
|
+
DyFM_VoiceProvider_Type["serverProxyStt"] = "server-proxy-stt";
|
|
31
|
+
DyFM_VoiceProvider_Type["serverProxyTts"] = "server-proxy-tts";
|
|
27
32
|
// Wave-N (placeholder)
|
|
28
33
|
DyFM_VoiceProvider_Type["vosk"] = "vosk";
|
|
29
34
|
DyFM_VoiceProvider_Type["whisperWasm"] = "whisper-wasm";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-provider-type.enum.js","sourceRoot":"","sources":["../../../../../src/_modules/ngx-models/_enums/voice/voice-provider-type.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACH,IAAY,
|
|
1
|
+
{"version":3,"file":"voice-provider-type.enum.js","sourceRoot":"","sources":["../../../../../src/_modules/ngx-models/_enums/voice/voice-provider-type.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACH,IAAY,uBAiBX;AAjBD,WAAY,uBAAuB;IACjC,MAAM;IACN,2DAA2C,CAAA;IAC3C,iEAA8C,CAAA;IAC9C,kFAAuD,CAAA;IACvD,MAAM;IACN,mDAAuC,CAAA;IACvC,2DAA2C,CAAA;IAC3C,8EAAqD,CAAA;IACrD,4EAA4E;IAC5E,mFAAmF;IACnF,kEAAkE;IAClE,8DAA6C,CAAA;IAC7C,8DAA6C,CAAA;IAC7C,uBAAuB;IACvB,wCAAiC,CAAA;IACjC,uDAAyC,CAAA;AAC3C,CAAC,EAjBW,uBAAuB,uCAAvB,uBAAuB,QAiBlC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/fsm-dynamo",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.38",
|
|
4
4
|
"description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
|
|
5
5
|
"DyBu_settings": {
|
|
6
6
|
"packageType": "full-stack-package",
|