@skyblock-finance/actions 0.9.1 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/data.d.ts CHANGED
@@ -5,60 +5,23 @@ export declare const bulvar: Action[];
5
5
  export declare const einary: Action[];
6
6
  export declare const elizabeth: Action[];
7
7
  export declare const fishingMerchant: Action[];
8
+ export declare const hilda: Action[];
9
+ export declare const marthos: Action[];
8
10
  export declare const phillip: Action[];
9
11
  export declare const plumberJoe: Action[];
10
12
  export declare const seymour: Action[];
11
13
  export declare const skymart: Action[];
12
14
  export declare const smithmonger: Action[];
15
+ export declare const minionsBlaze: Action[];
16
+ export declare const minionsCaveSpider: Action[];
17
+ export declare const minionsCreeper: Action[];
18
+ export declare const minionsEnderman: Action[];
19
+ export declare const minionsGhast: Action[];
13
20
  export declare const bitsCrafts: Action[];
14
21
  export declare const crimsonIsle: Action[];
22
+ export declare const forging: Action[];
15
23
  export declare const gems: Action[];
16
24
  export declare const gemstones: Action[];
17
25
  export declare const northStarsCrafts: Action[];
18
26
  export declare const wood: Action[];
19
- export declare const allActions: {
20
- inputs: ({
21
- amount: number;
22
- id: "bit" | "coin" | "copper" | "gem" | "north-star" | "pest" | "second" | "usd";
23
- type: "currency";
24
- } | {
25
- amount: number;
26
- id: string;
27
- type: "item";
28
- })[];
29
- outputs: ({
30
- amount: number;
31
- id: "bit" | "coin" | "copper" | "gem" | "north-star" | "pest" | "second" | "usd";
32
- type: "currency";
33
- } | {
34
- amount: number;
35
- id: string;
36
- type: "item";
37
- })[];
38
- place: ({
39
- left: {
40
- amount: number;
41
- id: string;
42
- type: "item";
43
- };
44
- right: {
45
- amount: number;
46
- id: string;
47
- type: "item";
48
- };
49
- type: "anvil";
50
- } | {
51
- id: "ADVENTURER" | "ALCHEMIST" | "BUBU" | "BULVAR" | "EINARY" | "ELIZABETH" | "FISHING_MERCHANT" | "PHILLIP" | "PLUMBER_JOE" | "SEYMOUR" | "SKYMART" | "SMITHMONGER";
52
- type: "npc";
53
- } | {
54
- type: "website";
55
- url: string;
56
- } | {
57
- grid: ({
58
- amount: number;
59
- id: string;
60
- type: "item";
61
- } | null)[];
62
- type: "workbench";
63
- })[];
64
- }[];
27
+ export declare const allActions: Action[];
package/dist/data.js CHANGED
@@ -1,22 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.allActions = exports.wood = exports.northStarsCrafts = exports.gemstones = exports.gems = exports.crimsonIsle = exports.bitsCrafts = exports.smithmonger = exports.skymart = exports.seymour = exports.plumberJoe = exports.phillip = exports.fishingMerchant = exports.elizabeth = exports.einary = exports.bulvar = exports.bubu = exports.adventurer = void 0;
4
- const adventurer_json_1 = require("../data/merchants/adventurer.json");
3
+ exports.allActions = exports.wood = exports.northStarsCrafts = exports.gemstones = exports.gems = exports.forging = exports.crimsonIsle = exports.bitsCrafts = exports.minionsGhast = exports.minionsEnderman = exports.minionsCreeper = exports.minionsCaveSpider = exports.minionsBlaze = exports.smithmonger = exports.skymart = exports.seymour = exports.plumberJoe = exports.phillip = exports.marthos = exports.hilda = exports.fishingMerchant = exports.elizabeth = exports.einary = exports.bulvar = exports.bubu = exports.adventurer = void 0;
5
4
  const bits_crafts_json_1 = require("../data/bits-crafts.json");
5
+ const crimson_isle_json_1 = require("../data/crimson-isle.json");
6
+ const forging_json_1 = require("../data/forging.json");
7
+ const gems_json_1 = require("../data/gems.json");
8
+ const gemstones_json_1 = require("../data/gemstones.json");
9
+ const adventurer_json_1 = require("../data/merchants/adventurer.json");
6
10
  const bubu_json_1 = require("../data/merchants/bubu.json");
7
11
  const bulvar_json_1 = require("../data/merchants/bulvar.json");
