@tpsdev-ai/flair 0.45.0 → 0.47.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.
Files changed (39) hide show
  1. package/config.yaml +35 -2
  2. package/dist/build-info.json +6 -0
  3. package/dist/cli.js +847 -168
  4. package/dist/doctor-client.js +358 -11
  5. package/dist/federation/scheduler.js +114 -9
  6. package/dist/hook-install.js +150 -1
  7. package/dist/install/global-bin-path.js +234 -0
  8. package/dist/lib/entity-vocab-cli.js +113 -0
  9. package/dist/lib/mcp-enable.js +71 -21
  10. package/dist/lib/scheduler-platform.js +363 -1
  11. package/dist/postinstall.cjs +88 -0
  12. package/dist/rem/runner.js +177 -10
  13. package/dist/rem/scheduler.js +126 -20
  14. package/dist/resources/AttentionQuery.js +5 -3
  15. package/dist/resources/AutoPromoteCandidates.js +18 -12
  16. package/dist/resources/Federation.js +49 -5
  17. package/dist/resources/Memory.js +36 -2
  18. package/dist/resources/MemoryBootstrap.js +118 -7
  19. package/dist/resources/MemoryMaintenance.js +8 -2
  20. package/dist/resources/MemoryReflect.js +70 -5
  21. package/dist/resources/auto-promote-lib.js +46 -0
  22. package/dist/resources/build-info.js +50 -0
  23. package/dist/resources/entity-vocab.js +25 -1
  24. package/dist/resources/health.js +25 -5
  25. package/dist/resources/mcp-oauth-flag.js +20 -0
  26. package/dist/resources/mcp-oauth.js +6 -1
  27. package/dist/resources/mcp-tools.js +53 -3
  28. package/dist/resources/memory-reflect-lib.js +201 -4
  29. package/dist/src/lib/scheduler-platform.js +363 -1
  30. package/dist/src/rem/scheduler.js +126 -20
  31. package/docs/deepseek-harness.md +110 -0
  32. package/docs/entity-vocabulary.md +15 -0
  33. package/docs/integrations.md +1 -0
  34. package/docs/mcp-clients.md +4 -0
  35. package/docs/notes/mcp-oauth-model2.md +52 -3
  36. package/package.json +5 -4
  37. package/schemas/memory.graphql +12 -0
  38. package/templates/bin/flair-federation-sync.sh.tmpl +8 -1
  39. package/templates/bin/flair-rem-nightly.sh.tmpl +8 -1
package/config.yaml CHANGED
@@ -16,9 +16,42 @@ authentication:
16
16
  clientId: ${OAUTH_GITHUB_CLIENT_ID}
17
17
  clientSecret: ${OAUTH_GITHUB_CLIENT_SECRET}
18
18
  mcp:
19
- enabled: false
19
+ # WHOLE-TOKEN env reference — the same FLAIR_MCP_OAUTH flag flair's
20
+ # in-process /mcp route gates on (resources/mcp-oauth-flag.ts). The on/off
21
+ # choice lives in the instance ENVIRONMENT, not in this packed file, so a
22
+ # re-packed deploy can no longer revert an operator's enablement
23
+ # (flair#1152). Requires @harperfast/oauth >= 2.5.0 (resolved-version
24
+ # assertion + behavioral gate: test/integration/mcp-oauth-boot-safety.test.ts).
25
+ #
26
+ # ASYMMETRY (load-bearing, measured on oauth 2.5.0): the two readers of
27
+ # this flag accept DIFFERENT vocabularies. The component's
28
+ # coerceConfigBoolean accepts ONLY "true"/"false" and DELETES any other
29
+ # string (unresolved placeholder, "1", "yes", garbage) so its disabled
30
+ # default applies. flair's mcpOAuthEnabled() accepts 1/true/yes/on.
31
+ #
32
+ # Failure modes (oauth 2.5.0):
33
+ # unset -> placeholder deleted -> both sides OFF, clean boot
34
+ # true -> BOTH sides ON — the one working enable value
35
+ # (`flair mcp enable` stages exactly this)
36
+ # false -> both sides OFF
37
+ # 1 / yes / on -> flair /mcp handler ON, component AS OFF ->
38
+ # fail-closed broken-on: every /mcp request 401s,
39
+ # no AS is advertised. Use "true" instead.
40
+ # garbage (maybe) -> deleted -> component OFF; flair strict -> OFF.
41
+ # Inert: no /mcp handler, no data path (flair's own
42
+ # discovery documents still serve, by design).
43
+ # On oauth <2.5.0 there is NO normalization: an unresolved placeholder is
44
+ # a truthy string (fail-open) — the version assertion exists for that.
45
+ # If the component's `enabled` vocabulary changes, or it ever drives
46
+ # flair's handler registration directly, re-derive this table first.
47
+ enabled: ${FLAIR_MCP_OAUTH}
20
48
  issuer: ${FLAIR_MCP_ISSUER}
21
- resource: ${FLAIR_MCP_ISSUER}/mcp
49
+ # No `resource:` key ON PURPOSE (flair#1180): when absent, the component
50
+ # derives `<issuer>/mcp` at request time (resolveResource) — identical to
51
+ # flair's in-process derivation. A composite like ${FLAIR_MCP_ISSUER}/mcp
52
+ # NEVER interpolates (env expansion is whole-token-only) and fails every
53
+ # connect with invalid_target. Escape hatch: an operator needing a
54
+ # non-standard resource sets an explicit LITERAL absolute URL here.
22
55
  accessTokenTtl: 900
23
56
  dynamicClientRegistration:
24
57
  enabled: false
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": "0.47.0",
3
+ "commit": "8e83a73aac3803eceb942532fe565340c9ad52e8",
4
+ "builtAt": "2026-08-21T17:53:45.214Z",
5
+ "builder": "tsc"
6
+ }