@rippling/rippling-sdk 0.2.0-alpha.60 → 0.2.0-alpha.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/client.d.mts +6 -0
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts +6 -0
  4. package/client.d.ts.map +1 -1
  5. package/client.js +6 -0
  6. package/client.js.map +1 -1
  7. package/client.mjs +6 -0
  8. package/client.mjs.map +1 -1
  9. package/examples/manifest/dental-practice-management/dental-practice-management.ts +5 -6
  10. package/examples/manifest/field-service-dispatch/field-service-dispatch.ts +530 -0
  11. package/examples/manifest/grant-program-management/grant-program-management.ts +594 -0
  12. package/examples/manifest/gym-membership-management/gym-membership-management.ts +5 -6
  13. package/examples/manifest/procurement-approval-hub/procurement-approval-hub.ts +554 -0
  14. package/examples/manifest/simple-todo-app/simple-todo-app.ts +1 -3
  15. package/lib/manifest/index.d.mts +1 -1
  16. package/lib/manifest/index.d.mts.map +1 -1
  17. package/lib/manifest/index.d.ts +1 -1
  18. package/lib/manifest/index.d.ts.map +1 -1
  19. package/lib/manifest/index.js.map +1 -1
  20. package/lib/manifest/index.mjs.map +1 -1
  21. package/lib/manifest/manifest-function.d.mts +7 -4
  22. package/lib/manifest/manifest-function.d.mts.map +1 -1
  23. package/lib/manifest/manifest-function.d.ts +7 -4
  24. package/lib/manifest/manifest-function.d.ts.map +1 -1
  25. package/lib/manifest/manifest-function.js +11 -7
  26. package/lib/manifest/manifest-function.js.map +1 -1
  27. package/lib/manifest/manifest-function.mjs +10 -7
  28. package/lib/manifest/manifest-function.mjs.map +1 -1
  29. package/package.json +1 -1
  30. package/resources/device-orders.d.mts +147 -0
  31. package/resources/device-orders.d.mts.map +1 -0
  32. package/resources/device-orders.d.ts +147 -0
  33. package/resources/device-orders.d.ts.map +1 -0
  34. package/resources/device-orders.js +34 -0
  35. package/resources/device-orders.js.map +1 -0
  36. package/resources/device-orders.mjs +30 -0
  37. package/resources/device-orders.mjs.map +1 -0
  38. package/resources/index.d.mts +1 -0
  39. package/resources/index.d.mts.map +1 -1
  40. package/resources/index.d.ts +1 -0
  41. package/resources/index.d.ts.map +1 -1
  42. package/resources/index.js +4 -2
  43. package/resources/index.js.map +1 -1
  44. package/resources/index.mjs +1 -0
  45. package/resources/index.mjs.map +1 -1
  46. package/resources/job-assignments.d.mts +12 -12
  47. package/resources/job-assignments.d.mts.map +1 -1
  48. package/resources/job-assignments.d.ts +12 -12
  49. package/resources/job-assignments.d.ts.map +1 -1
  50. package/src/client.ts +22 -0
  51. package/src/lib/manifest/index.ts +1 -0
  52. package/src/lib/manifest/manifest-function.ts +18 -8
  53. package/src/resources/device-orders.ts +200 -0
  54. package/src/resources/index.ts +8 -0
  55. package/src/resources/job-assignments.ts +12 -12
  56. package/src/version.ts +1 -1
  57. package/version.d.mts +1 -1
  58. package/version.d.ts +1 -1
  59. package/version.js +1 -1
  60. package/version.mjs +1 -1
