@vantageos/cloud-identity 0.10.0 → 0.12.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/CHANGELOG.md +115 -0
- package/README.md +220 -1
- package/dist/identity-refusal.d.ts +3 -2
- package/dist/identity-refusal.d.ts.map +1 -1
- package/dist/identity-refusal.js +2 -1
- package/dist/identity-refusal.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/person-principal.d.ts +7 -0
- package/dist/person-principal.d.ts.map +1 -1
- package/dist/person-principal.js +7 -0
- package/dist/person-principal.js.map +1 -1
- package/dist/principal-by-id.d.ts +249 -0
- package/dist/principal-by-id.d.ts.map +1 -0
- package/dist/principal-by-id.js +388 -0
- package/dist/principal-by-id.js.map +1 -0
- package/dist/scope-filter.d.ts +19 -0
- package/dist/scope-filter.d.ts.map +1 -1
- package/dist/scope-filter.js +19 -0
- package/dist/scope-filter.js.map +1 -1
- package/package.json +5 -1
package/dist/scope-filter.d.ts
CHANGED
|
@@ -119,6 +119,13 @@ export type GrantFieldDeclaration = readonly string[];
|
|
|
119
119
|
* Substring matches that don't fall on a '/' boundary are explicitly rejected
|
|
120
120
|
* (e.g. namespace="orchestrator/alphabet" does NOT match prefix
|
|
121
121
|
* "orchestrator/alpha"). This avoids the classic prefix-isolation bypass.
|
|
122
|
+
*
|
|
123
|
+
* @deprecated Since 0.11.0. A `createdBy` name matched against
|
|
124
|
+
* `fromAllowList` selects the row, which backend standard R-53 clause 1
|
|
125
|
+
* forbids: a name never selects or authorises a row. Use
|
|
126
|
+
* `resolveActingPrincipal` and `assertTargetBelongsTo`, which compare stored
|
|
127
|
+
* IDs. Behaviour unchanged; it stays exported until consumers migrate off it,
|
|
128
|
+
* and is removed in a major release.
|
|
122
129
|
*/
|
|
123
130
|
export declare function passesScopeFilter<T extends ScopeFilterable>(oauthCtx: OAuthCtx, row: T, grantFields?: GrantFieldDeclaration): boolean;
|
|
124
131
|
/**
|
|
@@ -126,6 +133,12 @@ export declare function passesScopeFilter<T extends ScopeFilterable>(oauthCtx: O
|
|
|
126
133
|
*
|
|
127
134
|
* `grantFields` — see `passesScopeFilter`. Defaults to `[]` (0.4.0-identical
|
|
128
135
|
* behaviour).
|
|
136
|
+
*
|
|
137
|
+
* @deprecated Since 0.11.0. It selects rows through `passesScopeFilter`,
|
|
138
|
+
* where a `createdBy` name selects the row, which backend standard R-53
|
|
139
|
+
* clause 1 forbids. Use `resolveActingPrincipal` and `assertTargetBelongsTo`,
|
|
140
|
+
* which compare stored IDs. Behaviour unchanged; it stays exported until
|
|
141
|
+
* consumers migrate off it, and is removed in a major release.
|
|
129
142
|
*/
|
|
130
143
|
export declare function scopeFilterList<T extends ScopeFilterable>(oauthCtx: OAuthCtx, rows: T[], grantFields?: GrantFieldDeclaration): T[];
|
|
131
144
|
/**
|
|
@@ -135,6 +148,12 @@ export declare function scopeFilterList<T extends ScopeFilterable>(oauthCtx: OAu
|
|
|
135
148
|
*
|
|
136
149
|
* `grantFields` — see `passesScopeFilter`. Defaults to `[]` (0.4.0-identical
|
|
137
150
|
* behaviour).
|
|
151
|
+
*
|
|
152
|
+
* @deprecated Since 0.11.0. It admits the row through `passesScopeFilter`,
|
|
153
|
+
* where a `createdBy` name selects the row, which backend standard R-53
|
|
154
|
+
* clause 1 forbids. Use `resolveActingPrincipal` and `assertTargetBelongsTo`,
|
|
155
|
+
* which compare stored IDs. Behaviour unchanged; it stays exported until
|
|
156
|
+
* consumers migrate off it, and is removed in a major release.
|
|
138
157
|
*/
|
|
139
158
|
export declare function scopeFilterGet<T extends ScopeFilterable>(oauthCtx: OAuthCtx, row: T | null | undefined, grantFields?: GrantFieldDeclaration): T | null;
|
|
140
159
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-filter.d.ts","sourceRoot":"","sources":["../src/scope-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAKjC,CAAC;AAWF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjF;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAIpD;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,MAAM,EAAE,CAAC;AActD
|
|
1
|
+
{"version":3,"file":"scope-filter.d.ts","sourceRoot":"","sources":["../src/scope-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAKjC,CAAC;AAWF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjF;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAIpD;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,MAAM,EAAE,CAAC;AActD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,eAAe,EACzD,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,CAAC,EACN,WAAW,GAAE,qBAAuC,GACnD,OAAO,CAeT;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,eAAe,EACvD,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,CAAC,EAAE,EACT,WAAW,GAAE,qBAAuC,GACnD,CAAC,EAAE,CAGL;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,eAAe,EACtD,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EACzB,WAAW,GAAE,qBAAuC,GACnD,CAAC,GAAG,IAAI,CAIV;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAGtD"}
|
package/dist/scope-filter.js
CHANGED
|
@@ -125,6 +125,13 @@ function grantFieldMatches(value, fromAllowList) {
|
|
|
125
125
|
* Substring matches that don't fall on a '/' boundary are explicitly rejected
|
|
126
126
|
* (e.g. namespace="orchestrator/alphabet" does NOT match prefix
|
|
127
127
|
* "orchestrator/alpha"). This avoids the classic prefix-isolation bypass.
|
|
128
|
+
*
|
|
129
|
+
* @deprecated Since 0.11.0. A `createdBy` name matched against
|
|
130
|
+
* `fromAllowList` selects the row, which backend standard R-53 clause 1
|
|
131
|
+
* forbids: a name never selects or authorises a row. Use
|
|
132
|
+
* `resolveActingPrincipal` and `assertTargetBelongsTo`, which compare stored
|
|
133
|
+
* IDs. Behaviour unchanged; it stays exported until consumers migrate off it,
|
|
134
|
+
* and is removed in a major release.
|
|
128
135
|
*/
|
|
129
136
|
export function passesScopeFilter(oauthCtx, row, grantFields = NO_GRANT_FIELDS) {
|
|
130
137
|
assertOauthCtx(oauthCtx);
|
|
@@ -151,6 +158,12 @@ export function passesScopeFilter(oauthCtx, row, grantFields = NO_GRANT_FIELDS)
|
|
|
151
158
|
*
|
|
152
159
|
* `grantFields` — see `passesScopeFilter`. Defaults to `[]` (0.4.0-identical
|
|
153
160
|
* behaviour).
|
|
161
|
+
*
|
|
162
|
+
* @deprecated Since 0.11.0. It selects rows through `passesScopeFilter`,
|
|
163
|
+
* where a `createdBy` name selects the row, which backend standard R-53
|
|
164
|
+
* clause 1 forbids. Use `resolveActingPrincipal` and `assertTargetBelongsTo`,
|
|
165
|
+
* which compare stored IDs. Behaviour unchanged; it stays exported until
|
|
166
|
+
* consumers migrate off it, and is removed in a major release.
|
|
154
167
|
*/
|
|
155
168
|
export function scopeFilterList(oauthCtx, rows, grantFields = NO_GRANT_FIELDS) {
|
|
156
169
|
assertOauthCtx(oauthCtx);
|
|
@@ -163,6 +176,12 @@ export function scopeFilterList(oauthCtx, rows, grantFields = NO_GRANT_FIELDS) {
|
|
|
163
176
|
*
|
|
164
177
|
* `grantFields` — see `passesScopeFilter`. Defaults to `[]` (0.4.0-identical
|
|
165
178
|
* behaviour).
|
|
179
|
+
*
|
|
180
|
+
* @deprecated Since 0.11.0. It admits the row through `passesScopeFilter`,
|
|
181
|
+
* where a `createdBy` name selects the row, which backend standard R-53
|
|
182
|
+
* clause 1 forbids. Use `resolveActingPrincipal` and `assertTargetBelongsTo`,
|
|
183
|
+
* which compare stored IDs. Behaviour unchanged; it stays exported until
|
|
184
|
+
* consumers migrate off it, and is removed in a major release.
|
|
166
185
|
*/
|
|
167
186
|
export function scopeFilterGet(oauthCtx, row, grantFields = NO_GRANT_FIELDS) {
|
|
168
187
|
assertOauthCtx(oauthCtx);
|
package/dist/scope-filter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-filter.js","sourceRoot":"","sources":["../src/scope-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAa;IAC3C,KAAK,EAAE,QAAQ;IACf,aAAa,EAAE,CAAC,GAAG,CAAC;IACpB,qBAAqB,EAAE,EAAE;IACzB,sBAAsB,EAAE,EAAE;CAC3B,CAAC;AAEF,SAAS,cAAc,CAAC,QAAkB;IACxC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CACjB,2EAA2E;YACzE,0EAA0E,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,MAAc;IACtE,OAAO,SAAS,KAAK,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;AACpE,CAAC;AAWD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAa;IACzC,cAAc,CAAC,GAAG,CAAC,CAAC;IACpB,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAeD,MAAM,eAAe,GAA0B,EAAE,CAAC;AAElD,SAAS,iBAAiB,CAAC,KAAc,EAAE,aAAuB;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CACtE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"scope-filter.js","sourceRoot":"","sources":["../src/scope-filter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vantageos/cloud-identity",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "Framework-agnostic identity + scope-filter primitives for VantagePeers Cloud (multi-tenant MCP).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -77,6 +77,10 @@
|
|
|
77
77
|
"./secret-compare-sync": {
|
|
78
78
|
"types": "./dist/secret-compare-sync.d.ts",
|
|
79
79
|
"import": "./dist/secret-compare-sync.js"
|
|
80
|
+
},
|
|
81
|
+
"./principal-by-id": {
|
|
82
|
+
"types": "./dist/principal-by-id.d.ts",
|
|
83
|
+
"import": "./dist/principal-by-id.js"
|
|
80
84
|
}
|
|
81
85
|
},
|
|
82
86
|
"files": [
|