@tearleads/client-sdk 0.1.55 → 0.1.57
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/data/containers/shared/types.d.ts +1 -2
- package/data/containers/shared/types.js.map +1 -1
- package/data/persistence/organizations/organizationAccessRevocationPersistence.js +2 -2
- package/data/persistence/organizations/organizationAccessRevocationPersistence.js.map +1 -1
- package/data/persistence/organizations/organizationReadModelPersistence.js +2 -2
- package/data/persistence/organizations/organizationReadModelPersistence.js.map +1 -1
- package/data/principals/principalPolicyCoordinator.js +40 -0
- package/data/principals/principalPolicyCoordinator.js.map +1 -0
- package/package.json +1 -1
- package/workflows/container-contents/container-state/types.js.map +1 -1
- package/workflows/container-contents/remoteHydration/types.d.ts +5 -4
- package/workflows/container-contents/remoteHydration/types.js.map +1 -1
- package/workflows/containers/child/sharePrincipalPolicy.d.ts +3 -3
- package/workflows/containers/child/sharePrincipalPolicy.js +1 -1
- package/workflows/containers/child/sharePrincipalPolicy.js.map +1 -1
- package/workflows/organizations/deleteOrganizationGroup.js +1 -1
- package/workflows/organizations/deleteOrganizationGroup.js.map +1 -1
- package/workflows/organizations/groupCreation.js +1 -1
- package/workflows/organizations/groupCreation.js.map +1 -1
- package/workflows/organizations/groupNameUniqueness.js.map +1 -1
- package/workflows/organizations/groupPolicyMutationContext.js +1 -1
- package/workflows/organizations/groupPolicyMutationContext.js.map +1 -1
- package/workflows/organizations/organizationGroupNamePolicies.js +19 -5
- package/workflows/organizations/organizationGroupNamePolicies.js.map +1 -1
- package/workflows/organizations/principalMutationJournalManagement.js +3 -3
- package/workflows/organizations/principalMutationJournalManagement.js.map +1 -1
- package/workflows/organizations/principalMutationJournalSession.js +3 -3
- package/workflows/organizations/principalMutationJournalSession.js.map +1 -1
- package/workflows/organizations/principalPolicyApi.d.ts +3 -3
- package/workflows/organizations/principalPolicyApi.js.map +1 -1
- package/workflows/principals/currentPrincipalPolicyReader.d.ts +12 -0
- package/workflows/principals/currentPrincipalPolicyReader.js +2 -0
- package/workflows/principals/currentPrincipalPolicyReader.js.map +1 -0
- package/workflows/principals/externalAdminPolicy.d.ts +2 -1
- package/workflows/principals/externalAdminPolicy.js +3 -3
- package/workflows/principals/externalAdminPolicy.js.map +1 -1
- package/workflows/principals/policyCache.d.ts +3 -2
- package/workflows/principals/policyCache.js +9 -9
- package/workflows/principals/policyCache.js.map +1 -1
- package/workflows/principals/principalPolicyOrganizationScope.js +1 -1
- package/workflows/principals/principalPolicyOrganizationScope.js.map +1 -1
- package/workflows/principals/principalRecoveryMemoValidity.js +2 -2
- package/workflows/principals/principalRecoveryMemoValidity.js.map +1 -1
- package/workflows/principals/runtimePolicyRecovery.js +2 -2
- package/workflows/principals/runtimePolicyRecovery.js.map +1 -1
- package/workflows/principals/runtimeProjectionPolicyRecovery.js +2 -2
- package/workflows/principals/runtimeProjectionPolicyRecovery.js.map +1 -1
- package/workflows/registration/provisionedPrincipalHistory.js +2 -2
- package/workflows/registration/provisionedPrincipalHistory.js.map +1 -1
- package/data/principals/principalRecoveryEpoch.js +0 -18
- package/data/principals/principalRecoveryEpoch.js.map +0 -1
- package/workflows/organizations/principalMutationJournalLane.js +0 -26
- package/workflows/organizations/principalMutationJournalLane.js.map +0 -1
- package/workflows/principals/principalRecoveryQueue.js +0 -22
- package/workflows/principals/principalRecoveryQueue.js.map +0 -1
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// Per database and organization, the number of applied organization hints in
|
|
2
|
-
// this process. Operation-scoped principal recovery records the value before
|
|
3
|
-
// producing a result and recovers again once it changes. Hints are lossy, so
|
|
4
|
-
// this only shortens reuse; each operation still discovers the current head.
|
|
5
|
-
const epochs = new WeakMap();
|
|
6
|
-
export function principalRecoveryEpoch(execSql, organizationId) {
|
|
7
|
-
return epochs.get(execSql)?.get(organizationId) ?? 0;
|
|
8
|
-
}
|
|
9
|
-
/** Evict recovered directory and Admins views for this organization. */
|
|
10
|
-
export function invalidatePrincipalRecovery(execSql, organizationId) {
|
|
11
|
-
let scoped = epochs.get(execSql);
|
|
12
|
-
if (!scoped) {
|
|
13
|
-
scoped = new Map();
|
|
14
|
-
epochs.set(execSql, scoped);
|
|
15
|
-
}
|
|
16
|
-
scoped.set(organizationId, (scoped.get(organizationId) ?? 0) + 1);
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=principalRecoveryEpoch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"principalRecoveryEpoch.js","sourceRoot":"","sources":["principalRecoveryEpoch.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,MAAM,MAAM,GAAG,IAAI,OAAO,EAAgC,CAAC;AAE3D,MAAM,UAAU,sBAAsB,CACpC,OAAgB,EAChB,cAAsB;IAEtB,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,2BAA2B,CACzC,OAAgB,EAChB,cAAsB;IAEtB,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC","sourcesContent":["import type { ExecSql } from \"../sqlite/sqlSchema\";\n\n// Per database and organization, the number of applied organization hints in\n// this process. Operation-scoped principal recovery records the value before\n// producing a result and recovers again once it changes. Hints are lossy, so\n// this only shortens reuse; each operation still discovers the current head.\nconst epochs = new WeakMap<ExecSql, Map<string, number>>();\n\nexport function principalRecoveryEpoch(\n execSql: ExecSql,\n organizationId: string,\n): number {\n return epochs.get(execSql)?.get(organizationId) ?? 0;\n}\n\n/** Evict recovered directory and Admins views for this organization. */\nexport function invalidatePrincipalRecovery(\n execSql: ExecSql,\n organizationId: string,\n): void {\n let scoped = epochs.get(execSql);\n if (!scoped) {\n scoped = new Map();\n epochs.set(execSql, scoped);\n }\n scoped.set(organizationId, (scoped.get(organizationId) ?? 0) + 1);\n}\n"]}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { principalMutationJournalScopeId, } from "../../data/principals/principalMutationJournal.js";
|
|
2
|
-
import { resolveCanonicalExecSql, } from "../../data/sqlite/sqlSchema.js";
|
|
3
|
-
const lanes = new WeakMap();
|
|
4
|
-
/** An owned dispatch finishes before another caller can recover or abandon it. */
|
|
5
|
-
export async function runPrincipalMutationJournalOperation(execSql, scope, run) {
|
|
6
|
-
const executor = resolveCanonicalExecSql(execSql);
|
|
7
|
-
const scopeId = await principalMutationJournalScopeId(scope);
|
|
8
|
-
let active = lanes.get(executor);
|
|
9
|
-
if (!active) {
|
|
10
|
-
active = new Map();
|
|
11
|
-
lanes.set(executor, active);
|
|
12
|
-
}
|
|
13
|
-
const pending = (active.get(scopeId) ?? Promise.resolve()).then(run);
|
|
14
|
-
const settled = pending.then(() => { }, () => { });
|
|
15
|
-
active.set(scopeId, settled);
|
|
16
|
-
try {
|
|
17
|
-
return await pending;
|
|
18
|
-
}
|
|
19
|
-
finally {
|
|
20
|
-
if (active.get(scopeId) === settled)
|
|
21
|
-
active.delete(scopeId);
|
|
22
|
-
if (active.size === 0)
|
|
23
|
-
lanes.delete(executor);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=principalMutationJournalLane.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"principalMutationJournalLane.js","sourceRoot":"","sources":["principalMutationJournalLane.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,+BAA+B,GAChC,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAEL,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAErC,MAAM,KAAK,GAAG,IAAI,OAAO,EAAuC,CAAC;AAEjE,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,OAAgB,EAChB,KAAoC,EACpC,GAAqB;IAErB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,+BAA+B,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACnB,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAC1B,GAAG,EAAE,GAAE,CAAC,EACR,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC;IACvB,CAAC;YAAS,CAAC;QACT,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;AACH,CAAC","sourcesContent":["import {\n type PrincipalMutationJournalScope,\n principalMutationJournalScopeId,\n} from \"../../data/principals/principalMutationJournal\";\nimport {\n type ExecSql,\n resolveCanonicalExecSql,\n} from \"../../data/sqlite/sqlSchema\";\n\nconst lanes = new WeakMap<ExecSql, Map<string, Promise<void>>>();\n\n/** An owned dispatch finishes before another caller can recover or abandon it. */\nexport async function runPrincipalMutationJournalOperation<T>(\n execSql: ExecSql,\n scope: PrincipalMutationJournalScope,\n run: () => Promise<T>,\n): Promise<T> {\n const executor = resolveCanonicalExecSql(execSql);\n const scopeId = await principalMutationJournalScopeId(scope);\n let active = lanes.get(executor);\n if (!active) {\n active = new Map();\n lanes.set(executor, active);\n }\n const pending = (active.get(scopeId) ?? Promise.resolve()).then(run);\n const settled = pending.then(\n () => {},\n () => {},\n );\n active.set(scopeId, settled);\n try {\n return await pending;\n } finally {\n if (active.get(scopeId) === settled) active.delete(scopeId);\n if (active.size === 0) lanes.delete(executor);\n }\n}\n"]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
// Directory and Admins stages are shared by every reference in an organization.
|
|
2
|
-
// Coordinate runtime callers across warmer instances; different databases and
|
|
3
|
-
// organizations keep independent queues. Completed queues retain no work.
|
|
4
|
-
// Queued work must not re-enter this queue for the same organization.
|
|
5
|
-
const queues = new WeakMap();
|
|
6
|
-
export function queuePrincipalRecovery(execSql, organizationId, work) {
|
|
7
|
-
let scoped = queues.get(execSql);
|
|
8
|
-
if (!scoped) {
|
|
9
|
-
scoped = new Map();
|
|
10
|
-
queues.set(execSql, scoped);
|
|
11
|
-
}
|
|
12
|
-
const operation = (scoped.get(organizationId) ?? Promise.resolve()).then(work);
|
|
13
|
-
const settled = operation.then(() => undefined, () => undefined);
|
|
14
|
-
scoped.set(organizationId, settled);
|
|
15
|
-
const owned = scoped;
|
|
16
|
-
void settled.then(() => {
|
|
17
|
-
if (owned.get(organizationId) === settled)
|
|
18
|
-
owned.delete(organizationId);
|
|
19
|
-
});
|
|
20
|
-
return operation;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=principalRecoveryQueue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"principalRecoveryQueue.js","sourceRoot":"","sources":["principalRecoveryQueue.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,8EAA8E;AAC9E,0EAA0E;AAC1E,sEAAsE;AACtE,MAAM,MAAM,GAAG,IAAI,OAAO,EAAuC,CAAC;AAElE,MAAM,UAAU,sBAAsB,CACpC,OAAgB,EAChB,cAAsB,EACtB,IAAsB;IAEtB,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CACtE,IAAI,CACL,CAAC;IACF,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAC5B,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC;IACrB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;QACrB,IAAI,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,OAAO;YAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import type { ExecSql } from \"../../data/sqlite/sqlSchema\";\n\n// Directory and Admins stages are shared by every reference in an organization.\n// Coordinate runtime callers across warmer instances; different databases and\n// organizations keep independent queues. Completed queues retain no work.\n// Queued work must not re-enter this queue for the same organization.\nconst queues = new WeakMap<ExecSql, Map<string, Promise<void>>>();\n\nexport function queuePrincipalRecovery<T>(\n execSql: ExecSql,\n organizationId: string,\n work: () => Promise<T>,\n): Promise<T> {\n let scoped = queues.get(execSql);\n if (!scoped) {\n scoped = new Map();\n queues.set(execSql, scoped);\n }\n const operation = (scoped.get(organizationId) ?? Promise.resolve()).then(\n work,\n );\n const settled = operation.then(\n () => undefined,\n () => undefined,\n );\n scoped.set(organizationId, settled);\n const owned = scoped;\n void settled.then(() => {\n if (owned.get(organizationId) === settled) owned.delete(organizationId);\n });\n return operation;\n}\n"]}
|