@openora/core 0.4.1-canary.130 → 0.4.1-canary.132

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 (21) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/engagement/chat-commands/__tests__/migration-upgrade.int.test.js +46 -0
  3. package/dist/engagement/chat-commands/__tests__/migration-upgrade.int.test.js.map +1 -1
  4. package/dist/engagement/chat-commands/contract/index.d.ts +48 -12
  5. package/dist/engagement/chat-commands/contract/index.d.ts.map +1 -1
  6. package/dist/engagement/chat-commands/contract/index.js +6 -3
  7. package/dist/engagement/chat-commands/contract/index.js.map +1 -1
  8. package/dist/engagement/chat-commands/drizzle/migrations/0002_single_currency_command_limits.sql +45 -0
  9. package/dist/engagement/chat-commands/drizzle/migrations/meta/0002_snapshot.json +83 -0
  10. package/dist/engagement/chat-commands/drizzle/migrations/meta/_journal.json +7 -0
  11. package/dist/engagement/chat-commands/router/index.d.ts +32 -8
  12. package/dist/engagement/chat-commands/router/index.d.ts.map +1 -1
  13. package/dist/engagement/chat-commands/schema/index.d.ts +16 -4
  14. package/dist/engagement/chat-commands/schema/index.d.ts.map +1 -1
  15. package/dist/engagement/chat-commands/seed/index.js +3 -3
  16. package/dist/engagement/chat-commands/seed/index.js.map +1 -1
  17. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js +11 -0
  18. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js.map +1 -1
  19. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts +8 -2
  20. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts.map +1 -1
  21. package/package.json +1 -1
@@ -2,6 +2,7 @@ import { Pool } from 'pg';
2
2
  import { describe, expect, it } from 'vitest';
3
3
  import { createTestDb } from '@openora/core/testing';
4
4
  import { migrate } from '../migrate.js';
5
+ import { CommandConfigSchema } from '../contract/index.js';
5
6
  const STRIPED_TRAUMA_HASH = 'a58ec63c81a4cbd62603a8381da61c5c6d85b57af5d56ba79839d090fbcf0708';
6
7
  async function migratePreviousHead(databaseUrl) {
7
8
  const pool = new Pool({ connectionString: databaseUrl });
@@ -33,6 +34,23 @@ async function migratePreviousHead(databaseUrl) {
33
34
  await pool.end();
34
35
  }
35
36
  }
