@nosana/types 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +45 -0
  2. package/dist/Accounts/index.d.ts +3 -0
  3. package/dist/Accounts/index.js +4 -0
  4. package/dist/Accounts/index.js.map +1 -0
  5. package/dist/Accounts/job.d.ts +17 -0
  6. package/dist/Accounts/job.js +2 -0
  7. package/dist/Accounts/job.js.map +1 -0
  8. package/dist/Accounts/market.d.ts +24 -0
  9. package/dist/Accounts/market.js +6 -0
  10. package/dist/Accounts/market.js.map +1 -0
  11. package/dist/Accounts/run.d.ts +14 -0
  12. package/dist/Accounts/run.js +2 -0
  13. package/dist/Accounts/run.js.map +1 -0
  14. package/dist/Deployments/index.d.ts +15 -0
  15. package/dist/Deployments/index.js +17 -0
  16. package/dist/Deployments/index.js.map +1 -0
  17. package/dist/Jobs/Flows/index.d.ts +43 -0
  18. package/dist/Jobs/Flows/index.js +2 -0
  19. package/dist/Jobs/Flows/index.js.map +1 -0
  20. package/dist/Jobs/JobDefinition/args/aliases.d.ts +2 -0
  21. package/dist/Jobs/JobDefinition/args/aliases.js +2 -0
  22. package/dist/Jobs/JobDefinition/args/aliases.js.map +1 -0
  23. package/dist/Jobs/JobDefinition/args/authentication.d.ts +9 -0
  24. package/dist/Jobs/JobDefinition/args/authentication.js +2 -0
  25. package/dist/Jobs/JobDefinition/args/authentication.js.map +1 -0
  26. package/dist/Jobs/JobDefinition/args/cmd.d.ts +3 -0
  27. package/dist/Jobs/JobDefinition/args/cmd.js +2 -0
  28. package/dist/Jobs/JobDefinition/args/cmd.js.map +1 -0
  29. package/dist/Jobs/JobDefinition/args/env.d.ts +1 -0
  30. package/dist/Jobs/JobDefinition/args/env.js +2 -0
  31. package/dist/Jobs/JobDefinition/args/env.js.map +1 -0
  32. package/dist/Jobs/JobDefinition/args/expose.d.ts +44 -0
  33. package/dist/Jobs/JobDefinition/args/expose.js +2 -0
  34. package/dist/Jobs/JobDefinition/args/expose.js.map +1 -0
  35. package/dist/Jobs/JobDefinition/args/gpu.d.ts +1 -0
  36. package/dist/Jobs/JobDefinition/args/gpu.js +2 -0
  37. package/dist/Jobs/JobDefinition/args/gpu.js.map +1 -0
  38. package/dist/Jobs/JobDefinition/args/image.d.ts +1 -0
  39. package/dist/Jobs/JobDefinition/args/image.js +2 -0
  40. package/dist/Jobs/JobDefinition/args/image.js.map +1 -0
  41. package/dist/Jobs/JobDefinition/args/index.d.ts +38 -0
  42. package/dist/Jobs/JobDefinition/args/index.js +13 -0
  43. package/dist/Jobs/JobDefinition/args/index.js.map +1 -0
  44. package/dist/Jobs/JobDefinition/args/literals.d.ts +28 -0
  45. package/dist/Jobs/JobDefinition/args/literals.js +2 -0
  46. package/dist/Jobs/JobDefinition/args/literals.js.map +1 -0
  47. package/dist/Jobs/JobDefinition/args/resources.d.ts +70 -0
  48. package/dist/Jobs/JobDefinition/args/resources.js +6 -0
  49. package/dist/Jobs/JobDefinition/args/resources.js.map +1 -0
  50. package/dist/Jobs/JobDefinition/args/variables.d.ts +1 -0
  51. package/dist/Jobs/JobDefinition/args/variables.js +2 -0
  52. package/dist/Jobs/JobDefinition/args/variables.js.map +1 -0
  53. package/dist/Jobs/JobDefinition/args/volumes.d.ts +4 -0
  54. package/dist/Jobs/JobDefinition/args/volumes.js +2 -0
  55. package/dist/Jobs/JobDefinition/args/volumes.js.map +1 -0
  56. package/dist/Jobs/JobDefinition/args/work_dir.d.ts +1 -0
  57. package/dist/Jobs/JobDefinition/args/work_dir.js +2 -0
  58. package/dist/Jobs/JobDefinition/args/work_dir.js.map +1 -0
  59. package/dist/Jobs/JobDefinition/execution/index.d.ts +11 -0
  60. package/dist/Jobs/JobDefinition/execution/index.js +2 -0
  61. package/dist/Jobs/JobDefinition/execution/index.js.map +1 -0
  62. package/dist/Jobs/JobDefinition/global/index.d.ts +9 -0
  63. package/dist/Jobs/JobDefinition/global/index.js +2 -0
  64. package/dist/Jobs/JobDefinition/global/index.js.map +1 -0
  65. package/dist/Jobs/JobDefinition/index.d.ts +23 -0
  66. package/dist/Jobs/JobDefinition/index.js +8 -0
  67. package/dist/Jobs/JobDefinition/index.js.map +1 -0
  68. package/dist/Jobs/JobDefinition/logistics/index.d.ts +17 -0
  69. package/dist/Jobs/JobDefinition/logistics/index.js +9 -0
  70. package/dist/Jobs/JobDefinition/logistics/index.js.map +1 -0
  71. package/dist/Jobs/JobDefinition/meta/index.d.ts +4 -0
  72. package/dist/Jobs/JobDefinition/meta/index.js +2 -0
  73. package/dist/Jobs/JobDefinition/meta/index.js.map +1 -0
  74. package/dist/Jobs/JobDefinition/operations/index.d.ts +16 -0
  75. package/dist/Jobs/JobDefinition/operations/index.js +2 -0
  76. package/dist/Jobs/JobDefinition/operations/index.js.map +1 -0
  77. package/dist/Jobs/JobDefinition/results/index.d.ts +6 -0
  78. package/dist/Jobs/JobDefinition/results/index.js +2 -0
  79. package/dist/Jobs/JobDefinition/results/index.js.map +1 -0
  80. package/dist/Jobs/Logs/index.d.ts +32 -0
  81. package/dist/Jobs/Logs/index.js +7 -0
  82. package/dist/Jobs/Logs/index.js.map +1 -0
  83. package/dist/Jobs/index.d.ts +26 -0
  84. package/dist/Jobs/index.js +1361 -0
  85. package/dist/Jobs/index.js.map +1 -0
  86. package/dist/Schemas/api.d.ts +3551 -0
  87. package/dist/Schemas/api.js +2 -0
  88. package/dist/Schemas/api.js.map +1 -0
  89. package/dist/Schemas/index.d.ts +2 -0
  90. package/dist/Schemas/index.js +3 -0
  91. package/dist/Schemas/index.js.map +1 -0
  92. package/dist/Schemas/job.d.ts +3 -0
  93. package/dist/Schemas/job.js +889 -0
  94. package/dist/Schemas/job.js.map +1 -0
  95. package/dist/index.d.ts +8 -0
  96. package/dist/index.js +5 -0
  97. package/dist/index.js.map +1 -0
  98. package/dist/utils.d.ts +7 -0
  99. package/dist/utils.js +2 -0
  100. package/dist/utils.js.map +1 -0
  101. package/package.json +46 -0
