bkper 4.12.31 → 4.13.1

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 (58) hide show
  1. package/README.md +4 -1
  2. package/lib/auth/local-auth-service.d.ts.map +1 -1
  3. package/lib/auth/local-auth-service.js +83 -66
  4. package/lib/auth/local-auth-service.js.map +1 -1
  5. package/lib/cli.js +2 -0
  6. package/lib/cli.js.map +1 -1
  7. package/lib/commands/cli-helpers.d.ts +4 -0
  8. package/lib/commands/cli-helpers.d.ts.map +1 -1
  9. package/lib/commands/cli-helpers.js +8 -2
  10. package/lib/commands/cli-helpers.js.map +1 -1
  11. package/lib/commands/files/get.d.ts +14 -0
  12. package/lib/commands/files/get.d.ts.map +1 -0
  13. package/lib/commands/files/get.js +34 -0
  14. package/lib/commands/files/get.js.map +1 -0
  15. package/lib/commands/files/index.d.ts +3 -0
  16. package/lib/commands/files/index.d.ts.map +1 -0
  17. package/lib/commands/files/index.js +3 -0
  18. package/lib/commands/files/index.js.map +1 -0
  19. package/lib/commands/files/register.d.ts +3 -0
  20. package/lib/commands/files/register.d.ts.map +1 -0
  21. package/lib/commands/files/register.js +42 -0
  22. package/lib/commands/files/register.js.map +1 -0
  23. package/lib/commands/files/upload.d.ts +18 -0
  24. package/lib/commands/files/upload.d.ts.map +1 -0
  25. package/lib/commands/files/upload.js +94 -0
  26. package/lib/commands/files/upload.js.map +1 -0
  27. package/lib/commands/transactions/create.d.ts +9 -0
  28. package/lib/commands/transactions/create.d.ts.map +1 -1
  29. package/lib/commands/transactions/create.js +30 -1
  30. package/lib/commands/transactions/create.js.map +1 -1
  31. package/lib/commands/transactions/index.d.ts +2 -2
  32. package/lib/commands/transactions/index.d.ts.map +1 -1
  33. package/lib/commands/transactions/index.js +1 -1
  34. package/lib/commands/transactions/index.js.map +1 -1
  35. package/lib/commands/transactions/merge.d.ts +7 -12
  36. package/lib/commands/transactions/merge.d.ts.map +1 -1
  37. package/lib/commands/transactions/merge.js +7 -34
  38. package/lib/commands/transactions/merge.js.map +1 -1
  39. package/lib/commands/transactions/register.d.ts.map +1 -1
  40. package/lib/commands/transactions/register.js +7 -13
  41. package/lib/commands/transactions/register.js.map +1 -1
  42. package/lib/docs/bkper-js.md +1 -1
  43. package/lib/docs/cli-reference.md +4 -1
  44. package/lib/docs/data-management.md +45 -1
  45. package/lib/docs/index.md +2 -2
  46. package/lib/utils/local-file.d.ts +11 -0
  47. package/lib/utils/local-file.d.ts.map +1 -0
  48. package/lib/utils/local-file.js +55 -0
  49. package/lib/utils/local-file.js.map +1 -0
  50. package/package.json +3 -2
  51. package/lib/domain/transaction/merge-operation.d.ts +0 -48
  52. package/lib/domain/transaction/merge-operation.d.ts.map +0 -1
  53. package/lib/domain/transaction/merge-operation.js +0 -194
  54. package/lib/domain/transaction/merge-operation.js.map +0 -1
  55. package/lib/domain/transaction/merge-types.d.ts +0 -25
  56. package/lib/domain/transaction/merge-types.d.ts.map +0 -1
  57. package/lib/domain/transaction/merge-types.js +0 -8
  58. package/lib/domain/transaction/merge-types.js.map +0 -1
