instar 1.3.600 → 1.3.602
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 +29 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/core/BackupManager.d.ts.map +1 -1
- package/dist/core/BackupManager.js +5 -0
- package/dist/core/BackupManager.js.map +1 -1
- package/dist/core/LiveTestSlackCaller.d.ts +72 -0
- package/dist/core/LiveTestSlackCaller.d.ts.map +1 -0
- package/dist/core/LiveTestSlackCaller.js +114 -0
- package/dist/core/LiveTestSlackCaller.js.map +1 -0
- package/dist/core/PostUpdateMigrator.d.ts +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +104 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/PrHandLease.d.ts +151 -0
- package/dist/core/PrHandLease.d.ts.map +1 -0
- package/dist/core/PrHandLease.js +448 -0
- package/dist/core/PrHandLease.js.map +1 -0
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +6 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/instarSettingsHooks.d.ts.map +1 -1
- package/dist/core/instarSettingsHooks.js +10 -0
- package/dist/core/instarSettingsHooks.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +2 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts +1 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +1 -0
- package/dist/server/AgentServer.js.map +1 -1
- 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 +4 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +100 -1
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +65 -65
- package/src/scaffold/templates.ts +2 -0
- package/upgrades/1.3.602.md +87 -0
- package/upgrades/side-effects/parallel-hand-pr-lease.md +153 -0
- package/upgrades/side-effects/xoxc-slack-caller.md +99 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackupManager.d.ts","sourceRoot":"","sources":["../../src/core/BackupManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"BackupManager.d.ts","sourceRoot":"","sources":["../../src/core/BackupManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA6B/D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kCAAkC,EAAE,SAAS,MAAM,EAM9D,CAAC;AA8CH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAgB;IACjD;0FACsF;IACtF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAgB;IAC1D;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAgB;IACtD,OAAO,CAAC,gBAAgB,CAAa;gBAGnC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EAC9B,eAAe,CAAC,EAAE,MAAM,OAAO,EAC/B,wBAAwB,CAAC,EAAE,MAAM,OAAO,EACxC,oBAAoB,CAAC,EAAE,MAAM,OAAO;IAsBtC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAsC5B;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAMvC;;OAEG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAOnC;;;OAGG;IACH,OAAO,CAAC,UAAU;IAmBlB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAK5B;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,cAAc;IAqFlE;;OAEG;IACH,YAAY,IAAI,cAAc,GAAG,IAAI;IAWrC;;OAEG;IACH,aAAa,IAAI,cAAc,EAAE;IA0BjC;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAqDjC;;;OAGG;IACH,cAAc,IAAI,MAAM;CAqBzB"}
|
|
@@ -32,6 +32,11 @@ const BLOCKED_PATH_PREFIXES = new Set([
|
|
|
32
32
|
// how includeFiles entries resolve (sourcePath = path.join(stateDir, entry)).
|
|
33
33
|
'state/pending-inbound.',
|
|
34
34
|
'state/pending-inbound-quarantine/',
|
|
35
|
+
// Parallel-Hand PR Lease (spec parallel-hand-pr-lease §8): the lease store is
|
|
36
|
+
// ephemeral per-machine coordination state (TTL-bounded, self-healing). Restoring
|
|
37
|
+
// it to another machine would resurrect a stale lease as "live" — a regression.
|
|
38
|
+
// Safe to lose (reconstructed on demand). stateDir-relative prefix.
|
|
39
|
+
'state/pr-hand-leases.json',
|
|
35
40
|
]);
|
|
36
41
|
/**
|
|
37
42
|
* F-7 / A35 — Remediation runtime-state path prefixes that must NEVER
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackupManager.js","sourceRoot":"","sources":["../../src/core/BackupManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BackupManager.js","sourceRoot":"","sources":["../../src/core/BackupManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LiveTestSlackCaller — a credential adapter implementing the `SlackCaller` seam that
|
|
3
|
+
* `SlackLiveSender` consumes (see src/core/SlackLiveSender.ts), built for the
|
|
4
|
+
* live-test harness (docs/specs/live-user-channel-proof-standard.md §5.4).
|
|
5
|
+
*
|
|
6
|
+
* THE PROBLEM IT SOLVES: the only DISTINCT non-Echo Slack senders we have captured in
|
|
7
|
+
* the demo workspace are real test-USER identities authenticated the way a browser is —
|
|
8
|
+
* an `xoxc-…` web-client token PLUS the user's `d` session cookie. Those are NOT Bearer
|
|
9
|
+
* (xoxp/xoxb) tokens, so `SlackApiClient` (which only knows `Authorization: Bearer`)
|
|
10
|
+
* cannot post AS one of those users. Without this adapter the harness's Slack arm could
|
|
11
|
+
* never drive a REAL channel as a REAL member — defeating the whole point of the
|
|
12
|
+
* gold-standard live-test (drive real channels as a real user).
|
|
13
|
+
*
|
|
14
|
+
* THE MECHANISM (mirrors .instar/slack-live-test/post-as.mjs):
|
|
15
|
+
* - `chat.postMessage` (POST AS THE MEMBER) → Slack web-client auth: the `xoxc` token
|
|
16
|
+
* goes in the x-www-form-urlencoded BODY (`token=<xoxc>`), and the member's `d`
|
|
17
|
+
* session cookie goes in a `Cookie: d=<value>` header, against the workspace host
|
|
18
|
+
* `https://<workspaceHost>/api/chat.postMessage`. This is exactly how the real Slack
|
|
19
|
+
* web client authenticates a message send, so the bot sees a genuine distinct-principal
|
|
20
|
+
* message over the live adapter.
|
|
21
|
+
* - every OTHER method (e.g. `conversations.history`) → the normal bot-token path:
|
|
22
|
+
* `Authorization: Bearer <botToken>` against `https://slack.com/api/<method>`. Reading
|
|
23
|
+
* history does not need to be done AS the member, and the bot token is a clean Bearer.
|
|
24
|
+
*
|
|
25
|
+
* Pure transport over an injected `fetch` (defaults to the global) so it is fully
|
|
26
|
+
* unit-testable with a fake fetch. No silent fallbacks: a missing credential for the
|
|
27
|
+
* path a call needs throws loudly (the harness records a real driver-error FAIL), never
|
|
28
|
+
* a fabricated reply.
|
|
29
|
+
*/
|
|
30
|
+
import type { SlackCaller } from './SlackLiveSender.js';
|
|
31
|
+
/** The subset of `fetch` this adapter uses (so tests can inject a fake). */
|
|
32
|
+
export type FetchLike = (url: string, init: {
|
|
33
|
+
method: string;
|
|
34
|
+
headers: Record<string, string>;
|
|
35
|
+
body: string;
|
|
36
|
+
}) => Promise<{
|
|
37
|
+
json(): Promise<unknown>;
|
|
38
|
+
}>;
|
|
39
|
+
export interface LiveTestSlackCallerDeps {
|
|
40
|
+
/** Workspace host for web-client posts, e.g. `sagemindlivetest.slack.com` (no scheme). */
|
|
41
|
+
workspaceHost: string;
|
|
42
|
+
/** The member's `xoxc-…` web-client token (goes in the form body for chat.postMessage). */
|
|
43
|
+
xoxcToken: string;
|
|
44
|
+
/** The member's `d` session cookie VALUE (goes in the `Cookie: d=…` header). */
|
|
45
|
+
dCookie: string;
|
|
46
|
+
/** A clean Bearer bot token used for every non-postMessage method (e.g. history reads). */
|
|
47
|
+
botToken: string;
|
|
48
|
+
/** Injected for tests; defaults to global fetch. */
|
|
49
|
+
fetchImpl?: FetchLike;
|
|
50
|
+
logger?: (m: string) => void;
|
|
51
|
+
}
|
|
52
|
+
/** The shape SlackCaller.call resolves to. */
|
|
53
|
+
type SlackCallResult = Awaited<ReturnType<SlackCaller['call']>>;
|
|
54
|
+
export declare class LiveTestSlackCaller implements SlackCaller {
|
|
55
|
+
private readonly d;
|
|
56
|
+
constructor(deps: LiveTestSlackCallerDeps);
|
|
57
|
+
private log;
|
|
58
|
+
private fetch;
|
|
59
|
+
call(method: string, params?: Record<string, unknown>): Promise<SlackCallResult>;
|
|
60
|
+
/**
|
|
61
|
+
* POST AS THE MEMBER — Slack web-client auth: xoxc token in the form body + `d` cookie
|
|
62
|
+
* in the Cookie header, against the workspace host.
|
|
63
|
+
*/
|
|
64
|
+
private postAsMember;
|
|
65
|
+
/**
|
|
66
|
+
* Every other method goes over the clean Bearer bot-token path at slack.com — a JSON
|
|
67
|
+
* body, `Authorization: Bearer <botToken>`.
|
|
68
|
+
*/
|
|
69
|
+
private callAsBot;
|
|
70
|
+
}
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=LiveTestSlackCaller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveTestSlackCaller.d.ts","sourceRoot":"","sources":["../../src/core/LiveTestSlackCaller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,CACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,KACE,OAAO,CAAC;IAAE,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,0FAA0F;IAC1F,aAAa,EAAE,MAAM,CAAC;IACtB,2FAA2F;IAC3F,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,8CAA8C;AAC9C,KAAK,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEhE,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAA0B;gBAEhC,IAAI,EAAE,uBAAuB;IAkBzC,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,KAAK;IAIP,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAO1F;;;OAGG;YACW,YAAY;IAyB1B;;;OAGG;YACW,SAAS;CAoBxB"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LiveTestSlackCaller — a credential adapter implementing the `SlackCaller` seam that
|
|
3
|
+
* `SlackLiveSender` consumes (see src/core/SlackLiveSender.ts), built for the
|
|
4
|
+
* live-test harness (docs/specs/live-user-channel-proof-standard.md §5.4).
|
|
5
|
+
*
|
|
6
|
+
* THE PROBLEM IT SOLVES: the only DISTINCT non-Echo Slack senders we have captured in
|
|
7
|
+
* the demo workspace are real test-USER identities authenticated the way a browser is —
|
|
8
|
+
* an `xoxc-…` web-client token PLUS the user's `d` session cookie. Those are NOT Bearer
|
|
9
|
+
* (xoxp/xoxb) tokens, so `SlackApiClient` (which only knows `Authorization: Bearer`)
|
|
10
|
+
* cannot post AS one of those users. Without this adapter the harness's Slack arm could
|
|
11
|
+
* never drive a REAL channel as a REAL member — defeating the whole point of the
|
|
12
|
+
* gold-standard live-test (drive real channels as a real user).
|
|
13
|
+
*
|
|
14
|
+
* THE MECHANISM (mirrors .instar/slack-live-test/post-as.mjs):
|
|
15
|
+
* - `chat.postMessage` (POST AS THE MEMBER) → Slack web-client auth: the `xoxc` token
|
|
16
|
+
* goes in the x-www-form-urlencoded BODY (`token=<xoxc>`), and the member's `d`
|
|
17
|
+
* session cookie goes in a `Cookie: d=<value>` header, against the workspace host
|
|
18
|
+
* `https://<workspaceHost>/api/chat.postMessage`. This is exactly how the real Slack
|
|
19
|
+
* web client authenticates a message send, so the bot sees a genuine distinct-principal
|
|
20
|
+
* message over the live adapter.
|
|
21
|
+
* - every OTHER method (e.g. `conversations.history`) → the normal bot-token path:
|
|
22
|
+
* `Authorization: Bearer <botToken>` against `https://slack.com/api/<method>`. Reading
|
|
23
|
+
* history does not need to be done AS the member, and the bot token is a clean Bearer.
|
|
24
|
+
*
|
|
25
|
+
* Pure transport over an injected `fetch` (defaults to the global) so it is fully
|
|
26
|
+
* unit-testable with a fake fetch. No silent fallbacks: a missing credential for the
|
|
27
|
+
* path a call needs throws loudly (the harness records a real driver-error FAIL), never
|
|
28
|
+
* a fabricated reply.
|
|
29
|
+
*/
|
|
30
|
+
export class LiveTestSlackCaller {
|
|
31
|
+
d;
|
|
32
|
+
constructor(deps) {
|
|
33
|
+
// Inline, loud validation (no silent fallbacks). Each credential is required for the
|
|
34
|
+
// path it serves; an empty one is a wiring error, not something to paper over.
|
|
35
|
+
if (!deps.workspaceHost) {
|
|
36
|
+
throw new Error('LiveTestSlackCaller: workspaceHost is required (the demo workspace host for web-client posts)');
|
|
37
|
+
}
|
|
38
|
+
if (!deps.xoxcToken) {
|
|
39
|
+
throw new Error('LiveTestSlackCaller: xoxcToken is required (the member web-client token for chat.postMessage)');
|
|
40
|
+
}
|
|
41
|
+
if (!deps.dCookie) {
|
|
42
|
+
throw new Error('LiveTestSlackCaller: dCookie is required (the member `d` session cookie for chat.postMessage)');
|
|
43
|
+
}
|
|
44
|
+
if (!deps.botToken) {
|
|
45
|
+
throw new Error('LiveTestSlackCaller: botToken is required (the Bearer token for history/other reads)');
|
|
46
|
+
}
|
|
47
|
+
this.d = deps;
|
|
48
|
+
}
|
|
49
|
+
log(m) {
|
|
50
|
+
this.d.logger?.(`[live-test-slack-caller] ${m}`);
|
|
51
|
+
}
|
|
52
|
+
fetch() {
|
|
53
|
+
return this.d.fetchImpl ?? ((url, init) => fetch(url, init));
|
|
54
|
+
}
|
|
55
|
+
async call(method, params = {}) {
|
|
56
|
+
if (method === 'chat.postMessage') {
|
|
57
|
+
return this.postAsMember(params);
|
|
58
|
+
}
|
|
59
|
+
return this.callAsBot(method, params);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* POST AS THE MEMBER — Slack web-client auth: xoxc token in the form body + `d` cookie
|
|
63
|
+
* in the Cookie header, against the workspace host.
|
|
64
|
+
*/
|
|
65
|
+
async postAsMember(params) {
|
|
66
|
+
const form = new URLSearchParams();
|
|
67
|
+
form.set('token', this.d.xoxcToken);
|
|
68
|
+
// Slack web-client send envelope (matches post-as.mjs).
|
|
69
|
+
form.set('_x_reason', 'webapp_message_send');
|
|
70
|
+
form.set('_x_mode', 'online');
|
|
71
|
+
for (const [k, v] of Object.entries(params)) {
|
|
72
|
+
if (v === undefined)
|
|
73
|
+
continue; // skip undefined params (never serialize "undefined")
|
|
74
|
+
form.set(k, typeof v === 'string' ? v : String(v));
|
|
75
|
+
}
|
|
76
|
+
const url = `https://${this.d.workspaceHost}/api/chat.postMessage`;
|
|
77
|
+
const res = await this.fetch()(url, {
|
|
78
|
+
method: 'POST',
|
|
79
|
+
headers: {
|
|
80
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
81
|
+
Cookie: `d=${this.d.dCookie}`,
|
|
82
|
+
},
|
|
83
|
+
body: form.toString(),
|
|
84
|
+
});
|
|
85
|
+
const json = (await res.json());
|
|
86
|
+
this.log(`chat.postMessage AS member → ok=${json.ok} ts=${json.ts ?? ''}`);
|
|
87
|
+
return json;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Every other method goes over the clean Bearer bot-token path at slack.com — a JSON
|
|
91
|
+
* body, `Authorization: Bearer <botToken>`.
|
|
92
|
+
*/
|
|
93
|
+
async callAsBot(method, params) {
|
|
94
|
+
const body = {};
|
|
95
|
+
for (const [k, v] of Object.entries(params)) {
|
|
96
|
+
if (v === undefined)
|
|
97
|
+
continue; // skip undefined params
|
|
98
|
+
body[k] = v;
|
|
99
|
+
}
|
|
100
|
+
const url = `https://slack.com/api/${method}`;
|
|
101
|
+
const res = await this.fetch()(url, {
|
|
102
|
+
method: 'POST',
|
|
103
|
+
headers: {
|
|
104
|
+
Authorization: `Bearer ${this.d.botToken}`,
|
|
105
|
+
'Content-Type': 'application/json; charset=utf-8',
|
|
106
|
+
},
|
|
107
|
+
body: JSON.stringify(body),
|
|
108
|
+
});
|
|
109
|
+
const json = (await res.json());
|
|
110
|
+
this.log(`${method} (bot) → ok=${json.ok}`);
|
|
111
|
+
return json;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=LiveTestSlackCaller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveTestSlackCaller.js","sourceRoot":"","sources":["../../src/core/LiveTestSlackCaller.ts"],"names":[],"mappings":"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"}
|
|
@@ -874,6 +874,7 @@ export declare class PostUpdateMigrator {
|
|
|
874
874
|
private getPostActionReflectionHook;
|
|
875
875
|
private getExternalCommunicationGuardHook;
|
|
876
876
|
private getActionClaimFollowthroughHook;
|
|
877
|
+
private getPrHandLeaseGuardHook;
|
|
877
878
|
private getExternalOperationGateHook;
|
|
878
879
|
/**
|
|
879
880
|
* Apply the HTTP 408 ambiguous-outcome migration to an existing reply script
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA0CH,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAIjC;;;;;;GAMG;AACH,wBAAgB,4CAA4C,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcjF;AAuBD,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kCAAkC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAYnF;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAUnF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wCAAwC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAUjG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sCAAsC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAQ/F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wCAAwC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAgBjG;AAaD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAsB5F;AAgBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAwBzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAoB5F;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAiB;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAAiC;gBAEvC,MAAM,EAAE,cAAc;IAIlC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAItC;;;;;;OAMG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,CAAC;IAIjC,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,kBAAkB;IAO1B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IASpB;;;OAGG;IACH,OAAO,IAAI,eAAe;IAwE1B,OAAO,CAAC,gCAAgC;IAwCxC,OAAO,CAAC,8BAA8B;IAkFtC,OAAO,CAAC,6BAA6B;IA4DrC,OAAO,CAAC,yCAAyC;IA8DjD,OAAO,CAAC,0BAA0B;IAsFlC,OAAO,CAAC,wBAAwB;IAiFhC,OAAO,CAAC,sCAAsC;IAmE9C;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,uCAAuC;IAqC/C;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,0BAA0B;IAmFlC,OAAO,CAAC,0BAA0B;IAmDlC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kCAAkC;IAwH1C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,kCAAkC;IA8C1C;;;;;;;;OAQG;IACH,OAAO,CAAC,kCAAkC;IA2B1C,OAAO,CAAC,uBAAuB;IAwE/B,OAAO,CAAC,4CAA4C;IA+CpD;;;;;;;OAOG;IACH,OAAO,CAAC,iCAAiC;IA0BzC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,oCAAoC;IAmB5C;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,yCAAyC;IAWjD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,kCAAkC;IAW1C,OAAO,CAAC,yBAAyB;IA6FjC;;;;;;;;;;OAUG;IACG,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;YA4BhC,uBAAuB;IAkGrC,OAAO,CAAC,0BAA0B;IAkGlC,OAAO,CAAC,0BAA0B;IAoElC,OAAO,CAAC,oBAAoB;IAuH5B,OAAO,CAAC,8BAA8B;IA2EtC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,4BAA4B;IAwBpC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,sBAAsB;IAwB9B;;;;;;;;;OASG;IACH,OAAO,CAAC,wCAAwC;IAuBhD;;;;;;;;OAQG;IACH,OAAO,CAAC,2CAA2C;IAuBnD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,kCAAkC;IAuB1C;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,mCAAmC;IAmK3C;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,OAAO,CAAC,yBAAyB;IA4HjC;6EACyE;IACzE,OAAO,CAAC,wBAAwB;IAShC;sDACkD;IAClD,OAAO,CAAC,wBAAwB;IAQhC;;;;OAIG;IACH,OAAO,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2963,6 +2963,13 @@ export class PostUpdateMigrator {
|
|
|
2963
2963
|
catch (err) {
|
|
2964
2964
|
result.errors.push(`action-claim-followthrough.js: ${err instanceof Error ? err.message : String(err)}`);
|
|
2965
2965
|
}
|
|
2966
|
+
try {
|
|
2967
|
+
fs.writeFileSync(path.join(instarHooksDir, 'pr-hand-lease-guard.js'), this.getPrHandLeaseGuardHook(), { mode: 0o755 });
|
|
2968
|
+
result.upgraded.push('hooks/instar/pr-hand-lease-guard.js (parallel-hand PR-lease guard, PreToolUse Bash, fail-open)');
|
|
2969
|
+
}
|
|
2970
|
+
catch (err) {
|
|
2971
|
+
result.errors.push(`pr-hand-lease-guard.js: ${err instanceof Error ? err.message : String(err)}`);
|
|
2972
|
+
}
|
|
2966
2973
|
// Codex enforcement-hook registration (migration parity): existing Codex
|
|
2967
2974
|
// agents get the per-project .codex/hooks.json on update. installCodexHooks
|
|
2968
2975
|
// otherwise runs only via init's refreshHooksAndSettings — so without this an
|
|
@@ -3798,6 +3805,14 @@ setTimeout(() => process.exit(0), 2000);
|
|
|
3798
3805
|
patched = true;
|
|
3799
3806
|
result.upgraded.push('CLAUDE.md: added Action-Claim Follow-Through Sentinel section');
|
|
3800
3807
|
}
|
|
3808
|
+
// Parallel-Hand PR Lease (parallel-hand-pr-lease.md) — Agent Awareness + Migration
|
|
3809
|
+
// Parity: an agent that doesn't know this exists will be confused when a `git push`
|
|
3810
|
+
// stands down. Content-sniffed; idempotent.
|
|
3811
|
+
if (!content.includes('Parallel-Hand PR Lease')) {
|
|
3812
|
+
content += `\n- **Parallel-Hand PR Lease (dev-cycle infra, dev-gated dark).** When more than one of my own sessions runs at once, two of them can independently drive the same PR — each force-pushing over the other and restarting CI (the 2026-06-15 #1183 thrash). A per-branch LEASE prevents this: a PreToolUse Bash hook (\`pr-hand-lease-guard.js\`) checks, before a \`git push\`, whether another LIVE session of mine already owns that branch's lease (via \`POST /pr-leases/evaluate\`); if so the second hand STANDS DOWN instead of pushing a competing commit. Keyed on the conversation TOPIC (survives session respawn), one process-wide lock + atomic-CAS takeover, TTL + dead-holder auto-heal + a 90m ceiling so it can never wedge, and FAIL-OPEN on every uncertainty (corrupt state, server down, hook crash → the push is allowed; a broken guard never blocks). Coordinates my OWN cooperating hands only — never authority over a principal, a human action always wins. Who owns a branch's lease? \`GET /pr-leases\` (Registry First). Dev-gated dark + dryRun-first (\`monitoring.prHandLease\`); single-session agents are a no-op. Proactive: user asks "why did my push get blocked / stand down?" → another live hand of mine holds that branch's lease; it lands as a follow-up once that hand releases.\n`;
|
|
3813
|
+
patched = true;
|
|
3814
|
+
result.upgraded.push('CLAUDE.md: added Parallel-Hand PR Lease section');
|
|
3815
|
+
}
|
|
3801
3816
|
// Outbound advisory (outbound-jargon-filepath-gap §5) — the inform-only
|
|
3802
3817
|
// preflight for automated job sends. An agent that never learns what a
|
|
3803
3818
|
// "NOT SENT — advisory" transcript line means will treat it as an error
|
|
@@ -10521,6 +10536,95 @@ process.stdin.on('end', async () => {
|
|
|
10521
10536
|
process.exit(0); // ALWAYS exit 0 — never block a turn
|
|
10522
10537
|
});
|
|
10523
10538
|
})();
|
|
10539
|
+
`;
|
|
10540
|
+
}
|
|
10541
|
+
getPrHandLeaseGuardHook() {
|
|
10542
|
+
return `#!/usr/bin/env node
|
|
10543
|
+
// Parallel-Hand PR Lease guard — PreToolUse Bash hook (spec: parallel-hand-pr-lease.md).
|
|
10544
|
+
//
|
|
10545
|
+
// Before a session runs \`git push\`, this asks the server whether another LIVE
|
|
10546
|
+
// session of THIS agent already owns that branch's lease; if so the server says
|
|
10547
|
+
// deny and this hook exits 2 (blocks the push). Coordinates the agent's OWN
|
|
10548
|
+
// cooperating hands only — never authority over a principal. Dev-gated + dryRun.
|
|
10549
|
+
//
|
|
10550
|
+
// FAIL-OPEN is the load-bearing safety property: the ENTIRE body is wrapped so
|
|
10551
|
+
// that ANY error (bad stdin, no config, server down/slow, internal throw) exits 0
|
|
10552
|
+
// (ALLOW). A PreToolUse hook that exits non-zero blocks the command, so a crashing
|
|
10553
|
+
// guard must never lock out every push (the hook-event-reporter.js lockout class).
|
|
10554
|
+
//
|
|
10555
|
+
// ESM-safe: node:fs via await import() inside the async handler (works in CJS+ESM).
|
|
10556
|
+
|
|
10557
|
+
let data = '';
|
|
10558
|
+
process.stdin.on('data', (chunk) => (data += chunk));
|
|
10559
|
+
process.stdin.on('end', async () => {
|
|
10560
|
+
try {
|
|
10561
|
+
const input = JSON.parse(data || '{}');
|
|
10562
|
+
// Only gate the Bash tool, and only a literal \`git push\` in the command.
|
|
10563
|
+
if (input.tool_name !== 'Bash') process.exit(0);
|
|
10564
|
+
const command = (input.tool_input && input.tool_input.command) || '';
|
|
10565
|
+
if (typeof command !== 'string' || !/\\bgit\\b[^\\n;&|]*\\bpush\\b/.test(command)) process.exit(0);
|
|
10566
|
+
|
|
10567
|
+
const { readFileSync } = await import('node:fs');
|
|
10568
|
+
const { join } = await import('node:path');
|
|
10569
|
+
let serverPort = 4040;
|
|
10570
|
+
let authToken = '';
|
|
10571
|
+
let enabled = false;
|
|
10572
|
+
try {
|
|
10573
|
+
const cfg = JSON.parse(readFileSync(join(process.env.CLAUDE_PROJECT_DIR || '.', '.instar', 'config.json'), 'utf-8'));
|
|
10574
|
+
serverPort = cfg.port || 4040;
|
|
10575
|
+
authToken = cfg.authToken || '';
|
|
10576
|
+
// Dev-gated dark: only the development agent runs the guard (matches the route gate).
|
|
10577
|
+
enabled = !!(cfg.developmentAgent === true || (cfg.monitoring && cfg.monitoring.prHandLease));
|
|
10578
|
+
} catch {}
|
|
10579
|
+
if (!enabled) process.exit(0);
|
|
10580
|
+
|
|
10581
|
+
const topicRaw = process.env.INSTAR_TELEGRAM_TOPIC;
|
|
10582
|
+
// INSTAR_SESSION_NAME is injected = the tmux session name (SessionManager spawn),
|
|
10583
|
+
// which is exactly what the store's running-set probe matches on (M-C consistency).
|
|
10584
|
+
const sessionName = process.env.INSTAR_SESSION_NAME || '';
|
|
10585
|
+
if (!topicRaw || !sessionName) process.exit(0); // can't evaluate → fail-open
|
|
10586
|
+
const topicId = parseInt(topicRaw, 10);
|
|
10587
|
+
if (!Number.isFinite(topicId)) process.exit(0);
|
|
10588
|
+
const cwd = input.cwd || process.env.CLAUDE_PROJECT_DIR || process.cwd();
|
|
10589
|
+
|
|
10590
|
+
const controller = new AbortController();
|
|
10591
|
+
const timeout = setTimeout(() => controller.abort(), 5000);
|
|
10592
|
+
let decision = 'allow';
|
|
10593
|
+
let body = null;
|
|
10594
|
+
try {
|
|
10595
|
+
const resp = await fetch('http://127.0.0.1:' + serverPort + '/pr-leases/evaluate', {
|
|
10596
|
+
method: 'POST',
|
|
10597
|
+
headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + authToken },
|
|
10598
|
+
body: JSON.stringify({ command, cwd, topicId, sessionName }),
|
|
10599
|
+
signal: controller.signal,
|
|
10600
|
+
});
|
|
10601
|
+
body = await resp.json();
|
|
10602
|
+
decision = (body && body.decision) || 'allow';
|
|
10603
|
+
} catch {
|
|
10604
|
+
// server down/slow/timeout → fail-open (never block a push on a transient).
|
|
10605
|
+
process.exit(0);
|
|
10606
|
+
} finally {
|
|
10607
|
+
clearTimeout(timeout);
|
|
10608
|
+
}
|
|
10609
|
+
|
|
10610
|
+
if (decision === 'deny') {
|
|
10611
|
+
const h = (body && body.holder) || {};
|
|
10612
|
+
const who = h.holderTopicId ? ('topic ' + h.holderTopicId + (h.intent ? ' (' + h.intent + ')' : '')) : 'another live session';
|
|
10613
|
+
process.stderr.write(
|
|
10614
|
+
'pr-hand-lease: another live hand (' + who + ') holds this branch\\'s push lease. ' +
|
|
10615
|
+
'Standing down to avoid a competing push. If your change is genuinely distinct, ' +
|
|
10616
|
+
'land it as a follow-up commit/PR once that hand releases.\\n'
|
|
10617
|
+
);
|
|
10618
|
+
process.exit(2); // block the push
|
|
10619
|
+
}
|
|
10620
|
+
process.exit(0); // allow / escalate / dryRun-would-deny → never block here
|
|
10621
|
+
} catch {
|
|
10622
|
+
process.exit(0); // own-crash fail-open — a broken guard must never block a push
|
|
10623
|
+
}
|
|
10624
|
+
});
|
|
10625
|
+
|
|
10626
|
+
// Backstop: if stdin never ends, never hang the tool — allow after a bounded wait.
|
|
10627
|
+
setTimeout(() => process.exit(0), 8000);
|
|
10524
10628
|
`;
|
|
10525
10629
|
}
|
|
10526
10630
|
getExternalOperationGateHook() {
|