@@ -0,0 +1,23 @@
1
+ import type { DeploymentId } from "../../Deployments/index.js";
2
+ import type { Global } from "./global/index.js";
3
+ import type { Logistics } from "./logistics/index.js";
4
+ import type { Meta } from "./meta/index.js";
5
+ import type { Ops } from "./operations/index.js";
6
+ export * from "./args/index.js";
7
+ export * from "./execution/index.js";
8
+ export * from "./global/index.js";
9
+ export * from "./logistics/index.js";
10
+ export * from "./meta/index.js";
11
+ export * from "./operations/index.js";
12
+ export * from "./results/index.js";
13
+ type Version = "0.1";
14
+ type JobType = "container";
15
+ export type JobDefinition = {
16
+ version: Version;
17
+ type: JobType;
18
+ logistics?: Logistics;
19
+ deployment_id?: DeploymentId;
20
+ meta?: Meta;
21
+ global?: Global;
22
+ ops: Ops;
23
+ };
@@ -0,0 +1,8 @@
1
+ export * from "./args/index.js";
2
+ export * from "./execution/index.js";
3
+ export * from "./global/index.js";
4
+ export * from "./logistics/index.js";
5
+ export * from "./meta/index.js";
6
+ export * from "./operations/index.js";
7
+ export * from "./results/index.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Jobs/JobDefinition/index.ts"],"names":[],"mappings":"AAMA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * api - we receive and send via an endpoint endpoint
3
+ * api-listen - we create an endpoint to listen for incoming requests
4
+ */
5
+ export declare const LogisticsType: {
6
+ readonly API: "api";
7
+ readonly API_LISTEN: "api-listen";
8
+ };
9
+ export type LogisticsType = typeof LogisticsType[keyof typeof LogisticsType];
10
+ type LogisticsArgs = Partial<{
11
+ endpoint: string;
12
+ }>;
13
+ export interface Logistics {
14
+ type: LogisticsType;
15
+ args: LogisticsArgs;
16
+ }
17
+ export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * api - we receive and send via an endpoint endpoint
3
+ * api-listen - we create an endpoint to listen for incoming requests
4
+ */
5
+ export const LogisticsType = {
6
+ API: 'api',
7
+ API_LISTEN: 'api-listen',
8
+ };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Jobs/JobDefinition/logistics/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,KAAK;IACV,UAAU,EAAE,YAAY;CAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export type Meta = Record<string, string | number> & {
2
+ trigger?: string;
3
+ system_resources?: Record<string, string | number>;
4
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Jobs/JobDefinition/meta/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import type { ContainerCreateVolume, ContainerRun } from "../args/index.js";
2
+ import type { Execution } from "../execution/index.js";
3
+ import type { OperationResults } from "../results/index.js";
4
+ export type OperationArgsMap = {
5
+ 'container/run': ContainerRun;
6
+ 'container/create-volume': ContainerCreateVolume;
7
+ };
8
+ export type OperationType = keyof OperationArgsMap;
9
+ export type Ops = Array<Operation<OperationType>>;
10
+ export type Operation<T extends OperationType> = {
11
+ type: OperationType;
12
+ id: string;
13
+ args: OperationArgsMap[T];
14
+ results?: OperationResults;
15
+ execution?: Execution;
16
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Jobs/JobDefinition/operations/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { LogTypeTuple } from "../../Logs/index.js";
2
+ export type OperationResult = {
3
+ regex: string;
4
+ logType: LogTypeTuple;
5
+ };
6
+ export type OperationResults = Record<string, string | OperationResult>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Jobs/JobDefinition/results/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import type { tags } from "typia";
2
+ export type UniqueLogTypeTag = tags.TagBase<{
3
+ kind: 'uniqueTuple';
4
+ target: 'array';
5
+ value: 'uniqueTuple';
6
+ validate: `
7
+ Array.isArray($input)
8
+ && $input.length >= 1
9
+ && $input.length <= 4
10
+ && (() => {
11
+ const seen = new Set();
12
+ for (const v of $input) {
13
+ if (seen.has(v)) return false;
14
+ seen.add(v);
15
+ }
16
+ return true;
17
+ })()
18
+ `;
19
+ message: 'logType values must be unique and length 1-4';
20
+ }>;
21
+ export declare const StdOptions: {
22
+ readonly stdIn: "stdin";
23
+ readonly stdOut: "stdout";
24
+ readonly stdErr: "stderr";
25
+ readonly nodeErr: "nodeerr";
26
+ };
27
+ export type StdOption = typeof StdOptions[keyof typeof StdOptions];
28
+ export type LogTypeTuple = StdOption[] & UniqueLogTypeTag;
29
+ export type Log = {
30
+ type: StdOption;
31
+ log: string | undefined;
32
+ };
@@ -0,0 +1,7 @@
1
+ export const StdOptions = {
2
+ stdIn: 'stdin',
3
+ stdOut: 'stdout',
4
+ stdErr: 'stderr',
5
+ nodeErr: 'nodeerr',
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Jobs/Logs/index.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACV,CAAC"}
@@ -0,0 +1,26 @@
1
+ import typia, { tags } from "typia";
2
+ import { JobDefinition } from "./JobDefinition/index.js";
3
+ export * from "./Flows/index.js";
4
+ export * from "./JobDefinition/index.js";
5
+ export * from "./Logs/index.js";
6
+ type UniqueById = tags.TagBase<{
7
+ kind: 'uniqueBy';
8
+ target: 'array';
9
+ value: 'id';
10
+ validate: `
11
+ Array.isArray($input) && (()=>{
12
+ const seen = new Set();
13
+ for (const it of $input) {
14
+ if (typeof it?.id !== "string") return false;
15
+ if (seen.has(it.id)) return false;
16
+ seen.add(it.id);
17
+ }
18
+ return true;
19
+ })()
20
+ `;
21
+ message: 'ops[*].id must be unique';
22
+ }>;
23
+ type JobDefinitionWithRule = Omit<JobDefinition, 'ops'> & {
24
+ ops: JobDefinition['ops'] & UniqueById;
25
+ };
26
+ export declare const validateJobDefinition: ((input: unknown) => typia.IValidation<JobDefinitionWithRule>) & import("@standard-schema/spec").StandardSchemaV1<unknown, JobDefinitionWithRule>;