instar 1.3.1219 → 1.3.1220

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 (67) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +25 -2
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/AspAuthorshipJoin.d.ts +1 -0
  5. package/dist/core/AspAuthorshipJoin.d.ts.map +1 -1
  6. package/dist/core/AspAuthorshipJoin.js +9 -1
  7. package/dist/core/AspAuthorshipJoin.js.map +1 -1
  8. package/dist/core/AspInboundClassifier.d.ts +22 -0
  9. package/dist/core/AspInboundClassifier.d.ts.map +1 -1
  10. package/dist/core/AspInboundClassifier.js +33 -0
  11. package/dist/core/AspInboundClassifier.js.map +1 -1
  12. package/dist/core/ForwardedTopicContext.d.ts +3 -0
  13. package/dist/core/ForwardedTopicContext.d.ts.map +1 -1
  14. package/dist/core/ForwardedTopicContext.js +2 -1
  15. package/dist/core/ForwardedTopicContext.js.map +1 -1
  16. package/dist/core/PostUpdateMigrator.d.ts +8 -0
  17. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  18. package/dist/core/PostUpdateMigrator.js +24 -0
  19. package/dist/core/PostUpdateMigrator.js.map +1 -1
  20. package/dist/core/SessionManager.d.ts +7 -0
  21. package/dist/core/SessionManager.d.ts.map +1 -1
  22. package/dist/core/SessionManager.js +2 -2
  23. package/dist/core/SessionManager.js.map +1 -1
  24. package/dist/core/StageBActivationGate.d.ts +31 -1
  25. package/dist/core/StageBActivationGate.d.ts.map +1 -1
  26. package/dist/core/StageBActivationGate.js +69 -10
  27. package/dist/core/StageBActivationGate.js.map +1 -1
  28. package/dist/core/aspClassifierRef.d.ts +14 -0
  29. package/dist/core/aspClassifierRef.d.ts.map +1 -0
  30. package/dist/core/aspClassifierRef.js +8 -0
  31. package/dist/core/aspClassifierRef.js.map +1 -0
  32. package/dist/data/stageBCertifiedSet.d.ts +271 -0
  33. package/dist/data/stageBCertifiedSet.d.ts.map +1 -0
  34. package/dist/data/stageBCertifiedSet.js +366 -0
  35. package/dist/data/stageBCertifiedSet.js.map +1 -0
  36. package/dist/data/standards-guard-index.json +1 -1
  37. package/dist/data/standards-guard-index.meta.json +2 -2
  38. package/dist/data/standards-registry.meta.json +1 -1
  39. package/dist/messaging/TelegramAdapter.d.ts +2 -0
  40. package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
  41. package/dist/messaging/TelegramAdapter.js.map +1 -1
  42. package/dist/messaging/shared/signedInbound.d.ts +59 -0
  43. package/dist/messaging/shared/signedInbound.d.ts.map +1 -0
  44. package/dist/messaging/shared/signedInbound.js +67 -0
  45. package/dist/messaging/shared/signedInbound.js.map +1 -0
  46. package/dist/server/AgentServer.d.ts.map +1 -1
  47. package/dist/server/AgentServer.js +2 -0
  48. package/dist/server/AgentServer.js.map +1 -1
  49. package/dist/server/routes.d.ts +2 -0
  50. package/dist/server/routes.d.ts.map +1 -1
  51. package/dist/server/routes.js +12 -5
  52. package/dist/server/routes.js.map +1 -1
  53. package/dist/types/pipeline.d.ts +1 -1
  54. package/dist/types/pipeline.d.ts.map +1 -1
  55. package/dist/types/pipeline.js +13 -10
  56. package/dist/types/pipeline.js.map +1 -1
  57. package/package.json +1 -1
  58. package/scripts/stage-b-certified-fingerprint.mjs +177 -0
  59. package/scripts/verify-codex-stage-b-release-evidence.mjs +9 -0
  60. package/src/data/builtin-manifest.json +65 -65
  61. package/src/data/stageBCertifiedSet.ts +367 -0
  62. package/src/data/standards-guard-index.json +1 -1
  63. package/src/data/standards-guard-index.meta.json +2 -2
  64. package/src/data/standards-registry.meta.json +1 -1
  65. package/upgrades/1.3.1220.md +87 -0
  66. package/upgrades/side-effects/asp-signed-inbound-label.md +117 -0
  67. package/upgrades/side-effects/stage-b-evidence-code-binding.md +93 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,8 @@ function localSlackRelayReadiness(stateDir) {
37
37
  return slackReplyRelayReadiness(stateDir, template);
38
38
  }