8
- const crimson_isle_json_1 = require("../data/crimson-isle.json");
9
12
  const einary_json_1 = require("../data/merchants/einary.json");
10
13
  const elizabeth_json_1 = require("../data/merchants/elizabeth.json");
11
14
  const fishing_merchant_json_1 = require("../data/merchants/fishing-merchant.json");
12
- const gems_json_1 = require("../data/gems.json");
13
- const gemstones_json_1 = require("../data/gemstones.json");
14
- const north_stars_crafts_json_1 = require("../data/north-stars-crafts.json");
15
+ const hilda_json_1 = require("../data/merchants/hilda.json");
16
+ const marthos_json_1 = require("../data/merchants/marthos.json");
15
17
  const phillip_json_1 = require("../data/merchants/phillip.json");
16
18
  const plumber_joe_json_1 = require("../data/merchants/plumber-joe.json");
17
19
  const seymour_json_1 = require("../data/merchants/seymour.json");
18
20
  const skymart_json_1 = require("../data/merchants/skymart.json");
19
21
  const smithmonger_json_1 = require("../data/merchants/smithmonger.json");
22
+ const blaze_json_1 = require("../data/minions/blaze.json");
23
+ const cave_spider_json_1 = require("../data/minions/cave-spider.json");
24
+ const creeper_json_1 = require("../data/minions/creeper.json");
25
+ const enderman_json_1 = require("../data/minions/enderman.json");
26
+ const ghast_json_1 = require("../data/minions/ghast.json");
27
+ const north_stars_crafts_json_1 = require("../data/north-stars-crafts.json");
20
28
  const wood_json_1 = require("../data/wood.json");
21
29
  // merchants
22
30
  exports.adventurer = adventurer_json_1.actions;
@@ -25,14 +33,23 @@ exports.bulvar = bulvar_json_1.actions;
25
33
  exports.einary = einary_json_1.actions;
26
34
  exports.elizabeth = elizabeth_json_1.actions;
27
35
  exports.fishingMerchant = fishing_merchant_json_1.actions;
36
+ exports.hilda = hilda_json_1.actions;
37
+ exports.marthos = marthos_json_1.actions;
28
38
  exports.phillip = phillip_json_1.actions;
29
39
  exports.plumberJoe = plumber_joe_json_1.actions;
30
40
  exports.seymour = seymour_json_1.actions;
31
41
  exports.skymart = skymart_json_1.actions;
32
42
  exports.smithmonger = smithmonger_json_1.actions;
43
+ // minions
44
+ exports.minionsBlaze = blaze_json_1.actions;
45
+ exports.minionsCaveSpider = cave_spider_json_1.actions;
46
+ exports.minionsCreeper = creeper_json_1.actions;
47
+ exports.minionsEnderman = enderman_json_1.actions;
48
+ exports.minionsGhast = ghast_json_1.actions;
33
49
  // other
34
50
  exports.bitsCrafts = bits_crafts_json_1.actions;
35
51
  exports.crimsonIsle = crimson_isle_json_1.actions;
52
+ exports.forging = forging_json_1.actions;
36
53
  exports.gems = gems_json_1.actions;
37
54
  exports.gemstones = gemstones_json_1.actions;
38
55
  exports.northStarsCrafts = north_stars_crafts_json_1.actions;
