@burdenoff/cli-sdk 2026.1102.1 → 2026.1102.3
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/chunk-O6UCQ5IT.js +1 -0
- package/dist/{chunk-AYNNSLCL.js → chunk-ZGT7IIOP.js} +409 -418
- package/dist/modules/adaptercloud/index.cjs +9 -6
- package/dist/modules/adaptercloud/index.js +7 -4
- package/dist/modules/artistrybase/index.js +2 -2
- package/dist/modules/assethandler/index.cjs +2 -2
- package/dist/modules/assethandler/index.js +2 -2
- package/dist/modules/atheletebridge/index.cjs +35 -21
- package/dist/modules/atheletebridge/index.js +33 -19
- package/dist/modules/auth/index.cjs +37 -37
- package/dist/modules/auth/index.js +33 -29
- package/dist/modules/billing/index.cjs +1 -1
- package/dist/modules/billing/index.js +2 -2
- package/dist/modules/brainyrich/index.cjs +44 -28
- package/dist/modules/brainyrich/index.js +47 -31
- package/dist/modules/buildmyiq/index.cjs +64 -67
- package/dist/modules/buildmyiq/index.js +60 -63
- package/dist/modules/channels/index.cjs +3 -3
- package/dist/modules/channels/index.js +2 -2
- package/dist/modules/collabkin/index.cjs +4 -4
- package/dist/modules/collabkin/index.js +2 -2
- package/dist/modules/comradecircle/index.cjs +24 -16
- package/dist/modules/comradecircle/index.js +20 -12
- package/dist/modules/conversations/index.cjs +7 -7
- package/dist/modules/conversations/index.js +2 -2
- package/dist/modules/coolandlovely/index.cjs +28 -15
- package/dist/modules/coolandlovely/index.js +30 -17
- package/dist/modules/cosmicintersection/index.cjs +6 -6
- package/dist/modules/cosmicintersection/index.js +2 -2
- package/dist/modules/crewfoundry/index.js +2 -2
- package/dist/modules/devportal/index.cjs +2 -2
- package/dist/modules/devportal/index.js +2 -2
- package/dist/modules/ecoimpacthub/index.cjs +23 -13
- package/dist/modules/ecoimpacthub/index.js +20 -10
- package/dist/modules/eventfullymanaged/index.cjs +74 -74
- package/dist/modules/eventfullymanaged/index.js +78 -78
- package/dist/modules/export/index.cjs +4 -4
- package/dist/modules/export/index.js +2 -2
- package/dist/modules/files/index.cjs +3 -3
- package/dist/modules/files/index.js +4 -4
- package/dist/modules/fluidgrids/index.cjs +16 -16
- package/dist/modules/fluidgrids/index.js +3 -3
- package/dist/modules/ggnomad/index.cjs +4 -4
- package/dist/modules/ggnomad/index.js +2 -2
- package/dist/modules/govcitizenhub/index.cjs +10 -7
- package/dist/modules/govcitizenhub/index.js +8 -5
- package/dist/modules/groups/index.cjs +4 -4
- package/dist/modules/groups/index.js +2 -2
- package/dist/modules/headshotmarketing/index.js +2 -2
- package/dist/modules/hookmovies/index.cjs +6 -6
- package/dist/modules/hookmovies/index.js +2 -2
- package/dist/modules/housingvista/index.cjs +3 -3
- package/dist/modules/housingvista/index.js +2 -2
- package/dist/modules/integrations/index.cjs +5 -5
- package/dist/modules/integrations/index.js +2 -2
- package/dist/modules/intelwatchtower/index.cjs +28 -16
- package/dist/modules/intelwatchtower/index.js +25 -13
- package/dist/modules/kadaikodi/index.cjs +2 -2
- package/dist/modules/kadaikodi/index.js +2 -2
- package/dist/modules/labsofscience/index.cjs +10 -6
- package/dist/modules/labsofscience/index.js +9 -5
- package/dist/modules/manufacturedops/index.cjs +35 -22
- package/dist/modules/manufacturedops/index.js +35 -22
- package/dist/modules/movethewheels/index.js +2 -2
- package/dist/modules/notifications/index.cjs +2 -2
- package/dist/modules/notifications/index.js +2 -2
- package/dist/modules/organizations/index.js +2 -2
- package/dist/modules/planmagnet/index.cjs +21 -21
- package/dist/modules/planmagnet/index.js +32 -32
- package/dist/modules/products/index.cjs +4 -4
- package/dist/modules/products/index.js +2 -2
- package/dist/modules/proserviceworld/index.cjs +18 -13
- package/dist/modules/proserviceworld/index.js +18 -13
- package/dist/modules/rbac/index.js +2 -2
- package/dist/modules/sandbox/index.cjs +17 -17
- package/dist/modules/sandbox/index.js +1 -1
- package/dist/modules/scheduler/index.cjs +2 -2
- package/dist/modules/scheduler/index.js +2 -2
- package/dist/modules/security/index.cjs +3 -3
- package/dist/modules/security/index.js +2 -2
- package/dist/modules/semanticfed/index.cjs +3 -3
- package/dist/modules/semanticfed/index.js +2 -2
- package/dist/modules/store/index.cjs +3 -3
- package/dist/modules/store/index.js +2 -2
- package/dist/modules/subscriberbot/index.cjs +43 -19
- package/dist/modules/subscriberbot/index.js +47 -23
- package/dist/modules/support/index.cjs +2 -2
- package/dist/modules/support/index.js +2 -2
- package/dist/modules/tags/index.js +2 -2
- package/dist/modules/technospam/index.cjs +18 -9
- package/dist/modules/technospam/index.js +18 -9
- package/dist/modules/theculturepost/index.cjs +27 -22
- package/dist/modules/theculturepost/index.js +32 -27
- package/dist/modules/theglobalfuel/index.cjs +65 -60
- package/dist/modules/theglobalfuel/index.js +65 -60
- package/dist/modules/timecampus/index.js +2 -2
- package/dist/modules/tours/index.cjs +2 -2
- package/dist/modules/tours/index.js +2 -2
- package/dist/modules/vibecontrols/index.cjs +563 -567
- package/dist/modules/vibecontrols/index.js +5 -4
- package/dist/modules/workspaces/index.cjs +4 -4
- package/dist/modules/workspaces/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-W4JZR7RJ.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {a,b,h
|
|
1
|
+
import {a,b,i,r,h,k as k$1,d as d$1}from'../../chunk-O6UCQ5IT.js';import {o}from'../../chunk-YIY5IDXQ.js';var C=`
|
|
2
2
|
query BrainyrichGetHousehold($id: ID!) {
|
|
3
3
|
braHousehold(id: $id) {
|
|
4
4
|
id name advisorId aum currency riskProfile status notes
|
|
@@ -36,10 +36,16 @@ import {a,b,h as h$1,p as p$1,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';import
|
|
|
36
36
|
`,D=`
|
|
37
37
|
query BrainyrichGetAccount($id: ID!) {
|
|
38
38
|
braAccount(id: $id) {
|
|
39
|
-
id ownerId householdId name type status currency cashBalance
|
|
40
|
-
|
|
41
|
-
holdings {
|
|
42
|
-
|
|
39
|
+
id ownerId householdId name type status currency cashBalance institution accountMask
|
|
40
|
+
isManual createdAt updatedAt workspaceId
|
|
41
|
+
holdings {
|
|
42
|
+
items { id symbol name assetClass quantity lastPrice marketValue currency }
|
|
43
|
+
pageInfo { cursor hasMore }
|
|
44
|
+
}
|
|
45
|
+
transactions {
|
|
46
|
+
items { id type amount currency tradeDate symbol }
|
|
47
|
+
pageInfo { cursor hasMore }
|
|
48
|
+
}
|
|
43
49
|
}
|
|
44
50
|
}
|
|
45
51
|
`,R=`
|
|
@@ -77,8 +83,11 @@ import {a,b,h as h$1,p as p$1,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';import
|
|
|
77
83
|
`,N=`
|
|
78
84
|
query BrainyrichListHoldings($accountId: ID, $portfolioId: ID) {
|
|
79
85
|
braListHoldings(accountId: $accountId, portfolioId: $portfolioId) {
|
|
80
|
-
|
|
81
|
-
|
|
86
|
+
items {
|
|
87
|
+
id accountId portfolioId symbol name assetClass quantity costBasis lastPrice
|
|
88
|
+
marketValue currency asOf createdAt updatedAt workspaceId
|
|
89
|
+
}
|
|
90
|
+
pageInfo { cursor hasMore }
|
|
82
91
|
}
|
|
83
92
|
}
|
|
84
93
|
`,H=`
|
|
@@ -102,10 +111,12 @@ import {a,b,h as h$1,p as p$1,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';import
|
|
|
102
111
|
`,k=`
|
|
103
112
|
query BrainyrichGetPortfolio($id: ID!) {
|
|
104
113
|
braPortfolio(id: $id) {
|
|
105
|
-
id ownerId householdId name description status baseCurrency
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
114
|
+
id ownerId householdId name description status baseCurrency driftThresholdPct
|
|
115
|
+
modelPortfolioId targetAllocation tags createdAt updatedAt workspaceId
|
|
116
|
+
holdings {
|
|
117
|
+
items { id symbol name assetClass quantity lastPrice marketValue }
|
|
118
|
+
pageInfo { cursor hasMore }
|
|
119
|
+
}
|
|
109
120
|
}
|
|
110
121
|
}
|
|
111
122
|
`,B=`
|
|
@@ -136,30 +147,32 @@ import {a,b,h as h$1,p as p$1,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';import
|
|
|
136
147
|
modelPortfolioId targetAllocation tags updatedAt
|
|
137
148
|
}
|
|
138
149
|
}
|
|
139
|
-
`,
|
|
150
|
+
`,M=`
|
|
140
151
|
mutation BrainyrichArchivePortfolio($id: ID!) {
|
|
141
152
|
braArchivePortfolio(id: $id)
|
|
142
153
|
}
|
|
143
|
-
`,
|
|
154
|
+
`,v=`
|
|
144
155
|
query BrainyrichGetModelPortfolio($id: ID!) {
|
|
145
156
|
braModelPortfolio(id: $id) {
|
|
146
|
-
id name description baseCurrency riskProfile isActive
|
|
147
|
-
|
|
148
|
-
allocations { id assetClass targetPct }
|
|
157
|
+
id name description baseCurrency riskProfile isActive createdAt updatedAt workspaceId
|
|
158
|
+
allocations { items { id assetClass targetPct } pageInfo { cursor hasMore } }
|
|
149
159
|
}
|
|
150
160
|
}
|
|
151
161
|
`,x=`
|
|
152
162
|
query BrainyrichListModelPortfolios {
|
|
153
163
|
braListModelPortfolios {
|
|
154
|
-
|
|
155
|
-
|
|
164
|
+
items {
|
|
165
|
+
id name description baseCurrency riskProfile isActive createdAt
|
|
166
|
+
allocations { items { id assetClass targetPct } pageInfo { cursor hasMore } }
|
|
167
|
+
}
|
|
168
|
+
pageInfo { cursor hasMore }
|
|
156
169
|
}
|
|
157
170
|
}
|
|
158
171
|
`,F=`
|
|
159
172
|
mutation BrainyrichCreateModelPortfolio($input: BraCreateModelPortfolioInput!) {
|
|
160
173
|
braCreateModelPortfolio(input: $input) {
|
|
161
174
|
id name description baseCurrency riskProfile isActive createdAt
|
|
162
|
-
allocations { id assetClass targetPct }
|
|
175
|
+
allocations { items { id assetClass targetPct } pageInfo { cursor hasMore } }
|
|
163
176
|
}
|
|
164
177
|
}
|
|
165
178
|
`,q=`
|
|
@@ -167,7 +180,10 @@ import {a,b,h as h$1,p as p$1,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';import
|
|
|
167
180
|
braGoal(id: $id) {
|
|
168
181
|
id ownerId householdId name type status currency targetAmount targetDate
|
|
169
182
|
monthlyContribution priority projection notes tags createdAt updatedAt workspaceId
|
|
170
|
-
fundings {
|
|
183
|
+
fundings {
|
|
184
|
+
items { id accountId allocationPct fixedAmount }
|
|
185
|
+
pageInfo { cursor hasMore }
|
|
186
|
+
}
|
|
171
187
|
}
|
|
172
188
|
}
|
|
173
189
|
`,j=`
|
|
@@ -187,7 +203,8 @@ import {a,b,h as h$1,p as p$1,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';import
|
|
|
187
203
|
`,V=`
|
|
188
204
|
query BrainyrichListGoalFundings($goalId: ID!) {
|
|
189
205
|
braListGoalFundings(goalId: $goalId) {
|
|
190
|
-
id goalId accountId allocationPct fixedAmount createdAt updatedAt workspaceId
|
|
206
|
+
items { id goalId accountId allocationPct fixedAmount createdAt updatedAt workspaceId }
|
|
207
|
+
pageInfo { cursor hasMore }
|
|
191
208
|
}
|
|
192
209
|
}
|
|
193
210
|
`,W=`
|
|
@@ -280,13 +297,13 @@ import {a,b,h as h$1,p as p$1,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';import
|
|
|
280
297
|
metrics createdAt
|
|
281
298
|
}
|
|
282
299
|
}
|
|
283
|
-
`,
|
|
300
|
+
`,rt=`
|
|
284
301
|
mutation BrainyrichAcknowledgeInsight($id: ID!) {
|
|
285
302
|
braAcknowledgeInsight(id: $id) {
|
|
286
303
|
id type severity status title acknowledgedById updatedAt
|
|
287
304
|
}
|
|
288
305
|
}
|
|
289
|
-
`,
|
|
306
|
+
`,it=`
|
|
290
307
|
mutation BrainyrichDismissInsight($id: ID!) {
|
|
291
308
|
braDismissInsight(id: $id) {
|
|
292
309
|
id type severity status title updatedAt
|
|
@@ -304,13 +321,12 @@ import {a,b,h as h$1,p as p$1,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';import
|
|
|
304
321
|
$householdId: ID
|
|
305
322
|
$status: BraRebalanceStatus
|
|
306
323
|
) {
|
|
307
|
-
braListRebalanceProposals(
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
proposedById approvedById executedAt createdAt updatedAt workspaceId
|
|
324
|
+
braListRebalanceProposals(portfolioId: $portfolioId, householdId: $householdId, status: $status) {
|
|
325
|
+
items {
|
|
326
|
+
id portfolioId householdId status driftPct rationale trades proposedById approvedById
|
|
327
|
+
executedAt createdAt updatedAt workspaceId
|
|
328
|
+
}
|
|
329
|
+
pageInfo { cursor hasMore }
|
|
314
330
|
}
|
|
315
331
|
}
|
|
316
332
|
`,st=`
|
|
@@ -337,4 +353,4 @@ import {a,b,h as h$1,p as p$1,g,i,d as d$1}from'../../chunk-W4JZR7RJ.js';import
|
|
|
337
353
|
query BrainyrichHealth {
|
|
338
354
|
braHealth
|
|
339
355
|
}
|
|
340
|
-
`;function h(c,i){try{return JSON.parse(i)}catch{throw new o(`--${c} must be valid JSON`)}}function p(c){let i=Number.parseInt(c,10);if(Number.isNaN(i))throw new o(`Expected an integer but got "${c}"`);return i}function d(c){let i=Number.parseFloat(c);if(Number.isNaN(i))throw new o(`Expected a number but got "${c}"`);return i}function I(c){return c.split(",").map(i=>i.trim()).filter(i=>i.length>0)}function lt(c){let i$1=c.command("households").description("Brainyrich advisory households");i$1.command("list").description("List households").option("--status <s>","PROSPECT|ONBOARDING|ACTIVE|INACTIVE").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(O,{status:o.status?o.status.toUpperCase():void 0,pagination:{limit:o.limit,offset:o.offset}});h$1(o,t.braListHouseholds.items,{headers:["ID","Name","Status","Risk","AUM","Currency"],rows:t.braListHouseholds.items.map(n=>[p$1(n.id,12),n.name,n.status??"-",n.riskProfile??"-",n.aum!=null?String(n.aum):"-",n.currency??"-"])});}catch(t){g(t);}}),i$1.command("get").description("Get a household by id").argument("<id>","Household ID").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n=await b(C,{id:o$1});if(!n.braHousehold)throw new o(`Household ${o$1} not found`);h$1(t,n.braHousehold);}catch(n){g(n);}}),i$1.command("create").description("Create a household").requiredOption("--name <name>","Household name").option("--advisor <id>","Advisor user ID").option("--currency <c>","Currency code").option("--risk-profile <r>","CONSERVATIVE|MODERATE|BALANCED|GROWTH|AGGRESSIVE").option("--status <s>","PROSPECT|ONBOARDING|ACTIVE|INACTIVE").option("--primary-contact-name <s>","Primary contact name").option("--primary-contact-email <s>","Primary contact email").option("--notes <s>","Notes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async o=>{try{let t={name:o.name};o.advisor&&(t.advisorId=o.advisor),o.currency&&(t.currency=o.currency),o.riskProfile&&(t.riskProfile=o.riskProfile.toUpperCase()),o.status&&(t.status=o.status.toUpperCase()),o.primaryContactName&&(t.primaryContactName=o.primaryContactName),o.primaryContactEmail&&(t.primaryContactEmail=o.primaryContactEmail),o.notes&&(t.notes=o.notes),o.tags&&(t.tags=I(o.tags));let n=await b(E,{input:t});i(`Household created: ${n.braCreateHousehold.name}`),h$1(o,n.braCreateHousehold);}catch(t){g(t);}}),i$1.command("update").description("Update a household").argument("<id>","Household ID").option("--name <name>","Household name").option("--aum <n>","Assets under management",d).option("--currency <c>","Currency code").option("--risk-profile <r>","CONSERVATIVE|MODERATE|BALANCED|GROWTH|AGGRESSIVE").option("--status <s>","PROSPECT|ONBOARDING|ACTIVE|INACTIVE").option("--primary-contact-name <s>","Primary contact name").option("--primary-contact-email <s>","Primary contact email").option("--notes <s>","Notes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n={};if(t.name&&(n.name=t.name),t.aum!==void 0&&(n.aum=t.aum),t.currency&&(n.currency=t.currency),t.riskProfile&&(n.riskProfile=t.riskProfile.toUpperCase()),t.status&&(n.status=t.status.toUpperCase()),t.primaryContactName!==void 0&&(n.primaryContactName=t.primaryContactName),t.primaryContactEmail!==void 0&&(n.primaryContactEmail=t.primaryContactEmail),t.notes!==void 0&&(n.notes=t.notes),t.tags&&(n.tags=I(t.tags)),!Object.keys(n).length)throw new o("No updates specified");let m=await b(T,{id:o$1,input:n});i("Household updated"),h$1(t,m.braUpdateHousehold);}catch(n){g(n);}}),i$1.command("archive").description("Archive a household").argument("<id>","Household ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(P,{id:o});i(`Household archived: ${n.braArchiveHousehold}`),h$1(t,{archived:n.braArchiveHousehold});}catch(n){g(n);}});}function pt(c){let i$1=c.command("accounts").description("Brainyrich financial accounts");i$1.command("list").description("List accounts").option("--household <id>","Filter by household ID").option("--status <s>","ACTIVE|ARCHIVED|CLOSED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(R,{householdId:o.household,status:o.status?o.status.toUpperCase():void 0,pagination:{limit:o.limit,offset:o.offset}});h$1(o,t.braListAccounts.items,{headers:["ID","Name","Type","Status","Cash","Currency"],rows:t.braListAccounts.items.map(n=>[p$1(n.id,12),n.name,n.type??"-",n.status??"-",n.cashBalance!=null?String(n.cashBalance):"-",n.currency??"-"])});}catch(t){g(t);}}),i$1.command("get").description("Get an account by id").argument("<id>","Account ID").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n=await b(D,{id:o$1});if(!n.braAccount)throw new o(`Account ${o$1} not found`);h$1(t,n.braAccount);}catch(n){g(n);}}),i$1.command("create").description("Create an account").requiredOption("--name <name>","Account name").option("--owner <id>","Owner user ID").option("--household <id>","Household ID").option("--type <t>","BANK|BROKERAGE|RETIREMENT|CRYPTO|REAL_ESTATE|LIABILITY|CASH|ALTERNATIVE").option("--status <s>","ACTIVE|ARCHIVED|CLOSED").option("--currency <c>","Currency code").option("--cash-balance <n>","Cash balance",d).option("--institution <s>","Institution name").option("--account-mask <s>","Account mask").option("--manual","Mark as manually-tracked").option("-f, --format <format>","Output format").action(async o=>{try{let t={name:o.name};o.owner&&(t.ownerId=o.owner),o.household&&(t.householdId=o.household),o.type&&(t.type=o.type.toUpperCase()),o.status&&(t.status=o.status.toUpperCase()),o.currency&&(t.currency=o.currency),o.cashBalance!==void 0&&(t.cashBalance=o.cashBalance),o.institution&&(t.institution=o.institution),o.accountMask&&(t.accountMask=o.accountMask),o.manual&&(t.isManual=!0);let n=await b(w,{input:t});i(`Account created: ${n.braCreateAccount.name}`),h$1(o,n.braCreateAccount);}catch(t){g(t);}}),i$1.command("update").description("Update an account").argument("<id>","Account ID").option("--name <name>","Account name").option("--household <id>","Household ID").option("--type <t>","BANK|BROKERAGE|RETIREMENT|CRYPTO|REAL_ESTATE|LIABILITY|CASH|ALTERNATIVE").option("--status <s>","ACTIVE|ARCHIVED|CLOSED").option("--currency <c>","Currency code").option("--cash-balance <n>","Cash balance",d).option("--institution <s>","Institution name").option("--account-mask <s>","Account mask").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n={};if(t.name&&(n.name=t.name),t.household&&(n.householdId=t.household),t.type&&(n.type=t.type.toUpperCase()),t.status&&(n.status=t.status.toUpperCase()),t.currency&&(n.currency=t.currency),t.cashBalance!==void 0&&(n.cashBalance=t.cashBalance),t.institution!==void 0&&(n.institution=t.institution),t.accountMask!==void 0&&(n.accountMask=t.accountMask),!Object.keys(n).length)throw new o("No updates specified");let m=await b(L,{id:o$1,input:n});i("Account updated"),h$1(t,m.braUpdateAccount);}catch(n){g(n);}}),i$1.command("archive").description("Archive an account").argument("<id>","Account ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(S,{id:o});i(`Account archived: ${n.braArchiveAccount}`),h$1(t,{archived:n.braArchiveAccount});}catch(n){g(n);}});}function mt(c){let i$1=c.command("holdings").description("Brainyrich account holdings");i$1.command("list").description("List holdings for an account or portfolio").option("--account <id>","Filter by account ID").option("--portfolio <id>","Filter by portfolio ID").option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(N,{accountId:o.account,portfolioId:o.portfolio});h$1(o,t.braListHoldings,{headers:["ID","Symbol","Class","Qty","Last","Market Value"],rows:t.braListHoldings.map(n=>[p$1(n.id,12),n.symbol,n.assetClass??"-",n.quantity!=null?String(n.quantity):"-",n.lastPrice!=null?String(n.lastPrice):"-",n.marketValue!=null?String(n.marketValue):"-"])});}catch(t){g(t);}}),i$1.command("create").description("Create a holding").requiredOption("--account <id>","Account ID").requiredOption("--symbol <s>","Ticker symbol").option("--portfolio <id>","Portfolio ID").option("--name <s>","Display name").option("--asset-class <c>","EQUITY|FIXED_INCOME|CASH|REAL_ESTATE|COMMODITY|CRYPTO|ALTERNATIVE").option("--quantity <n>","Quantity",d).option("--cost-basis <n>","Cost basis",d).option("--last-price <n>","Last price",d).option("--currency <c>","Currency code").option("--as-of <iso>","As-of date (ISO)").option("-f, --format <format>","Output format").action(async o=>{try{let t={accountId:o.account,symbol:o.symbol};o.portfolio&&(t.portfolioId=o.portfolio),o.name&&(t.name=o.name),o.assetClass&&(t.assetClass=o.assetClass.toUpperCase()),o.quantity!==void 0&&(t.quantity=o.quantity),o.costBasis!==void 0&&(t.costBasis=o.costBasis),o.lastPrice!==void 0&&(t.lastPrice=o.lastPrice),o.currency&&(t.currency=o.currency),o.asOf&&(t.asOf=o.asOf);let n=await b(H,{input:t});i(`Holding created: ${n.braCreateHolding.symbol}`),h$1(o,n.braCreateHolding);}catch(t){g(t);}}),i$1.command("update").description("Update a holding").argument("<id>","Holding ID").option("--name <s>","Display name").option("--asset-class <c>","EQUITY|FIXED_INCOME|CASH|REAL_ESTATE|COMMODITY|CRYPTO|ALTERNATIVE").option("--quantity <n>","Quantity",d).option("--cost-basis <n>","Cost basis",d).option("--last-price <n>","Last price",d).option("--portfolio <id>","Portfolio ID").option("--as-of <iso>","As-of date (ISO)").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n={};if(t.name!==void 0&&(n.name=t.name),t.assetClass&&(n.assetClass=t.assetClass.toUpperCase()),t.quantity!==void 0&&(n.quantity=t.quantity),t.costBasis!==void 0&&(n.costBasis=t.costBasis),t.lastPrice!==void 0&&(n.lastPrice=t.lastPrice),t.portfolio&&(n.portfolioId=t.portfolio),t.asOf&&(n.asOf=t.asOf),!Object.keys(n).length)throw new o("No updates specified");let m=await b(G,{id:o$1,input:n});i("Holding updated"),h$1(t,m.braUpdateHolding);}catch(n){g(n);}}),i$1.command("delete").description("Delete a holding").argument("<id>","Holding ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b($,{id:o});i(`Holding deleted: ${n.braDeleteHolding}`),h$1(t,{deleted:n.braDeleteHolding});}catch(n){g(n);}});}function ft(c){let i$1=c.command("portfolios").description("Brainyrich portfolios");i$1.command("list").description("List portfolios").option("--household <id>","Filter by household ID").option("--status <s>","DRAFT|ACTIVE|ARCHIVED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(B,{householdId:o.household,status:o.status?o.status.toUpperCase():void 0,pagination:{limit:o.limit,offset:o.offset}});h$1(o,t.braListPortfolios.items,{headers:["ID","Name","Status","Currency","Drift %"],rows:t.braListPortfolios.items.map(n=>[p$1(n.id,12),n.name,n.status??"-",n.baseCurrency??"-",n.driftThresholdPct!=null?String(n.driftThresholdPct):"-"])});}catch(t){g(t);}}),i$1.command("get").description("Get a portfolio by id").argument("<id>","Portfolio ID").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n=await b(k,{id:o$1});if(!n.braPortfolio)throw new o(`Portfolio ${o$1} not found`);h$1(t,n.braPortfolio);}catch(n){g(n);}}),i$1.command("create").description("Create a portfolio").requiredOption("--name <name>","Portfolio name").option("--owner <id>","Owner user ID").option("--household <id>","Household ID").option("--description <s>","Description").option("--base-currency <c>","Base currency code").option("--drift-threshold-pct <n>","Drift threshold %",d).option("--model-portfolio <id>","Model portfolio ID").option("--target-allocation <json>","Target allocation JSON").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async o=>{try{let t={name:o.name};o.owner&&(t.ownerId=o.owner),o.household&&(t.householdId=o.household),o.description&&(t.description=o.description),o.baseCurrency&&(t.baseCurrency=o.baseCurrency),o.driftThresholdPct!==void 0&&(t.driftThresholdPct=o.driftThresholdPct),o.modelPortfolio&&(t.modelPortfolioId=o.modelPortfolio),o.targetAllocation&&(t.targetAllocation=h("target-allocation",o.targetAllocation)),o.tags&&(t.tags=I(o.tags));let n=await b(U,{input:t});i(`Portfolio created: ${n.braCreatePortfolio.name}`),h$1(o,n.braCreatePortfolio);}catch(t){g(t);}}),i$1.command("update").description("Update a portfolio").argument("<id>","Portfolio ID").option("--name <name>","Portfolio name").option("--description <s>","Description").option("--status <s>","DRAFT|ACTIVE|ARCHIVED").option("--base-currency <c>","Base currency code").option("--drift-threshold-pct <n>","Drift threshold %",d).option("--model-portfolio <id>","Model portfolio ID").option("--target-allocation <json>","Target allocation JSON").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n={};if(t.name&&(n.name=t.name),t.description!==void 0&&(n.description=t.description),t.status&&(n.status=t.status.toUpperCase()),t.baseCurrency&&(n.baseCurrency=t.baseCurrency),t.driftThresholdPct!==void 0&&(n.driftThresholdPct=t.driftThresholdPct),t.modelPortfolio&&(n.modelPortfolioId=t.modelPortfolio),t.targetAllocation&&(n.targetAllocation=h("target-allocation",t.targetAllocation)),t.tags&&(n.tags=I(t.tags)),!Object.keys(n).length)throw new o("No updates specified");let m=await b(_,{id:o$1,input:n});i("Portfolio updated"),h$1(t,m.braUpdatePortfolio);}catch(n){g(n);}}),i$1.command("archive").description("Archive a portfolio").argument("<id>","Portfolio ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(v,{id:o});i(`Portfolio archived: ${n.braArchivePortfolio}`),h$1(t,{archived:n.braArchivePortfolio});}catch(n){g(n);}});}function gt(c){let i$1=c.command("model-portfolios").description("Brainyrich model portfolios");i$1.command("list").description("List model portfolios").option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(x);h$1(o,t.braListModelPortfolios,{headers:["ID","Name","Risk","Currency","Active"],rows:t.braListModelPortfolios.map(n=>[p$1(n.id,12),n.name,n.riskProfile??"-",n.baseCurrency??"-",n.isActive?"yes":"no"])});}catch(t){g(t);}}),i$1.command("get").description("Get a model portfolio by id").argument("<id>","Model portfolio ID").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n=await b(M,{id:o$1});if(!n.braModelPortfolio)throw new o(`Model portfolio ${o$1} not found`);h$1(t,n.braModelPortfolio);}catch(n){g(n);}}),i$1.command("create").description("Create a model portfolio").requiredOption("--name <name>","Model portfolio name").option("--description <s>","Description").option("--base-currency <c>","Base currency code").option("--risk-profile <r>","CONSERVATIVE|MODERATE|BALANCED|GROWTH|AGGRESSIVE").option("--allocations <json>","Allocations JSON array: [{ assetClass, targetPct }]").option("-f, --format <format>","Output format").action(async o$1=>{try{let t={name:o$1.name};if(o$1.description&&(t.description=o$1.description),o$1.baseCurrency&&(t.baseCurrency=o$1.baseCurrency),o$1.riskProfile&&(t.riskProfile=o$1.riskProfile.toUpperCase()),o$1.allocations){let m=h("allocations",o$1.allocations);if(!Array.isArray(m))throw new o("--allocations must be a JSON array");t.allocations=m;}let n=await b(F,{input:t});i(`Model portfolio created: ${n.braCreateModelPortfolio.name}`),h$1(o$1,n.braCreateModelPortfolio);}catch(t){g(t);}});}function yt(c){let i$1=c.command("goals").description("Brainyrich financial goals");i$1.command("list").description("List goals").option("--household <id>","Filter by household ID").option("--status <s>","ACTIVE|ON_HOLD|ACHIEVED|ABANDONED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(j,{householdId:o.household,status:o.status?o.status.toUpperCase():void 0,pagination:{limit:o.limit,offset:o.offset}});h$1(o,t.braListGoals.items,{headers:["ID","Name","Type","Status","Target","Projection"],rows:t.braListGoals.items.map(n=>[p$1(n.id,12),n.name,n.type??"-",n.status??"-",n.targetAmount!=null?String(n.targetAmount):"-",n.projection??"-"])});}catch(t){g(t);}}),i$1.command("get").description("Get a goal by id").argument("<id>","Goal ID").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n=await b(q,{id:o$1});if(!n.braGoal)throw new o(`Goal ${o$1} not found`);h$1(t,n.braGoal);}catch(n){g(n);}}),i$1.command("create").description("Create a goal").requiredOption("--name <name>","Goal name").requiredOption("--target-amount <n>","Target amount",d).requiredOption("--target-date <iso>","Target date (ISO)").option("--owner <id>","Owner user ID").option("--household <id>","Household ID").option("--type <t>","RETIREMENT|EDUCATION|HOME|EMERGENCY_FUND|MAJOR_PURCHASE|WEALTH_GROWTH|CUSTOM").option("--currency <c>","Currency code").option("--monthly-contribution <n>","Monthly contribution",d).option("--priority <n>","Priority",p).option("--notes <s>","Notes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async o=>{try{let t={name:o.name,targetAmount:o.targetAmount,targetDate:o.targetDate};o.owner&&(t.ownerId=o.owner),o.household&&(t.householdId=o.household),o.type&&(t.type=o.type.toUpperCase()),o.currency&&(t.currency=o.currency),o.monthlyContribution!==void 0&&(t.monthlyContribution=o.monthlyContribution),o.priority!==void 0&&(t.priority=o.priority),o.notes&&(t.notes=o.notes),o.tags&&(t.tags=I(o.tags));let n=await b(W,{input:t});i(`Goal created: ${n.braCreateGoal.name}`),h$1(o,n.braCreateGoal);}catch(t){g(t);}}),i$1.command("update").description("Update a goal").argument("<id>","Goal ID").option("--name <name>","Goal name").option("--type <t>","RETIREMENT|EDUCATION|HOME|EMERGENCY_FUND|MAJOR_PURCHASE|WEALTH_GROWTH|CUSTOM").option("--status <s>","ACTIVE|ON_HOLD|ACHIEVED|ABANDONED").option("--currency <c>","Currency code").option("--target-amount <n>","Target amount",d).option("--target-date <iso>","Target date (ISO)").option("--monthly-contribution <n>","Monthly contribution",d).option("--priority <n>","Priority",p).option("--notes <s>","Notes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n={};if(t.name&&(n.name=t.name),t.type&&(n.type=t.type.toUpperCase()),t.status&&(n.status=t.status.toUpperCase()),t.currency&&(n.currency=t.currency),t.targetAmount!==void 0&&(n.targetAmount=t.targetAmount),t.targetDate&&(n.targetDate=t.targetDate),t.monthlyContribution!==void 0&&(n.monthlyContribution=t.monthlyContribution),t.priority!==void 0&&(n.priority=t.priority),t.notes!==void 0&&(n.notes=t.notes),t.tags&&(n.tags=I(t.tags)),!Object.keys(n).length)throw new o("No updates specified");let m=await b(J,{id:o$1,input:n});i("Goal updated"),h$1(t,m.braUpdateGoal);}catch(n){g(n);}}),i$1.command("archive").description("Archive a goal").argument("<id>","Goal ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(Y,{id:o});i(`Goal archived: ${n.braArchiveGoal}`),h$1(t,{archived:n.braArchiveGoal});}catch(n){g(n);}}),i$1.command("recalc-projection").description("Recompute a goal's projection from a funded amount").argument("<id>","Goal ID").requiredOption("--funded-amount <n>","Funded amount",d).option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(K,{id:o,fundedAmount:t.fundedAmount});i(`Projection: ${n.braRecalcGoalProjection.projection??"-"}`),h$1(t,n.braRecalcGoalProjection);}catch(n){g(n);}}),i$1.command("list-fundings").description("List fundings linked to a goal").requiredOption("--goal <id>","Goal ID").option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(V,{goalId:o.goal});h$1(o,t.braListGoalFundings,{headers:["ID","Account","Allocation %","Fixed"],rows:t.braListGoalFundings.map(n=>[p$1(n.id,12),p$1(n.accountId,12),n.allocationPct!=null?String(n.allocationPct):"-",n.fixedAmount!=null?String(n.fixedAmount):"-"])});}catch(t){g(t);}}),i$1.command("link-funding").description("Link an account funding to a goal").requiredOption("--goal <id>","Goal ID").requiredOption("--account <id>","Account ID").option("--allocation-pct <n>","Allocation percentage",d).option("--fixed-amount <n>","Fixed amount",d).option("-f, --format <format>","Output format").action(async o=>{try{let t={goalId:o.goal,accountId:o.account};o.allocationPct!==void 0&&(t.allocationPct=o.allocationPct),o.fixedAmount!==void 0&&(t.fixedAmount=o.fixedAmount);let n=await b(Q,{input:t});i("Funding linked"),h$1(o,n.braLinkGoalFunding);}catch(t){g(t);}}),i$1.command("unlink-funding").description("Unlink a funding from a goal").argument("<id>","Funding ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(z,{id:o});i(`Funding unlinked: ${n.braUnlinkGoalFunding}`),h$1(t,{unlinked:n.braUnlinkGoalFunding});}catch(n){g(n);}});}function ht(c){let i$1=c.command("transactions").description("Brainyrich account transactions");i$1.command("list").description("List transactions").option("--account <id>","Filter by account ID").option("--type <t>","BUY|SELL|DIVIDEND|INTEREST|DEPOSIT|WITHDRAWAL|FEE|TRANSFER").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(X,{accountId:o.account,type:o.type?o.type.toUpperCase():void 0,pagination:{limit:o.limit,offset:o.offset}});h$1(o,t.braListTransactions.items,{headers:["ID","Type","Symbol","Qty","Amount","Trade Date"],rows:t.braListTransactions.items.map(n=>[p$1(n.id,12),n.type,n.symbol??"-",n.quantity!=null?String(n.quantity):"-",n.amount!=null?String(n.amount):"-",n.tradeDate??"-"])});}catch(t){g(t);}}),i$1.command("record").description("Record a transaction").requiredOption("--account <id>","Account ID").requiredOption("--type <t>","BUY|SELL|DIVIDEND|INTEREST|DEPOSIT|WITHDRAWAL|FEE|TRANSFER").requiredOption("--trade-date <iso>","Trade date (ISO)").option("--holding <id>","Holding ID").option("--symbol <s>","Ticker symbol").option("--quantity <n>","Quantity",d).option("--price <n>","Price",d).option("--amount <n>","Amount",d).option("--fee <n>","Fee",d).option("--currency <c>","Currency code").option("--settle-date <iso>","Settlement date (ISO)").option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async o=>{try{let t={accountId:o.account,type:o.type.toUpperCase(),tradeDate:o.tradeDate};o.holding&&(t.holdingId=o.holding),o.symbol&&(t.symbol=o.symbol),o.quantity!==void 0&&(t.quantity=o.quantity),o.price!==void 0&&(t.price=o.price),o.amount!==void 0&&(t.amount=o.amount),o.fee!==void 0&&(t.fee=o.fee),o.currency&&(t.currency=o.currency),o.settleDate&&(t.settleDate=o.settleDate),o.notes&&(t.notes=o.notes);let n=await b(Z,{input:t});i(`Transaction recorded: ${n.braRecordTransaction.type}`),h$1(o,n.braRecordTransaction);}catch(t){g(t);}});}function It(c){let i$1=c.command("insights").description("Brainyrich advisory insights");i$1.command("list").description("List insights").option("--status <s>","OPEN|ACKNOWLEDGED|RESOLVED|DISMISSED").option("--severity <s>","INFO|LOW|MEDIUM|HIGH|CRITICAL").option("--subject-id <id>","Filter by subject ID").option("--subject-type <t>","Filter by subject type").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(ot,{status:o.status?o.status.toUpperCase():void 0,severity:o.severity?o.severity.toUpperCase():void 0,subjectId:o.subjectId,subjectType:o.subjectType,pagination:{limit:o.limit,offset:o.offset}});h$1(o,t.braListInsights.items,{headers:["ID","Title","Type","Severity","Status"],rows:t.braListInsights.items.map(n=>[p$1(n.id,12),n.title,n.type,n.severity??"-",n.status??"-"])});}catch(t){g(t);}}),i$1.command("get").description("Get an insight by id").argument("<id>","Insight ID").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n=await b(tt,{id:o$1});if(!n.braInsight)throw new o(`Insight ${o$1} not found`);h$1(t,n.braInsight);}catch(n){g(n);}}),i$1.command("create").description("Create an insight").requiredOption("--title <t>","Title").requiredOption("--type <t>","DRIFT|CASH_DRAG|CONCENTRATION_RISK|FEE_ANOMALY|TAX_OPPORTUNITY|GOAL_AT_RISK|REBALANCE_DUE").requiredOption("--subject-id <id>","Subject ID").requiredOption("--subject-type <t>","Subject type").option("--severity <s>","INFO|LOW|MEDIUM|HIGH|CRITICAL").option("--detail <s>","Detail").option("--owner <id>","Owner user ID").option("--metrics <json>","Metrics JSON").option("-f, --format <format>","Output format").action(async o=>{try{let t={title:o.title,type:o.type.toUpperCase(),subjectId:o.subjectId,subjectType:o.subjectType};o.severity&&(t.severity=o.severity.toUpperCase()),o.detail&&(t.detail=o.detail),o.owner&&(t.ownerId=o.owner),o.metrics&&(t.metrics=h("metrics",o.metrics));let n=await b(nt,{input:t});i(`Insight created: ${n.braCreateInsight.title}`),h$1(o,n.braCreateInsight);}catch(t){g(t);}}),i$1.command("acknowledge").description("Acknowledge an insight").argument("<id>","Insight ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(it,{id:o});i(`Insight acknowledged: ${n.braAcknowledgeInsight.status??"-"}`),h$1(t,n.braAcknowledgeInsight);}catch(n){g(n);}}),i$1.command("dismiss").description("Dismiss an insight").argument("<id>","Insight ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(rt,{id:o});i(`Insight dismissed: ${n.braDismissInsight.status??"-"}`),h$1(t,n.braDismissInsight);}catch(n){g(n);}}),i$1.command("resolve").description("Resolve an insight").argument("<id>","Insight ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(at,{id:o});i(`Insight resolved: ${n.braResolveInsight.status??"-"}`),h$1(t,n.braResolveInsight);}catch(n){g(n);}});}function bt(c){let i$1=c.command("rebalances").description("Brainyrich rebalance proposals");i$1.command("list").description("List rebalance proposals").option("--portfolio <id>","Filter by portfolio ID").option("--household <id>","Filter by household ID").option("--status <s>","DRAFT|PROPOSED|APPROVED|REJECTED|EXECUTED|CANCELLED").option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(et,{portfolioId:o.portfolio,householdId:o.household,status:o.status?o.status.toUpperCase():void 0});h$1(o,t.braListRebalanceProposals,{headers:["ID","Portfolio","Status","Drift %","Rationale"],rows:t.braListRebalanceProposals.map(n=>[p$1(n.id,12),p$1(n.portfolioId,12),n.status,n.driftPct!=null?String(n.driftPct):"-",p$1(n.rationale??"-",30)])});}catch(t){g(t);}}),i$1.command("create").description("Create a rebalance proposal").requiredOption("--portfolio <id>","Portfolio ID").option("--household <id>","Household ID").option("--drift-pct <n>","Drift percentage",d).option("--rationale <s>","Rationale").option("--trades <json>","Trades JSON").option("-f, --format <format>","Output format").action(async o=>{try{let t={portfolioId:o.portfolio};o.household&&(t.householdId=o.household),o.driftPct!==void 0&&(t.driftPct=o.driftPct),o.rationale&&(t.rationale=o.rationale),o.trades&&(t.trades=h("trades",o.trades));let n=await b(st,{input:t});i(`Rebalance proposal created: ${n.braCreateRebalanceProposal.id}`),h$1(o,n.braCreateRebalanceProposal);}catch(t){g(t);}}),i$1.command("transition").description("Advance a rebalance proposal through its review lifecycle").argument("<id>","Proposal ID").requiredOption("--status <s>","DRAFT|PROPOSED|APPROVED|REJECTED|EXECUTED|CANCELLED").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(ct,{id:o,status:t.status.toUpperCase()});i(`Proposal status set to ${n.braTransitionRebalanceProposal.status}`),h$1(t,n.braTransitionRebalanceProposal);}catch(n){g(n);}});}function At(c){c.command("analytics").description("Brainyrich net-worth analytics & health").command("net-worth").description("Net-worth summary (totals + breakdown by asset class)").option("--owner <id>","Owner user ID (defaults to the calling actor)").option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(dt,{ownerId:o.owner});h$1(o,t.braNetWorthSummary);}catch(t){g(t);}}),c.command("health").description("Brainyrich service health check (public)").option("-f, --format <format>","Output format").action(async o=>{try{let t=await d$1(ut);i(t.braHealth),h$1(o,{health:t.braHealth});}catch(t){g(t);}});}var Ct={id:"brainyrich",version:"1.0.0",displayName:"Brainyrich",dependsOn:["auth","workspaces"],register(c,i){a(i);let o=c.command("brainyrich").description("Brainyrich wealth-management platform");lt(o),pt(o),mt(o),ft(o),gt(o),yt(o),ht(o),It(o),bt(o),At(o);}},yo=Ct;export{yo as default};
|
|
356
|
+
`;function y(c,r){try{return JSON.parse(r)}catch{throw new o(`--${c} must be valid JSON`)}}function p(c){let r=Number.parseInt(c,10);if(Number.isNaN(r))throw new o(`Expected an integer but got "${c}"`);return r}function d(c){let r=Number.parseFloat(c);if(Number.isNaN(r))throw new o(`Expected a number but got "${c}"`);return r}function I(c){return c.split(",").map(r=>r.trim()).filter(r=>r.length>0)}function lt(c){let r$1=c.command("households").description("Brainyrich advisory households");r$1.command("list").description("List households").option("--status <s>","PROSPECT|ONBOARDING|ACTIVE|INACTIVE").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(O,{status:o.status?o.status.toUpperCase():void 0,pagination:{limit:o.limit,offset:o.offset}});i(o,t.braListHouseholds.items,{headers:["ID","Name","Status","Risk","AUM","Currency"],rows:t.braListHouseholds.items.map(n=>[r(n.id,12),n.name,n.status??"-",n.riskProfile??"-",n.aum!=null?String(n.aum):"-",n.currency??"-"])});}catch(t){h(t);}}),r$1.command("get").description("Get a household by id").argument("<id>","Household ID").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n=await b(C,{id:o$1});if(!n.braHousehold)throw new o(`Household ${o$1} not found`);i(t,n.braHousehold);}catch(n){h(n);}}),r$1.command("create").description("Create a household").requiredOption("--name <name>","Household name").option("--advisor <id>","Advisor user ID").option("--currency <c>","Currency code").option("--risk-profile <r>","CONSERVATIVE|MODERATE|BALANCED|GROWTH|AGGRESSIVE").option("--status <s>","PROSPECT|ONBOARDING|ACTIVE|INACTIVE").option("--primary-contact-name <s>","Primary contact name").option("--primary-contact-email <s>","Primary contact email").option("--notes <s>","Notes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async o=>{try{let t={name:o.name};o.advisor&&(t.advisorId=o.advisor),o.currency&&(t.currency=o.currency),o.riskProfile&&(t.riskProfile=o.riskProfile.toUpperCase()),o.status&&(t.status=o.status.toUpperCase()),o.primaryContactName&&(t.primaryContactName=o.primaryContactName),o.primaryContactEmail&&(t.primaryContactEmail=o.primaryContactEmail),o.notes&&(t.notes=o.notes),o.tags&&(t.tags=I(o.tags));let n=await b(E,{input:t});k$1(`Household created: ${n.braCreateHousehold.name}`),i(o,n.braCreateHousehold);}catch(t){h(t);}}),r$1.command("update").description("Update a household").argument("<id>","Household ID").option("--name <name>","Household name").option("--aum <n>","Assets under management",d).option("--currency <c>","Currency code").option("--risk-profile <r>","CONSERVATIVE|MODERATE|BALANCED|GROWTH|AGGRESSIVE").option("--status <s>","PROSPECT|ONBOARDING|ACTIVE|INACTIVE").option("--primary-contact-name <s>","Primary contact name").option("--primary-contact-email <s>","Primary contact email").option("--notes <s>","Notes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n={};if(t.name&&(n.name=t.name),t.aum!==void 0&&(n.aum=t.aum),t.currency&&(n.currency=t.currency),t.riskProfile&&(n.riskProfile=t.riskProfile.toUpperCase()),t.status&&(n.status=t.status.toUpperCase()),t.primaryContactName!==void 0&&(n.primaryContactName=t.primaryContactName),t.primaryContactEmail!==void 0&&(n.primaryContactEmail=t.primaryContactEmail),t.notes!==void 0&&(n.notes=t.notes),t.tags&&(n.tags=I(t.tags)),!Object.keys(n).length)throw new o("No updates specified");let m=await b(T,{id:o$1,input:n});k$1("Household updated"),i(t,m.braUpdateHousehold);}catch(n){h(n);}}),r$1.command("archive").description("Archive a household").argument("<id>","Household ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(P,{id:o});k$1(`Household archived: ${n.braArchiveHousehold}`),i(t,{archived:n.braArchiveHousehold});}catch(n){h(n);}});}function pt(c){let r$1=c.command("accounts").description("Brainyrich financial accounts");r$1.command("list").description("List accounts").option("--household <id>","Filter by household ID").option("--status <s>","ACTIVE|ARCHIVED|CLOSED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(R,{householdId:o.household,status:o.status?o.status.toUpperCase():void 0,pagination:{limit:o.limit,offset:o.offset}});i(o,t.braListAccounts.items,{headers:["ID","Name","Type","Status","Cash","Currency"],rows:t.braListAccounts.items.map(n=>[r(n.id,12),n.name,n.type??"-",n.status??"-",n.cashBalance!=null?String(n.cashBalance):"-",n.currency??"-"])});}catch(t){h(t);}}),r$1.command("get").description("Get an account by id").argument("<id>","Account ID").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n=await b(D,{id:o$1});if(!n.braAccount)throw new o(`Account ${o$1} not found`);i(t,n.braAccount);}catch(n){h(n);}}),r$1.command("create").description("Create an account").requiredOption("--name <name>","Account name").option("--owner <id>","Owner user ID").option("--household <id>","Household ID").option("--type <t>","BANK|BROKERAGE|RETIREMENT|CRYPTO|REAL_ESTATE|LIABILITY|CASH|ALTERNATIVE").option("--status <s>","ACTIVE|ARCHIVED|CLOSED").option("--currency <c>","Currency code").option("--cash-balance <n>","Cash balance",d).option("--institution <s>","Institution name").option("--account-mask <s>","Account mask").option("--manual","Mark as manually-tracked").option("-f, --format <format>","Output format").action(async o=>{try{let t={name:o.name};o.owner&&(t.ownerId=o.owner),o.household&&(t.householdId=o.household),o.type&&(t.type=o.type.toUpperCase()),o.status&&(t.status=o.status.toUpperCase()),o.currency&&(t.currency=o.currency),o.cashBalance!==void 0&&(t.cashBalance=o.cashBalance),o.institution&&(t.institution=o.institution),o.accountMask&&(t.accountMask=o.accountMask),o.manual&&(t.isManual=!0);let n=await b(w,{input:t});k$1(`Account created: ${n.braCreateAccount.name}`),i(o,n.braCreateAccount);}catch(t){h(t);}}),r$1.command("update").description("Update an account").argument("<id>","Account ID").option("--name <name>","Account name").option("--household <id>","Household ID").option("--type <t>","BANK|BROKERAGE|RETIREMENT|CRYPTO|REAL_ESTATE|LIABILITY|CASH|ALTERNATIVE").option("--status <s>","ACTIVE|ARCHIVED|CLOSED").option("--currency <c>","Currency code").option("--cash-balance <n>","Cash balance",d).option("--institution <s>","Institution name").option("--account-mask <s>","Account mask").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n={};if(t.name&&(n.name=t.name),t.household&&(n.householdId=t.household),t.type&&(n.type=t.type.toUpperCase()),t.status&&(n.status=t.status.toUpperCase()),t.currency&&(n.currency=t.currency),t.cashBalance!==void 0&&(n.cashBalance=t.cashBalance),t.institution!==void 0&&(n.institution=t.institution),t.accountMask!==void 0&&(n.accountMask=t.accountMask),!Object.keys(n).length)throw new o("No updates specified");let m=await b(L,{id:o$1,input:n});k$1("Account updated"),i(t,m.braUpdateAccount);}catch(n){h(n);}}),r$1.command("archive").description("Archive an account").argument("<id>","Account ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(S,{id:o});k$1(`Account archived: ${n.braArchiveAccount}`),i(t,{archived:n.braArchiveAccount});}catch(n){h(n);}});}function mt(c){let r$1=c.command("holdings").description("Brainyrich account holdings");r$1.command("list").description("List holdings for an account or portfolio").option("--account <id>","Filter by account ID").option("--portfolio <id>","Filter by portfolio ID").option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(N,{accountId:o.account,portfolioId:o.portfolio});i(o,t.braListHoldings.items,{headers:["ID","Symbol","Class","Qty","Last","Market Value"],rows:t.braListHoldings.items.map(n=>[r(n.id,12),n.symbol,n.assetClass??"-",n.quantity!=null?String(n.quantity):"-",n.lastPrice!=null?String(n.lastPrice):"-",n.marketValue!=null?String(n.marketValue):"-"])});}catch(t){h(t);}}),r$1.command("create").description("Create a holding").requiredOption("--account <id>","Account ID").requiredOption("--symbol <s>","Ticker symbol").option("--portfolio <id>","Portfolio ID").option("--name <s>","Display name").option("--asset-class <c>","EQUITY|FIXED_INCOME|CASH|REAL_ESTATE|COMMODITY|CRYPTO|ALTERNATIVE").option("--quantity <n>","Quantity",d).option("--cost-basis <n>","Cost basis",d).option("--last-price <n>","Last price",d).option("--currency <c>","Currency code").option("--as-of <iso>","As-of date (ISO)").option("-f, --format <format>","Output format").action(async o=>{try{let t={accountId:o.account,symbol:o.symbol};o.portfolio&&(t.portfolioId=o.portfolio),o.name&&(t.name=o.name),o.assetClass&&(t.assetClass=o.assetClass.toUpperCase()),o.quantity!==void 0&&(t.quantity=o.quantity),o.costBasis!==void 0&&(t.costBasis=o.costBasis),o.lastPrice!==void 0&&(t.lastPrice=o.lastPrice),o.currency&&(t.currency=o.currency),o.asOf&&(t.asOf=o.asOf);let n=await b(H,{input:t});k$1(`Holding created: ${n.braCreateHolding.symbol}`),i(o,n.braCreateHolding);}catch(t){h(t);}}),r$1.command("update").description("Update a holding").argument("<id>","Holding ID").option("--name <s>","Display name").option("--asset-class <c>","EQUITY|FIXED_INCOME|CASH|REAL_ESTATE|COMMODITY|CRYPTO|ALTERNATIVE").option("--quantity <n>","Quantity",d).option("--cost-basis <n>","Cost basis",d).option("--last-price <n>","Last price",d).option("--portfolio <id>","Portfolio ID").option("--as-of <iso>","As-of date (ISO)").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n={};if(t.name!==void 0&&(n.name=t.name),t.assetClass&&(n.assetClass=t.assetClass.toUpperCase()),t.quantity!==void 0&&(n.quantity=t.quantity),t.costBasis!==void 0&&(n.costBasis=t.costBasis),t.lastPrice!==void 0&&(n.lastPrice=t.lastPrice),t.portfolio&&(n.portfolioId=t.portfolio),t.asOf&&(n.asOf=t.asOf),!Object.keys(n).length)throw new o("No updates specified");let m=await b(G,{id:o$1,input:n});k$1("Holding updated"),i(t,m.braUpdateHolding);}catch(n){h(n);}}),r$1.command("delete").description("Delete a holding").argument("<id>","Holding ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b($,{id:o});k$1(`Holding deleted: ${n.braDeleteHolding}`),i(t,{deleted:n.braDeleteHolding});}catch(n){h(n);}});}function ft(c){let r$1=c.command("portfolios").description("Brainyrich portfolios");r$1.command("list").description("List portfolios").option("--household <id>","Filter by household ID").option("--status <s>","DRAFT|ACTIVE|ARCHIVED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(B,{householdId:o.household,status:o.status?o.status.toUpperCase():void 0,pagination:{limit:o.limit,offset:o.offset}});i(o,t.braListPortfolios.items,{headers:["ID","Name","Status","Currency","Drift %"],rows:t.braListPortfolios.items.map(n=>[r(n.id,12),n.name,n.status??"-",n.baseCurrency??"-",n.driftThresholdPct!=null?String(n.driftThresholdPct):"-"])});}catch(t){h(t);}}),r$1.command("get").description("Get a portfolio by id").argument("<id>","Portfolio ID").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n=await b(k,{id:o$1});if(!n.braPortfolio)throw new o(`Portfolio ${o$1} not found`);i(t,n.braPortfolio);}catch(n){h(n);}}),r$1.command("create").description("Create a portfolio").requiredOption("--name <name>","Portfolio name").option("--owner <id>","Owner user ID").option("--household <id>","Household ID").option("--description <s>","Description").option("--base-currency <c>","Base currency code").option("--drift-threshold-pct <n>","Drift threshold %",d).option("--model-portfolio <id>","Model portfolio ID").option("--target-allocation <json>","Target allocation JSON").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async o=>{try{let t={name:o.name};o.owner&&(t.ownerId=o.owner),o.household&&(t.householdId=o.household),o.description&&(t.description=o.description),o.baseCurrency&&(t.baseCurrency=o.baseCurrency),o.driftThresholdPct!==void 0&&(t.driftThresholdPct=o.driftThresholdPct),o.modelPortfolio&&(t.modelPortfolioId=o.modelPortfolio),o.targetAllocation&&(t.targetAllocation=y("target-allocation",o.targetAllocation)),o.tags&&(t.tags=I(o.tags));let n=await b(U,{input:t});k$1(`Portfolio created: ${n.braCreatePortfolio.name}`),i(o,n.braCreatePortfolio);}catch(t){h(t);}}),r$1.command("update").description("Update a portfolio").argument("<id>","Portfolio ID").option("--name <name>","Portfolio name").option("--description <s>","Description").option("--status <s>","DRAFT|ACTIVE|ARCHIVED").option("--base-currency <c>","Base currency code").option("--drift-threshold-pct <n>","Drift threshold %",d).option("--model-portfolio <id>","Model portfolio ID").option("--target-allocation <json>","Target allocation JSON").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n={};if(t.name&&(n.name=t.name),t.description!==void 0&&(n.description=t.description),t.status&&(n.status=t.status.toUpperCase()),t.baseCurrency&&(n.baseCurrency=t.baseCurrency),t.driftThresholdPct!==void 0&&(n.driftThresholdPct=t.driftThresholdPct),t.modelPortfolio&&(n.modelPortfolioId=t.modelPortfolio),t.targetAllocation&&(n.targetAllocation=y("target-allocation",t.targetAllocation)),t.tags&&(n.tags=I(t.tags)),!Object.keys(n).length)throw new o("No updates specified");let m=await b(_,{id:o$1,input:n});k$1("Portfolio updated"),i(t,m.braUpdatePortfolio);}catch(n){h(n);}}),r$1.command("archive").description("Archive a portfolio").argument("<id>","Portfolio ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(M,{id:o});k$1(`Portfolio archived: ${n.braArchivePortfolio}`),i(t,{archived:n.braArchivePortfolio});}catch(n){h(n);}});}function gt(c){let r$1=c.command("model-portfolios").description("Brainyrich model portfolios");r$1.command("list").description("List model portfolios").option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(x);i(o,t.braListModelPortfolios.items,{headers:["ID","Name","Risk","Currency","Active"],rows:t.braListModelPortfolios.items.map(n=>[r(n.id,12),n.name,n.riskProfile??"-",n.baseCurrency??"-",n.isActive?"yes":"no"])});}catch(t){h(t);}}),r$1.command("get").description("Get a model portfolio by id").argument("<id>","Model portfolio ID").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n=await b(v,{id:o$1});if(!n.braModelPortfolio)throw new o(`Model portfolio ${o$1} not found`);i(t,n.braModelPortfolio);}catch(n){h(n);}}),r$1.command("create").description("Create a model portfolio").requiredOption("--name <name>","Model portfolio name").option("--description <s>","Description").option("--base-currency <c>","Base currency code").option("--risk-profile <r>","CONSERVATIVE|MODERATE|BALANCED|GROWTH|AGGRESSIVE").option("--allocations <json>","Allocations JSON array: [{ assetClass, targetPct }]").option("-f, --format <format>","Output format").action(async o$1=>{try{let t={name:o$1.name};if(o$1.description&&(t.description=o$1.description),o$1.baseCurrency&&(t.baseCurrency=o$1.baseCurrency),o$1.riskProfile&&(t.riskProfile=o$1.riskProfile.toUpperCase()),o$1.allocations){let m=y("allocations",o$1.allocations);if(!Array.isArray(m))throw new o("--allocations must be a JSON array");t.allocations=m;}let n=await b(F,{input:t});k$1(`Model portfolio created: ${n.braCreateModelPortfolio.name}`),i(o$1,n.braCreateModelPortfolio);}catch(t){h(t);}});}function ht(c){let r$1=c.command("goals").description("Brainyrich financial goals");r$1.command("list").description("List goals").option("--household <id>","Filter by household ID").option("--status <s>","ACTIVE|ON_HOLD|ACHIEVED|ABANDONED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(j,{householdId:o.household,status:o.status?o.status.toUpperCase():void 0,pagination:{limit:o.limit,offset:o.offset}});i(o,t.braListGoals.items,{headers:["ID","Name","Type","Status","Target","Projection"],rows:t.braListGoals.items.map(n=>[r(n.id,12),n.name,n.type??"-",n.status??"-",n.targetAmount!=null?String(n.targetAmount):"-",n.projection??"-"])});}catch(t){h(t);}}),r$1.command("get").description("Get a goal by id").argument("<id>","Goal ID").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n=await b(q,{id:o$1});if(!n.braGoal)throw new o(`Goal ${o$1} not found`);i(t,n.braGoal);}catch(n){h(n);}}),r$1.command("create").description("Create a goal").requiredOption("--name <name>","Goal name").requiredOption("--target-amount <n>","Target amount",d).requiredOption("--target-date <iso>","Target date (ISO)").option("--owner <id>","Owner user ID").option("--household <id>","Household ID").option("--type <t>","RETIREMENT|EDUCATION|HOME|EMERGENCY_FUND|MAJOR_PURCHASE|WEALTH_GROWTH|CUSTOM").option("--currency <c>","Currency code").option("--monthly-contribution <n>","Monthly contribution",d).option("--priority <n>","Priority",p).option("--notes <s>","Notes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async o=>{try{let t={name:o.name,targetAmount:o.targetAmount,targetDate:o.targetDate};o.owner&&(t.ownerId=o.owner),o.household&&(t.householdId=o.household),o.type&&(t.type=o.type.toUpperCase()),o.currency&&(t.currency=o.currency),o.monthlyContribution!==void 0&&(t.monthlyContribution=o.monthlyContribution),o.priority!==void 0&&(t.priority=o.priority),o.notes&&(t.notes=o.notes),o.tags&&(t.tags=I(o.tags));let n=await b(W,{input:t});k$1(`Goal created: ${n.braCreateGoal.name}`),i(o,n.braCreateGoal);}catch(t){h(t);}}),r$1.command("update").description("Update a goal").argument("<id>","Goal ID").option("--name <name>","Goal name").option("--type <t>","RETIREMENT|EDUCATION|HOME|EMERGENCY_FUND|MAJOR_PURCHASE|WEALTH_GROWTH|CUSTOM").option("--status <s>","ACTIVE|ON_HOLD|ACHIEVED|ABANDONED").option("--currency <c>","Currency code").option("--target-amount <n>","Target amount",d).option("--target-date <iso>","Target date (ISO)").option("--monthly-contribution <n>","Monthly contribution",d).option("--priority <n>","Priority",p).option("--notes <s>","Notes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n={};if(t.name&&(n.name=t.name),t.type&&(n.type=t.type.toUpperCase()),t.status&&(n.status=t.status.toUpperCase()),t.currency&&(n.currency=t.currency),t.targetAmount!==void 0&&(n.targetAmount=t.targetAmount),t.targetDate&&(n.targetDate=t.targetDate),t.monthlyContribution!==void 0&&(n.monthlyContribution=t.monthlyContribution),t.priority!==void 0&&(n.priority=t.priority),t.notes!==void 0&&(n.notes=t.notes),t.tags&&(n.tags=I(t.tags)),!Object.keys(n).length)throw new o("No updates specified");let m=await b(J,{id:o$1,input:n});k$1("Goal updated"),i(t,m.braUpdateGoal);}catch(n){h(n);}}),r$1.command("archive").description("Archive a goal").argument("<id>","Goal ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(Y,{id:o});k$1(`Goal archived: ${n.braArchiveGoal}`),i(t,{archived:n.braArchiveGoal});}catch(n){h(n);}}),r$1.command("recalc-projection").description("Recompute a goal's projection from a funded amount").argument("<id>","Goal ID").requiredOption("--funded-amount <n>","Funded amount",d).option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(K,{id:o,fundedAmount:t.fundedAmount});k$1(`Projection: ${n.braRecalcGoalProjection.projection??"-"}`),i(t,n.braRecalcGoalProjection);}catch(n){h(n);}}),r$1.command("list-fundings").description("List fundings linked to a goal").requiredOption("--goal <id>","Goal ID").option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(V,{goalId:o.goal});i(o,t.braListGoalFundings.items,{headers:["ID","Account","Allocation %","Fixed"],rows:t.braListGoalFundings.items.map(n=>[r(n.id,12),r(n.accountId,12),n.allocationPct!=null?String(n.allocationPct):"-",n.fixedAmount!=null?String(n.fixedAmount):"-"])});}catch(t){h(t);}}),r$1.command("link-funding").description("Link an account funding to a goal").requiredOption("--goal <id>","Goal ID").requiredOption("--account <id>","Account ID").option("--allocation-pct <n>","Allocation percentage",d).option("--fixed-amount <n>","Fixed amount",d).option("-f, --format <format>","Output format").action(async o=>{try{let t={goalId:o.goal,accountId:o.account};o.allocationPct!==void 0&&(t.allocationPct=o.allocationPct),o.fixedAmount!==void 0&&(t.fixedAmount=o.fixedAmount);let n=await b(Q,{input:t});k$1("Funding linked"),i(o,n.braLinkGoalFunding);}catch(t){h(t);}}),r$1.command("unlink-funding").description("Unlink a funding from a goal").argument("<id>","Funding ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(z,{id:o});k$1(`Funding unlinked: ${n.braUnlinkGoalFunding}`),i(t,{unlinked:n.braUnlinkGoalFunding});}catch(n){h(n);}});}function yt(c){let r$1=c.command("transactions").description("Brainyrich account transactions");r$1.command("list").description("List transactions").option("--account <id>","Filter by account ID").option("--type <t>","BUY|SELL|DIVIDEND|INTEREST|DEPOSIT|WITHDRAWAL|FEE|TRANSFER").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(X,{accountId:o.account,type:o.type?o.type.toUpperCase():void 0,pagination:{limit:o.limit,offset:o.offset}});i(o,t.braListTransactions.items,{headers:["ID","Type","Symbol","Qty","Amount","Trade Date"],rows:t.braListTransactions.items.map(n=>[r(n.id,12),n.type,n.symbol??"-",n.quantity!=null?String(n.quantity):"-",n.amount!=null?String(n.amount):"-",n.tradeDate??"-"])});}catch(t){h(t);}}),r$1.command("record").description("Record a transaction").requiredOption("--account <id>","Account ID").requiredOption("--type <t>","BUY|SELL|DIVIDEND|INTEREST|DEPOSIT|WITHDRAWAL|FEE|TRANSFER").requiredOption("--trade-date <iso>","Trade date (ISO)").option("--holding <id>","Holding ID").option("--symbol <s>","Ticker symbol").option("--quantity <n>","Quantity",d).option("--price <n>","Price",d).option("--amount <n>","Amount",d).option("--fee <n>","Fee",d).option("--currency <c>","Currency code").option("--settle-date <iso>","Settlement date (ISO)").option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async o=>{try{let t={accountId:o.account,type:o.type.toUpperCase(),tradeDate:o.tradeDate};o.holding&&(t.holdingId=o.holding),o.symbol&&(t.symbol=o.symbol),o.quantity!==void 0&&(t.quantity=o.quantity),o.price!==void 0&&(t.price=o.price),o.amount!==void 0&&(t.amount=o.amount),o.fee!==void 0&&(t.fee=o.fee),o.currency&&(t.currency=o.currency),o.settleDate&&(t.settleDate=o.settleDate),o.notes&&(t.notes=o.notes);let n=await b(Z,{input:t});k$1(`Transaction recorded: ${n.braRecordTransaction.type}`),i(o,n.braRecordTransaction);}catch(t){h(t);}});}function It(c){let r$1=c.command("insights").description("Brainyrich advisory insights");r$1.command("list").description("List insights").option("--status <s>","OPEN|ACKNOWLEDGED|RESOLVED|DISMISSED").option("--severity <s>","INFO|LOW|MEDIUM|HIGH|CRITICAL").option("--subject-id <id>","Filter by subject ID").option("--subject-type <t>","Filter by subject type").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(ot,{status:o.status?o.status.toUpperCase():void 0,severity:o.severity?o.severity.toUpperCase():void 0,subjectId:o.subjectId,subjectType:o.subjectType,pagination:{limit:o.limit,offset:o.offset}});i(o,t.braListInsights.items,{headers:["ID","Title","Type","Severity","Status"],rows:t.braListInsights.items.map(n=>[r(n.id,12),n.title,n.type,n.severity??"-",n.status??"-"])});}catch(t){h(t);}}),r$1.command("get").description("Get an insight by id").argument("<id>","Insight ID").option("-f, --format <format>","Output format").action(async(o$1,t)=>{try{let n=await b(tt,{id:o$1});if(!n.braInsight)throw new o(`Insight ${o$1} not found`);i(t,n.braInsight);}catch(n){h(n);}}),r$1.command("create").description("Create an insight").requiredOption("--title <t>","Title").requiredOption("--type <t>","DRIFT|CASH_DRAG|CONCENTRATION_RISK|FEE_ANOMALY|TAX_OPPORTUNITY|GOAL_AT_RISK|REBALANCE_DUE").requiredOption("--subject-id <id>","Subject ID").requiredOption("--subject-type <t>","Subject type").option("--severity <s>","INFO|LOW|MEDIUM|HIGH|CRITICAL").option("--detail <s>","Detail").option("--owner <id>","Owner user ID").option("--metrics <json>","Metrics JSON").option("-f, --format <format>","Output format").action(async o=>{try{let t={title:o.title,type:o.type.toUpperCase(),subjectId:o.subjectId,subjectType:o.subjectType};o.severity&&(t.severity=o.severity.toUpperCase()),o.detail&&(t.detail=o.detail),o.owner&&(t.ownerId=o.owner),o.metrics&&(t.metrics=y("metrics",o.metrics));let n=await b(nt,{input:t});k$1(`Insight created: ${n.braCreateInsight.title}`),i(o,n.braCreateInsight);}catch(t){h(t);}}),r$1.command("acknowledge").description("Acknowledge an insight").argument("<id>","Insight ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(rt,{id:o});k$1(`Insight acknowledged: ${n.braAcknowledgeInsight.status??"-"}`),i(t,n.braAcknowledgeInsight);}catch(n){h(n);}}),r$1.command("dismiss").description("Dismiss an insight").argument("<id>","Insight ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(it,{id:o});k$1(`Insight dismissed: ${n.braDismissInsight.status??"-"}`),i(t,n.braDismissInsight);}catch(n){h(n);}}),r$1.command("resolve").description("Resolve an insight").argument("<id>","Insight ID").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(at,{id:o});k$1(`Insight resolved: ${n.braResolveInsight.status??"-"}`),i(t,n.braResolveInsight);}catch(n){h(n);}});}function bt(c){let r$1=c.command("rebalances").description("Brainyrich rebalance proposals");r$1.command("list").description("List rebalance proposals").option("--portfolio <id>","Filter by portfolio ID").option("--household <id>","Filter by household ID").option("--status <s>","DRAFT|PROPOSED|APPROVED|REJECTED|EXECUTED|CANCELLED").option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(et,{portfolioId:o.portfolio,householdId:o.household,status:o.status?o.status.toUpperCase():void 0});i(o,t.braListRebalanceProposals.items,{headers:["ID","Portfolio","Status","Drift %","Rationale"],rows:t.braListRebalanceProposals.items.map(n=>[r(n.id,12),r(n.portfolioId,12),n.status,n.driftPct!=null?String(n.driftPct):"-",r(n.rationale??"-",30)])});}catch(t){h(t);}}),r$1.command("create").description("Create a rebalance proposal").requiredOption("--portfolio <id>","Portfolio ID").option("--household <id>","Household ID").option("--drift-pct <n>","Drift percentage",d).option("--rationale <s>","Rationale").option("--trades <json>","Trades JSON").option("-f, --format <format>","Output format").action(async o=>{try{let t={portfolioId:o.portfolio};o.household&&(t.householdId=o.household),o.driftPct!==void 0&&(t.driftPct=o.driftPct),o.rationale&&(t.rationale=o.rationale),o.trades&&(t.trades=y("trades",o.trades));let n=await b(st,{input:t});k$1(`Rebalance proposal created: ${n.braCreateRebalanceProposal.id}`),i(o,n.braCreateRebalanceProposal);}catch(t){h(t);}}),r$1.command("transition").description("Advance a rebalance proposal through its review lifecycle").argument("<id>","Proposal ID").requiredOption("--status <s>","DRAFT|PROPOSED|APPROVED|REJECTED|EXECUTED|CANCELLED").option("-f, --format <format>","Output format").action(async(o,t)=>{try{let n=await b(ct,{id:o,status:t.status.toUpperCase()});k$1(`Proposal status set to ${n.braTransitionRebalanceProposal.status}`),i(t,n.braTransitionRebalanceProposal);}catch(n){h(n);}});}function At(c){c.command("analytics").description("Brainyrich net-worth analytics & health").command("net-worth").description("Net-worth summary (totals + breakdown by asset class)").option("--owner <id>","Owner user ID (defaults to the calling actor)").option("-f, --format <format>","Output format").action(async o=>{try{let t=await b(dt,{ownerId:o.owner});i(o,t.braNetWorthSummary);}catch(t){h(t);}}),c.command("health").description("Brainyrich service health check (public)").option("-f, --format <format>","Output format").action(async o=>{try{let t=await d$1(ut);k$1(t.braHealth),i(o,{health:t.braHealth});}catch(t){h(t);}});}var Ct={id:"brainyrich",version:"1.0.0",displayName:"Brainyrich",dependsOn:["auth","workspaces"],register(c,r){a(r);let o=c.command("brainyrich").description("Brainyrich wealth-management platform");lt(o),pt(o),mt(o),ft(o),gt(o),ht(o),yt(o),It(o),bt(o),At(o);}},ho=Ct;export{ho as default};
|