@frankzhang2026/opencode-android-orchestrator 0.10.0 → 1.0.1

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.
Files changed (109) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +48 -51
  3. package/dist/cli.js +14 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config/android-sdk.d.ts +10 -0
  6. package/dist/config/android-sdk.d.ts.map +1 -0
  7. package/dist/config/android-sdk.js +50 -0
  8. package/dist/config/android-sdk.js.map +1 -0
  9. package/dist/config/queue-policy.d.ts +12 -0
  10. package/dist/config/queue-policy.d.ts.map +1 -0
  11. package/dist/config/queue-policy.js +18 -0
  12. package/dist/config/queue-policy.js.map +1 -0
  13. package/dist/config/verification-policy.d.ts +8 -3
  14. package/dist/config/verification-policy.d.ts.map +1 -1
  15. package/dist/config/verification-policy.js +48 -14
  16. package/dist/config/verification-policy.js.map +1 -1
  17. package/dist/doctor/index.d.ts.map +1 -1
  18. package/dist/doctor/index.js +3 -49
  19. package/dist/doctor/index.js.map +1 -1
  20. package/dist/doctor/installation.d.ts.map +1 -1
  21. package/dist/doctor/installation.js +3 -0
  22. package/dist/doctor/installation.js.map +1 -1
  23. package/dist/installer/adaptive-templates.d.ts +3 -1
  24. package/dist/installer/adaptive-templates.d.ts.map +1 -1
  25. package/dist/installer/adaptive-templates.js +2 -0
  26. package/dist/installer/adaptive-templates.js.map +1 -1
  27. package/dist/installer/install-manifest.d.ts +1 -0
  28. package/dist/installer/install-manifest.d.ts.map +1 -1
  29. package/dist/installer/install-manifest.js +6 -1
  30. package/dist/installer/install-manifest.js.map +1 -1
  31. package/dist/installer/opencode-config.d.ts +3 -3
  32. package/dist/installer/opencode-config.d.ts.map +1 -1
  33. package/dist/installer/opencode-config.js +1 -1
  34. package/dist/installer/opencode-config.js.map +1 -1
  35. package/dist/installer/uninstall.d.ts.map +1 -1
  36. package/dist/installer/uninstall.js +5 -0
  37. package/dist/installer/uninstall.js.map +1 -1
  38. package/dist/installer/upgrade.d.ts.map +1 -1
  39. package/dist/installer/upgrade.js +13 -1
  40. package/dist/installer/upgrade.js.map +1 -1
  41. package/dist/plugin/index.d.ts.map +1 -1
  42. package/dist/plugin/index.js +11 -5
  43. package/dist/plugin/index.js.map +1 -1
  44. package/dist/queue/approvals.d.ts +49 -0
  45. package/dist/queue/approvals.d.ts.map +1 -0
  46. package/dist/queue/approvals.js +68 -0
  47. package/dist/queue/approvals.js.map +1 -0
  48. package/dist/queue/cli.d.ts +3 -0
  49. package/dist/queue/cli.d.ts.map +1 -0
  50. package/dist/queue/cli.js +115 -0
  51. package/dist/queue/cli.js.map +1 -0
  52. package/dist/queue/executor.d.ts +24 -0
  53. package/dist/queue/executor.d.ts.map +1 -0
  54. package/dist/queue/executor.js +445 -0
  55. package/dist/queue/executor.js.map +1 -0
  56. package/dist/queue/lifecycle.d.ts +3 -0
  57. package/dist/queue/lifecycle.d.ts.map +1 -0
  58. package/dist/queue/lifecycle.js +24 -0
  59. package/dist/queue/lifecycle.js.map +1 -0
  60. package/dist/queue/queue.d.ts +171 -0
  61. package/dist/queue/queue.d.ts.map +1 -0
  62. package/dist/queue/queue.js +506 -0
  63. package/dist/queue/queue.js.map +1 -0
  64. package/dist/queue/service.d.ts +15 -0
  65. package/dist/queue/service.d.ts.map +1 -0
  66. package/dist/queue/service.js +152 -0
  67. package/dist/queue/service.js.map +1 -0
  68. package/dist/queue/storage.d.ts +32 -0
  69. package/dist/queue/storage.d.ts.map +1 -0
  70. package/dist/queue/storage.js +180 -0
  71. package/dist/queue/storage.js.map +1 -0
  72. package/dist/queue/tools.d.ts +12 -0
  73. package/dist/queue/tools.d.ts.map +1 -0
  74. package/dist/queue/tools.js +155 -0
  75. package/dist/queue/tools.js.map +1 -0
  76. package/docs/MIGRATION.md +32 -11
  77. package/docs/QUEUE.md +151 -0
  78. package/docs/SECURITY.md +38 -31
  79. package/docs/TROUBLESHOOTING.md +34 -11
  80. package/package.json +1 -1
  81. package/templates/.opencode/agents/scheduled-planner.md +64 -131
  82. package/templates/.opencode/commands/abort-task.md +6 -15
  83. package/templates/.opencode/commands/acceptance.md +6 -15
  84. package/templates/.opencode/commands/change.md +3 -1
  85. package/templates/.opencode/commands/resume-review.md +6 -14
  86. package/templates/.opencode/commands/resume-task.md +6 -23
  87. package/templates/.opencode/skills/scheduled-quality-orchestrator/SKILL.md +72 -248
  88. package/templates/AGENTS.md.fragment +8 -0
  89. package/templates/automation/config.json +8 -2
  90. package/templates/automation/config.schema.json +218 -46
  91. package/templates/scripts/automation/abort-task.sh +2 -1
  92. package/templates/scripts/automation/accept-and-integrate.sh +5 -0
  93. package/templates/scripts/automation/acceptance-report.sh +4 -2
  94. package/templates/scripts/automation/approve-and-run.sh +4 -0
  95. package/templates/scripts/automation/begin-review.sh +1 -0
  96. package/templates/scripts/automation/block-task.sh +1 -0
  97. package/templates/scripts/automation/claim-task.sh +1 -0
  98. package/templates/scripts/automation/lib.sh +94 -1
  99. package/templates/scripts/automation/orchestrate-task.sh +11 -0
  100. package/templates/scripts/automation/preflight.sh +14 -4
  101. package/templates/scripts/automation/prepare-contract-review.sh +4 -0
  102. package/templates/scripts/automation/quality-gate.sh +1 -0
  103. package/templates/scripts/automation/record-red.sh +1 -0
  104. package/templates/scripts/automation/resume-review-fix.sh +1 -0
  105. package/templates/scripts/automation/resume-review.sh +1 -0
  106. package/templates/scripts/automation/resume-task.sh +1 -0
  107. package/templates/scripts/automation/scope-gate.sh +10 -2
  108. package/templates/scripts/automation/submit-review.sh +8 -2
  109. package/templates/scripts/automation/verify-task.sh +13 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+