@@ -46,8 +63,16 @@ exports.allActions = [
46
63
  ...exports.einary,
47
64
  ...exports.elizabeth,
48
65
  ...exports.fishingMerchant,
66
+ ...exports.forging,
49
67
  ...exports.gems,
50
68
  ...exports.gemstones,
69
+ ...exports.hilda,
70
+ ...exports.marthos,
71
+ ...exports.minionsBlaze,
72
+ ...exports.minionsCaveSpider,
73
+ ...exports.minionsCreeper,
74
+ ...exports.minionsEnderman,
75
+ ...exports.minionsGhast,
51
76
  ...exports.northStarsCrafts,
52
77
  ...exports.phillip,
53
78
  ...exports.plumberJoe,
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './data';
2
- export { Action, ActionCurrency, ActionIo, ActionIoCurrency, ActionIoItem, NpcId, } from './types';
3
- export { actionIoItemSchema, actionIoSchema, actionPlaceSchema, actionSchema, npcIdSchema, } from './schema';
4
2
  export { npcs } from './npcs';
3
+ export { actionIoCrystalSchema, actionIoCurrencySchema, actionIoItemSchema, actionIoSchema, actionPlaceSchema, actionRequirementSchema, actionSchema, npcIdSchema, } from './schema';
4
+ export { Action, ActionCurrency, ActionIo, ActionIoCrystal, ActionIoCurrency, ActionIoItem, ActionRequirement, NpcId, } from './types';
package/dist/index.js CHANGED
@@ -14,13 +14,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.npcs = exports.npcIdSchema = exports.actionSchema = exports.actionPlaceSchema = exports.actionIoSchema = exports.actionIoItemSchema = void 0;
17
+ exports.npcIdSchema = exports.actionSchema = exports.actionRequirementSchema = exports.actionPlaceSchema = exports.actionIoSchema = exports.actionIoItemSchema = exports.actionIoCurrencySchema = exports.actionIoCrystalSchema = exports.npcs = void 0;
18
18
  __exportStar(require("./data"), exports);
19
+ var npcs_1 = require("./npcs");
20
+ Object.defineProperty(exports, "npcs", { enumerable: true, get: function () { return npcs_1.npcs; } });
19
21
  var schema_1 = require("./schema");
22
+ Object.defineProperty(exports, "actionIoCrystalSchema", { enumerable: true, get: function () { return schema_1.actionIoCrystalSchema; } });
23
+ Object.defineProperty(exports, "actionIoCurrencySchema", { enumerable: true, get: function () { return schema_1.actionIoCurrencySchema; } });
20
24
  Object.defineProperty(exports, "actionIoItemSchema", { enumerable: true, get: function () { return schema_1.actionIoItemSchema; } });
21
25
  Object.defineProperty(exports, "actionIoSchema", { enumerable: true, get: function () { return schema_1.actionIoSchema; } });
22
26
  Object.defineProperty(exports, "actionPlaceSchema", { enumerable: true, get: function () { return schema_1.actionPlaceSchema; } });
27
+ Object.defineProperty(exports, "actionRequirementSchema", { enumerable: true, get: function () { return schema_1.actionRequirementSchema; } });
23
28
  Object.defineProperty(exports, "actionSchema", { enumerable: true, get: function () { return schema_1.actionSchema; } });
24
29
  Object.defineProperty(exports, "npcIdSchema", { enumerable: true, get: function () { return schema_1.npcIdSchema; } });
25
- var npcs_1 = require("./npcs");
26
- Object.defineProperty(exports, "npcs", { enumerable: true, get: function () { return npcs_1.npcs; } });
package/dist/npcs.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  type NpcMetadata = {
2
- name: string;
3
2
  links: {
4
3
  communityWiki: `https://hypixelskyblock.minecraft.wiki/${string}` | null;
5
4
  hypixelWiki: `https://wiki.hypixel.net/${string}` | null;
6
5
  };
6
+ name: string;
7
7
  };
8
- export declare const npcs: Map<"ADVENTURER" | "ALCHEMIST" | "BUBU" | "BULVAR" | "EINARY" | "ELIZABETH" | "FISHING_MERCHANT" | "PHILLIP" | "PLUMBER_JOE" | "SEYMOUR" | "SKYMART" | "SMITHMONGER", NpcMetadata>;
8
+ export declare const npcs: Map<"ADVENTURER" | "ALCHEMIST" | "BUBU" | "BULVAR" | "EINARY" | "ELIZABETH" | "FISHING_MERCHANT" | "HILDA" | "MARTHOS" | "PHILLIP" | "PLUMBER_JOE" | "SEYMOUR" | "SKYMART" | "SMITHMONGER", NpcMetadata>;
9
9
  export {};
package/dist/npcs.js CHANGED
@@ -3,88 +3,102 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.npcs = void 0;
4
4
  const _npcs = {
5
5
  ADVENTURER: {
6
- name: 'Adventurer',
7
6
  links: {
8
7
  communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Adventurer',
9
8
  hypixelWiki: 'https://wiki.hypixel.net/Adventurer',
10
9
  },
10
+ name: 'Adventurer',
11
11
  },
12
12
  ALCHEMIST: {
13
- name: 'Alchemist',
14
13
  links: {
15
14
  communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Alchemist',
16
15
  hypixelWiki: 'https://wiki.hypixel.net/Alchemist',
17
16
  },
17
+ name: 'Alchemist',
18
18
  },
19
19
  BUBU: {
20
- name: 'Bubu',
21
20
  links: {
22
21
  communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Bubu',
23
22
  hypixelWiki: 'https://wiki.hypixel.net/Bubu',
24
23
  },
24
+ name: 'Bubu',
25
25
  },
26
26
  BULVAR: {
27
- name: 'Bulvar',
28
27
  links: {
29
28
  communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Bulvar',
30
29
  hypixelWiki: 'https://wiki.hypixel.net/Bulvar',
31
30
  },
31
+ name: 'Bulvar',
32
32
  },
33
33
  EINARY: {
34
- name: 'Einary',
35
34
  links: {
36
35
  communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Einary',
37
36
  hypixelWiki: 'https://wiki.hypixel.net/Einary',
38
37
  },
38
+ name: 'Einary',
39
39
  },
40
40
  ELIZABETH: {
41
- name: 'Elizabeth',
42
41
  links: {
43
42
  communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Elizabeth',
44
43
  hypixelWiki: 'https://wiki.hypixel.net/Elizabeth',
45
44
  },
45
+ name: 'Elizabeth',
46
46
  },
47
47
  FISHING_MERCHANT: {
48
- name: 'Fishing Merchant',
49
48
  links: {
50
49
  communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Fishing_Merchant',
51
50
  hypixelWiki: 'https://wiki.hypixel.net/Fishing_Merchant',
52
51
  },
52
+ name: 'Fishing Merchant',
53
+ },
54
+ HILDA: {
55
+ links: {
56
+ communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Hilda',
57
+ hypixelWiki: 'https://wiki.hypixel.net/Hilda',
58
+ },
59
+ name: 'Hilda',
60
+ },
61
+ MARTHOS: {
62
+ links: {
63
+ communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Marthos',
64
+ hypixelWiki: 'https://wiki.hypixel.net/Marthos',
65
+ },
66
+ name: 'Marthos',
53
67
  },
54
68
  PHILLIP: {
55
- name: 'Pesthunter Phillip',
56
69
  links: {
57
70
  communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Pesthunter_Phillip',
58
71
  hypixelWiki: 'https://wiki.hypixel.net/Pesthunter_Phillip',
59
72
  },
73
+ name: 'Pesthunter Phillip',
74
+ },
75
+ PLUMBER_JOE: {
76
+ links: {
77
+ communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Plumber_Joe',
78
+ hypixelWiki: 'https://wiki.hypixel.net/Plumber_Joe',
79
+ },
80
+ name: 'Plumber Joe',
60
81
  },
61
82
  SEYMOUR: {
62
- name: 'Seymour',
63
83
  links: {
64
84
  communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Seymour',
65
85
  hypixelWiki: 'https://wiki.hypixel.net/Seymour',
66
86
  },
87
+ name: 'Seymour',
67
88
  },
68
89
  SKYMART: {
69
- name: 'SkyMart',
70
90
  links: {
71
91
  communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/The_Garden#The_Desk',
72
92
  hypixelWiki: 'https://wiki.hypixel.net/Garden#Desk',
73
93
  },
94
+ name: 'SkyMart',
74
95
  },
75
96
  SMITHMONGER: {
76
- name: 'Smithmonger',
77
97
  links: {
78
98
  communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Smithmonger',
79
99
  hypixelWiki: 'https://wiki.hypixel.net/Smithmonger',
80
100
  },
81
- },
82
- PLUMBER_JOE: {
83
- name: 'Plumber Joe',
84
- links: {
85
- communityWiki: 'https://hypixelskyblock.minecraft.wiki/w/Plumber_Joe',
86
- hypixelWiki: 'https://wiki.hypixel.net/Plumber_Joe',
87
- },
101
+ name: 'Smithmonger',
88
102
  },
89
103
  };
90
104
  exports.npcs = new Map(Object.entries(_npcs));
package/dist/schema.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod/v4';
2
- export declare const actionIoItemSchema: z.ZodObject<{
2
+ export declare const actionIoCrystalSchema: z.ZodObject<{
3
3
  amount: z.ZodNumber;
4
4
  id: z.ZodString;
5
- type: z.ZodLiteral<"item">;
5
+ type: z.ZodLiteral<"crystal">;
6
6
  }, z.core.$strict>;
7
7
  export declare const actionIoCurrencySchema: z.ZodObject<{
8
8
  amount: z.ZodNumber;
@@ -11,6 +11,7 @@ export declare const actionIoCurrencySchema: z.ZodObject<{
11
11
  coin: "coin";
12
12
  copper: "copper";
13
13
  gem: "gem";
14
+ "forge-second": "forge-second";
14
15
  "north-star": "north-star";
15
16
  pest: "pest";
16
17
  second: "second";
@@ -18,13 +19,23 @@ export declare const actionIoCurrencySchema: z.ZodObject<{
18
19
  }>;
19
20
  type: z.ZodLiteral<"currency">;
20
21
  }, z.core.$strict>;
22
+ export declare const actionIoItemSchema: z.ZodObject<{
23
+ amount: z.ZodNumber;
24
+ id: z.ZodString;
25
+ type: z.ZodLiteral<"item">;
26
+ }, z.core.$strict>;
21
27
  export declare const actionIoSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
28
+ amount: z.ZodNumber;
29
+ id: z.ZodString;
30
+ type: z.ZodLiteral<"crystal">;
31
+ }, z.core.$strict>, z.ZodObject<{
22
32
  amount: z.ZodNumber;
23
33
  id: z.ZodEnum<{
24
34
  bit: "bit";
25
35
  coin: "coin";
26
36
  copper: "copper";
27
37
  gem: "gem";
38
+ "forge-second": "forge-second";
28
39
  "north-star": "north-star";
29
40
  pest: "pest";
30
41
  second: "second";
@@ -44,6 +55,8 @@ export declare const npcIdSchema: z.ZodEnum<{
44
55
  EINARY: "EINARY";
45
56
  ELIZABETH: "ELIZABETH";
46
57
  FISHING_MERCHANT: "FISHING_MERCHANT";
58
+ HILDA: "HILDA";
59
+ MARTHOS: "MARTHOS";
47
60
  PHILLIP: "PHILLIP";
48
61
  PLUMBER_JOE: "PLUMBER_JOE";
49
62
  SEYMOUR: "SEYMOUR";
@@ -62,6 +75,8 @@ export declare const actionPlaceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
62
75
  type: z.ZodLiteral<"item">;
63
76
  }, z.core.$strict>;
64
77
  type: z.ZodLiteral<"anvil">;
78
+ }, z.core.$strict>, z.ZodObject<{
79
+ type: z.ZodLiteral<"forge">;
65
80
  }, z.core.$strict>, z.ZodObject<{
66
81
  id: z.ZodEnum<{
67
82
  ADVENTURER: "ADVENTURER";
@@ -71,6 +86,8 @@ export declare const actionPlaceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
71
86
  EINARY: "EINARY";
72
87
  ELIZABETH: "ELIZABETH";
73
88
  FISHING_MERCHANT: "FISHING_MERCHANT";
89
+ HILDA: "HILDA";
90
+ MARTHOS: "MARTHOS";
74
91
  PHILLIP: "PHILLIP";
75
92
  PLUMBER_JOE: "PLUMBER_JOE";
76
93
  SEYMOUR: "SEYMOUR";
@@ -89,14 +106,38 @@ export declare const actionPlaceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
89
106
  }, z.core.$strict>>>;
90
107
  type: z.ZodLiteral<"workbench">;
91
108
  }, z.core.$strict>]>;
109
+ /**
110
+ * NOTE: This schema uses uppercase to align 1-to-1 with the Skyblock Items API's requirements format.
111
+ */
112
+ export declare const actionRequirementSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
113
+ collection: z.ZodEnum<{
114
+ GEMSTONE: "GEMSTONE";
115
+ }>;
116
+ tier: z.ZodInt;
117
+ type: z.ZodLiteral<"COLLECTION">;
118
+ }, z.core.$strict>, z.ZodObject<{
119
+ level: z.ZodInt;
120
+ skill: z.ZodEnum<{
121
+ MINING: "MINING";
122
+ }>;
123
+ type: z.ZodLiteral<"SKILL">;
124
+ }, z.core.$strict>, z.ZodObject<{
125
+ tier: z.ZodInt;
126
+ type: z.ZodLiteral<"HEART_OF_THE_MOUNTAIN">;
127
+ }, z.core.$strict>]>;
92
128
  export declare const actionSchema: z.ZodObject<{
93
129
  inputs: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
130
+ amount: z.ZodNumber;
131
+ id: z.ZodString;
132
+ type: z.ZodLiteral<"crystal">;
133
+ }, z.core.$strict>, z.ZodObject<{
94
134
  amount: z.ZodNumber;
95
135
  id: z.ZodEnum<{
96
136
  bit: "bit";
97
137
  coin: "coin";
98
138
  copper: "copper";
99
139
  gem: "gem";
140
+ "forge-second": "forge-second";
100
141
  "north-star": "north-star";
101
142
  pest: "pest";
102
143
  second: "second";
@@ -109,12 +150,17 @@ export declare const actionSchema: z.ZodObject<{
109
150
  type: z.ZodLiteral<"item">;
110
151
  }, z.core.$strict>]>>;
111
152
  outputs: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
153
+ amount: z.ZodNumber;
154
+ id: z.ZodString;
155
+ type: z.ZodLiteral<"crystal">;
156
+ }, z.core.$strict>, z.ZodObject<{
112
157
  amount: z.ZodNumber;
113
158
  id: z.ZodEnum<{
114
159
  bit: "bit";
115
160
  coin: "coin";
116
161
  copper: "copper";
117
162
  gem: "gem";
163
+ "forge-second": "forge-second";
118
164
  "north-star": "north-star";
119
165
  pest: "pest";
120
166
  second: "second";
@@ -138,6 +184,8 @@ export declare const actionSchema: z.ZodObject<{
138
184
  type: z.ZodLiteral<"item">;
139
185
  }, z.core.$strict>;
140
186
  type: z.ZodLiteral<"anvil">;
187
+ }, z.core.$strict>, z.ZodObject<{
188
+ type: z.ZodLiteral<"forge">;
141
189
  }, z.core.$strict>, z.ZodObject<{
142
190
  id: z.ZodEnum<{
143
191
  ADVENTURER: "ADVENTURER";
@@ -147,6 +195,8 @@ export declare const actionSchema: z.ZodObject<{
147
195
  EINARY: "EINARY";
148
196
  ELIZABETH: "ELIZABETH";
149
197
  FISHING_MERCHANT: "FISHING_MERCHANT";
198
+ HILDA: "HILDA";
199
+ MARTHOS: "MARTHOS";
150
200
  PHILLIP: "PHILLIP";
151
201
  PLUMBER_JOE: "PLUMBER_JOE";
152
202
  SEYMOUR: "SEYMOUR";
@@ -165,16 +215,38 @@ export declare const actionSchema: z.ZodObject<{
165
215
  }, z.core.$strict>>>;
166
216
  type: z.ZodLiteral<"workbench">;
167
217
  }, z.core.$strict>]>>;
218
+ requirements: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
219
+ collection: z.ZodEnum<{
220
+ GEMSTONE: "GEMSTONE";
221
+ }>;
222
+ tier: z.ZodInt;
223
+ type: z.ZodLiteral<"COLLECTION">;
224
+ }, z.core.$strict>, z.ZodObject<{
225
+ level: z.ZodInt;
226
+ skill: z.ZodEnum<{
227
+ MINING: "MINING";
228
+ }>;
229
+ type: z.ZodLiteral<"SKILL">;
230
+ }, z.core.$strict>, z.ZodObject<{
231
+ tier: z.ZodInt;
232
+ type: z.ZodLiteral<"HEART_OF_THE_MOUNTAIN">;
233
+ }, z.core.$strict>]>>>;
168
234
  }, z.core.$strict>;
