@hyperscale0/hsx 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/src/compile.d.ts.map +1 -1
- package/dist/src/compile.js +46 -148
- package/dist/src/compile.js.map +1 -1
- package/dist/src/headers.d.ts +2 -2
- package/dist/src/headers.d.ts.map +1 -1
- package/dist/src/headers.js +1 -2
- package/dist/src/headers.js.map +1 -1
- package/dist/src/lex.d.ts +1 -1
- package/dist/src/lex.d.ts.map +1 -1
- package/dist/src/lex.js +0 -1
- package/dist/src/lex.js.map +1 -1
- package/dist/src/parse.js +0 -17
- package/dist/src/parse.js.map +1 -1
- package/dist/src/std-bundle.d.ts.map +1 -1
- package/dist/src/std-bundle.js +10 -11
- package/dist/src/std-bundle.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/docs/README.md +0 -10
- package/docs/headers.md +15 -16
- package/examples/cost-table.json +8 -144
- package/examples/library.hsx +4 -4
- package/package.json +4 -4
- package/src/compile.ts +57 -214
- package/src/headers.ts +1 -2
- package/src/lex.ts +0 -1
- package/src/parse.ts +0 -14
- package/src/std-bundle.ts +10 -11
- package/src/version.ts +1 -1
- package/std/cards.hsx +10 -11
- package/std/collections.hsx +3 -3
- package/std/escrow.hsx +2 -2
- package/std/financing.hsx +56 -53
- package/std/insurance.hsx +17 -16
- package/std/lending.hsx +8 -7
- package/std/money.hsx +8 -18
- package/std/reporting.hsx +0 -4
- package/std/travel.hsx +5 -6
- package/std/wallet.hsx +3 -3
- package/std/approvals.hsx +0 -17
package/std/reporting.hsx
CHANGED
|
@@ -351,7 +351,6 @@ instrument portfolio(on: ref<financing.installments>[], default_days: integer(1,
|
|
|
351
351
|
request: [ "owner", "finance" ],
|
|
352
352
|
read: [ "owner", "admin", "operations", "finance", "viewer" ],
|
|
353
353
|
release: [ ],
|
|
354
|
-
independentApproval: true,
|
|
355
354
|
retention: { policy: "report_replay", years: retention_years }
|
|
356
355
|
}
|
|
357
356
|
},
|
|
@@ -632,7 +631,6 @@ instrument portfolio(on: ref<financing.installments>[], default_days: integer(1,
|
|
|
632
631
|
request: [ "owner", "finance" ],
|
|
633
632
|
read: [ "owner", "admin", "operations", "finance", "viewer" ],
|
|
634
633
|
release: [ ],
|
|
635
|
-
independentApproval: true,
|
|
636
634
|
retention: { policy: "report_replay", years: retention_years }
|
|
637
635
|
}
|
|
638
636
|
},
|
|
@@ -1002,7 +1000,6 @@ instrument portfolio(on: ref<financing.installments>[], default_days: integer(1,
|
|
|
1002
1000
|
request: [ "owner", "finance" ],
|
|
1003
1001
|
read: [ "owner", "admin", "operations", "finance", "viewer" ],
|
|
1004
1002
|
release: [ ],
|
|
1005
|
-
independentApproval: true,
|
|
1006
1003
|
retention: { policy: "report_replay", years: retention_years }
|
|
1007
1004
|
}
|
|
1008
1005
|
},
|
|
@@ -1278,7 +1275,6 @@ instrument portfolio(on: ref<financing.installments>[], default_days: integer(1,
|
|
|
1278
1275
|
request: [ "owner", "finance" ],
|
|
1279
1276
|
read: [ "owner", "admin", "operations", "finance", "viewer" ],
|
|
1280
1277
|
release: [ ],
|
|
1281
|
-
independentApproval: true,
|
|
1282
1278
|
retention: { policy: "report_replay", years: retention_years }
|
|
1283
1279
|
}
|
|
1284
1280
|
}
|
package/std/travel.hsx
CHANGED
|
@@ -10,7 +10,7 @@ instrument package(price: money, supplier_cost: money, departure: date) {
|
|
|
10
10
|
action close { from: published, to: closed, actor: clock, due: { at: self.departure } }
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
instrument booking(package: ref<travel.package>, buyer: party, supplier: party,
|
|
13
|
+
instrument booking(package: ref<travel.package>, buyer: party, supplier: party, operator: party = programOperator, cover: ref<insurance.cover>, deposit: percent = 30%, balance_before: duration = 14d, confirm_within: duration = 24h, tax: percent = 15%, early_before: duration = 30d, middle_before: duration = 15d, middle_penalty: percent = 10%, late_penalty: percent = 30%) {
|
|
14
14
|
constraints { early_before: greater_than(middle_before) }
|
|
15
15
|
summary: "A deposited booking with three cancellation bands and confirmation."
|
|
16
16
|
fields {
|
|
@@ -44,9 +44,8 @@ instrument booking(package: ref<travel.package>, buyer: party, supplier: party,
|
|
|
44
44
|
moves self.balance from buyer to self.held
|
|
45
45
|
}
|
|
46
46
|
action confirm {
|
|
47
|
-
from: paid, to: completed
|
|
47
|
+
from: paid, to: completed, actor: { party: operator }
|
|
48
48
|
due: { at: self.package.departure }, deadline: { at: self.confirmBy }
|
|
49
|
-
requires approval by approval protectedRequest self differentFromInitiator true
|
|
50
49
|
moves self.supplierCost from self.held to supplier
|
|
51
50
|
moves self.tax from self.held to programTax
|
|
52
51
|
moves self.operatorNet from self.held to programOperator
|
|
@@ -56,11 +55,11 @@ instrument booking(package: ref<travel.package>, buyer: party, supplier: party,
|
|
|
56
55
|
moves self.price from self.held to buyer
|
|
57
56
|
}
|
|
58
57
|
action cancel_early {
|
|
59
|
-
from: [deposit_paid, paid], to: cancelled, deadline: { at: self.earlyAt }
|
|
58
|
+
from: [deposit_paid, paid], to: cancelled, actor: { party: buyer }, deadline: { at: self.earlyAt }
|
|
60
59
|
moves self.held.balance from self.held to buyer
|
|
61
60
|
}
|
|
62
61
|
action cancel_middle {
|
|
63
|
-
from: [deposit_paid, paid], to: cancelled, due: { at: self.earlyAt }, deadline: { at: self.lateAt }
|
|
62
|
+
from: [deposit_paid, paid], to: cancelled, actor: { party: buyer }, due: { at: self.earlyAt }, deadline: { at: self.lateAt }
|
|
64
63
|
calculate: [
|
|
65
64
|
{ target: refund, op: "subtract", base: { field: self.held.balance }, subtract: [{ field: self.deposit }] }
|
|
66
65
|
{ target: retainedMargin, op: "subtract", base: { field: self.deposit }, subtract: [{ field: self.middlePenalty }] }
|
|
@@ -73,7 +72,7 @@ instrument booking(package: ref<travel.package>, buyer: party, supplier: party,
|
|
|
73
72
|
moves self.retainedNet from self.held to programOperator
|
|
74
73
|
}
|
|
75
74
|
action cancel_late {
|
|
76
|
-
from: [deposit_paid, paid], to: cancelled, actor:
|
|
75
|
+
from: [deposit_paid, paid], to: cancelled, actor: { party: buyer }, due: { at: self.lateAt }
|
|
77
76
|
calculate: [
|
|
78
77
|
{ target: retainedMargin, op: "subtract", base: { field: self.held.balance }, subtract: [{ field: self.latePenalty }] }
|
|
79
78
|
{ target: retainedTax, op: "rate", base: { field: self.retainedMargin }, bps: { literal: tax }, rounding: "floor" }
|
package/std/wallet.hsx
CHANGED
|
@@ -30,12 +30,12 @@ instrument spend(wallet: ref<wallet.balance>, payee: party) {
|
|
|
30
30
|
requires self.amount <= self.wallet.spendLimit
|
|
31
31
|
}
|
|
32
32
|
action reserve {
|
|
33
|
-
from: pending, to: reserved
|
|
33
|
+
from: pending, to: reserved, actor: { party: payee }
|
|
34
34
|
requires self.wallet in [active]
|
|
35
35
|
deadline: { at: self.expiresAt }
|
|
36
36
|
moves reserve self.amount from self.wallet.held to payee capture "reservation"
|
|
37
37
|
}
|
|
38
|
-
action pay { from: reserved, to: paid, moves post self.reservation }
|
|
39
|
-
action cancel { from: reserved, to: cancelled, moves void self.reservation }
|
|
38
|
+
action pay { from: reserved, to: paid, actor: { party: payee }, moves post self.reservation }
|
|
39
|
+
action cancel { from: reserved, to: cancelled, actor: { party: payee }, moves void self.reservation }
|
|
40
40
|
action expire { from: reserved, to: expired, actor: clock, due: { at: self.expiresAt }, moves void self.reservation }
|
|
41
41
|
}
|
package/std/approvals.hsx
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
header approvals
|
|
2
|
-
|
|
3
|
-
instrument decision(for: ref, approved_by: approval, action: text = "approve", protected_request: text = "self.target") {
|
|
4
|
-
summary: "One authenticated decision bound to an immutable target and expiry."
|
|
5
|
-
fields { target: ref<for>, expiresAt: date }
|
|
6
|
-
lifecycle { states: [pending, approved, declined, expired], initial: pending }
|
|
7
|
-
action create {}
|
|
8
|
-
action approve {
|
|
9
|
-
from: pending, to: approved, actor: { party: approved_by }, deadline: { at: self.expiresAt }
|
|
10
|
-
approval: { protectedRequest: protected_request, target: self.target, action: action, party: approved_by, expires: self.expiresAt, input: "material", decision: "approved" }
|
|
11
|
-
}
|
|
12
|
-
action decline {
|
|
13
|
-
from: pending, to: declined, actor: { party: approved_by }, deadline: { at: self.expiresAt }
|
|
14
|
-
approval: { protectedRequest: protected_request, target: self.target, action: action, party: approved_by, expires: self.expiresAt, input: "material", decision: "declined" }
|
|
15
|
-
}
|
|
16
|
-
action expire { from: pending, to: expired, actor: clock, due: { at: self.expiresAt } }
|
|
17
|
-
}
|