@rubytech/create-realagent-code 0.1.31 → 0.1.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/index.js +37 -39
- package/package.json +1 -1
- package/payload/docs/desktop-code-controls.md +63 -0
- package/payload/platform/lib/graph-trash/dist/index.d.ts +1 -1
- package/payload/platform/lib/graph-trash/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/graph-trash/dist/index.js +1 -2
- package/payload/platform/lib/graph-trash/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-trash/src/index.ts +1 -2
- package/payload/platform/neo4j/schema.cypher +4 -16
- package/payload/platform/plugins/admin/PLUGIN.md +0 -4
- package/payload/platform/plugins/admin/mcp/dist/index.js +1 -533
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/cloudflare/scripts/setup-tunnel.sh +0 -47
- package/payload/platform/plugins/docs/references/cloudflare.md +0 -1
- package/payload/platform/plugins/docs/references/deployment.md +9 -18
- package/payload/platform/plugins/docs/references/internals.md +4 -4
- package/payload/platform/plugins/docs/references/platform.md +5 -1
- package/payload/platform/plugins/docs/references/troubleshooting.md +11 -7
- package/payload/platform/plugins/memory/PLUGIN.md +1 -1
- package/payload/platform/plugins/memory/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-prune.d.ts +2 -3
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-prune.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-prune.js +2 -3
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-prune.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-restore.d.ts +1 -1
- package/payload/platform/plugins/memory/references/graph-primitives.md +5 -5
- package/payload/platform/scripts/seed-neo4j.sh +9 -38
- package/payload/platform/services/claude-session-manager/dist/config.d.ts +9 -0
- package/payload/platform/services/claude-session-manager/dist/config.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/config.js +41 -2
- package/payload/platform/services/claude-session-manager/dist/config.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +1 -14
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/index.js +5 -0
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-path.js +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-path.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +7 -15
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +18 -14
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts +14 -27
- package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/system-prompt.js +60 -83
- package/payload/platform/services/claude-session-manager/dist/system-prompt.js.map +1 -1
- package/payload/platform/templates/agents/admin/IDENTITY.md +2 -0
- package/payload/server/{chunk-NL7QLVAD.js → chunk-KVGTWNKQ.js} +1 -70
- package/payload/server/{chunk-2MRZBQMH.js → chunk-RZQMYJVY.js} +1 -1
- package/payload/server/{chunk-YPZFYTYP.js → chunk-ZGJ6CUU2.js} +1 -1
- package/payload/server/{cloudflare-task-tracker-QVOGHKWV.js → cloudflare-task-tracker-4PKOLE4H.js} +2 -2
- package/payload/server/maxy-edge.js +2 -2
- package/payload/server/public/assets/{Checkbox-YIF0payo.js → Checkbox-C6zXApx_.js} +1 -1
- package/payload/server/public/assets/{admin-Bk2eXMFD.js → admin-Cuu1QdAA.js} +53 -53
- package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-Bz8mlxZZ.js → architectureDiagram-Q4EWVU46-BYXgFii5.js} +1 -1
- package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DwV8Z8-i.js → blockDiagram-DXYQGD6D-GIQ0eO13.js} +1 -1
- package/payload/server/public/assets/{brand-Bm671owU.js → brand-B-bNrpwc.js} +1 -1
- package/payload/server/public/assets/{brand-DqiRNMlu.css → brand-DdhkC994.css} +1 -1
- package/payload/server/public/assets/{c4Diagram-AHTNJAMY-DiUTejMp.js → c4Diagram-AHTNJAMY-BmyWfG-l.js} +1 -1
- package/payload/server/public/assets/channel-C76knBRO.js +1 -0
- package/payload/server/public/assets/{chunk-336JU56O-4mHZpBXe.js → chunk-336JU56O-DcWl0MQo.js} +2 -2
- package/payload/server/public/assets/{chunk-426QAEUC-Cbv0vrN9.js → chunk-426QAEUC-BIW6kq6y.js} +1 -1
- package/payload/server/public/assets/{chunk-4TB4RGXK-BvLhId_2.js → chunk-4TB4RGXK-CdoHpV4X.js} +1 -1
- package/payload/server/public/assets/{chunk-5FUZZQ4R-bBafOTkw.js → chunk-5FUZZQ4R-bn_a4sfU.js} +1 -1
- package/payload/server/public/assets/{chunk-5PVQY5BW-B0NqBKVy.js → chunk-5PVQY5BW-C_Rq8j_M.js} +1 -1
- package/payload/server/public/assets/{chunk-EDXVE4YY-CFd4SqI6.js → chunk-EDXVE4YY-CWQvoVKV.js} +1 -1
- package/payload/server/public/assets/{chunk-ENJZ2VHE-ajf2sb6c.js → chunk-ENJZ2VHE-DBHn1kSk.js} +1 -1
- package/payload/server/public/assets/{chunk-ICPOFSXX-pWg6bug7.js → chunk-ICPOFSXX-SW2Qx11O.js} +1 -1
- package/payload/server/public/assets/{chunk-OYMX7WX6-OjEd-17c.js → chunk-OYMX7WX6-BvIG7tVW.js} +1 -1
- package/payload/server/public/assets/{chunk-U2HBQHQK-DbEFSPoh.js → chunk-U2HBQHQK-BiBUb0cF.js} +1 -1
- package/payload/server/public/assets/{chunk-X2U36JSP-COdNwrBb.js → chunk-X2U36JSP-Y0MKZCCh.js} +1 -1
- package/payload/server/public/assets/{chunk-YZCP3GAM-CHMWuY9B.js → chunk-YZCP3GAM-DKPh06GH.js} +1 -1
- package/payload/server/public/assets/{chunk-ZZ45TVLE-B-uDLQOB.js → chunk-ZZ45TVLE-C2WNo-fK.js} +1 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-Bohexn7P.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DVsmsAu7.js +1 -0
- package/payload/server/public/assets/clone-DUrXF4sO.js +1 -0
- package/payload/server/public/assets/{dagre-bhIG_KnW.js → dagre-CrK8E9ee.js} +1 -1
- package/payload/server/public/assets/{dagre-KV5264BT-CMEzmhIL.js → dagre-KV5264BT-_o6uXcH8.js} +1 -1
- package/payload/server/public/assets/data-j1WNhF8t.js +1 -0
- package/payload/server/public/assets/{device-url-actions-AcOyLSeF.js → device-url-actions-BcHerWqJ.js} +1 -1
- package/payload/server/public/assets/{diagram-5BDNPKRD-6RIoQhIL.js → diagram-5BDNPKRD-FFP9DKhc.js} +1 -1
- package/payload/server/public/assets/{diagram-G4DWMVQ6-BSp36TVv.js → diagram-G4DWMVQ6-DpwD1jBP.js} +1 -1
- package/payload/server/public/assets/{diagram-MMDJMWI5-D54fo52D.js → diagram-MMDJMWI5-C3K5agdK.js} +1 -1
- package/payload/server/public/assets/{diagram-TYMM5635-CWL8z-Pq.js → diagram-TYMM5635-CbeDipbC.js} +1 -1
- package/payload/server/public/assets/{erDiagram-SMLLAGMA-AnnHBo3z.js → erDiagram-SMLLAGMA-XBIFndNy.js} +1 -1
- package/payload/server/public/assets/{flowDiagram-DWJPFMVM-laWmBl5o.js → flowDiagram-DWJPFMVM-BvEgySyn.js} +1 -1
- package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-B94ko8ie.js → ganttDiagram-T4ZO3ILL-D7gIRKJf.js} +1 -1
- package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-DxzL1fxZ.js → gitGraphDiagram-UUTBAWPF-vJu_hcri.js} +1 -1
- package/payload/server/public/assets/graph-C_f_9L_7.js +1 -0
- package/payload/server/public/assets/graph-labels-BSQJHlgf.js +1 -0
- package/payload/server/public/assets/{graphlib-CY-zIElM.js → graphlib-Dp0mN6JW.js} +1 -1
- package/payload/server/public/assets/{infoDiagram-42DDH7IO-BMTajIIr.js → infoDiagram-42DDH7IO-g4Dlc5Cr.js} +1 -1
- package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-B_QauE5O.js → ishikawaDiagram-UXIWVN3A-D_45LXOe.js} +1 -1
- package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-DmlqSIih.js → journeyDiagram-VCZTEJTY-CggbHl6N.js} +1 -1
- package/payload/server/public/assets/{kanban-definition-6JOO6SKY-ZGDQT7xB.js → kanban-definition-6JOO6SKY-CysAe-Ab.js} +1 -1
- package/payload/server/public/assets/{line-D13opgep.js → line-BAxq_DSY.js} +1 -1
- package/payload/server/public/assets/{mermaid-parser.core-C650Sual.js → mermaid-parser.core-DbFuvkjL.js} +1 -1
- package/payload/server/public/assets/{mermaid.core-BqnQoXTp.js → mermaid.core-CehvJn5b.js} +3 -3
- package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-BS_8y-tY.js → mindmap-definition-QFDTVHPH-DbPbBJ9h.js} +1 -1
- package/payload/server/public/assets/page-B0BPrSE3.js +1 -0
- package/payload/server/public/assets/{page-Dk73ZO1F.js → page-Co7KCRV8.js} +2 -2
- package/payload/server/public/assets/{pieDiagram-DEJITSTG-B5OmNvBO.js → pieDiagram-DEJITSTG-cagLL9ng.js} +1 -1
- package/payload/server/public/assets/{public-DDsYgotk.js → public-B6TEcDLx.js} +5 -5
- package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-DTYITdNo.js → quadrantDiagram-34T5L4WZ-Keaa1jDh.js} +1 -1
- package/payload/server/public/assets/{requirementDiagram-MS252O5E-CRZWxH06.js → requirementDiagram-MS252O5E-BcYRyn5z.js} +1 -1
- package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-DazRENhe.js → sankeyDiagram-XADWPNL6--fKoG9NR.js} +1 -1
- package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-BcHTxmPy.js → sequenceDiagram-FGHM5R23-lKG36-Di.js} +1 -1
- package/payload/server/public/assets/{stateDiagram-FHFEXIEX-DYU7nbqg.js → stateDiagram-FHFEXIEX-BuVsrlig.js} +1 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DSt88_xL.js +1 -0
- package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-BKGmqkST.js → timeline-definition-GMOUNBTQ-D6X6uq17.js} +1 -1
- package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BXvLPmX7.js → vennDiagram-DHZGUBPP-BgvcfRVf.js} +1 -1
- package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-BCclUa3Z.js → wardleyDiagram-NUSXRM2D-Cpd1xsrt.js} +1 -1
- package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-C-Xp-Eoc.js → xychartDiagram-5P7HB3ND-CDF5ZVFv.js} +1 -1
- package/payload/server/public/data.html +5 -5
- package/payload/server/public/graph.html +6 -6
- package/payload/server/public/index.html +8 -8
- package/payload/server/public/public.html +5 -5
- package/payload/server/server.js +151 -362
- package/payload/platform/plugins/admin/hooks/onboarding-skill-drift.sh +0 -103
- package/payload/platform/plugins/admin/skills/onboarding/SKILL.md +0 -240
- package/payload/platform/services/claude-session-manager/scripts/onboarding-advance.sh +0 -61
- package/payload/platform/services/claude-session-manager/scripts/onboarding-prompts/step-0.md +0 -5
- package/payload/platform/services/claude-session-manager/scripts/onboarding-prompts/step-1.md +0 -3
- package/payload/platform/services/claude-session-manager/scripts/onboarding-prompts/step-2.md +0 -3
- package/payload/platform/services/claude-session-manager/scripts/onboarding-prompts/step-3.md +0 -8
- package/payload/platform/services/claude-session-manager/scripts/onboarding-prompts/step-4.md +0 -9
- package/payload/platform/services/claude-session-manager/scripts/onboarding-prompts/step-5.md +0 -3
- package/payload/platform/services/claude-session-manager/scripts/onboarding-prompts/step-6.md +0 -5
- package/payload/platform/services/claude-session-manager/scripts/onboarding-prompts/step-7.md +0 -5
- package/payload/platform/services/claude-session-manager/scripts/onboarding-prompts/step-8.md +0 -5
- package/payload/platform/services/claude-session-manager/scripts/onboarding-prompts/step-9.md +0 -8
- package/payload/platform/services/claude-session-manager/scripts/onboarding-prompts/step-complete.md +0 -3
- package/payload/platform/services/claude-session-manager/scripts/onboarding-prompts/step-unreachable.md +0 -3
- package/payload/server/public/assets/channel-PtVtoBEL.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-RVH_SEhY.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Cm3rAb93.js +0 -1
- package/payload/server/public/assets/clone-BjY0Wzht.js +0 -1
- package/payload/server/public/assets/data-ll_OwVNL.js +0 -1
- package/payload/server/public/assets/graph-DJ2VWioQ.js +0 -1
- package/payload/server/public/assets/graph-labels-qhU8xZDH.js +0 -1
- package/payload/server/public/assets/page-DsYsdBUK.js +0 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-BgljVtlp.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty-spawner.js","sourceRoot":"","sources":["../src/pty-spawner.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,yEAAyE;AACzE,0DAA0D;AAC1D,0EAA0E;AAC1E,2EAA2E;AAC3E,eAAe;AACf,EAAE;AACF,0EAA0E;AAC1E,0EAA0E;AAC1E,iEAAiE;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"pty-spawner.js","sourceRoot":"","sources":["../src/pty-spawner.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,33 +4,20 @@ export interface HostContext {
|
|
|
4
4
|
adminUrl: string;
|
|
5
5
|
tunnelUrl: string | null;
|
|
6
6
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
* Neo4j unreachable. Task 043 moves the onboarding directive from PTY
|
|
11
|
-
* keystrokes into the spawn-time append-system-prompt block. Task 066
|
|
12
|
-
* makes the block state-only and adds the optional `resumePrompt` —
|
|
13
|
-
* verbatim stdout of the banner-click script run that the operator
|
|
14
|
-
* just saw in the chat surface. */
|
|
15
|
-
export interface OnboardingPayload {
|
|
16
|
-
step: number | null;
|
|
17
|
-
resumePrompt?: string;
|
|
7
|
+
export interface IdentitySources {
|
|
8
|
+
accountDir: string;
|
|
9
|
+
role: 'admin' | 'public';
|
|
18
10
|
}
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
export interface RenderedOnboardingBlock {
|
|
22
|
-
/** Block body without a leading newline; callers join with `\n`. */
|
|
11
|
+
export type AppendBlockResult = {
|
|
12
|
+
ok: true;
|
|
23
13
|
block: string;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
* output of the banner-click script run, so the agent has context for
|
|
34
|
-
* the operator's next reply without any per-tool imperative. */
|
|
35
|
-
export declare function renderOnboardingBlock(step: number | null, resumePrompt?: string): RenderedOnboardingBlock | null;
|
|
14
|
+
identityBytes: number;
|
|
15
|
+
soulBytes: number;
|
|
16
|
+
} | {
|
|
17
|
+
ok: false;
|
|
18
|
+
reason: 'host-unresolved' | 'identity-unresolved';
|
|
19
|
+
detail: string;
|
|
20
|
+
};
|
|
21
|
+
export declare const ATTACHMENT_CEILING_BYTES = 31457280;
|
|
22
|
+
export declare function composeAppendSystemPrompt(host: HostContext, sources: IdentitySources): AppendBlockResult;
|
|
36
23
|
//# sourceMappingURL=system-prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA;CACzB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,iBAAiB,GAAG,qBAAqB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpF,eAAO,MAAM,wBAAwB,WAAa,CAAA;AAgBlD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,eAAe,GACvB,iBAAiB,CAuCnB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Composes the `--append-system-prompt` block injected into every spawned
|
|
2
|
-
// `claude --verbose --remote-control` PTY.
|
|
2
|
+
// `claude --verbose --remote-control` PTY. Four sentinel-wrapped sections in
|
|
3
|
+
// documented order:
|
|
3
4
|
//
|
|
4
5
|
// <host> ... </host> — hostname, LAN IPv4, admin URL,
|
|
5
6
|
// tunnel URL (or "none")
|
|
@@ -7,37 +8,58 @@
|
|
|
7
8
|
// — 30 MiB SendUserFile ceiling and
|
|
8
9
|
// the tunnel-link workaround for
|
|
9
10
|
// oversize files
|
|
10
|
-
// <
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
// is anything other than 9
|
|
15
|
-
// (complete). State-only as of
|
|
16
|
-
// Task 066: the block carries
|
|
17
|
-
// currentStep / resumeStep
|
|
18
|
-
// attributes plus the script-
|
|
19
|
-
// resolved resume-prompt content
|
|
20
|
-
// quoted verbatim. No prose
|
|
21
|
-
// imperatives — the onboarding
|
|
22
|
-
// state machine is advanced by
|
|
23
|
-
// scripts/onboarding-advance.sh
|
|
24
|
-
// BEFORE the session is spawned,
|
|
25
|
-
// and the chat surface presents
|
|
26
|
-
// the script output verbatim.
|
|
11
|
+
// <identity> ... </identity> — verbatim contents of
|
|
12
|
+
// <accountDir>/agents/<role>/IDENTITY.md
|
|
13
|
+
// <soul> ... </soul> — verbatim contents of
|
|
14
|
+
// <accountDir>/agents/<role>/SOUL.md
|
|
27
15
|
//
|
|
28
16
|
// The block is the only doctrine surface that survives Claude Code SDK
|
|
29
17
|
// upgrades. Per Task 037, no skill carries a copy; one edit here changes the
|
|
30
18
|
// ceiling or workaround for every agent in every session.
|
|
31
19
|
//
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
//
|
|
20
|
+
// Per-spawn read (no cache) is the contract: sidebar edits to IDENTITY.md /
|
|
21
|
+
// SOUL.md land on the next spawn without a manager restart. Task 070.
|
|
22
|
+
//
|
|
23
|
+
// Two failure modes:
|
|
24
|
+
// host-unresolved — host.lanIPv4 is null (boot resolution failed).
|
|
25
|
+
// identity-unresolved — IDENTITY.md or SOUL.md is missing, empty, or
|
|
26
|
+
// unreadable under <accountDir>/agents/<role>/.
|
|
27
|
+
// No silent fallback: the caller surfaces the literal path so the operator
|
|
28
|
+
// can grep `[pty-spawn]` for the failed file.
|
|
29
|
+
import { readFileSync } from 'node:fs';
|
|
30
|
+
import { join } from 'node:path';
|
|
35
31
|
export const ATTACHMENT_CEILING_BYTES = 31_457_280; // 30 MiB, mirrors the SDK uploader
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
function readIdentityFile(path) {
|
|
33
|
+
let content;
|
|
34
|
+
try {
|
|
35
|
+
content = readFileSync(path, 'utf-8');
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
const code = err.code ?? 'EUNKNOWN';
|
|
39
|
+
return { ok: false, detail: `${path}:${code}` };
|
|
40
|
+
}
|
|
41
|
+
if (content.length === 0) {
|
|
42
|
+
return { ok: false, detail: `${path}:empty` };
|
|
43
|
+
}
|
|
44
|
+
return { ok: true, content };
|
|
45
|
+
}
|
|
46
|
+
export function composeAppendSystemPrompt(host, sources) {
|
|
47
|
+
if (!host.lanIPv4) {
|
|
48
|
+
return { ok: false, reason: 'host-unresolved', detail: 'host.lanIPv4 is null' };
|
|
49
|
+
}
|
|
50
|
+
const roleDir = join(sources.accountDir, 'agents', sources.role);
|
|
51
|
+
const identityPath = join(roleDir, 'IDENTITY.md');
|
|
52
|
+
const soulPath = join(roleDir, 'SOUL.md');
|
|
53
|
+
const identity = readIdentityFile(identityPath);
|
|
54
|
+
if (!identity.ok) {
|
|
55
|
+
return { ok: false, reason: 'identity-unresolved', detail: identity.detail };
|
|
56
|
+
}
|
|
57
|
+
const soul = readIdentityFile(soulPath);
|
|
58
|
+
if (!soul.ok) {
|
|
59
|
+
return { ok: false, reason: 'identity-unresolved', detail: soul.detail };
|
|
60
|
+
}
|
|
39
61
|
const tunnelLine = host.tunnelUrl ? host.tunnelUrl : 'none';
|
|
40
|
-
const
|
|
62
|
+
const block = [
|
|
41
63
|
'<host>',
|
|
42
64
|
`hostname: ${host.hostname}`,
|
|
43
65
|
`lan-ipv4: ${host.lanIPv4}`,
|
|
@@ -47,63 +69,18 @@ export function composeAppendSystemPrompt(host, onboarding) {
|
|
|
47
69
|
'<attachment-ceiling>',
|
|
48
70
|
'SendUserFile and any inline attachment surface accept at most 30 MiB per file. Over that ceiling, write the file under <spawn-cwd>/output/ and send the operator the public URL at <tunnel-url>/files/<relative-path>; never call SendUserFile with a file whose on-disk size exceeds 30 MiB. The tool returns "N files delivered to user" even when the byte upload silently fails, so the response is not evidence of delivery.',
|
|
49
71
|
'</attachment-ceiling>',
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
* the operator's next reply without any per-tool imperative. */
|
|
64
|
-
export function renderOnboardingBlock(step, resumePrompt) {
|
|
65
|
-
if (step === 9)
|
|
66
|
-
return null;
|
|
67
|
-
if (step === null) {
|
|
68
|
-
return { block: renderUnreachableBlock(resumePrompt), label: 'graph-unreachable' };
|
|
69
|
-
}
|
|
70
|
-
if (step < 0) {
|
|
71
|
-
return { block: renderIncompleteBlock(-1, resumePrompt), label: 'missing' };
|
|
72
|
-
}
|
|
73
|
-
return { block: renderIncompleteBlock(step, resumePrompt), label: String(step) };
|
|
74
|
-
}
|
|
75
|
-
function renderIncompleteBlock(currentStep, resumePrompt) {
|
|
76
|
-
const stepAttr = currentStep < 0 ? 'missing' : String(currentStep);
|
|
77
|
-
const resumeStep = currentStep < 0 ? 0 : currentStep + 1;
|
|
78
|
-
// Task 066 — state-only block. No prose imperatives, no named tools.
|
|
79
|
-
// The onboarding state machine is advanced by
|
|
80
|
-
// scripts/onboarding-advance.sh BEFORE the session is spawned; the
|
|
81
|
-
// chat surface presents that script's stdout verbatim. If the caller
|
|
82
|
-
// supplied `resumePrompt`, it is quoted here as `<resume-prompt-shown>`
|
|
83
|
-
// so the agent has the operator-visible context for the first reply
|
|
84
|
-
// without needing to derive it from the SKILL.md from scratch.
|
|
85
|
-
const lines = [`<onboarding-state currentStep="${stepAttr}" resumeStep="${resumeStep}">`];
|
|
86
|
-
if (resumePrompt && resumePrompt.trim()) {
|
|
87
|
-
lines.push('<resume-prompt-shown>');
|
|
88
|
-
lines.push(resumePrompt.trimEnd());
|
|
89
|
-
lines.push('</resume-prompt-shown>');
|
|
90
|
-
}
|
|
91
|
-
lines.push(`</onboarding-state>`);
|
|
92
|
-
return lines.join('\n');
|
|
93
|
-
}
|
|
94
|
-
function renderUnreachableBlock(resumePrompt) {
|
|
95
|
-
// Task 066 — state-only, no imperatives. Agent reads
|
|
96
|
-
// `graphUnreachable="true"` plus the optional resume-prompt-shown
|
|
97
|
-
// content; how to relay the situation to the operator is the agent's
|
|
98
|
-
// judgement, anchored on the IDENTITY contract rather than a
|
|
99
|
-
// per-session directive.
|
|
100
|
-
const lines = [`<onboarding-state currentStep="unknown" graphUnreachable="true">`];
|
|
101
|
-
if (resumePrompt && resumePrompt.trim()) {
|
|
102
|
-
lines.push('<resume-prompt-shown>');
|
|
103
|
-
lines.push(resumePrompt.trimEnd());
|
|
104
|
-
lines.push('</resume-prompt-shown>');
|
|
105
|
-
}
|
|
106
|
-
lines.push(`</onboarding-state>`);
|
|
107
|
-
return lines.join('\n');
|
|
72
|
+
'<identity>',
|
|
73
|
+
identity.content,
|
|
74
|
+
'</identity>',
|
|
75
|
+
'<soul>',
|
|
76
|
+
soul.content,
|
|
77
|
+
'</soul>',
|
|
78
|
+
].join('\n');
|
|
79
|
+
return {
|
|
80
|
+
ok: true,
|
|
81
|
+
block,
|
|
82
|
+
identityBytes: Buffer.byteLength(identity.content, 'utf8'),
|
|
83
|
+
soulBytes: Buffer.byteLength(soul.content, 'utf8'),
|
|
84
|
+
};
|
|
108
85
|
}
|
|
109
86
|
//# sourceMappingURL=system-prompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ The Neo4j graph is where this account stores everything it knows. Before you wri
|
|
|
14
14
|
|
|
15
15
|
Every node has a parent. The canonical hierarchy is LocalBusiness, then Project, then Task or Person or Organisation or KnowledgeDocument. A node with no upward edge to its hierarchy parent is a write defect, not a graph state. The wrapped writers refuse it; the graph-write shim rolls back any raw cypher that produces one. Cross-hierarchy edges (one Person linked to several Projects, one KnowledgeDocument about several Organisations) are normal; the rule governs containment, not exclusivity.
|
|
16
16
|
|
|
17
|
+
When the owner declines an offer, record the decline as a property on `Person` (e.g. `preferences.declinedRemoteAccess: true`) so you do not re-ask. The `## About the Owner` Coverage signal will keep surfacing missing fields; honour `notApplicable: true` on any field the owner has explicitly opted out of.
|
|
18
|
+
|
|
17
19
|
## Before you act
|
|
18
20
|
|
|
19
21
|
You may not act on a request until you know three things: what is being asked, what is in scope and what is out of scope, and what rules apply for this specific task. When the owner's words are precise, all three are obvious. Act. When any of the three needs a guess, stop and ask one question. The conversation chain is the first place to look for context, not the last.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import neo4j from "neo4j-driver";
|
|
3
3
|
import { randomUUID } from "crypto";
|
|
4
4
|
import { spawn } from "child_process";
|
|
5
|
-
import { readFileSync, readdirSync, existsSync, openSync, readSync, closeSync, statSync
|
|
5
|
+
import { readFileSync, readdirSync, existsSync, openSync, readSync, closeSync, statSync } from "fs";
|
|
6
6
|
import { resolve } from "path";
|
|
7
7
|
|
|
8
8
|
// ../lib/models/src/index.ts
|
|
@@ -1015,74 +1015,6 @@ var TOTAL_PROFILE_FIELDS = Object.values(PROFILE_FIELD_TEMPLATES).reduce(
|
|
|
1015
1015
|
0
|
|
1016
1016
|
);
|
|
1017
1017
|
var RECENT_FAILURES_TAIL_BYTES = 10 * 1024;
|
|
1018
|
-
async function consumeStep7FlagUI(session, accountId) {
|
|
1019
|
-
const accountDir = resolve(PLATFORM_ROOT, "..", "data/accounts", accountId);
|
|
1020
|
-
const flagPath = resolve(accountDir, "onboarding", "step7-complete");
|
|
1021
|
-
if (!existsSync(flagPath)) return false;
|
|
1022
|
-
let completedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
1023
|
-
try {
|
|
1024
|
-
const raw = readFileSync(flagPath, "utf-8").trim();
|
|
1025
|
-
if (raw) {
|
|
1026
|
-
const parsed = JSON.parse(raw);
|
|
1027
|
-
if (typeof parsed.completedAt === "string") {
|
|
1028
|
-
completedAt = parsed.completedAt;
|
|
1029
|
-
}
|
|
1030
|
-
}
|
|
1031
|
-
} catch {
|
|
1032
|
-
}
|
|
1033
|
-
const result = await session.run(
|
|
1034
|
-
`MATCH (o:OnboardingState {accountId: $accountId})
|
|
1035
|
-
SET o.step7CompletedAt = CASE WHEN o.step7CompletedAt IS NULL THEN $completedAt ELSE o.step7CompletedAt END,
|
|
1036
|
-
o.currentStep = CASE WHEN 7 > o.currentStep THEN 7 ELSE o.currentStep END,
|
|
1037
|
-
o.updatedAt = $completedAt
|
|
1038
|
-
RETURN count(o) AS updated`,
|
|
1039
|
-
{ accountId, completedAt }
|
|
1040
|
-
);
|
|
1041
|
-
const updatedRaw = result.records[0]?.get("updated");
|
|
1042
|
-
const updated = typeof updatedRaw === "number" ? updatedRaw : updatedRaw && typeof updatedRaw === "object" && "toNumber" in updatedRaw ? updatedRaw.toNumber() : 0;
|
|
1043
|
-
if (updated === 0) {
|
|
1044
|
-
console.log(
|
|
1045
|
-
`[onboarding-flag-consumed] accountId=${accountId.slice(0, 8)}\u2026 step=7 source=filesystem flagPath=${flagPath} skipped=no-node`
|
|
1046
|
-
);
|
|
1047
|
-
return false;
|
|
1048
|
-
}
|
|
1049
|
-
console.log(
|
|
1050
|
-
`[onboarding-flag-consumed] accountId=${accountId.slice(0, 8)}\u2026 step=7 source=filesystem flagPath=${flagPath} completedAt=${completedAt}`
|
|
1051
|
-
);
|
|
1052
|
-
try {
|
|
1053
|
-
rmSync(flagPath);
|
|
1054
|
-
} catch (err) {
|
|
1055
|
-
console.error(
|
|
1056
|
-
`[onboarding-flag-consumed] warn: failed to delete ${flagPath}: ${err instanceof Error ? err.message : String(err)}`
|
|
1057
|
-
);
|
|
1058
|
-
}
|
|
1059
|
-
return true;
|
|
1060
|
-
}
|
|
1061
|
-
async function loadOnboardingStep(accountId) {
|
|
1062
|
-
const session = getSession();
|
|
1063
|
-
try {
|
|
1064
|
-
await consumeStep7FlagUI(session, accountId);
|
|
1065
|
-
const result = await session.run(
|
|
1066
|
-
`MATCH (o:OnboardingState {accountId: $accountId})
|
|
1067
|
-
RETURN o.currentStep AS currentStep`,
|
|
1068
|
-
{ accountId }
|
|
1069
|
-
);
|
|
1070
|
-
if (result.records.length === 0) {
|
|
1071
|
-
return -1;
|
|
1072
|
-
}
|
|
1073
|
-
const raw = result.records[0].get("currentStep");
|
|
1074
|
-
if (typeof raw === "number") return raw;
|
|
1075
|
-
if (raw && typeof raw === "object" && "toNumber" in raw) {
|
|
1076
|
-
return raw.toNumber();
|
|
1077
|
-
}
|
|
1078
|
-
return 0;
|
|
1079
|
-
} catch (err) {
|
|
1080
|
-
console.error(`[onboarding-inject] loadOnboardingStep failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
1081
|
-
return null;
|
|
1082
|
-
} finally {
|
|
1083
|
-
await session.close();
|
|
1084
|
-
}
|
|
1085
|
-
}
|
|
1086
1018
|
var AGENT_FILE_ROLES = [
|
|
1087
1019
|
{ filename: "IDENTITY.md", role: "identity" },
|
|
1088
1020
|
{ filename: "SOUL.md", role: "soul" },
|
|
@@ -1273,7 +1205,6 @@ export {
|
|
|
1273
1205
|
getUserTimezone,
|
|
1274
1206
|
loadAdminUserName,
|
|
1275
1207
|
writeAdminUserAndPerson,
|
|
1276
|
-
loadOnboardingStep,
|
|
1277
1208
|
projectAgent,
|
|
1278
1209
|
deleteAgentProjection
|
|
1279
1210
|
};
|
package/payload/server/{cloudflare-task-tracker-QVOGHKWV.js → cloudflare-task-tracker-4PKOLE4H.js}
RENAMED
|
@@ -7,8 +7,8 @@ import {
|
|
|
7
7
|
readTunnelState,
|
|
8
8
|
recoverRunningCloudflareTasks,
|
|
9
9
|
resolveUnitGoneVerdict
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-RZQMYJVY.js";
|
|
11
|
+
import "./chunk-KVGTWNKQ.js";
|
|
12
12
|
import "./chunk-JSBRDJBE.js";
|
|
13
13
|
export {
|
|
14
14
|
CLOUDFLARE_TASK_DIAGNOSTICS,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./brand-
|
|
1
|
+
import{a as e}from"./brand-B-bNrpwc.js";var t=e();function n({checked:e,onChange:n,label:r,disabled:i}){return(0,t.jsxs)(`label`,{className:`maxy-checkbox${i?` maxy-checkbox--disabled`:``}`,children:[(0,t.jsx)(`input`,{type:`checkbox`,checked:e,onChange:e=>n(e.target.checked),disabled:i}),(0,t.jsx)(`span`,{className:`maxy-checkbox__box`,children:`✱`}),r&&(0,t.jsx)(`span`,{className:`maxy-checkbox__label`,children:r})]})}export{n as t};
|