@nebulr-group/bridge-cli 0.4.0-beta.2 → 0.4.0-beta.5
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/README.md +5 -0
- package/dist/commands/auth/login.command.js +1 -1
- package/dist/commands/auth/login.command.js.map +1 -1
- package/dist/commands/flag-init.command.d.ts.map +1 -1
- package/dist/commands/flag-init.command.js +171 -66
- package/dist/commands/flag-init.command.js.map +1 -1
- package/dist/commands/flag.command.d.ts +9 -41
- package/dist/commands/flag.command.d.ts.map +1 -1
- package/dist/commands/flag.command.js +190 -222
- package/dist/commands/flag.command.js.map +1 -1
- package/dist/commands/plan.command.d.ts +9 -0
- package/dist/commands/plan.command.d.ts.map +1 -1
- package/dist/commands/plan.command.js +33 -3
- package/dist/commands/plan.command.js.map +1 -1
- package/dist/prompts/auth-master-integration-prompt.md +2 -2
- package/dist/prompts/billing/master.md +11 -4
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// TBP-192 — Flag CLI parity for FF 2.0.
|
|
1
|
+
// TBP-192 / TBP-236 — Flag CLI parity for FF 2.0.
|
|
2
2
|
//
|
|
3
3
|
// The CLI's `flag` subcommand exposes the 2.0 mental model:
|
|
4
4
|
// - Three-state model: off | on | on-with-rule
|
|
@@ -7,17 +7,24 @@
|
|
|
7
7
|
// - Scheduling (data-only; the runner is TBP-189 — we just set/clear the field)
|
|
8
8
|
// - Local eval helper for debugging
|
|
9
9
|
//
|
|
10
|
-
//
|
|
11
|
-
// `
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
// (`
|
|
16
|
-
//
|
|
10
|
+
// TBP-236: the CLI's rule format is now the canonical auth-core one. The
|
|
11
|
+
// `Rule` / `Branch` / `Condition` types and the `evaluateRule` / `validateRule`
|
|
12
|
+
// evaluator are imported from @nebulr-group/bridge-auth-core — there is no
|
|
13
|
+
// CLI-local rule shape anymore. Conditions always carry a plural `values`
|
|
14
|
+
// array on the wire, and operators come from the package's locked vocabulary
|
|
15
|
+
// (`OPERATORS`: eq | neq | contains | not_contains | in | not_in | gt | lt |
|
|
16
|
+
// between | regex | exists | not_exists). Legacy CLI inputs (singular
|
|
17
|
+
// `value`, operator names like `equals` / `starts_with` / `gte`) are migrated
|
|
18
|
+
// at parse time by `normalizeRuleInput()` below, with a deprecation warning
|
|
19
|
+
// on stderr for legacy operator names.
|
|
17
20
|
import { readFileSync, writeFileSync } from 'node:fs';
|
|
21
|
+
import { OPERATORS, evaluateRule, isOperator, validateRule, } from '@nebulr-group/bridge-auth-core';
|
|
18
22
|
import { getManagementClient } from '../config.js';
|
|
19
23
|
import { outputSuccess, outputError } from '../output.js';
|
|
20
24
|
import { registerFlagInitCommand } from './flag-init.command.js';
|
|
25
|
+
// Re-export the canonical validator so existing consumers/tests keep a single
|
|
26
|
+
// import site for rule validation alongside the CLI parse helpers.
|
|
27
|
+
export { validateRule };
|
|
21
28
|
const FLAG_STATES = ['off', 'on', 'on-with-rule'];
|
|
22
29
|
const FLAG_VALUE_TYPES = ['boolean', 'string', 'number', 'json'];
|
|
23
30
|
// ── Public registration ─────────────────────────────────────────────────────
|
|
@@ -228,9 +235,8 @@ function registerEval(flag) {
|
|
|
228
235
|
valueType: found.valueType ?? 'boolean',
|
|
229
236
|
offValue: found.offValue ?? false,
|
|
230
237
|
onValue: found.onValue ?? true,
|
|
231
|
-
//
|
|
232
|
-
//
|
|
233
|
-
// local interfaces.
|
|
238
|
+
// `FlagResponse.rule` is the canonical auth-core `Rule` — no
|
|
239
|
+
// bridging cast needed (TBP-236).
|
|
234
240
|
rule: found.rule ?? undefined,
|
|
235
241
|
};
|
|
236
242
|
const result = evaluateLocally(cached, ctx);
|
|
@@ -341,11 +347,20 @@ export function validateFlagDoc(input, index) {
|
|
|
341
347
|
if (!FLAG_VALUE_TYPES.includes(valueType)) {
|
|
342
348
|
throw new Error(`flags[${index}] ("${d.key}") invalid valueType "${String(d.valueType)}". One of ${FLAG_VALUE_TYPES.join(', ')}.`);
|
|
343
349
|
}
|
|
350
|
+
let rule = d.rule;
|
|
344
351
|
if (d.rule !== undefined && d.rule !== null) {
|
|
345
|
-
|
|
352
|
+
let normalized;
|
|
353
|
+
try {
|
|
354
|
+
normalized = normalizeRuleInput(d.rule);
|
|
355
|
+
}
|
|
356
|
+
catch (err) {
|
|
357
|
+
throw new Error(`flags[${index}] ("${d.key}") rule failed validation:\n - ${err instanceof Error ? err.message : String(err)}`);
|
|
358
|
+
}
|
|
359
|
+
const errs = validateRule(normalized);
|
|
346
360
|
if (errs.length > 0) {
|
|
347
361
|
throw new Error(`flags[${index}] ("${d.key}") rule failed validation:\n${errs.map((e) => ` - ${e.message}`).join('\n')}`);
|
|
348
362
|
}
|
|
363
|
+
rule = normalized;
|
|
349
364
|
}
|
|
350
365
|
return {
|
|
351
366
|
key: d.key,
|
|
@@ -354,7 +369,7 @@ export function validateFlagDoc(input, index) {
|
|
|
354
369
|
valueType,
|
|
355
370
|
offValue: d.offValue,
|
|
356
371
|
onValue: d.onValue,
|
|
357
|
-
rule
|
|
372
|
+
rule,
|
|
358
373
|
schedule: d.schedule,
|
|
359
374
|
};
|
|
360
375
|
}
|
|
@@ -550,11 +565,170 @@ export function parseRuleArg(raw) {
|
|
|
550
565
|
catch (err) {
|
|
551
566
|
throw new Error(`--rule must be valid JSON. Parse error: ${err instanceof Error ? err.message : String(err)}`);
|
|
552
567
|
}
|
|
553
|
-
|
|
568
|
+
let rule;
|
|
569
|
+
try {
|
|
570
|
+
rule = normalizeRuleInput(parsed);
|
|
571
|
+
}
|
|
572
|
+
catch (err) {
|
|
573
|
+
throw new Error(`--rule failed validation:\n - ${err instanceof Error ? err.message : String(err)}`);
|
|
574
|
+
}
|
|
575
|
+
const errors = validateRule(rule);
|
|
554
576
|
if (errors.length > 0) {
|
|
555
577
|
throw new Error(`--rule failed validation:\n${errors.map((e) => ` - ${e.message}`).join('\n')}`);
|
|
556
578
|
}
|
|
557
|
-
return
|
|
579
|
+
return rule;
|
|
580
|
+
}
|
|
581
|
+
// ── Parse-time rule normalization (TBP-236) ─────────────────────────────────
|
|
582
|
+
//
|
|
583
|
+
// The CLI historically accepted conditions of shape { attribute, operator,
|
|
584
|
+
// value } with operator names like 'equals' / 'starts_with' / 'gte'. The
|
|
585
|
+
// canonical auth-core format is { attribute, operator, values: [...] } with
|
|
586
|
+
// the locked operator vocabulary in `OPERATORS`. `normalizeRuleInput` migrates
|
|
587
|
+
// legacy input to the canonical shape at parse time:
|
|
588
|
+
// - scalar `value` → plural `values` array (`"value": "pro"` → `values: ["pro"]`)
|
|
589
|
+
// - legacy operator names → canonical ones (deprecation warning on stderr)
|
|
590
|
+
// Structurally invalid input (non-object rule, missing otherwiseValue, ...)
|
|
591
|
+
// throws; unknown operators are passed through for `validateRule` to report.
|
|
592
|
+
/** Legacy operator names that map 1:1 onto a canonical operator. */
|
|
593
|
+
const LEGACY_OPERATOR_ALIASES = {
|
|
594
|
+
equals: 'eq',
|
|
595
|
+
equal: 'eq',
|
|
596
|
+
not_equals: 'neq',
|
|
597
|
+
not_equal: 'neq',
|
|
598
|
+
notEquals: 'neq',
|
|
599
|
+
does_not_contain: 'not_contains',
|
|
600
|
+
notContains: 'not_contains',
|
|
601
|
+
greater_than: 'gt',
|
|
602
|
+
greaterThan: 'gt',
|
|
603
|
+
less_than: 'lt',
|
|
604
|
+
lessThan: 'lt',
|
|
605
|
+
matches: 'regex',
|
|
606
|
+
};
|
|
607
|
+
function warnDeprecatedOperator(legacy, canonical, note) {
|
|
608
|
+
process.stderr.write(`Warning: rule operator "${legacy}" is deprecated; mapped to "${canonical}"${note ? ` (${note})` : ''}. ` +
|
|
609
|
+
`Canonical operators: ${OPERATORS.join(', ')}.\n`);
|
|
610
|
+
}
|
|
611
|
+
function escapeRegExp(s) {
|
|
612
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Map a (possibly legacy) operator name + values to the canonical vocabulary.
|
|
616
|
+
* Some legacy operators have no 1:1 canonical equivalent and are rewritten
|
|
617
|
+
* with adjusted values:
|
|
618
|
+
* starts_with x → regex ^x ends_with x → regex x$
|
|
619
|
+
* gte x → between [x, Number.MAX_VALUE]
|
|
620
|
+
* lte x → between [-Number.MAX_VALUE, x]
|
|
621
|
+
* Unknown names are passed through so validateRule reports them.
|
|
622
|
+
*/
|
|
623
|
+
function resolveOperator(op, values) {
|
|
624
|
+
if (isOperator(op))
|
|
625
|
+
return { operator: op, values };
|
|
626
|
+
const alias = LEGACY_OPERATOR_ALIASES[op];
|
|
627
|
+
if (alias) {
|
|
628
|
+
warnDeprecatedOperator(op, alias);
|
|
629
|
+
return { operator: alias, values };
|
|
630
|
+
}
|
|
631
|
+
switch (op) {
|
|
632
|
+
case 'starts_with':
|
|
633
|
+
case 'startsWith':
|
|
634
|
+
case 'begins_with':
|
|
635
|
+
case 'beginsWith':
|
|
636
|
+
warnDeprecatedOperator(op, 'regex', 'value rewritten to an anchored ^… pattern');
|
|
637
|
+
return { operator: 'regex', values: [`^${escapeRegExp(String(values[0] ?? ''))}`] };
|
|
638
|
+
case 'ends_with':
|
|
639
|
+
case 'endsWith':
|
|
640
|
+
warnDeprecatedOperator(op, 'regex', 'value rewritten to an anchored …$ pattern');
|
|
641
|
+
return { operator: 'regex', values: [`${escapeRegExp(String(values[0] ?? ''))}$`] };
|
|
642
|
+
case 'gte':
|
|
643
|
+
case 'greater_than_or_equal':
|
|
644
|
+
case 'greaterThanOrEqual':
|
|
645
|
+
warnDeprecatedOperator(op, 'between', 'rewritten to between [value, Number.MAX_VALUE]');
|
|
646
|
+
return { operator: 'between', values: [values[0] ?? null, Number.MAX_VALUE] };
|
|
647
|
+
case 'lte':
|
|
648
|
+
case 'less_than_or_equal':
|
|
649
|
+
case 'lessThanOrEqual':
|
|
650
|
+
warnDeprecatedOperator(op, 'between', 'rewritten to between [-Number.MAX_VALUE, value]');
|
|
651
|
+
return { operator: 'between', values: [-Number.MAX_VALUE, values[0] ?? null] };
|
|
652
|
+
default:
|
|
653
|
+
// Unknown operator — pass through; validateRule will flag it.
|
|
654
|
+
return { operator: op, values };
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
function normalizeConditionInput(input, bi, ci) {
|
|
658
|
+
if (!input || typeof input !== 'object') {
|
|
659
|
+
throw new Error(`Branch ${bi} condition ${ci} must be an object.`);
|
|
660
|
+
}
|
|
661
|
+
const c = input;
|
|
662
|
+
if (typeof c.attribute !== 'string' || c.attribute.length === 0) {
|
|
663
|
+
throw new Error(`Branch ${bi} condition ${ci} missing 'attribute'.`);
|
|
664
|
+
}
|
|
665
|
+
if (typeof c.operator !== 'string' || c.operator.length === 0) {
|
|
666
|
+
throw new Error(`Branch ${bi} condition ${ci} missing 'operator'.`);
|
|
667
|
+
}
|
|
668
|
+
let values;
|
|
669
|
+
if (c.values !== undefined) {
|
|
670
|
+
if (!Array.isArray(c.values)) {
|
|
671
|
+
throw new Error(`Branch ${bi} condition ${ci} 'values' must be an array.`);
|
|
672
|
+
}
|
|
673
|
+
values = [...c.values];
|
|
674
|
+
}
|
|
675
|
+
else if ('value' in c) {
|
|
676
|
+
// Legacy singular `value` — migrate to plural `values` at parse time.
|
|
677
|
+
const v = c.value;
|
|
678
|
+
values = Array.isArray(v) ? [...v] : [v];
|
|
679
|
+
}
|
|
680
|
+
else {
|
|
681
|
+
values = [];
|
|
682
|
+
}
|
|
683
|
+
const resolved = resolveOperator(c.operator, values);
|
|
684
|
+
return { attribute: c.attribute, operator: resolved.operator, values: resolved.values };
|
|
685
|
+
}
|
|
686
|
+
/**
|
|
687
|
+
* Normalize untrusted rule input (from --rule JSON or a flags file) to the
|
|
688
|
+
* canonical auth-core `Rule` shape. Throws on structural problems; operator
|
|
689
|
+
* validity is left to `validateRule` on the returned rule.
|
|
690
|
+
*/
|
|
691
|
+
export function normalizeRuleInput(input) {
|
|
692
|
+
if (!input || typeof input !== 'object') {
|
|
693
|
+
throw new Error('Rule must be an object.');
|
|
694
|
+
}
|
|
695
|
+
const r = input;
|
|
696
|
+
if (!('otherwiseValue' in r)) {
|
|
697
|
+
throw new Error('Rule missing otherwiseValue.');
|
|
698
|
+
}
|
|
699
|
+
const rawBranches = r.branches ?? [];
|
|
700
|
+
if (!Array.isArray(rawBranches)) {
|
|
701
|
+
throw new Error('`branches` must be an array.');
|
|
702
|
+
}
|
|
703
|
+
const branches = rawBranches.map((branch, bi) => {
|
|
704
|
+
if (!branch || typeof branch !== 'object') {
|
|
705
|
+
throw new Error(`Branch ${bi} must be an object.`);
|
|
706
|
+
}
|
|
707
|
+
const b = branch;
|
|
708
|
+
if (!('returnValue' in b)) {
|
|
709
|
+
throw new Error(`Branch ${bi} is missing returnValue.`);
|
|
710
|
+
}
|
|
711
|
+
const rawConds = b.conditions ?? [];
|
|
712
|
+
if (!Array.isArray(rawConds)) {
|
|
713
|
+
throw new Error(`Branch ${bi} 'conditions' must be an array.`);
|
|
714
|
+
}
|
|
715
|
+
return {
|
|
716
|
+
conditions: rawConds.map((c, ci) => normalizeConditionInput(c, bi, ci)),
|
|
717
|
+
returnValue: b.returnValue,
|
|
718
|
+
};
|
|
719
|
+
});
|
|
720
|
+
const rule = {
|
|
721
|
+
branches,
|
|
722
|
+
otherwiseValue: r.otherwiseValue,
|
|
723
|
+
// Canonical `Rule` carries rolloutPct explicitly; default to 100 (full
|
|
724
|
+
// rollout) when the input omits it. Out-of-range values are kept so
|
|
725
|
+
// validateRule reports them.
|
|
726
|
+
rolloutPct: r.rolloutPct === undefined ? 100 : r.rolloutPct,
|
|
727
|
+
};
|
|
728
|
+
if (typeof r.groupRef === 'string' && r.groupRef.length > 0) {
|
|
729
|
+
rule.groupRef = r.groupRef;
|
|
730
|
+
}
|
|
731
|
+
return rule;
|
|
558
732
|
}
|
|
559
733
|
export function parseAttributes(pairs) {
|
|
560
734
|
const out = {};
|
|
@@ -582,101 +756,7 @@ async function resolveFlagId(key) {
|
|
|
582
756
|
throw new Error(`Flag not found: ${key}`);
|
|
583
757
|
return found.id;
|
|
584
758
|
}
|
|
585
|
-
|
|
586
|
-
export function validateRule(rule) {
|
|
587
|
-
const errors = [];
|
|
588
|
-
if (!rule || typeof rule !== 'object') {
|
|
589
|
-
return [{ branchIndex: -1, conditionIndex: -1, message: 'Rule must be an object.' }];
|
|
590
|
-
}
|
|
591
|
-
const r = rule;
|
|
592
|
-
const branches = r.branches ?? [];
|
|
593
|
-
if (!Array.isArray(branches)) {
|
|
594
|
-
return [{ branchIndex: -1, conditionIndex: -1, message: '`branches` must be an array.' }];
|
|
595
|
-
}
|
|
596
|
-
let totalConditions = 0;
|
|
597
|
-
branches.forEach((branch, bi) => {
|
|
598
|
-
if (!branch || typeof branch !== 'object') {
|
|
599
|
-
errors.push({
|
|
600
|
-
branchIndex: bi,
|
|
601
|
-
conditionIndex: -1,
|
|
602
|
-
message: `Branch ${bi} must be an object.`,
|
|
603
|
-
});
|
|
604
|
-
return;
|
|
605
|
-
}
|
|
606
|
-
if (!('returnValue' in branch)) {
|
|
607
|
-
errors.push({
|
|
608
|
-
branchIndex: bi,
|
|
609
|
-
conditionIndex: -1,
|
|
610
|
-
message: `Branch ${bi} is missing returnValue.`,
|
|
611
|
-
});
|
|
612
|
-
}
|
|
613
|
-
const conds = branch.conditions ?? [];
|
|
614
|
-
if (!Array.isArray(conds) || conds.length === 0) {
|
|
615
|
-
errors.push({
|
|
616
|
-
branchIndex: bi,
|
|
617
|
-
conditionIndex: -1,
|
|
618
|
-
message: `Branch ${bi} has no conditions.`,
|
|
619
|
-
});
|
|
620
|
-
return;
|
|
621
|
-
}
|
|
622
|
-
conds.forEach((c, ci) => {
|
|
623
|
-
totalConditions++;
|
|
624
|
-
if (!c || typeof c !== 'object') {
|
|
625
|
-
errors.push({
|
|
626
|
-
branchIndex: bi,
|
|
627
|
-
conditionIndex: ci,
|
|
628
|
-
message: `Branch ${bi} condition ${ci} must be an object.`,
|
|
629
|
-
});
|
|
630
|
-
return;
|
|
631
|
-
}
|
|
632
|
-
if (typeof c.attribute !== 'string' || c.attribute.length === 0) {
|
|
633
|
-
errors.push({
|
|
634
|
-
branchIndex: bi,
|
|
635
|
-
conditionIndex: ci,
|
|
636
|
-
message: `Branch ${bi} condition ${ci} missing 'attribute'.`,
|
|
637
|
-
});
|
|
638
|
-
}
|
|
639
|
-
if (typeof c.operator !== 'string' || c.operator.length === 0) {
|
|
640
|
-
errors.push({
|
|
641
|
-
branchIndex: bi,
|
|
642
|
-
conditionIndex: ci,
|
|
643
|
-
message: `Branch ${bi} condition ${ci} missing 'operator'.`,
|
|
644
|
-
});
|
|
645
|
-
}
|
|
646
|
-
});
|
|
647
|
-
});
|
|
648
|
-
if (totalConditions > RULE_CONDITIONS_HARD_MAX) {
|
|
649
|
-
errors.push({
|
|
650
|
-
branchIndex: -1,
|
|
651
|
-
conditionIndex: -1,
|
|
652
|
-
message: `Rule has ${totalConditions} conditions; max is ${RULE_CONDITIONS_HARD_MAX}.`,
|
|
653
|
-
});
|
|
654
|
-
}
|
|
655
|
-
if (r.rolloutPct !== undefined) {
|
|
656
|
-
if (typeof r.rolloutPct !== 'number' || r.rolloutPct < 0 || r.rolloutPct > 100) {
|
|
657
|
-
errors.push({
|
|
658
|
-
branchIndex: -1,
|
|
659
|
-
conditionIndex: -1,
|
|
660
|
-
message: `rolloutPct must be a number in [0, 100], got ${r.rolloutPct}.`,
|
|
661
|
-
});
|
|
662
|
-
}
|
|
663
|
-
}
|
|
664
|
-
if (!('otherwiseValue' in r)) {
|
|
665
|
-
errors.push({
|
|
666
|
-
branchIndex: -1,
|
|
667
|
-
conditionIndex: -1,
|
|
668
|
-
message: 'Rule missing otherwiseValue.',
|
|
669
|
-
});
|
|
670
|
-
}
|
|
671
|
-
if (r.groupRef && branches.length > 0) {
|
|
672
|
-
errors.push({
|
|
673
|
-
branchIndex: -1,
|
|
674
|
-
conditionIndex: -1,
|
|
675
|
-
message: 'Rule cannot have both inline branches and a groupRef.',
|
|
676
|
-
});
|
|
677
|
-
}
|
|
678
|
-
return errors;
|
|
679
|
-
}
|
|
759
|
+
// ── Local evaluator (delegates to auth-core's canonical evaluator) ──────────
|
|
680
760
|
export function evaluateLocally(cached, ctx) {
|
|
681
761
|
switch (cached.state) {
|
|
682
762
|
case 'off':
|
|
@@ -705,118 +785,6 @@ export function evaluateLocally(cached, ctx) {
|
|
|
705
785
|
return evaluateRule(cached.rule, cached.key, ctx);
|
|
706
786
|
}
|
|
707
787
|
}
|
|
708
|
-
function evaluateRule(rule, flagKey, ctx) {
|
|
709
|
-
const rolloutPct = clampPct(rule.rolloutPct ?? 100);
|
|
710
|
-
if (rolloutPct < 100) {
|
|
711
|
-
if (!ctx.identity) {
|
|
712
|
-
return {
|
|
713
|
-
value: rule.otherwiseValue,
|
|
714
|
-
variantIndex: -1,
|
|
715
|
-
matched: false,
|
|
716
|
-
excludedByRollout: true,
|
|
717
|
-
};
|
|
718
|
-
}
|
|
719
|
-
if (bucket(flagKey, ctx.identity) >= rolloutPct) {
|
|
720
|
-
return {
|
|
721
|
-
value: rule.otherwiseValue,
|
|
722
|
-
variantIndex: -1,
|
|
723
|
-
matched: false,
|
|
724
|
-
excludedByRollout: true,
|
|
725
|
-
};
|
|
726
|
-
}
|
|
727
|
-
}
|
|
728
|
-
const branches = rule.branches ?? [];
|
|
729
|
-
for (let i = 0; i < branches.length; i++) {
|
|
730
|
-
if (evaluateBranch(branches[i], ctx)) {
|
|
731
|
-
return {
|
|
732
|
-
value: branches[i].returnValue,
|
|
733
|
-
variantIndex: i,
|
|
734
|
-
matched: true,
|
|
735
|
-
excludedByRollout: false,
|
|
736
|
-
};
|
|
737
|
-
}
|
|
738
|
-
}
|
|
739
|
-
return {
|
|
740
|
-
value: rule.otherwiseValue,
|
|
741
|
-
variantIndex: -1,
|
|
742
|
-
matched: false,
|
|
743
|
-
excludedByRollout: false,
|
|
744
|
-
};
|
|
745
|
-
}
|
|
746
|
-
function evaluateBranch(branch, ctx) {
|
|
747
|
-
if (!branch.conditions || branch.conditions.length === 0)
|
|
748
|
-
return false;
|
|
749
|
-
return branch.conditions.every((c) => evaluateCondition(c, resolveAttribute(ctx, c.attribute)));
|
|
750
|
-
}
|
|
751
|
-
function resolveAttribute(ctx, attribute) {
|
|
752
|
-
if (Object.prototype.hasOwnProperty.call(ctx.attributes, attribute)) {
|
|
753
|
-
return ctx.attributes[attribute];
|
|
754
|
-
}
|
|
755
|
-
const parts = attribute.split('.');
|
|
756
|
-
let current = ctx.attributes;
|
|
757
|
-
for (const part of parts) {
|
|
758
|
-
if (current === undefined || current === null)
|
|
759
|
-
return undefined;
|
|
760
|
-
if (typeof current !== 'object')
|
|
761
|
-
return undefined;
|
|
762
|
-
current = current[part];
|
|
763
|
-
}
|
|
764
|
-
return current;
|
|
765
|
-
}
|
|
766
|
-
function evaluateCondition(c, actual) {
|
|
767
|
-
const expected = c.value;
|
|
768
|
-
switch (c.operator) {
|
|
769
|
-
case 'equals':
|
|
770
|
-
case 'eq':
|
|
771
|
-
return actual === expected;
|
|
772
|
-
case 'not_equals':
|
|
773
|
-
case 'neq':
|
|
774
|
-
return actual !== expected;
|
|
775
|
-
case 'in':
|
|
776
|
-
return Array.isArray(expected) && expected.includes(actual);
|
|
777
|
-
case 'not_in':
|
|
778
|
-
return Array.isArray(expected) && !expected.includes(actual);
|
|
779
|
-
case 'contains':
|
|
780
|
-
return typeof actual === 'string' && typeof expected === 'string' && actual.includes(expected);
|
|
781
|
-
case 'starts_with':
|
|
782
|
-
return (typeof actual === 'string' && typeof expected === 'string' && actual.startsWith(expected));
|
|
783
|
-
case 'ends_with':
|
|
784
|
-
return (typeof actual === 'string' && typeof expected === 'string' && actual.endsWith(expected));
|
|
785
|
-
case 'gt':
|
|
786
|
-
return typeof actual === 'number' && typeof expected === 'number' && actual > expected;
|
|
787
|
-
case 'gte':
|
|
788
|
-
return typeof actual === 'number' && typeof expected === 'number' && actual >= expected;
|
|
789
|
-
case 'lt':
|
|
790
|
-
return typeof actual === 'number' && typeof expected === 'number' && actual < expected;
|
|
791
|
-
case 'lte':
|
|
792
|
-
return typeof actual === 'number' && typeof expected === 'number' && actual <= expected;
|
|
793
|
-
case 'exists':
|
|
794
|
-
return actual !== undefined && actual !== null;
|
|
795
|
-
case 'not_exists':
|
|
796
|
-
return actual === undefined || actual === null;
|
|
797
|
-
default:
|
|
798
|
-
// Unknown operator → no match (defensive; validateRule should catch).
|
|
799
|
-
return false;
|
|
800
|
-
}
|
|
801
|
-
}
|
|
802
|
-
function bucket(flagKey, identity) {
|
|
803
|
-
const input = `${flagKey}|${identity}`;
|
|
804
|
-
let hash = 0x811c9dc5;
|
|
805
|
-
for (let i = 0; i < input.length; i++) {
|
|
806
|
-
hash ^= input.charCodeAt(i);
|
|
807
|
-
hash = (hash + (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24)) >>> 0;
|
|
808
|
-
}
|
|
809
|
-
return hash % 100;
|
|
810
|
-
}
|
|
811
|
-
function clampPct(p) {
|
|
812
|
-
if (!Number.isFinite(p))
|
|
813
|
-
return 100;
|
|
814
|
-
if (p < 0)
|
|
815
|
-
return 0;
|
|
816
|
-
if (p > 100)
|
|
817
|
-
return 100;
|
|
818
|
-
return p;
|
|
819
|
-
}
|
|
820
788
|
// ── Helpers ─────────────────────────────────────────────────────────────────
|
|
821
789
|
/**
|
|
822
790
|
* Derive a 2.0 state from a legacy 1.0 flag shape. Used so `flag list` /
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flag.command.js","sourceRoot":"","sources":["../../src/commands/flag.command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flag.command.js","sourceRoot":"","sources":["../../src/commands/flag.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
export type QuotaPolicy = 'hard' | 'metered';
|
|
3
|
+
/** TBP-275 — per-unit price for a metered quota. */
|
|
4
|
+
export interface QuotaPricing {
|
|
5
|
+
amount: number;
|
|
6
|
+
currency: string;
|
|
7
|
+
}
|
|
3
8
|
export interface Quota {
|
|
4
9
|
metric: string;
|
|
5
10
|
limit: number;
|
|
6
11
|
policy: QuotaPolicy;
|
|
12
|
+
/** Required for `metered`, forbidden for `hard`. */
|
|
13
|
+
pricing?: QuotaPricing;
|
|
7
14
|
}
|
|
8
15
|
export declare function validateQuotaEntry(entry: {
|
|
9
16
|
metric?: string;
|
|
10
17
|
limit?: number;
|
|
11
18
|
policy?: string;
|
|
19
|
+
priceAmount?: number;
|
|
20
|
+
currency?: string;
|
|
12
21
|
}): Quota;
|
|
13
22
|
/** Upsert a quota by metric (replace if present, append otherwise). Pure. */
|
|
14
23
|
export declare function upsertQuota(quotas: Quota[], entry: Quota): Quota[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.command.d.ts","sourceRoot":"","sources":["../../src/commands/plan.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"plan.command.d.ts","sourceRoot":"","sources":["../../src/commands/plan.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7C,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,oDAAoD;IACpD,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAID,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,KAAK,CA0CR;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,CAElE;AAID,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAQnE,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,cAAc,CAcjB;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,EAAE,EACxB,KAAK,EAAE,cAAc,GACpB,cAAc,EAAE,CAWlB;AAcD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyD3D"}
|