37
+ const LEGACY_ROWS = [
38
+ ['gift', '{"minAmount":"1.00000000"}'],
39
+ ['rain', '{"minAmount":{"USD":"4"},"maxRecipients":100}'],
40
+ ['donate', '{"minAmount":{"ETH":"0.01","BTC":"0.0001"},"maxAmount":{"USD":"50","BTC":"0.5"}}'],
41
+ ['profile', '{"minAmount":{"currency":"USD","amount":"7"}}'],
42
+ ];
43
+ async function seedLegacyConfigs(databaseUrl) {
44
+ const pool = new Pool({ connectionString: databaseUrl });
45
+ try {
46
+ for (const [key, config] of LEGACY_ROWS) {
47
+ await pool.query(`INSERT INTO chat_command_config (key, label, config) VALUES ($1, $1, $2::jsonb)`, [key, config]);
48
+ }
49
+ }
50
+ finally {
51
+ await pool.end();
52
+ }
53
+ }
36
54
  describe('chat-command migration upgrades', () => {
37
55
  it('accepts a database migrated by the previous striped-trauma baseline', async () => {
38
56
  const db = await createTestDb([migratePreviousHead, migrate]);
@@ -48,5 +66,33 @@ describe('chat-command migration upgrades', () => {
48
66
  await db.drop();
49
67
  }
50
68
  });
69
+ it('rewrites both legacy limit shapes into a single currency/amount pair', async () => {
70
+ const db = await createTestDb([migratePreviousHead, seedLegacyConfigs, migrate]);
71
+ const pool = new Pool({ connectionString: db.url });
72
+ try {
73
+ const rows = await pool.query('SELECT key, config FROM chat_command_config ORDER BY key');
74
+ const byKey = Object.fromEntries(rows.rows.map((r) => [r.key, r.config]));
75
+ expect(byKey['gift']).toEqual({ minAmount: { currency: 'USD', amount: '1.00000000' } });
76
+ expect(byKey['rain']).toEqual({
77
+ minAmount: { currency: 'USD', amount: '4' },
78
+ maxRecipients: 100,
79
+ });
80
+ // No USD entry: the alphabetically first key wins, so every stand converges on the same row.
81
+ expect(byKey['donate']).toEqual({
82
+ minAmount: { currency: 'BTC', amount: '0.0001' },
83
+ maxAmount: { currency: 'USD', amount: '50' },
84
+ });
85
+ // Already converted - left untouched, so re-running the migration is safe.
86
+ expect(byKey['profile']).toEqual({ minAmount: { currency: 'USD', amount: '7' } });
87
+ // The bug this migration exists for: one unparseable row failed the whole list route.
88
+ for (const row of rows.rows) {
89
+ expect(CommandConfigSchema.safeParse(row.config).success).toBe(true);
90
+ }
91
+ }
92
+ finally {
93
+ await pool.end();
94
+ await db.drop();
95
+ }
96
+ });
51
97
  });
52
98
  //# sourceMappingURL=migration-upgrade.int.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migration-upgrade.int.test.js","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/__tests__/migration-upgrade.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,mBAAmB,GAAG,kEAAkE,CAAC;AAE/F,KAAK,UAAU,mBAAmB,CAAC,WAAmB;IACpD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;KAWhB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;KAMhB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,CACd;uBACiB,EACjB,CAAC,mBAAmB,EAAE,aAAa,CAAC,CACrC,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAChC;;wDAEgD,CACjD,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"migration-upgrade.int.test.js","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/__tests__/migration-upgrade.int.test.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,14 @@ export declare const ChatCommandTypeSchema: z.ZodEnum<{
13
13
  }>;
14
14
  export type ChatCommandType = z.infer<typeof ChatCommandTypeSchema>;
15
15
  export declare const CommandConfigSchema: z.ZodObject<{
16
- maxAmount: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
17
- minAmount: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
16
+ maxAmount: z.ZodOptional<z.ZodObject<{
17
+ currency: z.ZodString;
18
+ amount: z.ZodString;
19
+ }, z.core.$strip>>;
20
+ minAmount: z.ZodOptional<z.ZodObject<{
21
+ currency: z.ZodString;
22
+ amount: z.ZodString;
23
+ }, z.core.$strip>>;
18
24
  maxRecipients: z.ZodOptional<z.ZodNumber>;
19
25
  }, z.core.$strip>;
20
26
  export type CommandConfig = z.infer<typeof CommandConfigSchema>;
