@burdenoff/cli-sdk 2026.1102.3 → 2026.1107.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.
@@ -1,20 +1,16 @@
1
- import {a as a$1,b as b$1,i,r,h as h$1,k,q as q$1,d}from'../../chunk-O6UCQ5IT.js';import {o}from'../../chunk-YIY5IDXQ.js';var w=`
1
+ import {a,b as b$1,i,r,h as h$1,k,q as q$1,d}from'../../chunk-O6UCQ5IT.js';import {o}from'../../chunk-YIY5IDXQ.js';var w=`
2
2
  query KadaikodiGetServiceProvider($id: ID!) {
3
- getServiceProvider(id: $id) {
3
+ kadaikodiServiceProvider(id: $id) {
4
4
  id ownerId name slug description category status location
5
5
  serviceTypes offeringType businessHours rating totalRatings
6
6
  averageOrderValue analyticsSnapshot createdAt updatedAt workspaceId
7
7
  }
8
8
  }
9
9
  `,S=`
10
- query KadaikodiListServiceProviders(
11
- $filter: KadaikodiProviderFilterInput
12
- $limit: Int
13
- $offset: Int
14
- ) {
15
- listServiceProviders(filter: $filter, limit: $limit, offset: $offset) {
16
- id name slug category status rating totalRatings averageOrderValue
17
- offeringType ownerId createdAt
10
+ query KadaikodiListServiceProviders($filter: KadaikodiProviderFilterInput, $pagination: KadaikodiPaginationInput) {
11
+ kadaikodiListServiceProviders(filter: $filter, pagination: $pagination) {
12
+ id name slug category status rating totalRatings averageOrderValue offeringType ownerId
13
+ createdAt
18
14
  }
19
15
  }
20
16
  `,E=`
@@ -35,65 +31,50 @@ import {a as a$1,b as b$1,i,r,h as h$1,k,q as q$1,d}from'../../chunk-O6UCQ5IT.js
35
31
  }
36
32
  }
37
33
  `,P=`
38
- query KadaikodiListProviderWorkers($providerId: String!, $limit: Int, $offset: Int) {
39
- listProviderWorkers(providerId: $providerId, limit: $limit, offset: $offset) {
34
+ query KadaikodiListProviderWorkers($providerId: String!, $pagination: KadaikodiPaginationInput) {
35
+ kadaikodiListProviderWorkers(providerId: $providerId, pagination: $pagination) {
40
36
  id providerId workerId name role status metadata workspaceId
41
37
  }
42
38
  }
43
- `,b=`
44
- query KadaikodiListWorkerTasks(
45
- $workerRefId: String!
46
- $status: String
47
- $limit: Int
48
- $offset: Int
49
- ) {
50
- listWorkerTasks(
51
- workerRefId: $workerRefId
52
- status: $status
53
- limit: $limit
54
- offset: $offset
55
- ) {
39
+ `,C=`
40
+ query KadaikodiListWorkerTasks($status: KadaikodiWorkerTaskStatus, $pagination: KadaikodiPaginationInput) {
41
+ kadaikodiWorkerTasks(status: $status, pagination: $pagination) {
56
42
  id workerRefId title description type status priority orderId
57
43
  location dueAt completedAt workspaceId
58
44
  }
59
45
  }
60
46
  `,A=`
61
47
  query KadaikodiGetOffering($id: ID!) {
62
- getOffering(id: $id) {
48
+ kadaikodiOffering(id: $id) {
63
49
  id providerId name slug description category kind serviceType
64
50
  price originalPrice stock durationMinutes isAvailable tags
65
51
  media metadata createdAt updatedAt workspaceId
66
52
  }
67
53
  }
68
- `,C=`
69
- query KadaikodiListOfferings(
70
- $kind: KadaikodiOfferingKind
71
- $providerId: String
72
- $limit: Int
73
- $offset: Int
74
- ) {
75
- listOfferings(kind: $kind, providerId: $providerId, limit: $limit, offset: $offset) {
76
- id providerId name slug category kind serviceType price originalPrice
77
- stock isAvailable createdAt
54
+ `,b=`
55
+ query KadaikodiListOfferings($kind: KadaikodiOfferingKind, $providerId: String, $pagination: KadaikodiPaginationInput) {
56
+ kadaikodiListOfferings(kind: $kind, providerId: $providerId, pagination: $pagination) {
57
+ id providerId name slug category kind serviceType price originalPrice stock isAvailable
58
+ createdAt
78
59
  }
79
60
  }
80
61
  `,h=`
81
62
  mutation KadaikodiCreateOffering($input: KadaikodiCreateOfferingInput!) {
82
- createOffering(input: $input) {
83
- id providerId name slug description category kind serviceType
84
- price originalPrice stock durationMinutes isAvailable tags createdAt
63
+ kadaikodiCreateOffering(input: $input) {
64
+ id providerId name slug description category kind serviceType price originalPrice stock
65
+ durationMinutes isAvailable tags createdAt
85
66
  }
86
67
  }
87
68
  `,D=`
88
69
  mutation KadaikodiUpdateOffering($id: ID!, $input: KadaikodiUpdateOfferingInput!) {
89
- updateOffering(id: $id, input: $input) {
90
- id providerId name slug description category kind serviceType
91
- price originalPrice stock durationMinutes isAvailable tags updatedAt
70
+ kadaikodiUpdateOffering(id: $id, input: $input) {
71
+ id providerId name slug description category kind serviceType price originalPrice stock
72
+ durationMinutes isAvailable tags updatedAt
92
73
  }
93
74
  }
94
- `,$=`
75
+ `,L=`
95
76
  query KadaikodiGetOrder($id: ID!) {
96
- getOrder(id: $id) {
77
+ kadaikodiOrder(id: $id) {
97
78
  id orderNumber customerId providerId status paymentStatus paymentMethod
98
79
  fulfillmentType assignedWorkerId subtotal tax deliveryFee discount total
99
80
  deliveryAddress notes timeline createdAt updatedAt workspaceId
@@ -103,88 +84,74 @@ import {a as a$1,b as b$1,i,r,h as h$1,k,q as q$1,d}from'../../chunk-O6UCQ5IT.js
103
84
  }
104
85
  }
105
86
  }
106
- `,N=`
87
+ `,$=`
107
88
  query KadaikodiListOrders(
108
89
  $customerId: String
109
90
  $providerId: String
110
91
  $status: KadaikodiOrderStatus
111
- $limit: Int
112
- $offset: Int
92
+ $pagination: KadaikodiPaginationInput
113
93
  ) {
114
- listOrders(
115
- customerId: $customerId
116
- providerId: $providerId
117
- status: $status
118
- limit: $limit
119
- offset: $offset
120
- ) {
121
- id orderNumber customerId providerId status paymentStatus
122
- fulfillmentType total createdAt
94
+ kadaikodiListOrders(customerId: $customerId, providerId: $providerId, status: $status, pagination: $pagination) {
95
+ id orderNumber customerId providerId status paymentStatus fulfillmentType total
96
+ createdAt
123
97
  }
124
98
  }
125
- `,L=`
99
+ `,N=`
126
100
  mutation KadaikodiPlaceOrder($input: KadaikodiPlaceOrderInput!) {
127
- placeOrder(input: $input) {
128
- id orderNumber customerId providerId status paymentStatus
129
- fulfillmentType subtotal tax deliveryFee discount total createdAt
101
+ kadaikodiPlaceOrder(input: $input) {
102
+ id orderNumber customerId providerId status paymentStatus fulfillmentType subtotal tax
103
+ deliveryFee discount total createdAt
130
104
  items { id name quantity unitPrice totalPrice }
131
105
  }
132
106
  }
133
107
  `,_=`
134
108
  mutation KadaikodiUpdateOrderStatus($id: ID!, $status: KadaikodiOrderStatus!) {
135
- updateOrderStatus(id: $id, status: $status) {
109
+ kadaikodiUpdateOrderStatus(id: $id, status: $status) {
136
110
  id orderNumber status paymentStatus total updatedAt
137
111
  }
138
112
  }
139
- `,x=`
140
- query KadaikodiListReviews($providerId: String!, $limit: Int, $offset: Int) {
141
- listReviews(providerId: $providerId, limit: $limit, offset: $offset) {
142
- id providerId customerId orderId rating review response
143
- createdAt updatedAt workspaceId
113
+ `,K=`
114
+ query KadaikodiListReviews($providerId: String!, $pagination: KadaikodiPaginationInput) {
115
+ kadaikodiListReviews(providerId: $providerId, pagination: $pagination) {
116
+ id providerId customerId orderId rating review response createdAt updatedAt workspaceId
144
117
  }
145
118
  }
146
- `,K=`
119
+ `,x=`
147
120
  mutation KadaikodiCreateReview($input: KadaikodiCreateReviewInput!) {
148
- createReview(input: $input) {
121
+ kadaikodiCreateReview(input: $input) {
149
122
  id providerId customerId orderId rating review response createdAt
150
123
  }
151
124
  }
152
- `,q=`
125
+ `,U=`
153
126
  mutation KadaikodiRespondToReview($id: ID!, $response: String!) {
154
- respondToReview(id: $id, response: $response) {
127
+ kadaikodiRespondToReview(id: $id, response: $response) {
155
128
  id providerId customerId rating review response updatedAt
156
129
  }
157
130
  }
158
131
  `,M=`
159
132
  query KadaikodiGetInvestmentOpportunity($id: ID!) {
160
- getInvestmentOpportunity(id: $id) {
133
+ kadaikodiInvestmentOpportunity(id: $id) {
161
134
  id providerId title description riskLevel status targetAmount
162
135
  raisedAmount minimumInvestment expectedReturnsPct lockInMonths
163
136
  businessMetrics terms expiresAt createdAt updatedAt workspaceId
164
137
  }
165
138
  }
166
- `,U=`
139
+ `,q=`
167
140
  query KadaikodiListInvestmentOpportunities(
168
141
  $riskLevel: KadaikodiRiskLevel
169
142
  $status: KadaikodiInvestmentStatus
170
- $limit: Int
171
- $offset: Int
143
+ $pagination: KadaikodiPaginationInput
172
144
  ) {
173
- listInvestmentOpportunities(
174
- riskLevel: $riskLevel
175
- status: $status
176
- limit: $limit
177
- offset: $offset
178
- ) {
179
- id providerId title riskLevel status targetAmount raisedAmount
180
- minimumInvestment expectedReturnsPct lockInMonths expiresAt createdAt
145
+ kadaikodiListInvestmentOpportunities(riskLevel: $riskLevel, status: $status, pagination: $pagination) {
146
+ id providerId title riskLevel status targetAmount raisedAmount minimumInvestment
147
+ expectedReturnsPct lockInMonths expiresAt createdAt
181
148
  }
182
149
  }
183
150
  `,V=`
184
- query KadaikodiListInvestments($investorId: String!, $limit: Int, $offset: Int) {
185
- listInvestments(investorId: $investorId, limit: $limit, offset: $offset) {
186
- id investorId opportunityId amount currentValue realizedReturns
187
- expectedReturnsPct status investedAt maturedAt workspaceId
151
+ query KadaikodiListInvestments($pagination: KadaikodiPaginationInput) {
152
+ kadaikodiListInvestments(pagination: $pagination) {
153
+ id investorId opportunityId amount currentValue realizedReturns expectedReturnsPct
154
+ status investedAt maturedAt workspaceId
188
155
  transactions { id investmentId type amount notes createdAt }
189
156
  }
190
157
  }
@@ -192,17 +159,16 @@ import {a as a$1,b as b$1,i,r,h as h$1,k,q as q$1,d}from'../../chunk-O6UCQ5IT.js
192
159
  mutation KadaikodiCreateInvestmentOpportunity(
193
160
  $input: KadaikodiCreateInvestmentOpportunityInput!
194
161
  ) {
195
- createInvestmentOpportunity(input: $input) {
196
- id providerId title description riskLevel status targetAmount
197
- raisedAmount minimumInvestment expectedReturnsPct lockInMonths
198
- expiresAt createdAt
162
+ kadaikodiCreateInvestmentOpportunity(input: $input) {
163
+ id providerId title description riskLevel status targetAmount raisedAmount
164
+ minimumInvestment expectedReturnsPct lockInMonths expiresAt createdAt
199
165
  }
200
166
  }
201
167
  `,W=`
202
168
  mutation KadaikodiInvest($input: KadaikodiInvestInput!) {
203
- invest(input: $input) {
204
- id investorId opportunityId amount currentValue realizedReturns
205
- expectedReturnsPct status investedAt
169
+ kadaikodiInvest(input: $input) {
170
+ id investorId opportunityId amount currentValue realizedReturns expectedReturnsPct
171
+ status investedAt
206
172
  }
207
173
  }
208
174
  `,G=`
@@ -223,4 +189,4 @@ import {a as a$1,b as b$1,i,r,h as h$1,k,q as q$1,d}from'../../chunk-O6UCQ5IT.js
223
189
  query KadaikodiHealth {
224
190
  kadaikodiHealth
225
191
  }
226
- `;function c(d,r){try{return JSON.parse(r)}catch{throw new o(`--${d} must be valid JSON`)}}function a(d){let r=Number.parseInt(d,10);if(Number.isNaN(r))throw new o(`Expected an integer but got "${d}"`);return r}function g(d){let r=Number.parseFloat(d);if(Number.isNaN(r))throw new o(`Expected a number but got "${d}"`);return r}function j(d){let r$1=d.command("providers").description("Kadaikodi service providers");r$1.command("list").description("List service providers").option("--category <c>","Filter by service category").option("--status <s>","Filter by provider status").option("--query <q>","Free-text search").option("--open-only","Only providers currently open").option("--limit <n>","Page size",a,50).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async t=>{try{let e={};t.category&&(e.category=t.category.toUpperCase()),t.status&&(e.status=t.status.toUpperCase()),t.query&&(e.query=t.query),t.openOnly&&(e.openOnly=!0);let i$1=await b$1(S,{filter:Object.keys(e).length?e:void 0,limit:t.limit,offset:t.offset});i(t,i$1.listServiceProviders,{headers:["ID","Name","Category","Status","Rating"],rows:i$1.listServiceProviders.map(u=>[r(u.id,12),u.name,u.category,u.status,`${u.rating??0} (${u.totalRatings??0})`])});}catch(e){h$1(e);}}),r$1.command("get").description("Get a service provider by id").argument("<id>","Provider ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(w,{id:t});if(!i$1.getServiceProvider)throw new o(`Provider ${t} not found`);i(e,i$1.getServiceProvider);}catch(i){h$1(i);}}),r$1.command("create").description("Create a service provider").requiredOption("--owner <id>","Owner user ID").requiredOption("--name <name>","Provider name").requiredOption("--slug <slug>","URL slug").requiredOption("--category <c>","Service category").requiredOption("--location <json>","Location JSON (address/latitude/longitude)").option("--description <s>","Description").option("--offering-type <t>","product|service|both","both").option("--service-types <csv>","Comma-separated service types").option("--business-hours <json>","Business hours JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={ownerId:t.owner,name:t.name,slug:t.slug,category:t.category.toUpperCase(),location:c("location",t.location),offeringType:t.offeringType??"both"};t.description&&(e.description=t.description),t.serviceTypes&&(e.serviceTypes=t.serviceTypes.split(",").map(u=>u.trim())),t.businessHours&&(e.businessHours=c("business-hours",t.businessHours));let i$1=await b$1(E,{input:e});k(`Provider created: ${i$1.kadaikodiCreateServiceProvider.name}`),i(t,i$1.kadaikodiCreateServiceProvider);}catch(e){h$1(e);}}),r$1.command("update").description("Update a service provider").argument("<id>","Provider ID").option("--name <name>","Provider name").option("--description <s>","Description").option("--status <s>","Provider status").option("--location <json>","Location JSON").option("--service-types <csv>","Comma-separated service types").option("--business-hours <json>","Business hours JSON").option("--analytics-snapshot <json>","Analytics snapshot JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.name&&(i$1.name=e.name),e.description!==void 0&&(i$1.description=e.description),e.status&&(i$1.status=e.status.toUpperCase()),e.location&&(i$1.location=c("location",e.location)),e.serviceTypes&&(i$1.serviceTypes=e.serviceTypes.split(",").map(y=>y.trim())),e.businessHours&&(i$1.businessHours=c("business-hours",e.businessHours)),e.analyticsSnapshot&&(i$1.analyticsSnapshot=c("analytics-snapshot",e.analyticsSnapshot)),!Object.keys(i$1).length)throw new o("No updates specified");let u=await b$1(T,{id:t,input:i$1});k("Provider updated"),i(e,u.kadaikodiUpdateServiceProvider);}catch(i){h$1(i);}});}function z(d){d.command("workers").description("Kadaikodi provider workers").command("list").description("List workers for a provider").requiredOption("--provider <id>","Provider ID").option("--limit <n>","Page size",a,50).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(P,{providerId:t.provider,limit:t.limit,offset:t.offset});i(t,e.listProviderWorkers,{headers:["ID","Name","Role","Status","Worker"],rows:e.listProviderWorkers.map(i=>[r(i.id,12),i.name,i.role,i.status,r(i.workerId,12)])});}catch(e){h$1(e);}});}function Y(d){d.command("tasks").description("Kadaikodi worker tasks").command("list").description("List tasks for a worker").requiredOption("--worker <id>","Worker ref ID").option("--status <s>","Filter by status").option("--limit <n>","Page size",a,50).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(b,{workerRefId:t.worker,status:t.status,limit:t.limit,offset:t.offset});i(t,e.listWorkerTasks,{headers:["ID","Title","Type","Status","Priority","Due"],rows:e.listWorkerTasks.map(i=>[r(i.id,12),i.title,i.type,i.status,i.priority,q$1(i.dueAt)])});}catch(e){h$1(e);}});}function B(d){let r$1=d.command("offerings").description("Kadaikodi offerings (products & services)");r$1.command("list").description("List offerings").option("--kind <k>","PRODUCT|SERVICE").option("--provider <id>","Filter by provider ID").option("--limit <n>","Page size",a,100).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(C,{kind:t.kind?t.kind.toUpperCase():void 0,providerId:t.provider,limit:t.limit,offset:t.offset});i(t,e.listOfferings,{headers:["ID","Name","Kind","Category","Price","Stock"],rows:e.listOfferings.map(i=>[r(i.id,12),i.name,i.kind,i.category,String(i.price),i.stock!=null?String(i.stock):"-"])});}catch(e){h$1(e);}}),r$1.command("get").description("Get an offering by id").argument("<id>","Offering ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(A,{id:t});if(!i$1.getOffering)throw new o(`Offering ${t} not found`);i(e,i$1.getOffering);}catch(i){h$1(i);}}),r$1.command("create").description("Create an offering").requiredOption("--provider <id>","Provider ID").requiredOption("--name <name>","Offering name").requiredOption("--slug <slug>","URL slug").requiredOption("--kind <k>","PRODUCT|SERVICE").requiredOption("--category <c>","Service category").requiredOption("--price <n>","Price",g).option("--description <s>","Description").option("--original-price <n>","Original price",g).option("--service-type <s>","Service type").option("--duration-minutes <n>","Duration (minutes)",a).option("--stock <n>","Stock",a).option("--tags <csv>","Comma-separated tags").option("--media <json>","Media JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={providerId:t.provider,name:t.name,slug:t.slug,kind:t.kind.toUpperCase(),category:t.category.toUpperCase(),price:t.price};t.description&&(e.description=t.description),t.originalPrice!==void 0&&(e.originalPrice=t.originalPrice),t.serviceType&&(e.serviceType=t.serviceType),t.durationMinutes!==void 0&&(e.durationMinutes=t.durationMinutes),t.stock!==void 0&&(e.stock=t.stock),t.tags&&(e.tags=t.tags.split(",").map(u=>u.trim())),t.media&&(e.media=c("media",t.media)),t.metadata&&(e.metadata=c("metadata",t.metadata));let i$1=await b$1(h,{input:e});k(`Offering created: ${i$1.createOffering.name}`),i(t,i$1.createOffering);}catch(e){h$1(e);}}),r$1.command("update").description("Update an offering").argument("<id>","Offering ID").option("--name <name>","Offering name").option("--description <s>","Description").option("--price <n>","Price",g).option("--original-price <n>","Original price",g).option("--service-type <s>","Service type").option("--duration-minutes <n>","Duration (minutes)",a).option("--stock <n>","Stock",a).option("--available <bool>","true|false",t=>t==="true").option("--tags <csv>","Comma-separated tags").option("--media <json>","Media JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.name&&(i$1.name=e.name),e.description!==void 0&&(i$1.description=e.description),e.price!==void 0&&(i$1.price=e.price),e.originalPrice!==void 0&&(i$1.originalPrice=e.originalPrice),e.serviceType&&(i$1.serviceType=e.serviceType),e.durationMinutes!==void 0&&(i$1.durationMinutes=e.durationMinutes),e.stock!==void 0&&(i$1.stock=e.stock),e.available!==void 0&&(i$1.isAvailable=e.available),e.tags&&(i$1.tags=e.tags.split(",").map(y=>y.trim())),e.media&&(i$1.media=c("media",e.media)),e.metadata&&(i$1.metadata=c("metadata",e.metadata)),!Object.keys(i$1).length)throw new o("No updates specified");let u=await b$1(D,{id:t,input:i$1});k("Offering updated"),i(e,u.updateOffering);}catch(i){h$1(i);}});}function Q(d){let r$1=d.command("orders").description("Kadaikodi orders");r$1.command("list").description("List orders").option("--customer <id>","Filter by customer ID").option("--provider <id>","Filter by provider ID").option("--status <s>","Filter by order status").option("--limit <n>","Page size",a,100).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(N,{customerId:t.customer,providerId:t.provider,status:t.status?t.status.toUpperCase():void 0,limit:t.limit,offset:t.offset});i(t,e.listOrders,{headers:["ID","Order #","Status","Payment","Fulfillment","Total"],rows:e.listOrders.map(i=>[r(i.id,12),i.orderNumber,i.status,i.paymentStatus,i.fulfillmentType,String(i.total)])});}catch(e){h$1(e);}}),r$1.command("get").description("Get an order by id").argument("<id>","Order ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1($,{id:t});if(!i$1.getOrder)throw new o(`Order ${t} not found`);i(e,i$1.getOrder);}catch(i){h$1(i);}}),r$1.command("place").description("Place an order").requiredOption("--customer <id>","Customer ID").requiredOption("--provider <id>","Provider ID").requiredOption("--fulfillment-type <t>","Fulfillment type (e.g. delivery, pickup)").requiredOption("--items <json>","Order items JSON array: [{ name, quantity, unitPrice, offeringId?, customizations? }]").option("--tax <n>","Tax",g).option("--delivery-fee <n>","Delivery fee",g).option("--discount <n>","Discount",g).option("--payment-method <m>","Payment method").option("--delivery-address <json>","Delivery address JSON").option("--notes <s>","Order notes").option("-f, --format <format>","Output format").action(async t=>{try{let e=c("items",t.items);if(!Array.isArray(e)||e.length===0)throw new o("--items must be a non-empty JSON array");let i$1={customerId:t.customer,providerId:t.provider,fulfillmentType:t.fulfillmentType,items:e};t.tax!==void 0&&(i$1.tax=t.tax),t.deliveryFee!==void 0&&(i$1.deliveryFee=t.deliveryFee),t.discount!==void 0&&(i$1.discount=t.discount),t.paymentMethod&&(i$1.paymentMethod=t.paymentMethod),t.deliveryAddress&&(i$1.deliveryAddress=c("delivery-address",t.deliveryAddress)),t.notes&&(i$1.notes=t.notes);let u=await b$1(L,{input:i$1});k(`Order placed: ${u.placeOrder.orderNumber}`),i(t,u.placeOrder);}catch(e){h$1(e);}}),r$1.command("set-status").description("Update an order status").argument("<id>","Order ID").requiredOption("--status <s>","PLACED|PENDING|CONFIRMED|PREPARING|READY|OUT_FOR_DELIVERY|DELIVERED|COMPLETED|CANCELLED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(_,{id:t,status:e.status.toUpperCase()});k(`Order status set to ${i$1.updateOrderStatus.status}`),i(e,i$1.updateOrderStatus);}catch(i){h$1(i);}});}function X(d){let r$1=d.command("reviews").description("Kadaikodi reviews");r$1.command("list").description("List reviews for a provider").requiredOption("--provider <id>","Provider ID").option("--limit <n>","Page size",a,100).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(x,{providerId:t.provider,limit:t.limit,offset:t.offset});i(t,e.listReviews,{headers:["ID","Customer","Rating","Review","Responded"],rows:e.listReviews.map(i=>[r(i.id,12),r(i.customerId,12),String(i.rating),r(i.review??"-",30),i.response?"yes":"no"])});}catch(e){h$1(e);}}),r$1.command("create").description("Create a review").requiredOption("--provider <id>","Provider ID").requiredOption("--customer <id>","Customer ID").requiredOption("--rating <n>","Rating (1-5)",a).option("--order <id>","Order ID").option("--review <text>","Review text").option("-f, --format <format>","Output format").action(async t=>{try{let e={providerId:t.provider,customerId:t.customer,rating:t.rating};t.order&&(e.orderId=t.order),t.review&&(e.review=t.review);let i$1=await b$1(K,{input:e});k("Review created"),i(t,i$1.createReview);}catch(e){h$1(e);}}),r$1.command("respond").description("Respond to a review").argument("<id>","Review ID").requiredOption("--response <text>","Response text").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(q,{id:t,response:e.response});k("Response saved"),i(e,i$1.respondToReview);}catch(i){h$1(i);}});}function Z(d){let r$1=d.command("investments").description("Kadaikodi investment opportunities & investments");r$1.command("list-opportunities").description("List investment opportunities").option("--risk-level <r>","LOW|MEDIUM|HIGH").option("--status <s>","DRAFT|ACTIVE|FUNDED|CLOSED").option("--limit <n>","Page size",a,100).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(U,{riskLevel:t.riskLevel?t.riskLevel.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0,limit:t.limit,offset:t.offset});i(t,e.listInvestmentOpportunities,{headers:["ID","Title","Risk","Status","Target","Raised","Returns %"],rows:e.listInvestmentOpportunities.map(i=>[r(i.id,12),i.title,i.riskLevel,i.status,String(i.targetAmount),String(i.raisedAmount),String(i.expectedReturnsPct)])});}catch(e){h$1(e);}}),r$1.command("get-opportunity").description("Get an investment opportunity by id").argument("<id>","Opportunity ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(M,{id:t});if(!i$1.getInvestmentOpportunity)throw new o(`Investment opportunity ${t} not found`);i(e,i$1.getInvestmentOpportunity);}catch(i){h$1(i);}}),r$1.command("create-opportunity").description("Create an investment opportunity").requiredOption("--provider <id>","Provider ID").requiredOption("--title <t>","Title").requiredOption("--target-amount <n>","Target amount",g).requiredOption("--minimum-investment <n>","Minimum investment",g).requiredOption("--expected-returns-pct <n>","Expected returns %",g).requiredOption("--lock-in-months <n>","Lock-in months",a).option("--risk-level <r>","LOW|MEDIUM|HIGH","MEDIUM").option("--description <s>","Description").option("--expires-at <iso>","Expiry (ISO date)").option("--business-metrics <json>","Business metrics JSON").option("--terms <json>","Terms JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={providerId:t.provider,title:t.title,targetAmount:t.targetAmount,minimumInvestment:t.minimumInvestment,expectedReturnsPct:t.expectedReturnsPct,lockInMonths:t.lockInMonths,riskLevel:(t.riskLevel??"MEDIUM").toUpperCase()};t.description&&(e.description=t.description),t.expiresAt&&(e.expiresAt=t.expiresAt),t.businessMetrics&&(e.businessMetrics=c("business-metrics",t.businessMetrics)),t.terms&&(e.terms=c("terms",t.terms));let i$1=await b$1(F,{input:e});k(`Opportunity created: ${i$1.createInvestmentOpportunity.title}`),i(t,i$1.createInvestmentOpportunity);}catch(e){h$1(e);}}),r$1.command("list").description("List investments for an investor").requiredOption("--investor <id>","Investor ID").option("--limit <n>","Page size",a,100).option("--offset <n>","Offset",a,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(V,{investorId:t.investor,limit:t.limit,offset:t.offset});i(t,e.listInvestments,{headers:["ID","Opportunity","Amount","Current","Returns","Status"],rows:e.listInvestments.map(i=>[r(i.id,12),r(i.opportunityId,12),String(i.amount),String(i.currentValue),String(i.realizedReturns),i.status])});}catch(e){h$1(e);}}),r$1.command("invest").description("Invest in an opportunity").requiredOption("--investor <id>","Investor ID").requiredOption("--opportunity <id>","Opportunity ID").requiredOption("--amount <n>","Amount",g).option("-f, --format <format>","Output format").action(async t=>{try{let e={investorId:t.investor,opportunityId:t.opportunity,amount:t.amount},i$1=await b$1(W,{input:e});k(`Invested ${i$1.invest.amount} in ${i$1.invest.opportunityId}`),i(t,i$1.invest);}catch(e){h$1(e);}});}function tt(d$1){let r=d$1.command("analytics").description("Kadaikodi analytics & dashboard");r.command("admin").description("Admin analytics (category distribution, growth, revenue, top providers)").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(G);i(t,e.kadaikodiAdminAnalytics);}catch(e){h$1(e);}}),r.command("dashboard").description("Dashboard stats (orders, revenue, providers, customers, rating)").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(H);i(t,e.kadaikodiDashboardStats);}catch(e){h$1(e);}}),d$1.command("health").description("Kadaikodi service health check (public)").option("-f, --format <format>","Output format").action(async t=>{try{let e=await d(J);k(e.kadaikodiHealth),i(t,{health:e.kadaikodiHealth});}catch(e){h$1(e);}});}var et={id:"kadaikodi",version:"1.0.0",displayName:"Kadaikodi",dependsOn:["auth","workspaces"],register(d,r){a$1(r);let t=d.command("kadaikodi").description("Kadaikodi local-services marketplace");j(t),z(t),Y(t),B(t),Q(t),X(t),Z(t),tt(t);}},Ut=et;export{Ut as default};
192
+ `;function c(d,r){try{return JSON.parse(r)}catch{throw new o(`--${d} must be valid JSON`)}}function s(d){let r=Number.parseInt(d,10);if(Number.isNaN(r))throw new o(`Expected an integer but got "${d}"`);return r}function g(d){let r=Number.parseFloat(d);if(Number.isNaN(r))throw new o(`Expected a number but got "${d}"`);return r}function j(d){let r$1=d.command("providers").description("Kadaikodi service providers");r$1.command("list").description("List service providers").option("--category <c>","Filter by service category").option("--status <s>","Filter by provider status").option("--query <q>","Free-text search").option("--open-only","Only providers currently open").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1={};t.category&&(i$1.category=t.category.toUpperCase()),t.status&&(i$1.status=t.status.toUpperCase()),t.query&&(i$1.query=t.query),t.openOnly&&(i$1.openOnly=!0);let e=await b$1(S,{filter:Object.keys(i$1).length?i$1:void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,e.kadaikodiListServiceProviders,{headers:["ID","Name","Category","Status","Rating"],rows:e.kadaikodiListServiceProviders.map(p=>[r(p.id,12),p.name,p.category,p.status,`${p.rating??0} (${p.totalRatings??0})`])});}catch(i){h$1(i);}}),r$1.command("get").description("Get a service provider by id").argument("<id>","Provider ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(w,{id:t});if(!e.kadaikodiServiceProvider)throw new o(`Provider ${t} not found`);i(i$1,e.kadaikodiServiceProvider);}catch(e){h$1(e);}}),r$1.command("create").description("Create a service provider").requiredOption("--owner <id>","Owner user ID").requiredOption("--name <name>","Provider name").requiredOption("--slug <slug>","URL slug").requiredOption("--category <c>","Service category").requiredOption("--location <json>","Location JSON (address/latitude/longitude)").option("--description <s>","Description").option("--offering-type <t>","product|service|both","both").option("--service-types <csv>","Comma-separated service types").option("--business-hours <json>","Business hours JSON").option("-f, --format <format>","Output format").action(async t=>{try{let i$1={ownerId:t.owner,name:t.name,slug:t.slug,category:t.category.toUpperCase(),location:c("location",t.location),offeringType:t.offeringType??"both"};t.description&&(i$1.description=t.description),t.serviceTypes&&(i$1.serviceTypes=t.serviceTypes.split(",").map(p=>p.trim())),t.businessHours&&(i$1.businessHours=c("business-hours",t.businessHours));let e=await b$1(E,{input:i$1});k(`Provider created: ${e.kadaikodiCreateServiceProvider.name}`),i(t,e.kadaikodiCreateServiceProvider);}catch(i){h$1(i);}}),r$1.command("update").description("Update a service provider").argument("<id>","Provider ID").option("--name <name>","Provider name").option("--description <s>","Description").option("--status <s>","Provider status").option("--location <json>","Location JSON").option("--service-types <csv>","Comma-separated service types").option("--business-hours <json>","Business hours JSON").option("--analytics-snapshot <json>","Analytics snapshot JSON").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e={};if(i$1.name&&(e.name=i$1.name),i$1.description!==void 0&&(e.description=i$1.description),i$1.status&&(e.status=i$1.status.toUpperCase()),i$1.location&&(e.location=c("location",i$1.location)),i$1.serviceTypes&&(e.serviceTypes=i$1.serviceTypes.split(",").map(I=>I.trim())),i$1.businessHours&&(e.businessHours=c("business-hours",i$1.businessHours)),i$1.analyticsSnapshot&&(e.analyticsSnapshot=c("analytics-snapshot",i$1.analyticsSnapshot)),!Object.keys(e).length)throw new o("No updates specified");let p=await b$1(T,{id:t,input:e});k("Provider updated"),i(i$1,p.kadaikodiUpdateServiceProvider);}catch(e){h$1(e);}});}function z(d){d.command("workers").description("Kadaikodi provider workers").command("list").description("List workers for a provider").requiredOption("--provider <id>","Provider ID").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(P,{providerId:t.provider,pagination:{limit:t.limit,offset:t.offset}});i(t,i$1.kadaikodiListProviderWorkers,{headers:["ID","Name","Role","Status","Worker"],rows:i$1.kadaikodiListProviderWorkers.map(e=>[r(e.id,12),e.name,e.role,e.status,r(e.workerId,12)])});}catch(i){h$1(i);}});}function Y(d){d.command("tasks").description("Kadaikodi worker tasks").command("list").description("List the worker tasks assigned to the signed-in worker").option("--status <s>","Filter by status (ASSIGNED, IN_PROGRESS, BLOCKED, COMPLETED, CANCELLED)").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(C,{status:t.status?.toUpperCase(),pagination:{limit:t.limit,offset:t.offset}});i(t,i$1.kadaikodiWorkerTasks,{headers:["ID","Title","Type","Status","Priority","Due"],rows:i$1.kadaikodiWorkerTasks.map(e=>[r(e.id,12),e.title,e.type,e.status,e.priority,q$1(e.dueAt)])});}catch(i){h$1(i);}});}function B(d){let r$1=d.command("offerings").description("Kadaikodi offerings (products & services)");r$1.command("list").description("List offerings").option("--kind <k>","PRODUCT|SERVICE").option("--provider <id>","Filter by provider ID").option("--limit <n>","Page size",s,100).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(b,{kind:t.kind?t.kind.toUpperCase():void 0,providerId:t.provider,pagination:{limit:t.limit,offset:t.offset}});i(t,i$1.kadaikodiListOfferings,{headers:["ID","Name","Kind","Category","Price","Stock"],rows:i$1.kadaikodiListOfferings.map(e=>[r(e.id,12),e.name,e.kind,e.category,String(e.price),e.stock!=null?String(e.stock):"-"])});}catch(i){h$1(i);}}),r$1.command("get").description("Get an offering by id").argument("<id>","Offering ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(A,{id:t});if(!e.kadaikodiOffering)throw new o(`Offering ${t} not found`);i(i$1,e.kadaikodiOffering);}catch(e){h$1(e);}}),r$1.command("create").description("Create an offering").requiredOption("--provider <id>","Provider ID").requiredOption("--name <name>","Offering name").requiredOption("--slug <slug>","URL slug").requiredOption("--kind <k>","PRODUCT|SERVICE").requiredOption("--category <c>","Service category").requiredOption("--price <n>","Price",g).option("--description <s>","Description").option("--original-price <n>","Original price",g).option("--service-type <s>","Service type").option("--duration-minutes <n>","Duration (minutes)",s).option("--stock <n>","Stock",s).option("--tags <csv>","Comma-separated tags").option("--media <json>","Media JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let i$1={providerId:t.provider,name:t.name,slug:t.slug,kind:t.kind.toUpperCase(),category:t.category.toUpperCase(),price:t.price};t.description&&(i$1.description=t.description),t.originalPrice!==void 0&&(i$1.originalPrice=t.originalPrice),t.serviceType&&(i$1.serviceType=t.serviceType),t.durationMinutes!==void 0&&(i$1.durationMinutes=t.durationMinutes),t.stock!==void 0&&(i$1.stock=t.stock),t.tags&&(i$1.tags=t.tags.split(",").map(p=>p.trim())),t.media&&(i$1.media=c("media",t.media)),t.metadata&&(i$1.metadata=c("metadata",t.metadata));let e=await b$1(h,{input:i$1});k(`Offering created: ${e.kadaikodiCreateOffering.name}`),i(t,e.kadaikodiCreateOffering);}catch(i){h$1(i);}}),r$1.command("update").description("Update an offering").argument("<id>","Offering ID").option("--name <name>","Offering name").option("--description <s>","Description").option("--price <n>","Price",g).option("--original-price <n>","Original price",g).option("--service-type <s>","Service type").option("--duration-minutes <n>","Duration (minutes)",s).option("--stock <n>","Stock",s).option("--available <bool>","true|false",t=>t==="true").option("--tags <csv>","Comma-separated tags").option("--media <json>","Media JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e={};if(i$1.name&&(e.name=i$1.name),i$1.description!==void 0&&(e.description=i$1.description),i$1.price!==void 0&&(e.price=i$1.price),i$1.originalPrice!==void 0&&(e.originalPrice=i$1.originalPrice),i$1.serviceType&&(e.serviceType=i$1.serviceType),i$1.durationMinutes!==void 0&&(e.durationMinutes=i$1.durationMinutes),i$1.stock!==void 0&&(e.stock=i$1.stock),i$1.available!==void 0&&(e.isAvailable=i$1.available),i$1.tags&&(e.tags=i$1.tags.split(",").map(I=>I.trim())),i$1.media&&(e.media=c("media",i$1.media)),i$1.metadata&&(e.metadata=c("metadata",i$1.metadata)),!Object.keys(e).length)throw new o("No updates specified");let p=await b$1(D,{id:t,input:e});k("Offering updated"),i(i$1,p.kadaikodiUpdateOffering);}catch(e){h$1(e);}});}function Q(d){let r$1=d.command("orders").description("Kadaikodi orders");r$1.command("list").description("List orders").option("--customer <id>","Filter by customer ID").option("--provider <id>","Filter by provider ID").option("--status <s>","Filter by order status").option("--limit <n>","Page size",s,100).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1($,{customerId:t.customer,providerId:t.provider,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,i$1.kadaikodiListOrders,{headers:["ID","Order #","Status","Payment","Fulfillment","Total"],rows:i$1.kadaikodiListOrders.map(e=>[r(e.id,12),e.orderNumber,e.status,e.paymentStatus,e.fulfillmentType,String(e.total)])});}catch(i){h$1(i);}}),r$1.command("get").description("Get an order by id").argument("<id>","Order ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(L,{id:t});if(!e.kadaikodiOrder)throw new o(`Order ${t} not found`);i(i$1,e.kadaikodiOrder);}catch(e){h$1(e);}}),r$1.command("place").description("Place an order").requiredOption("--customer <id>","Customer ID").requiredOption("--provider <id>","Provider ID").requiredOption("--fulfillment-type <t>","Fulfillment type (e.g. delivery, pickup)").requiredOption("--items <json>","Order items JSON array: [{ name, quantity, unitPrice, offeringId?, customizations? }]").option("--tax <n>","Tax",g).option("--delivery-fee <n>","Delivery fee",g).option("--discount <n>","Discount",g).option("--payment-method <m>","Payment method").option("--delivery-address <json>","Delivery address JSON").option("--notes <s>","Order notes").option("-f, --format <format>","Output format").action(async t=>{try{let i$1=c("items",t.items);if(!Array.isArray(i$1)||i$1.length===0)throw new o("--items must be a non-empty JSON array");let e={customerId:t.customer,providerId:t.provider,fulfillmentType:t.fulfillmentType,items:i$1};t.tax!==void 0&&(e.tax=t.tax),t.deliveryFee!==void 0&&(e.deliveryFee=t.deliveryFee),t.discount!==void 0&&(e.discount=t.discount),t.paymentMethod&&(e.paymentMethod=t.paymentMethod),t.deliveryAddress&&(e.deliveryAddress=c("delivery-address",t.deliveryAddress)),t.notes&&(e.notes=t.notes);let p=await b$1(N,{input:e});k(`Order placed: ${p.kadaikodiPlaceOrder.orderNumber}`),i(t,p.kadaikodiPlaceOrder);}catch(i){h$1(i);}}),r$1.command("set-status").description("Update an order status").argument("<id>","Order ID").requiredOption("--status <s>","PLACED|PENDING|CONFIRMED|PREPARING|READY|OUT_FOR_DELIVERY|DELIVERED|COMPLETED|CANCELLED").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(_,{id:t,status:i$1.status.toUpperCase()});k(`Order status set to ${e.kadaikodiUpdateOrderStatus.status}`),i(i$1,e.kadaikodiUpdateOrderStatus);}catch(e){h$1(e);}});}function X(d){let r$1=d.command("reviews").description("Kadaikodi reviews");r$1.command("list").description("List reviews for a provider").requiredOption("--provider <id>","Provider ID").option("--limit <n>","Page size",s,100).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(K,{providerId:t.provider,pagination:{limit:t.limit,offset:t.offset}});i(t,i$1.kadaikodiListReviews,{headers:["ID","Customer","Rating","Review","Responded"],rows:i$1.kadaikodiListReviews.map(e=>[r(e.id,12),r(e.customerId,12),String(e.rating),r(e.review??"-",30),e.response?"yes":"no"])});}catch(i){h$1(i);}}),r$1.command("create").description("Create a review").requiredOption("--provider <id>","Provider ID").requiredOption("--customer <id>","Customer ID").requiredOption("--rating <n>","Rating (1-5)",s).option("--order <id>","Order ID").option("--review <text>","Review text").option("-f, --format <format>","Output format").action(async t=>{try{let i$1={providerId:t.provider,customerId:t.customer,rating:t.rating};t.order&&(i$1.orderId=t.order),t.review&&(i$1.review=t.review);let e=await b$1(x,{input:i$1});k("Review created"),i(t,e.kadaikodiCreateReview);}catch(i){h$1(i);}}),r$1.command("respond").description("Respond to a review").argument("<id>","Review ID").requiredOption("--response <text>","Response text").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(U,{id:t,response:i$1.response});k("Response saved"),i(i$1,e.kadaikodiRespondToReview);}catch(e){h$1(e);}});}function Z(d){let r$1=d.command("investments").description("Kadaikodi investment opportunities & investments");r$1.command("list-opportunities").description("List investment opportunities").option("--risk-level <r>","LOW|MEDIUM|HIGH").option("--status <s>","DRAFT|ACTIVE|FUNDED|CLOSED").option("--limit <n>","Page size",s,100).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(q,{riskLevel:t.riskLevel?t.riskLevel.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,i$1.kadaikodiListInvestmentOpportunities,{headers:["ID","Title","Risk","Status","Target","Raised","Returns %"],rows:i$1.kadaikodiListInvestmentOpportunities.map(e=>[r(e.id,12),e.title,e.riskLevel,e.status,String(e.targetAmount),String(e.raisedAmount),String(e.expectedReturnsPct)])});}catch(i){h$1(i);}}),r$1.command("get-opportunity").description("Get an investment opportunity by id").argument("<id>","Opportunity ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(M,{id:t});if(!e.kadaikodiInvestmentOpportunity)throw new o(`Investment opportunity ${t} not found`);i(i$1,e.kadaikodiInvestmentOpportunity);}catch(e){h$1(e);}}),r$1.command("create-opportunity").description("Create an investment opportunity").requiredOption("--provider <id>","Provider ID").requiredOption("--title <t>","Title").requiredOption("--target-amount <n>","Target amount",g).requiredOption("--minimum-investment <n>","Minimum investment",g).requiredOption("--expected-returns-pct <n>","Expected returns %",g).requiredOption("--lock-in-months <n>","Lock-in months",s).option("--risk-level <r>","LOW|MEDIUM|HIGH","MEDIUM").option("--description <s>","Description").option("--expires-at <iso>","Expiry (ISO date)").option("--business-metrics <json>","Business metrics JSON").option("--terms <json>","Terms JSON").option("-f, --format <format>","Output format").action(async t=>{try{let i$1={providerId:t.provider,title:t.title,targetAmount:t.targetAmount,minimumInvestment:t.minimumInvestment,expectedReturnsPct:t.expectedReturnsPct,lockInMonths:t.lockInMonths,riskLevel:(t.riskLevel??"MEDIUM").toUpperCase()};t.description&&(i$1.description=t.description),t.expiresAt&&(i$1.expiresAt=t.expiresAt),t.businessMetrics&&(i$1.businessMetrics=c("business-metrics",t.businessMetrics)),t.terms&&(i$1.terms=c("terms",t.terms));let e=await b$1(F,{input:i$1});k(`Opportunity created: ${e.kadaikodiCreateInvestmentOpportunity.title}`),i(t,e.kadaikodiCreateInvestmentOpportunity);}catch(i){h$1(i);}}),r$1.command("list").description("List investments for an investor").requiredOption("--investor <id>","Investor ID").option("--limit <n>","Page size",s,100).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(V,{pagination:{limit:t.limit,offset:t.offset}})).kadaikodiListInvestments.filter(p=>p.investorId===t.investor);i(t,e,{headers:["ID","Opportunity","Amount","Current","Returns","Status"],rows:e.map(p=>[r(p.id,12),r(p.opportunityId,12),String(p.amount),String(p.currentValue),String(p.realizedReturns),p.status])});}catch(i){h$1(i);}}),r$1.command("invest").description("Invest in an opportunity").requiredOption("--investor <id>","Investor ID").requiredOption("--opportunity <id>","Opportunity ID").requiredOption("--amount <n>","Amount",g).option("-f, --format <format>","Output format").action(async t=>{try{let i$1={investorId:t.investor,opportunityId:t.opportunity,amount:t.amount},e=await b$1(W,{input:i$1});k(`Invested ${e.kadaikodiInvest.amount} in ${e.kadaikodiInvest.opportunityId}`),i(t,e.kadaikodiInvest);}catch(i){h$1(i);}});}function tt(d$1){let r=d$1.command("analytics").description("Kadaikodi analytics & dashboard");r.command("admin").description("Admin analytics (category distribution, growth, revenue, top providers)").option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(G);i(t,i$1.kadaikodiAdminAnalytics);}catch(i){h$1(i);}}),r.command("dashboard").description("Dashboard stats (orders, revenue, providers, customers, rating)").option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(H);i(t,i$1.kadaikodiDashboardStats);}catch(i){h$1(i);}}),d$1.command("health").description("Kadaikodi service health check (public)").option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await d(J);k(i$1.kadaikodiHealth),i(t,{health:i$1.kadaikodiHealth});}catch(i){h$1(i);}});}var it={id:"kadaikodi",version:"1.0.0",displayName:"Kadaikodi",dependsOn:["auth","workspaces"],register(d,r){a(r);let t=d.command("kadaikodi").description("Kadaikodi local-services marketplace");j(t),z(t),Y(t),B(t),Q(t),X(t),Z(t),tt(t);}},qt=it;export{qt as default};