@oda-agent/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.
package/dist/bin.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
package/dist/bin.js ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const cli_js_1 = require("./cli.js");
5
+ cli_js_1.program.parseAsync(process.argv).catch((err) => {
6
+ console.error(err instanceof Error ? err.message : String(err));
7
+ process.exit(1);
8
+ });
9
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";;;AACA,qCAAmC;AAEnC,gBAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IACtD,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import 'dotenv/config';
2
+ import { Command } from 'commander';
3
+ declare const program: Command;
4
+ export { program };
5
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+BpC,QAAA,MAAM,OAAO,SAAgB,CAAC;AAuL9B,OAAO,EAAE,OAAO,EAAE,CAAC"}
package/dist/cli.js ADDED
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.program = void 0;
4
+ require("dotenv/config");
5
+ const commander_1 = require("commander");
6
+ const core_1 = require("@oda-agent/core");
7
+ function printJson(value) {
8
+ console.log(JSON.stringify(value, null, 2));
9
+ }
10
+ function hasCredentials() {
11
+ return Boolean(process.env['ODA_EMAIL'] && process.env['ODA_PASSWORD']);
12
+ }
13
+ function createClient() {
14
+ if (!hasCredentials()) {
15
+ console.error('Error: ODA_EMAIL and ODA_PASSWORD environment variables must be set.');
16
+ process.exit(1);
17
+ }
18
+ const email = process.env['ODA_EMAIL'];
19
+ const password = process.env['ODA_PASSWORD'];
20
+ return new core_1.OdaClient({
21
+ credentials: { email, password },
22
+ baseUrl: process.env['ODA_API_BASE_URL'],
23
+ });
24
+ }
25
+ const program = new commander_1.Command();
26
+ exports.program = program;
27
+ program
28
+ .name('oda')
29
+ .description('CLI for the Oda grocery API')
30
+ .version('0.1.0');
31
+ const auth = program.command('auth').description('Authentication helpers');
32
+ auth
33
+ .command('status')
34
+ .description('Show whether CLI authentication is configured')
35
+ .option('--json', 'Output raw JSON')
36
+ .action((opts) => {
37
+ const status = {
38
+ configured: hasCredentials(),
39
+ baseUrl: process.env['ODA_API_BASE_URL'] ?? null,
40
+ };
41
+ if (opts.json) {
42
+ printJson(status);
43
+ return;
44
+ }
45
+ console.log(status.configured
46
+ ? 'Credentials are configured via environment variables.'
47
+ : 'Credentials are not configured. Set ODA_EMAIL and ODA_PASSWORD.');
48
+ if (status.baseUrl) {
49
+ console.log(`Using API base URL override: ${status.baseUrl}`);
50
+ }
51
+ });
52
+ // ---------------------------------------------------------------------------
53
+ // search
54
+ // ---------------------------------------------------------------------------
55
+ program
56
+ .command('search <query>')
57
+ .description('Search for products')
58
+ .option('--json', 'Output raw JSON')
59
+ .action(async (query, opts) => {
60
+ const client = createClient();
61
+ await client.login();
62
+ const results = await client.searchProducts(query);
63
+ if (opts.json) {
64
+ printJson(results);
65
+ }
66
+ else {
67
+ if (results.results.length === 0) {
68
+ console.log('No products found.');
69
+ }
70
+ else {
71
+ for (const p of results.results) {
72
+ console.log(`[${p.id}] ${p.full_name} — ${p.gross_price} ${p.currency}`);
73
+ }
74
+ }
75
+ }
76
+ });
77
+ // ---------------------------------------------------------------------------
78
+ // cart
79
+ // ---------------------------------------------------------------------------
80
+ const cart = program.command('cart').description('Cart management');
81
+ cart
82
+ .command('get')
83
+ .alias('show')
84
+ .description('Get the current cart')
85
+ .option('--json', 'Output raw JSON')
86
+ .action(async (opts) => {
87
+ const client = createClient();
88
+ await client.login();
89
+ const c = await client.getCart();
90
+ if (opts.json) {
91
+ printJson(c);
92
+ }
93
+ else {
94
+ console.log(`Cart total: ${c.total_price} ${c.currency} (${c.item_count} items)`);
95
+ for (const item of c.items) {
96
+ console.log(` ${item.quantity}x ${item.product.full_name} — ${item.line_price}`);
97
+ }
98
+ }
99
+ });
100
+ cart
101
+ .command('add <productId> <quantity>')
102
+ .description('Add a product to the cart')
103
+ .action(async (productId, quantity) => {
104
+ const client = createClient();
105
+ await client.login();
106
+ const item = await client.addToCart(parseInt(productId, 10), parseInt(quantity, 10));
107
+ console.log(`Added ${item.quantity}x ${item.product.full_name} to cart.`);
108
+ });
109
+ cart
110
+ .command('clear')
111
+ .description('Clear the cart')
112
+ .action(async () => {
113
+ const client = createClient();
114
+ await client.login();
115
+ await client.clearCart();
116
+ console.log('Cart cleared.');
117
+ });
118
+ // ---------------------------------------------------------------------------
119
+ // orders
120
+ // ---------------------------------------------------------------------------
121
+ const orders = program.command('orders').description('Order history');
122
+ orders
123
+ .command('list')
124
+ .description('List past orders')
125
+ .option('--page <n>', 'Page number', '1')
126
+ .option('--json', 'Output raw JSON')
127
+ .action(async (opts) => {
128
+ const client = createClient();
129
+ await client.login();
130
+ const page = parseInt(opts.page ?? '1', 10);
131
+ const orders = await client.getOrders(page);
132
+ if (opts.json) {
133
+ printJson(orders);
134
+ }
135
+ else {
136
+ console.log(`Showing page ${page} of ${Math.ceil(orders.count / 20)} (${orders.count} total)`);
137
+ for (const o of orders.results) {
138
+ console.log(` [${o.id}] ${o.delivery_date} — ${o.total_price} ${o.currency} (${o.status})`);
139
+ }
140
+ }
141
+ });
142
+ // ---------------------------------------------------------------------------
143
+ // lists
144
+ // ---------------------------------------------------------------------------
145
+ const lists = program.command('lists').description('Saved shopping lists');
146
+ lists
147
+ .command('list')
148
+ .description('List saved shopping lists')
149
+ .option('--json', 'Output raw JSON')
150
+ .action(async (opts) => {
151
+ const client = createClient();
152
+ await client.login();
153
+ const shoppingLists = await client.getShoppingLists();
154
+ if (opts.json) {
155
+ printJson(shoppingLists);
156
+ return;
157
+ }
158
+ if (shoppingLists.length === 0) {
159
+ console.log('No shopping lists found.');
160
+ return;
161
+ }
162
+ for (const list of shoppingLists) {
163
+ console.log(`[${list.id}] ${list.name} (${list.items.length} items)`);
164
+ }
165
+ });
166
+ // ---------------------------------------------------------------------------
167
+ // slots
168
+ // ---------------------------------------------------------------------------
169
+ const slots = program.command('slots').alias('delivery-slots').description('Delivery slot helpers');
170
+ slots
171
+ .command('list')
172
+ .description('List available delivery slots')
173
+ .option('--json', 'Output raw JSON')
174
+ .action(async (opts) => {
175
+ const client = createClient();
176
+ await client.login();
177
+ const deliverySlots = await client.getDeliverySlots();
178
+ if (opts.json) {
179
+ printJson(deliverySlots);
180
+ }
181
+ else {
182
+ const available = deliverySlots.filter((s) => s.is_available);
183
+ if (available.length === 0) {
184
+ console.log('No available delivery slots.');
185
+ }
186
+ else {
187
+ for (const s of available) {
188
+ console.log(` [${s.id}] ${s.start} → ${s.end} — ${s.price} ${s.currency}`);
189
+ }
190
+ }
191
+ }
192
+ });
193
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { program } from './cli.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.program = void 0;
4
+ var cli_js_1 = require("./cli.js");
5
+ Object.defineProperty(exports, "program", { enumerable: true, get: function () { return cli_js_1.program; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAA1B,iGAAA,OAAO,OAAA"}
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@oda-agent/cli",
3
+ "version": "0.1.0",
4
+ "description": "CLI tool for interacting with Oda grocery from the terminal",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "oda": "dist/bin.js"
9
+ },
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "scripts": {
14
+ "build": "tsc --project tsconfig.json",
15
+ "clean": "rm -rf dist *.tsbuildinfo",
16
+ "lint": "eslint src --ext .ts",
17
+ "typecheck": "tsc --project tsconfig.json --noEmit",
18
+ "test": "jest"
19
+ },
20
+ "dependencies": {
21
+ "@oda-agent/core": "*",
22
+ "commander": "^12.1.0",
23
+ "dotenv": "^16.4.0"
24
+ },
25
+ "devDependencies": {
26
+ "@types/jest": "^29.5.0",
27
+ "jest": "^29.7.0",
28
+ "ts-jest": "^29.2.0"
29
+ },
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "https://github.com/dinorastoder/oda-agent-kit.git"
33
+ },
34
+ "license": "MIT"
35
+ }