@stigmer/react 3.33.0 → 3.34.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.
- package/licenses/license-format.d.ts +15 -3
- package/licenses/license-format.d.ts.map +1 -1
- package/licenses/license-format.js +1 -1
- package/licenses/license-format.js.map +1 -1
- package/package.json +5 -5
- package/src/licenses/__tests__/license-format.test.ts +24 -4
- package/src/licenses/license-format.ts +19 -3
|
@@ -3,13 +3,25 @@ import { Feature, type Entitlements } from "@stigmer/protos/ai/stigmer/platform/
|
|
|
3
3
|
import { LicenseTerm } from "@stigmer/protos/ai/stigmer/platform/v1/license_pb";
|
|
4
4
|
/** A term an operator can issue; the unspecified zero value is not one. */
|
|
5
5
|
export type IssuableTerm = LicenseTerm.trial | LicenseTerm.paid;
|
|
6
|
-
/**
|
|
7
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Features a Cloud plan sells but a license never carries: they tier the
|
|
8
|
+
* hosted runtime, and an Enterprise deployment has them by edition, so
|
|
9
|
+
* offering one on a license would sell a capability the license does not
|
|
10
|
+
* control.
|
|
11
|
+
*/
|
|
12
|
+
export type PlanOnlyFeature = Feature.teams | Feature.managed_organizations;
|
|
13
|
+
/**
|
|
14
|
+
* A feature an operator can grant on a license: every feature but the
|
|
15
|
+
* unspecified zero value and the plan-only ones. Derived by exclusion, so
|
|
16
|
+
* a feature added to the contract lands here by default and must be given
|
|
17
|
+
* a label below, or be named plan-only above, before the package compiles.
|
|
18
|
+
*/
|
|
19
|
+
export type GrantableFeature = Exclude<Feature, Feature.feature_unspecified | PlanOnlyFeature>;
|
|
8
20
|
/** Display labels for the issuable terms. */
|
|
9
21
|
export declare const TERM_LABELS: Readonly<Record<IssuableTerm, string>>;
|
|
10
22
|
/**
|
|
11
23
|
* Label and one-line explanation per grantable feature. Keyed by every
|
|
12
|
-
*
|
|
24
|
+
* grantable `Feature` value, so a feature added to the contract fails to
|
|
13
25
|
* compile here until it has words an operator can read.
|
|
14
26
|
*/
|
|
15
27
|
export declare const FEATURE_LABELS: Readonly<Record<GrantableFeature, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"license-format.d.ts","sourceRoot":"","sources":["../../src/licenses/license-format.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EACL,OAAO,EACP,KAAK,YAAY,EAClB,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAEhF,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC;AAEhE,
|
|
1
|
+
{"version":3,"file":"license-format.d.ts","sourceRoot":"","sources":["../../src/licenses/license-format.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EACL,OAAO,EACP,KAAK,YAAY,EAClB,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAEhF,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,qBAAqB,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CACpC,OAAO,EACP,OAAO,CAAC,mBAAmB,GAAG,eAAe,CAC9C,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAG9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CACnC,MAAM,CAAC,gBAAgB,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBnF,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EAEnC,CAAC;AAWxB,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAInD;AAED,2EAA2E;AAC3E,wBAAgB,MAAM,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,CAElE;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEzC;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAEzD;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAIjE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAQ1F;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAGhE"}
|
|
@@ -22,7 +22,7 @@ export const TERM_LABELS = {
|
|
|
22
22
|
};
|
|
23
23
|
/**
|
|
24
24
|
* Label and one-line explanation per grantable feature. Keyed by every
|
|
25
|
-
*
|
|
25
|
+
* grantable `Feature` value, so a feature added to the contract fails to
|
|
26
26
|
* compile here until it has words an operator can read.
|
|
27
27
|
*/
|
|
28
28
|
export const FEATURE_LABELS = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"license-format.js","sourceRoot":"","sources":["../../src/licenses/license-format.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,oEAAoE;AACpE,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,yEAAyE;AACzE,6DAA6D;AAC7D,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,4EAA4E;AAC5E,yEAAyE;AACzE,4EAA4E;AAC5E,yEAAyE;AAGzE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,OAAO,GAER,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;
|
|
1
|
+
{"version":3,"file":"license-format.js","sourceRoot":"","sources":["../../src/licenses/license-format.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stigmer/react",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.34.0",
|
|
4
4
|
"description": "React provider and client hook for the Stigmer platform SDK",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@bufbuild/protovalidate": "^1.1.1",
|
|
39
39
|
"@dagrejs/dagre": "^1.1.4",
|
|
40
|
-
"@stigmer/plugin-package": "3.
|
|
41
|
-
"@stigmer/theme": "3.
|
|
40
|
+
"@stigmer/plugin-package": "3.34.0",
|
|
41
|
+
"@stigmer/theme": "3.34.0",
|
|
42
42
|
"diff": "^8.0.3",
|
|
43
43
|
"fflate": "^0.8.2",
|
|
44
44
|
"hast-util-to-jsx-runtime": "^2.3.6",
|
|
@@ -61,8 +61,8 @@
|
|
|
61
61
|
"@codemirror/state": "^6.0.0",
|
|
62
62
|
"@codemirror/view": "^6.0.0",
|
|
63
63
|
"@lezer/highlight": "^1.0.0",
|
|
64
|
-
"@stigmer/protos": "3.
|
|
65
|
-
"@stigmer/sdk": "3.
|
|
64
|
+
"@stigmer/protos": "3.34.0",
|
|
65
|
+
"@stigmer/sdk": "3.34.0",
|
|
66
66
|
"@tanstack/react-table": "^8.20.0",
|
|
67
67
|
"@xyflow/react": "^12.0.0",
|
|
68
68
|
"elkjs": "^0.9.0",
|
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
// The licenses surface's display vocabulary: "covered through" steps back
|
|
2
|
-
// from the expiry instant, relative days count UTC days,
|
|
3
|
-
//
|
|
2
|
+
// from the expiry instant, relative days count UTC days, an absent limit
|
|
3
|
+
// reads as unlimited rather than blank, and the plan-only features are
|
|
4
|
+
// never offered on a license.
|
|
4
5
|
|
|
5
6
|
import { describe, it, expect } from "vitest";
|
|
6
7
|
import { create } from "@bufbuild/protobuf";
|
|
7
|
-
import { EntitlementsSchema } from "@stigmer/protos/ai/stigmer/platform/v1/entitlement_pb";
|
|
8
|
-
import {
|
|
8
|
+
import { EntitlementsSchema, Feature } from "@stigmer/protos/ai/stigmer/platform/v1/entitlement_pb";
|
|
9
|
+
import {
|
|
10
|
+
coveredThroughDay,
|
|
11
|
+
entitlementParts,
|
|
12
|
+
formatDayFromToday,
|
|
13
|
+
GRANTABLE_FEATURES,
|
|
14
|
+
} from "../license-format";
|
|
15
|
+
|
|
16
|
+
describe("GRANTABLE_FEATURES", () => {
|
|
17
|
+
it("offers every license feature and never a plan-only one", () => {
|
|
18
|
+
expect(GRANTABLE_FEATURES).toEqual([
|
|
19
|
+
Feature.sso_enforcement,
|
|
20
|
+
Feature.platform_client,
|
|
21
|
+
Feature.byo_provider_keys,
|
|
22
|
+
Feature.channels,
|
|
23
|
+
Feature.sharing,
|
|
24
|
+
]);
|
|
25
|
+
expect(GRANTABLE_FEATURES).not.toContain(Feature.teams);
|
|
26
|
+
expect(GRANTABLE_FEATURES).not.toContain(Feature.managed_organizations);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
9
29
|
|
|
10
30
|
describe("coveredThroughDay", () => {
|
|
11
31
|
it("is the day before a midnight expiry and the same day for a mid-day one", () => {
|
|
@@ -24,8 +24,24 @@ import { LicenseTerm } from "@stigmer/protos/ai/stigmer/platform/v1/license_pb";
|
|
|
24
24
|
/** A term an operator can issue; the unspecified zero value is not one. */
|
|
25
25
|
export type IssuableTerm = LicenseTerm.trial | LicenseTerm.paid;
|
|
26
26
|
|
|
27
|
-
/**
|
|
28
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Features a Cloud plan sells but a license never carries: they tier the
|
|
29
|
+
* hosted runtime, and an Enterprise deployment has them by edition, so
|
|
30
|
+
* offering one on a license would sell a capability the license does not
|
|
31
|
+
* control.
|
|
32
|
+
*/
|
|
33
|
+
export type PlanOnlyFeature = Feature.teams | Feature.managed_organizations;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* A feature an operator can grant on a license: every feature but the
|
|
37
|
+
* unspecified zero value and the plan-only ones. Derived by exclusion, so
|
|
38
|
+
* a feature added to the contract lands here by default and must be given
|
|
39
|
+
* a label below, or be named plan-only above, before the package compiles.
|
|
40
|
+
*/
|
|
41
|
+
export type GrantableFeature = Exclude<
|
|
42
|
+
Feature,
|
|
43
|
+
Feature.feature_unspecified | PlanOnlyFeature
|
|
44
|
+
>;
|
|
29
45
|
|
|
30
46
|
/** Display labels for the issuable terms. */
|
|
31
47
|
export const TERM_LABELS: Readonly<Record<IssuableTerm, string>> = {
|
|
@@ -35,7 +51,7 @@ export const TERM_LABELS: Readonly<Record<IssuableTerm, string>> = {
|
|
|
35
51
|
|
|
36
52
|
/**
|
|
37
53
|
* Label and one-line explanation per grantable feature. Keyed by every
|
|
38
|
-
*
|
|
54
|
+
* grantable `Feature` value, so a feature added to the contract fails to
|
|
39
55
|
* compile here until it has words an operator can read.
|
|
40
56
|
*/
|
|
41
57
|
export const FEATURE_LABELS: Readonly<
|