@@ -34,8 +40,14 @@ export declare const ChatCommandDescriptorSchema: z.ZodObject<{
34
40
  label: z.ZodString;
35
41
  description: z.ZodNullable<z.ZodString>;
36
42
  config: z.ZodNullable<z.ZodObject<{
37
- maxAmount: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
38
- minAmount: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
43
+ maxAmount: z.ZodOptional<z.ZodObject<{
44
+ currency: z.ZodString;
45
+ amount: z.ZodString;
46
+ }, z.core.$strip>>;
47
+ minAmount: z.ZodOptional<z.ZodObject<{
48
+ currency: z.ZodString;
49
+ amount: z.ZodString;
50
+ }, z.core.$strip>>;
39
51
  maxRecipients: z.ZodOptional<z.ZodNumber>;
40
52
  }, z.core.$strip>>;
41
53
  updatedAt: z.ZodISODateTime;
@@ -69,8 +81,14 @@ export declare const chatCommandsContract: {
69
81
  label: z.ZodString;
70
82
  description: z.ZodNullable<z.ZodString>;
71
83
  config: z.ZodNullable<z.ZodObject<{
72
- maxAmount: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
73
- minAmount: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
84
+ maxAmount: z.ZodOptional<z.ZodObject<{
85
+ currency: z.ZodString;
86
+ amount: z.ZodString;
87
+ }, z.core.$strip>>;
88
+ minAmount: z.ZodOptional<z.ZodObject<{
89
+ currency: z.ZodString;
90
+ amount: z.ZodString;
91
+ }, z.core.$strip>>;
74
92
  maxRecipients: z.ZodOptional<z.ZodNumber>;
75
93
  }, z.core.$strip>>;
76
94
  updatedAt: z.ZodISODateTime;
@@ -111,8 +129,14 @@ export declare const chatCommandsContract: {
111
129
  label: z.ZodString;
112
130
  description: z.ZodNullable<z.ZodString>;
113
131
  config: z.ZodNullable<z.ZodObject<{
114
- maxAmount: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
115
- minAmount: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
132
+ maxAmount: z.ZodOptional<z.ZodObject<{
133
+ currency: z.ZodString;
134
+ amount: z.ZodString;
135
+ }, z.core.$strip>>;
136
+ minAmount: z.ZodOptional<z.ZodObject<{
137
+ currency: z.ZodString;
138
+ amount: z.ZodString;
139
+ }, z.core.$strip>>;
116
140
  maxRecipients: z.ZodOptional<z.ZodNumber>;
117
141
  }, z.core.$strip>>;
118
142
  updatedAt: z.ZodISODateTime;
@@ -135,8 +159,14 @@ export declare const chatCommandsContract: {
135
159
  }>;
136
160
  enabled: z.ZodBoolean;
137
161
  config: z.ZodOptional<z.ZodObject<{
138
- maxAmount: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
139
- minAmount: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
162
+ maxAmount: z.ZodOptional<z.ZodObject<{
163
+ currency: z.ZodString;
164
+ amount: z.ZodString;
165
+ }, z.core.$strip>>;
166
+ minAmount: z.ZodOptional<z.ZodObject<{
167
+ currency: z.ZodString;
168
+ amount: z.ZodString;
169
+ }, z.core.$strip>>;
140
170
  maxRecipients: z.ZodOptional<z.ZodNumber>;
141
171
  }, z.core.$strip>>;
142
172
  }, z.core.$strip>, z.ZodObject<{
@@ -155,8 +185,14 @@ export declare const chatCommandsContract: {
155
185
  label: z.ZodString;
156
186
  description: z.ZodNullable<z.ZodString>;
157
187
  config: z.ZodNullable<z.ZodObject<{
158
- maxAmount: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
159
- minAmount: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
188
+ maxAmount: z.ZodOptional<z.ZodObject<{
189
+ currency: z.ZodString;
190
+ amount: z.ZodString;
191
+ }, z.core.$strip>>;
192
+ minAmount: z.ZodOptional<z.ZodObject<{
193
+ currency: z.ZodString;
194
+ amount: z.ZodString;
195
+ }, z.core.$strip>>;
160
196
  maxRecipients: z.ZodOptional<z.ZodNumber>;
161
197
  }, z.core.$strip>>;
162
198
  updatedAt: z.ZodISODateTime;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/contract/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAUzB,eAAO,MAAM,kBAAkB,qGAUrB,CAAC;AACX,eAAO,MAAM,qBAAqB;;;;;;;;;;EAA6B,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;iBAOtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,wBAAwB,+BAAgC,CAAC;AACtE,eAAO,MAAM,wBAAwB;;;GAAkD,CAAC;AACxF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsChC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/contract/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAUzB,eAAO,MAAM,kBAAkB,qGAUrB,CAAC;AACX,eAAO,MAAM,qBAAqB;;;;;;;;;;EAA6B,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAOpE,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,wBAAwB,+BAAgC,CAAC;AACtE,eAAO,MAAM,wBAAwB;;;GAAkD,CAAC;AACxF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsChC,CAAC"}
@@ -14,10 +14,13 @@ export const CHAT_COMMAND_TYPES = [
14
14
  'unignore',
15
15
  ];
16
16
  export const ChatCommandTypeSchema = z.enum(CHAT_COMMAND_TYPES);
17
- const PerCurrencyAmountSchema = z.record(CurrencyTickerSchema, MoneyAmountSchema);
17
+ const CurrencyAmountSchema = z.object({
18
+ currency: CurrencyTickerSchema,
19
+ amount: MoneyAmountSchema,
20
+ });
18
21
  export const CommandConfigSchema = z.object({
19
- maxAmount: PerCurrencyAmountSchema.optional(),
20
- minAmount: PerCurrencyAmountSchema.optional(),
22
+ maxAmount: CurrencyAmountSchema.optional(),
23
+ minAmount: CurrencyAmountSchema.optional(),
21
24
  maxRecipients: z.number().int().positive().optional(),
22
25
  });
23
26
  export const ChatCommandDescriptorSchema = z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/contract/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/contract/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ -- `minAmount`/`maxAmount` moved from a per-currency map (and, before that, a flat amount
2
+ -- string) to a single `{currency, amount}` pair: the limit is now stated once and every
3
+ -- other currency is converted into it at check time, the way a responsible-gambling limit
4
+ -- already behaves. Rows written under either older shape fail the output schema, so the
5
+ -- whole command list 500s until they are rewritten.
6
+ --
7
+ -- A flat string carries no currency of its own; USD is the currency the seed used when that
8
+ -- shape was written, and no other record of it exists. A map keeps its USD entry when it has
9
+ -- one, otherwise its alphabetically first key, so the result is the same on every stand.
10
+ -- Rows already carrying a `currency` key are skipped, which keeps this re-runnable.
11
+ UPDATE "chat_command_config"
12
+ SET "config" = "config" || jsonb_build_object('minAmount',
13
+ CASE jsonb_typeof("config"->'minAmount')
14
+ WHEN 'string' THEN jsonb_build_object('currency', 'USD', 'amount', "config"->>'minAmount')
15
+ ELSE (
16
+ SELECT jsonb_build_object('currency', entry.key, 'amount', entry.value)
17
+ FROM jsonb_each_text("config"->'minAmount') AS entry
18
+ ORDER BY (entry.key <> 'USD'), entry.key
19
+ LIMIT 1
20
+ )
21
+ END)
22
+ WHERE jsonb_typeof("config"->'minAmount') = 'string'
23
+ OR (
24
+ jsonb_typeof("config"->'minAmount') = 'object'
25
+ AND "config"->'minAmount' <> '{}'::jsonb
26
+ AND NOT jsonb_exists("config"->'minAmount', 'currency')
27
+ );
28
+ --> statement-breakpoint
29
+ UPDATE "chat_command_config"
30
+ SET "config" = "config" || jsonb_build_object('maxAmount',
31
+ CASE jsonb_typeof("config"->'maxAmount')
32
+ WHEN 'string' THEN jsonb_build_object('currency', 'USD', 'amount', "config"->>'maxAmount')
33
+ ELSE (
34
+ SELECT jsonb_build_object('currency', entry.key, 'amount', entry.value)
35
+ FROM jsonb_each_text("config"->'maxAmount') AS entry
36
+ ORDER BY (entry.key <> 'USD'), entry.key
37
+ LIMIT 1
38
+ )
39
+ END)
40
+ WHERE jsonb_typeof("config"->'maxAmount') = 'string'
41
+ OR (
42
+ jsonb_typeof("config"->'maxAmount') = 'object'
43
+ AND "config"->'maxAmount' <> '{}'::jsonb
44
+ AND NOT jsonb_exists("config"->'maxAmount', 'currency')
45
+ );
@@ -0,0 +1,83 @@
1
+ {
2
+ "id": "49f9b886-c34f-4841-8218-9dbde1bcdd06",
3
+ "prevId": "87c4c011-02ca-4e04-a90d-f7f8f169cd28",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.chat_command_config": {
8
+ "name": "chat_command_config",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "uuid",
14
+ "primaryKey": true,
15
+ "notNull": true,
16
+ "default": "gen_random_uuid()"
17
+ },
18
+ "key": {
19
+ "name": "key",
20
+ "type": "text",
21
+ "primaryKey": false,
22
+ "notNull": true
23
+ },
24
+ "enabled": {
25
+ "name": "enabled",
26
+ "type": "boolean",
27
+ "primaryKey": false,
28
+ "notNull": true,
29
+ "default": true
30
+ },
31
+ "label": {
32
+ "name": "label",
33
+ "type": "text",
34
+ "primaryKey": false,
35
+ "notNull": true
36
+ },
37
+ "description": {
38
+ "name": "description",
39
+ "type": "text",
40
+ "primaryKey": false,
41
+ "notNull": false
42
+ },
43
+ "config": {
44
+ "name": "config",
45
+ "type": "jsonb",
46
+ "primaryKey": false,
47
+ "notNull": false
48
+ },
49
+ "updated_at": {
50
+ "name": "updated_at",
51
+ "type": "timestamp with time zone",
52
+ "primaryKey": false,
53
+ "notNull": true,
54
+ "default": "now()"
55
+ }
56
+ },
57
+ "indexes": {},
58
+ "foreignKeys": {},
59
+ "compositePrimaryKeys": {},
60
+ "uniqueConstraints": {
61
+ "chat_command_config_key_unique": {
62
+ "name": "chat_command_config_key_unique",
63
+ "columns": ["key"],
64
+ "nullsNotDistinct": false
65
+ }
66
+ },
67
+ "policies": {},
68
+ "checkConstraints": {},
69
+ "isRLSEnabled": false
70
+ }
71
+ },
72
+ "enums": {},
73
+ "schemas": {},
74
+ "views": {},
75
+ "sequences": {},
76
+ "roles": {},
77
+ "policies": {},
78
+ "_meta": {
79
+ "columns": {},
80
+ "schemas": {},
81
+ "tables": {}
82
+ }
83
+ }
@@ -15,6 +15,13 @@
15
15
  "when": 1787009522084,