169
235
  export declare const actionDefinitionSchema: z.ZodObject<{
236
+ $schema: z.ZodOptional<z.ZodString>;
170
237
  actions: z.ZodArray<z.ZodObject<{
171
238
  inputs: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
239
+ amount: z.ZodNumber;
240
+ id: z.ZodString;
241
+ type: z.ZodLiteral<"crystal">;
242
+ }, z.core.$strict>, z.ZodObject<{
172
243
  amount: z.ZodNumber;
173
244
  id: z.ZodEnum<{
174
245
  bit: "bit";
175
246
  coin: "coin";
176
247
  copper: "copper";
177
248
  gem: "gem";
249
+ "forge-second": "forge-second";
178
250
  "north-star": "north-star";
179
251
  pest: "pest";
180
252
  second: "second";
@@ -187,12 +259,17 @@ export declare const actionDefinitionSchema: z.ZodObject<{
187
259
  type: z.ZodLiteral<"item">;
188
260
  }, z.core.$strict>]>>;
189
261
  outputs: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
262
+ amount: z.ZodNumber;
263
+ id: z.ZodString;
264
+ type: z.ZodLiteral<"crystal">;
265
+ }, z.core.$strict>, z.ZodObject<{
190
266
  amount: z.ZodNumber;
191
267
  id: z.ZodEnum<{
192
268
  bit: "bit";
193
269
  coin: "coin";
194
270
  copper: "copper";
195
271
  gem: "gem";
272
+ "forge-second": "forge-second";
196
273
  "north-star": "north-star";
197
274
  pest: "pest";
198
275
  second: "second";
@@ -216,6 +293,8 @@ export declare const actionDefinitionSchema: z.ZodObject<{
216
293
  type: z.ZodLiteral<"item">;
217
294
  }, z.core.$strict>;
218
295
  type: z.ZodLiteral<"anvil">;
296
+ }, z.core.$strict>, z.ZodObject<{
297
+ type: z.ZodLiteral<"forge">;
219
298
  }, z.core.$strict>, z.ZodObject<{
220
299
  id: z.ZodEnum<{
221
300
  ADVENTURER: "ADVENTURER";
@@ -225,6 +304,8 @@ export declare const actionDefinitionSchema: z.ZodObject<{
225
304
  EINARY: "EINARY";
226
305
  ELIZABETH: "ELIZABETH";
227
306
  FISHING_MERCHANT: "FISHING_MERCHANT";
307
+ HILDA: "HILDA";
308
+ MARTHOS: "MARTHOS";
228
309
  PHILLIP: "PHILLIP";
229
310
  PLUMBER_JOE: "PLUMBER_JOE";
230
311
  SEYMOUR: "SEYMOUR";
@@ -243,6 +324,21 @@ export declare const actionDefinitionSchema: z.ZodObject<{
243
324
  }, z.core.$strict>>>;
244
325
  type: z.ZodLiteral<"workbench">;
245
326
  }, z.core.$strict>]>>;
327
+ requirements: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
328
+ collection: z.ZodEnum<{
329
+ GEMSTONE: "GEMSTONE";
330
+ }>;
331
+ tier: z.ZodInt;
332
+ type: z.ZodLiteral<"COLLECTION">;
333
+ }, z.core.$strict>, z.ZodObject<{
334
+ level: z.ZodInt;
335
+ skill: z.ZodEnum<{
336
+ MINING: "MINING";
337
+ }>;
338
+ type: z.ZodLiteral<"SKILL">;
339
+ }, z.core.$strict>, z.ZodObject<{
340
+ tier: z.ZodInt;
341
+ type: z.ZodLiteral<"HEART_OF_THE_MOUNTAIN">;
342
+ }, z.core.$strict>]>>>;
246
343
  }, z.core.$strict>>;
