@pungoyal/kite-cli 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 (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +292 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.js +7 -0
  5. package/dist/commands/auth.d.ts +2 -0
  6. package/dist/commands/auth.js +265 -0
  7. package/dist/commands/config.d.ts +2 -0
  8. package/dist/commands/config.js +182 -0
  9. package/dist/commands/gtt.d.ts +12 -0
  10. package/dist/commands/gtt.js +276 -0
  11. package/dist/commands/market.d.ts +2 -0
  12. package/dist/commands/market.js +389 -0
  13. package/dist/commands/orders.d.ts +2 -0
  14. package/dist/commands/orders.js +679 -0
  15. package/dist/commands/portfolio.d.ts +2 -0
  16. package/dist/commands/portfolio.js +286 -0
  17. package/dist/commands/types.d.ts +16 -0
  18. package/dist/commands/types.js +1 -0
  19. package/dist/commands/watch.d.ts +18 -0
  20. package/dist/commands/watch.js +285 -0
  21. package/dist/context.d.ts +40 -0
  22. package/dist/context.js +126 -0
  23. package/dist/core/api.d.ts +843 -0
  24. package/dist/core/api.js +472 -0
  25. package/dist/core/auth.d.ts +68 -0
  26. package/dist/core/auth.js +220 -0
  27. package/dist/core/client.d.ts +76 -0
  28. package/dist/core/client.js +285 -0
  29. package/dist/core/config.d.ts +114 -0
  30. package/dist/core/config.js +163 -0
  31. package/dist/core/credentials.d.ts +27 -0
  32. package/dist/core/credentials.js +182 -0
  33. package/dist/core/errors.d.ts +83 -0
  34. package/dist/core/errors.js +152 -0
  35. package/dist/core/instruments.d.ts +87 -0
  36. package/dist/core/instruments.js +288 -0
  37. package/dist/core/paths.d.ts +11 -0
  38. package/dist/core/paths.js +56 -0
  39. package/dist/core/ratelimit.d.ts +57 -0
  40. package/dist/core/ratelimit.js +196 -0
  41. package/dist/core/redact.d.ts +48 -0
  42. package/dist/core/redact.js +181 -0
  43. package/dist/core/schemas.d.ts +662 -0
  44. package/dist/core/schemas.js +433 -0
  45. package/dist/core/secretstore.d.ts +11 -0
  46. package/dist/core/secretstore.js +138 -0
  47. package/dist/core/session.d.ts +37 -0
  48. package/dist/core/session.js +102 -0
  49. package/dist/core/ticker.d.ts +131 -0
  50. package/dist/core/ticker.js +367 -0
  51. package/dist/index.d.ts +17 -0
  52. package/dist/index.js +17 -0
  53. package/dist/output/format.d.ts +31 -0
  54. package/dist/output/format.js +162 -0
  55. package/dist/output/io.d.ts +70 -0
  56. package/dist/output/io.js +143 -0
  57. package/dist/output/table.d.ts +28 -0
  58. package/dist/output/table.js +73 -0
  59. package/dist/run.d.ts +15 -0
  60. package/dist/run.js +161 -0
  61. package/dist/safety.d.ts +93 -0
  62. package/dist/safety.js +154 -0
  63. package/package.json +85 -0
@@ -0,0 +1,662 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Runtime schemas for Kite API responses.
4
+ *
5
+ * Two rules govern everything here:
6
+ *
7
+ * 1. **Every object is loose.** Zerodha adds fields without notice; a strict
8
+ * schema would turn a benign API addition into a broken CLI for every user.
9
+ * We validate the fields we depend on and pass the rest through.
10
+ *
11
+ * 2. **`status` is never an enum.** The order docs list the known states and
12
+ * then say verbatim "There may be other values as well." An exhaustive
13
+ * union would reject real orders. We use `z.string()` plus named constants.
14
+ *
15
+ * Binary WebSocket frames are deliberately NOT validated here — they are
16
+ * fixed-length structs, parsed by hand in ticker.ts. Running 3000 instruments
17
+ * of full-mode ticks through a validator would be both the wrong tool and a
18
+ * real cost on the hot path.
19
+ */
20
+ /** Kite wraps every successful response as { status: "success", data: ... }. */
21
+ export declare const EnvelopeSchema: z.ZodObject<{
22
+ status: z.ZodString;
23
+ data: z.ZodOptional<z.ZodUnknown>;
24
+ message: z.ZodOptional<z.ZodString>;
25
+ error_type: z.ZodOptional<z.ZodString>;
26
+ }, z.core.$loose>;
27
+ export declare const ErrorEnvelopeSchema: z.ZodObject<{
28
+ status: z.ZodLiteral<"error">;
29
+ message: z.ZodDefault<z.ZodString>;
30
+ error_type: z.ZodDefault<z.ZodString>;
31
+ }, z.core.$loose>;
32
+ export declare const SessionSchema: z.ZodObject<{
33
+ user_id: z.ZodString;
34
+ user_name: z.ZodOptional<z.ZodString>;
35
+ user_shortname: z.ZodOptional<z.ZodString>;
36
+ email: z.ZodOptional<z.ZodString>;
37
+ user_type: z.ZodOptional<z.ZodString>;
38
+ broker: z.ZodOptional<z.ZodString>;
39
+ exchanges: z.ZodDefault<z.ZodArray<z.ZodString>>;
40
+ products: z.ZodDefault<z.ZodArray<z.ZodString>>;
41
+ order_types: z.ZodDefault<z.ZodArray<z.ZodString>>;
42
+ access_token: z.ZodString;
43
+ public_token: z.ZodOptional<z.ZodString>;
44
+ refresh_token: z.ZodOptional<z.ZodString>;
45
+ login_time: z.ZodOptional<z.ZodString>;
46
+ }, z.core.$loose>;
47
+ export type Session = z.infer<typeof SessionSchema>;
48
+ export declare const ProfileSchema: z.ZodObject<{
49
+ user_id: z.ZodString;
50
+ user_name: z.ZodOptional<z.ZodString>;
51
+ user_shortname: z.ZodOptional<z.ZodString>;
52
+ email: z.ZodOptional<z.ZodString>;
53
+ user_type: z.ZodOptional<z.ZodString>;
54
+ broker: z.ZodOptional<z.ZodString>;
55
+ exchanges: z.ZodDefault<z.ZodArray<z.ZodString>>;
56
+ products: z.ZodDefault<z.ZodArray<z.ZodString>>;
57
+ order_types: z.ZodDefault<z.ZodArray<z.ZodString>>;
58
+ }, z.core.$loose>;
59
+ export type Profile = z.infer<typeof ProfileSchema>;
60
+ declare const SegmentMarginSchema: z.ZodObject<{
61
+ enabled: z.ZodOptional<z.ZodBoolean>;
62
+ net: z.ZodOptional<z.ZodNumber>;
63
+ available: z.ZodOptional<z.ZodObject<{
64
+ cash: z.ZodOptional<z.ZodNumber>;
65
+ opening_balance: z.ZodOptional<z.ZodNumber>;
66
+ live_balance: z.ZodOptional<z.ZodNumber>;
67
+ intraday_payin: z.ZodOptional<z.ZodNumber>;
68
+ adhoc_margin: z.ZodOptional<z.ZodNumber>;
69
+ collateral: z.ZodOptional<z.ZodNumber>;
70
+ }, z.core.$loose>>;
71
+ utilised: z.ZodOptional<z.ZodObject<{
72
+ debits: z.ZodOptional<z.ZodNumber>;
73
+ exposure: z.ZodOptional<z.ZodNumber>;
74
+ m2m_realised: z.ZodOptional<z.ZodNumber>;
75
+ m2m_unrealised: z.ZodOptional<z.ZodNumber>;
76
+ option_premium: z.ZodOptional<z.ZodNumber>;
77
+ payout: z.ZodOptional<z.ZodNumber>;
78
+ span: z.ZodOptional<z.ZodNumber>;
79
+ holding_sales: z.ZodOptional<z.ZodNumber>;
80
+ turnover: z.ZodOptional<z.ZodNumber>;
81
+ liquid_collateral: z.ZodOptional<z.ZodNumber>;
82
+ stock_collateral: z.ZodOptional<z.ZodNumber>;
83
+ delivery: z.ZodOptional<z.ZodNumber>;
84
+ }, z.core.$loose>>;
85
+ }, z.core.$loose>;
86
+ export declare const MarginsSchema: z.ZodObject<{
87
+ equity: z.ZodOptional<z.ZodObject<{
88
+ enabled: z.ZodOptional<z.ZodBoolean>;
89
+ net: z.ZodOptional<z.ZodNumber>;
90
+ available: z.ZodOptional<z.ZodObject<{
91
+ cash: z.ZodOptional<z.ZodNumber>;
92
+ opening_balance: z.ZodOptional<z.ZodNumber>;
93
+ live_balance: z.ZodOptional<z.ZodNumber>;
94
+ intraday_payin: z.ZodOptional<z.ZodNumber>;
95
+ adhoc_margin: z.ZodOptional<z.ZodNumber>;
96
+ collateral: z.ZodOptional<z.ZodNumber>;
97
+ }, z.core.$loose>>;
98
+ utilised: z.ZodOptional<z.ZodObject<{
99
+ debits: z.ZodOptional<z.ZodNumber>;
100
+ exposure: z.ZodOptional<z.ZodNumber>;
101
+ m2m_realised: z.ZodOptional<z.ZodNumber>;
102
+ m2m_unrealised: z.ZodOptional<z.ZodNumber>;
103
+ option_premium: z.ZodOptional<z.ZodNumber>;
104
+ payout: z.ZodOptional<z.ZodNumber>;
105
+ span: z.ZodOptional<z.ZodNumber>;
106
+ holding_sales: z.ZodOptional<z.ZodNumber>;
107
+ turnover: z.ZodOptional<z.ZodNumber>;
108
+ liquid_collateral: z.ZodOptional<z.ZodNumber>;
109
+ stock_collateral: z.ZodOptional<z.ZodNumber>;
110
+ delivery: z.ZodOptional<z.ZodNumber>;
111
+ }, z.core.$loose>>;
112
+ }, z.core.$loose>>;
113
+ commodity: z.ZodOptional<z.ZodObject<{
114
+ enabled: z.ZodOptional<z.ZodBoolean>;
115
+ net: z.ZodOptional<z.ZodNumber>;
116
+ available: z.ZodOptional<z.ZodObject<{
117
+ cash: z.ZodOptional<z.ZodNumber>;
118
+ opening_balance: z.ZodOptional<z.ZodNumber>;
119
+ live_balance: z.ZodOptional<z.ZodNumber>;
120
+ intraday_payin: z.ZodOptional<z.ZodNumber>;
121
+ adhoc_margin: z.ZodOptional<z.ZodNumber>;
122
+ collateral: z.ZodOptional<z.ZodNumber>;
123
+ }, z.core.$loose>>;
124
+ utilised: z.ZodOptional<z.ZodObject<{
125
+ debits: z.ZodOptional<z.ZodNumber>;
126
+ exposure: z.ZodOptional<z.ZodNumber>;
127
+ m2m_realised: z.ZodOptional<z.ZodNumber>;
128
+ m2m_unrealised: z.ZodOptional<z.ZodNumber>;
129
+ option_premium: z.ZodOptional<z.ZodNumber>;
130
+ payout: z.ZodOptional<z.ZodNumber>;
131
+ span: z.ZodOptional<z.ZodNumber>;
132
+ holding_sales: z.ZodOptional<z.ZodNumber>;
133
+ turnover: z.ZodOptional<z.ZodNumber>;
134
+ liquid_collateral: z.ZodOptional<z.ZodNumber>;
135
+ stock_collateral: z.ZodOptional<z.ZodNumber>;
136
+ delivery: z.ZodOptional<z.ZodNumber>;
137
+ }, z.core.$loose>>;
138
+ }, z.core.$loose>>;
139
+ }, z.core.$loose>;
140
+ export type Margins = z.infer<typeof MarginsSchema>;
141
+ export type SegmentMargin = z.infer<typeof SegmentMarginSchema>;
142
+ /** Known terminal states. Not exhaustive — see the note at the top of this file. */
143
+ export declare const ORDER_STATUS: {
144
+ readonly Complete: "COMPLETE";
145
+ readonly Cancelled: "CANCELLED";
146
+ readonly Rejected: "REJECTED";
147
+ readonly Open: "OPEN";
148
+ readonly TriggerPending: "TRIGGER PENDING";
149
+ };
150
+ export declare const TERMINAL_ORDER_STATUSES: Set<string>;
151
+ export declare const OrderSchema: z.ZodObject<{
152
+ order_id: z.ZodString;
153
+ parent_order_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
154
+ exchange_order_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
155
+ status: z.ZodString;
156
+ status_message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
157
+ status_message_raw: z.ZodOptional<z.ZodNullable<z.ZodString>>;
158
+ order_timestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
159
+ exchange_timestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
160
+ exchange_update_timestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
161
+ variety: z.ZodOptional<z.ZodString>;
162
+ exchange: z.ZodOptional<z.ZodString>;
163
+ tradingsymbol: z.ZodOptional<z.ZodString>;
164
+ instrument_token: z.ZodOptional<z.ZodNumber>;
165
+ transaction_type: z.ZodOptional<z.ZodString>;
166
+ order_type: z.ZodOptional<z.ZodString>;
167
+ product: z.ZodOptional<z.ZodString>;
168
+ validity: z.ZodOptional<z.ZodString>;
169
+ price: z.ZodOptional<z.ZodNumber>;
170
+ quantity: z.ZodOptional<z.ZodNumber>;
171
+ trigger_price: z.ZodOptional<z.ZodNumber>;
172
+ average_price: z.ZodOptional<z.ZodNumber>;
173
+ pending_quantity: z.ZodOptional<z.ZodNumber>;
174
+ filled_quantity: z.ZodOptional<z.ZodNumber>;
175
+ disclosed_quantity: z.ZodOptional<z.ZodNumber>;
176
+ cancelled_quantity: z.ZodOptional<z.ZodNumber>;
177
+ tag: z.ZodOptional<z.ZodNullable<z.ZodString>>;
178
+ tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
179
+ placed_by: z.ZodOptional<z.ZodString>;
180
+ guid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
181
+ }, z.core.$loose>;
182
+ export type Order = z.infer<typeof OrderSchema>;
183
+ export declare const TradeSchema: z.ZodObject<{
184
+ trade_id: z.ZodString;
185
+ order_id: z.ZodString;
186
+ exchange_order_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
187
+ tradingsymbol: z.ZodOptional<z.ZodString>;
188
+ exchange: z.ZodOptional<z.ZodString>;
189
+ instrument_token: z.ZodOptional<z.ZodNumber>;
190
+ transaction_type: z.ZodOptional<z.ZodString>;
191
+ product: z.ZodOptional<z.ZodString>;
192
+ average_price: z.ZodOptional<z.ZodNumber>;
193
+ quantity: z.ZodOptional<z.ZodNumber>;
194
+ fill_timestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
195
+ exchange_timestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
196
+ order_timestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
197
+ }, z.core.$loose>;
198
+ export type Trade = z.infer<typeof TradeSchema>;
199
+ /**
200
+ * Place-order response.
201
+ *
202
+ * With `autoslice=true` the shape changes from an object to an ARRAY of up to
203
+ * 10 entries, where success and failure can coexist in a single response. This
204
+ * union models that; callers must handle both.
205
+ */
206
+ export declare const PlaceOrderResultSchema: z.ZodUnion<readonly [z.ZodObject<{
207
+ order_id: z.ZodString;
208
+ }, z.core.$loose>, z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
209
+ order_id: z.ZodString;
210
+ }, z.core.$loose>, z.ZodObject<{
211
+ error: z.ZodObject<{
212
+ code: z.ZodOptional<z.ZodNumber>;
213
+ error_type: z.ZodOptional<z.ZodString>;
214
+ message: z.ZodOptional<z.ZodString>;
215
+ }, z.core.$loose>;
216
+ }, z.core.$loose>]>>]>;
217
+ export type PlaceOrderResult = z.infer<typeof PlaceOrderResultSchema>;
218
+ export declare const HoldingSchema: z.ZodObject<{
219
+ tradingsymbol: z.ZodString;
220
+ exchange: z.ZodString;
221
+ instrument_token: z.ZodOptional<z.ZodNumber>;
222
+ isin: z.ZodOptional<z.ZodString>;
223
+ product: z.ZodOptional<z.ZodString>;
224
+ quantity: z.ZodDefault<z.ZodNumber>;
225
+ t1_quantity: z.ZodDefault<z.ZodNumber>;
226
+ realised_quantity: z.ZodDefault<z.ZodNumber>;
227
+ opening_quantity: z.ZodDefault<z.ZodNumber>;
228
+ collateral_quantity: z.ZodDefault<z.ZodNumber>;
229
+ authorised_quantity: z.ZodDefault<z.ZodNumber>;
230
+ average_price: z.ZodDefault<z.ZodNumber>;
231
+ last_price: z.ZodDefault<z.ZodNumber>;
232
+ close_price: z.ZodDefault<z.ZodNumber>;
233
+ pnl: z.ZodDefault<z.ZodNumber>;
234
+ day_change: z.ZodDefault<z.ZodNumber>;
235
+ day_change_percentage: z.ZodDefault<z.ZodNumber>;
236
+ }, z.core.$loose>;
237
+ export type Holding = z.infer<typeof HoldingSchema>;
238
+ export declare const PositionSchema: z.ZodObject<{
239
+ tradingsymbol: z.ZodString;
240
+ exchange: z.ZodString;
241
+ instrument_token: z.ZodOptional<z.ZodNumber>;
242
+ product: z.ZodOptional<z.ZodString>;
243
+ quantity: z.ZodDefault<z.ZodNumber>;
244
+ overnight_quantity: z.ZodDefault<z.ZodNumber>;
245
+ multiplier: z.ZodDefault<z.ZodNumber>;
246
+ average_price: z.ZodDefault<z.ZodNumber>;
247
+ close_price: z.ZodDefault<z.ZodNumber>;
248
+ last_price: z.ZodDefault<z.ZodNumber>;
249
+ value: z.ZodDefault<z.ZodNumber>;
250
+ pnl: z.ZodDefault<z.ZodNumber>;
251
+ m2m: z.ZodDefault<z.ZodNumber>;
252
+ unrealised: z.ZodDefault<z.ZodNumber>;
253
+ realised: z.ZodDefault<z.ZodNumber>;
254
+ buy_quantity: z.ZodDefault<z.ZodNumber>;
255
+ buy_price: z.ZodDefault<z.ZodNumber>;
256
+ buy_value: z.ZodDefault<z.ZodNumber>;
257
+ sell_quantity: z.ZodDefault<z.ZodNumber>;
258
+ sell_price: z.ZodDefault<z.ZodNumber>;
259
+ sell_value: z.ZodDefault<z.ZodNumber>;
260
+ day_buy_quantity: z.ZodDefault<z.ZodNumber>;
261
+ day_sell_quantity: z.ZodDefault<z.ZodNumber>;
262
+ }, z.core.$loose>;
263
+ export type Position = z.infer<typeof PositionSchema>;
264
+ export declare const PositionsSchema: z.ZodObject<{
265
+ net: z.ZodDefault<z.ZodArray<z.ZodObject<{
266
+ tradingsymbol: z.ZodString;
267
+ exchange: z.ZodString;
268
+ instrument_token: z.ZodOptional<z.ZodNumber>;
269
+ product: z.ZodOptional<z.ZodString>;
270
+ quantity: z.ZodDefault<z.ZodNumber>;
271
+ overnight_quantity: z.ZodDefault<z.ZodNumber>;
272
+ multiplier: z.ZodDefault<z.ZodNumber>;
273
+ average_price: z.ZodDefault<z.ZodNumber>;
274
+ close_price: z.ZodDefault<z.ZodNumber>;
275
+ last_price: z.ZodDefault<z.ZodNumber>;
276
+ value: z.ZodDefault<z.ZodNumber>;
277
+ pnl: z.ZodDefault<z.ZodNumber>;
278
+ m2m: z.ZodDefault<z.ZodNumber>;
279
+ unrealised: z.ZodDefault<z.ZodNumber>;
280
+ realised: z.ZodDefault<z.ZodNumber>;
281
+ buy_quantity: z.ZodDefault<z.ZodNumber>;
282
+ buy_price: z.ZodDefault<z.ZodNumber>;
283
+ buy_value: z.ZodDefault<z.ZodNumber>;
284
+ sell_quantity: z.ZodDefault<z.ZodNumber>;
285
+ sell_price: z.ZodDefault<z.ZodNumber>;
286
+ sell_value: z.ZodDefault<z.ZodNumber>;
287
+ day_buy_quantity: z.ZodDefault<z.ZodNumber>;
288
+ day_sell_quantity: z.ZodDefault<z.ZodNumber>;
289
+ }, z.core.$loose>>>;
290
+ day: z.ZodDefault<z.ZodArray<z.ZodObject<{
291
+ tradingsymbol: z.ZodString;
292
+ exchange: z.ZodString;
293
+ instrument_token: z.ZodOptional<z.ZodNumber>;
294
+ product: z.ZodOptional<z.ZodString>;
295
+ quantity: z.ZodDefault<z.ZodNumber>;
296
+ overnight_quantity: z.ZodDefault<z.ZodNumber>;
297
+ multiplier: z.ZodDefault<z.ZodNumber>;
298
+ average_price: z.ZodDefault<z.ZodNumber>;
299
+ close_price: z.ZodDefault<z.ZodNumber>;
300
+ last_price: z.ZodDefault<z.ZodNumber>;
301
+ value: z.ZodDefault<z.ZodNumber>;
302
+ pnl: z.ZodDefault<z.ZodNumber>;
303
+ m2m: z.ZodDefault<z.ZodNumber>;
304
+ unrealised: z.ZodDefault<z.ZodNumber>;
305
+ realised: z.ZodDefault<z.ZodNumber>;
306
+ buy_quantity: z.ZodDefault<z.ZodNumber>;
307
+ buy_price: z.ZodDefault<z.ZodNumber>;
308
+ buy_value: z.ZodDefault<z.ZodNumber>;
309
+ sell_quantity: z.ZodDefault<z.ZodNumber>;
310
+ sell_price: z.ZodDefault<z.ZodNumber>;
311
+ sell_value: z.ZodDefault<z.ZodNumber>;
312
+ day_buy_quantity: z.ZodDefault<z.ZodNumber>;
313
+ day_sell_quantity: z.ZodDefault<z.ZodNumber>;
314
+ }, z.core.$loose>>>;
315
+ }, z.core.$loose>;
316
+ export type Positions = z.infer<typeof PositionsSchema>;
317
+ export declare const AuctionSchema: z.ZodObject<{
318
+ tradingsymbol: z.ZodString;
319
+ exchange: z.ZodString;
320
+ instrument_token: z.ZodOptional<z.ZodNumber>;
321
+ auction_number: z.ZodOptional<z.ZodString>;
322
+ quantity: z.ZodOptional<z.ZodNumber>;
323
+ last_price: z.ZodOptional<z.ZodNumber>;
324
+ }, z.core.$loose>;
325
+ export declare const OhlcSchema: z.ZodObject<{
326
+ open: z.ZodDefault<z.ZodNumber>;
327
+ high: z.ZodDefault<z.ZodNumber>;
328
+ low: z.ZodDefault<z.ZodNumber>;
329
+ close: z.ZodDefault<z.ZodNumber>;
330
+ }, z.core.$loose>;
331
+ export declare const QuoteSchema: z.ZodObject<{
332
+ instrument_token: z.ZodNumber;
333
+ timestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
334
+ last_trade_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
335
+ last_price: z.ZodDefault<z.ZodNumber>;
336
+ last_quantity: z.ZodOptional<z.ZodNumber>;
337
+ buy_quantity: z.ZodOptional<z.ZodNumber>;
338
+ sell_quantity: z.ZodOptional<z.ZodNumber>;
339
+ volume: z.ZodOptional<z.ZodNumber>;
340
+ average_price: z.ZodOptional<z.ZodNumber>;
341
+ oi: z.ZodOptional<z.ZodNumber>;
342
+ oi_day_high: z.ZodOptional<z.ZodNumber>;
343
+ oi_day_low: z.ZodOptional<z.ZodNumber>;
344
+ net_change: z.ZodOptional<z.ZodNumber>;
345
+ lower_circuit_limit: z.ZodOptional<z.ZodNumber>;
346
+ upper_circuit_limit: z.ZodOptional<z.ZodNumber>;
347
+ ohlc: z.ZodOptional<z.ZodObject<{
348
+ open: z.ZodDefault<z.ZodNumber>;
349
+ high: z.ZodDefault<z.ZodNumber>;
350
+ low: z.ZodDefault<z.ZodNumber>;
351
+ close: z.ZodDefault<z.ZodNumber>;
352
+ }, z.core.$loose>>;
353
+ depth: z.ZodOptional<z.ZodObject<{
354
+ buy: z.ZodDefault<z.ZodArray<z.ZodObject<{
355
+ price: z.ZodDefault<z.ZodNumber>;
356
+ quantity: z.ZodDefault<z.ZodNumber>;
357
+ orders: z.ZodDefault<z.ZodNumber>;
358
+ }, z.core.$loose>>>;
359
+ sell: z.ZodDefault<z.ZodArray<z.ZodObject<{
360
+ price: z.ZodDefault<z.ZodNumber>;
361
+ quantity: z.ZodDefault<z.ZodNumber>;
362
+ orders: z.ZodDefault<z.ZodNumber>;
363
+ }, z.core.$loose>>>;
364
+ }, z.core.$loose>>;
365
+ }, z.core.$loose>;
366
+ export type Quote = z.infer<typeof QuoteSchema>;
367
+ export declare const LtpQuoteSchema: z.ZodObject<{
368
+ instrument_token: z.ZodNumber;
369
+ last_price: z.ZodDefault<z.ZodNumber>;
370
+ }, z.core.$loose>;
371
+ export type LtpQuote = z.infer<typeof LtpQuoteSchema>;
372
+ export declare const OhlcQuoteSchema: z.ZodObject<{
373
+ instrument_token: z.ZodNumber;
374
+ last_price: z.ZodDefault<z.ZodNumber>;
375
+ ohlc: z.ZodOptional<z.ZodObject<{
376
+ open: z.ZodDefault<z.ZodNumber>;
377
+ high: z.ZodDefault<z.ZodNumber>;
378
+ low: z.ZodDefault<z.ZodNumber>;
379
+ close: z.ZodDefault<z.ZodNumber>;
380
+ }, z.core.$loose>>;
381
+ }, z.core.$loose>;
382
+ export type OhlcQuote = z.infer<typeof OhlcQuoteSchema>;
383
+ /**
384
+ * Quote endpoints return a map keyed by "EXCHANGE:TRADINGSYMBOL". Instruments
385
+ * with no data — expired, invalid, or never traded — are simply ABSENT from the
386
+ * map rather than present with nulls. Callers must never assume presence.
387
+ */
388
+ export declare const QuoteMapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
389
+ instrument_token: z.ZodNumber;
390
+ timestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
391
+ last_trade_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
392
+ last_price: z.ZodDefault<z.ZodNumber>;
393
+ last_quantity: z.ZodOptional<z.ZodNumber>;
394
+ buy_quantity: z.ZodOptional<z.ZodNumber>;
395
+ sell_quantity: z.ZodOptional<z.ZodNumber>;
396
+ volume: z.ZodOptional<z.ZodNumber>;
397
+ average_price: z.ZodOptional<z.ZodNumber>;
398
+ oi: z.ZodOptional<z.ZodNumber>;
399
+ oi_day_high: z.ZodOptional<z.ZodNumber>;
400
+ oi_day_low: z.ZodOptional<z.ZodNumber>;
401
+ net_change: z.ZodOptional<z.ZodNumber>;
402
+ lower_circuit_limit: z.ZodOptional<z.ZodNumber>;
403
+ upper_circuit_limit: z.ZodOptional<z.ZodNumber>;
404
+ ohlc: z.ZodOptional<z.ZodObject<{
405
+ open: z.ZodDefault<z.ZodNumber>;
406
+ high: z.ZodDefault<z.ZodNumber>;
407
+ low: z.ZodDefault<z.ZodNumber>;
408
+ close: z.ZodDefault<z.ZodNumber>;
409
+ }, z.core.$loose>>;
410
+ depth: z.ZodOptional<z.ZodObject<{
411
+ buy: z.ZodDefault<z.ZodArray<z.ZodObject<{
412
+ price: z.ZodDefault<z.ZodNumber>;
413
+ quantity: z.ZodDefault<z.ZodNumber>;
414
+ orders: z.ZodDefault<z.ZodNumber>;
415
+ }, z.core.$loose>>>;
416
+ sell: z.ZodDefault<z.ZodArray<z.ZodObject<{
417
+ price: z.ZodDefault<z.ZodNumber>;
418
+ quantity: z.ZodDefault<z.ZodNumber>;
419
+ orders: z.ZodDefault<z.ZodNumber>;
420
+ }, z.core.$loose>>>;
421
+ }, z.core.$loose>>;
422
+ }, z.core.$loose>>;
423
+ export declare const LtpMapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
424
+ instrument_token: z.ZodNumber;
425
+ last_price: z.ZodDefault<z.ZodNumber>;
426
+ }, z.core.$loose>>;
427
+ export declare const OhlcMapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
428
+ instrument_token: z.ZodNumber;
429
+ last_price: z.ZodDefault<z.ZodNumber>;
430
+ ohlc: z.ZodOptional<z.ZodObject<{
431
+ open: z.ZodDefault<z.ZodNumber>;
432
+ high: z.ZodDefault<z.ZodNumber>;
433
+ low: z.ZodDefault<z.ZodNumber>;
434
+ close: z.ZodDefault<z.ZodNumber>;
435
+ }, z.core.$loose>>;
436
+ }, z.core.$loose>>;
437
+ /**
438
+ * Historical candles: [timestamp, open, high, low, close, volume] with an
439
+ * optional 7th open-interest element when oi=1 was requested.
440
+ */
441
+ export declare const CandleSchema: z.ZodTuple<[z.ZodString, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], z.ZodNumber>;
442
+ export type Candle = z.infer<typeof CandleSchema>;
443
+ export declare const CandlesSchema: z.ZodObject<{
444
+ candles: z.ZodDefault<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], z.ZodNumber>>>;
445
+ }, z.core.$loose>;
446
+ export declare const GttSchema: z.ZodObject<{
447
+ id: z.ZodNumber;
448
+ user_id: z.ZodOptional<z.ZodString>;
449
+ parent_trigger: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
450
+ type: z.ZodString;
451
+ created_at: z.ZodOptional<z.ZodString>;
452
+ updated_at: z.ZodOptional<z.ZodString>;
453
+ expires_at: z.ZodOptional<z.ZodString>;
454
+ status: z.ZodString;
455
+ condition: z.ZodObject<{
456
+ exchange: z.ZodString;
457
+ tradingsymbol: z.ZodString;
458
+ trigger_values: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
459
+ last_price: z.ZodOptional<z.ZodNumber>;
460
+ instrument_token: z.ZodOptional<z.ZodNumber>;
461
+ }, z.core.$loose>;
462
+ orders: z.ZodDefault<z.ZodArray<z.ZodObject<{
463
+ exchange: z.ZodOptional<z.ZodString>;
464
+ tradingsymbol: z.ZodOptional<z.ZodString>;
465
+ product: z.ZodOptional<z.ZodString>;
466
+ order_type: z.ZodOptional<z.ZodString>;
467
+ transaction_type: z.ZodOptional<z.ZodString>;
468
+ quantity: z.ZodOptional<z.ZodNumber>;
469
+ price: z.ZodOptional<z.ZodNumber>;
470
+ result: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
471
+ }, z.core.$loose>>>;
472
+ }, z.core.$loose>;
473
+ export type Gtt = z.infer<typeof GttSchema>;
474
+ export declare const GttCreateResultSchema: z.ZodObject<{
475
+ trigger_id: z.ZodNumber;
476
+ }, z.core.$loose>;
477
+ export declare const OrderMarginSchema: z.ZodObject<{
478
+ type: z.ZodOptional<z.ZodString>;
479
+ tradingsymbol: z.ZodOptional<z.ZodString>;
480
+ exchange: z.ZodOptional<z.ZodString>;
481
+ span: z.ZodOptional<z.ZodNumber>;
482
+ exposure: z.ZodOptional<z.ZodNumber>;
483
+ option_premium: z.ZodOptional<z.ZodNumber>;
484
+ additional: z.ZodOptional<z.ZodNumber>;
485
+ bo: z.ZodOptional<z.ZodNumber>;
486
+ cash: z.ZodOptional<z.ZodNumber>;
487
+ var: z.ZodOptional<z.ZodNumber>;
488
+ total: z.ZodOptional<z.ZodNumber>;
489
+ leverage: z.ZodOptional<z.ZodNumber>;
490
+ charges: z.ZodOptional<z.ZodObject<{
491
+ transaction_tax: z.ZodOptional<z.ZodNumber>;
492
+ transaction_tax_type: z.ZodOptional<z.ZodString>;
493
+ exchange_turnover_charge: z.ZodOptional<z.ZodNumber>;
494
+ sebi_turnover_charge: z.ZodOptional<z.ZodNumber>;
495
+ brokerage: z.ZodOptional<z.ZodNumber>;
496
+ stamp_duty: z.ZodOptional<z.ZodNumber>;
497
+ total: z.ZodOptional<z.ZodNumber>;
498
+ gst: z.ZodOptional<z.ZodObject<{
499
+ igst: z.ZodOptional<z.ZodNumber>;
500
+ cgst: z.ZodOptional<z.ZodNumber>;
501
+ sgst: z.ZodOptional<z.ZodNumber>;
502
+ total: z.ZodOptional<z.ZodNumber>;
503
+ }, z.core.$loose>>;
504
+ }, z.core.$loose>>;
505
+ pnl: z.ZodOptional<z.ZodObject<{
506
+ realised: z.ZodOptional<z.ZodNumber>;
507
+ unrealised: z.ZodOptional<z.ZodNumber>;
508
+ }, z.core.$loose>>;
509
+ }, z.core.$loose>;
510
+ export type OrderMargin = z.infer<typeof OrderMarginSchema>;
511
+ export declare const BasketMarginSchema: z.ZodObject<{
512
+ initial: z.ZodOptional<z.ZodObject<{
513
+ type: z.ZodOptional<z.ZodString>;
514
+ tradingsymbol: z.ZodOptional<z.ZodString>;
515
+ exchange: z.ZodOptional<z.ZodString>;
516
+ span: z.ZodOptional<z.ZodNumber>;
517
+ exposure: z.ZodOptional<z.ZodNumber>;
518
+ option_premium: z.ZodOptional<z.ZodNumber>;
519
+ additional: z.ZodOptional<z.ZodNumber>;
520
+ bo: z.ZodOptional<z.ZodNumber>;
521
+ cash: z.ZodOptional<z.ZodNumber>;
522
+ var: z.ZodOptional<z.ZodNumber>;
523
+ total: z.ZodOptional<z.ZodNumber>;
524
+ leverage: z.ZodOptional<z.ZodNumber>;
525
+ charges: z.ZodOptional<z.ZodObject<{
526
+ transaction_tax: z.ZodOptional<z.ZodNumber>;
527
+ transaction_tax_type: z.ZodOptional<z.ZodString>;
528
+ exchange_turnover_charge: z.ZodOptional<z.ZodNumber>;
529
+ sebi_turnover_charge: z.ZodOptional<z.ZodNumber>;
530
+ brokerage: z.ZodOptional<z.ZodNumber>;
531
+ stamp_duty: z.ZodOptional<z.ZodNumber>;
532
+ total: z.ZodOptional<z.ZodNumber>;
533
+ gst: z.ZodOptional<z.ZodObject<{
534
+ igst: z.ZodOptional<z.ZodNumber>;
535
+ cgst: z.ZodOptional<z.ZodNumber>;
536
+ sgst: z.ZodOptional<z.ZodNumber>;
537
+ total: z.ZodOptional<z.ZodNumber>;
538
+ }, z.core.$loose>>;
539
+ }, z.core.$loose>>;
540
+ pnl: z.ZodOptional<z.ZodObject<{
541
+ realised: z.ZodOptional<z.ZodNumber>;
542
+ unrealised: z.ZodOptional<z.ZodNumber>;
543
+ }, z.core.$loose>>;
544
+ }, z.core.$loose>>;
545
+ final: z.ZodOptional<z.ZodObject<{
546
+ type: z.ZodOptional<z.ZodString>;
547
+ tradingsymbol: z.ZodOptional<z.ZodString>;
548
+ exchange: z.ZodOptional<z.ZodString>;
549
+ span: z.ZodOptional<z.ZodNumber>;
550
+ exposure: z.ZodOptional<z.ZodNumber>;
551
+ option_premium: z.ZodOptional<z.ZodNumber>;
552
+ additional: z.ZodOptional<z.ZodNumber>;
553
+ bo: z.ZodOptional<z.ZodNumber>;
554
+ cash: z.ZodOptional<z.ZodNumber>;
555
+ var: z.ZodOptional<z.ZodNumber>;
556
+ total: z.ZodOptional<z.ZodNumber>;
557
+ leverage: z.ZodOptional<z.ZodNumber>;
558
+ charges: z.ZodOptional<z.ZodObject<{
559
+ transaction_tax: z.ZodOptional<z.ZodNumber>;
560
+ transaction_tax_type: z.ZodOptional<z.ZodString>;
561
+ exchange_turnover_charge: z.ZodOptional<z.ZodNumber>;
562
+ sebi_turnover_charge: z.ZodOptional<z.ZodNumber>;
563
+ brokerage: z.ZodOptional<z.ZodNumber>;
564
+ stamp_duty: z.ZodOptional<z.ZodNumber>;
565
+ total: z.ZodOptional<z.ZodNumber>;
566
+ gst: z.ZodOptional<z.ZodObject<{
567
+ igst: z.ZodOptional<z.ZodNumber>;
568
+ cgst: z.ZodOptional<z.ZodNumber>;
569
+ sgst: z.ZodOptional<z.ZodNumber>;
570
+ total: z.ZodOptional<z.ZodNumber>;
571
+ }, z.core.$loose>>;
572
+ }, z.core.$loose>>;
573
+ pnl: z.ZodOptional<z.ZodObject<{
574
+ realised: z.ZodOptional<z.ZodNumber>;
575
+ unrealised: z.ZodOptional<z.ZodNumber>;
576
+ }, z.core.$loose>>;
577
+ }, z.core.$loose>>;
578
+ orders: z.ZodDefault<z.ZodArray<z.ZodObject<{
579
+ type: z.ZodOptional<z.ZodString>;
580
+ tradingsymbol: z.ZodOptional<z.ZodString>;
581
+ exchange: z.ZodOptional<z.ZodString>;
582
+ span: z.ZodOptional<z.ZodNumber>;
583
+ exposure: z.ZodOptional<z.ZodNumber>;
584
+ option_premium: z.ZodOptional<z.ZodNumber>;
585
+ additional: z.ZodOptional<z.ZodNumber>;
586
+ bo: z.ZodOptional<z.ZodNumber>;
587
+ cash: z.ZodOptional<z.ZodNumber>;
588
+ var: z.ZodOptional<z.ZodNumber>;
589
+ total: z.ZodOptional<z.ZodNumber>;
590
+ leverage: z.ZodOptional<z.ZodNumber>;
591
+ charges: z.ZodOptional<z.ZodObject<{
592
+ transaction_tax: z.ZodOptional<z.ZodNumber>;
593
+ transaction_tax_type: z.ZodOptional<z.ZodString>;
594
+ exchange_turnover_charge: z.ZodOptional<z.ZodNumber>;
595
+ sebi_turnover_charge: z.ZodOptional<z.ZodNumber>;
596
+ brokerage: z.ZodOptional<z.ZodNumber>;
597
+ stamp_duty: z.ZodOptional<z.ZodNumber>;
598
+ total: z.ZodOptional<z.ZodNumber>;
599
+ gst: z.ZodOptional<z.ZodObject<{
600
+ igst: z.ZodOptional<z.ZodNumber>;
601
+ cgst: z.ZodOptional<z.ZodNumber>;
602
+ sgst: z.ZodOptional<z.ZodNumber>;
603
+ total: z.ZodOptional<z.ZodNumber>;
604
+ }, z.core.$loose>>;
605
+ }, z.core.$loose>>;
606
+ pnl: z.ZodOptional<z.ZodObject<{
607
+ realised: z.ZodOptional<z.ZodNumber>;
608
+ unrealised: z.ZodOptional<z.ZodNumber>;
609
+ }, z.core.$loose>>;
610
+ }, z.core.$loose>>>;
611
+ charges: z.ZodOptional<z.ZodUnknown>;
612
+ }, z.core.$loose>;
613
+ export declare const MfHoldingSchema: z.ZodObject<{
614
+ folio: z.ZodOptional<z.ZodNullable<z.ZodString>>;
615
+ fund: z.ZodOptional<z.ZodString>;
616
+ tradingsymbol: z.ZodString;
617
+ average_price: z.ZodDefault<z.ZodNumber>;
618
+ last_price: z.ZodDefault<z.ZodNumber>;
619
+ last_price_date: z.ZodOptional<z.ZodString>;
620
+ pnl: z.ZodDefault<z.ZodNumber>;
621
+ quantity: z.ZodDefault<z.ZodNumber>;
622
+ }, z.core.$loose>;
623
+ export type MfHolding = z.infer<typeof MfHoldingSchema>;
624
+ export declare const MfOrderSchema: z.ZodObject<{
625
+ order_id: z.ZodString;
626
+ fund: z.ZodOptional<z.ZodString>;
627
+ tradingsymbol: z.ZodOptional<z.ZodString>;
628
+ status: z.ZodOptional<z.ZodString>;
629
+ status_message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
630
+ folio: z.ZodOptional<z.ZodNullable<z.ZodString>>;
631
+ order_timestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
632
+ transaction_type: z.ZodOptional<z.ZodString>;
633
+ quantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
634
+ amount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
635
+ average_price: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
636
+ }, z.core.$loose>;
637
+ export declare const MfSipSchema: z.ZodObject<{
638
+ sip_id: z.ZodString;
639
+ tradingsymbol: z.ZodOptional<z.ZodString>;
640
+ fund: z.ZodOptional<z.ZodString>;
641
+ status: z.ZodOptional<z.ZodString>;
642
+ instalment_amount: z.ZodOptional<z.ZodNumber>;
643
+ instalments: z.ZodOptional<z.ZodNumber>;
644
+ frequency: z.ZodOptional<z.ZodString>;
645
+ next_instalment: z.ZodOptional<z.ZodNullable<z.ZodString>>;
646
+ }, z.core.$loose>;
647
+ export declare const InstrumentSchema: z.ZodObject<{
648
+ instrument_token: z.ZodNumber;
649
+ exchange_token: z.ZodOptional<z.ZodNumber>;
650
+ tradingsymbol: z.ZodString;
651
+ name: z.ZodOptional<z.ZodString>;
652
+ last_price: z.ZodOptional<z.ZodNumber>;
653
+ expiry: z.ZodOptional<z.ZodString>;
654
+ strike: z.ZodOptional<z.ZodNumber>;
655
+ tick_size: z.ZodOptional<z.ZodNumber>;
656
+ lot_size: z.ZodOptional<z.ZodNumber>;
657
+ instrument_type: z.ZodOptional<z.ZodString>;
658
+ segment: z.ZodOptional<z.ZodString>;
659
+ exchange: z.ZodString;
660
+ }, z.core.$loose>;
661
+ export type Instrument = z.infer<typeof InstrumentSchema>;
662
+ export {};