-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlashing.example.toml
More file actions
66 lines (56 loc) · 2.5 KB
/
Copy pathlashing.example.toml
File metadata and controls
66 lines (56 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# lashing configuration. Everything that decides what an agent may do lives in this file,
# which none of lashing's tools can write.
# Where the ledger (every plan, approval and write) is kept, relative to this file.
state_dir = ".lashing"
# How long a proposed plan stays valid.
plan_ttl_minutes = 30
[carrier]
# Either one base URL with the simulator's layout (/bkg, /cs, /tnt/v3)...
base_url = "http://127.0.0.1:8401"
# ...or one URL per API, for a real carrier:
# booking_url = "https://api.carrier.example/booking"
# schedules_url = "https://api.carrier.example/schedules"
# tracking_url = "https://api.carrier.example/tnt/v3"
# Credentials come from the environment, never from this file.
# auth_env = "LASHING_CARRIER_TOKEN"
# auth_header = "Authorization"
# auth_prefix = "Bearer "
# What to do when the carrier's responses drift from the DCSA standard:
# strict refuses them, warn logs them, off ignores them.
validation = "warn"
[shipper]
# The parties on every booking. The agent never supplies these.
booking_agent = "Nordic Forwarding ApS"
shipper = "Nordic Furniture A/S"
contact_name = "Operations desk"
contact_email = "operations@forwarding.example"
# contact_phone = "+45 70 00 00 00"
service_contract = "SC-2026-0042"
freight_payment = "PRE"
[approvals]
# Accept a yes from the MCP client's approval prompt. Only turn this on for clients that show
# the prompt to a person (an agent-driven client could answer it itself).
client = true
# Accept `lashing approve <plan>` run in a terminal.
operator = true
# Grants let the agent apply some writes without asking anyone. Everything not covered by a
# grant needs a person's approval. Patterns use shell-style wildcards. A grant restricted to
# certain bookings or lanes never covers a plan whose booking or lane lashing cannot determine.
# Unknown keys are errors, so a typo cannot silently widen a grant.
[[grant]]
id = "rebook-to-another-sailing"
actions = ["amend"]
bookings = ["*"]
# A move to another sailing sets routingReference and drops the old vessel and voyage fields.
fields = [
"routingReference", "expectedDepartureDate", "vessel", "carrierExportVoyageNumber",
"universalExportVoyageReference", "carrierServiceCode", "carrierServiceName", "universalServiceReference",
]
note = "Moving a confirmed booking to another sailing is routine."
[[grant]]
id = "small-asia-europe-bookings"
actions = ["create"]
lanes = ["CN*-NL*", "CN*-DE*", "CN*-BE*"]
max_units = 4 # per booking
max_per_day = 10 # bookings this grant may send in any 24 hours
expires = 2026-12-31