@tickernelz/paperclip-pro-adapter-codex-local 2026.925.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/dist/cli/format-event.d.ts +2 -0
- package/dist/cli/format-event.d.ts.map +1 -0
- package/dist/cli/format-event.js +218 -0
- package/dist/cli/format-event.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/quota-probe.d.ts +3 -0
- package/dist/cli/quota-probe.d.ts.map +1 -0
- package/dist/cli/quota-probe.js +104 -0
- package/dist/cli/quota-probe.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +155 -0
- package/dist/index.js.map +1 -0
- package/dist/index.test.d.ts +2 -0
- package/dist/index.test.d.ts.map +1 -0
- package/dist/index.test.js +58 -0
- package/dist/index.test.js.map +1 -0
- package/dist/server/acp.d.ts +30 -0
- package/dist/server/acp.d.ts.map +1 -0
- package/dist/server/acp.js +532 -0
- package/dist/server/acp.js.map +1 -0
- package/dist/server/acp.test.d.ts +2 -0
- package/dist/server/acp.test.d.ts.map +1 -0
- package/dist/server/acp.test.js +1087 -0
- package/dist/server/acp.test.js.map +1 -0
- package/dist/server/adapter-auth-promotion.d.ts +102 -0
- package/dist/server/adapter-auth-promotion.d.ts.map +1 -0
- package/dist/server/adapter-auth-promotion.js +210 -0
- package/dist/server/adapter-auth-promotion.js.map +1 -0
- package/dist/server/adapter-auth-promotion.test.d.ts +2 -0
- package/dist/server/adapter-auth-promotion.test.d.ts.map +1 -0
- package/dist/server/adapter-auth-promotion.test.js +658 -0
- package/dist/server/adapter-auth-promotion.test.js.map +1 -0
- package/dist/server/auth-check.d.ts +8 -0
- package/dist/server/auth-check.d.ts.map +1 -0
- package/dist/server/auth-check.js +8 -0
- package/dist/server/auth-check.js.map +1 -0
- package/dist/server/auth-precedence.d.ts +16 -0
- package/dist/server/auth-precedence.d.ts.map +1 -0
- package/dist/server/auth-precedence.js +20 -0
- package/dist/server/auth-precedence.js.map +1 -0
- package/dist/server/auth-precedence.test.d.ts +2 -0
- package/dist/server/auth-precedence.test.d.ts.map +1 -0
- package/dist/server/auth-precedence.test.js +100 -0
- package/dist/server/auth-precedence.test.js.map +1 -0
- package/dist/server/codex-args.d.ts +13 -0
- package/dist/server/codex-args.d.ts.map +1 -0
- package/dist/server/codex-args.js +76 -0
- package/dist/server/codex-args.js.map +1 -0
- package/dist/server/codex-args.test.d.ts +2 -0
- package/dist/server/codex-args.test.d.ts.map +1 -0
- package/dist/server/codex-args.test.js +243 -0
- package/dist/server/codex-args.test.js.map +1 -0
- package/dist/server/codex-auth-cache.d.ts +206 -0
- package/dist/server/codex-auth-cache.d.ts.map +1 -0
- package/dist/server/codex-auth-cache.js +501 -0
- package/dist/server/codex-auth-cache.js.map +1 -0
- package/dist/server/codex-auth-cache.test.d.ts +2 -0
- package/dist/server/codex-auth-cache.test.d.ts.map +1 -0
- package/dist/server/codex-auth-cache.test.js +497 -0
- package/dist/server/codex-auth-cache.test.js.map +1 -0
- package/dist/server/codex-auth-copyback.d.ts +53 -0
- package/dist/server/codex-auth-copyback.d.ts.map +1 -0
- package/dist/server/codex-auth-copyback.js +123 -0
- package/dist/server/codex-auth-copyback.js.map +1 -0
- package/dist/server/codex-auth-copyback.test.d.ts +2 -0
- package/dist/server/codex-auth-copyback.test.d.ts.map +1 -0
- package/dist/server/codex-auth-copyback.test.js +507 -0
- package/dist/server/codex-auth-copyback.test.js.map +1 -0
- package/dist/server/codex-auth-merge-decision.cjs +170 -0
- package/dist/server/codex-auth-merge-decision.d.ts +22 -0
- package/dist/server/codex-auth-merge-decision.d.ts.map +1 -0
- package/dist/server/codex-auth-merge-decision.js +58 -0
- package/dist/server/codex-auth-merge-decision.js.map +1 -0
- package/dist/server/codex-auth-merge-decision.test.d.ts +2 -0
- package/dist/server/codex-auth-merge-decision.test.d.ts.map +1 -0
- package/dist/server/codex-auth-merge-decision.test.js +230 -0
- package/dist/server/codex-auth-merge-decision.test.js.map +1 -0
- package/dist/server/codex-auth-merge-extract.sh +73 -0
- package/dist/server/codex-auth-merge-scripts.d.ts +21 -0
- package/dist/server/codex-auth-merge-scripts.d.ts.map +1 -0
- package/dist/server/codex-auth-merge-scripts.js +40 -0
- package/dist/server/codex-auth-merge-scripts.js.map +1 -0
- package/dist/server/codex-auth-merge.test.d.ts +2 -0
- package/dist/server/codex-auth-merge.test.d.ts.map +1 -0
- package/dist/server/codex-auth-merge.test.js +714 -0
- package/dist/server/codex-auth-merge.test.js.map +1 -0
- package/dist/server/codex-auth-seed-write.d.ts +30 -0
- package/dist/server/codex-auth-seed-write.d.ts.map +1 -0
- package/dist/server/codex-auth-seed-write.js +41 -0
- package/dist/server/codex-auth-seed-write.js.map +1 -0
- package/dist/server/codex-home.d.ts +162 -0
- package/dist/server/codex-home.d.ts.map +1 -0
- package/dist/server/codex-home.js +771 -0
- package/dist/server/codex-home.js.map +1 -0
- package/dist/server/codex-home.test.d.ts +2 -0
- package/dist/server/codex-home.test.d.ts.map +1 -0
- package/dist/server/codex-home.test.js +1183 -0
- package/dist/server/codex-home.test.js.map +1 -0
- package/dist/server/config-schema.d.ts +3 -0
- package/dist/server/config-schema.d.ts.map +1 -0
- package/dist/server/config-schema.js +67 -0
- package/dist/server/config-schema.js.map +1 -0
- package/dist/server/device-login-export.d.ts +56 -0
- package/dist/server/device-login-export.d.ts.map +1 -0
- package/dist/server/device-login-export.js +230 -0
- package/dist/server/device-login-export.js.map +1 -0
- package/dist/server/device-login-export.test.d.ts +2 -0
- package/dist/server/device-login-export.test.d.ts.map +1 -0
- package/dist/server/device-login-export.test.js +245 -0
- package/dist/server/device-login-export.test.js.map +1 -0
- package/dist/server/device-login-parse.d.ts +20 -0
- package/dist/server/device-login-parse.d.ts.map +1 -0
- package/dist/server/device-login-parse.js +155 -0
- package/dist/server/device-login-parse.js.map +1 -0
- package/dist/server/device-login-parse.test.d.ts +2 -0
- package/dist/server/device-login-parse.test.d.ts.map +1 -0
- package/dist/server/device-login-parse.test.js +269 -0
- package/dist/server/device-login-parse.test.js.map +1 -0
- package/dist/server/device-login-runner.d.ts +69 -0
- package/dist/server/device-login-runner.d.ts.map +1 -0
- package/dist/server/device-login-runner.js +109 -0
- package/dist/server/device-login-runner.js.map +1 -0
- package/dist/server/device-login-runner.test.d.ts +2 -0
- package/dist/server/device-login-runner.test.d.ts.map +1 -0
- package/dist/server/device-login-runner.test.js +201 -0
- package/dist/server/device-login-runner.test.js.map +1 -0
- package/dist/server/engine-availability.test.d.ts +2 -0
- package/dist/server/engine-availability.test.d.ts.map +1 -0
- package/dist/server/engine-availability.test.js +41 -0
- package/dist/server/engine-availability.test.js.map +1 -0
- package/dist/server/execute.acp-fallback.test.d.ts +2 -0
- package/dist/server/execute.acp-fallback.test.d.ts.map +1 -0
- package/dist/server/execute.acp-fallback.test.js +123 -0
- package/dist/server/execute.acp-fallback.test.js.map +1 -0
- package/dist/server/execute.auth-precedence.test.d.ts +2 -0
- package/dist/server/execute.auth-precedence.test.d.ts.map +1 -0
- package/dist/server/execute.auth-precedence.test.js +137 -0
- package/dist/server/execute.auth-precedence.test.js.map +1 -0
- package/dist/server/execute.auth.test.d.ts +2 -0
- package/dist/server/execute.auth.test.d.ts.map +1 -0
- package/dist/server/execute.auth.test.js +197 -0
- package/dist/server/execute.auth.test.js.map +1 -0
- package/dist/server/execute.d.ts +40 -0
- package/dist/server/execute.d.ts.map +1 -0
- package/dist/server/execute.js +1290 -0
- package/dist/server/execute.js.map +1 -0
- package/dist/server/execute.remote.test.d.ts +2 -0
- package/dist/server/execute.remote.test.d.ts.map +1 -0
- package/dist/server/execute.remote.test.js +556 -0
- package/dist/server/execute.remote.test.js.map +1 -0
- package/dist/server/execute.stderr-error.test.d.ts +2 -0
- package/dist/server/execute.stderr-error.test.d.ts.map +1 -0
- package/dist/server/execute.stderr-error.test.js +142 -0
- package/dist/server/execute.stderr-error.test.js.map +1 -0
- package/dist/server/execute.test.d.ts +2 -0
- package/dist/server/execute.test.d.ts.map +1 -0
- package/dist/server/execute.test.js +240 -0
- package/dist/server/execute.test.js.map +1 -0
- package/dist/server/index.d.ts +18 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +71 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/output-inactivity-monitor.d.ts +62 -0
- package/dist/server/output-inactivity-monitor.d.ts.map +1 -0
- package/dist/server/output-inactivity-monitor.integration.test.d.ts +2 -0
- package/dist/server/output-inactivity-monitor.integration.test.d.ts.map +1 -0
- package/dist/server/output-inactivity-monitor.integration.test.js +136 -0
- package/dist/server/output-inactivity-monitor.integration.test.js.map +1 -0
- package/dist/server/output-inactivity-monitor.js +112 -0
- package/dist/server/output-inactivity-monitor.js.map +1 -0
- package/dist/server/output-inactivity-monitor.test.d.ts +2 -0
- package/dist/server/output-inactivity-monitor.test.d.ts.map +1 -0
- package/dist/server/output-inactivity-monitor.test.js +284 -0
- package/dist/server/output-inactivity-monitor.test.js.map +1 -0
- package/dist/server/parse.d.ts +51 -0
- package/dist/server/parse.d.ts.map +1 -0
- package/dist/server/parse.js +261 -0
- package/dist/server/parse.js.map +1 -0
- package/dist/server/parse.test.d.ts +2 -0
- package/dist/server/parse.test.d.ts.map +1 -0
- package/dist/server/parse.test.js +186 -0
- package/dist/server/parse.test.js.map +1 -0
- package/dist/server/process-activity-monitor.d.ts +21 -0
- package/dist/server/process-activity-monitor.d.ts.map +1 -0
- package/dist/server/process-activity-monitor.js +103 -0
- package/dist/server/process-activity-monitor.js.map +1 -0
- package/dist/server/process-activity-monitor.test.d.ts +2 -0
- package/dist/server/process-activity-monitor.test.d.ts.map +1 -0
- package/dist/server/process-activity-monitor.test.js +82 -0
- package/dist/server/process-activity-monitor.test.js.map +1 -0
- package/dist/server/quota-spawn-error.test.d.ts +2 -0
- package/dist/server/quota-spawn-error.test.d.ts.map +1 -0
- package/dist/server/quota-spawn-error.test.js +174 -0
- package/dist/server/quota-spawn-error.test.js.map +1 -0
- package/dist/server/quota.d.ts +66 -0
- package/dist/server/quota.d.ts.map +1 -0
- package/dist/server/quota.js +511 -0
- package/dist/server/quota.js.map +1 -0
- package/dist/server/runtime-config.d.ts +11 -0
- package/dist/server/runtime-config.d.ts.map +1 -0
- package/dist/server/runtime-config.js +380 -0
- package/dist/server/runtime-config.js.map +1 -0
- package/dist/server/runtime-config.test.d.ts +2 -0
- package/dist/server/runtime-config.test.d.ts.map +1 -0
- package/dist/server/runtime-config.test.js +367 -0
- package/dist/server/runtime-config.test.js.map +1 -0
- package/dist/server/skills.d.ts +8 -0
- package/dist/server/skills.d.ts.map +1 -0
- package/dist/server/skills.js +26 -0
- package/dist/server/skills.js.map +1 -0
- package/dist/server/test.d.ts +3 -0
- package/dist/server/test.d.ts.map +1 -0
- package/dist/server/test.js +458 -0
- package/dist/server/test.js.map +1 -0
- package/dist/server/test.remote.test.d.ts +2 -0
- package/dist/server/test.remote.test.d.ts.map +1 -0
- package/dist/server/test.remote.test.js +396 -0
- package/dist/server/test.remote.test.js.map +1 -0
- package/dist/ui/build-config.d.ts +5 -0
- package/dist/ui/build-config.d.ts.map +1 -0
- package/dist/ui/build-config.js +229 -0
- package/dist/ui/build-config.js.map +1 -0
- package/dist/ui/build-config.test.d.ts +2 -0
- package/dist/ui/build-config.test.d.ts.map +1 -0
- package/dist/ui/build-config.test.js +272 -0
- package/dist/ui/build-config.test.js.map +1 -0
- package/dist/ui/index.d.ts +4 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +8 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/parse-stdout.d.ts +3 -0
- package/dist/ui/parse-stdout.d.ts.map +1 -0
- package/dist/ui/parse-stdout.js +265 -0
- package/dist/ui/parse-stdout.js.map +1 -0
- package/dist/ui/parse-stdout.test.d.ts +2 -0
- package/dist/ui/parse-stdout.test.d.ts.map +1 -0
- package/dist/ui/parse-stdout.test.js +77 -0
- package/dist/ui/parse-stdout.test.js.map +1 -0
- package/package.json +61 -0
- package/skills/agentmail/SKILL.md +70 -0
- package/skills/paperclip/SKILL.md +712 -0
- package/skills/paperclip/references/api-reference.md +1675 -0
- package/skills/paperclip/references/artifacts.md +158 -0
- package/skills/paperclip/references/cases.md +295 -0
- package/skills/paperclip/references/company-skills.md +266 -0
- package/skills/paperclip/references/issue-workspaces.md +80 -0
- package/skills/paperclip/references/routines.md +231 -0
- package/skills/paperclip/references/workflows.md +141 -0
- package/skills/paperclip/scripts/paperclip-upload-artifact.sh +592 -0
- package/skills/paperclip-board/SKILL.md +619 -0
- package/skills/paperclip-converting-plans-to-tasks/SKILL.md +60 -0
- package/skills/paperclip-create-agent/SKILL.md +179 -0
- package/skills/paperclip-create-agent/references/agent-instruction-templates.md +123 -0
- package/skills/paperclip-create-agent/references/agents/coder.md +64 -0
- package/skills/paperclip-create-agent/references/agents/qa.md +88 -0
- package/skills/paperclip-create-agent/references/agents/securityengineer.md +135 -0
- package/skills/paperclip-create-agent/references/agents/uxdesigner.md +115 -0
- package/skills/paperclip-create-agent/references/api-reference.md +110 -0
- package/skills/paperclip-create-agent/references/baseline-role-guide.md +168 -0
- package/skills/paperclip-create-agent/references/draft-review-checklist.md +95 -0
- package/skills/para-memory-files/SKILL.md +100 -0
- package/skills/para-memory-files/references/schemas.md +35 -0
- package/skills/slack/SKILL.md +65 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acp.test.js","sourceRoot":"","sources":["../../src/server/acp.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/** The independent readiness result for the exact staged credential. */
|
|
2
|
+
export interface CredentialReadinessResult {
|
|
3
|
+
/** True when a run launched now with this exact credential would authenticate. */
|
|
4
|
+
ready: boolean;
|
|
5
|
+
/** An optional non-secret reason code for a non-ready result. */
|
|
6
|
+
reason?: string;
|
|
7
|
+
}
|
|
8
|
+
/** Thrown when the independent readiness check does not return a ready result.
|
|
9
|
+
* The service maps this to a failed session and still deletes the sandbox. */
|
|
10
|
+
export declare class DeviceLoginReadinessError extends Error {
|
|
11
|
+
readonly reason: string;
|
|
12
|
+
constructor(reason: string);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The independent readiness check for a staged device-login credential. It runs
|
|
16
|
+
* on the exact staged bytes, before any promotion write. It writes the bytes to
|
|
17
|
+
* a throwaway private home and runs the same usable-auth predicate the execute
|
|
18
|
+
* path uses. It always removes the throwaway home before it returns.
|
|
19
|
+
*
|
|
20
|
+
* A ready result means a run launched now with this exact credential would
|
|
21
|
+
* authenticate. A non-ready result rejects the promotion, and the caller writes
|
|
22
|
+
* nothing. The function reads and writes no company scope and logs no bytes.
|
|
23
|
+
*/
|
|
24
|
+
export declare function checkStagedCredentialReadiness(authBytes: Buffer): Promise<CredentialReadinessResult>;
|
|
25
|
+
/**
|
|
26
|
+
* The promotion outcome.
|
|
27
|
+
*
|
|
28
|
+
* - `promoted`: the helper wrote this account's own home (a seed for a first
|
|
29
|
+
* login of this account, or a strictly-newer update for a repeat login). The
|
|
30
|
+
* helper also best-effort writes the company default home: a seed when the
|
|
31
|
+
* slot is absent or unusable, a refresh when this same account's login is
|
|
32
|
+
* strictly newer than what the slot holds.
|
|
33
|
+
* - `kept`: the login carried a credential that is not newer than what this
|
|
34
|
+
* account's own home already holds, so the home was kept as-is. This is
|
|
35
|
+
* still a successful authentication: a later run reads the same home.
|
|
36
|
+
* - `not_sole_owner`: Decision H rejected the write. Nothing was written.
|
|
37
|
+
* - `background_skipped`: Decision C rejected the write (an automatic background
|
|
38
|
+
* path never seeds a home). Nothing was written.
|
|
39
|
+
*/
|
|
40
|
+
export type PromoteDeviceLoginCredentialOutcome = "promoted" | "kept" | "not_sole_owner" | "background_skipped";
|
|
41
|
+
/**
|
|
42
|
+
* The promotion result. `accountId` and `accountHomeDir` are set once the
|
|
43
|
+
* credential's identity is known — every outcome below the handle-validation
|
|
44
|
+
* step carries `accountId`; only `promoted` and `kept` reach the write step and
|
|
45
|
+
* carry `accountHomeDir`.
|
|
46
|
+
*
|
|
47
|
+
* `accountHomeCreated` is true only when this account's own home directory was
|
|
48
|
+
* absent right before this call created it. The check and the creation run
|
|
49
|
+
* under one lock, so a concurrent promotion for the same account (a second
|
|
50
|
+
* login for the same Codex account) never also reports `created: true` for a
|
|
51
|
+
* directory the first call already made. A caller that must undo a later
|
|
52
|
+
* failure (for example, a failed secret write) should remove the directory
|
|
53
|
+
* only when `accountHomeCreated` is true, and should still re-check that no
|
|
54
|
+
* company secret now names this account's home before it deletes: the
|
|
55
|
+
* absence of a company secret at the time this call started is not proof
|
|
56
|
+
* that this login is the only login that used the directory. A user can also
|
|
57
|
+
* delete the secret and keep the account home, so a repeat login then reads
|
|
58
|
+
* no secret. `accountHomeCreated` is false for every outcome that does not
|
|
59
|
+
* reach the write step (`not_sole_owner`, `background_skipped`).
|
|
60
|
+
*/
|
|
61
|
+
export interface PromoteDeviceLoginCredentialResult {
|
|
62
|
+
outcome: PromoteDeviceLoginCredentialOutcome;
|
|
63
|
+
accountId: string | null;
|
|
64
|
+
accountHomeDir: string | null;
|
|
65
|
+
accountHomeCreated: boolean;
|
|
66
|
+
}
|
|
67
|
+
export interface PromoteDeviceLoginCredentialInput {
|
|
68
|
+
/** The exact staged credential bytes the login sandbox produced. */
|
|
69
|
+
authBytes: Buffer;
|
|
70
|
+
/** The company that owns this login. It must be a single safe path segment. */
|
|
71
|
+
companyId: string;
|
|
72
|
+
/**
|
|
73
|
+
* True when a user started this login. Decision C: only a user-initiated login
|
|
74
|
+
* seeds the company slot. An automatic background path never seeds it.
|
|
75
|
+
*/
|
|
76
|
+
userInitiated: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* The independent, machine-readable readiness check. It runs on the exact
|
|
79
|
+
* staged credential with the normal execution precedence, before any write. A
|
|
80
|
+
* non-ready result rejects the promotion (the session fails), and the helper
|
|
81
|
+
* writes nothing.
|
|
82
|
+
*/
|
|
83
|
+
checkReadiness: (authBytes: Buffer) => Promise<CredentialReadinessResult> | CredentialReadinessResult;
|
|
84
|
+
/**
|
|
85
|
+
* Decision H: resolves true only while this session still holds the sole active
|
|
86
|
+
* claim on `(company_id, adapter_type)` (the internal `promoting` state). The
|
|
87
|
+
* helper writes only when it resolves true.
|
|
88
|
+
*/
|
|
89
|
+
isSoleActiveOwner: () => Promise<boolean> | boolean;
|
|
90
|
+
/** A non-leaking progress sink. It receives only fixed status lines. */
|
|
91
|
+
log: (line: string) => void | Promise<void>;
|
|
92
|
+
env?: NodeJS.ProcessEnv;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Promotes a device-login credential into the company scope. The order is fixed:
|
|
96
|
+
* readiness check, credential validation, account-handle validation, Decision C,
|
|
97
|
+
* Decision H, then the writes. The readiness check and the writes run while the
|
|
98
|
+
* caller still holds the active claim, so a second session cannot race the same
|
|
99
|
+
* slot.
|
|
100
|
+
*/
|
|
101
|
+
export declare function promoteDeviceLoginCredential(input: PromoteDeviceLoginCredentialInput): Promise<PromoteDeviceLoginCredentialResult>;
|
|
102
|
+
//# sourceMappingURL=adapter-auth-promotion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-auth-promotion.d.ts","sourceRoot":"","sources":["../../src/server/adapter-auth-promotion.ts"],"names":[],"mappings":"AA4CA,wEAAwE;AACxE,MAAM,WAAW,yBAAyB;IACxC,kFAAkF;IAClF,KAAK,EAAE,OAAO,CAAC;IACf,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;+EAC+E;AAC/E,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,YAAY,MAAM,EAAE,MAAM,EAIzB;CACF;AAOD;;;;;;;;;GASG;AACH,wBAAsB,8BAA8B,CAClD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,yBAAyB,CAAC,CAepC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,mCAAmC,GAAG,UAAU,GAAG,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAEhH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,mCAAmC,CAAC;IAC7C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,iCAAiC;IAChD,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,cAAc,EAAE,CACd,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,yBAAyB,CAAC,GAAG,yBAAyB,CAAC;IACpE;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACpD,wEAAwE;IACxE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAmBD;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,iCAAiC,GACvC,OAAO,CAAC,kCAAkC,CAAC,CAqH7C"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { toAccountHandle } from "@tickernelz/paperclip-pro-shared";
|
|
5
|
+
import { ensureCodexAuthCacheEntryDirExclusive, readSubscriptionAccountId, } from "./codex-auth-cache.js";
|
|
6
|
+
import { writeCredentialSeedOrNewer } from "./codex-auth-seed-write.js";
|
|
7
|
+
import { codexHomeHasUsableAuth, resolveManagedCodexHomeDir } from "./codex-home.js";
|
|
8
|
+
import { assertUsableSubscriptionShape } from "./device-login-export.js";
|
|
9
|
+
// The device-login credential promotion. It runs after a successful device
|
|
10
|
+
// login, on the exact credential the login sandbox produced. It runs an
|
|
11
|
+
// independent readiness check first, then validates the credential with the
|
|
12
|
+
// export rules, then writes the credential into the company scope only.
|
|
13
|
+
//
|
|
14
|
+
// The helper never writes the instance-global host (`CODEX_HOME` or `~/.codex`),
|
|
15
|
+
// because that source has no `companyId`. It writes two company-scoped targets:
|
|
16
|
+
// this account's own home, and — only as a fallback for an agent with no bound
|
|
17
|
+
// secret — the company default home.
|
|
18
|
+
//
|
|
19
|
+
// This account's own home is the durable result of a login: the write is fail
|
|
20
|
+
// loud, and the caller names it with a company secret so any agent can bind to
|
|
21
|
+
// it. The company default home write is best-effort — a failure there never
|
|
22
|
+
// fails the login — and is scoped by the shared decision predicate: it seeds an
|
|
23
|
+
// absent or unusable slot, refreshes a same-identity slot only with a
|
|
24
|
+
// strictly-newer credential, and keeps a slot a different account holds.
|
|
25
|
+
//
|
|
26
|
+
// Two decisions gate the write:
|
|
27
|
+
// - Decision C: only a user-initiated login seeds a home. An automatic
|
|
28
|
+
// background path never seeds one.
|
|
29
|
+
// - Decision H: the helper writes only while the session still holds the sole
|
|
30
|
+
// active claim on `(company_id, adapter_type)`. This is defense in depth over
|
|
31
|
+
// the partial unique index, so a second session cannot race the same slot.
|
|
32
|
+
//
|
|
33
|
+
// The helper preserves company scope, private modes, atomic rename, the
|
|
34
|
+
// directory lock, and redacted logs. It never logs token bytes or a raw
|
|
35
|
+
// `account_id`.
|
|
36
|
+
const AUTH_FILE_NAME = "auth.json";
|
|
37
|
+
// A private directory (owner rwx only). 0o700 has no group or other bits.
|
|
38
|
+
const PRIVATE_DIR_MODE = 0o700;
|
|
39
|
+
/** Thrown when the independent readiness check does not return a ready result.
|
|
40
|
+
* The service maps this to a failed session and still deletes the sandbox. */
|
|
41
|
+
export class DeviceLoginReadinessError extends Error {
|
|
42
|
+
reason;
|
|
43
|
+
constructor(reason) {
|
|
44
|
+
super(`device-login promotion: the readiness check did not pass (${reason})`);
|
|
45
|
+
this.name = "DeviceLoginReadinessError";
|
|
46
|
+
this.reason = reason;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// A private directory (owner rwx only) for the throwaway readiness home.
|
|
50
|
+
const READINESS_HOME_DIR_MODE = 0o700;
|
|
51
|
+
// A private file (owner rw only) for the throwaway readiness credential.
|
|
52
|
+
const READINESS_AUTH_FILE_MODE = 0o600;
|
|
53
|
+
/**
|
|
54
|
+
* The independent readiness check for a staged device-login credential. It runs
|
|
55
|
+
* on the exact staged bytes, before any promotion write. It writes the bytes to
|
|
56
|
+
* a throwaway private home and runs the same usable-auth predicate the execute
|
|
57
|
+
* path uses. It always removes the throwaway home before it returns.
|
|
58
|
+
*
|
|
59
|
+
* A ready result means a run launched now with this exact credential would
|
|
60
|
+
* authenticate. A non-ready result rejects the promotion, and the caller writes
|
|
61
|
+
* nothing. The function reads and writes no company scope and logs no bytes.
|
|
62
|
+
*/
|
|
63
|
+
export async function checkStagedCredentialReadiness(authBytes) {
|
|
64
|
+
if (authBytes.length === 0) {
|
|
65
|
+
return { ready: false, reason: "empty_credential" };
|
|
66
|
+
}
|
|
67
|
+
const scratchHome = await mkdtemp(path.join(os.tmpdir(), "paperclip-login-readiness-"));
|
|
68
|
+
try {
|
|
69
|
+
await mkdir(scratchHome, { recursive: true, mode: READINESS_HOME_DIR_MODE });
|
|
70
|
+
await writeFile(path.join(scratchHome, AUTH_FILE_NAME), authBytes, {
|
|
71
|
+
mode: READINESS_AUTH_FILE_MODE,
|
|
72
|
+
});
|
|
73
|
+
const ready = await codexHomeHasUsableAuth(scratchHome);
|
|
74
|
+
return ready ? { ready: true } : { ready: false, reason: "no_usable_auth" };
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
await rm(scratchHome, { recursive: true, force: true }).catch(() => { });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/** Rejects an empty or unsafe `companyId`, so a promotion can never resolve the
|
|
81
|
+
* instance-global home (`resolveManagedCodexHomeDir` with no `companyId`) or
|
|
82
|
+
* escape the company tree. */
|
|
83
|
+
function requireSafeCompanyId(companyId) {
|
|
84
|
+
const trimmed = typeof companyId === "string" ? companyId.trim() : "";
|
|
85
|
+
if (trimmed.length === 0) {
|
|
86
|
+
throw new Error("device-login promotion: companyId is empty");
|
|
87
|
+
}
|
|
88
|
+
if (trimmed === "." || trimmed === "..") {
|
|
89
|
+
throw new Error("device-login promotion: companyId is a relative path segment");
|
|
90
|
+
}
|
|
91
|
+
if (trimmed.includes("/") || trimmed.includes("\\") || trimmed.includes("\0")) {
|
|
92
|
+
throw new Error("device-login promotion: companyId contains a path separator");
|
|
93
|
+
}
|
|
94
|
+
return trimmed;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Promotes a device-login credential into the company scope. The order is fixed:
|
|
98
|
+
* readiness check, credential validation, account-handle validation, Decision C,
|
|
99
|
+
* Decision H, then the writes. The readiness check and the writes run while the
|
|
100
|
+
* caller still holds the active claim, so a second session cannot race the same
|
|
101
|
+
* slot.
|
|
102
|
+
*/
|
|
103
|
+
export async function promoteDeviceLoginCredential(input) {
|
|
104
|
+
const { authBytes, userInitiated, checkReadiness, isSoleActiveOwner, log } = input;
|
|
105
|
+
const env = input.env ?? process.env;
|
|
106
|
+
const companyId = requireSafeCompanyId(input.companyId);
|
|
107
|
+
// 1. Independent readiness check on the exact staged credential. A non-ready
|
|
108
|
+
// result rejects the promotion before any validation or write.
|
|
109
|
+
const readiness = await checkReadiness(authBytes);
|
|
110
|
+
if (!readiness.ready) {
|
|
111
|
+
throw new DeviceLoginReadinessError(readiness.reason ?? "not_ready");
|
|
112
|
+
}
|
|
113
|
+
// 2. Validate the credential with the export rules. This rejects an empty, an
|
|
114
|
+
// oversized, an API-key, a non-subscription, and a malformed payload.
|
|
115
|
+
assertUsableSubscriptionShape(authBytes);
|
|
116
|
+
const accountId = readSubscriptionAccountId(authBytes);
|
|
117
|
+
if (!accountId) {
|
|
118
|
+
// The shape gate above already guarantees a subscription identity; this guard
|
|
119
|
+
// keeps the account_id non-null for the handle conversion without a non-null
|
|
120
|
+
// cast.
|
|
121
|
+
throw new Error("device-login promotion: the credential has no subscription identity");
|
|
122
|
+
}
|
|
123
|
+
// 2b. Convert the identity into a safe account handle. The handle names both
|
|
124
|
+
// this account's own home directory and its company secret, so a login
|
|
125
|
+
// whose identity cannot form one must fail before any write.
|
|
126
|
+
const accountHandle = toAccountHandle(accountId);
|
|
127
|
+
if (!accountHandle) {
|
|
128
|
+
throw new Error("device-login promotion: the account identifier cannot form a valid account handle");
|
|
129
|
+
}
|
|
130
|
+
// 3. Decision C: only a user-initiated login seeds a home.
|
|
131
|
+
if (!userInitiated) {
|
|
132
|
+
await log("[paperclip] Codex device-login promotion: skipped (an automatic background login never seeds a home).");
|
|
133
|
+
return { outcome: "background_skipped", accountId, accountHomeDir: null, accountHomeCreated: false };
|
|
134
|
+
}
|
|
135
|
+
// 4. Decision H: write only while the session still owns the active slot.
|
|
136
|
+
const soleOwner = await isSoleActiveOwner();
|
|
137
|
+
if (!soleOwner) {
|
|
138
|
+
await log("[paperclip] Codex device-login promotion: skipped (the session no longer holds the sole active claim on the slot).");
|
|
139
|
+
return { outcome: "not_sole_owner", accountId, accountHomeDir: null, accountHomeCreated: false };
|
|
140
|
+
}
|
|
141
|
+
// 5a. This account's own home is the durable result of a login: each account
|
|
142
|
+
// handle addresses exactly one home, so this write can never collide with
|
|
143
|
+
// a different identity, and a write failure here fails the whole
|
|
144
|
+
// promotion (fail loud, unlike the company default home fallback below).
|
|
145
|
+
// Two different logins can promote the same account at the same time
|
|
146
|
+
// (each login owns its own promotion slot), so the absence check and the
|
|
147
|
+
// directory creation run inside one lock: only the caller that truly
|
|
148
|
+
// finds the directory absent gets `created: true`. A plain
|
|
149
|
+
// check-then-create sequence here would let two concurrent callers for
|
|
150
|
+
// the same account both see the directory as absent and both believe
|
|
151
|
+
// they created it.
|
|
152
|
+
const { entryPath: accountHomeAuthPath, created: accountHomeCreated } = await ensureCodexAuthCacheEntryDirExclusive(env, accountHandle, companyId);
|
|
153
|
+
const accountHomeDir = path.dirname(accountHomeAuthPath);
|
|
154
|
+
const accountHomeOutcome = await writeCredentialSeedOrNewer({
|
|
155
|
+
sourceBytes: authBytes,
|
|
156
|
+
destinationPath: accountHomeAuthPath,
|
|
157
|
+
seedIfDestAbsent: true,
|
|
158
|
+
log,
|
|
159
|
+
writtenLine: "[paperclip] Codex device-login promotion: wrote this account's own home at mode 0600.",
|
|
160
|
+
keptLine: "[paperclip] Codex device-login promotion: kept this account's own home (the login is not a seed or a strictly-newer credential).",
|
|
161
|
+
tempPrefix: "auth.json.promotion-account-home",
|
|
162
|
+
errorLabel: "codex device-login promotion",
|
|
163
|
+
env,
|
|
164
|
+
});
|
|
165
|
+
// 5b. Company default home, for an agent with no bound secret. The write runs
|
|
166
|
+
// unconditionally; the shared decision predicate inside the writer scopes
|
|
167
|
+
// it. It seeds an absent or unusable slot, refreshes a same-identity slot
|
|
168
|
+
// only with a strictly-newer credential, and keeps a slot a different
|
|
169
|
+
// account (or an API-key file) holds — so a login for a second account
|
|
170
|
+
// still never steals the company slot once some account has claimed it.
|
|
171
|
+
//
|
|
172
|
+
// Unconditional matters: a company home can hold a shape-usable credential
|
|
173
|
+
// that no longer authenticates (for example a symlink to a stale host
|
|
174
|
+
// login). A shape gate here would skip the write, and every environment
|
|
175
|
+
// test after this login would keep staging the failing credential and keep
|
|
176
|
+
// reporting authentication as missing — the login the user just completed
|
|
177
|
+
// could never change the outcome. The writer's atomic rename replaces a
|
|
178
|
+
// symlinked auth.json with a regular file; it never writes through the
|
|
179
|
+
// symlink into the host home.
|
|
180
|
+
//
|
|
181
|
+
// This write is best-effort: this account's own home above is already
|
|
182
|
+
// durable, so a failure here (a permission error, a full disk, a lock
|
|
183
|
+
// timeout) must not fail the promotion.
|
|
184
|
+
const companyHome = resolveManagedCodexHomeDir(env, companyId);
|
|
185
|
+
try {
|
|
186
|
+
await mkdir(companyHome, { recursive: true, mode: PRIVATE_DIR_MODE });
|
|
187
|
+
const companyHomeAuthPath = path.join(companyHome, AUTH_FILE_NAME);
|
|
188
|
+
await writeCredentialSeedOrNewer({
|
|
189
|
+
sourceBytes: authBytes,
|
|
190
|
+
destinationPath: companyHomeAuthPath,
|
|
191
|
+
seedIfDestAbsent: true,
|
|
192
|
+
log,
|
|
193
|
+
writtenLine: "[paperclip] Codex device-login promotion: wrote the company default home (seed or strictly-newer refresh).",
|
|
194
|
+
keptLine: "[paperclip] Codex device-login promotion: kept the company default home.",
|
|
195
|
+
tempPrefix: "auth.json.promotion-home",
|
|
196
|
+
errorLabel: "codex device-login promotion",
|
|
197
|
+
env,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
await log("[paperclip] Codex device-login promotion: seeding the company default home failed; this account's own home is durable, so the login stays successful.");
|
|
202
|
+
}
|
|
203
|
+
return {
|
|
204
|
+
outcome: accountHomeOutcome === "written" ? "promoted" : "kept",
|
|
205
|
+
accountId,
|
|
206
|
+
accountHomeDir,
|
|
207
|
+
accountHomeCreated,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=adapter-auth-promotion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-auth-promotion.js","sourceRoot":"","sources":["../../src/server/adapter-auth-promotion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-auth-promotion.test.d.ts","sourceRoot":"","sources":["../../src/server/adapter-auth-promotion.test.ts"],"names":[],"mappings":""}
|