@vivero/stoma 0.1.0-rc.10
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 +196 -0
- package/LICENSE +21 -0
- package/README.md +325 -0
- package/dist/adapters/bun.d.ts +9 -0
- package/dist/adapters/bun.js +8 -0
- package/dist/adapters/bun.js.map +1 -0
- package/dist/adapters/cloudflare.d.ts +49 -0
- package/dist/adapters/cloudflare.js +85 -0
- package/dist/adapters/cloudflare.js.map +1 -0
- package/dist/adapters/deno.d.ts +9 -0
- package/dist/adapters/deno.js +8 -0
- package/dist/adapters/deno.js.map +1 -0
- package/dist/adapters/durable-object.d.ts +63 -0
- package/dist/adapters/durable-object.js +46 -0
- package/dist/adapters/durable-object.js.map +1 -0
- package/dist/adapters/index.d.ts +13 -0
- package/dist/adapters/index.js +53 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/memory.d.ts +9 -0
- package/dist/adapters/memory.js +14 -0
- package/dist/adapters/memory.js.map +1 -0
- package/dist/adapters/node.d.ts +9 -0
- package/dist/adapters/node.js +8 -0
- package/dist/adapters/node.js.map +1 -0
- package/dist/adapters/postgres.d.ts +109 -0
- package/dist/adapters/postgres.js +242 -0
- package/dist/adapters/postgres.js.map +1 -0
- package/dist/adapters/redis.d.ts +116 -0
- package/dist/adapters/redis.js +194 -0
- package/dist/adapters/redis.js.map +1 -0
- package/dist/adapters/testing.d.ts +32 -0
- package/dist/adapters/testing.js +33 -0
- package/dist/adapters/testing.js.map +1 -0
- package/dist/adapters/types.d.ts +4 -0
- package/dist/adapters/types.js +1 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/config/index.d.ts +11 -0
- package/dist/config/index.js +21 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/merge.d.ts +48 -0
- package/dist/config/merge.js +83 -0
- package/dist/config/merge.js.map +1 -0
- package/dist/config/schema.d.ts +254 -0
- package/dist/config/schema.js +109 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/core/errors.d.ts +66 -0
- package/dist/core/errors.js +47 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/gateway.d.ts +44 -0
- package/dist/core/gateway.js +400 -0
- package/dist/core/gateway.js.map +1 -0
- package/dist/core/health.d.ts +78 -0
- package/dist/core/health.js +65 -0
- package/dist/core/health.js.map +1 -0
- package/dist/core/pipeline.d.ts +62 -0
- package/dist/core/pipeline.js +214 -0
- package/dist/core/pipeline.js.map +1 -0
- package/dist/core/protocol.d.ts +4 -0
- package/dist/core/protocol.js +1 -0
- package/dist/core/protocol.js.map +1 -0
- package/dist/core/scope.d.ts +67 -0
- package/dist/core/scope.js +44 -0
- package/dist/core/scope.js.map +1 -0
- package/dist/core/types.d.ts +252 -0
- package/dist/core/types.js +1 -0
- package/dist/core/types.js.map +1 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.js +158 -0
- package/dist/index.js.map +1 -0
- package/dist/observability/admin.d.ts +32 -0
- package/dist/observability/admin.js +85 -0
- package/dist/observability/admin.js.map +1 -0
- package/dist/observability/metrics.d.ts +78 -0
- package/dist/observability/metrics.js +107 -0
- package/dist/observability/metrics.js.map +1 -0
- package/dist/observability/tracing.d.ts +149 -0
- package/dist/observability/tracing.js +191 -0
- package/dist/observability/tracing.js.map +1 -0
- package/dist/policies/auth/api-key-auth.d.ts +64 -0
- package/dist/policies/auth/api-key-auth.js +93 -0
- package/dist/policies/auth/api-key-auth.js.map +1 -0
- package/dist/policies/auth/basic-auth.d.ts +33 -0
- package/dist/policies/auth/basic-auth.js +96 -0
- package/dist/policies/auth/basic-auth.js.map +1 -0
- package/dist/policies/auth/crypto.d.ts +29 -0
- package/dist/policies/auth/crypto.js +100 -0
- package/dist/policies/auth/crypto.js.map +1 -0
- package/dist/policies/auth/generate-http-signature.d.ts +30 -0
- package/dist/policies/auth/generate-http-signature.js +79 -0
- package/dist/policies/auth/generate-http-signature.js.map +1 -0
- package/dist/policies/auth/generate-jwt.d.ts +44 -0
- package/dist/policies/auth/generate-jwt.js +99 -0
- package/dist/policies/auth/generate-jwt.js.map +1 -0
- package/dist/policies/auth/http-signature-base.d.ts +55 -0
- package/dist/policies/auth/http-signature-base.js +140 -0
- package/dist/policies/auth/http-signature-base.js.map +1 -0
- package/dist/policies/auth/jws.d.ts +46 -0
- package/dist/policies/auth/jws.js +317 -0
- package/dist/policies/auth/jws.js.map +1 -0
- package/dist/policies/auth/jwt-auth.d.ts +64 -0
- package/dist/policies/auth/jwt-auth.js +266 -0
- package/dist/policies/auth/jwt-auth.js.map +1 -0
- package/dist/policies/auth/oauth2.d.ts +38 -0
- package/dist/policies/auth/oauth2.js +254 -0
- package/dist/policies/auth/oauth2.js.map +1 -0
- package/dist/policies/auth/rbac.d.ts +30 -0
- package/dist/policies/auth/rbac.js +115 -0
- package/dist/policies/auth/rbac.js.map +1 -0
- package/dist/policies/auth/verify-http-signature.d.ts +30 -0
- package/dist/policies/auth/verify-http-signature.js +147 -0
- package/dist/policies/auth/verify-http-signature.js.map +1 -0
- package/dist/policies/index.d.ts +51 -0
- package/dist/policies/index.js +109 -0
- package/dist/policies/index.js.map +1 -0
- package/dist/policies/mock.d.ts +60 -0
- package/dist/policies/mock.js +29 -0
- package/dist/policies/mock.js.map +1 -0
- package/dist/policies/observability/assign-metrics.d.ts +37 -0
- package/dist/policies/observability/assign-metrics.js +29 -0
- package/dist/policies/observability/assign-metrics.js.map +1 -0
- package/dist/policies/observability/metrics-reporter.d.ts +25 -0
- package/dist/policies/observability/metrics-reporter.js +62 -0
- package/dist/policies/observability/metrics-reporter.js.map +1 -0
- package/dist/policies/observability/request-log.d.ts +135 -0
- package/dist/policies/observability/request-log.js +134 -0
- package/dist/policies/observability/request-log.js.map +1 -0
- package/dist/policies/observability/server-timing.d.ts +35 -0
- package/dist/policies/observability/server-timing.js +89 -0
- package/dist/policies/observability/server-timing.js.map +1 -0
- package/dist/policies/proxy.d.ts +59 -0
- package/dist/policies/proxy.js +47 -0
- package/dist/policies/proxy.js.map +1 -0
- package/dist/policies/resilience/circuit-breaker.d.ts +4 -0
- package/dist/policies/resilience/circuit-breaker.js +280 -0
- package/dist/policies/resilience/circuit-breaker.js.map +1 -0
- package/dist/policies/resilience/latency-injection.d.ts +35 -0
- package/dist/policies/resilience/latency-injection.js +26 -0
- package/dist/policies/resilience/latency-injection.js.map +1 -0
- package/dist/policies/resilience/retry.d.ts +71 -0
- package/dist/policies/resilience/retry.js +79 -0
- package/dist/policies/resilience/retry.js.map +1 -0
- package/dist/policies/resilience/timeout.d.ts +32 -0
- package/dist/policies/resilience/timeout.js +46 -0
- package/dist/policies/resilience/timeout.js.map +1 -0
- package/dist/policies/sdk/define-policy.d.ts +176 -0
- package/dist/policies/sdk/define-policy.js +42 -0
- package/dist/policies/sdk/define-policy.js.map +1 -0
- package/dist/policies/sdk/helpers.d.ts +132 -0
- package/dist/policies/sdk/helpers.js +87 -0
- package/dist/policies/sdk/helpers.js.map +1 -0
- package/dist/policies/sdk/index.d.ts +10 -0
- package/dist/policies/sdk/index.js +35 -0
- package/dist/policies/sdk/index.js.map +1 -0
- package/dist/policies/sdk/priority.d.ts +44 -0
- package/dist/policies/sdk/priority.js +36 -0
- package/dist/policies/sdk/priority.js.map +1 -0
- package/dist/policies/sdk/testing.d.ts +53 -0
- package/dist/policies/sdk/testing.js +41 -0
- package/dist/policies/sdk/testing.js.map +1 -0
- package/dist/policies/sdk/trace.d.ts +73 -0
- package/dist/policies/sdk/trace.js +25 -0
- package/dist/policies/sdk/trace.js.map +1 -0
- package/dist/policies/traffic/cache.d.ts +4 -0
- package/dist/policies/traffic/cache.js +224 -0
- package/dist/policies/traffic/cache.js.map +1 -0
- package/dist/policies/traffic/dynamic-routing.d.ts +54 -0
- package/dist/policies/traffic/dynamic-routing.js +36 -0
- package/dist/policies/traffic/dynamic-routing.js.map +1 -0
- package/dist/policies/traffic/geo-ip-filter.d.ts +37 -0
- package/dist/policies/traffic/geo-ip-filter.js +74 -0
- package/dist/policies/traffic/geo-ip-filter.js.map +1 -0
- package/dist/policies/traffic/http-callout.d.ts +59 -0
- package/dist/policies/traffic/http-callout.js +69 -0
- package/dist/policies/traffic/http-callout.js.map +1 -0
- package/dist/policies/traffic/interrupt.d.ts +46 -0
- package/dist/policies/traffic/interrupt.js +38 -0
- package/dist/policies/traffic/interrupt.js.map +1 -0
- package/dist/policies/traffic/ip-filter.d.ts +47 -0
- package/dist/policies/traffic/ip-filter.js +57 -0
- package/dist/policies/traffic/ip-filter.js.map +1 -0
- package/dist/policies/traffic/json-threat-protection.d.ts +51 -0
- package/dist/policies/traffic/json-threat-protection.js +173 -0
- package/dist/policies/traffic/json-threat-protection.js.map +1 -0
- package/dist/policies/traffic/rate-limit.d.ts +4 -0
- package/dist/policies/traffic/rate-limit.js +145 -0
- package/dist/policies/traffic/rate-limit.js.map +1 -0
- package/dist/policies/traffic/regex-threat-protection.d.ts +54 -0
- package/dist/policies/traffic/regex-threat-protection.js +109 -0
- package/dist/policies/traffic/regex-threat-protection.js.map +1 -0
- package/dist/policies/traffic/request-limit.d.ts +27 -0
- package/dist/policies/traffic/request-limit.js +41 -0
- package/dist/policies/traffic/request-limit.js.map +1 -0
- package/dist/policies/traffic/resource-filter.d.ts +38 -0
- package/dist/policies/traffic/resource-filter.js +184 -0
- package/dist/policies/traffic/resource-filter.js.map +1 -0
- package/dist/policies/traffic/ssl-enforce.d.ts +27 -0
- package/dist/policies/traffic/ssl-enforce.js +38 -0
- package/dist/policies/traffic/ssl-enforce.js.map +1 -0
- package/dist/policies/traffic/traffic-shadow.d.ts +40 -0
- package/dist/policies/traffic/traffic-shadow.js +87 -0
- package/dist/policies/traffic/traffic-shadow.js.map +1 -0
- package/dist/policies/transform/assign-attributes.d.ts +33 -0
- package/dist/policies/transform/assign-attributes.js +38 -0
- package/dist/policies/transform/assign-attributes.js.map +1 -0
- package/dist/policies/transform/assign-content.d.ts +40 -0
- package/dist/policies/transform/assign-content.js +185 -0
- package/dist/policies/transform/assign-content.js.map +1 -0
- package/dist/policies/transform/cors.d.ts +57 -0
- package/dist/policies/transform/cors.js +23 -0
- package/dist/policies/transform/cors.js.map +1 -0
- package/dist/policies/transform/json-validation.d.ts +50 -0
- package/dist/policies/transform/json-validation.js +125 -0
- package/dist/policies/transform/json-validation.js.map +1 -0
- package/dist/policies/transform/override-method.d.ts +33 -0
- package/dist/policies/transform/override-method.js +48 -0
- package/dist/policies/transform/override-method.js.map +1 -0
- package/dist/policies/transform/request-validation.d.ts +59 -0
- package/dist/policies/transform/request-validation.js +121 -0
- package/dist/policies/transform/request-validation.js.map +1 -0
- package/dist/policies/transform/transform.d.ts +75 -0
- package/dist/policies/transform/transform.js +116 -0
- package/dist/policies/transform/transform.js.map +1 -0
- package/dist/policies/types.d.ts +4 -0
- package/dist/policies/types.js +1 -0
- package/dist/policies/types.js.map +1 -0
- package/dist/protocol-2fD3DJrL.d.ts +725 -0
- package/dist/utils/cidr.d.ts +58 -0
- package/dist/utils/cidr.js +107 -0
- package/dist/utils/cidr.js.map +1 -0
- package/dist/utils/debug.d.ts +1 -0
- package/dist/utils/debug.js +13 -0
- package/dist/utils/debug.js.map +1 -0
- package/dist/utils/headers.d.ts +68 -0
- package/dist/utils/headers.js +25 -0
- package/dist/utils/headers.js.map +1 -0
- package/dist/utils/ip.d.ts +64 -0
- package/dist/utils/ip.js +29 -0
- package/dist/utils/ip.js.map +1 -0
- package/dist/utils/redact.d.ts +30 -0
- package/dist/utils/redact.js +52 -0
- package/dist/utils/redact.js.map +1 -0
- package/dist/utils/request-id.d.ts +11 -0
- package/dist/utils/request-id.js +7 -0
- package/dist/utils/request-id.js.map +1 -0
- package/dist/utils/timing-safe.d.ts +31 -0
- package/dist/utils/timing-safe.js +17 -0
- package/dist/utils/timing-safe.js.map +1 -0
- package/dist/utils/timing.d.ts +27 -0
- package/dist/utils/timing.js +12 -0
- package/dist/utils/timing.js.map +1 -0
- package/dist/utils/trace-context.d.ts +51 -0
- package/dist/utils/trace-context.js +37 -0
- package/dist/utils/trace-context.js.map +1 -0
- package/package.json +213 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* W3C Trace Context propagation utilities.
|
|
3
|
+
*
|
|
4
|
+
* Parses and generates `traceparent` headers per the W3C Trace Context spec
|
|
5
|
+
* (https://www.w3.org/TR/trace-context/). Used by the pipeline context
|
|
6
|
+
* injector to propagate distributed tracing through the gateway.
|
|
7
|
+
*
|
|
8
|
+
* @module trace-context
|
|
9
|
+
*/
|
|
10
|
+
/** Parsed W3C traceparent header fields. */
|
|
11
|
+
interface TraceContext {
|
|
12
|
+
/** Version - always "00" for the current spec. */
|
|
13
|
+
version: string;
|
|
14
|
+
/** 32-character lowercase hex trace ID. */
|
|
15
|
+
traceId: string;
|
|
16
|
+
/** 16-character lowercase hex span/parent ID. */
|
|
17
|
+
parentId: string;
|
|
18
|
+
/** Trace flags as 2-character hex. "01" = sampled. */
|
|
19
|
+
flags: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Parse a `traceparent` header value into its components.
|
|
23
|
+
*
|
|
24
|
+
* Returns `null` for missing, malformed, or invalid-version headers.
|
|
25
|
+
* Only version "00" is supported.
|
|
26
|
+
*
|
|
27
|
+
* @param header - The raw traceparent header value.
|
|
28
|
+
* @returns Parsed trace context, or `null` if invalid.
|
|
29
|
+
*/
|
|
30
|
+
declare function parseTraceparent(header: string | null): TraceContext | null;
|
|
31
|
+
/**
|
|
32
|
+
* Generate a new trace context with random trace and span IDs.
|
|
33
|
+
*
|
|
34
|
+
* @returns A new TraceContext with version "00", sampled flag "01".
|
|
35
|
+
*/
|
|
36
|
+
declare function generateTraceContext(): TraceContext;
|
|
37
|
+
/**
|
|
38
|
+
* Format a TraceContext back into a `traceparent` header value.
|
|
39
|
+
*
|
|
40
|
+
* @param ctx - The trace context to format.
|
|
41
|
+
* @returns A W3C traceparent header string.
|
|
42
|
+
*/
|
|
43
|
+
declare function formatTraceparent(ctx: TraceContext): string;
|
|
44
|
+
/**
|
|
45
|
+
* Generate a random 16-character lowercase hex span ID.
|
|
46
|
+
*
|
|
47
|
+
* @returns A 16-char hex string suitable for use as a span/parent ID.
|
|
48
|
+
*/
|
|
49
|
+
declare function generateSpanId(): string;
|
|
50
|
+
|
|
51
|
+
export { type TraceContext, formatTraceparent, generateSpanId, generateTraceContext, parseTraceparent };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const TRACEPARENT_REGEX = /^([0-9a-f]{2})-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/;
|
|
2
|
+
function parseTraceparent(header) {
|
|
3
|
+
if (!header) return null;
|
|
4
|
+
const match = header.trim().match(TRACEPARENT_REGEX);
|
|
5
|
+
if (!match) return null;
|
|
6
|
+
const [, version, traceId, parentId, flags] = match;
|
|
7
|
+
if (version === "ff") return null;
|
|
8
|
+
if (traceId === "00000000000000000000000000000000") return null;
|
|
9
|
+
if (parentId === "0000000000000000") return null;
|
|
10
|
+
return { version, traceId, parentId, flags };
|
|
11
|
+
}
|
|
12
|
+
function generateTraceContext() {
|
|
13
|
+
return {
|
|
14
|
+
version: "00",
|
|
15
|
+
traceId: generateHexId(16),
|
|
16
|
+
parentId: generateSpanId(),
|
|
17
|
+
flags: "01"
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function formatTraceparent(ctx) {
|
|
21
|
+
return `${ctx.version}-${ctx.traceId}-${ctx.parentId}-${ctx.flags}`;
|
|
22
|
+
}
|
|
23
|
+
function generateSpanId() {
|
|
24
|
+
return generateHexId(8);
|
|
25
|
+
}
|
|
26
|
+
function generateHexId(byteLength) {
|
|
27
|
+
const bytes = new Uint8Array(byteLength);
|
|
28
|
+
crypto.getRandomValues(bytes);
|
|
29
|
+
return Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
formatTraceparent,
|
|
33
|
+
generateSpanId,
|
|
34
|
+
generateTraceContext,
|
|
35
|
+
parseTraceparent
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=trace-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/trace-context.ts"],"sourcesContent":["/**\n * W3C Trace Context propagation utilities.\n *\n * Parses and generates `traceparent` headers per the W3C Trace Context spec\n * (https://www.w3.org/TR/trace-context/). Used by the pipeline context\n * injector to propagate distributed tracing through the gateway.\n *\n * @module trace-context\n */\n\n/** Parsed W3C traceparent header fields. */\nexport interface TraceContext {\n /** Version - always \"00\" for the current spec. */\n version: string;\n /** 32-character lowercase hex trace ID. */\n traceId: string;\n /** 16-character lowercase hex span/parent ID. */\n parentId: string;\n /** Trace flags as 2-character hex. \"01\" = sampled. */\n flags: string;\n}\n\nconst TRACEPARENT_REGEX =\n /^([0-9a-f]{2})-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/;\n\n/**\n * Parse a `traceparent` header value into its components.\n *\n * Returns `null` for missing, malformed, or invalid-version headers.\n * Only version \"00\" is supported.\n *\n * @param header - The raw traceparent header value.\n * @returns Parsed trace context, or `null` if invalid.\n */\nexport function parseTraceparent(header: string | null): TraceContext | null {\n if (!header) return null;\n\n const match = header.trim().match(TRACEPARENT_REGEX);\n if (!match) return null;\n\n const [, version, traceId, parentId, flags] = match;\n\n // Reject version \"ff\" (reserved) and all-zero trace/parent IDs\n if (version === \"ff\") return null;\n if (traceId === \"00000000000000000000000000000000\") return null;\n if (parentId === \"0000000000000000\") return null;\n\n return { version, traceId, parentId, flags };\n}\n\n/**\n * Generate a new trace context with random trace and span IDs.\n *\n * @returns A new TraceContext with version \"00\", sampled flag \"01\".\n */\nexport function generateTraceContext(): TraceContext {\n return {\n version: \"00\",\n traceId: generateHexId(16),\n parentId: generateSpanId(),\n flags: \"01\",\n };\n}\n\n/**\n * Format a TraceContext back into a `traceparent` header value.\n *\n * @param ctx - The trace context to format.\n * @returns A W3C traceparent header string.\n */\nexport function formatTraceparent(ctx: TraceContext): string {\n return `${ctx.version}-${ctx.traceId}-${ctx.parentId}-${ctx.flags}`;\n}\n\n/**\n * Generate a random 16-character lowercase hex span ID.\n *\n * @returns A 16-char hex string suitable for use as a span/parent ID.\n */\nexport function generateSpanId(): string {\n return generateHexId(8);\n}\n\n/**\n * Generate a random lowercase hex string of the given byte length.\n * Uses `crypto.getRandomValues` (available in Workers runtime).\n */\nfunction generateHexId(byteLength: number): string {\n const bytes = new Uint8Array(byteLength);\n crypto.getRandomValues(bytes);\n return Array.from(bytes, (b) => b.toString(16).padStart(2, \"0\")).join(\"\");\n}\n"],"mappings":"AAsBA,MAAM,oBACJ;AAWK,SAAS,iBAAiB,QAA4C;AAC3E,MAAI,CAAC,OAAQ,QAAO;AAEpB,QAAM,QAAQ,OAAO,KAAK,EAAE,MAAM,iBAAiB;AACnD,MAAI,CAAC,MAAO,QAAO;AAEnB,QAAM,CAAC,EAAE,SAAS,SAAS,UAAU,KAAK,IAAI;AAG9C,MAAI,YAAY,KAAM,QAAO;AAC7B,MAAI,YAAY,mCAAoC,QAAO;AAC3D,MAAI,aAAa,mBAAoB,QAAO;AAE5C,SAAO,EAAE,SAAS,SAAS,UAAU,MAAM;AAC7C;AAOO,SAAS,uBAAqC;AACnD,SAAO;AAAA,IACL,SAAS;AAAA,IACT,SAAS,cAAc,EAAE;AAAA,IACzB,UAAU,eAAe;AAAA,IACzB,OAAO;AAAA,EACT;AACF;AAQO,SAAS,kBAAkB,KAA2B;AAC3D,SAAO,GAAG,IAAI,OAAO,IAAI,IAAI,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,KAAK;AACnE;AAOO,SAAS,iBAAyB;AACvC,SAAO,cAAc,CAAC;AACxB;AAMA,SAAS,cAAc,YAA4B;AACjD,QAAM,QAAQ,IAAI,WAAW,UAAU;AACvC,SAAO,gBAAgB,KAAK;AAC5B,SAAO,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE;AAC1E;","names":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@vivero/stoma",
|
|
3
|
+
"version": "0.1.0-rc.10",
|
|
4
|
+
"description": "Declarative API gateway as a TypeScript library. Runs on Cloudflare Workers, Node.js, Deno, Bun, and any JavaScript runtime.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/vivero-dev/stoma.git",
|
|
9
|
+
"directory": "packages/gateway"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://stoma.vivero.dev",
|
|
12
|
+
"sideEffects": false,
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"author": {
|
|
15
|
+
"name": "Jonathan Bennett"
|
|
16
|
+
},
|
|
17
|
+
"bugs": {
|
|
18
|
+
"url": "https://github.com/vivero-dev/stoma/issues"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"api-gateway",
|
|
22
|
+
"hono",
|
|
23
|
+
"cloudflare-workers",
|
|
24
|
+
"edge",
|
|
25
|
+
"middleware",
|
|
26
|
+
"proxy",
|
|
27
|
+
"rate-limit",
|
|
28
|
+
"auth",
|
|
29
|
+
"jwt",
|
|
30
|
+
"policy",
|
|
31
|
+
"declarative"
|
|
32
|
+
],
|
|
33
|
+
"main": "./dist/index.js",
|
|
34
|
+
"module": "./dist/index.js",
|
|
35
|
+
"types": "./dist/index.d.ts",
|
|
36
|
+
"files": [
|
|
37
|
+
"dist",
|
|
38
|
+
"LICENSE",
|
|
39
|
+
"README.md"
|
|
40
|
+
],
|
|
41
|
+
"exports": {
|
|
42
|
+
".": {
|
|
43
|
+
"types": "./dist/index.d.ts",
|
|
44
|
+
"import": "./dist/index.js",
|
|
45
|
+
"default": "./dist/index.js"
|
|
46
|
+
},
|
|
47
|
+
"./policies": {
|
|
48
|
+
"types": "./dist/policies/index.d.ts",
|
|
49
|
+
"import": "./dist/policies/index.js",
|
|
50
|
+
"default": "./dist/policies/index.js"
|
|
51
|
+
},
|
|
52
|
+
"./config": {
|
|
53
|
+
"types": "./dist/config/index.d.ts",
|
|
54
|
+
"import": "./dist/config/index.js",
|
|
55
|
+
"default": "./dist/config/index.js"
|
|
56
|
+
},
|
|
57
|
+
"./sdk": {
|
|
58
|
+
"types": "./dist/policies/sdk/index.d.ts",
|
|
59
|
+
"import": "./dist/policies/sdk/index.js",
|
|
60
|
+
"default": "./dist/policies/sdk/index.js"
|
|
61
|
+
},
|
|
62
|
+
"./adapters": {
|
|
63
|
+
"types": "./dist/adapters/index.d.ts",
|
|
64
|
+
"import": "./dist/adapters/index.js",
|
|
65
|
+
"default": "./dist/adapters/index.js"
|
|
66
|
+
},
|
|
67
|
+
"./adapters/cloudflare": {
|
|
68
|
+
"types": "./dist/adapters/cloudflare.d.ts",
|
|
69
|
+
"import": "./dist/adapters/cloudflare.js",
|
|
70
|
+
"default": "./dist/adapters/cloudflare.js"
|
|
71
|
+
},
|
|
72
|
+
"./adapters/deno": {
|
|
73
|
+
"types": "./dist/adapters/deno.d.ts",
|
|
74
|
+
"import": "./dist/adapters/deno.js",
|
|
75
|
+
"default": "./dist/adapters/deno.js"
|
|
76
|
+
},
|
|
77
|
+
"./adapters/bun": {
|
|
78
|
+
"types": "./dist/adapters/bun.d.ts",
|
|
79
|
+
"import": "./dist/adapters/bun.js",
|
|
80
|
+
"default": "./dist/adapters/bun.js"
|
|
81
|
+
},
|
|
82
|
+
"./adapters/node": {
|
|
83
|
+
"types": "./dist/adapters/node.d.ts",
|
|
84
|
+
"import": "./dist/adapters/node.js",
|
|
85
|
+
"default": "./dist/adapters/node.js"
|
|
86
|
+
},
|
|
87
|
+
"./adapters/memory": {
|
|
88
|
+
"types": "./dist/adapters/memory.d.ts",
|
|
89
|
+
"import": "./dist/adapters/memory.js",
|
|
90
|
+
"default": "./dist/adapters/memory.js"
|
|
91
|
+
},
|
|
92
|
+
"./adapters/redis": {
|
|
93
|
+
"types": "./dist/adapters/redis.d.ts",
|
|
94
|
+
"import": "./dist/adapters/redis.js",
|
|
95
|
+
"default": "./dist/adapters/redis.js"
|
|
96
|
+
},
|
|
97
|
+
"./adapters/postgres": {
|
|
98
|
+
"types": "./dist/adapters/postgres.d.ts",
|
|
99
|
+
"import": "./dist/adapters/postgres.js",
|
|
100
|
+
"default": "./dist/adapters/postgres.js"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"publishConfig": {
|
|
104
|
+
"access": "public",
|
|
105
|
+
"main": "./dist/index.js",
|
|
106
|
+
"module": "./dist/index.js",
|
|
107
|
+
"types": "./dist/index.d.ts",
|
|
108
|
+
"exports": {
|
|
109
|
+
".": {
|
|
110
|
+
"types": "./dist/index.d.ts",
|
|
111
|
+
"import": "./dist/index.js",
|
|
112
|
+
"default": "./dist/index.js"
|
|
113
|
+
},
|
|
114
|
+
"./policies": {
|
|
115
|
+
"types": "./dist/policies/index.d.ts",
|
|
116
|
+
"import": "./dist/policies/index.js",
|
|
117
|
+
"default": "./dist/policies/index.js"
|
|
118
|
+
},
|
|
119
|
+
"./config": {
|
|
120
|
+
"types": "./dist/config/index.d.ts",
|
|
121
|
+
"import": "./dist/config/index.js",
|
|
122
|
+
"default": "./dist/config/index.js"
|
|
123
|
+
},
|
|
124
|
+
"./sdk": {
|
|
125
|
+
"types": "./dist/policies/sdk/index.d.ts",
|
|
126
|
+
"import": "./dist/policies/sdk/index.js",
|
|
127
|
+
"default": "./dist/policies/sdk/index.js"
|
|
128
|
+
},
|
|
129
|
+
"./adapters": {
|
|
130
|
+
"types": "./dist/adapters/index.d.ts",
|
|
131
|
+
"import": "./dist/adapters/index.js",
|
|
132
|
+
"default": "./dist/adapters/index.js"
|
|
133
|
+
},
|
|
134
|
+
"./adapters/cloudflare": {
|
|
135
|
+
"types": "./dist/adapters/cloudflare.d.ts",
|
|
136
|
+
"import": "./dist/adapters/cloudflare.js",
|
|
137
|
+
"default": "./dist/adapters/cloudflare.js"
|
|
138
|
+
},
|
|
139
|
+
"./adapters/deno": {
|
|
140
|
+
"types": "./dist/adapters/deno.d.ts",
|
|
141
|
+
"import": "./dist/adapters/deno.js",
|
|
142
|
+
"default": "./dist/adapters/deno.js"
|
|
143
|
+
},
|
|
144
|
+
"./adapters/bun": {
|
|
145
|
+
"types": "./dist/adapters/bun.d.ts",
|
|
146
|
+
"import": "./dist/adapters/bun.js",
|
|
147
|
+
"default": "./dist/adapters/bun.js"
|
|
148
|
+
},
|
|
149
|
+
"./adapters/node": {
|
|
150
|
+
"types": "./dist/adapters/node.d.ts",
|
|
151
|
+
"import": "./dist/adapters/node.js",
|
|
152
|
+
"default": "./dist/adapters/node.js"
|
|
153
|
+
},
|
|
154
|
+
"./adapters/memory": {
|
|
155
|
+
"types": "./dist/adapters/memory.d.ts",
|
|
156
|
+
"import": "./dist/adapters/memory.js",
|
|
157
|
+
"default": "./dist/adapters/memory.js"
|
|
158
|
+
},
|
|
159
|
+
"./adapters/redis": {
|
|
160
|
+
"types": "./dist/adapters/redis.d.ts",
|
|
161
|
+
"import": "./dist/adapters/redis.js",
|
|
162
|
+
"default": "./dist/adapters/redis.js"
|
|
163
|
+
},
|
|
164
|
+
"./adapters/postgres": {
|
|
165
|
+
"types": "./dist/adapters/postgres.d.ts",
|
|
166
|
+
"import": "./dist/adapters/postgres.js",
|
|
167
|
+
"default": "./dist/adapters/postgres.js"
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"scripts": {
|
|
172
|
+
"build": "tsup",
|
|
173
|
+
"lint": "biome check src/",
|
|
174
|
+
"lint:fix": "biome check --write src/",
|
|
175
|
+
"typecheck": "tsc --noEmit",
|
|
176
|
+
"test": "vitest run && vitest run --config vitest.cloudflare.ts",
|
|
177
|
+
"test:unit": "vitest run",
|
|
178
|
+
"test:cloudflare": "vitest run --config vitest.cloudflare.ts",
|
|
179
|
+
"test:coverage": "vitest run --coverage",
|
|
180
|
+
"test:watch": "vitest",
|
|
181
|
+
"prepublishOnly": "yarn build"
|
|
182
|
+
},
|
|
183
|
+
"dependencies": {
|
|
184
|
+
"@vivero/stoma-core": "0.1.0-rc.3"
|
|
185
|
+
},
|
|
186
|
+
"devDependencies": {
|
|
187
|
+
"@cloudflare/vitest-pool-workers": "^0.8.0",
|
|
188
|
+
"@cloudflare/workers-types": "^4.20250214.0",
|
|
189
|
+
"@vitest/coverage-istanbul": "3.2.4",
|
|
190
|
+
"@vitest/expect": "3.2.4",
|
|
191
|
+
"@vitest/mocker": "3.2.4",
|
|
192
|
+
"@vitest/pretty-format": "3.2.4",
|
|
193
|
+
"@vitest/runner": "3.2.4",
|
|
194
|
+
"@vitest/snapshot": "3.2.4",
|
|
195
|
+
"@vitest/spy": "3.2.4",
|
|
196
|
+
"@vitest/utils": "3.2.4",
|
|
197
|
+
"hono": "^4.7.0",
|
|
198
|
+
"tsup": "^8.5.1",
|
|
199
|
+
"typescript": "^5.9.3",
|
|
200
|
+
"vitest": "3.2.4",
|
|
201
|
+
"wrangler": "^4.65.0",
|
|
202
|
+
"zod": "^4.3.6"
|
|
203
|
+
},
|
|
204
|
+
"peerDependencies": {
|
|
205
|
+
"hono": ">=4.0.0",
|
|
206
|
+
"zod": ">=4.0.0"
|
|
207
|
+
},
|
|
208
|
+
"peerDependenciesMeta": {
|
|
209
|
+
"zod": {
|
|
210
|
+
"optional": true
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|