@@ -0,0 +1,554 @@
1
+ /*
2
+ * Procurement Approval Hub - vendors, contracts, purchase requests, approvals, and invoices.
3
+ *
4
+ * pa_vendor__c <- vendor profile and risk tier
5
+ * pa_contract__c <- vendor agreement and spend ceiling
6
+ * pa_purchase_request__c <- request tied to a vendor and optional contract
7
+ * pa_approval_step__c <- approval routing line for a request
8
+ * pa_invoice__c <- invoice received against a contract
9
+ *
10
+ * Run:
11
+ * yarn tsn examples/manifest/procurement-approval-hub/procurement-approval-hub.ts \
12
+ * > examples/manifest/procurement-approval-hub/manifest.json
13
+ */
14
+
15
+ import {
16
+ Category,
17
+ CustomObject,
18
+ CustomObjectFieldSection,
19
+ CustomObjectPageLayout,
20
+ DateField,
21
+ EmailField,
22
+ FormulaField,
23
+ ListViewDef,
24
+ LongTextField,
25
+ LookupField,
26
+ ManifestBuilder,
27
+ ManifestFunction,
28
+ NumberField,
29
+ ParentChildField,
30
+ Rule,
31
+ SelectField,
32
+ SummaryField,
33
+ TextField,
34
+ Validation,
35
+ Workflow,
36
+ } from '@rippling/rippling-sdk/lib/manifest';
37
+
38
+ const manifest = new ManifestBuilder({
39
+ key: 'procurement_approval_hub',
40
+ name: 'Procurement Approval Hub',
41
+ description: 'Vendor contracts, purchase requests, approval routing, and invoice tracking',
42
+ });
43
+
44
+ const category = new Category(manifest, {
45
+ apiName: 'procurement__c',
46
+ name: 'Procurement',
47
+ description: 'Procurement workflow and vendor governance records',
48
+ });
49
+
50
+ const vendorObj = new CustomObject(manifest, {
51
+ apiName: 'pa_vendor__c',
52
+ name: 'Vendor',
53
+ pluralLabel: 'Vendors',
54
+ category,
55
+ description: 'Vendor profile, risk tier, and compliance owner',
56
+ });
57
+
58
+ const vendorSection = new CustomObjectFieldSection(vendorObj, {
59
+ name: 'Vendor',
60
+ sectionId: 'sec_pa_vendor',
61
+ });
62
+
63
+ const vendorLegalNameField = new TextField(vendorObj, {
64
+ apiName: 'legal_name__c',
65
+ displayName: 'Legal name',
66
+ description: 'Registered legal vendor name',
67
+ required: true,
68
+ maxLength: 200,
69
+ section: vendorSection,
70
+ });
71
+
72
+ const vendorCategoryField = new SelectField(vendorObj, {
73
+ apiName: 'vendor_category__c',
74
+ displayName: 'Vendor category',
75
+ description: 'Primary spend category',
76
+ options: ['Software', 'Facilities', 'Professional services', 'Marketing', 'Hardware', 'Other'],
77
+ required: true,
78
+ section: vendorSection,
79
+ });
80
+
81
+ const vendorRiskField = new SelectField(vendorObj, {
82
+ apiName: 'risk_tier__c',
83
+ displayName: 'Risk tier',
84
+ description: 'Risk tier from diligence review',
85
+ options: ['Low', 'Medium', 'High', 'Critical'],
86
+ required: true,
87
+ section: vendorSection,
88
+ });
89
+
90
+ const vendorContactEmailField = new EmailField(vendorObj, {
91
+ apiName: 'contact_email__c',
92
+ displayName: 'Contact email',
93
+ description: 'Primary vendor contact email',
94
+ section: vendorSection,
95
+ });
96
+
97
+ const contractObj = new CustomObject(manifest, {
98
+ apiName: 'pa_contract__c',
99
+ name: 'Contract',
100
+ pluralLabel: 'Contracts',
101
+ category,
102
+ description: 'Vendor contract with dates, status, and spend ceiling',
103
+ });
104
+
105
+ const contractSection = new CustomObjectFieldSection(contractObj, {
106
+ name: 'Contract',
107
+ sectionId: 'sec_pa_contract',
108
+ });
109
+
110
+ const contractVendorRef = new ParentChildField(contractObj, {
111
+ apiName: 'vendor_ref__c',
112
+ displayName: 'Vendor',
113
+ target: vendorObj,
114
+ relatedDataLabel: 'Contracts',
115
+ parentChildType: 'PRIMARY',
116
+ enableParentOwnerInheritance: false,
117
+ description: 'Vendor this contract belongs to',
118
+ section: contractSection,
119
+ });
120
+
121
+ const contractStatusField = new SelectField(contractObj, {
122
+ apiName: 'status__c',
123
+ displayName: 'Status',
124
+ description: 'Contract lifecycle status',
125
+ options: ['Draft', 'In review', 'Active', 'Expired', 'Terminated'],
126
+ required: true,
127
+ section: contractSection,
128
+ });
129
+
130
+ const contractStartDateField = new DateField(contractObj, {
131
+ apiName: 'start_date__c',
132
+ displayName: 'Start date',
133
+ description: 'Contract effective date',
134
+ section: contractSection,
135
+ });
136
+
137
+ const contractEndDateField = new DateField(contractObj, {
138
+ apiName: 'end_date__c',
139
+ displayName: 'End date',
140
+ description: 'Contract expiration date',
141
+ section: contractSection,
142
+ });
143
+
144
+ const contractCeilingCentsField = new NumberField(contractObj, {
145
+ apiName: 'spend_ceiling_cents__c',
146
+ displayName: 'Spend ceiling (cents)',
147
+ description: 'Approved maximum spend in cents',
148
+ decimalPlaces: 0,
149
+ section: contractSection,
150
+ });
151
+
152
+ const contractTermsField = new LongTextField(contractObj, {
153
+ apiName: 'key_terms__c',
154
+ displayName: 'Key terms',
155
+ description: 'Renewal, data processing, and termination notes',
156
+ maxLength: 6000,
157
+ section: contractSection,
158
+ });
159
+
160
+ const requestObj = new CustomObject(manifest, {
161
+ apiName: 'pa_purchase_request__c',
162
+ name: 'Purchase request',
163
+ pluralLabel: 'Purchase requests',
164
+ category,
165
+ description: 'Purchase request with business justification and approval state',
166
+ });
167
+
168
+ const requestSection = new CustomObjectFieldSection(requestObj, {
169
+ name: 'Purchase request',
170
+ sectionId: 'sec_pa_request',
171
+ });
172
+
173
+ const requestVendorRef = new LookupField(requestObj, {
174
+ apiName: 'vendor_ref__c',
175
+ displayName: 'Vendor',
176
+ target: vendorObj,
177
+ relatedDataLabel: 'Purchase requests',
178
+ description: 'Preferred or selected vendor',
179
+ required: true,
180
+ section: requestSection,
181
+ });
182
+
183
+ const requestContractRef = new LookupField(requestObj, {
184
+ apiName: 'contract_ref__c',
185
+ displayName: 'Contract',
186
+ target: contractObj,
187
+ relatedDataLabel: 'Purchase requests',
188
+ description: 'Contract used for this request, if any',
189
+ section: requestSection,
190
+ });
191
+
192
+ const requestAmountCentsField = new NumberField(requestObj, {
193
+ apiName: 'amount_cents__c',
194
+ displayName: 'Amount (cents)',
195
+ description: 'Requested spend amount in cents',
196
+ decimalPlaces: 0,
197
+ required: true,
198
+ section: requestSection,
199
+ });
200
+
201
+ const requestStatusField = new SelectField(requestObj, {
202
+ apiName: 'status__c',
203
+ displayName: 'Status',
204
+ description: 'Approval status',
205
+ options: ['Draft', 'Submitted', 'In approval', 'Approved', 'Rejected', 'Ordered'],
206
+ required: true,
207
+ section: requestSection,
208
+ });
209
+
210
+ const requestNeedByField = new DateField(requestObj, {
211
+ apiName: 'need_by__c',
212
+ displayName: 'Need by',
213
+ description: 'Requested delivery or purchase date',
214
+ section: requestSection,
215
+ });
216
+
217
+ const requestJustificationField = new LongTextField(requestObj, {
218
+ apiName: 'business_justification__c',
219
+ displayName: 'Business justification',
220
+ description: 'Why the purchase is needed',
221
+ maxLength: 6000,
222
+ section: requestSection,
223
+ });
224
+
225
+ const approvalObj = new CustomObject(manifest, {
226
+ apiName: 'pa_approval_step__c',
227
+ name: 'Approval step',
228
+ pluralLabel: 'Approval steps',
229
+ category,
230
+ description: 'Approval routing line tied to a purchase request',
231
+ });
232
+
233
+ const approvalSection = new CustomObjectFieldSection(approvalObj, {
234
+ name: 'Approval step',
235
+ sectionId: 'sec_pa_approval',
236
+ });
237
+
238
+ const approvalRequestRef = new ParentChildField(approvalObj, {
239
+ apiName: 'purchase_request_ref__c',
240
+ displayName: 'Purchase request',
241
+ target: requestObj,
242
+ relatedDataLabel: 'Approval steps',
243
+ parentChildType: 'PRIMARY',
244
+ enableParentOwnerInheritance: true,
245
+ description: 'Purchase request this approval belongs to',
246
+ section: approvalSection,
247
+ });
248
+
249
+ const approvalSequenceField = new NumberField(approvalObj, {
250
+ apiName: 'sequence__c',
251
+ displayName: 'Sequence',
252
+ description: 'Approval sequence number',
253
+ decimalPlaces: 0,
254
+ required: true,
255
+ section: approvalSection,
256
+ });
257
+
258
+ const approvalRoleField = new SelectField(approvalObj, {
259
+ apiName: 'approval_role__c',
260
+ displayName: 'Approval role',
261
+ description: 'Approval lane',
262
+ options: ['Budget owner', 'Finance', 'Security', 'Legal', 'Procurement'],
263
+ required: true,
264
+ section: approvalSection,
265
+ });
266
+
267
+ const approvalStatusField = new SelectField(approvalObj, {
268
+ apiName: 'status__c',
269
+ displayName: 'Status',
270
+ description: 'Approval step status',
271
+ options: ['Pending', 'Approved', 'Rejected', 'Skipped'],
272
+ required: true,
273
+ section: approvalSection,
274
+ });
275
+
276
+ const invoiceObj = new CustomObject(manifest, {
277
+ apiName: 'pa_invoice__c',
278
+ name: 'Invoice',
279
+ pluralLabel: 'Invoices',
280
+ category,
281
+ description: 'Invoice received against a vendor contract',
282
+ });
283
+
284
+ const invoiceSection = new CustomObjectFieldSection(invoiceObj, {
285
+ name: 'Invoice',
286
+ sectionId: 'sec_pa_invoice',
287
+ });
288
+
289
+ const invoiceContractRef = new ParentChildField(invoiceObj, {
290
+ apiName: 'contract_ref__c',
291
+ displayName: 'Contract',
292
+ target: contractObj,
293
+ relatedDataLabel: 'Invoices',
294
+ parentChildType: 'PRIMARY',
295
+ enableParentOwnerInheritance: false,
296
+ description: 'Contract this invoice is billed against',
297
+ section: invoiceSection,
298
+ });
299
+
300
+ const invoiceNumberField = new TextField(invoiceObj, {
301
+ apiName: 'invoice_number__c',
302
+ displayName: 'Invoice number',
303
+ description: 'Vendor invoice number',
304
+ maxLength: 120,
305
+ required: true,
306
+ section: invoiceSection,
307
+ });
308
+
309
+ const invoiceAmountCentsField = new NumberField(invoiceObj, {
310
+ apiName: 'amount_cents__c',
311
+ displayName: 'Amount (cents)',
312
+ description: 'Invoice amount in cents',
313
+ decimalPlaces: 0,
314
+ required: true,
315
+ section: invoiceSection,
316
+ });
317
+
318
+ const invoiceStatusField = new SelectField(invoiceObj, {
319
+ apiName: 'status__c',
320
+ displayName: 'Status',
321
+ description: 'Invoice processing status',
322
+ options: ['Received', 'Matched', 'Approved', 'Paid', 'Exception'],
323
+ required: true,
324
+ section: invoiceSection,
325
+ });
326
+
327
+ const contractCountOnVendor = new SummaryField(vendorObj, {
328
+ apiName: 'contract_count__c',
329
+ displayName: 'Contracts',
330
+ aggregates: contractStatusField,
331
+ using: 'COUNT',
332
+ lookup: contractVendorRef,
333
+ description: 'Contracts for this vendor',
334
+ section: vendorSection,
335
+ });
336
+
337
+ const approvalCountOnRequest = new SummaryField(requestObj, {
338
+ apiName: 'approval_step_count__c',
339
+ displayName: 'Approval steps',
340
+ aggregates: approvalRoleField,
341
+ using: 'COUNT',
342
+ lookup: approvalRequestRef,
343
+ description: 'Approval steps attached to this request',
344
+ section: requestSection,
345
+ });
346
+
347
+ const invoicedAmountOnContract = new SummaryField(contractObj, {
348
+ apiName: 'invoiced_amount_cents__c',
349
+ displayName: 'Invoiced amount (cents)',
350
+ aggregates: invoiceAmountCentsField,
351
+ using: 'SUM',
352
+ lookup: invoiceContractRef,
353
+ description: 'Total invoice amount billed against this contract',
354
+ section: contractSection,
355
+ });
356
+
357
+ const requestLabelField = new FormulaField(requestObj, {
358
+ apiName: 'approval_label__c',
359
+ displayName: 'Approval label',
360
+ description: 'Status and amount for approval queues',
361
+ fieldType: 'TEXT',
362
+ maxLength: 240,
363
+ formula: "CONCATENATE(status__c, ' - ', amount_cents__c)",
364
+ section: requestSection,
365
+ });
366
+
367
+ new Validation(contractObj, {
368
+ ruleId: 'pa_contract_end_after_start',
369
+ displayName: 'Contract end must be after start',
370
+ rqlFormula: '(end_date__c <= start_date__c)',
371
+ errorMessage: 'Contract end date must be after start date.',
372
+ ruleDescription: 'Prevents inverted contract terms',
373
+ state: 'ACTIVE',
374
+ level: 'FIELD',
375
+ fieldRef: contractEndDateField,
376
+ });
377
+
378
+ new Validation(requestObj, {
379
+ ruleId: 'pa_request_amount_positive',
380
+ displayName: 'Request amount must be positive',
381
+ rqlFormula: '(amount_cents__c <= 0)',
382
+ errorMessage: 'Amount must be greater than zero.',
383
+ ruleDescription: 'Blocks zero-value purchase requests',
384
+ state: 'ACTIVE',
385
+ level: 'FIELD',
386
+ fieldRef: requestAmountCentsField,
387
+ });
388
+
389
+ new Rule(requestObj, {
390
+ flowId: 'pa_default_request_status',
391
+ flowName: 'Default purchase request status',
392
+ triggerType: 'CREATE',
393
+ description: 'New purchase requests start as Draft',
394
+ actions: [{ targetField: requestStatusField, fixedValue: ['Draft'] }],
395
+ });
396
+
397
+ new Rule(approvalObj, {
398
+ flowId: 'pa_default_approval_status',
399
+ flowName: 'Default approval step status',
400
+ triggerType: 'CREATE',
401
+ description: 'New approval steps start Pending',
402
+ actions: [{ targetField: approvalStatusField, fixedValue: ['Pending'] }],
403
+ });
404
+
405
+ new ListViewDef(vendorObj, {
406
+ viewId: 'view_pa_vendors',
407
+ name: 'Vendors',
408
+ description: 'Vendor directory with risk and contract count',
409
+ fields: [
410
+ 'name',
411
+ vendorLegalNameField,
412
+ vendorCategoryField,
413
+ vendorRiskField,
414
+ vendorContactEmailField,
415
+ contractCountOnVendor,
416
+ ],
417
+ orderBy: vendorLegalNameField,
418
+ sortOrder: 'ASC',
419
+ isPublic: true,
420
+ objectScope: 'all',
421
+ });
422
+
423
+ new ListViewDef(contractObj, {
424
+ viewId: 'view_pa_contracts',
425
+ name: 'Contracts',
426
+ description: 'Contract inventory with dates and invoiced amount',
427
+ fields: [
428
+ 'name',
429
+ contractVendorRef,
430
+ contractStatusField,
431
+ contractStartDateField,
432
+ contractEndDateField,
433
+ contractCeilingCentsField,
434
+ invoicedAmountOnContract,
435
+ ],
436
+ orderBy: contractEndDateField,
437
+ sortOrder: 'ASC',
438
+ isPublic: true,
439
+ objectScope: 'all',
440
+ });
441
+
442
+ new ListViewDef(requestObj, {
443
+ viewId: 'view_pa_purchase_requests',
444
+ name: 'Purchase requests',
445
+ description: 'Approval queue for purchase requests',
446
+ fields: [
447
+ 'name',
448
+ requestVendorRef,
449
+ requestContractRef,
450
+ requestAmountCentsField,
451
+ requestStatusField,
452
+ requestNeedByField,
453
+ approvalCountOnRequest,
454
+ requestLabelField,
455
+ ],
456
+ orderBy: requestNeedByField,
457
+ sortOrder: 'ASC',
458
+ isPublic: true,
459
+ objectScope: 'all',
460
+ });
461
+
462
+ new ListViewDef(approvalObj, {
463
+ viewId: 'view_pa_approval_steps',
464
+ name: 'Approval steps',
465
+ description: 'Approval routing lines by request',
466
+ fields: ['name', approvalRequestRef, approvalSequenceField, approvalRoleField, approvalStatusField],
467
+ orderBy: approvalSequenceField,
468
+ sortOrder: 'ASC',
469
+ isPublic: true,
470
+ objectScope: 'all',
471
+ });
472
+
473
+ new ListViewDef(invoiceObj, {
474
+ viewId: 'view_pa_invoices',
475
+ name: 'Invoices',
476
+ description: 'Invoices received against contracts',
477
+ fields: ['name', invoiceContractRef, invoiceNumberField, invoiceAmountCentsField, invoiceStatusField],
478
+ orderBy: invoiceContractRef,
479
+ sortOrder: 'ASC',
480
+ isPublic: true,
481
+ objectScope: 'all',
482
+ });
483
+
484
+ CustomObjectPageLayout.basic(vendorObj, {
485
+ section: vendorSection,
486
+ fields: [
487
+ 'name',
488
+ vendorLegalNameField,
489
+ vendorCategoryField,
490
+ vendorRiskField,
491
+ vendorContactEmailField,
492
+ contractCountOnVendor,
493
+ ],
494
+ });
495
+
496
+ CustomObjectPageLayout.basic(contractObj, {
497
+ section: contractSection,
498
+ fields: [
499
+ 'name',
500
+ contractVendorRef,
501
+ contractStatusField,
502
+ contractStartDateField,
503
+ contractEndDateField,
504
+ contractCeilingCentsField,
505
+ invoicedAmountOnContract,
506
+ contractTermsField,
507
+ ],
508
+ });
509
+
510
+ CustomObjectPageLayout.basic(requestObj, {
511
+ section: requestSection,
512
+ fields: [
513
+ 'name',
514
+ requestVendorRef,
515
+ requestContractRef,
516
+ requestAmountCentsField,
517
+ requestStatusField,
518
+ requestNeedByField,
519
+ approvalCountOnRequest,
520
+ requestLabelField,
521
+ requestJustificationField,
522
+ ],
523
+ });
524
+
525
+ CustomObjectPageLayout.basic(approvalObj, {
526
+ section: approvalSection,
527
+ fields: ['name', approvalRequestRef, approvalSequenceField, approvalRoleField, approvalStatusField],
528
+ });
529
+
530
+ CustomObjectPageLayout.basic(invoiceObj, {
531
+ section: invoiceSection,
532
+ fields: ['name', invoiceContractRef, invoiceNumberField, invoiceAmountCentsField, invoiceStatusField],
533
+ });
534
+
535
+ const routeApprovalFunction = new ManifestFunction(manifest, {
536
+ apiName: 'pa_route_purchase_request_fn',
537
+ name: 'Route purchase request approvals',
538
+ description: 'Function invoked by workflow when a purchase request is submitted',
539
+ });
540
+
541
+ new Workflow(manifest, {
542
+ definitionId: 'pa_purchase_request_submitted_workflow',
543
+ title: 'Purchase request submitted',
544
+ description: 'Routes purchase requests into approval steps when request records are created',
545
+ function: routeApprovalFunction,
546
+ trigger: {
547
+ automation_event_type: 'AUTOMATION_EVENT_TYPE_RECORD_CHANGE',
548
+ og_module: 'custom_objects',
549
+ base_model: requestObj.getApiName(),
550
+ record_change_operation_type: 'RECORD_CHANGE_OPERATION_TYPE_CREATE',
551
+ },
552
+ });
553
+
554
+ console.log(manifest.preview());
@@ -12,8 +12,6 @@
12
12
  * > examples/manifest/simple-todo-app/manifest.json