39
39
  import { buildAspInboundClassifier } from '../core/AspInboundClassifier.js';
40
+ import { setAspClassifierRef, getAspClassifierRef } from '../core/aspClassifierRef.js';
41
+ import { resolveInboundTelegramMessageId, resolveSignedByAgent, operatorAutoBindPermitted } from '../messaging/shared/signedInbound.js';
40
42
  import { StandDownRegistry } from '../core/StandDownRegistry.js';
41
43
  import { BASELINE_PROCESS_PATTERNS } from '../core/baselineProcessPatterns.js';
42
44
  import { StandDownAudit } from '../core/StandDownAudit.js';
@@ -2167,6 +2169,23 @@ getHubClassifierDeps) {
2167
2169
  const resolvedUser = telegramUserId && userManager
2168
2170
  ? userManager.resolveFromTelegramUserId(telegramUserId)
2169
2171
  : null;
2172
+ // Agent-signed inbound (ASP). A message an agent SIGNED and delivered through
2173
+ // a human's account is labelled as agent traffic for the receiving session and
2174
+ // NEVER binds that human as the topic's operator. The verdict is the
2175
+ // classifier's own — computed once at log time (single-use nonce), read here
2176
+ // by platform message id from in-process state, never from content.
2177
+ const inboundMessageId = resolveInboundTelegramMessageId(msg);
2178
+ const signedByAgent = resolveSignedByAgent(getAspClassifierRef(), topicId, inboundMessageId);
2179
+ // This point OWNS the field: it is always (re)written from the classifier's
2180
+ // verdict, so a value that arrived on the Message from anywhere else — a
2181
+ // wire body, a replay, a queue row — can never survive to the injection.
2182
+ {
2183
+ const { signedByAgent: _ignored, ...rest } = msg.metadata ?? {};
2184
+ msg.metadata = signedByAgent ? { ...rest, signedByAgent } : rest;
2185
+ }
2186
+ if (signedByAgent) {
2187
+ console.log(`[telegram] topic ${topicId} message ${inboundMessageId ?? '?'} is agent-signed by "${signedByAgent}" — labelled for the session; operator auto-bind skipped`);
2188
+ }
2170
2189
  // Topic-operator auto-bind (Know Your Principal #898, increment 2e — the
2171
2190
  // POLLING-path writer; the lifeline-forward path already binds in routes.ts
2172
2191
  // #909). This onTopicMessage seam is the convergence BOTH ingress paths
@@ -2179,7 +2198,7 @@ getHubClassifierDeps) {
2179
2198
  // no store / unauthorized / error → no-op and routing continues.
2180
2199
  try {
2181
2200
  const opStore = getTopicOperatorStore?.() ?? null;
2182
- if (opStore && telegramUserId && telegram.isAuthorizedSender(telegramUserId)) {
2201
+ if (opStore && operatorAutoBindPermitted(signedByAgent) && telegramUserId && telegram.isAuthorizedSender(telegramUserId)) {
2183
2202
  // A lifeline-forwarded Message.id may contain a Date.now fallback used
2184
2203
  // only for internal routing. Establishment evidence must use the raw
2185
2204
  // Telegram id carried separately; absent stays absent and fails closed.
@@ -2617,7 +2636,10 @@ getHubClassifierDeps) {
2617
2636
  // `reinjectStuck` (the no-loss recovery re-injection) and read here so
2618
2637
  // the tag can say so out loud. Read from the first-party Message
2619
2638
  // metadata, never from `content` — content cannot forge it.
2620
- { reDelivered: msg.metadata?.replay === true });
2639
+ {
2640
+ reDelivered: msg.metadata?.replay === true,
2641
+ signedByAgent: typeof msg.metadata?.signedByAgent === 'string' ? msg.metadata.signedByAgent : undefined,
2642
+ });
2621
2643
  if (injected === false) {
2622
2644
  console.error(`[telegram→session] Injection FAILED for topic ${topicId} into ${targetSession}; not sending delivery confirmation`);
2623
2645
  telegram.sendToTopic(topicId, `❌ Message could not be delivered to the session. Try sending it again in a moment.`).catch(() => { });
@@ -14393,6 +14415,7 @@ export async function startServer(options) {
14393
14415
  // entirely when this agent has no canonical identity.
14394
14416
  try {
14395
14417
  const aspClassifier = buildAspInboundClassifier(config.stateDir, config.projectName);
14418
+ setAspClassifierRef(aspClassifier);
14396
14419
  if (aspClassifier) {
14397
14420
  const beforeAspCb = telegram.onMessageLogged;
14398
14421
  telegram.onMessageLogged = (entry) => {