panopticon-cli 0.4.31 → 0.4.33
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/{agents-GQDAKTEQ.js → agents-VLK4BMVA.js} +10 -7
- package/dist/chunk-7SN4L4PH.js +150 -0
- package/dist/chunk-7SN4L4PH.js.map +1 -0
- package/dist/chunk-7XNJJBH6.js +538 -0
- package/dist/chunk-7XNJJBH6.js.map +1 -0
- package/dist/chunk-AQXETQHW.js +113 -0
- package/dist/chunk-AQXETQHW.js.map +1 -0
- package/dist/{chunk-TMXN7THF.js → chunk-ASY7T35E.js} +170 -64
- package/dist/chunk-ASY7T35E.js.map +1 -0
- package/dist/chunk-B3PF6JPQ.js +212 -0
- package/dist/chunk-B3PF6JPQ.js.map +1 -0
- package/dist/{chunk-HNEWTIR3.js → chunk-BKCWRMUX.js} +100 -40
- package/dist/chunk-BKCWRMUX.js.map +1 -0
- package/dist/chunk-CFCUOV3Q.js +669 -0
- package/dist/chunk-CFCUOV3Q.js.map +1 -0
- package/dist/chunk-CWELWPWQ.js +32 -0
- package/dist/chunk-CWELWPWQ.js.map +1 -0
- package/dist/chunk-DI7ABPNQ.js +352 -0
- package/dist/chunk-DI7ABPNQ.js.map +1 -0
- package/dist/{chunk-VU4FLXV5.js → chunk-FQ66DECN.js} +31 -4
- package/dist/chunk-FQ66DECN.js.map +1 -0
- package/dist/{review-status-GWQYY77L.js → chunk-GFP3PIPB.js} +14 -7
- package/dist/chunk-GFP3PIPB.js.map +1 -0
- package/dist/chunk-JQBV3Q2W.js +29 -0
- package/dist/chunk-JQBV3Q2W.js.map +1 -0
- package/dist/{chunk-BWGFN44T.js → chunk-JT4O4YVM.js} +28 -16
- package/dist/chunk-JT4O4YVM.js.map +1 -0
- package/dist/{chunk-VIWUCJ4V.js → chunk-KJ2TRXNK.js} +34 -36
- package/dist/chunk-KJ2TRXNK.js.map +1 -0
- package/dist/{chunk-JY7R7V4G.js → chunk-OMNXYPXC.js} +2 -2
- package/dist/chunk-OMNXYPXC.js.map +1 -0
- package/dist/chunk-PELXV435.js +215 -0
- package/dist/chunk-PELXV435.js.map +1 -0
- package/dist/chunk-PI7Y3PSN.js +797 -0
- package/dist/chunk-PI7Y3PSN.js.map +1 -0
- package/dist/chunk-RBUO57TC.js +154 -0
- package/dist/chunk-RBUO57TC.js.map +1 -0
- package/dist/chunk-XFR2DLMR.js +600 -0
- package/dist/chunk-XFR2DLMR.js.map +1 -0
- package/dist/chunk-XKT5MHPT.js +677 -0
- package/dist/chunk-XKT5MHPT.js.map +1 -0
- package/dist/{chunk-HCTJFIJJ.js → chunk-YLPSQAM2.js} +2 -2
- package/dist/{chunk-HCTJFIJJ.js.map → chunk-YLPSQAM2.js.map} +1 -1
- package/dist/{chunk-6HXKTOD7.js → chunk-ZTFNYOC7.js} +53 -38
- package/dist/chunk-ZTFNYOC7.js.map +1 -0
- package/dist/cli/index.js +4362 -2922
- package/dist/cli/index.js.map +1 -1
- package/dist/{config-BOAMSKTF.js → config-4CJNUE3O.js} +7 -3
- package/dist/dashboard/prompts/merge-agent.md +217 -0
- package/dist/dashboard/prompts/review-agent.md +409 -0
- package/dist/dashboard/prompts/sync-main.md +84 -0
- package/dist/dashboard/prompts/test-agent.md +283 -0
- package/dist/dashboard/prompts/work-agent.md +247 -0
- package/dist/dashboard/public/assets/index-UjZq6ykz.css +32 -0
- package/dist/dashboard/public/assets/index-kAJqtLDO.js +708 -0
- package/dist/dashboard/public/index.html +2 -2
- package/dist/dashboard/server.js +15272 -3169
- package/dist/{dns-L3L2BB27.js → dns-7BDJSD3E.js} +4 -2
- package/dist/{feedback-writer-AAKF5BTK.js → feedback-writer-LVZ5TFYZ.js} +8 -4
- package/dist/feedback-writer-LVZ5TFYZ.js.map +1 -0
- package/dist/hume-WMAUBBV2.js +13 -0
- package/dist/index.d.ts +153 -40
- package/dist/index.js +65 -23
- package/dist/index.js.map +1 -1
- package/dist/{projects-VXRUCMLM.js → projects-JEIVIYC6.js} +3 -3
- package/dist/rally-RKFSWC7E.js +10 -0
- package/dist/{remote-agents-Z3R2A5BN.js → remote-agents-TFSMW7GN.js} +2 -2
- package/dist/{remote-workspace-2G6V2KNP.js → remote-workspace-AHVHQEES.js} +8 -8
- package/dist/review-status-EPFG4XM7.js +19 -0
- package/dist/shadow-state-5MDP6YXH.js +30 -0
- package/dist/shadow-state-5MDP6YXH.js.map +1 -0
- package/dist/{specialist-context-6SE5VRRC.js → specialist-context-T3NBMCIE.js} +8 -7
- package/dist/{specialist-context-6SE5VRRC.js.map → specialist-context-T3NBMCIE.js.map} +1 -1
- package/dist/{specialist-logs-EXLOQHQ2.js → specialist-logs-CVKD3YJ3.js} +7 -6
- package/dist/specialist-logs-CVKD3YJ3.js.map +1 -0
- package/dist/{specialists-BRUHPAXE.js → specialists-TKAP6T6Z.js} +7 -6
- package/dist/specialists-TKAP6T6Z.js.map +1 -0
- package/dist/tldr-daemon-T3THOUGT.js +21 -0
- package/dist/tldr-daemon-T3THOUGT.js.map +1 -0
- package/dist/traefik-QX4ZV4YG.js +19 -0
- package/dist/traefik-QX4ZV4YG.js.map +1 -0
- package/dist/tunnel-W2GZBLEV.js +13 -0
- package/dist/tunnel-W2GZBLEV.js.map +1 -0
- package/dist/workspace-manager-KLHUCIZV.js +22 -0
- package/dist/workspace-manager-KLHUCIZV.js.map +1 -0
- package/package.json +2 -2
- package/scripts/heartbeat-hook +37 -10
- package/scripts/patches/llm-tldr-tsx-support.py +109 -0
- package/scripts/pre-tool-hook +26 -15
- package/scripts/record-cost-event.js +177 -43
- package/scripts/record-cost-event.ts +87 -3
- package/scripts/statusline.sh +169 -0
- package/scripts/stop-hook +14 -11
- package/scripts/tldr-post-edit +72 -0
- package/scripts/tldr-read-enforcer +275 -0
- package/skills/check-merged/SKILL.md +143 -0
- package/skills/crash-investigation/SKILL.md +301 -0
- package/skills/github-cli/SKILL.md +185 -0
- package/skills/pan-reopen/SKILL.md +65 -0
- package/skills/pan-sync-main/SKILL.md +87 -0
- package/skills/pan-tldr/SKILL.md +149 -0
- package/skills/react-best-practices/SKILL.md +125 -0
- package/skills/spec-readiness/REPORT-TEMPLATE.md +158 -0
- package/skills/spec-readiness/SCORING-REFERENCE.md +369 -0
- package/skills/spec-readiness/SKILL.md +400 -0
- package/skills/spec-readiness-setup/SKILL.md +361 -0
- package/skills/workspace-status/SKILL.md +56 -0
- package/templates/traefik/dynamic/panopticon.yml.template +0 -5
- package/templates/traefik/traefik.yml +0 -8
- package/dist/chunk-3XAB4IXF.js +0 -51
- package/dist/chunk-3XAB4IXF.js.map +0 -1
- package/dist/chunk-6HXKTOD7.js.map +0 -1
- package/dist/chunk-BBCUK6N2.js +0 -241
- package/dist/chunk-BBCUK6N2.js.map +0 -1
- package/dist/chunk-BWGFN44T.js.map +0 -1
- package/dist/chunk-ELK6Q7QI.js +0 -545
- package/dist/chunk-ELK6Q7QI.js.map +0 -1
- package/dist/chunk-HNEWTIR3.js.map +0 -1
- package/dist/chunk-JY7R7V4G.js.map +0 -1
- package/dist/chunk-LYSBSZYV.js +0 -1523
- package/dist/chunk-LYSBSZYV.js.map +0 -1
- package/dist/chunk-TMXN7THF.js.map +0 -1
- package/dist/chunk-VIWUCJ4V.js.map +0 -1
- package/dist/chunk-VU4FLXV5.js.map +0 -1
- package/dist/dashboard/public/assets/index-C7X6LP5Z.css +0 -32
- package/dist/dashboard/public/assets/index-izWbAt7V.js +0 -645
- package/dist/feedback-writer-AAKF5BTK.js.map +0 -1
- package/dist/review-status-GWQYY77L.js.map +0 -1
- package/dist/traefik-CUJM6K5Z.js +0 -12
- /package/dist/{agents-GQDAKTEQ.js.map → agents-VLK4BMVA.js.map} +0 -0
- /package/dist/{config-BOAMSKTF.js.map → config-4CJNUE3O.js.map} +0 -0
- /package/dist/{dns-L3L2BB27.js.map → dns-7BDJSD3E.js.map} +0 -0
- /package/dist/{projects-VXRUCMLM.js.map → hume-WMAUBBV2.js.map} +0 -0
- /package/dist/{remote-agents-Z3R2A5BN.js.map → projects-JEIVIYC6.js.map} +0 -0
- /package/dist/{specialist-logs-EXLOQHQ2.js.map → rally-RKFSWC7E.js.map} +0 -0
- /package/dist/{specialists-BRUHPAXE.js.map → remote-agents-TFSMW7GN.js.map} +0 -0
- /package/dist/{remote-workspace-2G6V2KNP.js.map → remote-workspace-AHVHQEES.js.map} +0 -0
- /package/dist/{traefik-CUJM6K5Z.js.map → review-status-EPFG4XM7.js.map} +0 -0
|
@@ -5,14 +5,16 @@ import {
|
|
|
5
5
|
addWsl2HostEntry,
|
|
6
6
|
detectDnsSyncMethod,
|
|
7
7
|
ensureBaseDomain,
|
|
8
|
+
init_dns,
|
|
8
9
|
removeDnsEntry,
|
|
9
10
|
removeDnsmasqEntry,
|
|
10
11
|
removeHostsFileEntry,
|
|
11
12
|
removeWsl2HostEntry,
|
|
12
13
|
restartDnsmasq,
|
|
13
14
|
syncDnsToWindows
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-JT4O4YVM.js";
|
|
15
16
|
import "./chunk-ZHC57RCV.js";
|
|
17
|
+
init_dns();
|
|
16
18
|
export {
|
|
17
19
|
addDnsEntry,
|
|
18
20
|
addDnsmasqEntry,
|
|
@@ -27,4 +29,4 @@ export {
|
|
|
27
29
|
restartDnsmasq,
|
|
28
30
|
syncDnsToWindows
|
|
29
31
|
};
|
|
30
|
-
//# sourceMappingURL=dns-
|
|
32
|
+
//# sourceMappingURL=dns-7BDJSD3E.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_projects,
|
|
3
3
|
resolveProjectFromIssue
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-OMNXYPXC.js";
|
|
5
|
+
import "./chunk-ZTFNYOC7.js";
|
|
6
6
|
import {
|
|
7
7
|
__esm,
|
|
8
8
|
init_esm_shims
|
|
@@ -57,7 +57,11 @@ async function appendToStateMd(planningDir, entry) {
|
|
|
57
57
|
await writeFile(statePath, content, "utf-8");
|
|
58
58
|
}
|
|
59
59
|
async function writeFeedbackFile(opts) {
|
|
60
|
-
|
|
60
|
+
let providedPath = opts.workspacePath;
|
|
61
|
+
if (providedPath && !existsSync(join(providedPath, ".planning")) && !providedPath.includes("/workspaces/")) {
|
|
62
|
+
providedPath = void 0;
|
|
63
|
+
}
|
|
64
|
+
const workspacePath = providedPath || resolveWorkspacePath(opts.issueId);
|
|
61
65
|
if (!workspacePath) {
|
|
62
66
|
return { success: false, error: `Workspace not found for ${opts.issueId}` };
|
|
63
67
|
}
|
|
@@ -108,4 +112,4 @@ init_feedback_writer();
|
|
|
108
112
|
export {
|
|
109
113
|
writeFeedbackFile
|
|
110
114
|
};
|
|
111
|
-
//# sourceMappingURL=feedback-writer-
|
|
115
|
+
//# sourceMappingURL=feedback-writer-LVZ5TFYZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/cloister/feedback-writer.ts"],"sourcesContent":["/**\n * Feedback Writer — writes specialist feedback to workspace files.\n *\n * All specialist feedback (review, test, merge) is written to\n * .planning/feedback/ in the workspace, with a breadcrumb in STATE.md.\n * The work agent reads these on startup or after crash recovery.\n *\n * All I/O is async (fs/promises) — never execSync.\n */\n\nimport { writeFile, readFile, mkdir, readdir } from 'fs/promises';\nimport { existsSync } from 'fs';\nimport { join } from 'path';\nimport { resolveProjectFromIssue } from '../projects.js';\n\nexport interface WriteFeedbackOptions {\n issueId: string;\n workspacePath?: string;\n specialist: 'review-agent' | 'test-agent' | 'merge-agent';\n outcome: string;\n summary: string;\n markdownBody: string;\n}\n\nexport interface WriteFeedbackResult {\n success: boolean;\n /** Relative path from workspace root */\n relativePath?: string;\n /** Absolute path */\n filePath?: string;\n error?: string;\n}\n\n/**\n * Resolve workspace path from an issue ID.\n */\nfunction resolveWorkspacePath(issueId: string): string | null {\n const resolved = resolveProjectFromIssue(issueId);\n if (!resolved) return null;\n\n const wsPath = join(resolved.projectPath, 'workspaces', `feature-${issueId.toLowerCase()}`);\n return existsSync(wsPath) ? wsPath : null;\n}\n\n/**\n * Get the next sequence number from existing files in the feedback directory.\n */\nasync function getNextSequenceNumber(feedbackDir: string): Promise<number> {\n try {\n const files = await readdir(feedbackDir);\n let max = 0;\n for (const file of files) {\n const match = file.match(/^(\\d{3})-/);\n if (match) {\n const n = parseInt(match[1], 10);\n if (n > max) max = n;\n }\n }\n return max + 1;\n } catch {\n return 1;\n }\n}\n\n/**\n * Append a feedback entry to STATE.md's \"Specialist Feedback\" section.\n * Creates the section if it doesn't exist. Creates STATE.md if it doesn't exist.\n */\nasync function appendToStateMd(\n planningDir: string,\n entry: { timestamp: string; specialist: string; outcome: string; relativePath: string; issueId: string }\n): Promise<void> {\n const statePath = join(planningDir, 'STATE.md');\n const line = `- **[${entry.timestamp}] ${entry.specialist} → ${entry.outcome.toUpperCase()}** — \\`${entry.relativePath}\\``;\n\n let content: string;\n try {\n content = await readFile(statePath, 'utf-8');\n } catch {\n // STATE.md doesn't exist — create a minimal one\n content = `# Agent State: ${entry.issueId}\\n`;\n }\n\n const sectionHeader = '## Specialist Feedback';\n const sectionIndex = content.indexOf(sectionHeader);\n\n if (sectionIndex >= 0) {\n // Find the end of the section (next ## or EOF)\n const afterHeader = sectionIndex + sectionHeader.length;\n const nextSection = content.indexOf('\\n## ', afterHeader);\n const insertPos = nextSection >= 0 ? nextSection : content.length;\n content = content.slice(0, insertPos).trimEnd() + '\\n' + line + '\\n' + content.slice(insertPos);\n } else {\n // Append the section at the end\n content = content.trimEnd() + '\\n\\n' + sectionHeader + '\\n\\n' + line + '\\n';\n }\n\n await writeFile(statePath, content, 'utf-8');\n}\n\n/**\n * Write specialist feedback to a file in the workspace and update STATE.md.\n */\nexport async function writeFeedbackFile(opts: WriteFeedbackOptions): Promise<WriteFeedbackResult> {\n // Validate workspacePath — reject project roots (must contain /workspaces/ or have .planning dir)\n let providedPath = opts.workspacePath;\n if (providedPath && !existsSync(join(providedPath, '.planning')) && !providedPath.includes('/workspaces/')) {\n // Looks like a project root, not a workspace — fall back to resolution\n providedPath = undefined;\n }\n const workspacePath = providedPath || resolveWorkspacePath(opts.issueId);\n if (!workspacePath) {\n return { success: false, error: `Workspace not found for ${opts.issueId}` };\n }\n\n const planningDir = join(workspacePath, '.planning');\n const feedbackDir = join(planningDir, 'feedback');\n\n try {\n await mkdir(feedbackDir, { recursive: true });\n\n const seq = await getNextSequenceNumber(feedbackDir);\n const seqStr = String(seq).padStart(3, '0');\n const filename = `${seqStr}-${opts.specialist}-${opts.outcome}.md`;\n const filePath = join(feedbackDir, filename);\n const relativePath = `.planning/feedback/${filename}`;\n\n const timestamp = new Date().toISOString().replace(/\\.\\d+Z$/, 'Z');\n const shortTimestamp = timestamp.replace(/:\\d{2}Z$/, 'Z');\n\n const content = [\n '---',\n `specialist: ${opts.specialist}`,\n `issueId: ${opts.issueId}`,\n `outcome: ${opts.outcome}`,\n `timestamp: ${timestamp}`,\n '---',\n '',\n opts.markdownBody,\n '',\n ].join('\\n');\n\n await writeFile(filePath, content, 'utf-8');\n\n // Update STATE.md with breadcrumb\n await appendToStateMd(planningDir, {\n timestamp: shortTimestamp,\n specialist: opts.specialist,\n outcome: opts.outcome,\n relativePath,\n issueId: opts.issueId,\n });\n\n console.log(`[feedback-writer] Wrote ${relativePath} for ${opts.issueId}`);\n return { success: true, relativePath, filePath };\n } catch (error: any) {\n console.error(`[feedback-writer] Failed to write feedback for ${opts.issueId}:`, error);\n return { success: false, error: error.message };\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createHumeConfig,
|
|
3
|
+
deleteHumeConfig,
|
|
4
|
+
init_hume
|
|
5
|
+
} from "./chunk-7SN4L4PH.js";
|
|
6
|
+
import "./chunk-CWELWPWQ.js";
|
|
7
|
+
import "./chunk-ZHC57RCV.js";
|
|
8
|
+
init_hume();
|
|
9
|
+
export {
|
|
10
|
+
createHumeConfig,
|
|
11
|
+
deleteHumeConfig
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=hume-WMAUBBV2.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ declare const BIN_DIR: string;
|
|
|
9
9
|
declare const BACKUPS_DIR: string;
|
|
10
10
|
declare const COSTS_DIR: string;
|
|
11
11
|
declare const HEARTBEATS_DIR: string;
|
|
12
|
+
declare const ARCHIVES_DIR: string;
|
|
12
13
|
declare const TRAEFIK_DIR: string;
|
|
13
14
|
declare const TRAEFIK_DYNAMIC_DIR: string;
|
|
14
15
|
declare const TRAEFIK_CERTS_DIR: string;
|
|
@@ -16,38 +17,17 @@ declare const CERTS_DIR: string;
|
|
|
16
17
|
declare const CONFIG_FILE: string;
|
|
17
18
|
declare const SETTINGS_FILE: string;
|
|
18
19
|
declare const CLAUDE_DIR: string;
|
|
19
|
-
declare const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
readonly codex: {
|
|
30
|
-
readonly skills: string;
|
|
31
|
-
readonly commands: string;
|
|
32
|
-
readonly agents: string;
|
|
33
|
-
};
|
|
34
|
-
readonly cursor: {
|
|
35
|
-
readonly skills: string;
|
|
36
|
-
readonly commands: string;
|
|
37
|
-
readonly agents: string;
|
|
38
|
-
};
|
|
39
|
-
readonly gemini: {
|
|
40
|
-
readonly skills: string;
|
|
41
|
-
readonly commands: string;
|
|
42
|
-
readonly agents: string;
|
|
43
|
-
};
|
|
44
|
-
readonly opencode: {
|
|
45
|
-
readonly skills: string;
|
|
46
|
-
readonly commands: string;
|
|
47
|
-
readonly agents: string;
|
|
48
|
-
};
|
|
20
|
+
declare const LEGACY_RUNTIME_DIRS: {
|
|
21
|
+
readonly codex: string;
|
|
22
|
+
readonly cursor: string;
|
|
23
|
+
readonly gemini: string;
|
|
24
|
+
readonly opencode: string;
|
|
25
|
+
};
|
|
26
|
+
declare const SYNC_TARGET: {
|
|
27
|
+
readonly skills: string;
|
|
28
|
+
readonly commands: string;
|
|
29
|
+
readonly agents: string;
|
|
49
30
|
};
|
|
50
|
-
type Runtime = keyof typeof SYNC_TARGETS;
|
|
51
31
|
declare const TEMPLATES_DIR: string;
|
|
52
32
|
declare const CLAUDE_MD_TEMPLATES: string;
|
|
53
33
|
declare const SOURCE_TEMPLATES_DIR: string;
|
|
@@ -55,6 +35,21 @@ declare const SOURCE_TRAEFIK_TEMPLATES: string;
|
|
|
55
35
|
declare const SOURCE_SCRIPTS_DIR: string;
|
|
56
36
|
declare const SOURCE_SKILLS_DIR: string;
|
|
57
37
|
declare const SOURCE_DEV_SKILLS_DIR: string;
|
|
38
|
+
declare const SOURCE_AGENTS_DIR: string;
|
|
39
|
+
declare const SOURCE_RULES_DIR: string;
|
|
40
|
+
declare const CACHE_SKILLS_DIR: string;
|
|
41
|
+
declare const CACHE_AGENTS_DIR: string;
|
|
42
|
+
declare const CACHE_RULES_DIR: string;
|
|
43
|
+
declare const CACHE_MANIFEST: string;
|
|
44
|
+
declare const DOCS_DIR: string;
|
|
45
|
+
declare const PRDS_DIR: string;
|
|
46
|
+
declare const PRD_DRAFTS_DIR: string;
|
|
47
|
+
declare const PRD_PUBLISHED_DIR: string;
|
|
48
|
+
declare const PROJECT_DOCS_SUBDIR = "docs";
|
|
49
|
+
declare const PROJECT_PRDS_SUBDIR = "prds";
|
|
50
|
+
declare const PROJECT_PRDS_ACTIVE_SUBDIR = "active";
|
|
51
|
+
declare const PROJECT_PRDS_PLANNED_SUBDIR = "planned";
|
|
52
|
+
declare const PROJECT_PRDS_COMPLETED_SUBDIR = "completed";
|
|
58
53
|
/**
|
|
59
54
|
* Detect if running in development mode (from npm link or panopticon repo)
|
|
60
55
|
*
|
|
@@ -281,10 +276,13 @@ interface PanopticonConfig {
|
|
|
281
276
|
version: string;
|
|
282
277
|
};
|
|
283
278
|
sync: {
|
|
284
|
-
targets: string[];
|
|
285
279
|
backup_before_sync: boolean;
|
|
286
280
|
auto_sync?: boolean;
|
|
287
281
|
strategy?: 'symlink' | 'copy';
|
|
282
|
+
/** Parent directory where all projects live (e.g., ~/Projects).
|
|
283
|
+
* Skills are placed at <devroot>/.claude/skills/ (project level).
|
|
284
|
+
* Set to null or empty string to disable devroot skill placement. */
|
|
285
|
+
devroot?: string | null;
|
|
288
286
|
};
|
|
289
287
|
trackers: TrackersConfig;
|
|
290
288
|
dashboard: {
|
|
@@ -308,6 +306,18 @@ declare function getDefaultConfig(): PanopticonConfig;
|
|
|
308
306
|
* Reads from DASHBOARD_URL env var first, then config file, then defaults.
|
|
309
307
|
*/
|
|
310
308
|
declare function getDashboardApiUrl(): string;
|
|
309
|
+
/**
|
|
310
|
+
* Get the resolved devroot path from config.
|
|
311
|
+
* Returns null if devroot is disabled (set to null or empty string).
|
|
312
|
+
* Resolves ~ to home directory and validates the directory exists.
|
|
313
|
+
*/
|
|
314
|
+
declare function getDevrootPath(): string | null;
|
|
315
|
+
/**
|
|
316
|
+
* Find the devroot for a given project path.
|
|
317
|
+
* Tries config first, then walks up from projectPath looking for .claude/ directory.
|
|
318
|
+
* Returns the project path itself as last resort.
|
|
319
|
+
*/
|
|
320
|
+
declare function findDevrootForProject(projectPath: string): string;
|
|
311
321
|
|
|
312
322
|
type Shell = 'bash' | 'zsh' | 'fish' | 'unknown';
|
|
313
323
|
declare function detectShell(): Shell;
|
|
@@ -327,6 +337,22 @@ declare function listBackups(): BackupInfo[];
|
|
|
327
337
|
declare function restoreBackup(timestamp: string, targetDirs: Record<string, string>): void;
|
|
328
338
|
declare function cleanOldBackups(keepCount?: number): number;
|
|
329
339
|
|
|
340
|
+
/**
|
|
341
|
+
* Result of comparing a file against the manifest.
|
|
342
|
+
*/
|
|
343
|
+
type FileStatus = {
|
|
344
|
+
action: 'new';
|
|
345
|
+
} | {
|
|
346
|
+
action: 'update';
|
|
347
|
+
currentHash: string;
|
|
348
|
+
} | {
|
|
349
|
+
action: 'modified';
|
|
350
|
+
currentHash: string;
|
|
351
|
+
manifestHash: string;
|
|
352
|
+
} | {
|
|
353
|
+
action: 'user-owned';
|
|
354
|
+
};
|
|
355
|
+
|
|
330
356
|
interface SyncItem {
|
|
331
357
|
name: string;
|
|
332
358
|
sourcePath: string;
|
|
@@ -334,33 +360,94 @@ interface SyncItem {
|
|
|
334
360
|
status: 'new' | 'exists' | 'conflict' | 'symlink';
|
|
335
361
|
}
|
|
336
362
|
interface SyncPlan {
|
|
337
|
-
runtime: Runtime;
|
|
338
363
|
skills: SyncItem[];
|
|
339
364
|
commands: SyncItem[];
|
|
340
365
|
agents: SyncItem[];
|
|
366
|
+
rules: SyncItem[];
|
|
341
367
|
devSkills: SyncItem[];
|
|
342
368
|
}
|
|
343
369
|
/**
|
|
344
370
|
* Check if a path is a Panopticon-managed symlink
|
|
345
371
|
*/
|
|
346
372
|
declare function isPanopticonSymlink(targetPath: string): boolean;
|
|
373
|
+
interface MigrationResult {
|
|
374
|
+
removedSymlinks: string[];
|
|
375
|
+
preservedUserContent: string[];
|
|
376
|
+
errors: string[];
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* One-time migration: remove Panopticon-managed symlinks from ~/.claude/.
|
|
380
|
+
*
|
|
381
|
+
* Detects symlinks in ~/.claude/skills/ and ~/.claude/agents/ that point to
|
|
382
|
+
* .panopticon directories. Removes only those symlinks, preserving any
|
|
383
|
+
* user-created content (real files/directories).
|
|
384
|
+
*
|
|
385
|
+
* This is safe to run multiple times — it's a no-op if no symlinks remain.
|
|
386
|
+
*/
|
|
387
|
+
declare function migrateFromPersonalSymlinks(): MigrationResult;
|
|
388
|
+
interface RefreshCacheResult {
|
|
389
|
+
skills: {
|
|
390
|
+
copied: number;
|
|
391
|
+
total: number;
|
|
392
|
+
};
|
|
393
|
+
agents: {
|
|
394
|
+
copied: number;
|
|
395
|
+
total: number;
|
|
396
|
+
};
|
|
397
|
+
rules: {
|
|
398
|
+
copied: number;
|
|
399
|
+
total: number;
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Refresh the ~/.panopticon/ cache from the repo source.
|
|
404
|
+
*
|
|
405
|
+
* Always copies (overwrites) skills, agents, and rules from the package's
|
|
406
|
+
* source directories to the cache. Generates ~/.panopticon/.manifest.json
|
|
407
|
+
* tracking all cached files.
|
|
408
|
+
*
|
|
409
|
+
* This replaces the old "skip if exists" behavior in `pan install`.
|
|
410
|
+
*/
|
|
411
|
+
declare function refreshCache(): RefreshCacheResult;
|
|
412
|
+
/**
|
|
413
|
+
* Devroot sync item — represents a single file to distribute.
|
|
414
|
+
*/
|
|
415
|
+
interface DevrootSyncItem {
|
|
416
|
+
/** Relative path from .claude/ (e.g., "skills/beads/SKILL.md") */
|
|
417
|
+
relativePath: string;
|
|
418
|
+
/** Absolute path to source file in cache */
|
|
419
|
+
sourcePath: string;
|
|
420
|
+
/** Absolute path to target file at devroot */
|
|
421
|
+
targetPath: string;
|
|
422
|
+
/** What action to take */
|
|
423
|
+
status: FileStatus;
|
|
424
|
+
}
|
|
347
425
|
/**
|
|
348
|
-
* Plan what would be synced (dry run)
|
|
426
|
+
* Plan what would be synced to devroot (dry run).
|
|
427
|
+
* Reads from cache, targets <devroot>/.claude/, uses manifest comparison.
|
|
349
428
|
*/
|
|
350
|
-
declare function planSync(
|
|
429
|
+
declare function planSync(): SyncPlan;
|
|
351
430
|
interface SyncOptions {
|
|
352
431
|
force?: boolean;
|
|
432
|
+
diff?: boolean;
|
|
353
433
|
dryRun?: boolean;
|
|
354
434
|
}
|
|
355
435
|
interface SyncResult {
|
|
356
436
|
created: string[];
|
|
437
|
+
updated: string[];
|
|
357
438
|
skipped: string[];
|
|
358
439
|
conflicts: string[];
|
|
440
|
+
diffs: Array<{
|
|
441
|
+
path: string;
|
|
442
|
+
sourceContent: string;
|
|
443
|
+
targetContent: string;
|
|
444
|
+
}>;
|
|
359
445
|
}
|
|
360
446
|
/**
|
|
361
|
-
* Execute sync
|
|
447
|
+
* Execute sync to devroot: copy from cache to <devroot>/.claude/.
|
|
448
|
+
* Uses manifest-based conflict resolution. NEVER touches ~/.claude/.
|
|
362
449
|
*/
|
|
363
|
-
declare function executeSync(
|
|
450
|
+
declare function executeSync(options?: SyncOptions): SyncResult;
|
|
364
451
|
/**
|
|
365
452
|
* Hook item for sync planning
|
|
366
453
|
*/
|
|
@@ -381,6 +468,15 @@ declare function syncHooks(): {
|
|
|
381
468
|
synced: string[];
|
|
382
469
|
errors: string[];
|
|
383
470
|
};
|
|
471
|
+
/**
|
|
472
|
+
* Sync statusline script to all supported runtimes
|
|
473
|
+
* Copies the canonical statusline.sh from panopticon scripts to each runtime's config dir
|
|
474
|
+
* and ensures the runtime's settings.json references it.
|
|
475
|
+
*/
|
|
476
|
+
declare function syncStatusline(): {
|
|
477
|
+
synced: string[];
|
|
478
|
+
errors: string[];
|
|
479
|
+
};
|
|
384
480
|
|
|
385
481
|
/**
|
|
386
482
|
* Linear Issue Tracker Adapter
|
|
@@ -575,7 +671,7 @@ declare class LinkManager {
|
|
|
575
671
|
}
|
|
576
672
|
declare function getLinkManager(): LinkManager;
|
|
577
673
|
|
|
578
|
-
type AnthropicModel = 'claude-opus-4-6' | 'claude-sonnet-4-5' | 'claude-haiku-4-5';
|
|
674
|
+
type AnthropicModel = 'claude-opus-4-6' | 'claude-sonnet-4-6' | 'claude-sonnet-4-5' | 'claude-haiku-4-5';
|
|
579
675
|
type OpenAIModel = 'gpt-5.2-codex' | 'o3-deep-research' | 'gpt-4o' | 'gpt-4o-mini';
|
|
580
676
|
type GoogleModel = 'gemini-3-pro-preview' | 'gemini-3-flash-preview' | 'gemini-2.5-pro' | 'gemini-2.5-flash';
|
|
581
677
|
type ZAIModel = 'glm-4.7' | 'glm-4.7-flash';
|
|
@@ -592,7 +688,6 @@ type ComplexityModels = {
|
|
|
592
688
|
};
|
|
593
689
|
interface ModelsConfig {
|
|
594
690
|
specialists: SpecialistModels;
|
|
595
|
-
planning_agent: ModelId;
|
|
596
691
|
status_review: ModelId;
|
|
597
692
|
complexity: ComplexityModels;
|
|
598
693
|
}
|
|
@@ -674,11 +769,21 @@ type ProviderCompatibility = 'direct' | 'router';
|
|
|
674
769
|
/**
|
|
675
770
|
* Provider configuration
|
|
676
771
|
*/
|
|
772
|
+
/**
|
|
773
|
+
* Auth type for direct providers:
|
|
774
|
+
* - static: Use a long-lived API key passed via ANTHROPIC_AUTH_TOKEN (default)
|
|
775
|
+
* - credential-file: Use apiKeyHelper to read a fresh token from a credential file.
|
|
776
|
+
* Used for providers like Kimi Code Plan whose JWT tokens expire every ~15 minutes.
|
|
777
|
+
*/
|
|
778
|
+
type ProviderAuthType = 'static' | 'credential-file';
|
|
677
779
|
interface ProviderConfig {
|
|
678
780
|
name: ProviderName;
|
|
679
781
|
displayName: string;
|
|
680
782
|
compatibility: ProviderCompatibility;
|
|
681
783
|
baseUrl?: string;
|
|
784
|
+
authType?: ProviderAuthType;
|
|
785
|
+
credentialFile?: string;
|
|
786
|
+
credentialHelper?: string;
|
|
682
787
|
models: ModelId[];
|
|
683
788
|
tested: boolean;
|
|
684
789
|
description: string;
|
|
@@ -716,5 +821,13 @@ declare function needsRouter(apiKeys: {
|
|
|
716
821
|
* Get environment variables for spawning agent with specific provider
|
|
717
822
|
*/
|
|
718
823
|
declare function getProviderEnv(provider: ProviderConfig, apiKey: string): Record<string, string>;
|
|
824
|
+
/**
|
|
825
|
+
* For credential-file providers (e.g. Kimi Code Plan), configure Claude Code's
|
|
826
|
+
* apiKeyHelper in the workspace settings so tokens are refreshed dynamically.
|
|
827
|
+
*
|
|
828
|
+
* This writes to .claude/settings.local.json in the workspace directory.
|
|
829
|
+
* Must be called before spawning the agent.
|
|
830
|
+
*/
|
|
831
|
+
declare function setupCredentialFileAuth(provider: ProviderConfig, workspacePath: string): void;
|
|
719
832
|
|
|
720
|
-
export { AGENTS_DIR, type AnthropicModel, type ApiKeysConfig, BACKUPS_DIR, BIN_DIR, type BackupInfo, CERTS_DIR, CLAUDE_DIR, CLAUDE_MD_TEMPLATES,
|
|
833
|
+
export { AGENTS_DIR, ARCHIVES_DIR, type AnthropicModel, type ApiKeysConfig, BACKUPS_DIR, BIN_DIR, type BackupInfo, CACHE_AGENTS_DIR, CACHE_MANIFEST, CACHE_RULES_DIR, CACHE_SKILLS_DIR, CERTS_DIR, CLAUDE_DIR, CLAUDE_MD_TEMPLATES, COMMANDS_DIR, CONFIG_DIR, CONFIG_FILE, COSTS_DIR, type Comment, type ComplexityLevel, type ComplexityModels, DOCS_DIR, type DevrootSyncItem, type GitHubConfig, GitHubTracker, type GitLabConfig, GitLabTracker, type GoogleModel, HEARTBEATS_DIR, type HookItem, INIT_DIRS, type Issue, type IssueFilters, IssueNotFoundError, type IssueState, type IssueTracker, type IssueUpdate, type KimiModel, LEGACY_RUNTIME_DIRS, type LinearConfig, LinearTracker, type LinkDirection, LinkManager, type MigrationResult, type ModelId, type ModelsConfig, type NewIssue, NotImplementedError, type OpenAIModel, PANOPTICON_HOME, PRDS_DIR, PRD_DRAFTS_DIR, PRD_PUBLISHED_DIR, PROJECT_DOCS_SUBDIR, PROJECT_PRDS_ACTIVE_SUBDIR, PROJECT_PRDS_COMPLETED_SUBDIR, PROJECT_PRDS_PLANNED_SUBDIR, PROJECT_PRDS_SUBDIR, PROVIDERS, type PanopticonConfig, type ProviderAuthType, type ProviderCompatibility, type ProviderConfig, type ProviderName, type RallyConfig, type RefreshCacheResult, type RemoteConfig, type RemoteExeConfig, SETTINGS_FILE, SKILLS_DIR, SOURCE_AGENTS_DIR, SOURCE_DEV_SKILLS_DIR, SOURCE_RULES_DIR, SOURCE_SCRIPTS_DIR, SOURCE_SKILLS_DIR, SOURCE_TEMPLATES_DIR, SOURCE_TRAEFIK_TEMPLATES, SYNC_TARGET, type SettingsConfig, type ShadowConfig, type Shell, type SpecialistModels, type SyncItem, type SyncOptions, type SyncPlan, type SyncResult, TEMPLATES_DIR, TRAEFIK_CERTS_DIR, TRAEFIK_DIR, TRAEFIK_DYNAMIC_DIR, TrackerAuthError, type TrackerConfig, type TrackerConfigItem, type TrackerLink, type TrackerType, type TrackersConfig, type ZAIModel, addAlias, cleanOldBackups, createBackup, createBackupTimestamp, createTracker, createTrackerFromConfig, detectShell, executeSync, findDevrootForProject, formatIssueRef, getAgentCommand, getAliasInstructions, getAllTrackers, getAvailableModels, getClaudeModelFlag, getDashboardApiUrl, getDefaultConfig, getDefaultSettings, getDevrootPath, getDirectProviders, getLinkManager, getPanopticonHome, getPrimaryTracker, getProviderEnv, getProviderForModel, getRouterProviders, getSecondaryTracker, getShellRcFile, hasAlias, isAnthropicModel, isDevMode, isPanopticonSymlink, listBackups, loadConfig, loadSettings, migrateFromPersonalSymlinks, needsRouter, parseIssueRef, planHooksSync, planSync, refreshCache, requiresRouter, restoreBackup, saveConfig, saveSettings, setupCredentialFileAuth, syncHooks, syncStatusline, validateSettings };
|
package/dist/index.js
CHANGED
|
@@ -13,33 +13,36 @@ import {
|
|
|
13
13
|
hasAlias,
|
|
14
14
|
isPanopticonSymlink,
|
|
15
15
|
listBackups,
|
|
16
|
+
migrateFromPersonalSymlinks,
|
|
16
17
|
parseIssueRef,
|
|
17
18
|
planHooksSync,
|
|
18
19
|
planSync,
|
|
20
|
+
refreshCache,
|
|
19
21
|
restoreBackup,
|
|
20
|
-
syncHooks
|
|
21
|
-
|
|
22
|
+
syncHooks,
|
|
23
|
+
syncStatusline
|
|
24
|
+
} from "./chunk-XKT5MHPT.js";
|
|
25
|
+
import "./chunk-AQXETQHW.js";
|
|
22
26
|
import {
|
|
23
27
|
GitHubTracker,
|
|
24
28
|
GitLabTracker,
|
|
25
|
-
IssueNotFoundError,
|
|
26
29
|
LinearTracker,
|
|
27
|
-
NotImplementedError,
|
|
28
|
-
PROVIDERS,
|
|
29
|
-
TrackerAuthError,
|
|
30
30
|
createTracker,
|
|
31
31
|
createTrackerFromConfig,
|
|
32
|
-
getAgentCommand,
|
|
33
32
|
getAllTrackers,
|
|
33
|
+
getPrimaryTracker,
|
|
34
|
+
getSecondaryTracker
|
|
35
|
+
} from "./chunk-XFR2DLMR.js";
|
|
36
|
+
import {
|
|
37
|
+
PROVIDERS,
|
|
38
|
+
getAgentCommand,
|
|
34
39
|
getAvailableModels,
|
|
35
40
|
getClaudeModelFlag,
|
|
36
41
|
getDefaultSettings,
|
|
37
42
|
getDirectProviders,
|
|
38
|
-
getPrimaryTracker,
|
|
39
43
|
getProviderEnv,
|
|
40
44
|
getProviderForModel,
|
|
41
45
|
getRouterProviders,
|
|
42
|
-
getSecondaryTracker,
|
|
43
46
|
init_providers,
|
|
44
47
|
init_settings,
|
|
45
48
|
isAnthropicModel,
|
|
@@ -47,42 +50,62 @@ import {
|
|
|
47
50
|
needsRouter,
|
|
48
51
|
requiresRouter,
|
|
49
52
|
saveSettings,
|
|
53
|
+
setupCredentialFileAuth,
|
|
50
54
|
validateSettings
|
|
51
|
-
} from "./chunk-
|
|
52
|
-
import "./chunk-BBCUK6N2.js";
|
|
55
|
+
} from "./chunk-7XNJJBH6.js";
|
|
53
56
|
import {
|
|
57
|
+
findDevrootForProject,
|
|
54
58
|
getDashboardApiUrl,
|
|
55
59
|
getDefaultConfig,
|
|
60
|
+
getDevrootPath,
|
|
56
61
|
init_config,
|
|
57
62
|
loadConfig,
|
|
58
63
|
saveConfig
|
|
59
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-FQ66DECN.js";
|
|
65
|
+
import {
|
|
66
|
+
IssueNotFoundError,
|
|
67
|
+
NotImplementedError,
|
|
68
|
+
TrackerAuthError
|
|
69
|
+
} from "./chunk-CFCUOV3Q.js";
|
|
60
70
|
import {
|
|
61
71
|
AGENTS_DIR,
|
|
72
|
+
ARCHIVES_DIR,
|
|
62
73
|
BACKUPS_DIR,
|
|
63
74
|
BIN_DIR,
|
|
75
|
+
CACHE_AGENTS_DIR,
|
|
76
|
+
CACHE_MANIFEST,
|
|
77
|
+
CACHE_RULES_DIR,
|
|
78
|
+
CACHE_SKILLS_DIR,
|
|
64
79
|
CERTS_DIR,
|
|
65
80
|
CLAUDE_DIR,
|
|
66
81
|
CLAUDE_MD_TEMPLATES,
|
|
67
|
-
CODEX_DIR,
|
|
68
82
|
COMMANDS_DIR,
|
|
69
83
|
CONFIG_DIR,
|
|
70
84
|
CONFIG_FILE,
|
|
71
85
|
COSTS_DIR,
|
|
72
|
-
|
|
73
|
-
GEMINI_DIR,
|
|
86
|
+
DOCS_DIR,
|
|
74
87
|
HEARTBEATS_DIR,
|
|
75
88
|
INIT_DIRS,
|
|
76
|
-
|
|
89
|
+
LEGACY_RUNTIME_DIRS,
|
|
77
90
|
PANOPTICON_HOME,
|
|
91
|
+
PRDS_DIR,
|
|
92
|
+
PRD_DRAFTS_DIR,
|
|
93
|
+
PRD_PUBLISHED_DIR,
|
|
94
|
+
PROJECT_DOCS_SUBDIR,
|
|
95
|
+
PROJECT_PRDS_ACTIVE_SUBDIR,
|
|
96
|
+
PROJECT_PRDS_COMPLETED_SUBDIR,
|
|
97
|
+
PROJECT_PRDS_PLANNED_SUBDIR,
|
|
98
|
+
PROJECT_PRDS_SUBDIR,
|
|
78
99
|
SETTINGS_FILE,
|
|
79
100
|
SKILLS_DIR,
|
|
101
|
+
SOURCE_AGENTS_DIR,
|
|
80
102
|
SOURCE_DEV_SKILLS_DIR,
|
|
103
|
+
SOURCE_RULES_DIR,
|
|
81
104
|
SOURCE_SCRIPTS_DIR,
|
|
82
105
|
SOURCE_SKILLS_DIR,
|
|
83
106
|
SOURCE_TEMPLATES_DIR,
|
|
84
107
|
SOURCE_TRAEFIK_TEMPLATES,
|
|
85
|
-
|
|
108
|
+
SYNC_TARGET,
|
|
86
109
|
TEMPLATES_DIR,
|
|
87
110
|
TRAEFIK_CERTS_DIR,
|
|
88
111
|
TRAEFIK_DIR,
|
|
@@ -90,7 +113,7 @@ import {
|
|
|
90
113
|
getPanopticonHome,
|
|
91
114
|
init_paths,
|
|
92
115
|
isDevMode
|
|
93
|
-
} from "./chunk-
|
|
116
|
+
} from "./chunk-ZTFNYOC7.js";
|
|
94
117
|
import {
|
|
95
118
|
init_esm_shims
|
|
96
119
|
} from "./chunk-ZHC57RCV.js";
|
|
@@ -103,37 +126,50 @@ init_providers();
|
|
|
103
126
|
init_settings();
|
|
104
127
|
export {
|
|
105
128
|
AGENTS_DIR,
|
|
129
|
+
ARCHIVES_DIR,
|
|
106
130
|
BACKUPS_DIR,
|
|
107
131
|
BIN_DIR,
|
|
132
|
+
CACHE_AGENTS_DIR,
|
|
133
|
+
CACHE_MANIFEST,
|
|
134
|
+
CACHE_RULES_DIR,
|
|
135
|
+
CACHE_SKILLS_DIR,
|
|
108
136
|
CERTS_DIR,
|
|
109
137
|
CLAUDE_DIR,
|
|
110
138
|
CLAUDE_MD_TEMPLATES,
|
|
111
|
-
CODEX_DIR,
|
|
112
139
|
COMMANDS_DIR,
|
|
113
140
|
CONFIG_DIR,
|
|
114
141
|
CONFIG_FILE,
|
|
115
142
|
COSTS_DIR,
|
|
116
|
-
|
|
117
|
-
GEMINI_DIR,
|
|
143
|
+
DOCS_DIR,
|
|
118
144
|
GitHubTracker,
|
|
119
145
|
GitLabTracker,
|
|
120
146
|
HEARTBEATS_DIR,
|
|
121
147
|
INIT_DIRS,
|
|
122
148
|
IssueNotFoundError,
|
|
149
|
+
LEGACY_RUNTIME_DIRS,
|
|
123
150
|
LinearTracker,
|
|
124
151
|
LinkManager,
|
|
125
152
|
NotImplementedError,
|
|
126
|
-
OPENCODE_DIR,
|
|
127
153
|
PANOPTICON_HOME,
|
|
154
|
+
PRDS_DIR,
|
|
155
|
+
PRD_DRAFTS_DIR,
|
|
156
|
+
PRD_PUBLISHED_DIR,
|
|
157
|
+
PROJECT_DOCS_SUBDIR,
|
|
158
|
+
PROJECT_PRDS_ACTIVE_SUBDIR,
|
|
159
|
+
PROJECT_PRDS_COMPLETED_SUBDIR,
|
|
160
|
+
PROJECT_PRDS_PLANNED_SUBDIR,
|
|
161
|
+
PROJECT_PRDS_SUBDIR,
|
|
128
162
|
PROVIDERS,
|
|
129
163
|
SETTINGS_FILE,
|
|
130
164
|
SKILLS_DIR,
|
|
165
|
+
SOURCE_AGENTS_DIR,
|
|
131
166
|
SOURCE_DEV_SKILLS_DIR,
|
|
167
|
+
SOURCE_RULES_DIR,
|
|
132
168
|
SOURCE_SCRIPTS_DIR,
|
|
133
169
|
SOURCE_SKILLS_DIR,
|
|
134
170
|
SOURCE_TEMPLATES_DIR,
|
|
135
171
|
SOURCE_TRAEFIK_TEMPLATES,
|
|
136
|
-
|
|
172
|
+
SYNC_TARGET,
|
|
137
173
|
TEMPLATES_DIR,
|
|
138
174
|
TRAEFIK_CERTS_DIR,
|
|
139
175
|
TRAEFIK_DIR,
|
|
@@ -147,6 +183,7 @@ export {
|
|
|
147
183
|
createTrackerFromConfig,
|
|
148
184
|
detectShell,
|
|
149
185
|
executeSync,
|
|
186
|
+
findDevrootForProject,
|
|
150
187
|
formatIssueRef,
|
|
151
188
|
getAgentCommand,
|
|
152
189
|
getAliasInstructions,
|
|
@@ -156,6 +193,7 @@ export {
|
|
|
156
193
|
getDashboardApiUrl,
|
|
157
194
|
getDefaultConfig,
|
|
158
195
|
getDefaultSettings,
|
|
196
|
+
getDevrootPath,
|
|
159
197
|
getDirectProviders,
|
|
160
198
|
getLinkManager,
|
|
161
199
|
getPanopticonHome,
|
|
@@ -172,15 +210,19 @@ export {
|
|
|
172
210
|
listBackups,
|
|
173
211
|
loadConfig,
|
|
174
212
|
loadSettings,
|
|
213
|
+
migrateFromPersonalSymlinks,
|
|
175
214
|
needsRouter,
|
|
176
215
|
parseIssueRef,
|
|
177
216
|
planHooksSync,
|
|
178
217
|
planSync,
|
|
218
|
+
refreshCache,
|
|
179
219
|
requiresRouter,
|
|
180
220
|
restoreBackup,
|
|
181
221
|
saveConfig,
|
|
182
222
|
saveSettings,
|
|
223
|
+
setupCredentialFileAuth,
|
|
183
224
|
syncHooks,
|
|
225
|
+
syncStatusline,
|
|
184
226
|
validateSettings
|
|
185
227
|
};
|
|
186
228
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Panopticon CLI - Main exports for library usage\nexport * from './lib/paths.js';\nexport * from './lib/config.js';\nexport * from './lib/shell.js';\nexport * from './lib/backup.js';\nexport * from './lib/sync.js';\nexport * from './lib/tracker/index.js';\nexport * from './lib/providers.js';\nexport * from './lib/settings.js';\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Panopticon CLI - Main exports for library usage\nexport * from './lib/paths.js';\nexport * from './lib/config.js';\nexport * from './lib/shell.js';\nexport * from './lib/backup.js';\nexport * from './lib/sync.js';\nexport * from './lib/tracker/index.js';\nexport * from './lib/providers.js';\nexport * from './lib/settings.js';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAKA;AACA;","names":[]}
|
|
@@ -18,8 +18,8 @@ import {
|
|
|
18
18
|
resolveProjectPath,
|
|
19
19
|
saveProjectsConfig,
|
|
20
20
|
unregisterProject
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-OMNXYPXC.js";
|
|
22
|
+
import "./chunk-ZTFNYOC7.js";
|
|
23
23
|
import "./chunk-ZHC57RCV.js";
|
|
24
24
|
init_projects();
|
|
25
25
|
export {
|
|
@@ -42,4 +42,4 @@ export {
|
|
|
42
42
|
saveProjectsConfig,
|
|
43
43
|
unregisterProject
|
|
44
44
|
};
|
|
45
|
-
//# sourceMappingURL=projects-
|
|
45
|
+
//# sourceMappingURL=projects-JEIVIYC6.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
pollRemoteAgentStatus,
|
|
9
9
|
sendToRemoteAgent,
|
|
10
10
|
spawnRemoteAgent
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YLPSQAM2.js";
|
|
12
12
|
import "./chunk-JM6V62LT.js";
|
|
13
13
|
import "./chunk-ZHC57RCV.js";
|
|
14
14
|
init_remote_agents();
|
|
@@ -22,4 +22,4 @@ export {
|
|
|
22
22
|
sendToRemoteAgent,
|
|
23
23
|
spawnRemoteAgent
|
|
24
24
|
};
|
|
25
|
-
//# sourceMappingURL=remote-agents-
|
|
25
|
+
//# sourceMappingURL=remote-agents-TFSMW7GN.js.map
|