@dsh-enhanced/assistant-web-owner 0.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +226 -0
- package/bin/dsh-autonomy-doctor.js +7 -0
- package/bin/dsh-web-owner-setup.js +7 -0
- package/cordis.patch.yml +6 -0
- package/lib/THIRD_PARTY_LICENSES +23 -0
- package/lib/autonomy.d.ts +22 -0
- package/lib/autonomy.d.ts.map +1 -0
- package/lib/autonomy.js +267 -0
- package/lib/autonomy.js.map +1 -0
- package/lib/client.d.ts +1 -0
- package/lib/client.d.ts.map +1 -0
- package/lib/client.js +17418 -0
- package/lib/client.js.map +1 -0
- package/lib/doctor.d.ts +22 -0
- package/lib/doctor.d.ts.map +1 -0
- package/lib/doctor.js +159 -0
- package/lib/doctor.js.map +1 -0
- package/lib/goal-admission.d.ts +94 -0
- package/lib/goal-admission.d.ts.map +1 -0
- package/lib/goal-admission.js +553 -0
- package/lib/goal-admission.js.map +1 -0
- package/lib/goal-setup.d.ts +15 -0
- package/lib/goal-setup.d.ts.map +1 -0
- package/lib/goal-setup.js +145 -0
- package/lib/goal-setup.js.map +1 -0
- package/lib/index.d.ts +42 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +200 -0
- package/lib/index.js.map +1 -0
- package/lib/notices.d.ts +11 -0
- package/lib/notices.d.ts.map +1 -0
- package/lib/notices.js +13 -0
- package/lib/notices.js.map +1 -0
- package/lib/repair-setup.d.ts +50 -0
- package/lib/repair-setup.d.ts.map +1 -0
- package/lib/repair-setup.js +165 -0
- package/lib/repair-setup.js.map +1 -0
- package/lib/setup.d.ts +24 -0
- package/lib/setup.d.ts.map +1 -0
- package/lib/setup.js +302 -0
- package/lib/setup.js.map +1 -0
- package/lib/typert.d.ts +83 -0
- package/lib/typert.d.ts.map +1 -0
- package/lib/typert.js +37 -0
- package/lib/typert.js.map +1 -0
- package/lib/version.d.ts +2 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/version.js +2 -0
- package/lib/version.js.map +1 -0
- package/package.json +181 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/lib/doctor.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { IsolationGrant } from '@dsh-enhanced/assistant-isolation';
|
|
2
|
+
export interface AutonomyDoctorProfile {
|
|
3
|
+
image: string;
|
|
4
|
+
dockerPath: string;
|
|
5
|
+
stateRoot: string;
|
|
6
|
+
databasePath: string;
|
|
7
|
+
grant: IsolationGrant;
|
|
8
|
+
principal: {
|
|
9
|
+
channel: 'web';
|
|
10
|
+
account: string;
|
|
11
|
+
tenant: string;
|
|
12
|
+
user: string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/** Inspect the composed profile without evaluating tagged expressions or changing its grants. */
|
|
16
|
+
export declare function inspectAutonomyProfile(source: string, profile: string, dshHome: string): AutonomyDoctorProfile;
|
|
17
|
+
/** A read-only snapshot, never pairing, migration, or an authorization for future execution. */
|
|
18
|
+
export declare function inspectAutonomyOwner(profile: AutonomyDoctorProfile): {
|
|
19
|
+
status: 'matched' | 'unavailable' | 'mismatch';
|
|
20
|
+
};
|
|
21
|
+
export declare function runAutonomyDoctor(argv?: string[]): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAEvE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;IAC1E,KAAK,EAAE,cAAc,CAAA;IACrB,SAAS,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7E;AA2BD,iGAAiG;AACjG,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAqC9G;AAED,gGAAgG;AAChG,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG;IAAE,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAA;CAAE,CAYvH;AAED,wBAAsB,iBAAiB,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BnF"}
|
package/lib/doctor.js
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { execFile } from 'node:child_process';
|
|
3
|
+
import { lstatSync, realpathSync } from 'node:fs';
|
|
4
|
+
import { homedir } from 'node:os';
|
|
5
|
+
import { isAbsolute, join, normalize } from 'node:path';
|
|
6
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
7
|
+
import { isDeepStrictEqual, promisify } from 'node:util';
|
|
8
|
+
import { isMap, isScalar, isSeq, parseDocument } from 'yaml';
|
|
9
|
+
function fail(message) { throw new Error(`autonomy doctor: ${message}`); }
|
|
10
|
+
function literal(node, label) {
|
|
11
|
+
if (isScalar(node) && (node.tag === undefined || node.tag === 'tag:yaml.org,2002:str'))
|
|
12
|
+
return node.value;
|
|
13
|
+
fail(`${label} must be literal`);
|
|
14
|
+
}
|
|
15
|
+
function path(node, label, dshHome) {
|
|
16
|
+
let value;
|
|
17
|
+
if (dshHome !== undefined && isScalar(node) && node.tag === 'tag:yaml.org,2002:js' && typeof node.value === 'string') {
|
|
18
|
+
const match = /^dshHomePath\(['"]([^'"\n]+)['"]\)$/u.exec(node.value);
|
|
19
|
+
if (!match || isAbsolute(match[1]) || match[1].split('/').includes('..'))
|
|
20
|
+
fail(`${label} has an unsupported expression`);
|
|
21
|
+
value = join(dshHome, match[1]);
|
|
22
|
+
}
|
|
23
|
+
else
|
|
24
|
+
value = literal(node, label);
|
|
25
|
+
if (typeof value !== 'string' || !isAbsolute(value) || normalize(value) !== value || /[\p{Cc}*]/u.test(value))
|
|
26
|
+
fail(`${label} must be a canonical absolute path`);
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
function object(node, label) {
|
|
30
|
+
if (!isMap(node))
|
|
31
|
+
fail(`${label} must be a mapping`);
|
|
32
|
+
const result = Object.create(null);
|
|
33
|
+
for (const pair of node.items) {
|
|
34
|
+
const key = literal(pair.key, label);
|
|
35
|
+
if (typeof key !== 'string')
|
|
36
|
+
fail(`${label} keys must be strings`);
|
|
37
|
+
result[key] = literal(pair.value, `${label}.${key}`);
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
/** Inspect the composed profile without evaluating tagged expressions or changing its grants. */
|
|
42
|
+
export function inspectAutonomyProfile(source, profile, dshHome) {
|
|
43
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/u.test(profile) || !isAbsolute(dshHome) || normalize(dshHome) !== dshHome || /[\p{Cc}*]/u.test(dshHome))
|
|
44
|
+
fail('invalid profile or home');
|
|
45
|
+
const document = parseDocument(source, { customTags: [{ tag: 'tag:yaml.org,2002:js', resolve: (value) => value }] });
|
|
46
|
+
if (document.errors.length || !isSeq(document.contents))
|
|
47
|
+
fail('effective profile must be an unambiguous sequence');
|
|
48
|
+
const rows = document.contents;
|
|
49
|
+
const config = (slug) => {
|
|
50
|
+
const id = `dsh-enhanced-${slug}`;
|
|
51
|
+
const name = `@dsh-enhanced/${slug}`;
|
|
52
|
+
const matches = rows.items.filter(item => isMap(item) && (item.get('id') === id || item.get('name') === name));
|
|
53
|
+
const row = matches[0];
|
|
54
|
+
if (matches.length !== 1 || !row || literal(row.get('id', true), slug) !== id || literal(row.get('name', true), slug) !== name || (row.has('disabled') && literal(row.get('disabled', true), id) !== false))
|
|
55
|
+
fail(`missing, disabled or ambiguous ${slug}`);
|
|
56
|
+
const value = row.get('config', true);
|
|
57
|
+
if (!isMap(value))
|
|
58
|
+
fail(`${slug} config must be a mapping`);
|
|
59
|
+
return value;
|
|
60
|
+
};
|
|
61
|
+
const isolation = config('assistant-isolation');
|
|
62
|
+
const owner = config('assistant-web-owner');
|
|
63
|
+
const delivery = config('assistant-delivery');
|
|
64
|
+
const principal = object(owner.get('principal', true), 'Web principal');
|
|
65
|
+
if (!isDeepStrictEqual({ ...principal }, { account: profile, tenant: 'local', user: 'operator' }))
|
|
66
|
+
fail('expected installer-managed Web owner');
|
|
67
|
+
const workspace = path(owner.get('workspace', true), 'Web workspace');
|
|
68
|
+
const preset = literal(owner.get('preset', true), 'Web preset');
|
|
69
|
+
if (typeof preset !== 'string' || !/^[a-z0-9][a-z0-9-]*$/u.test(preset))
|
|
70
|
+
fail('invalid Web preset');
|
|
71
|
+
const grants = isolation.get('grants', true);
|
|
72
|
+
if (!isSeq(grants) || grants.items.length !== 1)
|
|
73
|
+
fail('expected one installer-managed isolation grant');
|
|
74
|
+
const grant = object(grants.items[0], 'Isolation grant');
|
|
75
|
+
const fields = ['id', 'revision', 'principalDigest', 'principalRecordId', 'principalVersion', 'workspace', 'agentPreset', 'expiresAt', 'maxRuns', 'maxTotalDurationMs'];
|
|
76
|
+
if (Object.keys(grant).sort().join(',') !== fields.sort().join(',') || grant.id !== `autonomy-${profile}`
|
|
77
|
+
|| grant.principalDigest !== createHash('sha256').update(`web/${profile}/local/operator`).digest('hex')
|
|
78
|
+
|| grant.workspace !== workspace || grant.agentPreset !== preset
|
|
79
|
+
|| typeof grant.principalRecordId !== 'string' || grant.principalRecordId.length === 0
|
|
80
|
+
|| !['revision', 'principalVersion', 'expiresAt', 'maxRuns', 'maxTotalDurationMs'].every(key => Number.isSafeInteger(grant[key]) && grant[key] > 0))
|
|
81
|
+
fail('invalid managed grant or owner scope');
|
|
82
|
+
const image = literal(isolation.get('image', true), 'Isolation image');
|
|
83
|
+
if (typeof image !== 'string' || !/^sha256:[0-9a-f]{64}$/u.test(image))
|
|
84
|
+
fail('immutable local isolation image required');
|
|
85
|
+
return {
|
|
86
|
+
image, dockerPath: isolation.has('dockerPath') ? path(isolation.get('dockerPath', true), 'Docker path') : '/usr/bin/docker',
|
|
87
|
+
stateRoot: path(isolation.get('stateRoot', true), 'Isolation stateRoot'),
|
|
88
|
+
databasePath: path(delivery.get('databasePath', true), 'Delivery databasePath', dshHome),
|
|
89
|
+
grant: { ...grant }, principal: { channel: 'web', account: profile, tenant: 'local', user: 'operator' },
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/** A read-only snapshot, never pairing, migration, or an authorization for future execution. */
|
|
93
|
+
export function inspectAutonomyOwner(profile) {
|
|
94
|
+
let database;
|
|
95
|
+
try {
|
|
96
|
+
if (!lstatSync(profile.databasePath).isFile() || realpathSync(profile.grant.workspace) !== profile.grant.workspace)
|
|
97
|
+
return { status: 'unavailable' };
|
|
98
|
+
database = new DatabaseSync(profile.databasePath, { readOnly: true });
|
|
99
|
+
database.exec('PRAGMA query_only = ON; PRAGMA busy_timeout = 1000; BEGIN;');
|
|
100
|
+
if (database.prepare('PRAGMA user_version').get().user_version !== 20)
|
|
101
|
+
return { status: 'unavailable' };
|
|
102
|
+
const row = database.prepare('SELECT principal_json, role, status, version, linked_to_id FROM delivery_principals WHERE id = ?').get(profile.grant.principalRecordId);
|
|
103
|
+
if (!row || row.role !== 'owner' || row.status !== 'active' || row.version !== profile.grant.principalVersion || row.linked_to_id !== null
|
|
104
|
+
|| typeof row.principal_json !== 'string' || !isDeepStrictEqual(JSON.parse(row.principal_json), profile.principal))
|
|
105
|
+
return { status: 'mismatch' };
|
|
106
|
+
return { status: 'matched' };
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
return { status: 'unavailable' };
|
|
110
|
+
}
|
|
111
|
+
finally {
|
|
112
|
+
database?.close();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
export async function runAutonomyDoctor(argv = process.argv.slice(2)) {
|
|
116
|
+
if (argv.includes('--help') || argv.includes('-h')) {
|
|
117
|
+
process.stdout.write('Usage: dsh-autonomy-doctor [--profile web] [--dsh-home <absolute-path>]\nChecks the installed finite isolation grant, paired owner and a temporary Docker probe. Does not activate a Host, renew grants, or test model/Goal/Actions readiness.\n');
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
let profile = 'web';
|
|
121
|
+
let dshHome = process.env.DSH_HOME ?? join(homedir(), '.dsh');
|
|
122
|
+
for (let index = 0; index < argv.length; index++) {
|
|
123
|
+
const option = argv[index];
|
|
124
|
+
const value = argv[++index];
|
|
125
|
+
if (!['--profile', '--dsh-home'].includes(option ?? '') || !value || value.startsWith('--'))
|
|
126
|
+
fail('invalid arguments');
|
|
127
|
+
if (option === '--profile')
|
|
128
|
+
profile = value;
|
|
129
|
+
else
|
|
130
|
+
dshHome = value;
|
|
131
|
+
}
|
|
132
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/u.test(profile) || !isAbsolute(dshHome) || normalize(dshHome) !== dshHome || /[\p{Cc}*]/u.test(dshHome))
|
|
133
|
+
fail('invalid profile or home');
|
|
134
|
+
const dump = async () => {
|
|
135
|
+
try {
|
|
136
|
+
return (await promisify(execFile)('dsh', ['--profile', profile, '--dump-config'], { env: { ...process.env, DSH_HOME: dshHome }, timeout: 30_000, maxBuffer: 8 * 1024 * 1024 })).stdout;
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
fail('could not compose profile; inspect installed bundles and configuration');
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
const parsed = inspectAutonomyProfile(await dump(), profile, dshHome);
|
|
143
|
+
const { inspectIsolationGrant, probeIsolationRuntime } = await import('@dsh-enhanced/assistant-isolation');
|
|
144
|
+
if (typeof inspectIsolationGrant !== 'function' || typeof probeIsolationRuntime !== 'function')
|
|
145
|
+
fail('install the matching assistant-isolation version with grant diagnostics; no state was changed');
|
|
146
|
+
const owner = inspectAutonomyOwner(parsed);
|
|
147
|
+
const grant = inspectIsolationGrant({ stateRoot: parsed.stateRoot, grant: parsed.grant });
|
|
148
|
+
// Report persisted state before dispatching a disposable, separately bounded probe.
|
|
149
|
+
process.stdout.write(`${JSON.stringify({ scope: 'finite-isolation', owner, grant, modelAndGoals: 'not-checked', externalActions: 'not-checked' })}\n`);
|
|
150
|
+
if (owner.status !== 'matched' || grant.status !== 'available')
|
|
151
|
+
fail('owner or persisted grant checks failed; no authority was renewed');
|
|
152
|
+
await probeIsolationRuntime(parsed.image, parsed.dockerPath);
|
|
153
|
+
if (!isDeepStrictEqual(inspectAutonomyProfile(await dump(), profile, dshHome), parsed)
|
|
154
|
+
|| inspectAutonomyOwner(parsed).status !== 'matched'
|
|
155
|
+
|| inspectIsolationGrant({ stateRoot: parsed.stateRoot, grant: parsed.grant }).status !== 'available')
|
|
156
|
+
fail('configuration or authority changed during probe; retry diagnostics');
|
|
157
|
+
process.stdout.write('Finite isolation configuration, owner, persisted grant and temporary runtime probe passed. This is a diagnostic snapshot; Policy, live resource admission, model budgets, Goal verification and external Actions still require their own checks.\n');
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { type GoalCallsBudgetConfig, type GoalTokenBudgetConfig, type GoalStrategyConfig } from '@dsh-enhanced/assistant-goals';
|
|
2
|
+
import { type RepositoryReadbackAuthorityInput } from '@dsh-enhanced/assistant-verifier';
|
|
3
|
+
import type { ActiveWebOwnerBindingSnapshot } from '@dsh-enhanced/assistant-delivery';
|
|
4
|
+
import { type AutonomyDoctorProfile } from './doctor.js';
|
|
5
|
+
interface GoalAdmissionTaskBase {
|
|
6
|
+
objective: string;
|
|
7
|
+
maxGoalRounds: number;
|
|
8
|
+
stepMaxDurationMs: number;
|
|
9
|
+
strategy?: Partial<GoalStrategyConfig>;
|
|
10
|
+
verification: {
|
|
11
|
+
artifactPath: string;
|
|
12
|
+
command: string;
|
|
13
|
+
maxRuns: number;
|
|
14
|
+
maxTotalDurationMs: number;
|
|
15
|
+
maxDurationMs: number;
|
|
16
|
+
maxOutputBytes: number;
|
|
17
|
+
cases: Array<{
|
|
18
|
+
stdin: string;
|
|
19
|
+
expectedStdout: string;
|
|
20
|
+
expectedExitCode: number;
|
|
21
|
+
}>;
|
|
22
|
+
};
|
|
23
|
+
wake?: {
|
|
24
|
+
maxDelayMs: number;
|
|
25
|
+
runTimeoutMs: number;
|
|
26
|
+
maxRuns: number;
|
|
27
|
+
};
|
|
28
|
+
repositoryDelivery?: {
|
|
29
|
+
repository: string;
|
|
30
|
+
baseBranch: string;
|
|
31
|
+
branch: string;
|
|
32
|
+
paths: string[];
|
|
33
|
+
credentialHandle?: string;
|
|
34
|
+
externalGrantId?: string;
|
|
35
|
+
expiresAt: number;
|
|
36
|
+
maxActions: number;
|
|
37
|
+
maxTotalBytes: number;
|
|
38
|
+
openPullRequest: boolean;
|
|
39
|
+
acceptance?: 'goal-outcome' | 'goal-step';
|
|
40
|
+
events?: {
|
|
41
|
+
credentialHandle: string;
|
|
42
|
+
maxPolls: number;
|
|
43
|
+
maxFires: number;
|
|
44
|
+
pollIntervalMs: number;
|
|
45
|
+
requestTimeoutMs: number;
|
|
46
|
+
};
|
|
47
|
+
outcome?: Pick<RepositoryReadbackAuthorityInput, 'requiredChecks' | 'reviewerIds' | 'minApprovals' | 'timeoutMs' | 'freshnessMs'>;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/** Legacy v1 fixed DeepSeek route. Kept for existing private admission files. */
|
|
51
|
+
export interface GoalAdmissionTaskV1 extends GoalAdmissionTaskBase {
|
|
52
|
+
version: 1;
|
|
53
|
+
model: 'deepseek-v4-flash' | 'deepseek-v4-pro';
|
|
54
|
+
apiKeyEnv?: string;
|
|
55
|
+
executionBudget: Omit<GoalTokenBudgetConfig, 'costUsdMicros'>;
|
|
56
|
+
}
|
|
57
|
+
/** v2 uses the deployment's already configured exact provider/model route. */
|
|
58
|
+
export interface GoalAdmissionTaskV2 extends GoalAdmissionTaskBase {
|
|
59
|
+
version: 2;
|
|
60
|
+
route: {
|
|
61
|
+
provider: string;
|
|
62
|
+
model: string;
|
|
63
|
+
};
|
|
64
|
+
executionBudget: GoalCallsBudgetConfig;
|
|
65
|
+
}
|
|
66
|
+
export type GoalAdmissionTask = GoalAdmissionTaskV1 | GoalAdmissionTaskV2;
|
|
67
|
+
export interface GoalAdmissionInput {
|
|
68
|
+
dshHome: string;
|
|
69
|
+
profile: string;
|
|
70
|
+
workspace: string;
|
|
71
|
+
preset: string;
|
|
72
|
+
}
|
|
73
|
+
export interface ConfiguredDefaultModelRoute {
|
|
74
|
+
provider: string;
|
|
75
|
+
model: string;
|
|
76
|
+
}
|
|
77
|
+
/** Read only the public, effective default-route fields from DSH's user settings layer. */
|
|
78
|
+
export declare function parseSettingsDefaultModelRoute(source: string): ConfiguredDefaultModelRoute | undefined;
|
|
79
|
+
/** Parse bounded local operator data. No tagged YAML, scripts, credentials, or arbitrary model routes. */
|
|
80
|
+
export declare function parseGoalAdmissionTask(source: string): GoalAdmissionTask;
|
|
81
|
+
/** Compose a complete candidate, preserving custom siblings and rejecting modified managed settings. */
|
|
82
|
+
export declare function prepareGoalAdmission(input: GoalAdmissionInput, source: string, effectiveSource: string, taskSource: string, snapshot: ActiveWebOwnerBindingSnapshot, now?: number, settingsSource?: string, eventSupport?: typeof import('@dsh-enhanced/event-triggers')): {
|
|
83
|
+
patch: string;
|
|
84
|
+
admissionId: string;
|
|
85
|
+
profile: AutonomyDoctorProfile;
|
|
86
|
+
repositoryDelivery?: {
|
|
87
|
+
repository: string;
|
|
88
|
+
branch: string;
|
|
89
|
+
paths: string[];
|
|
90
|
+
acceptance: 'goal-outcome' | 'goal-step';
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
export {};
|
|
94
|
+
//# sourceMappingURL=goal-admission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"goal-admission.d.ts","sourceRoot":"","sources":["../src/goal-admission.ts"],"names":[],"mappings":"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"}
|