instar 1.3.573 → 1.3.575
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 +39 -2
- package/dist/commands/server.js.map +1 -1
- package/dist/core/ws2SendWiring.d.ts +3 -3
- package/dist/core/ws2SendWiring.d.ts.map +1 -1
- package/dist/core/ws2SendWiring.js +5 -5
- package/dist/core/ws2SendWiring.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.3.574.md +47 -0
- package/upgrades/1.3.575.md +44 -0
- package/upgrades/side-effects/ws2-send-2-evolution-actions.md +57 -0
- package/upgrades/side-effects/ws2-send-2b-topicoperator.md +45 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkCH,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;AAkH7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsBtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAyID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAg4CD,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,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,GACpD,IAAI,CA8eN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkCH,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;AAkH7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsBtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAyID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAg4CD,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,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,GACpD,IAAI,CA8eN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA+tctE;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"}
|
package/dist/commands/server.js
CHANGED
|
@@ -8059,7 +8059,7 @@ export async function startServer(options) {
|
|
|
8059
8059
|
// attached ONLY when stateSync.evolutionActions.enabled is true (default false ⇒ NOT
|
|
8060
8060
|
// injected ⇒ strict no-op, byte-identical single-machine behavior; the ACT id never crosses
|
|
8061
8061
|
// the wire — fork #1).
|
|
8062
|
-
const { evolutionActionTierOf, evolutionActionToOriginRecord, deriveEvolutionActionRecordKey, EVOLUTION_ACTION_STORE_KEY, } = await import('../core/EvolutionActionsReplicatedStore.js');
|
|
8062
|
+
const { evolutionActionTierOf, evolutionActionToOriginRecord, deriveEvolutionActionRecordKey, buildEvolutionActionRecordData, buildEvolutionActionTombstoneData, EVOLUTION_ACTION_STORE_KEY, } = await import('../core/EvolutionActionsReplicatedStore.js');
|
|
8063
8063
|
const evolutionActionsUnionReader = new ReplicatedStoreReader({
|
|
8064
8064
|
registry: replicatedKindRegistry,
|
|
8065
8065
|
stores: _stateSyncStoresResolved, // gate-resolved (dev-live / fleet-dark) per operator directive 2026-06-13
|
|
@@ -8090,7 +8090,25 @@ export async function startServer(options) {
|
|
|
8090
8090
|
conflictStore,
|
|
8091
8091
|
});
|
|
8092
8092
|
void evolutionActionsUnionReader; // consumed by the evolution-actions peer-read surface + the journal-apply rollout stage (WS2.5+)
|
|
8093
|
-
|
|
8093
|
+
// WS2.5 SEND-SIDE: attach the journal-backed emitter to the EvolutionManager's
|
|
8094
|
+
// action-queue hooks. saveActions already fires emitPut on every surviving action
|
|
8095
|
+
// (so a STATUS CHANGE re-emits — a peer SEES completed/in_progress and won't redo it)
|
|
8096
|
+
// and emitDelete on every action actually pruned out of the queue (a RETAINED terminal
|
|
8097
|
+
// action is never tombstoned — only a real queue-removal is). The adapter maps the
|
|
8098
|
+
// manager's emit signature to the action build*RecordData projection; the generic emitter
|
|
8099
|
+
// owns the dark gate, HLC tick, `observed` witness, journal append, and ALL the safety
|
|
8100
|
+
// guards (null recordKey ⇒ skip, null projection ⇒ skip, over-cap throw ⇒ counted no-op).
|
|
8101
|
+
// `evolution` is the canonical instance handed to the AgentServer, so the action routes'
|
|
8102
|
+
// real writes flow through these hooks. Attached only when the emitter exists; dark by
|
|
8103
|
+
// default ⇒ no-op (byte-identical single-machine behavior; the local ACT-NNN id never
|
|
8104
|
+
// crosses the wire — fork #1, only the enumerated content projection does).
|
|
8105
|
+
if (replicatedRecordEmitter) {
|
|
8106
|
+
const emitter = replicatedRecordEmitter;
|
|
8107
|
+
evolution.setEvolutionActionReplicationEmitter({
|
|
8108
|
+
emitPut: (rec) => emitter.emit(EVOLUTION_ACTION_STORE_KEY, deriveEvolutionActionRecordKey(rec.title, rec.commitTo, rec.createdAt), (hlc, origin, observed) => buildEvolutionActionRecordData({ record: rec, hlc, origin, observed })),
|
|
8109
|
+
emitDelete: (title, commitTo, createdAt, deletedAt) => emitter.emit(EVOLUTION_ACTION_STORE_KEY, deriveEvolutionActionRecordKey(title, commitTo, createdAt), (hlc, origin, observed) => buildEvolutionActionTombstoneData({ title, commitTo, createdAt, hlc, origin, deletedAt, observed })),
|
|
8110
|
+
});
|
|
8111
|
+
}
|
|
8094
8112
|
// WS2.6 — the bypass-proof union reader for the `userRegistry` store (the SECOND PII kind). The
|
|
8095
8113
|
// single funnel every replicated user read routes through, so no caller reads a raw replica
|
|
8096
8114
|
// around the no-clobber rule. `loadOriginRecords` materializes the OWN user registry as the
|
|
@@ -15894,6 +15912,25 @@ export async function startServer(options) {
|
|
|
15894
15912
|
// wired before the server existed; from here on inbound binds use the
|
|
15895
15913
|
// server's own store instance.
|
|
15896
15914
|
_agentServerRef = server;
|
|
15915
|
+
// ── WS2.6 SEND-SIDE: topicOperator (the THIRD PII kind) ──────────────
|
|
15916
|
+
// The AUTHORITATIVE topic-operator writer is the AgentServer's OWN
|
|
15917
|
+
// TopicOperatorStore (it constructs `this.topicOperatorStore` internally and
|
|
15918
|
+
// binds it from the authenticated sender via setOperator). server.ts has no
|
|
15919
|
+
// canonical instance of its own, so we attach the journal-backed emitter to the
|
|
15920
|
+
// server's store here, right after the AgentServer exists. setOperator already
|
|
15921
|
+
// fires emitPut on every real bind/rebind. PUT-ONLY BY CONSTRUCTION — a topic
|
|
15922
|
+
// rebinds, never unbinds, so there is NO emitDelete path (the receive side
|
|
15923
|
+
// resolves the latest binding by HLC). Dark by default
|
|
15924
|
+
// (multiMachine.stateSync.topicOperator); off ⇒ no-op. A content name can never
|
|
15925
|
+
// become an operator — only the platform-verified uid is emitted (Know Your
|
|
15926
|
+
// Principal); a replicated record is NEVER authoritative for inbound resolution.
|
|
15927
|
+
if (replicatedRecordEmitter) {
|
|
15928
|
+
const _topicOpEmitter = replicatedRecordEmitter;
|
|
15929
|
+
const { TOPIC_OPERATOR_STORE_KEY, deriveTopicOperatorRecordKey, buildTopicOperatorRecordData } = await import('../core/TopicOperatorReplicatedStore.js');
|
|
15930
|
+
server.getTopicOperatorStore()?.setOperatorReplicationEmitter({
|
|
15931
|
+
emitPut: (topicId, record) => _topicOpEmitter.emit(TOPIC_OPERATOR_STORE_KEY, deriveTopicOperatorRecordKey(topicId, record.uid), (hlc, origin, observed) => buildTopicOperatorRecordData({ topicId, record, hlc, origin, observed })),
|
|
15932
|
+
});
|
|
15933
|
+
}
|
|
15897
15934
|
// ── WS5.3 (escalation-rides-topic) destination re-admit driver ──
|
|
15898
15935
|
// Bound here (after the AgentServer exists) so it can reach the SAME
|
|
15899
15936
|
// ModelSwapService the /sessions/:name/model-swap route uses. Re-admission
|