instar 1.3.439 → 1.3.441

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 (74) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +31 -0
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/types.d.ts +8 -0
  5. package/dist/core/types.d.ts.map +1 -1
  6. package/dist/core/types.js.map +1 -1
  7. package/dist/messaging/slack/SlackAdapter.d.ts +13 -0
  8. package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -1
  9. package/dist/messaging/slack/SlackAdapter.js +43 -0
  10. package/dist/messaging/slack/SlackAdapter.js.map +1 -1
  11. package/dist/messaging/slack/types.d.ts +11 -0
  12. package/dist/messaging/slack/types.d.ts.map +1 -1
  13. package/dist/messaging/slack/types.js.map +1 -1
  14. package/dist/permissions/AnomalyScorer.d.ts +54 -0
  15. package/dist/permissions/AnomalyScorer.d.ts.map +1 -0
  16. package/dist/permissions/AnomalyScorer.js +68 -0
  17. package/dist/permissions/AnomalyScorer.js.map +1 -0
  18. package/dist/permissions/IntentClassifier.d.ts +33 -0
  19. package/dist/permissions/IntentClassifier.d.ts.map +1 -0
  20. package/dist/permissions/IntentClassifier.js +88 -0
  21. package/dist/permissions/IntentClassifier.js.map +1 -0
  22. package/dist/permissions/PermissionDecisionLedger.d.ts +42 -0
  23. package/dist/permissions/PermissionDecisionLedger.d.ts.map +1 -0
  24. package/dist/permissions/PermissionDecisionLedger.js +61 -0
  25. package/dist/permissions/PermissionDecisionLedger.js.map +1 -0
  26. package/dist/permissions/RolePolicy.d.ts +34 -0
  27. package/dist/permissions/RolePolicy.d.ts.map +1 -0
  28. package/dist/permissions/RolePolicy.js +60 -0
  29. package/dist/permissions/RolePolicy.js.map +1 -0
  30. package/dist/permissions/SlackPermissionGate.d.ts +62 -0
  31. package/dist/permissions/SlackPermissionGate.d.ts.map +1 -0
  32. package/dist/permissions/SlackPermissionGate.js +117 -0
  33. package/dist/permissions/SlackPermissionGate.js.map +1 -0
  34. package/dist/permissions/SlackPermissionObserver.d.ts +37 -0
  35. package/dist/permissions/SlackPermissionObserver.d.ts.map +1 -0
  36. package/dist/permissions/SlackPermissionObserver.js +39 -0
  37. package/dist/permissions/SlackPermissionObserver.js.map +1 -0
  38. package/dist/permissions/SlackPrincipalResolver.d.ts +39 -0
  39. package/dist/permissions/SlackPrincipalResolver.d.ts.map +1 -0
  40. package/dist/permissions/SlackPrincipalResolver.js +60 -0
  41. package/dist/permissions/SlackPrincipalResolver.js.map +1 -0
  42. package/dist/permissions/SlackUserRegistry.d.ts +64 -0
  43. package/dist/permissions/SlackUserRegistry.d.ts.map +1 -0
  44. package/dist/permissions/SlackUserRegistry.js +114 -0
  45. package/dist/permissions/SlackUserRegistry.js.map +1 -0
  46. package/dist/permissions/index.d.ts +14 -0
  47. package/dist/permissions/index.d.ts.map +1 -0
  48. package/dist/permissions/index.js +14 -0
  49. package/dist/permissions/index.js.map +1 -0
  50. package/dist/permissions/testing/SlackScenarioHarness.d.ts +35 -0
  51. package/dist/permissions/testing/SlackScenarioHarness.d.ts.map +1 -0
  52. package/dist/permissions/testing/SlackScenarioHarness.js +130 -0
  53. package/dist/permissions/testing/SlackScenarioHarness.js.map +1 -0
  54. package/dist/permissions/types.d.ts +108 -0
  55. package/dist/permissions/types.d.ts.map +1 -0
  56. package/dist/permissions/types.js +21 -0
  57. package/dist/permissions/types.js.map +1 -0
  58. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  59. package/dist/server/CapabilityIndex.js +1 -0
  60. package/dist/server/CapabilityIndex.js.map +1 -1
  61. package/dist/server/routes.d.ts.map +1 -1
  62. package/dist/server/routes.js +104 -0
  63. package/dist/server/routes.js.map +1 -1
  64. package/dist/users/UserManager.d.ts +9 -0
  65. package/dist/users/UserManager.d.ts.map +1 -1
  66. package/dist/users/UserManager.js +21 -0
  67. package/dist/users/UserManager.js.map +1 -1
  68. package/package.json +1 -1
  69. package/src/data/builtin-manifest.json +46 -46
  70. package/src/data/state-coherence-registry.json +24 -0
  71. package/upgrades/1.3.440.md +25 -0
  72. package/upgrades/1.3.441.md +26 -0
  73. package/upgrades/side-effects/slack-org-permission-gate.md +80 -0
  74. package/upgrades/side-effects/slack-org-permissions-phase1.md +68 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAuBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAiG7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA6JtD,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA05BD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,GAC/F,IAAI,CAyUN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA4mUtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAuBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAiG7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA6JtD,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA05BD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,GAC/F,IAAI,CAyUN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmpUtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