247
- $schema: z.ZodOptional<z.ZodString>;
248
344
  }, z.core.$strict>;
package/dist/schema.js CHANGED
@@ -1,31 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.actionDefinitionSchema = exports.actionSchema = exports.actionPlaceSchema = exports.npcIdSchema = exports.actionIoSchema = exports.actionIoCurrencySchema = exports.actionIoItemSchema = void 0;
3
+ exports.actionDefinitionSchema = exports.actionSchema = exports.actionRequirementSchema = exports.actionPlaceSchema = exports.npcIdSchema = exports.actionIoSchema = exports.actionIoItemSchema = exports.actionIoCurrencySchema = exports.actionIoCrystalSchema = void 0;
4
4
  const v4_1 = require("zod/v4");
5
- exports.actionIoItemSchema = v4_1.z
6
- .object({
5
+ exports.actionIoCrystalSchema = v4_1.z.strictObject({
7
6
  amount: v4_1.z.number(),
8
7
  id: v4_1.z.string(),
9
- type: v4_1.z.literal('item'),
10
- })
11
- .strict();
12
- exports.actionIoCurrencySchema = v4_1.z
13
- .object({
8
+ type: v4_1.z.literal('crystal'),
9
+ });
10
+ exports.actionIoCurrencySchema = v4_1.z.strictObject({
14
11
  amount: v4_1.z.number(),
15
12
  id: v4_1.z.enum([
16
13
  'bit',
17
14
  'coin',
18
15
  'copper',
19
16
  'gem',
17
+ 'forge-second',
20
18
  'north-star',
21
19
  'pest',
22
20
  'second',
23
21
  'usd',
24
22
  ]),
25
23
  type: v4_1.z.literal('currency'),
26
- })
27
- .strict();
24
+ });
25
+ exports.actionIoItemSchema = v4_1.z.strictObject({
26
+ amount: v4_1.z.number(),
27
+ id: v4_1.z.string(),
28
+ type: v4_1.z.literal('item'),
29
+ });
28
30
  exports.actionIoSchema = v4_1.z.discriminatedUnion('type', [
31
+ exports.actionIoCrystalSchema,
29
32
  exports.actionIoCurrencySchema,
30
33
  exports.actionIoItemSchema,
31
34
  ]);
