@akashnetwork/chain-sdk 1.0.0-alpha.33 → 1.0.0-alpha.35
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/dist/cjs/generated/protos/akash/provider/v1/status.cjs +19 -2
- package/dist/cjs/generated/protos/akash/provider/v1/status.cjs.map +2 -2
- package/dist/cjs/sdk/provider/auth/jwt/validateJwtPayload.cjs +5 -5
- package/dist/cjs/sdk/provider/auth/jwt/validateJwtPayload.cjs.map +2 -2
- package/dist/cjs/sdk/transport/grpc-gateway/createGrpcGatewayTransport.cjs +1 -1
- package/dist/cjs/sdk/transport/grpc-gateway/createGrpcGatewayTransport.cjs.map +2 -2
- package/dist/cjs/sdl/manifest/generateManifest.cjs +15 -0
- package/dist/cjs/sdl/manifest/generateManifest.cjs.map +2 -2
- package/dist/cjs/sdl/manifest/reclamationDuration.cjs +34 -0
- package/dist/cjs/sdl/manifest/reclamationDuration.cjs.map +7 -0
- package/dist/cjs/sdl/validateSDL/validateSDL.cjs +6 -0
- package/dist/cjs/sdl/validateSDL/validateSDL.cjs.map +2 -2
- package/dist/cjs/sdl/validateSDL/validateSDLInput.cjs +4 -3
- package/dist/cjs/sdl/validateSDL/validateSDLInput.cjs.map +2 -2
- package/dist/esm/{chunk-W25EJ3NI.js → chunk-MLIW7FIZ.js} +22 -3
- package/dist/esm/chunk-MLIW7FIZ.js.map +7 -0
- package/dist/esm/{chunk-J7CMFG4J.js → chunk-WBBS4OZV.js} +46 -9
- package/dist/esm/chunk-WBBS4OZV.js.map +7 -0
- package/dist/esm/generated/protos/index.provider.akash.v1.js +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.web.js +2 -2
- package/dist/esm/index.web.js.map +2 -2
- package/dist/esm/{service_akash-5RIOE2CY.js → service_akash-LXXUUD6O.js} +3 -2
- package/dist/esm/{service_akash-5RIOE2CY.js.map → service_akash-LXXUUD6O.js.map} +1 -1
- package/dist/sdl-schema.yaml +3 -3
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/generated/protos/akash/provider/v1/status.d.ts +2 -0
- package/dist/types/sdk/provider/auth/jwt/validateJwtPayload.d.ts +3 -3
- package/dist/types/sdl/manifest/generateManifest.d.ts +2 -0
- package/dist/types/sdl/manifest/reclamationDuration.d.ts +11 -0
- package/dist/types/sdl/validateSDL/validateSDLInput.d.ts +2 -2
- package/package.json +1 -1
- package/dist/esm/chunk-J7CMFG4J.js.map +0 -7
- package/dist/esm/chunk-W25EJ3NI.js.map +0 -7
|
@@ -12,6 +12,9 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
DecCoin
|
|
14
14
|
} from "./chunk-Q5FYTXCV.js";
|
|
15
|
+
import {
|
|
16
|
+
Duration
|
|
17
|
+
} from "./chunk-IN3L4YRD.js";
|
|
15
18
|
import {
|
|
16
19
|
Timestamp,
|
|
17
20
|
fromJsonTimestamp,
|
|
@@ -657,7 +660,8 @@ function createBaseStatus() {
|
|
|
657
660
|
bidEngine: void 0,
|
|
658
661
|
manifest: void 0,
|
|
659
662
|
publicHostnames: [],
|
|
660
|
-
timestamp: void 0
|
|
663
|
+
timestamp: void 0,
|
|
664
|
+
reclamationWindow: void 0
|
|
661
665
|
};
|
|
662
666
|
}
|
|
663
667
|
var Status = {
|
|
@@ -681,6 +685,9 @@ var Status = {
|
|
|
681
685
|
if (message.timestamp !== void 0) {
|
|
682
686
|
Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(50).fork()).join();
|
|
683
687
|
}
|
|
688
|
+
if (message.reclamationWindow !== void 0) {
|
|
689
|
+
Duration.encode(message.reclamationWindow, writer.uint32(58).fork()).join();
|
|
690
|
+
}
|
|
684
691
|
return writer;
|
|
685
692
|
},
|
|
686
693
|
decode(input, length) {
|
|
@@ -732,6 +739,13 @@ var Status = {
|
|
|
732
739
|
message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
|
|
733
740
|
continue;
|
|
734
741
|
}
|
|
742
|
+
case 7: {
|
|
743
|
+
if (tag !== 58) {
|
|
744
|
+
break;
|
|
745
|
+
}
|
|
746
|
+
message.reclamationWindow = Duration.decode(reader, reader.uint32());
|
|
747
|
+
continue;
|
|
748
|
+
}
|
|
735
749
|
}
|
|
736
750
|
if ((tag & 7) === 4 || tag === 0) {
|
|
737
751
|
break;
|
|
@@ -747,7 +761,8 @@ var Status = {
|
|
|
747
761
|
bidEngine: isSet(object.bid_engine) ? BidEngineStatus.fromJSON(object.bid_engine) : void 0,
|
|
748
762
|
manifest: isSet(object.manifest) ? ManifestStatus.fromJSON(object.manifest) : void 0,
|
|
749
763
|
publicHostnames: globalThis.Array.isArray(object?.public_hostnames) ? object.public_hostnames.map((e) => globalThis.String(e)) : [],
|
|
750
|
-
timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : void 0
|
|
764
|
+
timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : void 0,
|
|
765
|
+
reclamationWindow: isSet(object.reclamation_window) ? Duration.fromJSON(object.reclamation_window) : void 0
|
|
751
766
|
};
|
|
752
767
|
},
|
|
753
768
|
toJSON(message) {
|
|
@@ -770,6 +785,9 @@ var Status = {
|
|
|
770
785
|
if (message.timestamp !== void 0) {
|
|
771
786
|
obj.timestamp = message.timestamp.toISOString();
|
|
772
787
|
}
|
|
788
|
+
if (message.reclamationWindow !== void 0) {
|
|
789
|
+
obj.reclamation_window = Duration.toJSON(message.reclamationWindow);
|
|
790
|
+
}
|
|
773
791
|
return obj;
|
|
774
792
|
},
|
|
775
793
|
fromPartial(object) {
|
|
@@ -780,6 +798,7 @@ var Status = {
|
|
|
780
798
|
message.manifest = object.manifest !== void 0 && object.manifest !== null ? ManifestStatus.fromPartial(object.manifest) : void 0;
|
|
781
799
|
message.publicHostnames = object.publicHostnames?.map((e) => e) || [];
|
|
782
800
|
message.timestamp = object.timestamp ?? void 0;
|
|
801
|
+
message.reclamationWindow = object.reclamationWindow !== void 0 && object.reclamationWindow !== null ? Duration.fromPartial(object.reclamationWindow) : void 0;
|
|
783
802
|
return message;
|
|
784
803
|
}
|
|
785
804
|
};
|
|
@@ -962,4 +981,4 @@ export {
|
|
|
962
981
|
BidScreeningRequest,
|
|
963
982
|
BidScreeningResponse
|
|
964
983
|
};
|
|
965
|
-
//# sourceMappingURL=chunk-
|
|
984
|
+
//# sourceMappingURL=chunk-MLIW7FIZ.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/generated/protos/akash/provider/v1/status.ts", "../../src/generated/protos/akash/provider/v1/validation.ts"],
|
|
4
|
+
"sourcesContent": ["import { toTimestamp, fromTimestamp, fromJsonTimestamp, numberToLong, isObject, isSet } from \"../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: akash/provider/v1/status.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Duration } from \"../../../google/protobuf/duration.ts\";\nimport { Timestamp } from \"../../../google/protobuf/timestamp.ts\";\nimport { Quantity } from \"../../../k8s.io/apimachinery/pkg/api/resource/generated.ts\";\nimport { Cluster } from \"../../inventory/v1/cluster.ts\";\nimport { ResourcePair } from \"../../inventory/v1/resourcepair.ts\";\n\n/** ResourceMetrics */\nexport interface ResourcesMetric {\n cpu: Quantity | undefined;\n memory: Quantity | undefined;\n gpu: Quantity | undefined;\n ephemeralStorage: Quantity | undefined;\n storage: { [key: string]: Quantity };\n}\n\nexport interface ResourcesMetric_StorageEntry {\n key: string;\n value: Quantity | undefined;\n}\n\n/** Leases */\nexport interface Leases {\n active: number;\n}\n\n/** ReservationsMetric */\nexport interface ReservationsMetric {\n count: number;\n resources: ResourcesMetric | undefined;\n}\n\n/** Reservations */\nexport interface Reservations {\n pending: ReservationsMetric | undefined;\n active: ReservationsMetric | undefined;\n}\n\n/** Inventory */\nexport interface Inventory {\n cluster: Cluster | undefined;\n reservations: Reservations | undefined;\n leasedIp: ResourcePair | undefined;\n}\n\n/** ClusterStatus */\nexport interface ClusterStatus {\n leases: Leases | undefined;\n inventory: Inventory | undefined;\n}\n\n/** BidEngineStatus */\nexport interface BidEngineStatus {\n orders: number;\n}\n\n/** ManifestStatus */\nexport interface ManifestStatus {\n deployments: number;\n}\n\n/** Status */\nexport interface Status {\n errors: string[];\n cluster: ClusterStatus | undefined;\n bidEngine: BidEngineStatus | undefined;\n manifest: ManifestStatus | undefined;\n publicHostnames: string[];\n timestamp: Date | undefined;\n reclamationWindow: Duration | undefined;\n}\n\nfunction createBaseResourcesMetric(): ResourcesMetric {\n return { cpu: undefined, memory: undefined, gpu: undefined, ephemeralStorage: undefined, storage: {} };\n}\n\nexport const ResourcesMetric: MessageFns<ResourcesMetric, \"akash.provider.v1.ResourcesMetric\"> = {\n $type: \"akash.provider.v1.ResourcesMetric\" as const,\n\n encode(message: ResourcesMetric, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.cpu !== undefined) {\n Quantity.encode(message.cpu, writer.uint32(10).fork()).join();\n }\n if (message.memory !== undefined) {\n Quantity.encode(message.memory, writer.uint32(18).fork()).join();\n }\n if (message.gpu !== undefined) {\n Quantity.encode(message.gpu, writer.uint32(26).fork()).join();\n }\n if (message.ephemeralStorage !== undefined) {\n Quantity.encode(message.ephemeralStorage, writer.uint32(34).fork()).join();\n }\n globalThis.Object.entries(message.storage).forEach(([key, value]: [string, Quantity]) => {\n ResourcesMetric_StorageEntry.encode({ key: key as any, value }, writer.uint32(42).fork()).join();\n });\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ResourcesMetric {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseResourcesMetric();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.cpu = Quantity.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.memory = Quantity.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.gpu = Quantity.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.ephemeralStorage = Quantity.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n const entry5 = ResourcesMetric_StorageEntry.decode(reader, reader.uint32());\n if (entry5.value !== undefined) {\n message.storage[entry5.key] = entry5.value;\n }\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ResourcesMetric {\n return {\n cpu: isSet(object.cpu) ? Quantity.fromJSON(object.cpu) : undefined,\n memory: isSet(object.memory) ? Quantity.fromJSON(object.memory) : undefined,\n gpu: isSet(object.gpu) ? Quantity.fromJSON(object.gpu) : undefined,\n ephemeralStorage: isSet(object.ephemeral_storage) ? Quantity.fromJSON(object.ephemeral_storage) : undefined,\n storage: isObject(object.storage)\n ? (globalThis.Object.entries(object.storage) as [string, any][]).reduce(\n (acc: { [key: string]: Quantity }, [key, value]: [string, any]) => {\n acc[key] = Quantity.fromJSON(value);\n return acc;\n },\n {},\n )\n : {},\n };\n },\n\n toJSON(message: ResourcesMetric): unknown {\n const obj: any = {};\n if (message.cpu !== undefined) {\n obj.cpu = Quantity.toJSON(message.cpu);\n }\n if (message.memory !== undefined) {\n obj.memory = Quantity.toJSON(message.memory);\n }\n if (message.gpu !== undefined) {\n obj.gpu = Quantity.toJSON(message.gpu);\n }\n if (message.ephemeralStorage !== undefined) {\n obj.ephemeral_storage = Quantity.toJSON(message.ephemeralStorage);\n }\n if (message.storage) {\n const entries = globalThis.Object.entries(message.storage) as [string, Quantity][];\n if (entries.length > 0) {\n obj.storage = {};\n entries.forEach(([k, v]) => {\n obj.storage[k] = Quantity.toJSON(v);\n });\n }\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ResourcesMetric>): ResourcesMetric {\n const message = createBaseResourcesMetric();\n message.cpu = (object.cpu !== undefined && object.cpu !== null) ? Quantity.fromPartial(object.cpu) : undefined;\n message.memory = (object.memory !== undefined && object.memory !== null)\n ? Quantity.fromPartial(object.memory)\n : undefined;\n message.gpu = (object.gpu !== undefined && object.gpu !== null) ? Quantity.fromPartial(object.gpu) : undefined;\n message.ephemeralStorage = (object.ephemeralStorage !== undefined && object.ephemeralStorage !== null)\n ? Quantity.fromPartial(object.ephemeralStorage)\n : undefined;\n message.storage = (globalThis.Object.entries(object.storage ?? {}) as [string, Quantity][]).reduce(\n (acc: { [key: string]: Quantity }, [key, value]: [string, Quantity]) => {\n if (value !== undefined) {\n acc[key] = Quantity.fromPartial(value);\n }\n return acc;\n },\n {},\n );\n return message;\n },\n};\n\nfunction createBaseResourcesMetric_StorageEntry(): ResourcesMetric_StorageEntry {\n return { key: \"\", value: undefined };\n}\n\nexport const ResourcesMetric_StorageEntry: MessageFns<\n ResourcesMetric_StorageEntry,\n \"akash.provider.v1.ResourcesMetric.StorageEntry\"\n> = {\n $type: \"akash.provider.v1.ResourcesMetric.StorageEntry\" as const,\n\n encode(message: ResourcesMetric_StorageEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== undefined) {\n Quantity.encode(message.value, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ResourcesMetric_StorageEntry {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseResourcesMetric_StorageEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.key = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.value = Quantity.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ResourcesMetric_StorageEntry {\n return {\n key: isSet(object.key) ? globalThis.String(object.key) : \"\",\n value: isSet(object.value) ? Quantity.fromJSON(object.value) : undefined,\n };\n },\n\n toJSON(message: ResourcesMetric_StorageEntry): unknown {\n const obj: any = {};\n if (message.key !== \"\") {\n obj.key = message.key;\n }\n if (message.value !== undefined) {\n obj.value = Quantity.toJSON(message.value);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ResourcesMetric_StorageEntry>): ResourcesMetric_StorageEntry {\n const message = createBaseResourcesMetric_StorageEntry();\n message.key = object.key ?? \"\";\n message.value = (object.value !== undefined && object.value !== null)\n ? Quantity.fromPartial(object.value)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseLeases(): Leases {\n return { active: 0 };\n}\n\nexport const Leases: MessageFns<Leases, \"akash.provider.v1.Leases\"> = {\n $type: \"akash.provider.v1.Leases\" as const,\n\n encode(message: Leases, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.active !== 0) {\n writer.uint32(8).uint32(message.active);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Leases {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLeases();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.active = reader.uint32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Leases {\n return { active: isSet(object.active) ? globalThis.Number(object.active) : 0 };\n },\n\n toJSON(message: Leases): unknown {\n const obj: any = {};\n if (message.active !== 0) {\n obj.active = Math.round(message.active);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Leases>): Leases {\n const message = createBaseLeases();\n message.active = object.active ?? 0;\n return message;\n },\n};\n\nfunction createBaseReservationsMetric(): ReservationsMetric {\n return { count: 0, resources: undefined };\n}\n\nexport const ReservationsMetric: MessageFns<ReservationsMetric, \"akash.provider.v1.ReservationsMetric\"> = {\n $type: \"akash.provider.v1.ReservationsMetric\" as const,\n\n encode(message: ReservationsMetric, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.count !== 0) {\n writer.uint32(8).uint32(message.count);\n }\n if (message.resources !== undefined) {\n ResourcesMetric.encode(message.resources, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ReservationsMetric {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseReservationsMetric();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.count = reader.uint32();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.resources = ResourcesMetric.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ReservationsMetric {\n return {\n count: isSet(object.count) ? globalThis.Number(object.count) : 0,\n resources: isSet(object.resources) ? ResourcesMetric.fromJSON(object.resources) : undefined,\n };\n },\n\n toJSON(message: ReservationsMetric): unknown {\n const obj: any = {};\n if (message.count !== 0) {\n obj.count = Math.round(message.count);\n }\n if (message.resources !== undefined) {\n obj.resources = ResourcesMetric.toJSON(message.resources);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ReservationsMetric>): ReservationsMetric {\n const message = createBaseReservationsMetric();\n message.count = object.count ?? 0;\n message.resources = (object.resources !== undefined && object.resources !== null)\n ? ResourcesMetric.fromPartial(object.resources)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseReservations(): Reservations {\n return { pending: undefined, active: undefined };\n}\n\nexport const Reservations: MessageFns<Reservations, \"akash.provider.v1.Reservations\"> = {\n $type: \"akash.provider.v1.Reservations\" as const,\n\n encode(message: Reservations, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.pending !== undefined) {\n ReservationsMetric.encode(message.pending, writer.uint32(10).fork()).join();\n }\n if (message.active !== undefined) {\n ReservationsMetric.encode(message.active, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Reservations {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseReservations();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.pending = ReservationsMetric.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.active = ReservationsMetric.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Reservations {\n return {\n pending: isSet(object.pending) ? ReservationsMetric.fromJSON(object.pending) : undefined,\n active: isSet(object.active) ? ReservationsMetric.fromJSON(object.active) : undefined,\n };\n },\n\n toJSON(message: Reservations): unknown {\n const obj: any = {};\n if (message.pending !== undefined) {\n obj.pending = ReservationsMetric.toJSON(message.pending);\n }\n if (message.active !== undefined) {\n obj.active = ReservationsMetric.toJSON(message.active);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Reservations>): Reservations {\n const message = createBaseReservations();\n message.pending = (object.pending !== undefined && object.pending !== null)\n ? ReservationsMetric.fromPartial(object.pending)\n : undefined;\n message.active = (object.active !== undefined && object.active !== null)\n ? ReservationsMetric.fromPartial(object.active)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseInventory(): Inventory {\n return { cluster: undefined, reservations: undefined, leasedIp: undefined };\n}\n\nexport const Inventory: MessageFns<Inventory, \"akash.provider.v1.Inventory\"> = {\n $type: \"akash.provider.v1.Inventory\" as const,\n\n encode(message: Inventory, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.cluster !== undefined) {\n Cluster.encode(message.cluster, writer.uint32(10).fork()).join();\n }\n if (message.reservations !== undefined) {\n Reservations.encode(message.reservations, writer.uint32(18).fork()).join();\n }\n if (message.leasedIp !== undefined) {\n ResourcePair.encode(message.leasedIp, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Inventory {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInventory();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.cluster = Cluster.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.reservations = Reservations.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.leasedIp = ResourcePair.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Inventory {\n return {\n cluster: isSet(object.cluster) ? Cluster.fromJSON(object.cluster) : undefined,\n reservations: isSet(object.reservations) ? Reservations.fromJSON(object.reservations) : undefined,\n leasedIp: isSet(object.leased_ip) ? ResourcePair.fromJSON(object.leased_ip) : undefined,\n };\n },\n\n toJSON(message: Inventory): unknown {\n const obj: any = {};\n if (message.cluster !== undefined) {\n obj.cluster = Cluster.toJSON(message.cluster);\n }\n if (message.reservations !== undefined) {\n obj.reservations = Reservations.toJSON(message.reservations);\n }\n if (message.leasedIp !== undefined) {\n obj.leased_ip = ResourcePair.toJSON(message.leasedIp);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Inventory>): Inventory {\n const message = createBaseInventory();\n message.cluster = (object.cluster !== undefined && object.cluster !== null)\n ? Cluster.fromPartial(object.cluster)\n : undefined;\n message.reservations = (object.reservations !== undefined && object.reservations !== null)\n ? Reservations.fromPartial(object.reservations)\n : undefined;\n message.leasedIp = (object.leasedIp !== undefined && object.leasedIp !== null)\n ? ResourcePair.fromPartial(object.leasedIp)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseClusterStatus(): ClusterStatus {\n return { leases: undefined, inventory: undefined };\n}\n\nexport const ClusterStatus: MessageFns<ClusterStatus, \"akash.provider.v1.ClusterStatus\"> = {\n $type: \"akash.provider.v1.ClusterStatus\" as const,\n\n encode(message: ClusterStatus, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.leases !== undefined) {\n Leases.encode(message.leases, writer.uint32(10).fork()).join();\n }\n if (message.inventory !== undefined) {\n Inventory.encode(message.inventory, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ClusterStatus {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseClusterStatus();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.leases = Leases.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.inventory = Inventory.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ClusterStatus {\n return {\n leases: isSet(object.leases) ? Leases.fromJSON(object.leases) : undefined,\n inventory: isSet(object.inventory) ? Inventory.fromJSON(object.inventory) : undefined,\n };\n },\n\n toJSON(message: ClusterStatus): unknown {\n const obj: any = {};\n if (message.leases !== undefined) {\n obj.leases = Leases.toJSON(message.leases);\n }\n if (message.inventory !== undefined) {\n obj.inventory = Inventory.toJSON(message.inventory);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ClusterStatus>): ClusterStatus {\n const message = createBaseClusterStatus();\n message.leases = (object.leases !== undefined && object.leases !== null)\n ? Leases.fromPartial(object.leases)\n : undefined;\n message.inventory = (object.inventory !== undefined && object.inventory !== null)\n ? Inventory.fromPartial(object.inventory)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseBidEngineStatus(): BidEngineStatus {\n return { orders: 0 };\n}\n\nexport const BidEngineStatus: MessageFns<BidEngineStatus, \"akash.provider.v1.BidEngineStatus\"> = {\n $type: \"akash.provider.v1.BidEngineStatus\" as const,\n\n encode(message: BidEngineStatus, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.orders !== 0) {\n writer.uint32(8).uint32(message.orders);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): BidEngineStatus {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBidEngineStatus();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.orders = reader.uint32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): BidEngineStatus {\n return { orders: isSet(object.orders) ? globalThis.Number(object.orders) : 0 };\n },\n\n toJSON(message: BidEngineStatus): unknown {\n const obj: any = {};\n if (message.orders !== 0) {\n obj.orders = Math.round(message.orders);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<BidEngineStatus>): BidEngineStatus {\n const message = createBaseBidEngineStatus();\n message.orders = object.orders ?? 0;\n return message;\n },\n};\n\nfunction createBaseManifestStatus(): ManifestStatus {\n return { deployments: 0 };\n}\n\nexport const ManifestStatus: MessageFns<ManifestStatus, \"akash.provider.v1.ManifestStatus\"> = {\n $type: \"akash.provider.v1.ManifestStatus\" as const,\n\n encode(message: ManifestStatus, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.deployments !== 0) {\n writer.uint32(8).uint32(message.deployments);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ManifestStatus {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseManifestStatus();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.deployments = reader.uint32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ManifestStatus {\n return { deployments: isSet(object.deployments) ? globalThis.Number(object.deployments) : 0 };\n },\n\n toJSON(message: ManifestStatus): unknown {\n const obj: any = {};\n if (message.deployments !== 0) {\n obj.deployments = Math.round(message.deployments);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ManifestStatus>): ManifestStatus {\n const message = createBaseManifestStatus();\n message.deployments = object.deployments ?? 0;\n return message;\n },\n};\n\nfunction createBaseStatus(): Status {\n return {\n errors: [],\n cluster: undefined,\n bidEngine: undefined,\n manifest: undefined,\n publicHostnames: [],\n timestamp: undefined,\n reclamationWindow: undefined,\n };\n}\n\nexport const Status: MessageFns<Status, \"akash.provider.v1.Status\"> = {\n $type: \"akash.provider.v1.Status\" as const,\n\n encode(message: Status, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.errors) {\n writer.uint32(10).string(v!);\n }\n if (message.cluster !== undefined) {\n ClusterStatus.encode(message.cluster, writer.uint32(18).fork()).join();\n }\n if (message.bidEngine !== undefined) {\n BidEngineStatus.encode(message.bidEngine, writer.uint32(26).fork()).join();\n }\n if (message.manifest !== undefined) {\n ManifestStatus.encode(message.manifest, writer.uint32(34).fork()).join();\n }\n for (const v of message.publicHostnames) {\n writer.uint32(42).string(v!);\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(50).fork()).join();\n }\n if (message.reclamationWindow !== undefined) {\n Duration.encode(message.reclamationWindow, writer.uint32(58).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Status {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseStatus();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.errors.push(reader.string());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.cluster = ClusterStatus.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.bidEngine = BidEngineStatus.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.manifest = ManifestStatus.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.publicHostnames.push(reader.string());\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.reclamationWindow = Duration.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Status {\n return {\n errors: globalThis.Array.isArray(object?.errors) ? object.errors.map((e: any) => globalThis.String(e)) : [],\n cluster: isSet(object.cluster) ? ClusterStatus.fromJSON(object.cluster) : undefined,\n bidEngine: isSet(object.bid_engine) ? BidEngineStatus.fromJSON(object.bid_engine) : undefined,\n manifest: isSet(object.manifest) ? ManifestStatus.fromJSON(object.manifest) : undefined,\n publicHostnames: globalThis.Array.isArray(object?.public_hostnames)\n ? object.public_hostnames.map((e: any) => globalThis.String(e))\n : [],\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n reclamationWindow: isSet(object.reclamation_window) ? Duration.fromJSON(object.reclamation_window) : undefined,\n };\n },\n\n toJSON(message: Status): unknown {\n const obj: any = {};\n if (message.errors?.length) {\n obj.errors = message.errors;\n }\n if (message.cluster !== undefined) {\n obj.cluster = ClusterStatus.toJSON(message.cluster);\n }\n if (message.bidEngine !== undefined) {\n obj.bid_engine = BidEngineStatus.toJSON(message.bidEngine);\n }\n if (message.manifest !== undefined) {\n obj.manifest = ManifestStatus.toJSON(message.manifest);\n }\n if (message.publicHostnames?.length) {\n obj.public_hostnames = message.publicHostnames;\n }\n if (message.timestamp !== undefined) {\n obj.timestamp = message.timestamp.toISOString();\n }\n if (message.reclamationWindow !== undefined) {\n obj.reclamation_window = Duration.toJSON(message.reclamationWindow);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Status>): Status {\n const message = createBaseStatus();\n message.errors = object.errors?.map((e) => e) || [];\n message.cluster = (object.cluster !== undefined && object.cluster !== null)\n ? ClusterStatus.fromPartial(object.cluster)\n : undefined;\n message.bidEngine = (object.bidEngine !== undefined && object.bidEngine !== null)\n ? BidEngineStatus.fromPartial(object.bidEngine)\n : undefined;\n message.manifest = (object.manifest !== undefined && object.manifest !== null)\n ? ManifestStatus.fromPartial(object.manifest)\n : undefined;\n message.publicHostnames = object.publicHostnames?.map((e) => e) || [];\n message.timestamp = object.timestamp ?? undefined;\n message.reclamationWindow = (object.reclamationWindow !== undefined && object.reclamationWindow !== null)\n ? Duration.fromPartial(object.reclamationWindow)\n : undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_toTimestamp(date: Date): Timestamp {\n const seconds = numberToLong(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction _unused_fromTimestamp(t: Timestamp): Date {\n let millis = (t.seconds.toNumber() || 0) * 1_000;\n millis += (t.nanos || 0) / 1_000_000;\n return new globalThis.Date(millis);\n}\n\nfunction _unused_fromJsonTimestamp(o: any): Date {\n if (o instanceof globalThis.Date) {\n return o;\n } else if (typeof o === \"string\") {\n return new globalThis.Date(o);\n } else {\n return fromTimestamp(Timestamp.fromJSON(o));\n }\n}\n\nfunction _unused_numberToLong(number: number) {\n return Long.fromNumber(number);\n}\n\nfunction _unused_isObject(value: any): boolean {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: akash/provider/v1/validation.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { DecCoin } from \"../../../cosmos/base/v1beta1/coin.ts\";\nimport { GroupSpec } from \"../../deployment/v1beta4/groupspec.ts\";\nimport { ResourceOffer } from \"../../market/v1beta5/resourcesoffer.ts\";\n\n/**\n * BidScreeningRequest represents a request to screen a deployment group\n * specification for bid eligibility against the provider's capabilities.\n */\nexport interface BidScreeningRequest {\n /** GroupSpec is the deployment group specification to screen for bid eligibility. */\n groupSpec:\n | GroupSpec\n | undefined;\n /** Hostnames is the list of hostnames requested by the deployment. */\n hostnames: string[];\n}\n\n/**\n * BidScreeningResponse represents the result of screening a deployment group\n * specification for bid eligibility against the provider's capabilities.\n */\nexport interface BidScreeningResponse {\n /** Passed indicates whether the deployment group passed bid screening. */\n passed: boolean;\n /** Reasons contains explanations when screening fails. */\n reasons: string[];\n /** ResourceOffers contains the provider's resource offers for the screened group, one per service in the GroupSpec. */\n resourceOffers: ResourceOffer[];\n /** Price is the minimum bid price for the screened group. */\n price: DecCoin | undefined;\n}\n\nfunction createBaseBidScreeningRequest(): BidScreeningRequest {\n return { groupSpec: undefined, hostnames: [] };\n}\n\nexport const BidScreeningRequest: MessageFns<BidScreeningRequest, \"akash.provider.v1.BidScreeningRequest\"> = {\n $type: \"akash.provider.v1.BidScreeningRequest\" as const,\n\n encode(message: BidScreeningRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.groupSpec !== undefined) {\n GroupSpec.encode(message.groupSpec, writer.uint32(10).fork()).join();\n }\n for (const v of message.hostnames) {\n writer.uint32(18).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): BidScreeningRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBidScreeningRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.groupSpec = GroupSpec.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.hostnames.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): BidScreeningRequest {\n return {\n groupSpec: isSet(object.group_spec) ? GroupSpec.fromJSON(object.group_spec) : undefined,\n hostnames: globalThis.Array.isArray(object?.hostnames)\n ? object.hostnames.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: BidScreeningRequest): unknown {\n const obj: any = {};\n if (message.groupSpec !== undefined) {\n obj.group_spec = GroupSpec.toJSON(message.groupSpec);\n }\n if (message.hostnames?.length) {\n obj.hostnames = message.hostnames;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<BidScreeningRequest>): BidScreeningRequest {\n const message = createBaseBidScreeningRequest();\n message.groupSpec = (object.groupSpec !== undefined && object.groupSpec !== null)\n ? GroupSpec.fromPartial(object.groupSpec)\n : undefined;\n message.hostnames = object.hostnames?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseBidScreeningResponse(): BidScreeningResponse {\n return { passed: false, reasons: [], resourceOffers: [], price: undefined };\n}\n\nexport const BidScreeningResponse: MessageFns<BidScreeningResponse, \"akash.provider.v1.BidScreeningResponse\"> = {\n $type: \"akash.provider.v1.BidScreeningResponse\" as const,\n\n encode(message: BidScreeningResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.passed !== false) {\n writer.uint32(8).bool(message.passed);\n }\n for (const v of message.reasons) {\n writer.uint32(18).string(v!);\n }\n for (const v of message.resourceOffers) {\n ResourceOffer.encode(v!, writer.uint32(26).fork()).join();\n }\n if (message.price !== undefined) {\n DecCoin.encode(message.price, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): BidScreeningResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBidScreeningResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.passed = reader.bool();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.reasons.push(reader.string());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.resourceOffers.push(ResourceOffer.decode(reader, reader.uint32()));\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.price = DecCoin.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): BidScreeningResponse {\n return {\n passed: isSet(object.passed) ? globalThis.Boolean(object.passed) : false,\n reasons: globalThis.Array.isArray(object?.reasons) ? object.reasons.map((e: any) => globalThis.String(e)) : [],\n resourceOffers: globalThis.Array.isArray(object?.resource_offers)\n ? object.resource_offers.map((e: any) => ResourceOffer.fromJSON(e))\n : [],\n price: isSet(object.price) ? DecCoin.fromJSON(object.price) : undefined,\n };\n },\n\n toJSON(message: BidScreeningResponse): unknown {\n const obj: any = {};\n if (message.passed !== false) {\n obj.passed = message.passed;\n }\n if (message.reasons?.length) {\n obj.reasons = message.reasons;\n }\n if (message.resourceOffers?.length) {\n obj.resource_offers = message.resourceOffers.map((e) => ResourceOffer.toJSON(e));\n }\n if (message.price !== undefined) {\n obj.price = DecCoin.toJSON(message.price);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<BidScreeningResponse>): BidScreeningResponse {\n const message = createBaseBidScreeningResponse();\n message.passed = object.passed ?? false;\n message.reasons = object.reasons?.map((e) => e) || [];\n message.resourceOffers = object.resourceOffers?.map((e) => ResourceOffer.fromPartial(e)) || [];\n message.price = (object.price !== undefined && object.price !== null)\n ? DecCoin.fromPartial(object.price)\n : undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["BinaryReader", "BinaryWriter", "BinaryWriter", "BinaryReader"]
|
|
7
|
+
}
|
|
@@ -22,10 +22,16 @@ import {
|
|
|
22
22
|
Resources,
|
|
23
23
|
Storage
|
|
24
24
|
} from "./chunk-L6TIQSD3.js";
|
|
25
|
+
import {
|
|
26
|
+
DeploymentReclamation
|
|
27
|
+
} from "./chunk-6GGMFH42.js";
|
|
25
28
|
import {
|
|
26
29
|
PlacementRequirements,
|
|
27
30
|
SignedBy
|
|
28
31
|
} from "./chunk-RRAUGNCU.js";
|
|
32
|
+
import {
|
|
33
|
+
Duration
|
|
34
|
+
} from "./chunk-IN3L4YRD.js";
|
|
29
35
|
import {
|
|
30
36
|
__privateAdd,
|
|
31
37
|
__privateGet,
|
|
@@ -64,7 +70,7 @@ var require_ucs2length = __commonJS({
|
|
|
64
70
|
}
|
|
65
71
|
});
|
|
66
72
|
var validate = validate27;
|
|
67
|
-
var schema28 = { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "description": "Schema for Akash Stack Definition Language (SDL) YAML input files.\n\nNote: This schema validates structure only. Semantic validations (cross-references,\nunused endpoints, profile references, etc.) are performed at runtime by the Go parser.\nSee README.md for details.\n", "definitions": { "stringArrayOrNull": { "description": "String array or null value (used for command args and env vars)", "oneOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }] }, "portNumber": { "description": "Valid TCP/UDP port number (1-65535)", "type": "integer", "minimum": 1, "maximum": 65535 }, "httpErrorCode": { "description": "HTTP error codes for proxy retry logic", "enum": ["error", "timeout", "500", "502", "503", "504", "403", "404", "429", "off"], "type": "string" }, "priceCoin": { "description": "Price definition with amount and denomination", "additionalProperties": false, "properties": { "amount": { "oneOf": [{ "type": "string", "pattern": "^[0-9]+(\\.[0-9]+)?$", "description": "Positive number as string" }, { "type": "number", "minimum": 0, "description": "Positive number" }] }, "denom": { "enum": ["uakt", "uact"], "type": "string" } }, "required": ["denom", "amount"], "type": "object" }, "storageRamClassMustNotBePersistent": { "description": "RAM storage class must not have persistent=true", "not": { "properties": { "class": { "const": "ram" }, "persistent": { "oneOf": [{ "const": true }, { "const": "true" }] } }, "required": ["class", "persistent"] } }, "storageNonRamClassRequiresPersistent": { "description": "Non-RAM storage classes (beta1, beta2, beta3, default) require persistent=true", "if": { "properties": { "class": { "enum": ["beta1", "beta2", "beta3", "default"] } }, "required": ["class"] }, "then": { "properties": { "persistent": { "oneOf": [{ "const": true }, { "const": "true" }] } }, "required": ["persistent"] } }, "storageAttributesValidation": { "description": "Storage attributes validation:\n1. RAM class must not be persistent\n2. Non-RAM classes (beta1, beta2, beta3, default) require persistent=true\n", "additionalProperties": false, "properties": { "class": { "type": "string" }, "persistent": { "oneOf": [{ "type": "boolean" }, { "type": "string" }] } }, "allOf": [{ "$ref": "#/definitions/storageRamClassMustNotBePersistent" }, { "$ref": "#/definitions/storageNonRamClassRequiresPersistent" }], "required": ["class", "persistent"], "type": "object" }, "storageVolume": { "description": "Storage volume definition with size and optional attributes", "additionalProperties": false, "properties": { "attributes": { "$ref": "#/definitions/storageAttributesValidation" }, "name": { "type": "string" }, "size": { "type": "string" } }, "required": ["size"], "type": "object" }, "absolutePath": { "description": "Absolute filesystem path starting with /", "type": "string", "minLength": 1, "pattern": "^/" }, "gpuUnitsGt0RequiresAttributes": { "description": "GPU units > 0 requires attributes to be present", "if": { "properties": { "units": { "oneOf": [{ "type": "number", "exclusiveMinimum": 0 }, { "type": "string", "not": { "pattern": "^0+(\\.0+)?$" } }] } }, "required": ["units"] }, "then": { "required": ["attributes"] } }, "gpuAttributesRequireUnitsGt0": { "description": "GPU attributes present requires units > 0", "if": { "required": ["attributes"] }, "then": { "properties": { "units": { "oneOf": [{ "type": "number", "exclusiveMinimum": 0 }, { "type": "string", "not": { "pattern": "^0+(\\.0+)?$" } }] } }, "required": ["units"] } }, "exposeToWithIpEnforcesGlobal": { "description": "Expose to with IP enforces global", "if": { "properties": { "ip": { "type": "string", "minLength": 1 } }, "required": ["ip"] }, "then": { "properties": { "global": { "const": true } }, "required": ["global"] } } }, "properties": { "deployment": { "additionalProperties": { "additionalProperties": { "additionalProperties": false, "properties": { "count": { "minimum": 1, "type": "integer" }, "profile": { "type": "string" } }, "required": ["profile", "count"], "type": "object" }, "type": "object" }, "type": "object" }, "endpoints": { "additionalProperties": false, "patternProperties": { "^[a-z]+[-_0-9a-z]+$": { "additionalProperties": false, "properties": { "kind": { "enum": ["ip"], "type": "string" } }, "required": ["kind"], "type": "object" } }, "type": "object" }, "include": { "description": "Optional list of files to include", "items": { "type": "string" }, "type": "array" }, "profiles": { "additionalProperties": false, "properties": { "compute": { "additionalProperties": { "additionalProperties": false, "properties": { "resources": { "additionalProperties": false, "properties": { "cpu": { "additionalProperties": false, "properties": { "attributes": { "type": "object" }, "units": { "oneOf": [{ "type": "string", "pattern": "^[0-9]+(\\.[0-9]+)?[a-zA-Z]*$", "not": { "pattern": "^0+(\\.0+)?m?$" } }, { "type": "number", "exclusiveMinimum": 0 }] } }, "required": ["units"], "type": "object" }, "gpu": { "description": "GPU resource specification.\n- units defaults to 0 if omitted\n- Bidirectional validation: units > 0 requires attributes, and attributes require units > 0\n", "additionalProperties": false, "properties": { "attributes": { "additionalProperties": false, "properties": { "vendor": { "additionalProperties": false, "minProperties": 1, "properties": { "nvidia": { "oneOf": [{ "type": "array", "items": { "additionalProperties": false, "properties": { "interface": { "enum": ["pcie", "sxm"], "type": "string" }, "model": { "type": "string" }, "ram": { "type": "string" } }, "type": "object" } }, { "type": "null" }] } }, "type": "object" } }, "type": "object" }, "units": { "oneOf": [{ "type": "string" }, { "type": "number" }] } }, "allOf": [{ "$ref": "#/definitions/gpuUnitsGt0RequiresAttributes" }, { "$ref": "#/definitions/gpuAttributesRequireUnitsGt0" }], "type": "object" }, "memory": { "additionalProperties": false, "properties": { "size": { "type": "string" } }, "required": ["size"], "type": "object" }, "storage": { "oneOf": [{ "$ref": "#/definitions/storageVolume" }, { "items": { "$ref": "#/definitions/storageVolume" }, "type": "array" }] } }, "required": ["cpu", "memory", "storage"], "type": "object" } }, "required": ["resources"], "type": "object" }, "type": "object" }, "placement": { "additionalProperties": { "additionalProperties": false, "properties": { "attributes": { "type": "object" }, "pricing": { "additionalProperties": { "$ref": "#/definitions/priceCoin" }, "type": "object" }, "signedBy": { "additionalProperties": false, "properties": { "allOf": { "items": { "type": "string" }, "type": "array" }, "anyOf": { "items": { "type": "string" }, "type": "array" } }, "type": "object" } }, "required": ["pricing"], "type": "object" }, "type": "object" } }, "required": ["compute", "placement"], "type": "object" }, "services": { "additionalProperties": { "properties": { "args": { "$ref": "#/definitions/stringArrayOrNull" }, "command": { "$ref": "#/definitions/stringArrayOrNull" }, "credentials": { "additionalProperties": false, "properties": { "email": { "type": "string", "minLength": 5 }, "host": { "type": "string", "minLength": 1 }, "password": { "type": "string", "minLength": 6 }, "username": { "type": "string", "minLength": 1 } }, "required": ["host", "username", "password"], "type": "object" }, "dependencies": { "items": { "additionalProperties": false, "properties": { "service": { "type": "string" } }, "type": "object" }, "type": "array" }, "env": { "$ref": "#/definitions/stringArrayOrNull" }, "expose": { "oneOf": [{ "type": "array", "items": { "additionalProperties": false, "properties": { "accept": { "items": { "type": "string" }, "type": "array" }, "as": { "$ref": "#/definitions/portNumber" }, "http_options": { "additionalProperties": false, "properties": { "max_body_size": { "type": "integer", "minimum": 0, "maximum": 104857600, "description": "Maximum body size in bytes (max 100 MB)" }, "next_cases": { "oneOf": [{ "type": "array", "items": { "$ref": "#/definitions/httpErrorCode" }, "contains": { "const": "off" }, "maxItems": 1, "minItems": 1 }, { "type": "array", "items": { "$ref": "#/definitions/httpErrorCode" }, "not": { "contains": { "const": "off" } } }] }, "next_timeout": { "type": "integer", "minimum": 0 }, "next_tries": { "type": "integer", "minimum": 0 }, "read_timeout": { "type": "integer", "minimum": 0, "maximum": 6e4, "description": "Read timeout in milliseconds (max 60 seconds)" }, "send_timeout": { "type": "integer", "minimum": 0, "maximum": 6e4, "description": "Send timeout in milliseconds (max 60 seconds)" } }, "type": "object" }, "port": { "$ref": "#/definitions/portNumber" }, "proto": { "enum": ["TCP", "UDP", "tcp", "udp"], "type": "string" }, "to": { "items": { "additionalProperties": false, "properties": { "global": { "type": "boolean" }, "ip": { "minLength": 1, "type": "string" }, "service": { "type": "string" } }, "allOf": [{ "$ref": "#/definitions/exposeToWithIpEnforcesGlobal" }], "type": "object" }, "type": "array" } }, "required": ["port"], "type": "object" } }, { "type": "null" }] }, "image": { "type": "string", "minLength": 1 }, "params": { "additionalProperties": false, "properties": { "storage": { "additionalProperties": { "additionalProperties": false, "properties": { "mount": { "$ref": "#/definitions/absolutePath" }, "readOnly": { "type": "boolean" } }, "type": "object" }, "type": "object" }, "permissions": { "additionalProperties": false, "properties": { "read": { "items": { "type": "string", "enum": ["deployment", "logs", "events"] }, "type": "array" } }, "type": "object" } }, "type": "object" } }, "required": ["image"], "type": "object", "additionalProperties": false }, "type": "object" }, "reclamation": { "description": "Deployment-level reclamation requirements (optional). When set, providers must offer a reclamation window meeting or exceeding the specified minimum to bid on this deployment.", "additionalProperties": false, "properties": { "min_window": { "type": "string", "description": 'Minimum reclamation window duration the tenant requires. Go duration format (e.g. "1h", "24h", "720h").', "minLength": 1 } }, "required": ["min_window"], "type": "object" }, "version": { "description": "SDL version", "enum": ["2.0", "2.1"], "type": "string" } }, "required": ["version", "services", "profiles", "deployment"], "title": "Akash SDL Input Schema", "type": "object" };
|
|
73
|
+
var schema28 = { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "description": "Schema for Akash Stack Definition Language (SDL) YAML input files.\n\nNote: This schema validates structure only. Semantic validations (cross-references,\nunused endpoints, profile references, etc.) are performed at runtime by the Go parser.\nSee README.md for details.\n", "definitions": { "stringArrayOrNull": { "description": "String array or null value (used for command args and env vars)", "oneOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }] }, "portNumber": { "description": "Valid TCP/UDP port number (1-65535)", "type": "integer", "minimum": 1, "maximum": 65535 }, "httpErrorCode": { "description": "HTTP error codes for proxy retry logic", "enum": ["error", "timeout", "500", "502", "503", "504", "403", "404", "429", "off"], "type": "string" }, "priceCoin": { "description": "Price definition with amount and denomination", "additionalProperties": false, "properties": { "amount": { "oneOf": [{ "type": "string", "pattern": "^[0-9]+(\\.[0-9]+)?$", "description": "Positive number as string" }, { "type": "number", "minimum": 0, "description": "Positive number" }] }, "denom": { "enum": ["uakt", "uact"], "type": "string" } }, "required": ["denom", "amount"], "type": "object" }, "storageRamClassMustNotBePersistent": { "description": "RAM storage class must not have persistent=true", "not": { "properties": { "class": { "const": "ram" }, "persistent": { "oneOf": [{ "const": true }, { "const": "true" }] } }, "required": ["class", "persistent"] } }, "storageNonRamClassRequiresPersistent": { "description": "Non-RAM storage classes (beta1, beta2, beta3, default) require persistent=true", "if": { "properties": { "class": { "enum": ["beta1", "beta2", "beta3", "default"] } }, "required": ["class"] }, "then": { "properties": { "persistent": { "oneOf": [{ "const": true }, { "const": "true" }] } }, "required": ["persistent"] } }, "storageAttributesValidation": { "description": "Storage attributes validation:\n1. RAM class must not be persistent\n2. Non-RAM classes (beta1, beta2, beta3, default) require persistent=true\n", "additionalProperties": false, "properties": { "class": { "type": "string" }, "persistent": { "oneOf": [{ "type": "boolean" }, { "type": "string" }] } }, "allOf": [{ "$ref": "#/definitions/storageRamClassMustNotBePersistent" }, { "$ref": "#/definitions/storageNonRamClassRequiresPersistent" }], "required": ["class", "persistent"], "type": "object" }, "storageVolume": { "description": "Storage volume definition with size and optional attributes", "additionalProperties": false, "properties": { "attributes": { "$ref": "#/definitions/storageAttributesValidation" }, "name": { "type": "string" }, "size": { "type": "string" } }, "required": ["size"], "type": "object" }, "absolutePath": { "description": "Absolute filesystem path starting with /", "type": "string", "minLength": 1, "pattern": "^/" }, "gpuUnitsGt0RequiresAttributes": { "description": "GPU units > 0 requires attributes to be present", "if": { "properties": { "units": { "oneOf": [{ "type": "number", "exclusiveMinimum": 0 }, { "type": "string", "not": { "pattern": "^0+(\\.0+)?$" } }] } }, "required": ["units"] }, "then": { "required": ["attributes"] } }, "gpuAttributesRequireUnitsGt0": { "description": "GPU attributes present requires units > 0", "if": { "required": ["attributes"] }, "then": { "properties": { "units": { "oneOf": [{ "type": "number", "exclusiveMinimum": 0 }, { "type": "string", "not": { "pattern": "^0+(\\.0+)?$" } }] } }, "required": ["units"] } }, "exposeToWithIpEnforcesGlobal": { "description": "Expose to with IP enforces global", "if": { "properties": { "ip": { "type": "string", "minLength": 1 } }, "required": ["ip"] }, "then": { "properties": { "global": { "const": true } }, "required": ["global"] } } }, "properties": { "deployment": { "additionalProperties": { "additionalProperties": { "additionalProperties": false, "properties": { "count": { "minimum": 1, "type": "integer" }, "profile": { "type": "string" } }, "required": ["profile", "count"], "type": "object" }, "type": "object" }, "type": "object" }, "endpoints": { "additionalProperties": false, "patternProperties": { "^[a-z]+[-_0-9a-z]+$": { "additionalProperties": false, "properties": { "kind": { "enum": ["ip"], "type": "string" } }, "required": ["kind"], "type": "object" } }, "type": "object" }, "include": { "description": "Optional list of files to include", "items": { "type": "string" }, "type": "array" }, "profiles": { "additionalProperties": false, "properties": { "compute": { "additionalProperties": { "additionalProperties": false, "properties": { "resources": { "additionalProperties": false, "properties": { "cpu": { "additionalProperties": false, "properties": { "attributes": { "type": "object" }, "units": { "oneOf": [{ "type": "string", "pattern": "^[0-9]+(\\.[0-9]+)?[a-zA-Z]*$", "not": { "pattern": "^0+(\\.0+)?m?$" } }, { "type": "number", "exclusiveMinimum": 0 }] } }, "required": ["units"], "type": "object" }, "gpu": { "description": "GPU resource specification.\n- units defaults to 0 if omitted\n- Bidirectional validation: units > 0 requires attributes, and attributes require units > 0\n", "additionalProperties": false, "properties": { "attributes": { "additionalProperties": false, "properties": { "vendor": { "additionalProperties": false, "minProperties": 1, "properties": { "nvidia": { "oneOf": [{ "type": "array", "items": { "additionalProperties": false, "properties": { "interface": { "enum": ["pcie", "sxm"], "type": "string" }, "model": { "type": "string" }, "ram": { "type": "string" } }, "type": "object" } }, { "type": "null" }] } }, "type": "object" } }, "type": "object" }, "units": { "oneOf": [{ "type": "string" }, { "type": "number" }] } }, "allOf": [{ "$ref": "#/definitions/gpuUnitsGt0RequiresAttributes" }, { "$ref": "#/definitions/gpuAttributesRequireUnitsGt0" }], "type": "object" }, "memory": { "additionalProperties": false, "properties": { "size": { "type": "string" } }, "required": ["size"], "type": "object" }, "storage": { "oneOf": [{ "$ref": "#/definitions/storageVolume" }, { "items": { "$ref": "#/definitions/storageVolume" }, "type": "array" }] } }, "required": ["cpu", "memory", "storage"], "type": "object" } }, "required": ["resources"], "type": "object" }, "type": "object" }, "placement": { "additionalProperties": { "additionalProperties": false, "properties": { "attributes": { "type": "object" }, "pricing": { "additionalProperties": { "$ref": "#/definitions/priceCoin" }, "type": "object" }, "signedBy": { "additionalProperties": false, "properties": { "allOf": { "items": { "type": "string" }, "type": "array" }, "anyOf": { "items": { "type": "string" }, "type": "array" } }, "type": "object" } }, "required": ["pricing"], "type": "object" }, "type": "object" } }, "required": ["compute", "placement"], "type": "object" }, "services": { "additionalProperties": { "properties": { "args": { "$ref": "#/definitions/stringArrayOrNull" }, "command": { "$ref": "#/definitions/stringArrayOrNull" }, "credentials": { "additionalProperties": false, "properties": { "email": { "type": "string", "minLength": 5 }, "host": { "type": "string", "minLength": 1 }, "password": { "type": "string", "minLength": 6 }, "username": { "type": "string", "minLength": 1 } }, "required": ["host", "username", "password"], "type": "object" }, "dependencies": { "items": { "additionalProperties": false, "properties": { "service": { "type": "string" } }, "type": "object" }, "type": "array" }, "env": { "$ref": "#/definitions/stringArrayOrNull" }, "expose": { "oneOf": [{ "type": "array", "items": { "additionalProperties": false, "properties": { "accept": { "items": { "type": "string" }, "type": "array" }, "as": { "$ref": "#/definitions/portNumber" }, "http_options": { "additionalProperties": false, "properties": { "max_body_size": { "type": "integer", "minimum": 0, "maximum": 104857600, "description": "Maximum body size in bytes (max 100 MB)" }, "next_cases": { "oneOf": [{ "type": "array", "items": { "$ref": "#/definitions/httpErrorCode" }, "contains": { "const": "off" }, "maxItems": 1, "minItems": 1 }, { "type": "array", "items": { "$ref": "#/definitions/httpErrorCode" }, "not": { "contains": { "const": "off" } } }] }, "next_timeout": { "type": "integer", "minimum": 0 }, "next_tries": { "type": "integer", "minimum": 0 }, "read_timeout": { "type": "integer", "minimum": 0, "maximum": 6e4, "description": "Read timeout in milliseconds (max 60 seconds)" }, "send_timeout": { "type": "integer", "minimum": 0, "maximum": 6e4, "description": "Send timeout in milliseconds (max 60 seconds)" } }, "type": "object" }, "port": { "$ref": "#/definitions/portNumber" }, "proto": { "enum": ["TCP", "UDP", "tcp", "udp"], "type": "string" }, "to": { "items": { "additionalProperties": false, "properties": { "global": { "type": "boolean" }, "ip": { "minLength": 1, "type": "string" }, "service": { "type": "string" } }, "allOf": [{ "$ref": "#/definitions/exposeToWithIpEnforcesGlobal" }], "type": "object" }, "type": "array" } }, "required": ["port"], "type": "object" } }, { "type": "null" }] }, "image": { "type": "string", "minLength": 1 }, "params": { "additionalProperties": false, "properties": { "storage": { "additionalProperties": { "additionalProperties": false, "properties": { "mount": { "$ref": "#/definitions/absolutePath" }, "readOnly": { "type": "boolean" } }, "type": "object" }, "type": "object" }, "permissions": { "additionalProperties": false, "properties": { "read": { "items": { "type": "string", "enum": ["deployment", "logs", "events"] }, "type": "array" } }, "type": "object" } }, "type": "object" } }, "required": ["image"], "type": "object", "additionalProperties": false }, "type": "object" }, "reclamation": { "description": "Deployment-level reclamation requirements (optional). When set, providers must offer a reclamation window meeting or exceeding the specified minimum to bid on this deployment.", "additionalProperties": false, "properties": { "min_window": { "type": "string", "pattern": "^[1-9][0-9]*(s|m|h)$", "description": 'Minimum reclamation window the tenant requires, as a whole number followed by a unit (s, m, or h). E.g. "1h", "24h", "720h".' } }, "required": ["min_window"], "type": "object" }, "version": { "description": "SDL version", "enum": ["2.0", "2.1"], "type": "string" } }, "required": ["version", "services", "profiles", "deployment"], "title": "Akash SDL Input Schema", "type": "object" };
|
|
68
74
|
var schema35 = { "description": "Price definition with amount and denomination", "additionalProperties": false, "properties": { "amount": { "oneOf": [{ "type": "string", "pattern": "^[0-9]+(\\.[0-9]+)?$", "description": "Positive number as string" }, { "type": "number", "minimum": 0, "description": "Positive number" }] }, "denom": { "enum": ["uakt", "uact"], "type": "string" } }, "required": ["denom", "amount"], "type": "object" };
|
|
69
75
|
var schema40 = { "description": "HTTP error codes for proxy retry logic", "enum": ["error", "timeout", "500", "502", "503", "504", "403", "404", "429", "off"], "type": "string" };
|
|
70
76
|
var pattern4 = new RegExp("^[a-z]+[-_0-9a-z]+$", "u");
|
|
@@ -73,6 +79,7 @@ var pattern7 = new RegExp("^[0-9]+(\\.[0-9]+)?[a-zA-Z]*$", "u");
|
|
|
73
79
|
var pattern8 = new RegExp("^0+(\\.0+)?$", "u");
|
|
74
80
|
var pattern10 = new RegExp("^[0-9]+(\\.[0-9]+)?$", "u");
|
|
75
81
|
var pattern11 = new RegExp("^/", "u");
|
|
82
|
+
var pattern12 = new RegExp("^[1-9][0-9]*(s|m|h)$", "u");
|
|
76
83
|
function validate29(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
|
|
77
84
|
let vErrors = null;
|
|
78
85
|
let errors = 0;
|
|
@@ -3421,8 +3428,8 @@ function validate27(data, { instancePath = "", parentData, parentDataProperty, r
|
|
|
3421
3428
|
if (data94.min_window !== void 0) {
|
|
3422
3429
|
let data95 = data94.min_window;
|
|
3423
3430
|
if (typeof data95 === "string") {
|
|
3424
|
-
if (
|
|
3425
|
-
const err222 = { instancePath: instancePath + "/reclamation/min_window", schemaPath: "#/properties/reclamation/properties/min_window/
|
|
3431
|
+
if (!pattern12.test(data95)) {
|
|
3432
|
+
const err222 = { instancePath: instancePath + "/reclamation/min_window", schemaPath: "#/properties/reclamation/properties/min_window/pattern", keyword: "pattern", params: { pattern: "^[1-9][0-9]*(s|m|h)$" }, message: 'must match pattern "^[1-9][0-9]*(s|m|h)$"' };
|
|
3426
3433
|
if (vErrors === null) {
|
|
3427
3434
|
vErrors = [err222];
|
|
3428
3435
|
} else {
|
|
@@ -3612,6 +3619,12 @@ var ERROR_MESSAGES = {
|
|
|
3612
3619
|
},
|
|
3613
3620
|
"#/definitions/exposeToWithIpEnforcesGlobal"() {
|
|
3614
3621
|
return `If an IP is declared, the directive must be declared as global.`;
|
|
3622
|
+
},
|
|
3623
|
+
// Mirrors the shared schema's `min_window` pattern (`^[1-9][0-9]*(s|m|h)$`).
|
|
3624
|
+
// Go stays the lenient layer (`go/sdl/reclamation.go` accepts any `> 0`
|
|
3625
|
+
// `time.ParseDuration`), so this is a sanctioned schema-only-stricter rule.
|
|
3626
|
+
"#/properties/reclamation/properties/min_window/pattern"() {
|
|
3627
|
+
return `Reclamation min_window must be a whole number followed by s, m, or h (e.g. "24h", "30m").`;
|
|
3615
3628
|
}
|
|
3616
3629
|
};
|
|
3617
3630
|
function validateSDL(sdl) {
|
|
@@ -4042,6 +4055,17 @@ function buildResourceAttributes(attributes) {
|
|
|
4042
4055
|
return Object.keys(attributes).sort((a, b) => a.localeCompare(b)).map((key) => ({ key, value: String(attributes[key]) }));
|
|
4043
4056
|
}
|
|
4044
4057
|
|
|
4058
|
+
// src/sdl/manifest/reclamationDuration.ts
|
|
4059
|
+
var UNIT_SECONDS = { s: 1n, m: 60n, h: 3600n };
|
|
4060
|
+
function minWindowToDuration(value) {
|
|
4061
|
+
const unitSeconds = UNIT_SECONDS[value.at(-1) ?? ""];
|
|
4062
|
+
const amount = Number(value.slice(0, -1));
|
|
4063
|
+
if (unitSeconds === void 0 || !Number.isInteger(amount) || amount <= 0) {
|
|
4064
|
+
throw new Error(`invalid reclamation min_window "${value}"`);
|
|
4065
|
+
}
|
|
4066
|
+
return Duration.fromPartial({ seconds: (BigInt(amount) * unitSeconds).toString(), nanos: 0 });
|
|
4067
|
+
}
|
|
4068
|
+
|
|
4045
4069
|
// src/sdl/manifest/generateManifest.ts
|
|
4046
4070
|
function generateManifest(sdl) {
|
|
4047
4071
|
const errors = validateSDL(sdl);
|
|
@@ -4126,7 +4150,20 @@ function generateManifest(sdl) {
|
|
|
4126
4150
|
const sortedGroupNames = [...groupsMap.keys()].sort();
|
|
4127
4151
|
let groups;
|
|
4128
4152
|
let groupSpecs;
|
|
4153
|
+
let reclamation;
|
|
4129
4154
|
const manifest = {
|
|
4155
|
+
// reclamation is a `MsgCreateDeployment` field, not a manifest group, and is
|
|
4156
|
+
// not needed in every call — so it's lazy like `groups`/`groupSpecs`.
|
|
4157
|
+
// `validateSDL` (run above) already guaranteed `min_window` is valid, so
|
|
4158
|
+
// `minWindowToDuration` never throws here.
|
|
4159
|
+
get reclamation() {
|
|
4160
|
+
if (sdl.reclamation && !reclamation) {
|
|
4161
|
+
reclamation = DeploymentReclamation.fromPartial({
|
|
4162
|
+
minWindow: minWindowToDuration(sdl.reclamation.min_window)
|
|
4163
|
+
});
|
|
4164
|
+
}
|
|
4165
|
+
return reclamation;
|
|
4166
|
+
},
|
|
4130
4167
|
get groups() {
|
|
4131
4168
|
groups ?? (groups = sortedGroupNames.map((placementName) => {
|
|
4132
4169
|
const deployments = deploymentsByPlacement.get(placementName);
|
|
@@ -4590,10 +4627,10 @@ var require_ucs2length2 = __commonJS2({
|
|
|
4590
4627
|
}
|
|
4591
4628
|
});
|
|
4592
4629
|
var validate2 = validate10;
|
|
4593
|
-
var schema11 = { "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/akash-network/chain-sdk/refs/heads/main/specs/jwt-schema.json", "title": "Akash JWT Schema", "description": "JSON Schema for JWT used in the Akash Provider API.", "type": "object", "additionalProperties": false, "required": ["iss", "iat", "exp", "nbf", "version", "leases"], "properties": { "iss": { "$ref": "#/definitions/akash-address", "description": "Akash address of the lease(s) owner, e.g., akash1abcd... (44 characters)" }, "iat": { "type": "integer", "minimum": 0, "description": "Token issuance timestamp as Unix time (seconds since 1970-01-01T00:00:00Z). Should be <= exp and >= nbf." }, "nbf": { "type": "integer", "minimum": 0, "description": "Not valid before timestamp as Unix time (seconds since 1970-01-01T00:00:00Z). Should be <= iat." }, "exp": { "type": "integer", "minimum": 0, "description": "Expiration timestamp as Unix time (seconds since 1970-01-01T00:00:00Z). Should be >= iat." }, "jti": { "type": "string", "minLength": 1, "description": "Unique identifier for the JWT, used to prevent token reuse." }, "version": { "type": "string", "enum": ["v1"], "description": "Version of the JWT specification (currently fixed at v1)." }, "leases": { "$ref": "#/definitions/leases" } }, "definitions": { "akash-address": { "type": "string", "pattern": "^akash1[a-z0-9]{38}$" }, "action-scope": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "enum": ["send-manifest", "get-manifest", "logs", "shell", "events", "status", "restart", "hostname-migrate", "ip-migrate"] } }, "leases": { "type": "object", "description": "Access level for the lease: 'full' for unrestricted access to all actions, 'scoped' for specific actions across all provider leases, 'granular' for provider-specific permissions.", "oneOf": [{ "$ref": "#/definitions/leases-full" }, { "$ref": "#/definitions/leases-scoped" }, { "$ref": "#/definitions/leases-granular" }] }, "leases-full": { "type": "object", "additionalProperties": false, "required": ["access"], "properties": { "access": { "const": "full", "description": "Unrestricted access to all actions on all leases." } } }, "leases-scoped": { "type": "object", "additionalProperties": false, "required": ["access", "scope"], "properties": { "access": { "const": "scoped", "description": "Specific actions across all provider leases." }, "scope": { "$ref": "#/definitions/action-scope", "description": "Global list of permitted actions across all owned leases (no duplicates)." } } }, "leases-granular": { "type": "object", "additionalProperties": false, "required": ["access", "permissions"], "properties": { "access": { "const": "granular", "description": "Provider-specific permissions." }, "permissions": { "type": "array", "description": "Defines provider-specific permissions. The provider address must be unique across all permissions entries.", "minItems": 1, "items": { "$ref": "#/definitions/lease-permission" } } } }, "lease-permission": { "type": "object", "description": "Provider-level access: 'full' for all actions, 'scoped' for specific actions across all provider leases, 'granular' for deployment-specific actions.", "oneOf": [{ "$ref": "#/definitions/lease-permission-full" }, { "$ref": "#/definitions/lease-permission-scoped" }, { "$ref": "#/definitions/lease-permission-granular" }] }, "lease-permission-full": { "type": "object", "additionalProperties": false, "required": ["provider", "access"], "properties": { "provider": { "$ref": "#/definitions/akash-address", "description": "Provider address, e.g., akash1xyz... (44 characters)." }, "access": { "const": "full", "description": "Full access to all actions on this provider's leases." } } }, "lease-permission-scoped": { "type": "object", "additionalProperties": false, "required": ["provider", "access", "scope"], "properties": { "provider": { "$ref": "#/definitions/akash-address", "description": "Provider address, e.g., akash1xyz... (44 characters)." }, "access": { "const": "scoped", "description": "Specific actions across all this provider's leases." }, "scope": { "$ref": "#/definitions/action-scope", "description": "Provider-level list of permitted actions (no duplicates)." } } }, "lease-permission-granular": { "type": "object", "additionalProperties": false, "required": ["provider", "access", "deployments"], "properties": { "provider": { "$ref": "#/definitions/akash-address", "description": "Provider address, e.g., akash1xyz... (44 characters)." }, "access": { "const": "granular", "description": "Deployment-specific actions." }, "deployments": { "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/lease-permission-deployment" } } } }, "lease-permission-deployment": { "type": "object", "additionalProperties": false, "required": ["dseq", "scope", "services"], "properties": { "dseq": { "type": "integer", "minimum": 1, "description": "Deployment sequence number." }, "scope": { "$ref": "#/definitions/action-scope", "description": "Deployment-level list of permitted actions (no duplicates)." }, "gseq": { "type": "integer", "minimum": 0, "description": "Group sequence number (requires dseq)." }, "oseq": { "type": "integer", "minimum": 0, "description": "Order sequence number (requires dseq and gseq)." }, "services": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 }, "description": "List of service names (requires dseq)." } }, "dependencies": { "oseq": ["gseq"] } } } };
|
|
4630
|
+
var schema11 = { "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/akash-network/chain-sdk/refs/heads/main/specs/jwt-schema.json", "title": "Akash JWT Schema", "description": "JSON Schema for JWT used in the Akash Provider API.", "type": "object", "additionalProperties": false, "required": ["iss", "iat", "exp", "nbf", "version", "leases"], "properties": { "iss": { "$ref": "#/definitions/akash-address", "description": "Akash address of the lease(s) owner, e.g., akash1abcd... (44 characters)" }, "iat": { "type": "integer", "minimum": 0, "description": "Token issuance timestamp as Unix time (seconds since 1970-01-01T00:00:00Z). Should be <= exp and >= nbf." }, "nbf": { "type": "integer", "minimum": 0, "description": "Not valid before timestamp as Unix time (seconds since 1970-01-01T00:00:00Z). Should be <= iat." }, "exp": { "type": "integer", "minimum": 0, "description": "Expiration timestamp as Unix time (seconds since 1970-01-01T00:00:00Z). Should be >= iat." }, "jti": { "type": "string", "minLength": 1, "description": "Unique identifier for the JWT, used to prevent token reuse." }, "version": { "type": "string", "enum": ["v1"], "description": "Version of the JWT specification (currently fixed at v1)." }, "leases": { "$ref": "#/definitions/leases" } }, "definitions": { "akash-address": { "type": "string", "pattern": "^akash1[a-z0-9]{38}$" }, "action-scope": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "enum": ["send-manifest", "get-manifest", "logs", "shell", "events", "status", "restart", "hostname-migrate", "ip-migrate", "attestation"] } }, "leases": { "type": "object", "description": "Access level for the lease: 'full' for unrestricted access to all actions, 'scoped' for specific actions across all provider leases, 'granular' for provider-specific permissions.", "oneOf": [{ "$ref": "#/definitions/leases-full" }, { "$ref": "#/definitions/leases-scoped" }, { "$ref": "#/definitions/leases-granular" }] }, "leases-full": { "type": "object", "additionalProperties": false, "required": ["access"], "properties": { "access": { "const": "full", "description": "Unrestricted access to all actions on all leases." } } }, "leases-scoped": { "type": "object", "additionalProperties": false, "required": ["access", "scope"], "properties": { "access": { "const": "scoped", "description": "Specific actions across all provider leases." }, "scope": { "$ref": "#/definitions/action-scope", "description": "Global list of permitted actions across all owned leases (no duplicates)." } } }, "leases-granular": { "type": "object", "additionalProperties": false, "required": ["access", "permissions"], "properties": { "access": { "const": "granular", "description": "Provider-specific permissions." }, "permissions": { "type": "array", "description": "Defines provider-specific permissions. The provider address must be unique across all permissions entries.", "minItems": 1, "items": { "$ref": "#/definitions/lease-permission" } } } }, "lease-permission": { "type": "object", "description": "Provider-level access: 'full' for all actions, 'scoped' for specific actions across all provider leases, 'granular' for deployment-specific actions.", "oneOf": [{ "$ref": "#/definitions/lease-permission-full" }, { "$ref": "#/definitions/lease-permission-scoped" }, { "$ref": "#/definitions/lease-permission-granular" }] }, "lease-permission-full": { "type": "object", "additionalProperties": false, "required": ["provider", "access"], "properties": { "provider": { "$ref": "#/definitions/akash-address", "description": "Provider address, e.g., akash1xyz... (44 characters)." }, "access": { "const": "full", "description": "Full access to all actions on this provider's leases." } } }, "lease-permission-scoped": { "type": "object", "additionalProperties": false, "required": ["provider", "access", "scope"], "properties": { "provider": { "$ref": "#/definitions/akash-address", "description": "Provider address, e.g., akash1xyz... (44 characters)." }, "access": { "const": "scoped", "description": "Specific actions across all this provider's leases." }, "scope": { "$ref": "#/definitions/action-scope", "description": "Provider-level list of permitted actions (no duplicates)." } } }, "lease-permission-granular": { "type": "object", "additionalProperties": false, "required": ["provider", "access", "deployments"], "properties": { "provider": { "$ref": "#/definitions/akash-address", "description": "Provider address, e.g., akash1xyz... (44 characters)." }, "access": { "const": "granular", "description": "Deployment-specific actions." }, "deployments": { "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/lease-permission-deployment" } } } }, "lease-permission-deployment": { "type": "object", "additionalProperties": false, "required": ["dseq", "scope", "services"], "properties": { "dseq": { "type": "integer", "minimum": 1, "description": "Deployment sequence number." }, "scope": { "$ref": "#/definitions/action-scope", "description": "Deployment-level list of permitted actions (no duplicates)." }, "gseq": { "type": "integer", "minimum": 0, "description": "Group sequence number (requires dseq)." }, "oseq": { "type": "integer", "minimum": 0, "description": "Order sequence number (requires dseq and gseq)." }, "services": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 }, "description": "List of service names (requires dseq)." } }, "dependencies": { "oseq": ["gseq"] } } } };
|
|
4594
4631
|
var pattern0 = new RegExp("^akash1[a-z0-9]{38}$", "u");
|
|
4595
4632
|
var func22 = require_ucs2length2().default;
|
|
4596
|
-
var schema16 = { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "enum": ["send-manifest", "get-manifest", "logs", "shell", "events", "status", "restart", "hostname-migrate", "ip-migrate"] } };
|
|
4633
|
+
var schema16 = { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "enum": ["send-manifest", "get-manifest", "logs", "shell", "events", "status", "restart", "hostname-migrate", "ip-migrate", "attestation"] } };
|
|
4597
4634
|
function validate12(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
|
|
4598
4635
|
let vErrors = null;
|
|
4599
4636
|
let errors = 0;
|
|
@@ -4662,7 +4699,7 @@ function validate12(data, { instancePath = "", parentData, parentDataProperty, r
|
|
|
4662
4699
|
}
|
|
4663
4700
|
errors++;
|
|
4664
4701
|
}
|
|
4665
|
-
if (!(data2 === "send-manifest" || data2 === "get-manifest" || data2 === "logs" || data2 === "shell" || data2 === "events" || data2 === "status" || data2 === "restart" || data2 === "hostname-migrate" || data2 === "ip-migrate")) {
|
|
4702
|
+
if (!(data2 === "send-manifest" || data2 === "get-manifest" || data2 === "logs" || data2 === "shell" || data2 === "events" || data2 === "status" || data2 === "restart" || data2 === "hostname-migrate" || data2 === "ip-migrate" || data2 === "attestation")) {
|
|
4666
4703
|
const err6 = { instancePath: instancePath + "/scope/" + i0, schemaPath: "#/definitions/action-scope/items/enum", keyword: "enum", params: { allowedValues: schema16.items.enum }, message: "must be equal to one of the allowed values" };
|
|
4667
4704
|
if (vErrors === null) {
|
|
4668
4705
|
vErrors = [err6];
|
|
@@ -4894,7 +4931,7 @@ function validate18(data, { instancePath = "", parentData, parentDataProperty, r
|
|
|
4894
4931
|
}
|
|
4895
4932
|
errors++;
|
|
4896
4933
|
}
|
|
4897
|
-
if (!(data3 === "send-manifest" || data3 === "get-manifest" || data3 === "logs" || data3 === "shell" || data3 === "events" || data3 === "status" || data3 === "restart" || data3 === "hostname-migrate" || data3 === "ip-migrate")) {
|
|
4934
|
+
if (!(data3 === "send-manifest" || data3 === "get-manifest" || data3 === "logs" || data3 === "shell" || data3 === "events" || data3 === "status" || data3 === "restart" || data3 === "hostname-migrate" || data3 === "ip-migrate" || data3 === "attestation")) {
|
|
4898
4935
|
const err9 = { instancePath: instancePath + "/scope/" + i0, schemaPath: "#/definitions/action-scope/items/enum", keyword: "enum", params: { allowedValues: schema16.items.enum }, message: "must be equal to one of the allowed values" };
|
|
4899
4936
|
if (vErrors === null) {
|
|
4900
4937
|
vErrors = [err9];
|
|
@@ -5054,7 +5091,7 @@ function validate21(data, { instancePath = "", parentData, parentDataProperty, r
|
|
|
5054
5091
|
}
|
|
5055
5092
|
errors++;
|
|
5056
5093
|
}
|
|
5057
|
-
if (!(data2 === "send-manifest" || data2 === "get-manifest" || data2 === "logs" || data2 === "shell" || data2 === "events" || data2 === "status" || data2 === "restart" || data2 === "hostname-migrate" || data2 === "ip-migrate")) {
|
|
5094
|
+
if (!(data2 === "send-manifest" || data2 === "get-manifest" || data2 === "logs" || data2 === "shell" || data2 === "events" || data2 === "status" || data2 === "restart" || data2 === "hostname-migrate" || data2 === "ip-migrate" || data2 === "attestation")) {
|
|
5058
5095
|
const err9 = { instancePath: instancePath + "/scope/" + i0, schemaPath: "#/definitions/action-scope/items/enum", keyword: "enum", params: { allowedValues: schema16.items.enum }, message: "must be equal to one of the allowed values" };
|
|
5059
5096
|
if (vErrors === null) {
|
|
5060
5097
|
vErrors = [err9];
|
|
@@ -9071,4 +9108,4 @@ export {
|
|
|
9071
9108
|
isRetryEnabled,
|
|
9072
9109
|
createTxTransport
|
|
9073
9110
|
};
|
|
9074
|
-
//# sourceMappingURL=chunk-
|
|
9111
|
+
//# sourceMappingURL=chunk-WBBS4OZV.js.map
|