pi-harness-runtime 0.9.15 → 0.9.16
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/package.json +1 -1
- package/packages/autonomous-runtime/README.md +48 -0
- package/packages/autonomous-runtime/dist/inbox.d.ts +75 -0
- package/packages/autonomous-runtime/dist/inbox.d.ts.map +1 -0
- package/packages/autonomous-runtime/dist/inbox.js +212 -0
- package/packages/autonomous-runtime/dist/inbox.js.map +1 -0
- package/packages/autonomous-runtime/dist/index.d.ts +17 -0
- package/packages/autonomous-runtime/dist/index.d.ts.map +1 -0
- package/packages/autonomous-runtime/dist/index.js +17 -0
- package/packages/autonomous-runtime/dist/index.js.map +1 -0
- package/packages/autonomous-runtime/dist/lease.d.ts +78 -0
- package/packages/autonomous-runtime/dist/lease.d.ts.map +1 -0
- package/packages/autonomous-runtime/dist/lease.js +273 -0
- package/packages/autonomous-runtime/dist/lease.js.map +1 -0
- package/packages/autonomous-runtime/dist/types.d.ts +160 -0
- package/packages/autonomous-runtime/dist/types.d.ts.map +1 -0
- package/packages/autonomous-runtime/dist/types.js +31 -0
- package/packages/autonomous-runtime/dist/types.js.map +1 -0
- package/packages/autonomous-runtime/dist/worker.d.ts +63 -0
- package/packages/autonomous-runtime/dist/worker.d.ts.map +1 -0
- package/packages/autonomous-runtime/dist/worker.js +133 -0
- package/packages/autonomous-runtime/dist/worker.js.map +1 -0
- package/packages/autonomous-runtime/package.json +34 -0
- package/packages/autonomous-runtime/src/inbox.ts +266 -0
- package/packages/autonomous-runtime/src/index.ts +22 -0
- package/packages/autonomous-runtime/src/lease.ts +318 -0
- package/packages/autonomous-runtime/src/types.ts +257 -0
- package/packages/autonomous-runtime/test/autonomous-runtime.test.ts +194 -0
- package/packages/autonomous-runtime/test/inbox.test.mjs +266 -0
- package/packages/autonomous-runtime/test/inbox.test.ts +80 -0
- package/packages/autonomous-runtime/test/types.test.ts +68 -0
- package/packages/autonomous-runtime/tsconfig.json +22 -0
- package/packages/autonomous-runtime/tsconfig.tsbuildinfo +1 -0
- package/packages/privilege-broker/README.md +45 -0
- package/packages/privilege-broker/config/privileges.yaml.example +172 -0
- package/packages/privilege-broker/dist/approval.d.ts +23 -0
- package/packages/privilege-broker/dist/approval.d.ts.map +1 -0
- package/packages/privilege-broker/dist/approval.js +45 -0
- package/packages/privilege-broker/dist/approval.js.map +1 -0
- package/packages/privilege-broker/dist/audit.d.ts +38 -0
- package/packages/privilege-broker/dist/audit.d.ts.map +1 -0
- package/packages/privilege-broker/dist/audit.js +125 -0
- package/packages/privilege-broker/dist/audit.js.map +1 -0
- package/packages/privilege-broker/dist/executor.d.ts +25 -0
- package/packages/privilege-broker/dist/executor.d.ts.map +1 -0
- package/packages/privilege-broker/dist/executor.js +83 -0
- package/packages/privilege-broker/dist/executor.js.map +1 -0
- package/packages/privilege-broker/dist/index.d.ts +30 -0
- package/packages/privilege-broker/dist/index.d.ts.map +1 -0
- package/packages/privilege-broker/dist/index.js +5 -0
- package/packages/privilege-broker/dist/index.js.map +1 -0
- package/packages/privilege-broker/dist/registry.d.ts +15 -0
- package/packages/privilege-broker/dist/registry.d.ts.map +1 -0
- package/packages/privilege-broker/dist/registry.js +76 -0
- package/packages/privilege-broker/dist/registry.js.map +1 -0
- package/packages/privilege-broker/dist/types.d.ts +77 -0
- package/packages/privilege-broker/dist/types.d.ts.map +1 -0
- package/packages/privilege-broker/dist/types.js +11 -0
- package/packages/privilege-broker/dist/types.js.map +1 -0
- package/packages/privilege-broker/package.json +35 -0
- package/packages/privilege-broker/src/approval.ts +70 -0
- package/packages/privilege-broker/src/audit.ts +142 -0
- package/packages/privilege-broker/src/executor.ts +110 -0
- package/packages/privilege-broker/src/index.ts +46 -0
- package/packages/privilege-broker/src/registry.ts +98 -0
- package/packages/privilege-broker/src/types.ts +105 -0
- package/packages/privilege-broker/tsconfig.json +22 -0
- package/packages/privilege-broker/tsconfig.tsbuildinfo +1 -0
- package/packages/scheduler-adapter/README.md +36 -0
- package/packages/scheduler-adapter/dist/cron.d.ts +21 -0
- package/packages/scheduler-adapter/dist/cron.d.ts.map +1 -0
- package/packages/scheduler-adapter/dist/cron.js +116 -0
- package/packages/scheduler-adapter/dist/cron.js.map +1 -0
- package/packages/scheduler-adapter/dist/index.d.ts +9 -0
- package/packages/scheduler-adapter/dist/index.d.ts.map +1 -0
- package/packages/scheduler-adapter/dist/index.js +8 -0
- package/packages/scheduler-adapter/dist/index.js.map +1 -0
- package/packages/scheduler-adapter/dist/interface.d.ts +61 -0
- package/packages/scheduler-adapter/dist/interface.d.ts.map +1 -0
- package/packages/scheduler-adapter/dist/interface.js +2 -0
- package/packages/scheduler-adapter/dist/interface.js.map +1 -0
- package/packages/scheduler-adapter/dist/internal.d.ts +30 -0
- package/packages/scheduler-adapter/dist/internal.d.ts.map +1 -0
- package/packages/scheduler-adapter/dist/internal.js +82 -0
- package/packages/scheduler-adapter/dist/internal.js.map +1 -0
- package/packages/scheduler-adapter/dist/systemd.d.ts +31 -0
- package/packages/scheduler-adapter/dist/systemd.d.ts.map +1 -0
- package/packages/scheduler-adapter/dist/systemd.js +203 -0
- package/packages/scheduler-adapter/dist/systemd.js.map +1 -0
- package/packages/scheduler-adapter/package.json +32 -0
- package/packages/scheduler-adapter/src/cron.ts +123 -0
- package/packages/scheduler-adapter/src/index.ts +9 -0
- package/packages/scheduler-adapter/src/interface.ts +61 -0
- package/packages/scheduler-adapter/src/internal.ts +99 -0
- package/packages/scheduler-adapter/src/systemd.ts +221 -0
- package/packages/scheduler-adapter/tsconfig.json +22 -0
- package/packages/scheduler-adapter/tsconfig.tsbuildinfo +1 -0
- package/packages/types/dist/ai-providers.d.ts +0 -36
- package/packages/types/dist/ai-providers.d.ts.map +0 -1
- package/packages/types/dist/ai-providers.js +0 -66
- package/packages/types/dist/ai-providers.js.map +0 -1
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Broker Executor — RFC-0101 §7
|
|
3
|
+
*
|
|
4
|
+
* Executes a resolved CapabilityGrant using execve(2) (no shell).
|
|
5
|
+
* The service account must exist and have minimal permissions.
|
|
6
|
+
*
|
|
7
|
+
* Safety properties:
|
|
8
|
+
* - No shell interpolation — argv is passed directly to execve
|
|
9
|
+
* - Env whitelist enforced — only approved env vars are forwarded
|
|
10
|
+
* - Working directory constrained via chdir
|
|
11
|
+
* - Timeout enforced — process is killed if it exceeds timeoutMs
|
|
12
|
+
*/
|
|
13
|
+
import { spawn } from "node:child_process";
|
|
14
|
+
import type { AuditLogger } from "./types.js";
|
|
15
|
+
|
|
16
|
+
/** The BrokerExecutor resolves and executes capability grants. */
|
|
17
|
+
export class BrokerExecutor {
|
|
18
|
+
constructor(private readonly audit: AuditLogger) {}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Execute a command as the configured service account.
|
|
22
|
+
* Throws on timeout or spawn error.
|
|
23
|
+
*/
|
|
24
|
+
async execute(options: {
|
|
25
|
+
command: string;
|
|
26
|
+
args: string[];
|
|
27
|
+
envWhitelist?: string[];
|
|
28
|
+
allowedCwd?: string;
|
|
29
|
+
timeoutMs?: number;
|
|
30
|
+
actor: string;
|
|
31
|
+
capability: string;
|
|
32
|
+
reason: string;
|
|
33
|
+
}): Promise<{ exitCode: number; stdout: string; stderr: string }> {
|
|
34
|
+
const {
|
|
35
|
+
command,
|
|
36
|
+
args,
|
|
37
|
+
envWhitelist,
|
|
38
|
+
allowedCwd,
|
|
39
|
+
timeoutMs = 30_000,
|
|
40
|
+
actor,
|
|
41
|
+
capability,
|
|
42
|
+
reason,
|
|
43
|
+
} = options;
|
|
44
|
+
|
|
45
|
+
// Build minimal env
|
|
46
|
+
const env: Record<string, string> = {};
|
|
47
|
+
if (envWhitelist) {
|
|
48
|
+
for (const key of envWhitelist) {
|
|
49
|
+
if (process.env[key] !== undefined) {
|
|
50
|
+
env[key] = process.env[key]!;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
env.PI_HARNESS_ACTOR = actor;
|
|
55
|
+
env.PI_HARNESS_CAPABILITY = capability;
|
|
56
|
+
|
|
57
|
+
const child = spawn(command, args, {
|
|
58
|
+
env,
|
|
59
|
+
cwd: allowedCwd ?? process.cwd(),
|
|
60
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
let stdout = "";
|
|
64
|
+
let stderr = "";
|
|
65
|
+
child.stdout?.on("data", (chunk) => {
|
|
66
|
+
stdout += chunk.toString();
|
|
67
|
+
});
|
|
68
|
+
child.stderr?.on("data", (chunk) => {
|
|
69
|
+
stderr += chunk.toString();
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
return new Promise((resolve, reject) => {
|
|
73
|
+
const timer = setTimeout(() => {
|
|
74
|
+
child.kill("SIGKILL");
|
|
75
|
+
reject(new Error(`command timed out after ${timeoutMs}ms`));
|
|
76
|
+
}, timeoutMs);
|
|
77
|
+
|
|
78
|
+
child.on("exit", (code) => {
|
|
79
|
+
clearTimeout(timer);
|
|
80
|
+
const exitCode = code ?? 0;
|
|
81
|
+
this.audit.log({
|
|
82
|
+
timestamp: new Date().toISOString(),
|
|
83
|
+
actor,
|
|
84
|
+
capability: capability as Parameters<
|
|
85
|
+
typeof this.audit.log
|
|
86
|
+
>[0]["capability"],
|
|
87
|
+
reason,
|
|
88
|
+
outcome: exitCode === 0 ? "granted" : "error",
|
|
89
|
+
error: exitCode !== 0 ? `exit ${exitCode}` : undefined,
|
|
90
|
+
});
|
|
91
|
+
resolve({ exitCode, stdout, stderr });
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
child.on("error", (err) => {
|
|
95
|
+
clearTimeout(timer);
|
|
96
|
+
this.audit.log({
|
|
97
|
+
timestamp: new Date().toISOString(),
|
|
98
|
+
actor,
|
|
99
|
+
capability: capability as Parameters<
|
|
100
|
+
typeof this.audit.log
|
|
101
|
+
>[0]["capability"],
|
|
102
|
+
reason,
|
|
103
|
+
outcome: "error",
|
|
104
|
+
error: err.message,
|
|
105
|
+
});
|
|
106
|
+
reject(err);
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Privilege Broker — RFC-0101 §7
|
|
3
|
+
*
|
|
4
|
+
* Provides safe privilege escalation for autonomous tasks:
|
|
5
|
+
* - Lists available capabilities
|
|
6
|
+
* - Checks human approval
|
|
7
|
+
* - Executes privileged operations safely
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { PrivilegeBroker } from "@pi-harness/privilege-broker";
|
|
12
|
+
*
|
|
13
|
+
* const broker = new PrivilegeBroker({
|
|
14
|
+
* registry: defaultCapabilityRegistry(),
|
|
15
|
+
* audit: new ConsoleAuditLogger(),
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* const ok = await broker.check(
|
|
19
|
+
* "run_command",
|
|
20
|
+
* { command: "npm test" },
|
|
21
|
+
* "pi-runtime-agent",
|
|
22
|
+
* );
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export type {
|
|
26
|
+
PrivilegeEntry,
|
|
27
|
+
PrivilegeRegistry,
|
|
28
|
+
CapabilityName,
|
|
29
|
+
CapabilityGrant,
|
|
30
|
+
AuditEntry,
|
|
31
|
+
AuditLogger,
|
|
32
|
+
ApprovalClass,
|
|
33
|
+
} from "./types.js";
|
|
34
|
+
export { loadRegistry, type PrivilegeRegistryError } from "./registry.js";
|
|
35
|
+
export {
|
|
36
|
+
type ApprovalResult,
|
|
37
|
+
registerApprovalClass,
|
|
38
|
+
checkApproval,
|
|
39
|
+
clearApprovalCache,
|
|
40
|
+
} from "./approval.js";
|
|
41
|
+
export {
|
|
42
|
+
NoOpAuditLogger,
|
|
43
|
+
ConsoleAuditLogger,
|
|
44
|
+
FileAuditLogger,
|
|
45
|
+
} from "./audit.js";
|
|
46
|
+
export { BrokerExecutor } from "./executor.js";
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Privilege Registry — RFC-0101 §7
|
|
3
|
+
*
|
|
4
|
+
* Loads config/privileges.yaml at startup and provides:
|
|
5
|
+
* - lookup(capability) → PrivilegeEntry | null
|
|
6
|
+
* - knownCapabilities() → CapabilityName[]
|
|
7
|
+
* - validate() → { valid: boolean; errors: string[] }
|
|
8
|
+
*/
|
|
9
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
10
|
+
import { join, dirname } from "node:path";
|
|
11
|
+
import { parse as parseYaml } from "yaml";
|
|
12
|
+
import type {
|
|
13
|
+
PrivilegeEntry,
|
|
14
|
+
PrivilegeRegistry,
|
|
15
|
+
CapabilityName,
|
|
16
|
+
} from "./types.js";
|
|
17
|
+
|
|
18
|
+
export class PrivilegeRegistryError extends Error {
|
|
19
|
+
constructor(msg: string) {
|
|
20
|
+
super(`[PrivilegeRegistryError] ${msg}`);
|
|
21
|
+
this.name = "PrivilegeRegistryError";
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** Default location relative to the package root. */
|
|
26
|
+
export const DEFAULT_PRIVILEGES_PATH = join(
|
|
27
|
+
dirname(new URL(".", import.meta.url).pathname),
|
|
28
|
+
"..",
|
|
29
|
+
"config",
|
|
30
|
+
"privileges.yaml",
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Load and validate the privilege registry from a YAML file.
|
|
35
|
+
*
|
|
36
|
+
* @throws {PrivilegeRegistryError} if the file is missing or invalid
|
|
37
|
+
*/
|
|
38
|
+
export function loadRegistry(path?: string): PrivilegeRegistry {
|
|
39
|
+
const filePath = path ?? DEFAULT_PRIVILEGES_PATH;
|
|
40
|
+
if (!existsSync(filePath)) {
|
|
41
|
+
throw new PrivilegeRegistryError(
|
|
42
|
+
`privileges file not found at ${filePath}. Copy config/privileges.yaml.example to config/privileges.yaml and edit it.`,
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
let raw: unknown;
|
|
47
|
+
try {
|
|
48
|
+
const content = readFileSync(filePath, "utf8");
|
|
49
|
+
raw = parseYaml(content);
|
|
50
|
+
} catch (err) {
|
|
51
|
+
throw new PrivilegeRegistryError(
|
|
52
|
+
`failed to parse ${filePath}: ${(err as Error).message}`,
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const registry = raw as PrivilegeRegistry;
|
|
57
|
+
|
|
58
|
+
// Validate
|
|
59
|
+
const errors = validate(registry);
|
|
60
|
+
if (errors.length > 0) {
|
|
61
|
+
throw new PrivilegeRegistryError(
|
|
62
|
+
`validation errors in ${filePath}:\n ${errors.join("\n ")}`,
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return registry;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** Lightweight validation — check required fields. */
|
|
70
|
+
export function validate(registry: PrivilegeRegistry): string[] {
|
|
71
|
+
const errors: string[] = [];
|
|
72
|
+
if (!registry || typeof registry !== "object") {
|
|
73
|
+
errors.push("registry must be an object");
|
|
74
|
+
return errors;
|
|
75
|
+
}
|
|
76
|
+
if (typeof registry.version !== "number") {
|
|
77
|
+
errors.push("registry.version is required and must be a number");
|
|
78
|
+
}
|
|
79
|
+
if (!Array.isArray(registry.capabilities)) {
|
|
80
|
+
errors.push("registry.capabilities must be an array");
|
|
81
|
+
return errors;
|
|
82
|
+
}
|
|
83
|
+
for (const cap of registry.capabilities) {
|
|
84
|
+
if (!cap.capability) {
|
|
85
|
+
errors.push("each capability must have a 'capability' field");
|
|
86
|
+
}
|
|
87
|
+
if (!cap.description) {
|
|
88
|
+
errors.push(`capability ${cap.capability} missing 'description'`);
|
|
89
|
+
}
|
|
90
|
+
if (!cap.approval_class) {
|
|
91
|
+
errors.push(`capability ${cap.capability} missing 'approval_class'`);
|
|
92
|
+
}
|
|
93
|
+
if (!cap.actors || typeof cap.actors !== "object") {
|
|
94
|
+
errors.push(`capability ${cap.capability} missing 'actors' object`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return errors;
|
|
98
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Privilege Broker — Types
|
|
3
|
+
* RFC-0101 §7-§8
|
|
4
|
+
*
|
|
5
|
+
* Duplicates CapabilityName from @pi/autonomous-runtime here to avoid
|
|
6
|
+
* circular import issues in the workspace. Once the workspace is built,
|
|
7
|
+
* this can be replaced with:
|
|
8
|
+
* import type { CapabilityName } from "@pi/autonomous-runtime";
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/** A named capability that the privilege broker may grant. */
|
|
12
|
+
export type CapabilityName =
|
|
13
|
+
| "files.read"
|
|
14
|
+
| "files.write"
|
|
15
|
+
| "files.exec"
|
|
16
|
+
| "git.commit"
|
|
17
|
+
| "git.push"
|
|
18
|
+
| "gh.api"
|
|
19
|
+
| "npm.publish"
|
|
20
|
+
| "run_command"
|
|
21
|
+
| "sudo";
|
|
22
|
+
|
|
23
|
+
/** Policy for one capability. */
|
|
24
|
+
export interface PrivilegeEntry {
|
|
25
|
+
capability: CapabilityName;
|
|
26
|
+
/** Human-readable description shown in approval prompts. */
|
|
27
|
+
description: string;
|
|
28
|
+
/** Per-actor policy. Default deny if no match. */
|
|
29
|
+
actors: Record<
|
|
30
|
+
string,
|
|
31
|
+
{
|
|
32
|
+
/** "allow", "deny", or "ask" (requires human approval). */
|
|
33
|
+
default: "allow" | "deny" | "ask";
|
|
34
|
+
/** Optional: cron expression for time-of-day restriction. */
|
|
35
|
+
time_window?: string;
|
|
36
|
+
/** Optional: condition expression evaluated at runtime. */
|
|
37
|
+
condition?: string;
|
|
38
|
+
/** Max exec-time in ms. 0 = no limit. */
|
|
39
|
+
timeout_ms?: number;
|
|
40
|
+
/** Environment variable whitelist (exact keys). */
|
|
41
|
+
env_whitelist?: string[];
|
|
42
|
+
/** Optional: working directory constraint. */
|
|
43
|
+
allowed_cwd?: string;
|
|
44
|
+
}
|
|
45
|
+
>;
|
|
46
|
+
/** Approval class id — determines how to prompt human. */
|
|
47
|
+
approval_class: string;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** Loaded registry of all known capabilities. */
|
|
51
|
+
export interface PrivilegeRegistry {
|
|
52
|
+
version: number;
|
|
53
|
+
capabilities: PrivilegeEntry[];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/** Result of a broker.check() call. */
|
|
57
|
+
export interface CapabilityGrant {
|
|
58
|
+
granted: boolean;
|
|
59
|
+
reason: string;
|
|
60
|
+
/** Filled if granted = true. */
|
|
61
|
+
exec_options?: {
|
|
62
|
+
timeout_ms?: number;
|
|
63
|
+
env_whitelist?: string[];
|
|
64
|
+
allowed_cwd?: string;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/** Log entry for audit trail. */
|
|
69
|
+
export type AuditOutcome =
|
|
70
|
+
| "granted"
|
|
71
|
+
| "denied"
|
|
72
|
+
| "auto_denied"
|
|
73
|
+
| "auto_approved"
|
|
74
|
+
| "error";
|
|
75
|
+
|
|
76
|
+
export interface AuditEntry {
|
|
77
|
+
timestamp: string;
|
|
78
|
+
workerId?: string;
|
|
79
|
+
taskId?: string;
|
|
80
|
+
actor: string;
|
|
81
|
+
capability: CapabilityName;
|
|
82
|
+
reason: string;
|
|
83
|
+
outcome: AuditOutcome;
|
|
84
|
+
success?: boolean;
|
|
85
|
+
error?: string;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/** Audit logger interface. */
|
|
89
|
+
export interface AuditLogger {
|
|
90
|
+
log(entry: AuditEntry): void;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/** Approval class — determines how to prompt the human. */
|
|
94
|
+
export interface ApprovalClass {
|
|
95
|
+
id: string;
|
|
96
|
+
/**
|
|
97
|
+
* Prompt the human for approval.
|
|
98
|
+
* Returns "granted" or "denied".
|
|
99
|
+
*/
|
|
100
|
+
prompt(
|
|
101
|
+
capability: CapabilityName,
|
|
102
|
+
actor: string,
|
|
103
|
+
reason: string,
|
|
104
|
+
): Promise<"granted" | "denied">;
|
|
105
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "ES2022",
|
|
5
|
+
"moduleResolution": "bundler",
|
|
6
|
+
"lib": ["ES2022", "DOM"],
|
|
7
|
+
"outDir": "./dist",
|
|
8
|
+
"rootDir": "./src",
|
|
9
|
+
"declaration": true,
|
|
10
|
+
"declarationMap": true,
|
|
11
|
+
"sourceMap": true,
|
|
12
|
+
"strict": true,
|
|
13
|
+
"esModuleInterop": true,
|
|
14
|
+
"skipLibCheck": true,
|
|
15
|
+
"forceConsistentCasingInFileNames": true,
|
|
16
|
+
"resolveJsonModule": true,
|
|
17
|
+
"composite": true,
|
|
18
|
+
"types": ["node"]
|
|
19
|
+
},
|
|
20
|
+
"include": ["src/**/*"],
|
|
21
|
+
"exclude": ["node_modules", "dist", "test"]
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"7.0.2","root":[[59,62],[104,105]],"packageJsons":["../../node_modules/string_decoder/package.json","../../node_modules/yaml/package.json","./node_modules/@types/node/node_modules/undici-types/package.json","./node_modules/@types/node/package.json","./package.json"],"missingPackageJsons":["../../node_modules/@types/assert/package.json","../../node_modules/@types/assert/strict/package.json","../../node_modules/@types/async_hooks/package.json","../../node_modules/@types/buffer/package.json","../../node_modules/@types/child_process/package.json","../../node_modules/@types/cluster/package.json","../../node_modules/@types/console/package.json","../../node_modules/@types/constants/package.json","../../node_modules/@types/crypto/package.json","../../node_modules/@types/dgram/package.json","../../node_modules/@types/diagnostics_channel/package.json","../../node_modules/@types/dns/package.json","../../node_modules/@types/dns/promises/package.json","../../node_modules/@types/domain/package.json","../../node_modules/@types/events/package.json","../../node_modules/@types/fs/package.json","../../node_modules/@types/fs/promises/package.json","../../node_modules/@types/http/package.json","../../node_modules/@types/http2/package.json","../../node_modules/@types/https/package.json","../../node_modules/@types/inspector/package.json","../../node_modules/@types/inspector/promises/package.json","../../node_modules/@types/module/package.json","../../node_modules/@types/net/package.json","../../node_modules/@types/os/package.json","../../node_modules/@types/path/package.json","../../node_modules/@types/path/posix/package.json","../../node_modules/@types/path/win32/package.json","../../node_modules/@types/perf_hooks/package.json","../../node_modules/@types/process/package.json","../../node_modules/@types/punycode/package.json","../../node_modules/@types/querystring/package.json","../../node_modules/@types/readline/package.json","../../node_modules/@types/readline/promises/package.json","../../node_modules/@types/repl/package.json","../../node_modules/@types/stream/consumers/package.json","../../node_modules/@types/stream/package.json","../../node_modules/@types/stream/promises/package.json","../../node_modules/@types/stream/web/package.json","../../node_modules/@types/string_decoder/package.json","../../node_modules/@types/timers/package.json","../../node_modules/@types/timers/promises/package.json","../../node_modules/@types/tls/package.json","../../node_modules/@types/trace_events/package.json","../../node_modules/@types/tty/package.json","../../node_modules/@types/url/package.json","../../node_modules/@types/util/package.json","../../node_modules/@types/util/types/package.json","../../node_modules/@types/v8/package.json","../../node_modules/@types/vm/package.json","../../node_modules/@types/wasi/package.json","../../node_modules/@types/worker_threads/package.json","../../node_modules/@types/zlib/package.json","../../node_modules/assert/package.json","../../node_modules/assert/strict/package.json","../../node_modules/async_hooks/package.json","../../node_modules/buffer/package.json","../../node_modules/child_process/package.json","../../node_modules/cluster/package.json","../../node_modules/console/package.json","../../node_modules/constants/package.json","../../node_modules/crypto/package.json","../../node_modules/dgram/package.json","../../node_modules/diagnostics_channel/package.json","../../node_modules/dns/package.json","../../node_modules/dns/promises/package.json","../../node_modules/domain/package.json","../../node_modules/events/package.json","../../node_modules/fs/package.json","../../node_modules/fs/promises/package.json","../../node_modules/http/package.json","../../node_modules/http2/package.json","../../node_modules/https/package.json","../../node_modules/inspector/package.json","../../node_modules/inspector/promises/package.json","../../node_modules/module/package.json","../../node_modules/net/package.json","../../node_modules/os/package.json","../../node_modules/path/package.json","../../node_modules/path/posix/package.json","../../node_modules/path/win32/package.json","../../node_modules/perf_hooks/package.json","../../node_modules/process/package.json","../../node_modules/punycode/package.json","../../node_modules/querystring/package.json","../../node_modules/readline/package.json","../../node_modules/readline/promises/package.json","../../node_modules/repl/package.json","../../node_modules/stream/consumers/package.json","../../node_modules/stream/package.json","../../node_modules/stream/promises/package.json","../../node_modules/stream/web/package.json","../../node_modules/timers/package.json","../../node_modules/timers/promises/package.json","../../node_modules/tls/package.json","../../node_modules/trace_events/package.json","../../node_modules/tty/package.json","../../node_modules/url/package.json","../../node_modules/util/package.json","../../node_modules/util/types/package.json","../../node_modules/v8/package.json","../../node_modules/vm/package.json","../../node_modules/wasi/package.json","../../node_modules/worker_threads/package.json","../../node_modules/yaml/dist/compose/package.json","../../node_modules/yaml/dist/doc/package.json","../../node_modules/yaml/dist/nodes/package.json","../../node_modules/yaml/dist/package.json","../../node_modules/yaml/dist/parse/package.json","../../node_modules/yaml/dist/schema/common/package.json","../../node_modules/yaml/dist/schema/package.json","../../node_modules/yaml/dist/schema/yaml-1.1/package.json","../../node_modules/yaml/dist/stringify/package.json","../../node_modules/zlib/package.json","./node_modules/@types/assert/package.json","./node_modules/@types/assert/strict/package.json","./node_modules/@types/async_hooks/package.json","./node_modules/@types/buffer/package.json","./node_modules/@types/child_process/package.json","./node_modules/@types/cluster/package.json","./node_modules/@types/console/package.json","./node_modules/@types/constants/package.json","./node_modules/@types/crypto/package.json","./node_modules/@types/dgram/package.json","./node_modules/@types/diagnostics_channel/package.json","./node_modules/@types/dns/package.json","./node_modules/@types/dns/promises/package.json","./node_modules/@types/domain/package.json","./node_modules/@types/events/package.json","./node_modules/@types/fs/package.json","./node_modules/@types/fs/promises/package.json","./node_modules/@types/http/package.json","./node_modules/@types/http2/package.json","./node_modules/@types/https/package.json","./node_modules/@types/inspector/package.json","./node_modules/@types/inspector/promises/package.json","./node_modules/@types/module/package.json","./node_modules/@types/net/package.json","./node_modules/@types/node/assert/package.json","./node_modules/@types/node/compatibility/package.json","./node_modules/@types/node/dns/package.json","./node_modules/@types/node/fs/package.json","./node_modules/@types/node/node_modules/assert/package.json","./node_modules/@types/node/node_modules/assert/strict/package.json","./node_modules/@types/node/node_modules/async_hooks/package.json","./node_modules/@types/node/node_modules/buffer/package.json","./node_modules/@types/node/node_modules/child_process/package.json","./node_modules/@types/node/node_modules/cluster/package.json","./node_modules/@types/node/node_modules/console/package.json","./node_modules/@types/node/node_modules/constants/package.json","./node_modules/@types/node/node_modules/crypto/package.json","./node_modules/@types/node/node_modules/dgram/package.json","./node_modules/@types/node/node_modules/diagnostics_channel/package.json","./node_modules/@types/node/node_modules/dns/package.json","./node_modules/@types/node/node_modules/dns/promises/package.json","./node_modules/@types/node/node_modules/domain/package.json","./node_modules/@types/node/node_modules/events/package.json","./node_modules/@types/node/node_modules/fs/package.json","./node_modules/@types/node/node_modules/fs/promises/package.json","./node_modules/@types/node/node_modules/http/package.json","./node_modules/@types/node/node_modules/http2/package.json","./node_modules/@types/node/node_modules/https/package.json","./node_modules/@types/node/node_modules/inspector/package.json","./node_modules/@types/node/node_modules/inspector/promises/package.json","./node_modules/@types/node/node_modules/module/package.json","./node_modules/@types/node/node_modules/net/package.json","./node_modules/@types/node/node_modules/os/package.json","./node_modules/@types/node/node_modules/path/package.json","./node_modules/@types/node/node_modules/path/posix/package.json","./node_modules/@types/node/node_modules/path/win32/package.json","./node_modules/@types/node/node_modules/perf_hooks/package.json","./node_modules/@types/node/node_modules/process/package.json","./node_modules/@types/node/node_modules/punycode/package.json","./node_modules/@types/node/node_modules/querystring/package.json","./node_modules/@types/node/node_modules/readline/package.json","./node_modules/@types/node/node_modules/readline/promises/package.json","./node_modules/@types/node/node_modules/repl/package.json","./node_modules/@types/node/node_modules/stream/consumers/package.json","./node_modules/@types/node/node_modules/stream/package.json","./node_modules/@types/node/node_modules/stream/promises/package.json","./node_modules/@types/node/node_modules/stream/web/package.json","./node_modules/@types/node/node_modules/string_decoder/package.json","./node_modules/@types/node/node_modules/timers/package.json","./node_modules/@types/node/node_modules/timers/promises/package.json","./node_modules/@types/node/node_modules/tls/package.json","./node_modules/@types/node/node_modules/trace_events/package.json","./node_modules/@types/node/node_modules/tty/package.json","./node_modules/@types/node/node_modules/url/package.json","./node_modules/@types/node/node_modules/util/package.json","./node_modules/@types/node/node_modules/util/types/package.json","./node_modules/@types/node/node_modules/v8/package.json","./node_modules/@types/node/node_modules/vm/package.json","./node_modules/@types/node/node_modules/wasi/package.json","./node_modules/@types/node/node_modules/worker_threads/package.json","./node_modules/@types/node/node_modules/zlib/package.json","./node_modules/@types/node/readline/package.json","./node_modules/@types/node/stream/package.json","./node_modules/@types/node/timers/package.json","./node_modules/@types/node/web-globals/package.json","./node_modules/@types/os/package.json","./node_modules/@types/path/package.json","./node_modules/@types/path/posix/package.json","./node_modules/@types/path/win32/package.json","./node_modules/@types/perf_hooks/package.json","./node_modules/@types/process/package.json","./node_modules/@types/punycode/package.json","./node_modules/@types/querystring/package.json","./node_modules/@types/readline/package.json","./node_modules/@types/readline/promises/package.json","./node_modules/@types/repl/package.json","./node_modules/@types/stream/consumers/package.json","./node_modules/@types/stream/package.json","./node_modules/@types/stream/promises/package.json","./node_modules/@types/stream/web/package.json","./node_modules/@types/string_decoder/package.json","./node_modules/@types/timers/package.json","./node_modules/@types/timers/promises/package.json","./node_modules/@types/tls/package.json","./node_modules/@types/trace_events/package.json","./node_modules/@types/tty/package.json","./node_modules/@types/url/package.json","./node_modules/@types/util/package.json","./node_modules/@types/util/types/package.json","./node_modules/@types/v8/package.json","./node_modules/@types/vm/package.json","./node_modules/@types/wasi/package.json","./node_modules/@types/worker_threads/package.json","./node_modules/@types/yaml/package.json","./node_modules/@types/zlib/package.json","./node_modules/assert/package.json","./node_modules/assert/strict/package.json","./node_modules/async_hooks/package.json","./node_modules/buffer/package.json","./node_modules/child_process/package.json","./node_modules/cluster/package.json","./node_modules/console/package.json","./node_modules/constants/package.json","./node_modules/crypto/package.json","./node_modules/dgram/package.json","./node_modules/diagnostics_channel/package.json","./node_modules/dns/package.json","./node_modules/dns/promises/package.json","./node_modules/domain/package.json","./node_modules/events/package.json","./node_modules/fs/package.json","./node_modules/fs/promises/package.json","./node_modules/http/package.json","./node_modules/http2/package.json","./node_modules/https/package.json","./node_modules/inspector/package.json","./node_modules/inspector/promises/package.json","./node_modules/module/package.json","./node_modules/net/package.json","./node_modules/os/package.json","./node_modules/path/package.json","./node_modules/path/posix/package.json","./node_modules/path/win32/package.json","./node_modules/perf_hooks/package.json","./node_modules/process/package.json","./node_modules/punycode/package.json","./node_modules/querystring/package.json","./node_modules/readline/package.json","./node_modules/readline/promises/package.json","./node_modules/repl/package.json","./node_modules/stream/consumers/package.json","./node_modules/stream/package.json","./node_modules/stream/promises/package.json","./node_modules/stream/web/package.json","./node_modules/string_decoder/package.json","./node_modules/timers/package.json","./node_modules/timers/promises/package.json","./node_modules/tls/package.json","./node_modules/trace_events/package.json","./node_modules/tty/package.json","./node_modules/url/package.json","./node_modules/util/package.json","./node_modules/util/types/package.json","./node_modules/v8/package.json","./node_modules/vm/package.json","./node_modules/wasi/package.json","./node_modules/worker_threads/package.json","./node_modules/yaml/package.json","./node_modules/zlib/package.json"],"fileNames":["lib.es5.d.ts","lib.es2015.d.ts","lib.es2016.d.ts","lib.es2017.d.ts","lib.es2018.d.ts","lib.es2019.d.ts","lib.es2020.d.ts","lib.es2021.d.ts","lib.es2022.d.ts","lib.dom.d.ts","lib.es2015.core.d.ts","lib.es2015.collection.d.ts","lib.es2015.generator.d.ts","lib.es2015.iterable.d.ts","lib.es2015.promise.d.ts","lib.es2015.proxy.d.ts","lib.es2015.reflect.d.ts","lib.es2015.symbol.d.ts","lib.es2015.symbol.wellknown.d.ts","lib.es2016.array.include.d.ts","lib.es2016.intl.d.ts","lib.es2017.arraybuffer.d.ts","lib.es2017.date.d.ts","lib.es2017.object.d.ts","lib.es2017.sharedmemory.d.ts","lib.es2017.string.d.ts","lib.es2017.intl.d.ts","lib.es2017.typedarrays.d.ts","lib.es2018.asyncgenerator.d.ts","lib.es2018.asynciterable.d.ts","lib.es2018.intl.d.ts","lib.es2018.promise.d.ts","lib.es2018.regexp.d.ts","lib.es2019.array.d.ts","lib.es2019.object.d.ts","lib.es2019.string.d.ts","lib.es2019.symbol.d.ts","lib.es2019.intl.d.ts","lib.es2020.bigint.d.ts","lib.es2020.date.d.ts","lib.es2020.promise.d.ts","lib.es2020.sharedmemory.d.ts","lib.es2020.string.d.ts","lib.es2020.symbol.wellknown.d.ts","lib.es2020.intl.d.ts","lib.es2020.number.d.ts","lib.es2021.promise.d.ts","lib.es2021.string.d.ts","lib.es2021.weakref.d.ts","lib.es2021.intl.d.ts","lib.es2022.array.d.ts","lib.es2022.error.d.ts","lib.es2022.intl.d.ts","lib.es2022.object.d.ts","lib.es2022.string.d.ts","lib.es2022.regexp.d.ts","lib.decorators.d.ts","lib.decorators.legacy.d.ts","./src/types.ts","./src/approval.ts","./src/audit.ts","./src/executor.ts","../../node_modules/yaml/dist/parse/line-counter.d.ts","../../node_modules/yaml/dist/errors.d.ts","../../node_modules/yaml/dist/doc/applyReviver.d.ts","../../node_modules/yaml/dist/log.d.ts","../../node_modules/yaml/dist/nodes/toJS.d.ts","../../node_modules/yaml/dist/nodes/Scalar.d.ts","../../node_modules/yaml/dist/stringify/stringify.d.ts","../../node_modules/yaml/dist/nodes/Collection.d.ts","../../node_modules/yaml/dist/nodes/YAMLSeq.d.ts","../../node_modules/yaml/dist/schema/types.d.ts","../../node_modules/yaml/dist/schema/common/map.d.ts","../../node_modules/yaml/dist/schema/common/seq.d.ts","../../node_modules/yaml/dist/schema/common/string.d.ts","../../node_modules/yaml/dist/stringify/foldFlowLines.d.ts","../../node_modules/yaml/dist/stringify/stringifyNumber.d.ts","../../node_modules/yaml/dist/stringify/stringifyString.d.ts","../../node_modules/yaml/dist/util.d.ts","../../node_modules/yaml/dist/nodes/YAMLMap.d.ts","../../node_modules/yaml/dist/nodes/identity.d.ts","../../node_modules/yaml/dist/schema/Schema.d.ts","../../node_modules/yaml/dist/doc/createNode.d.ts","../../node_modules/yaml/dist/nodes/addPairToJSMap.d.ts","../../node_modules/yaml/dist/nodes/Pair.d.ts","../../node_modules/yaml/dist/schema/tags.d.ts","../../node_modules/yaml/dist/options.d.ts","../../node_modules/yaml/dist/nodes/Node.d.ts","../../node_modules/yaml/dist/parse/cst-scalar.d.ts","../../node_modules/yaml/dist/parse/cst-stringify.d.ts","../../node_modules/yaml/dist/parse/cst-visit.d.ts","../../node_modules/yaml/dist/parse/cst.d.ts","../../node_modules/yaml/dist/nodes/Alias.d.ts","../../node_modules/yaml/dist/doc/Document.d.ts","../../node_modules/yaml/dist/doc/directives.d.ts","../../node_modules/yaml/dist/compose/composer.d.ts","../../node_modules/yaml/dist/parse/lexer.d.ts","../../node_modules/yaml/dist/parse/parser.d.ts","../../node_modules/yaml/dist/public-api.d.ts","../../node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts","../../node_modules/yaml/dist/schema/yaml-1.1/set.d.ts","../../node_modules/yaml/dist/visit.d.ts","../../node_modules/yaml/dist/index.d.ts","./src/registry.ts","./src/index.ts","./node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/compatibility/index.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/@types/node/web-globals/events.d.ts","./node_modules/@types/node/node_modules/undici-types/header.d.ts","./node_modules/@types/node/node_modules/undici-types/readable.d.ts","./node_modules/@types/node/node_modules/undici-types/file.d.ts","./node_modules/@types/node/node_modules/undici-types/fetch.d.ts","./node_modules/@types/node/node_modules/undici-types/formdata.d.ts","./node_modules/@types/node/node_modules/undici-types/connector.d.ts","./node_modules/@types/node/node_modules/undici-types/client.d.ts","./node_modules/@types/node/node_modules/undici-types/errors.d.ts","./node_modules/@types/node/node_modules/undici-types/dispatcher.d.ts","./node_modules/@types/node/node_modules/undici-types/global-dispatcher.d.ts","./node_modules/@types/node/node_modules/undici-types/global-origin.d.ts","./node_modules/@types/node/node_modules/undici-types/pool-stats.d.ts","./node_modules/@types/node/node_modules/undici-types/pool.d.ts","./node_modules/@types/node/node_modules/undici-types/handlers.d.ts","./node_modules/@types/node/node_modules/undici-types/balanced-pool.d.ts","./node_modules/@types/node/node_modules/undici-types/agent.d.ts","./node_modules/@types/node/node_modules/undici-types/mock-interceptor.d.ts","./node_modules/@types/node/node_modules/undici-types/mock-agent.d.ts","./node_modules/@types/node/node_modules/undici-types/mock-client.d.ts","./node_modules/@types/node/node_modules/undici-types/mock-pool.d.ts","./node_modules/@types/node/node_modules/undici-types/mock-errors.d.ts","./node_modules/@types/node/node_modules/undici-types/proxy-agent.d.ts","./node_modules/@types/node/node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/@types/node/node_modules/undici-types/retry-handler.d.ts","./node_modules/@types/node/node_modules/undici-types/retry-agent.d.ts","./node_modules/@types/node/node_modules/undici-types/api.d.ts","./node_modules/@types/node/node_modules/undici-types/interceptors.d.ts","./node_modules/@types/node/node_modules/undici-types/util.d.ts","./node_modules/@types/node/node_modules/undici-types/cookies.d.ts","./node_modules/@types/node/node_modules/undici-types/patch.d.ts","./node_modules/@types/node/node_modules/undici-types/websocket.d.ts","./node_modules/@types/node/node_modules/undici-types/eventsource.d.ts","./node_modules/@types/node/node_modules/undici-types/filereader.d.ts","./node_modules/@types/node/node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/@types/node/node_modules/undici-types/content-type.d.ts","./node_modules/@types/node/node_modules/undici-types/cache.d.ts","./node_modules/@types/node/node_modules/undici-types/index.d.ts","./node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.generated.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"16934abaab7026ac114da441aabea1a0","affectsGlobalScope":true,"impliedNodeFormat":1},"d4306fb2e47f74835e8674ffac07d76f","e437c5c1302869326c3bb93da85bbbcf","e4324975a566567b21d350615f1fc6ac","333b1b9a2a9ac3b8497dba5c63b5ba50","6cffacd662b6eb5fa7a36aa2ea366bfa","b4c34f9c23304dbef2d23698637ed638","e5cb86a5fc491796ecd1d2dd348d208f","feb6c6fb19cdb246a5d8acb36a6901c7",{"version":"aae8996e8b5684814785a42cbbefcd79","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"926204c28cd3d073865348473ae28d2e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f25e42c801b2cb3cf2b39792006a9beb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6344b55f26a4e81d9608777dbfb877dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3c0ed28e53d3695b363e256ec1c023fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4c2761daba7f17141c25baa0821ac5da","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b87656acabd63e69379ff6ffcfe52fc7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"597469522da047a5af5222cc6989f405","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1708ea4d34dc37fadadc63ca01127e80","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"55d97a8c6fbf34a30450a7b1e5f7a298","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0ee05eb59426d33e374226d8dcfa708b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e347c14030993906efcfbb88915b6a05","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b0231263857c9b6a03641acdc9280ceb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3b15c4a83b598cacb4067676e6f0abed","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b417d97b7934cef63b1889abec0bbfbf","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"09a6cf4032ebba60ce22a501e663f881","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2b056277dd138e8f5650fc04e20eaa8d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e22cc07e3f3cc242ba52fa3f8ea1fc58","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2c45da767a1bfbb220848df1bc4029e4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b44c3e0fbaf2130cdcf6ac38b120ffa1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b612fb5cf8e5d964b92063a75207632a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"02705151a5e1551b9162a9ed8ab763f7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"41025e398be9215d32e4337335da8f0b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"52684c2b1f353a5538e4f275182a54cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6dedb6a4f90d1df3a6fbe5693e44886c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ca3f36fe3562c07e0f0d71c2bebd3f6d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"409974d6129befbb8226ddd1c6558568","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4d9cfde2a1ae1b4925f1f9bc10848e5d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7e1daecc66dd564144e3bb1a0266b5fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a8e1d9bb35fd0637f2f9fd2b2a54f2ec","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4f168501772a6543182765bfd5f2fbfe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a19c80aad1b2162103496f5ba293a732","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b69afa63cd5d059851c78adb2856ee09","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ae2fc5d954e9b0f5feee3d481b953c27","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1cfd3091a071d8b6feec15277643bafe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1da2c1f258970fd3cc91184f69e91a9d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a0d87491913d843139e0c993650a3235","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4ef72aa378127e7b7abba915b0110b1e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3ec74c6a7d4463f0254db3a74cf75646","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"84c2bdfa470d075526cce6322d81b0b6","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0b3844c2b8c73e4e1ab91431411cad11","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4fc71cf4a15b8d99675a31df77f26e07","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d1b49564ddaeca3df5b6dbae925d2242","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6a25be566d60ccfc2d6e8b7bfdeefa83","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8a20e27646985dfd58c57ca6566553dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9969f02ad3cdcbf4f709405cda44167f","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9c9be4792a7a4f42c15ae7360bf28779","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f64453cbf9671f28158677fa5c43967a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"33f317af5428801f944a478d2c1e38e5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"91a858902fd3f67b2d418920c180cba2","signature":"106e6e59ef401af3df48595f5644af63","impliedNodeFormat":1},{"version":"274766765b394d9002595a84d9f29f60","signature":"b849123fd9a3bf89d2424fde27ab4b19","impliedNodeFormat":1},{"version":"d51113f859d6ba4c5cf7ddfb790a7a99","signature":"ae870fb7c5b5ec357760693862824d4f","impliedNodeFormat":1},{"version":"7ff24c9dcd0e409b33498da2bcc9fc61","signature":"a2da3d8a319d845d598eff59a6cc76e5","impliedNodeFormat":1},"ac3dc1679f54a57900a30c0a9a85462d","e7ed8a2529dc2f9a8ab294ccec9b7f1f","a2703c6ec6826e47507acb9e7cb42f44","2de918e764abd0f8dd337626f4cd9058","b1f74874c8954293150a311fc77d9294","c5d581ed521eca6f97c04f59b73e413b","a4133c8b3acb63613cef4b0633e5ed54","16c50aaf9bce3db9d7f3361df964a7d1","5d151cef7370872164f952278be25cb4","e290e8603f1ac19bb875a98228d2fc56","88dff895fde386a266542ce91e7b4c79","52beae9397f2ecdc467d62ffc55e7688","2ab2c6cd8bb03213b3cc0b749128b1a2","de34e0af4f2ca042da86acc5f088e640","c30cd3a406c757c596bc5119197f5ce0","8591e45ebf7447a4dbcc7c85ef5dfac6","2409bcf225e78e6ecccb251343641f06","35dec37633febb489b62a22b66d136db","9bf681a17341b41b19c6ce70ab38101e","63b1b6a274c731aa4be9d193c7a0c849","762dfbea089bbe77bf4ab0ae61d58e7b","5682fc2606dc39bf1af1843810269306","edd70ba49360e8252a1112fac8abd237","eef4dd4ab9a5574c9d8e5fd07752d997","b1cba937cff59665c2e655b0cf07c74b","703f9d4e9ffe44eb01cb6a55ef34ed80","7dafea58d88c9b4a0cadd7e40428a2bb","63121426739425e05730fb117bbcf014","d16870f62a89eadccade64ec48e9b13c","d35b302c3299a1fdcac92689128e2427","98a2b97a8846c404de744ed195334eee","81ceae5cdfaf116d2ca74e16ba68aed9","3e05cec588c40a7addef884db656ad1d","c006d74884a9a346cca82010133273f8","42a51b5b00267a666312f5783ce03533","6b49026b3acd86cfa44edd173e6c9b01","fbf3893cedb72d9ae8a2f8f9fb6bd41c","b3087ba4d4d3f15b93263500fb42272a","8d077742140bb8ebb2e5d617fb43a3ef","4314d9d518dc8d76aa1199d8ff22a5a3","1f140b66f9f88635d426604d253fc6cf",{"version":"7d2d0cbfa9e7bb93371d5a44a8874b57","signature":"542c9879393295a53faa4c3bdf052e60","impliedNodeFormat":1},{"version":"e6913505a39e590660f1f969c1b49133","signature":"423e65cceab66e69b271a41f79cb58f1","impliedNodeFormat":1},{"version":"90630acdc4134173bcf216f187bd3010","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"913b52a39743d1c11984e4e124b1f3a8","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2514e9a2749c0fc18d2f478e9e1e641e","affectsGlobalScope":true,"impliedNodeFormat":1},"fe51d7a9bcdbcce1e65bbcf39b212298",{"version":"849a1873c4e917b0887368c1be897faa","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"c46c3108bde06d3b1fc6f802eb09eeeb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1332add604574cf529fb33b23304b296","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9af0a7e3ef1c42cd066b9f8d365cc1ba","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9eca652586205dc5b07f9ba57b1c8500","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ec5f75939754ce94652189ec7d0d3058","affectsGlobalScope":true,"impliedNodeFormat":1},"628b774b54637325e286752c79c12432","bb1f9e3091b88e9d0e93b7198c736af3","514fd35e5eb35bb2e5cbb908af0a0aa2","ed57ae88565308729f2327f26d684976","dcd932d6b0038f2e250e30dc10125b22","9508c917bd7e458745e222a82dd24ef0","fabf86f455f96b90538cc26320ab2765","14550b4cd9f433e0addd8b6d67614d23","cf0ac6aebc25cb780674653aaeee688e","35fef7bac8048f583e4ce6eaa0c2a4c0","6752dc653fc7a333027249fd851fdb62","b9ad7e689b46dfba362c1bf174e69018","8b0a2930dfabdf27c69c6bb1eeabcdc8","4513b1ed15523d247040689f37fa9db2","5c0c499eed773a750903d9497beafacd","2377da227d1bac82ff7b3f2081ddf8d3","beef985b474fefeb80d27fb2c8778371","c79fc9d9f09ae598a374ae7c0b5284a4","f2caa3cebb1e6be855519004830a6be0","8ebc9f2a77c900e710801214c5cb994c","ec617a0e0577dd6a3210c3b067ecb325","1db5d06e485bd82d6d5f6e36925a8714","24b864518967840216c779b5e5f00975","8719cd8047700bfb6046798390053823","f2840afb502c94db92dab0fb8d27812f","a7e7d08b372210c203745d3eac61a411","531183cc80535e0e94226d720e5eb038","f627eb958ca52c85e42f04dce4661f86","9a43fc665bce9012a3d5fe1b574ff4dc","13f4b4da6546a34719fd6bde15fb63dd","a589216508844bfc00e62fc2d97fda45","865aea1c3209e31b076cb6fe780e769e","12e64aaf26af0f5c8f1b263dd66e3feb","928971ebbcdf5b093ef37669b33bddf6","b744265d8ad12b7d4d5c5dc35d18d44e","eff32168b8348b822afeed9cbf61afa7","9aafd1f29b4d8861c1c6c34bf83c0721",{"version":"a127795c4dad633990c87aa0b86831e5","affectsGlobalScope":true,"impliedNodeFormat":1},"4ef82d390af85e719a46d566e229dd83","7deced3ef46e082f97d49bb71622526a","fa7acb320bbf7da8f76e431437143034",{"version":"ee57e9bfec6167b488ced231a7bf233d","affectsGlobalScope":true,"impliedNodeFormat":1},"7aa99080b86233d5b21416907d7a75a6","7d6a8df1becce5c270da2093e7835920",{"version":"c37fea1584ced70492ff5748ed570abd","affectsGlobalScope":true,"impliedNodeFormat":1},"b2b472cd0bf0f8d5f022e00ca1c401f4",{"version":"e22c8fb0fc65df14299c6c94cf729b3c","affectsGlobalScope":true,"impliedNodeFormat":1},"a84efb87b57f78ea0b0577edaacd8b33","814e0c2cc2a92531b6dc5d2a1767a6e1","79ac55b2d493df83277d681e4d64a992","7ab3b7243211fa08af307609be231d6c","7fd0f028e135bdf15ff757781a2f4ba9",{"version":"cab5b406d3defff17c931e41fa98aeb1","affectsGlobalScope":true,"impliedNodeFormat":1},"aa7dc1db3d208fb91418794a18539d4c","e9b8fc3c9291fc5701e219c0407e973d","b8f5d7bb61117f48a99b0cecaa75d186","4eee02126a80c6573103e22b942b0386","1d3b57f542db6054f952f8076b3c6a3a","4e0ba29e69c1176d4b909ad8a85a2695",{"version":"e5d25a206975fb43b72d246ed86fd7fe","affectsGlobalScope":true,"impliedNodeFormat":1},"a5525d047b8b84dac8b2e21fa393f465","86308ea691fd06825dd9a3ce0f1e901a","44782881f424302151e0de8fdaa39575",{"version":"f0ef68e9c53d126a7b3bfc1ae9f2c7c4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"71259a408a4178e5f0795188b4d802f1","affectsGlobalScope":true,"impliedNodeFormat":1},"eb80d821e5e931dcccee2697f3e249e2","961969874f5ee12ed3429d3d0c82de02","9a62058bc2d476e807cc6594eed72adb","40cbc4bb3b225b03c54255154dada07d","6534825a8bda3eeecde9bca9e3a99712","09a582ab2a73806ab5887ea413b3d55a","17bf20c066f28d82e59096464112bc39","c8206d568b54e5ea06131963eecd576a","15878f4f50c2e562c0768eb735c2aed5",{"version":"2939c9bf76087f5c43b7ed44aeab6853","affectsGlobalScope":true,"impliedNodeFormat":1},"7b844f3801adf7e09ea25ec5f39f9a86","46c937d243665015f13587ac0db55909",{"version":"1f29cf27395029939dd41fce4f0c5653","affectsGlobalScope":true,"impliedNodeFormat":1},"f026c594d60114f10583261f6499df38","1ac553606580aeec204cce24c38b2e3f","3c29bf7066a67e7151f563fc1c4e56cb","00d49834780046c2d6a7da3e50d83cca",{"version":"377c78771ee061f2b4e59d5eb5a28782","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7293552290431bff8ef5f13e6f7fcbfc","affectsGlobalScope":true,"impliedNodeFormat":1},"9453ee3aca6a51ae747057fbc6388cf2","6c491c1508bd3e1df0f45f38b07243c2","1f99b8445612afcfaae0f8591d8d18ac",{"version":"bbd4e0ea8a847a4b60ba7d5741985c9d","affectsGlobalScope":true,"impliedNodeFormat":1},"f57ef54941c62bf28f3beafb86025735","7b6c16d46b33570aaef9d0fdc4f02f14"],"fileIdsList":[[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[64,87,88,92,94,95,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[64,68,71,80,81,82,85,87,88,93,95,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[72,82,88,94,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[94,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[63,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[63,64,68,71,72,80,81,82,85,86,87,88,92,93,94,96,97,98,99,100,101,102,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[67,68,69,71,80,88,92,94,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[81,82,88,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[67,68,69,71,80,81,87,92,93,94,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[67,69,81,82,83,84,88,92,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[67,88,92,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[67,68,69,70,79,82,85,88,92,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[67,68,69,70,82,83,85,88,92,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[67,80,85,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[68,71,80,85,88,93,94,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[88,94,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[63,65,66,68,72,82,85,86,88,95,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[64,68,88,92,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[92,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[89,90,91,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[65,87,88,94,96,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[72,81,85,87,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[72,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[72,87,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[68,69,71,80,82,83,87,88,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[67,71,72,79,80,82,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[67,68,69,72,79,80,82,85,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[87,93,94,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[68,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[68,69,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[66,67,69,73,74,75,76,77,78,80,83,85,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[106,107,108,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[109,110,111,112,113,114,115,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,124,128,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,124,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,119,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,121,124,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205],[111,119,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205],[111,116,117,120,123,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,124,131,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,116,122,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,124,145,146,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,120,124,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205],[111,145,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205],[111,118,119,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205],[111,118,119,120,121,122,123,124,125,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,146,147,148,149,150,151,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,124,139,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,124,131,132,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,122,124,132,133,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,123,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,116,119,124,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,124,128,132,133,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,128,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,122,124,127,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,116,121,124,131,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,119,124,145,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,193,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,195,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,196,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,199,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,200,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,201,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,202,203,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,203,204],[111,152,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[111,152,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,204],[111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203],[59,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[59,60,61,62,104,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[59,103,111,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204]],"options":{"composite":true,"declaration":true,"declarationMap":true,"module":7,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"sourceMap":true,"target":9,"esModuleInterop":true},"referencedMap":[[57,1],[58,1],[10,1],[12,1],[11,1],[2,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[3,1],[21,1],[22,1],[4,1],[23,1],[27,1],[24,1],[25,1],[26,1],[28,1],[29,1],[30,1],[5,1],[31,1],[32,1],[33,1],[34,1],[6,1],[38,1],[35,1],[36,1],[37,1],[39,1],[7,1],[40,1],[45,1],[46,1],[41,1],[42,1],[43,1],[44,1],[8,1],[50,1],[47,1],[48,1],[49,1],[51,1],[9,1],[52,1],[53,1],[54,1],[56,1],[55,1],[1,1],[96,2],[94,3],[65,1],[83,4],[95,5],[64,6],[103,7],[66,1],[93,8],[70,9],[88,10],[85,11],[68,12],[80,13],[71,14],[84,15],[81,16],[67,17],[87,18],[89,19],[90,20],[91,20],[92,21],[97,1],[63,1],[98,20],[99,22],[82,23],[73,24],[74,24],[75,24],[86,25],[72,26],[100,27],[101,28],[76,1],[69,29],[77,30],[78,31],[79,32],[102,16],[154,33],[155,34],[156,35],[111,36],[157,37],[158,38],[159,39],[106,1],[109,40],[107,1],[108,1],[160,41],[161,42],[162,43],[163,44],[164,45],[165,46],[166,47],[167,48],[168,49],[169,50],[170,51],[112,1],[110,1],[171,52],[172,53],[173,54],[205,55],[174,56],[175,57],[176,58],[131,59],[141,60],[130,59],[151,61],[122,62],[121,1],[150,63],[144,64],[149,62],[124,65],[138,66],[123,67],[147,68],[119,69],[118,63],[148,70],[120,71],[125,60],[126,1],[129,60],[116,1],[152,72],[142,73],[133,74],[134,75],[136,76],[132,77],[135,78],[145,63],[127,79],[128,80],[137,81],[117,1],[140,73],[139,60],[143,1],[146,82],[177,83],[178,84],[179,85],[180,86],[181,87],[182,88],[183,89],[184,90],[185,91],[186,92],[187,93],[189,94],[188,95],[190,96],[191,97],[192,98],[193,99],[194,100],[195,101],[196,102],[197,103],[198,104],[199,105],[200,106],[201,107],[202,108],[113,1],[114,1],[115,1],[153,109],[203,110],[204,111],[60,112],[61,112],[62,112],[105,113],[104,114],[59,1]],"latestChangedDtsFile":"./dist/types.d.ts"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Scheduler Adapter
|
|
2
|
+
|
|
3
|
+
Pluggable scheduling backend for pi-harness-runtime.
|
|
4
|
+
|
|
5
|
+
## Backends
|
|
6
|
+
|
|
7
|
+
| Backend | File | When to use |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| Internal (in-process) | `internal.ts` | Local dev, testing, no system deps |
|
|
10
|
+
| Cron | `cron.ts` | Linux/macOS with cron |
|
|
11
|
+
| systemd | `systemd.ts` | Linux with systemd (recommended for autonomous) |
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { SystemdAdapter } from "./index.js";
|
|
17
|
+
|
|
18
|
+
const scheduler = new SystemdAdapter();
|
|
19
|
+
await scheduler.install();
|
|
20
|
+
await scheduler.schedule({
|
|
21
|
+
id: "nightly-compact",
|
|
22
|
+
taskTemplate: { kind: "compact" },
|
|
23
|
+
schedule: { kind: "cron", expression: "0 3 * * *" },
|
|
24
|
+
});
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Adapter Interface
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
interface SchedulerAdapter {
|
|
31
|
+
install(): Promise<void>;
|
|
32
|
+
schedule(task: ScheduledTask): Promise<void>;
|
|
33
|
+
unschedule(taskId: string): Promise<void>;
|
|
34
|
+
listScheduled(): Promise<ScheduledTask[]>;
|
|
35
|
+
}
|
|
36
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SchedulerAdapter } from "./interface.js";
|
|
2
|
+
import type { ScheduledTask } from "./interface.js";
|
|
3
|
+
export declare class CronAdapter implements SchedulerAdapter {
|
|
4
|
+
readonly name: "cron";
|
|
5
|
+
private readonly runtimeBin;
|
|
6
|
+
constructor(options?: {
|
|
7
|
+
runtimeBin?: string;
|
|
8
|
+
});
|
|
9
|
+
install(): Promise<void>;
|
|
10
|
+
schedule(task: ScheduledTask): Promise<void>;
|
|
11
|
+
unschedule(taskId: string): Promise<void>;
|
|
12
|
+
listScheduled(): Promise<ScheduledTask[]>;
|
|
13
|
+
healthCheck(): Promise<{
|
|
14
|
+
healthy: boolean;
|
|
15
|
+
error?: string;
|
|
16
|
+
}>;
|
|
17
|
+
private _getCrontab;
|
|
18
|
+
private _setCrontab;
|
|
19
|
+
private _toCronExpr;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=cron.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../src/cron.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,qBAAa,WAAY,YAAW,gBAAgB;IACnD,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,YAAY,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,EAEhD;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAO7B;IAEK,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAYjD;IAEK,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAc9C;IAEK,aAAa,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAa9C;IAEK,WAAW,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAOjE;IAED,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,WAAW;CAenB"}
|