instar 1.3.439 → 1.3.440
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/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +31 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/core/types.d.ts +8 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/messaging/slack/SlackAdapter.d.ts +13 -0
- package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -1
- package/dist/messaging/slack/SlackAdapter.js +23 -0
- package/dist/messaging/slack/SlackAdapter.js.map +1 -1
- package/dist/messaging/slack/types.d.ts +11 -0
- package/dist/messaging/slack/types.d.ts.map +1 -1
- package/dist/messaging/slack/types.js.map +1 -1
- package/dist/permissions/AnomalyScorer.d.ts +54 -0
- package/dist/permissions/AnomalyScorer.d.ts.map +1 -0
- package/dist/permissions/AnomalyScorer.js +68 -0
- package/dist/permissions/AnomalyScorer.js.map +1 -0
- package/dist/permissions/IntentClassifier.d.ts +33 -0
- package/dist/permissions/IntentClassifier.d.ts.map +1 -0
- package/dist/permissions/IntentClassifier.js +88 -0
- package/dist/permissions/IntentClassifier.js.map +1 -0
- package/dist/permissions/PermissionDecisionLedger.d.ts +42 -0
- package/dist/permissions/PermissionDecisionLedger.d.ts.map +1 -0
- package/dist/permissions/PermissionDecisionLedger.js +61 -0
- package/dist/permissions/PermissionDecisionLedger.js.map +1 -0
- package/dist/permissions/RolePolicy.d.ts +34 -0
- package/dist/permissions/RolePolicy.d.ts.map +1 -0
- package/dist/permissions/RolePolicy.js +60 -0
- package/dist/permissions/RolePolicy.js.map +1 -0
- package/dist/permissions/SlackPermissionGate.d.ts +62 -0
- package/dist/permissions/SlackPermissionGate.d.ts.map +1 -0
- package/dist/permissions/SlackPermissionGate.js +117 -0
- package/dist/permissions/SlackPermissionGate.js.map +1 -0
- package/dist/permissions/SlackPermissionObserver.d.ts +37 -0
- package/dist/permissions/SlackPermissionObserver.d.ts.map +1 -0
- package/dist/permissions/SlackPermissionObserver.js +39 -0
- package/dist/permissions/SlackPermissionObserver.js.map +1 -0
- package/dist/permissions/SlackPrincipalResolver.d.ts +39 -0
- package/dist/permissions/SlackPrincipalResolver.d.ts.map +1 -0
- package/dist/permissions/SlackPrincipalResolver.js +60 -0
- package/dist/permissions/SlackPrincipalResolver.js.map +1 -0
- package/dist/permissions/index.d.ts +13 -0
- package/dist/permissions/index.d.ts.map +1 -0
- package/dist/permissions/index.js +13 -0
- package/dist/permissions/index.js.map +1 -0
- package/dist/permissions/testing/SlackScenarioHarness.d.ts +35 -0
- package/dist/permissions/testing/SlackScenarioHarness.d.ts.map +1 -0
- package/dist/permissions/testing/SlackScenarioHarness.js +130 -0
- package/dist/permissions/testing/SlackScenarioHarness.js.map +1 -0
- package/dist/permissions/types.d.ts +108 -0
- package/dist/permissions/types.d.ts.map +1 -0
- package/dist/permissions/types.js +21 -0
- package/dist/permissions/types.js.map +1 -0
- package/dist/server/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -0
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +44 -0
- package/dist/server/routes.js.map +1 -1
- package/dist/users/UserManager.d.ts +9 -0
- package/dist/users/UserManager.d.ts.map +1 -1
- package/dist/users/UserManager.js +21 -0
- package/dist/users/UserManager.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +46 -46
- package/src/data/state-coherence-registry.json +12 -0
- package/upgrades/1.3.440.md +25 -0
- package/upgrades/side-effects/slack-org-permission-gate.md +80 -0
package/dist/server/routes.js
CHANGED
|
@@ -13285,6 +13285,50 @@ export function createRoutes(ctx) {
|
|
|
13285
13285
|
}
|
|
13286
13286
|
res.json(ctx.adaptiveTrust.getProfile());
|
|
13287
13287
|
});
|
|
13288
|
+
// GET /permissions/decisions — observe-only Slack permission gate decision ledger.
|
|
13289
|
+
// Read surface for measuring the gate's verdicts (and FP-rate) before enforcement.
|
|
13290
|
+
// Design: docs/specs/SLACK-ORG-INTEGRATION-SPEC.md §6.10, §11.
|
|
13291
|
+
router.get('/permissions/decisions', async (req, res) => {
|
|
13292
|
+
try {
|
|
13293
|
+
const limit = Math.min(Number(req.query.limit) || 100, 1000);
|
|
13294
|
+
const { PermissionDecisionLedger } = await import('../permissions/index.js');
|
|
13295
|
+
const ledger = new PermissionDecisionLedger(ctx.config.stateDir);
|
|
13296
|
+
res.json({ decisions: ledger.readRecent(limit) });
|
|
13297
|
+
}
|
|
13298
|
+
catch (e) {
|
|
13299
|
+
res.status(500).json({ error: e.message });
|
|
13300
|
+
}
|
|
13301
|
+
});
|
|
13302
|
+
// GET /permissions/scenario-suite — run the deterministic permission demonstration
|
|
13303
|
+
// (Pillar 4 Layer-A): the six worked-example rows with expected vs actual verdict.
|
|
13304
|
+
router.get('/permissions/scenario-suite', async (req, res) => {
|
|
13305
|
+
try {
|
|
13306
|
+
const { runScenarioSuite } = await import('../permissions/testing/SlackScenarioHarness.js');
|
|
13307
|
+
const results = await runScenarioSuite();
|
|
13308
|
+
res.json({
|
|
13309
|
+
summary: {
|
|
13310
|
+
total: results.length,
|
|
13311
|
+
passed: results.filter((r) => r.pass).length,
|
|
13312
|
+
failed: results.filter((r) => !r.pass).length,
|
|
13313
|
+
},
|
|
13314
|
+
rows: results.map((r) => ({
|
|
13315
|
+
id: r.scenario.id,
|
|
13316
|
+
principal: r.scenario.principal.name,
|
|
13317
|
+
role: r.scenario.principal.role,
|
|
13318
|
+
request: r.scenario.text,
|
|
13319
|
+
directed: r.scenario.directed,
|
|
13320
|
+
expected: `${r.scenario.expectedDecision}/${r.scenario.expectedBasis}`,
|
|
13321
|
+
got: `${r.verdict.decision}/${r.verdict.basis}`,
|
|
13322
|
+
message: r.verdict.message || undefined,
|
|
13323
|
+
pass: r.pass,
|
|
13324
|
+
proves: r.scenario.proves,
|
|
13325
|
+
})),
|
|
13326
|
+
});
|
|
13327
|
+
}
|
|
13328
|
+
catch (e) {
|
|
13329
|
+
res.status(500).json({ error: e.message });
|
|
13330
|
+
}
|
|
13331
|
+
});
|
|
13288
13332
|
// GET /trust/summary — compact trust summary
|
|
13289
13333
|
router.get('/trust/summary', (req, res) => {
|
|
13290
13334
|
if (!ctx.adaptiveTrust) {
|