4
+ ## 1.0.1 - Unreleased
5
+
6
+ - Keep planning snapshots small in large repositories by returning only the
7
+ stable branch and commit metadata from the initial snapshot call.
8
+ - Add bounded, cursor-based path discovery and exact UTF-8 file chunk reads at
9
+ the fixed planning commit, while retaining the legacy small-file read action.
10
+ - Teach the Planner to follow list and content cursors so large WordPress
11
+ repositories no longer truncate the planning snapshot before task intake.
12
+
13
+
14
+ ## 1.0.0 - 2026-09-14
15
+
16
+ - Add durable contract intake and a detached per-repository queue executor.
17
+ New approvals return immediately and do not touch the active coding diff.
18
+ - Default to fixed-directory execution with final human acceptance. Explicit
19
+ contract approval can seal automatic local commit/integration; isolated
20
+ worktrees retain human acceptance and continue independent queued work.
21
+ - Bind Planner mutations to one-use receipts from actual question selections.
22
+ - Serialize deadlines, dependencies, priority, capacity, recovery and integration;
23
+ retain workspace ownership until safe completion or approved archival.
24
+ - Require fresh full Gradle Test execution, build and independent Review, while
25
+ preserving compilation caches and avoiding clean between contracts.
26
+ - Recover durable local commit transactions without duplicate visible commits.
27
+ Keep no-push enforcement on automatic, human, failure and recovery paths.
28
+ - Ship schema V6, queue CLI/tools, upgraded Planner instructions and operator docs.
29
+
30
+
3
31
  ## 0.10.0 - 2026-09-11
4
32
 
5
33
  - Add automation configuration schema v5 with
package/README.md CHANGED
@@ -24,8 +24,20 @@ or their focused-test tasks out of generated configuration. Version `0.10.0`
24
24
  adds a user-maintained commit-message prefix that is read automatically for
25
25
  each task commit and blocks task startup until the required value is filled.
26
26
 
27
+ Version `1.0.0` separates interactive planning from a durable background task
28
+ queue. The default is `inPlaceExclusive` + `humanApproval`; explicitly approved
29
+ fixed-directory tasks may use `autoCommit`. Optional isolated worktrees keep
30
+ human acceptance while allowing independent tasks to proceed. Every queued
31
+ execution requires build, fresh full unit tests and independent Review. All
32
+ completion and recovery paths remain local and never push.
33
+ Version `1.0.1` bounds Planner snapshot output for large repositories. The
34
+ initial snapshot returns only the target branch and fixed commit; path discovery
35
+ and file content use bounded cursor pages tied to that commit.
36
+
27
37
  ## Documentation
28
38
 