@@ -37,6 +40,8 @@ exports.npcIdSchema = v4_1.z.enum([
37
40
  'EINARY',
38
41
  'ELIZABETH',
39
42
  'FISHING_MERCHANT',
43
+ 'HILDA',
44
+ 'MARTHOS',
40
45
  'PHILLIP',
41
46
  'PLUMBER_JOE',
42
47
  'SEYMOUR',
@@ -49,6 +54,9 @@ exports.actionPlaceSchema = v4_1.z.discriminatedUnion('type', [
49
54
  right: exports.actionIoItemSchema,
50
55
  type: v4_1.z.literal('anvil'),
51
56
  }),
57
+ v4_1.z.strictObject({
58
+ type: v4_1.z.literal('forge'),
59
+ }),
52
60
  v4_1.z.strictObject({
53
61
  id: exports.npcIdSchema,
54
62
  type: v4_1.z.literal('npc'),
@@ -62,16 +70,32 @@ exports.actionPlaceSchema = v4_1.z.discriminatedUnion('type', [
62
70
  type: v4_1.z.literal('workbench'),
63
71
  }),
64
72
  ]);
65
- exports.actionSchema = v4_1.z
66
- .object({
73
+ /**
74
+ * NOTE: This schema uses uppercase to align 1-to-1 with the Skyblock Items API's requirements format.
75
+ */
76
+ exports.actionRequirementSchema = v4_1.z.discriminatedUnion('type', [
77
+ v4_1.z.strictObject({
78
+ collection: v4_1.z.enum(['GEMSTONE' /* to be added as-needed */]),
79
+ tier: v4_1.z.int().min(1).max(10),
80
+ type: v4_1.z.literal('COLLECTION'),
81
+ }),
82
+ v4_1.z.strictObject({
83
+ level: v4_1.z.int().min(1).max(60),
84
+ skill: v4_1.z.enum(['MINING' /* to be added as-needed */]),
85
+ type: v4_1.z.literal('SKILL'),
86
+ }),
87
+ v4_1.z.strictObject({
88
+ tier: v4_1.z.int().min(1).max(10),
89
+ type: v4_1.z.literal('HEART_OF_THE_MOUNTAIN'),
90
+ }),
91
+ ]);
92
+ exports.actionSchema = v4_1.z.strictObject({
67
93
  inputs: v4_1.z.array(exports.actionIoSchema),
68
94
  outputs: v4_1.z.array(exports.actionIoSchema),
69
95
  place: v4_1.z.array(exports.actionPlaceSchema),
70
- })
71
- .strict();
72
- exports.actionDefinitionSchema = v4_1.z
73
- .object({
74
- actions: v4_1.z.array(exports.actionSchema),
96
+ requirements: v4_1.z.array(exports.actionRequirementSchema).optional(),
97
+ });
98
+ exports.actionDefinitionSchema = v4_1.z.strictObject({
75
99
  $schema: v4_1.z.string().optional(),
76
- })
77
- .strict();
100
+ actions: v4_1.z.array(exports.actionSchema),
101
+ });
package/dist/types.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  import { z } from 'zod/v4';
2
- import { actionIoCurrencySchema, actionIoItemSchema, actionIoSchema, actionSchema, npcIdSchema } from './schema';
2
+ import { actionIoCrystalSchema, actionIoCurrencySchema, actionIoItemSchema, actionIoSchema, actionRequirementSchema, actionSchema, npcIdSchema } from './schema';
3
3
  export type Action = z.output<typeof actionSchema>;
4
4
  export type ActionCurrency = z.output<typeof actionIoCurrencySchema.shape.id>;
5
5
  export type ActionIo = z.output<typeof actionIoSchema>;
6
+ export type ActionIoCrystal = z.output<typeof actionIoCrystalSchema>;
6
7
  export type ActionIoCurrency = z.output<typeof actionIoCurrencySchema>;
7
8
  export type ActionIoItem = z.output<typeof actionIoItemSchema>;
9
+ export type ActionRequirement = z.output<typeof actionRequirementSchema>;
8
10
  export type NpcId = z.output<typeof npcIdSchema>;