@akashnetwork/chain-sdk 1.0.0-alpha.29 → 1.0.0-alpha.30

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.
Files changed (25) hide show
  1. package/dist/cjs/generated/protos/akash/provider/v1/service_akash.cjs +2 -0
  2. package/dist/cjs/generated/protos/akash/provider/v1/service_akash.cjs.map +2 -2
  3. package/dist/cjs/generated/protos/akash/provider/v1/validation.cjs +8 -8
  4. package/dist/cjs/generated/protos/akash/provider/v1/validation.cjs.map +2 -2
  5. package/dist/cjs/sdl/types.cjs.map +1 -1
  6. package/dist/cjs/sdl/validateSDL/validateSDLInput.cjs +2 -2
  7. package/dist/cjs/sdl/validateSDL/validateSDLInput.cjs.map +2 -2
  8. package/dist/esm/{chunk-JZTFWLSX.js → chunk-6XT7T2UE.js} +9 -9
  9. package/dist/esm/{chunk-JZTFWLSX.js.map → chunk-6XT7T2UE.js.map} +2 -2
  10. package/dist/esm/{chunk-C7JHIHHY.js → chunk-YSOG5YCI.js} +3 -3
  11. package/dist/esm/chunk-YSOG5YCI.js.map +7 -0
  12. package/dist/esm/generated/protos/index.provider.akash.v1.js +1 -1
  13. package/dist/esm/index.js +2 -2
  14. package/dist/esm/index.web.js +1 -1
  15. package/dist/esm/{service_akash-UDPD4GFX.js → service_akash-LJSRCT2X.js} +4 -2
  16. package/dist/esm/{service_akash-UDPD4GFX.js.map → service_akash-LJSRCT2X.js.map} +2 -2
  17. package/dist/sdl-schema.yaml +1 -0
  18. package/dist/tsconfig.build.tsbuildinfo +1 -1
  19. package/dist/types/generated/createProviderSDK.d.ts +2 -0
  20. package/dist/types/generated/protos/akash/provider/v1/service_akash.d.ts +2 -0
  21. package/dist/types/generated/protos/akash/provider/v1/validation.d.ts +2 -2
  22. package/dist/types/sdl/types.d.ts +1 -1
  23. package/dist/types/sdl/validateSDL/validateSDLInput.d.ts +1 -1
  24. package/package.json +1 -1
  25. package/dist/esm/chunk-C7JHIHHY.js.map +0 -7
@@ -47,6 +47,8 @@ const ProviderRPC = {
47
47
  },
