AtlatestRepositorybureau

bureau / treepackage.sgl

1;;; Bureau - MCP server for Fastmail email and calendar
2;;;
3;;; Gives LLMs executive-assistant access to Fastmail via JMAP (email)
4;;; and CalDAV (calendar). Installable via `sigil app install`.
5
6(package
7 name: "bureau"
8 version: "0.2.7"
9 sigil: "^0.18"
10 description: "MCP server for Fastmail email and calendar"
11 url: "https://codeberg.org/sigil/bureau"
12 license: "BSD-3-Clause"
13 authors: (list "David Wilson <[email protected]>")
15 entry: '(bureau main)
16 bundle-name: "bureau"
18 configs: (list
19 (config
20 name: 'dev
21 output-dir: "build/dev"
22 debug?: #t
23 optimize: 0
24 bundle?: #t)
25 (config
26 name: 'release
27 output-dir: "build/release"
28 backend: 'native
29 debug?: #f
30 optimize: 2
31 bundle?: #t))
33 provides: (list
34 mcp-server: #{ name: "bureau"
35 args: #["serve"]
36 secret-env: #{ BUREAU_FASTMAIL_USERNAME: #t
37 BUREAU_FASTMAIL_API_TOKEN: #t
38 BUREAU_FASTMAIL_APP_PASSWORD: #t } })
40 dependencies: (list
41 (from-git url: "codeberg:sigil/sigil-json" version: "^0.16")
42 (from-git url: "codeberg:sigil/sigil-log" version: "^0.17")
43 ;; Explicit sigil-lib pin. Two independent reasons, both measured:
44 ;; 1. Without it, sigil-lib is derived transitively and does not track
45 ;; the `sigil:` field, so a relock can silently leave the C runtime
46 ;; behind while `sigil deps install` exits 0.
47 ;; 2. sigil-lib's resolution does NOT respect its declared range: with
48 ;; no explicit pin, a fresh resolve records `ref: "^0.17"` alongside
49 ;; `version: "0.18.2"` in the same lock entry, on any toolchain,
50 ;; while sigil-stdlib in that same resolve correctly stays at 0.17.20.
51 ;; Verify in sigil.lock (the `version:`/`sha:` fields, not `ref:`).
52 (from-git url: "codeberg:sigil/sigil"
53 package: "sigil-lib" version: ">=0.18")
54 ;; sigil-mcp ^0.17, NOT ^0.16. The 0.16 line now contains BOTH a release
55 ;; requiring the 0.18 runtime (v0.16.5) and one requiring 0.17 (v0.16.6, a
56 ;; deliberate compatibility revert), so ^0.16 no longer determines which
57 ;; runtime you need. The 0.17 line is the unambiguous 0.18-runtime line.
58 (from-git url: "codeberg:sigil/sigil-mcp" version: "^0.17")
59 (from-git url: "codeberg:sigil/sigil-jmap" version: "^0.10")
60 (from-git url: "codeberg:sigil/sigil-caldav" version: "^0.10.1")
61 (from-git url: "codeberg:sigil/sigil" package: "sigil-run" version: ">=0.17.0"))
63 tasks: (list
64 (task
65 name: 'build
66 description: "Compile bureau modules"
67 steps: (list
68 (compile-sigil-modules sources: "src/**/*.sgl"
69 output-dir: (config-output-subdir "lib"))))))