@codyswann/lisa 2.226.2 → 2.228.0
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/all/copy-contents/gitignore +2 -0
- package/dist/cli/ui-cmd.d.ts +21 -1
- package/dist/cli/ui-cmd.d.ts.map +1 -1
- package/dist/cli/ui-cmd.js +49 -3
- package/dist/cli/ui-cmd.js.map +1 -1
- package/dist/core/lisa.d.ts +74 -1
- package/dist/core/lisa.d.ts.map +1 -1
- package/dist/core/lisa.js +165 -25
- package/dist/core/lisa.js.map +1 -1
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/rules/eager/history-audit.md +27 -0
- package/plugins/lisa/rules/reference/history-audit.md +42 -0
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/rules/eager/history-audit.md +27 -0
- package/plugins/lisa-copilot/rules/reference/history-audit.md +42 -0
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/rules/history-audit-reference.mdc +47 -0
- package/plugins/lisa-cursor/rules/history-audit.mdc +32 -0
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/src/base/rules/eager/history-audit.md +27 -0
- package/plugins/src/base/rules/reference/history-audit.md +42 -0
- package/scripts/install-claude-plugins.sh +89 -9
- package/ui/README.md +1 -0
- package/ui/index.html +143 -8
package/ui/index.html
CHANGED
|
@@ -1259,6 +1259,7 @@
|
|
|
1259
1259
|
"stacks",
|
|
1260
1260
|
"starters",
|
|
1261
1261
|
"agents",
|
|
1262
|
+
"remote",
|
|
1262
1263
|
],
|
|
1263
1264
|
},
|
|
1264
1265
|
{
|
|
@@ -2348,6 +2349,33 @@
|
|
|
2348
2349
|
],
|
|
2349
2350
|
};
|
|
2350
2351
|
|
|
2352
|
+
/* -------------------------- Remote environment -------------------------- */
|
|
2353
|
+
DATA.sections.remote = {
|
|
2354
|
+
title: "Remote Environment",
|
|
2355
|
+
desc: "AWS CLI bootstrap readiness for the project's active remote coding agents. Secret values are never sent to the browser — the console receives presence checks only.",
|
|
2356
|
+
src: "scripts/remote-agent-aws-setup.sh · remote platform environments",
|
|
2357
|
+
blocks: [
|
|
2358
|
+
{
|
|
2359
|
+
type: "table",
|
|
2360
|
+
card: "Variables",
|
|
2361
|
+
note: "Set status reflects variables visible to the lisa ui process; values remain hidden",
|
|
2362
|
+
cols: ["Variable", "Purpose", "Status"],
|
|
2363
|
+
rows: [],
|
|
2364
|
+
},
|
|
2365
|
+
{
|
|
2366
|
+
type: "table",
|
|
2367
|
+
card: "Startup Script",
|
|
2368
|
+
note: "Only agents enabled by the current harness are listed",
|
|
2369
|
+
cols: ["Agent", "Remote environment setup", "Project artifact"],
|
|
2370
|
+
rows: [],
|
|
2371
|
+
},
|
|
2372
|
+
{
|
|
2373
|
+
type: "callout",
|
|
2374
|
+
text: "<b>One bootstrap bundle, renewable sessions.</b> Store the complete Secrets Manager value as <code>LISA_AWS_BOOTSTRAP_JSON</code>. Each startup command writes the assume-only source credential and renewable role profiles; do not configure <code>AWS_ACCESS_KEY_ID</code> or <code>AWS_SECRET_ACCESS_KEY</code> directly.",
|
|
2375
|
+
},
|
|
2376
|
+
],
|
|
2377
|
+
};
|
|
2378
|
+
|
|
2351
2379
|
/* ---------------------------------- Tracker ---------------------------------- */
|
|
2352
2380
|
DATA.sections.tracker = {
|
|
2353
2381
|
title: "Work tracker",
|
|
@@ -5783,16 +5811,123 @@
|
|
|
5783
5811
|
if (control.type === "static" && typeof value === "string")
|
|
5784
5812
|
control.value = value;
|
|
5785
5813
|
}
|
|
5814
|
+
const REMOTE_AGENT_ORDER = [
|
|
5815
|
+
"claude",
|
|
5816
|
+
"codex",
|
|
5817
|
+
"cursor",
|
|
5818
|
+
"agy",
|
|
5819
|
+
"copilot",
|
|
5820
|
+
"opencode",
|
|
5821
|
+
];
|
|
5822
|
+
const REMOTE_STARTUP = {
|
|
5823
|
+
claude: {
|
|
5824
|
+
command:
|
|
5825
|
+
"LISA_REMOTE_AGENT=claude bash scripts/remote-agent-aws-setup.sh",
|
|
5826
|
+
artifacts: ["scripts/remote-agent-aws-setup.sh"],
|
|
5827
|
+
},
|
|
5828
|
+
codex: {
|
|
5829
|
+
command:
|
|
5830
|
+
"LISA_REMOTE_AGENT=codex bash scripts/remote-agent-aws-setup.sh",
|
|
5831
|
+
artifacts: ["scripts/remote-agent-aws-setup.sh"],
|
|
5832
|
+
},
|
|
5833
|
+
cursor: {
|
|
5834
|
+
command:
|
|
5835
|
+
".cursor/environment.json → LISA_REMOTE_AGENT=cursor bash scripts/remote-agent-aws-setup.sh",
|
|
5836
|
+
artifacts: [
|
|
5837
|
+
"scripts/remote-agent-aws-setup.sh",
|
|
5838
|
+
".cursor/environment.json",
|
|
5839
|
+
],
|
|
5840
|
+
},
|
|
5841
|
+
agy: {
|
|
5842
|
+
command:
|
|
5843
|
+
"LISA_REMOTE_AGENT=agy bash scripts/remote-agent-aws-setup.sh (user-managed host)",
|
|
5844
|
+
artifacts: ["scripts/remote-agent-aws-setup.sh"],
|
|
5845
|
+
},
|
|
5846
|
+
copilot: {
|
|
5847
|
+
command:
|
|
5848
|
+
".github/workflows/copilot-setup-steps.yml → bash scripts/remote-agent-aws-setup.sh",
|
|
5849
|
+
artifacts: [
|
|
5850
|
+
"scripts/remote-agent-aws-setup.sh",
|
|
5851
|
+
".github/workflows/copilot-setup-steps.yml",
|
|
5852
|
+
],
|
|
5853
|
+
},
|
|
5854
|
+
opencode: {
|
|
5855
|
+
command:
|
|
5856
|
+
"LISA_REMOTE_AGENT=opencode bash scripts/remote-agent-aws-setup.sh (opencode serve host)",
|
|
5857
|
+
artifacts: ["scripts/remote-agent-aws-setup.sh"],
|
|
5858
|
+
},
|
|
5859
|
+
};
|
|
5860
|
+
function configureRemoteEnvironment(cfg) {
|
|
5861
|
+
const snapshot = window.LISA_REMOTE_ENVIRONMENT || {
|
|
5862
|
+
variables: {},
|
|
5863
|
+
artifacts: {},
|
|
5864
|
+
};
|
|
5865
|
+
const harness = cfg && cfg.harness ? cfg.harness : "fleet";
|
|
5866
|
+
const activeAgents =
|
|
5867
|
+
harness === "fleet" || harness === "all"
|
|
5868
|
+
? REMOTE_AGENT_ORDER
|
|
5869
|
+
: REMOTE_AGENT_ORDER.includes(harness)
|
|
5870
|
+
? [harness]
|
|
5871
|
+
: ["claude"];
|
|
5872
|
+
const variableRows = [
|
|
5873
|
+
[
|
|
5874
|
+
"LISA_AWS_BOOTSTRAP_JSON",
|
|
5875
|
+
"Required secret — complete vendor-neutral bootstrap bundle",
|
|
5876
|
+
],
|
|
5877
|
+
[
|
|
5878
|
+
"LISA_REMOTE_AGENT",
|
|
5879
|
+
"Platform label used as the AWS role session name (startup commands set it inline)",
|
|
5880
|
+
],
|
|
5881
|
+
[
|
|
5882
|
+
"LISA_AWS_DEFAULT_PROFILE",
|
|
5883
|
+
"Optional default account profile; dev is used when unset",
|
|
5884
|
+
],
|
|
5885
|
+
].map(([name, purpose]) => {
|
|
5886
|
+
const isSet = snapshot.variables[name] === true;
|
|
5887
|
+
return [
|
|
5888
|
+
{ t: "mono", v: name },
|
|
5889
|
+
{ t: "text", v: purpose },
|
|
5890
|
+
{
|
|
5891
|
+
t: "badge",
|
|
5892
|
+
v: isSet ? "set" : "not set",
|
|
5893
|
+
cls: isSet
|
|
5894
|
+
? "pass"
|
|
5895
|
+
: name.endsWith("DEFAULT_PROFILE")
|
|
5896
|
+
? "warn"
|
|
5897
|
+
: "fail",
|
|
5898
|
+
},
|
|
5899
|
+
];
|
|
5900
|
+
});
|
|
5901
|
+
const startupRows = activeAgents.map(agent => {
|
|
5902
|
+
const startup = REMOTE_STARTUP[agent];
|
|
5903
|
+
const ready = startup.artifacts.every(
|
|
5904
|
+
artifact => snapshot.artifacts[artifact] === true
|
|
5905
|
+
);
|
|
5906
|
+
return [
|
|
5907
|
+
{ t: "mono", v: agent },
|
|
5908
|
+
{ t: "mono", v: startup.command },
|
|
5909
|
+
{
|
|
5910
|
+
t: "badge",
|
|
5911
|
+
v: ready ? "installed" : "missing",
|
|
5912
|
+
cls: ready ? "pass" : "fail",
|
|
5913
|
+
},
|
|
5914
|
+
];
|
|
5915
|
+
});
|
|
5916
|
+
DATA.sections.remote.blocks[0].rows = variableRows;
|
|
5917
|
+
DATA.sections.remote.blocks[1].rows = startupRows;
|
|
5918
|
+
}
|
|
5786
5919
|
function hydrateFromLiveConfig() {
|
|
5787
|
-
const cfg = window.LISA_LIVE_CONFIG;
|
|
5788
|
-
if (
|
|
5789
|
-
|
|
5790
|
-
|
|
5791
|
-
|
|
5792
|
-
|
|
5793
|
-
|
|
5920
|
+
const cfg = window.LISA_LIVE_CONFIG || {};
|
|
5921
|
+
if (window.LISA_LIVE_CONFIG) {
|
|
5922
|
+
Object.values(DATA.sections).forEach(section => {
|
|
5923
|
+
walkRows(section.blocks, row => {
|
|
5924
|
+
if (!row.key || !row.control) return;
|
|
5925
|
+
const value = liveGet(cfg, row.key);
|
|
5926
|
+
if (value !== undefined) hydrateControl(row.control, value);
|
|
5927
|
+
});
|
|
5794
5928
|
});
|
|
5795
|
-
}
|
|
5929
|
+
}
|
|
5930
|
+
configureRemoteEnvironment(cfg);
|
|
5796
5931
|
const repoEl = document.querySelector(".project-switch .repo");
|
|
5797
5932
|
if (repoEl && cfg.github && cfg.github.org && cfg.github.repo) {
|
|
5798
5933
|
repoEl.textContent = cfg.github.org + "/" + cfg.github.repo;
|