48
48
  bidScreening: {
49
49
  name: "BidScreening",
50
+ httpMethod: "post",
51
+ httpPath: "/v1/bid-screening",
50
52
  input: import_validation.BidScreeningRequest,
51
53
  output: import_validation.BidScreeningResponse,
52
54
  get parent() {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/generated/protos/akash/provider/v1/service_akash.ts"],
4
- "sourcesContent": ["import { Empty } from \"../../../google/protobuf/empty.ts\";\nimport { Status } from \"./status.ts\";\nimport { BidScreeningRequest, BidScreeningResponse } from \"./validation.ts\";\n\nexport const ProviderRPC = {\n typeName: \"akash.provider.v1.ProviderRPC\",\n methods: {\n getStatus: {\n name: \"GetStatus\",\n httpPath: \"/v1/status\",\n input: Empty,\n output: Status,\n get parent() { return ProviderRPC; },\n },\n streamStatus: {\n name: \"StreamStatus\",\n kind: \"server_streaming\",\n input: Empty,\n output: Status,\n get parent() { return ProviderRPC; },\n },\n bidScreening: {\n name: \"BidScreening\",\n input: BidScreeningRequest,\n output: BidScreeningResponse,\n get parent() { return ProviderRPC; },\n },\n },\n} as const;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsB;AACtB,oBAAuB;AACvB,wBAA0D;AAEnD,MAAM,cAAc;AAAA,EACzB,UAAU;AAAA,EACV,SAAS;AAAA,IACP,WAAW;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,IAAI,SAAS;AAAE,eAAO;AAAA,MAAa;AAAA,IACrC;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,IAAI,SAAS;AAAE,eAAO;AAAA,MAAa;AAAA,IACrC;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,IAAI,SAAS;AAAE,eAAO;AAAA,MAAa;AAAA,IACrC;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["import { Empty } from \"../../../google/protobuf/empty.ts\";\nimport { Status } from \"./status.ts\";\nimport { BidScreeningRequest, BidScreeningResponse } from \"./validation.ts\";\n\nexport const ProviderRPC = {\n typeName: \"akash.provider.v1.ProviderRPC\",\n methods: {\n getStatus: {\n name: \"GetStatus\",\n httpPath: \"/v1/status\",\n input: Empty,\n output: Status,\n get parent() { return ProviderRPC; },\n },\n streamStatus: {\n name: \"StreamStatus\",\n kind: \"server_streaming\",\n input: Empty,\n output: Status,\n get parent() { return ProviderRPC; },\n },\n bidScreening: {\n name: \"BidScreening\",\n httpMethod: \"post\",\n httpPath: \"/v1/bid-screening\",\n input: BidScreeningRequest,\n output: BidScreeningResponse,\n get parent() { return ProviderRPC; },\n },\n },\n} as const;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsB;AACtB,oBAAuB;AACvB,wBAA0D;AAEnD,MAAM,cAAc;AAAA,EACzB,UAAU;AAAA,EACV,SAAS;AAAA,IACP,WAAW;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,IAAI,SAAS;AAAE,eAAO;AAAA,MAAa;AAAA,IACrC;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,IAAI,SAAS;AAAE,eAAO;AAAA,MAAa;AAAA,IACrC;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,IAAI,SAAS;AAAE,eAAO;AAAA,MAAa;AAAA,IACrC;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -94,7 +94,7 @@ const BidScreeningRequest = {
94
94
  }
95
95
  };
96
96
  function createBaseBidScreeningResponse() {
97
- return { passed: false, reasons: [], resourceOffer: void 0, price: void 0 };
97
+ return { passed: false, reasons: [], resourceOffers: [], price: void 0 };
98
98
  }
99
99
  const BidScreeningResponse = {
100
100
  $type: "akash.provider.v1.BidScreeningResponse",
@@ -105,8 +105,8 @@ const BidScreeningResponse = {
105
105
  for (const v of message.reasons) {
106
106
  writer.uint32(18).string(v);
107
107
  }
108
- if (message.resourceOffer !== void 0) {
109
- import_resourcesoffer.ResourceOffer.encode(message.resourceOffer, writer.uint32(26).fork()).join();
108
+ for (const v of message.resourceOffers) {
109
+ import_resourcesoffer.ResourceOffer.encode(v, writer.uint32(26).fork()).join();
110
110
  }
111
111
  if (message.price !== void 0) {
112
112
  import_coin.DecCoin.encode(message.price, writer.uint32(34).fork()).join();
@@ -138,7 +138,7 @@ const BidScreeningResponse = {
138
138
  if (tag !== 26) {
139
139
  break;
140
140
  }
141
- message.resourceOffer = import_resourcesoffer.ResourceOffer.decode(reader, reader.uint32());
141
+ message.resourceOffers.push(import_resourcesoffer.ResourceOffer.decode(reader, reader.uint32()));
142
142
  continue;
143
143
  }
144
144
  case 4: {
@@ -160,7 +160,7 @@ const BidScreeningResponse = {
160
160
  return {
161
161
  passed: (0, import_typeEncodingHelpers.isSet)(object.passed) ? globalThis.Boolean(object.passed) : false,
162
162
  reasons: globalThis.Array.isArray(object?.reasons) ? object.reasons.map((e) => globalThis.String(e)) : [],
163
- resourceOffer: (0, import_typeEncodingHelpers.isSet)(object.resource_offer) ? import_resourcesoffer.ResourceOffer.fromJSON(object.resource_offer) : void 0,
163
+ resourceOffers: globalThis.Array.isArray(object?.resource_offers) ? object.resource_offers.map((e) => import_resourcesoffer.ResourceOffer.fromJSON(e)) : [],
164
164
  price: (0, import_typeEncodingHelpers.isSet)(object.price) ? import_coin.DecCoin.fromJSON(object.price) : void 0
165
165
  };
166
166
  },
@@ -172,8 +172,8 @@ const BidScreeningResponse = {
172
172
  if (message.reasons?.length) {
173
173
  obj.reasons = message.reasons;
174
174
  }
175
- if (message.resourceOffer !== void 0) {
176
- obj.resource_offer = import_resourcesoffer.ResourceOffer.toJSON(message.resourceOffer);
175
+ if (message.resourceOffers?.length) {
176
+ obj.resource_offers = message.resourceOffers.map((e) => import_resourcesoffer.ResourceOffer.toJSON(e));
177
177
  }
178
178
  if (message.price !== void 0) {
179
179
  obj.price = import_coin.DecCoin.toJSON(message.price);
@@ -184,7 +184,7 @@ const BidScreeningResponse = {
184
184
  const message = createBaseBidScreeningResponse();
185
185
  message.passed = object.passed ?? false;
186
186
  message.reasons = object.reasons?.map((e) => e) || [];
187
- message.resourceOffer = object.resourceOffer !== void 0 && object.resourceOffer !== null ? import_resourcesoffer.ResourceOffer.fromPartial(object.resourceOffer) : void 0;
187
+ message.resourceOffers = object.resourceOffers?.map((e) => import_resourcesoffer.ResourceOffer.fromPartial(e)) || [];
188
188
  message.price = object.price !== void 0 && object.price !== null ? import_coin.DecCoin.fromPartial(object.price) : void 0;
189
189
  return message;
190
190
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/generated/protos/akash/provider/v1/validation.ts"],
4
- "sourcesContent": ["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.7.7\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 /** ResourceOffer is the provider's resource offer for the screened group, if passed. */\n resourceOffer:\n | ResourceOffer\n | undefined;\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: [], resourceOffer: undefined, 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 if (message.resourceOffer !== undefined) {\n ResourceOffer.encode(message.resourceOffer, 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.resourceOffer = 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 resourceOffer: isSet(object.resource_offer) ? ResourceOffer.fromJSON(object.resource_offer) : undefined,\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.resourceOffer !== undefined) {\n obj.resource_offer = ResourceOffer.toJSON(message.resourceOffer);\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.resourceOffer = (object.resourceOffer !== undefined && object.resourceOffer !== null)\n ? ResourceOffer.fromPartial(object.resourceOffer)\n : undefined;\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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",
4
+ "sourcesContent": ["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.7.7\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
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/sdl/types.ts"],
4
- "sourcesContent": ["/**\n * @deprecated will be removed in favor of `Manifest` type\n */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport type v2Manifest = v2Group[];\n\n/** @deprecated Use `Manifest` type instead. */\nexport type v3Manifest = v3Group[];\n\n/** @deprecated Use `Manifest` type instead. */\nexport type v3Group = {\n name: string;\n services: v3ManifestService[];\n};\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type v2Group = {\n Name: string;\n Services: v2ManifestService[];\n};\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type v2ManifestService = {\n Name: string;\n Image: string;\n Command: string[] | null;\n Args: string[] | null;\n Env: string[] | null;\n Resources: ResourceUnits;\n Count: number;\n Expose: v2ServiceExpose[];\n params?: v2ManifestServiceParams;\n};\n\n/** @deprecated Use `Manifest` type instead. */\nexport type v3ManifestService = {\n name: string;\n image: string;\n command: string[] | null;\n args: string[] | null;\n env: string[] | null;\n resources: ResourceUnits;\n count: number;\n expose: v3ServiceExpose[];\n params?: v3ManifestServiceParams | null;\n credentials: v2ServiceImageCredentials | null;\n};\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type v2ServiceExposeHttpOptions = {\n MaxBodySize: number;\n ReadTimeout: number;\n SendTimeout: number;\n NextTries: number;\n NextTimeout: number;\n NextCases: string[];\n};\n\n/** @deprecated Use `Manifest[number]['services'][number]['expose'][number]['httpOptions']` type instead. */\nexport type v3ServiceExposeHttpOptions = {\n maxBodySize: number;\n readTimeout: number;\n sendTimeout: number;\n nextTries: number;\n nextTimeout: number;\n nextCases: string[];\n};\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type ResourceUnits = Record<string, any>;\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type v2ServiceExpose = {\n Port: number;\n ExternalPort: number;\n Proto: string;\n Service: any;\n Global: boolean;\n Hosts: any;\n HTTPOptions: v2ServiceExposeHttpOptions;\n IP: string;\n EndpointSequenceNumber: number;\n};\n\n/** @deprecated Use `Manifest[number]['services'][number]['expose'][number]` type instead. */\nexport type v3ServiceExpose = {\n port: number;\n externalPort: number;\n proto: string;\n service: any;\n global: boolean;\n hosts: any;\n httpOptions: v3ServiceExposeHttpOptions;\n ip: string;\n endpointSequenceNumber: number;\n};\n\ntype v2ServicePermissionsScope = \"deployment\" | \"logs\";\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type v2ServicePermissions = {\n read?: v2ServicePermissionsScope[];\n};\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type v2ManifestServiceParams = {\n Storage: v2ServiceStorageParams[];\n Permissions?: v2ServicePermissions;\n};\n\n/** @deprecated Use `Manifest[number]['services'][number]['params']` type instead. */\nexport type v3ManifestServiceParams = {\n storage: v2ServiceStorageParams[] | null;\n permissions?: v2ServicePermissions;\n};\n\n/** @deprecated will be removed in favor of `Manifest` type */\nexport type v2Sdl = {\n services: Record<string, v2Service>;\n profiles: v2Profiles;\n deployment: Record<string, v2Deployment>;\n endpoints: Record<string, v2Endpoint>;\n};\n\n/** @deprecated Use `SDLInput` type instead. */\nexport type v3Sdl = {\n services: Record<string, v2Service>;\n profiles: v3Profiles;\n deployment: Record<string, v2Deployment>;\n endpoints: Record<string, v2Endpoint>;\n};\n\n/** @deprecated will be removed. */\nexport type v2Endpoint = {\n kind: string;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ExposeTo = {\n service?: string;\n global?: boolean;\n http_options: v2HTTPOptions;\n ip: string;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2HTTPOptions = {\n max_body_size: number;\n read_timeout: number;\n send_timeout: number;\n next_tries: number;\n next_timeout: number;\n next_cases: string[];\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Accept = {\n items?: string[];\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Expose = {\n port: number;\n as: number;\n proto?: string;\n to?: v2ExposeTo[];\n accept: v2Accept;\n http_options: v2HTTPOptions;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Dependency = {\n service: string;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ServiceStorageParams = {\n name: string;\n mount: string;\n readOnly: boolean;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ServiceParams = {\n storage?: Record<string, v2ServiceStorageParams>;\n permissions?: v2ServicePermissions;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ServiceImageCredentials = {\n host: string;\n email?: string;\n username: string;\n password: string;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Service = {\n image: string;\n command: string[] | null;\n args: string[] | null;\n env: string[] | null;\n expose: v2Expose[];\n dependencies?: v2Dependency[];\n params?: v2ServiceParams;\n credentials?: v2ServiceImageCredentials;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ServiceDeployment = {\n profile: string;\n count: number;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Deployment = Record<string, v2ServiceDeployment>;\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2CPUAttributes = Record<string, any>;\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ResourceCPU = {\n units: number | string;\n attributes?: v2CPUAttributes;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ResourceMemory = {\n size: string;\n attributes?: Record<string, any>;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v3GPUAttributes = {\n vendor: {\n [vendor: string]: Array<{ model: string; ram?: string; interface?: string }>;\n };\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v3ResourceGPU = {\n units: number | string;\n attributes?: v3GPUAttributes;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2StorageAttributes = Record<string, any>;\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ResourceStorage = {\n name: string;\n size: string;\n attributes: v2StorageAttributes;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ResourceStorageArray = v2ResourceStorage[];\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ComputeResources = {\n cpu: v2ResourceCPU;\n memory: v2ResourceMemory;\n storage: v2ResourceStorageArray | v2ResourceStorage;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v3ComputeResources = {\n cpu: v2ResourceCPU;\n memory: v2ResourceMemory;\n storage: v2ResourceStorageArray | v2ResourceStorage;\n gpu: v3ResourceGPU;\n id: number;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ProfileCompute = {\n resources: v2ComputeResources;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v3ProfileCompute = {\n resources: v3ComputeResources;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2PlacementAttributes = Attributes;\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Coin = {\n denom: string;\n value: number;\n amount: number;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2PlacementPricing = Record<string, v2Coin>;\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type SignedBy = {\n allOf: string[];\n anyOf: string[];\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ProfilePlacement = {\n attributes: v2PlacementAttributes;\n signedBy: SignedBy;\n pricing: v2PlacementPricing;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Profiles = {\n compute: Record<string, v2ProfileCompute>;\n placement: Record<string, v2ProfilePlacement>;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v3Profiles = {\n compute: Record<string, v3ProfileCompute>;\n placement: Record<string, v2ProfilePlacement>;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type Attribute = {\n key: string;\n value: string;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v3DeploymentGroup = {\n name: string;\n resources: Array<{\n resource: v3ComputeResources;\n price: number;\n count: number;\n endpoints: Array<{ kind: number; sequence_number: number }>;\n }>;\n requirements: {\n attributes: Array<Attribute>;\n signedBy: {\n allOf: string[];\n anyOf: string[];\n };\n };\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type Attributes = Attribute[];\n"],
4
+ "sourcesContent": ["/**\n * @deprecated will be removed in favor of `Manifest` type\n */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport type v2Manifest = v2Group[];\n\n/** @deprecated Use `Manifest` type instead. */\nexport type v3Manifest = v3Group[];\n\n/** @deprecated Use `Manifest` type instead. */\nexport type v3Group = {\n name: string;\n services: v3ManifestService[];\n};\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type v2Group = {\n Name: string;\n Services: v2ManifestService[];\n};\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type v2ManifestService = {\n Name: string;\n Image: string;\n Command: string[] | null;\n Args: string[] | null;\n Env: string[] | null;\n Resources: ResourceUnits;\n Count: number;\n Expose: v2ServiceExpose[];\n params?: v2ManifestServiceParams;\n};\n\n/** @deprecated Use `Manifest` type instead. */\nexport type v3ManifestService = {\n name: string;\n image: string;\n command: string[] | null;\n args: string[] | null;\n env: string[] | null;\n resources: ResourceUnits;\n count: number;\n expose: v3ServiceExpose[];\n params?: v3ManifestServiceParams | null;\n credentials: v2ServiceImageCredentials | null;\n};\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type v2ServiceExposeHttpOptions = {\n MaxBodySize: number;\n ReadTimeout: number;\n SendTimeout: number;\n NextTries: number;\n NextTimeout: number;\n NextCases: string[];\n};\n\n/** @deprecated Use `Manifest[number]['services'][number]['expose'][number]['httpOptions']` type instead. */\nexport type v3ServiceExposeHttpOptions = {\n maxBodySize: number;\n readTimeout: number;\n sendTimeout: number;\n nextTries: number;\n nextTimeout: number;\n nextCases: string[];\n};\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type ResourceUnits = Record<string, any>;\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type v2ServiceExpose = {\n Port: number;\n ExternalPort: number;\n Proto: string;\n Service: any;\n Global: boolean;\n Hosts: any;\n HTTPOptions: v2ServiceExposeHttpOptions;\n IP: string;\n EndpointSequenceNumber: number;\n};\n\n/** @deprecated Use `Manifest[number]['services'][number]['expose'][number]` type instead. */\nexport type v3ServiceExpose = {\n port: number;\n externalPort: number;\n proto: string;\n service: any;\n global: boolean;\n hosts: any;\n httpOptions: v3ServiceExposeHttpOptions;\n ip: string;\n endpointSequenceNumber: number;\n};\n\ntype v2ServicePermissionsScope = \"deployment\" | \"logs\" | \"events\";\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type v2ServicePermissions = {\n read?: v2ServicePermissionsScope[];\n};\n\n/** @deprecated will be removed in favor of `Manifest` type. */\nexport type v2ManifestServiceParams = {\n Storage: v2ServiceStorageParams[];\n Permissions?: v2ServicePermissions;\n};\n\n/** @deprecated Use `Manifest[number]['services'][number]['params']` type instead. */\nexport type v3ManifestServiceParams = {\n storage: v2ServiceStorageParams[] | null;\n permissions?: v2ServicePermissions;\n};\n\n/** @deprecated will be removed in favor of `Manifest` type */\nexport type v2Sdl = {\n services: Record<string, v2Service>;\n profiles: v2Profiles;\n deployment: Record<string, v2Deployment>;\n endpoints: Record<string, v2Endpoint>;\n};\n\n/** @deprecated Use `SDLInput` type instead. */\nexport type v3Sdl = {\n services: Record<string, v2Service>;\n profiles: v3Profiles;\n deployment: Record<string, v2Deployment>;\n endpoints: Record<string, v2Endpoint>;\n};\n\n/** @deprecated will be removed. */\nexport type v2Endpoint = {\n kind: string;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ExposeTo = {\n service?: string;\n global?: boolean;\n http_options: v2HTTPOptions;\n ip: string;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2HTTPOptions = {\n max_body_size: number;\n read_timeout: number;\n send_timeout: number;\n next_tries: number;\n next_timeout: number;\n next_cases: string[];\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Accept = {\n items?: string[];\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Expose = {\n port: number;\n as: number;\n proto?: string;\n to?: v2ExposeTo[];\n accept: v2Accept;\n http_options: v2HTTPOptions;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Dependency = {\n service: string;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ServiceStorageParams = {\n name: string;\n mount: string;\n readOnly: boolean;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ServiceParams = {\n storage?: Record<string, v2ServiceStorageParams>;\n permissions?: v2ServicePermissions;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ServiceImageCredentials = {\n host: string;\n email?: string;\n username: string;\n password: string;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Service = {\n image: string;\n command: string[] | null;\n args: string[] | null;\n env: string[] | null;\n expose: v2Expose[];\n dependencies?: v2Dependency[];\n params?: v2ServiceParams;\n credentials?: v2ServiceImageCredentials;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ServiceDeployment = {\n profile: string;\n count: number;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Deployment = Record<string, v2ServiceDeployment>;\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2CPUAttributes = Record<string, any>;\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ResourceCPU = {\n units: number | string;\n attributes?: v2CPUAttributes;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ResourceMemory = {\n size: string;\n attributes?: Record<string, any>;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v3GPUAttributes = {\n vendor: {\n [vendor: string]: Array<{ model: string; ram?: string; interface?: string }>;\n };\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v3ResourceGPU = {\n units: number | string;\n attributes?: v3GPUAttributes;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2StorageAttributes = Record<string, any>;\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ResourceStorage = {\n name: string;\n size: string;\n attributes: v2StorageAttributes;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ResourceStorageArray = v2ResourceStorage[];\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ComputeResources = {\n cpu: v2ResourceCPU;\n memory: v2ResourceMemory;\n storage: v2ResourceStorageArray | v2ResourceStorage;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v3ComputeResources = {\n cpu: v2ResourceCPU;\n memory: v2ResourceMemory;\n storage: v2ResourceStorageArray | v2ResourceStorage;\n gpu: v3ResourceGPU;\n id: number;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ProfileCompute = {\n resources: v2ComputeResources;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v3ProfileCompute = {\n resources: v3ComputeResources;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2PlacementAttributes = Attributes;\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Coin = {\n denom: string;\n value: number;\n amount: number;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2PlacementPricing = Record<string, v2Coin>;\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type SignedBy = {\n allOf: string[];\n anyOf: string[];\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2ProfilePlacement = {\n attributes: v2PlacementAttributes;\n signedBy: SignedBy;\n pricing: v2PlacementPricing;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v2Profiles = {\n compute: Record<string, v2ProfileCompute>;\n placement: Record<string, v2ProfilePlacement>;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v3Profiles = {\n compute: Record<string, v3ProfileCompute>;\n placement: Record<string, v2ProfilePlacement>;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type Attribute = {\n key: string;\n value: string;\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type v3DeploymentGroup = {\n name: string;\n resources: Array<{\n resource: v3ComputeResources;\n price: number;\n count: number;\n endpoints: Array<{ kind: number; sequence_number: number }>;\n }>;\n requirements: {\n attributes: Array<Attribute>;\n signedBy: {\n allOf: string[];\n anyOf: string[];\n };\n };\n};\n\n/** @deprecated will be removed in favor of `SDLInput` and `Manifest` types. */\nexport type Attributes = Attribute[];\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -53,7 +53,7 @@ var require_ucs2length = __commonJS({
53
53
  });
54
54
  var validate = validate11;
55
55
  var stdin_default = validate11;
56
- var schema12 = { "$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": { "pattern": "^(uakt|uact|ibc/.*)$", "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"] }, "type": "array" } }, "type": "object" } }, "type": "object" } }, "required": ["image"], "type": "object", "additionalProperties": false }, "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" };
56
+ var schema12 = { "$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": { "pattern": "^(uakt|uact|ibc/.*)$", "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" }, "version": { "description": "SDL version", "enum": ["2.0", "2.1"], "type": "string" } }, "required": ["version", "services", "profiles", "deployment"], "title": "Akash SDL Input Schema", "type": "object" };
57
57
  var schema24 = { "description": "HTTP error codes for proxy retry logic", "enum": ["error", "timeout", "500", "502", "503", "504", "403", "404", "429", "off"], "type": "string" };
58
58
  var pattern2 = new RegExp("^[a-z]+[-_0-9a-z]+$", "u");
59
59
  var pattern4 = new RegExp("^0+(\\.0+)?m?$", "u");
@@ -3325,7 +3325,7 @@ function validate11(data, { instancePath = "", parentData, parentDataProperty, r
3325
3325
  }
3326
3326
  errors++;
3327
3327
  }
3328
- if (!(data93 === "deployment" || data93 === "logs")) {
3328
+ if (!(data93 === "deployment" || data93 === "logs" || data93 === "events")) {
3329
3329
  const err214 = { instancePath: instancePath + "/services/" + key22.replace(/~/g, "~0").replace(/\//g, "~1") + "/params/permissions/read/" + i16, schemaPath: "#/properties/services/additionalProperties/properties/params/properties/permissions/properties/read/items/enum", keyword: "enum", params: { allowedValues: schema12.properties.services.additionalProperties.properties.params.properties.permissions.properties.read.items.enum }, message: "must be equal to one of the allowed values" };
3330
3330
  if (vErrors === null) {
3331
3331
  vErrors = [err214];