@@ -4213,6 +4213,37 @@ export async function startServer(options) {
4213
4213
  try {
4214
4214
  const { SlackAdapter } = await import('../messaging/slack/index.js');
4215
4215
  slackAdapter = new SlackAdapter(slackConfig.config, config.stateDir);
4216
+ // ── Slack org permission gate (Slice 0) — DARK by default ──────────
4217
+ // Attached only when `permissionGate.observeOnly` (or `.enforce`) is set in
4218
+ // the Slack config. Observe-only logs what the gate WOULD decide for every
4219
+ // authorized message and never blocks. See docs/specs/SLACK-ORG-INTEGRATION-SPEC.md.
4220
+ try {
4221
+ const slackCfg = slackConfig.config;
4222
+ const pgCfg = slackCfg.permissionGate;
4223
+ if (pgCfg && (pgCfg.observeOnly || pgCfg.enforce)) {
4224
+ const { SlackPermissionObserver, SlackPrincipalResolver, SlackPermissionGate, PermissionDecisionLedger, RolePolicy, HeuristicIntentClassifier, HeuristicAnomalyScorer, } = await import('../permissions/index.js');
4225
+ // Own UserManager instance for verified-principal resolution (the
4226
+ // Telegram-block userManager is out of scope here). Reads users.json.
4227
+ const slackUserManager = new UserManager(config.stateDir, config.users);
4228
+ const observer = new SlackPermissionObserver({
4229
+ resolver: new SlackPrincipalResolver({
4230
+ resolveFromSlackUserId: (id) => slackUserManager.resolveFromSlackUserId(id),
4231
+ }),
4232
+ gate: new SlackPermissionGate({
4233
+ rolePolicy: new RolePolicy(),
4234
+ classifier: new HeuristicIntentClassifier(),
4235
+ anomalyScorer: new HeuristicAnomalyScorer(),
4236
+ }),
4237
+ ledger: new PermissionDecisionLedger(config.stateDir),
4238
+ enforce: pgCfg.enforce === true,
4239
+ });
4240
+ slackAdapter.setPermissionObserver(observer);
4241
+ console.log(`[slack] permission gate attached (${pgCfg.enforce ? 'ENFORCE' : 'observe-only'})`);
4242
+ }
4243
+ }
4244
+ catch (e) {
4245
+ console.warn('[slack] permission gate wiring skipped:', e.message);
4246
+ }
4216
4247
  // Wire message handler — inject Slack messages into sessions
4217
4248
  slackAdapter.onMessage(async (message) => {
4218
4249
  const channelId = message.channel.identifier;