@tinycloud/operations 0.7.7-beta.9 → 0.7.8-beta.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/coverage.json +14 -0
- package/dist/artifacts.cjs +7 -4
- package/dist/artifacts.cjs.map +1 -1
- package/dist/artifacts.d.cts +54 -54
- package/dist/artifacts.d.ts +54 -54
- package/dist/artifacts.js +7 -4
- package/dist/artifacts.js.map +1 -1
- package/dist/cli-runtime.cjs +19 -15
- package/dist/cli-runtime.cjs.map +1 -1
- package/dist/cli-runtime.js +8 -4
- package/dist/cli-runtime.js.map +1 -1
- package/dist/delegation-binding.cjs +8 -4
- package/dist/delegation-binding.cjs.map +1 -1
- package/dist/delegation-binding.js +8 -4
- package/dist/delegation-binding.js.map +1 -1
- package/dist/index.cjs +19 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -714,6 +714,7 @@ import { join as join2 } from "path";
|
|
|
714
714
|
// ../sdk-core/src/manifest.ts
|
|
715
715
|
var import_ms = __toESM(require_ms(), 1);
|
|
716
716
|
import { resolveSecretPath, SECRET_NAME_RE, parseNetworkId } from "@tinycloud/sdk-services";
|
|
717
|
+
import { parseEncryptionResource } from "@tinycloud/sdk-services/encryption/resource";
|
|
717
718
|
var DEFAULT_MANIFEST_SPACE = "applications";
|
|
718
719
|
var SERVICE_SHORT_TO_LONG = Object.freeze({
|
|
719
720
|
kv: "tinycloud.kv",
|
|
@@ -743,6 +744,7 @@ var KEY_APP_ID = new RegExp(`^${KEY_SEGMENT}$`);
|
|
|
743
744
|
var KEY_PATH = new RegExp(`^${KEY_SEGMENT}(?:/${KEY_SEGMENT}){2,7}$`);
|
|
744
745
|
|
|
745
746
|
// ../sdk-core/src/capabilities.ts
|
|
747
|
+
import { encryptionResourceContains } from "@tinycloud/sdk-services/encryption/resource";
|
|
746
748
|
function normalizeSpace(space) {
|
|
747
749
|
if (!space.startsWith("tinycloud:")) {
|
|
748
750
|
return space;
|
|
@@ -766,10 +768,9 @@ function isCapabilitySubset(requested, granted) {
|
|
|
766
768
|
const grantedActions = matchingScope.flatMap(
|
|
767
769
|
(entry) => expandActionShortNames(entry.service, entry.actions)
|
|
768
770
|
);
|
|
771
|
+
const namedKeyRequest = req.service === "tinycloud.encryption" && req.path.startsWith("urn:tinycloud:encryption:") && req.path.includes("/");
|
|
769
772
|
const covered = requestedActions.every(
|
|
770
|
-
(requestedAction) => grantedActions.some(
|
|
771
|
-
(grantedAction) => actionContains(grantedAction, requestedAction)
|
|
772
|
-
)
|
|
773
|
+
(requestedAction) => grantedActions.some((grantedAction) => namedKeyRequest ? grantedAction === requestedAction : actionContains(grantedAction, requestedAction))
|
|
773
774
|
);
|
|
774
775
|
if (!covered) {
|
|
775
776
|
missing.push(cloneEntry(req));
|
|
@@ -784,7 +785,9 @@ function canonicalizeEntryScopeMatches(requested, granted) {
|
|
|
784
785
|
if (normalizeSpace(requested.space ?? DEFAULT_MANIFEST_SPACE) !== normalizeSpace(granted.space ?? DEFAULT_MANIFEST_SPACE)) {
|
|
785
786
|
return false;
|
|
786
787
|
}
|
|
787
|
-
|
|
788
|
+
const namedKeyRequest = requested.service === "tinycloud.encryption" && requested.path.startsWith("urn:tinycloud:encryption:") && requested.path.includes("/");
|
|
789
|
+
const coveredPath = namedKeyRequest ? encryptionResourceContains(granted.path, requested.path) : pathContains(granted.path, requested.path);
|
|
790
|
+
if (!coveredPath) {
|
|
788
791
|
return false;
|
|
789
792
|
}
|
|
790
793
|
if (!recapCaveatsEqual(requested.caveats, granted.caveats)) {
|
|
@@ -3553,6 +3556,7 @@ var cidSymbol = /* @__PURE__ */ Symbol.for("@ipld/js-cid/CID");
|
|
|
3553
3556
|
|
|
3554
3557
|
// ../sdk-core/src/policy/unified.ts
|
|
3555
3558
|
import { z } from "zod";
|
|
3559
|
+
import { parseEncryptionResource as parseNamedEncryptionResource } from "@tinycloud/sdk-services";
|
|
3556
3560
|
var CompactHeaderSchema = z.object({
|
|
3557
3561
|
alg: z.literal("EdDSA"),
|
|
3558
3562
|
jwk: z.object({ alg: z.literal("EdDSA"), crv: z.literal("Ed25519"), kty: z.literal("OKP"), x: z.string().min(1) }).strict(),
|