package/README.md CHANGED
@@ -137,10 +137,13 @@ Pi-specific extensions are loaded from Pi extension folders (for example `.pi/ex
137
137
 
138
138
  ## Data Management
139
139
 
140
- Manage books, accounts, transactions, and balances.
140
+ Manage books, files, accounts, transactions, and balances.
141
141
 
142
142
  ```bash
143
143
  bkper book list
144
+ bkper file upload ./receipt.pdf -b <bookId>
145
+ bkper file get <fileId> -b <bookId>
146
+ bkper transaction create -b <bookId> --description "Team lunch" --file ./receipt.pdf
144
147
  bkper account list -b <bookId>
145
148
  bkper transaction list -b <bookId> -q 'on:2025' --format csv
146
149
  bkper balance list -b <bookId> -q 'on:2025-12-31' --format csv
@@ -1 +1 @@
1
- {"version":3,"file":"local-auth-service.d.ts","sourceRoot":"","sources":["../../src/auth/local-auth-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,WAAW,EAAgB,MAAM,qBAAqB,CAAC;AA+CrF;;;GAGG;AACH,wBAAsB,KAAK,kBAK1B;AAED;;GAEG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAsB5C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,YAEzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,GAAG,SAAS,CAE9D;AAyID;;;;;GAKG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoBvE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAiBrD"}
1
+ {"version":3,"file":"local-auth-service.d.ts","sourceRoot":"","sources":["../../src/auth/local-auth-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,WAAW,EAAgB,MAAM,qBAAqB,CAAC;AA+CrF;;;GAGG;AACH,wBAAsB,KAAK,kBAK1B;AAED;;GAEG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAsB5C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,YAEzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,GAAG,SAAS,CAE9D;AAqKD;;;;;GAKG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoBvE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAiBrD"}
@@ -116,11 +116,11 @@ function generatePKCECodes() {
116
116
  const codeChallenge = crypto.createHash('sha256').update(codeVerifier).digest('base64url');
117
117
  return { codeVerifier, codeChallenge };
118
118
  }
119
- function createOAuthClient() {
119
+ function createOAuthClient(redirectUri) {
120
120
  return new OAuth2Client({
121
121
  clientId: OAUTH_CONFIG.clientId,
122
122
  clientSecret: OAUTH_CONFIG.clientSecret,
123
- redirectUri: OAUTH_CONFIG.redirectUri,
123
+ redirectUri: redirectUri !== null && redirectUri !== void 0 ? redirectUri : OAUTH_CONFIG.redirectUri,
124
124
  });
125
125
  }
126
126
  function mergeCredentials(base, updates) {
@@ -143,78 +143,95 @@ function registerCredentialPersistence(localAuth) {
143
143
  * opening the user's browser, and waiting for the authorization code.
144
144
  * Uses PKCE (Proof Key for Code Exchange) for enhanced security without client_secret.
145
145
  */
146
+ const MAX_PORT_ATTEMPTS = 10;
146
147
  function authenticateLocal() {
147
148
  return __awaiter(this, void 0, void 0, function* () {
148
149
  const pkceCodes = generatePKCECodes();
149
- const oAuth2Client = createOAuthClient();
150
- const authorizeUrl = oAuth2Client.generateAuthUrl({
151
- access_type: 'offline',
152
- scope: ['https://www.googleapis.com/auth/userinfo.email'],
153
- prompt: 'consent',
154
- code_challenge: pkceCodes.codeChallenge,
155
- code_challenge_method: CodeChallengeMethod.S256,
156
- });
157
150
  const open = (yield import('open')).default;
151
+ const baseRedirectUrl = new URL(OAUTH_CONFIG.redirectUri);
152
+ const basePort = parseInt(baseRedirectUrl.port) || 3000;
158
153
  return new Promise((resolve, reject) => {
159
- const redirectUrl = new URL(OAUTH_CONFIG.redirectUri);
160
- const port = parseInt(redirectUrl.port) || 3000;
161
- const server = http.createServer((req, res) => __awaiter(this, void 0, void 0, function* () {
162
- try {
163
- if (req.url && req.url.startsWith('/oauth2callback')) {
164
- const searchParams = new URL(req.url, `http://localhost:${port}`).searchParams;
165
- const code = searchParams.get('code');
166
- if (code) {
167
- const { tokens } = yield oAuth2Client.getToken({
168
- code,
169
- codeVerifier: pkceCodes.codeVerifier,
170
- });
171
- oAuth2Client.setCredentials(tokens);
172
- res.writeHead(200, { 'Content-Type': 'text/html' });
173
- res.end(generateAuthPage({
174
- type: 'success',
175
- title: 'Authentication Successful',
176
- message: 'You have been successfully authenticated with Bkper CLI.',
177
- }));
178
- server.closeAllConnections();
179
- server.close();
180
- resolve(oAuth2Client);
181
- }
182
- else {
183
- const error = searchParams.get('error');
184
- res.writeHead(400, { 'Content-Type': 'text/html' });
185
- res.end(generateAuthPage({
186
- type: 'error',
187
- title: 'Authentication Failed',
188
- message: error || 'No authorization code received.',
189
- }));
190
- server.closeAllConnections();
191
- server.close();
192
- reject(new Error(error || 'No authorization code received'));
154
+ let attempts = 0;
155
+ function tryPort(port) {
156
+ if (attempts >= MAX_PORT_ATTEMPTS) {
157
+ reject(new Error(`Failed to start local server: All ports in range ${basePort}-${basePort + MAX_PORT_ATTEMPTS - 1} are in use`));
158
+ return;
159
+ }
160
+ attempts++;
161
+ const redirectUri = `http://localhost:${port}/oauth2callback`;
162
+ const oAuth2Client = createOAuthClient(redirectUri);
163
+ const authorizeUrl = oAuth2Client.generateAuthUrl({
164
+ access_type: 'offline',
165
+ scope: ['https://www.googleapis.com/auth/userinfo.email'],
166
+ prompt: 'consent',
167
+ code_challenge: pkceCodes.codeChallenge,
168
+ code_challenge_method: CodeChallengeMethod.S256,
169
+ });
170
+ const server = http.createServer((req, res) => __awaiter(this, void 0, void 0, function* () {
171
+ try {
172
+ if (req.url && req.url.startsWith('/oauth2callback')) {
173
+ const searchParams = new URL(req.url, `http://localhost:${port}`).searchParams;
174
+ const code = searchParams.get('code');
175
+ if (code) {
176
+ const { tokens } = yield oAuth2Client.getToken({
177
+ code,
178
+ codeVerifier: pkceCodes.codeVerifier,
179
+ });
180
+ oAuth2Client.setCredentials(tokens);
181
+ res.writeHead(200, { 'Content-Type': 'text/html' });
182
+ res.end(generateAuthPage({
183
+ type: 'success',
184
+ title: 'Authentication Successful',
185
+ message: 'You have been successfully authenticated with Bkper CLI.',
186
+ }));
187
+ server.closeAllConnections();
188
+ server.close();
189
+ resolve(oAuth2Client);
190
+ }
191
+ else {
192
+ const error = searchParams.get('error');
193
+ res.writeHead(400, { 'Content-Type': 'text/html' });
194
+ res.end(generateAuthPage({
195
+ type: 'error',
196
+ title: 'Authentication Failed',
197
+ message: error || 'No authorization code received.',
198
+ }));
199
+ server.closeAllConnections();
200
+ server.close();
201
+ reject(new Error(error || 'No authorization code received'));
202
+ }
193
203
  }
194
204
  }
195
- }
196
- catch (err) {
197
- const errorMessage = err instanceof Error ? err.message : String(err);
198
- res.writeHead(500, { 'Content-Type': 'text/html' });
199
- res.end(generateAuthPage({
200
- type: 'error',
201
- title: 'Authentication Error',
202
- message: errorMessage,
203
- }));
204
- server.closeAllConnections();
205
- server.close();
206
- reject(err);
207
- }
208
- }));
209
- server.listen(port, () => {
210
- console.log(`\nOpen this URL to authenticate:\n${authorizeUrl}\n`);
211
- open(authorizeUrl, { wait: false }).catch(() => {
212
- // Browser couldn't open - URL already displayed above
205
+ catch (err) {
206
+ const errorMessage = err instanceof Error ? err.message : String(err);
207
+ res.writeHead(500, { 'Content-Type': 'text/html' });
208
+ res.end(generateAuthPage({
209
+ type: 'error',
210
+ title: 'Authentication Error',
211
+ message: errorMessage,
212
+ }));
213
+ server.closeAllConnections();
214
+ server.close();
215
+ reject(err);
216
+ }
217
+ }));
218
+ server.listen(port, () => {
219
+ console.log(`\nOpen this URL to authenticate:\n${authorizeUrl}\n`);
220
+ open(authorizeUrl, { wait: false }).catch(() => {
221
+ // Browser couldn't open - URL already displayed above
222
+ });
213
223
  });
214
- });
215
- server.on('error', err => {
216
- reject(new Error(`Failed to start local server: ${err.message}`));
217
- });
224
+ server.on('error', err => {
225
+ if ('code' in err && err.code === 'EADDRINUSE') {
226
+ server.close();
227
+ tryPort(port + 1);
228
+ }
229
+ else {
230
+ reject(new Error(`Failed to start local server: ${err.message}`));
231
+ }
232
+ });
233
+ }
234
+ tryPort(basePort);
218
235
  });
219
236
  });
220
237
  }
@@ -1 +1 @@
1
- {"version":3,"file":"local-auth-service.js","sourceRoot":"","sources":["../../src/auth/local-auth-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-auth-service.js","sourceRoot":"","sources":["../../src/auth/local-auth-service.ts"],"names":[],"mappings":"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"}
package/lib/cli.js CHANGED
@@ -18,6 +18,7 @@ import { registerGroupCommands } from './commands/groups/register.js';
18
18
  import { registerTransactionCommands } from './commands/transactions/register.js';
19
19
  import { registerBalanceCommands } from './commands/balances/register.js';
20
20
  import { registerCollectionCommands } from './commands/collections/register.js';
21
+ import { registerFileCommands } from './commands/files/register.js';
21
22
  import { registerUpgradeCommand } from './commands/upgrade.js';
22
23
  import { registerAgentCommands, runAgentCommand } from './commands/agent-command.js';
23
24
  import { shouldRunAgentCommand } from './agent/cli-dispatch.js';
@@ -49,6 +50,7 @@ function main() {
49
50
  registerTransactionCommands(program);
50
51
  registerBalanceCommands(program);
51
52
  registerCollectionCommands(program);
53
+ registerFileCommands(program);
52
54
  // Agent bridge command
53
55
  registerAgentCommands(program);
54
56
  // Upgrade command
package/lib/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,OAAO,eAAe,CAAC,CAAC,sDAAsD;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1D,SAAe,IAAI;;QACf,IAAI,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACD,MAAM,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,OAAO;YACX,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;QAED,UAAU;QACV,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAE1C,+BAA+B;QAC/B,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,EAAE,OAAO,CAAC,CAAC;QACnF,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,0CAA0C,CAAC,CAAC;QAErE,gBAAgB;QAChB,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9B,oBAAoB;QACpB,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/B,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAEpC,uBAAuB;QACvB,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE/B,kBAAkB;QAClB,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEhC,4EAA4E;QAC5E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;YACxC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CAAA;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,OAAO,eAAe,CAAC,CAAC,sDAAsD;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1D,SAAe,IAAI;;QACf,IAAI,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACD,MAAM,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,OAAO;YACX,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;QAED,UAAU;QACV,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAE1C,+BAA+B;QAC/B,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,EAAE,OAAO,CAAC,CAAC;QACnF,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,0CAA0C,CAAC,CAAC;QAErE,gBAAgB;QAChB,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9B,oBAAoB;QACpB,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/B,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QACpC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9B,uBAAuB;QACvB,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE/B,kBAAkB;QAClB,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEhC,4EAA4E;QAC5E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;YACxC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CAAA;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -1,4 +1,8 @@
1
1
  import type { OutputFormat } from '../render/output.js';
2
+ /**
3
+ * Commander option collector for repeatable scalar flags.
4
+ */
5
+ export declare function collectRepeatable(value: string, previous: string[] | undefined): string[];
2
6
  /**
3
7
  * Commander option collector for repeatable --property flags.
4
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cli-helpers.d.ts","sourceRoot":"","sources":["../../src/commands/cli-helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAEvF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAEnF;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,YAAY,CAUxC"}
1
+ {"version":3,"file":"cli-helpers.d.ts","sourceRoot":"","sources":["../../src/commands/cli-helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAEzF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAEvF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAEnF;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,YAAY,CAUxC"}
@@ -1,15 +1,21 @@
1
1
  import { program } from 'commander';
2
+ /**
3
+ * Commander option collector for repeatable scalar flags.
4
+ */
5
+ export function collectRepeatable(value, previous) {
6
+ return previous ? [...previous, value] : [value];
7
+ }
2
8
  /**
3
9
  * Commander option collector for repeatable --property flags.
4
10
  */
5
11
  export function collectProperty(value, previous) {
6
- return previous ? [...previous, value] : [value];
12
+ return collectRepeatable(value, previous);
7
13
  }
8
14
  /**
9
15
  * Commander option collector for repeatable --book flags.
10
16
  */
11
17
  export function collectBook(value, previous) {
12
- return previous ? [...previous, value] : [value];
18
+ return collectRepeatable(value, previous);
13
19
  }
14
20
  /**
15
21
  * Returns the active output format, considering both --format and --json flags.
@@ -1 +1 @@
1
- {"version":3,"file":"cli-helpers.js","sourceRoot":"","sources":["../../src/commands/cli-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,QAA8B;IACzE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,QAA8B;IACrE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS;IACrB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;IACrC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"cli-helpers.js","sourceRoot":"","sources":["../../src/commands/cli-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,QAA8B;IAC3E,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,QAA8B;IACzE,OAAO,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,QAA8B;IACrE,OAAO,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS;IACrB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;IACrC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { File as BkperFile } from 'bkper-js';
2
+ /**
3
+ * Retrieves a single file by ID from the specified book.
4
+ *
5
+ * The file content is hydrated before returning so CLI output can verify the
6
+ * full upload cycle, not just metadata.
7
+ *
8
+ * @param bookId - The target book ID
9
+ * @param fileId - File ID to look up
10
+ * @returns The matching file
11
+ * @throws Error if the file is not found
12
+ */
13
+ export declare function getFile(bookId: string, fileId: string): Promise<BkperFile>;
14
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/files/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,UAAU,CAAC;AAG7C;;;;;;;;;;GAUG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAUhF"}
@@ -0,0 +1,34 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { getBkperInstance } from '../../bkper-factory.js';
11
+ /**
12
+ * Retrieves a single file by ID from the specified book.
13
+ *
14
+ * The file content is hydrated before returning so CLI output can verify the
15
+ * full upload cycle, not just metadata.
16
+ *
17
+ * @param bookId - The target book ID
18
+ * @param fileId - File ID to look up
19
+ * @returns The matching file
20
+ * @throws Error if the file is not found
21
+ */
22
+ export function getFile(bookId, fileId) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ const bkper = getBkperInstance();
25
+ const book = yield bkper.getBook(bookId);
26
+ const file = yield book.getFile(fileId);
27
+ if (!file) {
28
+ throw new Error(`File not found: ${fileId}`);
29
+ }
30
+ yield file.getContent();
31
+ return file;
32
+ });
33
+ }
34
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/files/get.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,UAAgB,OAAO,CAAC,MAAc,EAAE,MAAc;;QACxD,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;CAAA"}
@@ -0,0 +1,3 @@
1
+ export { getFile } from './get.js';
2
+ export { uploadFile, UploadFileOptions } from './upload.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/files/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { getFile } from './get.js';
2
+ export { uploadFile } from './upload.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/files/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerFileCommands(program: Command): void;
3
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/commands/files/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoC3D"}
@@ -0,0 +1,42 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { withAction } from '../action.js';
11
+ import { collectProperty } from '../cli-helpers.js';
12
+ import { renderItem } from '../../render/index.js';
13
+ import { validateRequiredOptions, throwIfErrors } from '../../utils/validation.js';
14
+ import { getFile, uploadFile } from './index.js';
15
+ export function registerFileCommands(program) {
16
+ const fileCommand = program.command('file').description('Manage Files');
17
+ fileCommand
18
+ .command('get <fileId>')
19
+ .description('Get a file by ID')
20
+ .option('-b, --book <bookId>', 'Book ID')
21
+ .action((fileId, options) => withAction('getting file', (format) => __awaiter(this, void 0, void 0, function* () {
22
+ throwIfErrors(validateRequiredOptions(options, [{ name: 'book', flag: '--book' }]));
23
+ const file = yield getFile(options.book, fileId);
24
+ renderItem(file.json(), format);
25
+ }))());
26
+ fileCommand
27
+ .command('upload <path>')
28
+ .description('Upload a local file to a book')
29
+ .option('-b, --book <bookId>', 'Book ID')
30
+ .option('--account <accountIdOrName>', 'Account name or ID for file routing')
31
+ .option('-p, --property <key=value>', 'Set a property (repeatable, empty value deletes)', collectProperty)
32
+ .action((filePath, options) => withAction('uploading file', (format) => __awaiter(this, void 0, void 0, function* () {
33
+ throwIfErrors(validateRequiredOptions(options, [{ name: 'book', flag: '--book' }]));
34
+ const file = yield uploadFile(options.book, {
35
+ path: filePath,
36
+ account: options.account,
37
+ property: options.property,
38
+ });
39
+ renderItem(file.json(), format);
40
+ }))());
41
+ }
42
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/commands/files/register.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAExE,WAAW;SACN,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,qBAAqB,EAAE,SAAS,CAAC;SACxC,MAAM,CAAC,CAAC,MAAc,EAAE,OAAO,EAAE,EAAE,CAChC,UAAU,CAAC,cAAc,EAAE,CAAM,MAAM,EAAC,EAAE;QACtC,aAAa,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjD,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC,CAAA,CAAC,EAAE,CACP,CAAC;IAEN,WAAW;SACN,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,qBAAqB,EAAE,SAAS,CAAC;SACxC,MAAM,CAAC,6BAA6B,EAAE,qCAAqC,CAAC;SAC5E,MAAM,CACH,4BAA4B,EAC5B,kDAAkD,EAClD,eAAe,CAClB;SACA,MAAM,CAAC,CAAC,QAAgB,EAAE,OAAO,EAAE,EAAE,CAClC,UAAU,CAAC,gBAAgB,EAAE,CAAM,MAAM,EAAC,EAAE;QACxC,aAAa,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE;YACxC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC,CAAA,CAAC,EAAE,CACP,CAAC;AACV,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { File as BkperFile } from 'bkper-js';
2
+ /**
3
+ * Options for uploading a local file to a book.
4
+ */
5
+ export interface UploadFileOptions {
6
+ path: string;
7
+ account?: string;
8
+ property?: string[];
9
+ }
10
+ /**
11
+ * Uploads a local file to a book.
12
+ *
13
+ * @param bookId - Target book ID
14
+ * @param options - Upload options including local path and optional properties
15
+ * @returns The created file resource
16
+ */
17
+ export declare function uploadFile(bookId: string, options: UploadFileOptions): Promise<BkperFile>;
18
+ //# sourceMappingURL=upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/commands/files/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,UAAU,CAAC;AAS7C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GAC3B,OAAO,CAAC,SAAS,CAAC,CA4EpB"}
@@ -0,0 +1,94 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { File as BkperFile } from 'bkper-js';
11
+ import { getBkperInstance } from '../../bkper-factory.js';
12
+ import { parsePropertyFlag } from '../../utils/properties.js';
13
+ import { readLocalFilePayload } from '../../utils/local-file.js';
14
+ import { throwIfErrors } from '../../utils/validation.js';
15
+ const ACCOUNT_ID_PROPERTY = 'account_id';
16
+ const UPLOAD_METHOD_PROPERTY = 'upload_method';
17
+ /**
18
+ * Uploads a local file to a book.
19
+ *
20
+ * @param bookId - Target book ID
21
+ * @param options - Upload options including local path and optional properties
22
+ * @returns The created file resource
23
+ */
24
+ export function uploadFile(bookId, options) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const bkper = getBkperInstance();
27
+ const book = yield bkper.getBook(bookId);
28
+ const errors = [];
29
+ let payload;
30
+ try {
31
+ payload = yield readLocalFilePayload(options.path);
32
+ }
33
+ catch (err) {
34
+ errors.push(err.message);
35
+ }
36
+ const parsedProperties = [];
37
+ let hasRawAccountId = false;
38
+ if (options.property) {
39
+ for (const raw of options.property) {
40
+ try {
41
+ const [key, value] = parsePropertyFlag(raw);
42
+ if (key === UPLOAD_METHOD_PROPERTY) {
43
+ errors.push('Property upload_method is reserved for transaction attachments and cannot be set with file upload');
44
+ continue;
45
+ }
46
+ if (key === ACCOUNT_ID_PROPERTY) {
47
+ hasRawAccountId = true;
48
+ }
49
+ parsedProperties.push([key, value]);
50
+ }
51
+ catch (err) {
52
+ errors.push(err.message);
53
+ }
54
+ }
55
+ }
56
+ if (options.account && hasRawAccountId) {
57
+ errors.push('Cannot combine --account with -p account_id=...');
58
+ }
59
+ let resolvedAccountId;
60
+ if (options.account) {
61
+ const account = yield book.getAccount(options.account);
62
+ if (!account) {
63
+ errors.push(`Account (--account) not found: ${options.account}`);
64
+ }
65
+ else {
66
+ const accountId = account.getId();
67
+ if (!accountId) {
68
+ errors.push(`Resolved account (--account) is missing an id: ${options.account}`);
69
+ }
70
+ else {
71
+ resolvedAccountId = accountId;
72
+ }
73
+ }
74
+ }
75
+ throwIfErrors(errors);
76
+ if (!payload) {
77
+ throw new Error(`Unable to load local file payload: ${options.path}`);
78
+ }
79
+ const file = new BkperFile(book, payload);
80
+ for (const [key, value] of parsedProperties) {
81
+ if (value === '') {
82
+ file.deleteProperty(key);
83
+ }
84
+ else {
85
+ file.setProperty(key, value);
86
+ }
87
+ }
88
+ if (resolvedAccountId) {
89
+ file.setProperty(ACCOUNT_ID_PROPERTY, resolvedAccountId);
90
+ }
91
+ return file.create();
92
+ });
93
+ }
94
+ //# sourceMappingURL=upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/commands/files/upload.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,mBAAmB,GAAG,YAAY,CAAC;AACzC,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAW/C;;;;;;GAMG;AACH,MAAM,UAAgB,UAAU,CAC5B,MAAc,EACd,OAA0B;;QAE1B,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,OAA+B,CAAC;QAEpC,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,gBAAgB,GAA4B,EAAE,CAAC;QACrD,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;oBAC5C,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;wBACjC,MAAM,CAAC,IAAI,CACP,mGAAmG,CACtG,CAAC;wBACF,SAAS;oBACb,CAAC;oBACD,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;wBAC9B,eAAe,GAAG,IAAI,CAAC;oBAC3B,CAAC;oBACD,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;gBACxC,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,iBAAqC,CAAC;QAC1C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,kCAAkC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACJ,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,kDAAkD,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrF,CAAC;qBAAM,CAAC;oBACJ,iBAAiB,GAAG,SAAS,CAAC;gBAClC,CAAC;YACL,CAAC;QACL,CAAC;QAED,aAAa,CAAC,MAAM,CAAC,CAAC;QAEtB,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC1C,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACf,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;CAAA"}
@@ -11,7 +11,16 @@ export interface CreateTransactionOptions {
11
11
  url?: string[];
12
12
  remoteId?: string[];
13
13
  property?: string[];
14
+ file?: string;
14
15
  }
16
+ /**
17
+ * Resolves the single supported --file value for transaction create.
18
+ *
19
+ * @param filePaths - Parsed --file option values
20
+ * @param hasStdinInput - Whether stdin JSON input was provided
21
+ * @returns The single file path, if any
22
+ */
23
+ export declare function resolveCreateTransactionFilePath(filePaths: string[] | undefined, hasStdinInput: boolean): string | undefined;
15
24
  /**
16
25
  * Creates a new transaction in the specified book.
17
26
  *
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/transactions/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wBAAwB,GAClC,OAAO,CAAC,WAAW,CAAC,CA4DtB"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/transactions/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,WAAW,EAAE,MAAM,UAAU,CAAC;AAM1D;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC5C,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAC/B,aAAa,EAAE,OAAO,GACvB,MAAM,GAAG,SAAS,CAepB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wBAAwB,GAClC,OAAO,CAAC,WAAW,CAAC,CAsEtB"}