13
13
  */
14
14
 
15
- import * as fs from 'node:fs';
16
- import * as path from 'node:path';
17
15
  import {
18
16
  App,
19
17
  Category,
@@ -133,7 +131,7 @@ const todoListFn = new ManifestFunction(manifest, {
133
131
  apiName: 'simple_todo_list_fn',
134
132
  name: 'renderTodos',
135
133
  description: 'SDUI ObjectListView for todo records',
136
- code: fs.readFileSync(path.join(__dirname, 'functions', 'todo-list.ts'), 'utf-8'),
134
+ codeFile: './examples/manifest/simple-todo-app/functions/todo-list.ts',
137
135
  dependencies: { '@rippling/rippling-sdk': '^0.2.0-alpha.33', '@rippling/pebble-sdui-web': '^0.3.0' },
138
136
  isAsync: false,
139
137
  });
@@ -9,7 +9,7 @@ export { Field, type CustomObjectFieldDeletionIdentifier, type FieldLoadFromExis
9
9
  export { ExistingManifestContext, type ExistingManifest, type ExistingManifestContextOptions, type ExistingManifestSource, } from "./existing-manifest-context.mjs";
10
10
  export { ListViewDef, type ListViewColumnConfig, type ListViewDefLoadFromExistingOptions, type ListViewDefProps, type ListViewDeletionIdentifier, } from "./list-view.mjs";
11
11
  export { ManifestBuilder, type BuiltManifest, type ManifestBuilderProps, type ManifestComponent, type ManifestComponentClass, type ManifestComponentDeletion, type ManifestComponentType, type ManifestScope, } from "./manifest-builder.mjs";
12
- export { ManifestFunction, ManifestFunction as Function, type ManifestFunctionProps, } from "./manifest-function.mjs";
12
+ export { ManifestFunction, ManifestFunction as Function, type FunctionCodeFile, type ManifestFunctionProps, } from "./manifest-function.mjs";
13
13
  export { Rule, type RuleAction, type RuleDeletionIdentifier, type RuleLoadFromExistingOptions, type RuleProps, } from "./rule.mjs";
14
14
  export { SduiPage, type SduiPageProps } from "./sdui-page.mjs";
15
15
  export { Validation, type ValidationDeletionIdentifier, type ValidationLoadFromExistingOptions, type ValidationProps, } from "./validation.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export { Field, type CustomObjectFieldDeletionIdentifier, type FieldLoadFromExis
9
9
  export { ExistingManifestContext, type ExistingManifest, type ExistingManifestContextOptions, type ExistingManifestSource, } from "./existing-manifest-context.js";
10
10
  export { ListViewDef, type ListViewColumnConfig, type ListViewDefLoadFromExistingOptions, type ListViewDefProps, type ListViewDeletionIdentifier, } from "./list-view.js";
11
11
  export { ManifestBuilder, type BuiltManifest, type ManifestBuilderProps, type ManifestComponent, type ManifestComponentClass, type ManifestComponentDeletion, type ManifestComponentType, type ManifestScope, } from "./manifest-builder.js";
12
- export { ManifestFunction, ManifestFunction as Function, type ManifestFunctionProps, } from "./manifest-function.js";
12
+ export { ManifestFunction, ManifestFunction as Function, type FunctionCodeFile, type ManifestFunctionProps, } from "./manifest-function.js";
13
13
  export { Rule, type RuleAction, type RuleDeletionIdentifier, type RuleLoadFromExistingOptions, type RuleProps, } from "./rule.js";
14
14
  export { SduiPage, type SduiPageProps } from "./sdui-page.js";
15
15
  export { Validation, type ValidationDeletionIdentifier, type ValidationLoadFromExistingOptions, type ValidationProps, } from "./validation.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EACL,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,sBAAmB;AAEpB,OAAO,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,iBAAc;AAEvE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,sBAAmB;AAE1D,OAAO,EACL,YAAY,EACZ,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,gCAAgC,EACrC,KAAK,mCAAmC,EACxC,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,UAAU,GAChB,2BAAwB;AAEzB,OAAO,EACL,wBAAwB,EACxB,KAAK,+CAA+C,EACpD,KAAK,6BAA6B,GACnC,yCAAsC;AAEvC,OAAO,EACL,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,qCAAqC,EAC1C,KAAK,6CAA6C,EAClD,KAAK,2BAA2B,EAChC,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACnC,KAAK,0BAA0B,EAC/B,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,uCAAoC;AAErC,OAAO,EACL,KAAK,EACL,KAAK,mCAAmC,EACxC,KAAK,4BAA4B,EACjC,KAAK,UAAU,EACf,KAAK,aAAa,EAIlB,SAAS,EACT,KAAK,cAAc,EACnB,aAAa,EACb,KAAK,kBAAkB,EACvB,UAAU,EACV,KAAK,eAAe,EACpB,QAAQ,EACR,KAAK,aAAa,EAClB,UAAU,EACV,KAAK,eAAe,EACpB,WAAW,EACX,KAAK,gBAAgB,EACrB,aAAa,EACb,KAAK,kBAAkB,EACvB,eAAe,EACf,KAAK,oBAAoB,EACzB,SAAS,EACT,KAAK,cAAc,EACnB,aAAa,EACb,KAAK,kBAAkB,EACvB,SAAS,EACT,KAAK,cAAc,EACnB,WAAW,EACX,KAAK,gBAAgB,EACrB,UAAU,EACV,KAAK,eAAe,EACpB,YAAY,EACZ,KAAK,iBAAiB,EACtB,SAAS,EACT,KAAK,cAAc,EACnB,WAAW,EACX,KAAK,gBAAgB,EACrB,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,YAAY,EACZ,KAAK,iBAAiB,EACtB,YAAY,EACZ,KAAK,iBAAiB,GACvB,mBAAgB;AAEjB,OAAO,EACL,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,GAC5B,uCAAoC;AAErC,OAAO,EACL,WAAW,EACX,KAAK,oBAAoB,EACzB,KAAK,kCAAkC,EACvC,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,GAChC,uBAAoB;AAErB,OAAO,EACL,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GACnB,8BAA2B;AAE5B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,IAAI,QAAQ,EAC5B,KAAK,qBAAqB,GAC3B,+BAA4B;AAE7B,OAAO,EACL,IAAI,EACJ,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,SAAS,GACf,kBAAe;AAEhB,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,uBAAoB;AAE3D,OAAO,EACL,UAAU,EACV,KAAK,4BAA4B,EACjC,KAAK,iCAAiC,EACtC,KAAK,eAAe,GACrB,wBAAqB;AAEtB,OAAO,EACL,QAAQ,EACR,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,mCAAmC,EACxC,KAAK,gCAAgC,EACrC,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,kCAAkC,EACvC,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,mBAAmB,GACzB,sBAAmB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":";AAAA,2EAA2E;;;AAE3E,0CAcoB;AAblB,sGAAA,UAAU,OAAA;AAeZ,gCAAuE;AAA9D,0FAAA,GAAG,OAAA;AAEZ,0CAA0D;AAAjD,oGAAA,QAAQ,OAAA;AAEjB,oDASyB;AARvB,6GAAA,YAAY,OAAA;AAUd,gFAIuC;AAHrC,uIAAA,wBAAwB,OAAA;AAK1B,4EA2DqC;AA1DnC,mIAAA,sBAAsB,OAAA;AA4DxB,oCA+CiB;AA9Cf,8FAAA,KAAK,OAAA;AAML,0EAA0E;AAC1E,qEAAqE;AACrE,kGAAA,SAAS,OAAA;AAET,sGAAA,aAAa,OAAA;AAEb,mGAAA,UAAU,OAAA;AAEV,iGAAA,QAAQ,OAAA;AAER,mGAAA,UAAU,OAAA;AAEV,oGAAA,WAAW,OAAA;AAEX,sGAAA,aAAa,OAAA;AAEb,wGAAA,eAAe,OAAA;AAEf,kGAAA,SAAS,OAAA;AAET,sGAAA,aAAa,OAAA;AAEb,kGAAA,SAAS,OAAA;AAET,oGAAA,WAAW,OAAA;AAEX,mGAAA,UAAU,OAAA;AAEV,qGAAA,YAAY,OAAA;AAEZ,kGAAA,SAAS,OAAA;AAET,oGAAA,WAAW,OAAA;AAEX,yGAAA,gBAAgB,OAAA;AAEhB,qGAAA,YAAY,OAAA;AAEZ,qGAAA,YAAY,OAAA;AAId,4EAKqC;AAJnC,oIAAA,uBAAuB,OAAA;AAMzB,4CAMqB;AALnB,wGAAA,WAAW,OAAA;AAOb,0DAS4B;AAR1B,mHAAA,eAAe,OAAA;AAUjB,4DAI6B;AAH3B,qHAAA,gBAAgB,OAAA;AAChB,6GAAA,gBAAgB,OAAY;AAI9B,kCAMgB;AALd,4FAAA,IAAI,OAAA;AAON,4CAA2D;AAAlD,qGAAA,QAAQ,OAAA;AAEjB,8CAKsB;AAJpB,wGAAA,UAAU,OAAA;AAMZ,0CAwBoB;AAvBlB,oGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":";AAAA,2EAA2E;;;AAE3E,0CAcoB;AAblB,sGAAA,UAAU,OAAA;AAeZ,gCAAuE;AAA9D,0FAAA,GAAG,OAAA;AAEZ,0CAA0D;AAAjD,oGAAA,QAAQ,OAAA;AAEjB,oDASyB;AARvB,6GAAA,YAAY,OAAA;AAUd,gFAIuC;AAHrC,uIAAA,wBAAwB,OAAA;AAK1B,4EA2DqC;AA1DnC,mIAAA,sBAAsB,OAAA;AA4DxB,oCA+CiB;AA9Cf,8FAAA,KAAK,OAAA;AAML,0EAA0E;AAC1E,qEAAqE;AACrE,kGAAA,SAAS,OAAA;AAET,sGAAA,aAAa,OAAA;AAEb,mGAAA,UAAU,OAAA;AAEV,iGAAA,QAAQ,OAAA;AAER,mGAAA,UAAU,OAAA;AAEV,oGAAA,WAAW,OAAA;AAEX,sGAAA,aAAa,OAAA;AAEb,wGAAA,eAAe,OAAA;AAEf,kGAAA,SAAS,OAAA;AAET,sGAAA,aAAa,OAAA;AAEb,kGAAA,SAAS,OAAA;AAET,oGAAA,WAAW,OAAA;AAEX,mGAAA,UAAU,OAAA;AAEV,qGAAA,YAAY,OAAA;AAEZ,kGAAA,SAAS,OAAA;AAET,oGAAA,WAAW,OAAA;AAEX,yGAAA,gBAAgB,OAAA;AAEhB,qGAAA,YAAY,OAAA;AAEZ,qGAAA,YAAY,OAAA;AAId,4EAKqC;AAJnC,oIAAA,uBAAuB,OAAA;AAMzB,4CAMqB;AALnB,wGAAA,WAAW,OAAA;AAOb,0DAS4B;AAR1B,mHAAA,eAAe,OAAA;AAUjB,4DAK6B;AAJ3B,qHAAA,gBAAgB,OAAA;AAChB,6GAAA,gBAAgB,OAAY;AAK9B,kCAMgB;AALd,4FAAA,IAAI,OAAA;AAON,4CAA2D;AAAlD,qGAAA,QAAQ,OAAA;AAEjB,8CAKsB;AAJpB,wGAAA,UAAU,OAAA;AAMZ,0CAwBoB;AAvBlB,oGAAA,QAAQ,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EACL,UAAU,GAaX,uBAAmB;AAEpB,OAAO,EAAE,GAAG,EAA6C,kBAAc;AAEvE,OAAO,EAAE,QAAQ,EAAsB,uBAAmB;AAE1D,OAAO,EACL,YAAY,GAQb,4BAAwB;AAEzB,OAAO,EACL,wBAAwB,GAGzB,0CAAsC;AAEvC,OAAO,EACL,sBAAsB,GA0DvB,wCAAoC;AAErC,OAAO,EACL,KAAK;AAML,0EAA0E;AAC1E,qEAAqE;AACrE,SAAS,EAET,aAAa,EAEb,UAAU,EAEV,QAAQ,EAER,UAAU,EAEV,WAAW,EAEX,aAAa,EAEb,eAAe,EAEf,SAAS,EAET,aAAa,EAEb,SAAS,EAET,WAAW,EAEX,UAAU,EAEV,YAAY,EAEZ,SAAS,EAET,WAAW,EAEX,gBAAgB,EAEhB,YAAY,EAEZ,YAAY,GAEb,oBAAgB;AAEjB,OAAO,EACL,uBAAuB,GAIxB,wCAAoC;AAErC,OAAO,EACL,WAAW,GAKZ,wBAAoB;AAErB,OAAO,EACL,eAAe,GAQhB,+BAA2B;AAE5B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,IAAI,QAAQ,GAE7B,gCAA4B;AAE7B,OAAO,EACL,IAAI,GAKL,mBAAe;AAEhB,OAAO,EAAE,QAAQ,EAAsB,wBAAoB;AAE3D,OAAO,EACL,UAAU,GAIX,yBAAqB;AAEtB,OAAO,EACL,QAAQ,GAuBT,uBAAmB"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EACL,UAAU,GAaX,uBAAmB;AAEpB,OAAO,EAAE,GAAG,EAA6C,kBAAc;AAEvE,OAAO,EAAE,QAAQ,EAAsB,uBAAmB;AAE1D,OAAO,EACL,YAAY,GAQb,4BAAwB;AAEzB,OAAO,EACL,wBAAwB,GAGzB,0CAAsC;AAEvC,OAAO,EACL,sBAAsB,GA0DvB,wCAAoC;AAErC,OAAO,EACL,KAAK;AAML,0EAA0E;AAC1E,qEAAqE;AACrE,SAAS,EAET,aAAa,EAEb,UAAU,EAEV,QAAQ,EAER,UAAU,EAEV,WAAW,EAEX,aAAa,EAEb,eAAe,EAEf,SAAS,EAET,aAAa,EAEb,SAAS,EAET,WAAW,EAEX,UAAU,EAEV,YAAY,EAEZ,SAAS,EAET,WAAW,EAEX,gBAAgB,EAEhB,YAAY,EAEZ,YAAY,GAEb,oBAAgB;AAEjB,OAAO,EACL,uBAAuB,GAIxB,wCAAoC;AAErC,OAAO,EACL,WAAW,GAKZ,wBAAoB;AAErB,OAAO,EACL,eAAe,GAQhB,+BAA2B;AAE5B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,IAAI,QAAQ,GAG7B,gCAA4B;AAE7B,OAAO,EACL,IAAI,GAKL,mBAAe;AAEhB,OAAO,EAAE,QAAQ,EAAsB,wBAAoB;AAE3D,OAAO,EACL,UAAU,GAIX,yBAAqB;AAEtB,OAAO,EACL,QAAQ,GAuBT,uBAAmB"}
@@ -1,5 +1,6 @@
1
1
  import { type ExistingManifestContextOptions } from "./existing-manifest-context.mjs";
2
2
  import type { ManifestComponentDeletion, ManifestScope } from "./manifest-builder.mjs";
3
+ export type FunctionCodeFile = `./${string}.ts` | `/${string}.ts`;
3
4
  /**
4
5
  * Initialization properties for {@link ManifestFunction}.
5
6
  */
@@ -17,11 +18,12 @@ export interface ManifestFunctionProps {
17
18
  */
18
19
  name: string;
19
20
  /**
20
- * TypeScript handler source code. Must export an `onRipplingEvent` function.
21
+ * Path to a TypeScript handler source file. The file must export an
22
+ * `onRipplingEvent` function. Its contents are serialized to `code_draft`.
21
23
  *
22
24
  * Optional. @default `''`
23
25
  */
24
- code?: string;
26
+ codeFile?: FunctionCodeFile;
25
27
  /**
26
28
  * Human-readable description of what this function does.
27
29
  *
@@ -77,7 +79,7 @@ export interface ManifestFunctionProps {
77
79
  * apiName: 'gym_today_schedule_fn',
78
80
  * name: 'Today\'s schedule (SDUI)',
79
81
  * description: 'Searchable grid of class sessions',
80
- * code: handlerSource,
82
+ * codeFile: './functions/gym_today_schedule_fn/code.ts',
81
83
  * dependencies: {
82
84
  * '@rippling/rippling-sdk': '^0.2.0-alpha.33',
83
85
  * },
@@ -92,7 +94,8 @@ export declare class ManifestFunction {
92
94
  static toDeletionIdentifier(apiName: string): ManifestComponentDeletion;
93
95
  private readonly _apiName;
94
96
  private readonly _name;
95
- private readonly _code;
97
+ private readonly _codeFile;
98
+ private _codeDraft;
96
99
  private readonly _description;
97
100
  private readonly _dependencies;
98
101
  private readonly _deploymentOptions;