instar 1.0.9 → 1.0.11
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/core/IdentityRenderer.js +2 -2
- package/dist/core/IdentityRenderer.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +16 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +75 -9
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/types.d.ts +13 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +17 -17
- package/upgrades/1.0.10.md +55 -0
- package/upgrades/1.0.11.md +61 -0
- package/upgrades/side-effects/feat-portability-framework-gate.md +62 -0
- package/upgrades/side-effects/feat-portability-neutral-relay-path.md +61 -0
|
@@ -119,12 +119,12 @@ function buildPersistentRelayAppendix(framework) {
|
|
|
119
119
|
`Every Telegram message you receive arrives prefixed \`[telegram:N "topic name" from User]\`. After responding, you MUST run this exact bash command to send the user your reply — without it, the user only sees sentinel messages and thinks you ignored them:`,
|
|
120
120
|
``,
|
|
121
121
|
'```bash',
|
|
122
|
-
`cat <<'EOF' | .
|
|
122
|
+
`cat <<'EOF' | .instar/scripts/telegram-reply.sh N`,
|
|
123
123
|
`Your conversational response text here.`,
|
|
124
124
|
`EOF`,
|
|
125
125
|
'```',
|
|
126
126
|
``,
|
|
127
|
-
`(Replace \`N\` with the topic id from the prefix.)`,
|
|
127
|
+
`(Replace \`N\` with the topic id from the prefix. If \`.instar/scripts/telegram-reply.sh\` is missing on an older install, fall back to \`.claude/scripts/telegram-reply.sh\`.)`,
|
|
128
128
|
``,
|
|
129
129
|
`Rules:`,
|
|
130
130
|
`- Strip the \`[telegram:N]\` prefix before interpreting the message.`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentityRenderer.js","sourceRoot":"","sources":["../../src/core/IdentityRenderer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"IdentityRenderer.js","sourceRoot":"","sources":["../../src/core/IdentityRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA2B;IAC5D,aAAa,EAAE,WAAW;IAC1B,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,WAAW;CAC1B,CAAC;AAEF,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAE9E,SAAS,SAAS,CAAC,SAAiB,EAAE,aAAqB;IACzD,OAAO;QACL,MAAM;QACN,gDAAgD;QAChD,sBAAsB,aAAa,EAAE;QACrC,gBAAgB,SAAS,EAAE;QAC3B,EAAE;QACF,qEAAqE;QACrE,kDAAkD;QAClD,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AA0CD,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,qBAAqB,CAC7B,+CAA+C;cAC7C,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM;cAC7D,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CACjD,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAEtF,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,OAAO,CAAC,wBAAwB;YACpD,CAAC,CAAC,MAAM,GAAG,4BAA4B,CAAC,SAAS,CAAC;YAClD,CAAC,CAAC,EAAE,CAAC;QACP,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,EAAE,OAAO,CAAC,CAAC;QACpE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,4BAA4B,CAAC,SAAiB;IACrD,MAAM,OAAO,GAAG,SAAS,KAAK,WAAW,CAAC;IAC1C,OAAO;QACL,+BAA+B;QAC/B,EAAE;QACF,iQAAiQ;QACjQ,EAAE;QACF,SAAS;QACT,mDAAmD;QACnD,yCAAyC;QACzC,KAAK;QACL,KAAK;QACL,EAAE;QACF,iLAAiL;QACjL,EAAE;QACF,QAAQ;QACR,sEAAsE;QACtE,sFAAsF;QACtF,sGAAsG;QACtG,OAAO;YACL,CAAC,CAAC,oLAAoL;YACtL,CAAC,CAAC,yHAAyH;KAC9H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,UAAkB,EAAE,QAAiB;IAC1D,MAAM,UAAU,GAAG;QACjB,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;KAClC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAE9C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,UAAkB;IAC/D,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC3E,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAAkB,EAClB,SAAiB,EACjB,UAAqE,EAAE;IAEvE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEnD,uEAAuE;IACvE,oEAAoE;IACpE,uEAAuE;IACvE,gEAAgE;IAChE,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,CAAC;oBACvD,OAAO,IAAI,CAAC,CAAC,qBAAqB;gBACpC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;YACD,+BAA+B;QACjC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,gEAAgE;IAChE,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ;QAC3D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC;QACzC,CAAC,CAAC,SAAS,CAAC,CAAC;IACf,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,0BAA0B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI,YAAY,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IACzC,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC;QAC5B,UAAU;QACV,UAAU,EAAE,CAAC,SAAS,CAAC;QACvB,UAAU,EAAE,OAAO,CAAC,QAAQ;YAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC;YACzC,CAAC,CAAC,SAAS;QACb,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;KAC3D,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,8BAA8B,CAC5C,UAAkB,EAClB,UAAqE,EAAE;IAEvE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAC1D,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,aAAa,CAC7B,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ;QACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC;QACzC,CAAC,CAAC,SAAS,CAAC;IACd,sEAAsE;IACtE,IAAI,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,cAAc,CAAC;YAC5B,UAAU;YACV,UAAU,EAAE,SAAS;YACrB,UAAU;YACV,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;SAC3D,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,cAAc,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;QACvE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAkB,EAClB,UAAiC,EAAE;IAEnC,MAAM,SAAS,GAAG,8BAA8B,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,cAAc,GAAG,sBAAsB,CAAC,SAAS,CAAE,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAEzD,IAAI,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACnD,qEAAqE;IACrE,4BAA4B;IAC5B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACtE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpD,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -45,6 +45,22 @@ export declare class PostUpdateMigrator {
|
|
|
45
45
|
*/
|
|
46
46
|
private stepEngine;
|
|
47
47
|
constructor(config: MigratorConfig);
|
|
48
|
+
/**
|
|
49
|
+
* Resolve the set of frameworks this install actively uses, read from
|
|
50
|
+
* the persisted `.instar/config.json` `enabledFrameworks` field.
|
|
51
|
+
*
|
|
52
|
+
* Default (unset / empty / unreadable): `['claude-code']` — the
|
|
53
|
+
* historical behavior, so existing and dual-framework installs are
|
|
54
|
+
* unaffected. A Codex-only install sets `enabledFrameworks:
|
|
55
|
+
* ['codex-cli']`, which makes framework-specific migration steps that
|
|
56
|
+
* scaffold `.claude/`-only artifacts skip cleanly instead of writing
|
|
57
|
+
* files that runtime will never read.
|
|
58
|
+
*
|
|
59
|
+
* Single source of truth for the migrator's framework gating — both
|
|
60
|
+
* the parity-renderings backfill and the legacy `.claude/`-specific
|
|
61
|
+
* steps consult this.
|
|
62
|
+
*/
|
|
63
|
+
private getEnabledFrameworks;
|
|
48
64
|
/**
|
|
49
65
|
* F-7 atomic-step primitive: register a step that will run once on
|
|
50
66
|
* the release boundary where `step.version <= toVersion`. Idempotent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA8BH,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAIjC,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,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAiB;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAAiC;gBAEvC,MAAM,EAAE,cAAc;IAIlC;;;;;;;;;;;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;;;OAGG;IACH,OAAO,IAAI,eAAe;IA+C1B,OAAO,CAAC,4CAA4C;IA4CpD;;;;;;;;;;OAUG;IACG,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;YA4BhC,uBAAuB;
|
|
1
|
+
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,37 @@ export class PostUpdateMigrator {
|
|
|
52
52
|
constructor(config) {
|
|
53
53
|
this.config = config;
|
|
54
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Resolve the set of frameworks this install actively uses, read from
|
|
57
|
+
* the persisted `.instar/config.json` `enabledFrameworks` field.
|
|
58
|
+
*
|
|
59
|
+
* Default (unset / empty / unreadable): `['claude-code']` — the
|
|
60
|
+
* historical behavior, so existing and dual-framework installs are
|
|
61
|
+
* unaffected. A Codex-only install sets `enabledFrameworks:
|
|
62
|
+
* ['codex-cli']`, which makes framework-specific migration steps that
|
|
63
|
+
* scaffold `.claude/`-only artifacts skip cleanly instead of writing
|
|
64
|
+
* files that runtime will never read.
|
|
65
|
+
*
|
|
66
|
+
* Single source of truth for the migrator's framework gating — both
|
|
67
|
+
* the parity-renderings backfill and the legacy `.claude/`-specific
|
|
68
|
+
* steps consult this.
|
|
69
|
+
*/
|
|
70
|
+
getEnabledFrameworks() {
|
|
71
|
+
try {
|
|
72
|
+
const configPath = path.join(this.config.stateDir, 'config.json');
|
|
73
|
+
const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
74
|
+
const enabled = config.enabledFrameworks;
|
|
75
|
+
if (Array.isArray(enabled) && enabled.length > 0) {
|
|
76
|
+
const filtered = enabled.filter((f) => f === 'claude-code' || f === 'codex-cli');
|
|
77
|
+
if (filtered.length > 0)
|
|
78
|
+
return filtered;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// fall through to default
|
|
83
|
+
}
|
|
84
|
+
return ['claude-code'];
|
|
85
|
+
}
|
|
55
86
|
/**
|
|
56
87
|
* F-7 atomic-step primitive: register a step that will run once on
|
|
57
88
|
* the release boundary where `step.version <= toVersion`. Idempotent
|
|
@@ -237,15 +268,8 @@ export class PostUpdateMigrator {
|
|
|
237
268
|
// Lazy-import registry so PostUpdateMigrator doesn't pull the entire
|
|
238
269
|
// parity graph at startup for agents that never invoke migrate().
|
|
239
270
|
const { listParityRules } = await import('../providers/parity/registry.js');
|
|
240
|
-
//
|
|
241
|
-
|
|
242
|
-
const frameworks = (() => {
|
|
243
|
-
const enabled = config.enabledFrameworks;
|
|
244
|
-
if (Array.isArray(enabled) && enabled.length > 0) {
|
|
245
|
-
return enabled.filter(f => f === 'claude-code' || f === 'codex-cli');
|
|
246
|
-
}
|
|
247
|
-
return ['claude-code'];
|
|
248
|
-
})();
|
|
271
|
+
// Single source of truth for framework gating (see getEnabledFrameworks).
|
|
272
|
+
const frameworks = this.getEnabledFrameworks();
|
|
249
273
|
const rules = listParityRules();
|
|
250
274
|
let renderedCount = 0;
|
|
251
275
|
let skippedCount = 0;
|
|
@@ -2040,6 +2064,37 @@ The user has been talking to you (possibly for days). A generic greeting like "H
|
|
|
2040
2064
|
result,
|
|
2041
2065
|
});
|
|
2042
2066
|
}
|
|
2067
|
+
// Framework-neutral mirror (portability audit Gap 4). The SessionStart
|
|
2068
|
+
// hook and the IdentityRenderer relay appendix prefer
|
|
2069
|
+
// `.instar/scripts/telegram-reply.sh` because `.instar/` exists for
|
|
2070
|
+
// every runtime, whereas `.claude/scripts/` only exists for Claude
|
|
2071
|
+
// Code. Before this, the script was installed ONLY under
|
|
2072
|
+
// `.claude/scripts/`, so the neutral preference never resolved and a
|
|
2073
|
+
// Codex/Gemini install was told (via AGENTS.md) to run a script that
|
|
2074
|
+
// did not exist. Mirror the same generated content to the neutral
|
|
2075
|
+
// location, install-if-missing + SHA-migrate, identical semantics to
|
|
2076
|
+
// the `.claude/scripts/` copy above.
|
|
2077
|
+
const neutralScriptsDir = path.join(this.config.stateDir, 'scripts');
|
|
2078
|
+
try {
|
|
2079
|
+
fs.mkdirSync(neutralScriptsDir, { recursive: true });
|
|
2080
|
+
const neutralScriptPath = path.join(neutralScriptsDir, 'telegram-reply.sh');
|
|
2081
|
+
if (!fs.existsSync(neutralScriptPath)) {
|
|
2082
|
+
fs.writeFileSync(neutralScriptPath, newContent, { mode: 0o755 });
|
|
2083
|
+
result.upgraded.push('.instar/scripts/telegram-reply.sh (framework-neutral relay)');
|
|
2084
|
+
}
|
|
2085
|
+
else {
|
|
2086
|
+
this.migrateReplyScriptToPortConfig({
|
|
2087
|
+
scriptPath: neutralScriptPath,
|
|
2088
|
+
newContent,
|
|
2089
|
+
label: '.instar/scripts/telegram-reply.sh',
|
|
2090
|
+
stateDir: this.config.stateDir,
|
|
2091
|
+
result,
|
|
2092
|
+
});
|
|
2093
|
+
}
|
|
2094
|
+
}
|
|
2095
|
+
catch (err) {
|
|
2096
|
+
result.errors.push(`.instar/scripts/telegram-reply.sh: ${err instanceof Error ? err.message : String(err)}`);
|
|
2097
|
+
}
|
|
2043
2098
|
}
|
|
2044
2099
|
// Slack reply script — file-presence gated (migrator has no hasSlack
|
|
2045
2100
|
// signal and init.ts doesn't install this one; scripts get deployed
|
|
@@ -2095,6 +2150,17 @@ The user has been talking to you (possibly for days). A generic greeting like "H
|
|
|
2095
2150
|
* Migrates legacy PostToolUse/Notification hooks to proper SessionStart type.
|
|
2096
2151
|
*/
|
|
2097
2152
|
migrateSettings(result) {
|
|
2153
|
+
// Framework gate (portability audit Gap 5). `.claude/settings.json` is
|
|
2154
|
+
// Claude Code's hook/MCP configuration — it has zero meaning for a
|
|
2155
|
+
// Codex-only runtime. Skip the entire step when claude-code is not in
|
|
2156
|
+
// the enabled set so a Codex-only install is not scaffolded with
|
|
2157
|
+
// `.claude/` artifacts it will never read. Default (unset config) is
|
|
2158
|
+
// ['claude-code'], so existing and dual-framework installs are
|
|
2159
|
+
// unaffected.
|
|
2160
|
+
if (!this.getEnabledFrameworks().includes('claude-code')) {
|
|
2161
|
+
result.skipped.push('.claude/settings.json (skipped — claude-code not in enabledFrameworks)');
|
|
2162
|
+
return;
|
|
2163
|
+
}
|
|
2098
2164
|
const settingsPath = path.join(this.config.projectDir, '.claude', 'settings.json');
|
|
2099
2165
|
if (!fs.existsSync(settingsPath)) {
|
|
2100
2166
|
result.skipped.push('.claude/settings.json (not found — will be created on next init)');
|