39
+ - [Queue and background execution](docs/QUEUE.md) — intake, scheduling,
40
+ workspace/commit policies, acceptance, pause, capacity and recovery.
29
41
  - [Migration guide](docs/MIGRATION.md) — choose the correct path for the
30
42
  `0.1.0` scaffold, a manually copied V3 setup, or a manifest-managed install.
31
43
  - [Troubleshooting](docs/TROUBLESHOOTING.md) — diagnose CLI failures, resource
@@ -57,9 +69,9 @@ project builds retain their configured cache behavior.
57
69
  ## Quick start
58
70
 
59
71
  ```sh
60
- npx @frankzhang2026/opencode-android-orchestrator@0.10.0 init .
72
+ npx @frankzhang2026/opencode-android-orchestrator@1.0.1 init .
61
73
  $EDITOR automation/automation-commit-prefix
62
- npx @frankzhang2026/opencode-android-orchestrator@0.10.0 doctor .
74
+ npx @frankzhang2026/opencode-android-orchestrator@1.0.1 doctor .
63
75
  opencode --agent scheduled-planner .
64
76
  ```
65
77
 
@@ -69,7 +81,7 @@ a task contract without selecting a primary module. To intentionally restrict
69
81
  generated contracts to one module, opt into primary-module scope:
70
82
 
71
83
  ```sh
72
- npx @frankzhang2026/opencode-android-orchestrator@0.10.0 init . \
84
+ npx @frankzhang2026/opencode-android-orchestrator@1.0.1 init . \
73
85
  --module-scope primary \
74
86
  --primary-module :mobile
75
87
  ```
@@ -97,7 +109,7 @@ For an existing manifest-managed installation whose generated module/task
97
109
  lists are incomplete, refresh all derived Gradle data in one upgrade:
98
110
 
99
111
  ```sh
100
- npx @frankzhang2026/opencode-android-orchestrator@0.10.0 upgrade . \
112
+ npx @frankzhang2026/opencode-android-orchestrator@1.0.1 upgrade . \
101
113
  --refresh-gradle-discovery
102
114
  ```
103
115
 
@@ -142,15 +154,15 @@ Verification policy lives in `automation/config.json`:
142
154
  }
143
155
  ```
144
156
 
145
- Unit-test verification is enabled by default. Setting `unitTestsEnabled` to
146
- `false` skips the baseline unit suite and the focused/full unit-test portions
147
- of task, review, and integration gates. The mandatory TDD RED evidence step is
157
+ Unit-test verification is enabled by default. Queued execution requires
158
+ `unitTestsEnabled: true`; disabling it blocks consumption while intake remains
159
+ available. Legacy non-queue Shell tasks retain the old opt-out behavior. The mandatory TDD RED evidence step is
148
160
  unchanged. Android lint is disabled by default; setting `lintEnabled` to `true`
149
161
  runs the discovered `lintTasks` in those gates. Assemble, scope, evidence, and
150
162
  required device-test checks are unaffected by either flag.
151
163
 
152
- These two booleans and `commitMessagePrefixMode` are the operator-editable
153
- exceptions in the otherwise managed configuration. Change their values in
164
+ These two booleans, `commitMessagePrefixMode`, and the bounded queue policies
165
+ are the operator-editable exceptions in the otherwise managed configuration. Change their values in
154
166
  place and commit the file before
155
167
  starting orchestration. Doctor accepts these policy changes and a later
156
168
  upgrade preserves them. Do not reformat or edit unrelated generated fields.
@@ -241,8 +253,7 @@ consumed by task or recovery commits. A rename has two paths, so both the old
241
253
  and new exact path must be listed if the whole rename should remain local.
242
254
  Protected orchestration, Gradle, Git, and planning paths cannot be allowlisted.
243
255
  Use this only for files that the task must not modify; remove an entry before
244
- starting a task that should change that file. The list is snapshotted at
245
- contract approval, so edits made during a running task apply to the next task.
256
+ starting a task that should change that file. The list is snapshotted when the queued task prepares its workspace, so edits made during a running task apply to the next task.
246
257
  Task status exposes the effective snapshot to Coder and Reviewer sessions; an
247
258
  isolated task worktree receives an empty effective list so task-local edits are
248
259
  never hidden by source-worktree exclusions.
@@ -364,7 +375,7 @@ Implemented checks include:
364
375
  evidence, and automatically restores the installed state on pre-commit
365
376
  failure
366
377
 
367
- The planners deliberately avoid filesystem writes. The adaptive planner blocks
378
+ The installation planners deliberately avoid filesystem writes. The adaptive planner blocks
368
379
  ambiguous primary-module selections only in `primary` scope, as well as paths
369
380
  outside the Git root and nested Gradle roots that the current root-relative
370
381
  transaction scripts cannot safely run.
@@ -424,7 +435,7 @@ preparation alone as resource installation;
424
435
  ## Init
425
436
 
426
437
  ```sh
