@open-agent-toolkit/cli 0.2.65 → 0.2.66
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/assets/bundle-metadata.json +1 -1
- package/assets/docs/cli-utilities/configuration.md +19 -1
- package/assets/docs/cli-utilities/index.md +3 -0
- package/assets/docs/cli-utilities/remote-project-management.md +191 -0
- package/assets/docs/reference/cli-reference.md +12 -1
- package/assets/docs/reference/file-locations.md +22 -0
- package/assets/docs/reference/oat-directory-structure.md +30 -17
- package/assets/docs/reference/troubleshooting.md +44 -0
- package/assets/docs/workflows/skills/index.md +33 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-doctor/SKILL.md +4 -4
- package/assets/skills/oat-pjm-remote/SKILL.md +101 -0
- package/assets/skills/oat-pjm-remote/references/external-action-protocol.md +43 -0
- package/dist/commands/backlog/new.d.ts +1 -0
- package/dist/commands/backlog/new.d.ts.map +1 -1
- package/dist/commands/backlog/new.js +3 -1
- package/dist/commands/config/index.d.ts +1 -0
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +232 -1
- package/dist/commands/pjm/doctor.d.ts +2 -0
- package/dist/commands/pjm/doctor.d.ts.map +1 -1
- package/dist/commands/pjm/doctor.js +71 -1
- package/dist/commands/pjm/index.d.ts +2 -0
- package/dist/commands/pjm/index.d.ts.map +1 -1
- package/dist/commands/pjm/index.js +3 -0
- package/dist/commands/pjm/remote/__integration__/lifecycle-harness.d.ts +60 -0
- package/dist/commands/pjm/remote/__integration__/lifecycle-harness.d.ts.map +1 -0
- package/dist/commands/pjm/remote/__integration__/lifecycle-harness.js +151 -0
- package/dist/commands/pjm/remote/association.d.ts +27 -0
- package/dist/commands/pjm/remote/association.d.ts.map +1 -0
- package/dist/commands/pjm/remote/association.js +68 -0
- package/dist/commands/pjm/remote/authority.d.ts +210 -0
- package/dist/commands/pjm/remote/authority.d.ts.map +1 -0
- package/dist/commands/pjm/remote/authority.js +341 -0
- package/dist/commands/pjm/remote/batch.d.ts +15 -0
- package/dist/commands/pjm/remote/batch.d.ts.map +1 -0
- package/dist/commands/pjm/remote/batch.js +126 -0
- package/dist/commands/pjm/remote/closeout.d.ts +69 -0
- package/dist/commands/pjm/remote/closeout.d.ts.map +1 -0
- package/dist/commands/pjm/remote/closeout.js +208 -0
- package/dist/commands/pjm/remote/create-binding.d.ts +62 -0
- package/dist/commands/pjm/remote/create-binding.d.ts.map +1 -0
- package/dist/commands/pjm/remote/create-binding.js +126 -0
- package/dist/commands/pjm/remote/credential-safety.d.ts +7 -0
- package/dist/commands/pjm/remote/credential-safety.d.ts.map +1 -0
- package/dist/commands/pjm/remote/credential-safety.js +21 -0
- package/dist/commands/pjm/remote/discussion.d.ts +49 -0
- package/dist/commands/pjm/remote/discussion.d.ts.map +1 -0
- package/dist/commands/pjm/remote/discussion.js +124 -0
- package/dist/commands/pjm/remote/doctor.d.ts +22 -0
- package/dist/commands/pjm/remote/doctor.d.ts.map +1 -0
- package/dist/commands/pjm/remote/doctor.js +380 -0
- package/dist/commands/pjm/remote/external-action.d.ts +208 -0
- package/dist/commands/pjm/remote/external-action.d.ts.map +1 -0
- package/dist/commands/pjm/remote/external-action.js +367 -0
- package/dist/commands/pjm/remote/host-execution.d.ts +28 -0
- package/dist/commands/pjm/remote/host-execution.d.ts.map +1 -0
- package/dist/commands/pjm/remote/host-execution.js +63 -0
- package/dist/commands/pjm/remote/index.d.ts +41 -0
- package/dist/commands/pjm/remote/index.d.ts.map +1 -0
- package/dist/commands/pjm/remote/index.js +280 -0
- package/dist/commands/pjm/remote/jira-adf.d.ts +35 -0
- package/dist/commands/pjm/remote/jira-adf.d.ts.map +1 -0
- package/dist/commands/pjm/remote/jira-adf.js +169 -0
- package/dist/commands/pjm/remote/lifecycle.d.ts +163 -0
- package/dist/commands/pjm/remote/lifecycle.d.ts.map +1 -0
- package/dist/commands/pjm/remote/lifecycle.js +224 -0
- package/dist/commands/pjm/remote/local-projection.d.ts +30 -0
- package/dist/commands/pjm/remote/local-projection.d.ts.map +1 -0
- package/dist/commands/pjm/remote/local-projection.js +95 -0
- package/dist/commands/pjm/remote/managed-markdown.d.ts +30 -0
- package/dist/commands/pjm/remote/managed-markdown.d.ts.map +1 -0
- package/dist/commands/pjm/remote/managed-markdown.js +128 -0
- package/dist/commands/pjm/remote/migrate.d.ts +14 -0
- package/dist/commands/pjm/remote/migrate.d.ts.map +1 -0
- package/dist/commands/pjm/remote/migrate.js +32 -0
- package/dist/commands/pjm/remote/operation-state.d.ts +15 -0
- package/dist/commands/pjm/remote/operation-state.d.ts.map +1 -0
- package/dist/commands/pjm/remote/operation-state.js +143 -0
- package/dist/commands/pjm/remote/outbound-projection-safety.d.ts +25 -0
- package/dist/commands/pjm/remote/outbound-projection-safety.d.ts.map +1 -0
- package/dist/commands/pjm/remote/outbound-projection-safety.js +99 -0
- package/dist/commands/pjm/remote/output.d.ts +60 -0
- package/dist/commands/pjm/remote/output.d.ts.map +1 -0
- package/dist/commands/pjm/remote/output.js +48 -0
- package/dist/commands/pjm/remote/preview.d.ts +88 -0
- package/dist/commands/pjm/remote/preview.d.ts.map +1 -0
- package/dist/commands/pjm/remote/preview.js +154 -0
- package/dist/commands/pjm/remote/provider-conformance.d.ts +13 -0
- package/dist/commands/pjm/remote/provider-conformance.d.ts.map +1 -0
- package/dist/commands/pjm/remote/provider-conformance.js +37 -0
- package/dist/commands/pjm/remote/provider.d.ts +57 -0
- package/dist/commands/pjm/remote/provider.d.ts.map +1 -0
- package/dist/commands/pjm/remote/provider.js +28 -0
- package/dist/commands/pjm/remote/providers/github-publication-safety.d.ts +46 -0
- package/dist/commands/pjm/remote/providers/github-publication-safety.d.ts.map +1 -0
- package/dist/commands/pjm/remote/providers/github-publication-safety.js +126 -0
- package/dist/commands/pjm/remote/providers/github.d.ts +207 -0
- package/dist/commands/pjm/remote/providers/github.d.ts.map +1 -0
- package/dist/commands/pjm/remote/providers/github.js +1456 -0
- package/dist/commands/pjm/remote/providers/jira.d.ts +245 -0
- package/dist/commands/pjm/remote/providers/jira.d.ts.map +1 -0
- package/dist/commands/pjm/remote/providers/jira.js +1650 -0
- package/dist/commands/pjm/remote/providers/linear.d.ts +182 -0
- package/dist/commands/pjm/remote/providers/linear.d.ts.map +1 -0
- package/dist/commands/pjm/remote/providers/linear.js +1289 -0
- package/dist/commands/pjm/remote/purpose-policy.d.ts +29 -0
- package/dist/commands/pjm/remote/purpose-policy.d.ts.map +1 -0
- package/dist/commands/pjm/remote/purpose-policy.js +118 -0
- package/dist/commands/pjm/remote/reconcile.d.ts +42 -0
- package/dist/commands/pjm/remote/reconcile.d.ts.map +1 -0
- package/dist/commands/pjm/remote/reconcile.js +101 -0
- package/dist/commands/pjm/remote/resolution.d.ts +122 -0
- package/dist/commands/pjm/remote/resolution.d.ts.map +1 -0
- package/dist/commands/pjm/remote/resolution.js +243 -0
- package/dist/commands/pjm/remote/schema.d.ts +9309 -0
- package/dist/commands/pjm/remote/schema.d.ts.map +1 -0
- package/dist/commands/pjm/remote/schema.js +1503 -0
- package/dist/commands/pjm/remote/service.d.ts +20 -0
- package/dist/commands/pjm/remote/service.d.ts.map +1 -0
- package/dist/commands/pjm/remote/service.js +5121 -0
- package/dist/commands/pjm/remote/shared-storage.d.ts +36 -0
- package/dist/commands/pjm/remote/shared-storage.d.ts.map +1 -0
- package/dist/commands/pjm/remote/shared-storage.js +110 -0
- package/dist/commands/pjm/remote/snapshot.d.ts +32 -0
- package/dist/commands/pjm/remote/snapshot.d.ts.map +1 -0
- package/dist/commands/pjm/remote/snapshot.js +140 -0
- package/dist/commands/pjm/remote/storage-locator.d.ts +29 -0
- package/dist/commands/pjm/remote/storage-locator.d.ts.map +1 -0
- package/dist/commands/pjm/remote/storage-locator.js +62 -0
- package/dist/commands/pjm/remote/store.d.ts +85 -0
- package/dist/commands/pjm/remote/store.d.ts.map +1 -0
- package/dist/commands/pjm/remote/store.js +553 -0
- package/dist/commands/pjm/remote/verification.d.ts +40 -0
- package/dist/commands/pjm/remote/verification.d.ts.map +1 -0
- package/dist/commands/pjm/remote/verification.js +100 -0
- package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
- package/dist/commands/tools/shared/pack-manifest.js +1 -0
- package/dist/config/oat-config.d.ts +26 -0
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +186 -2
- package/package.json +2 -2
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { contextsEqual, } from './provider.js';
|
|
2
|
+
export function evaluateProviderConformance(fixture) {
|
|
3
|
+
const failures = [];
|
|
4
|
+
const issue = fixture.adapter.normalize(fixture.observation);
|
|
5
|
+
if (issue.provider !== fixture.adapter.provider)
|
|
6
|
+
failures.push('provider-identity');
|
|
7
|
+
if (issue.stableId !== fixture.expected.stableId)
|
|
8
|
+
failures.push('stable-identity');
|
|
9
|
+
if (JSON.stringify(issue.aliases) !== JSON.stringify(fixture.expected.aliases)) {
|
|
10
|
+
failures.push('aliases');
|
|
11
|
+
}
|
|
12
|
+
const action = fixture.adapter.plan('update', {
|
|
13
|
+
stableId: issue.stableId,
|
|
14
|
+
fields: { title: issue.title },
|
|
15
|
+
});
|
|
16
|
+
if (!contextsEqual(action.context, fixture.observation.context)) {
|
|
17
|
+
failures.push('action-context');
|
|
18
|
+
}
|
|
19
|
+
const validation = fixture.adapter.validateObservation(action, fixture.observation);
|
|
20
|
+
if (!validation.valid)
|
|
21
|
+
failures.push(...validation.reasons.map((reason) => `observation:${reason}`));
|
|
22
|
+
if (JSON.stringify(fixture.adapter.verificationFields(action)) !==
|
|
23
|
+
JSON.stringify(fixture.expected.verificationFields)) {
|
|
24
|
+
failures.push('verification-fields');
|
|
25
|
+
}
|
|
26
|
+
return failures;
|
|
27
|
+
}
|
|
28
|
+
export function validateSemanticObservation(action, observation) {
|
|
29
|
+
const reasons = [];
|
|
30
|
+
if (action.provider !== observation.provider)
|
|
31
|
+
reasons.push('provider-mismatch');
|
|
32
|
+
if (!contextsEqual(action.context, observation.context))
|
|
33
|
+
reasons.push('context-mismatch');
|
|
34
|
+
if (!observation.capabilityEvidenceDigest)
|
|
35
|
+
reasons.push('capability-evidence-missing');
|
|
36
|
+
return reasons;
|
|
37
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export type RemoteProvider = 'github' | 'linear' | 'jira';
|
|
2
|
+
export type SemanticOperation = 'read' | 'read-discussion' | 'search-duplicates' | 'create' | 'update' | 'transition' | 'annotate';
|
|
3
|
+
export interface ProviderContext {
|
|
4
|
+
readonly [key: string]: string | undefined;
|
|
5
|
+
}
|
|
6
|
+
export interface SanitizedProviderObservation {
|
|
7
|
+
provider: RemoteProvider;
|
|
8
|
+
context: ProviderContext;
|
|
9
|
+
identity: {
|
|
10
|
+
stableId: string;
|
|
11
|
+
aliases: string[];
|
|
12
|
+
};
|
|
13
|
+
fields: Record<string, unknown>;
|
|
14
|
+
revision: {
|
|
15
|
+
token?: string;
|
|
16
|
+
updatedAt?: string;
|
|
17
|
+
contentDigest: string;
|
|
18
|
+
};
|
|
19
|
+
capabilityEvidenceDigest: string;
|
|
20
|
+
}
|
|
21
|
+
export interface NormalizedRemoteIssue {
|
|
22
|
+
provider: RemoteProvider;
|
|
23
|
+
context: ProviderContext;
|
|
24
|
+
stableId: string;
|
|
25
|
+
aliases: string[];
|
|
26
|
+
title: string;
|
|
27
|
+
description: string | null;
|
|
28
|
+
priority: string | null;
|
|
29
|
+
status: string;
|
|
30
|
+
revisionDigest: string;
|
|
31
|
+
extensions: Record<string, unknown>;
|
|
32
|
+
}
|
|
33
|
+
export interface SemanticAction {
|
|
34
|
+
provider: RemoteProvider;
|
|
35
|
+
operation: SemanticOperation;
|
|
36
|
+
context: ProviderContext;
|
|
37
|
+
intent: Record<string, unknown>;
|
|
38
|
+
}
|
|
39
|
+
export interface ObservationValidation {
|
|
40
|
+
valid: boolean;
|
|
41
|
+
reasons: string[];
|
|
42
|
+
}
|
|
43
|
+
export interface FieldVerification {
|
|
44
|
+
field: string;
|
|
45
|
+
status: 'verified' | 'mismatch' | 'unavailable';
|
|
46
|
+
}
|
|
47
|
+
export interface ProviderAdapter {
|
|
48
|
+
readonly provider: RemoteProvider;
|
|
49
|
+
normalize(observation: SanitizedProviderObservation): NormalizedRemoteIssue;
|
|
50
|
+
plan(operation: SemanticOperation, input: Record<string, unknown>): SemanticAction;
|
|
51
|
+
validateObservation(action: SemanticAction, observation: SanitizedProviderObservation): ObservationValidation;
|
|
52
|
+
verificationFields(action: SemanticAction): string[];
|
|
53
|
+
verify(action: SemanticAction, issue: NormalizedRemoteIssue): FieldVerification[];
|
|
54
|
+
}
|
|
55
|
+
export declare function semanticDigest(value: unknown): string;
|
|
56
|
+
export declare function contextsEqual(left: ProviderContext, right: ProviderContext): boolean;
|
|
57
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/commands/pjm/remote/provider.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC1D,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,iBAAiB,GACjB,mBAAmB,GACnB,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,UAAU,CAAC;AAEf,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAClD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;CACjD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,SAAS,CAAC,WAAW,EAAE,4BAA4B,GAAG,qBAAqB,CAAC;IAC5E,IAAI,CACF,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,cAAc,CAAC;IAClB,mBAAmB,CACjB,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,4BAA4B,GACxC,qBAAqB,CAAC;IACzB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAAC;IACrD,MAAM,CACJ,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,qBAAqB,GAC3B,iBAAiB,EAAE,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,eAAe,GACrB,OAAO,CAET"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
export function semanticDigest(value) {
|
|
3
|
+
return `sha256:${createHash('sha256').update(canonicalJson(value)).digest('hex')}`;
|
|
4
|
+
}
|
|
5
|
+
export function contextsEqual(left, right) {
|
|
6
|
+
return canonicalJson(left) === canonicalJson(right);
|
|
7
|
+
}
|
|
8
|
+
function canonicalJson(value) {
|
|
9
|
+
return JSON.stringify(canonicalize(value));
|
|
10
|
+
}
|
|
11
|
+
function canonicalize(value) {
|
|
12
|
+
if (value === null || ['string', 'boolean'].includes(typeof value))
|
|
13
|
+
return value;
|
|
14
|
+
if (typeof value === 'number') {
|
|
15
|
+
if (!Number.isFinite(value))
|
|
16
|
+
throw new Error('Semantic values must be finite.');
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
if (Array.isArray(value))
|
|
20
|
+
return value.map(canonicalize);
|
|
21
|
+
if (value && typeof value === 'object') {
|
|
22
|
+
return Object.fromEntries(Object.entries(value)
|
|
23
|
+
.filter(([, entry]) => entry !== undefined)
|
|
24
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
25
|
+
.map(([key, entry]) => [key, canonicalize(entry)]));
|
|
26
|
+
}
|
|
27
|
+
throw new Error(`Unsupported semantic value '${typeof value}'.`);
|
|
28
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type OutboundProjection, type OutboundProjectionSafetyResult } from '../../../pjm/remote/outbound-projection-safety.js';
|
|
2
|
+
import { type ProviderContext } from '../../../pjm/remote/provider.js';
|
|
3
|
+
export type GitHubRepositoryVisibility = 'private' | 'public' | 'unavailable';
|
|
4
|
+
export type GitHubPublicationBlockReason = 'visibility-unavailable' | 'visibility-stale' | 'universal-safety-invalid' | 'prohibited-private-artifact';
|
|
5
|
+
export interface GitHubRepositoryVisibilityObservation {
|
|
6
|
+
provider: 'github';
|
|
7
|
+
context: ProviderContext;
|
|
8
|
+
visibility: GitHubRepositoryVisibility;
|
|
9
|
+
capabilityEvidenceDigest: string;
|
|
10
|
+
observedAt: string;
|
|
11
|
+
evidenceDigest: string;
|
|
12
|
+
}
|
|
13
|
+
export interface GitHubPublicationSafetyInput {
|
|
14
|
+
visibilityObservation: GitHubRepositoryVisibilityObservation;
|
|
15
|
+
projection: OutboundProjection;
|
|
16
|
+
outboundSafety: OutboundProjectionSafetyResult | null;
|
|
17
|
+
assessedAt: string;
|
|
18
|
+
}
|
|
19
|
+
export interface GitHubPublicationSafetyResult {
|
|
20
|
+
schemaVersion: 1;
|
|
21
|
+
verdict: 'safe' | 'blocked';
|
|
22
|
+
reasons: GitHubPublicationBlockReason[];
|
|
23
|
+
assessedAt: string;
|
|
24
|
+
resultDigest: string;
|
|
25
|
+
preview: {
|
|
26
|
+
visibility: GitHubRepositoryVisibility;
|
|
27
|
+
contextDigest: string;
|
|
28
|
+
capabilityEvidenceDigest: string;
|
|
29
|
+
visibilityEvidenceDigest: string;
|
|
30
|
+
projectionDigest: string;
|
|
31
|
+
universalSafetyResultDigest: string;
|
|
32
|
+
verdict: 'safe' | 'blocked';
|
|
33
|
+
reasonCodes: GitHubPublicationBlockReason[];
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export interface CurrentGitHubPublicationSafetyInput {
|
|
37
|
+
context: ProviderContext;
|
|
38
|
+
capabilityEvidenceDigest: string;
|
|
39
|
+
projection: OutboundProjection;
|
|
40
|
+
outboundSafety: OutboundProjectionSafetyResult;
|
|
41
|
+
result: GitHubPublicationSafetyResult;
|
|
42
|
+
}
|
|
43
|
+
export declare function observeGitHubRepositoryVisibility(input: Omit<GitHubRepositoryVisibilityObservation, 'provider' | 'evidenceDigest'>): GitHubRepositoryVisibilityObservation;
|
|
44
|
+
export declare function assessGitHubPublicationSafety(input: GitHubPublicationSafetyInput): GitHubPublicationSafetyResult;
|
|
45
|
+
export declare function requireCurrentGitHubPublicationSafety(input: CurrentGitHubPublicationSafetyInput): void;
|
|
46
|
+
//# sourceMappingURL=github-publication-safety.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-publication-safety.d.ts","sourceRoot":"","sources":["../../../../../src/commands/pjm/remote/providers/github-publication-safety.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,EACpC,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE9E,MAAM,MAAM,4BAA4B,GACpC,wBAAwB,GACxB,kBAAkB,GAClB,0BAA0B,GAC1B,6BAA6B,CAAC;AAElC,MAAM,WAAW,qCAAqC;IACpD,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,0BAA0B,CAAC;IACvC,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC3C,qBAAqB,EAAE,qCAAqC,CAAC;IAC7D,UAAU,EAAE,kBAAkB,CAAC;IAC/B,cAAc,EAAE,8BAA8B,GAAG,IAAI,CAAC;IACtD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE;QACP,UAAU,EAAE,0BAA0B,CAAC;QACvC,aAAa,EAAE,MAAM,CAAC;QACtB,wBAAwB,EAAE,MAAM,CAAC;QACjC,wBAAwB,EAAE,MAAM,CAAC;QACjC,gBAAgB,EAAE,MAAM,CAAC;QACzB,2BAA2B,EAAE,MAAM,CAAC;QACpC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,WAAW,EAAE,4BAA4B,EAAE,CAAC;KAC7C,CAAC;CACH;AAED,MAAM,WAAW,mCAAmC;IAClD,OAAO,EAAE,eAAe,CAAC;IACzB,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,cAAc,EAAE,8BAA8B,CAAC;IAC/C,MAAM,EAAE,6BAA6B,CAAC;CACvC;AAaD,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,IAAI,CACT,qCAAqC,EACrC,UAAU,GAAG,gBAAgB,CAC9B,GACA,qCAAqC,CAmBvC;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,4BAA4B,GAClC,6BAA6B,CAmD/B;AAED,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,mCAAmC,GACzC,IAAI,CAgCN"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { requireCurrentOutboundSafety, } from '../../../pjm/remote/outbound-projection-safety.js';
|
|
2
|
+
import { contextsEqual, semanticDigest, } from '../../../pjm/remote/provider.js';
|
|
3
|
+
const PRIVATE_ARTIFACT_MARKERS = [
|
|
4
|
+
'.oat/projects/',
|
|
5
|
+
'discovery.md',
|
|
6
|
+
'spec.md',
|
|
7
|
+
'design.md',
|
|
8
|
+
'plan.md',
|
|
9
|
+
'implementation.md',
|
|
10
|
+
'review artifact',
|
|
11
|
+
];
|
|
12
|
+
const MAX_VISIBILITY_AGE_MS = 5 * 60 * 1000;
|
|
13
|
+
export function observeGitHubRepositoryVisibility(input) {
|
|
14
|
+
if (!Number.isFinite(Date.parse(input.observedAt))) {
|
|
15
|
+
throw new Error('GitHub visibility observation requires a valid timestamp.');
|
|
16
|
+
}
|
|
17
|
+
if (!input.capabilityEvidenceDigest) {
|
|
18
|
+
throw new Error('GitHub visibility observation requires capability evidence.');
|
|
19
|
+
}
|
|
20
|
+
const evidence = {
|
|
21
|
+
provider: 'github',
|
|
22
|
+
context: input.context,
|
|
23
|
+
visibility: input.visibility,
|
|
24
|
+
capabilityEvidenceDigest: input.capabilityEvidenceDigest,
|
|
25
|
+
observedAt: input.observedAt,
|
|
26
|
+
};
|
|
27
|
+
return { ...evidence, evidenceDigest: semanticDigest(evidence) };
|
|
28
|
+
}
|
|
29
|
+
export function assessGitHubPublicationSafety(input) {
|
|
30
|
+
if (!Number.isFinite(Date.parse(input.assessedAt))) {
|
|
31
|
+
throw new Error('GitHub publication safety requires a valid timestamp.');
|
|
32
|
+
}
|
|
33
|
+
assertVisibilityObservation(input.visibilityObservation);
|
|
34
|
+
const reasons = [];
|
|
35
|
+
if (input.visibilityObservation.visibility === 'unavailable') {
|
|
36
|
+
reasons.push('visibility-unavailable');
|
|
37
|
+
}
|
|
38
|
+
const visibilityAge = Date.parse(input.assessedAt) -
|
|
39
|
+
Date.parse(input.visibilityObservation.observedAt);
|
|
40
|
+
if (visibilityAge < 0 || visibilityAge > MAX_VISIBILITY_AGE_MS) {
|
|
41
|
+
reasons.push('visibility-stale');
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
requireCurrentOutboundSafety(input.projection, input.outboundSafety);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
reasons.push('universal-safety-invalid');
|
|
48
|
+
}
|
|
49
|
+
if (containsPrivateArtifact(input.projection)) {
|
|
50
|
+
reasons.push('prohibited-private-artifact');
|
|
51
|
+
}
|
|
52
|
+
const uniqueReasons = [...new Set(reasons)];
|
|
53
|
+
const verdict = uniqueReasons.length === 0 ? 'safe' : 'blocked';
|
|
54
|
+
const preview = {
|
|
55
|
+
visibility: input.visibilityObservation.visibility,
|
|
56
|
+
contextDigest: semanticDigest(input.visibilityObservation.context),
|
|
57
|
+
capabilityEvidenceDigest: input.visibilityObservation.capabilityEvidenceDigest,
|
|
58
|
+
visibilityEvidenceDigest: input.visibilityObservation.evidenceDigest,
|
|
59
|
+
projectionDigest: input.outboundSafety?.projectionDigest ??
|
|
60
|
+
semanticDigest(input.projection),
|
|
61
|
+
universalSafetyResultDigest: input.outboundSafety?.resultDigest ?? 'missing',
|
|
62
|
+
verdict,
|
|
63
|
+
reasonCodes: uniqueReasons,
|
|
64
|
+
};
|
|
65
|
+
const resultWithoutDigest = {
|
|
66
|
+
schemaVersion: 1,
|
|
67
|
+
verdict,
|
|
68
|
+
reasons: uniqueReasons,
|
|
69
|
+
assessedAt: input.assessedAt,
|
|
70
|
+
preview,
|
|
71
|
+
};
|
|
72
|
+
return {
|
|
73
|
+
...resultWithoutDigest,
|
|
74
|
+
resultDigest: semanticDigest(resultWithoutDigest),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export function requireCurrentGitHubPublicationSafety(input) {
|
|
78
|
+
requireCurrentOutboundSafety(input.projection, input.outboundSafety);
|
|
79
|
+
if (input.result.verdict !== 'safe') {
|
|
80
|
+
throw new Error('GitHub publication safety blocks execution.');
|
|
81
|
+
}
|
|
82
|
+
if (input.result.preview.capabilityEvidenceDigest !==
|
|
83
|
+
input.capabilityEvidenceDigest) {
|
|
84
|
+
throw new Error('GitHub publication capability evidence is mismatched.');
|
|
85
|
+
}
|
|
86
|
+
if (input.result.preview.contextDigest !== semanticDigest(input.context)) {
|
|
87
|
+
throw new Error('GitHub publication context evidence is mismatched.');
|
|
88
|
+
}
|
|
89
|
+
if (input.result.preview.projectionDigest !==
|
|
90
|
+
input.outboundSafety.projectionDigest ||
|
|
91
|
+
input.result.preview.universalSafetyResultDigest !==
|
|
92
|
+
input.outboundSafety.resultDigest) {
|
|
93
|
+
throw new Error('GitHub publication projection evidence is mismatched.');
|
|
94
|
+
}
|
|
95
|
+
const expectedDigest = semanticDigest({
|
|
96
|
+
schemaVersion: input.result.schemaVersion,
|
|
97
|
+
verdict: input.result.verdict,
|
|
98
|
+
reasons: input.result.reasons,
|
|
99
|
+
assessedAt: input.result.assessedAt,
|
|
100
|
+
preview: input.result.preview,
|
|
101
|
+
});
|
|
102
|
+
if (expectedDigest !== input.result.resultDigest) {
|
|
103
|
+
throw new Error('GitHub publication safety result digest is invalid.');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function assertVisibilityObservation(observation) {
|
|
107
|
+
if (observation.provider !== 'github') {
|
|
108
|
+
throw new Error('GitHub visibility evidence has the wrong provider.');
|
|
109
|
+
}
|
|
110
|
+
const expected = observeGitHubRepositoryVisibility({
|
|
111
|
+
context: observation.context,
|
|
112
|
+
visibility: observation.visibility,
|
|
113
|
+
capabilityEvidenceDigest: observation.capabilityEvidenceDigest,
|
|
114
|
+
observedAt: observation.observedAt,
|
|
115
|
+
});
|
|
116
|
+
if (expected.evidenceDigest !== observation.evidenceDigest) {
|
|
117
|
+
throw new Error('GitHub visibility evidence digest is invalid.');
|
|
118
|
+
}
|
|
119
|
+
if (!contextsEqual(expected.context, observation.context)) {
|
|
120
|
+
throw new Error('GitHub visibility context evidence is invalid.');
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function containsPrivateArtifact(projection) {
|
|
124
|
+
return Object.values(projection).some((value) => typeof value === 'string' &&
|
|
125
|
+
PRIVATE_ARTIFACT_MARKERS.some((marker) => value.toLowerCase().includes(marker)));
|
|
126
|
+
}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { type OutboundProjection, type OutboundProjectionSafetyResult } from '../../../pjm/remote/outbound-projection-safety.js';
|
|
2
|
+
import { type NormalizedRemoteIssue, type ObservationValidation, type FieldVerification, type ProviderAdapter, type ProviderContext, type SanitizedProviderObservation, type SemanticAction, type SemanticOperation } from '../../../pjm/remote/provider.js';
|
|
3
|
+
import { type GitHubPublicationSafetyResult } from './github-publication-safety.js';
|
|
4
|
+
export interface GitHubIssueReference {
|
|
5
|
+
host?: string;
|
|
6
|
+
owner: string;
|
|
7
|
+
name: string;
|
|
8
|
+
number: number;
|
|
9
|
+
alias: string;
|
|
10
|
+
}
|
|
11
|
+
export type GitHubSemanticField = 'stable-identity' | 'title' | 'body' | 'state' | 'priority' | 'revision';
|
|
12
|
+
export interface GitHubHostCapabilityObservation {
|
|
13
|
+
provider: 'github';
|
|
14
|
+
context: ProviderContext;
|
|
15
|
+
availability: 'available' | 'unavailable' | 'authorization-required' | 'rate-limited';
|
|
16
|
+
accountId: string;
|
|
17
|
+
repositoryId: string;
|
|
18
|
+
operations: SemanticOperation[];
|
|
19
|
+
observableFields: GitHubSemanticField[];
|
|
20
|
+
evidenceDigest: string;
|
|
21
|
+
}
|
|
22
|
+
export interface GitHubCapabilityExpectation {
|
|
23
|
+
operation: SemanticOperation;
|
|
24
|
+
context: ProviderContext;
|
|
25
|
+
requiredFields?: GitHubSemanticField[];
|
|
26
|
+
}
|
|
27
|
+
export type GitHubReadLifecycle = 'current' | 'renamed' | 'transferred' | 'archived' | 'inaccessible' | 'deleted' | 'temporarily-unavailable';
|
|
28
|
+
export interface GitHubReadResult {
|
|
29
|
+
classification: GitHubReadLifecycle;
|
|
30
|
+
issue: NormalizedRemoteIssue | null;
|
|
31
|
+
freshness: {
|
|
32
|
+
observedAt: string;
|
|
33
|
+
revisionStrength: 'strong' | 'weak';
|
|
34
|
+
} | null;
|
|
35
|
+
preservePriorEvidence: boolean;
|
|
36
|
+
reasons: string[];
|
|
37
|
+
}
|
|
38
|
+
export interface GitHubReadObservationInput {
|
|
39
|
+
action: SemanticAction;
|
|
40
|
+
hostCapability: GitHubHostCapabilityObservation;
|
|
41
|
+
observedAt: string;
|
|
42
|
+
outcome: 'found' | 'not-found' | 'temporary-failure';
|
|
43
|
+
observation?: SanitizedProviderObservation;
|
|
44
|
+
archived?: boolean;
|
|
45
|
+
deletionEvidence?: {
|
|
46
|
+
provider: 'github';
|
|
47
|
+
stableId: string;
|
|
48
|
+
context: ProviderContext;
|
|
49
|
+
capabilityEvidenceDigest: string;
|
|
50
|
+
actionDigest: string;
|
|
51
|
+
stepId: string;
|
|
52
|
+
observedAt: string;
|
|
53
|
+
evidenceDigest: string;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export type GitHubMutationField = 'title' | 'description' | 'priority' | 'status' | 'annotation';
|
|
57
|
+
export interface GitHubMutationPreviewInput {
|
|
58
|
+
operation: 'create' | 'update' | 'transition' | 'annotate';
|
|
59
|
+
context: ProviderContext;
|
|
60
|
+
bindingId: string;
|
|
61
|
+
stableId?: string;
|
|
62
|
+
provenance?: {
|
|
63
|
+
bindingId: string;
|
|
64
|
+
origin: string;
|
|
65
|
+
};
|
|
66
|
+
fieldMask: GitHubMutationField[];
|
|
67
|
+
descriptionMode: 'managed-section' | 'replace' | 'none';
|
|
68
|
+
currentBody?: string;
|
|
69
|
+
projection: OutboundProjection;
|
|
70
|
+
outboundSafety: OutboundProjectionSafetyResult;
|
|
71
|
+
hostCapability: GitHubHostCapabilityObservation;
|
|
72
|
+
publicationSafety: GitHubPublicationSafetyResult;
|
|
73
|
+
}
|
|
74
|
+
export interface GitHubMutationPlanInput extends GitHubMutationPreviewInput {
|
|
75
|
+
approvedPreviewDigest: string;
|
|
76
|
+
}
|
|
77
|
+
export interface GitHubMutationPreview {
|
|
78
|
+
previewDigest: string;
|
|
79
|
+
executionEvidence: {
|
|
80
|
+
capabilityEvidenceDigest: string;
|
|
81
|
+
projectionDigest: string;
|
|
82
|
+
outboundSafetyResultDigest: string;
|
|
83
|
+
publicationSafetyResultDigest: string;
|
|
84
|
+
visibilityEvidenceDigest: string;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export type GitHubMutationVerificationClassification = 'verified' | 'partial' | 'rejected' | 'uncertain';
|
|
88
|
+
export interface GitHubMutationVerificationInput {
|
|
89
|
+
action: SemanticAction;
|
|
90
|
+
attempt: {
|
|
91
|
+
count: number;
|
|
92
|
+
outcome: 'accepted' | 'rejected' | 'unknown';
|
|
93
|
+
capabilityEvidenceDigest: string;
|
|
94
|
+
};
|
|
95
|
+
hostCapability: GitHubHostCapabilityObservation;
|
|
96
|
+
readback: SanitizedProviderObservation | null;
|
|
97
|
+
}
|
|
98
|
+
export interface GitHubMutationVerificationResult {
|
|
99
|
+
classification: GitHubMutationVerificationClassification;
|
|
100
|
+
reason: string;
|
|
101
|
+
fields: FieldVerification[];
|
|
102
|
+
retryAllowed: false;
|
|
103
|
+
}
|
|
104
|
+
export interface GitHubDuplicateSearchPlanInput {
|
|
105
|
+
context: ProviderContext;
|
|
106
|
+
hostCapability: GitHubHostCapabilityObservation;
|
|
107
|
+
provenanceToken: string;
|
|
108
|
+
reservedBindingId: string;
|
|
109
|
+
historicalAliases: string[];
|
|
110
|
+
maxResults: number;
|
|
111
|
+
}
|
|
112
|
+
export interface GitHubDuplicateCandidate {
|
|
113
|
+
stableId: string;
|
|
114
|
+
aliases: string[];
|
|
115
|
+
context: ProviderContext;
|
|
116
|
+
matchedBy: 'provenance' | 'reserved-binding' | 'alias';
|
|
117
|
+
matchedProvenanceToken?: string;
|
|
118
|
+
matchedReservedBindingId?: string;
|
|
119
|
+
matchedAlias?: string;
|
|
120
|
+
stableIdentityVerified: boolean;
|
|
121
|
+
contextVerified: boolean;
|
|
122
|
+
historicalRepositoryIds: string[];
|
|
123
|
+
transferEvidence?: GitHubDuplicateTransferEvidence;
|
|
124
|
+
}
|
|
125
|
+
export interface GitHubDuplicateTransferEvidence {
|
|
126
|
+
provider: 'github';
|
|
127
|
+
stableId: string;
|
|
128
|
+
fromContext: ProviderContext;
|
|
129
|
+
toContext: ProviderContext;
|
|
130
|
+
capabilityEvidenceDigest: string;
|
|
131
|
+
queryDigest: string;
|
|
132
|
+
observedAt: string;
|
|
133
|
+
evidenceDigest: string;
|
|
134
|
+
}
|
|
135
|
+
export interface GitHubDuplicateSearchObservation {
|
|
136
|
+
provider: 'github';
|
|
137
|
+
context: ProviderContext;
|
|
138
|
+
availability: 'available' | 'unavailable';
|
|
139
|
+
capabilityEvidenceDigest: string;
|
|
140
|
+
queryDigest: string;
|
|
141
|
+
observedAt: string;
|
|
142
|
+
results: GitHubDuplicateCandidate[];
|
|
143
|
+
}
|
|
144
|
+
export interface GitHubDuplicateSearchValidationInput {
|
|
145
|
+
action: SemanticAction;
|
|
146
|
+
hostCapability: GitHubHostCapabilityObservation;
|
|
147
|
+
observation: GitHubDuplicateSearchObservation;
|
|
148
|
+
}
|
|
149
|
+
export interface GitHubDuplicateSearchValidationResult {
|
|
150
|
+
accepted: boolean;
|
|
151
|
+
classification: 'no-match' | 'one-verified-match' | 'ambiguous' | 'unavailable' | 'invalid';
|
|
152
|
+
stableId: string | null;
|
|
153
|
+
reasons: string[];
|
|
154
|
+
}
|
|
155
|
+
export interface GitHubDiscussionReadPlanInput {
|
|
156
|
+
context: ProviderContext;
|
|
157
|
+
hostCapability: GitHubHostCapabilityObservation;
|
|
158
|
+
stableId: string;
|
|
159
|
+
evidenceKind: 'comments' | 'activity';
|
|
160
|
+
cursor: string | null;
|
|
161
|
+
limit: number;
|
|
162
|
+
}
|
|
163
|
+
export interface GitHubDiscussionItemObservation {
|
|
164
|
+
id: string;
|
|
165
|
+
kind: 'comment' | 'activity';
|
|
166
|
+
body: string;
|
|
167
|
+
observedAt: string;
|
|
168
|
+
}
|
|
169
|
+
export interface GitHubDiscussionReadObservation {
|
|
170
|
+
provider: 'github';
|
|
171
|
+
context: ProviderContext;
|
|
172
|
+
stableId: string;
|
|
173
|
+
availability: 'available' | 'rate-limited' | 'permission-denied';
|
|
174
|
+
capabilityEvidenceDigest: string;
|
|
175
|
+
requestedCursor: string | null;
|
|
176
|
+
nextCursor: string | null;
|
|
177
|
+
items: GitHubDiscussionItemObservation[];
|
|
178
|
+
}
|
|
179
|
+
export interface GitHubDiscussionReadValidationInput {
|
|
180
|
+
action: SemanticAction;
|
|
181
|
+
hostCapability: GitHubHostCapabilityObservation;
|
|
182
|
+
observation: GitHubDiscussionReadObservation;
|
|
183
|
+
}
|
|
184
|
+
export interface GitHubDiscussionReadValidationResult {
|
|
185
|
+
classification: 'page' | 'rate-limited' | 'permission-denied' | 'invalid';
|
|
186
|
+
page: {
|
|
187
|
+
items: Array<GitHubDiscussionItemObservation & {
|
|
188
|
+
contentSuppressed: boolean;
|
|
189
|
+
}>;
|
|
190
|
+
nextCursor: string | null;
|
|
191
|
+
} | null;
|
|
192
|
+
persistable: false;
|
|
193
|
+
reasons: string[];
|
|
194
|
+
}
|
|
195
|
+
export declare function parseGitHubIssueReference(reference: string): GitHubIssueReference | null;
|
|
196
|
+
export declare function normalizeGitHubIssueObservation(observation: SanitizedProviderObservation): NormalizedRemoteIssue;
|
|
197
|
+
export declare function validateGitHubHostCapability(expected: GitHubCapabilityExpectation, observed: GitHubHostCapabilityObservation): ObservationValidation;
|
|
198
|
+
export declare function classifyGitHubReadObservation(input: GitHubReadObservationInput): GitHubReadResult;
|
|
199
|
+
export declare function previewGitHubMutation(input: GitHubMutationPreviewInput): GitHubMutationPreview;
|
|
200
|
+
export declare function planGitHubMutation(input: GitHubMutationPlanInput): SemanticAction;
|
|
201
|
+
export declare function verifyGitHubMutationObservation(input: GitHubMutationVerificationInput): GitHubMutationVerificationResult;
|
|
202
|
+
export declare function planDuplicateSearch(input: GitHubDuplicateSearchPlanInput): SemanticAction;
|
|
203
|
+
export declare function validateDuplicateSearchObservation(input: GitHubDuplicateSearchValidationInput): GitHubDuplicateSearchValidationResult;
|
|
204
|
+
export declare function planDiscussionRead(input: GitHubDiscussionReadPlanInput): SemanticAction;
|
|
205
|
+
export declare function validateDiscussionReadObservation(input: GitHubDiscussionReadValidationInput): GitHubDiscussionReadValidationResult;
|
|
206
|
+
export declare const githubAdapter: ProviderAdapter;
|
|
207
|
+
//# sourceMappingURL=github.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../../../src/commands/pjm/remote/providers/github.ts"],"names":[],"mappings":"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"}
|