16
16
  "tag": "0001_sturdy_barracuda",
17
17
  "breakpoints": true
18
+ },
19
+ {
20
+ "idx": 2,
21
+ "version": "7",
22
+ "when": 1788717005097,
23
+ "tag": "0002_single_currency_command_limits",
24
+ "breakpoints": true
18
25
  }
19
26
  ]
20
27
  }
@@ -17,8 +17,14 @@ export declare function createChatCommandsRouter(svc: ChatCommandsService, admin
17
17
  label: import("zod").ZodString;
18
18
  description: import("zod").ZodNullable<import("zod").ZodString>;
19
19
  config: import("zod").ZodNullable<import("zod").ZodObject<{
20
- maxAmount: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
21
- minAmount: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
20
+ maxAmount: import("zod").ZodOptional<import("zod").ZodObject<{
21
+ currency: import("zod").ZodString;
22
+ amount: import("zod").ZodString;
23
+ }, import("zod/v4/core").$strip>>;
24
+ minAmount: import("zod").ZodOptional<import("zod").ZodObject<{
25
+ currency: import("zod").ZodString;
26
+ amount: import("zod").ZodString;
27
+ }, import("zod/v4/core").$strip>>;
22
28
  maxRecipients: import("zod").ZodOptional<import("zod").ZodNumber>;
23
29
  }, import("zod/v4/core").$strip>>;
24
30
  updatedAt: import("zod").ZodISODateTime;
@@ -51,8 +57,14 @@ export declare function createChatCommandsRouter(svc: ChatCommandsService, admin
51
57
  label: import("zod").ZodString;
52
58
  description: import("zod").ZodNullable<import("zod").ZodString>;
53
59
  config: import("zod").ZodNullable<import("zod").ZodObject<{
54
- maxAmount: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
55
- minAmount: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
60
+ maxAmount: import("zod").ZodOptional<import("zod").ZodObject<{
61
+ currency: import("zod").ZodString;
62
+ amount: import("zod").ZodString;
63
+ }, import("zod/v4/core").$strip>>;
64
+ minAmount: import("zod").ZodOptional<import("zod").ZodObject<{
65
+ currency: import("zod").ZodString;
66
+ amount: import("zod").ZodString;
67
+ }, import("zod/v4/core").$strip>>;
56
68
  maxRecipients: import("zod").ZodOptional<import("zod").ZodNumber>;
57
69
  }, import("zod/v4/core").$strip>>;
58
70
  updatedAt: import("zod").ZodISODateTime;
@@ -75,8 +87,14 @@ export declare function createChatCommandsRouter(svc: ChatCommandsService, admin
75
87
  }>;
76
88
  enabled: import("zod").ZodBoolean;
77
89
  config: import("zod").ZodOptional<import("zod").ZodObject<{
78
- maxAmount: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
79
- minAmount: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
90
+ maxAmount: import("zod").ZodOptional<import("zod").ZodObject<{
91
+ currency: import("zod").ZodString;
92
+ amount: import("zod").ZodString;
93
+ }, import("zod/v4/core").$strip>>;
94
+ minAmount: import("zod").ZodOptional<import("zod").ZodObject<{
95
+ currency: import("zod").ZodString;
96
+ amount: import("zod").ZodString;
97
+ }, import("zod/v4/core").$strip>>;
80
98
  maxRecipients: import("zod").ZodOptional<import("zod").ZodNumber>;
81
99
  }, import("zod/v4/core").$strip>>;
82
100
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
@@ -95,8 +113,14 @@ export declare function createChatCommandsRouter(svc: ChatCommandsService, admin
95
113
  label: import("zod").ZodString;
96
114
  description: import("zod").ZodNullable<import("zod").ZodString>;
97
115
  config: import("zod").ZodNullable<import("zod").ZodObject<{
98
- maxAmount: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
99
- minAmount: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
116
+ maxAmount: import("zod").ZodOptional<import("zod").ZodObject<{
117
+ currency: import("zod").ZodString;
118
+ amount: import("zod").ZodString;
119
+ }, import("zod/v4/core").$strip>>;
120
+ minAmount: import("zod").ZodOptional<import("zod").ZodObject<{
121
+ currency: import("zod").ZodString;
122
+ amount: import("zod").ZodString;
123
+ }, import("zod/v4/core").$strip>>;
100
124
  maxRecipients: import("zod").ZodOptional<import("zod").ZodNumber>;
101
125
  }, import("zod/v4/core").$strip>>;
102
126
  updatedAt: import("zod").ZodISODateTime;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/router/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAI1E,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBxF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/router/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAI1E,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBxF"}
@@ -93,8 +93,14 @@ export declare const chatCommandConfig: import("drizzle-orm/pg-core").PgTableWit
93
93
  dataType: "json";
94
94
  columnType: "PgJsonb";
95
95
  data: {
96
- maxAmount?: Record<string, string> | undefined;
97
- minAmount?: Record<string, string> | undefined;
96
+ maxAmount?: {
97
+ currency: string;
98
+ amount: string;
99
+ } | undefined;
100
+ minAmount?: {
101
+ currency: string;
102
+ amount: string;
103
+ } | undefined;
98
104
  maxRecipients?: number | undefined;
99
105
  };
100
106
  driverParam: unknown;
@@ -109,8 +115,14 @@ export declare const chatCommandConfig: import("drizzle-orm/pg-core").PgTableWit
109
115
  generated: undefined;
110
116
  }, {}, {
111
117
  $type: {
112
- maxAmount?: Record<string, string> | undefined;
113
- minAmount?: Record<string, string> | undefined;
118
+ maxAmount?: {
119
+ currency: string;
120
+ amount: string;
121
+ } | undefined;
122
+ minAmount?: {
123
+ currency: string;
124
+ amount: string;
125
+ } | undefined;
114
126
  maxRecipients?: number | undefined;
115
127
  };
116
128
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/schema/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY7B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/schema/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY7B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,YAAY,CAAC"}
@@ -20,21 +20,21 @@ export async function seedChatCommands(db) {
20
20
  enabled: true,
21
21
  label: 'Gift',
22
22
  description: 'Send tokens to another player',
23
- config: { minAmount: { USD: '1.00000000' } },
23
+ config: { minAmount: { currency: 'USD', amount: '1.00000000' } },
24
24
  },
25
25
  {
26
26
  key: 'rain',
27
27
  enabled: true,
28
28
  label: 'Rain',
29
29
  description: 'Split tokens among online room members',
30
- config: { minAmount: { USD: '1.00000000' }, maxRecipients: 100 },
30
+ config: { minAmount: { currency: 'USD', amount: '1.00000000' }, maxRecipients: 100 },
31
31
  },
32
32
  {
33
33
  key: 'donate',
34
34
  enabled: true,
35
35
  label: 'Donate',
36
36
  description: 'Send a direct tip to a specific player',
37
- config: { minAmount: { USD: '1.00000000' } },
37
+ config: { minAmount: { currency: 'USD', amount: '1.00000000' } },
38
38
  },
39
39
  {
40
40
  key: 'block',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/seed/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAa;IAClD,MAAM,EAAE;SACL,MAAM,CAAC,iBAAiB,CAAC;SACzB,MAAM,CAAC;QACN;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,uCAAuC;SACrD;QACD;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,4BAA4B;SAC1C;QACD;YACE,GAAG,EAAE,MAAM;YACX,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,+BAA+B;YAC5C,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE;SAC7C;QACD;YACE,GAAG,EAAE,MAAM;YACX,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,wCAAwC;YACrD,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE;SACjE;QACD;YACE,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,wCAAwC;YACrD,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE;SAC7C;QACD;YACE,GAAG,EAAE,OAAO;YACZ,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,yDAAyD;SACvE;QACD;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,gEAAgE;SAC9E;QACD;YACE,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,0DAA0D;SACxE;QACD;YACE,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,iEAAiE;SAC/E;KACF,CAAC;SACD,mBAAmB,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/seed/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAa;IAClD,MAAM,EAAE;SACL,MAAM,CAAC,iBAAiB,CAAC;SACzB,MAAM,CAAC;QACN;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,uCAAuC;SACrD;QACD;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,4BAA4B;SAC1C;QACD;YACE,GAAG,EAAE,MAAM;YACX,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,+BAA+B;YAC5C,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE;SACjE;QACD;YACE,GAAG,EAAE,MAAM;YACX,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,wCAAwC;YACrD,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE;SACrF;QACD;YACE,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,wCAAwC;YACrD,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE;SACjE;QACD;YACE,GAAG,EAAE,OAAO;YACZ,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,yDAAyD;SACvE;QACD;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,gEAAgE;SAC9E;QACD;YACE,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,0DAA0D;SACxE;QACD;YACE,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,iEAAiE;SAC/E;KACF,CAAC;SACD,mBAAmB,EAAE,CAAC;AAC3B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { describe, expect, it, vi } from 'vitest';
2
2
  import { mock, makeDrizzle } from '../../../../testing/mock.js';
3
3
  import { ChatCommandsService } from '../chat-commands.service.js';
4
+ import { ChatCommandDescriptorSchema } from '../../contract/index.js';
4
5
  const ENABLED_ROW = {
5
6
  key: 'gift',
6
7
  enabled: true,
@@ -52,6 +53,16 @@ describe('ChatCommandsService command registry', () => {
52
53
  expect(result.items).toHaveLength(2);
53
54
  expect(result.total).toBe(2);
54
55
  });
56
+ it('emits a descriptor the route contract accepts for a single-currency limit', async () => {
57
+ const config = { minAmount: { currency: 'USD', amount: '1.00000000' }, maxRecipients: 100 };
58
+ const result = await makeService([[{ ...ENABLED_ROW, config }], [{ n: 1 }]]).adminListCommands({
59
+ page: 1,
60
+ limit: 10,
61
+ sortBy: 'key',
62
+ sortOrder: 'asc',
63
+ });
64
+ expect(ChatCommandDescriptorSchema.parse(result.items[0]).config).toEqual(config);
65
+ });
55
66
  });
56
67
  describe('ChatCommandsService searchMentions', () => {
57
68
  it('matches a player who is not online for a typed query', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-commands.service.test.js","sourceRoot":"","sources":["../../../../../src/engagement/chat-commands/service/__tests__/chat-commands.service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-commands.service.test.js","sourceRoot":"","sources":["../../../../../src/engagement/chat-commands/service/__tests__/chat-commands.service.test.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,14 @@ export declare class ChatCommandsService {
25
25
  label: string;
26
26
  description: string | null;
27
27
  config: {
28
- maxAmount?: Record<string, string> | undefined;
29
- minAmount?: Record<string, string> | undefined;
28
+ maxAmount?: {
29
+ currency: string;
30
+ amount: string;
31
+ } | undefined;
32
+ minAmount?: {
33
+ currency: string;
34
+ amount: string;
35
+ } | undefined;
30
36
  maxRecipients?: number | undefined;
31
37
  } | null;
32
38
  updatedAt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-commands.service.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/service/chat-commands.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EAIf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,IAAI,EACJ,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAG9B,eAAO,MAAM,oBAAoB;QAhB9B,CAAC;CAgBgE,CAAC;AAoBrE,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAJL,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,kBAAkB,EAC7B,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,cAAc;IAGlC,YAAY,CAAC,eAAe,UAAQ,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAQvE,iBAAiB,CAAC,EACtB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,GACV,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,kBAAkB,CAAC;QAC3B,SAAS,EAAE,SAAS,CAAC;KACtB;;;;;;;;;;;;;;;;;IAeK,kBAAkB,CACtB,KAAK,EAAE;QAAE,GAAG,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,aAAa,CAAA;KAAE,EACzE,OAAO,EAAE,IAAI,GACZ,OAAO,CAAC,qBAAqB,CAAC;IAgC3B,cAAc,CAAC,EACnB,CAAC,EACD,KAAK,EACL,MAAM,EACN,QAAQ,GACT,EAAE;QACD,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;QACpB,QAAQ,EAAE,IAAI,CAAC;KAChB;;;;YA+Da,gBAAgB;CAO/B"}
1
+ {"version":3,"file":"chat-commands.service.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/service/chat-commands.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EAIf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,IAAI,EACJ,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAG9B,eAAO,MAAM,oBAAoB;QAhB9B,CAAC;CAgBgE,CAAC;AAoBrE,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAJL,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,kBAAkB,EAC7B,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,cAAc;IAGlC,YAAY,CAAC,eAAe,UAAQ,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAQvE,iBAAiB,CAAC,EACtB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,GACV,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,kBAAkB,CAAC;QAC3B,SAAS,EAAE,SAAS,CAAC;KACtB;;;;;;;;;;;;;;;;;;;;;;;IAeK,kBAAkB,CACtB,KAAK,EAAE;QAAE,GAAG,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,aAAa,CAAA;KAAE,EACzE,OAAO,EAAE,IAAI,GACZ,OAAO,CAAC,qBAAqB,CAAC;IAgC3B,cAAc,CAAC,EACnB,CAAC,EACD,KAAK,EACL,MAAM,EACN,QAAQ,GACT,EAAE;QACD,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;QACpB,QAAQ,EAAE,IAAI,CAAC;KAChB;;;;YA+Da,gBAAgB;CAO/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openora/core",
3
- "version": "0.4.1-canary.130",
3
+ "version": "0.4.1-canary.132",
4
4
  "description": "Open-source, headless, plugin-based, AI-native iGaming framework - domain modules, plugin engine, Zod-first contracts, typed React SDK",
5
5
  "keywords": [
6
6
  "ai-native",