427
- npx @frankzhang2026/opencode-android-orchestrator@0.10.0 init .
438
+ npx @frankzhang2026/opencode-android-orchestrator@1.0.1 init .
428
439
  $EDITOR automation/automation-commit-prefix
429
440
  opencode --agent scheduled-planner .
430
441
  ```
@@ -454,7 +465,7 @@ Android Gradle project, an executable Gradle Wrapper, `git`, `jq`, `rg`,
454
465
  preserving any existing regular file;
455
466
  5. backs up every existing managed path and publishes a `prepared` manifest;
456
467
  6. writes missing or approved merged files with verified hashes and modes;
457
- 7. runs the 44 automation tests and `shadow-run.sh`;
468
+ 7. runs the 46 automation tests and `shadow-run.sh`;
458
469
  8. marks the manifest `installed` only after both checks pass.
459
470
 
460
471
  Verification failure automatically restores originals and records rollback
@@ -496,7 +507,7 @@ rewrites the project.
496
507
 
497
508
  ## Read-only OpenCode tools
498
509
 
499
- Loading the plugin registers two project-scoped custom tools:
510
+ Two project-scoped diagnostic tools remain available to all scheduled agents:
500
511
 
501
512
  - `android_orchestrator_status` accepts one required `taskId` matching
502
513
  `TASK-[A-Z0-9-]+` and returns the task contract, runtime state, and evidence
@@ -515,41 +526,27 @@ project state. The installed planner, coder, and reviewer agents explicitly
515
526
  allow these two tool names while retaining their default-deny policy; source
516
527
  preflight verifies both resolved permissions and tool discovery.
517
528
 
518
- ### Phase 2 mutating-tool decision
519
-
520
- The 2026-08-25 evaluation remains **NO-GO for mutating custom tools in
521
- `0.8.0`**.
522
- The fixed Shell allowlist remains the only entry point for state transitions,
523
- Git mutations, and agent launches. OpenCode custom tools provide typed arguments
524
- and workspace context, but a normal permission prompt is not the workflow's
525
- fresh semantic approval: permission requests can be approved for the rest of a
526
- session and can be auto-approved unless explicitly denied. In addition, the
527
- certified SDK declarations disagree on `ToolContext.ask` (`Effect.Effect<void>`
528
- in `1.14.22`, `Promise<void>` in `1.15.13`), so it is not part of this plugin's
529
- two-version common execution surface. See the OpenCode documentation for
530
- [custom-tool context](https://opencode.ai/docs/custom-tools) and
531
- [permission behavior](https://opencode.ai/docs/permissions/).
532
-
533
- | Existing entry point | Material effects | Decision before a later phase |
534
- | --- | --- | --- |
535
- | `prepare-contract-review.sh` | Writes approval/origin evidence and initializes `CONTRACT_REVIEW` | Defer until a fresh proposal selection can produce a one-use receipt. |
536
- | `approve-and-run.sh` | Acquires a repository lease, creates or switches a task branch/worktree, and launches agents | Do not wrap without a contract-approval receipt and cancellable long-running execution. |
537
- | `show-acceptance-review.sh` | Reads sealed evidence but may regenerate `acceptance-report.json` | First split out a genuinely read-only, in-memory preview; that preview is the earliest suitable candidate. |
538
- | `resume-task.sh` | Records one baseline-only resumption, changes a narrowly proven `BLOCKED` state to `PENDING`, and relaunches normal orchestration | Keep behind the fresh command question and fixed Shell allowlist; do not expose as a custom mutating tool without a one-use receipt. |
539
- | `resume-review.sh` | Records a bounded resumption, changes `BLOCKED` to `REVIEWING`, and launches Reviewer | Consider only after command-bound authorization and subprocess cancellation are proven on both versions. |
540
- | `accept-and-integrate.sh` | Creates the combined commit, fast-forwards the original branch, removes a worktree, and deletes the task branch | Do not wrap until final acceptance is bound to task ID, sealed diff, branch, session, and a consumed nonce. |
541
- | `abort-task.sh` | Archives work, may create a recovery commit, switches/removes worktrees, and releases the lease | Do not wrap until an equally bound, one-use abort receipt exists. |
542
-
543
- A future mutating tool must never accept an approval phrase as a model-provided
544
- argument. It must atomically consume a machine-verifiable receipt created from
545
- the immediately preceding `question` result and bind at least the approval
546
- kind, task ID, session, message, relevant sealed SHA/branch, timestamp, and
547
- nonce. It must also retain fixed-script authentication, strict state
548
- preconditions, project/worktree bounds, abort propagation that terminates child
549
- processes, bounded structured output, exact per-agent permissions, the 46-case
550
- transaction suite, and real `1.14.22`/`1.15.13` integration tests. Internal
551
- Coder/Reviewer transition scripts remain private orchestration details rather
552
- than public tools.
529
+ ### Planner queue tools and approval receipts
530
+
531
+ The plugin also registers `android_orchestrator_snapshot`,
532
+ `android_orchestrator_intake` and `android_orchestrator_queue`, available only
533
+ to the interactive Planner. Snapshot reads a fixed committed planning baseline.
534
+ Intake seals artifacts in the Git common directory, approves one version and
535
+ returns immediately. Queue controls manage status, durable notifications,
536
+ pausing, recovery, revalidation and local integration through the same executor.
537
+ Planner has no direct read/edit/Bash permission over the active Coder checkout.
538
+
539
+ The earlier mutating-wrapper **NO-GO** decision is superseded for these bounded
540
+ 1.0.0 queue tools. The host's completed `question` hook must return the selected
541
+ single-choice answer. A one-use receipt binds session/message, question call,
542
+ operation, contract digest and candidate as applicable. Supplying an approval
543
+ phrase as a model argument cannot create this receipt. Unconsumed receipts
544
+ expire after 15 minutes and are lost on plugin restart; the next mutation needs
545
+ a fresh question. Approved contracts and consumed proof remain durable.
546
+
547
+ Direct CLI calls are trusted local-operator commands; scheduled agents cannot
548
+ invoke that CLI or arbitrary shell commands. See [Security](docs/SECURITY.md)
549
+ and the [queue guide](docs/QUEUE.md) for the operating boundary.
553
550
 
554
551
  ## Upgrade
555
552
 
@@ -589,7 +586,7 @@ For an older healthy installation, the command:
589
586
  backup set;
590
587
  4. writes only changed managed resources and restores or removes resources no
591
588
  longer managed by the new version;
592
- 5. runs the 44 automation tests and a mutation-free shadow run before swapping
589
+ 5. runs the 46 automation tests and a mutation-free shadow run before swapping
593
590
  the active manifest;
594
591
  6. records upgrade history below `.automation-plugin/history/`.
595
592
 
package/dist/cli.js CHANGED
@@ -2,6 +2,7 @@
2
2
  import { readFileSync } from "node:fs";
3
3
  import { resolve } from "node:path";
4
4
  import process from "node:process";
5
+ import { queueCli } from "./queue/cli.js";
5
6
  import { DEFAULT_LONG_COMMAND_TIMEOUT_MS, isLongCommandTimeoutMs, } from "./config/long-command-timeout.js";
6
7
  import { INSTALLER_COMMANDS } from "./commands/index.js";
7
8
  import { formatDoctorReport, runDoctor } from "./doctor/index.js";
@@ -18,6 +19,7 @@ function printHelp() {
18
19
  process.stdout.write(` doctor Diagnose an existing installation\n`);
19
20
  process.stdout.write(` upgrade Upgrade unchanged managed resources\n`);
20
21
  process.stdout.write(` uninstall Remove unchanged managed resources\n`);
22
+ process.stdout.write(` queue Manage durable contract intake and background execution\n`);
21
23
  }
22
24
  function printInitHelp() {
23
25
  process.stdout.write(`OpenCode Android Orchestrator init\n\n`);
@@ -89,7 +91,18 @@ function readGradleVerificationConfiguration(path) {
89
91
  }
90
92
  }
91
93
  const [command, ...commandArguments] = process.argv.slice(2);
92
- if (command === undefined || command === "--help" || command === "-h") {
94
+ if (command === "queue") {
95
+ try {
96
+ const result = await queueCli(commandArguments);
97
+ if (result !== undefined)
98
+ process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
99
+ }
100
+ catch (error) {
101
+ printCommandError(error);
102
+ process.exitCode = 1;
103
+ }
104
+ }
105
+ else if (command === undefined || command === "--help" || command === "-h") {
93
106
  printHelp();
94
107
  }
95
108
  else if (command === "init") {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface AndroidSdkOptions {
2
+ androidSdkDirectory?: string;
3
+ environment?: Readonly<Record<string, string | undefined>>;
4
+ }
5
+ export interface AndroidSdkCandidate {
6
+ directory: string;
7
+ source: string;
8
+ }
9
+ export declare function androidSdkCandidate(targetDirectory: string, options?: AndroidSdkOptions): AndroidSdkCandidate | null;
10
+ //# sourceMappingURL=android-sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"android-sdk.d.ts","sourceRoot":"","sources":["../../src/config/android-sdk.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AA+BD,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,MAAM,EACvB,OAAO,GAAE,iBAAsB,GAC9B,mBAAmB,GAAG,IAAI,CAqB5B"}
@@ -0,0 +1,50 @@
1
+ import { lstatSync, readFileSync } from "node:fs";
2
+ import { isAbsolute, join, resolve } from "node:path";
3
+ function localPropertiesSdkDirectory(targetDirectory) {
4
+ const localProperties = join(targetDirectory, "local.properties");
5
+ try {
6
+ const stats = lstatSync(localProperties);
7
+ if (stats.isSymbolicLink() || !stats.isFile()) {
8
+ return null;
9
+ }
10
+ const source = readFileSync(localProperties, "utf8");
11
+ const value = source
12
+ .split(/\r?\n/)
13
+ .map((line) => /^\s*sdk\.dir\s*=\s*(.*?)\s*$/.exec(line)?.[1])
14
+ .find((entry) => entry !== undefined && entry.length > 0);
15
+ if (value === undefined) {
16
+ return null;
17
+ }
18
+ const unescaped = value.replace(/\\([\\ :=])/g, "$1");
19
+ return {
20
+ directory: isAbsolute(unescaped)
21
+ ? resolve(unescaped)
22
+ : resolve(targetDirectory, unescaped),
23
+ source: "local.properties sdk.dir",
24
+ };
25
+ }
26
+ catch {
27
+ return null;
28
+ }
29
+ }
30
+ export function androidSdkCandidate(targetDirectory, options = {}) {
31
+ if (options.androidSdkDirectory !== undefined &&
32
+ options.androidSdkDirectory.trim().length > 0) {
33
+ return {
34
+ directory: resolve(options.androidSdkDirectory.trim()),
35
+ source: "explicit option",
36
+ };
37
+ }
38
+ const environment = options.environment ?? process.env;
39
+ for (const name of ["ANDROID_HOME", "ANDROID_SDK_ROOT"]) {
40
+ const value = environment[name];
41
+ if (value !== undefined && value.trim().length > 0) {
42
+ return {
43
+ directory: resolve(value.trim()),
44
+ source: name,
45
+ };
46
+ }
47
+ }
48
+ return localPropertiesSdkDirectory(targetDirectory);
49
+ }
50
+ //# sourceMappingURL=android-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"android-sdk.js","sourceRoot":"","sources":["../../src/config/android-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYtD,SAAS,2BAA2B,CAClC,eAAuB;IAEvB,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM;aACjB,KAAK,CAAC,OAAO,CAAC;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC7D,IAAI,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO;YACL,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC;gBAC9B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;gBACpB,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC;YACvC,MAAM,EAAE,0BAA0B;SACnC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,eAAuB,EACvB,UAA6B,EAAE;IAE/B,IACE,OAAO,CAAC,mBAAmB,KAAK,SAAS;QACzC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAC7C,CAAC;QACD,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,EAAE,iBAAiB;SAC1B,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAU,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,2BAA2B,CAAC,eAAe,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface QueuePolicy {
2
+ workspaceStrategy: "inPlaceExclusive" | "isolatedWorktree";
3
+ commitPolicy: "humanApproval" | "autoCommit";
4
+ worktreeBase: string;
5
+ queue: {
6
+ scanIntervalMs: number;
7
+ maxWorkspaces: number;
8
+ maxWorkspaceBytes: number;
9
+ };
10
+ }
11
+ export declare function queuePolicy(value: Partial<Record<keyof QueuePolicy, unknown>>): QueuePolicy;
12
+ //# sourceMappingURL=queue-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-policy.d.ts","sourceRoot":"","sources":["../../src/config/queue-policy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,kBAAkB,GAAG,kBAAkB,CAAC;IAC3D,YAAY,EAAE,eAAe,GAAG,YAAY,CAAC;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,WAAW,EAAE,OAAO,CAAC,CAAC,GAAG,WAAW,CAgB3F"}
@@ -0,0 +1,18 @@
1
+ export function queuePolicy(value) {
2
+ const workspaceStrategy = value.workspaceStrategy ?? "inPlaceExclusive";
3
+ const commitPolicy = value.commitPolicy ?? "humanApproval";
4
+ const worktreeBase = value.worktreeBase ?? "";
5
+ const settings = value.queue;
6
+ const queue = { scanIntervalMs: 5000, maxWorkspaces: 3, maxWorkspaceBytes: 20 * 1024 ** 3, ...settings };
7
+ if (!["inPlaceExclusive", "isolatedWorktree"].includes(String(workspaceStrategy)) ||
8
+ !["humanApproval", "autoCommit"].includes(String(commitPolicy)) ||
9
+ (workspaceStrategy === "isolatedWorktree" && commitPolicy === "autoCommit") ||
10
+ typeof worktreeBase !== "string" || !queue ||
11
+ !Number.isInteger(queue.scanIntervalMs) || queue.scanIntervalMs < 1000 || queue.scanIntervalMs > 60000 ||
12
+ !Number.isInteger(queue.maxWorkspaces) || queue.maxWorkspaces < 1 || queue.maxWorkspaces > 32 ||
13
+ !Number.isSafeInteger(queue.maxWorkspaceBytes) || queue.maxWorkspaceBytes < 1) {
14
+ throw new Error("Invalid queue/workspace policy; isolatedWorktree + autoCommit is unsupported");
15
+ }
16
+ return { workspaceStrategy, commitPolicy, worktreeBase, queue };
17
+ }
18
+ //# sourceMappingURL=queue-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-policy.js","sourceRoot":"","sources":["../../src/config/queue-policy.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,WAAW,CAAC,KAAkD;IAC5E,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,IAAI,kBAAkB,CAAC;IACxE,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,eAAe,CAAC;IAC3D,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAkD,CAAC;IAC1E,MAAM,KAAK,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzG,IAAI,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC7E,CAAC,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC/D,CAAC,iBAAiB,KAAK,kBAAkB,IAAI,YAAY,KAAK,YAAY,CAAC;QAC3E,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,KAAK;QAC1C,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,cAAc,GAAG,IAAI,IAAI,KAAK,CAAC,cAAc,GAAG,KAAK;QACtG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,GAAG,EAAE;QAC7F,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAiB,CAAC;AACjF,CAAC"}
@@ -10,12 +10,17 @@ export interface VerificationPolicy {
10
10
  interface ContentFingerprint {
11
11
  sha256: string;
12
12
  size: number;
13
+ queuePolicySha256?: string | undefined;
13
14
  }
15
+ /** Authenticate managed settings independently of operator-owned queue values. */
16
+ export declare function queuePolicyFingerprint(path: string, content: Uint8Array): {
17
+ queuePolicySha256?: string;
18
+ };
14
19
  /**
15
20
  * Accept an otherwise byte-identical generated configuration when an operator
16
- * changed only supported operator policy fields. Enumerating prior states lets
17
- * upgrades authenticate the remaining managed content against the installed
18
- * manifest without storing another file copy.
21
+ * changed only supported operator policy fields. New manifests authenticate
22
+ * managed content with queue values normalized; older manifests retain the
23
+ * finite-state fallback. Neither path ignores changes to protected settings.
19
24
  */
20
25
  export declare function matchesManifestModuloVerificationPolicy(content: Uint8Array, expected: ContentFingerprint): boolean;
21
26
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"verification-policy.d.ts","sourceRoot":"","sources":["../../src/config/verification-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,+BAA+B,2BAA2B,CAAC;AACxE,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAiCD;;;;;GAKG;AACH,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAkDT"}
1
+ {"version":3,"file":"verification-policy.d.ts","sourceRoot":"","sources":["../../src/config/verification-policy.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,+BAA+B,2BAA2B,CAAC;AACxE,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAUD,kFAAkF;AAClF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG;IAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAOxG;AAyBD;;;;;GAKG;AACH,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CA+DT"}
@@ -1,4 +1,5 @@
1
1
  import { createHash } from "node:crypto";
2
+ import { queuePolicy } from "./queue-policy.js";
2
3
  import { DEFAULT_COMMIT_MESSAGE_PREFIX_MODE, isCommitMessagePrefixMode, } from "./commit-message-prefix.js";
3
4
  export const AUTOMATION_CONFIG_RELATIVE_PATH = "automation/config.json";
4
5
  export const DEFAULT_LINT_ENABLED = false;
@@ -9,6 +10,22 @@ function isRecord(value) {
9
10
  function sha256(content) {
10
11
  return createHash("sha256").update(content).digest("hex");
11
12
  }
13
+ /** Authenticate managed settings independently of operator-owned queue values. */
14
+ export function queuePolicyFingerprint(path, content) {
15
+ if (path !== AUTOMATION_CONFIG_RELATIVE_PATH)
16
+ return {};
17
+ let value;
18
+ try {
19
+ value = JSON.parse(Buffer.from(content).toString("utf8"));
20
+ }
21
+ catch {
22
+ return {};
23
+ }
24
+ if (!isRecord(value) || value.schemaVersion !== 6)
25
+ return {};
26
+ queuePolicy(value);
27
+ return { queuePolicySha256: sha256(Buffer.from(`${JSON.stringify({ ...value, ...queuePolicy({}) }, null, 2)}\n`)) };
28
+ }
12
29
  function setOptionalBoolean(value, key, configured) {
13
30
  if (configured === undefined) {
14
31
  delete value[key];
@@ -27,9 +44,9 @@ function setOptionalCommitMessagePrefixMode(value, configured) {
27
44
  }
28
45
  /**
29
46
  * Accept an otherwise byte-identical generated configuration when an operator
30
- * changed only supported operator policy fields. Enumerating prior states lets
31
- * upgrades authenticate the remaining managed content against the installed
32
- * manifest without storing another file copy.
47
+ * changed only supported operator policy fields. New manifests authenticate
48
+ * managed content with queue values normalized; older manifests retain the
49
+ * finite-state fallback. Neither path ignores changes to protected settings.
33
50
  */
34
51
  export function matchesManifestModuloVerificationPolicy(content, expected) {
35
52
  if (content.byteLength === expected.size &&
@@ -53,22 +70,39 @@ export function matchesManifestModuloVerificationPolicy(content, expected) {
53
70
  return false;
54
71
  }
55
72
  const states = [undefined, false, true];
73
+ if (parsed.schemaVersion === 6) {
74
+ try {
75
+ queuePolicy(parsed);
76
+ }
77
+ catch {
78
+ return false;
79
+ }
80
+ }
81
+ const queueCandidates = parsed.schemaVersion === 6
82
+ ? [parsed, ...["inPlaceExclusive", "isolatedWorktree"].flatMap(workspaceStrategy => ["humanApproval", "autoCommit"].flatMap(commitPolicy => [
83
+ { ...parsed, workspaceStrategy, commitPolicy },
84
+ { ...parsed, workspaceStrategy, commitPolicy, worktreeBase: "", queue: { scanIntervalMs: 5000, maxWorkspaces: 3, maxWorkspaceBytes: 20 * 1024 ** 3 } },
85
+ ]))]
86
+ : [parsed];
56
87
  const prefixModes = [
57
88
  undefined,
58
89
  DEFAULT_COMMIT_MESSAGE_PREFIX_MODE,
59
90
  "disabled",
60
91
  ];
61
- for (const commitMessagePrefixMode of prefixModes) {
62
- for (const unitTestsEnabled of states) {
63
- for (const lintEnabled of states) {
64
- const candidate = { ...parsed };
65
- setOptionalCommitMessagePrefixMode(candidate, commitMessagePrefixMode);
66
- setOptionalBoolean(candidate, "unitTestsEnabled", unitTestsEnabled);
67
- setOptionalBoolean(candidate, "lintEnabled", lintEnabled);
68
- const rendered = Buffer.from(`${JSON.stringify(candidate, null, 2)}\n`);
69
- if (rendered.byteLength === expected.size &&
70
- sha256(rendered) === expected.sha256) {
71
- return true;
92
+ for (const policyCandidate of queueCandidates) {
93
+ for (const commitMessagePrefixMode of prefixModes) {
94
+ for (const unitTestsEnabled of states) {
95
+ for (const lintEnabled of states) {
96
+ const candidate = { ...policyCandidate };
97
+ setOptionalCommitMessagePrefixMode(candidate, commitMessagePrefixMode);
98
+ setOptionalBoolean(candidate, "unitTestsEnabled", unitTestsEnabled);
99
+ setOptionalBoolean(candidate, "lintEnabled", lintEnabled);
100
+ const rendered = Buffer.from(`${JSON.stringify(candidate, null, 2)}\n`);
101
+ if ((rendered.byteLength === expected.size && sha256(rendered) === expected.sha256) ||
102
+ (expected.queuePolicySha256 !== undefined &&
103
+ sha256(Buffer.from(`${JSON.stringify({ ...candidate, ...queuePolicy({}) }, null, 2)}\n`)) === expected.queuePolicySha256)) {
104
+ return true;
105
+ }
72
106
  }
73
107
  }
74
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verification-policy.js","sourceRoot":"","sources":["../../src/config/verification-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-policy.js","sourceRoot":"","sources":["../../src/config/verification-policy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,MAAM,EAAE,KACpB,aAAa,CAAC;AAEnB,MAAM,WAAW,aAAa;IAC5B,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,UAAU,EAAE,aAaxB,CAAC;AAuBF,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,aAAkB,GAC1B,SAAS,WAAW,EAAE,CAoCxB;AAuED,wBAAgB,iBAAiB,CAC/B,eAAe,EAAE,MAAM,EACvB,OAAO,GAAE,aAAkB,GAC1B,WAAW,CAwCb;AAED,wBAAgB,eAAe,CAC7B,OAAO,GAAE,aAAkB,GAC1B,WAAW,CAuCb;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CA4BnE;AA4ED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAc/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,MAAM,EAAE,KACpB,aAAa,CAAC;AAEnB,MAAM,WAAW,aAAa;IAC5B,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,UAAU,EAAE,aAaxB,CAAC;AAuBF,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,aAAkB,GAC1B,SAAS,WAAW,EAAE,CAoCxB;AAWD,wBAAgB,iBAAiB,CAC/B,eAAe,EAAE,MAAM,EACvB,OAAO,GAAE,aAAkB,GAC1B,WAAW,CAwCb;AAED,wBAAgB,eAAe,CAC7B,OAAO,GAAE,aAAkB,GAC1B,WAAW,CAuCb;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CA4BnE;AA4ED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAc/D"}