@hasna/instructions 0.7.5 → 0.7.7
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/README.md +6 -0
- package/dist/chunks/{apply-xraar7p0.js → apply-33g17x4y.js} +2 -2
- package/dist/chunks/{apply-1cpkx082.js → apply-f9f2sp7y.js} +2 -2
- package/dist/chunks/{index-16j8x10s.js → index-95xa9crj.js} +1369 -36
- package/dist/chunks/{index-src5t3my.js → index-avd1s9kz.js} +1 -1
- package/dist/chunks/{index-x0v4m19f.js → index-c3s70n0a.js} +1 -1
- package/dist/chunks/{index-6qfy0542.js → index-m2mh1xew.js} +1481 -64
- package/dist/chunks/{index-rvb4znxa.js → index-mfrc04ts.js} +2 -2
- package/dist/chunks/{index-ysnp8y58.js → index-wmwrjr19.js} +2 -2
- package/dist/chunks/{local-66fck74w.js → local-7wqy2ywb.js} +1 -1
- package/dist/chunks/{local-jqfx3kbq.js → local-nbck7fs2.js} +1 -1
- package/dist/chunks/{sync-8763n4sc.js → sync-d3be8nk3.js} +3 -3
- package/dist/chunks/{sync-8ca3ew84.js → sync-gzrb11dj.js} +3 -3
- package/dist/cli/index.js +39 -11
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1618 -188
- package/dist/lib/instruction-graph.d.ts.map +1 -1
- package/dist/lib/session-apply.d.ts.map +1 -1
- package/dist/lib/session-refresh.d.ts.map +1 -1
- package/dist/lib/session-render.d.ts +16 -0
- package/dist/lib/session-render.d.ts.map +1 -1
- package/dist/lib/station-profile.d.ts.map +1 -1
- package/dist/mcp/index.js +9 -8
- package/dist/server/index.js +1352 -25
- package/package.json +3 -2
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
expandPath,
|
|
6
6
|
getConfigHome,
|
|
7
7
|
normalizeTargetPath
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-avd1s9kz.js";
|
|
9
9
|
import {
|
|
10
10
|
applyTransform,
|
|
11
11
|
detectMachineContext,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
resolveConfigStore,
|
|
14
14
|
retiredOrUnsupportedAgentReason,
|
|
15
15
|
templateizeMachineContent
|
|
16
|
-
} from "./index-
|
|
16
|
+
} from "./index-95xa9crj.js";
|
|
17
17
|
import {
|
|
18
18
|
isSecretVarName,
|
|
19
19
|
redactContent,
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
expandPath,
|
|
6
6
|
getConfigHome,
|
|
7
7
|
normalizeTargetPath
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-c3s70n0a.js";
|
|
9
9
|
import {
|
|
10
10
|
applyTransform,
|
|
11
11
|
detectMachineContext,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
resolveConfigStore,
|
|
17
17
|
retiredOrUnsupportedAgentReason,
|
|
18
18
|
templateizeMachineContent
|
|
19
|
-
} from "./index-
|
|
19
|
+
} from "./index-m2mh1xew.js";
|
|
20
20
|
|
|
21
21
|
// src/lib/sync.ts
|
|
22
22
|
import { existsSync as existsSync2, readdirSync as readdirSync2, readFileSync as readFileSync2 } from "fs";
|
|
@@ -12,9 +12,9 @@ import {
|
|
|
12
12
|
syncProject,
|
|
13
13
|
syncToDir,
|
|
14
14
|
syncToDisk
|
|
15
|
-
} from "./index-
|
|
16
|
-
import"./index-
|
|
17
|
-
import"./index-
|
|
15
|
+
} from "./index-wmwrjr19.js";
|
|
16
|
+
import"./index-c3s70n0a.js";
|
|
17
|
+
import"./index-m2mh1xew.js";
|
|
18
18
|
import"./index-preyvj8n.js";
|
|
19
19
|
import"./index-fpeyzn3n.js";
|
|
20
20
|
import"./index-bsan4c16.js";
|
|
@@ -12,9 +12,9 @@ import {
|
|
|
12
12
|
syncProject,
|
|
13
13
|
syncToDir,
|
|
14
14
|
syncToDisk
|
|
15
|
-
} from "./index-
|
|
16
|
-
import"./index-
|
|
17
|
-
import"./index-
|
|
15
|
+
} from "./index-mfrc04ts.js";
|
|
16
|
+
import"./index-avd1s9kz.js";
|
|
17
|
+
import"./index-95xa9crj.js";
|
|
18
18
|
import"./index-35z65jsa.js";
|
|
19
19
|
import"./index-27az1qb1.js";
|
|
20
20
|
import"./index-nnwp92tk.js";
|
package/dist/cli/index.js
CHANGED
|
@@ -9,14 +9,14 @@ import {
|
|
|
9
9
|
syncKnown,
|
|
10
10
|
syncProject,
|
|
11
11
|
syncToDisk
|
|
12
|
-
} from "../chunks/index-
|
|
12
|
+
} from "../chunks/index-wmwrjr19.js";
|
|
13
13
|
import {
|
|
14
14
|
applyConfigsWithReport,
|
|
15
15
|
compactPathForConfigHome,
|
|
16
16
|
expandPath,
|
|
17
17
|
normalizeTargetPath,
|
|
18
18
|
sessionRenderOwnsPath
|
|
19
|
-
} from "../chunks/index-
|
|
19
|
+
} from "../chunks/index-c3s70n0a.js";
|
|
20
20
|
import {
|
|
21
21
|
CODEWITH_NATIVE_IMPORTS_ENV,
|
|
22
22
|
CloudConfigStore,
|
|
@@ -69,7 +69,7 @@ import {
|
|
|
69
69
|
truncateText,
|
|
70
70
|
withProjectContextSessionGuard,
|
|
71
71
|
writeProjectContextCoordinatedFile
|
|
72
|
-
} from "../chunks/index-
|
|
72
|
+
} from "../chunks/index-m2mh1xew.js";
|
|
73
73
|
import {
|
|
74
74
|
ConfigNotFoundError,
|
|
75
75
|
INSTRUCTIONS_DOMAIN_ARCHIVE_SCHEMA,
|
|
@@ -4697,6 +4697,22 @@ function applySessionRenderUnlocked(plan, options, coordination) {
|
|
|
4697
4697
|
const manifestPath = resolvePlannedFilePath(plan, plan.manifestFile, targetHome);
|
|
4698
4698
|
assertManifestPrecondition(manifestPath, targetHome, options.expectedManifestSha256);
|
|
4699
4699
|
const previousManifest = readPreviousManifest(manifestPath);
|
|
4700
|
+
if (plan.manifest.claudeProjectImport || previousManifest?.claudeProjectImport) {
|
|
4701
|
+
if (options.force)
|
|
4702
|
+
throw new SessionApplyError("CLAUDE_PROJECT_IMPORT_FORCE: shared project ownership cannot be forced.");
|
|
4703
|
+
if (previousManifest && (previousManifest.tool !== plan.tool || previousManifest.profile !== plan.profile || previousManifest.targetKind !== "project-root" || previousManifest.targetHome !== targetHome || previousManifest.targetOwner?.writer?.id !== SESSION_RENDERER_OWNER_ID)) {
|
|
4704
|
+
throw new SessionApplyError("CLAUDE_PROJECT_IMPORT_OWNER: existing manifest belongs to another target or profile.");
|
|
4705
|
+
}
|
|
4706
|
+
if (previousManifest && !options.expectedManifestSha256) {
|
|
4707
|
+
throw new SessionApplyError("CLAUDE_PROJECT_IMPORT_CAS: changing a managed shared project requires its exact manifest preimage.");
|
|
4708
|
+
}
|
|
4709
|
+
if (previousManifest?.claudeProjectImport && !plan.manifest.claudeProjectImport) {
|
|
4710
|
+
throw new SessionApplyError("CLAUDE_PROJECT_IMPORT_RETIREMENT: removing a shared consumer requires an explicit reviewed migration; automatic removal is unsupported.");
|
|
4711
|
+
}
|
|
4712
|
+
if (plan.manifest.claudeProjectImport && !previousManifest?.claudeProjectImport && existsSync5(join6(targetHome, "CLAUDE.md"))) {
|
|
4713
|
+
throw new SessionApplyError("CLAUDE_PROJECT_IMPORT_CONFLICT: existing unmanaged CLAUDE.md cannot be adopted as an import companion.");
|
|
4714
|
+
}
|
|
4715
|
+
}
|
|
4700
4716
|
const previousHashes = previousManifest ? new Map(previousManifest.files.map((file) => [file.relativePath, file.sha256])) : new Map;
|
|
4701
4717
|
const adoptions = validateFileAdoptions(plan, targetHome, previousHashes, options);
|
|
4702
4718
|
const adoptedHashes = new Map(adoptions.map((entry) => [entry.relativePath, entry.preimageSha256]));
|
|
@@ -5784,7 +5800,7 @@ function writeSessionSnapshot(plan, targetHome, manifestPath, results, previousM
|
|
|
5784
5800
|
content
|
|
5785
5801
|
};
|
|
5786
5802
|
});
|
|
5787
|
-
if (!previousManifest && existingFiles.length === 0 && plan.tool !== "codewith") {
|
|
5803
|
+
if (!previousManifest && existingFiles.length === 0 && plan.tool !== "codewith" && !plan.manifest.claudeProjectImport) {
|
|
5788
5804
|
return {
|
|
5789
5805
|
schema: "hasna.configs.session-render-rollback/v1",
|
|
5790
5806
|
status: "unsupported",
|
|
@@ -6083,8 +6099,7 @@ function buildStationProfileBlock(input) {
|
|
|
6083
6099
|
osParts.push(`user: ${machine.user}`);
|
|
6084
6100
|
osParts.push(`home: ${machine.homeDir}`);
|
|
6085
6101
|
lines.push(osParts.join(" \xB7 "));
|
|
6086
|
-
|
|
6087
|
-
lines.push(`Workspace: ${machine.workspacePath}`);
|
|
6102
|
+
lines.push(`Scratchpad: ${join7(machine.homeDir, ".hasna", "scratchpad", "scratch", "<session-id>")}`);
|
|
6088
6103
|
if (machine.status) {
|
|
6089
6104
|
const stamp = machine.status.lastSeenAt ? ` (seen ${coarseStamp(machine.status.lastSeenAt)})` : "";
|
|
6090
6105
|
lines.push(`Status: ${machine.status.state}${stamp}`);
|
|
@@ -6183,7 +6198,8 @@ var selectorSchema = exports_external.object({
|
|
|
6183
6198
|
stationProfile: exports_external.boolean(),
|
|
6184
6199
|
checkGlobalCoverage: exports_external.boolean(),
|
|
6185
6200
|
assetSurface: nonempty.optional(),
|
|
6186
|
-
assetScope: exports_external.enum(["global", "project", "session"]).optional()
|
|
6201
|
+
assetScope: exports_external.enum(["global", "project", "session"]).optional(),
|
|
6202
|
+
claudeProjectImport: exports_external.object({ providerVersion: exports_external.literal("2.1.278") }).strict().optional()
|
|
6187
6203
|
}).strict();
|
|
6188
6204
|
function authority(value) {
|
|
6189
6205
|
const url = new URL(value);
|
|
@@ -6259,6 +6275,10 @@ function readManagedManifest(targetHome) {
|
|
|
6259
6275
|
throw new Error("SESSION_REFRESH_MANIFEST_INVALID: project-scoped render is missing its recorded project root.");
|
|
6260
6276
|
}
|
|
6261
6277
|
manifest.refreshSelector = normalizeSessionHostedProfileSelector(manifest.refreshSelector);
|
|
6278
|
+
const companion = manifest.claudeProjectImport;
|
|
6279
|
+
if (Boolean(companion) !== Boolean(manifest.refreshSelector.claudeProjectImport) || companion && (manifest.tool !== "sumi" || manifest.targetKind !== "project-root" || companion.providerVersion !== manifest.refreshSelector.claudeProjectImport?.providerVersion || companion.capability !== "claude-project-relative-import/v1" || companion.canonicalPath !== "AGENTS.md" || companion.importPath !== "CLAUDE.md" || manifest.files.find((file) => file.relativePath === "AGENTS.md")?.sha256 !== companion.canonicalSha256 || !manifest.files.some((file) => file.relativePath === "CLAUDE.md"))) {
|
|
6280
|
+
throw new Error("SESSION_REFRESH_COMPANION_INVALID: shared project capability, selector and canonical file must agree.");
|
|
6281
|
+
}
|
|
6262
6282
|
return { manifest, sha256: createHash4("sha256").update(raw).digest("hex") };
|
|
6263
6283
|
}
|
|
6264
6284
|
async function refreshSessionRender(input) {
|
|
@@ -6303,6 +6323,7 @@ async function refreshSessionRender(input) {
|
|
|
6303
6323
|
...previous.manifest.targetKind === "project-root" ? { projectRoot: targetHome } : previous.manifest.targetOwner.projectRoot ? { projectRoot: previous.manifest.targetOwner.projectRoot } : {},
|
|
6304
6324
|
sessionId: previous.manifest.sessionId ?? undefined,
|
|
6305
6325
|
refreshSelector: selector,
|
|
6326
|
+
claudeProjectImport: selector.claudeProjectImport,
|
|
6306
6327
|
codewithNativeImports: selector.codewithNativeImports,
|
|
6307
6328
|
allowEmptySources: selector.allowEmptySources,
|
|
6308
6329
|
configs,
|
|
@@ -7338,6 +7359,8 @@ async function buildSessionRenderPlan(opts, tool, store, assetPlanMode = "dry-ru
|
|
|
7338
7359
|
const station = opts.stationProfile === false ? null : stationProfileSource();
|
|
7339
7360
|
const ownedClaudeAuthorities = tool === "claude" ? await loadOwnedClaudeAuthorities(store) : undefined;
|
|
7340
7361
|
if (!opts.compileProfile) {
|
|
7362
|
+
if (opts.claudeProjectImport)
|
|
7363
|
+
throw new Error("--claude-project-import requires --compile-profile with explicit shared provider bindings.");
|
|
7341
7364
|
if (opts.providerVariant)
|
|
7342
7365
|
throw new Error("--provider-variant requires --compile-profile.");
|
|
7343
7366
|
const sources = await collectSessionSources(opts, tool, store);
|
|
@@ -7357,6 +7380,9 @@ async function buildSessionRenderPlan(opts, tool, store, assetPlanMode = "dry-ru
|
|
|
7357
7380
|
}
|
|
7358
7381
|
if (!opts.providerVersion?.trim())
|
|
7359
7382
|
throw new Error("--provider-version is required with --compile-profile.");
|
|
7383
|
+
if (opts.claudeProjectImport && opts.claudeProjectImport !== "2.1.278")
|
|
7384
|
+
throw new Error("--claude-project-import supports only verified Claude 2.1.278.");
|
|
7385
|
+
const claudeProjectImport = opts.claudeProjectImport ? { providerVersion: "2.1.278" } : undefined;
|
|
7360
7386
|
if ((opts.source?.length ?? 0) || (opts.config?.length ?? 0) || (opts.identityExport?.length ?? 0) || (opts.replaceSource?.length ?? 0)) {
|
|
7361
7387
|
throw new Error("--compile-profile cannot be mixed with --source, --config, --identity-export, or --replace-source.");
|
|
7362
7388
|
}
|
|
@@ -7370,6 +7396,7 @@ async function buildSessionRenderPlan(opts, tool, store, assetPlanMode = "dry-ru
|
|
|
7370
7396
|
return planProfileSessionRender({
|
|
7371
7397
|
profile_id: profile.id,
|
|
7372
7398
|
provider_version: opts.providerVersion,
|
|
7399
|
+
claudeProjectImport,
|
|
7373
7400
|
tool,
|
|
7374
7401
|
profile: opts.profile,
|
|
7375
7402
|
targetHome: opts.targetHome,
|
|
@@ -7381,6 +7408,7 @@ async function buildSessionRenderPlan(opts, tool, store, assetPlanMode = "dry-ru
|
|
|
7381
7408
|
authority: store.v1BaseUrl,
|
|
7382
7409
|
profileId: profile.id,
|
|
7383
7410
|
providerVersion: opts.providerVersion,
|
|
7411
|
+
...claudeProjectImport ? { claudeProjectImport } : {},
|
|
7384
7412
|
...opts.providerVariant ? { providerVariant: opts.providerVariant } : {},
|
|
7385
7413
|
...opts.model ? { model: opts.model } : {},
|
|
7386
7414
|
...opts.path ? { path: opts.path } : {},
|
|
@@ -8490,7 +8518,7 @@ projectContextCmd.command("apply").description("Atomically write project context
|
|
|
8490
8518
|
}
|
|
8491
8519
|
});
|
|
8492
8520
|
var sessionCmd = program.command("session").description("Plan and apply session-scoped agent instruction files");
|
|
8493
|
-
sessionCmd.command("plan").description("Produce a dry-run render plan for profile-scoped instruction injection").requiredOption("--tool <tool>", `target tool (${SESSION_RENDER_TOOLS.join("|")})`).requiredOption("--profile <profile>", "account/profile name that owns the rendered instruction home").option("--target-home <path>", "native instruction home; Sumi: resolved config from `sumi debug paths config`; Grok: GROK_HOME; Devin: user config directory (global AGENTS.md unless --project-root is set)").option("--project-root <path>", "repository root for project-scoped adapters such as Cursor").option("--session-id <id>", "session id to include in the manifest").option("--source <layer:id=path>", `instruction source file; layers: ${SESSION_SOURCE_LAYER_HELP}`, collectOption, []).option("--config <layer:id-or-slug>", "stored config source by id/slug; repeatable; layer aliases match --source", collectOption, []).option("--identity-export <path>", "OpenIdentities configs instruction export JSON; repeatable", collectOption, []).option("--replace-source <replacer-id>[=<target-source-id>]", "source id that broadly replaces earlier layers, or targets one earlier source", collectOption, []).option("--compile-profile <id-or-slug>", "compile persisted config bindings from this Instructions profile").option("--provider-version <semver>", "installed provider version used for capability matching").option("--provider-variant <variant>", "explicit provider capability variant (for example OpenCode v2-agents)").option("--model <model>", "active model used for model activation").option("--path <path>", "active path recorded in the graph context").option("--manual <config-id-or-slug>", "manually activate a binding; repeatable", collectOption, []).option("--asset-surface <surface>", "explicit provider asset surface (for example cline cli or ide)").option("--asset-scope <scope>", "asset scope (global|project|session)").option("--allow-asset-installers", "opt in to planned provider installers; planning never invokes them").option("--codewith-native-imports", "select the gated Codewith native @ import adapter").option("--allow-empty-sources", "allow an explicit empty render plan").option("--check-global-coverage", "verify every registered, non-retired global-* source is in this render (expected read fresh from the registry, independent of this plan); on shortfall warn, exit non-zero, and for apply refuse to write (todos 102d6d0a, O15-00694)").option("--no-station-profile", "do not inject the cached station-profile source").option("--json", "output dry-run JSON").action(async (opts) => {
|
|
8521
|
+
sessionCmd.command("plan").description("Produce a dry-run render plan for profile-scoped instruction injection").requiredOption("--tool <tool>", `target tool (${SESSION_RENDER_TOOLS.join("|")})`).requiredOption("--profile <profile>", "account/profile name that owns the rendered instruction home").option("--target-home <path>", "native instruction home; Sumi: resolved config from `sumi debug paths config`; Grok: GROK_HOME; Devin: user config directory (global AGENTS.md unless --project-root is set)").option("--project-root <path>", "repository root for project-scoped adapters such as Cursor").option("--session-id <id>", "session id to include in the manifest").option("--source <layer:id=path>", `instruction source file; layers: ${SESSION_SOURCE_LAYER_HELP}`, collectOption, []).option("--config <layer:id-or-slug>", "stored config source by id/slug; repeatable; layer aliases match --source", collectOption, []).option("--identity-export <path>", "OpenIdentities configs instruction export JSON; repeatable", collectOption, []).option("--replace-source <replacer-id>[=<target-source-id>]", "source id that broadly replaces earlier layers, or targets one earlier source", collectOption, []).option("--compile-profile <id-or-slug>", "compile persisted config bindings from this Instructions profile").option("--provider-version <semver>", "installed provider version used for capability matching").option("--claude-project-import <version>", "manage a Claude relative import of the same Sumi project AGENTS.md; requires explicit shared profile bindings and --no-station-profile").option("--provider-variant <variant>", "explicit provider capability variant (for example OpenCode v2-agents)").option("--model <model>", "active model used for model activation").option("--path <path>", "active path recorded in the graph context").option("--manual <config-id-or-slug>", "manually activate a binding; repeatable", collectOption, []).option("--asset-surface <surface>", "explicit provider asset surface (for example cline cli or ide)").option("--asset-scope <scope>", "asset scope (global|project|session)").option("--allow-asset-installers", "opt in to planned provider installers; planning never invokes them").option("--codewith-native-imports", "select the gated Codewith native @ import adapter").option("--allow-empty-sources", "allow an explicit empty render plan").option("--check-global-coverage", "verify every registered, non-retired global-* source is in this render (expected read fresh from the registry, independent of this plan); on shortfall warn, exit non-zero, and for apply refuse to write (todos 102d6d0a, O15-00694)").option("--no-station-profile", "do not inject the cached station-profile source").option("--json", "output dry-run JSON").action(async (opts) => {
|
|
8494
8522
|
try {
|
|
8495
8523
|
const tool = opts.tool;
|
|
8496
8524
|
if (!SESSION_RENDER_TOOLS.includes(tool)) {
|
|
@@ -8545,7 +8573,7 @@ sessionCmd.command("plan").description("Produce a dry-run render plan for profil
|
|
|
8545
8573
|
process.exit(1);
|
|
8546
8574
|
}
|
|
8547
8575
|
});
|
|
8548
|
-
sessionCmd.command("apply").description("Write a session render plan to its managed target home or explicit project root").requiredOption("--tool <tool>", `target tool (${SESSION_RENDER_TOOLS.join("|")})`).requiredOption("--profile <profile>", "account/profile name that owns the rendered instruction home").option("--target-home <path>", "native instruction home; Sumi: resolved config from `sumi debug paths config`; Grok: GROK_HOME; Devin: user config directory (global AGENTS.md unless --project-root is set)").option("--project-root <path>", "repository root for project-scoped adapters such as Cursor").option("--session-id <id>", "session id to include in the manifest").option("--source <layer:id=path>", `instruction source file; layers: ${SESSION_SOURCE_LAYER_HELP}`, collectOption, []).option("--config <layer:id-or-slug>", "stored config source by id/slug; repeatable; layer aliases match --source", collectOption, []).option("--identity-export <path>", "OpenIdentities configs instruction export JSON; repeatable", collectOption, []).option("--replace-source <replacer-id>[=<target-source-id>]", "source id that broadly replaces earlier layers, or targets one earlier source", collectOption, []).option("--compile-profile <id-or-slug>", "compile persisted config bindings from this Instructions profile").option("--provider-version <semver>", "installed provider version used for capability matching").option("--provider-variant <variant>", "explicit provider capability variant (for example OpenCode v2-agents)").option("--model <model>", "active model used for model activation").option("--path <path>", "active path recorded in the graph context").option("--manual <config-id-or-slug>", "manually activate a binding; repeatable", collectOption, []).option("--asset-surface <surface>", "explicit provider asset surface (for example cline cli or ide)").option("--asset-scope <scope>", "asset scope (global|project|session)").option("--codewith-native-imports", "select the gated Codewith native @ import adapter").option("--allow-empty-sources", "allow an explicit empty render").option("--check-global-coverage", "verify every registered, non-retired global-* source is in this render (expected read fresh from the registry, independent of this plan); on shortfall warn, exit non-zero, and for apply refuse to write (todos 102d6d0a, O15-00694)").option("--no-station-profile", "do not inject the cached station-profile source").option("--dry-run", "preview writes and conflicts without writing").option("--force", "overwrite existing unmanaged files").option("--adopt-file <relativepath=sha256>", "adopt one reviewed unmanaged generated target only at its exact observed SHA256; repeatable", collectOption, []).option("--reconcile-file <relativepath=sha256>", "reconcile one reviewed managed drifted target at its exact observed SHA256; requires --expected-manifest-sha256", collectOption, []).option("--retire-file <relativepath=sha256>", "retire one reviewed obsolete managed fragment, rule, or asset at its exact SHA256; requires --expected-manifest-sha256", collectOption, []).option("--expected-manifest-sha256 <sha256>", "require the previously reviewed manifest preimage to match exactly before applying").option("--json", "output apply JSON").action(async (opts) => {
|
|
8576
|
+
sessionCmd.command("apply").description("Write a session render plan to its managed target home or explicit project root").requiredOption("--tool <tool>", `target tool (${SESSION_RENDER_TOOLS.join("|")})`).requiredOption("--profile <profile>", "account/profile name that owns the rendered instruction home").option("--target-home <path>", "native instruction home; Sumi: resolved config from `sumi debug paths config`; Grok: GROK_HOME; Devin: user config directory (global AGENTS.md unless --project-root is set)").option("--project-root <path>", "repository root for project-scoped adapters such as Cursor").option("--session-id <id>", "session id to include in the manifest").option("--source <layer:id=path>", `instruction source file; layers: ${SESSION_SOURCE_LAYER_HELP}`, collectOption, []).option("--config <layer:id-or-slug>", "stored config source by id/slug; repeatable; layer aliases match --source", collectOption, []).option("--identity-export <path>", "OpenIdentities configs instruction export JSON; repeatable", collectOption, []).option("--replace-source <replacer-id>[=<target-source-id>]", "source id that broadly replaces earlier layers, or targets one earlier source", collectOption, []).option("--compile-profile <id-or-slug>", "compile persisted config bindings from this Instructions profile").option("--provider-version <semver>", "installed provider version used for capability matching").option("--claude-project-import <version>", "manage a Claude relative import of the same Sumi project AGENTS.md; requires explicit shared profile bindings and --no-station-profile").option("--provider-variant <variant>", "explicit provider capability variant (for example OpenCode v2-agents)").option("--model <model>", "active model used for model activation").option("--path <path>", "active path recorded in the graph context").option("--manual <config-id-or-slug>", "manually activate a binding; repeatable", collectOption, []).option("--asset-surface <surface>", "explicit provider asset surface (for example cline cli or ide)").option("--asset-scope <scope>", "asset scope (global|project|session)").option("--codewith-native-imports", "select the gated Codewith native @ import adapter").option("--allow-empty-sources", "allow an explicit empty render").option("--check-global-coverage", "verify every registered, non-retired global-* source is in this render (expected read fresh from the registry, independent of this plan); on shortfall warn, exit non-zero, and for apply refuse to write (todos 102d6d0a, O15-00694)").option("--no-station-profile", "do not inject the cached station-profile source").option("--dry-run", "preview writes and conflicts without writing").option("--force", "overwrite existing unmanaged files").option("--adopt-file <relativepath=sha256>", "adopt one reviewed unmanaged generated target only at its exact observed SHA256; repeatable", collectOption, []).option("--reconcile-file <relativepath=sha256>", "reconcile one reviewed managed drifted target at its exact observed SHA256; requires --expected-manifest-sha256", collectOption, []).option("--retire-file <relativepath=sha256>", "retire one reviewed obsolete managed fragment, rule, or asset at its exact SHA256; requires --expected-manifest-sha256", collectOption, []).option("--expected-manifest-sha256 <sha256>", "require the previously reviewed manifest preimage to match exactly before applying").option("--json", "output apply JSON").action(async (opts) => {
|
|
8549
8577
|
try {
|
|
8550
8578
|
const tool = opts.tool;
|
|
8551
8579
|
if (!SESSION_RENDER_TOOLS.includes(tool)) {
|
|
@@ -8939,7 +8967,7 @@ program.command("scan [id]").description("Scan configs for secrets. Defaults to
|
|
|
8939
8967
|
} else if (opts.all) {
|
|
8940
8968
|
configs = await store.listConfigs(opts.category ? { kind: "file", category: opts.category } : { kind: "file" });
|
|
8941
8969
|
} else {
|
|
8942
|
-
const { KNOWN_CONFIGS: KNOWN_CONFIGS2 } = await import("../chunks/sync-
|
|
8970
|
+
const { KNOWN_CONFIGS: KNOWN_CONFIGS2 } = await import("../chunks/sync-d3be8nk3.js");
|
|
8943
8971
|
const slugs = [
|
|
8944
8972
|
...KNOWN_CONFIGS2.filter((k) => !k.rulesDir).map((k) => k.name)
|
|
8945
8973
|
];
|
|
@@ -9839,7 +9867,7 @@ program.command("watch").description("Watch known config files for changes and a
|
|
|
9839
9867
|
const store = resolveConfigStore();
|
|
9840
9868
|
const interval = Number(opts.interval);
|
|
9841
9869
|
const { statSync: st } = await import("fs");
|
|
9842
|
-
const { expandPath: expandPath2 } = await import("../chunks/apply-
|
|
9870
|
+
const { expandPath: expandPath2 } = await import("../chunks/apply-f9f2sp7y.js");
|
|
9843
9871
|
console.log(chalk.bold("@hasna/instructions watch") + chalk.dim(` \u2014 polling every ${interval}ms`));
|
|
9844
9872
|
console.log(chalk.dim(`Watching known config files for changes\u2026
|
|
9845
9873
|
`));
|
package/dist/index.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export type { AssetAction, AssetBundle, AssetCapability, AssetPlan, AssetPlanDia
|
|
|
26
26
|
export { providerVersionSatisfies } from "./lib/provider-version.js";
|
|
27
27
|
export { discoverHarnesses, DISCOVERABLE_HARNESSES, HARNESS_DISCOVERY_SCHEMA } from "./lib/harness-discovery.js";
|
|
28
28
|
export type { DiscoverableHarness, HarnessDiscoveryOptions, HarnessDiscoveryResult, HarnessDiscoveryEntry, HarnessPathObservation } from "./lib/harness-discovery.js";
|
|
29
|
-
export type { SessionHostedProfileSelector, SessionInstructionLayer, SessionInstructionMerge, SessionInstructionOwner, SessionInstructionRule, SessionInstructionSource, SessionInstructionSourcePath, SessionProfileRenderSelection, SessionProviderConfig, SessionProviderSurface, SessionRenderFile, SessionRenderFileRole, SessionRenderInput, SessionRenderManifest, SessionRenderMode, SessionRenderPlan, SessionRenderTargetKind, SessionRenderTool, SessionSkippedSource, SessionTargetOwner, SessionTargetOwnerKind, SessionToolAdapter, } from "./lib/session-render.js";
|
|
29
|
+
export type { ClaudeProjectImport, ClaudeProjectImportManifest, SessionHostedProfileSelector, SessionInstructionLayer, SessionInstructionMerge, SessionInstructionOwner, SessionInstructionRule, SessionInstructionSource, SessionInstructionSourcePath, SessionProfileRenderSelection, SessionProviderConfig, SessionProviderSurface, SessionRenderFile, SessionRenderFileRole, SessionRenderInput, SessionRenderManifest, SessionRenderMode, SessionRenderPlan, SessionRenderTargetKind, SessionRenderTool, SessionSkippedSource, SessionTargetOwner, SessionTargetOwnerKind, SessionToolAdapter, } from "./lib/session-render.js";
|
|
30
30
|
export { applySessionRender, checkSessionRenderDrift, restoreSessionRenderSnapshot, SessionApplyError, } from "./lib/session-apply.js";
|
|
31
31
|
export { normalizeSessionHostedProfileSelector, refreshSessionRender } from "./lib/session-refresh.js";
|
|
32
32
|
export type { SessionRefreshResult } from "./lib/session-refresh.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|