instar 1.3.1670 → 1.3.1671
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 +24 -17
- package/dist/commands/server.js.map +1 -1
- package/dist/core/ClassReviewReplicatedStore.d.ts +13 -1
- package/dist/core/ClassReviewReplicatedStore.d.ts.map +1 -1
- package/dist/core/ClassReviewReplicatedStore.js +16 -0
- package/dist/core/ClassReviewReplicatedStore.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +6 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +26 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/ReplicatedPeerStreamReader.d.ts +3 -0
- package/dist/core/ReplicatedPeerStreamReader.d.ts.map +1 -1
- package/dist/core/ReplicatedPeerStreamReader.js +35 -2
- package/dist/core/ReplicatedPeerStreamReader.js.map +1 -1
- package/dist/core/SlackReplyRelayInstaller.d.ts.map +1 -1
- package/dist/core/SlackReplyRelayInstaller.js +5 -0
- package/dist/core/SlackReplyRelayInstaller.js.map +1 -1
- package/dist/core/rebalanceProof.d.ts.map +1 -1
- package/dist/core/rebalanceProof.js +3 -1
- package/dist/core/rebalanceProof.js.map +1 -1
- package/dist/data/standards-guard-index.json +1 -1
- package/dist/data/standards-guard-index.meta.json +2 -2
- package/dist/data/standards-registry.meta.json +1 -1
- package/dist/messaging/slack/SlackAdapter.d.ts +1 -0
- package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -1
- package/dist/messaging/slack/SlackAdapter.js +2 -0
- package/dist/messaging/slack/SlackAdapter.js.map +1 -1
- package/dist/messaging/slack/SlackMrkdwnFormatter.d.ts +1 -1
- package/dist/messaging/slack/SlackMrkdwnFormatter.d.ts.map +1 -1
- package/dist/messaging/slack/SlackMrkdwnFormatter.js +36 -5
- package/dist/messaging/slack/SlackMrkdwnFormatter.js.map +1 -1
- package/dist/messaging/slack/threadHistoryLabel.d.ts +1 -1
- package/dist/messaging/slack/threadHistoryLabel.d.ts.map +1 -1
- package/dist/messaging/slack/threadHistoryLabel.js +3 -1
- package/dist/messaging/slack/threadHistoryLabel.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginCodexModelCanary.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginCodexModelCanary.js +5 -1
- package/dist/messaging/telegram-origin/OriginCodexModelCanary.js.map +1 -1
- package/dist/native/InstarWedgeCanary.app/Contents/MacOS/InstarWedgeCanary +0 -0
- package/dist/native/instar-desktop-host +0 -0
- package/dist/server/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +10 -0
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/mobileConsolePagesRoutes.d.ts +60 -0
- package/dist/server/mobileConsolePagesRoutes.d.ts.map +1 -0
- package/dist/server/mobileConsolePagesRoutes.js +473 -0
- package/dist/server/mobileConsolePagesRoutes.js.map +1 -0
- package/dist/server/mobilePairingRoutes.d.ts.map +1 -1
- package/dist/server/mobilePairingRoutes.js +8 -0
- package/dist/server/mobilePairingRoutes.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +34 -3
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +64 -64
- package/src/data/standards-guard-index.json +1 -1
- package/src/data/standards-guard-index.meta.json +2 -2
- package/src/data/standards-registry.meta.json +1 -1
- package/src/templates/scripts/slack-reply.sh +17 -1
- package/upgrades/1.3.1671.md +42 -0
- package/upgrades/proof-accepts-queued.eli16.md +20 -0
- package/upgrades/side-effects/codex-canary-0166.md +14 -0
- package/upgrades/side-effects/mobile-native-console-pages.md +24 -0
- package/upgrades/side-effects/peer-stream-read-cache.md +14 -0
- package/upgrades/side-effects/proof-accepts-queued.md +11 -0
- package/upgrades/side-effects/slack-native-reference-repair.md +74 -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":"AAsIA,OAAO,EAAE,cAAc,EAAwD,MAAM,2BAA2B,CAAC;AAgBjH,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA6BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAkK7D,OAAO,KAAK,EAAW,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA6GtD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AA4ID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA+DD,+EAA+E;AAC/E,wBAAgB,qCAAqC,CACnD,SAAS,EAAE,IAAI,CAAC,OAAO,2BAA2B,EAAE,cAAc,EAAE,QAAQ,CAAC,GAAG,IAAI,EACpF,OAAO,EAAE,MAAM,GACd,IAAI,CAEN;AA0nBD,wBAAsB,oBAAoB,CACxC,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,kBAAkB,CAAC,EAAE,MAAM;AAC3B;;qCAEqC;AACrC,WAAW,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;AACzD;;wEAEwE;AACxE,SAAS,CAAC,EAAE;IACV,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;sEAGkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;4BAIwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACA,OAAO,CAAC,MAAM,CAAC,CAqajB;AA8xBD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,oBAAoB,GAAG,IAAI,GACxC;IACD,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED,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,EAQrD,oBAAoB,CAAC,EAAE,MAAM;IAC3B,YAAY,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,EACR,iBAAiB,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACtD,IAAI,CA07BN;AA+sBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA+p4BtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDzE;AA+BD,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkE5E"}
|
package/dist/commands/server.js
CHANGED
|
@@ -9737,6 +9737,19 @@ export async function startServer(options) {
|
|
|
9737
9737
|
const history = await slackAdapter.getChannelMessagesWithFallback(channelId, 30);
|
|
9738
9738
|
const unansweredCount = slackAdapter.getUnansweredCount(channelId);
|
|
9739
9739
|
const botUserId = slackAdapter.getBotUserId?.() ?? null;
|
|
9740
|
+
// Slack history carries IDs, not display names. Resolve each distinct
|
|
9741
|
+
// participant once so the agent can address people without posting a
|
|
9742
|
+
// raw ID or sending an unnecessary notification.
|
|
9743
|
+
const historyNames = new Map();
|
|
9744
|
+
await Promise.all([...new Set(history.map(m => m.user).filter((id) => typeof id === 'string' && !!id && id !== botUserId && id !== slackUserId))].map(async (id) => {
|
|
9745
|
+
try {
|
|
9746
|
+
const info = await slackAdapter.getUserInfo(id);
|
|
9747
|
+
const name = info.name.replace(/[\x00-\x1f\x7f]/g, '').replace(/\s+/g, ' ').replace(/["\[\]<>]/g, '').trim().slice(0, 64);
|
|
9748
|
+
if (name)
|
|
9749
|
+
historyNames.set(id, name);
|
|
9750
|
+
}
|
|
9751
|
+
catch { /* Keep the ID if Slack cannot resolve this participant. */ }
|
|
9752
|
+
}));
|
|
9740
9753
|
// Build human-readable thread history (matches Telegram's inline context pattern)
|
|
9741
9754
|
const contextLines = [];
|
|
9742
9755
|
if (history.length > 0) {
|
|
@@ -9750,8 +9763,10 @@ export async function startServer(options) {
|
|
|
9750
9763
|
for (const m of history) {
|
|
9751
9764
|
const date = new Date(parseFloat(m.ts) * 1000);
|
|
9752
9765
|
const time = date.toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false });
|
|
9753
|
-
const label = slackHistoryLabel(m, botUserId, { userId: slackUserId, name: senderName });
|
|
9754
|
-
|
|
9766
|
+
const label = slackHistoryLabel(m, botUserId, { userId: slackUserId, name: senderName }, historyNames);
|
|
9767
|
+
// Inbound history is data. Keep its Slack control syntax inert in
|
|
9768
|
+
// the prompt so a verbatim quote cannot become an outbound ping.
|
|
9769
|
+
contextLines.push(`[${time}] ${label}: ${m.text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')}`);
|
|
9755
9770
|
}
|
|
9756
9771
|
contextLines.push('');
|
|
9757
9772
|
contextLines.push('--- End Thread History ---');
|
|
@@ -9768,6 +9783,7 @@ export async function startServer(options) {
|
|
|
9768
9783
|
contextLines.push("cat <<'EOF' | .instar/scripts/slack-reply.sh");
|
|
9769
9784
|
contextLines.push('Your response text here');
|
|
9770
9785
|
contextLines.push('EOF');
|
|
9786
|
+
contextLines.push('To deliberately notify one person or render an authored channel/link, add --native-reference ID (or URL) for EACH intended target to the relay command. Example: slack-reply.sh --native-reference U1234567890. Other reference syntax stays literal.');
|
|
9771
9787
|
if (replyThreadTs) {
|
|
9772
9788
|
contextLines.push('');
|
|
9773
9789
|
contextLines.push('(This is a THREAD conversation — the session binding keeps the reply in this exact thread.)');
|
|
@@ -9775,6 +9791,7 @@ export async function startServer(options) {
|
|
|
9775
9791
|
contextLines.push('');
|
|
9776
9792
|
contextLines.push('Strip the [slack:] prefix before interpreting the message.');
|
|
9777
9793
|
contextLines.push('Only relay conversational text — not tool output, file contents, or internal reasoning.');
|
|
9794
|
+
contextLines.push('Slack references in user text are encoded data. Do not decode them when quoting; use a person’s name unless you deliberately intend to notify them. Never send <!channel>, <!here>, or <!everyone>.');
|
|
9778
9795
|
if (conversationId !== null) {
|
|
9779
9796
|
// §6.3: the durable conversation id rides the session bootstrap
|
|
9780
9797
|
// context (pinned metadata key `conversationId`; the prompt phrasing
|
|
@@ -9799,6 +9816,7 @@ export async function startServer(options) {
|
|
|
9799
9816
|
}
|
|
9800
9817
|
return `[User sent a file — it has been saved to ${docPath}. Read the file to view its contents]`;
|
|
9801
9818
|
});
|
|
9819
|
+
transformedContent = transformedContent.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
|
9802
9820
|
// Inject context INLINE in the bootstrap message (matches Telegram pattern).
|
|
9803
9821
|
// This ensures the agent sees thread history immediately without needing to read a file.
|
|
9804
9822
|
const fullMessage = `${prefix} ${transformedContent} (IMPORTANT: Read ${ctxPath} for thread history and Slack relay instructions — you MUST relay your response back.)`;
|
|
@@ -20722,14 +20740,8 @@ export async function startServer(options) {
|
|
|
20722
20740
|
});
|
|
20723
20741
|
}
|
|
20724
20742
|
if (_stateSyncStoresResolved?.classReview?.enabled && replicatedPeerStreamReader) {
|
|
20725
|
-
const {
|
|
20726
|
-
classReviewStore.setRemoteReader(
|
|
20727
|
-
get: (dedupeKey) => replicatedPeerStreamReader.loadOriginRecords(CLASS_REVIEW_STORE_KEY, dedupeKey)
|
|
20728
|
-
.flatMap((record) => { const parsed = classReviewFromOriginRecord(record); return parsed ? [parsed] : []; }),
|
|
20729
|
-
keys: () => replicatedPeerStreamReader.listRecordKeys(CLASS_REVIEW_STORE_KEY),
|
|
20730
|
-
all: () => new Map([...replicatedPeerStreamReader.loadAllOriginRecords(CLASS_REVIEW_STORE_KEY)].map(([key, records]) => [key,
|
|
20731
|
-
records.flatMap((record) => { const parsed = classReviewFromOriginRecord(record); return parsed ? [parsed] : []; })])),
|
|
20732
|
-
});
|
|
20743
|
+
const { classReviewRemoteReader } = await import('../core/ClassReviewReplicatedStore.js');
|
|
20744
|
+
classReviewStore.setRemoteReader(classReviewRemoteReader(replicatedPeerStreamReader));
|
|
20733
20745
|
}
|
|
20734
20746
|
const classReviewAuditPath = path.join(config.stateDir, 'logs', 'correction-class-review.jsonl');
|
|
20735
20747
|
const classReview = new CorrectionClassReview({
|
|
@@ -31428,13 +31440,8 @@ export async function startServer(options) {
|
|
|
31428
31440
|
}
|
|
31429
31441
|
server.setWorkQueue(workQueue);
|
|
31430
31442
|
if (_stateSyncStoresResolved?.classReview?.enabled && replicatedPeerStreamReader) {
|
|
31431
|
-
const {
|
|
31432
|
-
|
|
31433
|
-
server.setClassReviewRemoteReader({
|
|
31434
|
-
get: (dedupeKey) => reader.loadOriginRecords(CLASS_REVIEW_STORE_KEY, dedupeKey)
|
|
31435
|
-
.flatMap((record) => { const parsed = classReviewFromOriginRecord(record); return parsed ? [parsed] : []; }),
|
|
31436
|
-
keys: () => reader.listRecordKeys(CLASS_REVIEW_STORE_KEY),
|
|
31437
|
-
});
|
|
31443
|
+
const { classReviewRemoteReader } = await import('../core/ClassReviewReplicatedStore.js');
|
|
31444
|
+
server.setClassReviewRemoteReader(classReviewRemoteReader(replicatedPeerStreamReader));
|
|
31438
31445
|
}
|
|
31439
31446
|
// wired before the server existed; from here on inbound binds use the
|
|
31440
31447
|
// server's own store instance.
|