gh-inari 0.14.1 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +32 -0
- package/dist/agent-authority/branch-advance.d.ts +61 -3
- package/dist/agent-authority/branch-advance.js +326 -115
- package/dist/agent-authority/branch-advance.js.map +1 -1
- package/dist/agent-authority/capability-admission.d.ts +7 -7
- package/dist/agent-authority/capability-admission.js +7 -17
- package/dist/agent-authority/capability-admission.js.map +1 -1
- package/dist/agent-authority/session-authentication.d.ts +16 -7
- package/dist/agent-authority/session-authentication.js +18 -0
- package/dist/agent-authority/session-authentication.js.map +1 -1
- package/dist/authorized-execution.d.ts +118 -0
- package/dist/authorized-execution.js +658 -0
- package/dist/authorized-execution.js.map +1 -0
- package/dist/branch-naming.d.ts +16 -0
- package/dist/branch-naming.js +67 -6
- package/dist/branch-naming.js.map +1 -1
- package/dist/cli-core.d.ts +10 -1
- package/dist/cli-core.js +676 -34
- package/dist/cli-core.js.map +1 -1
- package/dist/command-contract.d.ts +10 -6
- package/dist/command-contract.js +32 -2
- package/dist/command-contract.js.map +1 -1
- package/dist/endpoint-api.d.ts +134 -0
- package/dist/endpoint-api.js +384 -0
- package/dist/endpoint-api.js.map +1 -0
- package/dist/endpoint-authorization.d.ts +114 -0
- package/dist/endpoint-authorization.js +506 -0
- package/dist/endpoint-authorization.js.map +1 -0
- package/dist/endpoint-capability.d.ts +30 -0
- package/dist/endpoint-capability.js +67 -0
- package/dist/endpoint-capability.js.map +1 -0
- package/dist/endpoint-http.d.ts +14 -0
- package/dist/endpoint-http.js +154 -0
- package/dist/endpoint-http.js.map +1 -0
- package/dist/endpoint-onboarding-client.d.ts +23 -0
- package/dist/endpoint-onboarding-client.js +95 -0
- package/dist/endpoint-onboarding-client.js.map +1 -0
- package/dist/endpoint-onboarding.d.ts +38 -0
- package/dist/endpoint-onboarding.js +173 -0
- package/dist/endpoint-onboarding.js.map +1 -0
- package/dist/endpoint-read-query.d.ts +30 -0
- package/dist/endpoint-read-query.js +81 -0
- package/dist/endpoint-read-query.js.map +1 -0
- package/dist/endpoint-reconciliation.d.ts +107 -0
- package/dist/endpoint-reconciliation.js +275 -0
- package/dist/endpoint-reconciliation.js.map +1 -0
- package/dist/endpoint-runtime-presence.d.ts +99 -0
- package/dist/endpoint-runtime-presence.js +259 -0
- package/dist/endpoint-runtime-presence.js.map +1 -0
- package/dist/endpoint-webhook.d.ts +124 -0
- package/dist/endpoint-webhook.js +525 -0
- package/dist/endpoint-webhook.js.map +1 -0
- package/dist/endpoint-work-projection.d.ts +145 -0
- package/dist/endpoint-work-projection.js +512 -0
- package/dist/endpoint-work-projection.js.map +1 -0
- package/dist/github/adapter.d.ts +13 -0
- package/dist/github/adapter.js +33 -2
- package/dist/github/adapter.js.map +1 -1
- package/dist/github/app-installation-credential-broker.js +4 -2
- package/dist/github/app-installation-credential-broker.js.map +1 -1
- package/dist/github/app-provider-credential-broker.d.ts +28 -0
- package/dist/github/app-provider-credential-broker.js +9 -0
- package/dist/github/app-provider-credential-broker.js.map +1 -0
- package/dist/github/app-user-credential-broker.d.ts +61 -0
- package/dist/github/app-user-credential-broker.js +587 -0
- package/dist/github/app-user-credential-broker.js.map +1 -0
- package/dist/github/app-user-credential-store.d.ts +39 -0
- package/dist/github/app-user-credential-store.js +166 -0
- package/dist/github/app-user-credential-store.js.map +1 -0
- package/dist/github/app-user-credential.d.ts +83 -0
- package/dist/github/app-user-credential.js +347 -0
- package/dist/github/app-user-credential.js.map +1 -0
- package/dist/github/direct-app-execution.d.ts +23 -2
- package/dist/github/direct-app-execution.js +184 -22
- package/dist/github/direct-app-execution.js.map +1 -1
- package/dist/github/effect-authorizer.d.ts +14 -1
- package/dist/github/effect-authorizer.js +79 -0
- package/dist/github/effect-authorizer.js.map +1 -1
- package/dist/github/endpoint-human-auth.d.ts +63 -0
- package/dist/github/endpoint-human-auth.js +534 -0
- package/dist/github/endpoint-human-auth.js.map +1 -0
- package/dist/github/index.d.ts +5 -0
- package/dist/github/index.js +5 -0
- package/dist/github/index.js.map +1 -1
- package/dist/github/native-http-transport.js +2 -1
- package/dist/github/native-http-transport.js.map +1 -1
- package/dist/github/pr-publication-adapter.d.ts +40 -0
- package/dist/github/pr-publication-adapter.js +70 -0
- package/dist/github/pr-publication-adapter.js.map +1 -0
- package/dist/github/release-history-adapter.d.ts +40 -0
- package/dist/github/release-history-adapter.js +372 -0
- package/dist/github/release-history-adapter.js.map +1 -0
- package/dist/hosted-endpoint-oauth.d.ts +35 -0
- package/dist/hosted-endpoint-oauth.js +240 -0
- package/dist/hosted-endpoint-oauth.js.map +1 -0
- package/dist/hosted-endpoint-presence-reader.d.ts +34 -0
- package/dist/hosted-endpoint-presence-reader.js +202 -0
- package/dist/hosted-endpoint-presence-reader.js.map +1 -0
- package/dist/hosted-endpoint-work-reader.d.ts +45 -0
- package/dist/hosted-endpoint-work-reader.js +288 -0
- package/dist/hosted-endpoint-work-reader.js.map +1 -0
- package/dist/hosted-endpoint.d.ts +17 -0
- package/dist/hosted-endpoint.js +63 -0
- package/dist/hosted-endpoint.js.map +1 -0
- package/dist/hosted-worker.d.ts +33 -0
- package/dist/hosted-worker.js +254 -133
- package/dist/hosted-worker.js.map +1 -1
- package/dist/implementation-change-identity.d.ts +5 -1
- package/dist/implementation-change-identity.js +51 -2
- package/dist/implementation-change-identity.js.map +1 -1
- package/dist/implementation-contract.js +8 -2
- package/dist/implementation-contract.js.map +1 -1
- package/dist/implementation-frontier-composition.d.ts +25 -0
- package/dist/implementation-frontier-composition.js +76 -0
- package/dist/implementation-frontier-composition.js.map +1 -1
- package/dist/index.d.ts +15 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/integration-routing-adapters.d.ts +20 -0
- package/dist/integration-routing-adapters.js +43 -0
- package/dist/integration-routing-adapters.js.map +1 -0
- package/dist/integration-routing.d.ts +75 -0
- package/dist/integration-routing.js +427 -0
- package/dist/integration-routing.js.map +1 -0
- package/dist/local-control/admission-client.d.ts +38 -0
- package/dist/local-control/admission-client.js +238 -0
- package/dist/local-control/admission-client.js.map +1 -0
- package/dist/local-control/admission-server.d.ts +40 -0
- package/dist/local-control/admission-server.js +626 -0
- package/dist/local-control/admission-server.js.map +1 -0
- package/dist/local-control/config.d.ts +76 -0
- package/dist/local-control/config.js +568 -0
- package/dist/local-control/config.js.map +1 -0
- package/dist/local-control/execution-intent.d.ts +22 -0
- package/dist/local-control/execution-intent.js +130 -0
- package/dist/local-control/execution-intent.js.map +1 -0
- package/dist/local-control/executor-client.d.ts +33 -0
- package/dist/local-control/executor-client.js +163 -0
- package/dist/local-control/executor-client.js.map +1 -0
- package/dist/local-control/executor-http.d.ts +27 -0
- package/dist/local-control/executor-http.js +304 -0
- package/dist/local-control/executor-http.js.map +1 -0
- package/dist/local-control/executor-server.d.ts +25 -0
- package/dist/local-control/executor-server.js +392 -0
- package/dist/local-control/executor-server.js.map +1 -0
- package/dist/local-control/identity.d.ts +20 -0
- package/dist/local-control/identity.js +61 -0
- package/dist/local-control/identity.js.map +1 -0
- package/dist/local-control/session-binding.d.ts +74 -0
- package/dist/local-control/session-binding.js +346 -0
- package/dist/local-control/session-binding.js.map +1 -0
- package/dist/local-control/session-launcher.d.ts +38 -0
- package/dist/local-control/session-launcher.js +305 -0
- package/dist/local-control/session-launcher.js.map +1 -0
- package/dist/local-control/session-store.d.ts +33 -0
- package/dist/local-control/session-store.js +268 -0
- package/dist/local-control/session-store.js.map +1 -0
- package/dist/local-runtime-profile.d.ts +53 -0
- package/dist/local-runtime-profile.js +215 -0
- package/dist/local-runtime-profile.js.map +1 -0
- package/dist/markdown-ast.d.ts +36 -0
- package/dist/markdown-ast.js +130 -0
- package/dist/markdown-ast.js.map +1 -0
- package/dist/mcp/apps/inari-app.d.ts +11 -0
- package/dist/mcp/apps/inari-app.js +163 -0
- package/dist/mcp/apps/inari-app.js.map +1 -0
- package/dist/mcp/http-transport.js +1 -2
- package/dist/mcp/http-transport.js.map +1 -1
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.js +1 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.js +24 -11
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/stdio.js +1 -1
- package/dist/mcp/stdio.js.map +1 -1
- package/dist/mcp/tools.d.ts +29 -2
- package/dist/mcp/tools.js +73 -3
- package/dist/mcp/tools.js.map +1 -1
- package/dist/pr-publication.d.ts +151 -0
- package/dist/pr-publication.js +480 -0
- package/dist/pr-publication.js.map +1 -0
- package/dist/pull-request-template.d.ts +6 -0
- package/dist/pull-request-template.js +123 -187
- package/dist/pull-request-template.js.map +1 -1
- package/dist/relay/local-runtime-config.d.ts +37 -10
- package/dist/relay/local-runtime-config.js +311 -20
- package/dist/relay/local-runtime-config.js.map +1 -1
- package/dist/relay/local-runtime.d.ts +1 -0
- package/dist/relay/local-runtime.js +32 -4
- package/dist/relay/local-runtime.js.map +1 -1
- package/dist/release-certification.d.ts +1 -1
- package/dist/release-history-governance.d.ts +33 -0
- package/dist/release-history-governance.js +85 -0
- package/dist/release-history-governance.js.map +1 -0
- package/dist/release-pr-publication.d.ts +39 -0
- package/dist/release-pr-publication.js +63 -0
- package/dist/release-pr-publication.js.map +1 -0
- package/dist/release-preparation-plan.d.ts +152 -0
- package/dist/release-preparation-plan.js +531 -0
- package/dist/release-preparation-plan.js.map +1 -0
- package/dist/release-preparation.d.ts +66 -0
- package/dist/release-preparation.js +502 -0
- package/dist/release-preparation.js.map +1 -0
- package/dist/repository-setup.d.ts +69 -0
- package/dist/repository-setup.js +435 -0
- package/dist/repository-setup.js.map +1 -0
- package/dist/session-authorized-change-executor.d.ts +26 -24
- package/dist/session-authorized-change-executor.js +255 -192
- package/dist/session-authorized-change-executor.js.map +1 -1
- package/dist/skill.d.ts +1 -1
- package/dist/skill.js +3 -1
- package/dist/skill.js.map +1 -1
- package/dist/worker-http.d.ts +12 -0
- package/dist/worker-http.js +31 -0
- package/dist/worker-http.js.map +1 -0
- package/dist/worker.js +6 -23
- package/dist/worker.js.map +1 -1
- package/package.json +21 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "inari",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Governed GitHub Issue/PR/template workflows via the inari CLI. Prefer inari over raw gh for operations it owns; use inari skill for operational playbooks.",
|
|
5
5
|
"skills": "skills/inari"
|
|
6
6
|
}
|
package/README.md
CHANGED
|
@@ -37,6 +37,21 @@ npx --yes gh-inari --version --json
|
|
|
37
37
|
|
|
38
38
|
Inari uses the current GitHub authentication and repository context. Use `--repository owner/name` when the target is not the current checkout.
|
|
39
39
|
|
|
40
|
+
To connect a repository Runtime, install the Inari GitHub App, then run the
|
|
41
|
+
repository setup Golden Path:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
inari setup
|
|
45
|
+
# If setup reports trust-pending, open the printed Runtime Authority record
|
|
46
|
+
# in a governed trust PR and merge it on the protected default branch.
|
|
47
|
+
inari setup
|
|
48
|
+
inari runtime connect
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Setup stores only a repository-scoped, secret-free Runtime profile. It never
|
|
52
|
+
commits, pushes, approves, or merges Runtime Authority trust; `ready` is
|
|
53
|
+
reported only after canonical protected-ref readiness succeeds.
|
|
54
|
+
|
|
40
55
|
## The governed path
|
|
41
56
|
|
|
42
57
|
```text
|
|
@@ -58,6 +73,23 @@ inari change abort <number> --json
|
|
|
58
73
|
|
|
59
74
|
The normative end-to-end model lives in [Inari Golden Path Architecture](./docs/GOLDEN_PATH_ARCHITECTURE.md).
|
|
60
75
|
|
|
76
|
+
### Integration routing
|
|
77
|
+
|
|
78
|
+
Epic work may use three governed integration levels:
|
|
79
|
+
|
|
80
|
+
```text
|
|
81
|
+
Epic (epic/<number>-<slug>)
|
|
82
|
+
<- source Issue (issue/<number>-<slug>)
|
|
83
|
+
<- Implementation (feat|fix|refactor|test|docs|chore/<number>-<slug>)
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Implementation PRs target the source-Issue branch, source-Issue integration PRs
|
|
87
|
+
target the parent Epic branch, and Epic integration PRs target the governed
|
|
88
|
+
default branch. The canonical routing projection validates relationships and
|
|
89
|
+
uses branch names only as identity/consistency evidence. Sibling Implementations
|
|
90
|
+
may proceed concurrently; merge order is not a dependency DAG. Standalone
|
|
91
|
+
Issues and explicitly legacy in-flight Epic routes remain compatible.
|
|
92
|
+
|
|
61
93
|
## Design principles
|
|
62
94
|
|
|
63
95
|
| Principle | Contract |
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { type CapabilityExecutionProvenance } from "./capability-provenance.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { SessionAdmissionAuthorizationContext } from "./session-authentication.js";
|
|
3
3
|
import type { SessionAgentMetadata } from "./session-bundle.js";
|
|
4
4
|
import { type ImplementationReworkMarker } from "../implementation-rework.js";
|
|
5
|
+
import type { ImplementationScopeOperation } from "../implementation-contract.js";
|
|
5
6
|
import { type GitHubBranchAdvanceCapability } from "../github/git-data-capability.js";
|
|
6
7
|
import type { AdmittedSessionCapability } from "./capability-admission.js";
|
|
7
|
-
import type
|
|
8
|
+
import { type RepositoryIdentity } from "../github/effect-authorizer.js";
|
|
8
9
|
export declare const BRANCH_ADVANCE_CONTRACT_VERSION: 1;
|
|
9
10
|
export declare const BRANCH_ADVANCE_OPERATION: "branch.advance";
|
|
10
11
|
export declare const BRANCH_ADVANCE_OUTCOMES: readonly ["advanced", "idempotent", "stale", "failed", "recovery-required"];
|
|
@@ -72,11 +73,68 @@ export interface BranchAdvanceCapabilityBroker {
|
|
|
72
73
|
}, operation: (capability: GitHubBranchAdvanceCapability) => Promise<T>) => Promise<T>;
|
|
73
74
|
}
|
|
74
75
|
export interface ExecuteBranchAdvanceOptions {
|
|
75
|
-
readonly context:
|
|
76
|
+
readonly context: SessionAdmissionAuthorizationContext;
|
|
76
77
|
readonly broker: BranchAdvanceCapabilityBroker;
|
|
77
78
|
readonly admission: AdmittedSessionCapability;
|
|
78
79
|
readonly request?: unknown;
|
|
79
80
|
readonly now?: Date | number | (() => Date | number);
|
|
80
81
|
}
|
|
82
|
+
export type BranchAdvanceAuthorizedPathOperation = Exclude<ImplementationScopeOperation, "READONLY">;
|
|
83
|
+
export interface BranchAdvanceAuthorizedPath {
|
|
84
|
+
readonly path: string;
|
|
85
|
+
/** The exact Implementation scope operations admitted for this requested path. */
|
|
86
|
+
readonly operations: readonly BranchAdvanceAuthorizedPathOperation[];
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Bounded path authorization issued after Session/Implementation Admission.
|
|
90
|
+
* The request digest binds this evidence to the complete signed semantic
|
|
91
|
+
* request without carrying the Session request signature or Session context.
|
|
92
|
+
*/
|
|
93
|
+
export interface BranchAdvanceAuthorizationEvidence {
|
|
94
|
+
readonly version: 1;
|
|
95
|
+
readonly requestDigest: string;
|
|
96
|
+
readonly implementation: Readonly<{
|
|
97
|
+
number: number;
|
|
98
|
+
governedBodyDigest: string;
|
|
99
|
+
}>;
|
|
100
|
+
readonly paths: readonly BranchAdvanceAuthorizedPath[];
|
|
101
|
+
}
|
|
102
|
+
export interface BranchAdvanceAuthorizationOptions {
|
|
103
|
+
readonly context: SessionAdmissionAuthorizationContext;
|
|
104
|
+
readonly admission: AdmittedSessionCapability;
|
|
105
|
+
readonly request?: unknown;
|
|
106
|
+
}
|
|
107
|
+
export type BranchAdvanceAuthorizationResult = Readonly<{
|
|
108
|
+
readonly valid: true;
|
|
109
|
+
readonly request: BranchAdvanceSemanticRequest;
|
|
110
|
+
readonly authorization: BranchAdvanceAuthorizationEvidence;
|
|
111
|
+
}> | Readonly<{
|
|
112
|
+
readonly valid: false;
|
|
113
|
+
readonly failure: BranchAdvanceSemanticResult;
|
|
114
|
+
}>;
|
|
115
|
+
export interface ExecuteBranchAdvanceEffectsOptions {
|
|
116
|
+
readonly repository: RepositoryIdentity;
|
|
117
|
+
readonly provenance: CapabilityExecutionProvenance;
|
|
118
|
+
readonly request: unknown;
|
|
119
|
+
readonly authorization: unknown;
|
|
120
|
+
readonly broker: BranchAdvanceCapabilityBroker;
|
|
121
|
+
readonly now?: Date | number | (() => Date | number);
|
|
122
|
+
}
|
|
81
123
|
export declare function validateBranchAdvanceSemanticRequest(input: unknown): BranchAdvanceValidationResult;
|
|
124
|
+
export interface BranchAdvanceAuthorizationValidationResult {
|
|
125
|
+
readonly valid: boolean;
|
|
126
|
+
readonly authorization?: BranchAdvanceAuthorizationEvidence;
|
|
127
|
+
readonly diagnostics: readonly string[];
|
|
128
|
+
}
|
|
129
|
+
/** Validate the bounded Admission evidence against the exact branch request. */
|
|
130
|
+
export declare function validateBranchAdvanceAuthorizationEvidence(input: unknown, requestInput: unknown): BranchAdvanceAuthorizationValidationResult;
|
|
131
|
+
/**
|
|
132
|
+
* Complete Session, capability, binding, protected-path, and Implementation
|
|
133
|
+
* scope authorization before the post-admission execution boundary. No Git
|
|
134
|
+
* provider capability or mutation is acquired here.
|
|
135
|
+
*/
|
|
136
|
+
export declare function authorizeBranchAdvance(options: BranchAdvanceAuthorizationOptions): BranchAdvanceAuthorizationResult;
|
|
137
|
+
/** Execute only provider effects from an Admission-authorized branch request. */
|
|
138
|
+
export declare function executeBranchAdvanceEffects(options: ExecuteBranchAdvanceEffectsOptions): Promise<BranchAdvanceSemanticResult>;
|
|
139
|
+
/** Compatibility composition: authorize first, then share the same provider-effect primitive. */
|
|
82
140
|
export declare function executeBranchAdvance(options: ExecuteBranchAdvanceOptions): Promise<BranchAdvanceSemanticResult>;
|